diff --git a/Makefile b/Makefile
index 79c4320..c06dfab 100644
--- a/Makefile
+++ b/Makefile
@@ -1,26 +1,8 @@
-.PHONY: default all clean org org-code jekyll serve
+SITE_NAME = SICP
+SITE_TITLE = Exercises and Notes
+SITE_AUTHOR = Correl Roush
+SITE_AUTHOR_EMAIL = correl@gmail.com
+SITE_TWITTER = correlr
+SITE_GITHUB = correl/sicp
-default: all
-
-all: org org-code jekyll
-
-clean:
- rm -rf _site \
- _org \
- *.scheme
-
-org:
- emacs --batch -u ${USER} -l org-publish.el
-
-org-code: *.org
- for org in $?; do \
- emacs --batch -u ${USER} \
- --eval "(require 'org)" \
- --eval "(org-babel-tangle-file \"$$org\")" ; \
- done
-
-jekyll:
- jekyll build
-
-serve:
- jekyll serve
+include org-jekyll.mk
diff --git a/_config.yml b/_config.yml
deleted file mode 100644
index ecdb123..0000000
--- a/_config.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-# Site settings
-name: "SICP"
-title: Exercises and Notes
-email: correl@gmail.com
-description:
-baseurl: ""
-url: "http://yourdomain.com"
-
-# Build settings
-markdown: kramdown
-permalinks: pretty
-
-collections:
- org:
- output: true
-
-defaults:
- - scope:
- path: ""
- values:
- layout: "page"
- author: "Correl Roush"
diff --git a/_includes/footer.html b/_includes/footer.html
deleted file mode 100644
index 9a286ec..0000000
--- a/_includes/footer.html
+++ /dev/null
@@ -1,61 +0,0 @@
-
diff --git a/_includes/head.html b/_includes/head.html
deleted file mode 100644
index 06ee890..0000000
--- a/_includes/head.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- {% if page.title %}{{ page.title }}{% else %}{{ site.name }}{% endif %}
-
-
-
-
-
-
-
-
-
diff --git a/_includes/header.html b/_includes/header.html
deleted file mode 100644
index a2ca8cf..0000000
--- a/_includes/header.html
+++ /dev/null
@@ -1,28 +0,0 @@
-
diff --git a/_layouts/default.html b/_layouts/default.html
deleted file mode 100644
index af41586..0000000
--- a/_layouts/default.html
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- {% include head.html %}
-
-
-
- {% include header.html %}
-
-
-
- {% include footer.html %}
-
-
-
\ No newline at end of file
diff --git a/_layouts/org.html b/_layouts/org.html
deleted file mode 100644
index a9faa69..0000000
--- a/_layouts/org.html
+++ /dev/null
@@ -1,21 +0,0 @@
----
-layout: default
----
-
-{% assign scheme_filename = page.url | replace: '.html','.scheme' | remove: '/org/' %}
-{% assign scheme_url = scheme_filename | prepend: '/' | prepend: site.baseurl %}
-
-
-
-
-
-
- {{ content }}
-
-
-
diff --git a/_layouts/page.html b/_layouts/page.html
deleted file mode 100644
index 59821b1..0000000
--- a/_layouts/page.html
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: default
----
-
-
-
-
-
- {{ content }}
-
-
-
\ No newline at end of file
diff --git a/_layouts/post.html b/_layouts/post.html
deleted file mode 100644
index 838ad7a..0000000
--- a/_layouts/post.html
+++ /dev/null
@@ -1,15 +0,0 @@
----
-layout: default
----
-
-
-
-
-
- {{ content }}
-
-
-
\ No newline at end of file
diff --git a/css/main.css b/css/main.css
deleted file mode 100644
index 7233702..0000000
--- a/css/main.css
+++ /dev/null
@@ -1,420 +0,0 @@
-/* Base */
-/* ----------------------------------------------------------*/
-
-* {
- margin: 0;
- padding: 0;
-}
-
-html, body { height: 100%; }
-
-body {
- font-family: Helvetica, Arial, sans-serif;
- font-size: 16px;
- line-height: 1.5;
- font-weight: 300;
- background-color: #fdfdfd;
-}
-
-h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: 400; }
-
-a { color: #2a7ae2; text-decoration: none; }
-a:hover { color: #000; text-decoration: underline; }
-a:visited { color: #205caa; }
-
-table {
- width: 100%;
- border-collapse: collapse;
-}
-th {
- border-top: 10px solid black;
- border-bottom: 1px solid black;
-}
-tbody:not(:first-of-type) tr:first-child {
- border-top: 5px solid #999;
-}
-tbody tr:not(:first-child) {
- border-top: 1px solid #eee;
-}
-
-/* Utility */
-
-.wrap:before,
-.wrap:after { content:""; display:table; }
-.wrap:after { clear: both; }
-.wrap {
- max-width: 70%;
- padding: 0 30px;
- margin: 0 auto;
- zoom: 1;
-}
-
-
-/* Layout Styles */
-/* ----------------------------------------------------------*/
-
-/* Site header */
-
-.site-header {
- border-top: 5px solid #333;
- border-bottom: 1px solid #e8e8e8;
- min-height: 56px;
- background-color: white;
-}
-
-.site-title,
-.site-title:hover,
-.site-title:visited {
- display: block;
- color: #333;
- font-size: 26px;
- letter-spacing: -1px;
- float: left;
- line-height: 56px;
- position: relative;
- z-index: 1;
-}
-
-.site-nav {
- float: right;
- line-height: 56px;
-}
-
-.site-nav .menu-icon { display: none; }
-
-.site-nav .page-link {
- margin-left: 20px;
- color: #727272;
- letter-spacing: -.5px;
-}
-
-/* Site footer */
-
-.site-footer {
- border-top: 1px solid #e8e8e8;
- padding: 30px 0;
-}
-
-.footer-heading {
- font-size: 18px;
- font-weight: 300;
- letter-spacing: -.5px;
- margin-bottom: 15px;
-}
-
-.site-footer .column { float: left; margin-bottom: 15px; }
-
-.footer-col-1 {
- width: 270px; /*fallback*/
- width: -webkit-calc(35% - 10px);
- width: -moz-calc(35% - 10px);
- width: -o-calc(35% - 10px);
- width: calc(35% - 10px);
- margin-right: 10px
-}
-.footer-col-2 {
- width: 175px; /*fallback*/
- width: -webkit-calc(23.125% - 10px);
- width: -moz-calc(23.125% - 10px);
- width: -o-calc(23.125% - 10px);
- width: calc(23.125% - 10px);
- margin-right: 10px
-}
-.footer-col-3 {
- width: 335px; /*fallback*/
- width: -webkit-calc(41.875%);
- width: -moz-calc(41.875%);
- width: -o-calc(41.875%);
- width: calc(41.875%);
-}
-
-.site-footer ul { list-style: none; }
-
-.site-footer li,
-.site-footer p {
- font-size: 15px;
- letter-spacing: -.3px;
- color: #828282;
-}
-
-.github-icon-svg,
-.twitter-icon-svg {
- display: inline-block;
- width: 16px;
- height: 16px;
- position: relative;
- top: 3px;
-}
-
-
-/* Page Content styles */
-/* ----------------------------------------------------------*/
-
-.page-content {
- padding: 30px 0;
- background-color: #fff;
-}
-
-
-/* Home styles */
-/* ----------------------------------------------------------*/
-
-.home h1 { margin-bottom: 25px; }
-
-.posts { list-style-type: none; }
-
-.posts li { margin-bottom: 30px; }
-
-.posts .post-link {
- font-size: 24px;
- letter-spacing: -1px;
- line-height: 1;
-}
-
-.posts .post-date {
- display: block;
- font-size: 15px;
- color: #818181;
-}
-
-
-/* Post styles */
-/* ----------------------------------------------------------*/
-
-.post-header { margin: 10px 0 30px; }
-
-.post-header h1 {
- font-size: 42px;
- letter-spacing: -1.75px;
- line-height: 1;
- font-weight: 300;
-}
-
-.post-header .meta {
- font-size: 15px;
- color: #818181;
- margin-top: 5px;
-}
-
-.post-content { margin: 0 0 30px; }
-
-.post-content > * { margin: 20px 0; }
-
-
-.post-content h1,
-.post-content h2,
-.post-content h3,
-.post-content h4,
-.post-content h5,
-.post-content h6 {
- line-height: 1;
- font-weight: 300;
- margin: 40px 0 20px;
-}
-
-.post-content h2 {
- font-size: 32px;
- letter-spacing: -1.25px;
-}
-
-.post-content h3 {
- font-size: 26px;
- letter-spacing: -1px;
-}
-
-.post-content h4 {
- font-size: 20px;
- letter-spacing: -1px;
-}
-
-.post-content blockquote {
- border-left: 4px solid #e8e8e8;
- padding-left: 20px;
- font-size: 18px;
- opacity: .6;
- letter-spacing: -1px;
- font-style: italic;
- margin: 30px 0;
-}
-
-.post-content ul,
-.post-content ol { padding-left: 20px; }
-
-.post pre,
-.post code {
- border: 1px solid #d5d5e9;
- background-color: #eef;
- padding: 8px 12px;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
- font-size: 15px;
-}
-
-.post code { padding: 1px 5px; }
-
-.post ul,
-.post ol { margin-left: 1.35em; }
-
-.post pre code { border: none; }
-
-/* terminal */
-.post pre.terminal {
- border: 1px solid #000;
- background-color: #333;
- color: #FFF;
- -webkit-border-radius: 3px;
- -moz-border-radius: 3px;
- border-radius: 3px;
-}
-
-.post pre.terminal code { background-color: #333; }
-
-/* Syntax highlighting styles */
-/* ----------------------------------------------------------*/
-
-.highlight { background: #ffffff; }
-.highlight .c { color: #999988; font-style: italic } /* Comment */
-.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
-.highlight .k { font-weight: bold } /* Keyword */
-.highlight .o { font-weight: bold } /* Operator */
-.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
-.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
-.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
-.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
-.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
-.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
-.highlight .ge { font-style: italic } /* Generic.Emph */
-.highlight .gr { color: #aa0000 } /* Generic.Error */
-.highlight .gh { color: #999999 } /* Generic.Heading */
-.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
-.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
-.highlight .go { color: #888888 } /* Generic.Output */
-.highlight .gp { color: #555555 } /* Generic.Prompt */
-.highlight .gs { font-weight: bold } /* Generic.Strong */
-.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
-.highlight .gt { color: #aa0000 } /* Generic.Traceback */
-.highlight .kc { font-weight: bold } /* Keyword.Constant */
-.highlight .kd { font-weight: bold } /* Keyword.Declaration */
-.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
-.highlight .kr { font-weight: bold } /* Keyword.Reserved */
-.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
-.highlight .m { color: #009999 } /* Literal.Number */
-.highlight .s { color: #d14 } /* Literal.String */
-.highlight .na { color: #008080 } /* Name.Attribute */
-.highlight .nb { color: #0086B3 } /* Name.Builtin */
-.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
-.highlight .no { color: #008080 } /* Name.Constant */
-.highlight .ni { color: #800080 } /* Name.Entity */
-.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
-.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
-.highlight .nn { color: #555555 } /* Name.Namespace */
-.highlight .nt { color: #000080 } /* Name.Tag */
-.highlight .nv { color: #008080 } /* Name.Variable */
-.highlight .ow { font-weight: bold } /* Operator.Word */
-.highlight .w { color: #bbbbbb } /* Text.Whitespace */
-.highlight .mf { color: #009999 } /* Literal.Number.Float */
-.highlight .mh { color: #009999 } /* Literal.Number.Hex */
-.highlight .mi { color: #009999 } /* Literal.Number.Integer */
-.highlight .mo { color: #009999 } /* Literal.Number.Oct */
-.highlight .sb { color: #d14 } /* Literal.String.Backtick */
-.highlight .sc { color: #d14 } /* Literal.String.Char */
-.highlight .sd { color: #d14 } /* Literal.String.Doc */
-.highlight .s2 { color: #d14 } /* Literal.String.Double */
-.highlight .se { color: #d14 } /* Literal.String.Escape */
-.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
-.highlight .si { color: #d14 } /* Literal.String.Interpol */
-.highlight .sx { color: #d14 } /* Literal.String.Other */
-.highlight .sr { color: #009926 } /* Literal.String.Regex */
-.highlight .s1 { color: #d14 } /* Literal.String.Single */
-.highlight .ss { color: #990073 } /* Literal.String.Symbol */
-.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
-.highlight .vc { color: #008080 } /* Name.Variable.Class */
-.highlight .vg { color: #008080 } /* Name.Variable.Global */
-.highlight .vi { color: #008080 } /* Name.Variable.Instance */
-.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
-
-
-/* media queries */
-/* ----------------------------------------------------------*/
-
-
-@media screen and (max-width: 750px) {
-
- .footer-col-1 { width: 50%; }
-
- .footer-col-2 {
- width: 45%; /*fallback*/
- width: -webkit-calc(50% - 10px);
- width: -moz-calc(50% - 10px);
- width: -o-calc(50% - 10px);
- width: calc(50% - 10px);
- margin-right: 0;
- }
-
- .site-footer .column.footer-col-3 {
- width: auto;
- float: none;
- clear: both;
- }
-
-}
-
-@media screen and (max-width: 600px) {
-
- .wrap { padding: 0 12px; }
-
- .site-nav {
- position: fixed;
- z-index: 10;
- top: 14px; right: 8px;
- background-color: white;
- -webkit-border-radius: 5px;
- -moz-border-radius: 5px;
- border-radius: 5px;
- border: 1px solid #e8e8e8;
- }
-
- .site-nav .menu-icon {
- display: block;
- font-size: 24px;
- color: #505050;
- float: right;
- width: 36px;
- text-align: center;
- line-height: 36px;
- }
-
- .site-nav .menu-icon svg { width: 18px; height: 16px; }
-
- .site-nav .trigger {
- clear: both;
- margin-bottom: 5px;
- display: none;
- }
-
- .site-nav:hover .trigger { display: block; }
-
- .site-nav .page-link {
- display: block;
- text-align: right;
- line-height: 1.25;
- padding: 5px 10px;
- margin: 0;
- }
-
- .post-header h1 { font-size: 36px; }
- .post-content h2 { font-size: 28px; }
- .post-content h3 { font-size: 22px; }
- .post-content h4 { font-size: 18px; }
- .post-content blockquote { padding-left: 10px; }
- .post-content ul,
- .post-content ol { padding-left: 10px; }
-
- .site-footer .column {
- float: none;
- clear: both;
- width: auto;
- margin: 0 0 15px; }
-
-}
\ No newline at end of file
diff --git a/css/org.css b/css/org.css
deleted file mode 100644
index d8eff95..0000000
--- a/css/org.css
+++ /dev/null
@@ -1,23 +0,0 @@
-hr {
- margin-top: 1em;
- margin-bottom: 1em;
-}
-
-.org-src-container {
- padding-top: 1em;
- padding-bottom: 1em;
-}
-
-.outline-text-2,
-.outline-3 {
- margin-left: 2em;
-}
-
-.outline-text-3,
-.outline-4 {
- margin-left: 4em;
-}
-
-.outline-text-4 {
- margin-left: 6em;
-}
\ No newline at end of file
diff --git a/index.html b/index.html
deleted file mode 100644
index b2e8111..0000000
--- a/index.html
+++ /dev/null
@@ -1,24 +0,0 @@
----
-layout: default
----
-
-
diff --git a/org-jekyll.mk b/org-jekyll.mk
new file mode 100644
index 0000000..bf7cd63
--- /dev/null
+++ b/org-jekyll.mk
@@ -0,0 +1,256 @@
+.PHONY: default all clean jekyll serve jekyll-config
+
+SITE_NAME ?= My Documents
+SITE_TITLE ?= Emacs Org-Mode Documents
+SITE_DESCRIPTION ?=
+SITE_BASEURL ?=
+SITE_URL ?=
+SITE_AUTHOR ?=
+SITE_AUTHOR_EMAIL ?=
+SITE_TWITTER ?=
+SITE_GITHUB ?=
+
+ORG_DIR ?= .
+BUILD_DIR ?= _build
+SITE_DIR ?= _site
+OUTPUT_DIR = $(BUILD_DIR)/_org
+CODE_DIR = $(BUILD_DIR)/_src
+
+JEKYLL_CONFIG = $(BUILD_DIR)/_config.yml
+JEKYLL_OPTS += -s $(BUILD_DIR)
+
+targets = $(BUILD_DIR) $(SITE_DIR)
+mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
+org_files := $(patsubst %.org,$(OUTPUT_DIR)/%.html,$(notdir $(wildcard $(ORG_DIR)/*.org)))
+tangle_org_files := $(shell grep -il '+BEGIN_SRC .* :tangle yes' $(ORG_DIR)/*.org)
+tangle_output_files := $(patsubst %.org,$(CODE_DIR)/%.src.txt,$(notdir $(tangle_org_files)))
+tangle_tmp := $(shell tempfile -s .org)
+
+V ?= 0
+org_verbose_0 = @echo " ORG " $(?F);
+org_verbose = $(org_verbose_$(V))
+tangle_verbose_0 = @echo " CODE " $(?F);
+tangle_verbose = $(tangle_verbose_$(V))
+jekyll_verbose_0 = @echo " BUILD jekyll";
+jekyll_verbose = $(jekyll_verbose_$(V))
+config_verbose_0 = @echo " CFG " $@;
+config_verbose = $(config_verbose_$(V))
+serve_verbose_0 = @echo " SERVE jekyll";
+serve_verbose = $(jekyll_verbose_$(V))
+
+default: all
+
+all: jekyll
+
+clean:
+ rm -rf $(targets)
+
+$(JEKYLL_CONFIG):
+ $(config_verbose) echo "\
+# Site settings \n\
+name: \"$(SITE_NAME)\" \n\
+title: \"$(SITE_TITLE)\" \n\
+email: \"$(SITE_AUTHOR_EMAIL)\" \n\
+description: \"$(SITE_DESCRIPTION)\" \n\
+baseurl: \"$(SITE_BASEURL)\" \n\
+url: \"$(SITE_URL)\" \n\
+twitter: \"$(SITE_TWITTER)\" \n\
+github: \"$(SITE_GITHUB)\" \n\
+ \n\
+# Build settings \n\
+markdown: kramdown \n\
+permalinks: pretty \n\
+ \n\
+collections: \n\
+ org: \n\
+ output: true \n\
+ src: \n\
+ output: true \n\
+ \n\
+defaults: \n\
+ - scope: \n\
+ path: \"\" \n\
+ type: \"org\" \n\
+ values: \n\
+ layout: \"page\" \n\
+ author: \"$(SITE_AUTHOR)\" \n\
+" > $@
+
+jekyll: assets org-html org-code $(JEKYLL_CONFIG)
+ $(jekyll_verbose) jekyll build $(JEKYLL_OPTS)
+
+serve: assets org-html org-code $(JEKYLL_CONFIG)
+ $(serve_verbose) jekyll serve $(JEKYLL_OPTS)
+
+$(BUILD_DIR):
+ mkdir -p $@
+
+$(OUTPUT_DIR):
+ mkdir -p $@
+
+$(CODE_DIR):
+ mkdir -p $@
+
+$(OUTPUT_DIR)/%.html: $(ORG_DIR)/%.org
+ $(org_verbose) emacs --batch -u ${USER} --eval " \
+(progn \
+ (require 'org) \
+ \
+ (setq org-publish-project-alist \
+ '( \
+ (\"org-jekyll\" \
+ :base-directory \".\" \
+ :base-extension \"org\" \
+ \
+ :publishing-directory \"$(abspath $(OUTPUT_DIR))\" \
+ :recursive t \
+ :publishing-function org-html-publish-to-html \
+ :headline-levels 4 \
+ :section-numbers nil \
+ :html-extension \"html\" \
+ :htmlized-source t \
+ :with-toc nil \
+ :body-only t) \
+ (\"jekyll\" :components (\"org-jekyll\")))) \
+ \
+ (find-file \"$<\") \
+ (org-publish-current-file 't)) \
+" 2>/dev/null
+
+$(CODE_DIR)/%.src.txt: $(ORG_DIR)/%.org
+ @sed "s/:tangle yes/:tangle $(subst /,\/,$(abspath $@))/g" "$<" > $(tangle_tmp)
+ $(tangle_verbose) emacs --batch -u ${USER} \
+ --eval "(require 'org)" \
+ --eval "(org-babel-tangle-file \"$(tangle_tmp)\")" 2>/dev/null ;
+ @rm $(tangle_tmp)
+
+org-html: $(OUTPUT_DIR) $(org_files)
+org-code: $(CODE_DIR) $(tangle_output_files)
+
+.PHONY: assets
+
+assets_verbose_0 = @echo Extracting assets to $(BUILD_DIR);
+assets_verbose = $(assets_verbose_$(V))
+
+assets: $(BUILD_DIR)
+ $(assets_verbose) echo '' \
+ 'begin-base64 664 -\n'\
+ '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\n'\
+ '====\n'\
+ | sed 's/^ //' | uudecode | tar zx -C $(BUILD_DIR)
diff --git a/org-publish.el b/org-publish.el
deleted file mode 100644
index e2cb632..0000000
--- a/org-publish.el
+++ /dev/null
@@ -1,20 +0,0 @@
-(require 'org)
-
-(setq org-publish-project-alist
- '(
- ("org-sicp"
- :base-directory "."
- :base-extension "org"
-
- :publishing-directory "./_org"
- :recursive t
- :publishing-function org-html-publish-to-html
- :headline-levels 4
- :section-numbers nil
- :html-extension "html"
- :htmlized-source t
- :with-toc nil
- :body-only t)
- ("sicp" :components ("org-sicp"))))
-
-(org-publish "sicp" 't)