본문으로 건너뛰기

마크다운 블로그를 만들 수 있는 오픈소스 프로젝트인데 주석도 지원하는게 뭐가 …

·487 단어수·3 분

Markdown 기반 블로그 제작과 동시에 댓글(주석) 기능을 지원하는 오픈소스 솔루션은 여러 가지가 있습니다. 대표적인 예로는 GitHub 기반의 블로그 플랫폼인 fastpages가 있는데, 이 프로젝트는 Markdown으로 작성된 블로그 게시물을 만들 수 있으며 댓글 기능은 Utterances라는 오픈소스 시스템을 통해 구현됩니다1.

주요 플랫폼 및 댓글 시스템
#

항목 설명
블로그 엔진 Jekyll, Eleventy, fastpages 등 다양한 정적 사이트 생성 도구들이 Markdown 기반 블로그 제작에 활용될 수 있습니다.
댓글 시스템 - Utterances: GitHub 이슈를 활용하여 댓글을 관리하며, fastpages와 같이 간편하게 통합할 수 있습니다.
- Isso: Python 기반의 가벼운 댓글 시스템으로, 낮은 서버 요구사항과 개인정보 보호에 초점을 맞추고 있습니다.
- Remark42: Go 언어 기반의 댓글 시스템으로, 소셜 로그인 및 다양한 스팸 방지 기능과 함께 깔끔한 인터페이스를 제공합니다.
- Talkyard: 댓글 기능뿐만 아니라 포럼 및 채팅 기능까지 갖춘 종합 토론 플랫폼입니다.

이들 솔루션은 모두 오픈소스로 제공되며, 사용자가 직접 호스팅하거나 Docker 컨테이너 등의 방식을 통해 쉽게 구축할 수 있습니다234. fastpages의 경우 GitHub Pages와의 통합이 쉬워 기본적인 댓글 기능을 손쉽게 사용할 수 있다는 장점이 있습니다1. 반면, Eleventy나 Jekyll 기반의 블로그를 이용할 경우 위에서 언급한 댓글 시스템 중 하나를 선택하여 연동하면, 필요에 맞는 커스터마이징이 가능해집니다.

요약
#

Markdown으로 작성된 블로그에 댓글(주석) 기능을 추가하려면 fastpages와 같이 댓글 내장 기능(예: Utterances)을 제공하는 플랫폼을 사용할 수도 있고, Jekyll 또는 Eleventy와 같은 정적 사이트 생성 도구에 Isso, Remark42, Talkyard 등의 별도의 댓글 시스템을 연동하는 방법도 있습니다. 각 솔루션은 설치 난이도, 서버 요구사항, 개인정보 보호 등에서 차이가 있으므로, 자신의 운영 환경과 요구 사항에 맞춰 선택하면 됩니다.

이처럼 다양한 오픈소스 프로젝트와 댓글 시스템을 결합하면 Markdown 기반 블로그에서도 손쉽게 댓글 기능을 구현할 수 있습니다.


미안해 필요한 기능은 footnote야
#

Markdown 문서에서 각주(footnote) 기능을 구현하고 싶다면 여러 오픈소스 솔루션 중에서 프로젝트에 가장 적합한 옵션을 선택할 수 있습니다. 예를 들어, JavaScript 기반의 Markdown 파서인 markdown-it을 사용 중이라면5에서 소개하는 markdown-it-footnote 플러그인을 손쉽게 적용할 수 있습니다. 이 플러그인은 기본 각주와 인라인 각주 모두를 지원하며, 구문은 Pandoc의 정의를 따릅니다5.

주요 옵션
#

옵션 특징 설명
markdown-it-footnote markdown-it 플러그인, JavaScript 기반 Markdown 파서에 플러그인으로 손쉽게 통합 가능하며, 일반 및 인라인 각주 구문 지원5
Jekyll (Kramdown) Ruby 기반 정적 사이트 생성기, Kramdown 기본 내장 Kramdown 엔진이 기본적으로 각주 기능을 지원하여 별도의 플러그인 없이 사용 가능67
Hugo (Goldmark) Go 기반 정적 사이트 생성기, 최신 버전에서는 각주 지원 Goldmark 마크다운 엔진이 내장 각주 기능을 제공하여 간단한 문법으로 구현 가능6
Eleventy (11ty) JavaScript 기반 정적 사이트 생성기, 사용자 설정 가능 markdown-it 사용 시 각주 플러그인(예, markdown-it-footnote)을 추가하여 활용 가능5

markdown-it-footnote 사용 예시
#

아래는 markdown-it과 markdown-it-footnote를 함께 사용하는 간단한 코드 예시입니다:

const MarkdownIt = require('markdown-it');
const markdownItFootnote = require('markdown-it-footnote');

const md = new MarkdownIt().use(markdownItFootnote);

const result = md.render('Here is a footnote reference,[^1]\n\n[^1]: Here is the footnote.');
console.log(result);

위 코드는 Markdown 문서에 입력된 각주 표기를 HTML로 변환하며, 인용부와 footnote 영역을 자동으로 생성합니다5.

요약
#

Markdown 블로그에 각주(footnote) 기능을 추가하고자 한다면, 프로젝트의 사용 환경에 따라 적합한 솔루션을 선택할 수 있습니다. JavaScript 기반 프로젝트에서는 markdown-it-footnote 플러그인이 매우 유용하며, Ruby나 Go 기반 정적 사이트 생성기를 활용하는 경우에는 Jekyll(Kramdown)이나 Hugo(Goldmark)를 고려해보세요567. 이러한 도구들은 모두 오픈소스이며, 손쉽게 커스터마이징하여 원하는 기능을 구현할 수 있습니다.