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, HTTP contexts and more. 
       
       
       Snor’s usage is for an audience with a special interest in publishing adventures in the fields of code golf, Commodore 64, low-level stuff, etc. 
       
       
       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 
       - Syntax highlighting 
       - Feeds  -
       
       - RSS (RSS 2.0, Atom) 
       - JSON feed 
       - File content  -
       
       - Virtual File System for abstract rendering of:  Pretty media viewer (images, audio, video, csv, documents, markup, gpx)  Directory listings  Git repositories  Markdown rendering   
       - Pretty media viewer (images, audio, video, csv, documents, markup, gpx) 
       - Directory listings 
       - Git repositories 
       - Markdown rendering 
       - Ontology  -
       
       - Categories 
       - Tags 
       - Sitemap 
       - Search 
       - Misc  -
       
       - Content negotation for images, audio, video, CSS and HTML 
       - 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. No frontmatter needed. 
       
       
       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) previous Faddy webserver
       
 (DIR) next http2gopher
       
       
       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)