which ruby /usr/bin/ruby 기본 설치되어 있는 루비
2018-03-12
Markdown이 간단한 블로깅을 하기에 좋은 도구입니다만, 문법의 혼란과 github에서 지원하는 플러그인의 제한등이 다른 해결책을 찾아 헤메다 보면 asciidoc 에 오게 됩니다.
Github
draft repository:
대표 페이지 repository: username.github.io
작성 PC
jekyll 구동환경
which ruby /usr/bin/ruby 기본 설치되어 있는 루비
rmv(ruby version manager)를 설치합니다.
\curl -sSL https://get.rvm.io | bash -s stable rvm reload rvm list known 으로 확인
rvm install ruby-2.4 rvm use 2.4 which ruby /Users/narusas/.rvm/rubies/ruby-2.4.1/bin/ruby
짜잔 rvm 버전으로 루비가 바뀌었어요
이제 필요한 gem 을 설치합니다.
gem install bundler gem install travis
github에서 저장소 생성.
이때 https://github.com/asciidoctor/jekyll-asciidoc-quickstart 를 fork 받는게 빠르다.
fork 받은 프로젝트의 이름을 변경한다.
blogdraft 정도로 이름을 변경한다
소스를 내려받는다
git clone [repo_url]
Gemfile 을 열어 빠진 것을 추가한다
source 'https://rubygems.org'
gem 'jekyll', '~> 3.7.0'
gem 'coderay', '~> 1.1.0'
gem 'rake-jekyll', '~> 1.1.0'
gem 'jekyll-plantuml', '~> 1.1'
gem 'jekyll-diagrams'
group :jekyll_plugins do
gem 'jekyll-asciidoc', '~> 2.0.1'
gem 'asciidoctor-diagram'
end
아마도 jekyll-plantuml, jekyll-diagrams, asciidoctor-diagram 정도가 빠져있을 것이다
변경한후에 설치를 수행한다 bundle install
이 이후에 글 작성은 _posts 폴더에 만들면 된다. 일반적인 jekyll 문서처럼 만들되 확장자만 .adoc 으로 주면 된다.
github에서 저장소 생성.
이때 username.github.io 로 생성하면 독립적인 도메인을 받아서 http://username.github.io 로 접속할수 있게 된다.
세팅에 가서 github pages 설정을 활성화 시킨다
github가 asciidoc 을 지원하지 않기 때문에 travis 를 통해 빌드 하기 위해서는 github 에 푸시할 권한이 필요하다. 이를 위해 인증 토큰을 만들어야 한다.
Profie → Settings → Developer settings → Personal access tokens에 가서
Generate new token 을 누르고
public_repo 에 체크한후
적당한 이름을 주고 생성한다
생성된 인증 토큰은 잘 보관할것(두번다시 못봄)
https://travis-ci.org 에 가서 계정을 만든다
프로필 페이지로 간다
드래프트 저장소를 찾아 스위치를 켠다.
저장소를 클릭해서 들어간 페이지에서 settings에 들어간다
“Build only if .travis.yml is present.” 를 활성화한다.
환경변수를 추가한다.
gh_repo 퍼블리싱용 저장소 URL
gh_user github 계정
gh_pw 아까 발행한 github token
다음 두 파일은 최상단 폴더에 추가한다
language: ruby
sudo: false
script: chmod +x sync.sh && ./sync.sh
addons:
apt:
packages:
- graphviz
bundle exec jekyll build
rm -fR /tmp/publish
mkdir -p /tmp/publish
cp -r _site/* /tmp/publish
rm -fR /tmp/master
mkdir -p /tmp/master
cd /tmp/master
git clone https://${gh_user}:${gh_pw}@github.com/${gh_user}/${gh_repo}
cd ${gh_repo}
git rm . -r
cp -r /tmp/publish/* ./
git add .
git commit -m "updated"
git push
두파일을 커밋하고 푸시한다.
빌드에 문제가 없으면 http://username.github.io 를 방문해서 정상적으로 나오는지 확인해본다
asciidoc
github
github pages
jekyll
diagram