summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Letan <lthms@soap.coffee>2020-02-21 23:25:14 +0100
committerThomas Letan <lthms@soap.coffee>2020-02-21 23:25:14 +0100
commite792118e1e8e5213dff01f80240a98c14a55344f (patch)
tree4b257088f829376c1c079655eb59d4ad31aa814d
parentAdopt a literate programming for `main.sass' (diff)
Various improvement in cleopatra
- Fix the dependencies in the Makefile - Use a minimal emacs configuration with themes - Dark theme again
-rw-r--r--.gitignore6
-rw-r--r--Makefile5
-rw-r--r--site/posts.org1
-rw-r--r--site/posts/MonadTransformers.org5
-rw-r--r--site/posts/meta.org4
-rw-r--r--site/posts/meta/Bootstrap.org21
-rw-r--r--site/posts/meta/Contents.org36
-rw-r--r--templates/main.html10
8 files changed, 67 insertions, 21 deletions
diff --git a/.gitignore b/.gitignore
index 96e87b6..00c3b4c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,13 +30,13 @@ site/posts/Ltac101.html
site/style/main.css
scripts/tangle-org.el
bootstrap.mk
-scripts/export-org.el
org.mk
+scripts/export-org.el
coq.mk
sass.mk
+templates/main.html
soupault.conf
-site/style/org.sass
-site/style/coq.sass
+emacs.d/
site/style/main.sass
site/style/org.sass
site/style/coq.sass
diff --git a/Makefile b/Makefile
index b16c05f..5ca6bc8 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,10 @@
ROOT := $(shell pwd)
CLEODIR := site/posts/meta
+
GENFILES := scripts/tangle-org.el bootstrap.mk
+default: build
+
include bootstrap.mk
bootstrap.mk scripts/tangle-org.el &: ${CLEODIR}/Bootstrap.org
@@ -11,4 +14,4 @@ bootstrap.mk scripts/tangle-org.el &: ${CLEODIR}/Bootstrap.org
--eval "(setq org-src-preserve-indentation t)" \
--eval "(org-babel-tangle)" 2>/dev/null
-.PHONY: clean build force
+.PHONY: clean build force default
diff --git a/site/posts.org b/site/posts.org
index a864b74..a3a3e37 100644
--- a/site/posts.org
+++ b/site/posts.org
@@ -75,6 +75,7 @@ process.
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)~]]
+ 4. [[/posts/meta/Theme/][Theming and Templating ~(WIP)~]]
- [[/posts/Thanks/][Thanks!]] ::
diff --git a/site/posts/MonadTransformers.org b/site/posts/MonadTransformers.org
index 7947ef4..4c28fe5 100644
--- a/site/posts/MonadTransformers.org
+++ b/site/posts/MonadTransformers.org
@@ -43,9 +43,10 @@ Monad. It carries an environment in a transparent way. The only thing is, I was
already using the State Monad to carry the computation result. But that’s not an
issue with the Monad Transformers.
-#+BEGIN_SRC patch
+#+BEGIN_SRC diff
-type Builder = StateT Text IO
+type Builder = StateT Text (ReaderT Language IO)
+
#+END_SRC
As you may have already understood, I wasn't using the “raw” ~State~ Monad, but
@@ -56,7 +57,7 @@ function call easily” problem.
Retrieving the chosen language is as simple as:
-#+BEGIN_SRC patch
+#+BEGIN_SRC haskell
getLanguage :: Builder Language
getLanguage = lift ask
#+END_SRC
diff --git a/site/posts/meta.org b/site/posts/meta.org
index e01b451..918d15b 100644
--- a/site/posts/meta.org
+++ b/site/posts/meta.org
@@ -24,10 +24,12 @@ according to [[https://fr.wikipedia.org/wiki/Polyglotte][Wikipedia France]])?
*Beware* this series is far from being complete.
-- [[/posts/meta/Bootstrap][Bootstrapping an Extensible Toolchain ~(TODO)~]] ::
+- [[/posts/meta/Bootstrap][Bootstrapping an Extensible Toolchain ~(WIP)~]] ::
- [[/posts/meta/Contents][Authoring Content and HTML Generation ~(WIP)~]] ::
+- [[/posts/meta/Theme][Theming and Templating ~(WIP)~]] ::
+
- [[/posts/meta/Soupault/][Soupault Configuration ~(WIP)~]] ::
#+BEGIN_EXPORT html
diff --git a/site/posts/meta/Bootstrap.org b/site/posts/meta/Bootstrap.org
index 5da62a0..60c9134 100644
--- a/site/posts/meta/Bootstrap.org
+++ b/site/posts/meta/Bootstrap.org
@@ -3,21 +3,21 @@
#+END_EXPORT
#+BEGIN_SRC emacs-lisp :tangle (concat (getenv "ROOT") "/scripts/tangle-org.el")
- (require 'org)
- (setq org-src-preserve-indentation t)
- (org-babel-tangle)
+(require 'org)
+(setq org-src-preserve-indentation t)
+(org-babel-tangle)
#+END_SRC
#+BEGIN_SRC makefile :tangle (concat (getenv "ROOT") "/bootstrap.mk")
GENSASS :=
CONTENTS :=
-GENFILES += scripts/export-org.el org.mk coq.mk \
- sass.mk soupault.conf
-
-EMACS := ROOT="${ROOT}" emacs
+GENFILES += org.mk scripts/export-org.el coq.mk \
+ sass.mk ${SASS} templates/main.html \
+ soupault.conf
include org.mk coq.mk sass.mk
+EMACS := ROOT="${ROOT}" emacs
TANGLEARGS := --batch \
--load="${ROOT}/scripts/tangle-org.el" \
2>/dev/null
@@ -38,11 +38,14 @@ soupault.conf : ${CLEODIR}/Soupault.org
@echo " tangle $<"
@${EMACS} $< ${TANGLEARGS}
-org.mk coq.mk scripts/export-org.el &: ${CLEODIR}/Contents.org
+org.mk scripts/export-org.el site/style/org.sass \
+coq.mk site/style/coq.sass \
+ &: ${CLEODIR}/Contents.org
@echo " tangle $<"
@${EMACS} $< ${TANGLEARGS}
-sass.mk ${SASS} &: ${CLEODIR}/Theme.org
+sass.mk ${SASS} templates/main.html \
+ &: ${CLEODIR}/Theme.org
@echo " tangle $<"
@${EMACS} $< ${TANGLEARGS}
#+END_SRC
diff --git a/site/posts/meta/Contents.org b/site/posts/meta/Contents.org
index 1690801..d287585 100644
--- a/site/posts/meta/Contents.org
+++ b/site/posts/meta/Contents.org
@@ -9,15 +9,49 @@
** Under the Hood
#+BEGIN_SRC emacs-lisp :tangle (concat (getenv "ROOT") "/scripts/export-org.el")
-(setq org-html-htmlize-output-type nil)
+(require 'package)
+
+(setq user-emacs-directory (concat (getenv "ROOT") "/emacs.d"))
+(setq package-user-dir (concat (getenv "ROOT") "/emacs.d"))
+(setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/")
+ ("melpa" . "https://melpa.org/packages/")))
+
+(package-initialize)
+
+(or (file-exists-p package-user-dir)
+ (package-refresh-contents))
+
+(defun require-packages-force (&rest packages)
+ "Ensure every PACKAGES is available"
+ (mapcar
+ (lambda (package)
+ (let ((package (if (listp package)
+ package
+ (cons package package))))
+ (if (not (package-installed-p (car package)))
+ (package-install (car package)))
+ (if (cdr package)
+ (require (cdr package)))
+ package))
+ packages))
+
+(require-packages-force
+ 'org 'htmlize 'nordless-theme
+ 'sass-mode 'haskell-mode)
+#+END_SRC
+
+#+BEGIN_SRC emacs-lisp :tangle (concat (getenv "ROOT") "/scripts/export-org.el")
+(setq htmlize-output-type 'inline-css)
(setq org-export-with-toc nil)
(org-html-export-to-html nil nil nil t)
#+END_SRC
#+BEGIN_SRC makefile :tangle (concat (getenv "ROOT") "/org.mk")
ORG_POSTS := $(shell find site/ -name "*.org")
+
CONTENTS += $(ORG_POSTS:.org=.html)
GENSASS += site/style/org.sass
+GENFILES += emacs.d/
EXPORTARGS := --batch \
--load="${ROOT}/scripts/export-org.el"
diff --git a/templates/main.html b/templates/main.html
index d01eabf..3ce9eb5 100644
--- a/templates/main.html
+++ b/templates/main.html
@@ -2,15 +2,17 @@
<head>
<meta charset="utf-8">
<title> <!-- set automatically, see soupault.conf --> </title>
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="viewport"
+ content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/style/main.css">
<link rel="icon" type="image/ico" href="/img/merida.webp">
<noscript id="lazyloading">
<link rel="stylesheet" href="/vendors/katex.0.11.1/katex.css">
- <link rel="stylesheet" href="/vendors/fork-awesome.1.1.7/css/fork-awesome.min.css">
+ <link rel="stylesheet"
+ href="/vendors/fork-awesome.1.1.7/css/fork-awesome.min.css">
<link rel="stylesheet" href="/vendors/fira-code.2/font.css">
<link rel="stylesheet" href="/vendors/et-book/font.css">
- </noscript>
+ </nolink>
</head>
<body id="default">
<nav>
@@ -31,7 +33,7 @@
<script>
let noscript = document.getElementById('lazyloading');
let resources = noscript.innerText.split('\n');
-
+
for (var ix in resources) {
noscript.insertAdjacentHTML('beforebegin', resources[ix]);
}