Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

added a jekyll blog

  • Loading branch information...
commit 0bb3db672338b9ea0a9553ab56a5609b0f33f1a7 1 parent c19d9a3
Felix Gnass authored February 17, 2012
3  .gitignore
... ...
@@ -1 +1,2 @@
1  
-.DS_Store
  1
+_site
  2
+.DS_Store
3  README.md
Source Rendered
... ...
@@ -0,0 +1,3 @@
  1
+# About
  2
+
  3
+This is my blog. It's powered by Jekyll and GitHub Pages.
12  _config.yml
... ...
@@ -0,0 +1,12 @@
  1
+auto: true
  2
+pygments: true
  3
+github: fgnass
  4
+
  5
+author:
  6
+  name: Felix Gnass
  7
+  email: fgnass@gmail.com
  8
+  gravatar: 7014e667cb86fc0cbb9414df5bfafd89
  9
+  twitter: fgnass
  10
+
  11
+disqus: fgnass
  12
+analytics: 'UA-19036385-2'
11  _includes/analytics
... ...
@@ -0,0 +1,11 @@
  1
+<script type="text/javascript">
  2
+  var _gaq = _gaq || [];
  3
+  _gaq.push(['_setAccount', '{{ site.analytics }}']);
  4
+  _gaq.push(['_trackPageview']);
  5
+
  6
+  (function() {
  7
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  8
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  9
+    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  10
+  })();
  11
+</script>
12  _includes/disqus
... ...
@@ -0,0 +1,12 @@
  1
+<div id="disqus_thread"></div>
  2
+<script type="text/javascript">
  3
+    {% if site.safe == false %}var disqus_developer = 1;{% endif %}
  4
+    var disqus_shortname = '{{ site.disqus }}';
  5
+    var disqus_identifier = '{{ post.id }}';
  6
+    (function() {
  7
+        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
  8
+        dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
  9
+        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
  10
+    })();
  11
+</script>
  12
+<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
10  _includes/disqus_count
... ...
@@ -0,0 +1,10 @@
  1
+<script type="text/javascript">
  2
+    {% if site.safe == false %}var disqus_developer = 1;{% endif %}
  3
+    var disqus_shortname = '{{ site.disqus }}';
  4
