Markdown의 제목에 사용자 지정 앵커 추가 - Eleventy
id
속성을 사용하여 요소에 링크하기 위해 요소에 적용되는 href
속성일 뿐입니다.기본적으로 11ty은 markdown-it 라이브러리를 사용하여 마크다운을 구문 분석합니다. 그러나 기본적으로
markdown-it
는 헤더 요소에 id
를 적용하는 구문을 지원하지 않는 것 같습니다.사용자 정의
id
를 markdown
의 헤더 요소에 적용하는 구문은 다음과 같습니다.## text {#id}
해당 구문이 작동하도록 하려면
markdown-it
라이브러리의 자체 인스턴스를 만들고 markdown-it-anchors
및 markdown-it-attrs
플러그인 두 개를 추가해야 합니다.markdown-it-anchors
플러그인은 표제 텍스트에 따라 기본id
을 마크업의 모든 헤더 요소에 자동으로 적용합니다.markdown-it-attrs
플러그인은 기본값id
을 지정한 사용자 지정id
으로 바꿉니다.사용자 지정 앵커 적용
필요한 종속 항목을 설치합니다.
npm i markdown-it markdown-it-anchor markdown-it-attrs
.eleventy.js
파일 내부에 필요합니다.const markdownIt = require('markdown-it');
const markdownItAnchor = require('markdown-it-anchor');
const markdownItAttrs = require('markdown-it-attrs');
markdown-it
함수 내부에 module.exports
라이브러리의 인스턴스를 만듭니다.eleventyConfig.setLibrary("md", markdownIt().use(markdownItAnchor)).use(markdownItAttrs)
다음과 같은 몇 가지 옵션을 추가할 수도 있습니다.
let markdownItOptions = {
html: true // you can include HTML tags
}
let markdownItAnchorOptions = {
level: 2 // minimum level header -- anchors will only be applied to h2 level headers and below but not h1
}
eleventyConfig.setLibrary("md", markdownIt(markdownItOptions).use(markdownItAnchor, markdownItAnchorOptions).use(markdownItAttrs))
이제 다음과 같이 하면
## Heading 1 {#head1}
이 경우
head1
는 이 헤더 요소의 id
가 됩니다. #head1
값으로 href
를 사용하여 이 요소에 연결할 수 있습니다. 이것이 제목 요소에 사용자 정의 앵커를 추가하는 방법입니다.기본 앵커 적용
사용자 지정
id
을 원하지 않고 id
플러그인에 의해 요소에 적용되는 기본값markdown-it-anchors
을 유지하려는 경우 markdown-it-attrs
플러그인을 제거하면 기본 앵커가 적용됩니다. 요소.eleventyConfig.setLibrary("md", markdownIt(markdownItOptions).use(markdownItAnchor, markdownItAnchorOptions))
지금은 여기까지입니다. 종료합니다.
This post was originally published in Syntackle
Reference
이 문제에 관하여(Markdown의 제목에 사용자 지정 앵커 추가 - Eleventy), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/murtuzaalisurti/adding-custom-anchors-to-headings-in-markdown-eleventy-275o텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)