https://github.com/roddyyaga/finch
Simple and fast site generator
https://github.com/roddyyaga/finch
Last synced: 10 months ago
JSON representation
Simple and fast site generator
- Host: GitHub
- URL: https://github.com/roddyyaga/finch
- Owner: roddyyaga
- License: mit
- Created: 2020-06-16T12:53:57.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-06-12T19:48:23.000Z (over 4 years ago)
- Last Synced: 2024-08-04T01:28:41.548Z (over 1 year ago)
- Language: OCaml
- Size: 53.7 KB
- Stars: 59
- Watchers: 3
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-list - finch
README

# Finch
A simple and fast[1](#f1) site generator.
Can be used as:
- A generic static site generator using markdown files with frontmatter and [Jingoo](https://github.com/tategakibunko/jingoo) (very similar to Jinja) templates
- A tiny version of Gatsby -- generate static pages from React components
- A server side renderer to produce static pages with React components that are hydrated by scripts
(see the examples directory)
## Installation
With opam: `opam install finch`
It is also available as a Docker container:
`docker run -v $(pwd):/finch roddylm/finch:latest -help`
## Use
Make a directory called `layouts`. Add template files to it with `{{ page.content }}` where the content of a page being
rendered should go. Then make a directory called `content`. Add files to it that look like this:
```
---
layout: "path/to/a/template/relative/to/layouts"
other: "variables"
if: "you want"
---
The *content* of the page in [markdown](https://en.wikipedia.org/wiki/Markdown).
```
Then run `finch`. The output site will be in the directory `site`.
See [here](https://roddyyaga.github.io/finch) for detailed documentation.
1 From ad hoc comparisons, about twice as fast as Hugo to build simple sites with 10,000-100,000 pages, and
successfully built a site with 500,000 pages where Hugo froze my machine. [↩](#a1)