feat(exporter,viewer): glossary term links, RTL item content, per-item language list (#1427)
Commit: 033d85e256c071992eec80cfdb6007d1cda2a7cf
Date: 2026-07-06 01:25:01 +0200
Author: PascalHavelange
Commit Message
feat(exporter,viewer): glossary term links, RTL item content, per-item language list (#1427)
- item-exporter.ts: add `languages` per item (from the same translation map
already built for translations/items.{lang}.json), so the viewer can list
only languages an item actually has instead of every site language.
- ItemDetail.vue:
- Wire glossary terms into item text, mirroring legacy's clickable
glossary words (e.g. "thuluth" on database_item.php): every spelling of
the item's glossary_ids, in the active language, gets wrapped in a
clickable span before markdown rendering. Clicking one opens a modal
with the term and its definition, matching legacy's glossary1.php popup.
- Item content (title, key facts, description/history sections, dynasty
text, related items) now renders right-to-left when Arabic is the
active language - the app's own English interface (nav, labels,
buttons) is unaffected.
- The item-language dropdown now lists only languages this item actually
has a translation in, instead of every language in the whole site.
Verified locally against a real export + a temporarily swapped-in data
package: glossary term wraps/click/modal, RTL toggling, and the
per-item language list all work as expected.
EOF
Co-authored-by: Pascal HAVELANGE <havelangep@hotmail.com>
Files Changed
- 📝 Modified:
scripts/exporter/src/exporters/item-exporter.ts - 📝 Modified:
scripts/viewer/src/views/ItemDetail.vue
Links
This documentation was automatically generated from Git commit data.