development

마크 다운의 상호 참조 (이름이 지정된 앵커)

big-blog 2020. 2. 15. 23:09
반응형

마크 다운의 상호 참조 (이름이 지정된 앵커)


다음에 해당하는 마크 다운 구문 이 있습니까?

Take me to <a href="#pookie">pookie</a>

... 

<a name="pookie">this is pookie</a>

Take me to [pookie](#pookie)

pookie라는 앵커 포인트로 이동하려면 올바른 마크 다운 구문이어야합니다.

해당 이름의 앵커 포인트를 삽입하려면 HTML을 사용하십시오.

<a name="pookie"></a>

Markdown은 앵커 포인트를 어디에 두어야하는지 신경 쓰지 않습니다. 그것을 넣을 수있는 유용한 장소는 헤더에 있습니다. 예를 들면 다음과 같습니다.

### <a name="tith"></a>This is the Heading

잘 작동합니다. (여기서 설명했지만 SO의 렌더러는 앵커를 제거합니다.)

자동 폐쇄 태그에와 주 id=name=

이 게시물의 이전 버전에서는 <a id='tith' />, XHTML에 자체 닫는 구문 사용 및 id대신 속성 사용을 제안했습니다 name.

XHTML을 사용하면 모든 태그를 '비어 있고'자체 닫을 수 있습니다. 즉, 본문이 비어있는 일치하는 태그 쌍의 <tag />줄임말 <tag></tag>입니다. 대부분의 브라우저는 XHTML을 허용하지만 일부는 허용하지 않습니다. 크로스 브라우저 문제를 방지하려면 <tag></tag>위에서 권장 한대로을 사용하여 명시 적으로 태그를 닫으십시오 .

마지막 name=으로이 속성 은 XHTML에서 더 이상 사용되지 않으므로 원래 id=는 모두가 인식하는을 사용했습니다 . 그러나 HTML5는 이제를 사용할 때 JavaScript에서 전역 변수를 생성하므로 id=반드시 원하는 것은 아닙니다. 따라서 사용 name=이 더 친숙해질 것입니다.

(덕분에 Slipp 더글러스 나 XHTML을 설명하고 못 박는 에서 HTML5의 부작용을 지적 - 의견 및 참조 못 박는대답을 자세히 위해. name=작업에 나타납니다 어디서나, 그것은 XHTML에서 더 이상 사용되지 않습니다하지만.)


bitbucket.org에서는 투표 솔루션이 작동하지 않습니다. 대신 헤더 (##)를 사용하는 경우 헤더 앞에 # markdown-header-my-header-name을 붙여 앵커로 참조 할 수 있습니다. 여기서 # markdown-header-는 렌더러에서 생성 된 암시 적 접두사입니다. 나머지는 공백을 대체하는 대시가있는 소문자 헤더 제목입니다.

## My paragraph title

이와 같은 암시 적 앵커를 생성합니다

#markdown-header-my-paragraph-title

각 앵커 참조 앞의 전체 URL은 선택 사항입니다.

[Some text](#markdown-header-my-paragraph-title)

~에 해당

[Some text](https://bitbucket.org/some_project/some_page#markdown-header-my-paragraph-title) 

그들이 같은 페이지에 있다면.

출처 : https://bitbucket.org/tutorials/markdowndemo/overview (이 .md 파일의 출처를 편집하고 앵커가 어떻게 만들어 지는지 살펴보십시오).


를 사용하십시오 name. 가 사용하는 idHTML 5에서 필요하지 않으며 자바 스크립트에서 전역 변수를 생성합니다

HTML 5 스펙을 참조하십시오 조각 식별자 5.9.8 탐색을 - 모두 idname사용된다.

대부분의 브라우저는 여전히 ID를 전역 변수로 바꾼다 는 것을 아는 것이 중요 합니다 . 다음 은 간단한 테스트 입니다. name전역을 사용 하면 발생할 수있는 전역 및 충돌이 발생하지 않습니다.

이름을 사용하는 예 :

Take me to [pookie](#pookie)

그리고 목적지 앵커 :

### <a name="pookie"></a>Some heading

원래 Markdown 구문에서이 작업을 수행하는 데 사용할 수있는 구문은 없지만 Markdown Extra 는 최소한 ID를 헤더에 할당하는 방법을 제공하므로 쉽게 연결할 수 있습니다. 또한 Markdown 및 Markdown Extra 모두에서 일반 HTML을 사용할 수 name있으며 id최신 버전의 HTML에서 해당 속성 속성 으로 대체되었습니다 .


마크 다운 앵커 는 해시 마크를 지원하므로 페이지의 앵커에 대한 링크는 다음과 같습니다.[Pookie](#pookie)

앵커 생성은 실제로 Gruber Markdown에서 지원되지 않지만 Markdown Extra 와 같은 다른 구현에서는 지원됩니다 .

Markdown Extra에서 앵커 ID는로 헤더 또는 부제목에 추가됩니다 {#pookie}.

Git 리포지토리 페이지의 Github Flavored Markdown (Gists 아님)은 다음을 포함 하여 모든 헤더 (h1, h2, h3 등)에 여러 태그 태그가있는 앵커자동으로 생성합니다 .

  • id="user-content-HEADERTEXT"
  • class="anchor"
  • href="#HEADERTEXT"
  • aria-hidden="true" (마우스 오버시 표시되는 svg 링크 아이콘 용)

다음과 같이 쓸 때 aria / svg 아이콘 제외 :

  • # Header Title

Github는 다음을 생성합니다.

  • <h1><a id="user-content-header-title" class="anchor" href="#header-title">Header Title</a></h1>

따라서 헤더 링크를 만들 필요가 없으며 항상 다음을 사용하여 링크 할 수 있습니다.

  • 에 연결 [Header Title](#header-title)

파티에 늦었지만이 추가 기능은와 함께 일하는 사람들에게 유용 할 것이라고 생각합니다 rmarkdown. 여기 rmarkdown에는 문서의 헤더에 대한 참조가 기본적으로 지원됩니다.

에 의해 정의 된 모든 헤더

# Header

에 의해 참조 될 수있다

get me back to that [header](#header)

다음은 .rmd이 동작을 보여주는 최소 독립 실행 형 파일입니다. 그것은에 니트 수 .pdf.html.

---
title: "references in rmarkdown"
output:
  html_document: default
  pdf_document: default
---

# Header

Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. Write some more text. 

Go back to that [header](#header).

가장 일반적인 마크 다운 생성기. 각 헤더에는 간단한 자체 생성 앵커가 있습니다. 예를 들어 pandoc 의 경우 생성 된 앵커는 헤더의 케밥 케이스 슬러그입니다.

 echo "# Hello, world\!" | pandoc
 # => <h1 id="hello-world">Hello, world!</h1>

사용하는 마크 다운 파서에 따라 앵커가 변경 될 수 있습니다 (심벌 러쉬 및 La muerte Peluda의 예를 들자면 서로 다릅니다!). markdown 구현에 따라 생성 된 앵커를 볼 수있는 babelmark 를 참조하십시오 .


최신 마크 다운을 사용하면 다음 구문을 사용할 수 있습니다.

[](){:name='anchorName'}

다음 HTML을 만들어야합니다.

<a name="anchorName"></a>

앵커에 텍스트가 포함되도록하려면 대괄호 안에 테스트를 추가하십시오.

`일부 텍스트 {: name = 'anchorName'}


GitBook에서이 문제에 대한 해결책을 찾는 사람이라면 누구나 가능합니다. 이것이 내가 GitBook에서 작동하게하는 방법입니다. 다음과 같이 헤더에 명시 적으로 태그를 지정해야합니다.

# My Anchored Heading {#my-anchor}

그런 다음이 앵커에 연결하십시오.

[link to my anchored heading](#my-anchor)

솔루션 및 추가 예는 https://seadude.gitbooks.io/learn-gitbook/ 에서 찾을 수 있습니다.

참고 URL : https://stackoverflow.com/questions/5319754/cross-reference-named-anchor-in-markdown



반응형