SlideShare a Scribd company logo
1 of 17
Hugo를 활용한 블로그 구축
2018.12.21 박지훈
루비 기반
제일 많이 사용하는 Generator
한글 레퍼런스 많음
GitHub Pages의 내부 엔진으로 사용
느리다는 단점
Go languages 기반
빌드가 빠름
한글 레퍼런스가 없음
성능이 저하되면 안되고
빌드가 빨라야함
Hugo 설치
C:Hugo 폴더 생성
C:Hugobin 하위 폴더 생성
(https://github.com/gohugoio/hugo/releases) 다운받은 파일 해제
set PATH=%PATH%;C:Hugobin 명령으로 환경변수 추가
hugo version / hugo help 로 동작 확인
Hugo Static Site 생성
hugo 폴더에 사이트생성
- hugo new site [블로그명] 명령으로 site생성
Hugo Static Site 구조
항목 내용 비고
archetypes 컨텐츠 기본 구조 정의
default.md 파일에서 마크다운 구조 설
정
config.toml Hugo 블로그 전체 설정 파일
content/posts 블로그에 올라갈 마크다운 파일 위치
data
태그, 카테고리, 저자 등 기타 항목 정
의
layouts, static 블로그의 템플릿 및 정적 리소스 위치
현재는 테마를 사용하기 때문에 사용안
함
themes 사용할 Hugo 테마 위치
public 블로그 빌드 타켓 폴더 gh-pages 브랜치에 Push될 결과물
Hugo 테마 적용 및 포스트 생성
Hugo theme 적용
- Hugo theme 페이지에서 원하는 테마 선택
- theme폴더에 테마 다운로드(ex:https://themes.gohugo.io/hugo-blog-jeffprod/)
Config.toml 파일 설정
Github 세팅
Github 저장소 세팅
- Hugo의 컨텐츠와 소스파일들을 포함할 <YOUR-PROJECT> 생성
- 렌더링 된 버전의 Hugo 웹사이트를 포함할
<USERNAME>.github.io 생성
Github remote와 submodule 설정
- git init
- git remote add origin https://github.com/qkrwlgnstm/blog.git
- git submodule add -b master
https://github.com/qkrwlgnstm/qkrwlgnstm.github.io.git public
Hugo 테마 적용 및 포스트 생성
포스트 생성
- 신규 블로그 포스트 생성
- 신규 블로그 포스트 작성
Hugo 테마 적용 및 포스트 생성
포스트 생성
- 페이지 확인 (http://localhost:1313/ 로 확인 가능)
Hugo 테마 적용 및 포스트 생성
테마적용
- 테마 적용 웹사이트 생성
(hugo 명령어를 통해 테마가 적용된 블로그 내용 퍼블리싱)
Github 업로드 및 뷰페이지 확
인
Github 업로드(blog저장소 / public 폴더 모두 업로드)
- cd public
- git add .
- git commit –m “커밋메세지”
- git push origin master
- 블로그 저장소도 동일하게 변경내용 푸시
끝

More Related Content

Similar to Hugo를 활용한 블로그 구축 (박지훈)

GitHub와 Jekyll을 이용한 무료 블로그 만들기
GitHub와 Jekyll을 이용한 무료 블로그 만들기GitHub와 Jekyll을 이용한 무료 블로그 만들기
GitHub와 Jekyll을 이용한 무료 블로그 만들기Seongho Lee
 
GitHub 실습 교육
GitHub 실습 교육GitHub 실습 교육
GitHub 실습 교육승엽 신
 
깃허브 시작하기
깃허브 시작하기깃허브 시작하기
깃허브 시작하기진태 이
 
헥소로 블로그 만들기
헥소로 블로그 만들기헥소로 블로그 만들기
헥소로 블로그 만들기권성 양
 
201017 한주현 생물정보학 github 강의
201017 한주현 생물정보학 github 강의201017 한주현 생물정보학 github 강의
201017 한주현 생물정보학 github 강의Joohyun Han
 
GitHub으로 웹페이지 만들기
GitHub으로 웹페이지 만들기GitHub으로 웹페이지 만들기
GitHub으로 웹페이지 만들기Seung Jae Lee
 
디자이너 버전관리
디자이너 버전관리디자이너 버전관리
디자이너 버전관리Hailey Lee
 
[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용Ian Choi
 
오픈세미나 플러그인만들기(한번더)
오픈세미나 플러그인만들기(한번더)오픈세미나 플러그인만들기(한번더)
오픈세미나 플러그인만들기(한번더)승훈 오
 
[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)Ildoo Kim
 
오픈 소스 컨트리뷰션 가이드
오픈 소스 컨트리뷰션 가이드오픈 소스 컨트리뷰션 가이드
오픈 소스 컨트리뷰션 가이드Ted Won
 
휴봇-슬랙 OSX 설치
휴봇-슬랙 OSX 설치휴봇-슬랙 OSX 설치
휴봇-슬랙 OSX 설치Juneyoung Oh
 
공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반BJ Jang
 
오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료BJ Jang
 
알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1Hansol Kang
 
리스펙토링 5월 세미나, git과 github
리스펙토링 5월 세미나, git과 github리스펙토링 5월 세미나, git과 github
리스펙토링 5월 세미나, git과 githubJungHoon Lee
 
Digging github
Digging githubDigging github
Digging githubHansol Lim
 

Similar to Hugo를 활용한 블로그 구축 (박지훈) (20)

GitHub와 Jekyll을 이용한 무료 블로그 만들기
GitHub와 Jekyll을 이용한 무료 블로그 만들기GitHub와 Jekyll을 이용한 무료 블로그 만들기
GitHub와 Jekyll을 이용한 무료 블로그 만들기
 
GitHub 실습 교육
GitHub 실습 교육GitHub 실습 교육
GitHub 실습 교육
 
깃허브 시작하기
깃허브 시작하기깃허브 시작하기
깃허브 시작하기
 
헥소로 블로그 만들기
헥소로 블로그 만들기헥소로 블로그 만들기
헥소로 블로그 만들기
 
11. git basic
11. git basic11. git basic
11. git basic
 
201017 한주현 생물정보학 github 강의
201017 한주현 생물정보학 github 강의201017 한주현 생물정보학 github 강의
201017 한주현 생물정보학 github 강의
 
18 1 파이썬패키지
18 1 파이썬패키지18 1 파이썬패키지
18 1 파이썬패키지
 
GitHub으로 웹페이지 만들기
GitHub으로 웹페이지 만들기GitHub으로 웹페이지 만들기
GitHub으로 웹페이지 만들기
 
디자이너 버전관리
디자이너 버전관리디자이너 버전관리
디자이너 버전관리
 
[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용
 
오픈세미나 플러그인만들기(한번더)
오픈세미나 플러그인만들기(한번더)오픈세미나 플러그인만들기(한번더)
오픈세미나 플러그인만들기(한번더)
 
[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)
 
오픈 소스 컨트리뷰션 가이드
오픈 소스 컨트리뷰션 가이드오픈 소스 컨트리뷰션 가이드
오픈 소스 컨트리뷰션 가이드
 
휴봇-슬랙 OSX 설치
휴봇-슬랙 OSX 설치휴봇-슬랙 OSX 설치
휴봇-슬랙 OSX 설치
 
공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반
 
오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료
 
알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1
 
Git basic
Git basicGit basic
Git basic
 
리스펙토링 5월 세미나, git과 github
리스펙토링 5월 세미나, git과 github리스펙토링 5월 세미나, git과 github
리스펙토링 5월 세미나, git과 github
 
Digging github
Digging githubDigging github
Digging github
 

Hugo를 활용한 블로그 구축 (박지훈)

  • 1. Hugo를 활용한 블로그 구축 2018.12.21 박지훈
  • 2.
  • 3.
  • 4. 루비 기반 제일 많이 사용하는 Generator 한글 레퍼런스 많음 GitHub Pages의 내부 엔진으로 사용 느리다는 단점
  • 5. Go languages 기반 빌드가 빠름 한글 레퍼런스가 없음
  • 6.
  • 8. Hugo 설치 C:Hugo 폴더 생성 C:Hugobin 하위 폴더 생성 (https://github.com/gohugoio/hugo/releases) 다운받은 파일 해제 set PATH=%PATH%;C:Hugobin 명령으로 환경변수 추가 hugo version / hugo help 로 동작 확인
  • 9. Hugo Static Site 생성 hugo 폴더에 사이트생성 - hugo new site [블로그명] 명령으로 site생성
  • 10. Hugo Static Site 구조 항목 내용 비고 archetypes 컨텐츠 기본 구조 정의 default.md 파일에서 마크다운 구조 설 정 config.toml Hugo 블로그 전체 설정 파일 content/posts 블로그에 올라갈 마크다운 파일 위치 data 태그, 카테고리, 저자 등 기타 항목 정 의 layouts, static 블로그의 템플릿 및 정적 리소스 위치 현재는 테마를 사용하기 때문에 사용안 함 themes 사용할 Hugo 테마 위치 public 블로그 빌드 타켓 폴더 gh-pages 브랜치에 Push될 결과물
  • 11. Hugo 테마 적용 및 포스트 생성 Hugo theme 적용 - Hugo theme 페이지에서 원하는 테마 선택 - theme폴더에 테마 다운로드(ex:https://themes.gohugo.io/hugo-blog-jeffprod/) Config.toml 파일 설정
  • 12. Github 세팅 Github 저장소 세팅 - Hugo의 컨텐츠와 소스파일들을 포함할 <YOUR-PROJECT> 생성 - 렌더링 된 버전의 Hugo 웹사이트를 포함할 <USERNAME>.github.io 생성 Github remote와 submodule 설정 - git init - git remote add origin https://github.com/qkrwlgnstm/blog.git - git submodule add -b master https://github.com/qkrwlgnstm/qkrwlgnstm.github.io.git public
  • 13. Hugo 테마 적용 및 포스트 생성 포스트 생성 - 신규 블로그 포스트 생성 - 신규 블로그 포스트 작성
  • 14. Hugo 테마 적용 및 포스트 생성 포스트 생성 - 페이지 확인 (http://localhost:1313/ 로 확인 가능)
  • 15. Hugo 테마 적용 및 포스트 생성 테마적용 - 테마 적용 웹사이트 생성 (hugo 명령어를 통해 테마가 적용된 블로그 내용 퍼블리싱)
  • 16. Github 업로드 및 뷰페이지 확 인 Github 업로드(blog저장소 / public 폴더 모두 업로드) - cd public - git add . - git commit –m “커밋메세지” - git push origin master - 블로그 저장소도 동일하게 변경내용 푸시
  • 17.

Editor's Notes

  1. 말 그대로 정적 웹사이트 생성기 정적인 페이지를 만들어 주는 생성툴 이라고 생각하면 됩니다. 논리는 아주 간단합니다. 정해진 템플릿과 컨텐츠가 있으면 컴파일(빌드)를 통해 웹사이트로 만들어 주는 방식입니다. 21세기에 정적 웹사이트라니 꽤나 뜬금없는 이야기로 들리실지 모르겠지만, 정적 페이지가 왜 각광을 받는지와 그 배경에 대해서 조금 이야기해보고자 합니다. 분명히 정적이라는 단어는 그 동안에 웹 어플리케이션이 발전해 온 데 있어서 정반대의 위치에 있는 단어입니다.  정적인 페이지란 말그대로 이미 완성된 HTML이고, 클라이언트의 요청을 받는 서버의 역할은 단순히 이렇게 완성되어 있는 HTML을 보내주는 역할을 할 뿐입니다. 동적 페이지란 화려한 시각적 효과나 움직임을 지칭하는 단어가 아닌 HTML 페이지를 클라이언트의 요청에 따라서 실시간으로 생성해서 보내준다는 의미를 가지고 있습니다. 그럼 과연 꼭 동적인 페이지가 필요할가? 동적인 웹페이지란 꼭 필요합니다. 하지만 모든 페이지가 동적 방식으로 제작될 필요는 없습니다. 웹페이지 상에 동적으로 변해야하는 부분이 단 하나도 없다면, 완성된 HTML 형식으로 사이트를 공개해도 아무런 문제가 없습니다. 정적이라는 건 나쁜 것이 아닙니다. 오히려 동적 방식이야 말로 실시간으로 사이트를 생성하는 데서 오는 굉장히 큰 비용을 감당해야합니다. 정적인 자원은 다른 처리 비용을 발생시키지 않기 때문에 동적인 자원에 비해서 훨씬 더 빠릅니다. 그저 이미 만들어져있는 것을 보내주면 그만입니다. 현재 사용되고 있는 정적 웹사이트란, 단순히 HTML을 Serve 해준다는 의미가 아닌 웹사이트를 동적으로 생성하되, 정적으로 Serve 한다는 의미에서 정적 웹사이트 생성기가 되는 것입니다. 이러한 방식을 적용할 수 있는 좋은 플랫폼이 블로그입니다. 블로그는 시작부터 HTML 문서들을 좀 더 쉽게 배포하기 위한 동적인 플랫폼으로 출발했거나, 그런 목적으로 개발되었습니다. 하지만 문서 기반의 모든 플랫폼은 본질적으로  문서를 얼마나 잘 보여줄 것인가 하는 문제가 가장 중요한 문제입니다. 여기서 문서란 정적입니다. 그리고 아무것도 변하지 않습니다. 블로그에서 필요한 동적인 요소는 제너레이터가 기본적으로 지원 해줍니다. 그렇기 때문에 정적 웹사이트 생성기는 블로그에 최적화된 툴 이라고 볼 수 있습니다.
  2. 정적웹사이트 생성기는 이렇게 많은 종류가 있습니다. 각 툴마다 기반되는 언어와, 템플릿을 보고 선택하여 사용을 합니다. 어떠한 툴이 많이 사용되고 어떠한 특징이 있는지 알아보도록 하겠습니다. 가장 많이 사용되고 있는 지킬과 휴고를 비교해보겠습니다.
  3. 지킬 루비 languages 기반 제일 많이 사용하는 Generator  한글 레퍼런스 많음 한번에 여러 개의 포스트를 빌드할 경우 느리다는 단점 윈도우 공식 지원 안됨 테마 많음 Hugo Go languages 기반 빌드가 빠름  한글 레퍼런스가 없음
  4. 지킬 루비 languages 기반 제일 많이 사용하는 Generator  한글 레퍼런스 많음 한번에 여러 개의 포스트를 빌드할 경우 느리다는 단점 윈도우 공식 지원 안됨 테마 많음 Hugo Go languages 기반 (구글이 개발한 프로그래밍 언어이고 구글에서 새롭게 진행하는 프로젝트들에서 Go언어를 많이 활용하고 있다고 합니다.) 빌드가 빠름  한글 레퍼런스가 없음
  5. Jekyll을 사용할 경우, 별도의 Build 과정 없이 Repository에 Push만으로 작성한 글들이 알아서 Publishing됩니다. 하지만, 글이 많아질 수록 Jekyll의 빌드 성능은 현저하게 저하됩니다. Hugo는 현존하는 가장 빠른 정적 사이트 제너레이터(Static Site Generator)로 알려져 있습니다. 기능적인 측면에서도 여타 동적 사이트 제너레이터(Static Site Generator)에 비해 손색이 없을 뿐더러 설치가 간편합니다.
  6. 깃허브 remote와 submodel 설정 깃헙에 만든 blog 저장소를 local의 blog 디렉토리의 remote로 등록한다. - git submodule add -b master https://github.com/qkrwlgnstm/qkrwlgnstm.github.io.git public 명령어로 public 폴더 생성됨 이렇게 함으로써 hugo 명령으로 public에 웹사이트를 만들 때, 만들어진 public 디렉토리는 다른 remote origin을 가질 것이다. Git remote –v 명령어로 각 폴더별 저장소 확인 가능