Skip to navigation Skip to main content
Eleventy
Eleventy Documentation
Stable
3.0.0
Toggle Menu
Eleventy 1.93s
Gatsby 29.05s

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.

INFO:
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: