Elk onderdeel van een installatie, uit elkaar getekend. In elkaar zit het allemaal binnen de grens van een app die je toch al deployt — en dat is het hele argument.
Een admin op /admin, pagina's op /<slug>, concepten, versies, ingeplande publicaties, media, formulieren en redirects — binnen de app die je toch al deployt.
De figuren op deze pagina zijn geen mockups. Vinum rendert geen eigen kleur: negentien CSS-variabelen stylen zowel de publieke renderer als de hele admin, en deze site zet ze één keer. De admin is dus inkt op papier omdat de pagina dat is.

Elke belofte kost iets om na te komen. Daarom is het er een.
Wat hier wordt geclaimd:
Sleutels zijn strings, waarden gewone JSON. Geen ORM, geen migratieframework, geen eigen formaat — met een SQLite-viewer lees je je eigen content. Vendor lock-in is een bug.
Web-standaard Request en Response. Web Crypto. Een key-value-interface met vijf methodes. Elke afhankelijkheid die wij toevoegen is een upgrade die jij ooit moet uitvoeren, dus we voegen er bijna geen toe.
Niets wat is ingevoerd wordt vertrouwd — niet uit de editor, niet uit een importbestand, niet van een agent met een tool. Elke schrijfactie gaat door een zuivere sanitizer die weggooit wat hij niet herkent. Nooit rauwe HTML uit data.
Vinum levert structuur en een stijlcontract; jij levert de waarden. Een redacteur kiest wat een blok zegt en welke variant het draagt, nooit de kleur of de witruimte. Precies die grens zorgt dat een klant een middag kan tekstschrijven zonder de lay-out te slopen.
Op de pagina zelf, in de lay-out die hij echt krijgt, met jouw eigen componenten. Geen formulier links en een preview rechts.

Dit stuk staat er omdat het antwoord elders vaak "dat kan niet" is. Wix schrijft in de eigen helpdocumentatie dat een Wix-site op Wix' servers gehost en beheerd moet worden, dus weggaan betekent opnieuw bouwen in plaats van verhuizen.
Vinum exporteert alles als één JSON-bestand. Eén commando, op een site die je een jaar niet hebt aangeraakt, zonder dat je eerst iets hoeft te lezen.
Ook vanuit de admin, of met één regel code. Het is geen aparte exportstand — het is hetzelfde codepad dat het back-upscherm elke dag gebruikt. Draai het vóór je voor Vinum kiest, niet erna: een nooduitgang die je niet hebt getest, is er geen.
npx vinumcms export{ "version": 1, "exportedAt": 1754481600000, "entries": [ { "key": ["page", "about"], "value": { "slug": "about", "title": "About" } }, { "key": ["rev", "about", 1754000000000], "value": {} } ]}Wil je content over GraphQL bevragen vanuit een losse frontend, dan is Vinum het verkeerde gereedschap. Het zit bewust vast aan de app die het rendert — juist die koppeling levert inline bewerken en één deployment op.
Eén installatie, één site, één bestandssysteem. Alles daarbuiten verandert elke beveiligingsaanname in de codebase.
Uitbreiden doe je in je eigen codebase, in TypeScript, met types. Er is geen pluginlader en die komt er niet. Van de 11.334 WordPress-kwetsbaarheden die in 2025 zijn gemeld zat 91% in plugins.
De kern levert de blokken die vrijwel elke site nodig heeft, als vaste set waaruit je kiest en die je ter plekke aanpast. Jouw eigenwijze hero hoort in jouw repo.
Vinum is gegroeid in een horlogewinkel en die winkelcode is daar gebleven. Vinum kent pagina's, geen producten.
Vinum is klein met opzet, en klein heeft een prijs. De laatste rij telt het zwaarst als je hiertussen moet kiezen.
| Vinum | WordPress | |
|---|---|---|
| Uitbreiden | TypeScript in je eigen repo, via dezelfde API als de kernblokken. | Een plugin-ecosysteem — en 91% van de 11.334 meldingen in 2025 zat in plugins. |
| Weggaan | Eén JSON-bestand met gedocumenteerde sleutels, te importeren in een verse installatie. | Exporters bestaan, met een betrouwbaarheid die afhangt van welke plugins je content schreven. |
| Waar je bewerkt | Op de pagina, in de echte lay-out, met jouw componenten. | Gutenberg. Het oordeel over 340+ meningen is ongeveer kop of munt. |
| Beheer | Geen. Het deployt met je app omdat het onderdeel is van je app. | Een PHP-host, updates voor kern en plugins, en een beveiligingsoppervlak om bij te houden. |
| Ecosysteem | Vrijwel geen. Heb je iets nodig dat niemand schreef, dan schrijf je het zelf. | Enorm, en een echt voordeel. Wat je nodig hebt bestaat waarschijnlijk al. |
npm install @vinumcms/core @vinumcms/adapters \ @vinumcms/server @vinumcms/react @vinumcms/admin npx vinumcms doctor # controleert de drie instellingen die stil falenDe installatiehandleiding — installeren, bekabelen, de drie build-instellingen en de negentien themavariabelen.
De documentatie — core, server, react, admin, adapters, en mail als je post verstuurt.