Co jsem řešil
V poslední době jsem neměl moc času na psaní a když jsem chtěl psát, chtěl jsem se tomu věnovat, mít na to jednoduchý prostředek jako je Textmate (ByWord, iA Writer, WriteRoom, OmmWriter) a přitom se nemuset handrkovat s HTML a s tím jak mi občas nevhodné styly ničí text nebo kusy kódu.
Wordpress u mě na hostingu ještě narazil na limit starého MySQL a mě se také nechtělo migrovat na nový databázový server, potom mi také chybělo verzování v Gitu na který jsem zvykl.
Protože jsem před časem viděl, že Github pages se dají dobře použít pro vlastní blog, rozhodl jsem se na to přejít se svými blogy TopTopic? a Prskavčí blog.
Jak jsem postupoval
- Migrace starého obsahu z Wordpressu
- CNAME a DNS
- Nastavení stylů a práce s Jekyll
- komentáře
- atom feed
- Publikace na github.com
Jekyll - statický generátor stránek v Ruby
Podporuje publikování v textile a markdown, případně html.
Instalace pomocí rubygems
sudo gem install jekyll
Pro ladění na lokálním počítači jde pustit lokální instanci, která běží https://localhost:4000.
jekyll --server --auto
Jekyll funguje tak, že na základě předpisu generuje statické stránky do adresáře _site
. Parametr auto
umí po editaci automaticky přegenerovat změněný soubor.
Migrace z Wordpressu
- Založte si adresář a začněte verzovat gitem.
mkdir blog.prskavec.net
cd blog.prskavec.net
git init
- Je potřeba udělat export z Wordpressu, pomocí
export.php
.
- Například u mě to bylo
https://blog.prskavec.net/wp-admin/export.php
. - Na výsledné xml je potřeba použít importní script.
- K dispozici jsou importní scripty pro Wordpress, CSV, Drupal, Posterous, Tumblr, Typo, Textpattern, Wordpress.com a další
Já jsem si zkopíroval do adresáře
_import
zkopíroval scripty pro wordpress. Potom jsem provedl import.ruby -r ‘./_import/wordpressdotcom.rb’ -e ‘Jekyll::WordpressDotCom.process(“prskavblog.wordpress.2011-09-28.xml”)’
Všechny posty se uloží automaticky do
_post
.
CNAME a DNS
- Do repository přidáte soubor CNAME který musí obsahovat doménu na které chcete Github pages provozovat, samozřejmě pokud vám nestačí stávající co dostanete od Githubu.
- DNS - musíte si zřídít CNAME záznam, který bude ukazovat na váš záznam na githubu. U mě
abtris.github.com
pro doménu 3 řádu. Pokud by jste chtěli doménu 2 řádu musíte zřídit A záznam na 207.97.227.245.
Nastavení stylů a práce s Jekyll
Základní struktura
|-- _config.yml
|-- _layouts
| |-- default.html
| `-- post.html
|-- _posts
| |-- 2007-10-29-why-every-programmer-should-play-nethack.textile
| `-- 2009-04-26-barcamp-boston-4-roundup.textile
|-- _site
`-- index.html
_config.yml
sitename: Prskavčí blog
tagline: Jen další blog o všem možné, teď od Prskavců.
url: https://blog.prskavec.net
ga: UA-XXXXX-XX
pygments: true
markdown: maruku
permalink: pretty
exclude: LICENSE, README.markdown, Rakefile
disqus:
id: prskavecblog
feedburner:
id: prskavec
Nejdůležitější odkazy:
- Použití
- Konfigurace
- Ukázkové stránky
- Důležité proměnné
- Značkovací jazyk Liquid, který se používá v Jekyll šablonách
- Pluginy
- Lexers for Pygments - syntax hightlighting, příslušné syntax.css třeba tady. Samozřejmě pro svůj blog potřebujete nějak přispůsobit vzhled, pro Jekyll to není tak snadné jako Wordpress, který má spoustu pluginů a vzhledů. Ale není problém, některý z Wordpressu převést.
Pluginy některé existují, ale musíte si vystačit s tím co jde vygenrovat, případně z Javascriptem, ale to není málo.
Pomocí javascriptu jsem přidat twitter a komentáře přes Disqus.
Pro ATOM je k dispozici šablona, obdobně si můžete vygenerovat RSS, archív apod.
Publikace na Github
- Založte si repositář na Githubu.
- V adminu zapnout github pages.
- Podle návodu přidejte do repositáře soubory a pushnete obsah na server.
Shrnutí
Jekyll není pro každého, ale pro mě jako pro programátora je to vyhovující systém. Článek jako tento napíšu ve stejném editoru jako programuju ať je to Textmate nebo PHPStorm. A stránky jsou jen další repository na githubu.