+    (function () {
  5
+        var s = document.createElement('script'); s.async = true;
  6
+        s.type = 'text/javascript';
  7
+        s.src = 'http://' + disqus_shortname + '.disqus.com/count.js';
  8
+        (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
  9
+    }());
  10
+</script>
16  _includes/post
... ...
@@ -0,0 +1,16 @@
  1
+{% if post %}
  2
+  {% assign post_content = post.content %}
  3
+{% else %}
  4
+  {% assign post = page %}
  5
+  {% assign post_content = content %}
  6
+{% endif %}
  7
+
  8
+<h1>
  9
+  <a href="{{ post.url }}">{{ post.title }}</a>
  10
+</h1>
  11
+<p class="meta">
  12
+  <img src="http://www.gravatar.com/avatar/{{ site.author.gravatar }}?s=16" width="16">
  13
+  <a class="author" href="http://github.com/{{ site.github }}">{{ site.github }}</a>
  14
+  <a href="{{ post.url }}" class="date">{{ post.date | date_to_long_string }}</a>
  15
+</p>
  16
+{{ post_content }}
65  _layouts/default.html
... ...
@@ -0,0 +1,65 @@
  1
+<!DOCTYPE html>
  2
+<html lang="en">
  3
+<head>
  4
+    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5
+    <title>{{ page.title }}</title>
  6
+    <meta name="author" content="{{ site.author.name }}" />
  7
+
  8
+    <link href="/blog.atom" rel="alternate" title="{{ page.title }}" type="application/atom+xml">
  9
+
  10
+    <!-- Homepage CSS -->
  11
+    <link rel="stylesheet" href="/assets/default.css" type="text/css" />
  12
+
  13
+    <!-- Disqus -->
  14
+    <link rel="stylesheet" href="/assets/disqus.css" type="text/css" />
  15
+
  16
+    <!-- syntax highlighting CSS -->
  17
+    <link rel="stylesheet" href="/assets/syntax.css" type="text/css" />
  18
+
  19
+</head>
  20
+<body>
  21
+
  22
+  {% capture repo_url %}https://github.com/{{site.github}}/{{site.github}}.github.com{% endcapture %}
  23
+
  24
+  <div id="main">
  25
+
  26
+    <div id="header">
  27
+    </div>
  28
+
  29
+    <div id="content">
  30
+
  31
+      <div class="content">
  32
+        {{ content }}
  33
+      </div>
  34
+
  35
+      <div class="sidebar">
  36
+        <div id="rss">
  37
+          <a href="/blog.atom">Subscribe to this Blog</a>
  38
+        </div>
  39
+
  40
+        <div class="box">
  41
+          <div class="inner">
  42
+            This blog is a public <a href="{{ repo_url }}" target="_blank">GitHub repository</a>. If spot an error or a typo you can fork and edit the posts and send me a pull request. Just go to the post's detail page and click the edit button in the upper right corner.
  43
+          </div>
  44
+        </div>
  45
+
  46
+        <ul>
  47
+          {% for post in site.posts %}
  48
+          <li>
  49
+            <a href="{{ post.url }}">{{ post.title }}</a>
  50
+            <div>{{ post.date | date_to_string }}</div>
  51
+          </li>
  52
+          {% endfor %}
  53
+        </ul>
  54
+
  55
+      </div>
  56
+
  57
+    </div>
  58
+  </div>
  59
+
  60
+  <div id="footer">
  61
+  </div>
  62
+
  63
+  {% include analytics %}
  64
+</body>
  65
+</html>
19  _layouts/post.html
... ...
@@ -0,0 +1,19 @@
  1
+---
  2
+layout: default
  3
+---
  4
+
  5
+{% capture repo_url %}https://github.com/{{site.github}}/{{site.github}}.github.com{% endcapture %}
  6
+{% capture post_path %}{{ page.id | replace_first:'/','' | replace:'/', '-' }}.md{% endcapture %}
  7
+{% capture edit_url %}{{ repo_url }}/edit/master/{{post_path}}{% endcapture %}
  8
+{% capture history_url %}{{ repo_url }}/commits/master/{{post_path}}{% endcapture %}
  9
+
  10
+<div id="actions">
  11
+  <a href="{{ history_url }}" class="minibutton">View History</a>
  12
+  <a href="{{ edit_url }}" class="minibutton">Edit</a>
  13
+</div>
  14
+
  15
+{% include post %}
  16
+
  17
+<div id="comments">
  18
+  {% include disqus %}
  19
+</div>
5  _posts/2012-02-15-brand-new-blog.md
Source Rendered
... ...
@@ -0,0 +1,5 @@
  1
+---
  2
+layout: post
  3
+---
  4
+
  5
+Today I decided to abandon my Posterous blog and move to GitHub Pages. Since most of the things I write about are GitHub projects anyway this looks like a perfect fit.
165  _posts/2012-02-16-inheritance-in-node.md
Source Rendered
... ...
@@ -0,0 +1,165 @@
  1
+---
  2
+layout: post
  3
+tags : [node]
  4
+---
  5
+
  6
+I usually try to avoid using inheritance in JavaScript altogether but sometimes there are situations where using a classic OO-style can make things easier.
  7
+
  8
+Let's assume we have a class `Foo` which we want to extend:
  9
+
  10
+{% highlight js %}
  11
+function Foo() {
  12
+  // constructor code
  13
+}
  14
+Foo.prototype = {
  15
+  bar: function() {
  16
+    // do something
  17
+  }
  18
+};
  19
+{% endhighlight %}
  20
+
  21
+A common pattern is this:
  22
+
  23
+{% highlight js %}
  24
+function Bar() {
  25
+}
  26
+Bar.prototype = Object.create(Foo.prototype);
  27
+Bar.prototype.bar = function() {
  28
+  // do something else
  29
+};
  30
+{% endhighlight %}
  31
+
  32
+In contrast to the original definition of `Foo` this code looks quite noisy.
  33
+
  34
+## Using util.inherits()
  35
+
  36
+ In Node.js there's the [util.inherits()](https://github.com/joyent/node/blob/master/lib/util.js#L498) function which helps us to write the same thing a little more compact and also creates a `constructor` property as well as a reference to the super constructor:
  37
+
  38
+{% highlight js %}
  39
+function Bar() {
  40
+}
  41
+util.inherits(Bar, Foo);
  42
+Bar.prototype.bar = function() {
  43
+  // do something else
  44
+};
  45
+Bar.prototype.baz = function() {
  46
+  // yet another method
  47
+};
  48
+{% endhighlight %}
  49
+
  50
+## Passing properties to Object.create()
  51
+
  52
+Still we have to repeat `Bar.prototype` for each property we want to add. We can overcome this by passing a property descriptor to `Object.create()`:
  53
+
  54
+{% highlight js %}
  55
+function Bar() {
  56
+}
  57
+Bar.prototype = Object.create(Foo.prototype, {
  58
+  bar: { value: function() {
  59
+    // do something else
  60
+  }},
  61
+  baz: { value: function() {
  62
+    // yet another method
  63
+  }}
  64
+});
  65
+{% endhighlight %}
  66
+
  67
+Unfortunately this still looks quite noisy as we have to wrap all our properties into descriptor objects. On the other hand this syntax makes it easy to define getters or setters:
  68
+
  69
+{% highlight js %}
  70
+function Bar() {
  71
+}
  72
+Bar.prototype = Object.create(Foo.prototype, {
  73
+  bar: { value: function() {
  74
+    // do something else
  75
+  }},
  76
+  boo: {
  77
+    get: function() {
  78
+      return this._boo;
  79
+    },
  80
+    set: function(value) {
  81
+      this._boo = value && (''+value).toUpperCase();
  82
+    }
  83
+  }
  84
+});
  85
+{% endhighlight %}
  86
+
  87
+Otherwise we'd have to call `Object.defineProperty('boo', {...})` instead.
  88
+
  89
+## The get and set operators
  90
+
  91
+Still this isn't as concise as it could be. Since JavaScript 1.8.5 the language supports the [get](https://developer.mozilla.org/en/JavaScript/Reference/Operators/get) and [set](https://developer.mozilla.org/en/JavaScript/Reference/Operators/set) operators which can be used inside an object literal to define getters and setters:
  92
+
  93
+{% highlight js %}
  94
+function Foo() {
  95
+  // constructor code
  96
+}
  97
+Foo.prototype = {
  98
+  get boo() {
  99
+    return this._boo;
  100
+  }
  101
+  set boo(value) {
  102
+    this._boo = value && (''+value).toUpperCase();
  103
+  }
  104
+};
  105
+{% endhighlight %}
  106
+
  107
+Now this is nice, but how can we use this approach for our subclass?
  108
+
  109
+## The deprecated, non-standard way
  110
+
  111
+One possibility is to use the non-standard `__proto__` [property](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/Proto) that allows us to change an objects prototype even after it has been created:
  112
+
  113
+{% highlight js %}
  114
+function Bar() {
  115
+}
  116
+Bar.prototype = {
  117
+  __proto__: Foo.prototype,
  118
+  get boo() {
  119
+    return 'Buh!';
  120
+  }
  121
+};
  122
+{% endhighlight %}
  123
+
  124
+## A standard based solution
  125
+
  126
+Despite being deprecated the solution above is currently my favorite inheritance style. If you want to avoid using `__proto__` for some reason you can write a helper function similar to Node's `util.inherits()` that uses standard ECMAScript 5 features to achieve similar results:
  127
+
  128
+{% highlight js %}
  129
+function Foo() {
  130
+  // constructor code
  131
+}
  132
+Foo.prototype = {
  133
+  bar: function() {
  134
+    // do something
  135
+  }
  136
+};
  137
+
  138
+function Bar() {
  139
+  // constructor code
  140
+}
  141
+util.prototype(Bar, Foo, {
  142
+  get boo() {
  143
+    return 'Buh!';
  144
+  }
  145
+});
  146
+{% endhighlight %}
  147
+
  148
+Here is the implementation of the `util.prototype` function:
  149
+
  150
+{% highlight js %}
  151
+function prototype(ctor, superCtor, proto) {
  152
+  var props = {
  153
+    constructor: { value: ctor, writable: true, configurable: true }
  154
+  };
  155
+  Object.getOwnPropertyNames(proto).forEach(function(name) {
  156
+    props[name] = Object.getOwnPropertyDescriptor(proto, name);
  157
+  });
  158
+  ctor.prototype = Object.create(superCtor.prototype, props);
  159
+  ctor.super_ = superCtor;
  160
+}
  161
+{% endhighlight %}
  162
+
  163
+##TL;DR
  164
+
  165
+The get/set operators are cool and `__proto__` is your friend. If you don't want to use it you can write a simple helper function to achive a similar result using standard ECMAScript features.
BIN  assets/comment.png
307  assets/default.css
... ...
@@ -0,0 +1,307 @@
  1
+
  2
+h1 {
  3
+  font-size: 1.9em;
  4
+}
  5
+
  6
+.meta {
  7
+  font-size: 1.3em;
  8
+}
  9
+.meta * {
  10
+  vertical-align: middle;
  11
+}
  12
+.meta .date {
  13
+  color: #ccc;
  14
+}
  15
+
  16
+.meta .author {
  17
+  color: #94BFEA;
  18
+  font-weight: bold;
  19
+}
  20
+
  21
+.meta img {
  22
+  padding: 1px;
  23
+  border: 1px solid #CCC;
  24
+}
  25
+
  26
+a {
  27
+  color: #4183C4;
  28
+  text-decoration: none;
  29
+}
  30
+a:hover {
  31
+  text-decoration: underline;
  32
+}
  33
+
  34
+a.comments {
  35
+  background: url(comment.png) no-repeat;
  36
+  padding-left: 24px;
  37
+}
  38
+
  39
+
  40
+html, body {
  41
+  margin: 0;
  42
+  padding: 0;
  43
+}
  44
+
  45
+html, body, #main { height: 100%; }
  46
+body > #main { height: auto; min-height: 100%; }
  47
+
  48
+#content { padding-bottom: 150px; }  /* must be same height as the footer */
  49
+
  50
+#footer {
  51
+  position: relative;
  52
+  margin-top: -150px;
  53
+  height: 150px;
  54
+  clear:both;
  55
+  border-top: 1px solid #E0E0E0;
  56
+  box-shadow: inset 0 -1px 0 white;
  57
+  background-color: #F8F8F8;
  58
+}
  59
