Skip to content

Commit

Permalink
Merge pull request #106 from karlfreeman/blog
Browse files Browse the repository at this point in the history
Implement Middleman-Blog

Conflicts:
	Gemfile.lock
	source/layouts/layout.haml
  • Loading branch information
indirect committed Jul 16, 2014
2 parents 3c647c9 + 1a920ae commit 312e088
Show file tree
Hide file tree
Showing 13 changed files with 254 additions and 93 deletions.
3 changes: 2 additions & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@ source 'https://rubygems.org'
gem 'middleman', '~> 3.2'
gem 'middleman-livereload'
gem 'middleman-syntax', github: 'middleman/middleman-syntax'
gem 'middleman-blog'
gem 'compass'
gem 'rake'
gem 'ronn'
gem 'kramdown'
gem 'builder'
gem 'builder'
9 changes: 9 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ GEM
activesupport (3.2.16)
i18n (~> 0.6, >= 0.6.4)
multi_json (~> 1.0)
addressable (2.3.6)
builder (3.2.2)
chunky_png (1.2.9)
coffee-script (2.2.0)
Expand Down Expand Up @@ -51,6 +52,10 @@ GEM
middleman-sprockets (>= 3.1.2)
sass (>= 3.1.20)
uglifier (~> 2.1.0)
middleman-blog (3.5.3)
addressable (~> 2.3.5)
middleman-core (~> 3.2)
tzinfo (>= 0.3.0)
middleman-core (3.2.1)
activesupport (~> 3.2.6)
bundler (~> 1.1)
Expand Down Expand Up @@ -101,7 +106,10 @@ GEM
sprockets (~> 2.0)
tilt (~> 1.1)
thor (0.18.1)
thread_safe (0.3.4)
tilt (1.4.1)
tzinfo (1.2.1)
thread_safe (~> 0.1)
uglifier (2.1.2)
execjs (>= 0.3.0)
multi_json (~> 1.0, >= 1.0.2)
Expand All @@ -114,6 +122,7 @@ DEPENDENCIES
compass
kramdown
middleman (~> 3.2)
middleman-blog
middleman-livereload
middleman-syntax!
rake
Expand Down
9 changes: 8 additions & 1 deletion config.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,15 @@
set :js_dir, 'javascripts'
set :images_dir, 'images'

activate :blog do |blog|
blog.name = 'blog'
blog.prefix = 'blog'
blog.permalink = '{year}/{month}/{day}/{title}.html'
blog.layout = 'blog_layout'
end

configure :development do
activate :livereload
# activate :livereload
end

configure :build do
Expand Down
7 changes: 7 additions & 0 deletions source/blog.haml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
%h2 Bundler news and updates

%ul.posts
- blog.articles.each do |article|
%li
.date= article.date.to_date.strftime("%b %e, %Y")
= link_to article.title, article.url
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: Goodbye Bundler 1.4, Hello Bundler 1.5
date: 2013/10/12
draft: false
author: Terence Lee
author_url: https://hone.heroku.com
category: release
---

