snor
=====
(TXT) Moustache (.svg)
Snor (Dutch for moustache 🥸) is a semi-static site generator. Markdown files are rendered to HTML at startup and kept in memory. Superfast.
This website runs on it.
Written in Go. Shows the usage of the standard library like wrapping and intercepting HTTP handlers, parsing Markdown, I/O, testing/mocking, logging, templating and more.
HTTP Handlers
--------------
- Content handler (renders HTML from Markdown)
- Directory listing handler
- Media decorator (renders HTML pages for media like images, video, audio and documents)
- Ontology handlers
- File server
Features
---------
- Content -
- Metadata extraction from Markdown files
- Feeds -
- RSS (RSS 2.0, Atom)
- JSON feed
- File content -
- Markdown rendering
- Pretty media viewer (images, audio, video, csv, documents, markup)
- Directory listings
- Git repositories
- Ontology -
- Categories
- Tags
- Sitemap
- Search
- Misc -
- Content negotation for images, audio and video
- Related content based on shared tags (‘recommendation engine’)
- Sitemap.xml
- Pages render in < 1 ms
Authoring content
------------------
Content is written in Markdown. Metadata (tags, categories, publication) is also retrieved from Markdown.
A simple article Markdown:
Metadata
---------
As mentioned, metadata is extract from the document. The example will be filed under the category ‘Ramblings’ and published at the specified date. Title and images are also extracted to be used in overview and other pages.
(DIR) next Faddy webserver
Related
--------
(DIR) Faddy webserver
(TXT) /img/fallback.svg (.svg)
(DIR) io.MultiWriter gotcha!
(TXT) Goofy gopher (.svg)
(DIR) Running Go tests in VSCode with CGO
(TXT) Goofy gopher (.svg)
(DIR) shakehands
(IMG) shakehands (.png)
(DIR) Convert CSV and TSV
(TXT) CSV logo (.svg)
(DIR) Overriding methods in Golang
(TXT) Goofy gopher (.svg)
(DIR) GoTris
(IMG) GoTris (.png)
(DIR) Stachys
(IMG) stachys.nl (.png)