+
  60
+#content {
  61
+  overflow: hidden;
  62
+  padding-bottom: 150px;
  63
+}
  64
+
  65
+body {
  66
+  font: 14px helvetica,arial,freesans,clean,sans-serif;
  67
+  line-height: 1.6;
  68
+  min-height: 100%;
  69
+  color: #333;
  70
+}
  71
+
  72
+pre, code {
  73
+  font: 12px 'Bitstream Vera Sans Mono','Courier',monospace;
  74
+}
  75
+
  76
+#header {
  77
+  background: -webkit-linear-gradient(#FAFAFA,#EAEAEA);
  78
+  border-bottom: 1px solid #CACACA;
  79
+  box-shadow: 0 1px 0 rgba(255,255,255,0.4),0 0 10px rgba(0,0,0,0.1);
  80
+  height: 35px;
  81
+}
  82
+
  83
+#actions {
  84
+  position: absolute;
  85
+  top: 5px;
  86
+  right: 10%;
  87
+}
  88
+
  89
+#comments {
  90
+  margin: 2em 0;
  91
+  padding: 1em 0 50px 0;
  92
+  border-top: 1px solid #ccc;
  93
+}
  94
+
  95
+.content {
  96
+  float: left;
  97
+  width: 45%;
  98
+  padding: 2em 5% 0 10%;
  99
+}
  100
