boldandblue 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +22 -0
  3. data/README.md +31 -0
  4. data/assets/images/bird_32_gray.png +0 -0
  5. data/assets/images/bird_32_gray_fail.png +0 -0
  6. data/assets/images/code_bg.png +0 -0
  7. data/assets/images/dotted-border.png +0 -0
  8. data/assets/images/email.png +0 -0
  9. data/assets/images/line-tile.png +0 -0
  10. data/assets/images/noise.png +0 -0
  11. data/assets/images/rss.png +0 -0
  12. data/assets/images/search.png +0 -0
  13. data/assets/includes/after_footer.html +5 -0
  14. data/assets/includes/archive_post.html +8 -0
  15. data/assets/includes/article.html +29 -0
  16. data/assets/includes/aside.html +14 -0
  17. data/assets/includes/asides/delicious.html +8 -0
  18. data/assets/includes/asides/github.html +30 -0
  19. data/assets/includes/asides/googleplus.html +11 -0
  20. data/assets/includes/asides/pinboard.html +19 -0
  21. data/assets/includes/asides/recent_posts.html +10 -0
  22. data/assets/includes/custom/after_footer.html +24 -0
  23. data/assets/includes/custom/asides/about.html +4 -0
  24. data/assets/includes/custom/category_feed.xml +27 -0
  25. data/assets/includes/custom/footer.html +4 -0
  26. data/assets/includes/custom/head.html +3 -0
  27. data/assets/includes/custom/header.html +6 -0
  28. data/assets/includes/custom/navigation.html +5 -0
  29. data/assets/includes/disqus.html +21 -0
  30. data/assets/includes/facebook_like.html +10 -0
  31. data/assets/includes/footer.html +1 -0
  32. data/assets/includes/google_analytics.html +13 -0
  33. data/assets/includes/google_plus_one.html +9 -0
  34. data/assets/includes/head.html +29 -0
  35. data/assets/includes/header.html +1 -0
  36. data/assets/includes/index.html +24 -0
  37. data/assets/includes/navigation.html +19 -0
  38. data/assets/includes/post/author.html +8 -0
  39. data/assets/includes/post/categories.html +10 -0
  40. data/assets/includes/post/date.html +13 -0
  41. data/assets/includes/post/disqus_thread.html +1 -0
  42. data/assets/includes/post/sharing.html +11 -0
  43. data/assets/includes/twitter_sharing.html +11 -0
  44. data/assets/javascripts/github.js +32 -0
  45. data/assets/javascripts/libs/jXHR.js +85 -0
  46. data/assets/javascripts/libs/jquery.min.js +5 -0
  47. data/assets/javascripts/libs/swfobject-dynamic.js +298 -0
  48. data/assets/javascripts/modernizr-2.0.js +5 -0
  49. data/assets/javascripts/pinboard.js +56 -0
  50. data/assets/javascripts/twitter.js +78 -0
  51. data/assets/layouts/category_index.html +17 -0
  52. data/assets/layouts/default.html +15 -0
  53. data/assets/layouts/page.html +36 -0
  54. data/assets/layouts/post.html +37 -0
  55. data/assets/pages/archive.html +19 -0
  56. data/assets/pages/index.html +23 -0
  57. data/assets/stylesheets/screen.css +1 -0
  58. data/lib/boldandblue.rb +14 -0
  59. data/lib/boldandblue/version.rb +3 -0
  60. metadata +145 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 939cd1470d0be0799fa2d47361360d2cbe8ad12e
