在octopress帖子中添加一个锚点

时间:2012-12-22 21:37:00

标签: html markdown jekyll octopress

我正在使用Octopress,我知道为了在我的帖子中添加图片,而不是写作:

<img src="src" alt="alt" class="class" />

我可以写:

{% img class src alt %}

而且,如果写作:

<a href="href">text</a>

我可以写:

[text](href)

但我怎么写:

<a href="href" target="target">text</a>

如果这是不可能的,唯一的解决方案是编写html标记,我在哪里以及如何添加ruby代码,例如:[text](href target)将其转换为:<a href="href" target="target">text</a>

此外,我在哪里可以找到所有这些html octopress快捷方式的列表?

3 个答案:

答案 0 :(得分:1)

这实际上是由用于处理文本而不是任何Octopress代码的Markdown引擎控制的。根据您使用的引擎,您可以编写

[text](href){: target="target" }

这称为“内联属性列表”,是Markdown语法的扩展。它由Maruku以及Kramdown支持。

(请注意,Maruku是Jekyll的默认Markdown引擎,因此如果您没有触及配置的这一方面,则支持此语法。)

答案 1 :(得分:0)

使用Markdown语法:

[text](#target)

对于<a href="href" target="target">text</a>

[text](href){: target="target" }

答案 2 :(得分:0)

{% img class src alt %}是一个octopress标记,有关更多标记,请参阅plugin docs

[text](href)跟随markdown sintax,并且不允许您向元素添加类,属性或ID。

因此,要解决目标问题,请在自定义标题布局中使用下面的snipet,并在网址末尾添加#_blank锚点,以便在新窗口中打开。

<script type="text/javascript">
function addBlankTargetForLinks () {
    $('a[href^="http"],a[href*="#_blank"]').each(function(){
        $(this).attr('target', '_blank');
    });
}

$(document).bind('DOMNodeInserted', function(event) {
    addBlankTargetForLinks();
});
</script>