有谁知道如何创建指向其他维基页面标题的链接?
我知道如果我有一个标题##Header name
,我可以使用(#header-name)
作为我的链接链接到该页面,但我想从另一个页面链接到该标题。这可能吗?
即。我想有一个目录,可以链接到每个维基页面的子部分以及页面本身。
编辑:我的意思是除了使用网址链接之外的其他方式
http://github.com/project/wiki/Wiki-Page#header-name
答案 0 :(得分:5)
编辑1 :以前完全错了,我只是读了一下。所以我们在GitHub Wiki中也有这种新的支持! (相对较新。)
您也可以这样做:
[[ Link text | page_title#header_title ]]
这对你来说可能会更好! TIL因为这个答案here。您可以看到我使用前提条件链接执行此操作,您可以看到我的其他链接以另一种方式工作。我有时间做一些更新!
编辑1 :仍然有用,但绝对不是唯一的方式。
所以我之前回答了一个问题,你应该避免GitHub上的绝对链接(即https://github.com/user/repo_name/..。)
然而,一个好的方法(以及在维基的唯一方式编辑1 :完全不是唯一的方式)做你需要的东西可以这样看:
[Header link](/user/repository_name/wiki/page_name#title)
。
不幸的是,Wiki会支持这种联系。这将根据GitHub更改您的目录页面(您可以看到它将是https://github.com/(the您要点击的链接)`
我实际上已经开始在here的Wiki上做这样的事情。在我的补充工具栏中,您可以看到我有一个入门页面,然后它的一个子部分是一个先决条件标题,它将正确地引导人们到他们需要去的地方。您可以在任何页面上执行相同的操作。它有点冗长,但值得一试,因为如果需要你可以很容易地改变一些东西。这也是区分大小写的,因为它会改变它们的位置,所以请确保在你的链接中,页面是正确的情况,你的标题都是小写的。
希望这有帮助!
答案 1 :(得分:2)
您只需为标头分配ID即可链接到标头。例如,你在一个名为Abc的页面中有“Extension”标题。
# <a id="extension"></a> Extensions
你有另一个页面“呼叫中心”,你想转到abc扩展,你可以使用降价的参考链接,即“[扩展] [1]由代理处理”
[1]: url-of-abc/#extension
答案 2 :(得分:0)
我在编辑1 中测试了Maxwell的“好方法”到Github中另一个页面的link to the header,它运行良好。
#[crux-ports Installation](/user/crux-ports/blob/master/README.md#installation)
答案 3 :(得分:0)
markdown 为标题生成 slug 并将其转换为 id,示例
# [ topic ][ color ]
将转换为
<h1 id="topic--color" data-line="643" class="code-line">[ topic ][ color ]</h1>
因此,要链接它,您可以将其写为 [color](#topic--color)
。
如果目标锚点在另一个页面(假设文件名css.md
)上,路径相对于当前降价页面,那么你可以把它写成[color](css.md#topic--color)
从 vscode 中附加 slugify 函数
// excerpt from https://github.com/yzhang-gh/vscode-markdown/blob/908d7ba5465a203e4299f346c179211d992ef468/src/util/slugify.ts
const str = '# [ topic ][ color ]';
const slug = encodeURI(
str.trim()
.replace(/\s+/g, "-") // Replace whitespace with -
.replace(/[\]\[\!\'\#\$\%\&\'\(\)\*\+\,\.\/\:\;\<\=\>\?\@\\\^\_\{\|\}\~\`。,、;:?!…—·ˉ¨‘’“”々~‖∶"'`|〃〔〕〈〉《》「」『』.〖〗【】()[]{}]/g, "") // Remove known punctuators
.replace(/^\-+/, "") // Remove leading -
.replace(/\-+$/, "") // Remove trailing -
);
console.log(slug) // "topic--color"