Browse Source

Revamp for 2016

Mostly a manual "rebase" on top of upstream/jekyll3.
Chimo 3 years ago
parent
commit
f02bfa956b
100 changed files with 4167 additions and 3146 deletions
  1. 3
    0
      .bundle/config
  2. 2
    1
      .gitignore
  3. BIN
      .well-known/.host-meta.un~
  4. 7
    0
      .well-known/host-meta
  5. 56
    0
      _config.prod.yml
  6. 28
    29
      _config.yml
  7. 10
    9
      _data/navigation.yml
  8. 4
    4
      _includes/disqus_comments.html
  9. 0
    1
      _includes/feed-footer.html
  10. 20
    13
      _includes/footer.html
  11. 7
    17
      _includes/head.html
  12. 11
    0
      _includes/interactions.html
  13. 18
    0
      _includes/masthead.html
  14. 1
    25
      _includes/navigation.html
  15. 1
    3
      _includes/open-graph.html
  16. 7
    4
      _includes/scripts.html
  17. 38
    0
      _layouts/article.html
  18. 33
    0
      _layouts/comment.html
  19. 59
    0
      _layouts/homepage.html
  20. 4
    3
      _layouts/page.html
  21. 54
    35
      _layouts/post.html
  22. 45
    0
      _layouts/update.html
  23. 0
    96
      _posts/articles/2011-03-10-sample-post.md
  24. 0
    50
      _posts/articles/2012-05-22-readability-post.md
  25. 0
    67
      _posts/articles/2013-05-22-sample-post-images.md
  26. 0
    51
      _posts/articles/2013-05-23-readability-feature-post.md
  27. 0
    23
      _posts/articles/2013-06-25-video-post.md
  28. 0
    10
      _posts/articles/2013-08-12-sample-link-post.md
  29. 0
    120
      _posts/articles/2013-08-16-code-highlighting-post.md
  30. 0
    49
      _posts/articles/2014-06-19-author-override.md
  31. 120
    0
      _posts/blog/2012-01-30-project-autonomous.md
  32. 82
    0
      _posts/blog/2013-12-16-the-web-and-i.md
  33. 136
    0
      _posts/blog/2014-05-11-my-android-stack.md
  34. 0
    33
      _posts/blog/2014-08-08-hello-world.md
  35. 78
    0
      _posts/blog/2015-05-13-git-gogs-jekyll.md
  36. 226
    0
      _posts/blog/2015-06-15-lifestream-architecture.md
  37. 0
    32
      _posts/blog/2015-08-10-mathjax-example.md
  38. 36
    0
      _posts/comments/2015-09-14-checkins.md
  39. 0
    77
      _sass/_archives.scss
  40. 0
    221
      _sass/_base.scss
  41. 0
    39
      _sass/_buttons.scss
  42. 251
    0
      _sass/_chimo.scss
  43. 133
    0
      _sass/_coderay.scss
  44. 167
    45
      _sass/_elements.scss
  45. 0
    30
      _sass/_footer.scss
  46. 0
    8
      _sass/_footnotes.scss
  47. 42
    0
      _sass/_gs-share.scss
  48. 0
    116
      _sass/_helpers.scss
  49. 495
    0
      _sass/_layout.scss
  50. 84
    0
      _sass/_lifestream.scss
  51. 0
    80
      _sass/_masthead.scss
  52. 0
    99
      _sass/_navigation.scss
  53. 0
    26
      _sass/_notices.scss
  54. 0
    311
      _sass/_page.scss
  55. 74
    0
      _sass/_pygments.scss
  56. 0
    40
      _sass/_search.scss
  57. 276
    0
      _sass/_site.scss
  58. 0
    224
      _sass/_syntax.scss
  59. 0
    11
      _sass/_wells.scss
  60. 0
    34
      _sass/vendor/font-awesome/_animated.scss
  61. 0
    9
      _sass/vendor/font-awesome/_bordered-pulled.scss
  62. 4
    4
      _sass/vendor/font-awesome/_core.scss
  63. 3
    194
      _sass/vendor/font-awesome/_icons.scss
  64. 4
    10
      _sass/vendor/font-awesome/_mixins.scss
  65. 1
    2
      _sass/vendor/font-awesome/_path.scss
  66. 0
    11
      _sass/vendor/font-awesome/_rotated-flipped.scss
  67. 32
    0
      _sass/vendor/font-awesome/_spinning.scss
  68. 3
    196
      _sass/vendor/font-awesome/_variables.scss
  69. 2
    2
      _sass/vendor/font-awesome/font-awesome.scss
  70. 14
    0
      _templates/comment
  71. 14
    0
      _templates/draft
  72. 11
    2
      _templates/post
  73. 60
    16
      about/index.md
  74. 2
    2
      articles/index.md
  75. 1
    0
      assets/css/extlib/ol.css
  76. 14
    37
      assets/css/main.scss
  77. BIN
      assets/fonts/FontAwesome.otf
  78. BIN
      assets/fonts/fontawesome-webfont.eot
  79. 463
    614
      assets/fonts/fontawesome-webfont.svg
  80. BIN
      assets/fonts/fontawesome-webfont.ttf
  81. BIN
      assets/fonts/fontawesome-webfont.woff
  82. BIN
      assets/fonts/fontawesome-webfont.woff2
  83. 193
    0
      assets/js/plugins/comments.js
  84. 3
    0
      assets/js/plugins/details-polyfill.js
  85. 206
    0
      assets/js/plugins/gs-share.js
  86. 221
    0
      assets/js/plugins/jquery.timeago.js
  87. 47
    0
      assets/js/plugins/lifestream.js
  88. 94
    0
      assets/js/plugins/map.js
  89. 4
    4
      assets/js/plugins/search.js
  90. 7
    0
      assets/js/plugins/timeago.js
  91. 16
    0
      assets/js/plugins/utils.js
  92. 127
    0
      assets/js/plugins/websockets.js
  93. 2
    2
      assets/js/scripts.min.js
  94. 1
    0
      assets/js/scripts.min.js.map
  95. 1
    0
      assets/js/vendor/fragmention.min.js
  96. 0
    5
      assets/js/vendor/jquery-1.9.1.min.js
  97. 2
    0
      assets/js/vendor/jquery.details.min.js
  98. 4
    0
      assets/js/vendor/jquery.min.js
  99. 3
    0
      assets/js/vendor/marginalia.min.js
  100. 0
    0
      assets/js/vendor/modernizr-2.7.1.custom.min.js

+ 3
- 0
.bundle/config View File

@@ -0,0 +1,3 @@
1
+---
2
+BUNDLE_PATH: vendor/bundle/
3
+BUNDLE_DISABLE_SHARED_GEMS: '1'

+ 2
- 1
.gitignore View File

@@ -1,4 +1,5 @@
1
-_site
1
+/vendor
2
+_config.php
2 3
 .DS_Store
3 4
 *.sublime-project
4 5
 *.sublime-workspace

BIN
.well-known/.host-meta.un~ View File


+ 7
- 0
.well-known/host-meta View File

@@ -0,0 +1,7 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0" xmlns:hm="http://host-meta.net/xrd/1.0">
3
+    <hm:Host>chromic.org</hm:Host>
4
+    <Link rel="lrdd" template="http://chromic.org/xrd/?uri=acct%3A{uri}">
5
+        <Title>WebFinger resource descriptor</Title>
6
+    </Link>
7
+</XRD>

+ 56
- 0
_config.prod.yml View File

@@ -0,0 +1,56 @@
1
+# Site wide configuration
2
+
3
+url: //chromic.org
4
+title: Chromic
5
+locale: en_CA
6
+description: Stuff and Things.
7
+logo: site-logo.png
8
+timezone: America/Toronto
9
+
10
+# Jekyll configuration
11
+
12
+destination: ../public_html
13
+excerpt_separator: <!-- more -->
14
+permalink:   /:categories/:title/
15
+markdown:    kramdown
16
+highlighter: rouge
17
+sass:
18
+  sass_dir: _sass
19
+  style: compressed
20
+gems:
21
+  - jekyll-sitemap
22
+
23
+kramdown:
24
+  auto_ids: true
25
+  footnote_nr: 1
26
+  entity_output: as_char
27
+  toc_levels: 1..2
28
+  enable_coderay: false
29
+
30
+mathjax: false
31
+
32
+include: [".well-known"]
33
+exclude: ["bin", "Gruntfile.js", "package.json", "node_modules", "Gemfile", "Gemfile.lock", "LICENSE", "README.md", "vendor"]
34
+
35
+
36
+# Site owner
37
+owner:
38
+  name: Chimo
39
+  avatar: bio-photo.png
40
+  email: chimo@chromic.org
41
+  twitter: chim0
42
+  github: chimo
43
+
44
+defaults:
45
+  -
46
+    scope:
47
+      path: ""
48
+    values:
49
+      share: true
50
+      comments: true
51
+  -
52
+    scope:
53
+      path: "blog"
54
+      #type: "posts"
55
+    values:
56
+      layout: "post"

+ 28
- 29
_config.yml View File

@@ -1,14 +1,16 @@
1 1
 # Site wide configuration
2 2
 
3
-title: Site Title
4
-locale: en_US
5
-description: Describe your website here.
3
+url: //chromic.org
4
+title: Chromic
5
+locale: en_CA
6
+description: Stuff and Things.
6 7
 logo: site-logo.png
7
-search: true
8
-url: http://localhost:4000
8
+timezone: America/Toronto
9 9
 
10 10
 # Jekyll configuration
11 11
 
12
+destination: ../dev
13
+excerpt_separator: <!-- more -->
12 14
 permalink:   /:categories/:title/
13 15
 markdown:    kramdown
14 16
 highlighter: rouge
@@ -25,32 +27,29 @@ kramdown:
25 27
   toc_levels: 1..2
26 28
   enable_coderay: false
27 29
 
28
-mathjax: true
30
+mathjax: false
29 31
 
30
-include: [".htaccess"]
31
-exclude: ["lib", "config.rb", "Capfile", "config", "log", "Rakefile", "Rakefile.rb", "tmp", "less", "*.sublime-project", "*.sublime-workspace", "test", "spec", "Gruntfile.js", "package.json", "node_modules", "Gemfile", "Gemfile.lock", "LICENSE", "README.md", "vendor"]
32
+include: [".well-known"]
33
+exclude: ["bin", "Gruntfile.js", "package.json", "node_modules", "Gemfile", "Gemfile.lock", "LICENSE", "README.md", "vendor"]
32 34
 
33 35
 
34 36
 # Site owner
35 37
 owner:
36
-  name: Your Name
37
-  avatar: bio-photo.jpg
38
-  email: you@email.com
39
-  disqus-shortname:
40
-  twitter: #username
41
-  facebook: #username
42
-  github: #username
43
-  stackexchange: #http://stackoverflow.com/users/123456/username
44
-  linkedin: #username
45
-  instagram: #username
46
-  flickr: #username
47
-  tumblr: #username
48
-  pinterest: #username
49
-  weibo: #userid
50
-  google:
51
-    plus: #username
52
-    analytics:
53
-    verify:
54
-    ad-client:
55
-    ad-slot:
56
-  bing-verify:
38
+  name: Chimo
39
+  avatar: bio-photo.png
40
+  email: chimo@chromic.org
41
+  twitter: chim0
42
+  github: chimo
43
+
44
+defaults:
45
+  -
46
+    scope:
47
+      path: ""
48
+    values:
49
+      share: true
50
+      comments: true
51
+  -
52
+    scope:
53
+      path: "blog"
54
+    values:
55
+      layout: "post"

+ 10
- 9
_data/navigation.yml View File

@@ -3,17 +3,18 @@
3 3
 - title: About
4 4
   url: /about/
5 5
 
6
-- title: Articles
7
-  url: /articles/
8
-
9 6
 - title: Blog
10 7
   url: /blog/
11 8
 
12
-- title: Theme Setup
13
-  url: /theme-setup/
9
+- title: Micro-Blog
10
+  url: http://sn.chromic.org
11
+
12
+- title: Media
13
+  url: http://media.chromic.org
14
+
15
+- title: Code
16
+  url: http://code.chromic.org
14 17
 
15
-- title: Made Mistakes
16
-  url: http://mademistakes.com
18
+- title: fm
19
+  url: http://fm.chromic.org
17 20
 
18
-- title: Search
19
-  url: /search/

_includes/disqus-comments.html → _includes/disqus_comments.html View File

@@ -6,7 +6,7 @@
6 6
     /* * * DON'T EDIT BELOW THIS LINE * * */
