Skip to content

Commit

Permalink
Draft
Browse files Browse the repository at this point in the history
  • Loading branch information
groundwater committed Aug 3, 2013
1 parent 3dfb97f commit aa9e47c
Show file tree
Hide file tree
Showing 43 changed files with 1,635 additions and 116 deletions.
113 changes: 113 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
# This is the default format.
# For more see: https://github.com/mojombo/jekyll/wiki/Permalinks
permalink: /blog/:title

exclude: [".rvmrc", ".rbenv-version", "README.md", "Rakefile", "changelog.md"]
pygments: true
markdown: kramdown

# Themes are encouraged to use these universal variables
# so be sure to set them if your theme uses them.
#
title : NodeOS
tagline: Tales from the Terminal
author :
name : Jacob Groundwater
email : [email protected]
github : jacobgroundwater
twitter : 0x604

# The production_url is only used when full-domain names are needed
# such as sitemap.txt
# Most places will/should use BASE_PATH to make the urls
#
# If you have set a CNAME (pages.github.com) set your custom domain here.
# Else if you are pushing to username.github.io, replace with your username.
# Finally if you are pushing to a GitHub project page, include the project name at the end.
#
production_url : http://nodeos.github.io/blog
prefix: /blog

# All Jekyll-Bootstrap specific configurations are namespaced into this hash
#
JB :
version : 0.3.0

# All links will be namespaced by BASE_PATH if defined.
# Links in your website should always be prefixed with {{BASE_PATH}}
# however this value will be dynamically changed depending on your deployment situation.
#
# CNAME (http://yourcustomdomain.com)
# DO NOT SET BASE_PATH
# (urls will be prefixed with "/" and work relatively)
#
# GitHub Pages (http://username.github.io)
# DO NOT SET BASE_PATH
# (urls will be prefixed with "/" and work relatively)
#
# GitHub Project Pages (http://username.github.io/project-name)
#
# A GitHub Project site exists in the `gh-pages` branch of one of your repositories.
# REQUIRED! Set BASE_PATH to: http://username.github.io/project-name
#
# CAUTION:
# - When in Localhost, your site will run from root "/" regardless of BASE_PATH
# - Only the following values are falsy: ["", null, false]
# - When setting BASE_PATH it must be a valid url.
# This means always setting the protocol (http|https) or prefixing with "/"
BASE_PATH : /blog

# By default, the asset_path is automatically defined relative to BASE_PATH plus the enabled theme.
# ex: [BASE_PATH]/assets/themes/[THEME-NAME]
#
# Override this by defining an absolute path to assets here.
# ex:
# http://s3.amazonaws.com/yoursite/themes/watermelon
# /assets
#
ASSET_PATH : false

# These paths are to the main pages Jekyll-Bootstrap ships with.
# Some JB helpers refer to these paths; change them here if needed.
#
archive_path: /archive.html
categories_path : /categories.html
tags_path : /tags.html
atom_path : /atom.xml
rss_path : /rss.xml

# Settings for comments helper
# Set 'provider' to the comment provider you want to use.
# Set 'provider' to false to turn commenting off globally.
#
comments :
provider : false

# Settings for analytics helper
# Set 'provider' to the analytics provider you want to use.
# Set 'provider' to false to turn analytics off globally.
#
analytics :
provider : google
google :
tracking_id : 'UA-123-12'

# Settings for sharing helper.
# Sharing is for things like tweet, plusone, like, reddit buttons etc.
# Set 'provider' to the sharing provider you want to use.
# Set 'provider' to false to turn sharing off globally.
#
sharing :
provider : false

# Settings for all other include helpers can be defined by creating
# a hash with key named for the given helper. ex:
#
# pages_list :
# provider : "custom"
#
# Setting any helper's provider to 'custom' will bypass the helper code
# and include your custom code. Your custom file must be defined at:
# ./_includes/custom/[HELPER]
# where [HELPER] is the name of the helper you are overriding.

10 changes: 10 additions & 0 deletions _drafts/everything-is-a-package.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
layout: post
title: Everything is a Package
tagline: Configuration vs Package Management
---
{% include JB/setup %}

Configuration management vs Package Management.

It's all the same.
38 changes: 38 additions & 0 deletions _drafts/init-design.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
layout: post
title: Node Init Daemon
tagline: Rethinking the Init Process
---
{% include JB/setup %}

