diff options
| author | (quasar) nebula <qznebula@protonmail.com> | 2026-05-01 08:06:52 -0300 |
|---|---|---|
| committer | (quasar) nebula <qznebula@protonmail.com> | 2026-05-01 08:06:52 -0300 |
| commit | 92d82211fdf3d653b1a5a4d2cfdad5c684e2367d (patch) | |
| tree | 0822b2122963232988cbac2bd6e4689bb5cd4c32 /src/data/yaml.js | |
| parent | dba7bea5c4ef2499c3cc0aee2a3154f6a31ea5b2 (diff) | |
content, data, validators: stub url entries
Diffstat (limited to 'src/data/yaml.js')
| -rw-r--r-- | src/data/yaml.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/data/yaml.js b/src/data/yaml.js index 58acb7c8..60017b3d 100644 --- a/src/data/yaml.js +++ b/src/data/yaml.js @@ -733,6 +733,26 @@ export function parseContributors(entries) { }); } +export function parseURLs(entries) { + return parseArrayEntries(entries, item => { + if (typeof item === 'object' && item['URL']) + return { + url: item['URL'], + annotation: item['Annotation'] ?? null, + }; + + if (typeof item !== 'string') return item; + + const match = item.match(extractAccentRegex); + if (!match) return item; + + return { + url: match.groups.main, + annotation: match.groups.accent, + }; + }); +} + export function parseAdditionalFiles(entries, {subdoc, AdditionalFile}) { return parseArrayEntries(entries, item => { if (typeof item !== 'object') return item; |