Merge pull request #1093 from mojombo/blog-posts

News: Blog Posts on jekyllrb.com
This commit is contained in:
Matt Rogers 2013-07-08 12:00:48 -07:00
commit 66c2ceeda3
17 changed files with 387 additions and 17 deletions

View File

@ -1,3 +1,4 @@
pygments: true
relative_permalinks: false
gauges_id: 503c5af6613f5d0f19000027
permalink: /news/:year/:month/:day/:title

View File

@ -0,0 +1,23 @@
<div class="unit one-fifth hide-on-mobiles">
<aside>
<ul>
<li class="{% if page.title == 'News' %}current{% endif %}">
<a href="/news/">All News</a>
</li>
<li class="{% if page.title == 'Releases' %}current{% endif %}">
<a href="/news/releases/">Jekyll Releases</a>
</li>
</ul>
<h4>Recent Releases</h4>
<ul>
{% for post in site.posts limit:5 %}
<li class="{% if page.title == post.title %}current{% endif %}">
<a href="{{ post.url }}">Version {{ post.version }}</a>
</li>
{% endfor %}
<li>
<a href="/docs/history/">History »</a>
</li>
</ul>
</aside>
</div>

View File

@ -0,0 +1,11 @@
<div class="docs-nav-mobile unit whole show-on-mobiles">
<select onchange="if (this.value) window.location.href=this.value">
<option value="">Navigate the blog…</option>
<option value="/news/">Home</option>
<optgroup label="v1.x">
{% for post in site.posts %}
<option value="{{ post.url }}">{{ post.title }}</option>
{% endfor %}
</optgroup>
</select>
</div>

View File

@ -0,0 +1,24 @@
<article>
<h2 class="center-on-mobiles">
<a href="{{ post.url }}">
{{ post.title }}
</a>
</h2>
<span class="post-category">
{% for category in post.categories %}
<span class="label">{{ category }}</span>
{% endfor %}
</span>
<div class="post-meta">
<span class="post-date">
{{ post.date | date_to_string }}
</span>
<a href="https://github.com/{{ post.author }}" class="post-author">
<img src="https://github.com/{{ post.author }}.png" class="avatar" />
{{ post.author }}
</a>
</div>
<p class="post-content">
{{ post.content }}
</p>
</article>

View File

@ -2,9 +2,12 @@
<li class="{% if page.overview %}current{% endif %}">
<a href="{{ site.url }}/">Overview</a>
</li>
<li class="{% unless page.overview %}current{% endunless %}">
<li class="{% if page.url contains '/docs/' %}current{% endif %}">
<a href="{{ site.url }}/docs/home">Doc<span class="show-on-mobiles">s</span><span class="hide-on-mobiles">umentation</span></a>
</li>
<li class="{% if page.author %}current{% endif %}">
<a href="{{ site.url }}/news">News</a>
</li>
<li class="">
<a href="https://github.com/mojombo/jekyll"><span class="hide-on-mobiles">View on </span>GitHub</a>
</li>

View File

@ -4,6 +4,7 @@
<meta charset="UTF-8">
<title>{{ page.title }}</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="alternate" type="application/rss+xml" title="Jekyll • Simple, blog-aware, static sites - Feed" href="/feed.xml" />
<link href='http://fonts.googleapis.com/css?family=Lato:100,300,400,700,900,100italic,300italic,400italic,700italic,900italic' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Arizonia' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="{{ site.url }}/css/normalize.css" />

19
site/_layouts/news.html Normal file
View File

@ -0,0 +1,19 @@
---
layout: default
---
<section class="news">
<div class="grid">
{% include news_contents_mobile.html %}
<div class="unit four-fifths">
{{ content }}
</div>
{% include news_contents.html %}
<div class="clear"></div>
</div>
</section>

View File

@ -0,0 +1,27 @@
---
layout: news
---
<article>
<h2 class="center-on-mobiles">
{{ page.title }}
<a href="{{ page.url }}" class="permalink" title="Permalink"></a>
</h2>
<span class="post-category">
{% for category in page.categories %}
<span class="label">{{ category }}</span>
{% endfor %}
</span>
<div class="post-meta">
<span class="post-date">
{{ page.date | date_to_string }}
</span>
<a href="https://github.com/{{ page.author }}" class="post-author">
<img src="https://github.com/{{ page.author }}.png" class="avatar" />
{{ page.author }}
</a>
</div>
<p class="post-content">
{{ content }}
</p>
</article>

View File

