@apleasantview/eleventy-plugin-baseline 0.1.0-next.33 → 0.1.0-next.39

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.
Files changed (58) hide show
  1. package/README.md +48 -23
  2. package/core/content-map-store.js +51 -0
  3. package/core/filters/index.js +4 -0
  4. package/core/filters/isString.js +1 -1
  5. package/core/filters/related-posts.js +1 -1
  6. package/core/global-functions/index.js +6 -0
  7. package/core/logging.js +25 -25
  8. package/core/page-context.js +310 -0
  9. package/core/registry.js +110 -0
  10. package/core/schema.js +37 -0
  11. package/core/shortcodes/image.js +8 -3
  12. package/core/shortcodes/index.js +2 -0
  13. package/core/slug-index.js +61 -0
  14. package/core/translation-map-store.js +46 -0
  15. package/core/types.js +73 -0
  16. package/core/utils/helpers.js +75 -0
  17. package/core/utils/pick.js +7 -0
  18. package/core/virtual-dir.js +111 -0
  19. package/core/wikilinks.js +152 -0
  20. package/index.js +364 -0
  21. package/modules/assets/index.js +162 -0
  22. package/modules/{assets-esbuild/process.js → assets/processors/esbuild-process.js} +3 -1
  23. package/modules/{assets-postcss/process.js → assets/processors/postcss-process.js} +5 -2
  24. package/modules/assets/schema.js +14 -0
  25. package/modules/head/drivers/capo-adapter.js +72 -0
  26. package/modules/head/drivers/posthtml-head-elements.js +140 -0
  27. package/modules/head/index.js +106 -0
  28. package/modules/head/schema.js +42 -0
  29. package/modules/head/utils/alternates.js +11 -0
  30. package/modules/head/utils/dedupe.js +47 -0
  31. package/modules/multilang/index.js +149 -0
  32. package/modules/navigator/index.js +140 -0
  33. package/modules/navigator/schema.js +13 -0
  34. package/modules/{navigator-core → navigator}/templates/navigator-core.html +10 -4
  35. package/{core → modules/navigator/utils}/debug.js +7 -1
  36. package/modules/sitemap/index.js +121 -0
  37. package/modules/{sitemap-core → sitemap}/templates/sitemap-core.html +2 -2
  38. package/modules/{sitemap-core → sitemap}/templates/sitemap-index.html +2 -2
  39. package/modules.js +6 -0
  40. package/package.json +15 -6
  41. package/core/filters.js +0 -9
  42. package/core/globals.js +0 -6
  43. package/core/helpers.js +0 -36
  44. package/core/modules.js +0 -18
  45. package/core/shortcodes.js +0 -3
  46. package/eleventy.config.js +0 -169
  47. package/modules/assets-core/plugins/assets-core.js +0 -197
  48. package/modules/head-core/drivers/posthtml-head-elements.js +0 -127
  49. package/modules/head-core/plugins/head-core.js +0 -75
  50. package/modules/head-core/utils/head-utils.js +0 -249
  51. package/modules/multilang-core/plugins/multilang-core.js +0 -118
  52. package/modules/navigator-core/plugins/navigator-core.js +0 -57
  53. package/modules/sitemap-core/plugins/sitemap-core.js +0 -88
  54. /package/core/{globals → global-functions}/date.js +0 -0
  55. /package/modules/{assets-postcss/fallback → assets/configs}/postcss.config.js +0 -0
  56. /package/modules/{multilang-core → multilang}/filters/i18n-default-translation.js +0 -0
  57. /package/modules/{multilang-core → multilang}/filters/i18n-translation-in.js +0 -0
  58. /package/modules/{multilang-core → multilang}/filters/i18n-translations-for.js +0 -0
@@ -1,88 +0,0 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import { fileURLToPath } from 'node:url';
4
-
5
- const __filename = fileURLToPath(import.meta.url);
6
- const __dirname = path.dirname(__filename);
7
-
8
- /**
9
- * eleventy-plugin-sitemap-core
10
- *
11
- * Generates XML sitemaps. Adds a computed page.sitemap object to every page
12
- * (with ignore/changefreq/priority), then registers virtual templates for
13
- * the sitemap XML. In multilingual mode, produces per-language sitemaps plus
14
- * a sitemap index. Pages opt out via noindex in data.
15
- *
16
- * No cross-module dependencies. Receives multilingual config (languages,
17
- * multilingual flag) via options at registration time — does not import
18
- * from multilang-core.
19
- *
20
- * Options:
21
- * - enableSitemapTemplate (boolean, default true): register virtual sitemap templates.
22
- * - multilingual (boolean): force multilingual mode. Auto-detected from languages if omitted.
23
- * - languages (array|object): language codes. Determines per-language sitemap generation.
24
- */
25
- /** @param {import("@11ty/eleventy").UserConfig} eleventyConfig */
26
- export default function sitemapCore(eleventyConfig, options = {}) {
27
- const userOptions = {
28
- enableSitemapTemplate: options.enableSitemapTemplate ?? true,
29
- multilingual: options.multilingual,
30
- languages: options.languages
31
- };
32
-
33
- // Computed sitemap data: every page gets a page.sitemap object.
34
- // Pages set noindex in frontmatter or site data to be excluded.
35
- eleventyConfig.addGlobalData('eleventyComputed.page.sitemap', () => {
36
- return (data) => ({
37
- ignore: data.noindex ?? data.page?.noindex ?? data.site?.noindex ?? false,
38
- changefreq: '',
39
- priority: -1
40
- });
41
- });
42
-
43
- // --- Virtual sitemap templates ---
44
- // Read template sources synchronously (same constraint as navigator-core).
45
- // In multilingual mode: one sitemap per language + a sitemap index.
46
- // In single-language mode: one flat sitemap at /sitemap.xml.
47
- if (userOptions.enableSitemapTemplate) {
48
- const templatePath = path.join(__dirname, '../templates/sitemap-core.html');
49
- const indexTemplatePath = path.join(__dirname, '../templates/sitemap-index.html');
50
- const baseContent = fs.readFileSync(templatePath, 'utf-8');
51
- const indexContent = fs.readFileSync(indexTemplatePath, 'utf-8');
52
-
53
- const languages = userOptions.languages || {};
54
- const langKeys = Array.isArray(languages) ? languages : Object.keys(languages);
55
- const multilingual = typeof userOptions.multilingual === 'boolean' ? userOptions.multilingual : langKeys.length > 1;
56
-
57
- if (multilingual && langKeys.length > 1) {
58
- for (const lang of langKeys) {
59
- eleventyConfig.addTemplate(`_baseline/sitemap-core-${lang}.html`, baseContent, {
60
- permalink: `${lang}/sitemap.xml`,
61
- title: '',
62
- description: '',
63
- layout: null,
64
- eleventyExcludeFromCollections: true,
65
- isMultilingual: multilingual,
66
- sitemapLang: lang
67
- });
68
- }
69
-
70
- eleventyConfig.addTemplate('_baseline/sitemap-index.html', indexContent, {
71
- permalink: '/sitemap.xml',
72
- title: '',
73
- description: '',
74
- layout: null,
75
- eleventyExcludeFromCollections: true,
76
- isMultilingual: multilingual
77
- });
78
- } else {
79
- eleventyConfig.addTemplate('_baseline/sitemap-core.html', baseContent, {
80
- permalink: '/sitemap.xml',
81
- title: '',
82
- description: '',
83
- layout: null,
84
- eleventyExcludeFromCollections: true
85
- });
86
- }
87
- }
88
- }
File without changes