ID.nl logo
Huis

Blog maken met Ghost als basis

Ghost groeide in relatief korte tijd uit tot een aantrekkelijk blogplatform, dat al veel gebruikers van WordPress wist over te halen. Maar ook grote bedrijven omarmen het. Versie 2.0 is mede dankzij de nieuwe editor nóg krachtiger en gebruiksvriendelijker. We laten zien een blog maken met Ghost werkt.

WordPress groeide van platform voor bloggers uit naar een volwaardig cms voor websites. John O’Nolan, oprichter en ceo van Ghost, was hier zelf lange tijd bij betrokken. Met het opensource Ghost, begonnen als Kickstarter-project in 2013, bouwde hij een platform dat weer puur op bloggen is gericht. Het wist niet alleen bloggers aan zich te binden, ook grote bedrijven als Apple, Tinder, OpenAI, Mozilla en DuckDuckGo omarmden het. Kijk maar eens op de blog van DuckDuckGo om een indruk te krijgen.

Het bedrijf Ghost is een non-profit organisatie die inkomsten genereert uit (prijzige) hosting. Maar je kunt het ook zelf hosten. Ghost is geschreven in javascript en werkt op node.js. Je installeert het met hulp van Node Package Manager (npm).

Lees ook:CMS kiezen: Waar kun je zoal op letten?

Ghost binnen Docker

Voor deze masterclass installeren we Ghost binnen docker, een snelle en populaire optie. Handig voor experimenten maar ook geschikt voor een productieomgeving. Heb je Docker geïnstalleerd, dan kun je de image opsporen met:

docker search ghost

De officiële heet gewoon ghost en haal je binnen met:

docker pull ghost

Je kunt alle gedownloade images inzien met:

docker images

Ghost werkt intern op poort 2368. Wij gaan lokaal gewoon poort 80 gebruiken. Als url voor Ghost gebruiken we het ip-adres van de machine waarop Ghost draait (in ons geval 10.0.0.71). Het commando om Ghost te starten wordt in dat geval:

docker run -d -p 80:2368 -e url=http://10.0.0.71 --name
ghostdemo --restart always ghost

Na een korte wachttijd is Ghost gestart. Dat kun je controleren met:

docker ps ghostdemo

Je voorbeeldblog staat nu ook al klaar. Gaat er wat mis, gebruik dan dit commando voor statusinformatie:

docker logs ghostdemo

Configuratie van je blog

©PXimport

Je blog staat klaar op (in ons voorbeeld) http://10.0.0.71. Zet hier /ghost achter om de configuratiepagina te openen. Klik daarin op Create your account om je gebruikersaccount voor de blog op te zetten. Vul een titel in voor je blog, samen met een naam, e-mailadres en wachtwoord. De stap om teamleden uit te nodigen kun je overslaan, dit kun je altijd op een later moment doen.

Je komt nu in het overzicht met al je berichten waar al veel voorbeeldcontent staat. Handig om te experimenteren, maar als je er vanaf wilt verwijder je onder Team gewoon de standaard Ghost-gebruiker. Je kunt daar ook aangeven wie er nog meer berichten mogen posten of beheren.

Na het openen van een bericht kom je in de editor die met versie 2.0 een flinke update kreeg en niet meer standaard met Markdown werkt, al kun je dat eventueel nog steeds gebruiken. Je ziet nu veel beter hoe het bericht er in het echt uitziet. Eenvoudige opmaak zoals vet of schuingedrukt pas je simpel toe en ook het invoegen van een enkele foto, galerij of andere content zoals een tweet of YouTube-filmpje gaat gebruiksvriendelijk.

Rechtsboven zie je een icoontje voor de instellingen van het bericht, zoals de gewenste url, publicatiedatum, tags, een korte samenvatting en metagegevens voor onder andere zoekmachines. Zoals je ziet staat het schrijven helemaal centraal.

©PXimport

Thema's en templates

Het standaardthema van Ghost heet Casper, maar je kunt op meerdere websites andere thema’s vinden, zoals de marketplace van Ghost (waarvan sommige gratis) en op Envato Market. Het aanbod is wel kariger dan bij WordPress. Gelukkig staat daar tegenover dat het makkelijker is om zelf thema’s te maken of een bestaande aan te passen.

Voor het grootste deel bestaan de thema’s uit templates met html, css en javascript. Daarin voeg je met de hulp van templatetaal Handlebars verwijzingen toe naar de bijbehorende content. Om een goed beeld te krijgen van de structuur voor templates is het handig het standaardthema Casper te downloaden. Het thema is goed gedocumenteerd en daardoor een goede referentie. Het wordt dan ook vaak als basis gebruikt voor zelfontwikkelde thema’s en templates.

Open je de index.hbs van Casper dan zie je de opmaak en Handlebars voor de homepagina. De post.hbs dient voor individuele berichten. Je zult doorgaans nog wat meer templates hebben, maar deze twee zijn verplicht. Een speciale template is default.hbs. Daarin zijn in feite de header en footer van je website opgenomen die doorgaans voor elke pagina gelijk zijn.

Hierin zijn onder andere metagegevens opgenomen, verwijzingen naar css-bestanden en scripts en soms ook een algemeen navigatiemenu. Alles in post.hbs wordt in feite in de body van default.hbs ingevoegd. Bij veel andere templates zoals author.hbs en page.hbs gebeurt hetzelfde. De Handlebars-code zie je terug in bijvoorbeeld de regel in post.hbs:

<h1 class="post-full-title">{{title}}</h1>

Daarmee wordt in feite de titel van je bericht ingevoegd met de verwijzing

{{title}}

Ghost verwijderen

Ghost is erg gebruiksvriendelijk, maar ook krachtig, zeker met de komst van versie 2.0. Zo kun je een website bijvoorbeeld redelijk eenvoudig in meerdere talen aanbieden. Dat is nog steeds wel wat werk, maar er zijn goede voorzieningen voor. Vertaalde zinnen voor je template bied je gewoon via een apart json-bestand aan. Je bent ook al lang niet meer beperkt tot één stroom aan berichten, maar kunt flexibel structuur aanbrengen met routes en bijvoorbeeld content verdelen over secties. Ben je uitgespeeld met Ghost? Dan kun je de container stoppen met:

docker stop ghostdemo

Of eventueel verwijderen met:

docker rm -f ghostdemo
▼ Volgende artikel
Microsoft gaat grote datacenters bouwen in Amsterdam
© AdobeStock
Huis

Microsoft gaat grote datacenters bouwen in Amsterdam

Microsoft heeft toestemming gekregen om in Amsterdam drie grote datacenters te bouwen. Dat is opvallend, omdat dergelijke grote gebouwen met dit doel eigenlijk niet mogen in de stad.

In Nederland hebben we strenge wetten rondom de bouw van grote datacenters. De drie gebouwen van elk 85 meter hoog die Microsoft in Amsterdam gaat bouwen, verbruiken samen ongeveer evenveel stroom als een stad als Haarlem.

Regels omzeilen

Dergelijke datacenters van dit formaat mogen eigenlijk alleen nog maar in Eemshaven en Wieringermeer gebouwd worden. Microsoft heeft deze regels omzeild door de de gebouwen hoog te maken in plaats van breed, waardoor de oppervlakte per gebouw niet boven de tien hectare uitkomt

Ook het opsplitsen in drie gebouwen is expres gedaan. Elke toren zal 26 MW gebruiken. We noemen een gebouw een hyperscaler-datacenter wanneer deze 70 MW of meer gebruikt. De drie losse torens komen daar niet aan, waardoor de provincie Noord-Holland de gebouwen niet als hyperscalers ziet.

De komst van datacenters an sich levert veel kritiek op in dit land, mede door het forse stroomverbruik dat druk legt op het stroomnet. Ook het feit dat Microsoft als Amerikaans bedrijf nog meer datacenters in handen krijgt in Nederland, is omstreden.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

▼ Volgende artikel
Stomende Heated Rivalry op HBO Max houdt internet in zijn ban
Huis

Stomende Heated Rivalry op HBO Max houdt internet in zijn ban

Sinds enkele dagen is de serie Heated Rivalry ook hier te zien op HBO Max. De serie heeft in Canada en de Verenigde Staten de gemoederen de afgelopen maanden flink bezig gehouden.

De serie - oorspronkelijk ontwikkeld voor de Canadese streamingservice Crave - puilt namelijk uit van de stomende seksscènes. Heated Rivalry draait om Shane Hollander en Ilya Rozanov, twee ijshockeyspelers die rivaliseren. Maar dan slaat de vonk tussen hen over, terwijl homoseksualiteit nog een taboe is binnen de sport die ze beoefenen.

Mede dankzij scènes die op TikTok en andere socialmediaplatforms worden gedeeld, werd Heated Rivalry - dat is gebaseerd op een boek van Rachel Reid - een ware (internet)sensatie in de VS en Canada, waar het via HBO Max te zien is.

Naast de hierboven genoemde pikante scènes zit Heated Rivalry ook vol met emotie en diepgang. Het zorgt voor een combinatie die volgens fans heerlijk wegkijkt. Heated Rivalry is sinds enkele dagen ook hier op HBO Max te zien, al verschijnt er elke week een nieuwe aflevering. In totaal komen er zes afleveringen uit, en een tweede seizoen staat ook al op de planning.

Watch on YouTube
Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.