윈도우 정적 웹콘텐츠 개발 툴체인(Tool Chain)을 이해하고, 윈도우 정적 웹콘테츠 개발환경을 구축한다. 특히,소프트웨어 카펜트리 마크다운 콘텐츠를 HTML로 컴파일 한다.
정적 웹콘텐츠를 제킬(Jekyll)
기반으로 구축하기 위해서 제킬(Jekyll)
과 관련된 소프트웨어도 함께 버젼을 맞추어서 설치해야 된다. 특히, 소프트웨어 카펜트리에서 정적 웹콘텐츠 저작을 위한 좋은 툴을 개발하여 활발히 사용되고 있다. 소프트웨어 카펜트리 저작 도구는 pandoc
, jekyll
에 기반하고 있고 근본에는 루비언어 기반으로 글로벌 협업도구 GitHub 인프라가 깔려있다.
Package Manager Language Webpage Reuse Plugins (SWCarepntry)
+-----------+ +----------+ +-----------+ +---------------+
| | | | | | | |
|Chocolatey |---------->| Ruby |---------->| Jekyll |<--------->| pandocfilters |
| | | | | | | |
+-----------+ +----------+ +-----------+ +---------------+
^
문서 변환기 |
+-----------+ |
| | |
| Pandoc |----------------------------------------
| |
+-----------+
팬독(pandoc)과 루비 중 어떤 것을 먼지 설치할 것은 중요하지 않다. 제킬(Jekyll)이 루비에 의존성을 갖고, HTML, PDF 등 문서 생성에 팬독(pandoc)이 필요하기 때문에 독립적으로 각각 설치한다.
특히, 윈도우에서 제킬을 바로 설치하기 까다롭기 때문에 Chocolatey를 통해 제킬을 설치한다.
소프트웨어 카펜트리 교재 작성 템플릿을 사용하기 위해서 Make
를 사용해야 하는데, 리눅스 계열은 자체 내장되어 있어 별도 설치가 필요없지만, 윈도우에서는 Git Bash를 사용해야 하는데, Make
가 포함되지 않아서 make를 다운로드 받아 Git Bash가 설치된 bin
폴더에 복사해 넣는 방법과 이전 msysGit net installer 버전 전체를 설치하는 방법이 있다.
choco install ruby -y
gem install jekyll
bin
디렉토리 복사해서 저장msysGit 전체 버젼
1.9X 버젼을 사용한다.pandocfilter
설치 [^windows-pip]
python ez_setup.py
타이핑한다.C:\Python27\Scripts
이 생성되면 성공한 것이다.C:\Python27\Scripts
을 추가해서 어디서나 easy_install-2.7
명령어가 먹도록 조치한다.easy_install-2.7 pip
명령어로 pip
를 설치한다.python -m pip install --upgrade pip
명령어로 pip
최신 버젼으로 올린다.pip install pandocfilters
명령어로 pandocfilters
를 마지막으로 설치한다.소프트웨어 카펜트리를 교재 템플릿을 사용하는 Git 웹페이지를 하나 골라 복제한다. 그리고 나서 make preview
명령어를 실행할 경우, 모든 설정이 잘 된 경우 index.html
파일이 자동으로 생성되게 된다.
$ git clone -b gh-pages https://github.com/statkclee/ds-authoring.git
$ cd ds-authoring
$ touch index.md
$ make preview
pandoc -s -t html \
--smart \
--mathjax \
--template=_layouts/page \
--filter=tools/filters/blockquote2div.py \
--filter=tools/filters/id4glossary.py \
-Vheader="$(cat _includes/header.html)" -Vbanner="$(cat _includes/banner.htm
l)" -Vfooter="$(cat _includes/footer.html)" -Vjavascript="$(cat _includes/javasc
ript.html)" \
-o index.html index.md