From a95bcc6668ca0eb968db0e3380e44ad2ba6adc95 Mon Sep 17 00:00:00 2001 From: Correl Roush Date: Mon, 19 May 2014 00:22:42 -0400 Subject: [PATCH] Jekyll framework --- .gitignore | 3 + Makefile | 12 ++ _config.yml | 22 +++ _includes/footer.html | 61 ++++++ _includes/head.html | 12 ++ _includes/header.html | 28 +++ _layouts/default.html | 19 ++ _layouts/page.html | 14 ++ _layouts/post.html | 15 ++ css/main.css | 420 ++++++++++++++++++++++++++++++++++++++++++ index.html | 24 +++ org-publish.el | 24 +++ 12 files changed, 654 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 _config.yml create mode 100644 _includes/footer.html create mode 100644 _includes/head.html create mode 100644 _includes/header.html create mode 100644 _layouts/default.html create mode 100644 _layouts/page.html create mode 100644 _layouts/post.html create mode 100644 css/main.css create mode 100644 index.html create mode 100644 org-publish.el diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5b5a9f7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*~ +_site +_org diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..443bdce --- /dev/null +++ b/Makefile @@ -0,0 +1,12 @@ +.PHONY: org jekyll + +default: org jekyll + +org: + emacs --batch -u ${USER} -l org-publish.el + +jekyll: + jekyll build + +serve: + jekyll serve diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..ecdb123 --- /dev/null +++ b/_config.yml @@ -0,0 +1,22 @@ +# 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 new file mode 100644 index 0000000..9a286ec --- /dev/null +++ b/_includes/footer.html @@ -0,0 +1,61 @@ + diff --git a/_includes/head.html b/_includes/head.html new file mode 100644 index 0000000..d547561 --- /dev/null +++ b/_includes/head.html @@ -0,0 +1,12 @@ + + + + {% if page.title %}{{ page.title }}{% else %}{{ site.name }}{% endif %} + + + + + + + + diff --git a/_includes/header.html b/_includes/header.html new file mode 100644 index 0000000..f8045cb --- /dev/null +++ b/_includes/header.html @@ -0,0 +1,28 @@ + diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 0000000..af41586 --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,19 @@ + + + + {% include head.html %} + + + + {% include header.html %} + +
+
+ {{ content }} +
+
+ + {% include footer.html %} + + + \ No newline at end of file diff --git a/_layouts/page.html b/_layouts/page.html new file mode 100644 index 0000000..59821b1 --- /dev/null +++ b/_layouts/page.html @@ -0,0 +1,14 @@ +--- +layout: default +--- +
+ +
+

{{ page.title }}

+
+ +
+ {{ content }} +
+ +
\ No newline at end of file diff --git a/_layouts/post.html b/_layouts/post.html new file mode 100644 index 0000000..838ad7a --- /dev/null +++ b/_layouts/post.html @@ -0,0 +1,15 @@ +--- +layout: default +--- +
+ +
+

{{ page.title }}

+

{{ page.date | date: "%b %-d, %Y" }}{% if page.author %} • {{ page.author }}{% endif %}{% if page.meta %} • {{ page.meta }}{% endif %}

+
+ +
+ {{ content }} +
+ +
\ No newline at end of file diff --git a/css/main.css b/css/main.css new file mode 100644 index 0000000..7233702 --- /dev/null +++ b/css/main.css @@ -0,0 +1,420 @@ +/* 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/index.html b/index.html new file mode 100644 index 0000000..b2e8111 --- /dev/null +++ b/index.html @@ -0,0 +1,24 @@ +--- +layout: default +--- + +
+ +

Org Files

+ + +

subscribe via RSS

+ +
diff --git a/org-publish.el b/org-publish.el new file mode 100644 index 0000000..b436e86 --- /dev/null +++ b/org-publish.el @@ -0,0 +1,24 @@ +(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 + :html-extension "html" + :with-toc nil + :body-only t) + ("org-sicp-code" + :base-directory "." + :base-extension "scm\\|scheme" + :publishing-directory "./code" + :recursive nil + :publishing-function org-publish-attachment) + ("sicp" :components ("org-sicp" "org-sicp-code")))) + +(org-publish "sicp" 't)