squidpress 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +8 -0
  3. data/README.markdown +32 -0
  4. data/_includes/after_footer.html +5 -0
  5. data/_includes/archive_post.html +8 -0
  6. data/_includes/article.html +29 -0
  7. data/_includes/asides/delicious.html +8 -0
  8. data/_includes/asides/github.html +30 -0
  9. data/_includes/asides/googleplus.html +11 -0
  10. data/_includes/asides/pinboard.html +19 -0
  11. data/_includes/asides/recent_posts.html +10 -0
  12. data/_includes/custom/after_footer.html +3 -0
  13. data/_includes/custom/asides/about.html +4 -0
  14. data/_includes/custom/category_feed.xml +27 -0
  15. data/_includes/custom/footer.html +4 -0
  16. data/_includes/custom/head.html +3 -0
  17. data/_includes/custom/header.html +6 -0
  18. data/_includes/custom/navigation.html +4 -0
  19. data/_includes/disqus.html +21 -0
  20. data/_includes/facebook_like.html +10 -0
  21. data/_includes/footer.html +1 -0
  22. data/_includes/google_analytics.html +13 -0
  23. data/_includes/google_plus_one.html +9 -0
  24. data/_includes/head.html +30 -0
  25. data/_includes/header.html +1 -0
  26. data/_includes/navigation.html +15 -0
  27. data/_includes/post/author.html +8 -0
  28. data/_includes/post/categories.html +10 -0
  29. data/_includes/post/date.html +5 -0
  30. data/_includes/post/disqus_thread.html +1 -0
  31. data/_includes/post/sharing.html +11 -0
  32. data/_includes/twitter_sharing.html +11 -0
  33. data/_layouts/category_index.html +17 -0
  34. data/_layouts/default.html +14 -0
  35. data/_layouts/page.html +42 -0
  36. data/_layouts/post.html +43 -0
  37. data/_sass/_base.scss +5 -0
  38. data/_sass/_minicompass.scss +38 -0
  39. data/_sass/_partials.scss +8 -0
  40. data/_sass/base/_layout.scss +198 -0
  41. data/_sass/base/_solarized.scss +47 -0
  42. data/_sass/base/_theme.scss +92 -0
  43. data/_sass/base/_typography.scss +166 -0
  44. data/_sass/base/_utilities.scss +32 -0
  45. data/_sass/custom/_colors.scss +43 -0
  46. data/_sass/custom/_fonts.scss +10 -0
  47. data/_sass/custom/_layout.scss +21 -0
  48. data/_sass/custom/_styles.scss +2 -0
  49. data/_sass/minicompass/border-radius.scss +14 -0
  50. data/_sass/minicompass/bullets.scss +36 -0
  51. data/_sass/minicompass/clearfix.scss +20 -0
  52. data/_sass/minicompass/horizontal-list.scss +58 -0
  53. data/_sass/minicompass/hover-link.scss +5 -0
  54. data/_sass/minicompass/link-colors.scss +28 -0
  55. data/_sass/minicompass/reset.scss +117 -0
  56. data/_sass/partials/_archive.scss +75 -0
  57. data/_sass/partials/_blog.scss +141 -0
  58. data/_sass/partials/_footer.scss +23 -0
  59. data/_sass/partials/_header.scss +18 -0
  60. data/_sass/partials/_navigation.scss +141 -0
  61. data/_sass/partials/_sharing.scss +8 -0
  62. data/_sass/partials/_sidebar.scss +4 -0
  63. data/_sass/partials/_syntax.scss +268 -0
  64. data/_sass/partials/sidebar/_base.scss +107 -0
  65. data/_sass/partials/sidebar/_delicious.scss +4 -0
  66. data/_sass/partials/sidebar/_googleplus.scss +26 -0
  67. data/_sass/partials/sidebar/_pinboard.scss +14 -0
  68. data/_sass/plugins/_plugins.scss +6 -0
  69. data/assets/images/bird_32_gray.png +0 -0
  70. data/assets/images/bird_32_gray_fail.png +0 -0
  71. data/assets/images/code_bg.png +0 -0
  72. data/assets/images/dotted-border.png +0 -0
  73. data/assets/images/email.png +0 -0
  74. data/assets/images/line-tile.png +0 -0
  75. data/assets/images/noise.png +0 -0
  76. data/assets/images/rss.png +0 -0
  77. data/assets/images/search.png +0 -0
  78. data/assets/javascripts/github.js +32 -0
  79. data/assets/javascripts/libs/jXHR.js +85 -0
  80. data/assets/javascripts/libs/jquery.min.js +5 -0
  81. data/assets/javascripts/libs/swfobject-dynamic.js +298 -0
  82. data/assets/javascripts/modernizr-2.0.js +5 -0
  83. data/assets/javascripts/octopress.js +151 -0
  84. data/assets/javascripts/pinboard.js +56 -0
  85. data/assets/javascripts/twitter.js +78 -0
  86. data/assets/jwplayer/glow/controlbar/background.png +0 -0
  87. data/assets/jwplayer/glow/controlbar/blankButton.png +0 -0
  88. data/assets/jwplayer/glow/controlbar/divider.png +0 -0
  89. data/assets/jwplayer/glow/controlbar/fullscreenButton.png +0 -0
  90. data/assets/jwplayer/glow/controlbar/fullscreenButtonOver.png +0 -0
  91. data/assets/jwplayer/glow/controlbar/muteButton.png +0 -0
  92. data/assets/jwplayer/glow/controlbar/muteButtonOver.png +0 -0
  93. data/assets/jwplayer/glow/controlbar/normalscreenButton.png +0 -0
  94. data/assets/jwplayer/glow/controlbar/normalscreenButtonOver.png +0 -0
  95. data/assets/jwplayer/glow/controlbar/pauseButton.png +0 -0
  96. data/assets/jwplayer/glow/controlbar/pauseButtonOver.png +0 -0
  97. data/assets/jwplayer/glow/controlbar/playButton.png +0 -0
  98. data/assets/jwplayer/glow/controlbar/playButtonOver.png +0 -0
  99. data/assets/jwplayer/glow/controlbar/timeSliderBuffer.png +0 -0
  100. data/assets/jwplayer/glow/controlbar/timeSliderCapLeft.png +0 -0
  101. data/assets/jwplayer/glow/controlbar/timeSliderCapRight.png +0 -0
  102. data/assets/jwplayer/glow/controlbar/timeSliderProgress.png +0 -0
  103. data/assets/jwplayer/glow/controlbar/timeSliderRail.png +0 -0
  104. data/assets/jwplayer/glow/controlbar/unmuteButton.png +0 -0
  105. data/assets/jwplayer/glow/controlbar/unmuteButtonOver.png +0 -0
  106. data/assets/jwplayer/glow/display/background.png +0 -0
  107. data/assets/jwplayer/glow/display/bufferIcon.png +0 -0
  108. data/assets/jwplayer/glow/display/muteIcon.png +0 -0
  109. data/assets/jwplayer/glow/display/playIcon.png +0 -0
  110. data/assets/jwplayer/glow/dock/button.png +0 -0
  111. data/assets/jwplayer/glow/glow.xml +115 -0
  112. data/assets/jwplayer/glow/playlist/item.png +0 -0
  113. data/assets/jwplayer/glow/playlist/itemOver.png +0 -0
  114. data/assets/jwplayer/glow/playlist/sliderCapBottom.png +0 -0
  115. data/assets/jwplayer/glow/playlist/sliderCapTop.png +0 -0
  116. data/assets/jwplayer/glow/playlist/sliderRail.png +0 -0
  117. data/assets/jwplayer/glow/playlist/sliderThumb.png +0 -0
  118. data/assets/jwplayer/glow/sharing/embedIcon.png +0 -0
  119. data/assets/jwplayer/glow/sharing/embedScreen.png +0 -0
  120. data/assets/jwplayer/glow/sharing/shareIcon.png +0 -0
  121. data/assets/jwplayer/glow/sharing/shareScreen.png +0 -0
  122. data/assets/jwplayer/player.swf +0 -0
  123. data/assets/stylesheets/screen.scss +14 -0
  124. data/atom.xml +27 -0
  125. data/favicon.png +0 -0
  126. data/index.html +29 -0
  127. data/robots.txt +7 -0
  128. metadata +211 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 41e972bea385d1d20ea77353733f0f9f25069d14535075ab5e8079252b1f85db
