riksdagsmonitor 0.8.23 → 0.8.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -1
- package/dist/lib/dashboards/party-dashboard.js +2 -1
- package/dist/lib/dashboards/party-dashboard.js.map +1 -1
- package/dist/lib/dashboards/risk-dashboard.js +2 -1
- package/dist/lib/dashboards/risk-dashboard.js.map +1 -1
- package/dist/lib/shared/index.d.ts +0 -1
- package/dist/lib/shared/index.d.ts.map +1 -1
- package/dist/lib/shared/index.js +3 -1
- package/dist/lib/shared/index.js.map +1 -1
- package/dist/lib/shared/register-globals.d.ts +1 -1
- package/dist/lib/shared/register-globals.d.ts.map +1 -1
- package/dist/lib/shared/register-globals.js +7 -1
- package/dist/lib/shared/register-globals.js.map +1 -1
- package/package.json +53 -21
- package/dist/scripts/analysis-reader.d.ts +0 -241
- package/dist/scripts/analysis-reader.d.ts.map +0 -1
- package/dist/scripts/analysis-reader.js +0 -531
- package/dist/scripts/analysis-reader.js.map +0 -1
- package/dist/scripts/article-quality-enhancer.d.ts +0 -148
- package/dist/scripts/article-quality-enhancer.d.ts.map +0 -1
- package/dist/scripts/article-quality-enhancer.js +0 -430
- package/dist/scripts/article-quality-enhancer.js.map +0 -1
- package/dist/scripts/article-template/constants.d.ts +0 -104
- package/dist/scripts/article-template/constants.d.ts.map +0 -1
- package/dist/scripts/article-template/constants.js +0 -225
- package/dist/scripts/article-template/constants.js.map +0 -1
- package/dist/scripts/article-template/helpers.d.ts +0 -83
- package/dist/scripts/article-template/helpers.d.ts.map +0 -1
- package/dist/scripts/article-template/helpers.js +0 -236
- package/dist/scripts/article-template/helpers.js.map +0 -1
- package/dist/scripts/article-template/index.d.ts +0 -39
- package/dist/scripts/article-template/index.d.ts.map +0 -1
- package/dist/scripts/article-template/index.js +0 -37
- package/dist/scripts/article-template/index.js.map +0 -1
- package/dist/scripts/article-template/registry.d.ts +0 -64
- package/dist/scripts/article-template/registry.d.ts.map +0 -1
- package/dist/scripts/article-template/registry.js +0 -405
- package/dist/scripts/article-template/registry.js.map +0 -1
- package/dist/scripts/article-template/template.d.ts +0 -18
- package/dist/scripts/article-template/template.d.ts.map +0 -1
- package/dist/scripts/article-template/template.js +0 -359
- package/dist/scripts/article-template/template.js.map +0 -1
- package/dist/scripts/article-template/types.d.ts +0 -90
- package/dist/scripts/article-template/types.d.ts.map +0 -1
- package/dist/scripts/article-template/types.js +0 -96
- package/dist/scripts/article-template/types.js.map +0 -1
- package/dist/scripts/article-template.d.ts +0 -18
- package/dist/scripts/article-template.d.ts.map +0 -1
- package/dist/scripts/article-template.js +0 -18
- package/dist/scripts/article-template.js.map +0 -1
- package/dist/scripts/catalog-downloaded-data.d.ts +0 -66
- package/dist/scripts/catalog-downloaded-data.d.ts.map +0 -1
- package/dist/scripts/catalog-downloaded-data.js +0 -239
- package/dist/scripts/catalog-downloaded-data.js.map +0 -1
- package/dist/scripts/check-cia-schema-updates.d.ts +0 -186
- package/dist/scripts/check-cia-schema-updates.d.ts.map +0 -1
- package/dist/scripts/check-cia-schema-updates.js +0 -363
- package/dist/scripts/check-cia-schema-updates.js.map +0 -1
- package/dist/scripts/data-transformers/calendar.d.ts +0 -16
- package/dist/scripts/data-transformers/calendar.d.ts.map +0 -1
- package/dist/scripts/data-transformers/calendar.js +0 -137
- package/dist/scripts/data-transformers/calendar.js.map +0 -1
- package/dist/scripts/data-transformers/constants/committee-names.d.ts +0 -15
- package/dist/scripts/data-transformers/constants/committee-names.d.ts.map +0 -1
- package/dist/scripts/data-transformers/constants/committee-names.js +0 -30
- package/dist/scripts/data-transformers/constants/committee-names.js.map +0 -1
- package/dist/scripts/data-transformers/constants/content-labels-part1.d.ts +0 -11
- package/dist/scripts/data-transformers/constants/content-labels-part1.d.ts.map +0 -1
- package/dist/scripts/data-transformers/constants/content-labels-part1.js +0 -900
- package/dist/scripts/data-transformers/constants/content-labels-part1.js.map +0 -1
- package/dist/scripts/data-transformers/constants/content-labels-part2.d.ts +0 -11
- package/dist/scripts/data-transformers/constants/content-labels-part2.d.ts.map +0 -1
- package/dist/scripts/data-transformers/constants/content-labels-part2.js +0 -900
- package/dist/scripts/data-transformers/constants/content-labels-part2.js.map +0 -1
- package/dist/scripts/data-transformers/constants/content-labels.d.ts +0 -13
- package/dist/scripts/data-transformers/constants/content-labels.d.ts.map +0 -1
- package/dist/scripts/data-transformers/constants/content-labels.js +0 -18
- package/dist/scripts/data-transformers/constants/content-labels.js.map +0 -1
- package/dist/scripts/data-transformers/constants/index.d.ts +0 -15
- package/dist/scripts/data-transformers/constants/index.d.ts.map +0 -1
- package/dist/scripts/data-transformers/constants/index.js +0 -15
- package/dist/scripts/data-transformers/constants/index.js.map +0 -1
- package/dist/scripts/data-transformers/constants/locale-map.d.ts +0 -13
- package/dist/scripts/data-transformers/constants/locale-map.d.ts.map +0 -1
- package/dist/scripts/data-transformers/constants/locale-map.js +0 -17
- package/dist/scripts/data-transformers/constants/locale-map.js.map +0 -1
- package/dist/scripts/data-transformers/constants.d.ts +0 -14
- package/dist/scripts/data-transformers/constants.d.ts.map +0 -1
- package/dist/scripts/data-transformers/constants.js +0 -14
- package/dist/scripts/data-transformers/constants.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.d.ts +0 -64
- package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.js +0 -805
- package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/cia-overview-section.d.ts +0 -50
- package/dist/scripts/data-transformers/content-generators/cia-overview-section.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/cia-overview-section.js +0 -310
- package/dist/scripts/data-transformers/content-generators/cia-overview-section.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/committee.d.ts +0 -12
- package/dist/scripts/data-transformers/content-generators/committee.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/committee.js +0 -247
- package/dist/scripts/data-transformers/content-generators/committee.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/dashboard-section.d.ts +0 -124
- package/dist/scripts/data-transformers/content-generators/dashboard-section.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/dashboard-section.js +0 -564
- package/dist/scripts/data-transformers/content-generators/dashboard-section.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.d.ts +0 -82
- package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.js +0 -321
- package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/generic.d.ts +0 -12
- package/dist/scripts/data-transformers/content-generators/generic.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/generic.js +0 -295
- package/dist/scripts/data-transformers/content-generators/generic.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/index.d.ts +0 -84
- package/dist/scripts/data-transformers/content-generators/index.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/index.js +0 -47
- package/dist/scripts/data-transformers/content-generators/index.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/interpellations.d.ts +0 -12
- package/dist/scripts/data-transformers/content-generators/interpellations.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/interpellations.js +0 -124
- package/dist/scripts/data-transformers/content-generators/interpellations.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/mindmap-section.d.ts +0 -137
- package/dist/scripts/data-transformers/content-generators/mindmap-section.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/mindmap-section.js +0 -286
- package/dist/scripts/data-transformers/content-generators/mindmap-section.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/month-ahead.d.ts +0 -17
- package/dist/scripts/data-transformers/content-generators/month-ahead.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/month-ahead.js +0 -212
- package/dist/scripts/data-transformers/content-generators/month-ahead.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/monthly-review.d.ts +0 -17
- package/dist/scripts/data-transformers/content-generators/monthly-review.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/monthly-review.js +0 -173
- package/dist/scripts/data-transformers/content-generators/monthly-review.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/motions.d.ts +0 -12
- package/dist/scripts/data-transformers/content-generators/motions.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/motions.js +0 -158
- package/dist/scripts/data-transformers/content-generators/motions.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/newsworthiness.d.ts +0 -62
- package/dist/scripts/data-transformers/content-generators/newsworthiness.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/newsworthiness.js +0 -254
- package/dist/scripts/data-transformers/content-generators/newsworthiness.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/propositions.d.ts +0 -12
- package/dist/scripts/data-transformers/content-generators/propositions.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/propositions.js +0 -263
- package/dist/scripts/data-transformers/content-generators/propositions.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/sankey-section.d.ts +0 -92
- package/dist/scripts/data-transformers/content-generators/sankey-section.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/sankey-section.js +0 -257
- package/dist/scripts/data-transformers/content-generators/sankey-section.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/shared.d.ts +0 -139
- package/dist/scripts/data-transformers/content-generators/shared.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/shared.js +0 -935
- package/dist/scripts/data-transformers/content-generators/shared.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/swot-section.d.ts +0 -50
- package/dist/scripts/data-transformers/content-generators/swot-section.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/swot-section.js +0 -177
- package/dist/scripts/data-transformers/content-generators/swot-section.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/week-ahead.d.ts +0 -12
- package/dist/scripts/data-transformers/content-generators/week-ahead.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/week-ahead.js +0 -332
- package/dist/scripts/data-transformers/content-generators/week-ahead.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators.d.ts +0 -15
- package/dist/scripts/data-transformers/content-generators.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators.js +0 -14
- package/dist/scripts/data-transformers/content-generators.js.map +0 -1
- package/dist/scripts/data-transformers/document-analysis.d.ts +0 -58
- package/dist/scripts/data-transformers/document-analysis.d.ts.map +0 -1
- package/dist/scripts/data-transformers/document-analysis.js +0 -396
- package/dist/scripts/data-transformers/document-analysis.js.map +0 -1
- package/dist/scripts/data-transformers/helpers.d.ts +0 -144
- package/dist/scripts/data-transformers/helpers.d.ts.map +0 -1
- package/dist/scripts/data-transformers/helpers.js +0 -408
- package/dist/scripts/data-transformers/helpers.js.map +0 -1
- package/dist/scripts/data-transformers/index.d.ts +0 -45
- package/dist/scripts/data-transformers/index.d.ts.map +0 -1
- package/dist/scripts/data-transformers/index.js +0 -66
- package/dist/scripts/data-transformers/index.js.map +0 -1
- package/dist/scripts/data-transformers/metadata.d.ts +0 -42
- package/dist/scripts/data-transformers/metadata.d.ts.map +0 -1
- package/dist/scripts/data-transformers/metadata.js +0 -385
- package/dist/scripts/data-transformers/metadata.js.map +0 -1
- package/dist/scripts/data-transformers/policy-analysis.d.ts +0 -105
- package/dist/scripts/data-transformers/policy-analysis.d.ts.map +0 -1
- package/dist/scripts/data-transformers/policy-analysis.js +0 -686
- package/dist/scripts/data-transformers/policy-analysis.js.map +0 -1
- package/dist/scripts/data-transformers/risk-analysis.d.ts +0 -104
- package/dist/scripts/data-transformers/risk-analysis.d.ts.map +0 -1
- package/dist/scripts/data-transformers/risk-analysis.js +0 -279
- package/dist/scripts/data-transformers/risk-analysis.js.map +0 -1
- package/dist/scripts/data-transformers/types.d.ts +0 -260
- package/dist/scripts/data-transformers/types.d.ts.map +0 -1
- package/dist/scripts/data-transformers/types.js +0 -11
- package/dist/scripts/data-transformers/types.js.map +0 -1
- package/dist/scripts/data-transformers.d.ts +0 -23
- package/dist/scripts/data-transformers.d.ts.map +0 -1
- package/dist/scripts/data-transformers.js +0 -35
- package/dist/scripts/data-transformers.js.map +0 -1
- package/dist/scripts/deep-inspection/index.d.ts +0 -55
- package/dist/scripts/deep-inspection/index.d.ts.map +0 -1
- package/dist/scripts/deep-inspection/index.js +0 -66
- package/dist/scripts/deep-inspection/index.js.map +0 -1
- package/dist/scripts/detect-swedish-leakage.d.ts +0 -69
- package/dist/scripts/detect-swedish-leakage.d.ts.map +0 -1
- package/dist/scripts/detect-swedish-leakage.js +0 -417
- package/dist/scripts/detect-swedish-leakage.js.map +0 -1
- package/dist/scripts/editorial-framework.d.ts +0 -121
- package/dist/scripts/editorial-framework.d.ts.map +0 -1
- package/dist/scripts/editorial-framework.js +0 -364
- package/dist/scripts/editorial-framework.js.map +0 -1
- package/dist/scripts/editorial-pillars.d.ts +0 -43
- package/dist/scripts/editorial-pillars.d.ts.map +0 -1
- package/dist/scripts/editorial-pillars.js +0 -215
- package/dist/scripts/editorial-pillars.js.map +0 -1
- package/dist/scripts/extract-news-metadata.d.ts +0 -12
- package/dist/scripts/extract-news-metadata.d.ts.map +0 -1
- package/dist/scripts/extract-news-metadata.js +0 -107
- package/dist/scripts/extract-news-metadata.js.map +0 -1
- package/dist/scripts/extract-vocabulary.d.ts +0 -15
- package/dist/scripts/extract-vocabulary.d.ts.map +0 -1
- package/dist/scripts/extract-vocabulary.js +0 -255
- package/dist/scripts/extract-vocabulary.js.map +0 -1
- package/dist/scripts/fix-article-navigation.d.ts +0 -37
- package/dist/scripts/fix-article-navigation.d.ts.map +0 -1
- package/dist/scripts/fix-article-navigation.js +0 -198
- package/dist/scripts/fix-article-navigation.js.map +0 -1
- package/dist/scripts/fix-keywords-localization.d.ts +0 -18
- package/dist/scripts/fix-keywords-localization.d.ts.map +0 -1
- package/dist/scripts/fix-keywords-localization.js +0 -270
- package/dist/scripts/fix-keywords-localization.js.map +0 -1
- package/dist/scripts/fix-old-articles-branding.d.ts +0 -17
- package/dist/scripts/fix-old-articles-branding.d.ts.map +0 -1
- package/dist/scripts/fix-old-articles-branding.js +0 -229
- package/dist/scripts/fix-old-articles-branding.js.map +0 -1
- package/dist/scripts/generate-news-backport.d.ts +0 -16
- package/dist/scripts/generate-news-backport.d.ts.map +0 -1
- package/dist/scripts/generate-news-backport.js +0 -379
- package/dist/scripts/generate-news-backport.js.map +0 -1
- package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.d.ts +0 -141
- package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.js +0 -546
- package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.js.map +0 -1
- package/dist/scripts/generate-news-enhanced/analysis-cache.d.ts +0 -59
- package/dist/scripts/generate-news-enhanced/analysis-cache.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced/analysis-cache.js +0 -116
- package/dist/scripts/generate-news-enhanced/analysis-cache.js.map +0 -1
- package/dist/scripts/generate-news-enhanced/analysis-labels.d.ts +0 -58
- package/dist/scripts/generate-news-enhanced/analysis-labels.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced/analysis-labels.js +0 -144
- package/dist/scripts/generate-news-enhanced/analysis-labels.js.map +0 -1
- package/dist/scripts/generate-news-enhanced/config.d.ts +0 -58
- package/dist/scripts/generate-news-enhanced/config.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced/config.js +0 -286
- package/dist/scripts/generate-news-enhanced/config.js.map +0 -1
- package/dist/scripts/generate-news-enhanced/generators.d.ts +0 -119
- package/dist/scripts/generate-news-enhanced/generators.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced/generators.js +0 -2131
- package/dist/scripts/generate-news-enhanced/generators.js.map +0 -1
- package/dist/scripts/generate-news-enhanced/helpers.d.ts +0 -122
- package/dist/scripts/generate-news-enhanced/helpers.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced/helpers.js +0 -468
- package/dist/scripts/generate-news-enhanced/helpers.js.map +0 -1
- package/dist/scripts/generate-news-enhanced/index.d.ts +0 -19
- package/dist/scripts/generate-news-enhanced/index.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced/index.js +0 -221
- package/dist/scripts/generate-news-enhanced/index.js.map +0 -1
- package/dist/scripts/generate-news-enhanced/swot-analyzer.d.ts +0 -46
- package/dist/scripts/generate-news-enhanced/swot-analyzer.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced/swot-analyzer.js +0 -1227
- package/dist/scripts/generate-news-enhanced/swot-analyzer.js.map +0 -1
- package/dist/scripts/generate-news-enhanced/types.d.ts +0 -34
- package/dist/scripts/generate-news-enhanced/types.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced/types.js +0 -9
- package/dist/scripts/generate-news-enhanced/types.js.map +0 -1
- package/dist/scripts/generate-news-enhanced.d.ts +0 -25
- package/dist/scripts/generate-news-enhanced.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced.js +0 -37
- package/dist/scripts/generate-news-enhanced.js.map +0 -1
- package/dist/scripts/generate-news-indexes/constants.d.ts +0 -20
- package/dist/scripts/generate-news-indexes/constants.d.ts.map +0 -1
- package/dist/scripts/generate-news-indexes/constants.js +0 -308
- package/dist/scripts/generate-news-indexes/constants.js.map +0 -1
- package/dist/scripts/generate-news-indexes/helpers.d.ts +0 -73
- package/dist/scripts/generate-news-indexes/helpers.d.ts.map +0 -1
- package/dist/scripts/generate-news-indexes/helpers.js +0 -352
- package/dist/scripts/generate-news-indexes/helpers.js.map +0 -1
- package/dist/scripts/generate-news-indexes/index.d.ts +0 -20
- package/dist/scripts/generate-news-indexes/index.d.ts.map +0 -1
- package/dist/scripts/generate-news-indexes/index.js +0 -75
- package/dist/scripts/generate-news-indexes/index.js.map +0 -1
- package/dist/scripts/generate-news-indexes/template.d.ts +0 -25
- package/dist/scripts/generate-news-indexes/template.d.ts.map +0 -1
- package/dist/scripts/generate-news-indexes/template.js +0 -644
- package/dist/scripts/generate-news-indexes/template.js.map +0 -1
- package/dist/scripts/generate-news-indexes/types.d.ts +0 -96
- package/dist/scripts/generate-news-indexes/types.d.ts.map +0 -1
- package/dist/scripts/generate-news-indexes/types.js +0 -9
- package/dist/scripts/generate-news-indexes/types.js.map +0 -1
- package/dist/scripts/generate-news-indexes.d.ts +0 -20
- package/dist/scripts/generate-news-indexes.d.ts.map +0 -1
- package/dist/scripts/generate-news-indexes.js +0 -19
- package/dist/scripts/generate-news-indexes.js.map +0 -1
- package/dist/scripts/generate-rss.d.ts +0 -48
- package/dist/scripts/generate-rss.d.ts.map +0 -1
- package/dist/scripts/generate-rss.js +0 -299
- package/dist/scripts/generate-rss.js.map +0 -1
- package/dist/scripts/generate-sitemap-html.d.ts +0 -79
- package/dist/scripts/generate-sitemap-html.d.ts.map +0 -1
- package/dist/scripts/generate-sitemap-html.js +0 -878
- package/dist/scripts/generate-sitemap-html.js.map +0 -1
- package/dist/scripts/generate-sitemap.d.ts +0 -23
- package/dist/scripts/generate-sitemap.d.ts.map +0 -1
- package/dist/scripts/generate-sitemap.js +0 -476
- package/dist/scripts/generate-sitemap.js.map +0 -1
- package/dist/scripts/generate-types-from-cia-schemas.d.ts +0 -176
- package/dist/scripts/generate-types-from-cia-schemas.d.ts.map +0 -1
- package/dist/scripts/generate-types-from-cia-schemas.js +0 -318
- package/dist/scripts/generate-types-from-cia-schemas.js.map +0 -1
- package/dist/scripts/government-role-validator.d.ts +0 -65
- package/dist/scripts/government-role-validator.d.ts.map +0 -1
- package/dist/scripts/government-role-validator.js +0 -217
- package/dist/scripts/government-role-validator.js.map +0 -1
- package/dist/scripts/html-utils.d.ts +0 -17
- package/dist/scripts/html-utils.d.ts.map +0 -1
- package/dist/scripts/html-utils.js +0 -29
- package/dist/scripts/html-utils.js.map +0 -1
- package/dist/scripts/load-cia-stats.d.ts +0 -89
- package/dist/scripts/load-cia-stats.d.ts.map +0 -1
- package/dist/scripts/load-cia-stats.js +0 -400
- package/dist/scripts/load-cia-stats.js.map +0 -1
- package/dist/scripts/mcp-client/client.d.ts +0 -73
- package/dist/scripts/mcp-client/client.d.ts.map +0 -1
- package/dist/scripts/mcp-client/client.js +0 -526
- package/dist/scripts/mcp-client/client.js.map +0 -1
- package/dist/scripts/mcp-client/document-types.d.ts +0 -23
- package/dist/scripts/mcp-client/document-types.d.ts.map +0 -1
- package/dist/scripts/mcp-client/document-types.js +0 -62
- package/dist/scripts/mcp-client/document-types.js.map +0 -1
- package/dist/scripts/mcp-client/index.d.ts +0 -34
- package/dist/scripts/mcp-client/index.d.ts.map +0 -1
- package/dist/scripts/mcp-client/index.js +0 -67
- package/dist/scripts/mcp-client/index.js.map +0 -1
- package/dist/scripts/mcp-client/transport.d.ts +0 -32
- package/dist/scripts/mcp-client/transport.d.ts.map +0 -1
- package/dist/scripts/mcp-client/transport.js +0 -102
- package/dist/scripts/mcp-client/transport.js.map +0 -1
- package/dist/scripts/mcp-client.d.ts +0 -18
- package/dist/scripts/mcp-client.d.ts.map +0 -1
- package/dist/scripts/mcp-client.js +0 -18
- package/dist/scripts/mcp-client.js.map +0 -1
- package/dist/scripts/mcp-query-cli.d.ts +0 -25
- package/dist/scripts/mcp-query-cli.d.ts.map +0 -1
- package/dist/scripts/mcp-query-cli.js +0 -66
- package/dist/scripts/mcp-query-cli.js.map +0 -1
- package/dist/scripts/news-types/breaking-news.d.ts +0 -178
- package/dist/scripts/news-types/breaking-news.d.ts.map +0 -1
- package/dist/scripts/news-types/breaking-news.js +0 -432
- package/dist/scripts/news-types/breaking-news.js.map +0 -1
- package/dist/scripts/news-types/committee-reports.d.ts +0 -212
- package/dist/scripts/news-types/committee-reports.d.ts.map +0 -1
- package/dist/scripts/news-types/committee-reports.js +0 -404
- package/dist/scripts/news-types/committee-reports.js.map +0 -1
- package/dist/scripts/news-types/month-ahead.d.ts +0 -71
- package/dist/scripts/news-types/month-ahead.d.ts.map +0 -1
- package/dist/scripts/news-types/month-ahead.js +0 -392
- package/dist/scripts/news-types/month-ahead.js.map +0 -1
- package/dist/scripts/news-types/monthly-review.d.ts +0 -61
- package/dist/scripts/news-types/monthly-review.d.ts.map +0 -1
- package/dist/scripts/news-types/monthly-review.js +0 -417
- package/dist/scripts/news-types/monthly-review.js.map +0 -1
- package/dist/scripts/news-types/motions.d.ts +0 -214
- package/dist/scripts/news-types/motions.d.ts.map +0 -1
- package/dist/scripts/news-types/motions.js +0 -447
- package/dist/scripts/news-types/motions.js.map +0 -1
- package/dist/scripts/news-types/propositions.d.ts +0 -204
- package/dist/scripts/news-types/propositions.d.ts.map +0 -1
- package/dist/scripts/news-types/propositions.js +0 -401
- package/dist/scripts/news-types/propositions.js.map +0 -1
- package/dist/scripts/news-types/week-ahead.d.ts +0 -231
- package/dist/scripts/news-types/week-ahead.d.ts.map +0 -1
- package/dist/scripts/news-types/week-ahead.js +0 -441
- package/dist/scripts/news-types/week-ahead.js.map +0 -1
- package/dist/scripts/news-types/weekly-review/analysis.d.ts +0 -47
- package/dist/scripts/news-types/weekly-review/analysis.d.ts.map +0 -1
- package/dist/scripts/news-types/weekly-review/analysis.js +0 -276
- package/dist/scripts/news-types/weekly-review/analysis.js.map +0 -1
- package/dist/scripts/news-types/weekly-review/data-loader.d.ts +0 -51
- package/dist/scripts/news-types/weekly-review/data-loader.d.ts.map +0 -1
- package/dist/scripts/news-types/weekly-review/data-loader.js +0 -298
- package/dist/scripts/news-types/weekly-review/data-loader.js.map +0 -1
- package/dist/scripts/news-types/weekly-review/generator.d.ts +0 -18
- package/dist/scripts/news-types/weekly-review/generator.d.ts.map +0 -1
- package/dist/scripts/news-types/weekly-review/generator.js +0 -284
- package/dist/scripts/news-types/weekly-review/generator.js.map +0 -1
- package/dist/scripts/news-types/weekly-review/index.d.ts +0 -20
- package/dist/scripts/news-types/weekly-review/index.d.ts.map +0 -1
- package/dist/scripts/news-types/weekly-review/index.js +0 -23
- package/dist/scripts/news-types/weekly-review/index.js.map +0 -1
- package/dist/scripts/news-types/weekly-review/types.d.ts +0 -72
- package/dist/scripts/news-types/weekly-review/types.d.ts.map +0 -1
- package/dist/scripts/news-types/weekly-review/types.js +0 -20
- package/dist/scripts/news-types/weekly-review/types.js.map +0 -1
- package/dist/scripts/news-types/weekly-review/validation.d.ts +0 -10
- package/dist/scripts/news-types/weekly-review/validation.d.ts.map +0 -1
- package/dist/scripts/news-types/weekly-review/validation.js +0 -95
- package/dist/scripts/news-types/weekly-review/validation.js.map +0 -1
- package/dist/scripts/news-types/weekly-review.d.ts +0 -15
- package/dist/scripts/news-types/weekly-review.d.ts.map +0 -1
- package/dist/scripts/news-types/weekly-review.js +0 -14
- package/dist/scripts/news-types/weekly-review.js.map +0 -1
- package/dist/scripts/party-variants.d.ts +0 -23
- package/dist/scripts/party-variants.d.ts.map +0 -1
- package/dist/scripts/party-variants.js +0 -50
- package/dist/scripts/party-variants.js.map +0 -1
- package/dist/scripts/pipeline/index.d.ts +0 -19
- package/dist/scripts/pipeline/index.d.ts.map +0 -1
- package/dist/scripts/pipeline/index.js +0 -17
- package/dist/scripts/pipeline/index.js.map +0 -1
- package/dist/scripts/pipeline/orchestrator.d.ts +0 -56
- package/dist/scripts/pipeline/orchestrator.d.ts.map +0 -1
- package/dist/scripts/pipeline/orchestrator.js +0 -147
- package/dist/scripts/pipeline/orchestrator.js.map +0 -1
- package/dist/scripts/pipeline/types.d.ts +0 -117
- package/dist/scripts/pipeline/types.d.ts.map +0 -1
- package/dist/scripts/pipeline/types.js +0 -13
- package/dist/scripts/pipeline/types.js.map +0 -1
- package/dist/scripts/pipeline/validation.d.ts +0 -66
- package/dist/scripts/pipeline/validation.d.ts.map +0 -1
- package/dist/scripts/pipeline/validation.js +0 -129
- package/dist/scripts/pipeline/validation.js.map +0 -1
- package/dist/scripts/populate-analysis-data.d.ts +0 -41
- package/dist/scripts/populate-analysis-data.d.ts.map +0 -1
- package/dist/scripts/populate-analysis-data.js +0 -255
- package/dist/scripts/populate-analysis-data.js.map +0 -1
- package/dist/scripts/pre-article-analysis/data-downloader.d.ts +0 -80
- package/dist/scripts/pre-article-analysis/data-downloader.d.ts.map +0 -1
- package/dist/scripts/pre-article-analysis/data-downloader.js +0 -230
- package/dist/scripts/pre-article-analysis/data-downloader.js.map +0 -1
- package/dist/scripts/pre-article-analysis/data-persistence.d.ts +0 -141
- package/dist/scripts/pre-article-analysis/data-persistence.d.ts.map +0 -1
- package/dist/scripts/pre-article-analysis/data-persistence.js +0 -345
- package/dist/scripts/pre-article-analysis/data-persistence.js.map +0 -1
- package/dist/scripts/pre-article-analysis/markdown-serializer.d.ts +0 -158
- package/dist/scripts/pre-article-analysis/markdown-serializer.d.ts.map +0 -1
- package/dist/scripts/pre-article-analysis/markdown-serializer.js +0 -648
- package/dist/scripts/pre-article-analysis/markdown-serializer.js.map +0 -1
- package/dist/scripts/pre-article-analysis/pdf-converter.d.ts +0 -58
- package/dist/scripts/pre-article-analysis/pdf-converter.d.ts.map +0 -1
- package/dist/scripts/pre-article-analysis/pdf-converter.js +0 -142
- package/dist/scripts/pre-article-analysis/pdf-converter.js.map +0 -1
- package/dist/scripts/pre-article-analysis.d.ts +0 -42
- package/dist/scripts/pre-article-analysis.d.ts.map +0 -1
- package/dist/scripts/pre-article-analysis.js +0 -642
- package/dist/scripts/pre-article-analysis.js.map +0 -1
- package/dist/scripts/scb-client.d.ts +0 -104
- package/dist/scripts/scb-client.d.ts.map +0 -1
- package/dist/scripts/scb-client.js +0 -286
- package/dist/scripts/scb-client.js.map +0 -1
- package/dist/scripts/scb-context.d.ts +0 -88
- package/dist/scripts/scb-context.d.ts.map +0 -1
- package/dist/scripts/scb-context.js +0 -307
- package/dist/scripts/scb-context.js.map +0 -1
- package/dist/scripts/shared/version.d.ts +0 -9
- package/dist/scripts/shared/version.d.ts.map +0 -1
- package/dist/scripts/shared/version.js +0 -28
- package/dist/scripts/shared/version.js.map +0 -1
- package/dist/scripts/statistical-claims-detector.d.ts +0 -119
- package/dist/scripts/statistical-claims-detector.d.ts.map +0 -1
- package/dist/scripts/statistical-claims-detector.js +0 -391
- package/dist/scripts/statistical-claims-detector.js.map +0 -1
- package/dist/scripts/sync-cia-schemas.d.ts +0 -52
- package/dist/scripts/sync-cia-schemas.d.ts.map +0 -1
- package/dist/scripts/sync-cia-schemas.js +0 -195
- package/dist/scripts/sync-cia-schemas.js.map +0 -1
- package/dist/scripts/translation-dictionary.d.ts +0 -45
- package/dist/scripts/translation-dictionary.d.ts.map +0 -1
- package/dist/scripts/translation-dictionary.js +0 -3642
- package/dist/scripts/translation-dictionary.js.map +0 -1
- package/dist/scripts/types/article.d.ts +0 -392
- package/dist/scripts/types/article.d.ts.map +0 -1
- package/dist/scripts/types/article.js +0 -6
- package/dist/scripts/types/article.js.map +0 -1
- package/dist/scripts/types/content.d.ts +0 -167
- package/dist/scripts/types/content.d.ts.map +0 -1
- package/dist/scripts/types/content.js +0 -6
- package/dist/scripts/types/content.js.map +0 -1
- package/dist/scripts/types/editorial.d.ts +0 -17
- package/dist/scripts/types/editorial.d.ts.map +0 -1
- package/dist/scripts/types/editorial.js +0 -6
- package/dist/scripts/types/editorial.js.map +0 -1
- package/dist/scripts/types/language.d.ts +0 -7
- package/dist/scripts/types/language.d.ts.map +0 -1
- package/dist/scripts/types/language.js +0 -6
- package/dist/scripts/types/language.js.map +0 -1
- package/dist/scripts/types/mcp.d.ts +0 -117
- package/dist/scripts/types/mcp.d.ts.map +0 -1
- package/dist/scripts/types/mcp.js +0 -6
- package/dist/scripts/types/mcp.js.map +0 -1
- package/dist/scripts/types/party.d.ts +0 -9
- package/dist/scripts/types/party.d.ts.map +0 -1
- package/dist/scripts/types/party.js +0 -6
- package/dist/scripts/types/party.js.map +0 -1
- package/dist/scripts/types/validation.d.ts +0 -136
- package/dist/scripts/types/validation.d.ts.map +0 -1
- package/dist/scripts/types/validation.js +0 -6
- package/dist/scripts/types/validation.js.map +0 -1
- package/dist/scripts/types/workflow.d.ts +0 -78
- package/dist/scripts/types/workflow.d.ts.map +0 -1
- package/dist/scripts/types/workflow.js +0 -6
- package/dist/scripts/types/workflow.js.map +0 -1
- package/dist/scripts/update-stats-from-cia.d.ts +0 -44
- package/dist/scripts/update-stats-from-cia.d.ts.map +0 -1
- package/dist/scripts/update-stats-from-cia.js +0 -310
- package/dist/scripts/update-stats-from-cia.js.map +0 -1
- package/dist/scripts/validate-against-cia-schemas.d.ts +0 -126
- package/dist/scripts/validate-against-cia-schemas.d.ts.map +0 -1
- package/dist/scripts/validate-against-cia-schemas.js +0 -299
- package/dist/scripts/validate-against-cia-schemas.js.map +0 -1
- package/dist/scripts/validate-cross-references.d.ts +0 -49
- package/dist/scripts/validate-cross-references.d.ts.map +0 -1
- package/dist/scripts/validate-cross-references.js +0 -183
- package/dist/scripts/validate-cross-references.js.map +0 -1
- package/dist/scripts/validate-file-ownership.d.ts +0 -68
- package/dist/scripts/validate-file-ownership.d.ts.map +0 -1
- package/dist/scripts/validate-file-ownership.js +0 -135
- package/dist/scripts/validate-file-ownership.js.map +0 -1
- package/dist/scripts/validate-news-translations.d.ts +0 -27
- package/dist/scripts/validate-news-translations.d.ts.map +0 -1
- package/dist/scripts/validate-news-translations.js +0 -258
- package/dist/scripts/validate-news-translations.js.map +0 -1
- package/dist/scripts/validate-translations.d.ts +0 -162
- package/dist/scripts/validate-translations.d.ts.map +0 -1
- package/dist/scripts/validate-translations.js +0 -378
- package/dist/scripts/validate-translations.js.map +0 -1
- package/dist/scripts/workflow-state-coordinator.d.ts +0 -354
- package/dist/scripts/workflow-state-coordinator.d.ts.map +0 -1
- package/dist/scripts/workflow-state-coordinator.js +0 -876
- package/dist/scripts/workflow-state-coordinator.js.map +0 -1
- package/dist/scripts/world-bank-client.d.ts +0 -122
- package/dist/scripts/world-bank-client.d.ts.map +0 -1
- package/dist/scripts/world-bank-client.js +0 -192
- package/dist/scripts/world-bank-client.js.map +0 -1
- package/dist/scripts/world-bank-context.d.ts +0 -88
- package/dist/scripts/world-bank-context.d.ts.map +0 -1
- package/dist/scripts/world-bank-context.js +0 -331
- package/dist/scripts/world-bank-context.js.map +0 -1
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module article-template/helpers
|
|
3
|
-
* @description Formatting, sanitisation, and HTML section generators
|
|
4
|
-
* for article templates. Includes date formatting, event calendar grid,
|
|
5
|
-
* and watch section rendering.
|
|
6
|
-
*
|
|
7
|
-
* @author Hack23 AB
|
|
8
|
-
* @license Apache-2.0
|
|
9
|
-
*/
|
|
10
|
-
import { BREADCRUMB_TRANSLATIONS, FOOTER_LABELS, EVENT_CALENDAR_TITLES, WATCH_SECTION_TITLES, LOCALE_MAP, LANG_DISPLAY, SITE_FOOTER_LABELS, ALL_LANG_CODES, LANG_ARIA_LABELS, LANG_SWITCHER_ARIA_LABELS, } from './constants.js';
|
|
11
|
-
import { PKG_VERSION } from '../shared/version.js';
|
|
12
|
-
import { escapeHtml } from '../html-utils.js';
|
|
13
|
-
/**
|
|
14
|
-
* Map a language code to its BCP-47 hreflang value.
|
|
15
|
-
* Norwegian files use the filename suffix 'no' but must be advertised as 'nb' (Bokmål) per BCP-47.
|
|
16
|
-
*/
|
|
17
|
-
export function hreflangCode(lang) {
|
|
18
|
-
return lang === 'no' ? 'nb' : lang;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Get breadcrumb name for a given language
|
|
22
|
-
*/
|
|
23
|
-
export function getBreadcrumbName(lang, type) {
|
|
24
|
-
return BREADCRUMB_TRANSLATIONS[lang]?.[type] || BREADCRUMB_TRANSLATIONS.en[type];
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Get footer label for a given language
|
|
28
|
-
*/
|
|
29
|
-
export function getFooterLabel(lang, key) {
|
|
30
|
-
return FOOTER_LABELS[lang]?.[key] || FOOTER_LABELS.en[key];
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Get the news index filename for a language (en → index.html, others → index_{lang}.html)
|
|
34
|
-
*/
|
|
35
|
-
export function getNewsIndexFilename(lang) {
|
|
36
|
-
if (lang === 'en')
|
|
37
|
-
return 'index.html';
|
|
38
|
-
return `index_${lang}.html`;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Remove orphaned `</p>` tags that appear immediately after `</ul>` or `</ol>`.
|
|
42
|
-
* Browsers auto-close `<p>` before block-level list elements, so AI-generated
|
|
43
|
-
* markup of the form `<p>intro</p><ul>…</ul></p>` leaves a dangling `</p>`.
|
|
44
|
-
* This function removes only that specific trailing `</p>` and does not attempt
|
|
45
|
-
* any other HTML repair.
|
|
46
|
-
*/
|
|
47
|
-
export function fixHtmlNesting(htmlContent) {
|
|
48
|
-
return htmlContent.replace(/<\/(ul|ol)>\s*<\/p>/g, '</$1>');
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Sanitize article body content for JSON-LD structured data.
|
|
52
|
-
* Removes newlines and normalizes whitespace to prevent invalid JSON.
|
|
53
|
-
* Callers should apply {@link fixHtmlNesting} to the raw HTML *before*
|
|
54
|
-
* escaping and passing it here, so the regex has a chance to match.
|
|
55
|
-
*/
|
|
56
|
-
export function sanitizeArticleBody(htmlContent) {
|
|
57
|
-
return htmlContent
|
|
58
|
-
.substring(0, 500)
|
|
59
|
-
.replace(/\n/g, ' ')
|
|
60
|
-
.replace(/\s+/g, ' ')
|
|
61
|
-
.trim();
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Format date for display using locale-appropriate formatting
|
|
65
|
-
*/
|
|
66
|
-
export function formatDate(date, lang = 'en') {
|
|
67
|
-
const locale = LOCALE_MAP[lang] || 'en-GB';
|
|
68
|
-
const options = { year: 'numeric', month: 'long', day: 'numeric' };
|
|
69
|
-
try {
|
|
70
|
-
return date.toLocaleDateString(locale, options);
|
|
71
|
-
}
|
|
72
|
-
catch {
|
|
73
|
-
return date.toLocaleDateString('en-GB', options);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Format date range for event calendar title
|
|
78
|
-
*/
|
|
79
|
-
export function formatDateRange(events, lang = 'en') {
|
|
80
|
-
if (events.length === 0)
|
|
81
|
-
return '';
|
|
82
|
-
const firstEvent = events[0];
|
|
83
|
-
const lastEvent = events[events.length - 1];
|
|
84
|
-
if (!firstEvent || !lastEvent)
|
|
85
|
-
return '';
|
|
86
|
-
if (!firstEvent.date || !lastEvent.date)
|
|
87
|
-
return '';
|
|
88
|
-
const locale = LOCALE_MAP[lang] || 'en-GB';
|
|
89
|
-
const longOptions = { month: 'long', day: 'numeric', year: 'numeric' };
|
|
90
|
-
const shortOptions = { month: 'long', day: 'numeric' };
|
|
91
|
-
try {
|
|
92
|
-
const startDate = new Date(firstEvent.date).toLocaleDateString(locale, longOptions);
|
|
93
|
-
const endDate = new Date(lastEvent.date).toLocaleDateString(locale, shortOptions);
|
|
94
|
-
return `${startDate} – ${endDate}`;
|
|
95
|
-
}
|
|
96
|
-
catch {
|
|
97
|
-
const startDate = new Date(firstEvent.date).toLocaleDateString('en-GB', longOptions);
|
|
98
|
-
const endDate = new Date(lastEvent.date).toLocaleDateString('en-GB', shortOptions);
|
|
99
|
-
return `${startDate} – ${endDate}`;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Generate event calendar HTML section
|
|
104
|
-
*/
|
|
105
|
-
export function generateEventCalendar(events, lang = 'en') {
|
|
106
|
-
const title = EVENT_CALENDAR_TITLES[lang] || EVENT_CALENDAR_TITLES.en;
|
|
107
|
-
const firstEvt = events[0];
|
|
108
|
-
const weekLabel = events.length > 0 && firstEvt?.date ?
|
|
109
|
-
`${formatDateRange(events, lang)}` : '';
|
|
110
|
-
return `
|
|
111
|
-
<section class="event-calendar" aria-label="${title}">
|
|
112
|
-
<h2>${title}${weekLabel ? `: ${weekLabel}` : ''}</h2>
|
|
113
|
-
<div class="calendar-grid">
|
|
114
|
-
${events.map(event => ` <div class="calendar-day${event.isToday ? ' today' : ''}" aria-label="${event.dayLabel}">
|
|
115
|
-
<div class="day-header">${event.dayName}</div>
|
|
116
|
-
<span class="day-date">${event.dayNumber}</span>
|
|
117
|
-
<ul class="event-list">
|
|
118
|
-
${event.items.map(item => ` <li class="event-item">
|
|
119
|
-
<span class="event-time">${item.time}</span>
|
|
120
|
-
<span class="event-title">${item.title}</span>
|
|
121
|
-
</li>`).join('\n')}
|
|
122
|
-
</ul>
|
|
123
|
-
</div>`).join('\n')}
|
|
124
|
-
</div>
|
|
125
|
-
</section>`;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Generate "Watch Section" with key points.
|
|
129
|
-
*
|
|
130
|
-
* `WatchPoint.title` and `.description` are expected to be **pre-escaped HTML**
|
|
131
|
-
* (or trusted HTML containing translation markers such as `svSpan()`).
|
|
132
|
-
* Upstream producers (`extractWatchPoints()`) already call `escapeHtml()` and
|
|
133
|
-
* may inject `<span data-translate>` markers. AI-pipeline watch points are
|
|
134
|
-
* plain text and must be escaped at the *call site* before passing them here
|
|
135
|
-
* — see `generators.ts` deep-inspection path.
|
|
136
|
-
*/
|
|
137
|
-
export function generateWatchSection(watchPoints, lang = 'en') {
|
|
138
|
-
const title = WATCH_SECTION_TITLES[lang] || WATCH_SECTION_TITLES.en;
|
|
139
|
-
return `
|
|
140
|
-
<section class="watch-section">
|
|
141
|
-
<h2>${title}</h2>
|
|
142
|
-
<ul class="watch-list">
|
|
143
|
-
${watchPoints.map(point => ` <li>
|
|
144
|
-
<strong>${point.title}:</strong> ${point.description}
|
|
145
|
-
</li>`).join('\n')}
|
|
146
|
-
</ul>
|
|
147
|
-
</section>`;
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Generate the article language switcher navigation bar.
|
|
151
|
-
*
|
|
152
|
-
* @param baseSlug - The article base slug without language suffix (e.g. "2026-02-13-evening-analysis")
|
|
153
|
-
* @param currentLang - The current article language
|
|
154
|
-
* @returns HTML nav element string
|
|
155
|
-
*/
|
|
156
|
-
export function generateArticleLanguageSwitcher(baseSlug, currentLang) {
|
|
157
|
-
const links = ALL_LANG_CODES.map(l => {
|
|
158
|
-
const display = LANG_DISPLAY[l];
|
|
159
|
-
const active = l === currentLang ? ' active' : '';
|
|
160
|
-
const ariaCurrent = l === currentLang ? ' aria-current="page"' : '';
|
|
161
|
-
return ` <a href="${baseSlug}-${l}.html" class="lang-link${active}" hreflang="${hreflangCode(l)}"${ariaCurrent}>${display.flag} ${display.name}</a>`;
|
|
162
|
-
}).join('\n');
|
|
163
|
-
const ariaLabel = LANG_SWITCHER_ARIA_LABELS[currentLang] || LANG_SWITCHER_ARIA_LABELS.en;
|
|
164
|
-
return ` <nav class="language-switcher" role="navigation" aria-label="${ariaLabel}">\n${links}\n </nav>`;
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Generate the full site footer matching index.html structure.
|
|
168
|
-
*
|
|
169
|
-
* @param lang - The current language
|
|
170
|
-
* @returns HTML footer element string
|
|
171
|
-
*/
|
|
172
|
-
export function generateSiteFooter(lang) {
|
|
173
|
-
const normalizedLang = ALL_LANG_CODES.includes(lang)
|
|
174
|
-
? lang
|
|
175
|
-
: 'en';
|
|
176
|
-
const labels = SITE_FOOTER_LABELS[normalizedLang];
|
|
177
|
-
const homePath = normalizedLang === 'en' ? '../index.html' : `../index_${normalizedLang}.html`;
|
|
178
|
-
const newsPath = getNewsIndexFilename(normalizedLang);
|
|
179
|
-
const dashboardPath = normalizedLang === 'en' ? '../dashboard/index.html' : `../dashboard/index_${normalizedLang}.html`;
|
|
180
|
-
return `<footer role="contentinfo">
|
|
181
|
-
<div class="footer-content">
|
|
182
|
-
<div class="footer-section">
|
|
183
|
-
<a href="${homePath}" aria-label="Riksdagsmonitor Home">
|
|
184
|
-
<img src="../images/riksdagsmonitor-logo.webp" alt="Riksdagsmonitor" class="footer-logo" width="80" height="80" loading="lazy">
|
|
185
|
-
</a>
|
|
186
|
-
<h3>${labels.about}</h3>
|
|
187
|
-
<p>${labels.aboutText}</p>
|
|
188
|
-
<ul class="footer-stats">
|
|
189
|
-
<li>${labels.statMPs}</li>
|
|
190
|
-
<li>${labels.statRiskRules}</li>
|
|
191
|
-
<li>${labels.statLanguages}</li>
|
|
192
|
-
<li>${labels.statHistoricalData}</li>
|
|
193
|
-
</ul>
|
|
194
|
-
</div>
|
|
195
|
-
<div class="footer-section">
|
|
196
|
-
<h3>${labels.quickLinks}</h3>
|
|
197
|
-
<ul>
|
|
198
|
-
<li><a href="${homePath}">${labels.home}</a></li>
|
|
199
|
-
<li><a href="${newsPath}">${labels.news}</a></li>
|
|
200
|
-
<li><a href="${dashboardPath}">${labels.dashboard}</a></li>
|
|
201
|
-
<li><a href="https://www.hack23.com/cia" target="_blank" rel="noopener noreferrer">${labels.ciaplatform}</a></li>
|
|
202
|
-
<li><a href="https://github.com/Hack23/riksdagsmonitor" target="_blank" rel="noopener noreferrer">GitHub Repository</a></li>
|
|
203
|
-
<li><a href="https://www.riksdagen.se" target="_blank" rel="noopener noreferrer">Sveriges Riksdag</a></li>
|
|
204
|
-
</ul>
|
|
205
|
-
</div>
|
|
206
|
-
<div class="footer-section">
|
|
207
|
-
<h3>${labels.builtBy}</h3>
|
|
208
|
-
<p>${labels.builtByText}</p>
|
|
209
|
-
<ul>
|
|
210
|
-
<li><a href="https://www.hack23.com" target="_blank" rel="noopener noreferrer">Hack23.com</a></li>
|
|
211
|
-
<li><a href="https://www.linkedin.com/company/hack23/" target="_blank" rel="noopener noreferrer">${labels.companyLinkedin}</a></li>
|
|
212
|
-
<li><a href="https://github.com/Hack23/ISMS-PUBLIC" target="_blank" rel="noopener noreferrer">${labels.publicIsms}</a></li>
|
|
213
|
-
<li><a href="https://github.com/Hack23/ISMS-PUBLIC/blob/main/Information_Security_Policy.md" target="_blank" rel="noopener noreferrer">${labels.securityPolicy}</a></li>
|
|
214
|
-
<li><a href="https://github.com/Hack23/ISMS-PUBLIC/blob/main/Privacy_Policy.md" target="_blank" rel="noopener noreferrer">${labels.privacyPolicy}</a></li>
|
|
215
|
-
<li><a href="mailto:info@hack23.com">${labels.contactUs}</a></li>
|
|
216
|
-
</ul>
|
|
217
|
-
</div>
|
|
218
|
-
<div class="footer-section">
|
|
219
|
-
<h3>${labels.languages}</h3>
|
|
220
|
-
<div class="language-grid">
|
|
221
|
-
${ALL_LANG_CODES.map(l => {
|
|
222
|
-
const display = LANG_DISPLAY[l];
|
|
223
|
-
const ariaLabel = LANG_ARIA_LABELS[l];
|
|
224
|
-
const href = l === 'en' ? '../index.html' : `../index_${l}.html`;
|
|
225
|
-
return ` <a href="${href}" title="${display.name}" aria-label="${ariaLabel}"><span aria-hidden="true">${display.flag}</span> ${l.toUpperCase()}</a>`;
|
|
226
|
-
}).join('\n')}
|
|
227
|
-
</div>
|
|
228
|
-
</div>
|
|
229
|
-
</div>
|
|
230
|
-
<div class="footer-bottom">
|
|
231
|
-
<p>© 2008-<time datetime="2026">2026</time> <a href="https://www.hack23.com" target="_blank" rel="noopener noreferrer">Hack23 AB</a> (Org.nr 5595347807) | ${labels.location} | v${escapeHtml(String(PKG_VERSION))}</p>
|
|
232
|
-
<p class="footer-disclaimer">⚠️ ${labels.disclaimer} <a href="https://github.com/Hack23/riksdagsmonitor/issues" target="_blank" rel="noopener noreferrer">${labels.disclaimerLink}</a>.</p>
|
|
233
|
-
</div>
|
|
234
|
-
</footer>`;
|
|
235
|
-
}
|
|
236
|
-
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../scripts/article-template/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module article-template
|
|
3
|
-
* @description Barrel re-export preserving the original public API.
|
|
4
|
-
* The monolithic article-template.ts has been decomposed into:
|
|
5
|
-
*
|
|
6
|
-
* | Module | Responsibility |
|
|
7
|
-
* |------------- |------------------------------------------------------|
|
|
8
|
-
* | constants.ts | i18n lookup tables (breadcrumbs, footer, taglines) |
|
|
9
|
-
* | helpers.ts | date formatting, sanitisation, HTML sections |
|
|
10
|
-
* | template.ts | main generateArticleHTML function |
|
|
11
|
-
* | types.ts | extended type system (ArticleTemplate, LayoutConfig) |
|
|
12
|
-
* | registry.ts | per-type template registry and AI style directives |
|
|
13
|
-
* | index.ts | barrel re-export (this file) |
|
|
14
|
-
*
|
|
15
|
-
* @author Hack23 AB
|
|
16
|
-
* @license Apache-2.0
|
|
17
|
-
*/
|
|
18
|
-
export { generateArticleHTML } from './template.js';
|
|
19
|
-
export { generateEventCalendar, generateWatchSection, generateArticleLanguageSwitcher, generateSiteFooter, fixHtmlNesting } from './helpers.js';
|
|
20
|
-
export { getTemplate, getStyleClass, getAIDirectives, getLayout, listRegisteredTypes } from './registry.js';
|
|
21
|
-
export type { ArticleTemplate, LayoutConfig, AIStyleDirective, ContentTone, ColumnCount, BreadcrumbStyle } from './types.js';
|
|
22
|
-
export { GLOBAL_STYLE_RUBRIC, ARTICLE_TYPE_NAMES } from './types.js';
|
|
23
|
-
import { generateArticleHTML } from './template.js';
|
|
24
|
-
import { generateEventCalendar, generateWatchSection, generateArticleLanguageSwitcher, generateSiteFooter } from './helpers.js';
|
|
25
|
-
import { getTemplate, getStyleClass, getAIDirectives, getLayout, listRegisteredTypes } from './registry.js';
|
|
26
|
-
declare const _default: {
|
|
27
|
-
generateArticleHTML: typeof generateArticleHTML;
|
|
28
|
-
generateEventCalendar: typeof generateEventCalendar;
|
|
29
|
-
generateWatchSection: typeof generateWatchSection;
|
|
30
|
-
generateArticleLanguageSwitcher: typeof generateArticleLanguageSwitcher;
|
|
31
|
-
generateSiteFooter: typeof generateSiteFooter;
|
|
32
|
-
getTemplate: typeof getTemplate;
|
|
33
|
-
getStyleClass: typeof getStyleClass;
|
|
34
|
-
getAIDirectives: typeof getAIDirectives;
|
|
35
|
-
getLayout: typeof getLayout;
|
|
36
|
-
listRegisteredTypes: typeof listRegisteredTypes;
|
|
37
|
-
};
|
|
38
|
-
export default _default;
|
|
39
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../scripts/article-template/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAChJ,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC5G,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7H,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAChI,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;;;;;;;;;;;;;AAE5G,wBAWE"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module article-template
|
|
3
|
-
* @description Barrel re-export preserving the original public API.
|
|
4
|
-
* The monolithic article-template.ts has been decomposed into:
|
|
5
|
-
*
|
|
6
|
-
* | Module | Responsibility |
|
|
7
|
-
* |------------- |------------------------------------------------------|
|
|
8
|
-
* | constants.ts | i18n lookup tables (breadcrumbs, footer, taglines) |
|
|
9
|
-
* | helpers.ts | date formatting, sanitisation, HTML sections |
|
|
10
|
-
* | template.ts | main generateArticleHTML function |
|
|
11
|
-
* | types.ts | extended type system (ArticleTemplate, LayoutConfig) |
|
|
12
|
-
* | registry.ts | per-type template registry and AI style directives |
|
|
13
|
-
* | index.ts | barrel re-export (this file) |
|
|
14
|
-
*
|
|
15
|
-
* @author Hack23 AB
|
|
16
|
-
* @license Apache-2.0
|
|
17
|
-
*/
|
|
18
|
-
export { generateArticleHTML } from './template.js';
|
|
19
|
-
export { generateEventCalendar, generateWatchSection, generateArticleLanguageSwitcher, generateSiteFooter, fixHtmlNesting } from './helpers.js';
|
|
20
|
-
export { getTemplate, getStyleClass, getAIDirectives, getLayout, listRegisteredTypes } from './registry.js';
|
|
21
|
-
export { GLOBAL_STYLE_RUBRIC, ARTICLE_TYPE_NAMES } from './types.js';
|
|
22
|
-
import { generateArticleHTML } from './template.js';
|
|
23
|
-
import { generateEventCalendar, generateWatchSection, generateArticleLanguageSwitcher, generateSiteFooter } from './helpers.js';
|
|
24
|
-
import { getTemplate, getStyleClass, getAIDirectives, getLayout, listRegisteredTypes } from './registry.js';
|
|
25
|
-
export default {
|
|
26
|
-
generateArticleHTML,
|
|
27
|
-
generateEventCalendar,
|
|
28
|
-
generateWatchSection,
|
|
29
|
-
generateArticleLanguageSwitcher,
|
|
30
|
-
generateSiteFooter,
|
|
31
|
-
getTemplate,
|
|
32
|
-
getStyleClass,
|
|
33
|
-
getAIDirectives,
|
|
34
|
-
getLayout,
|
|
35
|
-
listRegisteredTypes,
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../scripts/article-template/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAChJ,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE5G,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAChI,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE5G,eAAe;IACb,mBAAmB;IACnB,qBAAqB;IACrB,oBAAoB;IACpB,+BAA+B;IAC/B,kBAAkB;IAClB,WAAW;IACX,aAAa;IACb,eAAe;IACf,SAAS;IACT,mBAAmB;CACpB,CAAC"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module article-template/registry
|
|
3
|
-
* @description Per-article-type template registry. Each entry provides a
|
|
4
|
-
* complete `ArticleTemplate` object that drives visual theming (via
|
|
5
|
-
* `styleClass`), structural layout hints, and AI style directives injected
|
|
6
|
-
* into generation prompts for Economist-style political journalism.
|
|
7
|
-
*
|
|
8
|
-
* Usage:
|
|
9
|
-
* ```typescript
|
|
10
|
-
* import { getTemplate, getStyleClass, getAIDirectives } from './registry.js';
|
|
11
|
-
*
|
|
12
|
-
* const tpl = getTemplate('propositions');
|
|
13
|
-
* // tpl.styleClass → 'article-type-propositions'
|
|
14
|
-
* // tpl.layout → { columns: 1, sidebar: false, heroSection: true, … }
|
|
15
|
-
* ```
|
|
16
|
-
*
|
|
17
|
-
* @author Hack23 AB
|
|
18
|
-
* @license Apache-2.0
|
|
19
|
-
*/
|
|
20
|
-
import type { ArticleType } from '../types/article.js';
|
|
21
|
-
import type { ArticleTemplate, AIStyleDirective, LayoutConfig } from './types.js';
|
|
22
|
-
/**
|
|
23
|
-
* Retrieve the full template configuration for a given article type.
|
|
24
|
-
* Falls back to the `breaking` template for unknown types — this means
|
|
25
|
-
* any unrecognised type string will receive the compact, urgency-focused
|
|
26
|
-
* breaking-news layout rather than an error, ensuring graceful degradation
|
|
27
|
-
* across all content generation pipelines.
|
|
28
|
-
*
|
|
29
|
-
* Uses `Object.hasOwn()` (ES2022+) for prototype-pollution safety.
|
|
30
|
-
* This is compatible with the project's `tsconfig.scripts.json` target
|
|
31
|
-
* (`"target": "ES2025"`) and the Node ≥25 runtime requirement (`engines.node`).
|
|
32
|
-
*
|
|
33
|
-
* @param type - ArticleType identifier
|
|
34
|
-
* @returns ArticleTemplate configuration object
|
|
35
|
-
*/
|
|
36
|
-
export declare function getTemplate(type: ArticleType | string): ArticleTemplate;
|
|
37
|
-
/**
|
|
38
|
-
* Convenience accessor: return only the CSS class string for `<article>`.
|
|
39
|
-
*
|
|
40
|
-
* @param type - ArticleType identifier
|
|
41
|
-
* @returns CSS class such as `"article-type-propositions"`
|
|
42
|
-
*/
|
|
43
|
-
export declare function getStyleClass(type: ArticleType | string): string;
|
|
44
|
-
/**
|
|
45
|
-
* Convenience accessor: return only the AI directives map for a type.
|
|
46
|
-
*
|
|
47
|
-
* @param type - ArticleType identifier
|
|
48
|
-
* @returns Record of section name → AIStyleDirective
|
|
49
|
-
*/
|
|
50
|
-
export declare function getAIDirectives(type: ArticleType | string): Readonly<Record<string, AIStyleDirective>>;
|
|
51
|
-
/**
|
|
52
|
-
* Return the layout configuration for a given article type.
|
|
53
|
-
*
|
|
54
|
-
* @param type - ArticleType identifier
|
|
55
|
-
* @returns LayoutConfig
|
|
56
|
-
*/
|
|
57
|
-
export declare function getLayout(type: ArticleType | string): LayoutConfig;
|
|
58
|
-
/**
|
|
59
|
-
* List all registered article types.
|
|
60
|
-
*
|
|
61
|
-
* @returns Array of ArticleType strings
|
|
62
|
-
*/
|
|
63
|
-
export declare function listRegisteredTypes(): readonly ArticleType[];
|
|
64
|
-
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../scripts/article-template/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAiWlF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,eAAe,CAIvE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,WAAW,GAAG,MAAM,GACzB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAE5C;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,YAAY,CAElE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,WAAW,EAAE,CAE5D"}
|