summaryrefslogtreecommitdiffstats
path: root/site/cleopatra.org
diff options
context:
space:
mode:
Diffstat (limited to 'site/cleopatra.org')
-rw-r--r--site/cleopatra.org62
1 files changed, 26 insertions, 36 deletions
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
-<h1>A Series on Generating this Static Website</h1>
-#+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
-<article class="index">
-#+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
-</article>
-#+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.”