+.sidebar {
  101
+  float: right;
  102
+  width: 30%;
  103
+  padding: 3em 10% 0 0;
  104
+}
  105
+
  106
+.sidebar #rss {
  107
+  background: #E9F2F5 url(rss.png) 5px center no-repeat;
  108
+  border: 1px solid #D9E4E8;
  109
+  border-radius: 5px;
  110
+  padding: 10px 0 10px 42px;
  111
+  margin-bottom: 2em;
  112
+}
  113
+
  114
+.sidebar .box {
  115
+  padding: 3px;
  116
+  background: #EEE;
  117
+  -moz-border-radius: 3px;
  118
+  -webkit-border-radius: 3px;
  119
+  border-radius: 3px;
  120
+  display: block;
  121
+  margin-bottom: 2em;
  122
+  font-size: 12px;
  123
+}
  124
+.sidebar .box .inner {
  125
+  background: #FAFAFB;
  126
+  border: solid #CACACA;
  127
+  padding: 8px 10px;
  128
+  margin: 0px;
  129
+  display: block;
  130
+  line-height: 1.4em;
  131
+  border-width: 1px;
  132
+}
  133
+
  134
+.sidebar ul {
  135
+  list-style-type: none;
  136
+  margin: 0;
  137
+  border: solid #EEE;
  138
+  border-width: 2px 0;
  139
+  padding: 1em 0;
  140
+}
  141
