Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jekyll在Github页面上取消隐藏引用样式链接_Github_Markdown_Jekyll - Fatal编程技术网

Jekyll在Github页面上取消隐藏引用样式链接

Jekyll在Github页面上取消隐藏引用样式链接,github,markdown,jekyll,Github,Markdown,Jekyll,我一直在使用github页面和jekyll一起使用markdown文档自动生成我的博客 我想使用参考风格的链接,然后显示在页面底部的链接列表 基本上,我希望参考样式链接打印在页面上,默认情况下它们是隐藏的 这个想法是要有一个参考文献的列表,读者可以参考更多的信息 例如,以下文本: # some header ...some body text in the blog with a link to [wikipedia][1] ... ... # reference links [1]: http

我一直在使用github页面和
jekyll
一起使用
markdown
文档自动生成我的博客

我想使用参考风格的链接,然后显示在页面底部的链接列表

基本上,我希望参考样式链接打印在页面上,默认情况下它们是隐藏的

这个想法是要有一个参考文献的列表,读者可以参考更多的信息

例如,以下文本:

# some header
...some body text in the blog with a link to [wikipedia][1]
...
...
# reference links
[1]: https://www.wikipedia.org
应生成以下输出:


某个标题 …博客中的一些正文与链接 ...

参考链接 [1] :


如图所示,参考样式链接用于
标记
,但也会显示在页面上

以前的“正确”输出是通过复制每一行并转义特殊字符来实现的,但这似乎有点多余

这可以通过更改
\u config.yml
或使用
ruby
来实现吗?其他选项也很受欢迎(
css
magic?)


tldr;我想要一种方法来“取消隐藏”我的
标记页面底部的引用样式链接。

首先,您必须准确了解正在做什么:

  • 标记分析器正在将标记转换为html
  • 杰基尔正在使用html并将其组织到页面中
  • GitHub页面正在提供这些html页面
  • 客户端读取html并执行任何JavaScript等
问题是标记解析器不包括页面底部的引用链接。他们不是在那里而是藏起来了。他们根本就不在那里。因此,您不会找到CSS解决方案,因为没有任何样式。您可以使用自定义标记解析器来实现这一点,该解析器在生成的html中包含引用链接,但这对GitHub页面不起作用,可能会非常粗糙

另一个选项是执行JavaScript,使用
document.links
获取页面上的每个链接,然后将它们输出到
或页面底部的某个地方。比如:

var links=document.links;
对于(变量i=0;i
您可以将其限制为仅包含某个div中的链接(如),这样您就不必解析导航链接之类的内容。你也必须考虑顺序。

另一种选择可能是将它们作为yml列表包含在每个帖子的frontmatter中,然后在显示帖子的布局中显示它们


当然,您也可以简单地使用markdown自己创建引用。

首先,您必须准确了解正在做什么:

  • 标记分析器正在将标记转换为html
  • 杰基尔正在使用html并将其组织到页面中
  • GitHub页面正在提供这些html页面
  • 客户端读取html并执行任何JavaScript等
问题是标记解析器不包括页面底部的引用链接。他们不是在那里而是藏起来了。他们根本就不在那里。因此,您不会找到CSS解决方案,因为没有任何样式。您可以使用自定义标记解析器来实现这一点,该解析器在生成的html中包含引用链接,但这对GitHub页面不起作用,可能会非常粗糙

另一个选项是执行JavaScript,使用
document.links
获取页面上的每个链接,然后将它们输出到
或页面底部的某个地方。比如:

var links=document.links;
对于(变量i=0;i
您可以将其限制为仅包含某个div中的链接(如),这样您就不必解析导航链接之类的内容。你也必须考虑顺序。

另一种选择可能是将它们作为yml列表包含在每个帖子的frontmatter中,然后在显示帖子的布局中显示它们


当然,您也可以使用markdown自己创建引用。

Jekyll and unHyde:)我认为您必须使用CSS覆盖并显示它们
display:block
我不确定是否遵循。查看html,似乎没有任何内容可以显示,是否有方法在文件末尾生成它们?Jekyll和unHyde:)我认为您必须使用CSS覆盖并显示它们
display:block
,我不确定是否遵循。查看html,似乎没有任何东西可以显示,是否有方法在文件末尾生成它们?
它们不是在那里而是隐藏起来的。他们根本就不在那里我确实在HTML中注意到了这一点,并开始四处搜索。我很可能要做一个自定义解析器。谢谢你的帮助。@NathanMcCoy没问题。请注意,自定义降价引擎将无法与GitHub页面一起使用。这听起来像是一个发展的瓶颈,但也许你比我更喜欢写降价引擎。如果我是你,我会先尝试JavaScript选项,然后是frontmatter选项,如果这两个选项都不起作用,我可能会自己编写引用。但无论如何,我祝你好运<代码>它们不是在那里而是隐藏着。他们根本就不在那里我确实在HTML中注意到了这一点,并开始四处搜索。我很可能要做一个自定义解析器。谢谢你的邀请
var links = document.links;
for(var i = 0; i < links.length; i++) {
  var linkHref = document.createTextNode(links[i].href);
  var lineBreak = document.createElement("br");
  document.body.appendChild(linkHref);
  document.body.appendChild(lineBreak);
}