[github] 마크 다운 파일의 GitHub 상대 링크

<a>Markdown 파일 내에서 URL 리포지토리를 작성하여 동일한 저장소 및 브랜치 (현재 브랜치와 관련된 링크) 내의 다른 파일로 링크하는 방법이 있습니까?

예를 들어, 마스터 브랜치에는 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에서 다른 .md로 연결할 수 있으며 어떤 분기에 있는지 걱정할 필요가 없습니다 (github.com 분기 이름을 포함하는 절대 URL을 수행하지 않아야 함).

다음은 내가 의미하는 바의 실제 예입니다.

  1. GOTO http://github.com/rynop/testRel 링크가 작동하지 않습니다.
  2. GOTO http://github.com/rynop/testRel/blob/master/README.md 링크가 작동합니다.

이 시점에서 시작 URL이 지점에 있기 때문에 예상됩니다. 이제 저장소 루트의 README.md에서 현재 분기를 가져 오는 방법은 무엇입니까?

업데이트 : 이 기능 요청에 대해 GitHub에 대한 문제 를 열었습니다 .



답변

16 개월 후 2013 년 1 월 30 일 업데이트 :

마크 업 파일의 GitHub 블로그 게시물 관련 링크 :

오늘부터 GitHub는 마크 업 파일의 상대 링크를 지원합니다 .
이제 GitHub 자체에서 문서를 보든, 다른 마크 업 렌더러를 사용하여 로컬로든 다른 문서 파일간에 직접 연결할 수 있습니다.

링크 정의의 예와 그 작동 방식을 원하십니까? 여기 당신을위한 마크 다운이 있습니다.
절대 링크 대신 :

[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)을 사용하는 경우 새 구문을 사용하려면 설명서를 업데이트해야합니다.

이것은 또한 항상 GitHub를 가리 키지 않고도 문서가 쉽게 독자적으로 설 수 있음을 의미 합니다 .


2011 년 12 월 20 일 업데이트 :

GitHub의 마크 업 문제 (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


답변

예를 들어 다음과 같은 저장소가 있습니다.

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)


답변

2013 년 1 월 31 일부터 Github 마크 다운 은 파일에 대한 상대 링크를 지원합니다 .

[a relative link](markdown_file.md)

그러나이 의견 스레드에서 논의 된 몇 가지 결함이 있습니다 .

대안으로, Gitdown 을 사용 하여 리포지토리에 대한 전체 URL을 구성하고 분기를 인식하도록 할 수도 있습니다.

{"gitdown": "gitinfo", "name": "url"} // https://github.com/gajus/gitdown
{"gitdown": "gitinfo", "name": "branch"} // master

Gitdown은 GitHub 마크 다운 프리 프로세서입니다. 변수를 포함한 목차 생성, URL 생성 및 입력 처리시 저장소 자체에 대한 정보 얻기와 같은 GitHub 저장소의 문서 페이지 유지 관리와 관련된 일반적인 작업을 간소화합니다. Gitdown은 빌딩 스크립트와 완벽하게 통합됩니다.

저는 Gitdown 라이브러리의 저자입니다.


답변

GitHub는 최소한의 작업만으로도 훨씬 더 나아질 수 있습니다. 해결 방법은 다음과 같습니다.

나는 당신이 더 같은 것을 원한다고 생각합니다

[Your Title](your-project-name/tree/master/your-subfolder)

README 자체를 가리 키거나

[README](your-project-name/blob/master/your-subfolder/README.md)

행운을 빕니다


답변

대상 링크가 이름에 공백이있는 디렉토리 인 경우 위의 솔루션 중 어느 것도 작동하지 않기 때문에 이것을 추가하고 싶었습니다. 대상 링크가 디렉토리이고 공간이 있으면 \로 공간을 이스케이프해도 Github에서 링크를 렌더링하지 않습니다. 나를 위해 일한 솔루션 만 %20각 공간에 사용 하고 있습니다.

예 : 디렉토리 구조가이 경우

Top_dir
|-----README.md
|-----Cur_dir1
      |----Dir A
           |----README.md
      |----Dir B
           |----README.md

Dir AREADME.md에 링크하려면 Top_dir다음을 수행하십시오.

[Dir 1](Cur_dir1/Dir%20A)


답변

파일에 링크 할 수는 있지만 /blob/master/폴더에는 링크 할 수 없으며 Github은 상대 링크 앞에 추가 합니다 (그리고 폴더에는 해당 부분이 없으므로 HTML <a>태그 또는 마크 다운 링크로 링크 할 수 없습니다 ).

따라서에 파일 myrepo/src/Test.java이 있으면 URL은 다음과 같습니다.

https://github.com/WesternGun/myrepo/blob/master/src/Test.java

그리고 readme 파일에 링크하기 위해 다음을 사용할 수 있습니다.

[This is a link](src/Test.java)

또는 : <a href="src/Test.java">This is a link</a>.

(나는 지점을 master나타내며 master파일이 다른 지점에있을 때 다릅니다.)


답변

에 리포지토리의 루트에서 상대 URL을 사용할 수 있습니다 <a href="">. 리포지토리의 이름이이라고 가정하면 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>