2021-04-09 08:42:54 +0200 +0200

Prskavčí blog

Sep 30, 2011

Migrace z Wordpressu na Jekyll

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

  1. Migrace starého obsahu z Wordpressu
  2. CNAME a DNS
  3. Nastavení stylů a práce s Jekyll
    • komentáře
    • twitter
    • atom feed
  4. 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

  1. Založte si adresář a začněte verzovat gitem.
mkdir blog.prskavec.net
cd blog.prskavec.net
git init
  1. 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ší
  1. 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”)’

  2. Všechny posty se uloží automaticky do _post.

CNAME a DNS

  1. 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.
  2. 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:

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

  1. Založte si repositář na Githubu.
  2. V adminu zapnout github pages.
  3. 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.