[Linter] remark-lint

2022-03-10 hit count image

remark-lint를 사용하여 마크다운(Markdown) 파일의 작성 스타일을 검사해 봅시다.

개요

Readme 파일이나 Wiki 등 개발과 관련된 문서를 작성할 때, 마크다운(Markdown) 형식을 자주 사용하게 됩니다. 이번 블로그 포스트에서는 remark-lint를 통해 마크다운 내용의 작성 스타일을 검사해 보도록 하겠습니다.

여기서 소개한 소스코드는 아래에 링크를 통해 확인할 수 있습니다.

Node 설치

remark-lint를 사용하기 위해서는 Node를 설치할 필요가 있습니다. 각각의 OS에 맞게 Node를 설치합니다.

macOS

Homebrew는 맥에서 패키지를 설치하고 관리할 수 있는 맥용 패키지 관리자입니다. Homebrew를 통해 맥에 필요한 패키지를 간단하게 설치할 수 있다. 다음 명령어를 실행하여 Homebrew를 설치합니다.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

설치가 완료되었다면, 다음 명령어를 실행하여 잘 설치되었는지 확인합니다.

brew --version

만약 버전이 표시되지 않는다면, 터미널을 종료하고, 다시 실행시킵니다. 이미 Homebrew가 설치된 분들은 다음 명령어를 실행하여 Node를 설치합니다.

brew install node

Windows

윈도우에는 Chocolatey라는 패키지 매니저를 사용합니다. 관리자 권한으로 실행된 명령어 프롬프트 또는 파워쉘을 열고 다음 명령어를 실행하여 Chocolatey를 설치합니다.

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

설치가 완료되었다면, 다음 명령어를 실행하여, 설치가 잘 되었는지 확인합니다.

choco –version

Chocolatey의 버전이 표시되지 않는다면, 명령어 프롬프트 또는 파워쉘을 종료하고 다시 실행시킵니다. Chocolatey가 설치되었다면, 다음 명령어를 실행하여 Node를 설치합니다.

choco install -y nodejs.install

package.json 생성

remark-lint는 Node 개발 환경에서 동작합니다. 따라서 노드 패키지를 관리하기 위해 package.json 파일을 생성할 필요가 있습니다. 다음 명령어를 사용하여 package.json 파일을 생성합니다.

npm init

명령어를 실행하면 다음과 같이 여러 질문들이 나옵니다. 특별히 변경하고 싶은 내용이 없다면 모든 질문에 Enter키를 입력합니다.

package name: (remark-lint-example)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)

그럼 다음과 같이 package.json 파일이 생성되는 것을 확인할 수 있습니다.

{
  "name": "remark-lint-example",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

remark-lint 설치

이제 다음 명령어를 사용하여 remark-lint를 설치합니다.

npm install --save-dev remark-cli remark-lint remark-preset-lint-recommended

remark-lint 설정

이렇게 설치한 remark-lint를 사용하기 위해 package.json 파일을 열고 다음과 같이 수정합니다.

{
  ...
  "remarkConfig": {
    "plugins": [
      "remark-preset-lint-recommended",
      [
        "remark-lint-list-item-indent",
        "mixed"
      ]
    ]
  }
}

실행 스크립트 생성

이제 설정한 remark-lint를 실행하는 스크립트를 생성해 봅시다. package.json 파일을 열고 다음과 같이 수정합니다.

{
  ...
  "scripts": {
    "lint:md": "remark . --quiet --frail"
  },
  ...
}

실행

다음으로 remark-lint가 잘 실행되는지 확인하기 위해 README.md 파일을 생성하고 다음과 같이 수정합니다.

test

그런 다음, 다음 명령어를 실행하여, remark-lint가 잘 실행되는지 확인해 봅니다.

npm run lint:md

remark-lint가 잘 설치되고 설정되었다면, 다음과 같은 경고를 확인할 수 있습니다.

README.md
  1:1  warning  Missing newline character at end of file  final-newline  remark-lint

완료

이것으로 remark-lint를 사용하여 마크다운 파일의 내용을 검사하는 방법에 대해서 알아보았습니다. 여러분도 remark-lint를 통해 마크다운으로 작성되는 문서들의 스타일을 통일해 보시기 바랍니다.

제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!

앱 홍보

책 홍보

스무디 한 잔 마시며 끝내는 React Native 책을 출판한지 벌써 2년이 다되었네요.
이번에도 좋은 기회가 있어서 스무디 한 잔 마시며 끝내는 리액트 + TDD 책을 출판하게 되었습니다.

아래 링크를 통해 제가 쓴 책을 구매하실 수 있습니다.
많은 분들에게 도움이 되면 좋겠네요.

스무디 한 잔 마시며 끝내는 React Native, 비제이퍼블릭
스무디 한 잔 마시며 끝내는 리액트 + TDD, 비제이퍼블릭
Posts