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

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


On Saturday, December 12, 2020 at 8:31:19 PM UTC-8 Sean Corfield wrote:

> I think a lot of people use Cryogen: Simple static sites (cryogenweb.org) 
> <https://cryogenweb.org/> -- I used to use Octopress, based on Jekyll, 
> and switched to Cryogen recently. For the commenting system, I've used 
> Disqus for a long time. And I host on GitHub (via seancorfield.github.io 
> and a custom corfield.org domain).
>
> On Sat, Dec 12, 2020 at 1:53 AM lawrence...@gmail.com <
> lawrence...@gmail.com> wrote:
>
>> Hello everyone. I've been away from the Clojure community for the last 2 
>> years (nowadays I do more managing than programming) but I'm starting a new 
>> blog. I tried to use Wordpress on the theory that it is "easy" and also 
>> because I've been told they fixed their old security flaws, but I installed 
>> the latest version and it was hacked in less than a day, so now I'm feeling 
>> unkindly towards Wordpress. 
>>
>> I'm looking for a blog engine, which can use a database or flat files, I 
>> don't care. 
>>
>> The main thing I need is a working comment system, with an ability on my 
>> side to whitelist particular commenters. Does anything like that exist 
>> written in Clojure?
>>
>> I'm very grateful, if anyone can point me to something that works, and is 
>> reasonably maintained. 
>>
>> -- 
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/clojure/3cb3a068-a916-4bd4-925f-cd71744908dcn%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/clojure/3cb3a068-a916-4bd4-925f-cd71744908dcn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> -- 
> Sean A Corfield -- (904) 302-SEAN
> An Architect's View -- https://corfield.org/
> World Singles Networks, LLC. -- https://worldsinglesnetworks.com/
>
> "Perfection is the enemy of the good."
> -- Gustave Flaubert, French realist novelist (1821-1880)
>

-- 
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/45b2e71e-cbe3-486d-a074-37b608103613n%40googlegroups.com.

Reply via email to