7 7
     (function() {
8 8
         var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
9
-        dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js';
9
+        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
10 10
         (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
11 11
     })();
12 12
 
@@ -14,10 +14,10 @@
14 14
     (function () {
15 15
         var s = document.createElement('script'); s.async = true;
16 16
         s.type = 'text/javascript';
17
-        s.src = 'https://' + disqus_shortname + '.disqus.com/count.js';
17
+        s.src = '//' + disqus_shortname + '.disqus.com/count.js';
18 18
         (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
19 19
     }());
20 20
 </script>
21
-<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
22
-<a href="https://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
21
+<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
22
+<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
23 23
 {% endif %}

+ 0
- 1
_includes/feed-footer.html View File

@@ -1 +0,0 @@
1
-&lt;p&gt;&lt;a href=&quot;{{ site.url }}{{ post.url }}&quot;&gt;{{ post.title | xml_escape }}&lt;/a&gt; was originally published by {{ site.owner.name }} at &lt;a href=&quot;{{ site.url }}&quot;&gt;{{ site.title }}&lt;/a&gt; on {{ post.date | date: "%B %d, %Y" }}.&lt;/p&gt;

+ 20
- 13
_includes/footer.html View File

@@ -1,17 +1,24 @@
1 1
 {% if site.owner.google.ad-client and site.owner.google.ad-slot %}{% include ad-footer.html %}{% endif %}
2 2
 
3
-<span>&copy; {{ site.time | date: '%Y' }} {{ site.owner.name }}. Powered by <a href="http://jekyllrb.com" rel="nofollow">Jekyll</a> using the <a href="http://mademistakes.com/so-simple/" rel="nofollow">So Simple Theme</a>.</span>
3
+<div>
4
+    <a href="https://creativecommons.org/licenses/by-sa/4.0/" title="Except where otherwise noted, this work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International license." class="cc-by-sa">
5
+        <img src="/images/cc.svg" alt="">
6
+        <img src="/images/by.svg" alt="">
7
+        <img src="/images/sa.svg" alt="">
8
+    </a>
9
+    <br>
10
+    &copy; {{ site.time | date: '%Y' }}
11
+    <span class="h-card">
12
+        <a class="p-name u-url" href="http://chromic.org">{{ site.owner.name }}</a>.
13
+        <a class="u-email" href="mailto:chimo@chromic.org"><span class="fa fa-envelope"></span></a>
14
+    </span>
15
+    <br>
16
+    Powered by <a href="http://jekyllrb.com" rel="nofollow">Jekyll</a> using the <a href="http://mademistakes.com/so-simple/" rel="nofollow">So Simple Theme</a>.
17
+</div>
18
+
4 19
 <div class="social-icons">
5
-	{% if site.owner.twitter %}<a href="https://twitter.com/{{ site.owner.twitter }}" title="{{ site.owner.name}} on Twitter" target="_blank"><i class="fa fa-twitter-square fa-2x"></i></a>{% endif %}
6
-	{% if site.owner.facebook %}<a href="https://facebook.com/{{ site.owner.facebook }}" title="{{ site.owner.name}} on Facebook" target="_blank"><i class="fa fa-facebook-square fa-2x"></i></a>{% endif %}
7
-	{% if site.owner.google.plus %}<a href="https://plus.google.com/+{{ site.owner.google.plus }}" title="{{ site.owner.name}} on Google+" target="_blank"><i class="fa fa-google-plus-square fa-2x"></i></a>{% endif %}
8
-	{% if site.owner.linkedin %}<a href="https://linkedin.com/in/{{ site.owner.linkedin }}" title="{{ site.owner.name}} on LinkedIn" target="_blank"><i class="fa fa-linkedin-square fa-2x"></i></a>{% endif %}
9
-	{% if site.owner.stackexchange %}<a href="{{ site.owner.stackexchange }}" title="{{ site.owner.name}} on StackExchange" target="_blank"><i class="fa fa-stack-exchange fa-2x"></i></a>{% endif %}
10
-	{% if site.owner.instagram %}<a href="https://instagram.com/{{ site.owner.instagram }}" title="{{ site.owner.name}} on Instagram" target="_blank"><i class="fa fa-instagram fa-2x"></i></a>{% endif %}
11
-	{% if site.owner.flickr %}<a href="https://www.flickr.com/photos/{{ site.owner.flickr }}" title="{{ site.owner.name}} on Flickr" target="_blank"><i class="fa fa-flickr fa-2x"></i></a>{% endif %}
12
-	{% if site.owner.github %}<a href="https://github.com/{{ site.owner.github }}" title="{{ site.owner.name}} on Github" target="_blank"><i class="fa fa-github-square fa-2x"></i></a>{% endif %}
13
-	{% if site.owner.tumblr %}<a href="http://{{ site.owner.tumblr }}.tumblr.com" title="{{ site.owner.name}} on Tumblr" target="_blank"><i class="fa fa-tumblr-square fa-2x"></i></a>{% endif %}
14
-  {% if site.owner.pinterest %}<a href="https://www.pinterest.com/{{ site.owner.pinterest }}/" title="{{ site.owner.name}} on Pinterest" target="_blank"><i class="fa fa-pinterest fa-2x"></i></a>{% endif %}
15
-	{% if site.owner.weibo %}<a href="https://www.weibo.com/u/{{ site.owner.weibo }}/" title="{{ site.owner.name}} on Weibo" target="_blank"><i class="fa fa-weibo fa-2x"></i></a>{% endif %}
16
-  <a href="{{ site.url }}/feed.xml" title="Atom/RSS feed"><i class="fa fa-rss-square fa-2x"></i></a>
20
+    {% if site.owner.twitter %}<a rel="me" href="http://twitter.com/{{ site.owner.twitter }}" title="{{ site.owner.name}} on Twitter" target="_blank"><i class="fa fa-twitter-square fa-2x"></i></a>{% endif %}
21
+    {% if site.owner.github %}<a rel="me" href="http://github.com/{{ site.owner.github }}" title="{{ site.owner.name}} on Github" target="_blank"><i class="fa fa-github-square fa-2x"></i></a>{% endif %}
22
+    <a class="gs" rel="me" href="http://sn.chromic.org/chimo" title="{{ site.owner.name}} on GNU social" target="_blank"><img src="/images/gs.png" alt=""></a>
23
+    <a href="{{ site.url }}/feed.xml" title="Atom/RSS feed"><i class="fa fa-rss-square fa-2x"></i></a>
17 24
 </div><!-- /.social-icons -->

+ 7
- 17
_includes/head.html View File

@@ -1,6 +1,5 @@
1 1
 <meta charset="utf-8">
2 2
 <title>{% if page.title %}{{ page.title }} &#8211; {% endif %}{{ site.title }}</title>
3
-{% if page.excerpt %}<meta name="description" content="{{ page.excerpt | strip_html }}">{% endif %}
4 3
 {% if page.tags %}<meta name="keywords" content="{{ page.tags | join: ', ' }}">{% endif %}
5 4
 {% if page.author %}
6 5
   {% assign author = site.data.authors[page.author] %}{% else %}{% assign author = site.owner %}
@@ -8,25 +7,21 @@
8 7
 
9 8
 {% include open-graph.html %}
10 9
 
11
-{% if site.owner.google.verify %}<!-- Webmaster Tools verfication -->
12
-<meta name="google-site-verification" content="{{ site.owner.google.verify }}">{% endif %}
13
-{% if site.owner.bing-verify %}<meta name="msvalidate.01" content="{{ site.owner.bing-verify }}">{% endif %}
14
-
15 10
 {% capture canonical %}{{ site.url }}{% if site.permalink contains '.html' %}{{ page.url }}{% else %}{{ page.url | remove:'index.html' | strip_slash }}{% endif %}{% endcapture %}
16 11
 <link rel="canonical" href="{{ canonical }}">
17
-<link href="{{ site.url }}/feed.xml" type="application/atom+xml" rel="alternate" title="{{ site.title }} Feed">
12
+<link rel="alternate" href="{{ site.url }}/feed.xml" type="application/atom+xml" title="{{ site.title }} Feed">
13
+
14
+<link rel="pingback" href="http://webmention.chromic.org/chromic.org/xmlrpc" />
15
+<link rel="webmention" href="http://webmention.chromic.org/chromic.org/webmention" />
18 16
 
19
-<!-- https://t.co/dKP3o1e -->
17
+<!-- http://t.co/dKP3o1e -->
20 18
 <meta name="HandheldFriendly" content="True">
21 19
 <meta name="MobileOptimized" content="320">
22 20
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
23 21
 
24 22
 <!-- For all browsers -->
23
+<link rel="stylesheet" href="/assets/css/extlib/ol.css">
25 24
 <link rel="stylesheet" href="{{ site.url }}/assets/css/main.css">
26
-<!-- Webfonts -->
27
-<script src="https://use.edgefonts.net/source-sans-pro:n2,i2,n3,i3,n4,i4,n6,i6,n7,i7,n9,i9;source-code-pro:n4,n7;volkhov.js"></script>
28
-
29
-<meta http-equiv="cleartype" content="on">
30 25
 
31 26
 <!-- HTML5 Shiv and Media Query Support -->
32 27
 <!--[if lt IE 9]>
@@ -35,12 +30,7 @@
35 30
 <![endif]-->
36 31
 
37 32
 <!-- Modernizr -->
38
-<script src="{{ site.url }}/assets/js/vendor/modernizr-2.7.1.custom.min.js"></script>
39
-
40
-{% if site.mathjax == true %}
41
-<!-- MathJax -->
42
-<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
43
-{% endif %}
33
+<script src="{{ site.url }}/assets/js/vendor/modernizr-custom.min.js"></script>
44 34
 
45 35
 <!-- Icons -->
46 36
 <!-- 16x16 -->

+ 11
- 0
_includes/interactions.html View File

@@ -0,0 +1,11 @@
1
+<hr>
2
+
3
+<div class="marginalia" id="response-list">
4
+    <h2 id="interactions">Interactions</h2>
5
+
6
+    <div id="wm"></div>
7
+
8
+    <div id="isso"></div>
9
+</div>
10
+
11
+<h3>Participate</h3>

+ 18
- 0
_includes/masthead.html View File

@@ -0,0 +1,18 @@
1
+{% if page.image.feature %}<header class="masthead">
2
+    {% if site.logo != null %}
3
+        <div class="wrap">
4
+            <a href="{{ site.url }}/" class="site-logo" rel="home" title="{{ site.title }}"><img src="{{ site.url }}/images/{{ site.logo }}" width="200" height="200" alt="{{ site.title }} logo" class="animated bounceInDown"></a>
5
+        </div>
6
+    {% endif %}
7
+</header><!-- /.masthead -->
8
+{% else %}<header class="masthead">
9
+    <div class="wrap">
10
+        {% if site.logo != null %}
11
+            <a href="{{ site.url }}/" class="site-logo" rel="home" title="{{ site.title }}"><img src="{{ site.url }}/images/{{ site.logo }}" width="200" height="200" alt="{{ site.title }} logo" class="animated fadeInUp"></a>
12
+        {% endif %}
13
+        <h1 class="site-title animated fadeIn"><a href="{{ site.url }}/">{{ site.title }}</a></h1>
14
+        <h2 class="site-description animated fadeIn" itemprop="description">{{ site.description }}</h2>
15
+    </div>
16
+</header><!-- /.masthead -->{% endif %}
17
+
18
+<div class="js-menu-screen menu-screen"></div>

+ 1
- 25
_includes/navigation.html View File

@@ -2,34 +2,10 @@
2 2
 	<nav role="navigation" id="site-nav" class="animated drop">
3 3
 	    <ul>
4 4
       {% for link in site.data.navigation %}
5
-		    {% if link.url contains 'http' %}
6
-		        {% assign domain = '' %}
7
-		        {% else %}
8
-		        {% assign domain = site.url %}
9
-		    {% endif %}
10
-		    <li><a href="{{ domain }}{{ link.url }}" {% if link.url contains 'http' %}target="_blank"{% endif %}>{{ link.title }}</a></li>
5
+		    <li><a href="{{ link.url }}">{{ link.title }}</a></li>
11 6
 		  {% endfor %}
12 7
 	    </ul>
13 8
 	</nav>
14 9
 </div><!-- /.navigation-wrapper -->
15 10
 
16 11
 {% include browser-upgrade.html %}
17
-
18
-{% if page.image.feature %}<header class="masthead">
19
-	{% if site.logo != null %}
20
-		<div class="wrap">
21
-			<a href="{{ site.url }}/" class="site-logo" rel="home" title="{{ site.title }}"><img src="{{ site.url }}/images/{{ site.logo }}" width="200" height="200" alt="{{ site.title }} logo" class="animated fadeInDown"></a>
22
-		</div>
23
-	{% endif %}
24
-</header><!-- /.masthead -->
25
-{% else %}<header class="masthead">
26
-	<div class="wrap">
27
-      {% if site.logo != null %}
28
-  		<a href="{{ site.url }}/" class="site-logo" rel="home" title="{{ site.title }}"><img src="{{ site.url }}/images/{{ site.logo }}" width="200" height="200" alt="{{ site.title }} logo" class="animated fadeInDown"></a>
29
-      {% endif %}
30
-      <h1 class="site-title animated fadeIn"><a href="{{ site.url }}/">{{ site.title }}</a></h1>
31
-		<h2 class="site-description animated fadeIn" itemprop="description">{{ site.description }}</h2>
32
-	</div>
33
-</header><!-- /.masthead -->{% endif %}
34
-
35
-<div class="js-menu-screen menu-screen"></div>

+ 1
- 3
_includes/open-graph.html View File

@@ -1,6 +1,5 @@
1 1
 <!-- Twitter Cards -->
2 2
 <meta name="twitter:title" content="{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}">
3
-{% if page.excerpt %}<meta name="twitter:description" content="{{ page.excerpt | strip_html }}">{% endif %}
4 3
 {% if site.owner.twitter %}<meta name="twitter:site" content="@{{ site.owner.twitter }}">{% endif %}
5 4
 {% if author.twitter %}<meta name="twitter:creator" content="@{{ author.twitter }}">{% endif %}
6 5
 {% if page.image.feature %}
@@ -14,6 +13,5 @@
14 13
 <meta property="og:locale" content="{{ site.locale }}">
15 14
 <meta property="og:type" content="article">
16 15
 <meta property="og:title" content="{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}">
17
-{% if page.excerpt %}<meta property="og:description" content="{{ page.excerpt | strip_html }}">{% endif %}
18 16
 <meta property="og:url" content="{{ page.url | replace:'index.html','' | prepend: site.url }}">
19
-<meta property="og:site_name" content="{{ site.title }}">
17
+<meta property="og:site_name" content="{{ site.title }}">

+ 7
- 4
_includes/scripts.html View File

@@ -2,8 +2,10 @@
2 2
   var BASE_URL = '{{ site.url }}';
3 3
 </script>
4 4
 
5
-<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
6
-<script>window.jQuery || document.write('<script src="{{ site.url }}/assets/js/vendor/jquery-1.9.1.min.js"><\/script>')</script>
5
+<script src="{{ site.url }}/assets/js/vendor/jquery.min.js"></script>
6
+<script src="{{ site.url }}/assets/js/vendor/ol.js"></script>
7
+<script src="{{ site.url }}/assets/js/vendor/fragmention.min.js"></script>
8
+<script src="{{ site.url }}/assets/js/vendor/jquery.details.min.js"></script>
7 9
 <script src="{{ site.url }}/assets/js/scripts.min.js"></script>
8 10
 
9 11
 {% if site.owner.google.analytics %}
@@ -11,15 +13,16 @@
11 13
 <script>
12 14
   var _gaq = _gaq || [];
13 15
   var pluginUrl =
14
- 'https://www.google-analytics.com/plugins/ga/inpage_linkid.js';
16
+ '//www.google-analytics.com/plugins/ga/inpage_linkid.js';
15 17
   _gaq.push(['_require', 'inpage_linkid', pluginUrl]);
16 18
   _gaq.push(['_setAccount', '{{ site.owner.google.analytics }}']);
17 19
   _gaq.push(['_trackPageview']);
18 20
 
19 21
   (function() {
20 22
     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
21
-    ga.src = 'https://stats.g.doubleclick.net/dc.js';
23
+    ga.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'stats.g.doubleclick.net/dc.js';
22 24
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
23 25
   })();
24 26
 </script>
25 27
 {% endif %}
28
+

+ 38
- 0
_layouts/article.html View File

@@ -0,0 +1,38 @@
1
+<!doctype html>
2
+<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
3
+<!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]-->
4
+<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
5
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en"><!--<![endif]-->
6
+<head>
7
+{% include head.html %}
8
+</head>
9
+
10
+<body id="article">
11
+
12
+{% include navigation.html %}
13
+{% include masthead.html %}
14
+
15
+<div id="main" role="main">
16
+  <article class="entry">
17
+    {% if page.image.feature %}<img src="{{ site.url }}/images/{{ page.image.feature }}" class="entry-feature-image" alt="{{ page.title }}" {% if site.logo == null %}style="margin-top:0;"{% endif %}>{% if page.image.credit %}<p class="image-credit">Photo Credit: <a href="{{ page.image.creditlink }}">{{ page.image.credit }}</a>{% endif %}{% endif %}
18
+    <div class="entry-wrapper">
19
+      <header class="entry-header">
20
+        <h1 class="entry-title">{% if page.headline %}{{ page.headline }}{% else %}{{ page.title }}</h1>{% endif %}
21
+      </header>
22
+      <div class="entry-content">
23
+        {{ content }}
24
+      </div><!-- /.entry-content -->
25
+    </div><!-- /.entry-wrapper -->
26
+  </article>
27
+</div><!-- /#main -->
28
+
29
+<div class="footer-wrapper">
30
+  <footer role="contentinfo" class="entry-wrapper">
31
+    {% include footer.html %}
32
+  </footer>
33
+</div><!-- /.footer-wrapper -->
34
+
35
+{% include scripts.html %}          
36
+
37
+</body>
38
+</html>

+ 33
- 0
_layouts/comment.html View File

@@ -0,0 +1,33 @@
1
+<!doctype html>
2
+<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
3
+<!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]-->
4
+<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
5
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en"><!--<![endif]-->
6
+<head>
7
+{% include head.html %}
8
+</head>
9
+
10
+<body id="comment">
11
+
12
+{% include navigation.html %}
13
+
14
+<div id="main" role="main">
15
+  <div class="entry">
16
+    <div class="entry-wrapper">
17
+      <div class="entry-content">
18
+        {{ content }}
19
+      </div><!-- /.entry-content -->
20
+    </div><!-- /.entry-wrapper -->
21
+  </div>
22
+</div><!-- /#main -->
23
+
24
+<div class="footer-wrapper">
25
+  <footer role="contentinfo" class="entry-wrapper">
26
+    {% include footer.html %}
27
+  </footer>
28
+</div><!-- /.footer-wrapper -->
29
+
30
+{% include scripts.html %}
31
+
32
+</body>
33
+</html>