+.sidebar li {
  142
+  padding: 0.5em 0;
  143
+}
  144
+.sidebar ul a {
  145
+  font-size: 1.4em;
  146
+}
  147
+.sidebar ul div {
  148
+  color: #888;
  149
+  font-size: 0.9em;
  150
+}
  151
+
  152
+.minibutton {
  153
+  display: inline-block;
  154
+  height: 21px;
  155
+  padding: 0 10px;
  156
+  cursor: pointer;
  157
+  font-family: Helvetica,arial,freesans,clean,sans-serif;
  158
+  font-size: 11px;
  159
+  line-height: 2;
  160
+  font-weight: bold;
  161
+  color: #333;
  162
+  text-shadow: 1px 1px 0 white;
  163
+  border: 1px solid transparent;
  164
+  border-radius: 3px;
  165
+  background: -webkit-linear-gradient(#F4F4F4,#ECECEC);
  166
+}
  167
+.minibutton:hover {
  168
+  color: white;
  169
+  text-decoration: none;
  170
+  text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
  171
+  border-color: #518CC6;
  172
+  border-bottom-color: #2A65A0;
  173
+  background: -webkit-linear-gradient(#599BDC,#3072B3);
  174
+}
  175
+
  176
+/* */
  177
+
  178
+.content>:first-child {
  179
+  margin-top: 0!important;
  180
+}
  181
+
  182
+.content>:last-child {
  183
+  margin-bottom: 0!important;
  184
+}
  185
+
  186
+.content h1,.content h2,.content h3,.content h4,.content h5,.content h6 {
  187
+  font-weight: 700;
  188
+  margin: 20px 0 10px;
  189
+  padding: 0;
  190
+}
  191
+
  192
+.content h1 {
  193
+  font-size: 2em;
  194
+  color: #000;
  195
+}
  196
+.content h2 {
  197
+  font-size: 1.7em;
  198
+  color: #000;
  199
+}
  200
+.content h3 {
  201
+  font-size:1.2em;
  202
+}
  203
+.content h4 {
  204
+  font-size:1.1em;
  205
+}
  206
+.content h6 {
  207
+  color: #777;
  208
+  font-size: 1em;
  209
+}
  210
+
  211
+.content>h2:first-child,.content>h1:first-child,.content>h1:first-child+h2 {
  212
+  border: 0;
  213
+  margin-top: 0;
  214
+  padding-top: 0;
  215
+}
  216
+
  217
+.content>h3:first-child,.content>h4:first-child,.content>h5:first-child,.content>h6:first-child {
  218
+  margin-top: 0;
  219
+  padding-top: 0;
  220
+}
  221
+
  222
+.content ul,
  223
+.content ol {
  224
+  padding-left: 30px;
  225
+}
  226
+
  227
+.content dl dt {
  228
+  font-size:14px;
  229
+  font-weight:700;
  230
+  font-style:italic;
  231
+  margin:15px 0 5px;
  232
+  padding:0;
  233
+}
  234
+
  235
+.content dl dd {
  236
+  margin:0 0 15px;
  237
+  padding:0 15px;
  238
+}
  239
+
  240
+.content blockquote {
  241
+  border-left:4px solid #DDD;
  242
+  color:#777;
  243
+  padding:0 15px;
  244
+}
  245
+
  246
+.content table {
  247
+  border-collapse:collapse;
  248
+  padding:0;
  249
+}
  250
+
  251
+.content table tr {
  252
+  border-top:1px solid #ccc;
  253
+  background-color:#fff;
  254
+  margin:0;
  255
+  padding:0;
  256
+}
  257
+
  258
+.content table tr:nth-child(2n) {
  259
+  background-color:#f8f8f8;
  260
+}
  261
+
  262
+.content table tr th,
  263
+.content table tr td {
  264
+  border:1px solid #ccc;
  265
+  text-align:left;
  266
+  margin:0;
  267
+  padding:6px 13px;
  268
+}
  269
+
  270
+.content img {
  271
+  max-width:100%;
  272
+}
  273
+
  274
+.content code,
  275
+.content tt {
  276
+  white-space:nowrap;
  277
+  border:1px solid #eaeaea;
  278
+  background-color:#f8f8f8;
  279
+  border-radius:3px;
  280
+  margin:0 2px;
  281
+  padding:0 5px;
  282
+}
  283
+
  284
+.content pre>code {
  285
+  white-space:pre;
  286
+  border:none;
  287
+  background:transparent;
  288
+  margin:0;
  289
+  padding:0;
  290
+}
  291
+
  292
+.content .highlight pre,
  293
+.content pre {
  294
+  background-color:#f8f8f8;
  295
+  border:1px solid #ccc;
  296
+  font-size:13px;
  297
+  line-height:19px;
  298
+  overflow:auto;
  299
+  border-radius:3px;
  300
+  padding:6px 10px;
  301
+}
  302
+
  303
+.content pre code,
  304
+.content pre tt {
  305
+  background-color:transparent;
  306
+  border:none;
  307
+}
97  assets/disqus.css
... ...
@@ -0,0 +1,97 @@
  1
+
  2
+#dsq-content {
  3
+  font-size: 0.8em;
  4
+  color: #333;
  5
+}
  6
+
  7
+#dsq-content #dsq-global-toolbar,
  8
+#dsq-content .dsq-options,
  9
+#dsq-content .dsq-comment-hide-thread,
  10
+#dsq-content .dsq-comment-footer {
  11
+  display: none !important;
  12
+}
  13
