@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.
- package/README.md +48 -23
- package/core/content-map-store.js +51 -0
- package/core/filters/index.js +4 -0
- package/core/filters/isString.js +1 -1
- package/core/filters/related-posts.js +1 -1
- package/core/global-functions/index.js +6 -0
- package/core/logging.js +25 -25
- package/core/page-context.js +310 -0
- package/core/registry.js +110 -0
- package/core/schema.js +37 -0
- package/core/shortcodes/image.js +8 -3
- package/core/shortcodes/index.js +2 -0
- package/core/slug-index.js +61 -0
- package/core/translation-map-store.js +46 -0
- package/core/types.js +73 -0
- package/core/utils/helpers.js +75 -0
- package/core/utils/pick.js +7 -0
- package/core/virtual-dir.js +111 -0
- package/core/wikilinks.js +152 -0
- package/index.js +364 -0
- package/modules/assets/index.js +162 -0
- package/modules/{assets-esbuild/process.js → assets/processors/esbuild-process.js} +3 -1
- package/modules/{assets-postcss/process.js → assets/processors/postcss-process.js} +5 -2
- package/modules/assets/schema.js +14 -0
- package/modules/head/drivers/capo-adapter.js +72 -0
- package/modules/head/drivers/posthtml-head-elements.js +140 -0
- package/modules/head/index.js +106 -0
- package/modules/head/schema.js +42 -0
- package/modules/head/utils/alternates.js +11 -0
- package/modules/head/utils/dedupe.js +47 -0
- package/modules/multilang/index.js +149 -0
- package/modules/navigator/index.js +140 -0
- package/modules/navigator/schema.js +13 -0
- package/modules/{navigator-core → navigator}/templates/navigator-core.html +10 -4
- package/{core → modules/navigator/utils}/debug.js +7 -1
- package/modules/sitemap/index.js +121 -0
- package/modules/{sitemap-core → sitemap}/templates/sitemap-core.html +2 -2
- package/modules/{sitemap-core → sitemap}/templates/sitemap-index.html +2 -2
- package/modules.js +6 -0
- package/package.json +15 -6
- package/core/filters.js +0 -9
- package/core/globals.js +0 -6
- package/core/helpers.js +0 -36
- package/core/modules.js +0 -18
- package/core/shortcodes.js +0 -3
- package/eleventy.config.js +0 -169
- package/modules/assets-core/plugins/assets-core.js +0 -197
- package/modules/head-core/drivers/posthtml-head-elements.js +0 -127
- package/modules/head-core/plugins/head-core.js +0 -75
- package/modules/head-core/utils/head-utils.js +0 -249
- package/modules/multilang-core/plugins/multilang-core.js +0 -118
- package/modules/navigator-core/plugins/navigator-core.js +0 -57
- package/modules/sitemap-core/plugins/sitemap-core.js +0 -88
- /package/core/{globals → global-functions}/date.js +0 -0
- /package/modules/{assets-postcss/fallback → assets/configs}/postcss.config.js +0 -0
- /package/modules/{multilang-core → multilang}/filters/i18n-default-translation.js +0 -0
- /package/modules/{multilang-core → multilang}/filters/i18n-translation-in.js +0 -0
- /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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|