- OS/Global NPM packages are managed by `npkg`
- Each users `PATH` variable is always `$HOME/bin:/bin`
- `npkg` binaries are installed to `$HOME/bin`
- `npkg` modules are installed to `$HOME/lib/node_modules`

We need a few

/bin/ <--- only the boot essentials
node
npm
npkg
/root/ <--- init stuff
bin/
getty
bash
init
nodeos-default
lib/node_modules/

The init process is different than init daemons like **system.d** or **upstart**.
The init daemon does not read any configuration files;
it only boots a single process initially,
the process given as it's command line argument.

For example, `init -- npkg start default` tells init to call `npkg` with arguments `start default` after starting.

Before init calls its first argument,
it spawns an HTTP server on `127.0.0.1:1`.
Init jobs can be started and stopped via a RESTful API.

The first processe called by init should call inits API and start the rest of the system.
16 changes: 16 additions & 0 deletions _includes/JB/analytics
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{% if site.safe and site.JB.analytics.provider and page.JB.analytics != false %}

{% case site.JB.analytics.provider %}
{% when "google" %}
{% include JB/analytics-providers/google %}
{% when "getclicky" %}
{% include JB/analytics-providers/getclicky %}
{% when "mixpanel" %}
{% include JB/analytics-providers/mixpanel %}
{% when "piwik" %}
{% include JB/analytics-providers/piwik %}
{% when "custom" %}
{% include custom/analytics %}
{% endcase %}

{% endif %}
12 changes: 12 additions & 0 deletions _includes/JB/analytics-providers/getclicky
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<script type="text/javascript">
var clicky_site_ids = clicky_site_ids || [];
clicky_site_ids.push({{ site.JB.analytics.getclicky.site_id }});
(function() {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = '//static.getclicky.com/js';
( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] ).appendChild( s );
})();
</script>
<noscript><p><img alt="Clicky" width="1" height="1" src="//in.getclicky.com/{{ site.JB.analytics.getclicky.site_id }}ns.gif" /></p></noscript>
11 changes: 11 additions & 0 deletions _includes/JB/analytics-providers/google
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '{{ site.JB.analytics.google.tracking_id }}']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
11 changes: 11 additions & 0 deletions _includes/JB/analytics-providers/mixpanel
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<script type="text/javascript">
var mpq = [];
mpq.push(["init", "{{ site.JB.analytics.mixpanel.token}}"]);
(function(){var b,a,e,d,c;b=document.createElement("script");b.type="text/javascript";
b.async=true;b.src=(document.location.protocol==="https:"?"https:":"http:")+
"//api.mixpanel.com/site_media/js/api/mixpanel.js";a=document.getElementsByTagName("script")[0];
a.parentNode.insertBefore(b,a);e=function(f){return function(){mpq.push(
[f].concat(Array.prototype.slice.call(arguments,0)))}};d=["init","track","track_links",
"track_forms","register","register_once","identify","name_tag","set_config"];for(c=0;c<
d.length;c++){mpq[d[c]]=e(d[c])}})();
</script>
10 changes: 10 additions & 0 deletions _includes/JB/analytics-providers/piwik
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://{{ site.JB.analytics.piwik.baseURL }}/" : "http://{{ site.JB.analytics.piwik.baseURL }}/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", {{ site.JB.analytics.piwik.idsite }});
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
</script><noscript><p><img src="http://{{ site.JB.analytics.piwik.baseURL }}/piwik.php?idsite={{ site.JB.analytics.piwik.idsite }}" style="border:0" alt="" /></p></noscript>
37 changes: 37 additions & 0 deletions _includes/JB/categories_list
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{% comment %}<!--
The categories_list include is a listing helper for categories.
Usage:
1) assign the 'categories_list' variable to a valid array of tags.
2) include JB/categories_list
example:
<ul>
{% assign categories_list = site.categories %}
{% include JB/categories_list %}
</ul>

Notes:
Categories can be either a Hash of Category objects (hashes) or an Array of category-names (strings).
The encapsulating 'if' statement checks whether categories_list is a Hash or Array.
site.categories is a Hash while page.categories is an array.

This helper can be seen in use at: ../_layouts/default.html
-->{% endcomment %}

