summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Letan <lthms@soap.coffee>2020-02-20 09:25:08 +0100
committerThomas Letan <lthms@soap.coffee>2020-02-20 09:29:54 +0100
commit046606ce1f33c0a2b2955df6ca7dc8b56985d4f0 (patch)
tree5fc76f5dcf71c3e158aa1d5398c092df16674aaa
parentAlways use variables for colors in main.sass (diff)
Make cleopatra extensible
-rw-r--r--.gitignore3
-rw-r--r--Makefile35
-rw-r--r--site/posts.org2
-rw-r--r--site/posts/meta.org2
-rw-r--r--site/posts/meta/Bootstrap.org48
-rw-r--r--site/posts/meta/Contents.org1
6 files changed, 60 insertions, 31 deletions
diff --git a/.gitignore b/.gitignore
index c7d1179..f573e80 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,6 +15,7 @@ site/style/main.css
site/posts.html
site/news/ColorlessThemes-0.2.html
site/posts/meta/Contents.html
+site/posts/meta/Bootstrap.html
site/posts/meta/Soupault.html
site/posts/Thanks.html
site/posts/meta.html
@@ -26,7 +27,9 @@ site/posts/MiniHTTPServer.html
site/posts/StronglySpecifiedFunctions.html
site/posts/RewritingInCoq.html
site/posts/Ltac101.html
+bootstrap.mk
org.mk
coq.mk
+scripts/tangle-org.el
scripts/export-org.el
# begin generated files
diff --git a/Makefile b/Makefile
index 1ce73db..09b442d 100644
--- a/Makefile
+++ b/Makefile
@@ -1,37 +1,16 @@
SASS := $(shell find site/ -name "*.sass")
INPUTS := $(SASS:.sass=.css)
-MAKEFILES := org.mk coq.mk
+MAKEFILES := bootstrap.mk
ROOT := $(shell pwd)
-GEN_SCRIPTS :=
+GEN_SCRIPTS := scripts/tangle-org.el
+EMACSARGS := --batch --eval "(require 'org)" \
+ --eval "(org-babel-do-load-languages 'org-babel-load-languages '((shell . t)))" \
+ --eval "(org-babel-tangle)"
include ${MAKEFILES}
-build : ${INPUTS} soupault.conf
- @echo " run soupault"
- @soupault
- @echo " update .gitignore"
- @scripts/update-gitignore.sh ${INPUTS} ${MAKEFILES} ${GEN_SCRIPTS}
-
-clean :
- @echo " remove generated makefiles"
- @rm -f ${MAKEFILES}
- @echo " remove generated files in site/"
- @rm -f ${INPUTS}
- @echo " remove build/ directory"
- @rm -rf build
-
-force : clean build
-
-soupault.conf : site/posts/meta/Soupault.org
+bootstrap.mk scripts/tangle-org.el &: site/posts/meta/Bootstrap.org
@echo " tangle $<"
- @emacs $< --batch --eval "(org-babel-tangle)" --kill
-
-org.mk coq.mk scripts/export-org.el &: site/posts/meta/Contents.org
- @echo " tangle $<"
- @emacs $< --batch --eval "(org-babel-tangle)" --kill 2>/dev/null
-
-%.css : %.sass
- @echo " compile $*.sass"
- @sassc --style=compressed --sass $< $@
+ @ROOT="${ROOT}" emacs $< ${EMACSARGS} 2>/dev/null
.PHONY: clean build force
diff --git a/site/posts.org b/site/posts.org
index a8abe84..a864b74 100644
--- a/site/posts.org
+++ b/site/posts.org
@@ -72,7 +72,7 @@ process.
is a literate programming document which build itself in addition to the HTML
files composing this corner of the Internet.
- 1. Bootstrapping an Extensible Toolchain ~(TODO)~
+ 1. [[/posts/meta/Bootstrap/][Bootstrapping an Extensible Toolchain ~(TODO)~]]
2. [[/posts/meta/Contents][Authoring Contents and HTML Generation ~(WIP)~]]
3. [[/posts/meta/Soupault/][Configuring ~soupault~ ~(WIP)~]]
diff --git a/site/posts/meta.org b/site/posts/meta.org
index b229fff..e01b451 100644
--- a/site/posts/meta.org
+++ b/site/posts/meta.org
@@ -24,7 +24,7 @@ according to [[https://fr.wikipedia.org/wiki/Polyglotte][Wikipedia France]])?
*Beware* this series is far from being complete.
-- Bootstrapping an Extensible Toolchain ~(TODO)~ ::
+- [[/posts/meta/Bootstrap][Bootstrapping an Extensible Toolchain ~(TODO)~]] ::
- [[/posts/meta/Contents][Authoring Content and HTML Generation ~(WIP)~]] ::
diff --git a/site/posts/meta/Bootstrap.org b/site/posts/meta/Bootstrap.org
new file mode 100644
index 0000000..a6ced60
--- /dev/null
+++ b/site/posts/meta/Bootstrap.org
@@ -0,0 +1,48 @@
+#+BEGIN_EXPORT html
+<h1>Bootstrapping an Extensible Toolchain</h1>
+#+END_EXPORT
+
+#+BEGIN_SRC emacs-lisp :tangle (concat (getenv "ROOT") "/scripts/tangle-org.el")
+ (setq org-src-preserve-indentation t)
+ (org-babel-tangle)
+#+END_SRC
+
+#+BEGIN_SRC makefile :tangle (concat (getenv "ROOT") "/bootstrap.mk")
+GEN_SCRIPTS += scripts/export-org.el
+MAKEFILES += org.mk coq.mk
+
+include org.mk coq.mk
+
+build : ${INPUTS} soupault.conf
+ @echo " run soupault"
+ @soupault
+ @echo " update .gitignore"
+ @scripts/update-gitignore.sh ${INPUTS} ${MAKEFILES} ${GEN_SCRIPTS}
+
+clean :
+ @echo " remove generated makefiles"
+ @rm -f ${MAKEFILES}
+ @echo " remove generated files in site/"
+ @rm -f ${INPUTS}
+ @echo " remove build/ directory"
+ @rm -rf build
+
+force : clean build
+
+soupault.conf : site/posts/meta/Soupault.org
+ @echo " tangle $<"
+ @emacs $< --batch --load="${ROOT}/scripts/tangle-org.el" 2>/dev/null
+
+
+org.mk coq.mk scripts/export-org.el &: site/posts/meta/Contents.org
+ @echo " tangle $<"
+ @emacs $< --batch --load="${ROOT}/scripts/tangle-org.el" 2>/dev/null
+
+%.css : %.sass
+ @echo " compile $*.sass"
+ @sassc --style=compressed --sass $< $@
+#+END_SRC
+
+# Local Variables:
+# org-src-preserve-indentation: t
+# End:
diff --git a/site/posts/meta/Contents.org b/site/posts/meta/Contents.org
index 7cae32f..4aa2d54 100644
--- a/site/posts/meta/Contents.org
+++ b/site/posts/meta/Contents.org
@@ -17,7 +17,6 @@
#+BEGIN_SRC makefile :tangle ../../../org.mk
ORG_POSTS := $(shell find site/ -name "*.org")
INPUTS += $(ORG_POSTS:.org=.html)
-GEN_SCRIPTS += scripts/export-org.el
%.html : %.org scripts/export-org.el
@echo " export $*.org"