summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2013-10-30 00:18:56 -0400
committerJesse Luehrs <doy@tozt.net>2013-10-30 00:18:56 -0400
commitbb0a4f4e126c05fc73d566986fd1612468f5be67 (patch)
treea3a712e0a27ea1fe41d3d6097326896afd2f53f5
downloadblog.tozt.net-bb0a4f4e126c05fc73d566986fd1612468f5be67.tar.gz
blog.tozt.net-bb0a4f4e126c05fc73d566986fd1612468f5be67.zip
initial commit
-rw-r--r--.gitignore1
-rw-r--r--_root/about.md4
-rw-r--r--_root/archive.html6
-rw-r--r--_root/index.html26
-rw-r--r--_root/tags.html17
-rw-r--r--_scaffold.html6
-rw-r--r--config.ru6
-rw-r--r--config.yml38
-rw-r--r--data.yml11
-rw-r--r--tozt/layouts/_root.html5
-rw-r--r--tozt/layouts/default.html40
-rw-r--r--tozt/layouts/paginator.html27
-rw-r--r--tozt/layouts/posts.html40
-rw-r--r--tozt/media/rss.pngbin0 -> 689 bytes
-rw-r--r--tozt/stylesheets/google_prettify/sons-of-obsidian.css134
-rw-r--r--tozt/stylesheets/style.css317
-rw-r--r--widgets/google_prettify/local.html11
17 files changed, 689 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..c782b5a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+compiled/*
diff --git a/_root/about.md b/_root/about.md
new file mode 100644
index 0000000..fc92875
--- /dev/null
+++ b/_root/about.md
@@ -0,0 +1,4 @@
+---
+title : about me
+---
+See [my website](http://tozt.net/).
diff --git a/_root/archive.html b/_root/archive.html
new file mode 100644
index 0000000..14c9ae9
--- /dev/null
+++ b/_root/archive.html
@@ -0,0 +1,6 @@
+---
+title: archive
+---
+{{# posts.collated }}
+ {{> posts_collate }}
+{{/ posts.collated }}
diff --git a/_root/index.html b/_root/index.html
new file mode 100644
index 0000000..1a0d384
--- /dev/null
+++ b/_root/index.html
@@ -0,0 +1,26 @@
+---
+title: home
+---
+{{# posts.paginator }}
+<div class="post">
+ <h3 class="title"><a href="{{url}}">{{title}}</a> <span class="date">{{ date }}</span></h3>
+ {{{ summary }}}
+ <div class="more">
+ <a href="{{url}}">read more..</a>
+ </div>
+</div>
+{{/ posts.paginator }}
+
+<hr>
+<div class="pagination">
+ <ul>
+ {{#posts.paginator_navigation}}
+ {{#is_active_page}}
+ <li class="active"><a href="{{url}}">{{name}}</a></li>
+ {{/is_active_page}}
+ {{^is_active_page}}
+ <li><a href="{{url}}">{{name}}</a></li>
+ {{/is_active_page}}
+ {{/posts.paginator_navigation}}
+ </ul>
+</div>
diff --git a/_root/tags.html b/_root/tags.html
new file mode 100644
index 0000000..00be7bf
--- /dev/null
+++ b/_root/tags.html
@@ -0,0 +1,17 @@
+---
+title: tags
+---
+<ul class="tags">
+{{# posts.tags.all }}
+ {{> tags_list }}
+{{/ posts.tags.all }}
+</ul>
+
+{{# posts.tags.all }}
+ <h3 id="{{name}}-ref">{{name}}</h3>
+ <ul>
+ {{# posts?to_posts }}
+ <li><a href="{{url}}">{{title}}</a> <span class="date">({{date}})</span></li>
+ {{/ posts?to_posts }}
+ </ul>
+{{/ posts.tags.all }}
diff --git a/_scaffold.html b/_scaffold.html
new file mode 100644
index 0000000..c67a45d
--- /dev/null
+++ b/_scaffold.html
@@ -0,0 +1,6 @@
+---
+title:
+date:
+description:
+tags: []
+---
diff --git a/config.ru b/config.ru
new file mode 100644
index 0000000..49f0e4b
--- /dev/null
+++ b/config.ru
@@ -0,0 +1,6 @@
+require 'rack'
+require 'ruhoh'
+run Ruhoh::Program.preview
+
+# To preview your blog in "production" mode:
+# run Ruhoh::Program.preview(:env => 'production') \ No newline at end of file
diff --git a/config.yml b/config.yml
new file mode 100644
index 0000000..6e0a731
--- /dev/null
+++ b/config.yml
@@ -0,0 +1,38 @@
+---
+RuhohSpec: "2.1"
+production_url: "http://blog.tozt.net/"
+base_path: "/"
+
+tozt :
+ use: "theme"
+
+_root:
+ rss:
+ enable: false
+ paginator:
+ enable: false
+
+posts:
+ sort: ["date", "desc"]
+ permalink: "/:year/:month/:day/:title"
+ rss:
+ enable: true
+ limit: 20
+ url: "/"
+ paginator:
+ url: "/index/"
+ per_page: 10
+ root_page: '/'
+
+asset_pipeline:
+ enable: false
+
+widgets:
+ comments:
+ use: disqus
+ enable: true
+ short_name: tozt
+
+ google_prettify:
+ use: local
+ linenums: true
diff --git a/data.yml b/data.yml
new file mode 100644
index 0000000..170e81a
--- /dev/null
+++ b/data.yml
@@ -0,0 +1,11 @@
+title : blog.tozt.net
+author :
+ name : Jesse Luehrs
+ email : doy@tozt.net
+ github : doy
+ twitter : doyster
+
+navigation :
+ - archive
+ - tags
+ - about
diff --git a/tozt/layouts/_root.html b/tozt/layouts/_root.html
new file mode 100644
index 0000000..8d62675
--- /dev/null
+++ b/tozt/layouts/_root.html
@@ -0,0 +1,5 @@
+---
+layout : default
+---
+<h4>{{ page.title }}</h4>
+{{{ page.content }}}
diff --git a/tozt/layouts/default.html b/tozt/layouts/default.html
new file mode 100644
index 0000000..8f1eecb
--- /dev/null
+++ b/tozt/layouts/default.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>{{page.title}}</title>
+ <meta name="author" content="{{ data.author.name }}">
+ {{# stylesheets.load }}
+ style.css
+ google_prettify/sons-of-obsidian.css
+ {{/ stylesheets.load }}
+ <!-- this should be urls.production_url, but it doesn't work -->
+ <link href="http://blog.tozt.net{{urls.base_path}}rss.xml" title="{{page.title}}" type="application/rss+xml" rel="alternate"></link>
+</head>
+<body>
+<div class="header">
+ <div>
+ <div class="name"><h1><a href="/{{urls.base_url}}">{{data.title}}</a></h1></div>
+ <img src="http://www.gravatar.com/avatar/dd9aceaf17982bc33972b3bb8701cd19.jpg" alt="gravatar" class="gravatar" />
+ </div>
+ <div class="clear"></div>
+</div>
+<div class="nav">
+<ul>
+ {{# data.navigation?to__root }}
+ {{> pages_list }}
+ {{/ data.navigation?to__root }}
+ <li><a href="/{{urls.base_url}}rss.xml"><img src="{{urls.media}}/rss.png" alt="RSS" /></a></li>
+</ul>
+</div>
+<div class="main_content">
+ {{{ content }}}
+</div>
+<div class="footer">
+ Powered by <a href="http://ruhoh.com/">Ruhoh</a>
+</div>
+
+{{{ widgets.google_prettify }}}
+
+</body>
+</html>
diff --git a/tozt/layouts/paginator.html b/tozt/layouts/paginator.html
new file mode 100644
index 0000000..68a9013
--- /dev/null
+++ b/tozt/layouts/paginator.html
@@ -0,0 +1,27 @@
+---
+layout : default
+---
+<div class="page-header">
+ <h4>home</h4>
+</div>
+{{#collection.paginator}}
+<div class="{{ collection.resource_name}}">
+ <h3 class="title"><a href="{{url}}">{{title}}</a> <span class="date">{{ date }}</span></h3>
+ {{{ summary }}}
+ <div class="more">
+ <a href="{{url}}">read more..</a>
+ </div>
+</div>
+{{/collection.paginator}}
+<div class="pagination">
+ <ul>
+ {{#collection.paginator_navigation}}
+ {{#is_active_page}}
+ <li class="active"><a href="{{url}}">{{name}}</a></li>
+ {{/is_active_page}}
+ {{^is_active_page}}
+ <li><a href="{{url}}">{{name}}</a></li>
+ {{/is_active_page}}
+ {{/collection.paginator_navigation}}
+ </ul>
+</div>
diff --git a/tozt/layouts/posts.html b/tozt/layouts/posts.html
new file mode 100644
index 0000000..6bb7b4b
--- /dev/null
+++ b/tozt/layouts/posts.html
@@ -0,0 +1,40 @@
+---
+layout : default
+---
+<h4><span class="date">{{ page.date }}</span><span class="title">{{page.title}}</span></h4>
+<div class="content">
+ {{{ page.content }}}
+</div>
+<div class="permalink">
+ <a href="{{page.url}}">link</a>
+</div>
+<div class="tags">
+ Tags:
+ <ul>
+ {{# page.tags }}
+ {{> tags_list }}
+ {{/ page.tags }}
+ </ul>
+</div>
+<hr class="clear">
+<div class="pagination">
+ <ul>
+ {{# page.previous }}
+ <li class="prev"><a href="{{ url }}" title="{{ title }}">&larr; Previous</a></li>
+ {{/ page.previous }}
+ {{^ page.previous }}
+ <li class="prev disabled"><a>&larr; Previous</a></li>
+ {{/ page.previous }}
+
+ <li><a href="{{urls.base_path}}archive">Archive</a></li>
+
+ {{# page.next }}
+ <li class="next"><a href="{{ url }}" title="{{ title }}">Next &rarr;</a></li>
+ {{/ page.next }}
+ {{^ page.next }}
+ <li class="next disabled"><a>Next &rarr;</a>
+ {{/ page.next }}
+ </ul>
+</div>
+<hr>
+{{{ widgets.comments }}}
diff --git a/tozt/media/rss.png b/tozt/media/rss.png
new file mode 100644
index 0000000..b3c949d
--- /dev/null
+++ b/tozt/media/rss.png
Binary files differ
diff --git a/tozt/stylesheets/google_prettify/sons-of-obsidian.css b/tozt/stylesheets/google_prettify/sons-of-obsidian.css
new file mode 100644
index 0000000..bba4cf5
--- /dev/null
+++ b/tozt/stylesheets/google_prettify/sons-of-obsidian.css
@@ -0,0 +1,134 @@
+/*
+ * Derived from einaros's Sons of Obsidian theme at
+ * http://studiostyl.es/schemes/son-of-obsidian by
+ * Alex Ford of CodeTunnel:
+ * http://CodeTunnel.com/blog/post/71/google-code-prettify-obsidian-theme
+ */
+
+.str
+{
+ color: #EC7600;
+}
+.kwd
+{
+ color: #93C763;
+}
+.com
+{
+ color: #66747B;
+}
+.typ
+{
+ color: #678CB1;
+}
+.lit
+{
+ color: #FACD22;
+}
+.pun
+{
+ color: #F1F2F3;
+}
+.pln
+{
+ color: #F1F2F3;
+}
+.tag
+{
+ color: #8AC763;
+}
+.atn
+{
+ color: #E0E2E4;
+}
+.atv
+{
+ color: #EC7600;
+}
+.dec
+{
+ color: purple;
+}
+pre.prettyprint
+{
+ border: 0px solid #888;
+}
+ol.linenums
+{
+ margin-top: 0;
+ margin-bottom: 0;
+}
+.prettyprint {
+ background: #000;
+}
+li.L0, li.L1, li.L2, li.L3, li.L4, li.L5, li.L6, li.L7, li.L8, li.L9
+{
+ color: #555;
+}
+li.L1, li.L3, li.L5, li.L7, li.L9 {
+ background: #111;
+}
+@media print
+{
+ .str
+ {
+ color: #060;
+ }
+ .kwd
+ {
+ color: #006;
+ font-weight: bold;
+ }
+ .com
+ {
+ color: #600;
+ font-style: italic;
+ }
+ .typ
+ {
+ color: #404;
+ font-weight: bold;
+ }
+ .lit
+ {
+ color: #044;
+ }
+ .pun
+ {
+ color: #440;
+ }
+ .pln
+ {
+ color: #000;
+ }
+ .tag
+ {
+ color: #006;
+ font-weight: bold;
+ }
+ .atn
+ {
+ color: #404;
+ }
+ .atv
+ {
+ color: #060;
+ }
+}
+
+
+.prettyprint.linenums {
+ -webkit-box-shadow: inset 40px 0 0 #333, inset 41px 0 0 #222;
+ -moz-box-shadow: inset 40px 0 0 #333, inset 41px 0 0 #222;
+ box-shadow: inset 40px 0 0 #333, inset 41px 0 0 #222;
+}
+
+/* Specify class=linenums on a pre to get line numbering */
+ol.linenums {
+ margin: 0 0 0 33px; /* IE indents via margin-left */
+}
+ol.linenums li {
+ padding-left: 12px;
+ color: #888;
+ line-height: 18px;
+} \ No newline at end of file
diff --git a/tozt/stylesheets/style.css b/tozt/stylesheets/style.css
new file mode 100644
index 0000000..25c6915
--- /dev/null
+++ b/tozt/stylesheets/style.css
@@ -0,0 +1,317 @@
+body {
+ background-color : #345;
+ font-family : sans;
+ margin : 0 auto;
+ margin-bottom : 16px;
+ width : 600px;
+}
+
+a:link {
+ color : #123;
+}
+
+a:visited {
+ color : #153;
+}
+
+.name a:link {
+ color : #000;
+ text-decoration : none;
+}
+
+.name a:visited {
+ color : #000;
+ text-decoration : none;
+}
+
+.header {
+ border-bottom : 1px solid;
+ position : relative;
+}
+
+.header .name {
+ bottom : 0px;
+ float : left;
+ left : 0px;
+ margin-top : 0px;
+ position : absolute;
+}
+
+.header .name h1 {
+ margin-bottom : 0px;
+ padding-bottom : 0px;
+}
+
+.gravatar {
+ float : right;
+ vertical-align : bottom;
+}
+
+.clear {
+ clear : both;
+}
+
+.nav {
+ text-align : center;
+}
+
+.nav ul {
+ font-size : small;
+ font-weight : bold;
+ margin-bottom : 0px;
+ padding-left : 0px;
+}
+
+.nav li {
+ background-color : #8c8;
+ border : 1px solid black;
+ bottom : -4px;
+ display : inline;
+ padding : 2px;
+ padding-bottom : 0px;
+ position : relative;
+ z-index : 1;
+}
+
+.nav li a:link {
+ color : black;
+ text-decoration : none;
+}
+
+.nav li a:visited {
+ color : black;
+ text-decoration : none;
+}
+
+.nav li.active {
+ background-color : #58a;
+}
+
+.main_content {
+ background-color : #8c8;
+ border : 1px solid;
+ padding : 16px;
+ position : relative;
+}
+
+.main_content h4 {
+ background-color : #58a;
+ border : 1px solid;
+ margin : 0px;
+ padding : 2px;
+}
+
+.date {
+ float : right;
+ font-size : small;
+ font-weight : normal;
+}
+
+li .date {
+ float : none;
+}
+
+h3 a:link {
+ color : #000;
+}
+
+h3 a:visited {
+ color : #000;
+}
+
+.main_content table {
+ border-collapse : collapse;
+ font-size : small;
+ width : 100%;
+}
+
+.main_content thead {
+ background-color : #58a;
+ border-style : solid;
+ border-width : 1px;
+ font-weight : bold;
+}
+
+.main_content th {
+ border-style : solid solid none none;
+ border-width : 1px;
+}
+
+.main_content td {
+ border-style : solid none none solid;
+ border-width : 1px;
+}
+
+.sidebar {
+ width : 250px;
+ font-size : x-small;
+ background-color : #8c8;
+ border-style : solid;
+ border-width : 1px;
+ padding : 8px;
+ position : absolute;
+ margin-top : 8px;
+}
+
+.sidebar h4 {
+ background-color : #58a;
+ border : 1px solid;
+ margin : 0px;
+ padding : 2px;
+ font-size : medium;
+ text-align : center;
+}
+
+.sidebar h5 {
+ background-color : #58a;
+ border : 1px solid;
+ margin : 8px 16px;
+ padding : 2px;
+ font-size : x-small;
+ text-align : center;
+}
+
+.sidebar .actions {
+ border : 1px solid;
+ float : left;
+ width : 100%;
+}
+
+.sidebar ul {
+ padding : 0px;
+ list-style-type : none;
+}
+
+.sidebar-activity {
+ padding : 0px;
+ margin : 0px;
+}
+
+.sidebar li {
+ float : left;
+ width : 100%;
+}
+
+.sidebar .action.odd {
+ background-color : #fff;
+}
+
+.sidebar .action {
+ background-color : #ddd;
+ margin : 0px;
+ padding : 4px;
+ float : left;
+}
+
+.sidebar .date ul {
+ margin-right : 8px;
+ clear : left;
+}
+
+.sidebar dl {
+ margin : 4px 0px;
+}
+
+.sidebar dt {
+ padding : 0px 8px;
+ float : left;
+ clear : left;
+ margin : 0px;
+ width : 3em;
+}
+
+.sidebar dd {
+ float : left;
+ padding : 0px;
+ padding-left : 4px;
+ margin : 0px;
+ width : 176px;
+}
+
+.github {
+ left : -274px;
+}
+
+.pinboard {
+ left : 604px;
+}
+
+.pin-title {
+ text-decoration: none;
+ font-size: 1.2em;
+}
+
+.pin-tag {
+ font-size: 0.9em;
+}
+
+.tags {
+ font-size : x-small;
+}
+
+.tags ul {
+ display : inline;
+ list-style-type: none;
+ padding-left : 0px;
+}
+
+.tags li {
+ display : inline;
+ padding-right : 1em;
+ font-size : x-small;
+}
+
+.tags span {
+ display : none;
+}
+
+.footer {
+ text-align : center;
+ font-weight : bold;
+ font-size : small;
+}
+
+.footer a:link {
+ color : #000;
+}
+
+.footer a:visited {
+ color : #000;
+}
+
+.dsq-brlink {
+ font-size : x-small;
+}
+
+.permalink {
+ float : right;
+ font-size : x-small;
+}
+
+.more {
+ font-size : x-small;
+}
+
+.pagination ul {
+ display : inline;
+ list-style-type: none;
+ padding-left : 0px;
+}
+
+.pagination li {
+ display : inline;
+ padding : 2px;
+ font-size : small;
+}
+
+.pagination li.active {
+ font-weight : bold;
+}
+
+.pagination li.active a:link {
+ text-decoration : none;
+}
+
+.pagination li.active a:visited {
+ text-decoration : none;
+}
diff --git a/widgets/google_prettify/local.html b/widgets/google_prettify/local.html
new file mode 100644
index 0000000..4b6a219
--- /dev/null
+++ b/widgets/google_prettify/local.html
@@ -0,0 +1,11 @@
+---
+linenums : true
+---
+<script src="{{urls.base_url}}/assets/widgets/syntax/javascripts/prettify.js"></script>
+<script>
+ var pres = document.getElementsByTagName("pre");
+ for (var i=0; i < pres.length; ++i) {
+ pres[i].className = "prettyprint {{# this_config.linenums }}linenums{{/this_config.linenums}}";
+ }
+ prettyPrint();
+</script>