Metalsmith를 사용하려고 했었다

워드프레스를 사용할 때 몇 가지가 불편했다.

  • 제한된 테마만 사용해야 한다.
  • 소스 코드 표현이 자유롭지 못하다.
  • 플러그인을 사용할 수 없다.
  • 광고가 붙는다. (이후 개인 요금제를 사용해서 광고를 제거했다)

정적 사이트 생성기(Static Site Generator)를 고려했는데 워드프레스와 다른 점이 있다.

  • 글의 내용을 데이터베이스에 저장하지 않는다.
  • 빌드에 의해서 생성된다.
  • 관리 페이지가 없다.
  • 온라인에서 글을 쓸 수 없다.
  • 서버와 통신이 없음으로 최소한의 웹 서버 기능만 필요하다.

워드프레스에 비해 기능이 제한되는 것 같지만 거꾸로 꼭 필요한 기능만 내가 조립하는 즐거움이 있다고도 볼 수 있다. 이 툴을 사용하여 만들어진 파일들을 웹 서버에 올려서 블로그 서비스를 제공할 수 있다. 내가 선택한 GitHub Pages도 이런 파일을 올릴 수 있는 웹 서버의 한 예다. Static Site Generator는 종류가 많아서 고르는 게 일이다. 생각보다 여러 프로그래밍 언어로 개발되는 것을 보고 놀랐는데 주로 자바스크립트를 사용해서 그런지 자바스크립트로 만들어진 것을 찾게 되었다. 이전에 HubPress 설치에 실패했고 다시 Hexo에 도전했다. Hexo는 워드프레스 테마를 보는 느낌이어서 친숙했지만 소스 코드의 동작하는 모습이 금방 눈에 들어오지 않아서 결국 좀 더 이해하기 쉬운 Metalsmith를 사용하려고 시도했다.

Metalsmith는 작다. 처음 자바스크립트를 만났을 때의 느낌 딱 그것이다. 자바스크립트 코드는 약 400라인이다. 최소한의 기능만 가지고 있고 다른 기능들은 플러그인을 통해서 지원하는 방식이다. 플러그인을 사용하는 방식이 Express에서 미들웨어 사용하는 방식과 비슷하다. 파이프라인으로 지나가는 파일들을 각각의 플러그인 함수가 처리하는 방법으로 동작하는데 Metalsmith chain이라고 한다. 어떤 플러그인을 적용할지 결정하면 된다. 4개의 Node.js 모듈과 하나의 자바스크립트에서 시작한다.

npm install metalsmith metalsmith-layouts metalsmith-permalinks metalsmith-markdown

특별한 명령어 없이 노드에서 수행하면 된다. index.js 이름도 임의로 정하면 된다. Hexo 같은 생성기는 다운로드 받으면 바로 사용할 수 있는데 반해 Matalsmith는 이런 화면을 보려면 추가 작업이 더 필요하다.

node index.js

가입형 무료 워드프레스 기능과 비교하면 SSG는 기능이 부족하다. 대신 쉽게 수정하고 그 동작 방식을 들여다 볼 수 있는 장점이 있다. 대부분의 SSG가 그렇듯이 Metalsmith도 댓글 기능이 없다. 서버와 통신하는 기능이 없으니 당연하다. Disqus를 사용하여 댓글 기능을 추가할 수 있다.

그렇지만

글도 별로 없는데 2개의 블로그에 글을 쓰는 것은 무리라는 생각이 들어 워드프레스로 글을 옮겼다. 지금은 메탈스미스를 사용하지 않는다. 대신 parcelbulma를 사용하여 깃헙페이지를 유지하고 있다.주로 깃헙에 만든 작은 프로그램을 설명한다. Codepen 같은 것을 자유롭게 사용할 수 있어서 너무 편하다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.