English, Nederlands
Doneer met PayPal

Nocterra versie 0.99.6

Nocterra 0.99.6 breidt de API’s en extensiepunten voor add-ons uit, zodat zelfstandig uitgebrachte functionaliteit meer gebruik kan maken van de bestaande infrastructuur van Nocterra.

De release maakt meer functionaliteit rond caching, contentverwerking, metadata, configuratie en routing beschikbaar en bevat daarmee samenhangende uitbreidingen in onder andere het blog-, RDFa-, layout- en image handling-gedeelte. Deze veranderingen vormen een bredere basis voor add-ons zoals de Event add-on en zijn ook algemeen beschikbaar voor andere extensies.

Pakket
Nocterra
Versie
0.99.6
Release datum
22 september 2026
Type
Archief TAR.GZ
Download
nocterra_0.99.6_noarch.tar.gz

Add-on-API's en herbruikbare core-functionaliteit

Nocterra 0.99.6 maakt meer bestaande CMS-functionaliteit herbruikbaar buiten de code waarin deze oorspronkelijk is geïmplementeerd. Hiermee wordt verder gewerkt aan de mogelijkheid voor afzonderlijk uitgebrachte add-ons om gebruik te maken van de infrastructuur van Nocterra zelf, in plaats van daarvoor parallelle mechanismen te implementeren.

Een voorbeeld hiervan is stringToUrl(), dat van de blogcode naar de algemene layout-API is verplaatst zodat de functie ook beschikbaar is voor andere delen van Nocterra en voor add-ons. Andere wijzigingen in deze release maken op vergelijkbare wijze algemeen bruikbare functionaliteit los van de feature waarvoor deze oorspronkelijk nodig was. Dit werk maakt ook deel uit van de voorbereiding voor add-ons zoals de Event add-on, die toegang nodig hebben tot meer routing-, caching-, content- en structured-data-functionaliteit van Nocterra dan alleen de bestaande integratie via pagina's en hooks biedt.

Blog-URL's, routing en configuratie

De blogfunctionaliteit ondersteunt nu een urlScheme-configuratie per author en per category. Artikelen kunnen een URL-schema gebruiken dat bij hun category of author hoort, met een configureerbare prioriteit wanneer beide beschikbaar zijn, en terugvallen op de algemene URL-schema's voor artikelen. De routingcode is rond deze schema's georganiseerd zodat dezelfde configuratie wordt gebruikt voor URL-generatie, het opzoeken van artikelen, canonical URL's en alternatieve URL's.

URL-schema's ondersteunen ook de uitgebreidere case-prefix-syntaxis die elders in de blogfunctionaliteit wordt gebruikt, waaronder omzetting van de eerste letter en van de volledige tekst naar kleine of hoofdletters. Article placeholders en definitions hebben overeenkomstige opties voor hoofd- en kleine letters, en bij het verwerken van article text kunnen namen van authors, categories en tags nu ook zonder link worden geretourneerd wanneer de omringende output zelf al voor de link zorgt.

Links in de configuratie van years, authors, categories en tags kunnen nu consequent zowel absolute URL's als lokale paden gebruiken. De configuratie en normalisatie hiervan zijn in hetzelfde model ondergebracht, waardoor dezelfde URL-afhandeling voor deze definitions beschikbaar is.

Structured data en semantiek

De structured-data-output is nagekeken als onderdeel van het voortgaande werk om semantiek minder afhankelijk te maken van het codepad dat toevallig een pagina genereert. De automatisch gegenereerde jaarinhoudsopgave legt bijvoorbeeld niet langer een vaste Blog/BlogPosting-relatie vast. Afzonderlijke entries kunnen in plaats daarvan de RDFa-instelling en het geconfigureerde type van hun category gebruiken.

Dit werk vormt een voorbereiding op het onderbrengen van meer structured-data-afhandeling in algemene Nocterra-functionaliteit en het beschikbaar maken van API's voor het toevoegen van structured data. Op dit moment is deze verantwoordelijkheid verdeeld over verschillende delen van de core, waaronder door de layout gegenereerde gegevens zoals breadcrumbs en OpenGraph-output, en structured data die door de blogfunctionaliteit wordt gegenereerd. Door deze functionaliteit samen te brengen kunnen pagina's, core-componenten en afzonderlijk uitgebrachte add-ons uiteindelijk via dezelfde infrastructuur semantische informatie toevoegen.

Article images en ImageSets

Voor article images is nu een algemene API beschikbaar. blogGetArticleImage() gebruikt eerst een image die direct bij het artikel is geconfigureerd en kan daarna een article image bepalen via de geconfigureerde author en category, de algemene article-configuratie en ten slotte de actieve site image. Voor de author of category kan onafhankelijk van de prioriteit van het URL-schema een prioriteit worden ingesteld.

