Skip to navigation Skip to main content

inputPathToUrl Universal Filter

Added in v3.0.0 Map a file’s location and to the template’s output URL. Very useful for robust hyperlinking allowing you to change your output URLs without breaking content links! Eleventy 3.0 memoizes this filter.

This filter is an alternative to the InputPath To Url Plugin, which provides an Eleventy transform that is less verbose but a bit slower.

Inspired by GitHub issue #84.

Usage

<a href="{{ "index.md" | inputPathToUrl }}">Home</a>
<a href="{{ "index.md" | inputPathToUrl }}">Home</a>
export default function (data) {
	return `<a href="${this.inputPathToUrl("index.md")}">Home</a>`;
}
module.exports = function (data) {
	return `<a href="${this.inputPathToUrl("index.md")}">Home</a>`;
};

Renders as <a href="/">Home</a>.

  • The paths used here should be relative to the input directory though they can be relative to the project root (the former is simpler and more robust).
  • If an inputPath match can not be found, this filter will throw an error.
  • When pointing to a Pagination template, the first URL in the pagination set is returned.

← Back to Filters documentation.


Other pages in Filters