Skip to content

sinclairtarget/michel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

110 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Michel

brutalist

Michel is a static site generator built on Markedly Structured Text (MyST) and Go templating.

Rationale

Why MyST?

MyST is a Markdown specification that adds several features useful for technical and scientific writing to standard Markdown, including figures, tables, footnotes, subscripts/superscripts, abbreviations, admonitions, and more.

The MyST spec defines an abstract syntax tree for parsed MyST documents. This makes it possible for Michel to give you access to your parsed content as a tree of MyST nodes at templating time (rather than as a blob of already-rendered HTML). You can traverse and filter this tree to easily create article outlines, excerpts, or sidebars.

MyST also defines a syntax for extensions with custom "directives" and "roles," inspired by reStructuredText. Michel will eventually allow you to create plugins implementing your own directives and roles.

Why Go Templates?

Michel is heavily inspired by Hugo and should feel familiar to Hugo users.

That said, Michel aims to be simpler than Hugo and will never have as many features. Michel also takes a different, more explicit approach to mapping content to final pages in your website.

Non-Features

  • Michel will never have built-in asset pipelines. Just use CSS, or use Michel as part of a larger build process.
  • Michel will never have extensive configuration options. Just fork it!
  • Michel will never have shortcodes. MyST makes shortcodes unnecessary.

Installation

TODO

Usage

Michel builds a site by reading input files from these directories:

content: Your website content / prose, written using MyST Markdown.

site: Your website HTML pages (templated using Go templating) and assets.

layouts: Your templated layouts that can be shared among multiple pages.

partials: Your templated sub-components that can be shared among multiple pages.

After processing, all output gets written to a directory named public.

About

A static site generator based on MyST markdown

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors