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
Gerucht: iPhone 17e gaat evenveel kosten als voorganger
© Jeroen Boer - ID.nl
Huis

Gerucht: iPhone 17e gaat evenveel kosten als voorganger

De mogelijk binnenkort te verschijnen iPhone 17e zou evenveel gaan kosten als de iPhone 16e, namelijk 599 dollar - omgerekend mogelijk wederom 719 euro.

Dat claimt journalist en Apple-expert Mark Gurman op Bloomberg. De iPhone e-modellen zijn betaalbaardere versies van de iPhone. Dat blijkt wel uit de prijs van de begin vorig jaar uitgekomen iPhone 16e, die op release 719 euro (en 699 dollar in de VS) kostte.

Gurman claimt dat de prijs van opvolger iPhone 17e in ieder geval in de VS gelijk blijft, oftewel nog steeds 699 dollar. Dat zou dus kunnen betekenen dat hij ook weer 719 euro in Europa gaat kosten.

Verbeteringen

De prijs blijft waarschijnlijk dan wel gelijk, maar de 17e zou toch enkele verbeteringen ten opzichte van de 16e kennen. Zo zou er een A19-chip in de iPhone 17e zitten, een chip die ook in de duurdere, reguliere iPhone-modellen voorkomt.

Verder zou de 17e ook Apple's 5G-chip bevatten, net zoals de duurdere iPhones. Tot slot zou ook MagSafe ondersteund worden voor Apple’s magnetische accessoires. Dit was bij de iPhone 16e niet het geval.

Volgens Gurman wordt de iPhone 17e op 19 februari onthuld en ergens binnenkort uitgebracht. De 16e kwam op 28 februari 2025 uit, dus het is waarschijnlijk dat de opvolger ook ergens later deze maand of begin volgende maand uitkomt. De reguliere iPhone-modellen worden altijd pas in september aangekondigd en uitgebracht.

Overigens claimt Gurman ook dat Apple binnenkort nieuwe iPads uitbrengt - een iPad Air met een M4-chip en een instapmodel met een A18-chip - en nieuwe Macbook Airs en Pro's. Die zouden mogelijk ergens in maart uitkomen.

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
Veilig gevoel: nieuwe Aankomstmeldingen van Snapchat sturen een seintje als je veilig bent aangekomen
© guteksk7 - stock.adobe.com
Huis

Veilig gevoel: nieuwe Aankomstmeldingen van Snapchat sturen een seintje als je veilig bent aangekomen

Het is vandaag Safer Internet Day en Snapchat grijpt dat moment aan om de veiligheidsopties in Snap Kaart uit te breiden. Met Aankomstmeldingen kun je automatisch een vriend laten weten dat je veilig ergens bent aangekomen, zonder dat je zelf nog een bericht hoeft te sturen. De functie bouwt voort op 'Veilig thuis', dat eerder vooral was bedoeld als seintje bij thuiskomst.

Zo werkte 'Veilig thuis' tot nu toe

Je kon in een chat of via het profiel van een vriend in Snap Kaart onder 'Aankomstmeldingen' de optie 'Mijn huis' inschakelen. Zodra je thuiskwam, kreeg die vriend een pushmelding en een melding in Chat. Je kon daarbij kiezen of de melding 'Eenmalig' was (die instelling verloopt na 24 uur) of 'Elke keer'.

©Snapchat

Dit verandert er met Aankomstmeldingen

Je kunt dezelfde meldingen nu ook instellen voor andere plekken dan thuis, zoals de sportschool, school of een hotel. In de Nederlandse Snapchat-app voeg je onder 'Aankomstmeldingen' een locatie toe via het profiel van een vriend of direct vanuit een chat. Je beweegt de kaart, kiest 'Locatie instellen' en zet de schakelaar daarna aan. Ook hier kun je kiezen tussen 'Eenmalig' en 'Elke keer'. Snapchat laat je desgewenst een naam en emoji aan een plek geven. Je kunt maximaal tien plekken opslaan; die lijst is voor al je vrienden hetzelfde, terwijl jij per vriend bepaalt wie meldingen krijgt. Ben je veilig op de plek van bestemming, dan krijgen je vrienden automatisch een pushmelding en een melding in Chat.

Voor Aankomstmeldingen geldt volgens Snapchat wel een belangrijke voorwaarde: je locatie-instellingen op je telefoon moeten op "Altijd" staan. Dat betekent dat je op de kaart zichtbaar kunt zijn voor vrienden die jouw locatie mogen zien, tenzij je Onzichtbare modus gebruikt.