kaeyleo / jekyll-theme-H2O

🎉 A clean and delicate Jekyll theme. Jekyll博客主题

Home Page:http://liaokeyu.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tag标签链接问题

AllenMistake opened this issue · comments

博主你好,我看了您的博客很受启发。
很多问题也都解决了,但现在有一个问题就是当我点进具体博客,点击标题上方的标签时,会404,网址会变成

https://allenmistake.github.io//https://allenmistake.github.io/tags#jekyll

是的我的主页会重复两遍,不知道是哪里的问题,我现在找到的代码好像与这个有关

<a href="https://allenmistake.github.io/{{tags# | append: tag }}" class="post-tag">{{ tag }}</a>

而我的config文件中 url和baseurl都是 /allenmistake.github.io,而且我并不知道什么是absolute_url,
如果方便的话,请您解答一下,多谢

这是一个bug吧,目前我用手动的方式取代了:
<a href="{{ "tags.html#" | append: tag | prepend: "https://www.yourbolg.com/" }}" target="_blank" class="post-tag">{{ tag }}

其实不用域名下的子目录的话 /config.yml 里面 baseurl 这里留空就行
然后,点击标题上方的标签出404貌似是 _layouts/post.html 的锅,另外这个锅也导致了文章底部的头像显示不出来,具体就是由于 href 开始缺少一个斜杠而导致网页自动将标签链接指向 ./tags.html 而非位于根目录的真正的 /tags.html ,头像同理(当然如果头像在外部图床就不会出现这种问题)
本人的解决方法:修改 /_layouts/post.html 里面的这些行
line 19 //修复tag问题
<a href="{{ "/tags.html#" | append: tag | prepend: site.baseurl }}" class="post-tag">{{ tag }}</a>
line 54 //修复头像问题
<img src="{{ site.avatar | prepend: site.baseurl }}" alt="">
/index.html 里面的这些行
line 42 //修复拼写错误 pretend -> prepend
<a href={{ "tags.html#" | append: tag | prepend: site.baseurl }} class="post-tag">{{ tag }}</a>

其实不用域名下的子目录的话 /config.yml 里面 baseurl 这里留空就行
然后,点击标题上方的标签出404貌似是 _layouts/post.html 的锅,另外这个锅也导致了文章底部的头像显示不出来,具体就是由于 href 开始缺少一个斜杠而导致网页自动将标签链接指向 ./tags.html 而非位于根目录的真正的 /tags.html ,头像同理(当然如果头像在外部图床就不会出现这种问题)
本人的解决方法:修改 /_layouts/post.html 里面的这些行
line 19 //修复tag问题
<a href="{{ "/tags.html#" | append: tag | prepend: site.baseurl }}" class="post-tag">{{ tag }}</a>
line 54 //修复头像问题
<img src="{{ site.avatar | prepend: site.baseurl }}" alt="">
/index.html 里面的这些行
line 42 //修复拼写错误 pretend -> prepend
<a href={{ "tags.html#" | append: tag | prepend: site.baseurl }} class="post-tag">{{ tag }}</a>

的确,使用 baseurl 会导致域名重复两次,正常情况下可以留空。

头像没有显示主要是因为这一块代码没有 prepend baseurl ,导致链接位置不对。

您的修改方法十分有效,可以考虑提交 PR 修复一下这个问题。

发现问题所在了:
github/pages-gem#460
如果使用 baseurl 可能会导致路径出错。
例如在本地,如果将 baseurl 设置为 /blog ,那么 CSS 文件都会无法找到
上面 issue 里的建议是修改为 relative_url ,我正在尝试修一下这个 BUG 。