Slovník metadat vm:
Vlastní pojmy pro archivní JSON-LD export webu Vojty Maura.
Tento slovník vysvětluje všech 23 vlastních polí a třídu vm:Link používanou exportérem export-site-json.mjs ve verzi 1.0.0. U každého pojmu uvádí význam, místo použití, datový typ a příklad. Příklady jsou ilustrativní.
Jmenný prostor je https://vojtamaur.cz/ns/. Prefix vm: zkracuje jeho adresu: například vm:slug znamená https://vojtamaur.cz/ns/slug. Názvy rozlišují velká a malá písmena.
JSON-LD export obsahuje vlastní kontext přímo v souboru, takže tuto stránku ke zpracování nepotřebuje stahovat. Stránka dokumentuje význam místních pojmů. Zkrácená ukázka kontextu:
{
"@context": {
"@version": 1.1,
"@vocab": "https://schema.org/",
"vm": {
"@id": "https://vojtamaur.cz/ns/",
"@prefix": true
},
"vm:sourceMetadata": {
"@id": "vm:sourceMetadata",
"@type": "@json"
}
}
} @prefix: true umožňuje použít vm jako prefix. Standardní pojmy, například BlogPosting, headline a articleBody, se rozvíjejí podle Schema.org. Jejich význam tento slovník nepředefinovává.
Export jako celek
vm:exportVersion
Verze formátu a implementace JSON-LD exportéru. Pomáhá určit, jak číst tento soubor.
- Použití
- Kořenový objekt Collection
- Typ v JSON
- řetězec
- Identifikátor
https://vojtamaur.cz/ns/exportVersion
Příklad hodnoty
"1.0.0" Není to verze JSON-LD, webu ani jednotlivého článku.
vm:generatedAt
Okamžik vytvoření JSON exportu, zaznamenaný exportérem.
- Použití
- Kořenový objekt Collection
- Typ v JSON
- řetězec s časem v ISO 8601, UTC
- Identifikátor
https://vojtamaur.cz/ns/generatedAt
Příklad hodnoty
"2026-09-11T09:00:00.000Z" Není to datum vydání ani změny článků. Kontext exportu ponechává hodnotu jako řetězec, nepřiřazuje jí datový typ xsd:dateTime.
vm:sourceIndexPath
Cesta ke vstupnímu ALL_POSTS.txt, obvykle relativní vůči kořeni projektu. Index určuje výběr článků a jejich zdrojová metadata.
- Použití
- Kořenový objekt Collection
- Typ v JSON
- řetězec: cesta
- Identifikátor
https://vojtamaur.cz/ns/sourceIndexPath
Příklad hodnoty
"dist/ALL_POSTS.txt" Používá lomítka /. Při volbě buildu mimo projekt může obsahovat ..; u buildu na jiném Windows disku bude absolutní. Není to veřejná URL.
vm:sourceIndexSha256
SHA-256 přesných bajtů vstupního ALL_POSTS.txt, včetně případného BOM a původních konců řádků.
- Použití
- Kořenový objekt Collection
- Typ v JSON
- řetězec: 64 malých hexadecimálních znaků
- Identifikátor
https://vojtamaur.cz/ns/sourceIndexSha256
Příklad hodnoty
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" Ukázkový hash je ilustrativní. Hodnota se týká vstupního indexu, nikoli výsledného JSON souboru.
vm:sourceGeneratedAt
Hodnota řádku Generated: ze vstupního ALL_POSTS.txt. Pokud tento řádek chybí, export obsahuje prázdný řetězec.
- Použití
- Kořenový objekt Collection
- Typ v JSON
- řetězec
- Identifikátor
https://vojtamaur.cz/ns/sourceGeneratedAt
Příklad hodnoty
"2026-09-10T08:42:49.334Z" Popisuje vznik textového indexu. Exportér ji nepřepočítává ani nezaručuje shodu se stářím všech souborů buildu.
vm:articleCount
Počet záznamů v hasPart. Každá jazyková verze článku se počítá samostatně.
- Použití
- Kořenový objekt Collection
- Typ v JSON
- celé číslo
- Identifikátor
https://vojtamaur.cz/ns/articleCount
Příklad hodnoty
164 Například 82 článků s českou i anglickou verzí dává 164 záznamů. Počet se mění s obsahem buildu.
vm:notes
Poznámky exportéru k rozsahu exportu a interpretaci textu, médií, dat, jazyků, pořadí a kontrolních součtů.
- Použití
- Kořenový objekt Collection
- Typ v JSON
- pole řetězců
- Identifikátor
https://vojtamaur.cz/ns/notes
Příklad hodnoty
[
"Article order is recorded explicitly as vm:position because JSON-LD arrays do not imply RDF ordering."
] vm:declaredBuildSha256
Hash deklarovaný souborem BUILD_SHA256.txt ve vybraném buildu. V tomto projektu má identifikovat soubor SHA256SUMS.txt.
- Použití
- Kořenový objekt Collection; nepovinné pole
- Typ v JSON
- řetězec: 64 malých hexadecimálních znaků
- Identifikátor
https://vojtamaur.cz/ns/declaredBuildSha256
Příklad hodnoty
"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" Pole chybí, pokud BUILD_SHA256.txt není přítomen. Exportér údaj pouze přečte; neověřuje manifest, shodu všech souborů ani OpenPGP podpis. Ukázkový hash je ilustrativní.
Články
vm:slug
Identifikátor článku převzatý z pole SLUG v indexu. Česká a anglická verze používají stejný slug.
- Použití
- Objekt BlogPosting v hasPart
- Typ v JSON
- řetězec
- Identifikátor
https://vojtamaur.cz/ns/slug
Příklad hodnoty
"metawebovy-clanek" Neobsahuje jazykový prefix en/. Spolu s inLanguage identifikuje konkrétní jazykovou verzi.
vm:position
Pořadí jazykové verze článku ve vstupním indexu a ve výsledném hasPart.
- Použití
- Objekt BlogPosting v hasPart
- Typ v JSON
- kladné celé číslo od 1
- Identifikátor
https://vojtamaur.cz/ns/position
Příklad hodnoty
1 Slouží k obnovení pořadí i po zpracování jako RDF, kde běžné JSON-LD pole samo o sobě pořadí nezaručuje. Není to trvalé ID článku.
vm:sourcePath
Původní hodnota SOURCE z ALL_POSTS.txt, obvykle cesta ke zdrojovému MDX souboru vztažená ke kořeni projektu.
- Použití
- Objekt BlogPosting v hasPart
- Typ v JSON
- řetězec: cesta zaznamenaná v indexu
- Identifikátor
https://vojtamaur.cz/ns/sourcePath
Příklad hodnoty
"src/content/posts/metawebovy-clanek.mdx" Exportér aktuální MDX nečte ani nehashuje. Cesta tedy nepotvrzuje, že současný zdrojový soubor odpovídá vybranému buildu.
vm:builtHtmlPath
Cesta ke skutečně načtenému HTML souboru vztažená ke kořeni vybraného buildu, s lomítky /.
- Použití
- Objekt BlogPosting v hasPart
- Typ v JSON
- řetězec: relativní cesta
- Identifikátor
https://vojtamaur.cz/ns/builtHtmlPath
Příklad hodnoty
"en/metawebovy-clanek/index.html" U plochého USB buildu může mít tvar en/metawebovy-clanek.html. Na rozdíl od sourcePath a sourceIndexPath se nevztahuje ke kořeni projektu.
vm:builtHtmlSha256
SHA-256 přesných bajtů celého HTML souboru, ze kterého byl tento záznam vytvořen.
- Použití
- Objekt BlogPosting v hasPart
- Typ v JSON
- řetězec: 64 malých hexadecimálních znaků
- Identifikátor
https://vojtamaur.cz/ns/builtHtmlSha256
Příklad hodnoty
"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" Nehashuje pouze articleBody ani vm:articleHtml. Ukázkový hash je ilustrativní.
vm:sourceMetadata
Všechna původní metadata z hlavičky záznamu v ALL_POSTS.txt, zachovaná jako slovník řetězců.
- Použití
- Objekt BlogPosting v hasPart
- Typ v JSON
- objekt JSON; v JSON-LD literál @json
- Identifikátor
https://vojtamaur.cz/ns/sourceMetadata
Příklad hodnoty
{
"TITLE": "Metawebový článek",
"SLUG": "metawebovy-clanek",
"URL": "https://vojtamaur.cz/en/metawebovy-clanek/",
"LANGUAGE": "en",
"SECTION": "volna-tvorba",
"DATE": "2026-04-01",
"SOURCE": "src/content/posts/metawebovy-clanek.mdx",
"BUILT_HTML": "dist/en/metawebovy-clanek/index.html"
} TITLE může zůstat česky i u anglického záznamu. Pole headline oproti tomu pochází z vykresleného nadpisu. Vnitřní klíče tohoto JSON literálu se nerozvíjejí do pojmů Schema.org ani vm:.
vm:renderedMetadata
Texty prvků .post-meta uvnitř článku po sjednocení bílých znaků, v pořadí nalezeném v HTML.
- Použití
- Objekt BlogPosting v hasPart
- Typ v JSON
- pole řetězců; může být prázdné
- Identifikátor
https://vojtamaur.cz/ns/renderedMetadata
Příklad hodnoty
[
"duben 2026"
] Podle sekce mohou obsahovat datum, místo výstavy nebo další údaje. Jde o čitelné popisky, nikoli o nově strukturované datum nebo místo.
vm:articleHtml
Vnitřní HTML prvního článku vybraného pomocí main article, serializované po načtení knihovnou Cheerio. Zahrnuje nadpis, viditelná metadata i obsah článku.
- Použití
- Objekt BlogPosting v hasPart
- Typ v JSON
- řetězec s HTML
- Identifikátor
https://vojtamaur.cz/ns/articleHtml
Příklad hodnoty
"<div class=\"post-header\"><h1>Ukázka</h1></div><div class=\"post-body\"><p>Text článku.</p></div>" Není to samostatná stránka ani přesná bajtová kopie vstupního souboru. Relativní odkazy se vztahují k vm:builtHtmlPath v daném buildu. HTML není sanitizované; při jeho dalším zobrazování je nutné zacházet s ním jako s obsahem původní stránky.
vm:robots
Obsahy atributu content u značek meta s name=robots v načteném HTML, spojené čárkou. Pokud nejsou přítomné, hodnota je prázdná.
- Použití
- Objekt BlogPosting v hasPart
- Typ v JSON
- řetězec
- Identifikátor
https://vojtamaur.cz/ns/robots
Příklad hodnoty
"index,follow,max-image-preview:large" Zachycuje značky v HTML; nezahrnuje HTTP hlavičku X-Robots-Tag ani pravidla robots.txt.
vm:languageStatus
Stav odvozený z jazyka v indexu a ze značky robots podle konvence tohoto webu.
- Použití
- Objekt BlogPosting v hasPart
- Typ v JSON
- řetězec: original, english-route nebo incomplete-czech-fallback
- Identifikátor
https://vojtamaur.cz/ns/languageStatus
Příklad hodnoty
"english-route" original: záznam má LANGUAGE=cs. incomplete-czech-fallback: záznam má LANGUAGE=en a robots obsahuje slovo noindex. english-route: ostatní záznamy s LANGUAGE=en.
Není to nezávislé ověření úplnosti ani kvality překladu. Anglická verze může obsahovat český ALT text, citace či nepřeložené pasáže.
vm:links
Odkazy nalezené v prvcích a[href] uvnitř článku, v pořadí HTML. Opakované odkazy se zachovávají.
- Použití
- Objekt BlogPosting v hasPart
- Typ v JSON
- pole objektů vm:Link; může být prázdné
- Identifikátor
https://vojtamaur.cz/ns/links
Příklad hodnoty
[
{
"@type": "vm:Link",
"url": "https://vojtamaur.cz/koncepty/",
"name": "Koncepty",
"vm:originalHref": "/koncepty/"
}
] Zahrnuje pouze URL, které exportér dokáže rozvinout do podporovaných schémat http, https, mailto, tel, gemini nebo gopher. Nejde o všechny možné síťové odkazy uvnitř HTML, skriptů a médií.
Média a odkazy
vm:element
Název původního HTML prvku, ze kterého vznikl záznam média.
- Použití
- Objekty v associatedMedia a image
- Typ v JSON
- řetězec: img, iframe, video, audio, object nebo embed
- Identifikátor
https://vojtamaur.cz/ns/element
Příklad hodnoty
"iframe" Není to MIME typ. Druh média popisuje standardní @type, například ImageObject nebo VideoObject.
vm:originalSource
Zdroj média před převodem na absolutní URL: první neprázdná hodnota atributu src, atributu data nebo src prvního vnořeného source[src], v tomto pořadí.
- Použití
- Objekty v associatedMedia a image
- Typ v JSON
- řetězec
- Identifikátor
https://vojtamaur.cz/ns/originalSource
Příklad hodnoty
"/images/ukazka.jpg" Hodnota pochází z HTML parseru, takže entity již mohou být dekódované. Výsledná absolutní adresa je v contentUrl, u iframe v embedUrl.
vm:altText
Hodnota atributu alt obrázku. Chybějící i prázdný atribut se exportují jako prázdný řetězec.
- Použití
- Objekt ImageObject vytvořený z img
- Typ v JSON
- řetězec; může být prázdný
- Identifikátor
https://vojtamaur.cz/ns/altText
Příklad hodnoty
"Pohled na instalaci v galerii" ALT se nepřekládá automaticky a může být česky i v anglickém záznamu. Viditelný figcaption se ukládá odděleně do standardního pole caption.
vm:originalHref
Původní atribut href odkazu načtený HTML parserem, před převodem na absolutní veřejnou URL.
- Použití
- Objekt vm:Link
- Typ v JSON
- řetězec
- Identifikátor
https://vojtamaur.cz/ns/originalHref
Příklad hodnoty
"/koncepty/" Výsledná adresa je ve standardním poli url. Původní hodnota může být relativní cesta, fragment i absolutní URL.
vm:Link
Jeden výskyt odkazu v článku. Popisuje samotný odkaz, nikoli typ cílového dokumentu nebo osoby.
- Použití
- Hodnota @type u položky vm:links
- Typ v JSON
- vlastní třída; instance je objekt JSON
- Identifikátor
https://vojtamaur.cz/ns/Link
Příklad objektu
{
"@type": "vm:Link",
"url": "https://vojtamaur.cz/koncepty/",
"name": "Koncepty",
"vm:originalHref": "/koncepty/"
} url je rozvinutá adresa. name je text odkazu se sjednocenými bílými znaky a může být prázdný, například u obrázkového odkazu. vm:originalHref zachovává původní atribut.
Standardní pojmy a souvislosti
Kořen exportu je Collection a články jsou objekty BlogPosting v poli hasPart. České a anglické verze propojují translationOfWork a workTranslation.
articleBody obsahuje text z hotového HTML, včetně nezkrácených bloků kódu. Média jsou popsaná standardními typy ImageObject, VideoObject, AudioObject a MediaObject. Všechna nalezená podporovaná média jsou v associatedMedia; obrázky jsou zároveň uvedené v image.
datePublished přebírá datum z indexu. U části starších článků je první den měsíce pouze technickou hodnotou z migrace, nikoli doloženým přesným dnem publikace.
Identifikátor pojmu https://vojtamaur.cz/ns/slug a odkaz na odstavec https://vojtamaur.cz/ns/#slug jsou různé adresy. Tento web poskytuje také samostatné popisy známých pojmů, například /ns/slug/. Stávající identifikátory v exportu se tím nemění.
Význam již použitých identifikátorů má zůstat stálý. Při rozšíření exportu je potřeba doplnit i tento slovník; významově odlišný údaj má dostat nový název.
- JSON-LD 1.1: zkrácené identifikátory a prefixy
- JSON-LD 1.1: literály JSON
- Slovník Schema.org
- Technická dokumentace webu — část 9.6.9 popisuje ruční spuštění, vstupy a výstupy exportéru.