diff options
Diffstat (limited to 'site/cleopatra.org')
-rw-r--r-- | site/cleopatra.org | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/site/cleopatra.org b/site/cleopatra.org deleted file mode 100644 index 0831621..0000000 --- a/site/cleopatra.org +++ /dev/null @@ -1,57 +0,0 @@ -#+TITLE: A Series on Generating this Static Website - -#+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]]. - -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::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. - -- [[./cleopatra/dependencies.org][Installing Dependencies]] :: - -- [[file:cleopatra/coq.org][Authoring Contents with Coq ~(TODO)~]] :: - -- [[./cleopatra/org.org][Authoring Contents with ~org-mode~ ~(TODO)~]] :: - -- [[./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 - correct. We use Emacs and ~org-mode~ to tangle the literate - programming projects present in the ~posts/~ directory of this - website. - -- [[./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 - generator. We leverage *~soupault~* to provide a unified look and feel to a - website generated with diverse tools. - -*Appendix:* In case you are curious, you can have a look at -[[./posts/CleopatraV1.html][the first implementaiton of *~cleopatra~*]]. |