Swiftpack.co - Package - hoemoon/Generator

Generator

A gist compatible static site generator

왜 필요한가?

'정적 사이트'는 데이터베이스가 필요 없고, 정적 자원을 내려받기만 하면 더 이상 네트워크 통신을 하지 않아도 된다. 또 파일을 raw data로 사용하기 때문에 데이터를 옮기거나 변경시키는 것도 쉬운 편이다. github 같은 툴을 사용하면 협업도 쉽다.

이름에서 내포하듯 '정적'이라는 단점이 있다. 따라서 실시간으로 바뀌는 정보가 중요한 경우에는 사용하기 힘들다. 반대로 정보가 상대적으로 덜 바뀌는 경우에는 매우 유용하다. github과 CI 툴을 이용하면, 문서 추가는 자유롭게 하되, 빌드 시점 또한 유연하게 정할 수 있다.

대개의 정적 사이트 생성기는 markdown같은 텍스트 파일을 저장소에 넣어두는 것이 일반적인데, 이 프로젝트에서는 gist의 주소를 하나의 컨텐츠로 다루는 기능을 추가해보려고 한다. 사이트의 메타정보에 gist 주소가 입력되면, 빌드할 때마다 gist의 내용을 가져와서 사이트를 생성하게 된다. gist를 변경하는 것은 저장소를 푸쉬하는 것보다 간편하기 때문에 보다 유연하게 문서를 변경할 수 있게 된다.

Structure

.
├── .build
│   ├── index.html
│   ├── script.js
│   └── style.css
├── .gitignore
├── Sources
│   ├── .DS_Store
│   ├── Bibendum.md
│   ├── Ornare.md
│   └── gist_ids.txt
└── site.yml

Tutorial

# Generate personal github token at ~/.generator
gen token

# Create a new site at ./NewBlog
gen new-site NewBlog

# Change into your new directory 
cd NewBlog

# Create new file in `Sources` directory with template.
gen new "Nullam quis risus eget urna mollis ornare vel eu leo.md"

# Create new file in `Sources` directory with gist_id.
gen new 03a4e3ab453bfe11749c25b43235ffcc 

# Add gist id to `./Sources/gist_ids.txt`
gen add 03a4e3ab453bfe11749c25b43235ffcc

# Build your website in `./.build`
gen build

# Preview your website on `http://localhost:3000`
gen serve

# Deploy a site in a predefined location
gen deploy

Github

link
Stars: 2
Help us keep the lights on

Used By

Total: