# type

id: generators
directory: src/site/generators
list_fields: ["title"]
default_format: md
markdown_body_is_field: body
json_schema:
{"type": "object", "properties": {"title": {"type": "string", "title": "Title", "description": ""}, "repo": {"type": "string", "format": "uri", "title": "Repo", "description": ""}, "homepage": {"type": "string", "format": "uri", "title": "Homepage", "description": ""}, "language": {"title": "Language", "description": "", "type": "array", "items": {"type": "string"}}, "license": {"title": "License", "description": "", "type": "array", "items": {"type": "string"}}, "templates": {"title": "Templates", "description": "", "type": "array", "items": {"type": "string"}}, "description": {"type": "string", "title": "Description", "description": ""}, "startertemplaterepo": {"type": "string", "title": "Starter Template Repo", "description": ""}, "body": {"type": "string", "title": "Body of the markdown file", "description": "The body of the markdown file. Markdown can be used in this.", "format": "textarea"}}, "$schema": "http://json-schema.org/draft-07/schema"}


# record_generators

id: templer
git_filename: src/site/generators/templer.md
format: md
field_title: Templer
field_repo: skx/templer
field_homepage: https://steve.fi/software/templer/
field_language: Perl
field_license: GPL-2.0-only, GPL-3.0-only, Artistic-2.0
field_templates: HTML::Template
field_description: Templer is a modular extensible static-site-generator written in perl.
data:
{"title": "Templer", "repo": "skx/templer", "homepage": "https://steve.fi/software/templer/", "language": ["Perl"], "license": ["GPL-2.0-only", "GPL-3.0-only", "Artistic-2.0"], "templates": ["HTML::Template"], "description": "Templer is a modular extensible static-site-generator written in perl.", "body": "Templer is a modular extensible static-site-generator written in perl.\n\n### Templer\n\nTempler is an extensible static-site-generator which is written in Perl,\nand may be extended via plugins.\n\nBy default it will render HTML, but if you have the appropriate modules\ninstalled you can write your input pages in Markdown or Textile.\n\nVariables may be defined on a per-page or per-site basis, and may include:\n\n- The output of shell commands.\n- The output of various local files.\n- Loops refering to filenames.\n  - Allowing simple galleries to be made, for example.\n\nFinally you may define a layout on a per-page basis, allowing you to give\ndifferent areas of your site an entirely different look and feel."}

field_body:
Templer is a modular extensible static-site-generator written in perl.

### Templer

Templer is an extensible static-site-generator which is written in Perl,
and may be extended via plugins.

By default it will render HTML, but if you have the appropriate modules
installed you can write your input pages in Markdown or Textile.

Variables may be defined on a per-page or per-site basis, and may include:

- The output of shell commands.
- The output of various local files.
- Loops refering to filenames.
  - Allowing simple galleries to be made, for example.

Finally you may define a layout on a per-page basis, allowing you to give
different areas of your site an entirely different look and feel.


id: linkfree-gen
git_filename: src/site/generators/linkfree-gen.md
format: md
field_title: LinkFree Generator
field_repo: chriskthomas/linkfree-generator
field_homepage: https://ckt.im/linkfree/
field_language: PHP
field_license: Apache-2.0
field_description: Generate one page websites without use of the command line.
data:
{"title": "LinkFree Generator", "repo": "chriskthomas/linkfree-generator", "homepage": "https://ckt.im/linkfree/", "language": ["PHP"], "license": ["Apache-2.0"], "description": "Generate one page websites without use of the command line.", "body": "Online form that allows you to generate a simple one page \"linktree-like\" website without the use of the command line. The output comes in the form of a single `index.html` file which can easily be hosted publicly.\n\nLinkFree Generator is designed to be the most beginner-friendly way for people to make their own websites without any proprietary lock-in."}

field_body:
Online form that allows you to generate a simple one page "linktree-like" website without the use of the command line. The output comes in the form of a single `index.html` file which can easily be hosted publicly.

LinkFree Generator is designed to be the most beginner-friendly way for people to make their own websites without any proprietary lock-in.


id: iles
git_filename: src/site/generators/iles.md
format: md
field_title: iles
field_repo: ElMassimo/iles
field_homepage: https://iles.pages.dev
field_language: JavaScript, TypeScript
field_license: MIT
field_templates: Vue, Preact, Svelte, Solid, HTML
field_description: The Joyful Site Generator. Islands of Interactivity with Vue, Preact, Svelte, and more.
data:
{"title": "iles", "repo": "ElMassimo/iles", "homepage": "https://iles.pages.dev", "language": ["JavaScript", "TypeScript"], "license": ["MIT"], "templates": ["Vue", "Preact", "Svelte", "Solid", "HTML"], "description": "The Joyful Site Generator. Islands of Interactivity with Vue, Preact, Svelte, and more.", "body": "\u00eeles is a static-site generator with great support for partial hydration, supporting all major frameworks.\n\nDuring development, build your site enjoying the smooth dx provided by Vite.\n\nIn production, ship JS only for the interactive bits. By default, that's zero."}

field_body:
îles is a static-site generator with great support for partial hydration, supporting all major frameworks.

During development, build your site enjoying the smooth dx provided by Vite.

In production, ship JS only for the interactive bits. By default, that's zero.


id: amsf
git_filename: src/site/generators/amsf.md
format: md
field_title: Almace Scaffolding
field_repo: sparanoid/almace-scaffolding
field_homepage: https://sparanoid.com/lab/amsf/
field_language: Ruby, JavaScript
field_license: MIT
field_templates: Liquid
field_description: Super-fast Jekyll framework.
data:
{"title": "Almace Scaffolding", "repo": "sparanoid/almace-scaffolding", "homepage": "https://sparanoid.com/lab/amsf/", "language": ["Ruby", "JavaScript"], "license": ["MIT"], "templates": ["Liquid"], "description": "Super-fast Jekyll framework.", "body": "AMSF, a.k.a. Almace Scaffolding, is a super-fast Jekyll framework, supports Service Worker, live reloading (Browsersync), Less, HTML minification, inlined stylesheets and more.\n\n### Features\n\n- Theme switching, you can switch themes with just one command\n- A basic, fully configured Jekyll setup with well-defined Atom feed and sitemap\n- Almace Scaffolding ships a sleek responsive theme Curtana, a variant of sparanoid.com, looking great on any modern browsers\n- Every minified page generates only one HTTP request\n- Tons of configurable settings for your posts and site customization\n- Service Worker support for lightning fast experience\n- Built with Grunt.js for easy development\n- Travis support"}

field_body:
AMSF, a.k.a. Almace Scaffolding, is a super-fast Jekyll framework, supports Service Worker, live reloading (Browsersync), Less, HTML minification, inlined stylesheets and more.

### Features

- Theme switching, you can switch themes with just one command
- A basic, fully configured Jekyll setup with well-defined Atom feed and sitemap
- Almace Scaffolding ships a sleek responsive theme Curtana, a variant of sparanoid.com, looking great on any modern browsers
- Every minified page generates only one HTTP request
- Tons of configurable settings for your posts and site customization
- Service Worker support for lightning fast experience
- Built with Grunt.js for easy development
- Travis support


id: wpwmm4
git_filename: src/site/generators/wpwmm4.md
format: md
field_title: WPWMM4
field_repo: uzsolt/wpwmm4
field_homepage: http://git.uzsolt.hu/wpwmm4/
field_language: M4, Make
field_license: BSD-2-Clause
field_description: Web Page With Make and M4
data:
{"title": "WPWMM4", "repo": "uzsolt/wpwmm4", "homepage": "http://git.uzsolt.hu/wpwmm4/", "language": ["M4", "Make"], "license": ["BSD-2-Clause"], "templates": [], "description": "Web Page With Make and M4", "body": "With wpwmm4 can create web pages with simply 'make' and 'm4'.\n\nRequirements:\n\n- make (BSD's make, use bmake package of your distro)\n- m4 (compatible with BSD's m4 and GNU's m4 too)\n- some knowledge about HTML and programming\n\nFeatures:\n\n- incremental build (with make)\n- automatically generated pages (similar webpage with different content)\n- layouts\n- expandable, programmable via m4 or can insert output of any program\n\nNutshell:\n\n- convert items of ${TARGETS}: ${SRC*DIR}/*.m4 -> \\${DEST*DIR}/*.html\n- create items of \\${TARGETS_MANUAL}: use own programs, scripts\n- create items of ${VIRTUALS}: use templates from ${VIRT_DIR}\n- can call scripts from scripts/ directory and use their outputs\n\nExample web page is [uzsolt.hu](http://uzsolt.hu/) (only hungarian language). It has multi-level menu (without Javascript,\nonly pure HTML), automatically generated pages (for example [galleries](http://uzsolt.hu/pict/personal/summer2014/)\nwith `next` and `prev` buttons). Its source is available at [github](https://github.com/uzsolt/wpwmm4-uzsolt.hu)\nor [own git repo](http://git.uzsolt.hu/wpwmm4-uzsolt.hu/)."}

field_body:
With wpwmm4 can create web pages with simply 'make' and 'm4'.

Requirements:

- make (BSD's make, use bmake package of your distro)
- m4 (compatible with BSD's m4 and GNU's m4 too)
- some knowledge about HTML and programming

Features:

- incremental build (with make)
- automatically generated pages (similar webpage with different content)
- layouts
- expandable, programmable via m4 or can insert output of any program

Nutshell:

- convert items of ${TARGETS}: ${SRC*DIR}/*.m4 -> \${DEST*DIR}/*.html
- create items of \${TARGETS_MANUAL}: use own programs, scripts
- create items of ${VIRTUALS}: use templates from ${VIRT_DIR}
- can call scripts from scripts/ directory and use their outputs

Example web page is [uzsolt.hu](http://uzsolt.hu/) (only hungarian language). It has multi-level menu (without Javascript,
only pure HTML), automatically generated pages (for example [galleries](http://uzsolt.hu/pict/personal/summer2014/)
with `next` and `prev` buttons). Its source is available at [github](https://github.com/uzsolt/wpwmm4-uzsolt.hu)
or [own git repo](http://git.uzsolt.hu/wpwmm4-uzsolt.hu/).


id: tinkerer
git_filename: src/site/generators/tinkerer.md
format: md
field_title: Tinkerer
field_repo: vladris/tinkerer
field_homepage: http://tinkerer.me
field_language: Python
field_license: BSD-2-Clause
field_templates: Jinja2
field_description: Tinkerer is a blogging engine/static website generator powered by Sphinx
data:
{"title": "Tinkerer", "repo": "vladris/tinkerer", "homepage": "http://tinkerer.me", "language": ["Python"], "license": ["BSD-2-Clause"], "templates": ["Jinja2"], "description": "Tinkerer is a blogging engine/static website generator powered by Sphinx", "body": "Tinkerer is a blogging engine/static website generator powered by Sphinx.\n\nIt allows blogging in reStructuredText format, comes with out-of-the-box\nsupport for post publishing dates, authors, categories, tags, post archive,\nRSS feed generation, comments powered by Disqus and more.\n\nTinkerer is also highly customizable through Sphinx extensions."}

field_body:
Tinkerer is a blogging engine/static website generator powered by Sphinx.

It allows blogging in reStructuredText format, comes with out-of-the-box
support for post publishing dates, authors, categories, tags, post archive,
RSS feed generation, comments powered by Disqus and more.

Tinkerer is also highly customizable through Sphinx extensions.


id: statik-site
git_filename: src/site/generators/statik-site.md
format: md
field_title: statik-site
field_repo: Paul-Browne/statik-site
field_homepage: https://statik-site.com
field_language: JavaScript
field_license: MIT
field_templates: Mustache, Handlebars, Underscore, EJS, Pug, Art, Dot
field_description: statik-site: A fast, simple and modular static site generator
data:
{"title": "statik-site", "repo": "Paul-Browne/statik-site", "homepage": "https://statik-site.com", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Mustache", "Handlebars", "Underscore", "EJS", "Pug", "Art", "Dot"], "description": "statik-site: A fast, simple and modular static site generator", "body": "A fast, simple and modular static site generator, powered by Node.js and NPM.\n\nGetting started with statik-site in 4 simple commands\n\n```\n$ npx create-statik-site your-project\n$ cd your-project\n$ npm install\n$ npm start\n```\n\nTo read more about statik-site consult the [Docs](https://statik-site.com/docs/)"}

field_body:
A fast, simple and modular static site generator, powered by Node.js and NPM.

Getting started with statik-site in 4 simple commands

```
$ npx create-statik-site your-project
$ cd your-project
$ npm install
$ npm start
```

To read more about statik-site consult the [Docs](https://statik-site.com/docs/)


id: fornax
git_filename: src/site/generators/fornax.md
format: md
field_title: Fornax
field_repo: ionide/Fornax
field_homepage: https://ionide.io/Tools/fornax.html
field_language: F#
field_license: MIT
field_templates: Type Safe F# DSL
field_description: Scriptable static site generator using type safe F# DSL to define page templates.
data:
{"title": "Fornax", "repo": "ionide/Fornax", "homepage": "https://ionide.io/Tools/fornax.html", "language": ["F#"], "license": ["MIT"], "templates": ["Type Safe F# DSL"], "description": "Scriptable static site generator using type safe F# DSL to define page templates.", "body": "Fornax is a scriptable static site generator using type safe F# DSL to define page layouts.\n\n## Working features\n\n* Creating custom data loaders using `.fsx` files, meaning you can use anything you can imagine as a source of data for your site, not only predefined `.md` or `.yml` files\n* Creating custom generators using `.fsx` files, meaning you can generate any type of output you want\n* Dynamic configuration using `.fsx` file\n* Watch mode that rebuilds your page whenever you change data, or any script file."}

field_body:
Fornax is a scriptable static site generator using type safe F# DSL to define page layouts.

## Working features

* Creating custom data loaders using `.fsx` files, meaning you can use anything you can imagine as a source of data for your site, not only predefined `.md` or `.yml` files
* Creating custom generators using `.fsx` files, meaning you can generate any type of output you want
* Dynamic configuration using `.fsx` file
* Watch mode that rebuilds your page whenever you change data, or any script file.


id: nift
git_filename: src/site/generators/nift.md
format: md
field_title: Nift
field_repo: nifty-site-manager/nsm
field_homepage: https://nift.dev
field_language: C++
field_license: MIT
field_templates: Custom
field_description: A cross-platform open source git-like and LaTeX-like site manager.
field_startertemplaterepo: https://github.com/nsm-templates/basic-site
data:
{"title": "Nift", "repo": "nifty-site-manager/nsm", "homepage": "https://nift.dev", "language": ["C++"], "license": ["MIT"], "templates": ["Custom"], "description": "A cross-platform open source git-like and LaTeX-like site manager.", "twitter": "nifty_site_man", "startertemplaterepo": "https://github.com/nsm-templates/basic-site", "body": "Nift, short for nifty site manager, is a cross-platform open source git-like and LaTeX-like site manager. You should be able to create any site you want (both static and non-static/dynamic) using Nift, though will need some kind of web server such as Apache, NGinx, a LAMP stack, etc. to host non-static/dynamic sites, whereas static sites can easily be hosted with platforms like BitBucket, GitHub, GitLab and Netlify.\n\n### Philosophy\n\nThe intent for creating Nift (aka nsm) in the first place was to make a command-line site manager that was as git-like and LaTeX-like as possible, the creator/developer of Nift has achieved what was desired and hopes others may find it just as useful for their own wants and/or needs."}

field_body:
Nift, short for nifty site manager, is a cross-platform open source git-like and LaTeX-like site manager. You should be able to create any site you want (both static and non-static/dynamic) using Nift, though will need some kind of web server such as Apache, NGinx, a LAMP stack, etc. to host non-static/dynamic sites, whereas static sites can easily be hosted with platforms like BitBucket, GitHub, GitLab and Netlify.

### Philosophy

The intent for creating Nift (aka nsm) in the first place was to make a command-line site manager that was as git-like and LaTeX-like as possible, the creator/developer of Nift has achieved what was desired and hopes others may find it just as useful for their own wants and/or needs.


id: static-markdown
git_filename: src/site/generators/static-markdown.md
format: md
field_title: Static Markdown
field_repo: tripplyons/static-markdown
field_homepage: https://github.com/tripplyons/static-markdown/
field_language: JavaScript
field_license: MIT
field_templates: Handlebars
field_description: Generate static sites using markdown or HTML
data:
{"title": "Static Markdown", "repo": "tripplyons/static-markdown", "homepage": "https://github.com/tripplyons/static-markdown/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Handlebars"], "description": "Generate static sites using markdown or HTML", "body": "Static Markdown is a tool for converting Markdown and HTML articles into full websites.\n\nPackaged as an NPM module, it is easy to install, run, and integrate into a build process.\n\nYou can start with a theme from the the repository, and change it as you wish.\n\nDon't repeat yourself, use templates to fill in site-wide variables and article specific ones."}

field_body:
Static Markdown is a tool for converting Markdown and HTML articles into full websites.

Packaged as an NPM module, it is easy to install, run, and integrate into a build process.

You can start with a theme from the the repository, and change it as you wish.

Don't repeat yourself, use templates to fill in site-wide variables and article specific ones.


id: nuxt
git_filename: src/site/generators/nuxt.md
format: md
field_title: Nuxt
field_repo: nuxt/nuxt
field_homepage: https://nuxt.com/
field_language: JavaScript
field_license: MIT
field_templates: Vue
field_description: A minimalistic framework for serverless Vue.js applications.
field_startertemplaterepo: https://github.com/netlify-templates/nuxt-starter
data:
{"title": "Nuxt", "repo": "nuxt/nuxt", "homepage": "https://nuxt.com/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Vue"], "description": "A minimalistic framework for serverless Vue.js applications.", "startertemplaterepo": "https://github.com/netlify-templates/nuxt-starter", "twitter": "nuxt_js", "body": "Nuxt is a free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js.\n\n## Easy to use\n\nWrite your content in [Vue](https://github.com/vuejs/vue) files only.\nNo configuration is needed, just write your Application with Vue.js components.\n\n## Customisable\n\nIf you want to write you content in markdown files, its super easy with the [vue markdown filter](https://vuejs.org/v2/examples/)\n\nYou can extend your Application, Blog or Website with some packages on the [NPM ecosystem](http://npmjs.org/).\n\nNuxt will help you generate and deploy a Vue.js Web Application faster than before.\n\n## Static and dynamic\n\n[Vue SSR](https://vuejs.org/v2/guide/ssr.html) is used to generate pages for both client and server;\nIt's called Isomorphic/ Universal rendering.\n\nThen you can run `nuxt generate` to generate your static website into a ./dist folder and deploy it everywhere:\n\nNetlify, GitHub Pages, GitLab, AWS3, etc.\n\n## Setup a project in a minute\n\nCreating a website based on Nuxt only takes a minute.\n[Quick introduction of Nuxt : 1 minute](http://nuxtjs.org/examples)"}

field_body:
Nuxt is a free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js.

## Easy to use

Write your content in [Vue](https://github.com/vuejs/vue) files only.
No configuration is needed, just write your Application with Vue.js components.

## Customisable

If you want to write you content in markdown files, its super easy with the [vue markdown filter](https://vuejs.org/v2/examples/)

You can extend your Application, Blog or Website with some packages on the [NPM ecosystem](http://npmjs.org/).

Nuxt will help you generate and deploy a Vue.js Web Application faster than before.

## Static and dynamic

[Vue SSR](https://vuejs.org/v2/guide/ssr.html) is used to generate pages for both client and server;
It's called Isomorphic/ Universal rendering.

Then you can run `nuxt generate` to generate your static website into a ./dist folder and deploy it everywhere:

Netlify, GitHub Pages, GitLab, AWS3, etc.

## Setup a project in a minute

Creating a website based on Nuxt only takes a minute.
[Quick introduction of Nuxt : 1 minute](http://nuxtjs.org/examples)


id: obelisk
git_filename: src/site/generators/obelisk.md
format: md
field_title: Obelisk
field_repo: BennyHallett/obelisk
field_homepage: https://github.com/BennyHallett/obelisk
field_language: Elixir
field_license: MIT
field_templates: EEx, Haml
field_description: Static Site Generator written in Elixir.
data:
{"title": "Obelisk", "repo": "BennyHallett/obelisk", "homepage": "https://github.com/BennyHallett/obelisk", "language": ["Elixir"], "license": ["MIT"], "templates": ["EEx", "Haml"], "description": "Static Site Generator written in Elixir.", "body": "Obelisk is a static site generator written in [Elixir Programming Language](http://elixir-lang.org).\n\n#### Goals\n\n- **Fast**. Static websites can take a long time to generate when they start to grow large. obelisk should take advantage of Elixir's processes to increase this speed.\n- **Simple, Obvious.** It should be very straight forward to add new content and modify the way that your site works.\n- **Templatable.** It should be possible to store templates in github repos and reference them directly, allowing modification of the look and feel of a site instantaneously with no manual installation."}

field_body:
Obelisk is a static site generator written in [Elixir Programming Language](http://elixir-lang.org).

#### Goals

- **Fast**. Static websites can take a long time to generate when they start to grow large. obelisk should take advantage of Elixir's processes to increase this speed.
- **Simple, Obvious.** It should be very straight forward to add new content and modify the way that your site works.
- **Templatable.** It should be possible to store templates in github repos and reference them directly, allowing modification of the look and feel of a site instantaneously with no manual installation.


id: antora
git_filename: src/site/generators/antora.md
format: md
field_title: Antora
field_repo: antora/antora
field_homepage: https://antora.org
field_language: JavaScript
field_license: MPL-2.0
field_templates: Handlebars
field_description: A multi-repository documentation site generator for tech writers who love writing in AsciiDoc.
data:
{"title": "Antora", "repo": "antora/antora", "repohost": "gitlab", "homepage": "https://antora.org", "language": ["JavaScript"], "license": ["MPL-2.0"], "templates": ["Handlebars"], "description": "A multi-repository documentation site generator for tech writers who love writing in AsciiDoc.", "twitter": "antoraproject", "body": "### Overview\n\nAntora is a modular, multi-repository site generator designed for producing documentation sites from content composed in AsciiDoc and converted to HTML using Asciidoctor and Handlebars.\n\nAntora provides both a toolchain and workflow to help documentation and engineering teams create, manage, collaborate on, remix, and publish documentation sites aggregated from multi-branch git repositories without needing expertise in web technologies, build automation, or system administration.\n\n### Who it's for\n\nTech writers, first and foremost.\n\nIf you're already using Asciidoctor, and you need help managing a large set of documentation written in AsciiDoc, Antora was designed for you.\nIf you haven't yet tried Asciidoctor (or AsciiDoc), Antora is a great way to get started because it provides everything you need to start writing and publishing documentation today.\n\n### What it includes\n\nAntora includes a command line interface (CLI) (command: antora), a preassembled site generator pipeline, and a default UI so you can get started quickly publishing documentation sites with Antora.\n\nSince Antora is both modular and extensible, there are plenty of opportunities to explore to take it further once you have your first site up and running.\n\n### Availability\n\nAntora is available as a suite of npm packages and a Docker image.\nAntora runs on any platform that supports Node, which includes Linux, macOS, and Windows.\n\n### Learn more\n\nTo learn more about Antora, be sure to check out the [documentation](https://docs.antora.org), which, as you would expect, is published by Antora itself."}

field_body:
### Overview

Antora is a modular, multi-repository site generator designed for producing documentation sites from content composed in AsciiDoc and converted to HTML using Asciidoctor and Handlebars.

Antora provides both a toolchain and workflow to help documentation and engineering teams create, manage, collaborate on, remix, and publish documentation sites aggregated from multi-branch git repositories without needing expertise in web technologies, build automation, or system administration.

### Who it's for

Tech writers, first and foremost.

If you're already using Asciidoctor, and you need help managing a large set of documentation written in AsciiDoc, Antora was designed for you.
If you haven't yet tried Asciidoctor (or AsciiDoc), Antora is a great way to get started because it provides everything you need to start writing and publishing documentation today.

### What it includes

Antora includes a command line interface (CLI) (command: antora), a preassembled site generator pipeline, and a default UI so you can get started quickly publishing documentation sites with Antora.

Since Antora is both modular and extensible, there are plenty of opportunities to explore to take it further once you have your first site up and running.

### Availability

Antora is available as a suite of npm packages and a Docker image.
Antora runs on any platform that supports Node, which includes Linux, macOS, and Windows.

### Learn more

To learn more about Antora, be sure to check out the [documentation](https://docs.antora.org), which, as you would expect, is published by Antora itself.


id: blogcpp
git_filename: src/site/generators/blogcpp.md
format: md
field_title: BlogC++
field_repo: dertuxmalwieder/blogcpp
field_homepage: https://blogcpp.org
field_language: C++
field_license: WTFPL
field_templates: Jinja2
field_description: A static blog generator, written in C++17.
data:
{"title": "BlogC++", "repo": "dertuxmalwieder/blogcpp", "homepage": "https://blogcpp.org", "language": ["C++"], "license": ["WTFPL"], "templates": ["Jinja2"], "description": "A static blog generator, written in C++17.", "body": "BlogC++ is yet another static blog generator, written in C++17.\n\nIt aims to provide a decent feature set without requiring too much configuration."}

field_body:
BlogC++ is yet another static blog generator, written in C++17.

It aims to provide a decent feature set without requiring too much configuration.


id: dssg
git_filename: src/site/generators/dssg.md
format: md
field_title: DSSG
field_repo: kambrium/dssg
field_homepage: https://github.com/kambrium/dssg
field_language: D
field_license: MIT
field_templates: Mustache
field_description: A static site generator with a different approach
field_startertemplaterepo: https://github.com/kambrium/dssg-example
data:
{"title": "DSSG", "repo": "kambrium/dssg", "homepage": "https://github.com/kambrium/dssg", "language": ["D"], "license": ["MIT"], "templates": ["Mustache"], "description": "A static site generator with a different approach", "startertemplaterepo": "https://github.com/kambrium/dssg-example", "body": "Unlike other static site generators, DSSG doesn't differentiate between front matter and a content section in its content files. This makes it very easy to create web pages based on templates with multiple content sections.\n\nFor maximum flexibility, each project can be based on multiple templates.\n\nContent may be written in both Markdown or pure HTML."}

field_body:
Unlike other static site generators, DSSG doesn't differentiate between front matter and a content section in its content files. This makes it very easy to create web pages based on templates with multiple content sections.

For maximum flexibility, each project can be based on multiple templates.

Content may be written in both Markdown or pure HTML.


id: modulojs
git_filename: src/site/generators/modulojs.md
format: md
field_title: Modulo.js
field_repo: modulojs/modulo
field_homepage: https://modulojs.org/
field_language: JavaScript
field_license: LGPL 3.0
field_templates: Modulo (similar to Liquid or Jinja)
field_description: An easy-to-use, zero-dependency Jamstack framework in 2000 lines
field_startertemplaterepo: https://github.com/modulojs/modulo-jamstack-deploy
data:
{"title": "Modulo.js", "repo": "modulojs/modulo", "homepage": "https://modulojs.org/", "language": ["JavaScript"], "license": ["LGPL 3.0"], "templates": ["Modulo (similar to Liquid or Jinja)"], "description": "An easy-to-use, zero-dependency Jamstack framework in 2000 lines", "startertemplaterepo": "https://github.com/modulojs/modulo-jamstack-deploy", "body": "**The lightest, dependency-free way to start a Jamstack project:**\n\n```\nnpm init modulo\n```\n\nSay goodbye to slow builds and heavy dependencies, `node_modules`, and build\nservers: Get work done without that!\n\n[Documentation on Modulo Jamstack is available here.](https://modulojs.org/tutorial/building-apps/part1.html)\n\n\nThe Moduolo.js Jamstack template includes: Netlify / Decap CMS ready-to-go,\nmost of the features you'd expect with React.js or Vue.js, including state,\nprops, directives, templating, data binding and reactive forms, templating,\nglobal store and sub/pub, hydration, DOM reconciliation tools, and more, **all\nwith zero dependencies** save for the 2000 line file. The integrated Markdown,\nDecap CMS, Netlify-safe SSR, and is already setup, with local or `unpkg`-based\ndependencies."}

field_body:
**The lightest, dependency-free way to start a Jamstack project:**

```
npm init modulo
```

Say goodbye to slow builds and heavy dependencies, `node_modules`, and build
servers: Get work done without that!

[Documentation on Modulo Jamstack is available here.](https://modulojs.org/tutorial/building-apps/part1.html)


The Moduolo.js Jamstack template includes: Netlify / Decap CMS ready-to-go,
most of the features you'd expect with React.js or Vue.js, including state,
props, directives, templating, data binding and reactive forms, templating,
global store and sub/pub, hydration, DOM reconciliation tools, and more, **all
with zero dependencies** save for the 2000 line file. The integrated Markdown,
Decap CMS, Netlify-safe SSR, and is already setup, with local or `unpkg`-based
dependencies.


id: elderjs
git_filename: src/site/generators/elderjs.md
format: md
field_title: Elder.js
field_repo: elderjs/elderjs
field_homepage: https://elderguide.com/tech/elderjs/
field_language: JavaScript
field_license: MIT
field_templates: Svelte
field_description: An opinionated, SEO focused, static site generator for Svelte.
data:
{"title": "Elder.js", "repo": "elderjs/elderjs", "homepage": "https://elderguide.com/tech/elderjs/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Svelte"], "description": "An opinionated, SEO focused, static site generator for Svelte.", "body": "## What's Elder.js?\n\nElder.js was designed from the ground up by a small team of SEOs and developers to solve the unique challenges and complexities of building flagship SEO sites with 10-100k+ pages.\n\n### Features:\n\n- [**Build hooks**](https://elderguide.com/tech/elderjs/#hooks-how-to-customize-elderjs) allow you to plug into any part of entire page generation process and build process and customize as needed.\n- **A Highly Optimized Build Process:** that will span as many CPU cores as you can throw at it to make building your site as fast as possible. For reference Elder.js easily generates a data intensive 18,000 page site in 8 minutes using a budget 4 core VM.\n- **Straightforward Data Flow:** By simply associating a `data.js` file with your route, you have complete control over how you fetch, prepare, and manipulate data before sending it to your Svelte template.  Anything you can do in Node.js, you can do to fetch your data. Multiple data sources, no problem.\n- **Partial Hydration:** Only hydrate the client with what needs to be interactive using partial hydration. This allows you to ship less data to the browser but still get all of the Svelte interactive goodness you love.\n- **Community Plugins:** Easily extend what your Elder.js site can do by adding [prebuilt plugins](https://github.com/Elderjs/plugins) to your site.\n\n\n### Great For Sites BIG & small\n\nWhile Elder.js was built to power large sites the [Elder.js template](https://github.com/Elderjs/template) makes it incredibly easily to get a personal blog up and running in no time."}

field_body:
## What's Elder.js?

Elder.js was designed from the ground up by a small team of SEOs and developers to solve the unique challenges and complexities of building flagship SEO sites with 10-100k+ pages.

### Features:

- [**Build hooks**](https://elderguide.com/tech/elderjs/#hooks-how-to-customize-elderjs) allow you to plug into any part of entire page generation process and build process and customize as needed.
- **A Highly Optimized Build Process:** that will span as many CPU cores as you can throw at it to make building your site as fast as possible. For reference Elder.js easily generates a data intensive 18,000 page site in 8 minutes using a budget 4 core VM.
- **Straightforward Data Flow:** By simply associating a `data.js` file with your route, you have complete control over how you fetch, prepare, and manipulate data before sending it to your Svelte template.  Anything you can do in Node.js, you can do to fetch your data. Multiple data sources, no problem.
- **Partial Hydration:** Only hydrate the client with what needs to be interactive using partial hydration. This allows you to ship less data to the browser but still get all of the Svelte interactive goodness you love.
- **Community Plugins:** Easily extend what your Elder.js site can do by adding [prebuilt plugins](https://github.com/Elderjs/plugins) to your site.


### Great For Sites BIG & small

While Elder.js was built to power large sites the [Elder.js template](https://github.com/Elderjs/template) makes it incredibly easily to get a personal blog up and running in no time.


id: wintersmith
git_filename: src/site/generators/wintersmith.md
format: md
field_title: Wintersmith
field_repo: jnordberg/wintersmith
field_homepage: http://wintersmith.io/
field_language: CoffeeScript
field_license: MIT
field_templates: Jade
field_description: A flexible static site generator with awesome plugins.
data:
{"title": "Wintersmith", "repo": "jnordberg/wintersmith", "homepage": "http://wintersmith.io/", "language": ["CoffeeScript"], "license": ["MIT"], "templates": ["Jade"], "description": "A flexible static site generator with awesome plugins.", "body": "Wintersmith is a simple yet flexible static site generator. It takes contents (markdown, less, scripts, etc), transforms them using plugins and outputs a static website (html, css, images, etc) that you can host anywhere.\n\nIt ships with plugins for [markdown](http://daringfireball.net/projects/markdown/) and [jade templates](https://github.com/visionmedia/jade), if you need something else check the [plugin listing](https://github.com/jnordberg/wintersmith/wiki/Plugins) or [write your own](https://github.com/jnordberg/wintersmith/wiki/Writing-plugins)\n\n### About\n\nWintersmith is written by [Johan Nordberg](http://johan-nordberg.com) using [CoffeeScript](http://coffeescript.org/) and licensed under the [MIT-license](http://en.wikipedia.org/wiki/MIT_License).\n\nThe name is a nod to [blacksmith](/blacksmith.html) which inspired this project."}

field_body:
Wintersmith is a simple yet flexible static site generator. It takes contents (markdown, less, scripts, etc), transforms them using plugins and outputs a static website (html, css, images, etc) that you can host anywhere.

It ships with plugins for [markdown](http://daringfireball.net/projects/markdown/) and [jade templates](https://github.com/visionmedia/jade), if you need something else check the [plugin listing](https://github.com/jnordberg/wintersmith/wiki/Plugins) or [write your own](https://github.com/jnordberg/wintersmith/wiki/Writing-plugins)

### About

Wintersmith is written by [Johan Nordberg](http://johan-nordberg.com) using [CoffeeScript](http://coffeescript.org/) and licensed under the [MIT-license](http://en.wikipedia.org/wiki/MIT_License).

The name is a nod to [blacksmith](/blacksmith.html) which inspired this project.


id: jigsaw
git_filename: src/site/generators/jigsaw.md
format: md
field_title: Jigsaw
field_repo: tightenco/jigsaw
field_homepage: http://jigsaw.tighten.co/
field_language: PHP
field_license: MIT
field_templates: Blade
field_description: Static sites for Laravel developers
data:
{"title": "Jigsaw", "repo": "tightenco/jigsaw", "homepage": "http://jigsaw.tighten.co/", "language": ["PHP"], "license": ["MIT"], "templates": ["Blade"], "description": "Static sites for Laravel developers", "twitter": "jigsawbytighten", "body": "Jigsaw is a framework for rapidly building static sites using the same modern tooling that powers your web applications.\n\n### Blade templating, just like your Laravel apps.\n\nBlade is a powerful, simple, and beautiful templating language, but until now it wasn't an option if you were building a simple static site that didn't need a complex PHP backend.\n\nJigsaw brings Blade to the static site world, so you can use the same templating engine for simple websites as you do for complex web applications.\n\n### Use Markdown for content-driven pages.\n\nMarkdown is a fantastic writing format for things like articles, blog posts, or documentation pages.\n\nJigsaw makes it painless to create a layout in Blade, and fill it with content written in Markdown.\n\n### Compile your assets using Laravel Mix.\n\nJigsaw bakes in support for Laravel Mix so you can compile your CSS and Javascript assets the same way you're used to in Laravel.\n\nWe also preconfigure Mix to watch your Blade files so your site is rebuilt automatically when you make a change. Combined with out-of-the-box Browsersync support, previewing your changes quickly couldn't be easier."}

field_body:
Jigsaw is a framework for rapidly building static sites using the same modern tooling that powers your web applications.

### Blade templating, just like your Laravel apps.

Blade is a powerful, simple, and beautiful templating language, but until now it wasn't an option if you were building a simple static site that didn't need a complex PHP backend.

Jigsaw brings Blade to the static site world, so you can use the same templating engine for simple websites as you do for complex web applications.

### Use Markdown for content-driven pages.

Markdown is a fantastic writing format for things like articles, blog posts, or documentation pages.

Jigsaw makes it painless to create a layout in Blade, and fill it with content written in Markdown.

### Compile your assets using Laravel Mix.

Jigsaw bakes in support for Laravel Mix so you can compile your CSS and Javascript assets the same way you're used to in Laravel.

We also preconfigure Mix to watch your Blade files so your site is rebuilt automatically when you make a change. Combined with out-of-the-box Browsersync support, previewing your changes quickly couldn't be easier.


id: sphido
git_filename: src/site/generators/sphido.md
format: md
field_title: Sphido
field_repo: sphido/sphido
field_homepage: https://sphido.org/
field_language: JavaScript, Node.js
field_license: MIT
field_templates: Any JS
field_description: A rocket fast, light-weight and flexible static site generator.
data:
{"title": "Sphido", "repo": "sphido/sphido", "homepage": "https://sphido.org/", "language": ["JavaScript", "Node.js"], "license": ["MIT"], "templates": ["Any JS"], "description": "A rocket fast, light-weight and flexible static site generator.", "twitter": "sphidocms", "body": "I know, another [static site generator](https://github.com/collections/static-site-generators)!\nThis one is different - it's totally minimalistic. Basically, it's just two functions.\nThe first, the `getPages()` function, allows you to retrieve a list of pages, \nand the `allPages()` function allows you to iterate through them.\n\nYou get a static site generator that is:\n\n- \ud83d\ude80 rocket fast\n- \ud83d\udcad\ufe0f light-weight\n- \ud83e\udd18 no dependencies\n- \u26a1\ufe0f flexible\n\n### Supports\n\n- YAML front-matter\n- html/markdown source files\n- custom extenders\n- any JS templates\n\n### Installation\n\n```shell\nyarn add @sphido/core # that's all\n```\n\n### Usage\n\n```javascript\n#!/usr/bin/env node\n\nimport {dirname, relative, join} from 'node:path';\nimport {getPages, allPages, readFile, writeFile} from '@sphido/core';\nimport slugify from '@sindresorhus/slugify';\nimport {marked} from 'marked';\n\nconst pages = await getPages({path: 'content'}, // ... extenders\n\t(page) => {\n\t\tpage.slug = slugify(page.name) + '.html';\n\t\tpage.dir = dirname(page.path);\n\t});\n\nfor (const page of allPages(pages)) {\n\tpage.output = join('public', relative('content', page.dir), page.slug);\n\tpage.content = marked(await readFile(page.path));\n\tawait writeFile(page.output, `<!DOCTYPE html>\n        <html lang=\"en\" dir=\"ltr\">\n        <head>\n            <meta charset=\"UTF-8\">\n            <script src=\"https://cdn.tailwindcss.com?plugins=typography\"></script>\n            <title>${page.name} | Sphido Example</title>\n        </head>\n        <body class=\"prose mx-auto my-6\">${page.content}</body>\n        <!-- Generated by Sphido from ${page.path} -->\n        </html>\n    `);\n}\n```\n\n### Run script\n\n```shell\nnode index.js\n```\n\n### Need more examples?\n\nLet's look at the [source code of sphido.org](https://sphido.org) or \nthe [examples repository](https://github.com/sphido/examples)."}

field_body:
I know, another [static site generator](https://github.com/collections/static-site-generators)!
This one is different - it's totally minimalistic. Basically, it's just two functions.
The first, the `getPages()` function, allows you to retrieve a list of pages, 
and the `allPages()` function allows you to iterate through them.

You get a static site generator that is:

- 🚀 rocket fast
- 💭️ light-weight
- 🤘 no dependencies
- ⚡️ flexible

### Supports

- YAML front-matter
- html/markdown source files
- custom extenders
- any JS templates

### Installation

```shell
yarn add @sphido/core # that's all
```

### Usage

```javascript
#!/usr/bin/env node

import {dirname, relative, join} from 'node:path';
import {getPages, allPages, readFile, writeFile} from '@sphido/core';
import slugify from '@sindresorhus/slugify';
import {marked} from 'marked';

const pages = await getPages({path: 'content'}, // ... extenders
	(page) => {
		page.slug = slugify(page.name) + '.html';
		page.dir = dirname(page.path);
	});

for (const page of allPages(pages)) {
	page.output = join('public', relative('content', page.dir), page.slug);
	page.content = marked(await readFile(page.path));
	await writeFile(page.output, `<!DOCTYPE html>
        <html lang="en" dir="ltr">
        <head>
            <meta charset="UTF-8">
            <script src="https://cdn.tailwindcss.com?plugins=typography"></script>
            <title>${page.name} | Sphido Example</title>
        </head>
        <body class="prose mx-auto my-6">${page.content}</body>
        <!-- Generated by Sphido from ${page.path} -->
        </html>
    `);
}
```

### Run script

```shell
node index.js
```

### Need more examples?

Let's look at the [source code of sphido.org](https://sphido.org) or 
the [examples repository](https://github.com/sphido/examples).


id: sapper
git_filename: src/site/generators/sapper.md
format: md
field_title: Sapper.js
field_repo: sveltejs/sapper
field_homepage: https://sapper.svelte.dev
field_language: JavaScript
field_license: MIT
field_templates: Svelte
field_description: Sapper is a framework for building high-performance universal web apps.
field_startertemplaterepo: https://github.com/sveltejs/sapper-template
data:
{"title": "Sapper.js", "repo": "sveltejs/sapper", "homepage": "https://sapper.svelte.dev", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Svelte"], "description": "Sapper is a framework for building high-performance universal web apps.", "startertemplaterepo": "https://github.com/sveltejs/sapper-template", "body": "Sapper is a framework for building high-performance universal web apps. [Read the guide](https://sapper.svelte.dev/docs) or the [introductory blog post](https://svelte.dev/blog/sapper-towards-the-ideal-web-app-framework) to learn more.\n\nIt's like Next.js and Nuxt.js, but faster and smaller because it's powered by [Svelte](https://svelte.dev)."}

field_body:
Sapper is a framework for building high-performance universal web apps. [Read the guide](https://sapper.svelte.dev/docs) or the [introductory blog post](https://svelte.dev/blog/sapper-towards-the-ideal-web-app-framework) to learn more.

It's like Next.js and Nuxt.js, but faster and smaller because it's powered by [Svelte](https://svelte.dev).


id: jamstackpy
git_filename: src/site/generators/jamstackpy.md
format: md
field_title: Jamstackpy
field_repo: jamstackpy/jamstack
field_homepage: https://jamstackpy.github.io/
field_language: Python
field_license: Apache-2.0
field_templates: Python
field_description: Python-powered static site maker powering multiple realworld sites
data:
{"title": "Jamstackpy", "repo": "jamstackpy/jamstack", "homepage": "https://jamstackpy.github.io/", "language": ["Python"], "license": ["Apache-2.0"], "templates": ["Python"], "description": "Python-powered static site maker powering multiple realworld sites", "body": "Jamstack spawns an scalable, easy to extend structure with it's generate function\n\nSome sites using jamstackpy\n\n- [DeliciousPy Telegram Channel](https://deliciouspy.github.io/)\n- [The Flask Community Work Group](https://flaskcwg.github.io/)\n- [A Personal Site](https://compileralchemy.github.io/)"}

field_body:
Jamstack spawns an scalable, easy to extend structure with it's generate function

Some sites using jamstackpy

- [DeliciousPy Telegram Channel](https://deliciouspy.github.io/)
- [The Flask Community Work Group](https://flaskcwg.github.io/)
- [A Personal Site](https://compileralchemy.github.io/)


id: stasis-generator
git_filename: src/site/generators/stasis-generator.md
format: md
field_title: Stasis
field_repo: Gioni06/stasis-generator
field_homepage: https://getstasis.com/
field_language: TypeScript
field_license: MIT
field_templates: Handlebars
field_description: A static site generator that is simple and easy to use.
field_startertemplaterepo: https://github.com/Gioni06/stasis-basic-example
data:
{"title": "Stasis", "repo": "Gioni06/stasis-generator", "homepage": "https://getstasis.com/", "language": ["TypeScript"], "license": ["MIT"], "templates": ["Handlebars"], "description": "A static site generator that is simple and easy to use.", "startertemplaterepo": "https://github.com/Gioni06/stasis-basic-example", "body": "Stasis is a simple and easy to use static site generator. It aims to provide production ready tools to create static website projects.\n\nStasis uses Handlebars templates to compile your Markdown source files into static HTML web pages. Scripts and styles are compiled using the powerful Parcel Bundler. It can handle sass, scss, ts and many more asset types and compiles them into pure javascript and CSS.\n\nEach page can expose a GraphQL query to collect page data that you can use inside your _Handlebars_ templates."}

field_body:
Stasis is a simple and easy to use static site generator. It aims to provide production ready tools to create static website projects.

Stasis uses Handlebars templates to compile your Markdown source files into static HTML web pages. Scripts and styles are compiled using the powerful Parcel Bundler. It can handle sass, scss, ts and many more asset types and compiles them into pure javascript and CSS.

Each page can expose a GraphQL query to collect page data that you can use inside your _Handlebars_ templates.


id: igapyonv3
git_filename: src/site/generators/igapyonv3.md
format: md
field_title: igapyonv3
field_repo: igapyon/igapyonv3
field_homepage: https://igapyon.github.io/igapyonv3/
field_language: Java
field_license: Apache-2.0
field_templates: Freemarker
field_description: A static site/blog generator for developers & designers
data:
{"title": "igapyonv3", "repo": "igapyon/igapyonv3", "homepage": "https://igapyon.github.io/igapyonv3/", "language": ["Java"], "license": ["Apache-2.0"], "templates": ["Freemarker"], "description": "A static site/blog generator for developers & designers", "body": "igapyonv3 is a Java based open source static site/blog generator for developers.\n\n- Lightweight and turn-key static site/blog generator.\n- Provided as a Maven Plugin.\n- Supports Markdown content.\n- RSS feed support.\n- Freemarker and igapyonv3's additional diary directive support.\n- Convert markdown into Bootstrap based HTML."}

field_body:
igapyonv3 is a Java based open source static site/blog generator for developers.

- Lightweight and turn-key static site/blog generator.
- Provided as a Maven Plugin.
- Supports Markdown content.
- RSS feed support.
- Freemarker and igapyonv3's additional diary directive support.
- Convert markdown into Bootstrap based HTML.


id: gopablo
git_filename: src/site/generators/gopablo.md
format: md
field_title: GoPablo
field_repo: luangjokaj/gopablo
field_homepage: https://www.gopablo.co
field_language: JavaScript
field_license: MIT
field_templates: gulp-file-include
field_description: A static site generator with a modern development workflow.
data:
{"title": "GoPablo", "repo": "luangjokaj/gopablo", "homepage": "https://www.gopablo.co", "language": ["JavaScript"], "license": ["MIT"], "templates": ["gulp-file-include"], "description": "A static site generator with a modern development workflow.", "body": "## Introduction\n\n[GoPablo](https://www.gopablo.co/) is a static site generator with a modern development workflow, integrated web server, auto-reload, CSS preprocessors, and ES6 ready.\n\n## Features\n\n| \ud83d\udc47  | Includes                            |\n| :-: | :---------------------------------- |\n| \ud83d\udce6  | Live Server                         |\n| \ud83d\udd25  | Hot Reload & CSS Injection          |\n|  \u2699  | Babel 7                             |\n| \ud83e\udd16  | Express Server                      |\n| \ud83c\udf92  | Code Minification                   |\n| \ud83c\udf08  | Image Compression                   |\n|  \ud83d\udd78  | Templating & Partial HTML Injection |\n| \ud83c\udfa8  | PostCSS & Next Generation CSS       |\n| \u2702\ufe0f  | Cache-Busting                       |\n|  \ud83d\udece  | Distribution Files                  |\n\n## TL;DR\n\n### Install GoPablo\n\n```\nsudo npm i gopablo -g\n```\n\n### Initialize project\n\nRun GoPablo to generate the file structure:\n\n```\ngopablo\n```\n\n### Run the app in development mode\n\nBuild and open your browser to http://localhost:3000.\n\n```\nnpm run dev\n```\n\n### Build distribution files for the app in production\n\n```\nnpm run prod\n```\n\nReady to deploy \ud83d\ude80"}

field_body:
## Introduction

[GoPablo](https://www.gopablo.co/) is a static site generator with a modern development workflow, integrated web server, auto-reload, CSS preprocessors, and ES6 ready.

## Features

| 👇  | Includes                            |
| :-: | :---------------------------------- |
| 📦  | Live Server                         |
| 🔥  | Hot Reload & CSS Injection          |
|  ⚙  | Babel 7                             |
| 🤖  | Express Server                      |
| 🎒  | Code Minification                   |
| 🌈  | Image Compression                   |
|  🕸  | Templating & Partial HTML Injection |
| 🎨  | PostCSS & Next Generation CSS       |
| ✂️  | Cache-Busting                       |
|  🛎  | Distribution Files                  |

## TL;DR

### Install GoPablo

```
sudo npm i gopablo -g
```

### Initialize project

Run GoPablo to generate the file structure:

```
gopablo
```

### Run the app in development mode

Build and open your browser to http://localhost:3000.

```
npm run dev
```

### Build distribution files for the app in production

```
npm run prod
```

Ready to deploy 🚀


id: statik
git_filename: src/site/generators/statik.md
format: md
field_title: Statik
field_repo: thanethomson/statik
field_homepage: https://getstatik.com/
field_language: Python
field_license: MIT
field_templates: Jinja2, Mustache
field_description: A simple, generic, static web site generator for developers.
data:
{"title": "Statik", "repo": "thanethomson/statik", "homepage": "https://getstatik.com/", "language": ["Python"], "license": ["MIT"], "templates": ["Jinja2", "Mustache"], "description": "A simple, generic, static web site generator for developers.", "body": "Statik aims to be a simple, generic, static web site generator for developers.\nIt has been born out of a need for something more generic than most other\nstatic web site generators, which mostly cater for building blogs. It allows\nfor a generic data model, and provides a SQLite interface for you to be able to\nperform relatively complex queries from your views. Its templating engine is\nbased on the popular Jinja2, so if you come from a Django background, it is\nvery easy to pick up. Alternatively, you could opt for Mustache templating.\n\nUltimately, it generates a set of flat HTML files that should be able to be\nserved directly by your web server."}

field_body:
Statik aims to be a simple, generic, static web site generator for developers.
It has been born out of a need for something more generic than most other
static web site generators, which mostly cater for building blogs. It allows
for a generic data model, and provides a SQLite interface for you to be able to
perform relatively complex queries from your views. Its templating engine is
based on the popular Jinja2, so if you come from a Django background, it is
very easy to pick up. Alternatively, you could opt for Mustache templating.

Ultimately, it generates a set of flat HTML files that should be able to be
served directly by your web server.


id: grunt-flats
git_filename: src/site/generators/grunt-flats.md
format: md
field_title: grunt-flats
field_repo: adamduncan/grunt-flats
field_homepage: https://github.com/adamduncan/grunt-flats
field_language: JavaScript
field_license: MIT
field_templates: Hogan.js
field_description: Grunt task for generating static pages from templated partials.
data:
{"title": "grunt-flats", "repo": "adamduncan/grunt-flats", "homepage": "https://github.com/adamduncan/grunt-flats", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Hogan.js"], "description": "Grunt task for generating static pages from templated partials.", "body": "Grunt task for generating static pages from templated partials.\n\nUsing a mix of Mustache's partial syntax and Pattern Lab's partial-specific data pattern, build out styleguides and site pages. Wrapped in Grunt task for easy automation."}

field_body:
Grunt task for generating static pages from templated partials.

Using a mix of Mustache's partial syntax and Pattern Lab's partial-specific data pattern, build out styleguides and site pages. Wrapped in Grunt task for easy automation.


id: analog
git_filename: src/site/generators/analog.md
format: md
field_title: Analog
field_repo: analogjs/analog
field_homepage: https://analogjs.org/
field_language: TypeScript
field_license: MIT
field_templates: Angular
field_description: Analog is a fullstack meta-framework for building applications and websites with Angular
data:
{"title": "Analog", "repo": "analogjs/analog", "homepage": "https://analogjs.org/", "language": ["TypeScript"], "license": ["MIT"], "templates": ["Angular"], "description": "Analog is a fullstack meta-framework for building applications and websites with Angular", "twitter": "analogjs", "body": "Analog is a fullstack meta-framework for building applications and websites with Angular, powered by Vite.\n\n## Features\n\n- Hybrid SSR/SSG support\n- File-based routing\n- Support for using markdown as content routes\n- Support for API/server routes\n\n## Configuration\n\nSSR and SSG can be enabled in the `vite.config.ts` using the `analog()` plugin.\n\n```javascript\nimport { defineConfig } from 'vite';\nimport analog from '@analogjs/platform';\n\n// https://vitejs.dev/config/\nexport default defineConfig(({ mode }) => ({\n  plugins: [analog({\n    ssr: true,    // enables server side rendering\n    static: true, // enables static site generation\n    prerender: {  // configure routes to be rendered at build time\n      routes: async () => [\n        '/',\n        '/about',\n        '/blog',\n        '/blog/posts/2023-02-01-my-first-post',\n      ],\n    },\n  })],\n}));\n```"}

field_body:
Analog is a fullstack meta-framework for building applications and websites with Angular, powered by Vite.

## Features

- Hybrid SSR/SSG support
- File-based routing
- Support for using markdown as content routes
- Support for API/server routes

## Configuration

SSR and SSG can be enabled in the `vite.config.ts` using the `analog()` plugin.

```javascript
import { defineConfig } from 'vite';
import analog from '@analogjs/platform';

// https://vitejs.dev/config/
export default defineConfig(({ mode }) => ({
  plugins: [analog({
    ssr: true,    // enables server side rendering
    static: true, // enables static site generation
    prerender: {  // configure routes to be rendered at build time
      routes: async () => [
        '/',
        '/about',
        '/blog',
        '/blog/posts/2023-02-01-my-first-post',
      ],
    },
  })],
}));
```


id: jssg
git_filename: src/site/generators/jssg.md
format: md
field_title: jssg
field_repo: agrison/jssg
field_homepage: https://github.com/agrison/jssg
field_language: Java
field_license: MIT
field_templates: Freemarker
field_description: A static site/blog generator in Java
data:
{"title": "jssg", "repo": "agrison/jssg", "homepage": "https://github.com/agrison/jssg", "language": ["Java"], "license": ["MIT"], "templates": ["Freemarker"], "description": "A static site/blog generator in Java", "body": "Jssg is a simple static site generator like Jekyll, written in Java.\n\n- Supports Markdown, Textile and good HTML formatted content.\n- Freemarker based templates.\n- Syntax Highlighting through the use of Pygments, fallbacking to Jygments if unavailable.\n- Fast generation.\n- Bundled with a local server with auto-refresh on save."}

field_body:
Jssg is a simple static site generator like Jekyll, written in Java.

- Supports Markdown, Textile and good HTML formatted content.
- Freemarker based templates.
- Syntax Highlighting through the use of Pygments, fallbacking to Jygments if unavailable.
- Fast generation.
- Bundled with a local server with auto-refresh on save.


id: coppersmith
git_filename: src/site/generators/coppersmith.md
format: md
field_title: CopperSmith
field_repo: charlgottschalk/coppersmith
field_homepage: https://charlgottschalk.github.io/coppersmith/docs/
field_language: JavaScript
field_license: MIT
field_templates: Handlebars
field_description: CopperSmith is a very simple command powered static site generator that uses markdown files.
data:
{"title": "CopperSmith", "repo": "charlgottschalk/coppersmith", "homepage": "https://charlgottschalk.github.io/coppersmith/docs/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Handlebars"], "description": "CopperSmith is a very simple command powered static site generator that uses markdown files.", "body": "CopperSmith is a very simple static site builder that uses markdown files.\n\nUsing simple commands, you can quickly scaffold your site leaving you to simply edit the content of your pages.\n\nOnce built, the site can be hosted anywhere static HTML content is supported, like GitHub Pages and Netlify.\n\nCopperSmith also comes with a simple FTP publisher, allowing you to easily upload your generated site to your plain FTP server.\n\nTemplating is supported and allows you to easily change the layout and styling with your own custom layouts and partials using the [handlebars](http://handlebarsjs.com/) templating engine.\n\nRead the [templating docs](http://charlgottschalk.co.za/projects/coppersmith/docs/master/templates-setup) for more info.\n\nView the [project page](http://charlgottschalk.co.za/projects/coppersmith) for [documentation](http://charlgottschalk.co.za/projects/coppersmith/docs)."}

field_body:
CopperSmith is a very simple static site builder that uses markdown files.

Using simple commands, you can quickly scaffold your site leaving you to simply edit the content of your pages.

Once built, the site can be hosted anywhere static HTML content is supported, like GitHub Pages and Netlify.

CopperSmith also comes with a simple FTP publisher, allowing you to easily upload your generated site to your plain FTP server.

Templating is supported and allows you to easily change the layout and styling with your own custom layouts and partials using the [handlebars](http://handlebarsjs.com/) templating engine.

Read the [templating docs](http://charlgottschalk.co.za/projects/coppersmith/docs/master/templates-setup) for more info.

View the [project page](http://charlgottschalk.co.za/projects/coppersmith) for [documentation](http://charlgottschalk.co.za/projects/coppersmith/docs).


id: stacy
git_filename: src/site/generators/stacy.md
format: md
field_title: Stacy
field_repo: boylesoftware/stacy
field_homepage: https://github.com/boylesoftware/stacy
field_language: JavaScript
field_license: MIT
field_templates: Handlebars
data:
{"title": "Stacy", "repo": "boylesoftware/stacy", "homepage": "https://github.com/boylesoftware/stacy", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Handlebars"], "description": "Website generator that combines content from Contentful CMS with Handlebars templates and publishes the website in Amazon S3.", "body": "## About Stacy\n\nStacy is a website generator that combines content from [Contentful CMS](https://www.contentful.com/) with [Handlebars](https://handlebarsjs.com/) templates to create the website pages. A few highlights:\n\n- The website content is stored in [Contentful CMS](https://www.contentful.com/) where the content authors work with it.\n- Templates, used to generate pages from content entries in Contentful, as well as static content (stylesheets, fonts, images used in the website design, etc.) are part of a version controlled (e.g. git) project. Templates use [Handlebars](https://handlebarsjs.com/) extended with a few Stacy helpers allowing inclusion of nested content entries, rendering assets, rich text, etc.\n- The website is published in [Amazon S3](https://aws.amazon.com/s3/), from where it is served.\n- When content changes, Contentful notifies Stacy in AWS via a webhook, which allows Stacy to automatically regenerate and republish affected pages.\n\nThe automatic site regeneration upon content changes is the main distinguishing feature of Stacy. It takes Stacy beyond simple static site generation and combines CMS managed content with speed and simplicity of hosting a static website."}

field_description:
Website generator that combines content from Contentful CMS with Handlebars templates and publishes the website in Amazon S3.

field_body:
## About Stacy

Stacy is a website generator that combines content from [Contentful CMS](https://www.contentful.com/) with [Handlebars](https://handlebarsjs.com/) templates to create the website pages. A few highlights:

- The website content is stored in [Contentful CMS](https://www.contentful.com/) where the content authors work with it.
- Templates, used to generate pages from content entries in Contentful, as well as static content (stylesheets, fonts, images used in the website design, etc.) are part of a version controlled (e.g. git) project. Templates use [Handlebars](https://handlebarsjs.com/) extended with a few Stacy helpers allowing inclusion of nested content entries, rendering assets, rich text, etc.
- The website is published in [Amazon S3](https://aws.amazon.com/s3/), from where it is served.
- When content changes, Contentful notifies Stacy in AWS via a webhook, which allows Stacy to automatically regenerate and republish affected pages.

The automatic site regeneration upon content changes is the main distinguishing feature of Stacy. It takes Stacy beyond simple static site generation and combines CMS managed content with speed and simplicity of hosting a static website.


id: ulka
git_filename: src/site/generators/ulka.md
format: md
field_title: Ulka
field_repo: ulkajs/ulka
field_homepage: https://ulka.js.org
field_language: JavaScript
field_license: MIT
field_templates: Ulka
field_description: A simpler static site generator written in JavaScript to transform static data to html.
data:
{"title": "Ulka", "repo": "ulkajs/ulka", "homepage": "https://ulka.js.org", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Ulka"], "twitter": "coderosh", "description": "A simpler static site generator written in JavaScript to transform static data to html.", "body": "A simpler static site generator written in JavaScript to transform static data to html.\n\n### Installation\n\n```bash\nnpx ulka create my_portfolio\n\ncd my_portfolio\nnpm run develop\n```\n\n### Default templating engine.\n\nBy default ulka supports [ulka-parser](https://github.com/ulkajs/ulka-parser) (A new templating engine specifically built for ulkajs). Adding a support for new templating engine is very easy. All you have to do is register the render function through ulka's plugin system. Example: [ulka-source-ejs](https://github.com/ulkajs/ulka-plugins/tree/main/ulka-source-ejs)\n\n### Markdown support\n\nUlka uses [remarkable](https://github.com/jonschlinkert/remarkable) and supports all remarkable plugins.\n\n### Plugins\n\nUlka is pluggable. You can extend or add new feature using ulka's plugin system. You can even change how ulka works. Official plugins made by ulka are maintained in [this repo](https://github.com/ulkajs/ulka-plugins)."}

field_body:
A simpler static site generator written in JavaScript to transform static data to html.

### Installation

```bash
npx ulka create my_portfolio

cd my_portfolio
npm run develop
```

### Default templating engine.

By default ulka supports [ulka-parser](https://github.com/ulkajs/ulka-parser) (A new templating engine specifically built for ulkajs). Adding a support for new templating engine is very easy. All you have to do is register the render function through ulka's plugin system. Example: [ulka-source-ejs](https://github.com/ulkajs/ulka-plugins/tree/main/ulka-source-ejs)

### Markdown support

Ulka uses [remarkable](https://github.com/jonschlinkert/remarkable) and supports all remarkable plugins.

### Plugins

Ulka is pluggable. You can extend or add new feature using ulka's plugin system. You can even change how ulka works. Official plugins made by ulka are maintained in [this repo](https://github.com/ulkajs/ulka-plugins).


id: serum
git_filename: src/site/generators/serum.md
format: md
field_title: Serum
field_repo: Dalgona/Serum
field_homepage: https://github.com/Dalgona/Serum
field_language: Elixir
field_license: MIT
field_templates: EEx
field_description: A simple static website generator written in Elixir.
data:
{"title": "Serum", "repo": "Dalgona/Serum", "homepage": "https://github.com/Dalgona/Serum", "language": ["Elixir"], "license": ["MIT"], "templates": ["EEx"], "description": "A simple static website generator written in Elixir.", "body": "Serum is yet another static website generator written in [Elixir Programming Language](http://elixir-lang.org). The goal of this project is to provide the way to create awesome static websites with little effort. Powered by super-lightweight Erlang processes, Serum can build hundreds of pages simultaneously, enabling fast live tests (using Serum development server) and fast deployment of your website.\n\nCheck [the sample website](http://include.iostream.kr/serum-sample) to see what Serum can do! The official website of Serum is under construction and will take position of the sample site."}

field_body:
Serum is yet another static website generator written in [Elixir Programming Language](http://elixir-lang.org). The goal of this project is to provide the way to create awesome static websites with little effort. Powered by super-lightweight Erlang processes, Serum can build hundreds of pages simultaneously, enabling fast live tests (using Serum development server) and fast deployment of your website.

Check [the sample website](http://include.iostream.kr/serum-sample) to see what Serum can do! The official website of Serum is under construction and will take position of the sample site.


id: couscous
git_filename: src/site/generators/couscous.md
format: md
field_title: Couscous
field_repo: CouscousPHP/Couscous
field_homepage: http://couscous.io/
field_language: PHP
field_license: MIT
field_templates: Twig
field_description: Couscous turn Markdown documentation into beautiful websites.
data:
{"title": "Couscous", "repo": "CouscousPHP/Couscous", "homepage": "http://couscous.io/", "language": ["PHP"], "license": ["MIT"], "templates": ["Twig"], "description": "Couscous turn Markdown documentation into beautiful websites.", "body": "### Step 1\n\nWrite your documentation in Markdown inside your repository, versioned with your code. Couscous will turn those Markdown files to HTML.\n\n### Step 2\n\n`couscous preview` will render the website on your machine. Tweak the default template, fix some typos and the changes will be reflected in real time.\n\n### Step 3\n\ncouscous deploy will publish your website on the gh-pages Git branch. GitHub will automatically put it online and host it for you.\n\n### Step 4\n\nYour website is online, just sit back and relax."}

field_body:
### Step 1

Write your documentation in Markdown inside your repository, versioned with your code. Couscous will turn those Markdown files to HTML.

### Step 2

`couscous preview` will render the website on your machine. Tweak the default template, fix some typos and the changes will be reflected in real time.

### Step 3

couscous deploy will publish your website on the gh-pages Git branch. GitHub will automatically put it online and host it for you.

### Step 4

Your website is online, just sit back and relax.


id: keystone
git_filename: src/site/generators/keystone.md
format: md
field_title: Keystone
field_repo: CTNicholas/keystone-ssg
field_homepage: https://github.com/CTNicholas/keystone-ssg
field_language: JavaScript
field_license: ISC
field_templates: Custom
field_startertemplaterepo: https://github.com/CTNicholas/keystone-ssg-example
data:
{"title": "Keystone", "repo": "CTNicholas/keystone-ssg", "homepage": "https://github.com/CTNicholas/keystone-ssg", "language": ["JavaScript"], "license": ["ISC"], "templates": ["Custom"], "startertemplaterepo": "https://github.com/CTNicholas/keystone-ssg-example", "description": "Zero config static-site generator & dev server. Templates, partials, routing, Babel, SCSS/SASS, Markdown, bundling, minifying, dynamic linking, search indexing.", "body": "![Keystone logo](https://github.com/CTNicholas/keystone-ssg/raw/master/keystone_logo_small.png)\n# Why Keystone?\nKeystone is a static-site generator ideal for quickly building small websites. No setup required, and a collection of handy features are enabled by default.\n# Features\n- Easy install & setup, one command and ready to go\n- Auto-refresh development server\n- Use templates and reusable partials/imports, with slots\n- Automatic routing, just upload `/public` and you're ready to go\n- Babel, SCSS, & Markdown support enabled by default, source maps in development mode\n- JS & CSS minifying and bundling (with Rollup)\n- Dynamic link loading (no page reload)\n- Search index file generator, for easy website searching\n\n# Getting Started\n## Install\nCreate a new directory and run the following command to setup Keystone, package.json, & git. *Node 14.x.x required.*\n```\n$  npm install keystone-ssg\n```\nGreat, you're installed!\n## Development server\nStart the Keystone development server, and then go to `http://localhost:8080` to see the example website.\n```\n$ npm run dev\n```\n# What's next?\nRead the rest of the tutorial on our [GitHub page](https://github.com/CTNicholas/keystone-ssg#readme)!"}

field_description:
Zero config static-site generator & dev server. Templates, partials, routing, Babel, SCSS/SASS, Markdown, bundling, minifying, dynamic linking, search indexing.

field_body:
![Keystone logo](https://github.com/CTNicholas/keystone-ssg/raw/master/keystone_logo_small.png)
# Why Keystone?
Keystone is a static-site generator ideal for quickly building small websites. No setup required, and a collection of handy features are enabled by default.
# Features
- Easy install & setup, one command and ready to go
- Auto-refresh development server
- Use templates and reusable partials/imports, with slots
- Automatic routing, just upload `/public` and you're ready to go
- Babel, SCSS, & Markdown support enabled by default, source maps in development mode
- JS & CSS minifying and bundling (with Rollup)
- Dynamic link loading (no page reload)
- Search index file generator, for easy website searching

# Getting Started
## Install
Create a new directory and run the following command to setup Keystone, package.json, & git. *Node 14.x.x required.*
```
$  npm install keystone-ssg
```
Great, you're installed!
## Development server
Start the Keystone development server, and then go to `http://localhost:8080` to see the example website.
```
$ npm run dev
```
# What's next?
Read the rest of the tutorial on our [GitHub page](https://github.com/CTNicholas/keystone-ssg#readme)!


id: sculpin
git_filename: src/site/generators/sculpin.md
format: md
field_title: Sculpin
field_repo: sculpin/sculpin
field_homepage: https://sculpin.io
field_language: PHP
field_license: MIT
field_templates: Twig, HTML, Markdown
field_description: Sculpin is a static site generator written in PHP
data:
{"title": "Sculpin", "repo": "sculpin/sculpin", "homepage": "https://sculpin.io", "language": ["PHP"], "license": ["MIT"], "templates": ["Twig", "HTML", "Markdown"], "description": "Sculpin is a static site generator written in PHP", "body": "Sculpin is a static site generator written in PHP. It converts Markdown files, Twig templates or standard HTML into a static HTML site that can be easily deployed.\n\n### Why Sculpin?\n\nPHP static site generator. Fast and easy to get started. If your language of choice is PHP, you'll feel right at home if you need to extend Sculpin.\n\nEmbedded Composer. Forget about managing library versions manually! Sculpin embeds Composer to keep your source control focused and projects consistent.\n\nTwig templates. Twig is a full-featured modern template engine. It's simple to learn and it is extendable, documented, concise and flexible.\n\nSymfony's HTTP Kernel. Sculpin is built on it. This lets you use Symfony Bundles to extend Sculpin for any advanced functionality you need without extending Sculpin directly."}

field_body:
Sculpin is a static site generator written in PHP. It converts Markdown files, Twig templates or standard HTML into a static HTML site that can be easily deployed.

### Why Sculpin?

PHP static site generator. Fast and easy to get started. If your language of choice is PHP, you'll feel right at home if you need to extend Sculpin.

Embedded Composer. Forget about managing library versions manually! Sculpin embeds Composer to keep your source control focused and projects consistent.

Twig templates. Twig is a full-featured modern template engine. It's simple to learn and it is extendable, documented, concise and flexible.

Symfony's HTTP Kernel. Sculpin is built on it. This lets you use Symfony Bundles to extend Sculpin for any advanced functionality you need without extending Sculpin directly.


id: styx
git_filename: src/site/generators/styx.md
format: md
field_title: Styx
field_repo: styx-static/styx
field_homepage: https://styx-static.github.io/styx-site/
field_language: Nix
field_license: MIT
field_templates: Nix
field_description: Nix based static site generator.
data:
{"title": "Styx", "repo": "styx-static/styx", "homepage": "https://styx-static.github.io/styx-site/", "language": ["Nix"], "license": ["MIT"], "templates": ["Nix"], "description": "Nix based static site generator.", "body": "Styx is a static site generator based on the [Nix package manager](https://nixos.org/nix/). It aims to be lightweight and flexible."}

field_body:
Styx is a static site generator based on the [Nix package manager](https://nixos.org/nix/). It aims to be lightweight and flexible.


id: taft
git_filename: src/site/generators/taft.md
format: md
field_title: Taft
field_repo: fitnr/taft
field_homepage: https://github.com/fitnr/taft
field_language: JavaScript
field_license: GPL-3.0-only
field_templates: Handlebars
field_description: Static site generator for the command line
data:
{"title": "Taft", "repo": "fitnr/taft", "homepage": "https://github.com/fitnr/taft", "language": ["JavaScript"], "license": ["GPL-3.0-only"], "templates": ["Handlebars"], "description": "Static site generator for the command line", "body": "Taft's goal is to allow building static sites from the command line, without extra config files. It's ideal for a workflow based around a Makefile. It does away with config files or init commands - the command used to build the site tells the story. Taft is lightning fast at the cost of doing away with some bells and whistles."}

field_body:
Taft's goal is to allow building static sites from the command line, without extra config files. It's ideal for a workflow based around a Makefile. It does away with config files or init commands - the command used to build the site tells the story. Taft is lightning fast at the cost of doing away with some bells and whistles.


id: reem
git_filename: src/site/generators/reem.md
format: md
field_title: Reem
field_repo: andrejewski/reem
field_homepage: http://github.com/andrejewski/reem
field_language: JavaScript
field_license: ISC
field_templates: Consolidate.js
field_description: JavaScript static site generator for anything
data:
{"title": "Reem", "repo": "andrejewski/reem", "homepage": "http://github.com/andrejewski/reem", "language": ["JavaScript"], "license": ["ISC"], "templates": ["Consolidate.js"], "description": "JavaScript static site generator for anything", "body": "Reem is different from other static site generators in the amount of control\ndevelopers are allowed during the build phase. The source directory is expanded\ninto a tree data structure that can be traversed and manipulated in ideally\nany way desired and then is written to the output directory. Plugins are added to Reem like middleware in Express\nand Reem seperates files into four middleware stacks, one each for posts, pages,\nfiles, and lists (folders). Reem really is quite feature rich and should not be\nsummed up in a paragraph.\n\nMore information can be found on the [wiki pages](https://github.com/andrejewski/reem/wiki)."}

field_body:
Reem is different from other static site generators in the amount of control
developers are allowed during the build phase. The source directory is expanded
into a tree data structure that can be traversed and manipulated in ideally
any way desired and then is written to the output directory. Plugins are added to Reem like middleware in Express
and Reem seperates files into four middleware stacks, one each for posts, pages,
files, and lists (folders). Reem really is quite feature rich and should not be
summed up in a paragraph.

More information can be found on the [wiki pages](https://github.com/andrejewski/reem/wiki).


id: platframe
git_filename: src/site/generators/platframe.md
format: md
field_title: Platframe
field_repo: platframe/platframe
field_homepage: https://platframe.com
field_language: JavaScript
field_license: MIT
field_templates: Pug, Jade
field_description: A structured, scalable and modular platform for web and frontend development.
field_startertemplaterepo: https://github.com/platframe/platframe
data:
{"title": "Platframe", "repo": "platframe/platframe", "homepage": "https://platframe.com", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Pug", "Jade"], "description": "A structured, scalable and modular platform for web and frontend development.", "startertemplaterepo": "https://github.com/platframe/platframe", "twitter": "platframe", "body": "Whether it's bespoke development, building a Jamstack app, or making it your blog's static site generator, _Platframe_ grounds your next project with a resilient foundation.\n\n## Setup\n\nOption 1: hit the **Deploy to netlify** button\nOption 2: run the following in your shell, optionally chaning \"my-app\" to a preferred name\n\n```bash\nnpx degit platframe/new my-app && cd $_ && git init && yarn\n```\n\nOption 3: [clone](https://github.com/platframe/platframe.git) or [download](https://github.com/platframe/platframe/releases/latest) the latest release and follow the remaining installation steps"}

field_body:
Whether it's bespoke development, building a Jamstack app, or making it your blog's static site generator, _Platframe_ grounds your next project with a resilient foundation.

## Setup

Option 1: hit the **Deploy to netlify** button
Option 2: run the following in your shell, optionally chaning "my-app" to a preferred name

```bash
npx degit platframe/new my-app && cd $_ && git init && yarn
```

Option 3: [clone](https://github.com/platframe/platframe.git) or [download](https://github.com/platframe/platframe/releases/latest) the latest release and follow the remaining installation steps


id: poole
git_filename: src/site/generators/poole.md
format: md
field_title: Poole
field_homepage: https://hg.sr.ht/~obensonne/poole
field_language: Python
field_license: GPL-3.0-only
field_templates: HTML
field_description: A simple Markdown static site generator.
data:
{"title": "Poole", "homepage": "https://hg.sr.ht/~obensonne/poole", "language": ["Python"], "license": ["GPL-3.0-only"], "templates": ["HTML"], "description": "A simple Markdown static site generator.", "body": "Poole is an easy to use Markdown driven static website generator. You write the content of your pages in Markdown and Poole creates a nice and simple site with a navigation menu. You don't need to learn a template or preprocessing engine.\n\n### Philosophy\n\nPoole is made for simple sites. Its simplicity means it has minimal technical requirements and doesn't require the user to learn any templating system."}

field_body:
Poole is an easy to use Markdown driven static website generator. You write the content of your pages in Markdown and Poole creates a nice and simple site with a navigation menu. You don't need to learn a template or preprocessing engine.

### Philosophy

Poole is made for simple sites. Its simplicity means it has minimal technical requirements and doesn't require the user to learn any templating system.


id: yass
git_filename: src/site/generators/yass.md
format: md
field_title: Yass
field_repo: yet-another-static-site-generator/yass
field_homepage: https://yet-another-static-site-generator.github.io/
field_language: Ada
field_license: GPL-3.0-only
field_templates: Ada
field_description: A Fast and Extensible Static Site Generator.
data:
{"title": "Yass", "repo": "yet-another-static-site-generator/yass", "homepage": "https://yet-another-static-site-generator.github.io/", "language": ["Ada"], "license": ["GPL-3.0-only"], "templates": ["Ada"], "description": "A Fast and Extensible Static Site Generator.", "body": "Yass stands for Yet Another Static Site (Generator) from CommonMark files. Features:\n\n- Advanced Ada Web Server HTML templates\n- Full CommonMark support via libcmark\n- Can be extended with modules, written in any script/programming language\n- Can generate sitemaps\n- Can generate Atom feeds"}

field_body:
Yass stands for Yet Another Static Site (Generator) from CommonMark files. Features:

- Advanced Ada Web Server HTML templates
- Full CommonMark support via libcmark
- Can be extended with modules, written in any script/programming language
- Can generate sitemaps
- Can generate Atom feeds


id: bookdown_r
git_filename: src/site/generators/bookdown_r.md
format: md
field_title: Bookdown (R)
field_repo: rstudio/bookdown
field_homepage: https://bookdown.org/
field_language: R
field_license: GPL-3.0-only
field_templates: R, R Markdown
field_description: An eBook authoring platform that generates GitBook-styled static sites
data:
{"title": "Bookdown (R)", "repo": "rstudio/bookdown", "homepage": "https://bookdown.org/", "language": ["R"], "license": ["GPL-3.0-only"], "templates": ["R", "R Markdown"], "description": "An eBook authoring platform that generates GitBook-styled static sites", "body": "Bookdown is an eBook authoring platform for R programmers. It's based on two R packages - `knitr` and `rmarkdown` - along with Pandoc. It's usually invoked from the open-source RStudio IDE.\n\n### Features:\n\n- Creates a GitBook-like or Bootstrap-themed static website for an eBook\n- Can create PDF eBooks using the full power of LaTeX\n- Can create EPUB eBooks via Pandoc\n- Can insert output from code chunks into output website / eBooks\n\nSample Netlify site: https://www.masteringdfsanalytics.com/"}

field_body:
Bookdown is an eBook authoring platform for R programmers. It's based on two R packages - `knitr` and `rmarkdown` - along with Pandoc. It's usually invoked from the open-source RStudio IDE.

### Features:

- Creates a GitBook-like or Bootstrap-themed static website for an eBook
- Can create PDF eBooks using the full power of LaTeX
- Can create EPUB eBooks via Pandoc
- Can insert output from code chunks into output website / eBooks

Sample Netlify site: https://www.masteringdfsanalytics.com/


id: jenny
git_filename: src/site/generators/jenny.md
format: md
field_title: Jenny
field_repo: hmngwy/jenny
field_homepage: https://github.com/hmngwy/jenny
field_language: Bash
field_license: MIT
field_templates: Bash
field_description: Static blog generator that uses basic GNU tools.
data:
{"title": "Jenny", "repo": "hmngwy/jenny", "homepage": "https://github.com/hmngwy/jenny", "language": ["Bash"], "license": ["MIT"], "templates": ["Bash"], "description": "Static blog generator that uses basic GNU tools.", "body": "## Goal\n\nJenny aims to provide the simplest way to blog with the smallest\nfootprint possible.\n\nThere are draft and forward (scheduled) posting support.\nMarkdown through a modified Markdown.awk or MultiMarkdown.pl\n\nPagination is fixed, i.e. your first post will always be in\n\"Page 1\".\n\nSettings can be peristed in an rc file or overridden on run\ntime through command arguments.\n\nThe default theme is small and light, and the template nimble."}

field_body:
## Goal

Jenny aims to provide the simplest way to blog with the smallest
footprint possible.

There are draft and forward (scheduled) posting support.
Markdown through a modified Markdown.awk or MultiMarkdown.pl

Pagination is fixed, i.e. your first post will always be in
"Page 1".

Settings can be peristed in an rc file or overridden on run
time through command arguments.

The default theme is small and light, and the template nimble.


id: frozen-flask
git_filename: src/site/generators/frozen-flask.md
format: md
field_title: Frozen-Flask
field_repo: Frozen-Flask/Frozen-Flask
field_homepage: https://pythonhosted.org/Frozen-Flask/
field_language: Python
field_license: BSD-3-Clause
field_templates: Jinja2
field_description: Frozen-Flask freezes a Flask application into a set of static files.
data:
{"title": "Frozen-Flask", "repo": "Frozen-Flask/Frozen-Flask", "homepage": "https://pythonhosted.org/Frozen-Flask/", "language": ["Python"], "license": ["BSD-3-Clause"], "templates": ["Jinja2"], "description": "Frozen-Flask freezes a Flask application into a set of static files.", "body": "Frozen-Flask freezes a [Flask](http://flask.pocoo.org/) application into a set of static files. It works by simulating requests at the WSGI level and writing the responses to aptly named files."}

field_body:
Frozen-Flask freezes a [Flask](http://flask.pocoo.org/) application into a set of static files. It works by simulating requests at the WSGI level and writing the responses to aptly named files.


id: my_py_site
git_filename: src/site/generators/my_py_site.md
format: md
field_title: my_py_site
field_repo: sharadcodes/my_py_site
field_homepage: https://github.com/sharadcodes/my_py_site
field_language: Python
field_license: MIT
field_templates: HTML, Jinja2
field_description: The world's smallest and lightweight static site and blog generator for Python lovers.
data:
{"title": "my_py_site", "repo": "sharadcodes/my_py_site", "homepage": "https://github.com/sharadcodes/my_py_site", "language": ["Python"], "license": ["MIT"], "templates": ["HTML", "Jinja2"], "description": "The world's smallest and lightweight static site and blog generator for Python lovers.", "body": "# my_py_site\n\nThe world's smallest and lightweight static site and blog generator for Python lovers.\n\n[my_py_site](https://github.com/sharadcodes/my_py_site) is the most \nsimplest and lightweight static site generator out there, with less than\n90 lines of code.\n\n**[my_py_site](https://github.com/sharadcodes/my_py_site) was made in \njust two hours** but the development will go further and enhancements\nwill be done in the future to make things more easy.\n\nWith approx 90 lines of code it becomes the smallest Static Site \nGenerator which is capable of generating multiple pages, blogs.\n\nThe documentation is going on, although you won't need because it's\nthat simple.\nAfter cloning or downloading the [repo](https://github.com/sharadcodes/my_py_site) just run\n```\npip install -r requirements.txt\npython my_py_site.py\n```\nand the site will be generated.\n\n\n>Developer: [Sharad Raj](https://sharadcodes.github.io)"}

field_body:
# my_py_site

The world's smallest and lightweight static site and blog generator for Python lovers.

[my_py_site](https://github.com/sharadcodes/my_py_site) is the most 
simplest and lightweight static site generator out there, with less than
90 lines of code.

**[my_py_site](https://github.com/sharadcodes/my_py_site) was made in 
just two hours** but the development will go further and enhancements
will be done in the future to make things more easy.

With approx 90 lines of code it becomes the smallest Static Site 
Generator which is capable of generating multiple pages, blogs.

The documentation is going on, although you won't need because it's
that simple.
After cloning or downloading the [repo](https://github.com/sharadcodes/my_py_site) just run
```
pip install -r requirements.txt
python my_py_site.py
```
and the site will be generated.


>Developer: [Sharad Raj](https://sharadcodes.github.io)


id: youngsoni
git_filename: src/site/generators/youngsoni.md
format: md
field_title: Youngsoni
field_repo: ElijahToussaint/youngsoni
field_homepage: https://github.com/ElijahToussaint/youngsoni
field_language: JavaScript, Node.js
field_license: AGPL-3.0-or-later
field_templates: Nunjucks, Hjson, Markdown, HTML
field_description: A static site generator.
data:
{"title": "Youngsoni", "repo": "ElijahToussaint/youngsoni", "homepage": "https://github.com/ElijahToussaint/youngsoni", "language": ["JavaScript", "Node.js"], "license": ["AGPL-3.0-or-later"], "templates": ["Nunjucks", "Hjson", "Markdown", "HTML"], "description": "A static site generator.", "body": "### Why is it called Youngsoni?\n\nYoungsoni is the [lesser hairy-footed dunnart](https://en.wikipedia.org/wiki/Lesser_hairy-footed_dunnart) (Sminthopsis youngsoni), a small carnivorous Australian marsupial. It is a widespread and fairly common species, being found in many desert areas of Western Australia, Northern Territory and Queensland.\n\n### Built With\n\n- [Node.js](https://nodejs.org/en/)\n- [Express](https://expressjs.com/)\n- [Javascript](https://www.ecma-international.org/publications-and-standards/standards/ecma-262/)\n- [Hjson](https://hjson.github.io/)\n- [Nunjucks](https://mozilla.github.io/nunjucks/)\n- [Front Matter](https://github.com/jxson/front-matter)\n\n## Features\n\n- Open source.\n- Lightweight and easy to deploy.\n- Clean, mobile-friendly interface.\n- Supports seperate sections for personal links and cryptocurrencies.\n- Pages are automatically paginated. Disabling and adjusting page size is all done through your config file\n- A webserver is started so you can view your website in a browser.\n- Support for the [Nunjucks](https://mozilla.github.io/nunjucks/) templating engine.\n- The powerful and easy to learn [markdown](https://daringfireball.net/projects/markdown/) syntax is used for writing posts.\n- RSS feeds are automatically generated.\n- A web user interface that can create, edit and delete information for your site.\n- Host anywhere static HTML is supported."}

field_body:
### Why is it called Youngsoni?

Youngsoni is the [lesser hairy-footed dunnart](https://en.wikipedia.org/wiki/Lesser_hairy-footed_dunnart) (Sminthopsis youngsoni), a small carnivorous Australian marsupial. It is a widespread and fairly common species, being found in many desert areas of Western Australia, Northern Territory and Queensland.

### Built With

- [Node.js](https://nodejs.org/en/)
- [Express](https://expressjs.com/)
- [Javascript](https://www.ecma-international.org/publications-and-standards/standards/ecma-262/)
- [Hjson](https://hjson.github.io/)
- [Nunjucks](https://mozilla.github.io/nunjucks/)
- [Front Matter](https://github.com/jxson/front-matter)

## Features

- Open source.
- Lightweight and easy to deploy.
- Clean, mobile-friendly interface.
- Supports seperate sections for personal links and cryptocurrencies.
- Pages are automatically paginated. Disabling and adjusting page size is all done through your config file
- A webserver is started so you can view your website in a browser.
- Support for the [Nunjucks](https://mozilla.github.io/nunjucks/) templating engine.
- The powerful and easy to learn [markdown](https://daringfireball.net/projects/markdown/) syntax is used for writing posts.
- RSS feeds are automatically generated.
- A web user interface that can create, edit and delete information for your site.
- Host anywhere static HTML is supported.


id: anodize
git_filename: src/site/generators/anodize.md
format: md
field_title: Anodize
field_repo: sidmani/anodize
field_homepage: https://github.com/sidmani/anodize
field_language: JavaScript
field_license: AGPL-3.0-only
field_templates: Liquid
field_description: Generate modern pages from minimal source files.
data:
{"title": "Anodize", "repo": "sidmani/anodize", "homepage": "https://github.com/sidmani/anodize", "language": ["JavaScript"], "license": ["AGPL-3.0-only"], "templates": ["Liquid"], "description": "Generate modern pages from minimal source files.", "body": "Anodize exists because I was too lazy to learn how to use Jekyll. Its continuing mission: to boldly generate functional, SE-optimized websites from as little source data as possible.\n\nAnodize currently powers Sid Mani's blog at [www.sidmani.com](https://www.sidmani.com)."}

field_body:
Anodize exists because I was too lazy to learn how to use Jekyll. Its continuing mission: to boldly generate functional, SE-optimized websites from as little source data as possible.

Anodize currently powers Sid Mani's blog at [www.sidmani.com](https://www.sidmani.com).


id: cabin
git_filename: src/site/generators/cabin.md
format: md
field_title: Cabin
field_repo: CabinJS/Cabin
field_homepage: http://www.cabinjs.com/
field_language: JavaScript
field_license: MIT
field_templates: Jade, EJS
field_description: Simple and extensible static site generator powered by Grunt.
data:
{"title": "Cabin", "repo": "CabinJS/Cabin", "homepage": "http://www.cabinjs.com/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Jade", "EJS"], "description": "Simple and extensible static site generator powered by Grunt.", "body": "Cabin's goal is to be a static site generator that encourages designers and developers to make themes and share them with the open source community. We want to make it easy to create and install themes so that theme authors can focus on developing themes, and users can quickly get up and running with their static sites.\n\nCabin should be usable by everyone who knows how to edit markdown, templates, and css. At the same time, we want to provide support for Grunt power users and evolve with the Grunt ecosystem. As such, we plan on having a minimal default Gruntfile and providing options for power users to scaffold a more advanced Gruntfile."}

field_body:
Cabin's goal is to be a static site generator that encourages designers and developers to make themes and share them with the open source community. We want to make it easy to create and install themes so that theme authors can focus on developing themes, and users can quickly get up and running with their static sites.

Cabin should be usable by everyone who knows how to edit markdown, templates, and css. At the same time, we want to provide support for Grunt power users and evolve with the Grunt ecosystem. As such, we plan on having a minimal default Gruntfile and providing options for power users to scaffold a more advanced Gruntfile.


id: hastie
git_filename: src/site/generators/hastie.md
format: md
field_title: Hastie
field_repo: mkaz/hastie
field_homepage: https://github.com/mkaz/hastie
field_language: Python
field_license: MIT
field_templates: Jinja2
field_description: A static site generator in Python
data:
{"title": "Hastie", "repo": "mkaz/hastie", "homepage": "https://github.com/mkaz/hastie", "language": ["Python"], "license": ["MIT"], "templates": ["Jinja2"], "description": "A static site generator in Python", "body": "Hastie is a static site generator, it processes a folder of markdown text files, applies a template, and generates an HTML site.\n\n### Why the name \"Hastie\"?\n\nThe name Hastie is from a character in the novel Dr. Jekyll and Mr. Hyde.\n\n### History \n\nHastie started as a Go project, but rewritten to Python."}

field_body:
Hastie is a static site generator, it processes a folder of markdown text files, applies a template, and generates an HTML site.

### Why the name "Hastie"?

The name Hastie is from a character in the novel Dr. Jekyll and Mr. Hyde.

### History 

Hastie started as a Go project, but rewritten to Python.


id: bang
git_filename: src/site/generators/bang.md
format: md
field_title: Bang
field_repo: squdle/Bang
field_homepage: https://github.com/squdle/Bang
field_language: Python
field_license: MIT
field_templates: Custom
field_description: Quirky text processor and static website generator.
data:
{"title": "Bang", "repo": "squdle/Bang", "homepage": "https://github.com/squdle/Bang", "language": ["Python"], "license": ["MIT"], "templates": ["Custom"], "description": "Quirky text processor and static website generator.", "body": "!!Bang!! is a text processor and static website generator that lets you shoot holes through text files!\n\nBang comprises of an extremely minimalist markup language and a quirky scripting language that can be extended with Python.\nThe Bang processor itself is a short Python script that interprets Bang scripts and processes text files.\nThis allows for variables in text files, as well as encouraging very modular code.\nThe markup language allows you to shoot holes in text files with a double Bang enclosed keyword (eg: !!keyword!!).\nKeywords are then then filled with a word, line of text, text file, or Python function return value.\nBang scripts define the values of keywords, which files will be processed and the order they will be processed in."}

field_body:
!!Bang!! is a text processor and static website generator that lets you shoot holes through text files!

Bang comprises of an extremely minimalist markup language and a quirky scripting language that can be extended with Python.
The Bang processor itself is a short Python script that interprets Bang scripts and processes text files.
This allows for variables in text files, as well as encouraging very modular code.
The markup language allows you to shoot holes in text files with a double Bang enclosed keyword (eg: !!keyword!!).
Keywords are then then filled with a word, line of text, text file, or Python function return value.
Bang scripts define the values of keywords, which files will be processed and the order they will be processed in.


id: publii
git_filename: src/site/generators/publii.md
format: md
field_title: Publii
field_repo: GetPublii/Publii
field_homepage: https://getpublii.com
field_language: JavaScript
field_license: GPL-3.0-only
field_templates: Handlebars
field_description: Desktop-based CMS for creating static websites.
data:
{"title": "Publii", "repo": "GetPublii/Publii", "homepage": "https://getpublii.com", "language": ["JavaScript"], "license": ["GPL-3.0-only"], "templates": ["Handlebars"], "description": "Desktop-based CMS for creating static websites.", "twitter": "getpublii", "body": "Publii is a desktop-based CMS for Windows, Mac and Linux that makes creating static websites fast and hassle-free, even for beginners.\n\nUnlike static-site generators that are often unwieldy and difficult to use, Publii provides an easy-to-understand UI much like server-based CMSs such as WordPress or Joomla!, where users can create posts and other site content, and style their site using a variety of built-in themes and options. Users can enjoy the benefits of a super-fast and secure static website, with all the convenience that a CMS provides.\n\nWhat makes Publii even more unique is that the app runs locally on your desktop rather than on the site's server. Available for both Windows and Mac, once the app has been installed you can create a site in minutes, even without internet access; since Publii is a desktop app you can create, update and modify your site offline, then upload the site changes to your server at the click of a button.\n\n### Supported hostings\n\nPublii supports multiple upload options, including standard HTTP/HTTPS servers, Netlify, Amazon S3, GitHub Pages and Google Cloud or SFTP."}

field_body:
Publii is a desktop-based CMS for Windows, Mac and Linux that makes creating static websites fast and hassle-free, even for beginners.

Unlike static-site generators that are often unwieldy and difficult to use, Publii provides an easy-to-understand UI much like server-based CMSs such as WordPress or Joomla!, where users can create posts and other site content, and style their site using a variety of built-in themes and options. Users can enjoy the benefits of a super-fast and secure static website, with all the convenience that a CMS provides.

What makes Publii even more unique is that the app runs locally on your desktop rather than on the site's server. Available for both Windows and Mac, once the app has been installed you can create a site in minutes, even without internet access; since Publii is a desktop app you can create, update and modify your site offline, then upload the site changes to your server at the click of a button.

### Supported hostings

Publii supports multiple upload options, including standard HTTP/HTTPS servers, Netlify, Amazon S3, GitHub Pages and Google Cloud or SFTP.


id: gor
git_filename: src/site/generators/gor.md
format: md
field_title: Gor
field_repo: wendal/gor
field_homepage: https://github.com/wendal/gor
field_language: Go
field_license: BSD-3-Clause
field_templates: Mustache
field_description: A static websites and blog generator engine written in Go
data:
{"title": "Gor", "repo": "wendal/gor", "homepage": "https://github.com/wendal/gor", "language": ["Go"], "license": ["BSD-3-Clause"], "templates": ["Mustache"], "description": "A static websites and blog generator engine written in Go", "body": "Transform your plain text into static websites and blogs.\n**Gor** is a [Ruhoh](http://ruhoh.com/)-like websites and blog generator engine written in [Go](http://golang.org/). It\u2019s almost compatible to ruhoh 1.x specification. You can treat Gor as a replacement of the official implementation that is written in [Ruby](http://www.ruby-lang.org/en/).\n\nWhy reinvent the wheel? Gor has the following awesome benefits:\n\n1. Speed&mdash;Less than 1 second when compiling all my near 200 blogs on wendal.net\n2. Simple&mdash;Only one single executable file generated after compiling, no other dependency"}

field_body:
Transform your plain text into static websites and blogs.
**Gor** is a [Ruhoh](http://ruhoh.com/)-like websites and blog generator engine written in [Go](http://golang.org/). It’s almost compatible to ruhoh 1.x specification. You can treat Gor as a replacement of the official implementation that is written in [Ruby](http://www.ruby-lang.org/en/).

Why reinvent the wheel? Gor has the following awesome benefits:

1. Speed&mdash;Less than 1 second when compiling all my near 200 blogs on wendal.net
2. Simple&mdash;Only one single executable file generated after compiling, no other dependency


id: zola
git_filename: src/site/generators/zola.md
format: md
field_title: Zola
field_repo: getzola/zola
field_homepage: https://www.getzola.org/
field_language: Rust
field_license: MIT
field_templates: Tera
field_description: A fast static site generator in a single binary with everything built-in.
data:
{"title": "Zola", "repo": "getzola/zola", "homepage": "https://www.getzola.org/", "language": ["Rust"], "license": ["MIT"], "templates": ["Tera"], "description": "A fast static site generator in a single binary with everything built-in.", "body": "Static site generator built using the modern Rust programming language.\n\n### Features\n\n- Taxonomies: tags and categories\n- Sass compilation\n- Built-in support for themes\n- Code highlighting themes\n- Tera template engine, and built-in shortcodes"}

field_body:
Static site generator built using the modern Rust programming language.

### Features

- Taxonomies: tags and categories
- Sass compilation
- Built-in support for themes
- Code highlighting themes
- Tera template engine, and built-in shortcodes


id: zox
git_filename: src/site/generators/zox.md
format: md
field_title: Zox
field_repo: zoxjs/zox
field_homepage: https://zoxjs.com/
field_language: TypeScript
field_license: MIT
field_templates: React, Markdown, Handlebars
data:
{"title": "Zox", "repo": "zoxjs/zox", "homepage": "https://zoxjs.com/", "language": ["TypeScript"], "license": ["MIT"], "templates": ["React", "Markdown", "Handlebars"], "description": "Service-Oriented Web Framework, build scalable web apps and services with React and GraphQL or generate Static Sites", "body": "Zox.js gives developers the power to build scalable web apps and services\n\n## Install\n\nGet started with a new project:\n\n```bash\nnpm i zox zox-plugins\n```\n\nAdd support for GraphQL:\n\n```bash\nnpm i graphql-plugins zox-graphql-ws\n```\n\nRender React Components on the Server-Side:\n\n```bash\nnpm i zox-react\n```\n\nUse handlebars templates:\n\n```bash\nnpm i zox-handlebars\n```"}

field_description:
Service-Oriented Web Framework, build scalable web apps and services with React and GraphQL or generate Static Sites

field_body:
Zox.js gives developers the power to build scalable web apps and services

## Install

Get started with a new project:

```bash
npm i zox zox-plugins
```

Add support for GraphQL:

```bash
npm i graphql-plugins zox-graphql-ws
```

Render React Components on the Server-Side:

```bash
npm i zox-react
```

Use handlebars templates:

```bash
npm i zox-handlebars
```


id: mdBook
git_filename: src/site/generators/mdBook.md
format: md
field_title: mdBook
field_repo: rust-lang/mdBook
field_homepage: https://github.com/rust-lang/mdBook
field_language: Rust
field_license: MPL-2.0
field_templates: Markdown
field_description: GitBook alternative implemented in Rust.
data:
{"title": "mdBook", "repo": "rust-lang/mdBook", "homepage": "https://github.com/rust-lang/mdBook", "language": ["Rust"], "license": ["MPL-2.0"], "templates": ["Markdown"], "description": "GitBook alternative implemented in Rust.", "body": "Create book or documentation from markdown files as with GitBook.\n\nHighlights:\n\n- Handlebars templates\n- Math equations through [MathJax](https://www.mathjax.org/)\n- Can be used as a library\n- Runnable Rust code snippet using [Rust Playpen](https://github.com/rust-lang/rust-playpen)\n\nUsed by [\"The Rust Programming Language\"](https://github.com/rust-lang/book) book."}

field_body:
Create book or documentation from markdown files as with GitBook.

Highlights:

- Handlebars templates
- Math equations through [MathJax](https://www.mathjax.org/)
- Can be used as a library
- Runnable Rust code snippet using [Rust Playpen](https://github.com/rust-lang/rust-playpen)

Used by ["The Rust Programming Language"](https://github.com/rust-lang/book) book.


id: primo
git_filename: src/site/generators/primo.md
format: md
field_title: Primo
field_repo: primo-af/primo
field_homepage: https://primo.so
field_language: Svelte
field_license: AGPL-3.0-or-later
field_templates: Svelte
field_description: An all-in-one static site builder
data:
{"title": "Primo", "repo": "primo-af/primo", "homepage": "https://primo.so", "language": ["Svelte"], "license": ["AGPL-3.0-or-later"], "templates": ["Svelte"], "description": "An all-in-one static site builder", "twitter": "primo_af", "body": "Primo is a new approach to web development that combines everything you need to develop, manage, and publish websites. It includes an IDE, a multi-language CMS, a component library, a static site generator, and publishes directly to Netlify. \n\n## Why Primo\nTraditional site-builders like Wix and Squarespace make content management easier, but at the expense of the customization, functionality, and site performance expected by Developers. Modern frontend frameworks and static site generators give developers superpowers, but at the expense of increased setup time and poor content management. Primo combines the quick setup and easy content management of a site builder with the performance and freedom of a framework, making it possible for developers of any level and background to publish fast-loading, mobile-optimized, customizable websites.\n\n## How it works\nPrimo's an all-in-one application - combining a development environment with an internationalized content management system with a component library with a static site generator that publishes directly to your favorite web host*. Primo pages are built one section at a time, and sections can contain either WISIWYG content written directly on the page or components. Primo gives you a set of components to use out of the box - you can use them as-is or edit their code directly from Primo. Although Primo components appear on the surface to be written with basic HTML, CSS, and JavaScript, they're actually written in Svelte: a compiled language which builds on the fundamental web languages while enabling templating, style encapsulation, and reactivity, among other things. Component fields can be added from the component editor and integrated with Svelte's templating tags. To publish the site, a web host can be connected using an API token, and after a click Primo creates and uploads the site bundle to your chosen host. Each page of the site is made of static HTML and CSS, and any necessary JS gets downloaded as a module after the page loads and hydrates its respective component.\n\n## How to install\nPrimo is available for download on Windows, Mac, and Linux from [primo.so](https://primo.so)."}

field_body:
Primo is a new approach to web development that combines everything you need to develop, manage, and publish websites. It includes an IDE, a multi-language CMS, a component library, a static site generator, and publishes directly to Netlify. 

## Why Primo
Traditional site-builders like Wix and Squarespace make content management easier, but at the expense of the customization, functionality, and site performance expected by Developers. Modern frontend frameworks and static site generators give developers superpowers, but at the expense of increased setup time and poor content management. Primo combines the quick setup and easy content management of a site builder with the performance and freedom of a framework, making it possible for developers of any level and background to publish fast-loading, mobile-optimized, customizable websites.

## How it works
Primo's an all-in-one application - combining a development environment with an internationalized content management system with a component library with a static site generator that publishes directly to your favorite web host*. Primo pages are built one section at a time, and sections can contain either WISIWYG content written directly on the page or components. Primo gives you a set of components to use out of the box - you can use them as-is or edit their code directly from Primo. Although Primo components appear on the surface to be written with basic HTML, CSS, and JavaScript, they're actually written in Svelte: a compiled language which builds on the fundamental web languages while enabling templating, style encapsulation, and reactivity, among other things. Component fields can be added from the component editor and integrated with Svelte's templating tags. To publish the site, a web host can be connected using an API token, and after a click Primo creates and uploads the site bundle to your chosen host. Each page of the site is made of static HTML and CSS, and any necessary JS gets downloaded as a module after the page loads and hydrates its respective component.

## How to install
Primo is available for download on Windows, Mac, and Linux from [primo.so](https://primo.so).


id: lektor
git_filename: src/site/generators/lektor.md
format: md
field_title: Lektor
field_repo: lektor/lektor
field_homepage: https://www.getlektor.com/
field_language: Python
field_license: BSD-3-Clause
field_templates: Jinja2
field_description: A static content management system that can deploy to any webserver.
data:
{"title": "Lektor", "repo": "lektor/lektor", "homepage": "https://www.getlektor.com/", "language": ["Python"], "license": ["BSD-3-Clause"], "templates": ["Jinja2"], "description": "A static content management system that can deploy to any webserver.", "twitter": "getlektor", "body": "Lektor is a static content management system that runs offline, written in Python.\n\n- **Deploy Anywhere** Because Lektor builds out 100% static HTML you can deploy\n  them to any host (including S3, github pages, any web host, etc.).\n- **Cross Platform** It runs on Linux, OSX and Windows.\n- **100% File Based** All source data is well structured and can be tracked in\n  a version control system or cloud storage like Dropbox.\n- **Flat-File Database** All source data is stored in a flat-file tree database\n  and can be freely queried. The layout of that data is completely configurable.\n- **Customizable Admin** Lektor comes fully equipped with a flexible and\n  beautiful admin interface so you can edit your pages without having to touch\n  the raw sources.\n- **Dependency Tracking** The build process intelligently tracks page\n  dependencies such that it only rebuilds pages that have changed.\n- **Image Tools** Create thumbnails and give convenient access to EXIF data.\n- **Plugin System** Lektor supports loading plugins that can customize a wide\n  range of functionality.\n- **Python API** The build system is written in Python and provides a\n  documented API to extend it and integrate into other apps.\n- **Multilingual** We can speak multiple languages and allow you to easily\n  create localized websites."}

field_body:
Lektor is a static content management system that runs offline, written in Python.

- **Deploy Anywhere** Because Lektor builds out 100% static HTML you can deploy
  them to any host (including S3, github pages, any web host, etc.).
- **Cross Platform** It runs on Linux, OSX and Windows.
- **100% File Based** All source data is well structured and can be tracked in
  a version control system or cloud storage like Dropbox.
- **Flat-File Database** All source data is stored in a flat-file tree database
  and can be freely queried. The layout of that data is completely configurable.
- **Customizable Admin** Lektor comes fully equipped with a flexible and
  beautiful admin interface so you can edit your pages without having to touch
  the raw sources.
- **Dependency Tracking** The build process intelligently tracks page
  dependencies such that it only rebuilds pages that have changed.
- **Image Tools** Create thumbnails and give convenient access to EXIF data.
- **Plugin System** Lektor supports loading plugins that can customize a wide
  range of functionality.
- **Python API** The build system is written in Python and provides a
  documented API to extend it and integrate into other apps.
- **Multilingual** We can speak multiple languages and allow you to easily
  create localized websites.


id: staticstuff
git_filename: src/site/generators/staticstuff.md
format: md
field_title: ARFR
field_repo: javimosch/staticstuff
field_homepage: https://github.com/javimosch/arfr
field_language: JavaScript
field_license: Apache-2.0
field_templates: Handlebars
field_description: Generates simple static web content blazing fast using handlebars templates.
data:
{"title": "ARFR", "repo": "javimosch/staticstuff", "homepage": "https://github.com/javimosch/arfr", "language": ["JavaScript"], "license": ["Apache-2.0"], "templates": ["Handlebars"], "description": "Generates simple static web content blazing fast using handlebars templates.", "body": "## ARFR\n\nARFR let you develop static web sites faster.\n\n### Features\n\n- Watch and Compiles a folder tree recursively preserving the structure using handlebars.\n- Handlebars support\n- ftp deploy\n- live preview sync (firebase)\n\n### How it works\n\n- Compiles in memory handlebars partials files from partials folder. (Use the partial with name of the file without ext. Ex: partials/myproject1/sections/prj1-head.html becomes {{> prj1-head}} )\n\n- Copy (compiles) handlebars files from templates folder. (preserves the folder structure). Ex: If you have templates/index.html and templates/aboutus/index.html (both using handlebars syntax), the output will be the same, it only compiles the content.\n\n- Handlebars compilation errors do not break the node proccess.\n\n- Copies css from css folder to the output folder slash css. (preserves structure)\n\n- Custom json or js handlebars data load for using as context.\n\n- Every time a watch (on scripts, styles and templates) emits a build success event, a signal is sent to a firebase database. If your has the firebase reloading snippet (a handlebars partial), your browser will reload automatically."}

field_body:
## ARFR

ARFR let you develop static web sites faster.

### Features

- Watch and Compiles a folder tree recursively preserving the structure using handlebars.
- Handlebars support
- ftp deploy
- live preview sync (firebase)

### How it works

- Compiles in memory handlebars partials files from partials folder. (Use the partial with name of the file without ext. Ex: partials/myproject1/sections/prj1-head.html becomes {{> prj1-head}} )

- Copy (compiles) handlebars files from templates folder. (preserves the folder structure). Ex: If you have templates/index.html and templates/aboutus/index.html (both using handlebars syntax), the output will be the same, it only compiles the content.

- Handlebars compilation errors do not break the node proccess.

- Copies css from css folder to the output folder slash css. (preserves structure)

- Custom json or js handlebars data load for using as context.

- Every time a watch (on scripts, styles and templates) emits a build success event, a signal is sent to a firebase database. If your has the firebase reloading snippet (a handlebars partial), your browser will reload automatically.


id: static-site-express
git_filename: src/site/generators/static-site-express.md
format: md
field_title: static-site-express
field_repo: SalsaBoy990/static-site-express
field_homepage: https://github.com/SalsaBoy990/static-site-express
field_language: JavaScript
field_license: MIT
field_templates: EJS
field_description: A simple Node.js based static site generator that uses EJS and Markdown.
field_startertemplaterepo: https://github.com/SalsaBoy990/static-site-express
data:
{"title": "static-site-express", "repo": "SalsaBoy990/static-site-express", "homepage": "https://github.com/SalsaBoy990/static-site-express", "language": ["JavaScript"], "license": ["MIT"], "templates": ["EJS"], "description": "A simple Node.js based static site generator that uses EJS and Markdown.", "startertemplaterepo": "https://github.com/SalsaBoy990/static-site-express", "body": "static-site-express is a simple Node.js based static site generator that uses EJS and Markdown. I created a complete [website/blog](https://static-site-express.netlify.com/) that you can easily and quickly customise, and publish it on Netlify."}

field_body:
static-site-express is a simple Node.js based static site generator that uses EJS and Markdown. I created a complete [website/blog](https://static-site-express.netlify.com/) that you can easily and quickly customise, and publish it on Netlify.


id: ruhoh
git_filename: src/site/generators/ruhoh.md
format: md
field_title: Ruhoh
field_repo: ruhoh/ruhoh.rb
field_homepage: http://ruhoh.com/
field_language: Ruby
field_license: MIT
field_templates: Mustache
field_description: The Universal Static Blog API.
data:
{"title": "Ruhoh", "repo": "ruhoh/ruhoh.rb", "homepage": "http://ruhoh.com/", "language": ["Ruby"], "license": ["MIT"], "templates": ["Mustache"], "description": "The Universal Static Blog API.", "body": "Ruhoh is a static site generator made for publishing content on the Internet. It's similar to jekyll, nanoc, and others.\n\nA static site is a website with no moving parts: no dependencies, no database, no code execution, no admin panel. This is different from a \"web application\" which requires many layers of software.\n\nCreating a static site in ruhoh is done by creating standard HTML, CSS, and javascript files on your local computer as you would normally. Ruhoh does magic based on the way you organize your files and settings. Ruhoh offers baked-in automation, templating, and bindings for powerful features but you don't have to know or touch the underlying programming logic if you don't want to.\n\nPublish anywhere by \"compiling\" your website and hosting the contents on nearly any web-host on the planet. Ruhoh also supports automatic hosting so you don't have to worry about finding or setting up a web-host."}

field_body:
Ruhoh is a static site generator made for publishing content on the Internet. It's similar to jekyll, nanoc, and others.

A static site is a website with no moving parts: no dependencies, no database, no code execution, no admin panel. This is different from a "web application" which requires many layers of software.

Creating a static site in ruhoh is done by creating standard HTML, CSS, and javascript files on your local computer as you would normally. Ruhoh does magic based on the way you organize your files and settings. Ruhoh offers baked-in automation, templating, and bindings for powerful features but you don't have to know or touch the underlying programming logic if you don't want to.

Publish anywhere by "compiling" your website and hosting the contents on nearly any web-host on the planet. Ruhoh also supports automatic hosting so you don't have to worry about finding or setting up a web-host.


id: abell
git_filename: src/site/generators/abell.md
format: md
field_title: Abell
field_repo: abelljs/abell
field_homepage: https://abelljs.org
field_language: JavaScript
field_license: MIT
field_templates: Abell
field_description: A Low Level, Framework Agnostic, Vite powered Static Site Generator for JavaScript Developers
field_startertemplaterepo: https://github.com/abelljs/abell-starter-minima
data:
{"title": "Abell", "repo": "abelljs/abell", "homepage": "https://abelljs.org", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Abell"], "description": "A Low Level, Framework Agnostic, Vite powered Static Site Generator for JavaScript Developers", "twitter": "AbellLand", "startertemplaterepo": "https://github.com/abelljs/abell-starter-minima", "body": "Abell is a low-level static-site-generator built on top of Vite to give high flexibility while keeping the setup closer to vanilla HTML, CSS, JS\n\n### Installation\n\nYou can boilerplate a starter template using `create-abell`\n\n```sh\nnpx create-abell my-blog --template abelljs/abell-starter-minima\n\ncd my-blog\n\nnpm run dev\n```\n\nAnd tada \ud83c\udf89 You will have a live server running.\n\n\n### Hello World in Abell\n\nWith Abell, you can write JavaScript inside HTML. This gets executed on build time.\n\n**Input:**\n```html\n{{\n  /** @declaration */\n  const greet = 'Hello, World!';\n}}\n<html>\n  <body>{{ greet.toUpperCase() }}</body>\n</html>\n```\n\n**Output:**\n```html\n<html>\n  <body>HELLO, WORLD!</body>\n</html>\n```\n\n\nCheck out https://abelljs.org for detailed documentation."}

field_body:
Abell is a low-level static-site-generator built on top of Vite to give high flexibility while keeping the setup closer to vanilla HTML, CSS, JS

### Installation

You can boilerplate a starter template using `create-abell`

```sh
npx create-abell my-blog --template abelljs/abell-starter-minima

cd my-blog

npm run dev
```

And tada 🎉 You will have a live server running.


### Hello World in Abell

With Abell, you can write JavaScript inside HTML. This gets executed on build time.

**Input:**
```html
{{
  /** @declaration */
  const greet = 'Hello, World!';
}}
<html>
  <body>{{ greet.toUpperCase() }}</body>
</html>
```

**Output:**
```html
<html>
  <body>HELLO, WORLD!</body>
</html>
```


Check out https://abelljs.org for detailed documentation.


id: polo
git_filename: src/site/generators/polo.md
format: md
field_title: Polo
field_repo: agonzalezro/polo
field_homepage: https://github.com/agonzalezro/polo#just-markdown
field_language: Go
field_license: MIT
field_templates: Go
field_description: Static site generator written in Go and "compatible" with Jekyll & Pelican content
data:
{"title": "Polo", "repo": "agonzalezro/polo", "homepage": "https://github.com/agonzalezro/polo#just-markdown", "language": ["Go"], "license": ["MIT"], "templates": ["Go"], "description": "Static site generator written in Go and \"compatible\" with Jekyll & Pelican content", "body": "polo is a static blog rendering tool created with Golang.\n\nI'm happily using it on my blog: http://agonzalezro.github.io, which means that\nworks fine :)\n\nYes, I know that there a lot of them out there but I just want mine to learn a\nlittle bit of Go coding.\n\n### Key features\n\n- Markdown support with Metadata parsing compatible with Jekyll, Pelican & others\n- Embedded daemon with autoregeneration of the htmls in case of any change on\n  the input files.\n- Archive, tags, RSS & pages support\n- Disqus comments\n- Google Analytics support with just a change on the settings\n- Share this support as well\n- Cool & easy way to re-template it, check\n  [the documentation](https://github.com/agonzalezro/polo#templating) or\n  [my blog post about it](http://agonzalezro.github.io/polo-supports-theming-now.html)\n- Quick!\n\n### Quickstart\n\n1. Download your version from\n   [Gobuild](http://gobuild.io/github.com/agonzalezro/polo)\n2. Get a JSON config\n   [from here](https://github.com/agonzalezro/polo/blob/master/config.json)\n3. Run\n   `polo -config [path_to_your_conf] [your_folder_with_mds] [your_output_path]`\n\nIf the config is called `config.json` and it's on your current directory, you\ndon't even need to specify it.\n\n### One more thing\n\nYou can run polo with the `-daemon` option which will start a server serving\nyour generated content and in case that you change any of the files in the\ninput folder it's going to autoregenerate the site."}

field_body:
polo is a static blog rendering tool created with Golang.

I'm happily using it on my blog: http://agonzalezro.github.io, which means that
works fine :)

Yes, I know that there a lot of them out there but I just want mine to learn a
little bit of Go coding.

### Key features

- Markdown support with Metadata parsing compatible with Jekyll, Pelican & others
- Embedded daemon with autoregeneration of the htmls in case of any change on
  the input files.
- Archive, tags, RSS & pages support
- Disqus comments
- Google Analytics support with just a change on the settings
- Share this support as well
- Cool & easy way to re-template it, check
  [the documentation](https://github.com/agonzalezro/polo#templating) or
  [my blog post about it](http://agonzalezro.github.io/polo-supports-theming-now.html)
- Quick!

### Quickstart

1. Download your version from
   [Gobuild](http://gobuild.io/github.com/agonzalezro/polo)
2. Get a JSON config
   [from here](https://github.com/agonzalezro/polo/blob/master/config.json)
3. Run
   `polo -config [path_to_your_conf] [your_folder_with_mds] [your_output_path]`

If the config is called `config.json` and it's on your current directory, you
don't even need to specify it.

### One more thing

You can run polo with the `-daemon` option which will start a server serving
your generated content and in case that you change any of the files in the
input folder it's going to autoregenerate the site.


id: tome
git_filename: src/site/generators/tome.md
format: md
field_title: Tome
field_repo: drupal-tome/tome-project
field_homepage: https://tome.fyi
field_language: PHP
field_license: MIT
field_templates: Twig
field_description: A static site generator lovingly crafted with Drupal 8.
field_startertemplaterepo: https://github.com/drupal-tome/netlify-template
data:
{"title": "Tome", "repo": "drupal-tome/tome-project", "homepage": "https://tome.fyi", "language": ["PHP"], "license": ["MIT"], "templates": ["Twig"], "description": "A static site generator lovingly crafted with Drupal 8.", "startertemplaterepo": "https://github.com/drupal-tome/netlify-template", "body": "Tome is a static site generator built in Drupal 8. If you're a fan of Drupal,\nor are interested in working with structured content instead of flat Markdown\nfiles, you should try Tome!\n\n### Features\n\n- Take advantage of a mature content management system to build static sites.\n- Re-use structured JSON exports in other static site generators like\n  [GatsbyJS](https://github.com/drupal-tome/tome-gatsby).\n- Use Drupal without security or performance concerns.\n- Choose from a large library of Drupal 8 themes and modules.\n- Join one of the largest open source communities in the world and use Drupal\n  in a new, fun way!"}

field_body:
Tome is a static site generator built in Drupal 8. If you're a fan of Drupal,
or are interested in working with structured content instead of flat Markdown
files, you should try Tome!

### Features

- Take advantage of a mature content management system to build static sites.
- Re-use structured JSON exports in other static site generators like
  [GatsbyJS](https://github.com/drupal-tome/tome-gatsby).
- Use Drupal without security or performance concerns.
- Choose from a large library of Drupal 8 themes and modules.
- Join one of the largest open source communities in the world and use Drupal
  in a new, fun way!


id: bloggrify
git_filename: src/site/generators/bloggrify.md
format: md
field_title: Bloggrify
field_repo: hlassiege/bloggrify
field_homepage: https://bloggrify.com
field_language: TypeScript
field_license: MIT
field_templates: Markdown
field_description: A static blog generator built on top of Nuxt-content
data:
{"title": "Bloggrify", "repo": "hlassiege/bloggrify", "homepage": "https://bloggrify.com", "language": ["TypeScript"], "license": ["MIT"], "templates": ["Markdown"], "description": "A static blog generator built on top of Nuxt-content", "body": "Bloggrify is built on top of \n* Nuxt.js \n* Tailwind CSS\n* Nuxt-Content \n* and other cool stuff (Hyvor Talk, mailerlite, etc...)\n\nIt is a static blog generator that uses markdown files to generate blog posts.\n\n### Features\n\n- Flexible file structure\n- Extended Markdown\n- RSS feed\n- Comment system\n- 100/100 pagespeed results\n- SEO best practices + sitemap generation\n- Templating system"}

field_body:
Bloggrify is built on top of 
* Nuxt.js 
* Tailwind CSS
* Nuxt-Content 
* and other cool stuff (Hyvor Talk, mailerlite, etc...)

It is a static blog generator that uses markdown files to generate blog posts.

### Features

- Flexible file structure
- Extended Markdown
- RSS feed
- Comment system
- 100/100 pagespeed results
- SEO best practices + sitemap generation
- Templating system


id: scribing
git_filename: src/site/generators/scribing.md
format: md
field_title: Scribing
field_repo: elazar/scribing
field_homepage: https://github.com/elazar/scribing
field_language: PHP
field_license: MIT
field_templates: Plates
field_description: Scribing is a static site generator written in PHP
data:
{"title": "Scribing", "repo": "elazar/scribing", "homepage": "https://github.com/elazar/scribing", "language": ["PHP"], "license": ["MIT"], "templates": ["Plates"], "description": "Scribing is a static site generator written in PHP", "body": "Scribing is a static site generator written in PHP that favors convention over configuration and is designed for blogs and other simple sites. It converts CommonMark content and Plates templates into a static HTML site that can be easily deployed.\n\n### Why Scribing?\n\nSimple well-documented PHP static site generator. Fast and easy to get a simple static blog or other site built with content written in Markdown.\n\nSupports installation and updates using Composer.\n\n[Plates](http://platesphp.com/) templates. Plates is a full-featured modern PHP template engine inspired by Twig that is simple to learn, well-documented, flexible, and extensible."}

field_body:
Scribing is a static site generator written in PHP that favors convention over configuration and is designed for blogs and other simple sites. It converts CommonMark content and Plates templates into a static HTML site that can be easily deployed.

### Why Scribing?

Simple well-documented PHP static site generator. Fast and easy to get a simple static blog or other site built with content written in Markdown.

Supports installation and updates using Composer.

[Plates](http://platesphp.com/) templates. Plates is a full-featured modern PHP template engine inspired by Twig that is simple to learn, well-documented, flexible, and extensible.


id: stitcher
git_filename: src/site/generators/stitcher.md
format: md
field_title: Stitcher
field_repo: pageon/stitcher-core
field_homepage: https://github.com/pageon/stitcher-core
field_language: PHP
field_license: MIT
field_templates: Twig, Smarty
field_description: Static websites for PHP developers
data:
{"title": "Stitcher", "repo": "pageon/stitcher-core", "homepage": "https://github.com/pageon/stitcher-core", "language": ["PHP"], "license": ["MIT"], "templates": ["Twig", "Smarty"], "description": "Static websites for PHP developers", "body": "Stitcher is a **PHP tool** for **developers** to create **high performant websites**. At its core, Stitcher is a\n**static site generator** capable to work with popular **template engines**, and many data formats like\n**MarkDown, YAML, JSON** and more.\n\nBesides generating static sites, Stitcher has built-in support for **minification**, **image optimisation**,\nand **CSS precompiling**.\n\nIt supports more advanced features than normal web pages, like **overview** and **detail** pages and **pagination**.\nIn the near future, Stitcher will also be able to handle **filtering** and **form submissions**."}

field_body:
Stitcher is a **PHP tool** for **developers** to create **high performant websites**. At its core, Stitcher is a
**static site generator** capable to work with popular **template engines**, and many data formats like
**MarkDown, YAML, JSON** and more.

Besides generating static sites, Stitcher has built-in support for **minification**, **image optimisation**,
and **CSS precompiling**.

It supports more advanced features than normal web pages, like **overview** and **detail** pages and **pagination**.
In the near future, Stitcher will also be able to handle **filtering** and **form submissions**.


id: tumblelog-pl
git_filename: src/site/generators/tumblelog-pl.md
format: md
field_title: tumblelog
field_repo: john-bokma/tumblelog
field_homepage: http://johnbokma.com/articles/tumblelog/
field_language: Perl
field_license: MIT
field_templates: HTML
field_description: Simple static site generator with the focus on a tumbleblog
data:
{"title": "tumblelog", "repo": "john-bokma/tumblelog", "homepage": "http://johnbokma.com/articles/tumblelog/", "language": ["Perl"], "license": ["MIT"], "templates": ["HTML"], "description": "Simple static site generator with the focus on a tumbleblog", "body": "`tumblelog` is a simple static site generator with the focus on generating a\nrich and complete tumblelog or micro blog with various ways to navigate to\narchived blog posts. `tumblelog` comes with several styles and it's easy to\neither modify an existing one or create your own.\n\nThe input is a single \"Markdown\" file divided into pages by starting a line with\na date followed by a title. Each date page can further be split up into multiple\narticles using a single % on a line by itself.\n\nParameters to control the blog are given via command line arguments. The program\ncreates the blog HTML5 pages and both a JSON and RSS feed.\n\nThe home page has extensive documentation on how to get started and how to have\nyour own blog or site up in a very short time."}

field_body:
`tumblelog` is a simple static site generator with the focus on generating a
rich and complete tumblelog or micro blog with various ways to navigate to
archived blog posts. `tumblelog` comes with several styles and it's easy to
either modify an existing one or create your own.

The input is a single "Markdown" file divided into pages by starting a line with
a date followed by a title. Each date page can further be split up into multiple
articles using a single % on a line by itself.

Parameters to control the blog are given via command line arguments. The program
creates the blog HTML5 pages and both a JSON and RSS feed.

The home page has extensive documentation on how to get started and how to have
your own blog or site up in a very short time.


id: spignite
git_filename: src/site/generators/spignite.md
format: md
field_title: Spignite
field_repo: igr/spig
field_homepage: https://www.spignite.com/
field_language: JavaScript
field_license: BSD-2-Clause
field_templates: Nunjucks
field_description: Lightweight static website generator: low-ceremony files processor with proven javascript tools
data:
{"title": "Spignite", "repo": "igr/spig", "homepage": "https://www.spignite.com/", "language": ["JavaScript"], "license": ["BSD-2-Clause"], "templates": ["Nunjucks"], "description": "Lightweight static website generator: low-ceremony files processor with proven javascript tools", "body": "**Spignite** works in Javascript; and uses existing, mature, libraries. In a nutshell, **Spignite** is a generic _file processor_, applied to a special case of building web sites. Simple file processing is the core concept **Spignite** is built upon.\n\nAll this makes **Spignite** easy to use and extend (it's all just Javascript after all) and - quite fast.\n\nWorks with HTML, Markdown, Nunjucks, Pug, SASS... And yes, you will probably need to use some JavaScript code :)\n\nNothing more, nothing less."}

field_body:
**Spignite** works in Javascript; and uses existing, mature, libraries. In a nutshell, **Spignite** is a generic _file processor_, applied to a special case of building web sites. Simple file processing is the core concept **Spignite** is built upon.

All this makes **Spignite** easy to use and extend (it's all just Javascript after all) and - quite fast.

Works with HTML, Markdown, Nunjucks, Pug, SASS... And yes, you will probably need to use some JavaScript code :)

Nothing more, nothing less.


id: antwar
git_filename: src/site/generators/antwar.md
format: md
field_title: Antwar
field_repo: antwarjs/antwar
field_homepage: https://antwar.js.org/
field_language: JavaScript
field_license: MIT
field_templates: React
field_description: A static site generator using React and webpack.
data:
{"title": "Antwar", "repo": "antwarjs/antwar", "homepage": "https://antwar.js.org/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["React"], "description": "A static site generator using React and webpack.", "body": "#### What?\n\nAntwar is a blog aware static site engine built with React and Webpack. It's fast, extensible and friendly.\n\n#### Why?\n\nThe world needed a site engine that was easy to extend and a pleasure to work with."}

field_body:
#### What?

Antwar is a blog aware static site engine built with React and Webpack. It's fast, extensible and friendly.

#### Why?

The world needed a site engine that was easy to extend and a pleasure to work with.


id: hexo
git_filename: src/site/generators/hexo.md
format: md
field_title: Hexo
field_repo: hexojs/hexo
field_homepage: https://hexo.io/
field_language: JavaScript
field_license: MIT
field_templates: EJS, Pug, Haml, Swig, Nunjucks, Mustache, Handlebars, Marko
field_description: Hexo is a fast, simple and powerful blog framework.
field_startertemplaterepo: https://github.com/hexojs/hexo-starter
data:
{"title": "Hexo", "repo": "hexojs/hexo", "homepage": "https://hexo.io/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["EJS", "Pug", "Haml", "Swig", "Nunjucks", "Mustache", "Handlebars", "Marko"], "description": "Hexo is a fast, simple and powerful blog framework.", "twitter": "hexojs", "startertemplaterepo": "https://github.com/hexojs/hexo-starter", "body": "A fast, simple & powerful blog framework, powered by [Node.js](https://nodejs.org) and [NPM](https://www.npmjs.com/).\n\n- [Hexo Official website](https://hexo.io/)\n- [Themes](https://hexo.io/themes)\n- [Plugins](https://hexo.io/plugins)\n- [Deploy to Netlify \u2b50\ufe0f](https://hexo.io/docs/one-command-deployment#Netlify)\n- [Deploy anywhere](https://hexo.io/docs/one-command-deployment)\n- [Docs](https://hexo.io/docs/)\n- [Plugin API](https://hexo.io/api/)\n\nWe want to solve issues **fast**! [Please contribute](https://github.com/hexojs/hexo/issues) by answering questions or providing peer review on PRs! Thank you \ud83e\udd17\n\n**Blazing Fast**\n\nHexo is powered by Node.js and supports multi-thread generating. Hundreds of files take only seconds to generate.\n\n**Easy Writing**\n\nHexo supports GitHub Flavored Markdown and all Octopress plugins and highly Jekyll/Octopress compatible.\n\n**Extensibility**\n\nHexo supports most of the popular template languages and CSS preprocessors. You can install [plugins](https://hexo.io/plugins) for Haml, Pug, Less, Stylus, Sass, AsciiDoc, or anything. The community is writing new plugins every day."}

field_body:
A fast, simple & powerful blog framework, powered by [Node.js](https://nodejs.org) and [NPM](https://www.npmjs.com/).

- [Hexo Official website](https://hexo.io/)
- [Themes](https://hexo.io/themes)
- [Plugins](https://hexo.io/plugins)
- [Deploy to Netlify ⭐️](https://hexo.io/docs/one-command-deployment#Netlify)
- [Deploy anywhere](https://hexo.io/docs/one-command-deployment)
- [Docs](https://hexo.io/docs/)
- [Plugin API](https://hexo.io/api/)

We want to solve issues **fast**! [Please contribute](https://github.com/hexojs/hexo/issues) by answering questions or providing peer review on PRs! Thank you 🤗

**Blazing Fast**

Hexo is powered by Node.js and supports multi-thread generating. Hundreds of files take only seconds to generate.

**Easy Writing**

Hexo supports GitHub Flavored Markdown and all Octopress plugins and highly Jekyll/Octopress compatible.

**Extensibility**

Hexo supports most of the popular template languages and CSS preprocessors. You can install [plugins](https://hexo.io/plugins) for Haml, Pug, Less, Stylus, Sass, AsciiDoc, or anything. The community is writing new plugins every day.


id: enfield
git_filename: src/site/generators/enfield.md
format: md
field_title: Enfield
field_repo: fortes/enfield
field_homepage: https://github.com/fortes/enfield
field_language: CoffeeScript
field_license: MIT
field_templates: Liquid
field_description: Node.js Jekyll Port
data:
{"title": "Enfield", "repo": "fortes/enfield", "homepage": "https://github.com/fortes/enfield", "language": ["CoffeeScript"], "license": ["MIT"], "templates": ["Liquid"], "description": "Node.js Jekyll Port", "body": "Jekyll-like static site generator for node.js that aims to be as compatible as possible with [Jekyll](https://github.com/jekyll/jekyll).\n\n## Features\n\nCore functionality is identical to Jekyll:\n\n- Blog aware static site generator\n- Compatible with the Jekyll directory and file structure\n- Use Markdown for posts\n- Code highlighting via Pygments or Highlight.js\n- Layouts written using Liquid template engine\n- Server / Auto-regenerate\n- Extension-less page URLs (i.e. `/example/` from `/example.html` via `pretty_urls` configuration variable)\n\nThere are a few bonus features not present in the default install of Jekyll:\n\n- Jekyll-like plugin model, with CoffeeScript/JS instead of Ruby\n- Use Markdown within includes\n- Compile and minify CoffeeScript & LESS\n- Support post and page URL aliases via redirects\n\nFinally, there are a few missing features:\n\n- Textile support\n- Importing tools"}

field_body:
Jekyll-like static site generator for node.js that aims to be as compatible as possible with [Jekyll](https://github.com/jekyll/jekyll).

## Features

Core functionality is identical to Jekyll:

- Blog aware static site generator
- Compatible with the Jekyll directory and file structure
- Use Markdown for posts
- Code highlighting via Pygments or Highlight.js
- Layouts written using Liquid template engine
- Server / Auto-regenerate
- Extension-less page URLs (i.e. `/example/` from `/example.html` via `pretty_urls` configuration variable)

There are a few bonus features not present in the default install of Jekyll:

- Jekyll-like plugin model, with CoffeeScript/JS instead of Ruby
- Use Markdown within includes
- Compile and minify CoffeeScript & LESS
- Support post and page URL aliases via redirects

Finally, there are a few missing features:

- Textile support
- Importing tools


id: engineer
git_filename: src/site/generators/engineer.md
format: md
field_title: Engineer
field_repo: tylerbutler/engineer
field_homepage: https://engineer.readthedocs.io/en/master/index.html
field_language: Python
field_license: MIT
field_templates: Jinja2
field_description: Featureless static website generator
data:
{"title": "Engineer", "repo": "tylerbutler/engineer", "homepage": "https://engineer.readthedocs.io/en/master/index.html", "language": ["Python"], "license": ["MIT"], "templates": ["Jinja2"], "description": "Featureless static website generator", "body": "## Overview\n\nAt its core, Engineer is a static website generator. In other words, Engineer let\u2019s you build a website from a bunch of files - articles written in Markdown, templates, and other stuff - and outputs another bunch of files - HTML, mostly - that you can then copy wherever you want.\n\nEngineer was inspired by Brent Simmons, Marco Arment\u2019s Second Crack, Jekyll, Octopress, and Hyde.\n\n## Features\n\n- Write posts from anywhere\n    - Posts can be written/edited in Markdown and stored/synchronized using Dropbox or another file synchronization solution.\n- Preview your site locally\n    - Engineer includes a small development web server that you can use to preview your site locally without deploying anywhere.\n- Manage your site remotely\n    - Even baked sites need a little management, and many existing static generators require you to load up the terminal and execute a command to rebuild your site. Engineer lets you do that of course, but also provides Emma, a built-in mini management site (optional) that lets you do most of the common management tasks remotely.\n- Themes make it easy to change your site\u2019s appearance\n    - Themes provide flexibility in the site look and feel without starting from scratch or rewriting a bunch of content. You can write your own Themes as well.\n- Use LESS instead of CSS\n    Engineer lets you use LESS instead of CSS if you\u2019d like. LESS can either be preprocessed on the server (requires that lessc be installed on non-Windows systems) or processed client-side using less.js.\n- It\u2019s fast\n    - Engineer outputs content quickly (and I\u2019m working to make it even faster), and because the output content is completely static, it is blazingly fast to serve, scales up very well, and is completely independent of any specific web server or technology. Once generated, you can copy your site anywhere and use any web server you like. In addition, Engineer can optimize your JavaScript and CSS/LESS to minimize their size. Engineer is all about speed.\n\n## Caveats\n\nDespite all of these great features, there are some things that you might not like:\n\n- Dynamic things require a bit more work\n    - Static sites can feel limited if you\u2019re accustomed to doing something super-dynamic every time a page is loaded. Most of these things can be handled using either client-side JavaScript (e.g. timeago.js) or clever uses of the Jinja 2 template system (see the navigation highlighting functionality in Engineer itself for an example of things that can be done).\n- Might not fit your site\u2019s needs\n    - If you have a lot of one-off pages (Template Pages or other such things) then managing them can get a bit cumbersome. Engineer really excels when a majority of your site\u2019s content has a similar look and feel and you can leverage the Metadata for a majority of your content. Engineer isn\u2019t limited to blogs, per se, but it does make some assumptions that most of your content comes in the form of articles.\n- Only supports Markdown and Jinja 2\n    - While ideally this will not always be true, currently Engineer requires your posts be written in Markdown and any templates you create be written in Jinja 2. This may change in the future, but for now you have to use those two languages.\n- Engineer is not a CMS\n    - If you\u2019re looking for a full-blown content management system, then... keep looking. Engineer is decidedly not what you want. Engineer operates on the basic principle that your content is stored in text files with minimal metadata in the files themselves, so if you\u2019re looking for rich URL management, image/file manipulation capabilities, etc., Engineer will make you very sad. It\u2019s not designed to do that stuff."}

field_body:
## Overview

At its core, Engineer is a static website generator. In other words, Engineer let’s you build a website from a bunch of files - articles written in Markdown, templates, and other stuff - and outputs another bunch of files - HTML, mostly - that you can then copy wherever you want.

Engineer was inspired by Brent Simmons, Marco Arment’s Second Crack, Jekyll, Octopress, and Hyde.

## Features

- Write posts from anywhere
    - Posts can be written/edited in Markdown and stored/synchronized using Dropbox or another file synchronization solution.
- Preview your site locally
    - Engineer includes a small development web server that you can use to preview your site locally without deploying anywhere.
- Manage your site remotely
    - Even baked sites need a little management, and many existing static generators require you to load up the terminal and execute a command to rebuild your site. Engineer lets you do that of course, but also provides Emma, a built-in mini management site (optional) that lets you do most of the common management tasks remotely.
- Themes make it easy to change your site’s appearance
    - Themes provide flexibility in the site look and feel without starting from scratch or rewriting a bunch of content. You can write your own Themes as well.
- Use LESS instead of CSS
    Engineer lets you use LESS instead of CSS if you’d like. LESS can either be preprocessed on the server (requires that lessc be installed on non-Windows systems) or processed client-side using less.js.
- It’s fast
    - Engineer outputs content quickly (and I’m working to make it even faster), and because the output content is completely static, it is blazingly fast to serve, scales up very well, and is completely independent of any specific web server or technology. Once generated, you can copy your site anywhere and use any web server you like. In addition, Engineer can optimize your JavaScript and CSS/LESS to minimize their size. Engineer is all about speed.

## Caveats

Despite all of these great features, there are some things that you might not like:

- Dynamic things require a bit more work
    - Static sites can feel limited if you’re accustomed to doing something super-dynamic every time a page is loaded. Most of these things can be handled using either client-side JavaScript (e.g. timeago.js) or clever uses of the Jinja 2 template system (see the navigation highlighting functionality in Engineer itself for an example of things that can be done).
- Might not fit your site’s needs
    - If you have a lot of one-off pages (Template Pages or other such things) then managing them can get a bit cumbersome. Engineer really excels when a majority of your site’s content has a similar look and feel and you can leverage the Metadata for a majority of your content. Engineer isn’t limited to blogs, per se, but it does make some assumptions that most of your content comes in the form of articles.
- Only supports Markdown and Jinja 2
    - While ideally this will not always be true, currently Engineer requires your posts be written in Markdown and any templates you create be written in Jinja 2. This may change in the future, but for now you have to use those two languages.
- Engineer is not a CMS
    - If you’re looking for a full-blown content management system, then... keep looking. Engineer is decidedly not what you want. Engineer operates on the basic principle that your content is stored in text files with minimal metadata in the files themselves, so if you’re looking for rich URL management, image/file manipulation capabilities, etc., Engineer will make you very sad. It’s not designed to do that stuff.


id: dapper
git_filename: src/site/generators/dapper.md
format: md
field_title: Dapper
field_repo: markdbenson/dapper
field_homepage: http://vanilladraft.com/dapper/
field_language: Perl
field_license: MIT
field_templates: TT3
field_description: Dapper is a simple, flexible, and pragmatic static site generator written in Perl.
data:
{"title": "Dapper", "repo": "markdbenson/dapper", "homepage": "http://vanilladraft.com/dapper/", "language": ["Perl"], "license": ["MIT"], "templates": ["TT3"], "description": "Dapper is a simple, flexible, and pragmatic static site generator written in Perl.", "body": "Dapper is a simple, flexible, and pragmatic static site generator written in Perl. Dapper takes your content (Markdown), combines with templates (based on the TT3 mini-language), and creates a set of static files that you can upload to your favorite webhost.\n\n### Introduction\n\n[Distributed as a Perl module](http://search.cpan.org/~mdb/App-Dapper/),\nDapper comes with a command-line application called `dapper` which you\ncan use to create static websites.\n\n    $ cpanm App::Dapper\n    $ dapper init\n    $ dapper serve # Serve site at http://localhost:8000\n\n### Goals\n\nDapper has three goals:\n\n1. **Simple**. Learning Dapper is easy -- it gets out of the way so you can\n   write content, develop layouts, and deploy to production the way you\n   want.\n\n2. **Flexible**. Content is written in\n   [Markdown](http://search.cpan.org/~bobtfish/Text-MultiMarkdown/), and\n   templates are written using the TT3 mini-language from\n   [Template::Alloy](http://search.cpan.org/~abw/Template-Toolkit/) for\n   maximum flexibility.\n\n3. **Pragmatic**. The easy things are easy and the hard things are\n   possible. Dapper was created to solve problems in a straight-forward\n   and intuitive way.\n\n### Rationale\n\nWhy static? Decent question. Here are some reasons:\n\n1. **Fast**. Static pages are fast to load and easy to cache. Content\n   management systems, on the other hand, may contact the database at\n   least one time per page request, process the results, merge with a\n   templating system, and serve the result to the user's web browser.\n\n2. **Cheap**. Having a static website means that options for hosting those\n   static files also just got a lot more simple. No database is needed and\n   no real processing power for scripting is needed. For example, with a\n   static website, it becomes possible to host the site on\n   [Github Pages](https://pages.github.com/),\n   [BitBalloon](https://www.bitballoon.com/), or\n   [Amazon S3](http://aws.amazon.com/s3/) for free or for very modest fees.\n\n3. **Secure**. It's much more secure to host a static website than a\n   dynamic one. Content management systems that use scripting languages\n   such as Perl, Python, or Ruby, all are more susceptible to being hacked\n   than a static website is. Simply stated, why use a dynamic content-\n   management system if a static setup will do?\n\n4. **Portable**. With a static website, it's way easier to move the site\n   to a new host in the future. All web hosts now and in the future\n   support serving up a static website -- think of it as the lowest common\n   denominator -- and so there's no need to pick a premium host with\n   premium services.\n\n### Background\n\nDapper was first written in 2002 to facilitate the creation of a series\nof static websites that each had their own look and feel, but shared\ncontent. Since then, Dapper has been used to create websites for speakers,\nartists, authors, illusionists, web designers, piano tuners,\nphotographers, entertainment agencies, and API documentation for\nindustrial sensing equipment. In addition, it is the tool that powers\n[Vanilla Draft](http://vanilladraft.com/).\n\nIn 2014, Dapper was submitted as a Perl module (App::Dapper) to\n[CPAN](http://cpan.org/) under the MIT license for anyone to use for any\npurpose.\n\n### Features\n\n- Written in perl, available as a command line utility after installing.\n- Content is written in Markdown.\n- Layouts are developed using TT3 from the Template::Alloy templating engine.\n- Configuration files and attributes are encoded with YAML.\n- URL mappings, plugins, filters, built-in development webserver, etc.\n\nFind more infomration at [Vanilla Draft](http://vanilladraft.com/dapper/) or on [Github](https://github.com/markdbenson/dapper)."}

field_body:
Dapper is a simple, flexible, and pragmatic static site generator written in Perl. Dapper takes your content (Markdown), combines with templates (based on the TT3 mini-language), and creates a set of static files that you can upload to your favorite webhost.

### Introduction

[Distributed as a Perl module](http://search.cpan.org/~mdb/App-Dapper/),
Dapper comes with a command-line application called `dapper` which you
can use to create static websites.

    $ cpanm App::Dapper
    $ dapper init
    $ dapper serve # Serve site at http://localhost:8000

### Goals

Dapper has three goals:

1. **Simple**. Learning Dapper is easy -- it gets out of the way so you can
   write content, develop layouts, and deploy to production the way you
   want.

2. **Flexible**. Content is written in
   [Markdown](http://search.cpan.org/~bobtfish/Text-MultiMarkdown/), and
   templates are written using the TT3 mini-language from
   [Template::Alloy](http://search.cpan.org/~abw/Template-Toolkit/) for
   maximum flexibility.

3. **Pragmatic**. The easy things are easy and the hard things are
   possible. Dapper was created to solve problems in a straight-forward
   and intuitive way.

### Rationale

Why static? Decent question. Here are some reasons:

1. **Fast**. Static pages are fast to load and easy to cache. Content
   management systems, on the other hand, may contact the database at
   least one time per page request, process the results, merge with a
   templating system, and serve the result to the user's web browser.

2. **Cheap**. Having a static website means that options for hosting those
   static files also just got a lot more simple. No database is needed and
   no real processing power for scripting is needed. For example, with a
   static website, it becomes possible to host the site on
   [Github Pages](https://pages.github.com/),
   [BitBalloon](https://www.bitballoon.com/), or
   [Amazon S3](http://aws.amazon.com/s3/) for free or for very modest fees.

3. **Secure**. It's much more secure to host a static website than a
   dynamic one. Content management systems that use scripting languages
   such as Perl, Python, or Ruby, all are more susceptible to being hacked
   than a static website is. Simply stated, why use a dynamic content-
   management system if a static setup will do?

4. **Portable**. With a static website, it's way easier to move the site
   to a new host in the future. All web hosts now and in the future
   support serving up a static website -- think of it as the lowest common
   denominator -- and so there's no need to pick a premium host with
   premium services.

### Background

Dapper was first written in 2002 to facilitate the creation of a series
of static websites that each had their own look and feel, but shared
content. Since then, Dapper has been used to create websites for speakers,
artists, authors, illusionists, web designers, piano tuners,
photographers, entertainment agencies, and API documentation for
industrial sensing equipment. In addition, it is the tool that powers
[Vanilla Draft](http://vanilladraft.com/).

In 2014, Dapper was submitted as a Perl module (App::Dapper) to
[CPAN](http://cpan.org/) under the MIT license for anyone to use for any
purpose.

### Features

- Written in perl, available as a command line utility after installing.
- Content is written in Markdown.
- Layouts are developed using TT3 from the Template::Alloy templating engine.
- Configuration files and attributes are encoded with YAML.
- URL mappings, plugins, filters, built-in development webserver, etc.

Find more infomration at [Vanilla Draft](http://vanilladraft.com/dapper/) or on [Github](https://github.com/markdbenson/dapper).


id: markbind
git_filename: src/site/generators/markbind.md
format: md
field_title: MarkBind
field_repo: MarkBind/markbind
field_homepage: https://markbind.org/
field_language: JavaScript
field_license: MIT
field_templates: Custom
field_description: Optimized for generating technical documentation and educational websites from Markdown text.
field_startertemplaterepo: https://github.com/MarkBind/init-typical-netlify
data:
{"title": "MarkBind", "repo": "MarkBind/markbind", "homepage": "https://markbind.org/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Custom"], "description": "Optimized for generating technical documentation and educational websites from Markdown text.", "startertemplaterepo": "https://github.com/MarkBind/init-typical-netlify", "body": "MarkBind is a website generator that can generate a website from markdown documents. While there are other markdown-to-html website generators around, MarkBind can generate more dynamic websites, as opposed to one-size-fits-all static content. MarkBind is particularly suitable to create content-heavy websites e.g., eLearning websites, online instruction manuals, project documentation etc. that aim for self-directed consumption.\n\n## Features\n\n- Support for Markdown and GitHub-Flavored Markdown\n- Ability to add additional layers of information as tooltips, pop-overs, modals\n- Ability to emphasize or de-emphasize content easily\n- Ability to allow readers reveal content progressively\n- Ability to reuse content easily\n\n## Examples\n\nExamples of websites built using MarkBind:\n\n- [CS2103 Software Engineering - course website](https://www.comp.nus.edu.sg/~cs2103)\n- [CS3281 Thematic Systems Project - course website](https://nus-cs3281.github.io/website/)\n- [TE3291 Software Engineering - course website](https://nus-te3201.github.io/website/)\n- [se-edu/se-book - An online text book on Software Engineering](https://se-edu.github.io/se-book/)"}

field_body:
MarkBind is a website generator that can generate a website from markdown documents. While there are other markdown-to-html website generators around, MarkBind can generate more dynamic websites, as opposed to one-size-fits-all static content. MarkBind is particularly suitable to create content-heavy websites e.g., eLearning websites, online instruction manuals, project documentation etc. that aim for self-directed consumption.

## Features

- Support for Markdown and GitHub-Flavored Markdown
- Ability to add additional layers of information as tooltips, pop-overs, modals
- Ability to emphasize or de-emphasize content easily
- Ability to allow readers reveal content progressively
- Ability to reuse content easily

## Examples

Examples of websites built using MarkBind:

- [CS2103 Software Engineering - course website](https://www.comp.nus.edu.sg/~cs2103)
- [CS3281 Thematic Systems Project - course website](https://nus-cs3281.github.io/website/)
- [TE3291 Software Engineering - course website](https://nus-te3201.github.io/website/)
- [se-edu/se-book - An online text book on Software Engineering](https://se-edu.github.io/se-book/)


id: skua
git_filename: src/site/generators/skua.md
format: md
field_title: Skua
field_repo: getskua/skua
field_homepage: https://skua.netlify.com
field_language: Python
field_license: BSD-3-Clause
field_templates: Jinja2
field_description: A configurable Pythonic static site generator.
field_startertemplaterepo: https://github.com/teymour-aldridge/skua-starter-project
data:
{"title": "Skua", "repo": "getskua/skua", "homepage": "https://skua.netlify.com", "language": ["Python"], "license": ["BSD-3-Clause"], "templates": ["Jinja2"], "description": "A configurable Pythonic static site generator.", "startertemplaterepo": "https://github.com/teymour-aldridge/skua-starter-project", "body": "Skua is a static site generator written in Python. Unlike many static site generators Skua doesn't offer a command-line interface \u2013\u00a0instead Skua projects are written using regular Python code which allows users to more easily customise their sites.\n\nSkua supports markdown out of the box. Other types of files can be easily used by making use of Python's rich ecosystem."}

field_body:
Skua is a static site generator written in Python. Unlike many static site generators Skua doesn't offer a command-line interface – instead Skua projects are written using regular Python code which allows users to more easily customise their sites.

Skua supports markdown out of the box. Other types of files can be easily used by making use of Python's rich ecosystem.


id: bowman
git_filename: src/site/generators/bowman.md
format: md
field_title: Bowman
field_repo: waldronmatt/bowman
field_homepage: https://waldronmatt.github.io/bowman/
field_language: JavaScript
field_license: MIT
field_templates: EJS
field_description: A simple static site generator with an integrated toolchain for efficient development and delivery.
data:
{"title": "Bowman", "repo": "waldronmatt/bowman", "homepage": "https://waldronmatt.github.io/bowman/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["EJS"], "description": "A simple static site generator with an integrated toolchain for efficient development and delivery.", "body": "Bowman is a simple static site generator powered by Node.js, Webpack, and Browsersync. Bowman comes with pre-configured scripts to bundle assets, generate markup, and hot-reload pages. Pages are generated using the J.E.N. technology core (JSON - data, EJS - templating, Node.js - markup generation).\n\n## Features\n\n- Recursively generates page markup\n- Recursively finds and outputs entry points\n- Hot reloading of pages and assets\n- Asset bundling, cache prevention, and code splitting support\n\n## Getting Started\n\nInstall globally:\n\n        npm i -g @waldronmatt/bowman\n\nCreate project:\n\n       create-bowman-starter -y\n        \nInstall dependencies:\n\n        npm install\n\nRun dev environment:\n\n        npm run dev\n\nBuild and serve for production:\n\n        npm run build"}

field_body:
Bowman is a simple static site generator powered by Node.js, Webpack, and Browsersync. Bowman comes with pre-configured scripts to bundle assets, generate markup, and hot-reload pages. Pages are generated using the J.E.N. technology core (JSON - data, EJS - templating, Node.js - markup generation).

## Features

- Recursively generates page markup
- Recursively finds and outputs entry points
- Hot reloading of pages and assets
- Asset bundling, cache prevention, and code splitting support

## Getting Started

Install globally:

        npm i -g @waldronmatt/bowman

Create project:

       create-bowman-starter -y
        
Install dependencies:

        npm install

Run dev environment:

        npm run dev

Build and serve for production:

        npm run build


id: eleventy
git_filename: src/site/generators/eleventy.md
format: md
field_title: Eleventy
field_repo: 11ty/eleventy
field_homepage: https://11ty.dev/
field_language: JavaScript
field_license: MIT
field_templates: Liquid, Nunjucks, Handlebars, Mustache, EJS, Haml, Pug, JavaScript, HTML, Markdown
field_description: A simpler static site generator
field_startertemplaterepo: https://github.com/netlify-templates/eleventy-blog-starter
data:
{"title": "Eleventy", "repo": "11ty/eleventy", "homepage": "https://11ty.dev/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Liquid", "Nunjucks", "Handlebars", "Mustache", "EJS", "Haml", "Pug", "JavaScript", "HTML", "Markdown"], "description": "A simpler static site generator", "startertemplaterepo": "https://github.com/netlify-templates/eleventy-blog-starter", "twitter": "eleven_ty", "body": "A simpler static site generator. An alternative to Jekyll. Written in JavaScript. Transforms a directory of templates (of varying types) into HTML.\n\nWorks with HTML, Markdown, JavaScript, Liquid, Nunjucks, Handlebars, Mustache, EJS, Haml, Pug, and JavaScript template literals."}

field_body:
A simpler static site generator. An alternative to Jekyll. Written in JavaScript. Transforms a directory of templates (of varying types) into HTML.

Works with HTML, Markdown, JavaScript, Liquid, Nunjucks, Handlebars, Mustache, EJS, Haml, Pug, and JavaScript template literals.


id: django-distill
git_filename: src/site/generators/django-distill.md
format: md
field_title: django-distill
field_repo: meeb/django-distill
field_homepage: https://github.com/meeb/django-distill
field_language: Python
field_license: MIT
field_templates: Django
field_description: django-distill lets you to create and publish a static website from any Django project.
data:
{"title": "django-distill", "repo": "meeb/django-distill", "homepage": "https://github.com/meeb/django-distill", "language": ["Python"], "license": ["MIT"], "templates": ["Django"], "description": "django-distill lets you to create and publish a static website from any Django project.", "body": "`django-distill` is a simple to implement static site generator for Django. It\nis fully compatible with all Django projects and works with existing complex\nDjango applications without interfering. It does not require modifications to\nexisting apps and only small per-URL functions need to be created.\n\n`django-distill` is designed to integrate with existing Django projects and does\nnot require learning any new framework or file structures to use.\n\nA fully working example of using `django-distill` with a Django blog is available here\n[https://github.com/meeb/django-distill-example](https://github.com/meeb/django-distill-example)\n\n### Features\n\n- Full compatibility with all Django projects\n- No overhead when added to existing projects\n- Trivial to add to existing Django sites\n- Easy to integrate into CI/CD processes\n- Uses the standard Django project structure and does not require learning a new sub-framework\n- Can generate static pages for all or just part of your project\n- Full support for publishing to S3, Google Cloud Storage and Rackspace Cloud Files with remote checks\n- Validation of remote containers on S3, Google Cloud Storage and Rackspace Cloud Files\n- Generation is identical to the output of existing dynamic Django content\n- Simple to implement and debug\n- Only modification required is to `urls.py` and `settings.py`\n- Static pages can be generated for third party applications\n- Support for all page and file types (downloads, RSS feeds, JSON objects etc.)"}

field_body:
`django-distill` is a simple to implement static site generator for Django. It
is fully compatible with all Django projects and works with existing complex
Django applications without interfering. It does not require modifications to
existing apps and only small per-URL functions need to be created.

`django-distill` is designed to integrate with existing Django projects and does
not require learning any new framework or file structures to use.

A fully working example of using `django-distill` with a Django blog is available here
[https://github.com/meeb/django-distill-example](https://github.com/meeb/django-distill-example)

### Features

- Full compatibility with all Django projects
- No overhead when added to existing projects
- Trivial to add to existing Django sites
- Easy to integrate into CI/CD processes
- Uses the standard Django project structure and does not require learning a new sub-framework
- Can generate static pages for all or just part of your project
- Full support for publishing to S3, Google Cloud Storage and Rackspace Cloud Files with remote checks
- Validation of remote containers on S3, Google Cloud Storage and Rackspace Cloud Files
- Generation is identical to the output of existing dynamic Django content
- Simple to implement and debug
- Only modification required is to `urls.py` and `settings.py`
- Static pages can be generated for third party applications
- Support for all page and file types (downloads, RSS feeds, JSON objects etc.)


id: empress-blog
git_filename: src/site/generators/empress-blog.md
format: md
field_title: empress-blog
field_repo: empress/empress-blog
field_homepage: https://github.com/empress/empress-blog
field_language: JavaScript
field_license: MIT
field_templates: Ember, Markdown
field_description: Fully-functional, SEO friendly static site implementation of a blog system built on Ember
field_startertemplaterepo: https://github.com/empress/empress-blog-netlify-casper-template
data:
{"title": "empress-blog", "repo": "empress/empress-blog", "homepage": "https://github.com/empress/empress-blog", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Ember", "Markdown"], "description": "Fully-functional, SEO friendly static site implementation of a blog system built on Ember", "startertemplaterepo": "https://github.com/empress/empress-blog-netlify-casper-template", "body": "This project is designed to be a fully-functional, static site implementation of a blog system that is mostly compatible with [Ghost](https://ghost.org/) and is built on EmberJS with fully working out of the box SEO friendly output.\n\n## Features\n\n- Fast no-reload page changes\n- No web-development skills required to get up and running\n- Uses Markdown to author content\n- RSS implementation\n- Automatic image resizing\n- Built on Ember and uses ember-cli, the best frontend cli on the market right now!\n\n## Templates\n\nempress-blog supports the use of shallow forks of Ghost themes and currently supports\n\n- [empress-blog Casper Template](https://github.com/empress/empress-blog-casper-template) which is a shallow fork of the official [Casper Template](https://github.com/TryGhost/Casper)\n- [empress-blog Attila Template](https://github.com/empress/empress-blog-attila-template) which is a shallow fork of [Attila](https://github.com/zutrinken/attila)\n\nAs Ghost uses handlebars it is not too difficult to port an existing template to use Ember templates.\n\nWe now support a Template Generator that allows you to get started very quickly with a barebones template based on the Ghost Starer template. To find out more check out the [documentation for create-empress-blog-template](https://github.com/empress/create-empress-blog-template#create-empress-blog-template).\n\n## Examples\n\nThe default output can be seen deployed on Netlify here: https://empress-blog.netlify.com/\n\nIf you want an example of the this \"in production\" then check out the [Stone Circle\nBlog](https://blog.stonecircle.io). If you use this in production let us know [on\nTwitter](https://twitter.com/stonecircle_co) and we can add a \"built with\nempress-blog-casper-template\" wiki.\n\nYou do not need to be a web developer to be able to use this system. You just write markdown files\nand the rest of the work is performed by EmberJS' build system."}

field_body:
This project is designed to be a fully-functional, static site implementation of a blog system that is mostly compatible with [Ghost](https://ghost.org/) and is built on EmberJS with fully working out of the box SEO friendly output.

## Features

- Fast no-reload page changes
- No web-development skills required to get up and running
- Uses Markdown to author content
- RSS implementation
- Automatic image resizing
- Built on Ember and uses ember-cli, the best frontend cli on the market right now!

## Templates

empress-blog supports the use of shallow forks of Ghost themes and currently supports

- [empress-blog Casper Template](https://github.com/empress/empress-blog-casper-template) which is a shallow fork of the official [Casper Template](https://github.com/TryGhost/Casper)
- [empress-blog Attila Template](https://github.com/empress/empress-blog-attila-template) which is a shallow fork of [Attila](https://github.com/zutrinken/attila)

As Ghost uses handlebars it is not too difficult to port an existing template to use Ember templates.

We now support a Template Generator that allows you to get started very quickly with a barebones template based on the Ghost Starer template. To find out more check out the [documentation for create-empress-blog-template](https://github.com/empress/create-empress-blog-template#create-empress-blog-template).

## Examples

The default output can be seen deployed on Netlify here: https://empress-blog.netlify.com/

If you want an example of the this "in production" then check out the [Stone Circle
Blog](https://blog.stonecircle.io). If you use this in production let us know [on
Twitter](https://twitter.com/stonecircle_co) and we can add a "built with
empress-blog-casper-template" wiki.

You do not need to be a web developer to be able to use this system. You just write markdown files
and the rest of the work is performed by EmberJS' build system.


id: waffel
git_filename: src/site/generators/waffel.md
format: md
field_title: Waffel
field_repo: moonwave99/waffel
field_homepage: http://moonwave99.github.io/waffel/
field_language: JavaScript
field_license: MIT
field_templates: Nunjucks
field_description: Static site generation done tasty.
data:
{"title": "Waffel", "repo": "moonwave99/waffel", "homepage": "http://moonwave99.github.io/waffel/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Nunjucks"], "description": "Static site generation done tasty.", "body": "![Waffel](https://moonwave99.github.io/waffel/images/waffel.svg)\n\nI built Waffel because I missed a JavaScript static generator that featured:\n\n- content localisation for different languages;\n- grouping of entities by properties (categories/tags);\n- pagination of collections;\n- ease of writing custom template filters/helpers.\n\nCheck the [brunch-with-waffel](https://github.com/moonwave99/brunch-with-waffel) skeleton in order to run a local example.\n\n## Philosophy\n\n**Waffel** was born as a simple script to generate [my website](http://www.diegocaponera.com/) and a couple of [other](http://www.shoegaze.it/) [pages](http://www.dreampop.it/), and eventually my company's homepage. I thought it was worth releasing, basically because I plan to reuse it a lot in the close future, best as a companion to a content management tool I hope to release very soon.\n\nI think that having a full web stack for a blog/portfolio/small business showcase site is really an overkill today: you need a lot of services running in order to serve content, you will be the very only one to change in a deterministic way.\nNow that all our pathetic `comments.php` efforts have been teared apart by Disqus/social commenting facilities, why should we store our thoughts in a database, instead of on good ol' text files, editable in the way we find more comfortable?"}

field_body:
![Waffel](https://moonwave99.github.io/waffel/images/waffel.svg)

I built Waffel because I missed a JavaScript static generator that featured:

- content localisation for different languages;
- grouping of entities by properties (categories/tags);
- pagination of collections;
- ease of writing custom template filters/helpers.

Check the [brunch-with-waffel](https://github.com/moonwave99/brunch-with-waffel) skeleton in order to run a local example.

## Philosophy

**Waffel** was born as a simple script to generate [my website](http://www.diegocaponera.com/) and a couple of [other](http://www.shoegaze.it/) [pages](http://www.dreampop.it/), and eventually my company's homepage. I thought it was worth releasing, basically because I plan to reuse it a lot in the close future, best as a companion to a content management tool I hope to release very soon.

I think that having a full web stack for a blog/portfolio/small business showcase site is really an overkill today: you need a lot of services running in order to serve content, you will be the very only one to change in a deterministic way.
Now that all our pathetic `comments.php` efforts have been teared apart by Disqus/social commenting facilities, why should we store our thoughts in a database, instead of on good ol' text files, editable in the way we find more comfortable?


id: gist-txt
git_filename: src/site/generators/gist-txt.md
format: md
field_title: gist-txt
field_repo: potomak/gist-txt
field_homepage: https://github.com/potomak/gist-txt
field_language: JavaScript
field_license: MIT
field_templates: Mustache
field_description: A minimal text adventure engine.
data:
{"title": "gist-txt", "repo": "potomak/gist-txt", "homepage": "https://github.com/potomak/gist-txt", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Mustache"], "description": "A minimal text adventure engine.", "body": "Transform a GitHub gist into a text adventure that is also a static website.\n\nYou can find a list of text advendures created using gist-txt at http://potomak.github.io/gist-txt/text-adventures.html."}

field_body:
Transform a GitHub gist into a text adventure that is also a static website.

You can find a list of text advendures created using gist-txt at http://potomak.github.io/gist-txt/text-adventures.html.


id: pretzel
git_filename: src/site/generators/pretzel.md
format: md
field_title: pretzel
field_repo: Code52/pretzel
field_homepage: http://code52.org/pretzel.html
field_language: .Net
field_license: MS-PL
field_templates: Liquid
field_description: A site generation tool (and then some) for .NET platforms.
data:
{"title": "pretzel", "repo": "Code52/pretzel", "homepage": "http://code52.org/pretzel.html", "language": [".Net"], "license": ["MS-PL"], "templates": ["Liquid"], "description": "A site generation tool (and then some) for .NET platforms.", "body": "A simple, pluggable site generation tool for .NET developers and Windows users (with Mono support planned I think)\n\nPretzel follows the same convensions as Jekyll and should be compatible with basic Jekyll websites. If you are not familiar with Jekyll, have a read at https://github.com/mojombo/jekyll/wiki/Usage"}

field_body:
A simple, pluggable site generation tool for .NET developers and Windows users (with Mono support planned I think)

Pretzel follows the same convensions as Jekyll and should be compatible with basic Jekyll websites. If you are not familiar with Jekyll, have a read at https://github.com/mojombo/jekyll/wiki/Usage


id: cleaver
git_filename: src/site/generators/cleaver.md
format: md
field_title: Cleaver
field_repo: aschmelyun/cleaver
field_homepage: https://usecleaver.com/
field_language: PHP
field_license: MIT
field_templates: Blade
field_description: A blazing-fast static site generator using Laravel's Blade templating engine
data:
{"title": "Cleaver", "homepage": "https://usecleaver.com/", "repo": "aschmelyun/cleaver", "language": ["PHP"], "license": ["MIT"], "templates": ["Blade"], "description": "A blazing-fast static site generator using Laravel's Blade templating engine", "body": "Cleaver is a fast and simplistic static site generator written in PHP and using Laravel's Blade templating engine.\n\nContent is organized in a single directory whose internal structure doesn't reflect the rendered site's. Instead, the final page path is determined by a variable in each content file.\n\nCleaver makes use of either Markdown files for content-heavy pages, or JSON files for more data-driven sites.\n\nEach moderately-sized page on a website renders on average in two-digit milliseconds.\n\n## Installation\n\n`composer create-project aschmelyun/cleaver`\n\n## Usage\n\n`npm install`  \n`npm run dev`  \n`npm run production`"}

field_body:
Cleaver is a fast and simplistic static site generator written in PHP and using Laravel's Blade templating engine.

Content is organized in a single directory whose internal structure doesn't reflect the rendered site's. Instead, the final page path is determined by a variable in each content file.

Cleaver makes use of either Markdown files for content-heavy pages, or JSON files for more data-driven sites.

Each moderately-sized page on a website renders on average in two-digit milliseconds.

## Installation

`composer create-project aschmelyun/cleaver`

## Usage

`npm install`  
`npm run dev`  
`npm run production`


id: docusaurus
git_filename: src/site/generators/docusaurus.md
format: md
field_title: Docusaurus
field_repo: facebook/docusaurus
field_homepage: https://v2.docusaurus.io
field_language: JavaScript
field_license: MIT
field_templates: React, Markdown
field_description: Build optimized websites quickly, focus on your content
field_startertemplaterepo: https://github.com/anishkny/docusaurus-base
data:
{"title": "Docusaurus", "repo": "facebook/docusaurus", "homepage": "https://v2.docusaurus.io", "language": ["JavaScript"], "license": ["MIT"], "templates": ["React", "Markdown"], "description": "Build optimized websites quickly, focus on your content", "startertemplaterepo": "https://github.com/anishkny/docusaurus-base", "twitter": "docusaurus", "body": "## Powered by Markdown\n\nSave time and focus on your project's documentation. Simply write docs and blog posts with Markdown and Docusaurus will publish a set of static html files ready to serve.\n\n## Built Using React\n\nExtend or customize your project's layout by reusing React. Docusaurus can be extended while reusing the same header and footer.\n\n## Ready for Translations\n\nLocalization comes pre-configured. Use Crowdin to translate your docs into over 70 languages.\n\n## Document Versioning\n\nSupport users on all versions of your project. Document versioning helps you keep documentation in sync with project releases.\n\n## Document Search\n\nMake it easy for your community to find what they need in your documentation. We proudly support Algolia documentation search."}

field_body:
## Powered by Markdown

Save time and focus on your project's documentation. Simply write docs and blog posts with Markdown and Docusaurus will publish a set of static html files ready to serve.

## Built Using React

Extend or customize your project's layout by reusing React. Docusaurus can be extended while reusing the same header and footer.

## Ready for Translations

Localization comes pre-configured. Use Crowdin to translate your docs into over 70 languages.

## Document Versioning

Support users on all versions of your project. Document versioning helps you keep documentation in sync with project releases.

## Document Search

Make it easy for your community to find what they need in your documentation. We proudly support Algolia documentation search.


id: orison
git_filename: src/site/generators/orison.md
format: md
field_title: OrisonJS
field_repo: megazear7/orison
field_homepage: https://orison.alexlockhart.me
field_language: JavaScript
field_license: GPL-3.0-only
field_templates: lit-html
field_description: Create pages, layouts, partials, and contextual data using lit-html
field_startertemplaterepo: https://github.com/megazear7/orison-netlify-starter-kit
data:
{"title": "OrisonJS", "repo": "megazear7/orison", "homepage": "https://orison.alexlockhart.me", "language": ["JavaScript"], "license": ["GPL-3.0-only"], "templates": ["lit-html"], "description": "Create pages, layouts, partials, and contextual data using lit-html", "startertemplaterepo": "https://github.com/megazear7/orison-netlify-starter-kit", "body": "OrisonJS is a static site generator built on top of lit-html.\nIt provides a server for easy development, a preview server for previewing the built site, and a build command for building a static site from your source.\nThe build command can be carefully configured to only rebuild the portions of the site that you want. This makes it indefinitely scalable for websites with a large number of pages or with a large number of rebuilds from content updates.\nLayouts are contextually applied to pages based upon their location in the site hierarchy and partials allow reuse of common elements.\n\nPages files, layouts, and partials are all JavaScript files that export an async function.\nThis function is provided contextual data about it's location in the site hierarchy, it's path, and accessor methods for crawling up the site heirachy with `parent` methods or crawling down the site hierarchy with `child` methods.\nThis enables rich contextual functionality. These JavaScript files can also call third party services to pull in dynamic content, and can be hooked up to web hooks for rebuilding the site as content changes.\nPages can also be declared as a list, so a single page file produces a list of pages on your site, useful for generating a list of blog posts or product pages by connecting to a CMS, for example.\n\nAll pages also produce fragments. These are html files with the same content as the full page but without the layout applied. This makes implementing single page application style redirects easy to implement, and the template projects do just this.\n\nProjects can be initialized for use with Netlify, Firebase, or GitHub Pages, and can be easily configured for any hosting service.\n\n[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/megazear7/orison-netlify-starter-kit)"}

field_body:
OrisonJS is a static site generator built on top of lit-html.
It provides a server for easy development, a preview server for previewing the built site, and a build command for building a static site from your source.
The build command can be carefully configured to only rebuild the portions of the site that you want. This makes it indefinitely scalable for websites with a large number of pages or with a large number of rebuilds from content updates.
Layouts are contextually applied to pages based upon their location in the site hierarchy and partials allow reuse of common elements.

Pages files, layouts, and partials are all JavaScript files that export an async function.
This function is provided contextual data about it's location in the site hierarchy, it's path, and accessor methods for crawling up the site heirachy with `parent` methods or crawling down the site hierarchy with `child` methods.
This enables rich contextual functionality. These JavaScript files can also call third party services to pull in dynamic content, and can be hooked up to web hooks for rebuilding the site as content changes.
Pages can also be declared as a list, so a single page file produces a list of pages on your site, useful for generating a list of blog posts or product pages by connecting to a CMS, for example.

All pages also produce fragments. These are html files with the same content as the full page but without the layout applied. This makes implementing single page application style redirects easy to implement, and the template projects do just this.

Projects can be initialized for use with Netlify, Firebase, or GitHub Pages, and can be easily configured for any hosting service.

[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/megazear7/orison-netlify-starter-kit)


id: tclssg
git_filename: src/site/generators/tclssg.md
format: md
field_title: Tclssg
field_repo: tclssg/tclssg
field_homepage: https://github.com/tclssg/tclssg
field_language: Tcl
field_license: MIT
field_templates: Custom
field_description: A static site generator that uses Tcl for both code and templates.
data:
{"title": "Tclssg", "repo": "tclssg/tclssg", "homepage": "https://github.com/tclssg/tclssg", "language": ["Tcl"], "license": ["MIT"], "templates": ["Custom"], "description": "A static site generator that uses Tcl for both code and templates.", "body": "Tclssg is a static site generator written in Tcl that uses Markdown for content markup, Bootstrap for layout (with Bootstrap theme support) and Tcl code embedded in HTML for templating.\n\n### Features\n\n- Markdown, Bootstrap themes, Tcl templates;\n- Distinguishes between plain old pages and blog posts;\n- RSS feeds;\n- SEO and usability features: sitemaps, canonical and previous/next links, `noindex` where appropriate.\n- Valid HTML5 and CSS level 3 output;\n- Deployment over FTP;\n- Deployment over SCP and other protocols with a custom deployment command;\n- Support for external comment engines;\n- Relative links in the HTML output that make it suitable for viewing over _file://_;\n- Reasonably fast (can process 500 input pages into 650 HTML files in about 35 seconds on a laptop with an SSD);\n- Few dependencies.\n- Can be used as a library from Tcl.\n\n### Page example\n\n```markdown\n{\ntitle {Test page}\nblogPost 1\ntags {test {a long tag with spaces}}\ndate 2014-01-02\nhideDate 1\n}\n**Lorem ipsum** reprehenderit _ullamco deserunt sit eiusmod_ ut minim in id\nvoluptate proident enim eu aliqua sit.\n\n<!-- more -->\n\nMollit ex cillum pariatur anim [exemplum](http://example.com) tempor\nexercitation sed eu Excepteur dolore deserunt cupidatat aliquip irure in\nfugiat eu laborum est.\n```"}

field_body:
Tclssg is a static site generator written in Tcl that uses Markdown for content markup, Bootstrap for layout (with Bootstrap theme support) and Tcl code embedded in HTML for templating.

### Features

- Markdown, Bootstrap themes, Tcl templates;
- Distinguishes between plain old pages and blog posts;
- RSS feeds;
- SEO and usability features: sitemaps, canonical and previous/next links, `noindex` where appropriate.
- Valid HTML5 and CSS level 3 output;
- Deployment over FTP;
- Deployment over SCP and other protocols with a custom deployment command;
- Support for external comment engines;
- Relative links in the HTML output that make it suitable for viewing over _file://_;
- Reasonably fast (can process 500 input pages into 650 HTML files in about 35 seconds on a laptop with an SSD);
- Few dependencies.
- Can be used as a library from Tcl.

### Page example

```markdown
{
title {Test page}
blogPost 1
tags {test {a long tag with spaces}}
date 2014-01-02
hideDate 1
}
**Lorem ipsum** reprehenderit _ullamco deserunt sit eiusmod_ ut minim in id
voluptate proident enim eu aliqua sit.

<!-- more -->

Mollit ex cillum pariatur anim [exemplum](http://example.com) tempor
exercitation sed eu Excepteur dolore deserunt cupidatat aliquip irure in
fugiat eu laborum est.
```


id: spress
git_filename: src/site/generators/spress.md
format: md
field_title: Spress
field_repo: spress/spress
field_homepage: http://spress.yosymfony.com
field_language: PHP
field_license: MIT
field_templates: Twig
field_description: Spress is a static site generator and blog engine written in PHP
data:
{"title": "Spress", "repo": "spress/spress", "homepage": "http://spress.yosymfony.com", "language": ["PHP"], "license": ["MIT"], "templates": ["Twig"], "description": "Spress is a static site generator and blog engine written in PHP", "body": "Spress is a static site generator built with Symfony components. Spress allows you write a blog and create site for\npublish events, information about your product or create landing pages.\n\n- Create your blog or web site with your favorite text editor in Markdown.\n- You can write themes and plugins to make it more awesome.\n- Create amazing templates powered by Twig template engine.\n- Completely static output.\n- Easy deploy.\n\n### How does it work?\n\nSpress works in few simple steps:\n\n- Read all files in your site directory.\n- Converts Markdown files, Twig templates or standard HTML into a static HTML site.\n- Write the results to a destination directory."}

field_body:
Spress is a static site generator built with Symfony components. Spress allows you write a blog and create site for
publish events, information about your product or create landing pages.

- Create your blog or web site with your favorite text editor in Markdown.
- You can write themes and plugins to make it more awesome.
- Create amazing templates powered by Twig template engine.
- Completely static output.
- Easy deploy.

### How does it work?

Spress works in few simple steps:

- Read all files in your site directory.
- Converts Markdown files, Twig templates or standard HTML into a static HTML site.
- Write the results to a destination directory.


id: react-static
git_filename: src/site/generators/react-static.md
format: md
field_title: React Static
field_repo: nozzle/react-static
field_homepage: https://react-static.js.org/
field_language: JavaScript
field_license: MIT
field_templates: React
field_description: A progressive static-site framework for React.
field_startertemplaterepo: https://github.com/tannerlinsley/react-static-starter
data:
{"title": "React Static", "repo": "nozzle/react-static", "homepage": "https://react-static.js.org/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["React"], "description": "A progressive static-site framework for React.", "startertemplaterepo": "https://github.com/tannerlinsley/react-static-starter", "body": "React-Static is a fast, lightweight, and powerful toolkit for building static-progressive React applications and websites. Inspired by create-react-app, it's been carefully designed to meet the highest standards of **SEO, site performance, and user/developer experience**. [**Read the introduction article on Medium**](https://medium.com/@tannerlinsley/%EF%B8%8F-introducing-react-static-a-progressive-static-site-framework-for-react-3470d2a51ebc)\n\n## Features\n\n- \u269b\ufe0f 100% React (or Preact!)\n- \ud83d\ude80 Blazing fast builds and performance.\n- \ud83d\ude9a Data Agnostic. Supply your site with data from anywhere, **however you want**.\n- \ud83d\udca5 Near-instant page views via [PRPL](https://developers.google.com/web/fundamentals/performance/prpl-pattern/) pattern.\n- \ud83c\udfaf Built for **SEO**.\n- \ud83e\udd47 React-first developer experience.\n- \ud83d\ude0c Painless project setup & migration.\n- \ud83d\udcaf Supports 100% of the React ecosystem. Including CSS-in-JS libraries, custom Query layers like GraphQL, and even Redux.\n- \ud83d\udd25 Hot Reloadable out-of-the-box. Edit React components & styles in real-time.\n- \ud83d\udcf2 LAN accessible dev environmentfor testing on other devices like phones and tablets.\n\n## Videos & Tutorials\n\n- [Get started in 5 minutes! (create-react-app template)](https://youtu.be/1pBzh7IM1s8) (5 min)\n- [Introducing React-Static! How it works and why we built it!](https://www.youtube.com/watch?v=OqbJ5swVpDQ) (80 min)\n- [Walkthrough - Installing and creating a new project with Styled Components](https://www.youtube.com/watch?v=KvlTVZPlmgs) (20 min)"}

field_body:
React-Static is a fast, lightweight, and powerful toolkit for building static-progressive React applications and websites. Inspired by create-react-app, it's been carefully designed to meet the highest standards of **SEO, site performance, and user/developer experience**. [**Read the introduction article on Medium**](https://medium.com/@tannerlinsley/%EF%B8%8F-introducing-react-static-a-progressive-static-site-framework-for-react-3470d2a51ebc)

## Features

- ⚛️ 100% React (or Preact!)
- 🚀 Blazing fast builds and performance.
- 🚚 Data Agnostic. Supply your site with data from anywhere, **however you want**.
- 💥 Near-instant page views via [PRPL](https://developers.google.com/web/fundamentals/performance/prpl-pattern/) pattern.
- 🎯 Built for **SEO**.
- 🥇 React-first developer experience.
- 😌 Painless project setup & migration.
- 💯 Supports 100% of the React ecosystem. Including CSS-in-JS libraries, custom Query layers like GraphQL, and even Redux.
- 🔥 Hot Reloadable out-of-the-box. Edit React components & styles in real-time.
- 📲 LAN accessible dev environmentfor testing on other devices like phones and tablets.

## Videos & Tutorials

- [Get started in 5 minutes! (create-react-app template)](https://youtu.be/1pBzh7IM1s8) (5 min)
- [Introducing React-Static! How it works and why we built it!](https://www.youtube.com/watch?v=OqbJ5swVpDQ) (80 min)
- [Walkthrough - Installing and creating a new project with Styled Components](https://www.youtube.com/watch?v=KvlTVZPlmgs) (20 min)


id: iron-beard
git_filename: src/site/generators/iron-beard.md
format: md
field_title: IronBeard
field_repo: wkallhof/iron-beard
field_homepage: https://github.com/wkallhof/iron-beard
field_language: .Net
field_license: MIT
field_templates: Razor, Markdown
field_description: Simple, zero-configuration static site generator written in .NET Core.
data:
{"title": "IronBeard", "repo": "wkallhof/iron-beard", "homepage": "https://github.com/wkallhof/iron-beard", "language": [".Net"], "license": ["MIT"], "templates": ["Razor", "Markdown"], "description": "Simple, zero-configuration static site generator written in .NET Core.", "body": "A simple and easy to use cross-platform static site generator built with .NET Core. IronBeard processes your Razor `.cshtml` files and markdown `.md` files into full `.html` files ready for static hosting on services like Amazon S3.\n\nIronBeard maintains your folder structure and copies static assets like images, JS, and CSS into their respective directories to maintain the correct linking on the generated site.\n\nAdding a `beard.json` file to your project root allows for further configuration.\n\n## Features\n\n- Support for recursive folder and file structures\n- Markdown Processor\n- Razor Processor\n- Static File Processor\n- Razor Layout Support (wraps other razor files and markdown markup)\n- Markdown metadata (YAML Frontmatter support in markdown)\n- Razor metadata (YAML Frontmatter support with Razor comments)\n- HTML Formatting to clean up file output.\n- URL correction (properly handles relative routes and root folder routing (index.html etc.))\n- Global configuration file\n- Rich CLI output\n- Valid system errors codes (useful for automation)\n- Watch command for automatic rebuilding on file or directory change"}

field_body:
A simple and easy to use cross-platform static site generator built with .NET Core. IronBeard processes your Razor `.cshtml` files and markdown `.md` files into full `.html` files ready for static hosting on services like Amazon S3.

IronBeard maintains your folder structure and copies static assets like images, JS, and CSS into their respective directories to maintain the correct linking on the generated site.

Adding a `beard.json` file to your project root allows for further configuration.

## Features

- Support for recursive folder and file structures
- Markdown Processor
- Razor Processor
- Static File Processor
- Razor Layout Support (wraps other razor files and markdown markup)
- Markdown metadata (YAML Frontmatter support in markdown)
- Razor metadata (YAML Frontmatter support with Razor comments)
- HTML Formatting to clean up file output.
- URL correction (properly handles relative routes and root folder routing (index.html etc.))
- Global configuration file
- Rich CLI output
- Valid system errors codes (useful for automation)
- Watch command for automatic rebuilding on file or directory change


id: publish
git_filename: src/site/generators/publish.md
format: md
field_title: Publish
field_repo: JohnSundell/Publish
field_homepage: https://github.com/JohnSundell/Publish
field_language: Swift
field_license: MIT
field_templates: Markdown
field_description: A static site generator built specifically for Swift developers.
data:
{"title": "Publish", "repo": "JohnSundell/Publish", "homepage": "https://github.com/JohnSundell/Publish", "language": ["Swift"], "license": ["MIT"], "templates": ["Markdown"], "description": "A static site generator built specifically for Swift developers.", "twitter": "swiftbysundell", "body": "**Publish** is a static site generator built specifically for Swift developers. It enables entire websites to be built using Swift, and supports themes, plugins and tons of other powerful customization options.\n\nFollow [the official guide](https://github.com/JohnSundell/Publish) to get started."}

field_body:
**Publish** is a static site generator built specifically for Swift developers. It enables entire websites to be built using Swift, and supports themes, plugins and tons of other powerful customization options.

Follow [the official guide](https://github.com/JohnSundell/Publish) to get started.


id: mkdocs
git_filename: src/site/generators/mkdocs.md
format: md
field_title: MkDocs
field_repo: mkdocs/mkdocs
field_homepage: http://www.mkdocs.org/
field_language: Python
field_license: BSD-3-Clause
field_templates: Jinja2
field_description: Project documentation with Markdown.
field_startertemplaterepo: https://github.com/netlify-templates/mkdocs-base
data:
{"title": "MkDocs", "repo": "mkdocs/mkdocs", "homepage": "http://www.mkdocs.org/", "language": ["Python"], "license": ["BSD-3-Clause"], "templates": ["Jinja2"], "description": "Project documentation with Markdown.", "startertemplaterepo": "https://github.com/netlify-templates/mkdocs-base", "twitter": "MkDocsProject", "body": "MkDocs is a fast, simple and downright gorgeous static site generator that's geared towards building project documentation. Documentation source files are written in Markdown, and configured with a single YAML configuration file.\n\n- Host anywhere.\n\n  Builds completely static HTML sites that you can host on GitHub pages, Amazon S3, or anywhere else you choose.\n\n- Great themes available.\n\n  There's a stack of good looking themes included by default. Choose from bootstrap, readthedocs, ghostwriter, or any of the 12 bootswatch themes.\n\n- Preview your site as you work.\n\n  The built-in devserver allows you to preview your documentation as your writing it. It will even auto-reload whenever you save any changes, so all you need to do to see your latest edits is refresh your browser.\n\n- Easy to customize.\n\n  Get your project documentation looking just the way you want it by customizing the theme.\n\n- Cross-reference your documentation.\n\n  Create richly cross-referenced documents, using the MkDocs interlinking syntax."}

field_body:
MkDocs is a fast, simple and downright gorgeous static site generator that's geared towards building project documentation. Documentation source files are written in Markdown, and configured with a single YAML configuration file.

- Host anywhere.

  Builds completely static HTML sites that you can host on GitHub pages, Amazon S3, or anywhere else you choose.

- Great themes available.

  There's a stack of good looking themes included by default. Choose from bootstrap, readthedocs, ghostwriter, or any of the 12 bootswatch themes.

- Preview your site as you work.

  The built-in devserver allows you to preview your documentation as your writing it. It will even auto-reload whenever you save any changes, so all you need to do to see your latest edits is refresh your browser.

- Easy to customize.

  Get your project documentation looking just the way you want it by customizing the theme.

- Cross-reference your documentation.

  Create richly cross-referenced documents, using the MkDocs interlinking syntax.


id: umi
git_filename: src/site/generators/umi.md
format: md
field_title: UmiJS
field_repo: umijs/umi
field_homepage: https://umijs.org
field_language: JavaScript
field_license: MIT
field_templates: React
field_description: Pluggable enterprise-level react application framework
data:
{"title": "UmiJS", "repo": "umijs/umi", "homepage": "https://umijs.org", "language": ["JavaScript"], "license": ["MIT"], "templates": ["React"], "description": "Pluggable enterprise-level react application framework", "body": "## Features\n\n- \ud83d\udce6 **Out of box**, with built-in support for react, react-router, jest, webpack, rollup, etc.\n- \ud83c\udfc8 **Next.js like and [full featured](https://umijs.org/guide/router.html) routing conventions**, which also supports configured routing\n- \ud83c\udf89 **Plugin system**, covering every lifecycle from source code to production\n- \ud83d\ude80 **High performance**, including PWA support, route-level code splitting, etc.\n- \ud83d\udc88 **Support for static export**, Suitable for environments without server\n- \ud83d\ude84 **Fast dev startup**, including [dll](https://umijs.org/plugin/umi-plugin-react.html#dll) support with config etc.\n- \ud83d\udc20 **Polyfill solution**, add JS and CSS polyfill with [targets](https://umijs.org/config/#targets) config, lowest to IE9\n- \ud83c\udf41 **Support TypeScript**, including d.ts definition and `umi test`\n- \ud83c\udf34 **Deep integration with [dva](https://dvajs.com/)**, including duck directory support, automatic loading of model, code splitting, etc\n- \u26c4\ufe0f **Support MPA**\uff0cbased on [umi-plugin-mpa](https://github.com/umijs/umi-plugin-mpa)\n\n## Install\n\nInstall tool\n\n```sh\n$ yarn global add umi # OR npm install -g umi\n```\n\n## Build\n\nCreate a page\n\n```sh\n$ mkdir myapp && cd myapp\n$ umi generate page index\n```\n\n## Run\n\nStart the development server\n\n```sh\n$ umi dev\n```\n\nBuild and deploy\n\n```sh\n$ umi build\n```\n\n## Examples\n\n- [Ant Design Pro](https://github.com/ant-design/ant-design-pro)\n- [Antd Admin](https://github.com/zuiidea/antd-admin)"}

field_body:
## Features

- 📦 **Out of box**, with built-in support for react, react-router, jest, webpack, rollup, etc.
- 🏈 **Next.js like and [full featured](https://umijs.org/guide/router.html) routing conventions**, which also supports configured routing
- 🎉 **Plugin system**, covering every lifecycle from source code to production
- 🚀 **High performance**, including PWA support, route-level code splitting, etc.
- 💈 **Support for static export**, Suitable for environments without server
- 🚄 **Fast dev startup**, including [dll](https://umijs.org/plugin/umi-plugin-react.html#dll) support with config etc.
- 🐠 **Polyfill solution**, add JS and CSS polyfill with [targets](https://umijs.org/config/#targets) config, lowest to IE9
- 🍁 **Support TypeScript**, including d.ts definition and `umi test`
- 🌴 **Deep integration with [dva](https://dvajs.com/)**, including duck directory support, automatic loading of model, code splitting, etc
- ⛄️ **Support MPA**，based on [umi-plugin-mpa](https://github.com/umijs/umi-plugin-mpa)

## Install

Install tool

```sh
$ yarn global add umi # OR npm install -g umi
```

## Build

Create a page

```sh
$ mkdir myapp && cd myapp
$ umi generate page index
```

## Run

Start the development server

```sh
$ umi dev
```

Build and deploy

```sh
$ umi build
```

## Examples

- [Ant Design Pro](https://github.com/ant-design/ant-design-pro)
- [Antd Admin](https://github.com/zuiidea/antd-admin)


id: weaver
git_filename: src/site/generators/weaver.md
format: md
field_title: Weaver
field_repo: davidsiaw/weaver
field_homepage: https://davidsiaw.github.io/weaver-docs
field_language: Ruby
field_license: MIT
field_description: A simple DSL-based web generator
data:
{"title": "Weaver", "repo": "davidsiaw/weaver", "homepage": "https://davidsiaw.github.io/weaver-docs", "language": ["Ruby"], "license": ["MIT"], "templates": null, "description": "A simple DSL-based web generator", "body": "## About\n\nWeaver is a simple Ruby-based DSL that allows you to create a static website using Ruby code and has shortcuts for many bootstrap idioms and jquery plugins.\n\nIt uses Sinatra to allow you to preview your site as you change it, and then lets you build it for deploying.\n\nTake advantage of being able to use Ruby to generate your blog, search page, listing, basically anything you would do in a static website!\n\n## How to use\n\nSimply install weaver using `gem install weaver`\n\nThen, `weaver create my-site`\n\nThen, `cd my-site && bundle install && bundle exec weaver`\n\nAnd then view your site at `http://localhost:4567`\n\nOnce you are done, `bundle exec weaver build` to generate your website's code into the `build` directory and copy it to your static host or CDN!\n\n## Philosophy\n\nWeaver tries to make writing rich static websites as easy and predictably possible by using a DSL. Images are stored in a special images folder because images are quite special, freeing you from constantly copy pasting the directory structure. Generating code should be as painless as possible, and even making forms should be easy. The weaver documentation is written in weaver itself."}

field_body:
## About

Weaver is a simple Ruby-based DSL that allows you to create a static website using Ruby code and has shortcuts for many bootstrap idioms and jquery plugins.

It uses Sinatra to allow you to preview your site as you change it, and then lets you build it for deploying.

Take advantage of being able to use Ruby to generate your blog, search page, listing, basically anything you would do in a static website!

## How to use

Simply install weaver using `gem install weaver`

Then, `weaver create my-site`

Then, `cd my-site && bundle install && bundle exec weaver`

And then view your site at `http://localhost:4567`

Once you are done, `bundle exec weaver build` to generate your website's code into the `build` directory and copy it to your static host or CDN!

## Philosophy

Weaver tries to make writing rich static websites as easy and predictably possible by using a DSL. Images are stored in a special images folder because images are quite special, freeing you from constantly copy pasting the directory structure. Generating code should be as painless as possible, and even making forms should be easy. The weaver documentation is written in weaver itself.


id: easystatic
git_filename: src/site/generators/easystatic.md
format: md
field_title: Easystatic
field_repo: easystatic/easystatic
field_homepage: https://easystatic.com/
field_language: JavaScript
field_license: Apache-2.0
field_templates: EJS
field_description: Static site generator powered by Markdown It, Postcss, Babel, Browsersync
data:
{"title": "Easystatic", "repo": "easystatic/easystatic", "homepage": "https://easystatic.com/", "language": ["JavaScript"], "license": ["Apache-2.0"], "templates": ["EJS"], "description": "Static site generator powered by Markdown It, Postcss, Babel, Browsersync", "body": "Easystatic uses [Markdown It](https://markdown-it.github.io/) for web pages,\n[EJS](http://ejs.co/) and [PostCSS](http://postcss.org/) +\n[Autoprefixer](https://github.com/postcss/autoprefixer) for layout,\n[Browsersync](https://browsersync.io/) for cross-device testing...\n\n### Why use Easystatic?\n\n1. It advocates convention over configuration\n2. It's JavaScript-based, no need to have Ruby/Go/PHP installed\n3. It's build around modern mainstream front-end tools such as PostCSS, Babel, Browsersync\n4. It contains a build-in development server with \"live reload\"\n5. It can scaffold the basic site layout for you based on [Material Design Lite](http://getmdl.io/) (MDL)\n\n### How to Use\n\n```sh\n$ npm install -g easystatic\n$ es start <path>\n```\n\n...where `<path>` is the folder with `*.md` files, or an empty folder. For example:\n\n```sh\n$ es start mysite.com\n```\n\nThis command launches your site in a browser and starts watching for modifications in source files\n(`<path>/*.md`, `<path>/assets/*.*`).\n\n### How to Deploy\n\nHere is an example of how you can deploy your site to GitHub Pages:\n\n```sh\n$ es deploy mysite.com --repo=username/mysite.com --domain=mysite.com\n```\n\nFor more info, please visit [www.easystatic.com](https://easystatic.com)"}

field_body:
Easystatic uses [Markdown It](https://markdown-it.github.io/) for web pages,
[EJS](http://ejs.co/) and [PostCSS](http://postcss.org/) +
[Autoprefixer](https://github.com/postcss/autoprefixer) for layout,
[Browsersync](https://browsersync.io/) for cross-device testing...

### Why use Easystatic?

1. It advocates convention over configuration
2. It's JavaScript-based, no need to have Ruby/Go/PHP installed
3. It's build around modern mainstream front-end tools such as PostCSS, Babel, Browsersync
4. It contains a build-in development server with "live reload"
5. It can scaffold the basic site layout for you based on [Material Design Lite](http://getmdl.io/) (MDL)

### How to Use

```sh
$ npm install -g easystatic
$ es start <path>
```

...where `<path>` is the folder with `*.md` files, or an empty folder. For example:

```sh
$ es start mysite.com
```

This command launches your site in a browser and starts watching for modifications in source files
(`<path>/*.md`, `<path>/assets/*.*`).

### How to Deploy

Here is an example of how you can deploy your site to GitHub Pages:

```sh
$ es deploy mysite.com --repo=username/mysite.com --domain=mysite.com
```

For more info, please visit [www.easystatic.com](https://easystatic.com)


id: bashblog
git_filename: src/site/generators/bashblog.md
format: md
field_title: bashblog
field_repo: cfenollosa/bashblog
field_homepage: https://github.com/cfenollosa/bashblog
field_language: Bash
field_license: GPL-3.0-only
field_description: A single Bash script to create blogs.
data:
{"title": "bashblog", "repo": "cfenollosa/bashblog", "homepage": "https://github.com/cfenollosa/bashblog", "language": ["Bash"], "license": ["GPL-3.0-only"], "templates": [], "description": "A single Bash script to create blogs.", "body": "Bashblog was created out of the necessity of a very, very simple way to post\nentries to a blog by using a public folder [on my server], without any\nspecial requirements and dependencies. Works on GNU/Linux, OSX and BSD.\n\nHow simple? Just type './bb.sh post' and start writing your blogpost.\n\nFeatures:\n\n- Ultra simple usage: Just type a post with your favorite editor and the\n  script does the rest. No templating.\n- No installation required. Download bb.sh and start blogging.\n- Zero dependencies. It runs just on base utils (date, basename, grep, sed,\n  head, etc)\n- GNU/Linux, BSD and OSX compatible out of the box, no need for\n  GNU coreutils on a Mac. It does some magic to autodetect which command\n  switches it needs to run depending on your system.\n- All content is static. You only need shell access to a machine with a\n  public web folder. Tip: advanced users could mount a remote public folder\n  via ftpfs and run this script locally\n- Allows drafts, includes a simple but clean stylesheet, generates the RSS\n  file automatically.\n- Support for tags/categories\n- Support for Markdown, Disqus, Twitter, Feedburner, Google Analytics.\n- The project is still maintained as of 2016. Bugs are fixed, and new\n  features are considered (see \"Contributing\")\n- Everything stored in a single ~1k lines bash script, how cool is that?! ;)"}

field_body:
Bashblog was created out of the necessity of a very, very simple way to post
entries to a blog by using a public folder [on my server], without any
special requirements and dependencies. Works on GNU/Linux, OSX and BSD.

How simple? Just type './bb.sh post' and start writing your blogpost.

Features:

- Ultra simple usage: Just type a post with your favorite editor and the
  script does the rest. No templating.
- No installation required. Download bb.sh and start blogging.
- Zero dependencies. It runs just on base utils (date, basename, grep, sed,
  head, etc)
- GNU/Linux, BSD and OSX compatible out of the box, no need for
  GNU coreutils on a Mac. It does some magic to autodetect which command
  switches it needs to run depending on your system.
- All content is static. You only need shell access to a machine with a
  public web folder. Tip: advanced users could mount a remote public folder
  via ftpfs and run this script locally
- Allows drafts, includes a simple but clean stylesheet, generates the RSS
  file automatically.
- Support for tags/categories
- Support for Markdown, Disqus, Twitter, Feedburner, Google Analytics.
- The project is still maintained as of 2016. Bugs are fixed, and new
  features are considered (see "Contributing")
- Everything stored in a single ~1k lines bash script, how cool is that?! ;)


id: toucan
git_filename: src/site/generators/toucan.md
format: md
field_title: Toucan
field_repo: toucansites/toucan
field_homepage: https://toucansites.com/
field_language: Swift
field_license: MIT
field_templates: Markdown, Mustache
field_description: Toucan is a markdown-based Static Site Generator (SSG) written in Swift.
data:
{"title": "Toucan", "repo": "toucansites/toucan", "homepage": "https://toucansites.com/", "language": ["Swift"], "license": ["MIT"], "templates": ["Markdown", "Mustache"], "description": "Toucan is a markdown-based Static Site Generator (SSG) written in Swift.", "twitter": "tiborbodecs", "body": "**Toucan** is a Swift-based static site generator that converts Markdown into styled websites using customizable themes and Mustache templates. Currently in beta, the team welcomes feedback for improvements.\n\nFollow [the official documentation](https://toucansites.com/docs/) to get started."}

field_body:
**Toucan** is a Swift-based static site generator that converts Markdown into styled websites using customizable themes and Mustache templates. Currently in beta, the team welcomes feedback for improvements.

Follow [the official documentation](https://toucansites.com/docs/) to get started.


id: tags
git_filename: src/site/generators/tags.md
format: md
field_title: Tags
field_repo: braceio/tags
field_homepage: http://tags.brace.io/
field_language: Python
field_license: MIT
field_templates: Tags
field_description: The simplest static site generator
data:
{"title": "Tags", "repo": "braceio/tags", "homepage": "http://tags.brace.io/", "language": ["Python"], "license": ["MIT"], "templates": ["Tags"], "description": "The simplest static site generator", "body": "Brace Tags is a static site generator focused on simplicity. It does one thing:\nsolves the problem of having to repeat the same HTML code on several web pages.\n(In other words, it provides \"partials\")\n\nThe template language provided by Brace Tags has only two tags, `include` and\n`is`.\n\n### Static site generation 101\n\nYou can use Brace Tags to build a multi-page static website without\nduplicating navigation or footer code. Here's generally how it works:\n\n1. Find duplicated code snippets in your HTML files. Extract them into separate\n   files called \"partials\".\n\n2. Replace each duplicated code snippet with a special placeholder tag. The tag\n   looks like: `{% include mypartial.html %}`. This is where the content from a\n   partial will be injected.\n\n3. Run the `tags build` command to assemble the website from your source code.\n   You can put the generated site online using any static site hosting provider."}

field_body:
Brace Tags is a static site generator focused on simplicity. It does one thing:
solves the problem of having to repeat the same HTML code on several web pages.
(In other words, it provides "partials")

The template language provided by Brace Tags has only two tags, `include` and
`is`.

### Static site generation 101

You can use Brace Tags to build a multi-page static website without
duplicating navigation or footer code. Here's generally how it works:

1. Find duplicated code snippets in your HTML files. Extract them into separate
   files called "partials".

2. Replace each duplicated code snippet with a special placeholder tag. The tag
   looks like: `{% include mypartial.html %}`. This is where the content from a
   partial will be injected.

3. Run the `tags build` command to assemble the website from your source code.
   You can put the generated site online using any static site hosting provider.


id: trio
git_filename: src/site/generators/trio.md
format: md
field_title: Trio
field_repo: 4awpawz/trio
field_homepage: https://gettriossg.com
field_language: JavaScript
field_license: MIT
field_description: A fast, simple yet powerful JavaScript-driven static site generator.
data:
{"title": "Trio", "repo": "4awpawz/trio", "homepage": "https://gettriossg.com", "language": ["JavaScript"], "license": ["MIT"], "templates": [], "description": "A fast, simple yet powerful JavaScript-driven static site generator.", "twitter": "gettriossg", "body": "### About\n\nTrio is a fast, simple yet powerful **JavaScript-driven static site\ngenerator that runs on Node**.\n\nTrio caches every project asset per build, and only generates stale\nassets when building incrementally, which **dramatically reduces build times**.\n\nTrio has almost zero configuration, includes common build-time utilities\nin its toolchain, and **doesn't require frameworks or templating languages**.\n\nTrio **uses the JavaScript Node modules that you write to augment your pages\nwith dynamic content**. You have all the latest ES6+ goodies to work with\nwithout having to transpile your code.\n\n```javascript\n/**\n * append the current date and time to the HTML tag\n */\n\nmodule.exports = ({ $tag }) => {\n    $tag.append(new Date().toDateString());\n};\n```\n\n#### Features\n\n##### Integrity Checking\n\nChecks your project's chains of dependencies and notifies you when assets can't be resolved.\n\n##### Incremental Builds\n\nDramatically reduces project build times by limiting processing to only stale assets.\n\n##### Built-In Toolchain\n\nTrio's built-in toolchain beautifies generated markup, compiles your Sass with vendor prefixes and minification, generates CSS maps during development, and can optionally cache bust your project for release.\n\n##### Blogging Platform\n\nTrio is built from the ground up to help you create modern-day blogs with the features your readers have come to expect, such as categories, tags, article pages, category pages, tag pages, landing pages, archive pages, and link navigation.\n\n##### Configuration\n\nTrio was designed with the lofty goal of minimizing the amount of configuration that it requires to almost zero. Who likes configuration anyway, right?\n\n##### Command Line\n\nTrio provides extensive command line functionality for getting help, building and serving your sites. It was crafted with the iterative code and test process in mind.\n\n##### Get Started\n\nInstall Trio `$ npm i -g @4awpawz/trio`, then create a new project `$ trio new my-new-project/`, and you are good to go!"}

field_body:
### About

Trio is a fast, simple yet powerful **JavaScript-driven static site
generator that runs on Node**.

Trio caches every project asset per build, and only generates stale
assets when building incrementally, which **dramatically reduces build times**.

Trio has almost zero configuration, includes common build-time utilities
in its toolchain, and **doesn't require frameworks or templating languages**.

Trio **uses the JavaScript Node modules that you write to augment your pages
with dynamic content**. You have all the latest ES6+ goodies to work with
without having to transpile your code.

```javascript
/**
 * append the current date and time to the HTML tag
 */

module.exports = ({ $tag }) => {
    $tag.append(new Date().toDateString());
};
```

#### Features

##### Integrity Checking

Checks your project's chains of dependencies and notifies you when assets can't be resolved.

##### Incremental Builds

Dramatically reduces project build times by limiting processing to only stale assets.

##### Built-In Toolchain

Trio's built-in toolchain beautifies generated markup, compiles your Sass with vendor prefixes and minification, generates CSS maps during development, and can optionally cache bust your project for release.

##### Blogging Platform

Trio is built from the ground up to help you create modern-day blogs with the features your readers have come to expect, such as categories, tags, article pages, category pages, tag pages, landing pages, archive pages, and link navigation.

##### Configuration

Trio was designed with the lofty goal of minimizing the amount of configuration that it requires to almost zero. Who likes configuration anyway, right?

##### Command Line

Trio provides extensive command line functionality for getting help, building and serving your sites. It was crafted with the iterative code and test process in mind.

##### Get Started

Install Trio `$ npm i -g @4awpawz/trio`, then create a new project `$ trio new my-new-project/`, and you are good to go!


id: blogc
git_filename: src/site/generators/blogc.md
format: md
field_title: blogc
field_repo: blogc/blogc
field_homepage: https://blogc.rgm.io/
field_language: C
field_license: BSD-3-Clause
field_templates: Custom
field_description: A blog compiler.
field_startertemplaterepo: https://github.com/blogc/blogc-netlify
data:
{"title": "blogc", "repo": "blogc/blogc", "homepage": "https://blogc.rgm.io/", "language": ["C"], "license": ["BSD-3-Clause"], "templates": ["Custom"], "description": "A blog compiler.", "startertemplaterepo": "https://github.com/blogc/blogc-netlify", "body": "blogc is a blog compiler. It converts source files and templates into blog/website resources. It is designed to be used with `make` or any other similar build tool. It is also stateless and idempotent, no state is shared between blogc binary calls."}

field_body:
blogc is a blog compiler. It converts source files and templates into blog/website resources. It is designed to be used with `make` or any other similar build tool. It is also stateless and idempotent, no state is shared between blogc binary calls.


id: cmints
git_filename: src/site/generators/cmints.md
format: md
field_title: CMintS
field_repo: cmints/cmints
field_homepage: https://cmints.io/
field_language: JavaScript
field_license: MIT
field_templates: EJS
field_description: CMS and Static Site Generator for single and multi-language websites creation.
field_startertemplaterepo: https://github.com/cmints/multi-lang-starter
data:
{"title": "CMintS", "repo": "cmints/cmints", "homepage": "https://cmints.io/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["EJS"], "description": "CMS and Static Site Generator for single and multi-language websites creation.", "startertemplaterepo": "https://github.com/cmints/multi-lang-starter", "body": "[CMintS](https://cmints.io/) is a CMS and Static Site Generator for single and\nmulti-language website creation.\n\nLearn more about CMintS at [https://cmints.io/](https://cmints.io/). It's an\nopen source project and every related repository can be found in the [CMintS\nGitHub organization](https://github.com/cmints).\n\nYou can either install CMintS globally as it's described in the [installation\ndocumentation](https://cmints.io/documentation) or as a local dependency,\nfollowing the [Quick Start tutorial](https://cmints.io/en/quick-start).\n\nSingle and multi-language website starters can be found at\n[https://single.cmints.io/](https://single.cmints.io/) and\n[https://multi.cmints.io/](https://multi.cmints.io/) accordingly.\n\n# Features\n\n## i18n\n\n[Comprehensive internationalization](https://cmints.io/documentation/i18n/) out\nof the box for [layout](https://cmints.io/documentation/i18n/theme) and\n[translatable page content\ncreation](https://cmints.io/documentation/i18n/pages).\n\n## Theme\n\nUse [EJS](https://cmints.io/documentation/themes/ejs),\n[LESS](https://cmints.io/documentation/themes/less) and [JS\nmodules](https://cmints.io/documentation/themes/js-modules) to create amazing\n[themes](https://cmints.io/documentation/themes/) for your website.\n\n## Markdown\n\nCMintS uses CommonMark for markdown [pages\ncreation](https://cmints.io/documentation/pages), alternatively you can also\nuse EJS or a regular HTML.\n\n## TMS integration\n\n[Integrate your project with\nCrowdin](https://cmints.io/en/documentation/i18n/crowdin) and start translating\nyour website right away with the help of the translation community."}

field_body:
[CMintS](https://cmints.io/) is a CMS and Static Site Generator for single and
multi-language website creation.

Learn more about CMintS at [https://cmints.io/](https://cmints.io/). It's an
open source project and every related repository can be found in the [CMintS
GitHub organization](https://github.com/cmints).

You can either install CMintS globally as it's described in the [installation
documentation](https://cmints.io/documentation) or as a local dependency,
following the [Quick Start tutorial](https://cmints.io/en/quick-start).

Single and multi-language website starters can be found at
[https://single.cmints.io/](https://single.cmints.io/) and
[https://multi.cmints.io/](https://multi.cmints.io/) accordingly.

# Features

## i18n

[Comprehensive internationalization](https://cmints.io/documentation/i18n/) out
of the box for [layout](https://cmints.io/documentation/i18n/theme) and
[translatable page content
creation](https://cmints.io/documentation/i18n/pages).

## Theme

Use [EJS](https://cmints.io/documentation/themes/ejs),
[LESS](https://cmints.io/documentation/themes/less) and [JS
modules](https://cmints.io/documentation/themes/js-modules) to create amazing
[themes](https://cmints.io/documentation/themes/) for your website.

## Markdown

CMintS uses CommonMark for markdown [pages
creation](https://cmints.io/documentation/pages), alternatively you can also
use EJS or a regular HTML.

## TMS integration

[Integrate your project with
Crowdin](https://cmints.io/en/documentation/i18n/crowdin) and start translating
your website right away with the help of the translation community.


id: staticjinja
git_filename: src/site/generators/staticjinja.md
format: md
field_title: staticjinja
field_repo: Ceasar/staticjinja
field_homepage: http://staticjinja.readthedocs.org/en/latest/
field_language: Python
field_license: MIT
field_templates: Jinja2
field_description: Effortlessly deploy static sites with Jinja2.
data:
{"title": "staticjinja", "repo": "Ceasar/staticjinja", "homepage": "http://staticjinja.readthedocs.org/en/latest/", "language": ["Python"], "license": ["MIT"], "templates": ["Jinja2"], "description": "Effortlessly deploy static sites with Jinja2.", "body": "staticjinja is a library for easily deploying static sites using the jinja2 templating language.\n\nMost static site generators are cumbersome to use. Nevertheless, when deploying a static website that could benefit from factored out data or modular html pages (especially convenient when prototyping), a templating engine can be invaluable. (jinja2 is an extremely powerful tool in this regard.)\n\nstaticjinja is designed to be lightweight, easy-to-use, and highly extensible, enabling you to focus on simply making your site.\n\n```sh\n$ mkdir templates\n$ vim templates/index.html\n$ python -m staticjinja\nBuilding index.html...\nTemplates built.\nWatching 'templates' for changes...\nPress Ctrl+C to stop.\n```"}

field_body:
staticjinja is a library for easily deploying static sites using the jinja2 templating language.

Most static site generators are cumbersome to use. Nevertheless, when deploying a static website that could benefit from factored out data or modular html pages (especially convenient when prototyping), a templating engine can be invaluable. (jinja2 is an extremely powerful tool in this regard.)

staticjinja is designed to be lightweight, easy-to-use, and highly extensible, enabling you to focus on simply making your site.

```sh
$ mkdir templates
$ vim templates/index.html
$ python -m staticjinja
Building index.html...
Templates built.
Watching 'templates' for changes...
Press Ctrl+C to stop.
```


id: monkeyman
git_filename: src/site/generators/monkeyman.md
format: md
field_title: Monkeyman
field_repo: wspringer/monkeyman
field_homepage: https://github.com/wspringer/monkeyman
field_language: Scala
field_license: GPL-2.0-only
field_templates: Haml
field_description: Simple static site generator for Scala and middleman lovers
data:
{"title": "Monkeyman", "repo": "wspringer/monkeyman", "homepage": "https://github.com/wspringer/monkeyman", "language": ["Scala"], "license": ["GPL-2.0-only"], "templates": ["Haml"], "description": "Simple static site generator for Scala and middleman lovers", "body": "Monkeyman is a Scala static web site generator, similar to\nMiddleman. At this stage, it doesn't even come close to the features\nMiddleman has to offer, but it has one major advantage for Scala\nprogrammers: it's written in Scala.\n\nMonkeyman was created out of unease with the existing blogging\nsolutions. I know, that sounds weird, because there's an abundance of\nBlogging solutions out there, and this certainly isn't the first\nstatic web site generator. However, this tool would not have been\ncreated if there _would_ have been a solution that supports:\n\n- Layouts in HAML (or in this case, SCAML)\n- Content pages in Markdown\n- Nice permalinks\n- Offline editing and preview\n- Scala extensions\n\nIf ever such a solution arrives, then there is a chance Monkeyman will\nno longer be maintained.\n\n### Features\n\n- Jade, HAML (SCAML), Mustache, SSP for layouts\n- LESS and ZUSS to CSS transformation\n- Live preview (web server running on port 4567)\n- Live updates (monitoring file system changes)\n- Static web site generation\n- Content management through tags"}

field_body:
Monkeyman is a Scala static web site generator, similar to
Middleman. At this stage, it doesn't even come close to the features
Middleman has to offer, but it has one major advantage for Scala
programmers: it's written in Scala.

Monkeyman was created out of unease with the existing blogging
solutions. I know, that sounds weird, because there's an abundance of
Blogging solutions out there, and this certainly isn't the first
static web site generator. However, this tool would not have been
created if there _would_ have been a solution that supports:

- Layouts in HAML (or in this case, SCAML)
- Content pages in Markdown
- Nice permalinks
- Offline editing and preview
- Scala extensions

If ever such a solution arrives, then there is a chance Monkeyman will
no longer be maintained.

### Features

- Jade, HAML (SCAML), Mustache, SSP for layouts
- LESS and ZUSS to CSS transformation
- Live preview (web server running on port 4567)
- Live updates (monitoring file system changes)
- Static web site generation
- Content management through tags


id: awestruct
git_filename: src/site/generators/awestruct.md
format: md
field_title: Awestruct
field_repo: awestruct/awestruct
field_homepage: http://awestruct.org/
field_language: Ruby
field_license: MIT
field_templates: Haml
field_description: A static site-baking tool
data:
{"title": "Awestruct", "repo": "awestruct/awestruct", "homepage": "http://awestruct.org/", "language": ["Ruby"], "license": ["MIT"], "templates": ["Haml"], "description": "A static site-baking tool", "body": "Awestruct is a framework for creating static HTML sites, inspired by the Jekyll utility in the same genre.\n\nAwestruct makes it trivially easy to create non-trivial static websites using tools like Compass, Markdown, and Haml, as well as common frameworks like Twitter Bootstrap and Blueprint.\n\nThe core concept of Awestruct is that of structures, specifically Ruby `OpenStruct` structures. The struct aspect allows arbitrary, schema-less data to be associated with a specific page or the entire site.\n\nSite-specific data is automatically loaded from simple YAML files, while data can be provided on pages using a front-matter prolog."}

field_body:
Awestruct is a framework for creating static HTML sites, inspired by the Jekyll utility in the same genre.

Awestruct makes it trivially easy to create non-trivial static websites using tools like Compass, Markdown, and Haml, as well as common frameworks like Twitter Bootstrap and Blueprint.

The core concept of Awestruct is that of structures, specifically Ruby `OpenStruct` structures. The struct aspect allows arbitrary, schema-less data to be associated with a specific page or the entire site.

Site-specific data is automatically loaded from simple YAML files, while data can be provided on pages using a front-matter prolog.


id: elm-starter
git_filename: src/site/generators/elm-starter.md
format: md
field_title: elm-starter
field_repo: lucamug/elm-starter
field_homepage: https://elm-starter.guupa.com/
field_language: Elm
field_license: BSD-3-Clause
field_templates: Elm
field_description: An Elm-based bootstrapper for Elm applications that supports server side rendering
field_startertemplaterepo: https://github.com/lucamug/elm-starter
data:
{"title": "elm-starter", "repo": "lucamug/elm-starter", "homepage": "https://elm-starter.guupa.com/", "language": ["Elm"], "license": ["BSD-3-Clause"], "templates": ["Elm"], "startertemplaterepo": "https://github.com/lucamug/elm-starter", "description": "An Elm-based bootstrapper for Elm applications that supports server side rendering", "body": "`elm-starter` is an Elm-based Elm bootstrapper that can also be plugged into already existing Elm applications.\n\n# Characteristics\n\n* Generate a PWA (Progressive Web Application)\n* Mostly written in Elm\n* Pages are pre-rendered at build time\n* Works offline\n* Works without Javascript(\\*)\n* SEO\n* Preview cards (Facebook, Twitter, etc.) work as expected\n* Installable both on desktop and on mobile\n* High score with Lighthouse\n* Friendly notifications: \"Loading...\", \"Must enable Javascript...\", \"Better enable Javascript...\"\n* Potentially compatible with all Elm libraries (elm-ui, elm-spa, etc.)\n* Hopefully relatively simple to use and maintain\n* Works with Netlify, Surge, etc.\n\n# Install\n\n```\n$ git clone https://github.com/lucamug/elm-starter\n$ mv elm-starter my-new-project\n$ cd my-new-project\n$ rm -rf .git\n$ npm install\n```\n\n# Develop\n\n```\n$ npm start\n```\n\n# Build\n\n```\n$ npm run build\n```"}

field_body:
`elm-starter` is an Elm-based Elm bootstrapper that can also be plugged into already existing Elm applications.

# Characteristics

* Generate a PWA (Progressive Web Application)
* Mostly written in Elm
* Pages are pre-rendered at build time
* Works offline
* Works without Javascript(\*)
* SEO
* Preview cards (Facebook, Twitter, etc.) work as expected
* Installable both on desktop and on mobile
* High score with Lighthouse
* Friendly notifications: "Loading...", "Must enable Javascript...", "Better enable Javascript..."
* Potentially compatible with all Elm libraries (elm-ui, elm-spa, etc.)
* Hopefully relatively simple to use and maintain
* Works with Netlify, Surge, etc.

# Install

```
$ git clone https://github.com/lucamug/elm-starter
$ mv elm-starter my-new-project
$ cd my-new-project
$ rm -rf .git
$ npm install
```

# Develop

```
$ npm start
```

# Build

```
$ npm run build
```


id: lastpage
git_filename: src/site/generators/lastpage.md
format: md
field_title: lastpage
field_repo: tomzorz/lastpage
field_homepage: https://github.com/tomzorz/lastpage
field_language: .Net, C#
field_license: MIT
field_templates: Mustache
field_description: Lastpage is a .net core static website generator based on Mustachio which is based on Mustache
data:
{"title": "lastpage", "repo": "tomzorz/lastpage", "homepage": "https://github.com/tomzorz/lastpage", "language": [".Net", "C#"], "license": ["MIT"], "templates": ["Mustache"], "description": "Lastpage is a .net core static website generator based on Mustachio which is based on Mustache", "body": "Lastpage is a .net core static website generator based on Mustachio which is based on Mustache.\n\n### Features\n\n- Written in C#/.NET\n- Easy installation as a .net global tool\n- Trivial to get started using the demo template in the repo\n- Naming convention based templating\n- Use a skeleton for the site, partials for anything shared and pages for anything to be templated"}

field_body:
Lastpage is a .net core static website generator based on Mustachio which is based on Mustache.

### Features

- Written in C#/.NET
- Easy installation as a .net global tool
- Trivial to get started using the demo template in the repo
- Naming convention based templating
- Use a skeleton for the site, partials for anything shared and pages for anything to be templated


id: sitepipe
git_filename: src/site/generators/sitepipe.md
format: md
field_title: SitePipe
field_repo: ChrisPenner/SitePipe
field_homepage: https://github.com/ChrisPenner/SitePipe
field_language: Haskell
field_license: BSD-3-Clause
field_templates: Mustache
data:
{"title": "SitePipe", "repo": "ChrisPenner/SitePipe", "homepage": "https://github.com/ChrisPenner/SitePipe", "language": ["Haskell"], "license": ["BSD-3-Clause"], "templates": ["Mustache"], "description": "Yet another static site generator - non-opinionated, value-level. Less magic == easier to understand", "body": "It's a simple to understand static site generator for making blogs, personal\nwebsites, etc.\n\nInstead of dealing with complex contexts SitePipe works with _values_. Values\nare loaded from files and can be rendered into html. What happens to the values\nin-between is up to you!\n\nSitePipe provides a bunch of helpers for you, but at the end of the day you can\nfit the pipes together however you like."}

field_description:
Yet another static site generator - non-opinionated, value-level. Less magic == easier to understand

field_body:
It's a simple to understand static site generator for making blogs, personal
websites, etc.

Instead of dealing with complex contexts SitePipe works with _values_. Values
are loaded from files and can be rendered into html. What happens to the values
in-between is up to you!

SitePipe provides a bunch of helpers for you, but at the end of the day you can
fit the pipes together however you like.


id: haunt
git_filename: src/site/generators/haunt.md
format: md
field_title: Haunt
field_homepage: https://dthompson.us/projects/haunt.html
field_language: Guile
field_license: GPL-3.0-or-later
field_templates: SXML
data:
{"title": "Haunt", "homepage": "https://dthompson.us/projects/haunt.html", "language": ["Guile"], "license": ["GPL-3.0-or-later"], "templates": ["SXML"], "description": "A simple, functional, hackable static site generator that gives authors the ability to treat websites as Scheme programs.", "body": "By giving authors the full expressive power of Scheme, they are able\nto control every aspect of the site generation process. Haunt provides\na simple, functional build system that can be easily extended for this\npurpose.\n\nHaunt has no opinion about what markup language authors should use to\nwrite posts, though it comes with support for the popular Markdown\nformat. Likewise, Haunt has no opinion about how authors structure\ntheir sites. Though it comes with support for building simple blogs or\nAtom feeds, authors should feel empowered to tweak, replace, or create\nbuilders to do things that aren't provided out-of-the-box."}

field_description:
A simple, functional, hackable static site generator that gives authors the ability to treat websites as Scheme programs.

field_body:
By giving authors the full expressive power of Scheme, they are able
to control every aspect of the site generation process. Haunt provides
a simple, functional build system that can be easily extended for this
purpose.

Haunt has no opinion about what markup language authors should use to
write posts, though it comes with support for the popular Markdown
format. Likewise, Haunt has no opinion about how authors structure
their sites. Though it comes with support for building simple blogs or
Atom feeds, authors should feel empowered to tweak, replace, or create
builders to do things that aren't provided out-of-the-box.


id: tinyjam
git_filename: src/site/generators/tinyjam.md
format: md
field_title: tinyjam
field_repo: mourner/tinyjam
field_homepage: https://github.com/mourner/tinyjam
field_language: JavaScript
field_license: ISC
field_templates: EJS, Markdown
field_description: A radically simple, zero-config static site generator.
data:
{"title": "tinyjam", "repo": "mourner/tinyjam", "homepage": "https://github.com/mourner/tinyjam", "language": ["JavaScript"], "license": ["ISC"], "templates": ["EJS", "Markdown"], "description": "A radically simple, zero-config static site generator.", "body": "A bare-bones, zero-configuration **static site generator** that deliberately has **no features**, an experiment in radical simplicity. Essentially a tiny, elegant glue between [EJS templates](https://ejs.co/) and [Markdown](https://spec.commonmark.org/current/) with freeform structure (enabling incremental adoption) and convenient defaults, written in under 120 lines of JavaScript."}

field_body:
A bare-bones, zero-configuration **static site generator** that deliberately has **no features**, an experiment in radical simplicity. Essentially a tiny, elegant glue between [EJS templates](https://ejs.co/) and [Markdown](https://spec.commonmark.org/current/) with freeform structure (enabling incremental adoption) and convenient defaults, written in under 120 lines of JavaScript.


id: bagatto
git_filename: src/site/generators/bagatto.md
format: md
field_title: Bagatto
field_homepage: https://bagatto.co
field_language: Janet
field_license: BSD-3
field_templates: Temple
field_description: A transparent, extensible static site generator.
data:
{"title": "Bagatto", "homepage": "https://bagatto.co", "language": ["Janet"], "license": ["BSD-3"], "templates": ["Temple"], "description": "A transparent, extensible static site generator.", "body": "![Il Mago](https://git.sr.ht/~subsetpark/bagatto/blob/master/assets/logo-trans.png)\n\n## A transparent, extensible static site generator\n\nBagatto is a static site generator written in [Janet][janet].\n\nIt is inspired most directly by Garrett Smith's [LambdaPad][lp], a SSG\nin Erlang. LambdaPad falls more to code side of the config--code\nspectrum, and Bagatto follows that philosophy. Thus, it's designed to\nexpose the full expressive power and extensiblity of the language it's\nwritten in. Janet is a lisp that's designed for simplicity and ease of\nembedding, and thus it's a very good fit for this model.\n\n[janet]: https://janet-lang.org/index.html\n[lp]: https://github.com/gar1t/lambdapad\n\nTo create a Bagatto website, you should create a single Janet source\nfile. Because you're writing normal source code, you have the full\npower of the Janet language at your disposal. Bagatto tries to keep\nthe \"magic\" to a minimum; in all cases, it tries to make the process\nof loading source files and of generating new files completely\ntransparent, inspectable and extensible."}

field_body:
![Il Mago](https://git.sr.ht/~subsetpark/bagatto/blob/master/assets/logo-trans.png)

## A transparent, extensible static site generator

Bagatto is a static site generator written in [Janet][janet].

It is inspired most directly by Garrett Smith's [LambdaPad][lp], a SSG
in Erlang. LambdaPad falls more to code side of the config--code
spectrum, and Bagatto follows that philosophy. Thus, it's designed to
expose the full expressive power and extensiblity of the language it's
written in. Janet is a lisp that's designed for simplicity and ease of
embedding, and thus it's a very good fit for this model.

[janet]: https://janet-lang.org/index.html
[lp]: https://github.com/gar1t/lambdapad

To create a Bagatto website, you should create a single Janet source
file. Because you're writing normal source code, you have the full
power of the Janet language at your disposal. Bagatto tries to keep
the "magic" to a minimum; in all cases, it tries to make the process
of loading source files and of generating new files completely
transparent, inspectable and extensible.


id: urubu
git_filename: src/site/generators/urubu.md
format: md
field_title: Urubu
field_repo: jandecaluwe/urubu
field_homepage: http://urubu.jandecaluwe.com
field_language: Python
field_license: AGPL-3.0-or-later
field_templates: Jinja2
field_description: A micro CMS for static websites
data:
{"title": "Urubu", "repo": "jandecaluwe/urubu", "homepage": "http://urubu.jandecaluwe.com", "language": ["Python"], "license": ["AGPL-3.0-or-later"], "templates": ["Jinja2"], "description": "A micro CMS for static websites", "body": "Urubu is a micro CMS for static websites, with a focus on good navigation\npractices.\n\n- For websites, not just blogs\n- Focus on navigation\n- Ready for Bootstrap\n- Markdown content\n- Support for wiki links\n- Powerful templating with Jinja2\n- Sophisticated control\n- Built with Python\n- Ideal with git or mercurial"}

field_body:
Urubu is a micro CMS for static websites, with a focus on good navigation
practices.

- For websites, not just blogs
- Focus on navigation
- Ready for Bootstrap
- Markdown content
- Support for wiki links
- Powerful templating with Jinja2
- Sophisticated control
- Built with Python
- Ideal with git or mercurial


id: docsy
git_filename: src/site/generators/docsy.md
format: md
field_title: Docsy
field_repo: google/docsy
field_homepage: https://www.docsy.dev/
field_language: Go
field_license: Apache License 2.0
field_templates: Go
field_description: A Hugo theme for creating great technical documentation sites
field_startertemplaterepo: https://github.com/google/docsy/tree/main/layouts
data:
{"title": "Docsy", "repo": "google/docsy", "homepage": "https://www.docsy.dev/", "language": ["Go"], "license": ["Apache License 2.0"], "templates": ["Go"], "description": "A Hugo theme for creating great technical documentation sites", "startertemplaterepo": "https://github.com/google/docsy/tree/main/layouts", "twitter": "docsydocs", "body": "Docsy is a pre-configured Hugo theme that provides the core features and behaviors needed to create a technical documentation site.\n\nUse Docsy to set up your documentation website, including an optional Blog section, and then spend your time focusing on authoring technical content. Depending on how you choose to configure Docsy and whether you use a hosting service that supports continuous builds, you can even just add your Markdown or HTML content file into a folder on your source repository, and then sit back while it automatically gets added to your site - complete with updated menus."}

field_body:
Docsy is a pre-configured Hugo theme that provides the core features and behaviors needed to create a technical documentation site.

Use Docsy to set up your documentation website, including an optional Blog section, and then spend your time focusing on authoring technical content. Depending on how you choose to configure Docsy and whether you use a hosting service that supports continuous builds, you can even just add your Markdown or HTML content file into a folder on your source repository, and then sit back while it automatically gets added to your site - complete with updated menus.


id: scalatic
git_filename: src/site/generators/scalatic.md
format: md
field_title: Scalatic
field_repo: padurean/scalatic
field_homepage: http://functionalprogramming.ro/scalatic
field_language: Scala
field_license: MIT
field_description: Dead simple static blog generator written in Scala.
data:
{"title": "Scalatic", "repo": "padurean/scalatic", "homepage": "http://functionalprogramming.ro/scalatic", "language": ["Scala"], "license": ["MIT"], "templates": [], "description": "Dead simple static blog generator written in Scala.", "body": "Scalatic is a simple, blog-aware, static site generator perfect for personal, project, or organization sites. Think of it like a file-based CMS, without all the complexity. Scalatic takes your content, renders GitHub flavored Markdown templates using the GitHub API, and spits out a complete, static website ready to be served by Apache, Nginx or another web server. A typical usage of Scalatic is to host blogs using [GitHub Pages](http://pages.github.com), which you can use to host sites right from your GitHub repositories.\n\n### Philosophy\n\nScalatic has been created with simplicity in mind: all you need to do is get the [executable .JAR](https://github.com/padurean/scalatic/releases) and run it using `java -jar scalatic-X.X.X.jar /path/to/your/blog`. The only parameter required is the path to your blog source files. Scalatic gets out of your way and allows you to concentrate on what truly matters: your content."}

field_body:
Scalatic is a simple, blog-aware, static site generator perfect for personal, project, or organization sites. Think of it like a file-based CMS, without all the complexity. Scalatic takes your content, renders GitHub flavored Markdown templates using the GitHub API, and spits out a complete, static website ready to be served by Apache, Nginx or another web server. A typical usage of Scalatic is to host blogs using [GitHub Pages](http://pages.github.com), which you can use to host sites right from your GitHub repositories.

### Philosophy

Scalatic has been created with simplicity in mind: all you need to do is get the [executable .JAR](https://github.com/padurean/scalatic/releases) and run it using `java -jar scalatic-X.X.X.jar /path/to/your/blog`. The only parameter required is the path to your blog source files. Scalatic gets out of your way and allows you to concentrate on what truly matters: your content.


id: vitepress
git_filename: src/site/generators/vitepress.md
format: md
field_title: VitePress
field_repo: vuejs/vitepress
field_homepage: https://github.com/vuejs/vitepress
field_language: JavaScript
field_license: MIT
field_templates: Vue
field_description: Vue-powered Static Site Generator based on vite
field_startertemplaterepo: https://github.com/anishkny/vitepress-starter
data:
{"title": "VitePress", "repo": "vuejs/vitepress", "homepage": "https://github.com/vuejs/vitepress", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Vue"], "description": "Vue-powered Static Site Generator based on vite", "startertemplaterepo": "https://github.com/anishkny/vitepress-starter", "twitter": "vuejs", "body": "[VuePress](http://vuepress.vuejs.org/)' little brother, built on top of [vite](https://github.com/vuejs/vite)\n\nSee details at: https://github.com/vuejs/vitepress"}

field_body:
[VuePress](http://vuepress.vuejs.org/)' little brother, built on top of [vite](https://github.com/vuejs/vite)

See details at: https://github.com/vuejs/vitepress


id: vite
git_filename: src/site/generators/vite.md
format: md
field_title: Vite
field_repo: icyphox/vite
field_homepage: https://github.com/icyphox/vite
field_language: Python
field_license: MIT
field_templates: Jinja2
field_description: A simple and minimal static site generator
data:
{"title": "Vite", "repo": "icyphox/vite", "homepage": "https://github.com/icyphox/vite", "language": ["Python"], "license": ["MIT"], "templates": ["Jinja2"], "description": "A simple and minimal static site generator", "body": "A simple and minimal static site generator that *just works*\u2122.\n\n> Sometimes, less is more\n\n## Installation\n\n`pip install vite`\n\n## Usage\n\n`vite new [path]`  \n`vite build`  \n`vite serve`\n\nThat's it, no nonsense."}

field_body:
A simple and minimal static site generator that *just works*™.

> Sometimes, less is more

## Installation

`pip install vite`

## Usage

`vite new [path]`  
`vite build`  
`vite serve`

That's it, no nonsense.


id: sergey
git_filename: src/site/generators/sergey.md
format: md
field_title: Sergey
field_repo: trys/sergey
field_homepage: https://sergey.cool/
field_language: JavaScript
field_license: MIT
field_templates: HTML
field_description: The little static site generator
field_startertemplaterepo: https://github.com/trys/sergey-netlify
data:
{"title": "Sergey", "repo": "trys/sergey", "homepage": "https://sergey.cool/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["HTML"], "description": "The little static site generator", "startertemplaterepo": "https://github.com/trys/sergey-netlify", "body": "Sergey is a tiny lil\u2019 static site generator. It\u2019s a progressive tool designed to sit atop your already brilliant HTML. In essence, Sergey is HTML + partials with slots (named and default) & opt-in Markdown thrown in for good measure.\n\nIf you\u2019ve ever had to make a change to every header on a totally static website, you\u2019ll know how cumbersome and error-prone it is to copy and paste the changes through all the files. That\u2019s where Sergey comes in. Sergey lets you move that header into a single, importable file, and helps you include it everywhere you need it.\n\n### Features\n\n- Partials\n- Named slots\n- Default slots\n- Fallback slot content\n- Markdown (optional)\n- Static files\n- Dev server"}

field_body:
Sergey is a tiny lil’ static site generator. It’s a progressive tool designed to sit atop your already brilliant HTML. In essence, Sergey is HTML + partials with slots (named and default) & opt-in Markdown thrown in for good measure.

If you’ve ever had to make a change to every header on a totally static website, you’ll know how cumbersome and error-prone it is to copy and paste the changes through all the files. That’s where Sergey comes in. Sergey lets you move that header into a single, importable file, and helps you include it everywhere you need it.

### Features

- Partials
- Named slots
- Default slots
- Fallback slot content
- Markdown (optional)
- Static files
- Dev server


id: bolt
git_filename: src/site/generators/bolt.md
format: md
field_title: Bolt
field_repo: argyleink/bolt
field_homepage: http://argyleink.github.io/Bolt
field_language: JavaScript
field_license: MIT
field_templates: Jade, Any JS
field_description: ⚡ is a fast, organized, mobile first Grunt seed project for fast static apps.
data:
{"title": "Bolt", "repo": "argyleink/bolt", "homepage": "http://argyleink.github.io/Bolt", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Jade", "Any JS"], "description": "\u26a1 is a fast, organized, mobile first Grunt seed project for fast static apps.", "body": "### Why use Bolt?\n\n1. Dev builds are extremely legible, source mapped, and ready for debugging with your tools `grunt`\n1. Production builds squish the crap out [images,css,html,js,svg] `grunt --prod`\n1. Dev and Prod builds have their own output directory, they don't share a `dist/` folder\n1. Very fast concurrent Grunt builds with jit a plugin for really fast watch task running\n1. Concise [Grunt main file](https://github.com/argyleink/Bolt/blob/master/gruntfile.coffee)\n1. [Grunt tasks](https://github.com/argyleink/Bolt/tree/master/tasks) are individual, short, easy as hell to read\n1. [Configuration file](https://github.com/argyleink/Bolt/blob/master/app.coffee) keeps project assets and plugins centralized\n1. Bower libs go straight into jade and stylus for you\n1. [BrowserSync](http://www.browsersync.io) dev server syncs all your clicks, scrolls, and more during development\n1. BrowserSync live reload and hot css pushes for really rad fast front end crafting\n1. BrowserSync Weinre remote inspect built in\n1. Externally accessible server\n1. Proper [Jade inheritance](https://github.com/paulyoung/jade-inheritance) compilation, so 1 file changed doesn't require the whole project to compile\n1. [Auto generated](https://github.com/argyleink/Bolt/blob/master/tasks/manifest.coffee) HTML5 appcache for production builds\n1. Autoprefixed stylus\n1. 2 powerful stylus mixin libraries [Nib](https://github.com/stylus/nib) and [Axis](http://axis.netlify.com) (will never bloat your file with crap you aren't using)\n1. Git tagging and releasing `grunt bump`\n1. Easily create custom [build notifications](https://github.com/argyleink/Bolt/blob/master/tasks/notify.coffee)\n1. Customize your crunched files comment banner\n1. Ready to run custom [shell commands](https://github.com/argyleink/Bolt/blob/master/tasks/shell.coffee)\n1. Concurrent image crunching\n1. [Sublime project file](https://github.com/argyleink/Bolt/blob/master/app.sublime-project) for easy project editing and standards establishment\n1. Grunt [Heroku](https://github.com/argyleink/Bolt/wiki/Deployments) task for easy CI integration `grunt heroku`\n1. [CLI](https://github.com/argyleink/Bolt-cli) for easy setup of new projects `bolt new my_app`\n\n## Goal\n\nOffer a FAST, Grunt based, rather un-opinionated build system. Use it for whatever. The project seed I've made here is a cache heavy, smart loading, mobile first, front end static site project for ya. It comes with [Jade](http://jade-lang.com/) & [Stylus](http://learnboost.github.io/stylus/) as defaults, but swap it for whatever you want, easily. Or want more than 1 preprocessor, it's ready. At the end of the day, it's [Grunt](http://gruntjs.com/), do whatever you want.\n\nThis project's default setup is for creating static sites to be hosted somewhere on the web. This could be a webview hybrid app, single page app, marketing site, who cares. This tool comes with all the tips, tricks, meta data, and automated tasks that help you build quick and efficient front ends across browsers."}

field_body:
### Why use Bolt?

1. Dev builds are extremely legible, source mapped, and ready for debugging with your tools `grunt`
1. Production builds squish the crap out [images,css,html,js,svg] `grunt --prod`
1. Dev and Prod builds have their own output directory, they don't share a `dist/` folder
1. Very fast concurrent Grunt builds with jit a plugin for really fast watch task running
1. Concise [Grunt main file](https://github.com/argyleink/Bolt/blob/master/gruntfile.coffee)
1. [Grunt tasks](https://github.com/argyleink/Bolt/tree/master/tasks) are individual, short, easy as hell to read
1. [Configuration file](https://github.com/argyleink/Bolt/blob/master/app.coffee) keeps project assets and plugins centralized
1. Bower libs go straight into jade and stylus for you
1. [BrowserSync](http://www.browsersync.io) dev server syncs all your clicks, scrolls, and more during development
1. BrowserSync live reload and hot css pushes for really rad fast front end crafting
1. BrowserSync Weinre remote inspect built in
1. Externally accessible server
1. Proper [Jade inheritance](https://github.com/paulyoung/jade-inheritance) compilation, so 1 file changed doesn't require the whole project to compile
1. [Auto generated](https://github.com/argyleink/Bolt/blob/master/tasks/manifest.coffee) HTML5 appcache for production builds
1. Autoprefixed stylus
1. 2 powerful stylus mixin libraries [Nib](https://github.com/stylus/nib) and [Axis](http://axis.netlify.com) (will never bloat your file with crap you aren't using)
1. Git tagging and releasing `grunt bump`
1. Easily create custom [build notifications](https://github.com/argyleink/Bolt/blob/master/tasks/notify.coffee)
1. Customize your crunched files comment banner
1. Ready to run custom [shell commands](https://github.com/argyleink/Bolt/blob/master/tasks/shell.coffee)
1. Concurrent image crunching
1. [Sublime project file](https://github.com/argyleink/Bolt/blob/master/app.sublime-project) for easy project editing and standards establishment
1. Grunt [Heroku](https://github.com/argyleink/Bolt/wiki/Deployments) task for easy CI integration `grunt heroku`
1. [CLI](https://github.com/argyleink/Bolt-cli) for easy setup of new projects `bolt new my_app`

## Goal

Offer a FAST, Grunt based, rather un-opinionated build system. Use it for whatever. The project seed I've made here is a cache heavy, smart loading, mobile first, front end static site project for ya. It comes with [Jade](http://jade-lang.com/) & [Stylus](http://learnboost.github.io/stylus/) as defaults, but swap it for whatever you want, easily. Or want more than 1 preprocessor, it's ready. At the end of the day, it's [Grunt](http://gruntjs.com/), do whatever you want.

This project's default setup is for creating static sites to be hosted somewhere on the web. This could be a webview hybrid app, single page app, marketing site, who cares. This tool comes with all the tips, tricks, meta data, and automated tasks that help you build quick and efficient front ends across browsers.


id: blazorstatic
git_filename: src/site/generators/blazorstatic.md
format: md
field_title: BlazorStatic
field_repo: tesar-tech/BlazorStatic
field_homepage: https://github.com/tesar-tech/BlazorStatic
field_language: C#, .Net
field_license: AGPL-3.0 license
field_templates: Razor
field_description: Transform your Blazor app into a static site generator
data:
{"title": "BlazorStatic", "repo": "tesar-tech/BlazorStatic", "homepage": "https://github.com/tesar-tech/BlazorStatic", "language": ["C#", ".Net"], "license": ["AGPL-3.0 license"], "templates": ["Razor"], "description": "Transform your Blazor app into a static site generator", "body": "Embrace the capabilities of Blazor on .NET 8 to craft static websites.\n\n## Recommended Starting Point\n\nFork or clone [BlazorStaticMinimalBlog](https://github.com/tesar-tech/BlazorStaticMinimalBlog). If offers a quick and convenient way to deploy your site within minutes.\n\nDive deeper into BlazorStatic and discover its full capabilities! Visit the [BlazorStatic repository](https://github.com/tesar-tech/BlazorStatic) for a comprehensive breakdown of its features and functionalities."}

field_body:
Embrace the capabilities of Blazor on .NET 8 to craft static websites.

## Recommended Starting Point

Fork or clone [BlazorStaticMinimalBlog](https://github.com/tesar-tech/BlazorStaticMinimalBlog). If offers a quick and convenient way to deploy your site within minutes.

Dive deeper into BlazorStatic and discover its full capabilities! Visit the [BlazorStatic repository](https://github.com/tesar-tech/BlazorStatic) for a comprehensive breakdown of its features and functionalities.


id: docfx
git_filename: src/site/generators/docfx.md
format: md
field_title: DocFX
field_repo: dotnet/docfx
field_homepage: https://dotnet.github.io/docfx
field_language: C#
field_license: MIT
field_templates: Mustache, Liquid
field_description: A documentation generation tool for API reference and Markdown files.
data:
{"title": "DocFX", "repo": "dotnet/docfx", "homepage": "https://dotnet.github.io/docfx", "language": ["C#"], "license": ["MIT"], "templates": ["Mustache", "Liquid"], "description": "A documentation generation tool for API reference and Markdown files.", "body": "DocFX is an API documentation generator for .NET, and currently it supports C# and VB.\nIt generates API reference documentation from triple-slash comments in your source code.\nIt also allows you to use Markdown files to create additional topics such as tutorials and how-tos, and to customize the generated reference documentation. DocFX builds a static HTML website from your source code and Markdown files, which can be easily hosted on any web servers (for example, github.io). Also, DocFX provides you the flexibility to customize the layout and style of your website through templates. If you are interested in creating your own website with your own styles, you can follow how to create custom template to create custom templates.\n\nDocFX also has the following cool features:\n\n- Integration with your source code. You can click \"View Source\" on an API to navigate to the source code in GitHub (your source code must be pushed to GitHub).\n- Cross-platform support. We have exe version that runs under Windows. It can also runs cross platforms on Linux/macOS with Mono.\n- Integration with Visual Studio. You can seamlessly use DocFX within Visual Studio with `Install-Package docfx.console`\n- Markdown extensions. We introduced DocFX Flavored Markdown(DFM) to help you write API documentation. DFM is 100% compatible with GitHub Flavored Markdown(GFM) with some useful extensions, like file inclusion, code snippet, cross reference, and yaml header. For detailed description about DFM, please refer to DFM.\n- VSCode integration. Install `docfx` extension in vscode to preview the content in real-time."}

field_body:
DocFX is an API documentation generator for .NET, and currently it supports C# and VB.
It generates API reference documentation from triple-slash comments in your source code.
It also allows you to use Markdown files to create additional topics such as tutorials and how-tos, and to customize the generated reference documentation. DocFX builds a static HTML website from your source code and Markdown files, which can be easily hosted on any web servers (for example, github.io). Also, DocFX provides you the flexibility to customize the layout and style of your website through templates. If you are interested in creating your own website with your own styles, you can follow how to create custom template to create custom templates.

DocFX also has the following cool features:

- Integration with your source code. You can click "View Source" on an API to navigate to the source code in GitHub (your source code must be pushed to GitHub).
- Cross-platform support. We have exe version that runs under Windows. It can also runs cross platforms on Linux/macOS with Mono.
- Integration with Visual Studio. You can seamlessly use DocFX within Visual Studio with `Install-Package docfx.console`
- Markdown extensions. We introduced DocFX Flavored Markdown(DFM) to help you write API documentation. DFM is 100% compatible with GitHub Flavored Markdown(GFM) with some useful extensions, like file inclusion, code snippet, cross reference, and yaml header. For detailed description about DFM, please refer to DFM.
- VSCode integration. Install `docfx` extension in vscode to preview the content in real-time.


id: lume
git_filename: src/site/generators/lume.md
format: md
field_title: Lume
field_repo: lumeland/lume
field_homepage: https://lume.land/
field_language: JavaScript (Deno)
field_license: MIT
field_templates: Nunjucks, JSX, ETA, JavaScript, Typescript, HTML, Markdown, Yaml
field_description: 🔥 Easy and flexible static site generator for Deno 🦕
data:
{"title": "Lume", "repo": "lumeland/lume", "homepage": "https://lume.land/", "language": ["JavaScript (Deno)"], "license": ["MIT"], "templates": ["Nunjucks", "JSX", "ETA", "JavaScript", "Typescript", "HTML", "Markdown", "Yaml"], "description": "\ud83d\udd25 Easy and flexible static site generator for Deno \ud83e\udd95", "body": "**\ud83d\udd25 Lume** is the galician word for *fire,* but also a (yet another) static site generator for Deno.\n\nIt's inspired in other general purpose static site generators such Jekyll or Eleventy but it's simpler and easier to use and configure, besides being super flexible.\n\n- Support for **multiple file formats** like `markdown`, `yaml`, `javascript`, `typescript`, `jsx`, `nunjucks` and it's easy to extend.\n- You can hook **any processor** to transform assets, like `sass` or `postcss` for CSS.\n- It's Deno: forget about manage thousand of packages in `node_modules` or complex bundlers. Lume only install that you need. Clean, fast and secure."}

field_body:
**🔥 Lume** is the galician word for *fire,* but also a (yet another) static site generator for Deno.

It's inspired in other general purpose static site generators such Jekyll or Eleventy but it's simpler and easier to use and configure, besides being super flexible.

- Support for **multiple file formats** like `markdown`, `yaml`, `javascript`, `typescript`, `jsx`, `nunjucks` and it's easy to extend.
- You can hook **any processor** to transform assets, like `sass` or `postcss` for CSS.
- It's Deno: forget about manage thousand of packages in `node_modules` or complex bundlers. Lume only install that you need. Clean, fast and secure.


id: graze
git_filename: src/site/generators/graze.md
format: md
field_title: graze
field_repo: mikoskinen/graze
field_homepage: http://mikaelkoskinen.net/graze-static-site-generator-using-razor
field_language: .Net
field_license: MIT
field_templates: Razor
field_description: Static site generator using Razor.
data:
{"title": "graze", "repo": "mikoskinen/graze", "homepage": "http://mikaelkoskinen.net/graze-static-site-generator-using-razor", "language": [".Net"], "license": ["MIT"], "templates": ["Razor"], "description": "Static site generator using Razor.", "body": "Graze is a static site generator. It takes a template and a configuration file and generates a static web site. The generated site is pure HTML / CSS / JavaScript and can be hosted on any web server. The Graze templates are created using the Razor Syntax."}

field_body:
Graze is a static site generator. It takes a template and a configuration file and generates a static web site. The generated site is pure HTML / CSS / JavaScript and can be hosted on any web server. The Graze templates are created using the Razor Syntax.


id: grain
git_filename: src/site/generators/grain.md
format: md
field_title: Grain
field_repo: sysgears/grain
field_homepage: http://sysgears.com/grain
field_language: Groovy
field_license: Apache-2.0
field_templates: Groovy
field_description: A generator for sites, blogs & documentation, supports Markdown, AsciiDoc and RST
data:
{"title": "Grain", "repo": "sysgears/grain", "homepage": "http://sysgears.com/grain", "language": ["Groovy"], "license": ["Apache-2.0"], "templates": ["Groovy"], "description": "A generator for sites, blogs & documentation, supports Markdown, AsciiDoc and RST", "body": "Grain is a wide-purpose static website generator for Groovy / Gradle.\n\n#### Features\n\n- **Live preview** to make and see changes on the fly\n- **Embedded Groovy code** processing for content files and templates\n- **Resource URL mapping** to dynamically create pages or rewrite URLs\n- **Template nesting** and **tag libraries** for DRY code\n\n#### Supports\n\n- **Markdown**, **reStructuredText** and **AsciiDoc**\n- **Python Pygments** code highlighting\n- **SASS / SCSS** stylesheets\n- Source compression and minification\n\n#### Comes with\n\n- **Bootstrap themes** and examples for easy start\n- **Gradle plugin** for integration with existing projects"}

field_body:
Grain is a wide-purpose static website generator for Groovy / Gradle.

#### Features

- **Live preview** to make and see changes on the fly
- **Embedded Groovy code** processing for content files and templates
- **Resource URL mapping** to dynamically create pages or rewrite URLs
- **Template nesting** and **tag libraries** for DRY code

#### Supports

- **Markdown**, **reStructuredText** and **AsciiDoc**
- **Python Pygments** code highlighting
- **SASS / SCSS** stylesheets
- Source compression and minification

#### Comes with

- **Bootstrap themes** and examples for easy start
- **Gradle plugin** for integration with existing projects


id: gridsome
git_filename: src/site/generators/gridsome.md
format: md
field_title: Gridsome
field_repo: gridsome/gridsome
field_homepage: https://gridsome.org/
field_language: JavaScript
field_license: MIT
field_templates: Vue
field_description: Build blazing fast websites for any CMS or data with Vue.js
field_startertemplaterepo: https://github.com/gridsome/gridsome-starter-default
data:
{"title": "Gridsome", "repo": "gridsome/gridsome", "homepage": "https://gridsome.org/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Vue"], "description": "Build blazing fast websites for any CMS or data with Vue.js", "startertemplaterepo": "https://github.com/gridsome/gridsome-starter-default", "twitter": "gridsome", "body": "Build blazing fast websites for any CMS or data with Vue.js\n\n![How Gridsome work](https://thepracticaldev.s3.amazonaws.com/i/878bujtx44yni3oub1hf.gif)\n\n# How Gridsome works\n\nUse local files or any external API as a data source and access the data from a unified GraphQL layer\n\n## Connect to any CMS or data source\n\nUse any CMS or data source for content. Pull data from WordPress, Contentful, local Markdown, or any other headless CMS or APIs and access it with GraphQL in your pages and components.\n\n## Enjoy a modern development stack\n\nBuild websites with modern tools like Vue.js, webpack and Node.js. Get hot-reloading and access to any packages from npm and write CSS in your favorite preprocessor like Sass or Less with autoprefixing.\n\n## PWA Offline-first architecture\n\nOnly critical HTML, CSS, and JavaScript get loaded first. The next pages are then prefetched so users can click around incredibly fast without page reloads, even when offline.\n\n## Get perfect page speed scores\n\nGridsome automatically optimises your frontend to load and perform blazing fast. You get code-splitting, image optimisation, lazy-loading, and almost perfect lighthouse scores out-of-the-box.\n\n## Build future ready websites\n\nThe future of the web is JavaScript, API's, and Markup - the Jamstack. Gridsome uses the power of blazing-fast static site generator, JavaScript and APIs to create stunning dynamic web experiences.\n\n## Ready for global domination\n\nGridsome sites are usually not connected to any database and can be hosted entirely on a global CDN. It can handle thousands to millions of hits without breaking - and no expensive server costs."}

field_body:
Build blazing fast websites for any CMS or data with Vue.js

![How Gridsome work](https://thepracticaldev.s3.amazonaws.com/i/878bujtx44yni3oub1hf.gif)

# How Gridsome works

Use local files or any external API as a data source and access the data from a unified GraphQL layer

## Connect to any CMS or data source

Use any CMS or data source for content. Pull data from WordPress, Contentful, local Markdown, or any other headless CMS or APIs and access it with GraphQL in your pages and components.

## Enjoy a modern development stack

Build websites with modern tools like Vue.js, webpack and Node.js. Get hot-reloading and access to any packages from npm and write CSS in your favorite preprocessor like Sass or Less with autoprefixing.

## PWA Offline-first architecture

Only critical HTML, CSS, and JavaScript get loaded first. The next pages are then prefetched so users can click around incredibly fast without page reloads, even when offline.

## Get perfect page speed scores

Gridsome automatically optimises your frontend to load and perform blazing fast. You get code-splitting, image optimisation, lazy-loading, and almost perfect lighthouse scores out-of-the-box.

## Build future ready websites

The future of the web is JavaScript, API's, and Markup - the Jamstack. Gridsome uses the power of blazing-fast static site generator, JavaScript and APIs to create stunning dynamic web experiences.

## Ready for global domination

Gridsome sites are usually not connected to any database and can be hosted entirely on a global CDN. It can handle thousands to millions of hits without breaking - and no expensive server costs.


id: hugo
git_filename: src/site/generators/hugo.md
format: md
field_title: Hugo
field_repo: gohugoio/hugo
field_homepage: https://gohugo.io/
field_language: Go
field_license: Apache-2.0
field_templates: Go
field_description: A Fast and Flexible Static Site Generator.
field_startertemplaterepo: https://github.com/netlify-templates/hugo-quickstart
data:
{"title": "Hugo", "repo": "gohugoio/hugo", "homepage": "https://gohugo.io/", "language": ["Go"], "license": ["Apache-2.0"], "templates": ["Go"], "description": "A Fast and Flexible Static Site Generator.", "startertemplaterepo": "https://github.com/netlify-templates/hugo-quickstart", "twitter": "GoHugoIO", "body": "Hugo is a static site generator written in Go. It is optimized for\nspeed, easy use and configurability. Hugo takes a directory with content and\ntemplates and renders them into a full html website.\n\nHugo makes use of Markdown files with front matter for meta data.\n\nA typical website of moderate size can be\nrendered in a fraction of a second. A good rule of thumb is that Hugo\ntakes around 1 millisecond for each piece of content.\n\nIt is written to work well with any\nkind of website including blogs, tumbles and docs."}

field_body:
Hugo is a static site generator written in Go. It is optimized for
speed, easy use and configurability. Hugo takes a directory with content and
templates and renders them into a full html website.

Hugo makes use of Markdown files with front matter for meta data.

A typical website of moderate size can be
rendered in a fraction of a second. A good rule of thumb is that Hugo
takes around 1 millisecond for each piece of content.

It is written to work well with any
kind of website including blogs, tumbles and docs.


id: jus
git_filename: src/site/generators/jus.md
format: md
field_title: jus
field_repo: jus/jus
field_homepage: http://jus.js.org
field_language: JavaScript
field_license: MIT
field_templates: Handlebars
field_description: dev server and build tool with no configuration and no boilerplate code
data:
{"title": "jus", "repo": "jus/jus", "homepage": "http://jus.js.org", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Handlebars"], "description": "dev server and build tool with no configuration and no boilerplate code", "body": "jus is a development server and build tool for making static websites with no configuration and no boilerplate code. It has built-in support for [browserify](https://github.com/substack/browserify-handbook#readme), ES6 and ES2015 with [Babel](http://babeljs.io/), [React JSX](http://babeljs.io/docs/plugins/preset-react/), GitHub Flavored markdown, syntax highlighting, [Sass](http://sass-lang.com/), [Less](http://lesscss.org/), [Stylus](http://stylus-lang.com/), [Myth](http://www.myth.io/), [Handlebars](http://handlebarsjs.com/), [browsersync](https://browsersync.io/) and more.\n\n## Why?\n\nThe year is 2016 and you're building a new website. At first you just create a single HTML file with some inline scripts and style tags. This works for a bit, but soon your code grows and you decide to extract the styles and scripts into standalone files. This is slightly better, but eventually you want to do something more sophisticated, like writing your stylesheets in Sass, or concatenating and minifying assets, or using npm dependencies with [browserify](https://github.com/substack/browserify-handbook). These conveniences are essential to building a website of any magnitude, but setting them up is tedious and time-consuming. It's at this point in the project that your attention turns from the creative to the mundane. Rather than building, you're now configuring.\n\nIn this day and age, most developers would turn to [Gulp](http://gulpjs.com/), [npm scripts](http://substack.net/task_automation_with_npm_run), [Jekyll](https://www.staticgen.com/jekyll) or one of [dozens of static site tools](https://www.staticgen.com). This is where jus comes in as an alternative.\n\nThere is no setup with jus. It has just two commands: `serve` and `build`. Run `jus serve` in your project directory and you've got a live develpment server running, watching for file changes, autorefreshing your browser with [browsersync](https://browsersync.io/), and serving your content with [clean URLs](#clean-urls). Write a `foo.sass` file and it'll be served at `/foo.css`. Use an npm-style `require` statement in your script, and jus will serve it up as a browserified bundle. Write React's JSX syntax and it'll be transpiled to javascript on the fly. Write a GitHub-flavored `/markdown/file.md` and it'll be served as syntax-highlighted HTML at `/markdown/file`.\n\nWhen it's time to deploy, run `jus build` to compile your site down into plain old HTML, CSS, and Javascript files, ready for deployment to [GitHub Pages](#deployment-to-github-pages), [Surge](#deployment-to-surge), or any other static site host that supports clean URLs.\n\n## Getting Started\n\njus requires [node 4](https://nodejs.org/en/download/) or greater, because it uses some newer Javascript features. Install the command-line interface globally, then run it to see usage instructions:\n\n```sh\nnpm i -g jus && jus\n```\n\njus has a lot of dependencies, so it takes a while to install. Maybe go grab a :coffee: and read up\non [how to make npm faster](https://addyosmani.com/blog/using-npm-offline/).\n\nIf you like to learn by example, check out the repos of [sites using jus](#sites-using-jus). Otherwise, read on...\n\n## Pages\n\nPages are written in Markdown, HTML, Handlebars, or any combination thereof. At render time each page is passed a [Handlebars context object](#context) containing metadata about all the files in the directory.\n\n- Markdown parsing with [marky-markdown](http://npm.im/marky-markdown), the battle-tested [commonmark](http://commonmark.org/)-compliant parser used by [npmjs.com](https://npmjs.com).\n- GitHub-flavored Markdown support, including [fenced code blocks](https://help.github.com/articles/creating-and-highlighting-code-blocks/)\n- Syntax Highlighting powered by [Atom](https://atom.io)'s [highlights](https://npm.im/highlights) package.\n- Markdown headings (`H1`, `H2`, etc) are automatically converted to anchored hyperlinks.\n- Emoji support. Converts :emoji:-style shortcuts to unicode emojis.\n- [HTML frontmatter](#frontmatter) as page metadata\n\nExtensions: `html|hbs|handlebars|markdown|md`\n\n## Scripts\n\nAll javascript files in your project are automatically [browserified](https://github.com/substack/browserify-handbook#readme) and [babelified](https://www.npmjs.com/package/babelify) using the `es2015` and `react` presets.\n\nYou can use node-style `require` statements to include node and npm modules in your code:\n\n```js\nconst url = require('url').parse('https://example.com')\n\nconsole.log(`the domain is ${url.host}`)\n```\n\nYou can also use [ES6-style imports](http://babeljs.io/docs/learn-es2015/#modules), if you prefer:\n\n```js\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport domready from 'domready'\n\ndomready(() => {\n  // do some React magic\n})\n```\n\nScripts are browserified using [`babel-preset-react`](https://babeljs.io/docs/plugins/preset-react/), so you\ncan write JSX in your scripts.\n\nExtensions: `js|jsx|es|es6`\n\n## Stylesheets\n\nStylesheets can be written in\n[Sass](http://sass-lang.com/),\n[SCSS](http://sass-lang.com/),\n[Less](http://lesscss.org/),\n[Stylus](http://stylus-lang.com/),\n[Myth](http://www.myth.io/),\nor plain old CSS. Use whatever preprocessor suits your fancy.\n\nExtensions: `css|less|sass|scss|styl`\n\n## Context\n\nWhen the jus server is initialized, it recursively finds all the files in the directory tree,\nignoring `node_modules`, `.git`, and other unwanted patterns. These files are then stored in\nmemory in an array called `files`. For convenience, this list of files is broken down\ninto smaller arrays by type: an array for `pages`, another array for `scripts`, etc.\n\n```js\n{\n  files: [...],\n  pages: [...]\n  scripts: [...]\n  stylesheets: [...]\n  images: [...]\n  datafiles: [...]\n}\n```\n\nWhen you request a page, the server renders the page on the fly, passing this object to the\ngiven page's template. This means every page has access to metadata about\nevery file in the site at render time.\n\nUsing handlebars in your pages is entirely optional. If your pages don't need to do any dynamic rendering at build time, that's okay. The context will simply be ignored at render time.\n\n## Frontmatter\n\njus supports [HTML frontmatter](https://github.com/zeke/html-frontmatter#readme). This allows you to add key-value metadata to your pages:\n\n```html\n<!--\ntitle: Alice in Wonderland\nyear: 1951\n-->\n```\n\nAny such values present in an HTML comment at the top of a page are made available in that page's [Handlebars context object](#context) at render time.\n\nNote: Jekyll uses YAML for frontmatter, but jus uses HTML, because it can be included in a file without adversely affecting the way it renders on github.com.\n\n## Templates\n\nHandlebars templates can be used to wrap layouts around your pages.\n\n- If a file named `/layout.(html|hbs|handlebars|markdown|md)` is present, it will be applied to all pages by default.\n- Templates must include a `{{{body}}}` string, to be used as a placeholder for where the main content should be rendered.\n- Templates must have the word `layout` in their filename.\n- Pages can specify a custom layout in their [frontmatter](#frontmatter). Specifying `layout: foo` will refer to the `/layout-foo.(html|hbs|handlebars|markdown|md)` layout file.\n- Pages can disable layout by setting `layout: false` in their frontmatter.\n\nExtensions: `html|hbs|handlebars|markdown|md|mdown`\n\n### Helpers\n\njus provides a number of helper functions you can use in your handlebars\ntemplates. All of the helpers are from [lobars](https://github.com/zeke/lobars),\na collection of utility functions plucked directly from\n[lodash](https://lodash.com/).\n\nlobars includes **comparison helpers** like\n[endsWith](https://lodash.com/docs#endsWith),\n[eq](https://lodash.com/docs#eq),\n[gt](https://lodash.com/docs#gt),\n[gte](https://lodash.com/docs#gte),\n[includes](https://lodash.com/docs#includes),\n[isArray](https://lodash.com/docs#isArray),\n[isBoolean](https://lodash.com/docs#isBoolean),\n[isDate](https://lodash.com/docs#isDate),\n[isEmpty](https://lodash.com/docs#isEmpty),\n[isMatch](https://lodash.com/docs#isMatch),\n[isNumber](https://lodash.com/docs#isNumber),\n[isString](https://lodash.com/docs#isString),\n[isSymbol](https://lodash.com/docs#isSymbol),\n[isUndefined](https://lodash.com/docs#isUndefined),\n[lt](https://lodash.com/docs#lt),\n[lte](https://lodash.com/docs#lte),\n[startsWith](https://lodash.com/docs#startsWith) and more.\n\nHere's an example use of the `gte` (greater than or equal to) helper:\n\n```handlebars\n\\{{#gte age 21}}\n  You are old enough to drink in the United States.\n\\{{/gte}}\n```\n\nlobars also provides helpers for manipulating input like\n[camelCase](https://lodash.com/docs#camelCase),\n[capitalize](https://lodash.com/docs#capitalize),\n[escape](https://lodash.com/docs#escape),\n[kebabCase](https://lodash.com/docs#kebabCase),\n[lowerCase](https://lodash.com/docs#lowerCase),\n[lowerFirst](https://lodash.com/docs#lowerFirst),\n[pad](https://lodash.com/docs#pad),\n[padEnd](https://lodash.com/docs#padEnd),\n[padStart](https://lodash.com/docs#padStart),\n[parseInt](https://lodash.com/docs#parseInt),\n[repeat](https://lodash.com/docs#repeat),\n[replace](https://lodash.com/docs#replace),\n[snakeCase](https://lodash.com/docs#snakeCase),\n[split](https://lodash.com/docs#split),\n[startCase](https://lodash.com/docs#startCase),\n[template](https://lodash.com/docs#template),\n[toLower](https://lodash.com/docs#toLower),\n[toUpper](https://lodash.com/docs#toUpper),\n[trim](https://lodash.com/docs#trim),\n[trimEnd](https://lodash.com/docs#trimEnd),\n[trimStart](https://lodash.com/docs#trimStart),\n[truncate](https://lodash.com/docs#truncate),\n[unescape](https://lodash.com/docs#unescape),\n[upperCase](https://lodash.com/docs#upperCase),\n[upperFirst](https://lodash.com/docs#upperFirst),\nand more.\n\nHere's how you use the string helpers:\n\n```handlebars\n\\{{lowerCase someString}}\n```\n\n### Images\n\nDelicious metadata is extracted from images and included in the [Handlebars context object](#context), which is accessible to every page.\n\n- Extracts [EXIF data](https://en.wikipedia.org/wiki/Exchangeable_image_file_format) from JPEGs, including [geolocation data](https://en.wikipedia.org/wiki/Exchangeable_image_file_format#Geolocation).\n- Extracts [dimensions](https://www.npmjs.com/package/image-size)\n- Extracts [color palettes](https://www.npmjs.com/package/get-image-colors)\n\nExtensions: `png|jpg|gif|svg`\n\n## Datafiles\n\nJSON and YML files are slurped into the [Handlebars context object](#context), which is accessible to every page.\n\nExtensions: `json|yaml|yml`\n\n## Clean URLs\n\njus uses a clean URL strategy that is compatible with\n[GitHub Pages](http://aseemk.github.io/gh-pages-test/)\nand\n[surge.sh](https://surge.sh/help/using-clean-urls-automatically).\nIn essence, [pages](#pages) get their extension lopped off,\nand pages named `index` inherit the name of their directory.\n\n<table class=\"routes\">\n  <tr>\n    <th>Filename</th>\n    <th>URL</th>\n  </tr>\n  <tr>\n    <td>index.html</td>\n    <td>/</td>\n  </td>\n  <tr>\n    <td>nested/index.html</td>\n    <td>/nested</td>\n  </td>\n  <tr>\n    <td>nested/page.html</td>\n    <td>/nested/page</td>\n  </td>\n  <tr>\n    <td>also/markdown.md</td>\n    <td>/also/markdown</td>\n  </td>\n  <tr>\n    <td>also/handlebars.hbs</td>\n    <td>/also/handlebars</td>\n  </td>\n  <tr>\n    <td>stylesheet.scss</td>\n    <td>/stylesheet.css</td>\n  </td>\n  <tr>\n    <td>stylesheet.sass</td>\n    <td>/stylesheet.css</td>\n  </td>\n  <tr>\n    <td>stylesheet.styl</td>\n    <td>/stylesheet.css</td>\n  </td>\n  <tr>\n    <td>stylesheet.styl</td>\n    <td>/stylesheet.css</td>\n  </td>\n</table>\n\n## Deployment to GitHub Pages\n\nAdd the following to your package.json:\n\n```json\n{\n  \"scripts\": {\n    \"start\": \"jus serve\",\n    \"deploy\": \"npm run build && npm run commit && npm run push && npm run open\",\n    \"build\": \"jus build . dist\",\n    \"commit\": \"git add dist && git commit -m 'update dist'\",\n    \"push\": \"git subtree push --prefix dist origin gh-pages\",\n    \"open\": \"open http://zeke.sikelianos.com\"\n  }\n}\n```\n\nNow whenever you want to publish to GitHub Pages, run:\n\n```sh\nnpm run deploy\n```\n\nNote: GitHub's [User Pages](https://help.github.com/articles/user-organization-and-project-pages/#user--organization-pages) (like `yourname.github.io`) are built from the `master` branch,\nwhereas [Project Pages](https://help.github.com/articles/user-organization-and-project-pages/#project-pages) (like `yourname.github.io/project`) are built from the `gh-pages` branch.\nBe aware of this when setting up your npm scripts.\n\nNote: GitHub's CDN can take a minute to update, so you might have to refresh a few times when visiting.\n\n## Deployment to Surge\n\n[surge.sh](https://surge.sh/) is an awesome new platform for publishing static websites.\n\nInstall the Surge CLI:\n\n```sh\n npm i -g surge\n```\n\nAdd the following to your package.json:\n\n```json\n{\n  \"scripts\": {\n    \"start\": \"jus serve\",\n    \"deploy\": \"npm run build && npm run build && npm run open\",\n    \"build\": \"jus build . dist\",\n    \"push\": \"surge dist YOUR-URL\",\n    \"open\": \"open YOUR-URL\"\n  }\n}\n```\n\nNow whenever you want to publish to Surge, run:\n\n```sh\nnpm run deploy\n```\n\n## Prior Art\n\njus was inspired by a number of existing tools:\n\n- [Harp](http://harpjs.com/): The main inspiration for jus. It was the first static site tool to introduce the concept of an [in-place asset pipeline](http://harpjs.com/docs/development/rules).\n- [Jekyll](http://jekyllrb.com/): A blog-aware static site generator in Ruby. jus borrows the concept of frontmatter from Jekyll, but uses [HTML frontmatter](https://github.com/zeke/html-frontmatter#readme), unlike Jekyll's YAML frontmatter.\n- [Brunch](http://brunch.io/#why): A lightweight tool for building HTML5 applications with emphasis on elegance and simplicity. The jus development server uses the [chokidar](https://www.npmjs.com/package/chokidar) module from Brunch to watch the filesystem.\n- Ruby on Rails: The web development framework that helped popularize [Convention over Configuration](https://en.wikipedia.org/wiki/Convention_over_configuration)\n\n## Sites using jus\n\nSometimes real examples are the easiest way to learn. Check out these open-source sites built with jus:\n\n- [jus.js.org](https://github.com/zeke/jus.js.org), the site you're looking at now.\n- [zeke.sikelianos.com](http://github.com/zeke/zeke.sikelianos.com), a personal portfolio site.\n- [acrophony](https://github.com/zeke/acrophony#readme), an experimental React GUI for acrophonic alphabets."}

field_body:
jus is a development server and build tool for making static websites with no configuration and no boilerplate code. It has built-in support for [browserify](https://github.com/substack/browserify-handbook#readme), ES6 and ES2015 with [Babel](http://babeljs.io/), [React JSX](http://babeljs.io/docs/plugins/preset-react/), GitHub Flavored markdown, syntax highlighting, [Sass](http://sass-lang.com/), [Less](http://lesscss.org/), [Stylus](http://stylus-lang.com/), [Myth](http://www.myth.io/), [Handlebars](http://handlebarsjs.com/), [browsersync](https://browsersync.io/) and more.

## Why?

The year is 2016 and you're building a new website. At first you just create a single HTML file with some inline scripts and style tags. This works for a bit, but soon your code grows and you decide to extract the styles and scripts into standalone files. This is slightly better, but eventually you want to do something more sophisticated, like writing your stylesheets in Sass, or concatenating and minifying assets, or using npm dependencies with [browserify](https://github.com/substack/browserify-handbook). These conveniences are essential to building a website of any magnitude, but setting them up is tedious and time-consuming. It's at this point in the project that your attention turns from the creative to the mundane. Rather than building, you're now configuring.

In this day and age, most developers would turn to [Gulp](http://gulpjs.com/), [npm scripts](http://substack.net/task_automation_with_npm_run), [Jekyll](https://www.staticgen.com/jekyll) or one of [dozens of static site tools](https://www.staticgen.com). This is where jus comes in as an alternative.

There is no setup with jus. It has just two commands: `serve` and `build`. Run `jus serve` in your project directory and you've got a live develpment server running, watching for file changes, autorefreshing your browser with [browsersync](https://browsersync.io/), and serving your content with [clean URLs](#clean-urls). Write a `foo.sass` file and it'll be served at `/foo.css`. Use an npm-style `require` statement in your script, and jus will serve it up as a browserified bundle. Write React's JSX syntax and it'll be transpiled to javascript on the fly. Write a GitHub-flavored `/markdown/file.md` and it'll be served as syntax-highlighted HTML at `/markdown/file`.

When it's time to deploy, run `jus build` to compile your site down into plain old HTML, CSS, and Javascript files, ready for deployment to [GitHub Pages](#deployment-to-github-pages), [Surge](#deployment-to-surge), or any other static site host that supports clean URLs.

## Getting Started

jus requires [node 4](https://nodejs.org/en/download/) or greater, because it uses some newer Javascript features. Install the command-line interface globally, then run it to see usage instructions:

```sh
npm i -g jus && jus
```

jus has a lot of dependencies, so it takes a while to install. Maybe go grab a :coffee: and read up
on [how to make npm faster](https://addyosmani.com/blog/using-npm-offline/).

If you like to learn by example, check out the repos of [sites using jus](#sites-using-jus). Otherwise, read on...

## Pages

Pages are written in Markdown, HTML, Handlebars, or any combination thereof. At render time each page is passed a [Handlebars context object](#context) containing metadata about all the files in the directory.

- Markdown parsing with [marky-markdown](http://npm.im/marky-markdown), the battle-tested [commonmark](http://commonmark.org/)-compliant parser used by [npmjs.com](https://npmjs.com).
- GitHub-flavored Markdown support, including [fenced code blocks](https://help.github.com/articles/creating-and-highlighting-code-blocks/)
- Syntax Highlighting powered by [Atom](https://atom.io)'s [highlights](https://npm.im/highlights) package.
- Markdown headings (`H1`, `H2`, etc) are automatically converted to anchored hyperlinks.
- Emoji support. Converts :emoji:-style shortcuts to unicode emojis.
- [HTML frontmatter](#frontmatter) as page metadata

Extensions: `html|hbs|handlebars|markdown|md`

## Scripts

All javascript files in your project are automatically [browserified](https://github.com/substack/browserify-handbook#readme) and [babelified](https://www.npmjs.com/package/babelify) using the `es2015` and `react` presets.

You can use node-style `require` statements to include node and npm modules in your code:

```js
const url = require('url').parse('https://example.com')

console.log(`the domain is ${url.host}`)
```

You can also use [ES6-style imports](http://babeljs.io/docs/learn-es2015/#modules), if you prefer:

```js
import React from 'react'
import ReactDOM from 'react-dom'
import domready from 'domready'

domready(() => {
  // do some React magic
})
```

Scripts are browserified using [`babel-preset-react`](https://babeljs.io/docs/plugins/preset-react/), so you
can write JSX in your scripts.

Extensions: `js|jsx|es|es6`

## Stylesheets

Stylesheets can be written in
[Sass](http://sass-lang.com/),
[SCSS](http://sass-lang.com/),
[Less](http://lesscss.org/),
[Stylus](http://stylus-lang.com/),
[Myth](http://www.myth.io/),
or plain old CSS. Use whatever preprocessor suits your fancy.

Extensions: `css|less|sass|scss|styl`

## Context

When the jus server is initialized, it recursively finds all the files in the directory tree,
ignoring `node_modules`, `.git`, and other unwanted patterns. These files are then stored in
memory in an array called `files`. For convenience, this list of files is broken down
into smaller arrays by type: an array for `pages`, another array for `scripts`, etc.

```js
{
  files: [...],
  pages: [...]
  scripts: [...]
  stylesheets: [...]
  images: [...]
  datafiles: [...]
}
```

When you request a page, the server renders the page on the fly, passing this object to the
given page's template. This means every page has access to metadata about
every file in the site at render time.

Using handlebars in your pages is entirely optional. If your pages don't need to do any dynamic rendering at build time, that's okay. The context will simply be ignored at render time.

## Frontmatter

jus supports [HTML frontmatter](https://github.com/zeke/html-frontmatter#readme). This allows you to add key-value metadata to your pages:

```html
<!--
title: Alice in Wonderland
year: 1951
-->
```

Any such values present in an HTML comment at the top of a page are made available in that page's [Handlebars context object](#context) at render time.

Note: Jekyll uses YAML for frontmatter, but jus uses HTML, because it can be included in a file without adversely affecting the way it renders on github.com.

## Templates

Handlebars templates can be used to wrap layouts around your pages.

- If a file named `/layout.(html|hbs|handlebars|markdown|md)` is present, it will be applied to all pages by default.
- Templates must include a `{{{body}}}` string, to be used as a placeholder for where the main content should be rendered.
- Templates must have the word `layout` in their filename.
- Pages can specify a custom layout in their [frontmatter](#frontmatter). Specifying `layout: foo` will refer to the `/layout-foo.(html|hbs|handlebars|markdown|md)` layout file.
- Pages can disable layout by setting `layout: false` in their frontmatter.

Extensions: `html|hbs|handlebars|markdown|md|mdown`

### Helpers

jus provides a number of helper functions you can use in your handlebars
templates. All of the helpers are from [lobars](https://github.com/zeke/lobars),
a collection of utility functions plucked directly from
[lodash](https://lodash.com/).

lobars includes **comparison helpers** like
[endsWith](https://lodash.com/docs#endsWith),
[eq](https://lodash.com/docs#eq),
[gt](https://lodash.com/docs#gt),
[gte](https://lodash.com/docs#gte),
[includes](https://lodash.com/docs#includes),
[isArray](https://lodash.com/docs#isArray),
[isBoolean](https://lodash.com/docs#isBoolean),
[isDate](https://lodash.com/docs#isDate),
[isEmpty](https://lodash.com/docs#isEmpty),
[isMatch](https://lodash.com/docs#isMatch),
[isNumber](https://lodash.com/docs#isNumber),
[isString](https://lodash.com/docs#isString),
[isSymbol](https://lodash.com/docs#isSymbol),
[isUndefined](https://lodash.com/docs#isUndefined),
[lt](https://lodash.com/docs#lt),
[lte](https://lodash.com/docs#lte),
[startsWith](https://lodash.com/docs#startsWith) and more.

Here's an example use of the `gte` (greater than or equal to) helper:

```handlebars
\{{#gte age 21}}
  You are old enough to drink in the United States.
\{{/gte}}
```

lobars also provides helpers for manipulating input like
[camelCase](https://lodash.com/docs#camelCase),
[capitalize](https://lodash.com/docs#capitalize),
[escape](https://lodash.com/docs#escape),
[kebabCase](https://lodash.com/docs#kebabCase),
[lowerCase](https://lodash.com/docs#lowerCase),
[lowerFirst](https://lodash.com/docs#lowerFirst),
[pad](https://lodash.com/docs#pad),
[padEnd](https://lodash.com/docs#padEnd),
[padStart](https://lodash.com/docs#padStart),
[parseInt](https://lodash.com/docs#parseInt),
[repeat](https://lodash.com/docs#repeat),
[replace](https://lodash.com/docs#replace),
[snakeCase](https://lodash.com/docs#snakeCase),
[split](https://lodash.com/docs#split),
[startCase](https://lodash.com/docs#startCase),
[template](https://lodash.com/docs#template),
[toLower](https://lodash.com/docs#toLower),
[toUpper](https://lodash.com/docs#toUpper),
[trim](https://lodash.com/docs#trim),
[trimEnd](https://lodash.com/docs#trimEnd),
[trimStart](https://lodash.com/docs#trimStart),
[truncate](https://lodash.com/docs#truncate),
[unescape](https://lodash.com/docs#unescape),
[upperCase](https://lodash.com/docs#upperCase),
[upperFirst](https://lodash.com/docs#upperFirst),
and more.

Here's how you use the string helpers:

```handlebars
\{{lowerCase someString}}
```

### Images

Delicious metadata is extracted from images and included in the [Handlebars context object](#context), which is accessible to every page.

- Extracts [EXIF data](https://en.wikipedia.org/wiki/Exchangeable_image_file_format) from JPEGs, including [geolocation data](https://en.wikipedia.org/wiki/Exchangeable_image_file_format#Geolocation).
- Extracts [dimensions](https://www.npmjs.com/package/image-size)
- Extracts [color palettes](https://www.npmjs.com/package/get-image-colors)

Extensions: `png|jpg|gif|svg`

## Datafiles

JSON and YML files are slurped into the [Handlebars context object](#context), which is accessible to every page.

Extensions: `json|yaml|yml`

## Clean URLs

jus uses a clean URL strategy that is compatible with
[GitHub Pages](http://aseemk.github.io/gh-pages-test/)
and
[surge.sh](https://surge.sh/help/using-clean-urls-automatically).
In essence, [pages](#pages) get their extension lopped off,
and pages named `index` inherit the name of their directory.

<table class="routes">
  <tr>
    <th>Filename</th>
    <th>URL</th>
  </tr>
  <tr>
    <td>index.html</td>
    <td>/</td>
  </td>
  <tr>
    <td>nested/index.html</td>
    <td>/nested</td>
  </td>
  <tr>
    <td>nested/page.html</td>
    <td>/nested/page</td>
  </td>
  <tr>
    <td>also/markdown.md</td>
    <td>/also/markdown</td>
  </td>
  <tr>
    <td>also/handlebars.hbs</td>
    <td>/also/handlebars</td>
  </td>
  <tr>
    <td>stylesheet.scss</td>
    <td>/stylesheet.css</td>
  </td>
  <tr>
    <td>stylesheet.sass</td>
    <td>/stylesheet.css</td>
  </td>
  <tr>
    <td>stylesheet.styl</td>
    <td>/stylesheet.css</td>
  </td>
  <tr>
    <td>stylesheet.styl</td>
    <td>/stylesheet.css</td>
  </td>
</table>

## Deployment to GitHub Pages

Add the following to your package.json:

```json
{
  "scripts": {
    "start": "jus serve",
    "deploy": "npm run build && npm run commit && npm run push && npm run open",
    "build": "jus build . dist",
    "commit": "git add dist && git commit -m 'update dist'",
    "push": "git subtree push --prefix dist origin gh-pages",
    "open": "open http://zeke.sikelianos.com"
  }
}
```

Now whenever you want to publish to GitHub Pages, run:

```sh
npm run deploy
```

Note: GitHub's [User Pages](https://help.github.com/articles/user-organization-and-project-pages/#user--organization-pages) (like `yourname.github.io`) are built from the `master` branch,
whereas [Project Pages](https://help.github.com/articles/user-organization-and-project-pages/#project-pages) (like `yourname.github.io/project`) are built from the `gh-pages` branch.
Be aware of this when setting up your npm scripts.

Note: GitHub's CDN can take a minute to update, so you might have to refresh a few times when visiting.

## Deployment to Surge

[surge.sh](https://surge.sh/) is an awesome new platform for publishing static websites.

Install the Surge CLI:

```sh
 npm i -g surge
```

Add the following to your package.json:

```json
{
  "scripts": {
    "start": "jus serve",
    "deploy": "npm run build && npm run build && npm run open",
    "build": "jus build . dist",
    "push": "surge dist YOUR-URL",
    "open": "open YOUR-URL"
  }
}
```

Now whenever you want to publish to Surge, run:

```sh
npm run deploy
```

## Prior Art

jus was inspired by a number of existing tools:

- [Harp](http://harpjs.com/): The main inspiration for jus. It was the first static site tool to introduce the concept of an [in-place asset pipeline](http://harpjs.com/docs/development/rules).
- [Jekyll](http://jekyllrb.com/): A blog-aware static site generator in Ruby. jus borrows the concept of frontmatter from Jekyll, but uses [HTML frontmatter](https://github.com/zeke/html-frontmatter#readme), unlike Jekyll's YAML frontmatter.
- [Brunch](http://brunch.io/#why): A lightweight tool for building HTML5 applications with emphasis on elegance and simplicity. The jus development server uses the [chokidar](https://www.npmjs.com/package/chokidar) module from Brunch to watch the filesystem.
- Ruby on Rails: The web development framework that helped popularize [Convention over Configuration](https://en.wikipedia.org/wiki/Convention_over_configuration)

## Sites using jus

Sometimes real examples are the easiest way to learn. Check out these open-source sites built with jus:

- [jus.js.org](https://github.com/zeke/jus.js.org), the site you're looking at now.
- [zeke.sikelianos.com](http://github.com/zeke/zeke.sikelianos.com), a personal portfolio site.
- [acrophony](https://github.com/zeke/acrophony#readme), an experimental React GUI for acrophonic alphabets.


id: s2gen
git_filename: src/site/generators/s2gen.md
format: md
field_title: s2gen
field_repo: denisftw/s2gen
field_homepage: http://appliedscala.com/s2gen/
field_language: Scala
field_license: MIT
field_templates: Freemarker
field_description: A dead-simple Scala-based site generator
data:
{"title": "s2gen", "repo": "denisftw/s2gen", "homepage": "http://appliedscala.com/s2gen/", "language": ["Scala"], "license": ["MIT"], "templates": ["Freemarker"], "description": "A dead-simple Scala-based site generator", "body": "**s2gen** is a simple static site generator written in Scala. It assumes that you write the content in Markdown and use Freemarker as a template engine. The generator supports watching for file changes and is completely unopinionated about organizing front-end assets.\n\nCheck out [the home page](http://appliedscala.com/s2gen/) for more information about the project including the motivation behind it. You can find the latest documentation [on GitHub](https://github.com/denisftw/s2gen).\n\n### Features\n\n**s2gen** currently supports:\n\n- Parsing content from Markdown files\n- Rendering HTML using Freemarker templates\n- Project skeleton generation\n- Monitoring for file changes\n- Adding `target=\"_blank\"` to external links\n- Generating post URLs without html extensions\n\nThe latest version is available on GitHub [release page](https://github.com/denisftw/s2gen/releases/latest)."}

field_body:
**s2gen** is a simple static site generator written in Scala. It assumes that you write the content in Markdown and use Freemarker as a template engine. The generator supports watching for file changes and is completely unopinionated about organizing front-end assets.

Check out [the home page](http://appliedscala.com/s2gen/) for more information about the project including the motivation behind it. You can find the latest documentation [on GitHub](https://github.com/denisftw/s2gen).

### Features

**s2gen** currently supports:

- Parsing content from Markdown files
- Rendering HTML using Freemarker templates
- Project skeleton generation
- Monitoring for file changes
- Adding `target="_blank"` to external links
- Generating post URLs without html extensions

The latest version is available on GitHub [release page](https://github.com/denisftw/s2gen/releases/latest).


id: underblog
git_filename: src/site/generators/underblog.md
format: md
field_title: underblog
field_repo: freetonik/underblog
field_homepage: https://github.com/freetonik/underblog/
field_language: Go
field_license: MIT
field_templates: Go
field_description: Simple static blog generator
data:
{"title": "underblog", "repo": "freetonik/underblog", "homepage": "https://github.com/freetonik/underblog/", "language": ["Go"], "license": ["MIT"], "templates": ["Go"], "description": "Simple static blog generator", "twitter": "freetonik", "body": "An extremely simple, fast static blog generator.\n\nYou only need 4 things:\n\n1. `index.html` template for blog's index page.\n2. `post.html` template for single post.\n3. `css/styles.css` for CSS styles.\n4. `markdown` folder.\n\nThere is no front-matter. **Date** and **slug** are derived from the filename. **Title** is derived from the first line of markdown file. Make sure the first line starts with `#`."}

field_body:
An extremely simple, fast static blog generator.

You only need 4 things:

1. `index.html` template for blog's index page.
2. `post.html` template for single post.
3. `css/styles.css` for CSS styles.
4. `markdown` folder.

There is no front-matter. **Date** and **slug** are derived from the filename. **Title** is derived from the first line of markdown file. Make sure the first line starts with `#`.


id: blackhole
git_filename: src/site/generators/blackhole.md
format: md
field_title: Blackhole
field_repo: BarryMode/grav-plugin-blackhole
field_homepage: https://github.com/BarryMode/grav-plugin-blackhole
field_language: PHP
field_license: MIT
field_templates: Twig
field_description: Static site generator for Grav CMS
data:
{"title": "Blackhole", "repo": "BarryMode/grav-plugin-blackhole", "homepage": "https://github.com/BarryMode/grav-plugin-blackhole", "language": ["PHP"], "license": ["MIT"], "templates": ["Twig"], "description": "Static site generator for Grav CMS", "body": "Static site generator for Grav CMS.\n\n### Why use Blackhole?\n\n1. Blackhole is incredibly powerful because you can use Grav as a backend and blackhole to deploy the generated pages routinely.\n1. Benefit from Grav (a dynamic flat-file cms) and the speed and security of a static site, without the manual-ness of a traditional SSG.\n1. Blackhole overcomes the perceived performance limitations of a scaled up live Grav implementation. Tested on sites with more than 20,000 pages."}

field_body:
Static site generator for Grav CMS.

### Why use Blackhole?

1. Blackhole is incredibly powerful because you can use Grav as a backend and blackhole to deploy the generated pages routinely.
1. Benefit from Grav (a dynamic flat-file cms) and the speed and security of a static site, without the manual-ness of a traditional SSG.
1. Blackhole overcomes the perceived performance limitations of a scaled up live Grav implementation. Tested on sites with more than 20,000 pages.


id: broccoli-taco
git_filename: src/site/generators/broccoli-taco.md
format: md
field_title: Broccoli Taco
field_repo: moudy/broccoli-taco
field_homepage: http://broccoli-taco.com/
field_language: JavaScript
field_license: MIT
field_templates: Handlebars
field_description: A fast, simple, and flexible static site generator based on Broccoli.
data:
{"title": "Broccoli Taco", "repo": "moudy/broccoli-taco", "homepage": "http://broccoli-taco.com/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Handlebars"], "description": "A fast, simple, and flexible static site generator based on Broccoli.", "body": "Broccoli Taco is designed to create data-driven sites with no database. Pages can pull in data (synchronously or asynchronously via promises) at build time. Arrays of data will generate a page for each item, allowing you to generate an arbitrary number of pages.\n\nThanks to [Broccoli](https://github.com/broccolijs/broccoli), re-generating the site is super fast. This makes for a really nice development process, especially when paired with livereload.\n\nCheck out the docs at http://broccoli-taco.com/ for more details."}

field_body:
Broccoli Taco is designed to create data-driven sites with no database. Pages can pull in data (synchronously or asynchronously via promises) at build time. Arrays of data will generate a page for each item, allowing you to generate an arbitrary number of pages.

Thanks to [Broccoli](https://github.com/broccolijs/broccoli), re-generating the site is super fast. This makes for a really nice development process, especially when paired with livereload.

Check out the docs at http://broccoli-taco.com/ for more details.


id: tropical
git_filename: src/site/generators/tropical.md
format: md
field_title: Tropical
field_repo: bensmithett/tropical
field_homepage: https://tropical.js.org/
field_language: JavaScript
field_license: MIT
field_templates: React
field_description: Use modern tools to build fast, mostly-just-HTML websites with islands of client-side JS.
field_startertemplaterepo: https://github.com/bensmithett/tropical
data:
{"title": "Tropical", "repo": "bensmithett/tropical", "homepage": "https://tropical.js.org/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["React"], "description": "Use modern tools to build fast, mostly-just-HTML websites with islands of client-side JS.", "startertemplaterepo": "https://github.com/bensmithett/tropical", "body": "Tropical is a modern static site generator without complex magic.\n\nIt's just [Vite](https://vitejs.dev/) plus a layer of **familiar, industry-standard tools & conventions** (like React, Storybook, MDX & Fela) for building *fast*, mostly-just-HTML websites with [islands](https://jasonformat.com/islands-architecture/) of targeted client-side JS.\n\nIt's also **just a [template repo](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-repository-from-a-template)**. There's no library to install or configure. You're not stuck with these features. If [Vite can do it](https://vitejs.dev/guide/features.html), so can your Tropical site."}

field_body:
Tropical is a modern static site generator without complex magic.

It's just [Vite](https://vitejs.dev/) plus a layer of **familiar, industry-standard tools & conventions** (like React, Storybook, MDX & Fela) for building *fast*, mostly-just-HTML websites with [islands](https://jasonformat.com/islands-architecture/) of targeted client-side JS.

It's also **just a [template repo](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-repository-from-a-template)**. There's no library to install or configure. You're not stuck with these features. If [Vite can do it](https://vitejs.dev/guide/features.html), so can your Tropical site.


id: grus
git_filename: src/site/generators/grus.md
format: md
field_title: Grus
field_repo: chipsenkbeil/grus
field_homepage: https://github.com/chipsenkbeil/grus
field_language: Scala
field_license: Apache-2.0
field_templates: ScalaTags
field_description: Static site generator written in Scala using ScalaTags for templates and Flexmark for markdown.
data:
{"title": "Grus", "repo": "chipsenkbeil/grus", "homepage": "https://github.com/chipsenkbeil/grus", "language": ["Scala"], "license": ["Apache-2.0"], "templates": ["ScalaTags"], "description": "Static site generator written in Scala using ScalaTags for templates and Flexmark for markdown.", "body": "(G)enerate (R)esources (U)sing (S)cala\n\nA new static site generator written in Scala that utilizes [ScalaTags](http://www.lihaoyi.com/scalatags/) for templates/layouts and [Flexmark](https://github.com/vsch/flexmark-java) to render markdown into HTML utilizing the _ScalaTags_ templates.\n\nCurrently used to power the [Scala Debugger](https://scala-debugger.org) website."}

field_body:
(G)enerate (R)esources (U)sing (S)cala

A new static site generator written in Scala that utilizes [ScalaTags](http://www.lihaoyi.com/scalatags/) for templates/layouts and [Flexmark](https://github.com/vsch/flexmark-java) to render markdown into HTML utilizing the _ScalaTags_ templates.

Currently used to power the [Scala Debugger](https://scala-debugger.org) website.


id: openrat
git_filename: src/site/generators/openrat.md
format: md
field_title: OpenRat
field_repo: dankert/openrat-cms
field_homepage: http://www.openrat.de
field_language: PHP
field_license: GPL
field_templates: Mustache
field_description: A static site generator with web UI
data:
{"title": "OpenRat", "repo": "dankert/openrat-cms", "homepage": "http://www.openrat.de", "language": ["PHP"], "license": ["GPL"], "templates": ["Mustache"], "description": "A static site generator with web UI", "body": "OpenRat CMS is a web content management system.\n\nOpenRat stores the content in a relational database and creates static pages in the file system.\n\n### Philosophy\n\nA complete web UI with user and rights management for the editors, generating static files for a fast website."}

field_body:
OpenRat CMS is a web content management system.

OpenRat stores the content in a relational database and creates static pages in the file system.

### Philosophy

A complete web UI with user and rights management for the editors, generating static files for a fast website.


id: vaseman
git_filename: src/site/generators/vaseman.md
format: md
field_title: Vaseman
field_repo: asika32764/vaseman
field_homepage: https://about.asika.tw/vaseman/
field_language: PHP
field_license: MIT
field_templates: Twig
field_description: Static Site And Prototype Generator
data:
{"title": "Vaseman", "repo": "asika32764/vaseman", "homepage": "https://about.asika.tw/vaseman/", "language": ["PHP"], "license": ["MIT"], "templates": ["Twig"], "description": "Static Site And Prototype Generator", "body": "Vaseman is nothing but only pretty face. He is a prototype system and static site generator.\n\n[Documentation](https://about.asika.tw/vaseman/documentation/getting-started.html)"}

field_body:
Vaseman is nothing but only pretty face. He is a prototype system and static site generator.

[Documentation](https://about.asika.tw/vaseman/documentation/getting-started.html)


id: teedoc
git_filename: src/site/generators/teedoc.md
format: md
field_title: teedoc
field_repo: teedoc/teedoc
field_homepage: https://teedoc.github.io
field_language: Python
field_license: MIT
field_templates: Markdown, Jupyter notebook
data:
{"title": "teedoc", "repo": "teedoc/teedoc", "homepage": "https://teedoc.github.io", "language": ["Python"], "license": ["MIT"], "templates": ["Markdown", "Jupyter notebook"], "description": "A document site generator, Convert documents in Markdown or Jupyter Notebook format into HTML static web pages", "body": "Official website: [teedoc.neucrack.com](https://teedoc.neucrack.com/) or [teedoc.github.io](https://teedoc.github.io/)\nSource code: [https://github.com/teedoc/teedoc](https://github.com/teedoc/teedoc)\n\nConvert documents in `Markdown` or `Jupyter Notebook` format into `HTML` static web pages\n\n`teedoc` can be used in the following scenarios:\n* Build a document website, and it\u2019s best to support multiple documents and custom pages\n* Build a `WiKi` website\n* Build a personal or corporate knowledge base\n* Build a personal or corporate website\n* Blog\n\n\n## Features\n\n- [x] Simple to use, cross-platform, only dependent on `Python3`\n- [x] No database required, all static pages of the website\n- [x] The deployment is simple, the generated website is a fully static page, which can be directly copied to the server or uploaded to a third party organization for deployment\n- [x] Easy to write, using Markdown syntax\n- [x] Jupyter notebook support\n- [x] HTML support, you can directly use HTML to write pages, with great freedom\n- [x] Multi-document support\n- [x] Plug-in support\n- [x] Multi-theme support (implemented by plug-in)\n- [x] Control the style accurate to the page through css (implemented by customizing the id and class of each page)\n- [x] Multi-level directory support\n- [x] Multi-language support (manual translation) (Internationalization/i18n)\n- [x] Multi-version support (implementation method is the same as multi-language)\n- [x] Search support\n- [x] SEO friendly\n- [x] Real-time preview of changes\n- [x] Multi-threaded construction, faster construction speed\n- [x] Blog support\n\n## Demo\n\n[Official website](https://teedoc.github.io/) is generated using `teedoc`, what you see now is what the generated website looks like.\n\nIn addition, there are other websites that use `teedoc`, please see [here](https://teedoc.github.io/get_started/en/usage/sites.html) for details"}

field_description:
A document site generator, Convert documents in Markdown or Jupyter Notebook format into HTML static web pages

field_body:
Official website: [teedoc.neucrack.com](https://teedoc.neucrack.com/) or [teedoc.github.io](https://teedoc.github.io/)
Source code: [https://github.com/teedoc/teedoc](https://github.com/teedoc/teedoc)

Convert documents in `Markdown` or `Jupyter Notebook` format into `HTML` static web pages

`teedoc` can be used in the following scenarios:
* Build a document website, and it’s best to support multiple documents and custom pages
* Build a `WiKi` website
* Build a personal or corporate knowledge base
* Build a personal or corporate website
* Blog


## Features

- [x] Simple to use, cross-platform, only dependent on `Python3`
- [x] No database required, all static pages of the website
- [x] The deployment is simple, the generated website is a fully static page, which can be directly copied to the server or uploaded to a third party organization for deployment
- [x] Easy to write, using Markdown syntax
- [x] Jupyter notebook support
- [x] HTML support, you can directly use HTML to write pages, with great freedom
- [x] Multi-document support
- [x] Plug-in support
- [x] Multi-theme support (implemented by plug-in)
- [x] Control the style accurate to the page through css (implemented by customizing the id and class of each page)
- [x] Multi-level directory support
- [x] Multi-language support (manual translation) (Internationalization/i18n)
- [x] Multi-version support (implementation method is the same as multi-language)
- [x] Search support
- [x] SEO friendly
- [x] Real-time preview of changes
- [x] Multi-threaded construction, faster construction speed
- [x] Blog support

## Demo

[Official website](https://teedoc.github.io/) is generated using `teedoc`, what you see now is what the generated website looks like.

In addition, there are other websites that use `teedoc`, please see [here](https://teedoc.github.io/get_started/en/usage/sites.html) for details


id: static-lite
git_filename: src/site/generators/static-lite.md
format: md
field_title: Static Lite
field_repo: BrandonRomano/static-lite
field_homepage: https://github.com/BrandonRomano/static-lite
field_language: JavaScript
field_license: MIT
field_templates: Jade
field_description: A minimalist configuration for generating static sites, powered entirely by NPM scripts.
data:
{"title": "Static Lite", "repo": "BrandonRomano/static-lite", "homepage": "https://github.com/BrandonRomano/static-lite", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Jade"], "description": "A minimalist configuration for generating static sites, powered entirely by NPM scripts.", "body": "Static Lite is a minimalist configuration for generating static sites, powered entirely by NPM scripts. Static Lite is less of a framework and more of an ideology suggesting that developers should take control of their build process. This configuration comes with a default stack to get up and running, but the framework suggests developers update it to match their unique needs.\n\nThere is no external build tool for this static site generator, so duplicate the Static Lite repo to get started."}

field_body:
Static Lite is a minimalist configuration for generating static sites, powered entirely by NPM scripts. Static Lite is less of a framework and more of an ideology suggesting that developers should take control of their build process. This configuration comes with a default stack to get up and running, but the framework suggests developers update it to match their unique needs.

There is no external build tool for this static site generator, so duplicate the Static Lite repo to get started.


id: passage
git_filename: src/site/generators/passage.md
format: md
field_title: Passage
field_repo: reactivematter/passage
field_homepage: https://github.com/ReactiveMatter/passage/
field_language: PHP
field_license: GPL-3.0-or-later
field_templates: PHP
field_description: A highly customizable and minimalistic PHP based static site generator.
data:
{"title": "Passage", "repo": "reactivematter/passage", "homepage": "https://github.com/ReactiveMatter/passage/", "language": ["PHP"], "license": ["GPL-3.0-or-later"], "templates": ["PHP"], "description": "A highly customizable and minimalistic PHP based static site generator.", "body": "Passage is a PHP based static site generator. It is highly customizable and easy. It uses PHP for creating templates, hence no need to learn a new templating language (as PHP itself is a templating language).\n\nIt uses Parsedown and Symphony YAML component to generate static html files."}

field_body:
Passage is a PHP based static site generator. It is highly customizable and easy. It uses PHP for creating templates, hence no need to learn a new templating language (as PHP itself is a templating language).

It uses Parsedown and Symphony YAML component to generate static html files.


id: scully
git_filename: src/site/generators/scully.md
format: md
field_title: Scully
field_repo: scullyio/scully
field_homepage: https://scully.io
field_language: JavaScript, TypeScript
field_license: MIT
field_templates: Angular
field_description: Scully is a static site generator for Angular projects looking to embrace the Jamstack.
data:
{"title": "Scully", "repo": "scullyio/scully", "homepage": "https://scully.io", "language": ["JavaScript", "TypeScript"], "license": ["MIT"], "templates": ["Angular"], "description": "Scully is a static site generator for Angular projects looking to embrace the Jamstack.", "twitter": "ScullyIO", "body": "The best way to build the fastest Angular apps. Scully is a static site generator for Angular projects looking to embrace the JAMStack.\n\n- [Getting Started](https://scully.io/docs/getting-started)\n- [Full Documentation](https://scully.io/docs/scully)\n- [Live Demo](https://www.youtube.com/watch?v=Sh37rIUL-d4) (_from Dec 16, 2019_)\n\n# What is Scully?\nScully pre-renders each page in your app to plain HTML & CSS. To do this, Scully uses machine learning techniques to find \nall of the routes in your project. Scully then visits each route, rendering the view and saving it to an HTML file.\n\nYou can then ship all of those HTML files to production. Each view in your app can now be delivered to your users in just \na few KBs, as opposed to the hundreds/thousands of KBs require to download your entire Angular app. \n\nYour app appears INSTANTLY on any device (including mobile 3G). \n\nOnce the fully-rendered HTML arrives/appears on the user's view, your Angular app will them load and bootstrap ontop of\nthe existing view. This means that Scully gives you the best of both worlds:\n\n1. The ability to pre-render your entire app to the most base form of HTML & CSS. \n2. The ability to still have a full powered SPA written in Angular. \n\nWhen your app is pre-rendered, users no longer wait until all the JavaScript has downloaded, parsed and executed before \nthey can see and interact with your website. They can immediately begin to see and interact with the page. When your page\nis IMMEDIATELY available, you will have less abandoned sessions and a much higher conversion rate on our website. \n\nThis also means that may not need to ship your backend to production. Because the view is pre-rendered and the\ndata is fetched at build time, all views that can run without the backend in prod CAN run without the backend in prod. \nThe security an cost implications to that fact can be mind blowing when you think about them. \n\nFor those wanting to know more about this process, please read the [Getting Started](https://github.com/scullyio/scully/blob/master/docs/getting-started.md) guide. For\nthose who want to know more about the theory behind pre-rendering JavaScript SPAs, our friends at [Netlify](https://netlify.com)\nwrote a [free book about the JAMStack](https://www.netlify.com/pdf/oreilly-modern-web-development-on-the-jamstack.pdf). \nCheck that out today."}

field_body:
The best way to build the fastest Angular apps. Scully is a static site generator for Angular projects looking to embrace the JAMStack.

- [Getting Started](https://scully.io/docs/getting-started)
- [Full Documentation](https://scully.io/docs/scully)
- [Live Demo](https://www.youtube.com/watch?v=Sh37rIUL-d4) (_from Dec 16, 2019_)

# What is Scully?
Scully pre-renders each page in your app to plain HTML & CSS. To do this, Scully uses machine learning techniques to find 
all of the routes in your project. Scully then visits each route, rendering the view and saving it to an HTML file.

You can then ship all of those HTML files to production. Each view in your app can now be delivered to your users in just 
a few KBs, as opposed to the hundreds/thousands of KBs require to download your entire Angular app. 

Your app appears INSTANTLY on any device (including mobile 3G). 

Once the fully-rendered HTML arrives/appears on the user's view, your Angular app will them load and bootstrap ontop of
the existing view. This means that Scully gives you the best of both worlds:

1. The ability to pre-render your entire app to the most base form of HTML & CSS. 
2. The ability to still have a full powered SPA written in Angular. 

When your app is pre-rendered, users no longer wait until all the JavaScript has downloaded, parsed and executed before 
they can see and interact with your website. They can immediately begin to see and interact with the page. When your page
is IMMEDIATELY available, you will have less abandoned sessions and a much higher conversion rate on our website. 

This also means that may not need to ship your backend to production. Because the view is pre-rendered and the
data is fetched at build time, all views that can run without the backend in prod CAN run without the backend in prod. 
The security an cost implications to that fact can be mind blowing when you think about them. 

For those wanting to know more about this process, please read the [Getting Started](https://github.com/scullyio/scully/blob/master/docs/getting-started.md) guide. For
those who want to know more about the theory behind pre-rendering JavaScript SPAs, our friends at [Netlify](https://netlify.com)
wrote a [free book about the JAMStack](https://www.netlify.com/pdf/oreilly-modern-web-development-on-the-jamstack.pdf). 
Check that out today.


id: hasclunk
git_filename: src/site/generators/hasclunk.md
format: md
field_title: HasClunk
field_repo: jellehermsen/HasClunk
field_homepage: https://github.com/jellehermsen/HasClunk
field_language: Haskell
field_license: BSD-3-Clause
field_templates: HTML
field_description: Simple dependency light blog generator
data:
{"title": "HasClunk", "repo": "jellehermsen/HasClunk", "homepage": "https://github.com/jellehermsen/HasClunk", "language": ["Haskell"], "license": ["BSD-3-Clause"], "templates": ["HTML"], "description": "Simple dependency light blog generator", "body": "`HasClunk` is a very lightweight blog generator made in Haskell. It supports\nposts, pages, categories and RSS. You can write your posts in whatever format\nyou like and setup your conversion shell command in the config. Templating is\nsimple, just a header.html and a footer.html that will sandwich your posts and\npages. You can use special tags like {base_url} to refer to the blog's url that\nis setup in your config file.\n\nThe Haskell code is clean, well-documented and uses very little dependencies (to\navoid Cabal Hell). All the internally generated HTML5 is put in one Haskell\nfile (Html.hs), which you can edit, but you'll probably find that editing the\ndefault css and template will fit your needs."}

field_body:
`HasClunk` is a very lightweight blog generator made in Haskell. It supports
posts, pages, categories and RSS. You can write your posts in whatever format
you like and setup your conversion shell command in the config. Templating is
simple, just a header.html and a footer.html that will sandwich your posts and
pages. You can use special tags like {base_url} to refer to the blog's url that
is setup in your config file.

The Haskell code is clean, well-documented and uses very little dependencies (to
avoid Cabal Hell). All the internally generated HTML5 is put in one Haskell
file (Html.hs), which you can edit, but you'll probably find that editing the
default css and template will fit your needs.


id: quarkus-roq
git_filename: src/site/generators/quarkus-roq.md
format: md
field_title: Quarkus Roq
field_repo: quarkiverse/quarkus-roq
field_homepage: https://docs.quarkiverse.io/quarkus-roq/dev/index.html
field_language: Java
field_license: Apache 2.0
field_templates: Tera
field_description: Roq allows to easily create a static website or blog using Quarkus super-powers.
data:
{"title": "Quarkus Roq", "repo": "quarkiverse/quarkus-roq", "homepage": "https://docs.quarkiverse.io/quarkus-roq/dev/index.html", "language": ["Java"], "license": ["Apache 2.0"], "templates": ["Tera"], "description": "Roq allows to easily create a static website or blog using Quarkus super-powers.", "body": "Static site generator written in Java and leveraging the power of Quarkus.\n\n### Features\n\nKnowing that you don\u2019t need to learn Quarkus or Java to use Roq, consider the following advantages:\n\n- **Quarkus-based:** Since Roq is just a very thin layer on top of Quarkus, it ensures that the tool stays up to date and benefits from the robust support provided by the Quarkus ecosystem.\n- **For everyone:** It is very easy to use with any level of knowledge. You can start with an existing theme (as a dependency) and only write Markdown or Asciidoc content, or customize everything.\n- **Reproducibility Across Platforms:** Unlike some other SSG, Roq offers better reproducibility across multiple platforms, ensuring more consistent and predictable results when building or deploying.\n- **Easy to maintain:** Managing dependencies and updates is easier with Roq thanks to Maven and Gradle. Other systems such as Go or Ruby can be difficult to maintain and make reproducible across environments.\n- **Speed:** Roq is using Quarkus for dev and build. Quarkus is famous for being supersonic and subatomic, with one example showing a Roq site build in just 20 milliseconds, greatly reducing build times compared to traditional generators.\n- **Type Safety (via Qute templates):** Roq leverages Quarkus Qute\u2019s type safety in templates and posts, making it easier to handle links, data injection, and other dynamic content with confidence.\n- **Local Development Experience:** Roq provides a smoother local development experience without the need to \"test in production,\" as is often necessary with other SSGs due to its difficulties in running locally.\n- **Code Completion:** Thanks to Qute, Roq offers code completion, which is beneficial when working in templates, helping to reduce errors and improve developer productivity."}

field_body:
Static site generator written in Java and leveraging the power of Quarkus.

### Features

Knowing that you don’t need to learn Quarkus or Java to use Roq, consider the following advantages:

- **Quarkus-based:** Since Roq is just a very thin layer on top of Quarkus, it ensures that the tool stays up to date and benefits from the robust support provided by the Quarkus ecosystem.
- **For everyone:** It is very easy to use with any level of knowledge. You can start with an existing theme (as a dependency) and only write Markdown or Asciidoc content, or customize everything.
- **Reproducibility Across Platforms:** Unlike some other SSG, Roq offers better reproducibility across multiple platforms, ensuring more consistent and predictable results when building or deploying.
- **Easy to maintain:** Managing dependencies and updates is easier with Roq thanks to Maven and Gradle. Other systems such as Go or Ruby can be difficult to maintain and make reproducible across environments.
- **Speed:** Roq is using Quarkus for dev and build. Quarkus is famous for being supersonic and subatomic, with one example showing a Roq site build in just 20 milliseconds, greatly reducing build times compared to traditional generators.
- **Type Safety (via Qute templates):** Roq leverages Quarkus Qute’s type safety in templates and posts, making it easier to handle links, data injection, and other dynamic content with confidence.
- **Local Development Experience:** Roq provides a smoother local development experience without the need to "test in production," as is often necessary with other SSGs due to its difficulties in running locally.
- **Code Completion:** Thanks to Qute, Roq offers code completion, which is beneficial when working in templates, helping to reduce errors and improve developer productivity.


id: slick
git_filename: src/site/generators/slick.md
format: md
field_title: Slick
field_repo: ChrisPenner/slick
field_homepage: https://github.com/ChrisPenner/slick
field_language: Haskell
field_license: BSD-3-Clause
field_templates: Mustache
data:
{"title": "Slick", "repo": "ChrisPenner/slick", "homepage": "https://github.com/ChrisPenner/slick", "language": ["Haskell"], "license": ["BSD-3-Clause"], "templates": ["Mustache"], "description": "Slick is a static site generator written and configured using Haskell. It's the spiritual successor to my previous static-site generator project SitePipe; but is faster, simpler, and more easily used in combination with other tools.", "body": "Slick provides a small set of tools and combinators for building static\nwebsites on top of the [Shake](https://shakebuild.com/) build system. Shake is\nadaptable, fast, reliable, and caches aggressively so it's a sensible tool for\nstatic-site builds, but figuring out how to get started can be a bit abstract. Slick aims to answer the question of\n'how do I get a site building?' while giving you the necessary tools and examples to figure out how to accomplish your\ngoals.\n\nHere's a quick overview of what Slick can do:\n\n- Slick uses the Shake build tool; the same used by ghcide! We recommend using `Development.Shake.Forward`; it auto-discovers which resources it should cache as you go! This means a blazing fast static site builder without all the annoying dependency tracking.\n- Slick provides helpers for loading in blog-post-like things using Pandoc under the hood;\n  - This means that if Pandoc can read it, you can use it with Slick!\n  - Write your blog posts in Markdown or LaTeX and render it to\n        syntax-highlighted HTML!\n  - Slick processes Pandoc (and LaTeX) metadata into a usable form (as an\n        [Aeson](https://hackage.haskell.org/package/aeson) Value object) which you can manipulate as you please.\n- Slick provides combinators for rendering [Mustache templates](https://mustache.github.io/)\n  - Slick wraps Justus Adam's [Mustache](http://hackage.haskell.org/package/mustache-2.3.0/docs/Text-Mustache.html)\n        library and provides cached template rendering with awareness of changes to templates, partials, and Mustache\n        objects.\n  - It's a thin wrapper so you can still use things like Mustache functions, etc. if you like!\n- Provides only the individual tools without opinions about how to wire them up; if you want to load blog posts from\n    a database and render them out using Blaze html; well go ahead, we can help with that!\n- Provides caching of arbitrary (JSON serializable) objects using Shake resulting in super-fast rebuild times!"}

field_description:
Slick is a static site generator written and configured using Haskell. It's the spiritual successor to my previous static-site generator project SitePipe; but is faster, simpler, and more easily used in combination with other tools.

field_body:
Slick provides a small set of tools and combinators for building static
websites on top of the [Shake](https://shakebuild.com/) build system. Shake is
adaptable, fast, reliable, and caches aggressively so it's a sensible tool for
static-site builds, but figuring out how to get started can be a bit abstract. Slick aims to answer the question of
'how do I get a site building?' while giving you the necessary tools and examples to figure out how to accomplish your
goals.

Here's a quick overview of what Slick can do:

- Slick uses the Shake build tool; the same used by ghcide! We recommend using `Development.Shake.Forward`; it auto-discovers which resources it should cache as you go! This means a blazing fast static site builder without all the annoying dependency tracking.
- Slick provides helpers for loading in blog-post-like things using Pandoc under the hood;
  - This means that if Pandoc can read it, you can use it with Slick!
  - Write your blog posts in Markdown or LaTeX and render it to
        syntax-highlighted HTML!
  - Slick processes Pandoc (and LaTeX) metadata into a usable form (as an
        [Aeson](https://hackage.haskell.org/package/aeson) Value object) which you can manipulate as you please.
- Slick provides combinators for rendering [Mustache templates](https://mustache.github.io/)
  - Slick wraps Justus Adam's [Mustache](http://hackage.haskell.org/package/mustache-2.3.0/docs/Text-Mustache.html)
        library and provides cached template rendering with awareness of changes to templates, partials, and Mustache
        objects.
  - It's a thin wrapper so you can still use things like Mustache functions, etc. if you like!
- Provides only the individual tools without opinions about how to wire them up; if you want to load blog posts from
    a database and render them out using Blaze html; well go ahead, we can help with that!
- Provides caching of arbitrary (JSON serializable) objects using Shake resulting in super-fast rebuild times!


id: punch
git_filename: src/site/generators/punch.md
format: md
field_title: Punch
field_repo: laktek/punch
field_homepage: http://laktek.github.io/punch/
field_language: JavaScript
field_license: MIT
field_templates: Mustache
field_description: Simple, intuitive. It delights designers and developers alike.
data:
{"title": "Punch", "repo": "laktek/punch", "homepage": "http://laktek.github.io/punch/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Mustache"], "description": "Simple, intuitive. It delights designers and developers alike.", "body": "Punch is a simple, intuitive web publishing framework that will delight both designers and developers.\n\n### With Punch you can...\n\n- Use boilerplates to quickly setup a site.\n- Write minimal templates with Mustache.\n- Create flexible site structures with inheritable layouts and partials.\n- Define page contents in JSON.\n- Use Markdown to write formatted content.\n- Use CoffeeScript and LESS if that's your thing.\n- Minify and bundle assets before serving.\n- Preview changes on the fly, while you develop.\n- Set cache headers and compress responses. (play nice with CDNs)\n- Easily publish to Amazon S3 or to a custom server with SFTP.\n\n### Wait, There's more...\n\n- Use any data source for content (eg. Relational databases, Document stores or REST APIs).\n- Don't like Mustache? Switch to a different template engine of your choice.\n- Write helpers to add run-time behaviour.\n- Add custom content parsers, pre-compilers, minifiers and publishers.\n- Add hooks to run after generating a page or site.\n- Define your own publishing strategy."}

field_body:
Punch is a simple, intuitive web publishing framework that will delight both designers and developers.

### With Punch you can...

- Use boilerplates to quickly setup a site.
- Write minimal templates with Mustache.
- Create flexible site structures with inheritable layouts and partials.
- Define page contents in JSON.
- Use Markdown to write formatted content.
- Use CoffeeScript and LESS if that's your thing.
- Minify and bundle assets before serving.
- Preview changes on the fly, while you develop.
- Set cache headers and compress responses. (play nice with CDNs)
- Easily publish to Amazon S3 or to a custom server with SFTP.

### Wait, There's more...

- Use any data source for content (eg. Relational databases, Document stores or REST APIs).
- Don't like Mustache? Switch to a different template engine of your choice.
- Write helpers to add run-time behaviour.
- Add custom content parsers, pre-compilers, minifiers and publishers.
- Add hooks to run after generating a page or site.
- Define your own publishing strategy.


id: nikola
git_filename: src/site/generators/nikola.md
format: md
field_title: Nikola
field_repo: getnikola/nikola
field_homepage: http://www.getnikola.com
field_language: Python
field_license: MIT
field_templates: Jinja2, Mako
field_description: A static website and blog generator
data:
{"title": "Nikola", "repo": "getnikola/nikola", "homepage": "http://www.getnikola.com", "language": ["Python"], "license": ["MIT"], "templates": ["Jinja2", "Mako"], "twitter": "GetNikola", "description": "A static website and blog generator", "body": "Nikola is a Static Site and Blog Generator\n\nIn goes content, out comes a website, ready to deploy.\n\n### What Can Nikola Do?\n\nIt has many features, but here are some of the nicer ones:\n\n- Blogs, with tags, feeds, archives, comments, etc.\n- Themable\n- Fast builds, thanks to doit\n- Flexible, extensible via plugins\n- Small codebase (programmers can understand all of Nikola core in a day)\n- reStructuredText [Cheatsheet] or Markdown as input language (also Wiki, BBCode, Textile, AsciiDoc, Python Notebooks, Misaka, Pandoc, txt2tags, orgmode, and HTML)\n- Easy image galleries (just drop files in a folder!)\n- Syntax highlighting for almost any programming language or markup\n- Multilingual sites, translated to 18 languages.\n- Doesn't reinvent wheels, leverages existing tools.\n- Python 2 and 3 compatible."}

field_body:
Nikola is a Static Site and Blog Generator

In goes content, out comes a website, ready to deploy.

### What Can Nikola Do?

It has many features, but here are some of the nicer ones:

- Blogs, with tags, feeds, archives, comments, etc.
- Themable
- Fast builds, thanks to doit
- Flexible, extensible via plugins
- Small codebase (programmers can understand all of Nikola core in a day)
- reStructuredText [Cheatsheet] or Markdown as input language (also Wiki, BBCode, Textile, AsciiDoc, Python Notebooks, Misaka, Pandoc, txt2tags, orgmode, and HTML)
- Easy image galleries (just drop files in a folder!)
- Syntax highlighting for almost any programming language or markup
- Multilingual sites, translated to 18 languages.
- Doesn't reinvent wheels, leverages existing tools.
- Python 2 and 3 compatible.


id: yst
git_filename: src/site/generators/yst.md
format: md
field_title: yst
field_repo: jgm/yst
field_homepage: https://github.com/jgm/yst
field_language: Haskell
field_license: GPL-2.0-only
field_templates: StringTemplate
field_description: Static websites from YAML and string templates
data:
{"title": "yst", "repo": "jgm/yst", "homepage": "https://github.com/jgm/yst", "language": ["Haskell"], "license": ["GPL-2.0-only"], "templates": ["StringTemplate"], "description": "Static websites from YAML and string templates", "body": "`yst` is a tool for generating a static website by filling [string\ntemplate](http://www.stringtemplate.org/)s with data taken from [YAML](http://www.yaml.org/) or [CSV](http://en.wikipedia.org/wiki/Comma-separated_values) text files or\n[SQLite3](http://www.sqlite.org/) file based databases. This approach\ncombines the speed, security, and ease of deployment of a static\nwebsite with the flexibility and maintainability of a dynamic site that\nseparates presentation and data."}

field_body:
`yst` is a tool for generating a static website by filling [string
template](http://www.stringtemplate.org/)s with data taken from [YAML](http://www.yaml.org/) or [CSV](http://en.wikipedia.org/wiki/Comma-separated_values) text files or
[SQLite3](http://www.sqlite.org/) file based databases. This approach
combines the speed, security, and ease of deployment of a static
website with the flexibility and maintainability of a dynamic site that
separates presentation and data.


id: blogdown
git_filename: src/site/generators/blogdown.md
format: md
field_title: blogdown
field_repo: codejamninja/blogdown
field_language: JavaScript
field_license: MIT
field_templates: Pug
field_description: A back-end agnostic, zero compilation, markdown blogging platform
data:
{"title": "blogdown", "repo": "codejamninja/blogdown", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Pug"], "description": "A back-end agnostic, zero compilation, markdown blogging platform", "body": "### [Download](https://github.com/thingdown/blogdown/releases/download/v0.1.9/blogdown.zip)\n\n### [Demo](https://thingdown.github.io/blogdown)\n\n## Features\n\n![BlogDown Features](https://drive.google.com/uc?export=view&id=151E88i6kqKLijZd0zSTKbDC20WoQoV4DAA)\n\n## Installing\n\n1. Unzip the contents from [HERE](https://github.com/thingdown/blogdown/releases/download/v0.1.9/blogdown.zip) on your server\n\n2. There is no step two. That's how easy it is to install BlogDown.\n\n### Try locally\n\n```sh\nmkdir blogdown && cd blogdown\ncurl -OL https://github.com/thingdown/blogdown/releases/download/v0.1.9/blogdown.zip\nunzip blogdown.zip && rm blogdown.zip\npython -m SimpleHTTPServer\n```\n\nGo to [http://localhost:8000](http://localhost:8000)\n\n### Docker\n\n```sh\ndocker run --name some-blogdown -v /volumes/blogdown-content:/app/content -p 8081:8081 thingdown/blogdown:latest\n```\n\nGo to [http://localhost:8081](http://localhost:8081)\n\n### Build from source\n\n```sh\ngit clone https://github.com/thingdown/blogdown.git\nyarn install # or `npm intall`\nbower install\nyarn start\n```"}

field_body:
### [Download](https://github.com/thingdown/blogdown/releases/download/v0.1.9/blogdown.zip)

### [Demo](https://thingdown.github.io/blogdown)

## Features

![BlogDown Features](https://drive.google.com/uc?export=view&id=151E88i6kqKLijZd0zSTKbDC20WoQoV4DAA)

## Installing

1. Unzip the contents from [HERE](https://github.com/thingdown/blogdown/releases/download/v0.1.9/blogdown.zip) on your server

2. There is no step two. That's how easy it is to install BlogDown.

### Try locally

```sh
mkdir blogdown && cd blogdown
curl -OL https://github.com/thingdown/blogdown/releases/download/v0.1.9/blogdown.zip
unzip blogdown.zip && rm blogdown.zip
python -m SimpleHTTPServer
```

Go to [http://localhost:8000](http://localhost:8000)

### Docker

```sh
docker run --name some-blogdown -v /volumes/blogdown-content:/app/content -p 8081:8081 thingdown/blogdown:latest
```

Go to [http://localhost:8081](http://localhost:8081)

### Build from source

```sh
git clone https://github.com/thingdown/blogdown.git
yarn install # or `npm intall`
bower install
yarn start
```


id: glayu
git_filename: src/site/generators/glayu.md
format: md
field_title: Glayu
field_repo: pablomartinezalvarez/glayu
field_homepage: http://www.glayu.com/
field_language: Elixir
field_license: MIT
field_templates: EEx
field_description: A static site generator for mid-sized sites.
data:
{"title": "Glayu", "repo": "pablomartinezalvarez/glayu", "homepage": "http://www.glayu.com/", "language": ["Elixir"], "license": ["MIT"], "templates": ["EEx"], "description": "A static site generator for mid-sized sites.", "body": "Glayu is a static site generator focused on mid-sized sites that generate daily content like magazines and newspapers.\n\nWhat makes Glayu different from other static site generators is the way it structures the source folder: when you publish an article using Glayu, the markdown file is placed inside a subfolder of the source directory following the permalink definition. Glayu takes advance of this folder organization to enable the concurrent and partial generation of the site.\n\n### Features\n\n- Partial site generation.\n- Well organized source folder.\n- Fast, thanks to Elixir and the Erlang VM."}

field_body:
Glayu is a static site generator focused on mid-sized sites that generate daily content like magazines and newspapers.

What makes Glayu different from other static site generators is the way it structures the source folder: when you publish an article using Glayu, the markdown file is placed inside a subfolder of the source directory following the permalink definition. Glayu takes advance of this folder organization to enable the concurrent and partial generation of the site.

### Features

- Partial site generation.
- Well organized source folder.
- Fast, thanks to Elixir and the Erlang VM.


id: mkws
git_filename: src/site/generators/mkws.md
format: md
field_title: mkws(1)
field_repo: mkws-1/mkws-1
field_homepage: https://mkws.sh
field_language: Bash
field_license: ISC
field_templates: Bash
field_description: Efficient Static Site Generator
field_startertemplaterepo: https://github.com/mkws-1/netlify-blank
data:
{"title": "mkws(1)", "repo": "mkws-1/mkws-1", "homepage": "https://mkws.sh", "language": ["Bash"], "license": ["ISC"], "templates": ["Bash"], "description": "Efficient Static Site Generator", "startertemplaterepo": "https://github.com/mkws-1/netlify-blank", "twitter": "mkws_1", "body": "Efficient Static Site Generator\n\nSimple, One Language (POSIX shell), Blazing Fast, Highly Extensible\nstatic site generator.\n\nMaybe fastest from nil to online!"}

field_body:
Efficient Static Site Generator

Simple, One Language (POSIX shell), Blazing Fast, Highly Extensible
static site generator.

Maybe fastest from nil to online!


id: sudo_site
git_filename: src/site/generators/sudo_site.md
format: md
field_title: sudo_site
field_repo: sharadcodes/sudo_site
field_homepage: https://github.com/sharadcodes/sudo_site
field_language: C++
field_license: MIT
field_templates: HTML, inja
field_description: The most simplest and lightweight static site and blog generator for c++ enthusiasts.
data:
{"title": "sudo_site", "repo": "sharadcodes/sudo_site", "homepage": "https://github.com/sharadcodes/sudo_site", "language": ["C++"], "license": ["MIT"], "templates": ["HTML", "inja"], "description": "The most simplest and lightweight static site and blog generator for c++ enthusiasts.", "body": "[sudo_site](https://github.com/sharadcodes/sudo_site) is the most \nsimplest and lightweight static site generator out there, with no \ndependencies at and all the libraries already supplied with the \nrepository you don't need to install any other dependency.\n\n[sudo_site](https://github.com/sharadcodes/sudo_site) was made in \njust two days but the development will go further and enhancements\nwill be done in the future to make things more easy.\n\nWith approx 120 lines of code it becomes the smallest Static Site \nGenerator which is capable of generating multiple pages, blogs.\n\nThe [repo](https://github.com/sharadcodes/sudo_site) also has a\ngithub actions config file with the help of which you can automate\nthe process of building in the github itself. It can push to any\nrepository you like, just add a PERSONAL ACCESS TOKEN to the \nsecrets with the repo checkbox ticked while creating the TOKEN.\n\nThe documentation is going on, although you won't need because it's\nthat simple.\nAfter cloning or downloading the [repo](https://github.com/sharadcodes/sudo_site) just run\n```\ng++ -o sudo_site sudo_site.cpp -lstdc++fs && ./sudo_site\n```\nand the site will be generated.\n\nYou don't need to compile it again. Next time just run `./sudo_site`\ninside the directory and the site will be generated."}

field_body:
[sudo_site](https://github.com/sharadcodes/sudo_site) is the most 
simplest and lightweight static site generator out there, with no 
dependencies at and all the libraries already supplied with the 
repository you don't need to install any other dependency.

[sudo_site](https://github.com/sharadcodes/sudo_site) was made in 
just two days but the development will go further and enhancements
will be done in the future to make things more easy.

With approx 120 lines of code it becomes the smallest Static Site 
Generator which is capable of generating multiple pages, blogs.

The [repo](https://github.com/sharadcodes/sudo_site) also has a
github actions config file with the help of which you can automate
the process of building in the github itself. It can push to any
repository you like, just add a PERSONAL ACCESS TOKEN to the 
secrets with the repo checkbox ticked while creating the TOKEN.

The documentation is going on, although you won't need because it's
that simple.
After cloning or downloading the [repo](https://github.com/sharadcodes/sudo_site) just run
```
g++ -o sudo_site sudo_site.cpp -lstdc++fs && ./sudo_site
```
and the site will be generated.

You don't need to compile it again. Next time just run `./sudo_site`
inside the directory and the site will be generated.


id: lerret
git_filename: src/site/generators/lerret.md
format: md
field_title: Lerret
field_repo: jgrh/lerret
field_homepage: https://github.com/jgrh/lerret
field_language: JavaScript
field_license: Apache-2.0
field_templates: Jade
field_description: A static site generator for image galleries.
data:
{"title": "Lerret", "repo": "jgrh/lerret", "homepage": "https://github.com/jgrh/lerret", "language": ["JavaScript"], "license": ["Apache-2.0"], "templates": ["Jade"], "description": "A static site generator for image galleries.", "body": "Lerret is a simple static site generator for image oriented sites, powered by [Node.js](http://nodejs.org). Whilst usable out of the box, Lerret's behaviour can be easily customised and extended through its plugin framework.\n\nLerret takes care of templating and image repurposing. Lerret doesn't come with any built in tools for generating stylesheets, minifying Javascript, or packaging and deploying your sites. Instead, it's recommended that you use your favourite tools directly to supplement what Lerret does well."}

field_body:
Lerret is a simple static site generator for image oriented sites, powered by [Node.js](http://nodejs.org). Whilst usable out of the box, Lerret's behaviour can be easily customised and extended through its plugin framework.

Lerret takes care of templating and image repurposing. Lerret doesn't come with any built in tools for generating stylesheets, minifying Javascript, or packaging and deploying your sites. Instead, it's recommended that you use your favourite tools directly to supplement what Lerret does well.


id: minerl
git_filename: src/site/generators/minerl.md
format: md
field_title: Minerl
field_repo: neevek/minerl
field_homepage: https://github.com/neevek/minerl
field_language: Perl
field_license: Artistic-2.0
field_templates: HTML::Template
field_description: Minerl is a blog-aware static site generator written in Perl.
data:
{"title": "Minerl", "repo": "neevek/minerl", "homepage": "https://github.com/neevek/minerl", "language": ["Perl"], "license": ["Artistic-2.0"], "templates": ["HTML::Template"], "description": "Minerl is a blog-aware static site generator written in Perl.", "body": "Minerl is a blog-aware static site generator written in Perl, it supports tagging, automatic archiving, post, page and layout inheritance.\n\n### Minerl\n\nVisit [https://github.com/neevek/minerl](https://github.com/neevek/minerl) for more details."}

field_body:
Minerl is a blog-aware static site generator written in Perl, it supports tagging, automatic archiving, post, page and layout inheritance.

### Minerl

Visit [https://github.com/neevek/minerl](https://github.com/neevek/minerl) for more details.


id: fossfolio
git_filename: src/site/generators/fossfolio.md
format: md
field_title: Fossfolio
field_repo: fossworx-labs/fossfolio
field_homepage: http://fossworx-labs.github.io/fossfolio
field_language: Python
field_license: MIT
field_templates: Jinja2
field_description: Probably the simplest static site generator in the world!
data:
{"title": "Fossfolio", "repo": "fossworx-labs/fossfolio", "homepage": "http://fossworx-labs.github.io/fossfolio", "language": ["Python"], "license": ["MIT"], "templates": ["Jinja2"], "description": "Probably the simplest static site generator in the world!", "body": "FOSSFolio is a Free and Open Source Software (FOSS) meant for developers to create their own static websites (mostly portfolios), with fine-grained control. It's built on Python 3.9 with Markdown and Jinja2 templating support, with minimal dependencies.\nIntended for developers who want a quick setup for their static sites, FOSSFolio offers an intuitive, easy to understand and (possibly) limitless extensibility.\n\n## Spotlight\n\n- **Fully Hackable(!)**\n- **Plugins to extend functionalities of basic templates:** A plugin can be anything- from replacing a simple placeholder with some simple value, to some complex JavaScript embedding beast, you can do anything with plugins, as long as you follow the rules for [Plugin Development](https://github.com/fossworx-labs/fossfolio/blob/main/README.md#plugin-development) \n- **Seamless Jinja2 templating (under development):** You can use the full power of Jinja templating for all your themes, as well as create themes based on it!\n- **Flexible page structure:** Whatever page structure you want, you can have it \ud83d\ude03, as long as you place it inside the `content/` folder, directly or indirectly. You just need to have a theme for it (or customize your theme accordingly).\n- **Automatic sitemap generation on-the-fly**: Yes, I know that getting the SEO right is a pain. So I implemented an automated sitemap generator, which generates readable sitemaps (to the best of my knowledge) that can be easily crawled by Search Engine Bots \ud83e\udd73."}

field_body:
FOSSFolio is a Free and Open Source Software (FOSS) meant for developers to create their own static websites (mostly portfolios), with fine-grained control. It's built on Python 3.9 with Markdown and Jinja2 templating support, with minimal dependencies.
Intended for developers who want a quick setup for their static sites, FOSSFolio offers an intuitive, easy to understand and (possibly) limitless extensibility.

## Spotlight

- **Fully Hackable(!)**
- **Plugins to extend functionalities of basic templates:** A plugin can be anything- from replacing a simple placeholder with some simple value, to some complex JavaScript embedding beast, you can do anything with plugins, as long as you follow the rules for [Plugin Development](https://github.com/fossworx-labs/fossfolio/blob/main/README.md#plugin-development) 
- **Seamless Jinja2 templating (under development):** You can use the full power of Jinja templating for all your themes, as well as create themes based on it!
- **Flexible page structure:** Whatever page structure you want, you can have it 😃, as long as you place it inside the `content/` folder, directly or indirectly. You just need to have a theme for it (or customize your theme accordingly).
- **Automatic sitemap generation on-the-fly**: Yes, I know that getting the SEO right is a pain. So I implemented an automated sitemap generator, which generates readable sitemaps (to the best of my knowledge) that can be easily crawled by Search Engine Bots 🥳.


id: plenti
git_filename: src/site/generators/plenti.md
format: md
field_title: Plenti
field_repo: plentico/plenti
field_homepage: https://plenti.co/
field_language: Go
field_license: Apache-2.0
field_templates: Svelte
field_description: Dead simple SSG that lets you focus on being productive.
data:
{"title": "Plenti", "repo": "plentico/plenti", "homepage": "https://plenti.co/", "language": ["Go"], "license": ["Apache-2.0"], "templates": ["Svelte"], "description": "Dead simple SSG that lets you focus on being productive.", "body": "Plenti is a static site generator with fast build times and a flexible\nfrontend framework for designing ambitious user experiences. The CLI\ntool is written in Go, so it's fast and is downloaded as a single \nbinary that doesn't require dependencies. The templating is done in \nSvelte so you can create an SPA with minimal overhead being sent to \nyour browser and the syntax is easy to pick up for beginners.\n\nRouting is setup out-of-the-box based on your content source. You\ncan override this by \"ejecting\" core files and customizing them to\nyour liking.\n\nNo bundler is needed, Plenti pulls in ESM support for your NPM \ndependencies.\n\nEvery route gets an HTML fallback for better initial page load performance, \na consistent experience with javascript disabled, and improved SEO. All \nendpoints automatically hydrate into an SPA.\n\nThe local dev server automatically watches your project for changes and \nrebuilds so you can write code without having to restart anything.\n\nA flexible content source allows you to define whatever field structure you'd \nlike, without any restrictions. There are no required or protected keys."}

field_body:
Plenti is a static site generator with fast build times and a flexible
frontend framework for designing ambitious user experiences. The CLI
tool is written in Go, so it's fast and is downloaded as a single 
binary that doesn't require dependencies. The templating is done in 
Svelte so you can create an SPA with minimal overhead being sent to 
your browser and the syntax is easy to pick up for beginners.

Routing is setup out-of-the-box based on your content source. You
can override this by "ejecting" core files and customizing them to
your liking.

No bundler is needed, Plenti pulls in ESM support for your NPM 
dependencies.

Every route gets an HTML fallback for better initial page load performance, 
a consistent experience with javascript disabled, and improved SEO. All 
endpoints automatically hydrate into an SPA.

The local dev server automatically watches your project for changes and 
rebuilds so you can write code without having to restart anything.

A flexible content source allows you to define whatever field structure you'd 
like, without any restrictions. There are no required or protected keys.


id: stapy
git_filename: src/site/generators/stapy.md
format: md
field_title: Stapy
field_homepage: https://www.stapy.net
field_language: Python
field_license: BSD-2-Clause
field_templates: HTML
field_description: A Static Site Generator that can generate a Website without a command line.
data:
{"title": "Stapy", "homepage": "https://www.stapy.net", "language": ["Python"], "license": ["BSD-2-Clause"], "templates": ["HTML"], "description": "A Static Site Generator that can generate a Website without a command line.", "body": "# Presentation\n\nStapy works with Python on any operating system without additional packages.\n\nDownload the last release archive, extract it and launch the server to start editing the website.\n\n- A Windows user can serve and build a site without a command line.\n- Generate the site for multiple environments: production, development, preview...\n- Page data is stored in JSON format.\n- Include variables and blocks anywhere with simple template syntax.\n- Plugins allow to write Python code for rendering blocks.\n- You are free to use the frontend technologies you like!\n\n# Templating\n\n```html\n<!-- Display var -->\n{{ title }}\n\n<!-- Include block -->\n{% block.header %}\n\n<!-- Include block with arguments -->\n{% block.author firstname:\"John\" lastname:\"Doe\" %}\n\n<!-- Include block with specific page data -->\n{% block.article + blog/my-first-post.html %}\n\n<!-- Loop on block with JSON query -->\n{% block.article ~ tags:post date:desc 1:10 %}\n\n<!-- Plugin rendering -->\n{: date.current_date format:\"%m/%d/%Y %H:%M\" :}\n```"}

field_body:
# Presentation

Stapy works with Python on any operating system without additional packages.

Download the last release archive, extract it and launch the server to start editing the website.

- A Windows user can serve and build a site without a command line.
- Generate the site for multiple environments: production, development, preview...
- Page data is stored in JSON format.
- Include variables and blocks anywhere with simple template syntax.
- Plugins allow to write Python code for rendering blocks.
- You are free to use the frontend technologies you like!

# Templating

```html
<!-- Display var -->
{{ title }}

<!-- Include block -->
{% block.header %}

<!-- Include block with arguments -->
{% block.author firstname:"John" lastname:"Doe" %}

<!-- Include block with specific page data -->
{% block.article + blog/my-first-post.html %}

<!-- Loop on block with JSON query -->
{% block.article ~ tags:post date:desc 1:10 %}

<!-- Plugin rendering -->
{: date.current_date format:"%m/%d/%Y %H:%M" :}
```


id: cecil
git_filename: src/site/generators/cecil.md
format: md
field_title: Cecil
field_repo: Cecilapp/Cecil
field_homepage: https://cecil.app
field_language: PHP
field_license: MIT
field_templates: Twig
field_description: Your content driven static site generator.
field_startertemplaterepo: https://github.com/Cecilapp/the-butler
data:
{"title": "Cecil", "repo": "Cecilapp/Cecil", "homepage": "https://cecil.app", "language": ["PHP"], "license": ["MIT"], "templates": ["Twig"], "description": "Your content driven static site generator.", "startertemplaterepo": "https://github.com/Cecilapp/the-butler", "twitter": "Cecil_Static", "body": "Cecil is a CLI application that merges plain text files (written in [Markdown](http://daringfireball.net/projects/markdown/)), images and [Twig](http://twig.sensiolabs.org/) templates to generate a [static website](https://en.wikipedia.org/wiki/Static_web_page).\n\n- [Documentation](https://cecil.app/documentation)\n- [Issue tracker](https://github.com/Cecilapp/Cecil/issues)"}

field_body:
Cecil is a CLI application that merges plain text files (written in [Markdown](http://daringfireball.net/projects/markdown/)), images and [Twig](http://twig.sensiolabs.org/) templates to generate a [static website](https://en.wikipedia.org/wiki/Static_web_page).

- [Documentation](https://cecil.app/documentation)
- [Issue tracker](https://github.com/Cecilapp/Cecil/issues)


id: pystatic
git_filename: src/site/generators/pystatic.md
format: md
field_title: pystatic
field_repo: zedelghem/pystatic
field_homepage: https://github.com/Zedelghem/pystatic
field_language: Python
field_license: GPL-3.0-only
field_templates: HTML
data:
{"title": "pystatic", "repo": "zedelghem/pystatic", "homepage": "https://github.com/Zedelghem/pystatic", "language": ["Python"], "license": ["GPL-3.0-only"], "templates": ["HTML"], "description": "Dead simple, one-line, few options static website generator. Just write your stuff instead of learning generators.", "body": "There are multiple Python-based static site generators but I wanted something extremely simple, even primitive; something you could use knowing zero Python and perhaps never even having to tweak options. A tool for everyone not willing to struggle with servers or learn a CMS just to write stuff. Lo and behold, here comes pystatic."}

field_description:
Dead simple, one-line, few options static website generator. Just write your stuff instead of learning generators.

field_body:
There are multiple Python-based static site generators but I wanted something extremely simple, even primitive; something you could use knowing zero Python and perhaps never even having to tweak options. A tool for everyone not willing to struggle with servers or learn a CMS just to write stuff. Lo and behold, here comes pystatic.


id: simple
git_filename: src/site/generators/simple.md
format: md
field_title: simple
field_repo: isnowfy/simple
field_homepage: http://isnowfy.github.io/simple/
field_language: JavaScript
field_license: MIT
field_templates: Markdown
field_description: Simple is a pure static static blog generator.
data:
{"title": "simple", "repo": "isnowfy/simple", "homepage": "http://isnowfy.github.io/simple/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Markdown"], "description": "Simple is a pure static static blog generator.", "body": "#Simple\n\nSimple is a static blog generator with a single static page. You can write you blog online, and it will generate static html files at your repo named `username.github.io` which is supported by [github pages](https://pages.github.com)\n\n##Demo\n\n[Simple](http://isnowfy.github.io/simple)\n\n[Blog demo](http://isnowfy.github.io/)\n\n[Lightweight markdown editor](http://isnowfy.github.io/simple/editor.html)\n\n##Usage\n\nWith Simple and github pages you can easily create your static blog. Here is what you need to do.\n\n1. Create a github account.\n2. Create a repo named `your_user_name.github.io` (remember to check `Initilize and create README`).\n3. Sign in [Simple](http://isnowfy.github.io/simple) with your github account.\n4. Click `Initilize` to set up basic files for your static blog site.(maybe a little slow)\n5. Click `Go` and start writing.\n6. Click `New post` to create a new post and when finish writing click `save` to generate the static page.\n7. Now you can browse the `your_user_name.github.io` site and enjoy it!\n\n![simple](https://isnowfy.github.io/img/Simple.png)\n\n- You can use your own blog name, just modify the `main.json` file, and change `name=\"username\"`.\n\n- You can use disqus comment system, just modify the `main.json` file, and change `disqus_shortname=\"\"` to `disqus_shortname=\"your_shortname\"`.\n\n- You can use your own custom domain, just modify the `CNAME` file.(see [also](https://help.github.com/articles/setting-up-a-custom-domain-with-github-pages))\n\n##Features\n\n- Simple, no backend need\n- Static blog\n- Markdown editor\n- Code highlight support\n- Tex formula support\n- Responsive html\n\n##Custom\n\nThe template files are at `/src/template`, so you can modify the template files and css files. If you want use your own theme you can clone the project, modify the template files and push the entire `src` folder in your `gh-pages` branch which will allow you generate your own static blog.\n\n##Todo\n\nEnhance error display, Search, Sitemap, Rss\n\n##License\n\nMIT licensed."}

field_body:
#Simple

Simple is a static blog generator with a single static page. You can write you blog online, and it will generate static html files at your repo named `username.github.io` which is supported by [github pages](https://pages.github.com)

##Demo

[Simple](http://isnowfy.github.io/simple)

[Blog demo](http://isnowfy.github.io/)

[Lightweight markdown editor](http://isnowfy.github.io/simple/editor.html)

##Usage

With Simple and github pages you can easily create your static blog. Here is what you need to do.

1. Create a github account.
2. Create a repo named `your_user_name.github.io` (remember to check `Initilize and create README`).
3. Sign in [Simple](http://isnowfy.github.io/simple) with your github account.
4. Click `Initilize` to set up basic files for your static blog site.(maybe a little slow)
5. Click `Go` and start writing.
6. Click `New post` to create a new post and when finish writing click `save` to generate the static page.
7. Now you can browse the `your_user_name.github.io` site and enjoy it!

![simple](https://isnowfy.github.io/img/Simple.png)

- You can use your own blog name, just modify the `main.json` file, and change `name="username"`.

- You can use disqus comment system, just modify the `main.json` file, and change `disqus_shortname=""` to `disqus_shortname="your_shortname"`.

- You can use your own custom domain, just modify the `CNAME` file.(see [also](https://help.github.com/articles/setting-up-a-custom-domain-with-github-pages))

##Features

- Simple, no backend need
- Static blog
- Markdown editor
- Code highlight support
- Tex formula support
- Responsive html

##Custom

The template files are at `/src/template`, so you can modify the template files and css files. If you want use your own theme you can clone the project, modify the template files and push the entire `src` folder in your `gh-pages` branch which will allow you generate your own static blog.

##Todo

Enhance error display, Search, Sitemap, Rss

##License

MIT licensed.


id: elm-pages
git_filename: src/site/generators/elm-pages.md
format: md
field_title: elm-pages
field_repo: dillonkearns/elm-pages
field_homepage: https://elm-pages.com
field_language: Elm
field_license: BSD-3-Clause
field_templates: Elm
field_description: Build fast, modern sites with Elm's delightful type system to help you! 📚
field_startertemplaterepo: https://github.com/dillonkearns/elm-pages-starter
data:
{"title": "elm-pages", "repo": "dillonkearns/elm-pages", "homepage": "https://elm-pages.com", "language": ["Elm"], "license": ["BSD-3-Clause"], "templates": ["Elm"], "description": "Build fast, modern sites with Elm's delightful type system to help you! \ud83d\udcda", "startertemplaterepo": "https://github.com/dillonkearns/elm-pages-starter", "twitter": "elm_pages", "body": "Build fast, modern sites with Elm's delightful type system to help you! \ud83d\udcda\n\n## Features\n\n- High-level, type-safe API for SEO\n- Pre-renders pages for fast initial loads and better SEO\n- Hydrates into a full-fledged Elm app after initial page render\n\nLearn more about some of the cool features `elm-pages` offers at https://elm-pages.com/blog/introducing-elm-pages!"}

field_body:
Build fast, modern sites with Elm's delightful type system to help you! 📚

## Features

- High-level, type-safe API for SEO
- Pre-renders pages for fast initial loads and better SEO
- Hydrates into a full-fledged Elm app after initial page render

Learn more about some of the cool features `elm-pages` offers at https://elm-pages.com/blog/introducing-elm-pages!


id: saber
git_filename: src/site/generators/saber.md
format: md
field_title: Saber
field_repo: saberland/saber
field_homepage: https://saber.land/
field_language: JavaScript
field_license: MIT
field_templates: Vue
field_description: A framework for building modern static websites.
data:
{"title": "Saber", "repo": "saberland/saber", "homepage": "https://saber.land/", "language": ["JavaScript"], "license": ["MIT"], "templates": ["Vue"], "description": "A framework for building modern static websites.", "twitter": "saber_land", "body": "Saber is a simple yet powerful framework for building modern static websites.\n\n- **Static Rendering**. With Saber, static rendering with Vue.js is easier now than ever.\n- **Zero Setup**. Automatic code splitting, file-system based routing, hot code reloading and built-in Markdown support.\n- **Bring Your Own Data**. Build sites with the data you want: Pull data from headless CMS, SaaS services, APIs, your file-system, and more.\n- **Fully Extensible**. With Saber's powerful APIs and plugin system, you can customize almost everything.\n\n## Quick Overview\n\nIf you want to create a blog with Saber, you can achieve this by using a single command:\n\n```bash\nnpm init blog my-blog\n# Or if you prefer Yarn\nyarn create blog my-blog\n```\n\nThen run `npm run dev` or `yarn dev` in the created project and you're done!\n\nCheck out the [website](https://saber.land) for more details.\n\n## Resources\n\n- [Awesome Saber](https://github.com/egoist/awesome-saber) - A curated list of awesome Saber resources.\n\n## Community\n\n- [Discord Chat](https://chat.saber.land)\n- [Spectrum Chat](https://spectrum.chat/saber)\n- [\u4e2d\u6587 Telegram \u8ba8\u8bba\u7ec4](https://t.me/joinchat/Bc7EQEaeb4Ty0k5wvRNU7Q)"}

field_body:
Saber is a simple yet powerful framework for building modern static websites.

- **Static Rendering**. With Saber, static rendering with Vue.js is easier now than ever.
- **Zero Setup**. Automatic code splitting, file-system based routing, hot code reloading and built-in Markdown support.
- **Bring Your Own Data**. Build sites with the data you want: Pull data from headless CMS, SaaS services, APIs, your file-system, and more.
- **Fully Extensible**. With Saber's powerful APIs and plugin system, you can customize almost everything.

## Quick Overview

If you want to create a blog with Saber, you can achieve this by using a single command:

```bash
npm init blog my-blog
# Or if you prefer Yarn
yarn create blog my-blog
```

Then run `npm run dev` or `yarn dev` in the created project and you're done!

Check out the [website](https://saber.land) for more details.

## Resources

- [Awesome Saber](https://github.com/egoist/awesome-saber) - A curated list of awesome Saber resources.

## Community

- [Discord Chat](https://chat.saber.land)
- [Spectrum Chat](https://spectrum.chat/saber)
- [中文 Telegram 讨论组](https://t.me/joinchat/Bc7EQEaeb4Ty0k5wvRNU7Q)


id: sitio
git_filename: src/site/generators/sitio.md
format: md
field_title: Sitio
field_repo: fiatjaf/sitio
field_homepage: https://github.com/fiatjaf/sitio
field_language: JavaScript
field_license: MIT
field_templates: React
field_description: An imperative static site generator built with React and browserify
data:
{"title": "Sitio", "repo": "fiatjaf/sitio", "homepage": "https://github.com/fiatjaf/sitio", "language": ["JavaScript"], "license": ["MIT"], "templates": ["React"], "description": "An imperative static site generator built with React and browserify", "body": "Take any sources -- Markdown or other documents, API calls, databases, headless CMSs --, process them using **sitio** helpers or on your own way, then render pages. No need to adjust your files to some predefined pattern or tree structure, place them wherever you want and write your own code that finds them (although some helpers are provided).\n\nYou can write dynamic components and embed them in the pages, like placing SPA-like functionality in a section of your site, or embedding maps, pickers, dynamic forms or other kinds of functionality in the middle of a blog article.\n\nSince everythings is statically rendered, the generated site works on environments without JavaScript (except, of course, dynamic components), but if JavaScript is present the browsing experience will be super smooth and fast, without full page reloads.\n\nAlso, only the skeleton (basic components and code) of the site/app is loaded statically, all the data specific for each page is loaded asynchronously and dinamically while the visitor is browsing."}

field_body:
Take any sources -- Markdown or other documents, API calls, databases, headless CMSs --, process them using **sitio** helpers or on your own way, then render pages. No need to adjust your files to some predefined pattern or tree structure, place them wherever you want and write your own code that finds them (although some helpers are provided).

You can write dynamic components and embed them in the pages, like placing SPA-like functionality in a section of your site, or embedding maps, pickers, dynamic forms or other kinds of functionality in the middle of a blog article.

Since everythings is statically rendered, the generated site works on environments without JavaScript (except, of course, dynamic components), but if JavaScript is present the browsing experience will be super smooth and fast, without full page reloads.

Also, only the skeleton (basic components and code) of the site/app is loaded statically, all the data specific for each page is loaded asynchronously and dinamically while the visitor is browsing.


id: gssg
git_filename: src/site/generators/gssg.md
format: md
field_title: Generic Static Site Generator
field_repo: theabbie/Generic-Static-Site-Generator
field_homepage: https://github.com/theabbie/Generic-Static-Site-Generator
field_language: JavaScript
field_license: MIT
field_templates: HTML
field_startertemplaterepo: https://github.com/theabbie/Generic-Static-Site-Generator
data:
{"title": "Generic Static Site Generator", "repo": "theabbie/Generic-Static-Site-Generator", "homepage": "https://github.com/theabbie/Generic-Static-Site-Generator", "language": ["JavaScript"], "license": ["MIT"], "templates": ["HTML"], "description": "This is a Generic Static Site Generator, It is written in JavaScript, It can be used to create static websites", "twitter": "Generic_SSG", "startertemplaterepo": "https://github.com/theabbie/Generic-Static-Site-Generator", "body": "# Generic Static Site Generator\n\n[![Join the chat at https://gitter.im/Generic-Static-Site-Generator/community](https://badges.gitter.im/Generic-Static-Site-Generator/community.svg)](https://gitter.im/Generic-Static-Site-Generator/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n[![Rate on Openbase](https://badges.openbase.io/js/rating/generic-static-site-generator.svg)](https://openbase.io/js/generic-static-site-generator?utm_source=embedded&utm_medium=badge&utm_campaign=rate-badge)\n\n![Generic Static Site Generator](https://theabbie.github.io/files/logo.png)\n\n## Introduction\n\nThis is a Generic Static Site Generator, It is written in JavaScript, It can be used to create static websites\n\nIt is an organised and completely customisable Static Site Generator, It treats webpages as objects which can be evaluated.\n\nThis can be used to created all kinds of websites.\n\n## Usage\n\n```sh\ngssg\n```\n\n## Contributing\n\nThank you for your interest in contributing, I would love to see your contributions, So, You could just create a PR, if it's really worth, I will merge it\n\n## Help\n\nContact me anywhere, You can easily find me, Mail is preferable for formal communication, Instagram DM for small talks\n\n## Installation\n\n### Requirements\n\n* Node.Js installed\n* A website Architecture\n\n### Installation\n\nYou have to install `GSSG` from [NPM](https://www.npmjs.com/package/generic-static-site-generator)\n\n```sh\nnpm install -g generic-static-site-generator\n```\n\n### Configuration\n\nAll the configuration data should be present in a `config.json` file\n\n## Credits\n\nCurrently, I am the only one who can be credited for this, But, I was inspired by lack of a simple SSG, There are very cool ones, but somehow, I feel that they are unnecessarily complicated, My motive in this SSG is to make it ridiculously Simple\n\n## Contact\n\n[This](https://theabbie.github.io) is the gateway to my entire internet presence. Find me there. If that doesn't let you know enough about me, Then I am afraid to say, Nothing can\n\n## License\n\nThis project is licensed under MIT License, See [https://github.com/theabbie/Generic-Static-Site-Generator/blob/master/LICENSE](/LICENSE) for more information"}

field_description:
This is a Generic Static Site Generator, It is written in JavaScript, It can be used to create static websites

field_body:
# Generic Static Site Generator

[![Join the chat at https://gitter.im/Generic-Static-Site-Generator/community](https://badges.gitter.im/Generic-Static-Site-Generator/community.svg)](https://gitter.im/Generic-Static-Site-Generator/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Rate on Openbase](https://badges.openbase.io/js/rating/generic-static-site-generator.svg)](https://openbase.io/js/generic-static-site-generator?utm_source=embedded&utm_medium=badge&utm_campaign=rate-badge)

![Generic Static Site Generator](https://theabbie.github.io/files/logo.png)

## Introduction

This is a Generic Static Site Generator, It is written in JavaScript, It can be used to create static websites

It is an organised and completely customisable Static Site Generator, It treats webpages as objects which can be evaluated.

This can be used to created all kinds of websites.

## Usage

```sh
gssg
```

## Contributing

Thank you for your interest in contributing, I would love to see your contributions, So, You could just create a PR, if it's really worth, I will merge it

## Help

Contact me anywhere, You can easily find me, Mail is preferable for formal communication, Instagram DM for small talks

## Installation

### Requirements

* Node.Js installed
* A website Architecture

### Installation

You have to install `GSSG` from [NPM](https://www.npmjs.com/package/generic-static-site-generator)

```sh
npm install -g generic-static-site-generator
```

### Configuration

All the configuration data should be present in a `config.json` file

## Credits

Currently, I am the only one who can be credited for this, But, I was inspired by lack of a simple SSG, There are very cool ones, but somehow, I feel that they are unnecessarily complicated, My motive in this SSG is to make it ridiculously Simple

## Contact

[This](https://theabbie.github.io) is the gateway to my entire internet presence. Find me there. If that doesn't let you know enough about me, Then I am afraid to say, Nothing can

## License

This project is licensed under MIT License, See [https://github.com/theabbie/Generic-Static-Site-Generator/blob/master/LICENSE](/LICENSE) for more information


