Vereinfachen
Das Layout und Design dieses Blogs wurden vereinfacht. Vor der Änderung basierte der Blog auf Octopress, das selbst ein Framework für Jekyll ist.
Ich wollte weniger, also habe ich Octopress entfernt und diesen Blog nur mit Jekyll implementiert. Der folgende Beitrag skizziert die Schritte, die ich unternommen habe, um von Octopress zu Jekyll zu migrieren.
Willkommen Jekyll
Zuerst habe ich einen “leeren” Jekyll-Blog eingerichtet, indem ich ein neues Verzeichnis erstellt (mkdir new_blog) und hineingewechselt habe.
Dann habe ich ein Gemfile mit folgendem Inhalt erstellt:
source 'https://rubygems.org'
gem 'jekyll'Mit bundle install wurde das Gem installiert.
Jetzt war ich bereit, den Blog zu generieren und einen ersten Blick im Browser darauf zu werfen mit
bundle exec jekyll new . -f
bundle exec jekyll serveNach diesen schnellen Schritten wurde mir diese schöne Homepage präsentiert:

Content-Migration
Es war Zeit, den Inhalt von meinem alten Blog zum neuen zu migrieren, aber zuerst musste ich etwas beheben.
Als ich auf den ersten Beispiel-Blogbeitrag klickte, sah die URL so aus:
http://localhost:4000/jekyll/update/2015/01/14/welcome-to-jekyll.htmlDas war nicht das, was ich wollte. Ich änderte die Datei _config.yml und fügte die Zeile hinzu
permalink: /blog/:year/:month/:day/:title.htmlum eine URL wie diese zu bekommen:
http://localhost:4000/blog/2015/01/22/welcome-to-jekyll.htmlBesser :-)
Dann kopierte ich alles aus meinem Octopress-Blog-Verzeichnis /source/_posts in meinen Jekyll-Blog unter /_posts.
Da ich einige Octopress-spezifische Tags verwendet hatte, musste ich sie ändern.
In Octopress formatierte ich Codebeispiele mit
{% raw %}
{% codeblock %}
{% endraw %}
... some code...
{% raw %}
{% endcodeblock %}
{% endraw %}Das musste geändert werden zu
{% raw %}
{% endraw %}
... some code...
{% raw %}
{% endraw %}Damit das funktioniert, musste ein Gem namens rouge installiert und die Zeile highlighter: rouge in _config.yml hinzugefügt werden.
Ich verwendete auch das Octopress-Tag zum Einbinden von Bildern, z.B. {% raw %}{% img <pfad_zum_bild> Titel %}{% endraw %}, und änderte sie zu .
Als ich fertig war, sah ich mir alles in der Vorschau an mit
bundle exec jekyll serveLive gehen auf Heroku
An diesem Punkt hatte ich meinen neuen Blog fertig auf meiner lokalen Maschine. Natürlich wollte ich alles zurück auf Heroku haben.
Ich fand diesen wunderbaren Beitrag, der erklärte, wie man seinen Jekyll-Blog einrichtet, um auf Heroku zu laufen.
Füge zuerst folgendes zu _config.yml hinzu
exclude: ['vendor']Erstelle eine neue Datei namens Procfile und füge hinzu
web: bundle exec jekyll build && bundle exec thin start -p$PORT -V
console: echo console
rake: echo rakeBearbeite das Gemfile erneut und hänge die folgenden Zeilen an
gem 'rake'
gem 'foreman'
gem 'thin'
gem 'rack-contrib'Eine weitere Datei musste erstellt werden, genannt config.ru mit folgendem Code
require 'rack/contrib/try_static'
use Rack::TryStatic,
:root => "_site",
:urls => %w[/],
:try => ['.html', 'index.html', '/index.html']
run lambda { |env|
return [404, {'Content-Type' => 'text/html'}, ['Not Found']]
}Ich werde in diesem Beitrag nicht viel darüber erklären, was das alles eigentlich macht. Als Hinweis schau dir die einzelnen Gems im Gemfile an, um einen ersten Eindruck zu bekommen.
Dann installierte ich den Heroku Toolbelt und führte die folgenden Befehle in meinem Terminal aus:
bundle install
git init
git add.
git commit -m "My initial commit."
heroku git:remote -a <mein_heroku_blog_name>
git push heroku master --force
heroku openEt voila, willkommen zu meinem neuen Blog

Vielleicht wechsle ich irgendwann zu Octopress zurück. Octopress 3 wurde gerade angekündigt mit einigen interessanten Sachen und adressiert einige Probleme aus der Vergangenheit.
Fertig für heute!