4
+ data.tar.gz: 6b07e6c6bafd91851fb9fb032e6c4d546d7e12ee20ccb163cc9be8e9972aec64
5
+ SHA512:
6
+ metadata.gz: b3652ac34ff09de3ce96df1146e7c9d4e6ae3b0396426b9f97eee8a826e29f723022577a365df227afae76eba99d78ca4cf39487eae11c81566e9efba95aea61
7
+ data.tar.gz: 90eeeb49eb3046d0cf0330f23ae6e5d34ce6eeaa8f76989d26e125a2bd84e4498a2ba08fe7d216f7ecbc1b16e9d89e971e47702c4ce8a21c49825d077989de1f
data/LICENSE ADDED
@@ -0,0 +1,8 @@
1
+ Copyright © 2009-2013 Brandon Mathis
2
+ Copyright © 2026 Misty De Méo
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ‘Software’), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
5
+
6
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
7
+
8
+ THE SOFTWARE IS PROVIDED ‘AS IS’, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.markdown ADDED
@@ -0,0 +1,32 @@
1
+ # Squidpress
2
+
3
+ ## What is Squidpress?
4
+
5
+ Squidpress is a fork of [Octopress 2.0](https://github.com/imathis/octopress), a [Jekyll](https://github.com/mojombo/jekyll) theme/distribution, refactored into a Jekyll theme that works with modern versions of Jekyll.
6
+
7
+ (If you don't know what any of that means, you probably don't need this project!)
8
+
9
+ Octopress was structured as a prebuilt blog template, Rakefile, and plugins, which made it hard to update blogs built with it to newer versions of Jekyll or Jekyll's plugins. Squidpress breaks Octopress's theme out into a separate Jekyll theme that you can add to your own repo; you no longer need to maintain a fork of the Octopress repo or worry about
10
+
11
+ ## FAQ
12
+
13
+ Q: Why did you fork the older version of Octopress instead of Octopress 3.0?
14
+
15
+ A: My blog uses the older version, I imagine like most holdout Octopress users do, and I wanted a clean upgrade path.
16
+
17
+ ## Contributing
18
+
19
+ We love to see people contributing to Octopress, whether it's a bug report, feature suggestion or a pull request. At the moment, we try to keep the core slick and lean, focusing on basic blogging needs, so some of your suggestions might not find their way into Octopress. For those ideas, we started a [list of 3rd party plug-ins](https://github.com/imathis/octopress/wiki/3rd-party-plugins), where you can link your own Octopress plug-in repositories. For the future, we're thinking about ways to easier add them into our main releases.
20
+
21
+
22
+ ## License
23
+ (The MIT License)
24
+
25
+ Copyright © 2009-2013 Brandon Mathis
26
+ Copyright © 2026 Misty De Méo
27
+
28
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ‘Software’), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
29
+
30
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
31
+
32
+ THE SOFTWARE IS PROVIDED ‘AS IS’, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,5 @@
1
+ {% include disqus.html %}
2
+ {% include facebook_like.html %}
3
+ {% include google_plus_one.html %}
4
+ {% include twitter_sharing.html %}
5
+ {% include custom/after_footer.html %}
@@ -0,0 +1,8 @@
1
+ {% capture category %}{{ post.categories | size }}{% endcapture %}
2
+ <h1><a href="{{ post.url | relative_url }}">{% if site.titlecase %}{{ post.title | titlecase }}{% else %}{{ post.title }}{% endif %}</a></h1>
3
+ <time datetime="{{ post.date | datetime | date_to_xmlschema }}" pubdate>{{ post.date | date: "<span class='month'>%b</span> <span class='day'>%d</span> <span class='year'>%Y</span>"}}</time>
4
+ {% if category != '0' %}
5
+ <footer>
6
+ <span class="categories">posted in {{ post.categories | category_links }}</span>
7
+ </footer>
8
+ {% endif %}
@@ -0,0 +1,29 @@
1
+ {% unless page.no_header %}
2
+ <header>
3
+ {% if index %}
4
+ <h1 class="entry-title"><a href="{{ post.url | relative_url }}">{% if site.titlecase %}{{ post.title | titlecase }}{% else %}{{ post.title }}{% endif %}</a></h1>
5
+ {% else %}
6
+ <h1 class="entry-title">{% if site.titlecase %}{{ page.title | titlecase }}{% else %}{{ page.title }}{% endif %}</h1>
7
+ {% endif %}
8
+ {% unless page.meta == false %}
9
+ <p class="meta">
10
+ {% include post/date.html %}{{ time }}
11
+ {% if site.disqus_short_name and page.comments != false and post.comments != false and site.disqus_show_comment_count == true %}
12
+ | <a href="{% if index %}{{ post.url | relative_url }}{% endif %}#disqus_thread"
13
+ data-disqus-identifier="{% if post.meta.disqus_id %}{{ post.meta.disqus_id }}{% else %}{{ site.url }}{{ post.url | relative_url }}{% endif %}">Comments</a>
14
+ {% endif %}
15
+ </p>
16
+ {% endunless %}
17
+ </header>
18
+ {% endunless %}
19
+ {% if index %}
20
+ <div class="entry-content">{{ content | excerpt }}</div>
21
+ {% capture excerpted %}{{ content | has_excerpt }}{% endcapture %}
22
+ {% if excerpted == 'true' %}
23
+ <footer>
24
+ <a rel="full-article" href="{{ post.url | relative_url }}">{{ site.excerpt_link }}</a>
25
+ </footer>
26
+ {% endif %}
27
+ {% else %}
28
+ <div class="entry-content">{{ content }}</div>
29
+ {% endif %}
@@ -0,0 +1,8 @@
1
+ {% if site.delicious_user %}
2
+ <section>
3
+ <h1>On Delicious</h1>
4
+ <div id="delicious"></div>
5
+ <script type="text/javascript" src="http://feeds.delicious.com/v2/json/{{ site.delicious_user }}?count={{ site.delicious_count }}&amp;sort=date&amp;callback=renderDeliciousLinks"></script>
6
+ <p><a href="http://delicious.com/{{ site.delicious_user }}">My Delicious Bookmarks &raquo;</a></p>
7
+ </section>
8
+ {% endif %}
@@ -0,0 +1,30 @@
1
+ {% if site.github_user %}
2
+ <section>
3
+ <h1>GitHub Repos</h1>
4
+ <ul id="gh_repos">
5
+ <li class="loading">Status updating...</li>
6
+ </ul>
7
+ {% if site.github_show_profile_link %}
8
+ <a href="https://github.com/{{site.github_user}}">@{{site.github_user}}</a> on GitHub
9
+ {% endif %}
10
+ <script type="text/javascript">
11
+ $(document).ready(function(){
12
+ if (!window.jXHR){
13
+ var jxhr = document.createElement('script');
14
+ jxhr.type = 'text/javascript';
15
+ jxhr.src = "{{ '/assets/javascripts/libs/jXHR.js' | relative_url }}";
16
+ var s = document.getElementsByTagName('script')[0];
17
+ s.parentNode.insertBefore(jxhr, s);
18
+ }
19
+
20
+ github.showRepos({
21
+ user: '{{site.github_user}}',
22
+ count: {{site.github_repo_count}},
23
+ skip_forks: {{site.github_skip_forks}},
24
+ target: '#gh_repos'
25
+ });
26
+ });
27
+ </script>
28
+ <script src="{{ root_url }}/assets/javascripts/github.js" type="text/javascript"> </script>
29
+ </section>
30
+ {% endif %}
@@ -0,0 +1,11 @@
1
+ {% if site.googleplus_user %}
2
+ <section class="googleplus{% if site.googleplus_hidden %} googleplus-hidden{% endif %}">
3
+ <h1>
4
+ <a href="https://plus.google.com/{{ site.googleplus_user }}?rel=author">
5
+ <img src="http://www.google.com/images/icons/ui/gprofile_button-32.png" width="32" height="32">
6
+ Google+
7
+ </a>
8
+ </h1>
9
+ </section>
10
+ {% endif %}
11
+
@@ -0,0 +1,19 @@
1
+ {% if site.pinboard_user %}
2
+ <section>
3
+ <h1>My Pinboard</h1>
4
+ <ul id="pinboard_linkroll">Fetching linkroll...</ul>
5
+ <p><a href="http://pinboard.in/u:{{ site.pinboard_user }}">My Pinboard Bookmarks &raquo;</a></p>
6
+ </section>
7
+ <script type="text/javascript">
8
+ var linkroll = 'pinboard_linkroll'; //id target for pinboard list
9
+ var pinboard_user = "{{ site.pinboard_user }}"; //id target for pinboard list
10
+ var pinboard_count = {{ site.pinboard_count }}; //id target for pinboard list
11
+ (function(){
12
+ var pinboardInit = document.createElement('script');
13
+ pinboardInit.type = 'text/javascript';
14
+ pinboardInit.async = true;
15
+ pinboardInit.src = "{{ '/assets/javascripts/pinboard.js' | relative_url }}";
16
+ document.getElementsByTagName('head')[0].appendChild(pinboardInit);
17
+ })();
18
+ </script>
19
+ {% endif %}
@@ -0,0 +1,10 @@
1
+ <section>
2
+ <h1>Recent Posts</h1>
3
+ <ul id="recent_posts">
4
+ {% for post in site.posts limit: site.recent_posts %}
5
+ <li class="post">
6
+ <a href="{{ post.url | relative_url }}">{% if site.titlecase %}{{ post.title | titlecase }}{% else %}{{ post.title }}{% endif %}</a>
7
+ </li>
8
+ {% endfor %}
9
+ </ul>
10
+ </section>
@@ -0,0 +1,3 @@
1
+ {% comment %}
2
+ Add content to be output at the bottom of each page. (You might use this for analytics scripts, for example)
3
+ {% endcomment %}
@@ -0,0 +1,4 @@
1
+ <section>
2
+ <h1>About Me</h1>
3
+ <p>A little something about me.</p>
4
+ </section>
@@ -0,0 +1,27 @@
1
+ ---
2
+ layout: null
3
+ ---
4
+ <?xml version="1.0" encoding="utf-8"?>
5
+ <feed xmlns="http://www.w3.org/2005/Atom">
6
+
7
+ <title><![CDATA[{% if site.titlecase %}{{ page.title | titlecase | cdata_escape }}{% else %}{{ page.title | cdata_escape }}{% endif %} | {{ site.title | cdata_escape }}]]></title>
8
+ <link href="{{ site.url }}/{{ page.feed_url }}" rel="self"/>
9
+ <link href="{{ site.url }}/"/>
10
+ <updated>{{ site.time | date_to_xmlschema }}</updated>
11
+ <id>{{ site.url }}/</id>
12
+ <author>
13
+ <name><![CDATA[{{ site.author | strip_html }}]]></name>
14
+ {% if site.email %}<email><![CDATA[{{ site.email }}]]></email>{% endif %}
15
+ </author>
16
+ <generator uri="http://octopress.org/">Octopress</generator>
17
+
18
+ {% for post in site.categories[page.category] limit: 5 %}
19
+ <entry>
20
+ <title type="html"><![CDATA[{% if site.titlecase %}{{ post.title | titlecase | cdata_escape }}{% else %}{{ post.title | cdata_escape }}{% endif %}]]></title>
21
+ <link href="{{ site.url }}{{ post.url }}"/>
22
+ <updated>{{ post.date | date_to_xmlschema }}</updated>
23
+ <id>{{ site.url }}{{ post.id }}</id>
24
+ <content type="html"><![CDATA[{{ post.content | expand_urls: site.url | markdownify | cdata_escape }}]]></content>
25
+ </entry>
26
+ {% endfor %}
27
+ </feed>
@@ -0,0 +1,4 @@
1
+ <p>
2
+ Copyright &copy; {{ site.time | date: "%Y" }} - {{ site.author }} -
3
+ <span class="credit">Powered by <a href="https://codeberg.org/mistydemeo/squidpress">Squidpress</a>, based on <a href="http://octopress.org">Octopress</a></span>
4
+ </p>
@@ -0,0 +1,3 @@
1
+ <!--Fonts from Google"s Web font directory at http://google.com/webfonts -->
2
+ <link href="//fonts.googleapis.com/css?family=PT+Serif:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css">
3
+ <link href="//fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css">
@@ -0,0 +1,6 @@
1
+ <hgroup>
2
+ <h1><a href="{{ '/' | relative_url }}">{{ site.title }}</a></h1>
3
+ {% if site.subtitle %}
4
+ <h2>{{ site.subtitle }}</h2>
5
+ {% endif %}
6
+ </hgroup>
@@ -0,0 +1,4 @@
1
+ <ul class="main-navigation">
2
+ <li><a href="{{ '/' | relative_url }}">Blog</a></li>
3
+ <li><a href="{{ '/blog/archives' | relative_url }}">Archives</a></li>
4
+ </ul>
@@ -0,0 +1,21 @@
1
+ {% comment %} Load script if disquss comments are enabled and `page.comments` is either empty (index) or set to true {% endcomment %}
2
+ {% if site.disqus_short_name and page.comments != false %}
3
+ <script type="text/javascript">
4
+ var disqus_shortname = '{{ site.disqus_short_name }}';
5
+ {% if page.comments == true %}
6
+ {% comment %} `page.comments` can be only be set to true on pages/posts, so we embed the comments here. {% endcomment %}
7
+ // var disqus_developer = 1;
8
+ var disqus_identifier = '{{ site.url }}{{ page.url }}';
9
+ var disqus_url = '{{ site.url }}{{ page.url }}';
10
+ var disqus_script = 'embed.js';
11
+ {% else %}
12
+ {% comment %} As `page.comments` is empty, we must be on the index page. {% endcomment %}
13
+ var disqus_script = 'count.js';
14
+ {% endif %}
15
+ (function () {
16
+ var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
17
+ dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
18
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
19
+ }());
20
+ </script>
21
+ {% endif %}
@@ -0,0 +1,10 @@
1
+ {% if site.facebook_like %}
2
+ <div id="fb-root"></div>
3
+ <script>(function(d, s, id) {
4
+ var js, fjs = d.getElementsByTagName(s)[0];
5
+ if (d.getElementById(id)) {return;}
6
+ js = d.createElement(s); js.id = id; js.async = true;
7
+ js.src = "//connect.facebook.net/en_US/all.js#appId=212934732101925&xfbml=1";
8
+ fjs.parentNode.insertBefore(js, fjs);
9
+ }(document, 'script', 'facebook-jssdk'));</script>
10
+ {% endif %}
@@ -0,0 +1 @@
1
+ {% include custom/footer.html %}
@@ -0,0 +1,13 @@
1
+ {% if site.google_analytics_tracking_id %}
2
+ <script type="text/javascript">
3
+ var _gaq = _gaq || [];
4
+ _gaq.push(['_setAccount', '{{ site.google_analytics_tracking_id }}']);
5
+ _gaq.push(['_trackPageview']);
6
+
7
+ (function() {
8
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
9
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
10
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
11
+ })();
12
+ </script>
13
+ {% endif %}
@@ -0,0 +1,9 @@
1
+ {% if site.google_plus_one %}
2
+ <script type="text/javascript">
3
+ (function() {
4
+ var script = document.createElement('script'); script.type = 'text/javascript'; script.async = true;
5
+ script.src = 'https://apis.google.com/js/plusone.js';
6
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(script, s);
7
+ })();
8
+ </script>
9
+ {% endif %}
@@ -0,0 +1,30 @@
1
+ <!DOCTYPE html>
2
+ <!--[if IEMobile 7 ]><html class="no-js iem7"><![endif]-->
3
+ <!--[if lt IE 9]><html class="no-js lte-ie8"><![endif]-->
4
+ <!--[if (gt IE 8)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!--><html class="no-js" lang="en"><!--<![endif]-->
5
+ <head>
6
+ <meta charset="utf-8">
7
+ <title>{% if page.title %}{% if site.titlecase %}{{ page.title | titlecase }}{% else %}{{ page.title }}{% endif %} - {% endif %}{{ site.title }}</title>
8
+ <meta name="author" content="{{ site.author }}">
9
+
10
+ {% capture description %}{% if page.description %}{{ page.description }}{% else %}{{ content | raw_content }}{% endif %}{% endcapture %}
11
+ <meta name="description" content="{{ description | strip_html | condense_spaces | truncate:150 }}">
12
+ {% if page.keywords %}<meta name="keywords" content="{{ page.keywords }}">{% endif %}
13
+
14
+ <!-- http://t.co/dKP3o1e -->
15
+ <meta name="HandheldFriendly" content="True">
16
+ <meta name="MobileOptimized" content="320">
17
+ <meta name="viewport" content="width=device-width, initial-scale=1">
18
+
19
+ {% capture canonical %}{{ site.url }}{% if site.permalink contains '.html' %}{{ page.url }}{% else %}{{ page.url | remove:'index.html' }}{% endif %}{% endcapture %}
20
+ <link rel="canonical" href="{{ canonical }}">
21
+ <link href="{{ '/favicon.png' | relative_url }}" rel="icon">
22
+ <link href="{{ 'assets/stylesheets/screen.css' | relative_url }}" media="screen, projection" rel="stylesheet" type="text/css">
23
+ <link href="{{ site.subscribe_rss }}" rel="alternate" title="{{site.title}}" type="application/atom+xml">
24
+ <script src="{{ '/assets/javascripts/modernizr-2.0.js' | relative_url }}"></script>
25
+ <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
26
+ <script>!window.jQuery && document.write(unescape('%3Cscript src="/assets/javascripts/libs/jquery.min.js"%3E%3C/script%3E'))</script>
27
+ <script src="{{ '/assets/javascripts/octopress.js' | relative_url }}" type="text/javascript"></script>
28
+ {% include custom/head.html %}
29
+ {% include google_analytics.html %}
30
+ </head>
@@ -0,0 +1 @@
1
+ {% include custom/header.html %}
@@ -0,0 +1,15 @@
1
+ <ul class="subscription" data-subscription="rss{% if site.subscribe_email %} email{% endif %}">
2
+ <li><a href="{{ site.subscribe_rss }}" rel="subscribe-rss" title="subscribe via RSS">RSS</a></li>
3
+ {% if site.subscribe_email %}
4
+ <li><a href="{{ site.subscribe_email }}" rel="subscribe-email" title="subscribe via email">Email</a></li>
5
+ {% endif %}
6
+ </ul>
7
+ {% if site.simple_search %}
8
+ <form action="{{ site.simple_search }}" method="get">
9
+ <fieldset role="search">
10
+ <input type="hidden" name="sitesearch" value="{{ site.url | shorthand_url }}">
11
+ <input class="search" type="text" name="q" results="0" placeholder="Search"/>
12
+ </fieldset>
13
+ </form>
14
+ {% endif %}
15
+ {% include custom/navigation.html %}
@@ -0,0 +1,8 @@
1
+ {% if post.author %}
2
+ {% assign author = post.author %}
3
+ {% elsif page.author %}
4
+ {% assign author = page.author %}
5
+ {% else %}
6
+ {% assign author = site.author %}
7
+ {% endif %}
8
+ {% if author %}<span class="byline author vcard">Posted by <span class="fn">{{ author }}</span></span>{% endif %}
@@ -0,0 +1,10 @@
1
+ {% capture category %}{% if post %}{{ post.categories | category_links | size }}{% else %}{{ page.categories | category_links | size }}{% endif %}{% endcapture %}
2
+ {% unless category == '0' %}
3
+ <span class="categories">
4
+ {% if post %}
5
+ {{ post.categories | category_links }}
6
+ {% else %}
7
+ {{ page.categories | category_links }}
8
+ {% endif %}
9
+ </span>
10
+ {% endunless %}
@@ -0,0 +1,5 @@
1
+ {% if page.date %}{% capture time %}{{ page.date_time_html }}{% endcapture %}{% endif %}
2
+ {% if post.date %}{% capture time %}{{ post.date_time_html }}{% endcapture %}{% endif %}
3
+
4
+ {% if page.updated %}{% capture updated %}{{ page.date_time_updated_html }}{% endcapture %}{% endif %}
5
+ {% if post.updated %}{% capture updated %}{{ post.date_time_updated_html }}{% endcapture %}{% endif %}
@@ -0,0 +1 @@
1
+ <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
@@ -0,0 +1,11 @@
1
+ <div class="sharing">
2
+ {% if site.twitter_tweet_button %}
3
+ <a href="//twitter.com/share" class="twitter-share-button" data-url="{{ site.url }}{{ page.url }}" data-via="{{ site.twitter_user }}" data-counturl="{{ site.url }}{{ page.url }}" >Tweet</a>
4
+ {% endif %}
5
+ {% if site.google_plus_one %}
6
+ <div class="g-plusone" data-size="{{ site.google_plus_one_size }}"></div>
7
+ {% endif %}
8
+ {% if site.facebook_like %}
9
+ <div class="fb-like" data-send="true" data-width="450" data-show-faces="false"></div>
10
+ {% endif %}
11
+ </div>
@@ -0,0 +1,11 @@
1
+ {% if site.twitter_follow_button or site.twitter_tweet_button %}
2
+ <script type="text/javascript">
3
+ (function(){
4
+ var twitterWidgets = document.createElement('script');
5
+ twitterWidgets.type = 'text/javascript';
6
+ twitterWidgets.async = true;
7
+ twitterWidgets.src = '//platform.twitter.com/widgets.js';
8
+ document.getElementsByTagName('head')[0].appendChild(twitterWidgets);
9
+ })();
10
+ </script>
11
+ {% endif %}
@@ -0,0 +1,17 @@
1
+ ---
2
+ layout: page
3
+ footer: false
4
+ ---
5
+
6
+ <div id="blog-archives" class="category">
7
+ {% for post in site.categories[page.category] %}
8
+ {% capture this_year %}{{ post.date | date: "%Y" }}{% endcapture %}
9
+ {% unless year == this_year %}
10
+ {% assign year = this_year %}
11
+ <h2>{{ year }}</h2>
12
+ {% endunless %}
13
+ <article>
14
+ {% include archive_post.html %}
15
+ </article>
16
+ {% endfor %}
17
+ </div>
@@ -0,0 +1,14 @@
1
+ {% capture root_url %}{{ site.root | strip_slash }}{% endcapture %}
2
+ {% include head.html %}
3
+ <body {% if page.body_id %} id="{{ page.body_id }}" {% endif %} {% if page.sidebar == false %} class="no-sidebar" {% endif %} {% if page.sidebar == 'collapse' or site.sidebar == 'collapse' %} class="collapse-sidebar sidebar-footer" {% endif %}>
4
+ <header role="banner">{% include header.html %}</header>
5
+ <nav role="navigation">{% include navigation.html %}</nav>
6
+ <div id="main">
7
+ <div id="content">
8
+ {{ content | expand_urls: root_url }}
9
+ </div>
10
+ </div>
11
+ <footer role="contentinfo">{% include footer.html %}</footer>
12
+ {% include after_footer.html %}
13
+ </body>
14
+ </html>
@@ -0,0 +1,42 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <div>
6
+ <article role="article">
7
+ {% if page.title %}
8
+ <header>
9
+ <h1 class="entry-title">{% if site.titlecase %}{{ page.title | titlecase }}{% else %}{{ page.title }}{% endif %}</h1>
10
+ {% if page.date %}<p class="meta">{% include post/date.html %}{{ time }}</p>{% endif %}
11
+ </header>
12
+ {% endif %}
13
+ {{ content }}
14
+ {% unless page.footer == false %}
15
+ <footer>
16
+ {% if page.date or page.author %}<p class="meta">
17
+ {% if page.author %}{% include post/author.html %}{% endif %}
18
+ {% include post/date.html %}{% if updated %}{{ updated }}{% else %}{{ time }}{% endif %}
19
+ {% if page.categories %}{% include post/categories.html %}{% endif %}
20
+ </p>{% endif %}
21
+ {% unless page.sharing == false %}
22
+ {% include post/sharing.html %}
23
+ {% endunless %}
24
+ </footer>
25
+ {% endunless %}
26
+ </article>
27
+ {% if site.disqus_short_name and page.comments == true %}
28
+ <section>
29
+ <h1>Comments</h1>
30
+ <div id="disqus_thread" aria-live="polite">{% include post/disqus_thread.html %}</div>
31
+ </section>
32
+ {% endif %}
33
+ </div>
34
+ {% unless page.sidebar == false %}
35
+ <aside class="sidebar">
36
+ {% if site.page_asides.size %}
37
+ {% include_array page_asides %}
38
+ {% else %}
39
+ {% include_array default_asides %}
40
+ {% endif %}
41
+ </aside>
42
+ {% endunless %}
@@ -0,0 +1,43 @@
1
+ ---
2
+ layout: default
3
+ single: true
4
+ ---
5
+
6
+ <div>
7
+ <article class="hentry" role="article">
8
+ {% include article.html %}
9
+ <footer>
10
+ <p class="meta">
11
+ {% include post/author.html %}
12
+ {% include post/date.html %}{{ time }}{% if updated %} {{ updated }}{% endif %}
13
+ {% include post/categories.html %}
14
+ </p>
15
+ {% unless page.sharing == false %}
16
+ {% include post/sharing.html %}
17
+ {% endunless %}
18
+ <p class="meta">
19
+ {% if page.previous.url %}
20
+ <a class="basic-alignment left" href="{{page.previous.url}}" title="Previous Post: {{page.previous.title}}">&laquo; {{page.previous.title}}</a>
21
+ {% endif %}
22
+ {% if page.next.url %}
23
+ <a class="basic-alignment right" href="{{page.next.url}}" title="Next Post: {{page.next.title}}">{{page.next.title}} &raquo;</a>
24
+ {% endif %}
25
+ </p>
26
+ </footer>
27
+ </article>
28
+ {% if site.disqus_short_name and page.comments == true %}
29
+ <section>
30
+ <h1>Comments</h1>
31
+ <div id="disqus_thread" aria-live="polite">{% include post/disqus_thread.html %}</div>
32
+ </section>
33
+ {% endif %}
34
+ </div>
35
+ {% unless page.sidebar == false %}
36
+ <aside class="sidebar">
37
+ {% if site.post_asides.size %}
38
+ {% include_array post_asides %}
39
+ {% else %}
40
+ {% include_array default_asides %}
41
+ {% endif %}
42
+ </aside>
43
+ {% endunless %}
data/_sass/_base.scss ADDED
@@ -0,0 +1,5 @@
1
+ @import "base/utilities";
2
+ @import "base/solarized";
3
+ @import "base/theme";
4
+ @import "base/typography";
5
+ @import "base/layout";
@@ -0,0 +1,38 @@
1
+ // Contains a subset of compass
2
+ // https://github.com/Compass/compass
3
+ //
4
+ // Copyright (c) 2009-2014 Christopher M. Eppstein
5
+ //
6
+ // Permission is hereby granted, free of charge, to any person obtaining
7
+ // a copy of this software and associated documentation files (the
8
+ // "Software"), to deal in the Software without restriction, including
9
+ // without limitation the rights to use, copy, modify, merge, publish,
10
+ // distribute, sublicense, and/or sell copies of the Software, and to
11
+ // permit persons to whom the Software is furnished to do so, subject to
12
+ // the following conditions:
13
+ //
14
+ // The above copyright notice and this permission notice shall be
15
+ // included in all copies or substantial portions of the Software.
16
+ // No attribution is required by products that make use of this software.
17
+ //
18
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19
+ // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20
+ // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21
+ // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
22
+ // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23
+ // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
24
+ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25
+ //
26
+ // Except as contained in this notice, the name(s) of the above copyright
27
+ // holders shall not be used in advertising or otherwise to promote the sale,
28
+ // use or other dealings in this Software without prior written authorization.
29
+ //
30
+ // Contributors to this project agree to grant all rights to the copyright
31
+ // holder of the primary product. Attribution is maintained in the source
32
+ // control history of the product.
33
+
34
+ @import "minicompass/link-colors";
35
+ @import "minicompass/clearfix";
36
+ @import "minicompass/horizontal-list";
37
+ @import "minicompass/hover-link";
38
+ @import "minicompass/border-radius";
@@ -0,0 +1,8 @@
1
+ @import "partials/header";
2
+ @import "partials/navigation";
3
+ @import "partials/blog";
4
+ @import "partials/sharing";
5
+ @import "partials/syntax";
6
+ @import "partials/archive";
7
+ @import "partials/sidebar";
8
+ @import "partials/footer";