Some checks failed
CI / go (push) Waiting to run
CI / docker (push) Waiting to run
CI / lint-go (push) Waiting to run
CI / lint-docs (push) Waiting to run
CI / check-paperclip (push) Waiting to run
Deploy static site / Deploy to GitHub Pages (push) Has been cancelled
Deploy static site / Deploy via Docker to hatch.surf (push) Has been cancelled
Resolved conflicts by taking GitHub versions for: - .dockerignore, .gitignore, Dockerfile, README.md, docker-compose.yml Kept deploy.sh updated to: - Pull from GitHub (primary source) - Push to Gitea (push-mirror) - Build from site/ directory (GitHub structure) Co-Authored-By: Paperclip <noreply@paperclip.ing>
20 lines
904 B
JavaScript
20 lines
904 B
JavaScript
import { normalizePathSep } from './normalize-path-sep';
|
|
/**
|
|
* Removes the file extension for a page and the trailing `index` if it exists
|
|
* making sure to not return an empty string. The page head is not touched
|
|
* and returned as it is passed. Examples:
|
|
* - `/foo/bar/baz/index.js` -> `/foo/bar/baz`
|
|
* - `/foo/bar/baz.js` -> `/foo/bar/baz`
|
|
*
|
|
* @param pagePath A page to a page file (absolute or relative)
|
|
* @param options.extensions Extensions allowed for the page.
|
|
* @param options.keepIndex When true the trailing `index` is _not_ removed.
|
|
*/ export function removePagePathTail(pagePath, options) {
|
|
pagePath = normalizePathSep(pagePath).replace(new RegExp(`\\.+(?:${options.extensions.join('|')})$`), '');
|
|
if (options.keepIndex !== true) {
|
|
pagePath = pagePath.replace(/\/index$/, '') || '/';
|
|
}
|
|
return pagePath;
|
|
}
|
|
|
|
//# sourceMappingURL=remove-page-path-tail.js.map
|