blogdown으로 Github Blog 만들기 1/2
blogdown
이란 Jekyll
과 더불어 최근 인기가 많아지고 있는 Hugo
엔진을 사용하여 정적 페이지를 만들어주는 R
패키지입니다.
특히, R
을 자주 사용하는 사람들은 Rstudio에서 코딩하고 Rmarkdown을 많이 사용하게 되는데, blogdown
은 Rmarkdown을 html로 변환시켜 페이지에 띄워주는 역할을 해줍니다. (R
을 자주 사용하는 사람으로서 매우 편리하다고 생각!!)
게다가 온라인에 blogdown 책도 배포되어 있습니다!! (단, 영어…)
순서
- R project 생성
blogdown
설치Hugo
설치- Site 생성 (로컬에서 호스팅)
- 기본 설정
- Github에 push (subtree 이용)
- Git으로 블로그 관리
이번 글에서는 1~5번 까지의 과정을 설명해드리겠습니다. (6~7번은 좀 많이 복잡한듯 해서. . . 다음 포스팅에서 설명해보겠습니다.)
1. R project 생성
Rstudio를 켜고 R project를 만들어줍니다.
저는 blogdown_test
라는 이름의 project를 생성했습니다.
생성된 후에는 폴더 안에 아무 파일도 없을겁니다. (이제 이것저것 생길거에요 ㅎㅎ)
README.md
는 Github에 commit 했을 때, repository 메인에 나타나게 하는 문서로 여기서는 신경쓰지 않으셔도 됩니다.
2. blogdown
설치
이제 blogdown
을 설치합시다.
install.packages("blogdown")
library(blogdown)
3. Hugo
설치
blogdown
은 Hugo 기반이기 때문에 Hugo를 설치해주어야 합니다.
하지만 우리의 blogdown
에는 Hugo를 설치해주는 함수가 있습니다!!
# Hugo 다운로드
install_hugo()
4. Site 생성 (로컬에서 호스팅)
기본 theme을 사용해서 테스트해보겠습니다.
# Site 생성
new_site() # 기본 theme : hugo-lithium
기본 theme을 다운받으면서 자동으로 build 및 호스팅해주며 http://127.0.0.1:4321/에 들어가보면 다음의 심플한 페이지가 나옵니다.
blogdown_test
폴더에도 파일이 많이 생겼죠?
이중에 실제로 호스팅은 public/
폴더에 있는 파일들이 호스팅 됩니다.
나머지 파일을 사용해서 페이지를 build해주고 build된 파일들이 public/
폴더에 들어가게 되요.
이후에 블로그를 수정하거나 글을 작성할 때에는 다음과 같이 사용하면 됩니다.
library(blogdown)
build_site() # Rmd를 html로 변환 (public/ 폴더가 수정됨)
serve_site() # 로컬에서 호스팅
stop_server() # 호스팅 종료 (또는 Rstudio를 꺼도 됨)
5. 기본 설정
기본적인 setting은 config.toml
에서 설정할 수 있습니다.
baseurl = "/"
languageCode = "en-us"
title = "A Hugo website"
theme = "hugo-lithium"
googleAnalytics = ""
disqusShortname = ""
ignoreFiles = ["\\.Rmd$", "\\.Rmarkdown$", "_files$", "_cache$"]
.
.
.
base_url
: Github 페이지로 사용하기 위해서는https://<github계정>.github.io/
로 설정해주어야 함title
: Site 제목theme
: Hugo themegoogleAnalytics
: Google Analytics 설정disqusShortname
: disqus ID (disqus에 로그인 했을 때, 나오는@shortname
)
참고 - Theme 설정
이 글에서는 기본 theme을 사용했지만 사실 Hugo에는 아주 많은 theme이 있습니다. (Hugo Themes에서 맘에 드는 것을 찾으면 됩니다.)
theme을 찾아서 다운받아 사용해도 되지만, build할 때 에러가 뜨는 경우가 많다고 합니다. (아마 theme마다 설정이 달라서 그런 것 같아요.) 그럴 때에는 R project안의 파일을 지우고(혹시 blog 게시글 써놓은 것이 있다면 다른 곳에 저장해두세요!!) 다음의 코드로 site를 새로 build하면 됩니다.
# theme 옵션 사용하여 site build
# new_site(theme = "github_id/theme_repository")
new_site(theme = "kakawait/hugo-tranquilpeak-theme") # tranquilpeak theme 적용