npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

metalsmith-netlify-cms-starter

v0.0.3

Published

A Metalsmith starter with Netlify CMS integration

Downloads

2

Readme

Netlify Status

Based on the Metalsmith blog starter. This starter is setup for content editing with the Netlify CMS and ready to deploy to Netlify with a couple of clicks. Check out a demo of this starter.

Features

  • Pages and a blog
  • Netlify CMS with editor previews
  • Minifies HTML
  • Uses Markdown files for content
  • Uses Nunjucks templates for layout

Try it out now

Deploy to Netlify

Simply deploy a copy of the demo website to your Netlify account by clicking the button. If you don't have an account, you can create one during this process. Netlify has a generous free tier, no credit card needed.

Once you have clicked the button a new repository will be created in your GitHub account with this code and the Netlify account will be linked to this Github repo. Now, every time you commit a change to your Github repo, your site will be rebuild and deployed to Netlify's global CDN network.

All content may now be managed with the Netlify CMS and you may invite other contributors/editors as well. Netlify Identity is used to control access to the CMS admin console.

Authentication

After deploying this project, Netlify Identity will add you as a CMS user and will email you an invite. It is not necessary to accept this invite if you wish to use an OAuth provider (e.g. Github) to manage authentication for your CMS. It is recommended to use this method of authentication as it removes the need for an email & password to log in to the CMS and is generally more secure. You will need to add an OAuth provider in your Netlify app settings under Settings > Identity > External providers.

Once you've added an OAuth provider, navigate to /admin on your site and log into your CMS.

Local Development

Follow these steps to build a local development environment:

  1. Create the Metalsmith starter.

    Clone the starter repository to create a new site.

    git clone https://github.com/wernerglinka/metalsmith-netlify-starter.git my-site 
  2. Start developing.

    Navigate to the my-site directory and start it up.

    cd my-site/
    npm install
    npm start

    Your site is now running at http://localhost:3000!

  3. Open the source code and start editing!

    Open the my-site directory in your code editor of choice and edit src/content/index.md. Save your changes and the browser will update in real time!

  4. Use the Netlify CMS locally to edit content

    You have to setup Netlify Identiy as described above before you can use the CMS locally.

    Inside my-site run

    npx netlify-cms-proxy-server
    ...
    npm run edit

    Click the Login with Netlify Identity button and you'll see the CMS dashboard.

What's included?

A quick look at the top-level files and directories you'll see in this Metalsmith project.

.
├── node_modules
├── src
├── templates
├── .eslintrc.yml
├── .gitignore
├── .prettierignore
├── .prettierrc
├── LICENSE
├── metalsmith.js
├── package-lock.json
├── package.json
└── README.md
  1. node_modules: This directory contains all the node modules that your project depends on.

  2. src: This directory will contain all the content that makes up your site.

  3. layouts: This directory will contain all the layout templates and template partials that will be used to render your site.

  4. .eslintrc.yml: This file contains all rules foir eslint.

  5. .gitignore: This file tells git which files it should not track / not maintain a version history for.

  6. .prettierignore: This file tells prettier what files it should ignore.

  7. .prettierrc: This is a configuration file for Prettier. Prettier is a tool to help keep the formatting of your code consistent.

  8. LICENSE: This Metalsmith starter is licensed under the MIT license.

  9. metalsmith.js: This is the Metalsmith build file.

  10. package-lock.json (See package.json below, first). This is an automatically generated file based on the exact versions of your npm dependencies that were installed for your project. (You won’t change this file directly).

  11. package.json: A manifest file for Node.js projects, which includes things like metadata (the project’s name, author, etc). This manifest is how npm knows which packages to install for your project.

  12. README.md: A text file containing useful reference information about your project.

Learn more about Metalsmith

Looking for more guidance? Full documentation for Metalsmith can be found on the website.

Deploy

Deploy and Host on any static hosting service. For example Netlify, Vercel or Cloudflare Pages.

Here is an article about how to deploy Metalsmith on Netlify.

Need help?

For getting help with setting up Netlify CMS, you may want to reach out to the Netlify team. Gitter

To discuss all-things Metalsmith, please join the Metalsmith community at Gitter