+
  14
+#dsq-content h3 {
  15
+  margin: 1em 0 .5em 0;
  16
+}
  17
+
  18
+#dsq-content .dsq-comment {
  19
+  border: 1px solid #CACACA;
  20
+  color: #333;
  21
+  background: #FBFBFB;
  22
+  margin: 0 0 10px 0;
  23
+}
  24
+
  25
+#dsq-content #dsq-comments .dsq-comment-header {
  26
+  background: -webkit-linear-gradient(#FAFAFA,#EAEAEA);
  27
+  border: none;
  28
+  color: #666;
  29
+  border-bottom: 1px solid #CCC;
  30
+  border-radius: 0;
  31
+  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.7);
  32
+}
  33
+
  34
+#dsq-content #dsq-comments .dsq-header-avatar a.dsq-avatar img {
  35
+  width: 20px;
  36
+  height: 20px;
  37
+  border: 1px solid #C8C8C8;
  38
+  padding: 1px;
  39
+  margin: 0;
  40
+  border-radius: 0;
  41
+}
  42
+
  43
+#dsq-content .dsq-comment-header-time {
  44
+  float: right;
  45
+  font-size: 11px;
  46
+  line-height: 16px;
  47
+}
  48
+
  49
+#dsq-content .dsq-button {
  50
