Programming

; develop a program

Git & GitHub

[GitHub] 깃허브 블로그 - 포스팅 하는 방법

Clloud_ 2022. 12. 15. 13:13
반응형

생성한 블로그에 포스팅을 진행하려 했는데 변경 내용이 반영되지 않아서 당황스러웠다.

보통 post _posts 폴더 내부에 마크다운 파일을 생성하면 포스팅이 됐었는데... hugo를 사용할 때는 쉘 스크립트를 이용하여 자동으로 글을 쓰고 올리는 설정을 했지만 jekyll 도 혹시나.. 했는데 없는 듯??

(찾아보니 있긴 했지만 굳이 필요성을 못 느꼈다..)

 

이번에는 jekyll 블로그에 포스팅 하는 방법적용되지 않는 경우 해결하는 방법에 대해 공부해보고자 한다.

 


Jekyll 블로그에 포스팅하기

Jekyll 플랫폼에서는 .html 혹은 .md 파일로 업로드가 가능하다.

파일 이름은 "YYYY-MM-DD-TITLE" 양식을 따라야 하는데 현재 날짜 이전의 포스트만 블로그에서 보인다고 한다.

 

우선 아래 코드를 실행하여 블로그를 localhost로 띄운다.

(적용하기 전에 미리 보기 같은 느낌...)

bundel exec jekyll serve

 

_posts 폴더에 보면, 이미 생성되어 있는 기본 post들이 있다.

지워도 되지만 _drafts 라는 폴더를 만들어서 옮겨 준다.

 

현재 생성되어 있는 post

 

_drafts 폴더는 말 그대로 draft 버전 포스트들이 머물다 가는 장소로 사용한다.

_posts 에 있는 파일들만 블로그에 보이기 때문에, _drafts 에 있는 파일은 보이지 않는다.

 

올리는 포스트는 .html 형식이든 .md 형식이든 상관없지만 Github README에 복사하기도, 티스토리 블로그에 올리기도 .md이 편하기 때문에 .md형식으로 포스팅할 생각이다.

위에서 말한 양식대로 _posts 폴더에 "2022-12-15-test.md" 생성한다.

 

항상 포스트의 시작엔, 포스트에 대한 정보가 있는 "YAML Front Matter"를 넣어줘야 한다.

--- 와 --- 사이에 필요한 데이터를 넣어주고, 파일의 시작 부분에 넣어주면 Jekyll이 처리한다.

# 기존에 있던 포스트의 Front-matter
---
layout: post
title: "Welcome to Jekyll!"
date: 2020-08-29 09:29:20 +0700
categories: jekyll update
---

 

이를 새로운 포스트에 맞게 수정하면 된다.

# 수정한 Front-matter
--- 
layout: post 
title: "Test" 
date: 2022-12-15 12:25:20 +0700 
tags: blog
categories: test
---

 

머리말(Front-matter)
포스트나 페이지를 관리하는 데 사용하기 위해 읽어 들이는 YAML 방식의 문서의 헤더 양식이다.
모든 포스트나 페이지 글 위에 삽입하면 되는데 각 테마별로 기본 Front-matter는 다르지만 그 생김새와 각 명령어의 기능은 동일하다.

 

포스트에 내용을 추가하고 세이브하면, 블로그에 이 포스트가 뜨는 걸 볼 수 있다.

포스트에서 수정하고 싶은 스타일 부분은, assets / vendor / startbootstrap-clean-blog / scss / _post.scss에서 설정하면 된다.

 

블로그의 어느 부분이든 넣고 싶은 이미지가 있으면, _img폴더에 넣어주고, 각 포스트에서 상대 경로(relative path)를 써주면 된다.

여기서 이미지들은 각 포스트마다 따로 폴더를 만들어주는 게 관리하기 편하고 깔끔하다.

ex) "2022-12-15-Test.md"에 삽입할 이미지들은, Test 폴더에 넣어 관리한다.

 


포스트를 작성했는데 안 보이는 경우

위 방법을 따라 했지만 저장한 포스트가 보이지 않았다.

원인은 시간대(Timezone) 때문이다.

 

Jekyll은 미래 시간으로 설정된 포스트는 노출되지 않는데 기존의 시간대가 한국이 아니다 보니 내가 시계를 보며 작성한 포스트 작성 시기를 미래라고 인식해서 노출되지 않았던 것이다.

기본 설정값은 UTC/GMT 00:00으로 되어있다.

 

이 경우 Gemfile 을 열어 아래의 내용을 추가해야 한다.

Gemfile 은 Jekyll v3.4 또는 그 이상의 버전에서는 ‘새로’ 블로그를 생성하면 기본적으로 추가되어 있다고 한다. 

이전 버전을 사용할 경우 추가하면 된다.

gem 'tzinfo', '~>1.2'

 

앞서 언급되어 있듯이 기본 설정은 UTC/GMT 00:00으로 되어있기 때문에 이 설정을 변경해주어야 한다. 

_config.yml 파일을 열어 아래 내용을 추가하거나 수정한다.

timezone: Asia/Seoul

 

위의 방법을 사용해도 여전히 포스트가 보이지 않는 경우, 포스트 작성 시 date를 입력할 때 시간 뒤에 +0900을 붙여주면 된다.

date: 2022-12-15 12:25:20 +0900

 


반응형