No implicit conversion of nil into String

Als ik mijn (statische Jekyll) website bij mijn domeinnaam probeer te open via alleen de domeinnaam (b.v. https://example.nl), zie ik alleen de tekst “no implicit conversion of nil into String”. Als ik https://example.nl/index.html gebruik zie ik wel de default pagina.

Hoe kan ik de default pagina weergeven als ik alleen https://example.nl gebruik?

Heb je ergens ‘www’ in je DNS CNAME instellingen staan?

Ja, www - CNAME - @

Hoe ziet je yaml file eruit ?

Voor alle duidelijkheid, je moet d8 voor je website die altijd als subdomein gebruiken. http://jouwdomein.nl/… werkt dus niet.

Hoe ziet je yaml file eruit ?

Er staat een _config.yml met deze inhoud:

# General configuration
title: example.nl
baseurl: /
host: example.nl

Als ik naar www.example.nl ga, zie ik nu “Start Bootstrap”. Eigenlijk wil ik de inhoud van mijn index.html zien. Wat doe ik nog verkeerd?

Het lijkt erop dat mijn “untitled site” nu wordt getoond, in plaats van example.nl. Die stond eerst links, maar is nu om omduidelijke reden naar rechts verschoven. Hoe krijg ik die terug?

Wanneer ik probeer “untitled site” weg te gooien via het waste-bin icoontje, krijg ik een melding “mijn.freedom.nl - Are you sure you want to delete this site?”. Vreemd dat ik deze melding krijg. “mijn.freedom.nl” zou niet aan mij gelinkt moeten zijn, toch?

Als ik OK kies krijg ik (terecht) een foutmelding “Er is iets fout gegaan, probeer nog eens neem contact op met de helpdesk en refereer aan f2c24194 als het probleem zich blijft voordoen.”

http://jouwdomein.nl/… werkt dus niet.

Als ik het goed begrijp kan je alleen via subdomein.example.nl bij de pagina’s komen? B.v. www.example.nl of tips.example.nl? Dat is spijtig. Dat is het eerste wat ik jaren geleden heb gewijzigd voor de versie van mijn site die ik zelf host. Elke zelf-respecterende website kan via domein.country (b.v. https://freedom.nl/) worden bereikt.

Inzake het veprlichte configuratie bestand _config.yml :

  • De leesbare naam definieer je in regelveld title: blablalala
  • De website/configuratie luistert naar wat staat in regelveld: host: abc.jedomein.nl
    Die “abc” is dan de CNAME vanuit DNS instellingen.*
  • De regel baseurl: / , heeft -voor ons- geen functie en mag je desgewenst weglaten.

Het kan soms verwarrend zijn dat je naar een ander site-inhoud zit te staren dan dat je zou denken omdat er ergens een website-inhoud is, die de inhoudelijke plaats daarvan inneemt. Zoals je ook merkte met je "onbenoemde" website. Zelf voorkom ik dat met een gedegen website-administratie van mijn "_config.yml" files zodat ik weet welke inhoud wat waarmee doet. Nadat ik een website aanmaak, is daarom het eerste dat ik doe: de titel en host daarvan uniek maken. Met wijzigen van host, kan je ook makkelijk de koppeling veranderen of inactiveren van een CNAME.

De plaatsing van de website-iconen in MijnFreedom, is min of meer random.
Heb je meer websites dan er horizontaal passen op je scherm, kun je die browser-pagina proberen wat meer uit te zoomen (te verkleinen). er passen dan horizontaal meer blokjes.
Een truc is, terwijl je bent ingelogd op het website overzicht, de volgende adres URL gebruiken: https://mijn.freedom.nl/sites/
Je browser pagina met webiconen, wordt nu ineens wel horizontaal scrollbaar.
Een andere optie is om met een browser add-on, de inkomende html naar wens te her/verbouwen en te herpositioneren. Niet aan te raden voor starters.

Ook hier onthouden & accepteren dat je website feitelijk een CMS is en niet staat op een plat filesysteem maar (onder water) voorkomt uit een Jekyll-gegeneerde inhoud die is opgeslagen in een soort van database. De website output die je met een browser bekijkt staat (als copie) fysiek wel op een plat (nginx-webserver) filesysteem. De uitvoer daarvan wordt periodiek en nadat je een website bewaard, dynamisch opnieuw aangemaakt. De aanmaken - afhankelijk van server drukte - kan soms een paar minuten of langer duren.

De sorteervolgorde van de blokjes, is die die van interne key waaraan je dan (via de yaml file) een leesbare naam hebt gegeven.

Verder kun je je website prima met één link aanroepen om te bewerken. Wanneer je eenmaal in je webeditor zit, copy/paste dan de adres-url naar een favo’s en daarna heb je (met inloggen natuurlijk) directe toegang.
NB: wanneer je je website verwijderd, is de adres url (waarin een key) zit, niet langer geldit. Elke nieuwe website (of die wordt geimporteerd) krijgt een nieuwe toegangskey.

Ik zie niet goed dat het spijtig is dat het topdomein niet werkt… even gedacht vanuit xs4all kon wat we hier doen al helemaal niet. Wat je kunt doen is een feature-request doen die wel even (oneindig) op zich zal laten wachten.
Alternatief is je verdiepen in Jekyll die d8 een mogelijk heeft om variabelen te (her)gebruiken die dan de plaats innemen van defaults. Zelf heb ik nooit de moeite genomen omdat ik altijd met subdomeinen werk.
Optie is om je topdomein-website te voorzien van Jekyll interlinks (via bestand index.link met inhoud verwijzend naar een andere http://fqdn-website/index123.html) te maken die dan doorverwijst naar een te kiezen subsite.

Wanneer je echt full control wilt hebben, is het Jekyll CMS - en daar vertrouwd mee raken - mogelijk niet de beste keuze.

Ik weet dat je mijndomein.nl als voorbeeld gebruikt, maar daarvoor kan je beter example.nl gebruiken. Want mijndomein.nl is gewoon een bestaande domeinnaam die diensten aanbied.

Verder vraag ik me af waarom je niet gewoon je echte domeinnaam gebruikt, want als je er een website op wil zitten, verwacht ik ook dat je wil dat mensen die website gaan bezoeken.

Mij zelf corrigerend en net getest, is het wel degelijk mogelijk om OOK op het topdomein ( hier http://mijndomein.nl ) een website aanmaken die dan automtisch het onderliggende index bestand oppikt.
Dus het is niet nodig om verplicht subdomein en/of index.html te gebruiken (weer wat geleerd).

De _config.yml configuratie inhoud ziet er daarvoor dan bv zo simpel uit:

# General configuration changed
title: HelloWorld
baseurl: /
host: topdomein.nl

Tevens is er ter voorbeeld, hier in markdown formaat, een default index.md bestand met inhoud

---
layout: default
---
# Welcome to your site
You can find the contents of this page in index.md in file HelloWorld
  • NB: index.md (markdown) wordt in real-life door het CMS omgezet naar een full featured index.html met hulp van de regel layout: default die met verwijzing naar de Jekyll standaard folders _layouts en _assets (mind the underscore!!!), de layout van gaat opmaken.

De website is daarmee benaderbaar geworden via
http://topdomein.nl en toont dan:


Welcome to your site

You can find the contents of this page in index.md in file HelloWorld


1 like

Ik ga hier niet mijn websites en data delen, iets met privacy.

1 like

@ PtrO, bedankt voor je uitleg!

Als ik het goed begrijp is 1 website equivalent aan een subdomein. Ik heb nu www.example.nl en sub1.example.nl gemaakt. B.v.

Elk subdomein dat je wilt gebruiken moet gedefinieerd worden als CNAME in de DNS settings. B.v.

De www variant geeft nu HTML terug via www.example.nl. Maar bij de sub1 variant krijg ik nog steeds “no implicit conversion of nil into String”. Ik vermoedt dat er in de Jekyll configuratie nog iets ontbreekt. Zal op zoek moeten gaan naar de verschillen.

Alternatief is je verdiepen in Jekyll
Optie is om je topdomein-website te voorzien van Jekyll interlinks

Dat ga ik verder onderzoeken. Weet nu nog te weinig van Jekyll.

Ik zie niet goed dat het spijtig is dat het topdomein niet werkt… even gedacht vanuit xs4all kon wat we hier doen al helemaal niet.

Bij XS4all heb je inderdaad alleen iets als username.home.xs4all.nl voor 1 personal website waar je HTML naar toe upload. Dat is bij freedom al een stuk beter en makkelijker. Maar mijn domein naam is een compact werkwoord. (Denk in de trent van wijkopenautos.nl of twitter.com.) De domeinnaam is tevens de “brand name” die in alle communicatie wordt gebruikt. Vanuit die optiek is het essentieel dat je via domeinnaam.nl bij je website kunt.

Wanneer je echt full control wilt hebben, is het Jekyll CMS - en daar vertrouwd mee raken - mogelijk niet de beste keuze.

Vanuit energie-besparing oogpunt wil ik de server die nu dag en nacht aan staat uitfaseren. Daarom ben ik alternatieven aan het onderzoeken waar ik mijn website kan plaatsen. Aangezien Mijn Freedom deze mogelijkheid biedt, leek me dit een goed alternatief.

@ PtrO, ik zie dat onze antwoorden elkaar gekruist hebben. Mooi dat het toch kan! Ik zal er binnenkort verder induiken.

Update: net even getest en het werkt inderdaad.

1 like

mijndomein.nl is gewoon een bestaande domeinnaam die diensten aanbied.

@subbink, was ik me niet van bewust. Heb waar nog mogelijk naar example.nl gewijzigd. Bedankt voor de waarschuwing.

Enthousiast kruisende antwoorden zijn zomaar gebeurd. Komt goed.

Onthou, ten overvloede, dat de naam die je in het website blokje ziet staan, afkomstig is vanuit de “title: naam” regel in je _config.yml configuratie bestand.

Zorg voor dat de te gebruiken : “host: domein…” waarop de website moet reageren, UNIEK is voor al jouw websites.

  • De CNAME koppeling naar Website verloopt imo met dat bij een http request, de server op zoek gaat naar een website die matcht met de host-regel. Is ergens of daar iets fout cq verkeerd krijg je die cryptische boodschappen.

Helaas ontbreekt een foutenlog en je zult dus zelf proefondervindelijk stap voor (kleine) stap moeten werken om uit te vinden wanneer en waar het precies misgaat. Soms kan het helpen alles van een hopeloos verziekte website te verwijderen en vanaf scratch beetje bij beetje (regel voor regel) die weer (safe-check-see-retry-and-again) die opnieuw te gaan opbouwen tot op het moment dat het ergens misgaat. Vervolgens ga je één stapje terug en weet je dat daar het dus niet goed ging.

NB: het is niet nodig om uit de webeditor te gaan.
Bij bewaren zorg ik ook een zg hoofdbestand wordt aangepast dat daarmee kennelijk zorgt voor een servertrigger die dan onderwater de “website” inhoud naar html overzet.
Wat ik standaard doe is een commentaar regel veranderen (gelijk dienend als timestamp documentatie) in het _config.yml bestand en bv het index.md of zo ja, het index.html bestand.

  • Ik denk dat de servermonitoring pas tot actie overgaat als één van die hoofdbestanden inhoudelijk verandert. De server kijkt daarin wanneer we de wijzigingen opslaan ( → floppy icoon). Hierna ontstaat er een refresh van de webinhoud die dan op de browser (F5) kan worden ververst.

Mogelijk dat je huidige bestanden inhoudelijk zijn vervuild met onzichtbare spaties o.i.d.

  • Spullen van onze websites draaien op (feitelijk) Linux dat best picky kan zijn om wat er we;l is en wij niet zien (denk aan tabs die sws een NoGo zijn in yaml-formaat bestanden.
1 like

Dat is helemaal jouw keuze.
Het kan soms wel zorgen dat mensen minder goed kunnen helpen. Dat kan iets zijn dat meeweegt in de keuze of je wel of niet een echte website naam wil gebruiken.

Dit topic is 24 uur na het laatste antwoord automatisch gesloten. Nieuwe antwoorden zijn niet meer toegestaan.