有没有办法创建一个URL锚点,
<a>
,从Markdown文件中链接到同一存储库和分支中的另一个文件(也就是相对于当前分支的链接)?
例如,在master分支中我有一个README.md文件,我想做的事情如下:
# My Project
is really really cool. My Project has a subdir named myLib, see below.
## myLib documentation
see documentation [here](myLib/README.md)
这将允许我在同一分支内从一个.md链接到另一个。并且不必担心我所在的分支(避免必须执行包含github.com分支名称的绝对URL)。
这是我的意思的一个工作示例:
- GOTO http://github.com/rynop/testRel ,链接不起作用。
- GOTO http://github.com/rynop/testRel/blob/master/README.md ,链接有效。
这是预期的,因为此时起始URL位于分支中。 现在我如何让它在存储库根目录下的README.md中获取当前分支?
更新 :我针对此功能请求针对GitHub打开了一个问题 。
您可以使用<a href="">
从repo根目录中使用相对URL。 假设您的repo名为testRel
,请将以下内容放在testRel/README.md
:
# My Project
is really really cool. My Project has a subdir named myLib, see below.
## myLib docs
see documentation:
* <a href="testRel/myLib">myLib/</a>
* <a href="testRel/myLib/README.md">myLib/README.md</a>
GitHub可以通过最少的工作使这更好。 这是一个解决方法。
我想你想要更像的东西
[Your Title](your-project-name/tree/master/your-subfolder)
或者指向README本身
[README](your-project-name/blob/master/your-subfolder/README.md)
我不确定我是否在这里看到这个选项。 您可以在存储库中创建/folder
并直接使用它:
[a relative link](/folder/myrelativefile.md)
不需要blob或树或存储库名称,它就像一个魅力。
截至2013年1月31日,Github markdown 支持文件的相对链接 。
[a relative link](markdown_file.md)
但是, 此评论主题中讨论了一些缺陷。
作为替代方案,您可以使用Gitdown构建存储库的完整URL ,甚至使它们分支识别 ,例如
{"gitdown": "gitinfo", "name": "url"} // https://github.com/gajus/gitdown
{"gitdown": "gitinfo", "name": "branch"} // master
Gitdown是一个GitHub降价预处理器。 它简化了与维护GitHub存储库的文档页面相关的常见任务,例如生成目录,包括变量,生成URL以及在处理输入时获取有关存储库本身的信息。 Gitdown与您的构建脚本无缝集成。
我是Gitdown图书馆的作者。
如果你想在GitHub上找到你的wiki页面的相对链接,请使用:
Read here: [Some other wiki page](path/to/some-other-wiki-page)
如果你想要链接到存储库中的文件,让我们说,引用一些头文件,并且维基页面位于维基的根目录,请使用:
Read here: [myheader.h](../tree/master/path/to/myheader.h)
最后一个的基本原理是跳过带有“../”的“/ wiki”路径,并转到存储库树中的主分支,而不指定存储库名称,将来可能会更改。
这个问题很老了,但它似乎仍然很重要,因为将readme.md的相对引用放到Github上的wiki页面并不容易。
我玩了一下,这个相对链接似乎工作得很好:
[Your wiki page](../../wiki/your-wiki-page)
这两个../
将删除/blob/master/
并使用你的基地作为起点。 我没有尝试过其他存储库而不是Github(可能存在兼容性问题)。
例如,您有一个如下所示的回购:
project/
text.md
subpro/
subtext.md
subsubpro/
subsubtext.md
subsubpro2/
subsubtext2.md
subtext.md
中text.md
的相对链接可能如下所示:
[this subtext](subpro/subtext.md)
subsubtext.md
中text.md
的相对链接可能如下所示:
[this subsubtext](subpro/subsubpro/subsubtext.md)
subtext.md
中subsubtext.md
的相对链接可能如下所示:
[this subtext](../subtext.md)
subsubtext2.md
中subsubtext.md
的相对链接可能如下所示:
[this subsubtext2](../subsubpro2/subsubtext2.md)
text.md
中subsubtext.md
的相对链接可能如下所示:
[this text](../../text.md)
只是想添加这个,因为如果目标链接是名称中包含空格的目录,则上述解决方案都不起作用。 如果目标链接是一个目录并且它有空间,那么即使用\\来转义空间也不会在Github上呈现链接。 只有解决方案适用于每个空间使用%20
。
例如:如果目录结构是这样的话
Top_dir
|-----README.md
|-----Cur_dir1
|----Dir A
|----README.md
|----Dir B
|----README.md
要在Top_dir中的Top_dir
链接到Dir A
,您可以这样做:
[Dir 1](Cur_dir1/Dir%20A)
您可以链接到文件,但不能链接到文件夹,请记住,Github会在您的相对链接之前添加/blob/master/
(文件夹缺少该部分,因此它们无法链接,也不能与HTML <a>
标签或Markdown相关联链接)。
所以,如果我们在myrepo/src/Test.java
有一个文件,它会有一个像:
https://github.com/WesternGun/myrepo/blob/master/src/Test.java
要在自述文件中链接它,我们可以使用:
[This is a link](src/Test.java)
或: <a href="src/Test.java">This is a link</a>
。
(我猜, master
表示master
分支,当文件在另一个分支时它会有所不同。)
2013年1月30日更新,16个月后:
从今天开始, GitHub支持标记文件中的相对链接 。
现在,您可以直接链接不同的文档文件,无论是在GitHub本身上查看文档,还是在本地查看,使用不同的标记渲染器。
您想要链接定义的示例以及它们如何工作? 这是给你的Markdown。
而不是绝对链接:
[a link](https://github.com/user/repo/blob/branch/other_file.md)
...你可以使用相对链接:
[a relative link](other_file.md)
我们将确保它链接到user/repo/blob/branch/other_file.md
。
如果您使用[a workaround link](repo/blob/master/other_file.md)
等[a workaround link](repo/blob/master/other_file.md)
,则必须更新文档以使用新语法。
这也意味着您的文档现在可以轻松地独立存在,而无需始终指向GitHub 。
2011年12月20日更新:
GowHub 标记问题84目前由technoweenie关闭,评论如下:
我们尝试为此添加<base>
标记,但它会导致网站上其他相关链接出现问题。
2011年10月12日:
如果查看Markdown本身的README.md
的原始源 (!),似乎不支持相对路径。
您会找到如下参考:
[r2h]: http://github.com/github/markup/tree/master/lib/github/commands/rest2html
[r2hc]: http://github.com/github/markup/tree/master/lib/github/markups.rb#L13
有没有办法创建一个URL锚点, <a> ,从Markdown文件中链接到同一存储库和分支中的另一个文件(也就是相对于当前分支的链接)? 例如,在master分支中我有一个READ
![image](images/image.png)
Hello [google](http://google.com)!
A [section]( #relative ) link.
现在在上面的源代码上运行它:
var getUrls = require ( 'gh-md-urls' )
var fs = require ( 'fs' )
var src = fs . readFileSync ( __dirname + '/readme.md' , 'utf8' )
var urls = getUrls ( src , {
Markdown 支持两种形式的链接语法: 行内式和参考式两种形式。不管是哪一种,链接文字都是用 [方括号] 来标记。
1. 行内式
要建立一个行内式的链接,只要在方块括号后面紧接着圆括号并插入网址链接即可,如果你还想要加上链接的 title 文字,只要在网址后面,用双引号把 title 文字包起来即可
This is [an example](http://example.com/ "Title...
1 github中的.md文件中添加图片
首先在本地仓库中创建一个文件夹image存放会使用到的图片,然后根据md文件和image文件夹的位置,确定图片的相对url
!图片名](相对url)
例如:相对地址为image/01.png
2 github中添加超链接
[文字描述](url)
3 直接显示html文件
在网页端,打开目标html文件所在的仓库,点击settings
然后找到下面的...
当我尝试了
![avatar](/home/picture/1.png)
发现始终定位不到我的图片位置,用“..”也无法切回上一路径,然而相对路径在主题的source资源下时可用的。
于是最后的相对路径时这样的
![a...
将md文件和图片放在同级目录下
引用图片时写成这种格式,就表示引用的是相对路径,当然其他路径可自行更改。以后复制文件的时候需要将图片一起打包进行传输。
第二种方法:内嵌式
通过imageTobase64网站,将图片编程base64格式。
然后调用的时候参见以下方式,括号中为转换的base64格式的图片,但是这样有一个不好的地方,就是文件内容太大,一般需要设置一个中间变...
[百度](http://www.baidu.com)
[百度](http://www.baidu.com "这是备注") # 可以添加备注
<http://www.baidu.com/> # 自动链接
<fangj@163.com> # 也可以通过链接方式自动生成电子邮件
http://www.baidu.com/
fangj@163.com
Markdown 中图片插入的方式与和链接非常相似,差别只是在[]前加上!。
用Markdown添加链接
作为一门文本标记语言,Markdown能够往文章/页面里添加链接。给一个.md文件添加链接的方法主要有3种。
1. 显示关键词,指向一个链接
[关键词](链接地址 "(可选)添加一个标题")
如果你想在一行中添加一个链接,并且将它显示为一个关键词或其他东西,而不是链接地址,你应该用这个方法
举个例子. Markdown 插入链接
你可以将图片作为关键词吗? 别忘了使用...
Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。
Markdown编辑器有很多种,我使用的是 Typora
以下是Markdown的基本语法,将下面的语法复制粘贴到Markdown编辑器里面就能看见效果
_斜体第二种方法_
**加粗**
__加粗的第二种方法__
___粗斜体___
两个enter是换行,或者...