+  color: white;
  51
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.4);
  52
+  border-color: #74BB5A;
  53
+  border-bottom-color: #50933;
  54
+  font-family: Helvetica,arial,freesans,clean,sans-serif;
  55
+  font-size: 12px;
  56
+  padding: 8px 15px;
  57
+  background: -webkit-linear-gradient(#8ADD6D,#60B044);
  58
+  box-shadow: 0 1px 4px rgba(0,0,0,0.2);
  59
+  border-radius: 3px;
  60
+}
  61
+
  62
+#dsq-content .dsq-textarea-background {
  63
+  border: none;
  64
+  box-shadow: none;
  65
+  background: none;
  66
+}
  67
+
  68
+#dsq-content #dsq-comments .dsq-comment-message {
  69
+  margin: 10px;
  70
+}
  71
+
  72
+#dsq-content .dsq-post-tools {
  73
+  background: none;
  74
+  border: none;
  75
+  box-shadow: none;
  76
+}
  77
+
  78
+#dsq-content .dsq-reply,
  79
+#dsq-content #dsq-comments .dsq-append-post .dsq-post-area {
  80
+  background: none;
  81
+  border: none;
  82
+}
  83
+
  84
+#dsq-content #dsq-pagination {
  85
+  padding: 0;
  86
+}
  87
+
  88
+#dsq-content .dsq-textarea {
  89
+  padding: 5px;
  90
+  background: #eee;
  91
+  border-radius: 3px;
  92
+}
  93
+#dsq-content #dsq-new-post .dsq-textarea-wrapper {
  94
+  border: 1px solid #666;
  95
+  background: #fff;
  96
+  border-radius: 0;
  97
+}
BIN  assets/rss.png
60  assets/syntax.css
... ...
@@ -0,0 +1,60 @@
  1
