diff options
author | Thomas Letan <lthms@soap.coffee> | 2020-02-21 23:25:14 +0100 |
---|---|---|
committer | Thomas Letan <lthms@soap.coffee> | 2020-02-21 23:25:14 +0100 |
commit | e792118e1e8e5213dff01f80240a98c14a55344f (patch) | |
tree | 4b257088f829376c1c079655eb59d4ad31aa814d /site/posts | |
parent | Adopt 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
Diffstat (limited to 'site/posts')
-rw-r--r-- | site/posts/MonadTransformers.org | 5 | ||||
-rw-r--r-- | site/posts/meta.org | 4 | ||||
-rw-r--r-- | site/posts/meta/Bootstrap.org | 21 | ||||
-rw-r--r-- | site/posts/meta/Contents.org | 36 |
4 files changed, 53 insertions, 13 deletions
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" |