On 13.12.2020 10:11, Christopher Small wrote:
Oz (in addition to being a dataviz tookit) has evolved into the realm of
static site generation
<https://github.com/metasoarous/oz#static-site-generation>, complete
with live code reloading. Simply
|(require '[oz.core :as oz]) (oz/build! [{:from "site-src/pages" :to
"build"}]) |
This will set up a filesystem watch on the |site-src/pages| directory
(of markdown, or edn/clj files with hiccup), and every time the file
changes will output compiled html to the |build| directory, as well as
update a live view of the most recently edited page.
Note that you can specify multiple such build specifications, in case
different pages need to be rendered differently (e.g. different
template/layout/styling).
|(defn blog-template [hiccup] [:div {:style {:extra :styles}}
[blog-sidebar] hiccup]) (oz/build! [{:from "site-src/pages" :to "build"}
{:from "site-src/blog" :to "build/blog" :template-fn blog-template}]) |
There’s plenty more to say, but I’ll leave it for the docs:
https://github.com/metasoarous/oz#static-site-generation
<https://github.com/metasoarous/oz#static-site-generation>
To my knowledge, this is the only static site rendering framework in
Clojure with live-code reloading. I’ve been thinking about extracting
this functionality into a standalone library without all of the data
visualization business, but it’s a bit of an invasive operation. As it
stands, it’s a bit hard to discover these features amidst everything
else Oz provides, so I would appreciate feedback on this.
I you try it out, please let me know how it goes for you.
Thanks
Chris
I'm also using Cryogen Web.
I had pretty good experience with it.
It's not as developed as more popular static website generators but for
me it is good enough.
It also received some contributions lately so it should work even better.
I wanted live reload while working on content/themes and wrote this
guide on how to integrate it -
https://www.ieugen.ro/posts/2020/2020-11-14-live-reload-for-cryogen-web/ .
(The website is is hosted with Cryogen Web
https://gitlab.com/ieugen/ieugen-ro ).
Thank you for sharing the other options, I did not know about them.
Eugen
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to clojure+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/clojure/8b63c87f-e01b-2fea-14bd-b6d8aa3bfe72%40gmail.com.