+.highlight  { background: #ffffff; }
  2
+.highlight .c { color: #999988; font-style: italic } /* Comment */
  3
+.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
  4
+.highlight .k { font-weight: bold } /* Keyword */
  5
+.highlight .o { font-weight: bold } /* Operator */
  6
+.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
  7
+.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
  8
+.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
  9
+.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
  10
+.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
  11
+.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
  12
+.highlight .ge { font-style: italic } /* Generic.Emph */
  13
+.highlight .gr { color: #aa0000 } /* Generic.Error */
  14
+.highlight .gh { color: #999999 } /* Generic.Heading */
  15
+.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
  16
+.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
  17
+.highlight .go { color: #888888 } /* Generic.Output */
  18
+.highlight .gp { color: #555555 } /* Generic.Prompt */
  19
+.highlight .gs { font-weight: bold } /* Generic.Strong */
  20
+.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
  21
+.highlight .gt { color: #aa0000 } /* Generic.Traceback */
  22
+.highlight .kc { font-weight: bold } /* Keyword.Constant */
  23
+.highlight .kd { font-weight: bold } /* Keyword.Declaration */
  24
+.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
  25
+.highlight .kr { font-weight: bold } /* Keyword.Reserved */
  26
+.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
  27
+.highlight .m { color: #009999 } /* Literal.Number */
  28
+.highlight .s { color: #d14 } /* Literal.String */
  29
+.highlight .na { color: #008080 } /* Name.Attribute */
  30
+.highlight .nb { color: #0086B3 } /* Name.Builtin */
  31
+.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
  32
+.highlight .no { color: #008080 } /* Name.Constant */
  33
+.highlight .ni { color: #800080 } /* Name.Entity */
  34
+.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
  35
+.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
  36
+.highlight .nn { color: #555555 } /* Name.Namespace */
  37
+.highlight .nt { color: #000080 } /* Name.Tag */
  38
+.highlight .nv { color: #008080 } /* Name.Variable */
  39
+.highlight .ow { font-weight: bold } /* Operator.Word */
  40
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
  41
+.highlight .mf { color: #009999 } /* Literal.Number.Float */
  42
+.highlight .mh { color: #009999 } /* Literal.Number.Hex */
  43
+.highlight .mi { color: #009999 } /* Literal.Number.Integer */
  44
+.highlight .mo { color: #009999 } /* Literal.Number.Oct */
  45
+.highlight .sb { color: #d14 } /* Literal.String.Backtick */
  46
+.highlight .sc { color: #d14 } /* Literal.String.Char */
  47
+.highlight .sd { color: #d14 } /* Literal.String.Doc */
  48
+.highlight .s2 { color: #d14 } /* Literal.String.Double */
  49
+.highlight .se { color: #d14 } /* Literal.String.Escape */
  50
+.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
  51
+.highlight .si { color: #d14 } /* Literal.String.Interpol */
  52
+.highlight .sx { color: #d14 } /* Literal.String.Other */
  53
+.highlight .sr { color: #009926 } /* Literal.String.Regex */
  54
+.highlight .s1 { color: #d14 } /* Literal.String.Single */
  55
+.highlight .ss { color: #990073 } /* Literal.String.Symbol */
  56
+.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
  57
+.highlight .vc { color: #008080 } /* Name.Variable.Class */
  58
+.highlight .vg { color: #008080 } /* Name.Variable.Global */
  59
+.highlight .vi { color: #008080 } /* Name.Variable.Instance */
  60
+.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
28  blog.atom
... ...
@@ -0,0 +1,28 @@
  1
+---
  2
+layout: nil
  3
+title : Atom Feed
  4
+---
  5
+<?xml version="1.0" encoding="utf-8"?>
  6
+<feed xmlns="http://www.w3.org/2005/Atom">
  7
+ {% capture base %}http://{{ site.github }}.github.com{% endcapture %}
  8
+ <title>{{ site.title }}</title>
  9
+ <link href="{{ base }}/blog.atom" rel="self"/>
  10
+ <link href="{{ base }}"/>
  11
+ <updated>{{ site.time | date_to_xmlschema }}</updated>
  12
+ <id>{{ base }}</id>
  13
+ <author>
  14
+   <name>{{ site.author.name }}</name>
  15
+   <email>{{ site.author.email }}</email>
  16
+ </author>
  17
+
  18
+ {% for post in site.posts %}
  19
+ <entry>
  20
+   <title>{{ post.title }}</title>
  21
+   <link href="{{ base }}{{ post.url }}"/>
  22
+   <updated>{{ post.date | date_to_xmlschema }}</updated>
  23
+   <id>h{{ base }}{{ post.id }}</id>
  24
+   <content type="html">{{ post.content | xml_escape }}</content>
  25
+ </entry>
  26
+ {% endfor %}
  27
+
  28
+</feed>
18  index.html
... ...
@@ -1,7 +1,11 @@
1  
-<html>
2  
-<head>
3  
-  <meta http-equiv="refresh" content="0;url=https://github.com/fgnass/">
4  
-</head>
5  
-<body>
6  
-</body>
7  
-</html>
  1
+---
  2
+layout: default
  3
+---
  4
+
  5
+{% assign post = site.posts.first %}
  6
+{% include post %}
  7
+
  8
+<div id="comments">
  9
+  <a href="{{ post.url }}#disqus_thread" class="comments" data-disqus-identifier="{{ post.id }}"></a>
  10
+  {% include disqus_count %}
  11
+</div>

0 notes on commit 0bb3db6

Please sign in to comment.
Something went wrong with that request. Please try again.