De gevonden image wordt gebruikt voor article output en metadata generation en is ook beschikbaar via de /images/logo_social.png-placeholder van een artikel. De API kan een bestaande ImageSet behouden, door een andere ImageSet vervangen of de onderliggende image zonder ImageSet-wrapper retourneren. Paden voor ImageSets mogen in 0.99.6 ook met een slash beginnen.

Layout en gegenereerde output

Aan menu-items kan nu een extra CSS-class worden toegewezen, zodat afzonderlijke entries kunnen worden vormgegeven zonder de gegenereerde menustructuur te wijzigen. Link processing is daarnaast uitgebreid naar meer gegenereerde page content, waaronder de daarvoor geschikte prologues, epilogues en footer entries, zodat ook deze onderdelen dezelfde Nocterra-linkafhandeling kunnen gebruiken als normale page content.

Ook de footerconfiguratie is flexibeler: entries kunnen hun weergegeven naam uit een bestaand menupad halen, gewone tekst zonder link bevatten of als separator functioneren.

De language selector gebruikt nu de correct gespelde class separator voor de SPAN tussen taalkeuzes. Sites waarvan de CSS expliciet naar de eerdere class seperator verwijst, moeten die selector bij de overstap naar 0.99.6 aanpassen.

De configuratie voor page timestamping accepteert nu naast de andere ondersteunde vormen ook een platte array met uitgesloten paden, waardoor de normalisatie van deze configuratie aansluit bij vergelijkbare Nocterra-settings.

Er zijn daarnaast enkele kleine wijzigingen in de opmaak van de gegenereerde HTML. Lege regels aan het begin en einde worden consequent afgehandeld en de inhoud van PRE-elementen krijgt niet langer de inspringing die Nocterra aan de omringende gegenereerde markup toevoegt. Dit zorgt er vooral voor dat technische en voorgeformatteerde bronvoorbeelden dichter bij hun aangeleverde opmaak blijven.

Gedetailleerde wijzigingen

2026-09-22#892:Blog: Add fallback image to article, category and author configuration
2026-09-20#891:Blog: Add function to get article image
2026-09-20#88:PRE element content should not be indented
2026-09-20#890:generateFromContent does not remove leading empty lines correctly
2026-09-20#885:Blog: Add support to definitions for case prefix syntax
2026-09-19#127:Ability to assign classes to menu items
2026-09-19#850:compileLanguages does not correctly support flat array timestamping page setting
2026-09-19#889:Move stringToUrl to layout.php
2026-09-19#888:Blog: Make RDFa generation type aware
2026-09-18#887:Blog: Should not override already defined menu items
2026-09-18#884:Blog: Add support to urlscheme for case prefix syntax
2026-09-17#886:Blog: Placeholder first letter uppercase without prefix overrides specified prefix
2026-09-17#883:Blog: Expand placeholder case prefix to include full lower and full upper case
2026-09-15#881:Blog: mismatch in handling absolute versus relative year, author, category and tag its value of link
2026-09-15#882:Blog: fatal error in blogParseDefText when configuring multiple urlschemes for a category or author
2026-08-17#880:Blog: Double slash possible in sitemap.xml
2026-08-08#879:imageSets cannot start with a slash
2026-08-06#743:Process links in some prologues and epilogues and footer string entries
2026-08-06#851:languageSelector uses incorrectly formed separator
2026-08-06#878:Footer check of item and link too strict for custom entry
2026-07-31#875:Blog: Support per author and per category urlScheme
2026-07-31#877:Blog: lookup_article_in_author_toc passed link directly as the author key
2026-07-31#876:Blog: wrong function name for blogGetArticleUrl
2026-07-30#874:Blog: article keys mix modified and updated
2026-07-30#873:Blog: Add parameter to blogParseArticleText to prevent links in links
2026-07-30#871:Blog: blogExtendMenuWithYear not called from blogGenerateYearContent
2026-07-30#872:Blog: toc and urlmap routing log messages that should be debug output
2026-07-30#869:Blog: Customizing TOC URL for a certain year/author/category/tag can result in a 404 not found
2026-07-28#870:Blog: urlScheme {date_ord} not parsed correctly
2026-07-28#868:Blog: urlScheme too greedy when the scheme includes dashes
2026-07-28#835:Blog: blogGetArtcleUrl {Day} and {day} use wrong capitalization flag
2026-07-28#867:Blog: Passing null to cacheAddDependency when articles are directly in the source directory
2026-07-28#832:Blog: Inconsistencies between year, author, category and tag settings and normalization