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.
- checksums.yaml +7 -0
- data/LICENSE +8 -0
- data/README.markdown +32 -0
- data/_includes/after_footer.html +5 -0
- data/_includes/archive_post.html +8 -0
- data/_includes/article.html +29 -0
- data/_includes/asides/delicious.html +8 -0
- data/_includes/asides/github.html +30 -0
- data/_includes/asides/googleplus.html +11 -0
- data/_includes/asides/pinboard.html +19 -0
- data/_includes/asides/recent_posts.html +10 -0
- data/_includes/custom/after_footer.html +3 -0
- data/_includes/custom/asides/about.html +4 -0
- data/_includes/custom/category_feed.xml +27 -0
- data/_includes/custom/footer.html +4 -0
- data/_includes/custom/head.html +3 -0
- data/_includes/custom/header.html +6 -0
- data/_includes/custom/navigation.html +4 -0
- data/_includes/disqus.html +21 -0
- data/_includes/facebook_like.html +10 -0
- data/_includes/footer.html +1 -0
- data/_includes/google_analytics.html +13 -0
- data/_includes/google_plus_one.html +9 -0
- data/_includes/head.html +30 -0
- data/_includes/header.html +1 -0
- data/_includes/navigation.html +15 -0
- data/_includes/post/author.html +8 -0
- data/_includes/post/categories.html +10 -0
- data/_includes/post/date.html +5 -0
- data/_includes/post/disqus_thread.html +1 -0
- data/_includes/post/sharing.html +11 -0
- data/_includes/twitter_sharing.html +11 -0
- data/_layouts/category_index.html +17 -0
- data/_layouts/default.html +14 -0
- data/_layouts/page.html +42 -0
- data/_layouts/post.html +43 -0
- data/_sass/_base.scss +5 -0
- data/_sass/_minicompass.scss +38 -0
- data/_sass/_partials.scss +8 -0
- data/_sass/base/_layout.scss +198 -0
- data/_sass/base/_solarized.scss +47 -0
- data/_sass/base/_theme.scss +92 -0
- data/_sass/base/_typography.scss +166 -0
- data/_sass/base/_utilities.scss +32 -0
- data/_sass/custom/_colors.scss +43 -0
- data/_sass/custom/_fonts.scss +10 -0
- data/_sass/custom/_layout.scss +21 -0
- data/_sass/custom/_styles.scss +2 -0
- data/_sass/minicompass/border-radius.scss +14 -0
- data/_sass/minicompass/bullets.scss +36 -0
- data/_sass/minicompass/clearfix.scss +20 -0
- data/_sass/minicompass/horizontal-list.scss +58 -0
- data/_sass/minicompass/hover-link.scss +5 -0
- data/_sass/minicompass/link-colors.scss +28 -0
- data/_sass/minicompass/reset.scss +117 -0
- data/_sass/partials/_archive.scss +75 -0
- data/_sass/partials/_blog.scss +141 -0
- data/_sass/partials/_footer.scss +23 -0
- data/_sass/partials/_header.scss +18 -0
- data/_sass/partials/_navigation.scss +141 -0
- data/_sass/partials/_sharing.scss +8 -0
- data/_sass/partials/_sidebar.scss +4 -0
- data/_sass/partials/_syntax.scss +268 -0
- data/_sass/partials/sidebar/_base.scss +107 -0
- data/_sass/partials/sidebar/_delicious.scss +4 -0
- data/_sass/partials/sidebar/_googleplus.scss +26 -0
- data/_sass/partials/sidebar/_pinboard.scss +14 -0
- data/_sass/plugins/_plugins.scss +6 -0
- data/assets/images/bird_32_gray.png +0 -0
- data/assets/images/bird_32_gray_fail.png +0 -0
- data/assets/images/code_bg.png +0 -0
- data/assets/images/dotted-border.png +0 -0
- data/assets/images/email.png +0 -0
- data/assets/images/line-tile.png +0 -0
- data/assets/images/noise.png +0 -0
- data/assets/images/rss.png +0 -0
- data/assets/images/search.png +0 -0
- data/assets/javascripts/github.js +32 -0
- data/assets/javascripts/libs/jXHR.js +85 -0
- data/assets/javascripts/libs/jquery.min.js +5 -0
- data/assets/javascripts/libs/swfobject-dynamic.js +298 -0
- data/assets/javascripts/modernizr-2.0.js +5 -0
- data/assets/javascripts/octopress.js +151 -0
- data/assets/javascripts/pinboard.js +56 -0
- data/assets/javascripts/twitter.js +78 -0
- data/assets/jwplayer/glow/controlbar/background.png +0 -0
- data/assets/jwplayer/glow/controlbar/blankButton.png +0 -0
- data/assets/jwplayer/glow/controlbar/divider.png +0 -0
- data/assets/jwplayer/glow/controlbar/fullscreenButton.png +0 -0
- data/assets/jwplayer/glow/controlbar/fullscreenButtonOver.png +0 -0
- data/assets/jwplayer/glow/controlbar/muteButton.png +0 -0
- data/assets/jwplayer/glow/controlbar/muteButtonOver.png +0 -0
- data/assets/jwplayer/glow/controlbar/normalscreenButton.png +0 -0
- data/assets/jwplayer/glow/controlbar/normalscreenButtonOver.png +0 -0
- data/assets/jwplayer/glow/controlbar/pauseButton.png +0 -0
- data/assets/jwplayer/glow/controlbar/pauseButtonOver.png +0 -0
- data/assets/jwplayer/glow/controlbar/playButton.png +0 -0
- data/assets/jwplayer/glow/controlbar/playButtonOver.png +0 -0
- data/assets/jwplayer/glow/controlbar/timeSliderBuffer.png +0 -0
- data/assets/jwplayer/glow/controlbar/timeSliderCapLeft.png +0 -0
- data/assets/jwplayer/glow/controlbar/timeSliderCapRight.png +0 -0
- data/assets/jwplayer/glow/controlbar/timeSliderProgress.png +0 -0
- data/assets/jwplayer/glow/controlbar/timeSliderRail.png +0 -0
- data/assets/jwplayer/glow/controlbar/unmuteButton.png +0 -0
- data/assets/jwplayer/glow/controlbar/unmuteButtonOver.png +0 -0
- data/assets/jwplayer/glow/display/background.png +0 -0
- data/assets/jwplayer/glow/display/bufferIcon.png +0 -0
- data/assets/jwplayer/glow/display/muteIcon.png +0 -0
- data/assets/jwplayer/glow/display/playIcon.png +0 -0
- data/assets/jwplayer/glow/dock/button.png +0 -0
- data/assets/jwplayer/glow/glow.xml +115 -0
- data/assets/jwplayer/glow/playlist/item.png +0 -0
- data/assets/jwplayer/glow/playlist/itemOver.png +0 -0
- data/assets/jwplayer/glow/playlist/sliderCapBottom.png +0 -0
- data/assets/jwplayer/glow/playlist/sliderCapTop.png +0 -0
- data/assets/jwplayer/glow/playlist/sliderRail.png +0 -0
- data/assets/jwplayer/glow/playlist/sliderThumb.png +0 -0
- data/assets/jwplayer/glow/sharing/embedIcon.png +0 -0
- data/assets/jwplayer/glow/sharing/embedScreen.png +0 -0
- data/assets/jwplayer/glow/sharing/shareIcon.png +0 -0
- data/assets/jwplayer/glow/sharing/shareScreen.png +0 -0
- data/assets/jwplayer/player.swf +0 -0
- data/assets/stylesheets/screen.scss +14 -0
- data/atom.xml +27 -0
- data/favicon.png +0 -0
- data/index.html +29 -0
- data/robots.txt +7 -0
- 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,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 }}&sort=date&callback=renderDeliciousLinks"></script>
|
|
6
|
+
<p><a href="http://delicious.com/{{ site.delicious_user }}">My Delicious Bookmarks »</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 »</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,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,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,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 %}
|
data/_includes/head.html
ADDED
|
@@ -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>
|
data/_layouts/page.html
ADDED
|
@@ -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 %}
|
data/_layouts/post.html
ADDED
|
@@ -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}}">« {{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}} »</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,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";
|