tag标签链接问题
AllenMistake opened this issue · 4 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 。