@ -0,0 +1,23 @@
---
layout: news_item
title: "Jekyll 1.0.0 Released"
date: "2013-05-06 02:12:52 +0200"
author: parkr
version: 1.0.0
categories: [release]
---
Hey! After many months of hard work by Jekyll's contributors, we're excited
to announce the first major release of the project in a long while. v1.0.0 is
finally here! While the list of improvements and bug fixes is [quite lengthy][history],
here are the highlights (thanks to [@benbalter](http://twitter.com/BenBalter) for the
examples and for compiling this list):
- Support for the Gist tag for easily embedding Gists ([example](https://gist.github.com/benbalter/5555251))
- Automatically generated post excerpts ([example](https://gist.github.com/benbalter/5555369))
- Save and preview drafts before publishing ([example](https://gist.github.com/benbalter/5555992))
Take a look at the [Upgrading][] page in the docs for more detailed information.
[history]: /docs/history/#100__20130506
[Upgrading]: /docs/upgrading/

View File

@ -0,0 +1,27 @@
---
layout: news_item
title: "Jekyll 1.0.1 Released"
date: "2013-05-08 23:46:11 +0200"
author: parkr
version: 1.0.1
categories: [release]
---
Hot on the trails of v1.0, v1.0.1 is out! Here are the highlights:
* Add newer `language-` class name prefix to code blocks ([#1037][])
* Commander error message now preferred over process abort with incorrect args ([#1040][])
* Do not force use of toc_token when using generate_toc in RDiscount ([#1048][])
* Make Redcarpet respect the pygments configuration option ([#1053][])
* Fix the index build with LSI ([#1045][])
* Don't print deprecation warning when no arguments are specified. ([#1041][])
* Add missing `</div>` to site template used by `new` subcommand, fixed typos in code ([#1032][])
See the [History][] page for more information on this release.
{% assign issue_numbers = "1037|1040|1048|1053|1045|1041|1032" | split: "|" %}
{% for issue in issue_numbers %}
[#{{ issue }}]: https://github.com/mojombo/jekyll/issues/{{ issue }}
{% endfor %}
[History]: /docs/history/#101__20130508

View File

@ -0,0 +1,28 @@
---
layout: news_item
title: "Jekyll 1.0.2 Released"
date: "2013-05-12 14:45:00 +0200"
author: parkr
version: 1.0.2
categories: [release]
---
v1.0.2 has some key bugfixes that optionally restore some behaviour from pre-1.0
releases, and fix some other annoying bugs:
* Backwards-compatibilize relative permalinks ([#1081][])
* Add `jekyll doctor` command to check site for any known compatibility problems ([#1081][])
* Deprecate old config `server_port`, match to `port` if `port` isn't set ([#1084][])
* Update pygments.rb and kramdon versions to 0.5.0 and 1.0.2, respectively ([#1061][], [#1067][])
* Fix issue when post categories are numbers ([#1078][])
* Add a `data-lang="<lang>"` attribute to Redcarpet code blocks ([#1066][])
* Catching that Redcarpet gem isn't installed ([#1059][])
See the [History][] page for more information on this release.
{% assign issue_numbers = "1059|1061|1066|1067|1078|1081|1084" | split: "|" %}
{% for issue in issue_numbers %}
[#{{ issue }}]: https://github.com/mojombo/jekyll/issues/{{ issue }}
{% endfor %}
[History]: /docs/history/#102__20130512

View File

@ -0,0 +1,25 @@
---
layout: news_item
title: "Jekyll 1.0.3 Released"
date: "2013-06-07 21:02:13 +0200"
author: parkr
version: 1.0.3
categories: [release]
---
v1.0.3 contains some key enhancements and bug fixes:
- Fail with non-zero exit code when MaRuKu errors ([#1190][]) or Liquid errors ([#1121][])
- Add support for private gists to `gist` tag ([#1189][])
- Add `--force` option to `jekyll new` ([#1115][])
- Fix compatibility with `exclude` and `include` with pre-1.0 Jekyll ([#1114][])
- Fix pagination issue regarding `File.basename` and `page:num` ([#1063][])
See the [History][] page for more information on this release.
{% assign issue_numbers = "1190|1121|1189|1115|1114|1063" | split: "|" %}
{% for issue in issue_numbers %}
[#{{ issue }}]: https://github.com/mojombo/jekyll/issues/{{ issue }}
{% endfor %}
[History]: /docs/history/#103__20130607

View File

@ -117,7 +117,7 @@ nav li {
.mobile-nav li {
display: table-cell;
width: 33.3%;
width: 25%;
padding: 8px;
}
@ -359,40 +359,38 @@ body > footer a:hover img {
}
}
/* Documentation */
/* Article - Used for both docs and news */
.docs .content {
padding: 0;
}
.docs article {
article {
background: #444;
border-radius: 10px;
padding: 20px;
margin: 0 10px;
box-shadow: 0 3px 10px rgba(0,0,0,.1);
min-height: 800px;
font-size: 16px;
}
@media (max-width: 568px){
.docs article {
article {
margin: 0;
}
}
@media (min-width: 768px){
.docs article {
article {
padding: 40px 40px 30px;
font-size: 21px;
}
}
.docs aside {
/* Right-side nav - used by both docs and news */
aside {
padding-top: 30px;
}
.docs aside h4 {
aside h4 {
text-transform: uppercase;
font-size: 14px;
font-weight: 700;
@ -402,20 +400,24 @@ body > footer a:hover img {
border-bottom: 1px solid #c00;
}
.docs aside ul {
aside ul {
padding-left: 0;
}
.docs aside li {
aside ul:first-child {
margin-top: 0;
}
aside li {
list-style-type: none;
}
.docs aside li a {
aside li a {
font-size: 16px;
position: relative
}
.docs aside li.current a:before {
aside li.current a:before {
content: "";
border-color: transparent transparent transparent #444;
border-style: solid;
@ -427,6 +429,16 @@ body > footer a:hover img {
left: -30px;
}
/* Documentation */
.docs article {
min-height: 800px;
}
.docs .content {
padding: 0;
}
.section-nav {
text-align: center;
padding-top: 40px;
@ -499,6 +511,96 @@ body > footer a:hover img {
width: 100%;
}
/* News */
article h2:first-child {
margin-top: 0;
}
.post-category,
.post-meta {
display: inline-block;
vertical-align: middle;
font-size: .8em;
}
.post-category {
display: inline-block;
margin-left: -30px;
padding: 6px 10px 8px;
padding-left: 50px;
border-radius: 0 5px 5px 0;
position: relative;
box-shadow: 0 1px 5px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255,255,255,.2), inset 0 -1px 0 rgba(0,0,0,.3);
background: #9e2812;
background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzllMjgxMiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2ZjBkMGQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
background: -moz-linear-gradient(top, #9e2812 0%, #6f0d0d 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#9e2812), color-stop(100%,#6f0d0d));
background: -webkit-linear-gradient(top, #9e2812 0%,#6f0d0d 100%);
background: -o-linear-gradient(top, #9e2812 0%,#6f0d0d 100%);
background: -ms-linear-gradient(top, #9e2812 0%,#6f0d0d 100%);
background: linear-gradient(to bottom, #9e2812 0%,#6f0d0d 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9e2812', endColorstr='#6f0d0d',GradientType=0 );
}
.label {
float: left;
text-transform: uppercase;
font-weight: bold;
text-shadow: 0 -1px 0 rgba(0,0,0,.5);
}
@media (max-width: 568px){
.post-category {
margin-right: -30px;
}
}
@media (min-width: 768px){
.post-category {
margin-left: -50px;
}
}
.post-category:before {
content: "";
position: absolute;
top: -10px;
left: 0px;
border-color: transparent #6f0d0d #6f0d0d transparent;
border-style: solid;
border-width: 5px;
width: 0;
height: 0;
}
.avatar {
width: 24px;
height: 24px;
border-radius: 3px;
display: inline-block;
vertical-align: middle;
}
.post-meta {
padding: 5px 0;
color: #aaa;
font-weight: 600;
text-shadow: 0 -1px 0 #000;
}
.post-date,
.post-author {
margin-left: 10px;
}
.news article + article {
margin-top: -10px;
border-radius: 0 0 10px 10px;
border-top: 1px solid #555;
box-shadow: 0 -1px 0 #2f2f2f;
}
/* Code Highlighting */

36
site/feed.xml Normal file
View File

@ -0,0 +1,36 @@
---
layout: none
permalink: /feed.xml
---
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
>
<channel>
<title xml:lang="en">Jekyll • Simple, blog-aware, static sites</title>
<atom:link type="application/atom+xml" href="http://jekyllrb.com/feed/" rel="self"/>
<link>http://jekyllrb.com</link>
<pubDate>{{ site.time | date: "%a, %d %b %Y %H:%M:%S %z" }}</pubDate>
<lastBuildDate>{{ site.time | date: "%a, %d %b %Y %H:%M:%S %z" }}</lastBuildDate>
<language>en-US</language>
<description>Transform your plain text into static websites and blogs.</description>
{% for post in site.posts %}
<item>
<title>{{ post.title }}</title>
<link>http://jekyllrb.com{{ post.url }}</link>
<pubDate>{{ post.date | date: "%a, %d %b %Y %H:%M:%S %z" }}</pubDate>
<dc:creator>{{ post.author }}</dc:creator>
{% for tag in post.tags %}<category>{{ tag | xml_escape }}</category>
{% endfor %}{% for cat in post.categories %}<category>{{ cat | xml_escape }}</category>
{% endfor %}<guid isPermaLink="false">{{ post.id }}</guid>
<description><![CDATA[ {{ post.content }} ]]></description>
</item>
{% endfor %}
</channel>
</rss>

View File

@ -1,6 +1,6 @@
---
layout: default
title: Jekyll Simple, blog-aware, static sites
title: Jekyll &bull; Simple, blog-aware, static sites
overview: true
---

10
site/news/index.md Normal file
View File

@ -0,0 +1,10 @@
---
layout: news
title: News
permalink: /news/
author: all
---
{% for post in site.posts %}
{% include news_item.html %}
{% endfor %}

View File

@ -0,0 +1,10 @@
---
layout: news
title: Releases
permalink: /news/releases/
author: all
---
{% for post in site.categories.release %}
{% include news_item.html %}
{% endfor %}