Lijstpagina blogs
Nieuwsitems staan in de mappen onder data/news
. De mappenstructuur is items/<jaar>/<maand>/<dag>/<titel>.md
.
Deze bestanden worden ingelezen in de compilatie stap en er wordt wat metadata opgebouwd in genmanifest.js
. Output wordt geschreven naar newsmanifest.json
in dezelfde map (onder gitignore - npm run generate-news-manifest
)
Het bestand newsmanifest.json
wordt gebruikt in news/index.ts
. Hier zijn een aantal 'utility' functies gedefineerd die gebruikt kunnen worden om te interfacen met het nieuws. Zoals vorig / volgend item, item obv de pagina url, enz.
Deze utilities worden vervolgens weer gebruikt in de pagina's en componenten die het nieuws weergeven components/frontpage/News.vue
en de nieuwspagina
Verder worden met behulp van Nuxt dynamic routes de individuele pagina's geprerendered in de compile stap: https://gitlab.com/electronic-gulden-foundation/electronic-gulden-foundation.gitlab.io/blob/master/data/DynamicRoutes.ts
Nu zou het dus mooi zijn als er ook een soort nieuws index pagina komt, waar de gebruiker gepagineerd door de items kan scrollen en / of zoeken. Zo kunnen we de items op de voorpagina beperken tot een stuk of 5 en verder verwijzen naar deze pagina's.
Paginatie mag ook later komen, voor nu hebben we het over een tiental items.