+ 59
- 0
_layouts/homepage.html View File

@@ -0,0 +1,59 @@
1
+<!doctype html>
2
+<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
3
+<!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]-->
4
+<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
5
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en"><!--<![endif]-->
6
+<head>
7
+{% include head.html %}
8
+
9
+<link rel="openid.server" href="http://id.chromic.org" />
10
+<link rel="openid2.provider" href="http://id.chromic.org" />
11
+
12
+</head>
13
+
14
+<body id="homepage">
15
+
16
+{% include navigation.html %}
17
+
18
+<div id="main" role="main">
19
+  <article>
20
+    <div class="entry-wrapper">
21
+      <footer class="entry-meta">
22
+        <h2>Blog<br>Posts&nbsp;<a href="/feed.xml"><span class="fa fa-rss"></span></a></h2>
23
+        <ul class="post-list">
24
+        {% for post in site.categories.blog limit:10 %}
25
+          <li>
26
+            <article class="h-entry">
27
+              <a class="u-url" href="{{ site.url }}{{ post.url }}">
28
+                <span class="p-name" style="margin-top: 0;">{{ post.title }}</span>
29
+                <span class="entry-date">
30
+                  <time class="dt-published" datetime="{{ post.date | date_to_xmlschema }}">{{ post.date | date: "%B %d, %Y" }}</time>
31
+                </span>
32
+              </a>
33
+            </article>
34
+          </li>
35
+        {% endfor %}
36
+        </ul>
37
+      </footer>
38
+      <div class="entry-content">
39
+        <div class="ls-wrap">
40
+            <h2>Realtime<br>Updates&nbsp;<a href="/updates.atom"><span class="fa fa-rss"></span></a></h2>
41
+          {{ content }}
42
+        </div>
43
+      </div><!-- /.entry-content -->
44
+    </div><!-- /.entry-wrapper -->
45
+  </article>
46
+
47
+</div><!-- /#main -->
48
+
49
+<div class="footer-wrapper">
50
+  <footer role="contentinfo" class="entry-wrapper">
51
+    {% include footer.html %}
52
+  </footer>
53
+</div><!-- /.footer-wrapper -->
54
+
55
+{% include scripts.html %}
56
+
57
+</body>
58
+</html>
59
+

+ 4
- 3
_layouts/page.html View File

@@ -10,13 +10,14 @@
10 10
 <body id="page">
11 11
 
12 12
 {% include navigation.html %}
13
+{% include masthead.html %}
13 14
 
14 15
 <div id="main" role="main">
15 16
   <article class="entry">
16
-    {% if page.image.feature %}<img src="{{ site.url }}/images/{{ page.image.feature }}" class="entry-feature-image" alt="{{ page.title }}" {% if site.logo == null %}style="margin-top:0;"{% endif %}>{% if page.image.credit %}<p class="image-credit">Photo Credit: <a href="{{ page.image.creditlink }}">{{ page.image.credit }}</a></p>{% endif %}{% endif %}
17
+    {% if page.image.feature %}<img src="{{ site.url }}/images/{{ page.image.feature }}" class="entry-feature-image" alt="{{ page.title }}" {% if site.logo == null %}style="margin-top:0;"{% endif %}>{% if page.image.credit %}<p class="image-credit">Photo Credit: <a href="{{ page.image.creditlink }}">{{ page.image.credit }}</a>{% endif %}{% endif %}
17 18
     <div class="entry-wrapper">
18 19
       <header class="entry-header">
19
-        <h1 class="entry-title">{% if page.headline %}{{ page.headline }}{% else %}{{ page.title }}{% endif %}</h1>
20
+        <h1 class="entry-title">{% if page.headline %}{{ page.headline }}{% else %}{{ page.title }}</h1>{% endif %}
20 21
       </header>
21 22
       <div class="entry-content">
22 23
         {{ content }}
@@ -31,7 +32,7 @@
31 32
   </footer>
32 33
 </div><!-- /.footer-wrapper -->
33 34
 
34
-{% include scripts.html %}
35
+{% include scripts.html %}          
35 36
 
36 37
 </body>
37 38
 </html>

+ 54
- 35
_layouts/post.html View File

@@ -10,55 +10,73 @@
10 10
 <body id="post">
11 11
 
12 12
 {% include navigation.html %}
13
+{% include masthead.html %}
13 14
 
14 15
 <div id="main" role="main">
15
-  <article class="hentry">
16
-    {% if page.image.feature %}<img src="{{ site.url }}/images/{{ page.image.feature }}" class="entry-feature-image" alt="{{ page.title }}" {% if site.logo == null %}style="margin-top:0;"{% endif %}>{% if page.image.credit %}<p class="image-credit">Image credit: <a href="{{ page.image.creditlink }}">{{ page.image.credit }}</a></p>{% endif %}{% endif %}
16
+  <article class="hentry h-entry">
17
+    {% if page.image.feature %}<img src="{{ site.url }}/images/{{ page.image.feature }}" class="entry-feature-image" alt="{{ page.title }}" {% if site.logo == null %}style="margin-top:0;"{% endif %}>{% if page.image.credit %}<p class="image-credit">Photo Credit: <a href="{{ page.image.creditlink }}">{{ page.image.credit }}</a>{% endif %}{% endif %}
17 18
     <div class="entry-wrapper">
18 19
       <header class="entry-header">
19
-        <ul class="entry-tags">
20
-          {% for tag in page.tags %}<li><a href="{{ site.url }}/tags/#{{ tag }}" title="Pages tagged {{ tag }}">{{ tag }}</a></li>{% endfor %}
21
-        </ul>
22
-        {% if page.link %}
23
-          <h1 class="entry-title"><a href="{{ page.link }}">{% if page.headline %}{{ page.headline }}{% else %}{{ page.title }}{% endif %} <span class="link-arrow">&rarr;</span></a></h1>
24
-        {% else %}
25
-          <h1 class="entry-title">{% if page.headline %}{{ page.headline }}{% else %}{{ page.title }}{% endif %}</h1>
26
-        {% endif %}
20
+        <ul class="entry-tags">{% for tag in page.tags %}<li> <a class="p-category" href="{{ site.url }}/tags/#{{ tag }}" title="Pages tagged {{ tag }}">{{ tag }}</a></li>{% endfor %}</ul>
21
+        <h1 class="entry-title p-name"><a class="u-url" href="{{ page.url }}">{% if page.headline %}{{ page.headline }}{% else %}{{ page.title }}{% endif %} <span class="link-arrow fa fa-link"></span></a></h1>
27 22
       </header>
28 23
       <footer class="entry-meta">
29 24
         {% if page.author %}
30 25
           {% assign author = site.data.authors[page.author] %}{% else %}{% assign author = site.owner %}
31 26
         {% endif %}
32 27
         {% if author.avatar contains 'http' %}
33
-          <img src="{{ author.avatar }}" class="bio-photo" alt="{{ author.name }} bio photo"></a>
34
-        {% elsif author.avatar %}
35
-          <img src="{{ site.url }}/images/{{ author.avatar }}" class="bio-photo" alt="{{ author.name }} bio photo"></a>
28
+        <img src="{{ author.avatar }}" class="bio-photo" alt="{{ author.name }} bio photo">
29
+        {% else %}
30
+        <img src="{{ site.url }}/images/{{ author.avatar }}" class="bio-photo" alt="{{ author.name }} bio photo">
31
+        {% endif %}
32
+        <span>By <a class="h-card p-author" href="http://chromic.org">{{ author.name }}</a></span>
33
+        <span class="entry-date date published dt-published"><time datetime="{{ page.date | date_to_xmlschema }}"><i class="fa fa-calendar-o"></i> {{ page.date | date: "%B %d, %Y" }}</time></span>
34
+        {% if page.modified %}<span class="entry-date date modified dt-updated"><time datetime="{{ page.modified }}"><i class="fa fa-pencil"></i> {{ page.modified | date: "%B %d, %Y" }}</time></span>{% endif %}
35
+        <span>
36
+          <a class="interactions-link" href="#interactions">
37
+            <ul style="float: none;" class="interaction-icons" data-webmention-count data-url="{{ site.url }}{{ page.url }}">
38
+              <li class="interaction-icon comments">
39
+                <span class="num">0</span>
40
+                <span class="fa fa-comments"></span>
41
+                <span class="sr-only">mentions</span>
42
+              </li>
43
+              <li class="interaction-icon likes">
44
+                <span class="num">0</span>
45
+                <span class="fa fa-heart"></span>
46
+                <span class="sr-only">likes</span>
47
+              </li>
48
+              <li class="interaction-icon repeats">
49
+                <span class="num">0</span>
50
+                <span class="fa fa-recycle"></span>
51
+                <span class="sr-only">repeats</span>
52
+              </li>
53
+            </ul>
54
+          </a>
55
+        </span>
56
+        {% if page.share %}
57
+        <span class="gs-share"><button class="js-gs-share">Share on GNU social</button></span>
36 58
         {% endif %}
37
-        <span class="author vcard">By <span class="fn">{{ author.name }}</span></span>
38
-        <span class="entry-date date published"><time datetime="{{ page.date | date_to_xmlschema }}"><i class="fa fa-calendar-o"></i> {{ page.date | date: "%B %d, %Y" }}</time></span>
39
-        {% if page.modified %}<span class="entry-date date modified"><time datetime="{{ page.modified }}"><i class="fa fa-pencil"></i> {{ page.modified | date: "%B %d, %Y" }}</time></span>{% endif %}
40
-        {% if (site.owner.disqus-shortname and page.comments) or site.comments %}<span class="entry-comments"><i class="fa fa-comment-o"></i> <a href="#disqus_thread">Comment</a></span>{% endif %}
41
-        {% if page.share %}{% include social-share.html %}{% endif %}
42
-        {% if page.ads == true %}{% include ad-sidebar.html %}<!-- /.google-ads -->{% endif %}
43 59
       </footer>
44
-      <div class="entry-content">
60
+
61
+      <div class="entry-content e-content">
45 62
         {{ content }}
46
-        {% if (site.owner.disqus-shortname and page.comments) or site.comments %}
47
-          <div id="disqus_thread"></div><!-- /#disqus_thread -->
48
-          {% include disqus-comments.html %}
49
-        {% endif %}
50
-      </div><!-- /.entry-content -->
51
-    </div><!-- /.entry-wrapper -->
52
-    <nav class="pagination" role="navigation">
53
-      {% if page.previous %}
54
-        <a href="{{ site.url }}{{ page.previous.url }}" class="btn" title="{{ page.previous.title }}">Previous</a>
55
-      {% endif %}
56
-      {% if page.next %}
57
-        <a href="{{ site.url }}{{ page.next.url }}" class="btn" title="{{ page.next.title }}">Next</a>
58
-      {% endif %}
59
-    </nav><!-- /.pagination -->
63
+
64
+        <div class="interactions-section">
65
+          {% include interactions.html %}
66
+
67
+          <label>Webmention/pingback URL:
68
+            <input readonly value="{{ site.url }}{{ page.url }}" style="cursor: text;">
69
+          </label>
70
+
71
+          <h4>Comment form:</h4>
72
+          <div id="isso-thread" class="isso-thread"></div>
73
+          <!-- Get the form, but no comments -->
74
+          <script data-isso-max-comments-top="0" data-isso="//comments.chromic.org/chromic/" src="//comments.chromic.org/chromic/js/embed.min.js"></script>
75
+        </div>
76
+      </div>
77
+    </div>
60 78
   </article>
61
-</div><!-- /#main -->
79
+</div>
62 80
 
63 81
 <div class="footer-wrapper">
64 82
   <footer role="contentinfo" class="entry-wrapper">
@@ -70,3 +88,4 @@
70 88
 
71 89
 </body>
72 90
 </html>
91
+

+ 45
- 0
_layouts/update.html View File

@@ -0,0 +1,45 @@
1
+<!doctype html>
2
+<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
3
+<!--[if (IE 7)&!(IEMobile)]><html class="no-js lt-ie9 lt-ie8" lang="en"><![endif]-->
4
+<!--[if (IE 8)&!(IEMobile)]><html class="no-js lt-ie9" lang="en"><![endif]-->
5
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en"><!--<![endif]-->
6
+<head>
7
+{% include head.html %}
8
+</head>
9
+
10
+<body id="page">
11
+
12
+{% include navigation.html %}
13
+
14
+<div id="main" role="main">
15
+  <article class="entry h-entry">
16
+    <div class="entry-wrapper">
17
+      <div class="entry-content e-content">
18
+        {{ content }}
19
+
20
+        <div class="interactions-section">
21
+          {% include interactions.html %}
22
+
23
+          <label>Webmention/pingback URL:
24
+            <input readonly value="{{ site.url }}/update/<?php echo $id ?>" style="cursor: text;">
25
+          </label>
26
+
27
+          <h4>Comment form:</h4>
28
+          <div id="isso-thread" class="isso-thread"></div>
29
+          <script data-isso-max-comments-top="0" data-isso="//comments.chromic.org/chromic/" src="//comments.chromic.org/chromic/js/embed.min.js"></script>
30
+        </div>
31
+      </div><!-- /.entry-content -->
32
+    </div><!-- /.entry-wrapper -->
33
+  </article>
34
+</div><!-- /#main -->
35
+
36
+<div class="footer-wrapper">
37
+  <footer role="contentinfo" class="entry-wrapper">
38
+    {% include footer.html %}
39
+  </footer>
40
+</div><!-- /.footer-wrapper -->
41
+
42
+{% include scripts.html %}
43
+
44
+</body>
45
+</html>

+ 0
- 96
_posts/articles/2011-03-10-sample-post.md View File

@@ -1,96 +0,0 @@
1
----
2
-layout: post
3
-title: Sample Post
4
-excerpt: "Just about everything you'll need to style in the theme: headings, paragraphs, blockquotes, tables, code blocks, and more."
5
-modified: 2013-05-31
6
-categories: articles
7
-tags: [sample-post]
8
-image:
9
-  feature: so-simple-sample-image-1.jpg
10
-  credit: WeGraphics
11
-  creditlink: http://wegraphics.net/downloads/free-ultimate-blurred-background-pack/
12
-comments: true
13
-share: true
14
----
15
-
16
-Below is just about everything you'll need to style in the theme. Check the source code to see the many embedded elements within paragraphs.
17
-
18
-# Heading 1
19
-
20
-## Heading 2
21
-
22
-### Heading 3
23
-
24
-#### Heading 4
25
-
26
-##### Heading 5
27
-
28
-###### Heading 6
29
-
30
-### Body text
31
-
32
-Lorem ipsum dolor sit amet, test link adipiscing elit. **This is strong**. Nullam dignissim convallis est. Quisque aliquam.
33
-
34
-![Smithsonian Image]({{ site.url }}/images/3953273590_704e3899d5_m.jpg)
35
-{: .pull-right}
36
-
37
-*This is emphasized*. Donec faucibus. Nunc iaculis suscipit dui. 53 = 125. Water is H<sub>2</sub>O. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. The New York Times <cite>(That’s a citation)</cite>. <u>Underline</u>. Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus.
38
-
39
-HTML and <abbr title="cascading stylesheets">CSS<abbr> are our tools. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus.
40
-
41
-### Blockquotes
42
-
43
-> Lorem ipsum dolor sit amet, test link adipiscing elit. Nullam dignissim convallis est. Quisque aliquam.
44
-
45
-## List Types
46
-
47
-### Ordered Lists
48
-
49
-1. Item one
50
-   1. sub item one
51
-   2. sub item two
52
-   3. sub item three
53
-2. Item two
54
-
55
-### Unordered Lists
56
-
57
-* Item one
58
-* Item two
59
-* Item three
60
-
61
-## Tables
62
-
63
-| Header1 | Header2 | Header3 |
64
-|:--------|:-------:|--------:|
65
-| cell1   | cell2   | cell3   |
66
-| cell4   | cell5   | cell6   |
67
-|----
68
-| cell1   | cell2   | cell3   |
69
-| cell4   | cell5   | cell6   |
70
-|=====
71
-| Foot1   | Foot2   | Foot3   |
72
-{: .table}
73
-
74
-## Code Snippets
75
-
76
-Syntax highlighting via Pygments and Rouge
77
-
78
-{% highlight css %}
79
-#container {
80
-  float: left;
81
-  margin: 0 -240px 0 0;
82
-  width: 100%;
83
-}
84
-{% endhighlight %}
85
-
86
-Non Pygments/Rouge code example
87
-
88
-    <div id="awesome">
89
-        <p>This is great isn't it?</p>
90
-    </div>
91
-
92
-## Buttons
93
-
94
-Make any link standout more when applying the `.btn` class.
95
-
96
-<div markdown="0"><a href="http://mademistakes.com" class="btn">This is a button</a></div>

