From 495f9db0606b0ed09e6fac59dc32de4cdc8c0087 Mon Sep 17 00:00:00 2001 From: Thomas Letan Date: Sun, 28 Mar 2021 00:03:41 +0100 Subject: 2021 Spring redesign --- site/cleopatra.org | 62 +++++++++++++++++++++++------------------------------- 1 file changed, 26 insertions(+), 36 deletions(-) (limited to 'site/cleopatra.org') diff --git a/site/cleopatra.org b/site/cleopatra.org index 77e8ff1..0831621 100644 --- a/site/cleopatra.org +++ b/site/cleopatra.org @@ -1,46 +1,44 @@ -#+BEGIN_EXPORT html -

A Series on Generating this Static Website

-#+END_EXPORT +#+TITLE: A Series on Generating this Static Website -The generation of this website is far from being trivial, and requires the -combination of —probably too— many tools. For instance, my write-ups about Coq -are actually Coq files, and I use ~coqdoc~ to generate the HTML pages you read. -The theme is not written in CSS, but in SASS that needs to be compiled. Even -more, the whole website is postprocessed using ~soupault~. +#+SERIES: ./meta.html +#+SERIES_PREV: ./posts/Thanks.html + +At some point, I felt like the whole process of generating this +website was interesting enough so that it would deserve a write-up of +its own, but the risk was that such a piece of text would quickly +become out-dated. This is reminescent of documenting any software +project, and I was aware at that time of a dedicated paradigm to +prevent these kind of issues: [[http://www.literateprogramming.com/][literate programming]]. -At some point, I felt like the whole process was interesting enough so that it -would deserve a write-up of its own, but the risk was that such a piece of text -would quickly become out-dated. This is reminescent of documenting any software -project, and I was aware at that time of a dedicated paradigm to prevent these -kind of issues: [[http://www.literateprogramming.com/][literate programming]]. I spent quite some time turning my custom toolchain into a literate program, so that its actual code source would actually be the write-ups I wanted to add to my website. This was an interesting challenge, since it meant *~cleopatra~* would have to generate itself before it could build my website. In other words, *~cleopatra~* achieves the bootstsrapping challenge! -I really enjoyed this first experiment with literate programming, and I started -using *~cleopatra~* for other projects of mine where literate programming felt -like an interesting choice. In doing so, it quickly became clear *~cleopatra~* -was cumbersome to set-up for a new project. At the end, -[[https://cleopatra.soap.coffee][I ended up rewriting it]] to overcome the -specific issues posed by its initial design[fn:bootstrap]. But the so-called -generation processes I had written for *~cleopatra~* the first basically “just -worked” with *~cleopatra~* the second. +I really enjoyed this first experiment with literate programming, and +I started using *~cleopatra~* for other projects of mine where +literate programming felt like an interesting choice. In doing so, it +quickly became clear *~cleopatra~* was cumbersome to set-up for a new +project. At the end, [[https://cleopatra.soap.coffee][I ended up rewriting it]] to overcome the specific +issues posed by its initial design[fn::For the record, this second +version is also implemented using literate programming, and if I was +first using the first version to build it, I quickly “made the +bootstrap jump.”]. But the so-called generation processes I had +written for *~cleopatra~* the first basically “just worked” with +*~cleopatra~* the second. So, coming back to this series, it is just the very reason why I started using *~cleopatra~* in the first place: the generation processes used by this website, written as literate programs. -#+BEGIN_EXPORT html -
-#+END_EXPORT +- [[./cleopatra/dependencies.org][Installing Dependencies]] :: -- [[./cleopatra/theme.org][Theming and Templating]] :: +- [[file:cleopatra/coq.org][Authoring Contents with Coq ~(TODO)~]] :: -- [[file:cleopatra/coq.org][Authoring Contents As Coq Documents ~(TODO)~]] :: +- [[./cleopatra/org.org][Authoring Contents with ~org-mode~ ~(TODO)~]] :: -- [[./cleopatra/literate-programming.org][Authoring Literate Programs]] :: +- [[./cleopatra/literate-programming.org][Literate Programming Projects]] :: Literate programming is an interesting exercice, and it is particularly well-suited for blog posts, since at the very least it provides the tool to enforce the code presented to readers is @@ -48,7 +46,7 @@ written as literate programs. programming projects present in the ~posts/~ directory of this website. -- [[./cleopatra/org.org][Authoring Contents As Org Documents ~(TODO)~]] :: +- [[./cleopatra/theme.org][Layout and Style]] :: - [[./cleopatra/soupault.org][Processing HTML with ~soupault~]] :: ~soupault~ is a HTML processor, and it can be used as a static website @@ -57,11 +55,3 @@ written as literate programs. *Appendix:* In case you are curious, you can have a look at [[./posts/CleopatraV1.html][the first implementaiton of *~cleopatra~*]]. - -#+BEGIN_EXPORT html -
-#+END_EXPORT - -[fn:bootstrap] For the record, this second version is also implemented using -literate programming, and if I was first using the first version to build it, I -quickly “made the bootstrap jump.” -- cgit v1.2.3