4
+ data.tar.gz: 89e5fc31d9dadf1f7672bc634501f1d3f00eeca5
5
+ SHA512:
6
+ metadata.gz: 31567fe0f960c3cb12a16350e816dcb4c1108a2774996c53bd4e69cd2fe91782e76223afab3b5f4cbc5221121ecbbadd0455e22e9b9d27d30dd0fb96094cd5b4
7
+ data.tar.gz: 1383b1534a895c2f52ae5c19e6066523a94df30608551794fda731d2b952d16a4f63fcc3cc12a8506519cc73a3e2960dc396da5b3222113e46e6584c7403329a
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2015 Grant David Bachman
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,31 @@
1
+ # Boldandblue
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'boldandblue'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ $ bundle
16
+
17
+ Or install it yourself as:
18
+
19
+ $ gem install boldandblue
20
+
21
+ ## Usage
22
+
23
+ TODO: Write usage instructions here
24
+
25
+ ## Contributing
26
+
27
+ 1. Fork it ( https://github.com/[my-github-username]/boldandblue/fork )
28
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
29
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
30
+ 4. Push to the branch (`git push origin my-new-feature`)
31
+ 5. Create a new Pull Request
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,5 @@
1
+ {% include theme:disqus.html %}
2
+ {% include theme:facebook_like.html %}
3
+ {% include theme:google_plus_one.html %}
4
+ {% include theme:twitter_sharing.html %}
5
+ {% include theme:custom/after_footer.html %}
@@ -0,0 +1,8 @@
1
+ {% capture category %}{{ post.categories | size }}{% endcapture %}
2
+ <h1><a href="{{ root_url }}{{ post.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="{{ root_url }}{{ post.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 theme: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 %}{{ root_url }}{{ post.url }}{% endif %}#disqus_thread"
13
+ data-disqus-identifier="{% if post.meta.disqus_id %}{{ post.meta.disqus_id }}{% else %}{{ site.url }}{{ post.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="{{ root_url }}{{ post.url }}">{{ site.excerpt_link }}</a>
25
+ </footer>
26
+ {% endif %}
27
+ {% else %}
28
+ <div class="entry-content">{{ content }}</div>
29
+ {% endif %}
@@ -0,0 +1,14 @@
1
+ <aside class="sidebar">
2
+ {% if site.simple_search %}
3
+ <form action="{{ site.simple_search }}" method="get">
4
+ <fieldset role="search">
5
+ <input type="hidden" name="q" value="site:{{ site.url | shorthand_url }}" />
6
+ <input class="search" type="text" name="q" results="0" placeholder="Search"/>
7
+ </fieldset>
8
+ </form>
9
+ {% endif %}
10
+ <!-- ASIDE MODULES RENDERED HERE -->
11
+ {% include theme:asides/recent_posts.html %}
12
+ {% include theme:asides/github.html %}
13
+ </aside>
14
+
@@ -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.username %}
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 = '{{ root_url}}/javascripts/libs/jXHR.js';
16
+ var s = document.getElementsByTagName('script')[0];
17
+ s.parentNode.insertBefore(jxhr, s);
18
+ }
19
+
20
+ github.showRepos({
21
+ user: '{{site.github.username}}',
22
+ count: {% if site.github.repo_count %}{{ site.github.repo_count }}{% else %} 5 {% endif %},
23
+ skip_forks: {% if site.github.skip_forks %}{{ site.github.skip_forks }}{% else %} true {% endif %},
24
+ target: '#gh_repos'
25
+ });
26
+ });
27
+ </script>
28
+ <script src="{{ root_url }}/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 = '{{ root_url }}/javascripts/pinboard.js';
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="{{ root_url }}{{ post.url }}">{% if site.titlecase %}{{ post.title | titlecase }}{% else %}{{ post.title }}{% endif %}</a>
7
+ </li>
8
+ {% endfor %}
9
+ </ul>
10
+ </section>
@@ -0,0 +1,24 @@
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 %}
4
+ <script>
5
+ $(document).ready(function() {
6
+ var stickyNavTop = $('nav').offset().top;
7
+
8
+ var stickyNav = function(){
9
+ var scrollTop = $(window).scrollTop();
10
+
11
+ if (scrollTop > stickyNavTop) {
12
+ $('nav').addClass('sticky');
13
+ } else {
14
+ $('nav').removeClass('sticky');
15
+ }
16
+ };
17
+
18
+ stickyNav();
19
+
20
+ $(window).scroll(function() {
21
+ stickyNav();
22
+ });
23
+ });
24
+ </script>
@@ -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="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='https://fonts.googleapis.com/css?family=Noto+Serif:400,700' rel='stylesheet' type='text/css'>
3
+ <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>
@@ -0,0 +1,6 @@
1
+ <hgroup>
2
+ <h1><a href="{{ root_url }}/">{{ site.title }}</a></h1>
3
+ {% if site.subtitle %}
4
+ <h2>{{ site.subtitle }}</h2>
5
+ {% endif %}
6
+ </hgroup>
@@ -0,0 +1,5 @@
1
+ <ul class="main-navigation">
2
+ {% for link in site.navigation_links %}
3
+ <li><a href="{{ root_url }}{{ link.url }}">{{ link.name }}</a></li>
4
+ {% endfor %}
5
+ </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 theme: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,29 @@
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' | strip_slash }}{% endif %}{% endcapture %}
20
+ <link rel="canonical" href="{{ canonical }}">
21
+ <link href="{{ root_url }}/favicon.png" rel="icon">
22
+ <!--<link href="{{ root_url }}/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css">-->
23
+ {% css_asset_tag %}
24
+ <link href="{{ site.subscribe_rss }}" rel="alternate" title="{{site.title}}" type="application/atom+xml">
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="./javascripts/libs/jquery.min.js"%3E%3C/script%3E'))</script>
27
+ {% include theme:custom/head.html %}
28
+ {% include theme:google_analytics.html %}
29
+ </head>
@@ -0,0 +1 @@
1
+ {% include theme:custom/header.html %}
@@ -0,0 +1,24 @@
1
+ ---
2
+ layout: theme:default
3
+ permalink: /
4
+ ---
5
+
6
+ <div class="blog-index">
7
+ {% assign index = true %}
8
+ {% for post in paginator.posts %}
9
+ {% assign content = post.content %}
10
+ <article>
11
+ {% include theme:article.html %}
12
+ </article>
13
+ {% endfor %}
14
+ <div class="pagination">
15
+ {% if paginator.next_page %}
16
+ <a class="prev" href="{{paginator.next_page_path}}">&larr; Older</a>
17
+ {% endif %}
18
+ <a href="/archive">Archive</a>
19
+ {% if paginator.previous_page %}
20
+ <a class="next" href="{{paginator.previous_page_path}}">Newer &rarr;</a>
21
+ {% endif %}
22
+ </div>
23
+ </div>
24
+ {% include theme:aside.html %}