summaryrefslogtreecommitdiffstats
path: root/site/cleopatra/Contents/Org.org
blob: 385d2d3a88a5f2ae122d2bcc14cc5dcb3f2765fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
* Author Guidelines

* Under the Hood

#+BEGIN_SRC emacs-lisp :tangle scripts/packages.el
(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 ensure-package-installed (&rest packages)
  "Ensure every PACKAGES is installed."
  (mapcar
   (lambda (package)
     (if (package-installed-p package)
         nil
       (package-install package))
     package)
   packages))

(ensure-package-installed 'use-package)
(eval-when-compile (require 'use-package))

(use-package org :ensure t)
(use-package htmlize :ensure t)
(use-package lua-mode :ensure t :defer t)
(use-package sass-mode :ensure t :defer t)
(use-package haskell-mode :ensure t :defer t)
(use-package json-mode :ensure t :defer t)
(use-package soft-stone-theme :ensure t :defer t
  :init
  (load-theme 'soft-stone t))

(provide 'packages)
#+END_SRC

#+BEGIN_SRC emacs-lisp :tangle scripts/export-org.el
(require 'packages)

(org-babel-do-load-languages
 'org-babel-load-languages
 '((shell . t)))
(setq org-src-preserve-indentation t)
(setq org-src-fontify-natively t)
(setq org-confirm-babel-evaluate nil)
(setq org-export-with-toc nil)

(org-html-export-to-html nil nil nil t)
#+END_SRC

#+BEGIN_SRC makefile :tangle org.mk
ORG_POSTS := $(shell find site/ -name "*.org")
ORG_HTML := $(ORG_POSTS:.org=.html)

org-prebuild : .emacs
org-build : ${ORG_HTML}

theme-prebuild : site/style/org.sass
soupault-build : org-build

ARTIFACTS += ${ORG_HTML} "*.html~"
CONFIGURE += .emacs emacs.d/

EXPORT := --directory="${ROOT}/scripts/" --batch \
          --load="${ROOT}/scripts/export-org.el" \
          2>> build.log
INIT := --batch --load="${ROOT}/scripts/packages.el" \
        2>> build.log

.emacs : scripts/packages.el
	@echo "    init  emacs configuration"
	@${EMACS} ${INIT}
	@touch .emacs

%.html : %.org scripts/packages.el scripts/export-org.el \
         .emacs org.mk
	@echo "  export  $*.org"
	@${EMACS} $< ${EXPORT}
#+END_SRC

#+BEGIN_SRC sass :tangle site/style/org.sass
.footpara
    display: inline
    margin-left: .2em

.section-number-2:after,
.section-number-3:after
    content: ". "

.section-number-4,
.section-number-5,
.section-number-6
    display: none

.org-src-container
    width: 100%
    overflow-x: auto
    scrollbar-width: thin

dl
  dt
    font-weight: bold
  dd p
    margin-top: 0
#+END_SRC