fix index files in english permalinks
This commit is contained in:
parent
296b036db1
commit
c7e72eb273
1 changed files with 15 additions and 13 deletions
|
|
@ -1,19 +1,21 @@
|
||||||
module.exports = {
|
module.exports = {
|
||||||
lang: "en",
|
lang: "en",
|
||||||
permalink: data => {
|
permalink: (data) => {
|
||||||
// `data.page.filePathStem` is the input path without extension, starting with a leading slash
|
// data.page.filePathStem: e.g., "/en/index", "/en/blog/index", "/en/blog/test-post"
|
||||||
// e.g. "/en/index" or "/en/blog/test-post"
|
let stem = data.page.filePathStem;
|
||||||
const stem = data.page.filePathStem;
|
|
||||||
if (stem === "/en/index") {
|
// strip the leading /en/ prefix
|
||||||
// For /en/index.md → /index.html
|
|
||||||
return "/index.html";
|
|
||||||
}
|
|
||||||
if (stem.startsWith("/en/")) {
|
if (stem.startsWith("/en/")) {
|
||||||
// For /en/anything-else.md (including subfolders), remove only the first /en
|
stem = stem.replace(/^\/en/, "");
|
||||||
// e.g. /en/blog/test-post → /en/blog/test-post/index.html
|
|
||||||
return `${stem.replace(/^\/en/, "")}/index.html`;
|
|
||||||
}
|
}
|
||||||
// fallback: default 11ty behavior
|
|
||||||
return data.page.outputPath;
|
// handle index files: If ends with /index, just use stem + /index.html → e.g., /blog/index.html
|
||||||
|
// this avoids appending extra /index.html if already ending in /index
|
||||||
|
if (stem.endsWith("/index")) {
|
||||||
|
return `${stem}.html`; // /blog/index.html
|
||||||
|
}
|
||||||
|
|
||||||
|
// for non-index files: append /index.html for pretty URLs (e.g., /blog/test-post → /blog/test-post/index.html, URL /blog/test-post/)
|
||||||
|
return `${stem}/index.html`;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
Loading…
Add table
Reference in a new issue