{% if site.JB.categories_list.provider == "custom" %}
{% include custom/categories_list %}
{% else %}
{% if categories_list.first[0] == null %}
{% for category in categories_list %}
<li><a href="{{ BASE_PATH }}{{ site.JB.categories_path }}#{{ category }}-ref">
{{ category | join: "/" }} <span>{{ site.categories[category].size }}</span>
</a></li>
{% endfor %}
{% else %}
{% for category in categories_list %}
<li><a href="{{ BASE_PATH }}{{ site.JB.categories_path }}#{{ category[0] }}-ref">
{{ category[0] | join: "/" }} <span>{{ category[1].size }}</span>
</a></li>
{% endfor %}
{% endif %}
{% endif %}
{% assign categories_list = nil %}
16 changes: 16 additions & 0 deletions _includes/JB/comments
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{% if site.JB.comments.provider and page.comments != false %}

{% case site.JB.comments.provider %}
{% when "disqus" %}
{% include JB/comments-providers/disqus %}
{% when "livefyre" %}
{% include JB/comments-providers/livefyre %}
{% when "intensedebate" %}
{% include JB/comments-providers/intensedebate %}
{% when "facebook" %}
{% include JB/comments-providers/facebook %}
{% when "custom" %}
{% include custom/comments %}
{% endcase %}

{% endif %}
14 changes: 14 additions & 0 deletions _includes/JB/comments-providers/disqus
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<div id="disqus_thread"></div>
<script type="text/javascript">
{% if site.safe == false %}var disqus_developer = 1;{% endif %}
var disqus_shortname = '{{ site.JB.comments.disqus.short_name }}'; // required: replace example with your forum shortname
{% if page.wordpress_id %}var disqus_identifier = '{{page.wordpress_id}} {{site.production_url}}/?p={{page.wordpress_id}}';{% endif %}
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>
9 changes: 9 additions & 0 deletions _includes/JB/comments-providers/facebook
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId={{ site.JB.comments.facebook.appid }}";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-comments" data-href="{{ site.production_url }}" data-num-posts="{{ site.JB.comments.facebook.num_posts }}" data-width="{{ site.JB.comments.facebook.width }}" data-colorscheme="{{ site.JB.comments.facebook.colorscheme }}"></div>
6 changes: 6 additions & 0 deletions _includes/JB/comments-providers/intensedebate
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<script>
var idcomments_acct = '{{ site.JB.comments.intensedebate.account }}';
var idcomments_post_id;
var idcomments_post_url;
</script>
<script type="text/javascript" src="http://www.intensedebate.com/js/genericLinkWrapperV2.js"></script>
6 changes: 6 additions & 0 deletions _includes/JB/comments-providers/livefyre
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<script type='text/javascript' src='http://zor.livefyre.com/wjs/v1.0/javascripts/livefyre_init.js'></script>
<script type='text/javascript'>
var fyre = LF({
site_id: {{ site.JB.comments.livefyre.site_id }}
});
</script>
32 changes: 32 additions & 0 deletions _includes/JB/liquid_raw
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{% comment%}<!--
The liquid_raw helper is a way to display raw liquid code, as opposed to parsing it.
Normally you'd use Liquid's built in 'raw' tag.
The problem is GitHub Jekyll does not support the current Liquid release.
GitHub Jekyll supports the deprecated 'literal' tag.
Using one will break the other if you plan to deploy to GitHub pages.
see: https://github.com/mojombo/jekyll/issues/425

Since I don't want to mess with Liquid versions, I'll just rewrite the way I
intend to give liquid examples. It's not an elegant by any means:

Usage:
1) Define a 'text' variable with the block of liquid code you intend to display.
2) Pass the text variable to include JB/liquid_raw

example:
{% capture text %}|.% for tag in tags_list %.|
<li><a href="|.{ site.var.tags_path }.||.{ tag[0] }.|-ref">|.{ tag[0] }.| <span>|.{tag[1].size}.|</span></a></li>
|.% endfor %.|

|.% assign tags_list = null %.|{% endcapture %}
{% include JB/liquid_raw %}

As seen here, you must use "|." and ".|" as opening and closing brackets.
-->{% endcomment%}

{% if site.JB.liquid_raw.provider == "custom" %}
{% include custom/liquid_raw %}
{% else %}
<pre><code>{{text | replace:"|.", "&#123;" | replace:".|", "&#125;" | replace:">", "&gt;" | replace:"<", "&lt;" }}</code></pre>
{% endif %}
{% assign text = nil %}
Loading

0 comments on commit aa9e47c

Please sign in to comment.