【发布时间】:2023-04-10 17:49:02
【问题描述】:
有没有办法将特定值附加到不同子文件夹中的site.baseurl?例如,我有两个不同的子文件夹,每个子文件夹都使用一种特定的语言 (lang),我想将此值附加到 site.baseurl 以用于子文件夹中的页面和文档。比如,
-
子文件夹
lang1中的A.md将具有/my_site_url/lang1/的BaseURL,并且 -
子文件夹
lang2中的B.md的 BaseURL 为/my_site_url/lang2/。
这是否可以通过 GitHub Pages 实现,而无需事先在本地构建+服务我的网站?
编辑:我需要 BaseURLs 来管理导航栏,该导航栏会遍历子文件夹中的所有单独页面。在这种情况下,在 site.baseurl 前面加上子文件夹是最经济的选择吗?
【问题讨论】:
-
您是否尝试过在前端使用
permalinks来控制网址? jekyllrb.com/docs/permalinks -
我有,但
baseurl用于使用导航栏。恐怕永久链接似乎还不够。应该在原帖中澄清,对不起。 -
循环浏览您的
site.posts并从每个post.url构建hrefs 是否足以构建您的导航栏?您甚至可以对post.url的某些部分进行一些逻辑处理,如果您只查找每个帖子的部分 URL(例如,/lang1/A.html的 URL 的/lang1) -
我对@987654341@ 目录了解不多,但假设您建议将两个
lang子文件夹的内容移动到_posts目录,然后循环,我是否正确通过 HTML 对循环语句的使用?不幸的是,我也有每种语言的子目录,请问site.posts的循环是否也可以在必要时产生class="opener"? -
哦,对不起。我错误地使用了
site.posts,这意味着_posts目录中的markdown 文件。由于您使用的是自定义目录,因此您可以为每个目录 jekyllrb.com/docs/step-by-step/04-layouts 定义一个布局。然后你会做类似{% assign langOnePages = site.pages | where: 'layout', 'lang1' %}的事情。当您循环浏览langOnePages时,我希望每个page.url在网址中都有/lang1。希望这对您有所帮助,我主要只是提出一些想法,看看您是否可以取得进展。
标签: jekyll github-pages base-url