Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/wernerglinka/metalsmith-blog-starter


https://github.com/wernerglinka/metalsmith-blog-starter

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        



Metalsmith



Metalsmith blog starter

Start off your Metalsmith journey with this blog boilerplate. This starter is based on the [Metalsmith bare-bones starter](https://github.com/wernerglinka/metalsmith-bare-bones-starter) but also includes a blog landing page and several "greek" blog posts. Check out a [demo of this starter](https://metalsmith-blog-starter.netlify.app/).

## Quick start

1. **Create a Metalsmith site.**

Clone the starter repository to create a new blog.

```shell
git clone https://github.com/wernerglinka/metalsmith-blog-starter my-blog
```

1. **Start developing.**

Navigate into your new site’s directory and start it up.

```shell
cd my-blog/
npm install
npm start
```

1. **Open the source code and start editing!**

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

Open the `my-blog` directory in your code editor of choice and edit any page. Save your changes and the browser will update in real time!

## What's included?

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

.
├── node_modules
├── src
├── layouts
├── .eslintrc.js
├── .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](https://prettier.io/). 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 Metalsmith website](https://www.metalsmith.io).

## Deploy

Deploy and Host on any static hosting service. For example [Netlify](https://www.netlify.com), [Vercel](https://vercel.com/) or [Cloudflare Pages](https://pages.cloudflare.com/).

Here is an article about [how to deploy Metalsmith on Netlify](https://www.netlify.com/blog/2015/12/08/a-step-by-step-guide-metalsmith-on-netlify/).

## Join the Metalsmith community at [Gitter](https://gitter.im/metalsmith/community).