People [have been asking](#) why we jumped from a 1.4 release candidate to a 1.5 one without ever releasing Bundler 1.4.0. The Bundler core team takes releases very seriously and tries to be an example of thoughtful release practices to the Ruby community. Since we follow [standard releases candidate](#) policies, release candidates are automatically under a feature freeze. Each release candidate gets roughly two weeks of testing, and any significant bugfixes result in a new release candidate and the timer starting over. The exact code from the first release candidate with no significant bugs will be the code released as the final version.

When we released [Bundler 1.4.0.rc.1](#) it was missing some important features that we wanted to include. While we could have released 1.4 immediately and started testing 1.5, the 1.4 RC had significant bugs as well. While discussing our options, it became clear that the best way to improve Bundler for all users was to drop the 1.4 release and cut a new 1.5.0 release candidate that included all the features in 1.4.0 and the features we had intended to release in 1.4 originally but missed in the RC. Even though there isn't a 1.4.0, we're excited to bring an even faster Bundler to the community with parallel installs. Please help us test 1.5.0! We've compiled a list of changes in the [what's new section](#) on [Bundler documentation website](#).

Special thanks to [Jacob Kaplan Moss](#) and [Daniel Farina](#) for advising me on this course of action and bringing their sane Python practices with them.
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
title: The rumors of Bundler's death have been greatly exaggerated
date: 2013/12/07
draft: false
author: André Arko
author_url: http://arko.net
category: annoucement
---

So this week there was some excitement on [Github](#), [Hacker News](#), and [Ruby Weekly](#) about the news that Bundler will (eventually) be merged into Rubygems. Before that comment, which was a side point on a different topic, the idea of merging the two projects had not been announced or explained. As lead of the Bundler project, I'd like to explain the merger plan, such as it is, and the reasoning behind it.

The underlying motivation is simple: Rubygems and Bundler do a lot of the same things. Installing gems, downloading gems, resolving dependencies, and the like. It's a pretty long list of duplicated functionality. Since the Rubygems team now values many features that started in Bundler, they are also adding them, leading to even more duplicated functionality.

During RubyConf this year in Miami, the Bundler team (represented by Terence Lee and myself) and the Rubygems team (represented by Eric Hodel and Evan Phoenix) met to talk about the increasing duplication. In that meeting, we agreed it made sense to decrease the duplication by merging the Rubygems and Bundler projects into one codebase and one team. Eventually. One day.

But not yet! Because still there's a lot of stuff going on. Bundler and Rubygems already have separate feature road maps for the next 6 months, including things like parallel installation of gems and the new, more efficient index format that I talked about in my [talk at RubyConf](#). As a result of those plans, the merger work of combining code, tests, teams, and policies is not expected to be done for a year or even two years. At the earliest.

While we're talking about potential changes that are this big, I'd also like to make a point about what this means for Bundler. The Bundler team has taken great pains over the years so that Bundler can be stable, reliable, and dependable. We have also gone out of our way to conform strictly to semantic versioning. This has all been for a simple reason: trust. We want you to be able to trust Bundler. To keep that trust, we are willing to make changes much more slowly and cautiously than many other projects. While we all agree that reducing duplicate work is good, keeping Bundler trustworthy is an even higher priority than combining our work.

Even with the plan to eventually merge projects, Bundler will continue to adhere to semantic versioning. We will continue to run the exhaustive Bundler integration RSpec suite. We will continue working just as hard to make sure Bundler updates are reliable and useful to the entire Ruby community. While everyone involved agrees this merger seems good, it also involves a huge amount of work. At a minimum, we need a unified release process and a functional single codebase, but we haven't even started working on either of those yet!

In the meantime, we are enjoying higher cooperation than ever before between the Rubygems and Bundler projects. We are deliberately sharing both server-side and client-side code for the new index format. The Rubygems team has said they will begin using Bundler's integration tests along side their unit tests.

I'm excited about the idea of sharing work between both projects and eliminating duplicated code. We have a common goal of streamlining and simplifying the work of using gems for everyone in Ruby. Even though we aren't working on merging projects yet, keep an eye out for releases of both Bundler and Rubygems that showcase the work we are cooperating to do together.

And we will be happy to announce the merger once it has happened.
23 changes: 23 additions & 0 deletions source/layouts/blog_layout.haml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
!!!
- v = current_page.url.scan(/v\d\.\d/).first || 'v1.5'
%html
%head
= partial 'partials/head'
%body
#body
#header
- logo_img = image_tag('gembundler.png', :width => 725, :alt => "The best way to manage your application's dependencies")
= link_to logo_img, '/', :class => 'image'
#container
.contents.blog
%h2.title
= link_to current_article.title, current_article.url
%h3.subtitle
by
= link_to current_article.data.author, current_article.data.author_url, :target => '_blank'
on
%time
= current_article.date.strftime('%b %e %Y')
%hr
= yield
= partial 'partials/footer', locals: { v: v }
86 changes: 3 additions & 83 deletions source/layouts/layout.haml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,7 @@
- v = current_page.url.scan(/v\d\.\d/).first || 'v1.6'
%html
%head
%title Bundler: The best way to manage a Ruby application's gems
%meta{'http-equiv' => 'Content-Type', 'content' => 'text/html; charset=UTF-8'}
%meta{'name' => 'globalsign-domain-verification', 'content' => '276VSYOko8B8vIu1i8i5qbj7_ql5PXo0dU69XQy-SL'}
%link{:rel => 'shortcut icon', :href => '/images/favicon.png', :type => 'image/png'}
= stylesheet_link_tag 'application'
= partial 'partials/head'
%body
#body
#header
Expand All @@ -15,81 +11,5 @@
#container
#contents
= yield
- if v == 'v1.6'
#sidebar
%h2 Would you like to
%ul
%li= link_to 'Get started', '/#getting-started'
%li= link_to 'Report a bug', '/issues.html'
%li= link_to "See what's new", '/v1.6/whats_new.html'
%li= link_to 'Read documentation', '/v1.6/man/bundle.1.html'
%li= link_to 'Discuss and Contribute', '/#get-involved'
%li= link_to 'View FAQs', '/v1.6/faq.html'

.shirts
.content
%p
Bundler is developed entirely by a team of volunteers.
= link_to 'Support their work', 'http://www.gittip.com/bundler'
and help make Bundler better for everyone.
%p
%script{"data-gittip-username" => "bundler", "src" => "//gttp.co/v1.js"}
%br
%br
%h2 Bundler Commands
%ul
%li= link_to 'bundle install', '/v1.6/bundle_install.html'
%li= link_to 'bundle update', '/v1.6/bundle_update.html'
.buttons
= link_to 'View all commands', '/v1.6/commands.html'
%h2 Help With
%ul
%li= link_to 'Gemfiles', '/v1.6/gemfile.html'
%li= link_to 'Groups', '/v1.6/groups.html'
%li= link_to 'Gems from git', '/v1.6/git.html'
%li= link_to 'Bundler.setup', '/v1.6/bundler_setup.html'
%li= link_to 'Deploying', '/v1.6/deploying.html'
%li= link_to 'Sharing', '/v1.6/bundler_sharing.html'
%li= link_to 'Updating Gems', '/v1.6/updating_gems.html'
%li= link_to 'Compatible versions', '/compatibility.html'
%h2 Use Bundler with
%ul
%li= link_to 'Rails 3', '/v1.6/rails3.html'
%li= link_to 'Rails 2.3', '/v1.6/rails23.html'
%li= link_to 'Sinatra', '/v1.6/sinatra.html'
%li= link_to 'Rubygems', '/v1.6/rubygems.html'
%li= link_to 'RubyMotion', '/v1.6/rubymotion.html'
.shirts
.content
= link_to 'http://www.devswag.com/collections/bundler', :class => 'image', :onclick => "ga('send', 'devswag');" do
= image_tag '/images/bundler-shirt.png'
%p
=link_to 'Buy Bundler Shirts & Stickers!', 'http://www.devswag.com/collections/bundler', :onclick => "ga('send', 'devswag');"
#footer
= image_tag 'emocow.png'
= image_tag 'panda.jpg'
.spacer
#credits
%p
== Many thanks to Bundler's #{link_to 'contributors', '/contributors.html' }
== and #{link_to 'sponsors', '/sponsors.html' }
.spacer
= image_tag 'bundler-small.png'
%a#github{ :href => 'http://github.com/bundler/bundler/' }
%img{ :src => 'http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png', :alt => 'Fork me on GitHub' }
#prod-versions
Docs:
- %w(v0.9 v1.0 v1.1 v1.2 v1.3 v1.5).each do |lv|
= link_to(lv, "/#{lv}/index.html", :class => ('current' if v == lv))
= link_to("v1.6", "/", :class => ('current' if v == 'v1.6'))

:javascript
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-39559982-1', 'bundler.io');
ga('send', 'pageview');
= partial 'partials/sidebar' if v == 'v1.6'
= partial 'partials/footer', locals: { v: v }
25 changes: 25 additions & 0 deletions source/partials/_footer.haml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#footer
= image_tag 'emocow.png'
= image_tag 'panda.jpg'
.spacer
#credits
%p
== Many thanks to Bundler's #{link_to 'contributors', '/contributors.html' }
== and #{link_to 'sponsors', '/sponsors.html' }
.spacer
= image_tag 'bundler-small.png'
%a#github{ :href => 'http://github.com/bundler/bundler/' }
%img{ :src => 'http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png', :alt => 'Fork me on GitHub' }
#prod-versions
Docs:
- %w(v0.9 v1.0 v1.1 v1.2 v1.3 v1.5).each do |lv|
= link_to(lv, "/#{lv}/index.html", :class => ('current' if v == lv))
= link_to("v1.6", "/", :class => ('current' if v == 'v1.6'))

:javascript
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-39559982-1', 'bundler.io');
ga('send', 'pageview');
6 changes: 6 additions & 0 deletions source/partials/_head.haml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
%title
= "Bundler: #{current_page.data.title || "The best way to manage a Ruby application's gems"}"
%meta{'http-equiv' => 'Content-Type', 'content' => 'text/html; charset=UTF-8'}
%meta{'name' => 'globalsign-domain-verification', 'content' => '276VSYOko8B8vIu1i8i5qbj7_ql5PXo0dU69XQy-SL'}
= favicon_tag 'images/favicon.png'
= stylesheet_link_tag 'application'
59 changes: 59 additions & 0 deletions source/partials/_sidebar.haml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#sidebar
%h2 Would you like to
%ul
%li= link_to 'Get started', '/#getting-started'
%li= link_to 'Report a bug', '/issues.html'
%li= link_to "See what's new", '/v1.6/whats_new.html'
%li= link_to 'Read documentation', '/v1.6/man/bundle.1.html'
%li= link_to 'Discuss and Contribute', '/#get-involved'
%li= link_to 'View FAQs', '/v1.6/faq.html'

.shirts
.content
%p
Bundler is developed entirely by a team of volunteers.
= link_to 'Support their work', 'http://www.gittip.com/bundler'
and help make Bundler better for everyone.
%p
%script{"data-gittip-username" => "bundler", "src" => "//gttp.co/v1.js"}
%br
%br
%h2 Read the latest news
%ul
- blog.articles[0..1].each_with_index do |article, index|
%li
= link_to article.title, article.url
%h2 Bundler commands
%ul
%li= link_to 'bundle install', '/v1.6/bundle_install.html'
%li= link_to 'bundle update', '/v1.6/bundle_update.html'
.buttons
= link_to 'View all commands', '/v1.6/commands.html'
%h2 Help with
%ul
%li= link_to 'Gemfiles', '/v1.6/gemfile.html'
%li= link_to 'Groups', '/v1.6/groups.html'
%li= link_to 'Gems from git', '/v1.6/git.html'
%li= link_to 'Bundler.setup', '/v1.6/bundler_setup.html'
%li= link_to 'Deploying', '/v1.6/deploying.html'
%li= link_to 'Sharing', '/v1.6/bundler_sharing.html'
%li= link_to 'Updating Gems', '/v1.6/updating_gems.html'
%li= link_to 'Compatible versions', '/compatibility.html'
%h2 Use Bundler with
%ul
%li= link_to 'Rails 3', '/v1.6/rails3.html'
%li= link_to 'Rails 2.3', '/v1.6/rails23.html'
%li= link_to 'Sinatra', '/v1.6/sinatra.html'
%li= link_to 'Rubygems', '/v1.6/rubygems.html'
%li= link_to 'RubyMotion', '/v1.6/rubymotion.html'
.shirts
.content
= link_to 'http://www.devswag.com/collections/bundler', :class => 'image', :onclick => "ga('send', 'devswag');" do
= image_tag '/images/bundler-shirt.png'
%p
=link_to 'Buy Bundler Shirts & Stickers!', 'http://www.devswag.com/collections/bundler', :onclick => "ga('send', 'devswag');"
Loading

0 comments on commit 312e088

Please sign in to comment.