[컴] github page(github.io) 에서 jekyll 사용하기


github page 에서 제킬 사용 /

github page(github.io) 에서 jekyll 사용하기

github page(github.io) 에 jekyll 을 사용한다면, github 에 올리는 방법은 2가지가 있다.[ref. 2]

  1. jekyll plugin 을 사용하는 방법
  2. plugin 없이 local 에서 build 가 끝난 stage page 들(html, css, js등)을 upload 하는 방법 : 이건 일반적인 static page 를 바로 올려서 그냥 보여주는 것을 이야기 한다.

jekyll plugin 을 사용한 방법

절차

  1. jekyll 을 설치한다.
  2. jekyll new 으로 template 을 만든다.
  3. <user_id>.github.io 라는 이름의 repository 를 생성
  4. 만들어진 template 을 git repository 에 올린다.
  5. github 의 repository settings –> pages 에 가서 어떤 branch 를 보여줄지 정해준다.

jekyll 을 만들고, template 을 만들기

자세한 내용은 다음 link 를 보면 된다.

여기서는 jekyll 을 설치하고, template 을 만드는 것 까지는 docker 로 진행한다. 그리고 docker 의 내용을 copy 해서 가져온 이후에 뒷 과정들을 해보려 한다.

jekyll template 만들고, 가져오기

아래 Dockerfile 을 받고, ‘docker compose up’ 을 하면 된다. 그러면 docker container가 running 하게 되는데, 여기서 만들어진 template 을 local 로 copy 해 오면 된다.

  1. docker compose up
  2. docker cp <container_id>:/home/jekyll/my-test-blog ./m

그러면 이제 m 이라는 folder 에 아래 처럼 파일들을 볼 수 있다.

만들어진 file 은 아래 경로에서도 받을 수 있다.

github 에 올리기

그럼 이제 _site 만 제외하고 나머지 file 들을 git folder 로 복사해서 commit 하자. 그럼 아래 그림과 같은 file 들이 올라가게 된다.

참고로, _site 의 내용은 jekyll 의 template 내용이 build 된 결과물이다. github page 의 plugin 을 이용하기 때문에 build 되지 않은 file 을 올리면 된다.

당연히 일반적인 static page 를 보여주듯이, jekyll plugin 을 사용하지 않고, _site 를 바로 올려서 사용해도 된다.

github page settings 에 가면, 어떤 branch 를 보여줄지도 정할 수 있다. 기본은 main 이다.

base url 변경

이것은 _config.yml 에서 변경할 수 있다. 다음 부분을 자신의 url 로 변경해주면 된다.

...
domain: my-site.github.io       # if you want to force HTTPS, specify the domain without the http at the start, e.g. example.com
url: https://my-site.github.io  # the base hostname and protocol for your site, e.g. http://example.com
baseurl: /      # place folder name if the site is served in a subfolder 
...

https://.github.io 에 접속

https://<user_id>.github.io 에 접속하면 이제 초기화면을 확인할 수 있다.

테마(theme) 적용 방법

테마는 "github page 에서 제공하는 테마"와 "제공하지 않는 테마" 가 있다.

remote_theme

여기 를 보면 remote_theme 사용을 위해서 gem 을 추가하는 과정이 있는데, 이부분은 안해서 github page 에서 해주는 듯 하다.(추측)

그래서 단순히 _config.yml 에서 theme: <theme-name> 대신에 remote_theme: <theme_name> 을 해주면 된다. 참고로, github 주소의 user id 부분까지 같이 써줘야 한다. 아래는 theme ‘just-the-docs’ 의 경우이다.

...
remote_theme: pmarsceill/just-the-docs

또는

remote_theme: http[s]://github.<Enterprise>.com/pmarsceill/just-the-docs

글올리기

글올리는 방법은 다음 링크를 참고하자

Reference

  1. How do I configure GitHub to use non-supported Jekyll site plugins? - Stack Overflow
  2. github - Why put the _site-directory of a Jekyll site in .gitignore? - Stack Overflow
  3. About GitHub Pages and Jekyll - GitHub Docs

댓글 없음:

댓글 쓰기