+ 0
- 50
_posts/articles/2012-05-22-readability-post.md View File

@@ -1,50 +0,0 @@
1
----
2
-layout: post
3
-title: "Testing Readability with a Bunch of Text"
4
-excerpt: "A ton of text to test readability."
5
-categories: articles
6
-tags: [sample-post, readability, test, intro]
7
-image:
8
-  feature: so-simple-sample-image-2.jpg
9
-  credit: WeGraphics
10
-  creditlink: http://wegraphics.net/downloads/free-ultimate-blurred-background-pack/
11
-comments: true
12
-share: true
13
----
14
-
15
-Portland in shoreditch Vice, labore typewriter pariatur hoodie fap sartorial Austin. Pinterest literally occupy Schlitz forage. Odio ad blue bottle vinyl, 90's narwhal commodo bitters pour-over nostrud. Ugh est hashtag in, fingerstache adipisicing laboris esse Pinterest shabby chic Portland. Shoreditch bicycle rights anim, flexitarian laboris put a bird on it vinyl cupidatat narwhal. Hashtag artisan skateboard, flannel Bushwick nesciunt salvia aute fixie do plaid post-ironic dolor McSweeney's. Cliche pour-over chambray nulla four loko skateboard sapiente hashtag.
16
-
17
-Vero laborum commodo occupy. Semiotics voluptate mumblecore pug. Cosby sweater ullamco quinoa ennui assumenda, sapiente occupy delectus lo-fi. Ea fashion axe Marfa cillum aliquip. Retro Bushwick keytar cliche. Before they sold out sustainable gastropub Marfa readymade, ethical Williamsburg skateboard brunch qui consectetur gentrify semiotics. Mustache cillum irony, fingerstache magna pour-over keffiyeh tousled selfies.
18
-
19
-## Cupidatat 90's lo-fi authentic try-hard
20
-
21
-In pug Portland incididunt mlkshk put a bird on it vinyl quinoa. Terry Richardson shabby chic +1, scenester Tonx excepteur tempor fugiat voluptate fingerstache aliquip nisi next level. Farm-to-table hashtag Truffaut, Odd Future ex meggings gentrify single-origin coffee try-hard 90's. 
22
-
23
-* Sartorial hoodie 
24
-* Labore viral forage
25
-* Tote bag selvage 
26
-* DIY exercitation et id ugh tumblr church-key
27
-
28
-Incididunt umami sriracha, ethical fugiat VHS ex assumenda yr irure direct trade. Marfa Truffaut bicycle rights, kitsch placeat Etsy kogi asymmetrical. Beard locavore flexitarian, kitsch photo booth hoodie plaid ethical readymade leggings yr.
29
-
30
-Aesthetic odio dolore, meggings disrupt qui readymade stumptown brunch Terry Richardson pour-over gluten-free. Banksy american apparel in selfies, biodiesel flexitarian organic meh wolf quinoa gentrify banjo kogi. Readymade tofu ex, scenester dolor umami fingerstache occaecat fashion axe Carles jean shorts minim. Keffiyeh fashion axe nisi Godard mlkshk dolore. Lomo you probably haven't heard of them eu non, Odd Future Truffaut pug keytar meggings McSweeney's Pinterest cred. Etsy literally aute esse, eu bicycle rights qui meggings fanny pack. Gentrify leggings pug flannel duis.
31
-
32
-## Forage occaecat cardigan qui
33
-
34
-Fashion axe hella gastropub lo-fi kogi 90's aliquip +1 veniam delectus tousled. Cred sriracha locavore gastropub kale chips, iPhone mollit sartorial. Anim dolore 8-bit, pork belly dolor photo booth aute flannel small batch. Dolor disrupt ennui, tattooed whatever salvia Banksy sartorial roof party selfies raw denim sint meh pour-over. Ennui eu cardigan sint, gentrify iPhone cornhole. 
35
-
36
-> Whatever velit occaecat quis deserunt gastropub, leggings elit tousled roof party 3 wolf moon kogi pug blue bottle ea. Fashion axe shabby chic Austin quinoa pickled laborum bitters next level, disrupt deep v accusamus non fingerstache.
37
-
38
-Tote bag asymmetrical elit sunt. Occaecat authentic Marfa, hella McSweeney's next level irure veniam master cleanse. Sed hoodie letterpress artisan wolf leggings, 3 wolf moon commodo ullamco. Anim occupy ea labore Terry Richardson. Tofu ex master cleanse in whatever pitchfork banh mi, occupy fugiat fanny pack Austin authentic. Magna fugiat 3 wolf moon, labore McSweeney's sustainable vero consectetur. Gluten-free disrupt enim, aesthetic fugiat jean shorts trust fund keffiyeh magna try-hard.
39
-
40
-## Hoodie Duis
41
-
42
-Actually salvia consectetur, hoodie duis lomo YOLO sunt sriracha. Aute pop-up brunch farm-to-table odio, salvia irure occaecat. Sriracha small batch literally skateboard. Echo Park nihil hoodie, aliquip forage artisan laboris. Trust fund reprehenderit nulla locavore. Stumptown raw denim kitsch, keffiyeh nulla twee dreamcatcher fanny pack ullamco 90's pop-up est culpa farm-to-table. Selfies 8-bit do pug odio.
43
-
44
-### Thundercats Ho!
45
-
46
-Fingerstache thundercats Williamsburg, deep v scenester Banksy ennui vinyl selfies mollit biodiesel duis odio pop-up. Banksy 3 wolf moon try-hard, sapiente enim stumptown deep v ad letterpress. Squid beard brunch, exercitation raw denim yr sint direct trade. Raw denim narwhal id, flannel DIY McSweeney's seitan. Letterpress artisan bespoke accusamus, meggings laboris consequat Truffaut qui in seitan. Sustainable cornhole Schlitz, twee Cosby sweater banh mi deep v forage letterpress flannel whatever keffiyeh. Sartorial cred irure, semiotics ethical sed blue bottle nihil letterpress.
47
-
48
-Occupy et selvage squid, pug brunch blog nesciunt hashtag mumblecore skateboard yr kogi. Ugh small batch swag four loko. Fap post-ironic qui tote bag farm-to-table american apparel scenester keffiyeh vero, swag non pour-over gentrify authentic pitchfork. Schlitz scenester lo-fi voluptate, tote bag irony bicycle rights pariatur vero Vice freegan wayfarers exercitation nisi shoreditch. Chambray tofu vero sed. Street art swag literally leggings, Cosby sweater mixtape PBR lomo Banksy non in pitchfork ennui McSweeney's selfies. Odd Future Banksy non authentic.
49
-
50
-Aliquip enim artisan dolor post-ironic. Pug tote bag Marfa, deserunt pour-over Portland wolf eu odio intelligentsia american apparel ugh ea. Sunt viral et, 3 wolf moon gastropub pug id. Id fashion axe est typewriter, mlkshk Portland art party aute brunch. Sint pork belly Cosby sweater, deep v mumblecore kitsch american apparel. Try-hard direct trade tumblr sint skateboard. Adipisicing bitters excepteur biodiesel, pickled gastropub aute veniam.

+ 0
- 67
_posts/articles/2013-05-22-sample-post-images.md View File

@@ -1,67 +0,0 @@
1
----
2
-layout: post
3
-title: "A Post with Images"
4
-excerpt: "Examples and code for displaying images in posts."
5
-categories: articles
6
-tags: [sample-post, images, test]
7
-comments: true
8
-share: true
9
----
10
-
11
-Here are some examples of what a post with images might look like. If you want to display two or three images next to each other responsively use `figure` with the appropriate `class`. Each instance of `figure` is auto-numbered and displayed in the caption.
12
-
13
-## Figures (for images or video)
14
-
15
-### One Up
16
-
17
-<figure>
18
-	<a href="http://farm9.staticflickr.com/8426/7758832526_cc8f681e48_b.jpg"><img src="http://farm9.staticflickr.com/8426/7758832526_cc8f681e48_c.jpg" alt="image"></a>
19
-	<figcaption><a href="http://www.flickr.com/photos/80901381@N04/7758832526/" title="Morning Fog Emerging From Trees by A Guy Taking Pictures, on Flickr">Morning Fog Emerging From Trees by A Guy Taking Pictures, on Flickr</a>.</figcaption>
20
-</figure>
21
-
22
-### Two Up
23
-
24
-Apply the `half` class like so to display two images side by side that share the same caption.
25
-
26
-{% highlight html %}
27
-<figure class="half">
28
-	<img src="/images/image-filename-1.jpg" alt="image">
29
-	<img src="/images/image-filename-2.jpg" alt="image">
30
-	<figcaption>Caption describing these two images.</figcaption>
31
-</figure>
32
-{% endhighlight %}
33
-
34
-And you'll get something that looks like this:
35
-
36
-<figure class="half">
37
-	<a href="http://placehold.it/1200x600.jpg"><img src="http://placehold.it/600x300.jpg" alt="image"></a>
38
-	<a href="http://placehold.it/1200x600.jpg"><img src="http://placehold.it/600x300.jpg" alt="image"></a>
39
-	<img src="http://placehold.it/600x300.jpg" alt="image">
40
-	<img src="http://placehold.it/600x300.jpg" alt="image">
41
-	<figcaption>Two images.</figcaption>
42
-</figure>
43
-
44
-### Three Up
45
-
46
-Apply the `third` class like so to display three images side by side that share the same caption.
47
-
48
-{% highlight html %}
49
-<figure class="third">
50
-	<a href="http://placehold.it/1200x600.jpg"><img src="http://placehold.it/600x300.jpg" alt="image"></a>
51
-	<a href="http://placehold.it/1200x600.jpg"><img src="http://placehold.it/600x300.jpg" alt="image"></a>
52
-	<a href="http://placehold.it/1200x600.jpg"><img src="http://placehold.it/600x300.jpg" alt="image"></a>
53
-	<figcaption>Caption describing these three images.</figcaption>
54
-</figure>
55
-{% endhighlight %}
56
-
57
-And you'll get something that looks like this:
58
-
59
-<figure class="third">
60
-	<a href="http://placehold.it/1200x600.jpg"><img src="http://placehold.it/600x300.jpg" alt="image"></a>
61
-	<a href="http://placehold.it/1200x600.jpg"><img src="http://placehold.it/600x300.jpg" alt="image"></a>
62
-	<a href="http://placehold.it/1200x600.jpg"><img src="http://placehold.it/600x300.jpg" alt="image"></a>
63
-	<a href="http://placehold.it/1200x600.jpg"><img src="http://placehold.it/600x300.jpg" alt="image"></a>
64
-	<a href="http://placehold.it/1200x600.jpg"><img src="http://placehold.it/600x300.jpg" alt="image"></a>
65
-	<a href="http://placehold.it/1200x600.jpg"><img src="http://placehold.it/600x300.jpg" alt="image"></a>
66
-	<figcaption>Three images.</figcaption>
67
-</figure>

+ 0
- 51
_posts/articles/2013-05-23-readability-feature-post.md View File

@@ -1,51 +0,0 @@
1
----
2
-layout: post
3
-title: "Post with Large Feature Image and Text"
4
-excerpt: "Custom written post descriptions are the way to go... if you're not lazy."
5
-categories: articles
6
-tags: [sample-post, readability]
7
-modified: 2013-06-30
8
-image:
9
-  feature: so-simple-sample-image-3.jpg
10
-  credit: WeGraphics
11
-  creditlink: http://wegraphics.net/downloads/free-ultimate-blurred-background-pack/
12
-comments: true
13
-share: true
14
----
15
-
16
-This is a sample post with a large feature image up top and tons of text. Odio ad blue bottle vinyl, 90's narwhal commodo bitters pour-over nostrud. Ugh est hashtag in, fingerstache adipisicing laboris esse Pinterest shabby chic Portland. Shoreditch bicycle rights anim, flexitarian laboris put a bird on it vinyl cupidatat narwhal. Hashtag artisan skateboard, flannel Bushwick nesciunt salvia aute fixie do plaid post-ironic dolor McSweeney's. Cliche pour-over chambray nulla four loko skateboard sapiente hashtag.
17
-
18
-Vero laborum commodo occupy. Semiotics voluptate mumblecore pug. Cosby sweater ullamco quinoa ennui assumenda, sapiente occupy delectus lo-fi. Ea fashion axe Marfa cillum aliquip. Retro Bushwick keytar cliche. Before they sold out sustainable gastropub Marfa readymade, ethical Williamsburg skateboard brunch qui consectetur gentrify semiotics. Mustache cillum irony, fingerstache magna pour-over keffiyeh tousled selfies.
19
-
20
-## Cupidatat 90's lo-fi authentic try-hard
21
-
22
-In pug Portland incididunt mlkshk put a bird on it vinyl quinoa. Terry Richardson shabby chic +1, scenester Tonx excepteur tempor fugiat voluptate fingerstache aliquip nisi next level. Farm-to-table hashtag Truffaut, Odd Future ex meggings gentrify single-origin coffee try-hard 90's. 
23
-
24
-* Sartorial hoodie 
25
-* Labore viral forage
26
-* Tote bag selvage 
27
-* DIY exercitation et id ugh tumblr church-key
28
-
29
-Incididunt umami sriracha, ethical fugiat VHS ex assumenda yr irure direct trade. Marfa Truffaut bicycle rights, kitsch placeat Etsy kogi asymmetrical. Beard locavore flexitarian, kitsch photo booth hoodie plaid ethical readymade leggings yr.
30
-
31
-Aesthetic odio dolore, meggings disrupt qui readymade stumptown brunch Terry Richardson pour-over gluten-free. Banksy american apparel in selfies, biodiesel flexitarian organic meh wolf quinoa gentrify banjo kogi. Readymade tofu ex, scenester dolor umami fingerstache occaecat fashion axe Carles jean shorts minim. Keffiyeh fashion axe nisi Godard mlkshk dolore. Lomo you probably haven't heard of them eu non, Odd Future Truffaut pug keytar meggings McSweeney's Pinterest cred. Etsy literally aute esse, eu bicycle rights qui meggings fanny pack. Gentrify leggings pug flannel duis.
32
-
33
-## Forage occaecat cardigan qui
34
-
35
-Fashion axe hella gastropub lo-fi kogi 90's aliquip +1 veniam delectus tousled. Cred sriracha locavore gastropub kale chips, iPhone mollit sartorial. Anim dolore 8-bit, pork belly dolor photo booth aute flannel small batch. Dolor disrupt ennui, tattooed whatever salvia Banksy sartorial roof party selfies raw denim sint meh pour-over. Ennui eu cardigan sint, gentrify iPhone cornhole. 
36
-
37
-> Whatever velit occaecat quis deserunt gastropub, leggings elit tousled roof party 3 wolf moon kogi pug blue bottle ea. Fashion axe shabby chic Austin quinoa pickled laborum bitters next level, disrupt deep v accusamus non fingerstache.
38
-
39
-Tote bag asymmetrical elit sunt. Occaecat authentic Marfa, hella McSweeney's next level irure veniam master cleanse. Sed hoodie letterpress artisan wolf leggings, 3 wolf moon commodo ullamco. Anim occupy ea labore Terry Richardson. Tofu ex master cleanse in whatever pitchfork banh mi, occupy fugiat fanny pack Austin authentic. Magna fugiat 3 wolf moon, labore McSweeney's sustainable vero consectetur. Gluten-free disrupt enim, aesthetic fugiat jean shorts trust fund keffiyeh magna try-hard.
40
-
41
-## Hoodie Duis
42
-
43
-Actually salvia consectetur, hoodie duis lomo YOLO sunt sriracha. Aute pop-up brunch farm-to-table odio, salvia irure occaecat. Sriracha small batch literally skateboard. Echo Park nihil hoodie, aliquip forage artisan laboris. Trust fund reprehenderit nulla locavore. Stumptown raw denim kitsch, keffiyeh nulla twee dreamcatcher fanny pack ullamco 90's pop-up est culpa farm-to-table. Selfies 8-bit do pug odio.
44
-
45
-### Thundercats Ho!
46
-
47
-Fingerstache thundercats Williamsburg, deep v scenester Banksy ennui vinyl selfies mollit biodiesel duis odio pop-up. Banksy 3 wolf moon try-hard, sapiente enim stumptown deep v ad letterpress. Squid beard brunch, exercitation raw denim yr sint direct trade. Raw denim narwhal id, flannel DIY McSweeney's seitan. Letterpress artisan bespoke accusamus, meggings laboris consequat Truffaut qui in seitan. Sustainable cornhole Schlitz, twee Cosby sweater banh mi deep v forage letterpress flannel whatever keffiyeh. Sartorial cred irure, semiotics ethical sed blue bottle nihil letterpress.
48
-
49
-Occupy et selvage squid, pug brunch blog nesciunt hashtag mumblecore skateboard yr kogi. Ugh small batch swag four loko. Fap post-ironic qui tote bag farm-to-table american apparel scenester keffiyeh vero, swag non pour-over gentrify authentic pitchfork. Schlitz scenester lo-fi voluptate, tote bag irony bicycle rights pariatur vero Vice freegan wayfarers exercitation nisi shoreditch. Chambray tofu vero sed. Street art swag literally leggings, Cosby sweater mixtape PBR lomo Banksy non in pitchfork ennui McSweeney's selfies. Odd Future Banksy non authentic.
50
-
51
-Aliquip enim artisan dolor post-ironic. Pug tote bag Marfa, deserunt pour-over Portland wolf eu odio intelligentsia american apparel ugh ea. Sunt viral et, 3 wolf moon gastropub pug id. Id fashion axe est typewriter, mlkshk Portland art party aute brunch. Sint pork belly Cosby sweater, deep v mumblecore kitsch american apparel. Try-hard direct trade tumblr sint skateboard. Adipisicing bitters excepteur biodiesel, pickled gastropub aute veniam.

