{"id":23626187,"url":"https://github.com/ninjasort/metalpress","last_synced_at":"2025-08-31T02:31:38.896Z","repository":{"id":57295503,"uuid":"55649651","full_name":"ninjasort/metalpress","owner":"ninjasort","description":"Create a blog easily with Metalsmith.","archived":false,"fork":false,"pushed_at":"2016-11-23T20:46:41.000Z","size":353,"stargazers_count":17,"open_issues_count":11,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-24T07:22:57.325Z","etag":null,"topics":["cli","liquid","metalsmith","static-site-generator","webpack","website"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ninjasort.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-04-06T23:59:10.000Z","updated_at":"2023-08-27T19:04:50.000Z","dependencies_parsed_at":"2022-08-25T07:41:40.963Z","dependency_job_id":null,"html_url":"https://github.com/ninjasort/metalpress","commit_stats":null,"previous_names":["axisdefined/metalpress"],"tags_count":56,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninjasort%2Fmetalpress","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninjasort%2Fmetalpress/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninjasort%2Fmetalpress/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninjasort%2Fmetalpress/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ninjasort","download_url":"https://codeload.github.com/ninjasort/metalpress/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231548371,"owners_count":18393559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","liquid","metalsmith","static-site-generator","webpack","website"],"created_at":"2024-12-27T22:51:37.781Z","updated_at":"2024-12-27T22:51:38.272Z","avatar_url":"https://github.com/ninjasort.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# metalpress [![npm](https://img.shields.io/npm/v/metalpress.svg?maxAge=2592000?style=flat-square)](https://www.npmjs.com/package/metalpress) [![Travis](https://img.shields.io/travis/axisdefined/metalpress.svg?maxAge=2592000?style=flat-square)](https://travis-ci.org/axisdefined/metalpress) [![Codecov](https://img.shields.io/codecov/c/github/axisdefined/metalpress.svg?maxAge=2592000?style=flat-square)](https://codecov.io/gh/axisdefined/metalpress) \n\n\u003e Create a blog easily with Metalsmith.\n\nA wrapper of Metalsmith plugins for quickly creating a blog with [Metalsmith](https://github.com/metalsmith/metalsmith).\n\n## Features\n\n- Liquid Templating\n- Markdown Rendering\n- Permalinks\n- Pagination\n- Firebase Data Integration\n- Webpack Bundling\n- Use NPM Modules\n- SASS Compiling and CSS Fingerprinting\n- RSS \u0026 Sitemap Support\n- Imagemin, Code Highlighting, Html Minification\n- robots.txt\n- Post Features\n  - Excerpts\n  - Tags\n  - Drafts\n\n## Installation\n\n```sh\n$ npm install metalpress --save\n```\n\n## Structure and Templating\n\nmetalpress works from a specific directory structure. It contains a `templates` and `src` directory. Within the src directory it will load data from `data` as `yaml` or `json` files. You can create folders for collections and use markdown files for pages. You should store all assets in `assets`.\n\nFor templating, metalpress uses liquid. You can learn more about the [syntax here](https://github.com/leizongmin/tinyliquid).\n\nHere's an example structure:\n\n```sh\n├── package.json\n├── src\n│   ├── data\n│       ├── site.yaml\n│       ├── projects.json\n│   ├── assets\n│       ├── sass\n│       ├── img\n│       ├── fonts\n│       ├── js\n│           ├── index.js\n│   ├── index.md\n│   ├── pages\n│       ├── about.md\n│   └── posts\n│       ├── 2016-08-25-how-to-use-metalpress.md\n├── templates\n│   ├── _includes\n│       ├── header.liquid\n│       ├── footer.liquid\n│   └── _layouts\n│       ├── home.liquid\n```\n\n\n## Usage\n\nTo get started with metalpress, you can use the API or [CLI](https://github.com/axisdefined/metalpress-cli).\n\n### API Usage\n\nmetalpress taks a [config](https://github.com/axisdefined/metalpress/wiki/Default-Config) object and callback. It will process the files in the config, build the site, and return a metalsmith instance. The callback will contain any errors and the file mappings.\n\n```js\nimport metalpress from 'metalpress';\nimport config from './metalpress.config';\n\nconst m = metalpress(config, (err, files) =\u003e {\n  console.log('New site build completed.');\n});\n\n```\n\n### CLI Usage\n\n#### Install CLI\n\n```sh\nnpm install metalpress-cli -g\n```\n\n#### Initialize a New Project\n\n\u003e Prompts a series of questions and creates a new `.metalpress` config.\n\n```sh\nmetalpress init\n```\n\n#### Start a Browser-sync Server\n\n\u003e Serve the project on automatically assigned browser-sync port. (default: http://localhost:3000)\n\n```sh\nmetalpress serve\n```\n\n#### Deploy a Project\n\nTo deploy your site, you'll need to have your `aws.json` set up. It includes:\n\n```\n{\n  \"key\":\"AWS_ACCESS_KEY_HERE\",\n  \"secret\":\"AWS_SECRET_KEY_HERE\",\n  \"stagingBucket\":\"staging.example.com\",\n  \"productionBucket\":\"example.com\"\n}\n```\n\n\u003e Deploy a `dist` and deployed to AWS S3.\n\n*Staging*\n```sh\nmetalpress deploy\n```\n\n*Production*\n```sh\nmetalpress deploy -p\n```\n\n### Webpack Usage\n\nBy default, metalpress uses a webpack configuration for both staging and production environments. Within your config, you can specify `jquery: true` for included support jquery.\n\nIf you need to do so, you can override webpack with a custom config. For example, you can use the following options in your .metalpress config. You can add only the parameters you need which will be extended into the defaults, or override the entire file as needed.\n\n```json\n{\n  \"webpack\": {\n    \"dev\": \"./webpack.config.js\",\n    \"prod\": \"./webpack.prod.config.js\"\n  }\n}\n```\n\nFor Questions, Issues, PRs please refer to [@cameronroe](http://github.com/cameronroe)\n\n[GPL-3 LICENSE](/LICENSE)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fninjasort%2Fmetalpress","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fninjasort%2Fmetalpress","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fninjasort%2Fmetalpress/lists"}