OpenShift & Octopress
Zo, mijn blog gaat hier verder gaan. Op een andere locatie, maar onderliggend ook met een volledig andere technologie. Ik probeer niet teveel te bloggen over het blog, maar deze keer kan het misschien interessant zijn.
De hoofdreden dat ik het blog verplaatst heb is omdat ik de google hosting nogal beperkend vond. Er zijn wel heel mooie features (statistieken, comments, ...) die allemaal beschikbaar zijn zonder enige inspanning van mezelf. Maar iets dwaas zoals code syntax highlighting leek dan weer een "pain in the ass" te zijn.
Een lang verhaal kort, ik wou zélf eigenaar zijn van mijn blogposts en volledige vrijheid hebben over wat wel of niet op mijn blog terecht mocht komen.
Daarvoor moest ik twee zaken hebben, die ik liefst - voorlopig toch - allemaal gratis hield:
- Hosting
- Blog engine
Hosting
De moderne nerd zal zijn hosting gewoonlijk vinden op een "PaaS" of "IaaS". Platform as a Service of Infrastructure as a Service.
Enfin, dat is een fancy woord voor cloud hosting, waarbij je bij PaaS enkel een applicatie oplevert die dan door het PaaS systeem wordt gedraaid. In mijn geval moest ik dan dus een blog leveren, dat door de PaaS gestart.
Ik wou al langer eens met "OpenShift" spelen en heb dat dan nu ook gedaan. Eigenlijk had ik ook eerst nog met Heroku moeten spelen. Beiden hebben gratis basis services, die uit te breiden zijn met betalende services.
Bij OpenShift kan je kiezen voor een "cartridge", die bepaalde zaken op je server al klaar zet, of voor een lege hosting voor "een applicatie" in nodejs, php of enkele anderen.
Blog Engine: Jekyll + Octopress
Voor de blog engine heb ik voor Jekyll gekozen, maar dan via "octopress".
Jekyll is een static site generator. Dat wil zeggen dat je lokaal een aantal eenvoudige pagina's aanmaakt (in het geval van Jekyll gewoonlijk geschreven in Markdown). Je draait dan, nog steeds lokaal, de generator van Jekyll en deze gaat dan jouw input (tekst + html templates) vertalen naar een reeks statische HTML pagina's. Hier heb je dus géén database voor nodig, maar dat wil ook zeggen dat je niet gewoon online een blog post kan toevoegen.
Typisch ga je dan een git repository aanmaken die jouw blog bevat. In mijn geval heb ik een repository op mijn openshift hosting en op github. Als ik mijn lokale repo push naar OpenShift wordt de website automatisch opnieuw gebouwd.
Octopress is jekyll maar een aantal van de saaie configuraties om het blog iets interessanter te maken dan het standaard Jekyll blog zijn al voor je gedaan: er zijn voorzieningen voor een archive pagina, een niet onaangename template, search veldje (zie verder).
De "selling-points" (bullshit bingo!) voor mij waren het gebrek aan database en vooral ingebouwde code syntax highlighting. En natuurlijk volledige controle over alles.
Bovendien krijg je out of the box https via de hosting.
Het is niet voor mensen die weinig handig zijn met computers. Je moet ten eerste Ruby opzetten, daarboven heb je RubyGem nodig en dan nog eens Octopress etc ...
Dat is zowel op Ubuntu Linux als op Windows een pain-in-the-ass. Maar iets meer op Windows want daar heb ik het nog niet echt werkende gekregen.
Markdown
Zoals gezegd, jouw blogpost schrijf je lokaal - niet in HTML - maar in "markdown". Markdown is een soort simpele markup taal die momenteel nogal afziet van hetzelfde fenomeen waar HTML lang aan heeft geleden: iedereen verzint zijn eigen markdown, er is niet één standaard. Dat is bijzonder lastig.
Om mijn blogs te schrijven gebruik ik momenteel MarkdownPad. Op linux is er blijkbaar ReText dat gelijkaardige functies biedt, maar die moet ik nog testen.
Search
De eenvoudige search op een statische website is: verwijs de zoektermen naar een search engine met een extra parameter zodat enkel resultaten van een bepaalde website (jouw website) zichtbaar zijn.
Standaard is dat bij Octopress google, maar ik wou nu toch wel switchen naar het iets minder privacy schendende "DuckDuckGo". Dat ging niet zomaar, ik moest enerzijds mijn configuratie file aanpassen alsook een file in mijn templates. Meer info vind je op: duck.co - DuckDuckGo and Octopress.
Comments
Voorlopig staan de comments nog niet aan. Aangezien we over statische websites spreken is er natuurlijk geen ingebouwd comment form. Dergelijke sites lossen dit op door een apart comment platform te gebruiken zoals Discus of Livefyre en dit in de pagina te embedden.
Template en Layout
De standaard layout van Octopress is best wel OK en ik ben er om te beginnen ook gewoon bij gebleven. Ik zal waarschijnlijk op termijn hier en daar aanpassingetjes doen naargelang mijn eigen goeddunken. Dus ik verwacht dat ik langzaamaan weg zal gaan van de standaard "look and feel".
Conclusie
Persoonlijk was ik ook wel tevreden geweest met een niet-statische blog engine. Maar het is altijd leuk nieuwe concepten te proberen. Het grootste voordeel wat mij betreft is dat ik de volledige inhoud simpel bij de hand heb in mijn git repo's.
En nu ben ik niet meer afhankelijk van google, wat niet altijd slecht is. Mogelijk verhuist het blog nog wel vaker ...
Er is behoorlijk wat gepruts nodig (ssh keys, ruby, rubygem, rake, markdown, html templates, git, ...) dus Jekyll + Octopress is niet echt iets voor iedereen en meer voor de "prutsers" onder ons. De obsolute vrijheid komt met heel wat dwaas gedoe dat veel mensen absoluut niet nodig hebben. Maar ik heb altijd wel mijn hoedje op van computernerd en nieuwe zaken ontdekken is dus gewoon mijn tweede natuur.
Als mijn blog écht lezers vergaart (geen idee hoe ik dat ga zien, er zitten nog geen statistieken in mijn site ingebouwd en ook geen comments!) dan ga ik zeker investeren in een hostname en SSL certificaat, maar waarschijnlijk ga ik voor de rest weinig moeten veranderen. Duurzaam dus, en optimistisch!