【问题标题】:What's the point of using absolute urls in Pelican?在 Pelican 中使用绝对 URL 有什么意义?
【发布时间】:2014-08-22 16:30:32
【问题描述】:

关于RELATIVE_URLS,鹈鹕文档说:

...目前有两种支持的 URL 形成方法:相对和绝对。相对 URL 在本地测试时很有用,而绝对 URL 在发布时可靠且最有用。

(http://pelican.readthedocs.org/en/3.4.0/settings.html#url-settings)

但我很困惑为什么绝对 URL 会更好。一般来说,当我手动编写 HTML 时,我更喜欢使用相对 URL,因为我可以更改网站的域,以后不用担心。

有人可以更详细地解释一下这个设置背后的想法吗?

【问题讨论】:

  • 我认为您指的是root-relative 链接,而不是相对链接。问题是 Pelican 提供相对链接 (mypage.html) 和绝对链接 (http://example.com/mypage.html),但不提供根相对链接 (/mypage.html)。我不知道为什么 Pelican 不支持根相对链接。

标签: relative-path absolute-path pelican


【解决方案1】:

我不使用RELATIVE_URLS 设置,因为它是文档相关的。我不希望 URL 中包含 ../..,这通常是使用该设置时发生的情况。

此外,相对 URL 可能会导致 Atom/RSS 提要中出现问题,因为根据各自的提要标准规范,提要中的所有链接必须是绝对链接。

与原始问题所暗示的相反,如果您稍后决定更改域,则不使用 RELATIVE_URLS 设置不会导致任何 404。在源文档中指定绝对 URL(您似乎在谈论)和在构建时为您生成绝对 URL(这是 Pelican 所做的)之间存在差异。

当需要链接到您自己的内容时,您可以使用根相对链接,也可以使用 Pelican 提供的 intra-site link syntax

【讨论】:

  • 所以这都是关于输出的?谁在乎你的 HTML 中是否包含 ../..? SSG 的整体理念是您不必考虑您的 HTML? :困惑:
  • 此设置的目的是指定在生成输出时如何制定链接。对于它的价值,关心我的 HTML 中是否包含 ../..,原因我已经在上面解释过。
  • 您不必“考虑您的 HTML”,但从您最初的问题看来,这就是您想要做的。我已经提出了我的建议:不要使用RELATIVE_URLS设置,使用站内链接语法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-14
  • 1970-01-01
  • 2019-05-17
  • 1970-01-01
  • 2021-05-11
  • 1970-01-01
相关资源
最近更新 更多