URL 默认

提供 url 过滤器来修复和解析 URL。

配置参数

names object

The url helper name

url string
Default:
"url"
htmlUrl string
Default:
"htmlUrl"

Description

这个插件提供了 urlhtmlUrl 过滤器来修复页面和布局中的页面 URL。

Installation

这个插件默认安装。🎉

url filter

url 过滤器使用你在 _config.js 中配置的 location 值来规范化单个路径。如果你的网站在子目录中,或者你想生成绝对 URL,它会很有用。

<a href="{{ '/about-us' |> url }}">

<!-- 完整 URL -->
<a href="{{ '/about-us' |> url(true) }}">

Tip

如果你不想在所有地方都使用这个过滤器,你可能会对 Base path plugin 感兴趣。

URLs from source files

使用字符 ~ 来使用源文件名而不是最终的 URL。插件会自动为你检测最终的 URL。这对于动态 URL 以及在页面 URL 更改时自动更新指向该页面的所有链接非常有用。例如:

<a href="{{ '~/about-us.md' |> url }}">

<!-- 将被转换为 -->
<a href="/about-us/">

一些源文件可以生成多个页面。你可以在文件名后包含一个查询来选择由源文件生成的特定页面。例如:

<a href="{{ '~/about-us.page.js(lang=en)' |> url }}">

<!-- 将被转换为 -->
<a href="/en/about-us/">

在前面的例子中,(lang=en) 查询选择了 lang 变量设置为 en 的页面,该页面是在 about-us.page.js 文件生成的所有页面中。

htmlUrl filter

这个过滤器类似于 url,但它作用于 HTML 代码:它搜索并规范化在 hrefsrc 属性中找到的所有 URL:

---
text: 'Go to <a href="/">Homepage</a>'
---
<div>{{ text | htmlUrl | safe }}</div>

Example

作为一种良好的 SEO 实践,你可以考虑在你的 <head> 部分(例如,在 base.vto 模板中)添加一个规范 URL,像这样:

<link rel="canonical" href="{{ url |> url(true) }}">