+ 0
- 23
_posts/articles/2013-06-25-video-post.md View File

@@ -1,23 +0,0 @@
1
----
2
-layout: post
3
-title: "A Post with a Video"
4
-excerpt: "Custom written post descriptions are the way to go... if you're not lazy."
5
-categories: articles
6
-tags: [sample-post, video]
7
-comments: true
8
-share: true
9
----
10
-
11
-<iframe width="560" height="315" src="//www.youtube.com/embed/pdSp4Y4GOQs" frameborder="0"> </iframe>
12
-
13
-Video embeds are responsive and scale with the width of the main content block with the help of [FitVids](http://fitvidsjs.com/).
14
-
15
-Not sure if this only effects Kramdown or if it's an issue with Markdown in general. But adding YouTube video embeds causes errors when building your Jekyll site. To fix add a space between the `<iframe>` tags and remove `allowfullscreen`. Example below:
16
-
17
-{% highlight html %}
18
-<iframe width="560" height="315" src="http://www.youtube.com/embed/PWf4WUoMXwg" frameborder="0"> </iframe>
19
-{% endhighlight %}
20
-
21
-And here's a Vimeo embed for testing purposes.
22
-
23
-<iframe src="//player.vimeo.com/video/98146708?title=0&amp;byline=0" width="500" height="281" frameborder="0"> </iframe>

+ 0
- 10
_posts/articles/2013-08-12-sample-link-post.md View File

@@ -1,10 +0,0 @@
1
----
2
-layout: post
3
-title: "Sample Link Post"
4
-excerpt: "Example and code for using link posts."
5
-categories: articles
6
-tags: [sample-post, link-post]
7
-link: http://mademistakes.com  
8
----
9
-
10
-So Simple Theme now supports **link posts**, made famous by John Gruber. To activate just add `link: http://url-you-want-linked` to the post's YAML front matter and you're done.

+ 0
- 120
_posts/articles/2013-08-16-code-highlighting-post.md View File

@@ -1,120 +0,0 @@
1
----
2
-layout: post
3
-title: Syntax Highlighting Post
4
-excerpt: "Demo post displaying the various ways of highlighting code in Markdown."
5
-categories: articles
6
-tags: [sample-post, code, highlighting]
7
-image:
8
-  feature: so-simple-sample-image-5.jpg
9
-  credit: WeGraphics
10
-  creditlink: http://wegraphics.net/downloads/free-ultimate-blurred-background-pack/
11
-comments: true
12
-share: true
13
----
14
-
15
-Syntax highlighting is a feature that displays source code, in different colors and fonts according to the category of terms. This feature facilitates writing in a structured language such as a programming language or a markup language as both structures and syntax errors are visually distinct. Highlighting does not affect the meaning of the text itself; it is intended only for human readers.[^1]
16
-
17
-[^1]: <http://en.wikipedia.org/wiki/Syntax_highlighting>
18
-
19
-### Highlighted Code Blocks
20
-
21
-To modify styling and highlight colors edit `/_sass/_syntax.scss`.
22
-
23
-{% highlight css %}
24
-#container {
25
-  float: left;
26
-  margin: 0 -240px 0 0;
27
-  width: 100%;
28
-}
29
-{% endhighlight %}
30
-
31
-{% highlight html %}
32
-{% raw %}
33
-<nav class="pagination" role="navigation">
34
-    {% if page.previous %}
35
-        <a href="{{ site.url }}{{ page.previous.url }}" class="btn" title="{{ page.previous.title }}">Previous article</a>
36
-    {% endif %}
37
-    {% if page.next %}
38
-        <a href="{{ site.url }}{{ page.next.url }}" class="btn" title="{{ page.next.title }}">Next article</a>
39
-    {% endif %}
40
-</nav><!-- /.pagination -->
41
-{% endraw %}
42
-{% endhighlight %}
43
-
44
-{% highlight ruby %}
45
-module Jekyll
46
-  class TagIndex < Page
47
-    def initialize(site, base, dir, tag)
48
-      @site = site
49
-      @base = base
50
-      @dir = dir
51
-      @name = 'index.html'
52
-      self.process(@name)
53
-      self.read_yaml(File.join(base, '_layouts'), 'tag_index.html')
54
-      self.data['tag'] = tag
55
-      tag_title_prefix = site.config['tag_title_prefix'] || 'Tagged: '
56
-      tag_title_suffix = site.config['tag_title_suffix'] || '&#8211;'
57
-      self.data['title'] = "#{tag_title_prefix}#{tag}"
58
-      self.data['description'] = "An archive of posts tagged #{tag}."
59
-    end
60
-  end
61
-end
62
-{% endhighlight %}
63
-
64
-
65
-### Standard Code Block
66
-
67
-    {% raw %}
68
-    <nav class="pagination" role="navigation">
69
-        {% if page.previous %}
70
-            <a href="{{ site.url }}{{ page.previous.url }}" class="btn" title="{{ page.previous.title }}">Previous article</a>
71
-        {% endif %}
72
-        {% if page.next %}
73
-            <a href="{{ site.url }}{{ page.next.url }}" class="btn" title="{{ page.next.title }}">Next article</a>
74
-        {% endif %}
75
-    </nav><!-- /.pagination -->
76
-    {% endraw %}
77
-
78
-
79
-### Fenced Code Blocks
80
-
81
-To modify styling and highlight colors edit `/_sass/_coderay.scss`. Line numbers and a few other things can be modified in `_config.yml`. Consult [Jekyll's documentation](http://jekyllrb.com/docs/configuration/) for more information.
82
-
83
-~~~ css
84
-#container {
85
-    float: left;
86
-    margin: 0 -240px 0 0;
87
-    width: 100%;
88
-}
89
-~~~
90
-
91
-~~~ html
92
-{% raw %}<nav class="pagination" role="navigation">
93
-    {% if page.previous %}
94
-        <a href="{{ site.url }}{{ page.previous.url }}" class="btn" title="{{ page.previous.title }}">Previous article</a>
95
-    {% endif %}
96
-    {% if page.next %}
97
-        <a href="{{ site.url }}{{ page.next.url }}" class="btn" title="{{ page.next.title }}">Next article</a>
98
-    {% endif %}
99
-</nav><!-- /.pagination -->{% endraw %}
100
-~~~
101
-
102
-~~~ ruby
103
-module Jekyll
104
-  class TagIndex < Page
105
-    def initialize(site, base, dir, tag)
106
-      @site = site
107
-      @base = base
108
-      @dir = dir
109
-      @name = 'index.html'
110
-      self.process(@name)
111
-      self.read_yaml(File.join(base, '_layouts'), 'tag_index.html')
112
-      self.data['tag'] = tag
113
-      tag_title_prefix = site.config['tag_title_prefix'] || 'Tagged: '
114
-      tag_title_suffix = site.config['tag_title_suffix'] || '&#8211;'
115
-      self.data['title'] = "#{tag_title_prefix}#{tag}"
116
-      self.data['description'] = "An archive of posts tagged #{tag}."
117
-    end
118
-  end
119
-end
120
-~~~

+ 0
- 49
_posts/articles/2014-06-19-author-override.md View File

@@ -1,49 +0,0 @@
1
----
2
-layout: post
3
-title: "Override Author Byline Test Post"
4
-excerpt: "An article to test overriding the default site author."
5
-categories: articles
6
-tags: [sample-post, readability, test]
7
-author: billy_rick
8
-comments: true
9
-share: true
10
-image:
11
-  feature: so-simple-sample-image-7.jpg
12
-  credit: WeGraphics
13
-  creditlink: http://wegraphics.net/downloads/free-ultimate-blurred-background-pack/
14
----
15
-
16
-For those of you who may have content written by multiple authors on your site you can now assign different authors to each post if desired.
17
-
18
-Previously the theme used a global author for the entire site and those attributes would be used in all bylines, social networking links, Twitter Card attribution, and Google Authorship. These `owner` variables were defined in `config.yml`
19
-
20
-Start by modifying or creating a new `authors.yml` file in the `_data` folder and add your authors using the following format.
21
-
22
-{% highlight yaml %}
23
-# Authors
24
-
25
-billy_rick:
26
-  name: Billy Rick
27
-  web: http://thewhip.com
28
-  email: billy@rick.com
29
-  bio: "What do you want, jewels? I am a very extravagant man."
30
-  avatar: bio-photo-2.jpg
31
-  twitter: extravagantman
32
-  google:
33
-    plus: BillyRick
34
-
35
-cornelius_fiddlebone:
36
-  name: Cornelius Fiddlebone
37
-  email: cornelius@thewhip.com
38
-  bio: "I ordered what?"
39
-  avatar: bio-photo.jpg
40
-  twitter: rhymeswithsackit
41
-  google:
42
-    plus: CorneliusFiddlebone
43
-{% endhighlight %}
44
-
45
-To assign Billy Rick as an author for our post. You'd add the following YAML front matter to a post:
46
-
47
-{% highlight yaml %}
48
-author: billy_rick
49
-{% endhighlight %}

+ 120
- 0
_posts/blog/2012-01-30-project-autonomous.md View File

@@ -0,0 +1,120 @@
1
+---
2
+title: Project Autonomous
3
+description: "List of self-hosted software I'm using"
4
+modified: 2015-12-12
5
+categories: blog
6
+tags: [sysadmin, foss, floss, autonomous]
7
+image:
8
+  feature: bird-sky.jpg
9
+  credit: Hash Milhan
10
+  creditlink: http://www.flickr.com/photos/hashir/1061284835/
11
+---
12
+
13
+<div class="p-summary">
14
+In an effort to take control of my online presence/data and to become more autonomous, I started to migrate away from services hosted by 3rd-parties and setup my own instances where possible.
15
+</div>
16
+<!-- more -->
17
+
18
+Here's a quick list of what's working at the moment:
19
+
20
+<dl>
21
+  <dt id="avatars"><a href="http://avatars.chromic.org">avatars.chromic.org</a></dt>
22
+  <dd>
23
+    <a href="http://sourceforge.net/p/surrogator/wiki/Home/">Surrogator</a>: a <a href="https://www.libravatar.org/">Libravatar</a> compatible avatar image server.<br />
24
+    Gravatar replacement
25
+  </dd>
26
+
27
+  <dt id="chromic"><a href="http://chromic.org">chromic.org</a></dt>
28
+  <dd>
29
+    A <a href="http://jekyllrb.com">Jekyll</a>-powered static site/blog<br />
30
+    Publishing platform similar to Blogger.
31
+  </dd>
32
+
33
+  <dt id="code"><a href="http://code.chromic.org">code.chromic.org</a></dt>
34
+  <dd>
35
+    <a href="http://gogs.io/">Gogs</a> instance: self-hosted Git.<br />
36
+    I'm using it for git repository, bug tracking and so on.
37
+  </dd>
38
+
39
+  <dt id="comments"><a href="http://comments.chromic.org">comments.chromic.org</a></dt>
40
+  <dd>
41
+    <a href="http://posativ.org/isso/">Isso</a> instance: a commenting server similar to Disqus<br />
42
+    I use it on <a href="http://media.chromic.org">media.chromic.org</a> (Mediagoblin) and <a href="http://chromic.org">chromic.org</a> (Jekyll)
43
+  </dd>
44
+
45
+  <dt id="fm"><a href="http://fm.chromic.org">fm.chromic.org</a></dt>
46
+  <dd>
47
+    A <a href="http://foocorp.org/projects/fm/">GNU fm</a> instance.<br />
48
+    <a href="http://last.fm">Last.fm</a> alternative.
49
+  </dd>
50
+
51
+  <dt id="id"><a href="http://id.chromic.org">id.chromic.org</a></dt>
52
+  <dd>
53
+    A <a href="http://simpleid.koinic.net/">simpleID</a> instance.<br />
54
+    An <a href="http://openid.net/">OpenID</a> provider. Supports two-factor authentication via <a href="http://www.dynalogin.org/">dynalogin</a>
55
+  </dd>
56
+
57
+  <dt id="im"><a href="http://im.chromic.org">im.chromic.org</a></dt>
58
+  <dd>
59
+    A <a href="http://jappix.org">Jappix</a> instance. I use <a href="http://prosody.im/">Prosody</a> as a Jabber server. (I use the <a href="https://f-droid.org/repository/browse/?fdfilter=conversations&fdid=eu.siacs.conversations">Conversations</a> client on Android)<br />
60
+    Jabber/XMPP client/server chat platform similar to Google Talk.
61
+  </dd>
62
+
63
+  <dt id="later"><a href="http://later.chromic.org">later.chromic.org</a></dt>
64
+  <dd>
65
+    A <a href="https://www.wallabag.org/">wallabag</a> instance.<br />
66
+    Save webpages so you can read them later.<br />
67
+    A pocket / read-it-later / instapaper alternative.
68
+  </dd>
69
+
70
+  <dt id="mail"><a href="https://mail.chromic.org">mail.chromic.org</a></dt>
71
+  <dd>
72
+    Mail server powered by <a href="http://www.postfix.org/">postfix</a>, <a href="http://www.courier-mta.org/">courier</a>, <a href="http://www.opendkim.org/">OpenDKIM</a> and <a href="http://roundcube.net/">roundcube</a>. I use <a href="https://github.com/k9mail/k-9/">K-9 Mail</a> on Android.<br />
73
+    Two-factor authentication via the <a href="https://github.com/alexandregz/twofactor_gauthenticator">twofactor roundcube plugin</a> and <a href="https://f-droid.org/repository/browse/?fdfilter=freeotp&fdid=org.fedorahosted.freeotp">FreeOTP</a> (Android)<br />
74
+    A <a href="http://gmail.com">Gmail</a> replacement.
75
+  </dd>
76
+
77
+  <dt id="media"><a href="http://media.chromic.org">media.chromic.org</a></dt>
78
+  <dd>
79
+    A <a href="http://mediagoblin.org">Mediagoblin</a> instance.<br />
80
+    Media sharing platform similar to Flickr, Picasa, etc.
81
+  </dd>
82
+
83
+  <dt id="oc"><a href="http://oc.chromic.org">oc.chromic.org</a></dt>
84
+  <dd>
85
+    An <a href="http://owncloud.org/">ownCloud</a> instance.<br />
86
+    I use it as a Google Calendar alternative, Contact Manager and Notes synchronization (via <a href="http://cweiske.de/tagebuch/grauphel.htm">grauphel</a>) for now, but it does more than that.<br />
87
+    On Android, I use <a href="http://davdroid.bitfire.at/what-is-davdroid">DAVdroid</a> to sync calendar & contacts, and <a href="https://f-droid.org/repository/browse/?fdfilter=tomdroid&fdid=org.tomdroid">Tomdroid</a> to sync notes.
88
+  </dd>
89
+
90
+  <dt id="push"><a href="http://push.chromic.org">push.chromic.org</a></dt>
91
+  <dd>
92
+    A <a href="https://switchboard.p3k.io/">Switchboard</a> instance (a <a href="https://en.wikipedia.org/wiki/PubSubHubbub">PuSH</a> hub)<br />
93
+    I use it to update <a href="http://chromic.org">my homepage</a> in realtime (see the "<a href="http://chromic.org/blog/lifestream-architecture/">Lifestream Architecture</a>" post for more details on how it works).
94
+  </dd>
95
+
96
+  <dt id="rss"><a href="http://rss.chromic.org">rss.chromic.org</a></dt>
97
+  <dd>
98
+    A <a href="http://freshrss.org/">FreshRSS</a> instance.<br />
99
+    RSS Reader similar to Google Reader.
100
+  </dd>
101
+
102
+  <dt id="search"><a href="http://search.chromic.org">search.chromic.org</a></dt>
103
+  <dd>
104
+    A <a href="https://searx.me/">searx</a> instance.<br />
105
+    A privacy-respecting, hackable metasearch engine.
106
+  </dd>
107
+
108
+  <dt id="sn"><a href="http://sn.chromic.org">sn.chromic.org</a></dt>
109
+  <dd>
110
+    A <a href="http://gnu.io">GNU social</a> instance.<br />
111
+    Social media platform similar to Twitter.
112
+  </dd>
113
+
114
+  <dt id="webmention"><a href="http://webmention.chromic.org">webmention.chromic.org</a></dt>
115
+  <dd>
116
+    A "<a href="https://webmention.io/">webmention.io</a>" instance.<br />
117
+    I use it to handle <a href="http://indiewebcamp.com/webmention">webmentions</a> on this blog.
118
+  </dd>
119
+</dl>
120
+

+ 82
- 0
_posts/blog/2013-12-16-the-web-and-i.md View File

@@ -0,0 +1,82 @@
1
+---
2
+title: The Web and I
3
+description: "My journey with the Web"
4
+modified: 2013-12-16
5
+categories: blog
6
+tags: [sysadmin, foss, floss, autonomous, web]
7
+image:
8
+  feature: electronic-kit.jpg
9
+  credit:  Jeff Keyzer
10
+  creditlink: http://www.flickr.com/photos/mightyohm/2729474646/
11
+---
12
+
13
+<div class="p-summary">
14
+<h2 id="beginning">And so it Begins</h2>
15
+<p>I've always been fascinated by electronics and computers.</p>
16
+<p>I remember spending countless hours messing around with one of those "Electronic Project Kits" similar to the one pictured above.</p>
17
+<p>I followed every instruction in the book, went off-course and tried new things. Sometimes succeeding, sometimes failing.</p>
18
+</div>
19
+<!-- more -->
20
+
21
+<h2 id="html">HTML</h2>
22
+<p>Sometime around 1996 (at approximately 11 years old), my school organized a few different summer camps. One of them was computer related and, of course, piqued my interest.</p>
23
+<p>During the summer, we worked on a few different projects. The one I remember best was creating websites, and if I recall correctly, this was my first introduction to HTML.</p>
24
+<p>My website definitely looked like the classic Geocities site with &lt;blink&gt; and &lt;marquee&gt; tags, tacky .gifs, non-semantic &lt;font&gt; and tiled background patterns, and I was damn proud of it!</p>
25
+<p>Once the camp was over, I went back home, built websites with Notepad and saved them on my C:\ drive since we didn't have home Internet at the time. I didn't have an audience&nbsp;&mdash; and probably still don't <abbr class="emoticon" title="wink">;)</abbr>&nbsp;&mdash; learned by trial and error, but I was learning and had fun doing it, damnit!</p>
26
+
27
+<h2 id="online">Online!</h2>
28
+<p>Once we got the Inter-tubes connected to our house, I started signing up for those "free hosting" sites that would give you a free subdomain.</p>
29
+<p>More often than not, they would either announce that they're shutting down or going "paid only" after a while, forcing me to hop from host to host.</p>
30
+<p>Some of them would display banner ads on your site, which I took as a challenge to come up with some "clever CSS" to hide them&nbsp;&mdash; unknowingly, but undoubtedly against their ToS.</p>
31
+<p>One of the more vivid memories I have is how excited I was when I discovered Server-Side Includes (SHTML / SSI). I was browsing <a href="http://www.yourhtmlsource.com/">HTML Source</a>; one of the first websites I remember using as a reference. Every time I go back on that site I get a big hit of nostalgia <abbr class="emoticon" title="smiley face">:)</abbr></p>
32
+
33
+<h2 id="services">Third-party Services</h2>
34
+<p>LiveJournal, Blogger, Wordpress(.com), Xanga, Flickr, you-name-it&hellip; I signed-up for all of them.</p>
35
+<p>I did so mostly out of curiosity to see how they worked and keep up with the new things appearing on the web.</p>
36
+<p>Most of those allowed you to create custom themes with your own CSS stylesheets and sometimes even include your own JavaScript!</p>
37
+
38
+<h2 id="oss">Open Source</h2>
39
+<p>This isn't directly related to the web, but it plays an important role in what follows.</p>
40
+<p>While I was in university, I was introduced to Linux and the whole concept of Free, Libre Open Source software (FLOSS).</p>
41
+<p>I really liked the idea and soon thereafter all my machines were running some sort of Linux distro.</p>
42
+<p>My experiments with Linux could be a little story on its own, and I might just write about it someday.</p>
43
+
44
+<h2 id="hosting">Legit Hosting</h2>
45
+<p>In 2009, I was 2 years out of university, had a job and a bit of money to invest into a host that was a bit more reliable than those free ones.</p>
46
+<p>After thinking way too much about a hostname, I settled on "chromic" mostly because my online nickname, Chimo, is part of it (genius, I know, right?).</p>
47
+<p>Since this was my first shot at paying for hosting, I looked for something inexpensive and chose <a href="http://dreamhost.com">Dreamhost</a> Shared Hosting.</p>
48
+<p>One of the first things I did was to setup a Wordpress instance on there to move off Wordpress.com, "customize ALL the things!" and dive into the source code.</p>
49
+
50
+<h2 id="identica">Identicaaaargh!</h2>
51
+<p>Because of my obsession with Linux, I started listening to the <a href="http://linuxoutlaws.com">Linux Outlaws</a> podcast.</p>
52
+<p>After hearing them talk about this "identi.ca" thing a couple of times, I decided to check it out. My limited understanding was that it was an open source version of Twitter. It sounded fun &amp; intriguing and was eager to look through the source code as a learning exercise.</p>
53
+<p>This is when I became aware of the "<a href="http://en.wikipedia.org/wiki/Distributed_social_network">federated social network</a>" concept which, coupled with (FL)OSS, I thought sounded like an awesome idea.</p>
54
+<p>It's one of the reasons why I got interested in Identi.ca and StatusNet.</p>
55
+<p>Another reason was because the <a href="http://oracle.skilledtests.com/group/fediverse">!fediverse</a> community seemed like it matched my interests a lot closer than Twitter's or other social networks. Or at least those people were a lot easier to find, and usually more "approachable" in a sense. Conversations also seemed more interesting and "deeper", people more engaged.</p>
56
+<p>Part of it is probably because Identi.ca's user-base was smaller compared to the bigger networks. Maybe the culture <em>actually is</em> different as well. I don't know. Either way, the <a href="http://oracle.skilledtests.com/group/fediverse">!fediverse</a> is where I felt the most "at home".</p>
57
+<p>(Un)fortunately, identi.ca <a href="http://whird.jpope.org/identifailed-me-last-time/">sometimes had problems</a> with its uptime and general reliability, and after a while it started to happen too often for my taste.</p>
58
+<p>This led me to look into hosting my own StatusNet instance, and I believe that while it might have been a minor annoyance at the time, it really was a good thing in the end.</p>
59
+<p>I got lucky and StatusNet was one of Dreamhost's "one-click install" products. So I clicked. And it installed. And it was slow. And Realtime wasn't reliable (or not there at all, I can't quite remember now).</p>
60
+
61
+<h2 id="vps">Graduating to a <abbr title="Virtual Private Server">VPS</abbr></h2>
62
+<p>In 2011, I felt like being on a Shared Host was too limiting (I really wanted Realtime running on my <abbr title="StatusNet">SN</abbr> instance, too!).</p>
63
+<p>After a bit of research, I found that <a href="http://linode.com">Linode</a> had good reviews and within my budget, so I dove right in and got a shiny VPS.</p>
64
+<p>Oh, the freedom! Suddenly I could do anything I wanted! Want to tinker with your Apache configurations and bring everything down? You can! And I did! Multiple times!</p>
65
+<p>Want to run a persistent process and eat all of your RAM? Yep! Been there, done that!</p>
66
+<p>Want to deal with MySQL logs and fine-tuning? No? Well you still have to!</p>
67
+<p>Of course, these are all things I ultimately enjoy doing and really like learning from so I don't mind.</p>
68
+<p>As you can imagine, I then went ahead and setup a StatusNet instance, this time taking care of all the fun things related to Webservers and Databases, etc.</p>
69
+<p>Administering a VPS&nbsp;&mdash; even a small, personal one&nbsp;&mdash; is something I highly recommend to anyone interested in learning sysadmin-type material. The amount of things I learned while tinkering with mine is astounding.</p>
70
+
71
+<h2 id="today">Today</h2>
72
+<p>I work full-time with HTML, SASS/CSS, jQuery/JavaScript, <abbr title="Web Accessibility Initiative - Accessible Rich Internet Applications">WAI-ARIA</abbr> and <abbr title="Web Content Accessibility Guidelines">WCAG</abbr>.</p>
73
+<p>I tinker with a bunch of other languages.</p>
74
+<p>I'm a big fan of owning your data (to a certain degree, I suppose; I don't own the hardware I'm hosted on&hellip; yet).</p>
75
+<p>I'm continually working on my <a href="http://chromic.org/articles/project-autonomous#cont">Project Autonomous</a> which serves as both a way to own my data and also as a learning tool.</p>
76
+<p>I'm still messing around with <a href="https://github.com/chimo">code</a> and tech.</p>
77
+<p>I'm still fascinated by electronics and computers (I <abbr class="emoticon" title="love">&lt;3</abbr> my RaspberryPi), still a (FL)OSS advocate, Linux-running (Arch <abbr title="for the win">FTW</abbr>!), federation-supporting, rambling nerd.</p>
78
+
79
+<h2 id="future">The Future</h2>
80
+<p>Who knows!</p>
81
+<p>I'm planning on tinkering with all this for a long time still.</p>
82
+<p>Technology changes so often and so fast (<q cite="http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s04.html">release early, release often</q>) that I can't imagine getting bored of it.</p>

+ 136
- 0
_posts/blog/2014-05-11-my-android-stack.md View File

@@ -0,0 +1,136 @@
1
+---
2
+title: My Android Stack
3
+description: "The free, open source (FOSS) Android apps I use"
4
+modified: 2015-09-25
5
+categories: blog
6
+tags: [foss, floss, android]
7
+image:
8
+  feature: android.png
9
+  credit: astanush
10
+  creditlink: https://www.flickr.com/photos/samuraispy/2394268353
11
+---
12
+
13
+<div class="p-summary">
14
+<p>I have a Samsung Galaxy S5 currently running <a href="http://www.cyanogenmod.org/">Cyanogenmod 12.1</a> (without Google Apps).</p>
15
+</div>
16
+<!-- more -->
17
+
18
+<h2>Apps</h2>
19
+
20
+<dl>
21
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=andstatus&fdid=org.andstatus.app">AndStatus</a></dt>
22
+  <dd>GNU social client. It does Twitter too, but I have TwitterBridge enabled on my GS instance so I don't need that.</dd>
23
+
24
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=antennapod&fdid=de.danoeh.antennapod">AntennaPod</a></dt>
25
+  <dd>
26
+    Podcast Player<br />
27
+    Supports variable playback speed via <a href="https://f-droid.org/repository/browse/?fdfilter=Prestissimo&fdid=com.falconware.prestissimo">Prestissimo</a>
28
+  </dd>
29
+
30
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=barcode&fdid=com.google.zxing.client.android">Barcode Scanner</a></dt>
31
+  <dd>Barcode Scanner</dd>
32
+
33
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=connectbot&fdid=org.connectbot">ConnectBot</a></dt>
34
+  <dd>SSH Client</dd>
35
+
36
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=conversations&fdid=eu.siacs.conversations">Conversations</a></dt>
37
+  <dd>
38
+    Jabber (XMPP) client.<br />
39
+    To connect to my <a href="https://prosody.im/">Prosody</a> server.
40
+  </dd>
41
+
42
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=davdroid&fdid=at.bitfire.davdroid">DAVdroid</a></dt>
43
+  <dd>
44
+    Contacts (CardDAV) and Calendar (CalDAV) sync.<br />
45
+    I have it sync with my <a href="http://owncloud.org/">ownCloud</a> instance.
46
+  </dd>
47
+
48
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=document%20viewer&fdid=org.sufficientlysecure.viewer">Document Viewer</a></dt>
49
+  <dd>Viewer for many document formats</dd>
50
+
51
+  <dt><a href="https://f-droid.org/">F-Droid</a></dt>
52
+  <dd>Catalogue of FOSS applications for the Android platform</dd>
53
+
54
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=freeotp&fdid=org.fedorahosted.freeotp">FreeOTP</a></dt>
55
+  <dd>Two-factor authenticator</dd>
56
+
57
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=github&fdid=com.github.mobile">GitHub</a></dt>
58
+  <dd>
59
+    Official GitHub client.<br />
60
+    I mostly use GitHub as a mirror for my <a href="http://gogs.io/">Gogs</a> instance these days.
61
+  </dd>
62
+
63
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=hn&fdid=com.manuelmaly.hn">HN</a></dt>
64
+  <dd>Hacker News client</dd>
65
+
66
+  <dt><a href="https://github.com/j4velin/IR-Remote">IR-Remote</a></dt>
67
+  <dd>Infra-red remote controller for my Tv and soundbar.</dd>
68
+
69
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=k9&fdid=com.fsck.k9">K-9 Mail</a></dt>
70
+  <dd>
71
+    Email client<br />
72
+    Supports PGP via <a href="https://github.com/thialfihar/apg">APG</a> or <a href="http://sufficientlysecure.org/index.php/openpgp-keychain/">OpenKeychain</a>.
73
+  </dd>
74
+
75
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=kde+connect&fdid=org.kde.kdeconnect_tp">KDE Connect</a></dt>
76
+  <dd>
77
+    KDE Integration.
78
+  </dd>
79
+
80
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=kore&fdid=org.xbmc.kore">Kore</a></dt>
81
+  <dd>
82
+    Remote control for <a href="http://kodi.tv">Kodi</a>&nbsp;&mdash;&nbsp;Open Source Home Theatre<br />
83
+    I run Kodi on my <a href="https://www.raspberrypi.org">Raspberry Pi</a>.
84
+  </dd>
85
+
86
+  <dt><a href="https://mozilla.org/">Firefox</a></dt>
87
+  <dd>Web browser</dd>
88
+
89
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=openkeychain&fdid=org.sufficientlysecure.keychain">OpenKeychain</a></dt>
90
+  <dd>
91
+    Manage OpenPGP keys<br />
92
+    Integrates with <a href="https://f-droid.org/repository/browse/?fdfilter=k9&fdid=com.fsck.k9">K-9 Mail</a>
93
+  </dd>
94
+
95
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=osmand&fdid=net.osmand.plus">OsmAnd</a></dt>
96
+  <dd>Offline/online maps and navigation with <a href="http://www.openstreetmap.org">OpenStreetMap</a></dd>
97
+
98
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=owncloud&fdid=com.owncloud.android">ownCloud</a></dt>
99
+  <dd>View and upload files from/to my <a href="http://owncloud.org/">ownCloud</a> instance</dd>
100
+
101
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=practice%20hub&fdid=com.proch.practicehub">Practice Hub</a></dt>
102
+  <dd>
103
+    Tools for musicians, including a chromoatic tuner, a metronome, and a pitch drone.<br />
104
+    I mostly use it to help me tune my guitar.
105
+  </dd>
106
+
107
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=Prestissimo&fdid=com.falconware.prestissimo">Prestissimo</a></dt>
108
+  <dd>
109
+    Brings variable playback speed feature to supported media players<br />
110
+    I use it with <a href="https://f-droid.org/repository/browse/?fdfilter=antennapod&fdid=de.danoeh.antennapod">AntennaPod</a>
111
+  </dd>
112
+
113
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=redreader&fdid=org.quantumbadger.redreader">RedReader</a></dt>
114
+  <dd>Reddit client</dd>
115
+
116
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=satstat&fdid=com.vonglasow.michael.satstat">SatStat</a></dt>
117
+  <dd>GPS, sensor and network status</dd>
118
+
119
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=scrobbler&fdid=com.adam.aslfms">Simple Last.fm Scrobbler</a></dt>
120
+  <dd>A music scrobbler. Modified to submit to my <a href="https://gnu.io/fm/">GNU FM</a> instance.</dd>
121
+  
122
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=tasks&fdid=org.tasks">Tasks</a></dt>
123
+  <dd>TODO list</dd>
124
+
125
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=tomdroid&fdid=org.tomdroid">Tomdroid</a></dt>
126
+  <dd>
127
+    A note taking application.<br />
128
+    Syncs with my owncloud instance through the <a href="http://cweiske.de/grauphel.htm">grauphel plugin</a>.
129
+  </dd>
130
+
131
+  <dt><a href="https://f-droid.org/repository/browse/?fdfilter=yaaic&fdid=org.yaaic">Yaaic</a></dt>
132
+  <dd>
133
+    IRC Client.<br />
134
+    I use it with <a href="https://en.wikipedia.org/wiki/ZNC">ZNC bouncer</a>.
135
+  </dd>
136
+</dl>

+ 0
- 33
_posts/blog/2014-08-08-hello-world.md View File

@@ -1,33 +0,0 @@
1
----
2
-layout: post
3
-title: "Hello World"
4
-modified:
5
-categories: blog
6
-excerpt: ""
7
-tags: []
8
-image:
9
-  feature:
10
-date: 2014-08-08T15:39:55-04:00
11
----
12
-
13
-You'll find this post in your `_posts` directory - edit this post and re-build (or run with the `-w` switch) to see your changes!
14
-To add new posts, simply add a file in the `_posts` directory that follows the convention: YYYY-MM-DD-name-of-post.ext.
15
-
16
-## Sample Heading
17
-
18
-### Sample Heading 2
19
-
20
-Jekyll also offers powerful support for code snippets:
21
-
22
-{% highlight ruby %}
23
-def print_hi(name)
24
-  puts "Hi, #{name}"
25
-end
26
-print_hi('Tom')
27
-#=> prints 'Hi, Tom' to STDOUT.
28
-{% endhighlight %}
29
-
30
-Check out the [Jekyll docs][jekyll] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll's GitHub repo][jekyll-gh].
31
-
32
-[jekyll-gh]: https://github.com/jekyll/jekyll
33
-[jekyll]:    http://jekyllrb.com

+ 78
- 0
_posts/blog/2015-05-13-git-gogs-jekyll.md View File

@@ -0,0 +1,78 @@
1
+---
2
+title: Git, Gogs, Jekyll and Auto-deployment
3
+description: "Deploying my blog on git-push"
4
+modified: 2015-05-13
5
+categories: blog
6
+tags: [git, gogs, jekyll, blog]
7
+---
8
+
9
+<div class="p-summary">
10
+<p>Since yesterday, this blog deploys automatically when I push changes to its git
11
+repository. Before that, my workflow was something like:</p>
12
+</div>
13
+<!-- more -->
14
+
15
+<ol>
16
+  <li>ssh into the server</li>
17
+  <li>write something</li>
18
+  <li>git add, git commit, git push (or forget about this step altogether)</li>
19
+  <li>bundle exec jekyll build</li>
20
+</ol>
21
+
22
+<p>Now, I do:<p>
23
+<ol>
24
+  <li>Write something (from any machine where I have a copy of my blog's git repository)</li>
25
+  <li>git add, git commit, git push</li>
26
+</ol>
27
+
28
+<p>The best part for me is that I should now have a proper git history of my
29
+blog's modifications instead of a few giant commits spaced far apart in time
30
+due to skipping step 3 by mistake or laziness.</p>
31
+
32
+<p>This isn't unique, has been done before, and a few
33
+<a href="http://jekyllrb.com/docs/deployment-methods/#automated-methods">automated
34
+deployment techniques are documented on the Jekyll site</a>, but I wanted to jot
35
+down my configuration for a few reasons:</p>
36
+
37
+<ul>
38
+  <li>As a "note to self" so I can recall how it works if I need to set this up again</li>
39
+  <li>I'm due for my yearly blog post (yes, I should write more)</li>
40
+  <li>It might be helpful to other people using a similar list of tools</li>
41
+</ul>
42
+
43
+<h2>The Environment</h2>
44
+
45
+<p>This blog is hosted on a VPS (Linode) that runs
46
+<a href="http://chromic.org/blog/project-autonomous/">a few other products</a>,
47
+notably <a href="http://gogs.io">Gogs</a> which I use to "self-host" my git projects.</p>
48
+
49
+<p>One of those git projects is the <a href="https://code.chromic.org/chimo/chromic.org">
50
+source files for the blog</a>.</p>
51
+
52
+<p>Gogs lets you edit <a href="https://git-scm.herokuapp.com/book/en/v2/Customizing-Git-Git-Hooks">
53
+git hooks</a> via its web interface under the git repository's "Settings > Git Hooks"
54
+section. The one we're interested in is
55
+"<a href="https://git-scm.herokuapp.com/book/en/v2/Customizing-Git-Git-Hooks#idp27140432">post-receive</a>",
56
+which runs on the server-side after git is done receiving the changes you pushed
57
+to it via "git push" from the client-side.</p>
58
+
59
+<p>Since both Gogs and the Jekyll blog are on the same server, the only thing I
60
+have to do is tell git to run the "jekyll build" command (along with some
61
+house-keeping details) after it got the new data:</p>
62
+
63
+{% highlight bash %}
64
+#!/usr/bin/bash
65
+
66
+mkdir -p /tmp/gogs-bundle               # Create directory where bundle will install required tools to build
67
+export BUNDLE_BIN_PATH=/tmp/gogs-bundle # Set env. var used by bundle so it knows where to install stuff
68
+
69
+cd /srv/http/chromic.org/public_html    # Change to the directory where the blog's source files are
70
+unset GIT_DIR                           # Have git use $PWD instead of $GIT_DIR
71
+git pull                                # Get latest changes
72
+
73
+bundle install                          # Make sure we have all the required gems, etc. installed
74
+bundle exec jekyll build                # Deploy!
75
+{% endhighlight %}
76
+
77
+<p>And that's pretty much it. Make sure the user running your Gogs instance has
78
+access to the blog's files/directories and you should be good to go.</p>

+ 226
- 0
_posts/blog/2015-06-15-lifestream-architecture.md View File

@@ -0,0 +1,226 @@
1
+---
2
+title: Lifestream Architecture
3
+description: "An overview of how the 'lifestream' on my homepage works"
4
+modified: 2015-06-15
5
+categories: blog
6
+tags: [push, pubsubhubbub, realtime, lifestream]
7
+---
8
+
9
+<div class="p-summary">
10
+  <p>
11
+    Recently, the <a href="//chromic.org">homepage of this blog</a> changed from
12
+    a static list of recent blog posts to a realtime stream of updates (the list
13
+    of blog posts is still there, moved to the sidebar). This post tries to
14
+    document (mostly as a "note-to-self", again) how this "lifestream" works.
15
+  </p>
16
+
17
+  <p>
18
+    Note: This is a work-in-progress; I've already got plans to tweak how some
19
+    of the pieces fit together.
20
+  </p>
21
+</div>
22
+<!-- more -->
23
+
24
+<figure>
25
+  <a href="/images/lifestream.jpg"><img src="/images/lifestream_s.jpg" alt=""></a>
26
+  <figcaption>
27
+    An overview of the pieces used to build the update stream.
28
+    Description follows.
29
+  </figcaption>
30
+</figure>
31
+
32
+<h2>TL;DR</h2>
33
+
34
+<p>
35
+  My sources are PuSH publishers, I have a PuSH hub running on the server,
36
+  the lifestream is a PuSH subscriber.
37
+</p>
38
+
39
+<h2>Details</h2>
40
+
41
+<p>
42
+  For this project, I have three requirements:
43
+</p>
44
+
45
+<ol>
46
+  <li>
47
+    Realtime: I want the updates to appear in realtime. No polling.
48
+    To acheive this, we rely on the
49
+    <a href="https://en.wikipedia.org/wiki/PubSubHubbub">Pubsubhubbub
50
+    (PuSH) protocol</a>.
51
+  </li>
52
+  <li>
53
+    Self-hosted: Everything needs to run on a machine/VM I own/rent (most
54
+    of this stuff is on a Linode)
55
+  </li>
56
+  <li>Open Source / Free Software: Everything I run needs to be (F)OSS</li>
57
+</ol>
58
+
59
+<p>
60
+  If we refer to the image above, the information flows from left to right, with
61
+  the exception of the dashed line which we'll talk about a bit later.
62
+</p>
63
+
64
+<h3>Pushing Updates (PuSH publishers)</h3>
65
+
66
+<h4>The Blog</h4>
67
+
68
+<p>
69
+  The Blog is the most "manual" source at the moment. It runs on
70
+  <a href="http://jekyllrb.com/">Jekyll</a> and to publish a post, I push to my
71
+  git repository on my Gogs instance
72
+  (<a href="/blog/git-gogs-jekyll/">more information about this setup here</a>).
73
+</p>
74
+
75
+<p>
76
+  After the new post has been published, I run a bash one-liner script that
77
+  pings the PuSH hub:
78
+</p>
79
+
80
+{% highlight bash %}
81
+#!/usr/bin/bash
82
+
83
+curl -d hub.mode=publish -d "hub.url=http://chromic.org/feed.xml" http://push.chromic.org
84
+{% endhighlight %}
85
+
86
+<p>
87
+  Yes, I do plan on automating this at some point.
88
+</p>
89
+
90
+<h4>Media</h4>
91
+
92
+<p>
93
+  I run <a href="http://mediagoblin.org/">GNU mediagoblin</a> as a media
94
+  publishing platform. It's PuSH-enabled out-of-the-box so I don't have to do
95
+  much here. I did, however, modify the Atom Feed generated by gmg so that it
96
+  includes a direct link to the media file (so that I can include it in the
97
+  lifestream).
98
+</p>
99
+
100
+<h4>Code</h4>
101
+
102
+<p>
103
+  I run <a href="http://gogs.io/">Gogs</a> on code.chromic.org. This one is the
104
+  most hacky-cobbled-together source in the lifestream (so far!). Ultimately,
105
+  I'd like to have the
106
+  <a href="//code.chromic.org/chimo?tab=activity">public activity</a> events
107
+  pushed to the stream, but right now only "git-push" events are sent over.
108
+  There are a couple of reasons for this:
109
+</p>
110
+
111
+<ol>
112
+  <li>Gogs isn't PuSH-enabled so I need to ping the hub myself</li>
113
+  <li>
114
+    Gogs is written in Go, which is a compiled language, which means I can't just
115
+    open files and tweak them. And, I've been too lazy to setup a Go/Gogs
116
+    development environment so far.
117
+  </li>
118
+</ol>
119
+
120
+<p>
121
+  Given this situation, I have to use the features Gogs support out-of-the-book.
122
+  Luckily, Gogs supports webhooks on git-push events. You can probably see where
123
+  this is going: I've setup all my repository to execute a PHP script whenever
124
+  I push code:
125
+</p>
126
+
127
+{% highlight php %}
128
+
129
+<?php
130
+require_once('../../_config.php');
131
+
132
+$gogs = $config['gogs'];
133
+$data = file_get_contents('php://input');
134
+
135
+// Invalid payload
136
+try {
137
+    $json = json_decode($data);
138
+} catch (Exception $e) {
139
+    header($_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Request');
140
+    exit;
141
+}
142
+
143
+// Invalid 'secret'
144
+if ($gogs['secret'] !== $json->secret) {
145
+    header($_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Request');
146
+    exit;
147
+}
148
+
149
+$ch = curl_init($gogs['push']);
150
+curl_setopt($ch, CURLOPT_USERAGENT, 'gogs webhook script');
151
+curl_setopt($ch, CURLOPT_HEADER, false);
152
+curl_setopt($ch, CURLOPT_POST, true);
153
+curl_setopt($ch, CURLOPT_POSTFIELDS, 'hub.mode=publish&hub.url=' . $gogs['topic']);
154
+$ok = curl_exec($ch);
155
+curl_close($ch);
156
+
157
+if (!$ok) {
158
+    error_log('Could not ping hub (errno: ' . curl_errno($ch) . ')', 4);
159
+    error_log('Curl error message: ' . curl_error($ch) ,4);
160
+} else {
161
+    error_log('Pinged hub successfully');
162
+}
163
+{% endhighlight %}
164
+
165
+<p>
166
+  This is also on the "to improve" list.
167
+</p>
168
+
169
+<h4>Microblog</h4>
170
+
171
+<p>
172
+  This one is also easy. I use <a href="https://gnu.io/social/">GNU social</a> as a
173
+  microblogging platform. It's PuSH-enabled out-of-the-box. I don't need to do
174
+  anything here.
175
+</p>
176
+
177
+<p>
178
+  Note: There are a couple of event types that aren't PuSH'ed (e.g.: favorites)
179
+  by the GNU social platform.
180
+</p>
181
+
182
+<h3>The Hubs</h3>
183
+
184
+<p>
185
+  I run an unmodified instance of
186
+  <a href="https://github.com/aaronpk/Switchboard">Switchboard</a> as a PuSH
187
+  hub. This is where the PuSH publishers send the "ping" whenever they publish
188
+  something, with the exception of GNU social.
189
+</p>
190
+
191
+<p>
192
+  GNU social, in addition to being a PuSH-publisher out-of-the-box, has its own
193
+  built-in PuSH hub.
194
+</p>
195
+
196
+<h3>The Subscriber</h3>
197
+
198
+<p>
199
+  I wrote a <a href="http://github.com/chimo/lifestream">quick NodeJS "app"</a>
200
+  that subscribes to the publishers above through the Switchboard Hub or the GNU
201
+  social hub. When it recieves notification from the hub that content has been
202
+  published, it fetches the feed/page it's subscribed to (this is the dashed
203
+  line in the image above), gets the latest update, parses it and saves the data
204
+  to a database.
205
+</p>
206
+
207
+<p>
208
+  It also notifies the lifestream of new events through websockets.
209
+</p>
210
+
211
+<h3>The Lifestream</h3>
212
+
213
+<p>
214
+  Finally, we have the
215
+  <a href="https://github.com/chimo/chromic.org/blob/master/index.php">lifestream</a>
216
+  which is a simple PHP script that gets previously saved events from the MySQL
217
+  database, and new events through websockets.
218
+</p>
219
+
220
+<h2>Conclusion</h2>
221
+
222
+<p>
223
+  I'm planning on adding more sources to the stream (my gnu-fm instance and
224
+  possibly my Kodi media player to name a couple). Polishing how everything
225
+  works is also an ongoing activity.
226
+</p>

+ 0
- 32
_posts/blog/2015-08-10-mathjax-example.md View File

@@ -1,32 +0,0 @@
1
----
2
-layout: post
3
-title: "MathJax Example"
4
-modified:
5
-categories: blog
6
-excerpt: ""
7
-tags: []
8
-image:
9
-  feature:
10
-date: 2015-08-10T08:08:50-04:00
11
----
12
-
13
-[MathJax](http://www.mathjax.org/) is a simple way of including Tex/LaTex/MathML based mathematics in HTML webpages. To get up and running you need to include the MathJax script in the header of your github pages page, and then write some maths. For LaTex, there are two delimiters you need to know about, one for block or displayed mathematics `\[ ... \]`, and the other for inline mathematics `\( ... \)`.
14
-
15
-## Usage
16
-
17
-To enable MathJax support be sure Kramdown is your Markdown flavor of choice and MathJax is set to true in your `_config.yml` file.
18
-
19
-~~~
20
-markdown: kramdown
21
-mathjax: true
22
-~~~
23
-
24
-~~~
25
-Here is an example MathJax inline rendering \\( 1/x^{2} \\), and here is a block rendering: 
26
-\\[ \frac{1}{n^{2}} \\]
27
-~~~
28
-
29
-Here is an example MathJax inline rendering \\( 1/x^{2} \\), and here is a block rendering: 
30
-\\[ \frac{1}{n^{2}} \\]
31
-
32
-The only thing to look out for is the escaping of the backslash when using markdown, so the delimiters become `\\[ ... \\]` and `\\( ... \\)` for inline and block maths respectively.

+ 36
- 0
_posts/comments/2015-09-14-checkins.md View File

@@ -0,0 +1,36 @@
1
+---
2
+title: I have it kinda working in GNU social too!
3
+description: I have it kinda working in GNU social too!
4
+modified: 2015-09-14
5
+categories: comment
6
+layout: comment
7
+---
8
+
9
+<div class="h-entry">
10
+  <div class="p-in-reply-to h-cite chr-card">
11
+    <p class="p-author h-card">
12
+      <a class="p-name u-url" href="http://www.aegibson.us/profile/aegibson">Aaron Gibson</a>
13
+    </p>
14
+    <blockquote>
15
+      <p class="p-content">Okay, THIS is where I get jealous.  I&#039;ve been wanting to implement some kind of check-in setup for Friendica.</p>
16
+    </blockquote>
17
+    <a style="float: right;" class="u-url" href="http://www.aegibson.us/2015/okay-this-is-where-i-get-jealous-ive-been-wanting">
18
+      <time class="dt-published timeago" datetime="2015-09-13T04:23:28+00:00">2015-09-13 04:23:28+00:00</time>
19
+    </a>
20
+    <p style="font-size: 1rem;">Accessed: <time class="dt-accessed timeago" datetime="2015-09-14T19:23:28+00:00">2015-09-14 19:23:28+00:00</time></p>
21
+  </div>
22
+
23
+  <div class="chr-card reply">
24
+    <a href="http://chromic.org/" class="h-card u-url">
25
+      <img class="u-photo" style="display: inline-block; width:48px; height:48px;" alt="Chimo bio photo" class="bio-photo" src="http://chromic.org/images/bio-photo.png">
26
+      <span class="p-author">Chimo</span>
27
+    </a>
28
+    <p class="e-content">
29
+      :D I have it kinda working in GNU social too!<br />
30
+      <img src="http://sn.chromic.org/file/thumb-213496-450x387-b009e4f53e03978003cbdb327bc2b1b37ddb2a5da7c99a4858dd177356332ec2.png">
31
+    </p>
32
+    <a href="{{ page.url }}" class="u-url">
33
+      <time datetime="{{ page.date | date_to_xmlschema }}" class="timeago">{{ page.date | date: "%B %d, %Y" }}</time>
34
+    </a>
35
+  </div>
36
+</div>

+ 0
- 77
_sass/_archives.scss View File

@@ -1,77 +0,0 @@
1
-/* ==========================================================================
2
-   Archive pages
3
-   ========================================================================== */
4
-
5
-
6
-
7
-
8
-/*
9
-   Post archive
10
-   ========================================================================== */
11
-
12
-.post-list {
13
-  margin: 0;
14
-  padding: 0;
15
-  list-style-type: none;
16
-  li {
17
-    padding: 8px 0;
18
-    border-bottom: 1px solid lighten($black,80);
19
-    border-bottom: 1px solid rgba($black,.10);
20
-    @include font-size(18,no);
21
-    @include clearfix;
22
-    > a {
23
-      border-bottom-width: 0; /* remove underlines from items in post indexes */
24
-    }
25
-  }
26
-  a > span {
27
-    float: right;
28
-  }
29
-  .entry-date {
30
-    @include font-size(14,no);
31
-    text-transform: uppercase;
32
-    display: none;
33
-    @include media($medium) {
34
-      display: inline;
35
-    }
36
-  }
37
-  /* post excerpt */
38
-  .excerpt {
39
-    display: block;
40
-    float: none;
41
-    @include font-size(14, no, 16);
42
-    @include media($medium) {
43
-      width: 70%;
44
-    }
45
-    @include media($large) {
46
-      width: 60%;
47
-    }
48
-  }
49
-}
50
-
51
-/*
52
-   Tag archive
53
-   ========================================================================== */
54
-
55
-.tag-box {
56
-  list-style: none;
57
-  margin: 0;
58
-  padding: 4px 0;
59
-  overflow: hidden;
60
-  @include clearfix;
61
-  &.inline li {
62
-    float: left;
63
-    @include font-size(14);
64
-    line-height: 2.5;
65
-  }
66
-  a {
67
-    padding: 4px 6px;
68
-    margin: 2px;
69
-    background-color: lighten($black, 90);
70
-    @include rounded(4px);
71
-    text-decoration: none;
72
-    span {
73
-      vertical-align: super;
74
-      @include font-size(10);
75
-    }
76
-  }
77
-}

+ 0
- 221
_sass/_base.scss View File

@@ -1,221 +0,0 @@
1
-/* ==========================================================================
2
-   Base elements
3
-   ========================================================================== */
4
-
5
-/*
6
-   Selections
7
-   ========================================================================== */
8
-
9
-::-moz-selection {
10
-	background-color: lighten($base-color, 65%);
11
-	color: $base-color;
12
-	text-shadow: none;
13
-}
14
-::selection {
15
-	background-color: lighten($base-color, 65%);
16
-	color: $base-color;
17
-	text-shadow: none;
18
-}
19
-
20
-
21
-/*
22
-   Body
23
-   ========================================================================== */
24
-
25
-body {
26
-  margin: 0;
27
-  padding: 0;
28
-  width: 100%;
29
-  font-family: $base-font;
30
-  color: $text-color;
31
-  background-color: $body-color;
32
-  border-top: 5px solid $black;
33
-}
34
-
35
-/*
36
-   Typography
37
-   ========================================================================== */
38
-
39
-body {
40
-	font-family: $base-font;
41
-	color: $text-color;
42
-	@include font-size(16);
43
-}
44
-
45
-p {
46
-	@include font-size(18,yes,28);
47
-}
48
-
49
-li {
50
-	@include font-size(16,12,24);
51
-}
52
-
53
-/* headings */
54
-
55
-h1, h2, h3, h4, h5, h6 {
56
-	font-family: $heading-font;
57
-	text-rendering: optimizeLegibility; // Fix the character spacing for headings
58
-}
59
-h1 {
60
-	@include font-size(36);
61
-}
62
-h2 {
63
-	@include font-size(32);
64
-}
65
-h3 {
66
-	@include font-size(28);
67
-}
68
-h4 {
69
-	@include font-size(24);
70
-}
71
-h5 {
72
-	@include font-size(20);
73
-}
74
-h6 {
75
-	@include font-size(18);
76
-}
77
-
78
-/* underlined text */
79
-
80
-u,
81
-ins {
82
-	text-decoration: none;
83
-	border-bottom: 1px solid $text-color;
84
-}
85
-
86
-/*
87
-   Links
88
-   ========================================================================== */
89
-
90
-a {
91
-	text-decoration: none;
92
-	color: $link-color;
93
-	&:visited {
94
-		color: lighten($link-color, 20);
95
-	}
96
-	&:hover {
97
-		color: darken($link-color, 20);
98
-	}
99
-	&:focus {
100
-		outline: thin dotted;
101
-		color: darken($link-color, 20);
102
-	}
103
-	&:hover,
104
-	&:active {
105
-		outline: 0;
106
-	}
107
-}
108
-
109
-/*
110
-   Horizontal rules
111
-   ========================================================================== */
112
-
113
-hr {
114
-    display: block;
115
-    margin: 1em 0;
116
-    padding: 0;
117
-    height: 1px;
118
-    border: 0;
119
-    border-top: 1px solid #ccc;
120
-    border-bottom: 1px solid #fff;
121
-}
122
-
123
-/*
124
-   Figures and Images
125
-   ========================================================================== */
126
-
127
-figure {
128
-  margin: 0;
129
-  padding-top: 10px;
130
-  padding-bottom: 10px;
131
-  @include clearfix;
132
-  img {
133
-    margin-bottom: 10px;
134
-  }
135
-  a {
136
-    img {
137
-      @include transform(translateY(0));
138
-      -webkit-transition-duration: 0.25s;
139
-      -moz-transition-duration: 0.25s;
140
-      -o-transition-duration: 0.25s;
141
-      opacity: 0.7;
142
-      &:hover {
143
-        @include transform(translateY(-5px));
144
-        @include box-shadow(0 0 10px rgba($black, .20));
145
-        opacity: 1;
146
-      }
147
-    }
148
-  }
149
-}
150
-
151
-svg:not(:root) {
152
-  overflow: hidden;
153
-}
154
-
155
-// Figure captions
156
-
157
-figcaption {
158
-	padding-top: 10px;
159
-	@include font-size(14);
160
-	line-height: 1.3;
161
-	color: lighten($text-color, 10);
162
-}
163
-
164
-
165
-
166
-// Tables
167
-// --------------------------------------------------
168
-table {
169
-  width: 100%;
170
-}
171
-
172
-
173
-// Blockquotes
174
-// --------------------------------------------------
175
-
176
-blockquote {
177
-	font-family: $alt-font;
178
-	font-style: italic;
179
-	@include font-size(16);
180
-	padding-left: 20px;
181
-	border-left: 8px solid $black;
182
-}
183
-
184
-
185
-
186
-
187
-
188
-// Code
189
-// --------------------------------------------------
190
-
191
-tt, code, kbd, samp, pre {
192
-	font-family: $code-font;
193
-}
194
-p,
195
-li {
196
-	code {
197
-		@include font-size(14);
198
-		font-family: $code-font;
199
-		white-space: nowrap;
200
-		margin: 0 2px;
201
-		padding: 0 5px;
202
-		border: 1px solid lighten($black, 90);
203
-		background-color: lighten($black, 95);
204
-		@include rounded(3px);
205
-	}
206
-}
207
-pre {
208
-	@include font-size(14);
209
-	overflow-x: auto;
210
-}
211
-
212
-
213
-
214
-
215
-
216
-// Global Transition
217
-// ---------------------------------------------------
218
-
219
-b, i, strong, em, blockquote, p, q, span, figure, img, h1, h2, header, input, a, .highlight {
220
-	@include transition(all .2s ease);
221
-}

+ 0
- 39
_sass/_buttons.scss View File

@@ -1,39 +0,0 @@
1
-/* ==========================================================================
2
-   Buttons
3
-   ========================================================================== */
4
-
5
-/*
6
-   Default button
7
-   ========================================================================== */
8
-
9
-.btn {
10
-  display: inline-block;
11
-  margin-bottom: 20px;
12
-  padding: 8px 20px;
13
-  @include font-size(14);
14
-  background-color: $black;
15
-  color: $white;
16
-  border: 2px solid $black !important;
17
-  border-radius: $border-radius;
18
-  &:visited {
19
-    color: $white;
20
-  }
21
-  &:hover {
22
-    background-color: $white;
23
-    color: $black;
24
-  }
25
-}
26
-
27
-/*
28
-   Close button
29
-   ========================================================================== */
30
-
31
-.close-btn {
32
-  position: absolute;
33
-  top: 0;
34
-  right: 0;
35
-  z-index: 1;
36
-  background-color: transparent;
37
-  border: 0 solid transparent;
38
-  color: $white;
39
-}

+ 251
- 0
_sass/_chimo.scss View File

@@ -0,0 +1,251 @@
1
+#ls .e-content canvas {
2
+    max-width: 655px;
3
+}
4
+
5
+#article .entry-content img {
6
+    border: 1px solid #000;
7
+}
8
+
9
+.js-gs-share {
10
+    background: url("/images/gs-share.png") no-repeat left center;
11
+    border: 0;
12
+    min-height: 32px;
13
+    padding: 0;
14
+    padding-left: 33px;
15
+}
16
+
17
+[for="gs-bookmark"] {
18
+    display: inline;
19
+}
20
+
21
+.post-list a time {
22
+    color: #222;
23
+}