all repos — hastysite @ ee3fddcc9c5ce5a5291ac7bf84dd8a97166031f9

A high-performance static site generator.

Updated site and guide.
h3rald h3rald@h3rald.com
Wed, 20 May 2026 10:29:05 +0200
commit

ee3fddcc9c5ce5a5291ac7bf84dd8a97166031f9

parent

15cdb89a6d30e18182cbe989fa8b538caee0e61f

M HastySite_UserGuide.mdHastySite_UserGuide.md

@@ -28,6 +28,14 @@ {@ site/contents/reference.md || 1 @}

## Changelog +### v1.4.1 + +{@ site/contents/posts/v141-released.md || 1 @} + +### v1.4.0 + +{@ site/contents/posts/v140-released.md || 1 @} + ### v1.3.9 {@ site/contents/posts/v139-released.md || 1 @}
A site/contents/posts/v141-released.md

@@ -0,0 +1,10 @@

+----- +id: v141-released +title: "v1.4.1 released" +content-type: post +date: "20 May 2026" +timestamp: 1779265303 +----- + +* Upgraded min to v0.46.1 +* The `settings` symbol is now an actual dictionary, not a nim proc (enables dot notation in rules/scripts).
M site/rules.minsite/rules.min

@@ -3,8 +3,8 @@

;Routing ( (dict) expect -> :meta - meta "id" dict.get :id - meta "ext" dict.get :ext + meta.id :id + meta.ext :ext ( ((id "home" ==) ( meta (

@@ -26,10 +26,10 @@ (

(dict) expect -> :meta "" :page "" :contents - meta "content-type" dict.get :tpl + meta.content-type :tpl meta ( (input-fread @contents meta) - (settings "title" dict.get "site-title" dict.set) + (settings.title "site-title" dict.set) (:temp contents temp markdown @contents temp) (contents "contents" dict.set) (:temp tpl temp mustache @page temp)

@@ -62,7 +62,7 @@ contents (

(dict) expect -> :content content ("id" dict.get "news" ==) (content posts "posts" dict.set @content) when ( - ((content "id" dict.get "/" split last "^[._]" match?) ()) ;;Ignore files starting with a dot or underscore + ((content.id "/" split last "^[._]" match?) ()) ;;Ignore files starting with a dot or underscore ((true) (content process-content set-destination output-fwrite)) ) case ) foreach

@@ -73,7 +73,7 @@ (dict) expect ->

stack.dup ( (("ext" dict.get ".css" match?) (process-css-asset)) - (("id" dict.get "/" split last "^[._]" match?) ()) ;;Ignore files starting with a dot or underscore + (("id" dict.get "/" split last "^[._]" match?) ()) ; Ignore files starting with a dot or underscore ((true) (output-cp)) ) case ) foreach
M site/templates/_footer.mustachesite/templates/_footer.mustache

@@ -1,5 +1,5 @@

<footer> -<p>&copy; 2016&mdash;2023 <a href="https://h3rald.com">Fabio Cevasco</a></p> +<p>&copy; 2016&mdash;2026 <a href="https://h3rald.com">Fabio Cevasco</a></p> <p>Powered by <a href="https://hastysite.h3rald.com">HastySite</a></p> <p> <a href="http://creativecommons.org/licenses/by-sa/4.0/">