SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
GitHub로
웹페이지
만들기(feat. Jekyll,
Markdown)(feat. Jekyll, Markdown, Typora)
이승재 (Ryan Lee)
GitHub
● 무료 Git 저장소
● Git: 코드 버전관리 소프트웨어
● 협업, 코드 분석, 코드 관리용
● 소셜 네트워크의 형태도 약간 지님
https://www.github.com/
README.md 의 한계
● 수학 기호 (LaTeX) 지원 없음
● CSS로 꾸밀 수 없음
https://github.com/github/markup/issues/897
GitHub Pages
● GitHub 에서 호스팅
● 간단한 정적 웹사이트에 최적화
● HTML / Markdown 가능
● CSS / JS 추가 가능
● 예시들
https://pages.github.com/
HTML의 문제점
● 태그 때문에 복잡해서 읽기가 어려움
● 에러가 발생할 확률이 높음
Markdown
● 글 / 그림이 대부분인 정적인 콘텐츠에 최적화
● 에러가 발생할 확률이 적음
https://en.wikipedia.org/wiki/Markdown
Jekyll
● Static website를 만들어주는 도구
● Markdown → HTML 지원
● 수많은 테마 존재
● GitHub Pages가 추천하는 도구
https://jekyllrb.com/
1. Hello World 페이지 만들기
● /docs/index.html 에 ‘Hello World’ 만 추가해서 push 해보자
https://pages.github.com/
GitHub Pages 활성화
● GitHub 설정에 들어가서 활성화
● 소스는 /docs 폴더으로 설정
개인 페이지 vs. 프로젝트 페이지
● 주소
○ 개인 페이지: [username].github.io
○ 프로젝트 페이지: [username].github.io/[repository_name]
● 저장소
○ 개인 페이지: [username].github.io 라는 저장소를 새로 생성해서 저장
○ 프로젝트 페이지: 프로젝트 저장소 내에서 /docs 폴더나 gh-pages 브랜치 안에 저장
● 그 외 동일: 일반적인 용도에서만 차이가 있음
○ 개인 페이지: 블로그, 프로젝트 모음
○ 프로젝트 페이지: 프로젝트 설명
https://pages.github.com/
2. Jekyll 테마 사용하기
● 디자인하기 귀찮으니까 테마를 사용하자
○ 기본 테마들: https://github.com/pages-themes
○ 추가 테마들: https://themes.jekyllrc.org/
● 코드를 다운로드해서 /docs 폴더에 넣으면 끝!
https://themes.jekyllrc.org/
Architect 테마
https://github.com/pages-themes/architect
Architect 테마 내 코드
● _config.yml: 페이지 구성 정보
● index.md: 홈페이지
● _layouts: 페이지 레이아웃 HTML
● _sass : 페이지 레이아웃 SCSS
● assets: 이미지나 스타일시트
https://jekyllrb.com/docs/structure/
_config.yml
● 페이지의 구성을 열거한 YAML 파일
https://jekyllrb.com/docs/configuration/
index.md
● index.md 는 index.html 처럼 홈페이지 역할을 한다
● Front Matter: 페이지 설정
○ --- 표시 사이에 있는 YAML
○ layout: 페이지 레이아웃 설정
○ permalink: 페이지 링크 설정
○ published: False로 설정시 이 페이지는 보이지 않음
https://jekyllrb.com/docs/frontmatter/
페이지 추가하기
● about.md 라는 파일을 root에 추가
● 기본 permalink는 /about.html
https://jekyllrb.com/docs/pages/
Typora.io
● Markdown 에디터
● 단축키 덕분에 Markdown을 잘
몰라도 사용 가능
https://typora.io/
3. 커스터마이징: 수학 기호
● MathJax CDN을 _layouts/default.html 에 추가
http://docs.mathjax.org/en/latest/start.html
4. 로컬 프리뷰
● Git push 전에 로컬 서버로 웹사이트 확인 가능
1. Ruby, RubyGems, GCC, CMake 설치
2. Bundler와 Jekyll 설치 gem install bundler jekyll
3. /docs 폴더에 들어가서 패키지 설치 bundle install
4. 서버 시작 jekyll serve
https://jekyllrb.com/docs/installation/
문제점
Markdown
● 글이 아닌 정보를 전달하기 어려움
● 복잡한 레이아웃 불가능
GitHub Pages
● Static website만 가능 (HTML / CSS / JS)
결론
● 간단한 웹사이트 (블로그, 프로젝트 페이지)를 원하면 GitHub Pages + Jekyll
● 스타일리쉬한 웹사이트를 원하면 GitHub Pages + (HTML5 + CSS3 + JS)
● 동적 웹사이트를 원하면 AWS / DigitalOcean / Linode 로 호스팅
감사합니다!
GitHub: github.com/seungjaeryanlee
Email: seungjaeryanlee@gmail.com
Blog: endtoend.ai
endtoend.

Weitere ähnliche Inhalte

Ähnlich wie GitHub으로 웹페이지 만들기

GITHUB와 함께 Social하게 코딩하기
GITHUB와 함께 Social하게 코딩하기GITHUB와 함께 Social하게 코딩하기
GITHUB와 함께 Social하게 코딩하기
Young-Ho Cha
 
2. html5 시맨틱태그
2. html5 시맨틱태그2. html5 시맨틱태그
2. html5 시맨틱태그
은심 강
 

Ähnlich wie GitHub으로 웹페이지 만들기 (20)

Hugo를 활용한 블로그 구축 (박지훈)
Hugo를 활용한 블로그 구축 (박지훈)Hugo를 활용한 블로그 구축 (박지훈)
Hugo를 활용한 블로그 구축 (박지훈)
 
GITHUB와 함께 Social하게 코딩하기
GITHUB와 함께 Social하게 코딩하기GITHUB와 함께 Social하게 코딩하기
GITHUB와 함께 Social하게 코딩하기
 
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+githubGit 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
 
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
 
Polymer따라잡기
Polymer따라잡기Polymer따라잡기
Polymer따라잡기
 
크롬 확장 프로그램 만들기 - Qr code generator
크롬 확장 프로그램 만들기 - Qr code generator크롬 확장 프로그램 만들기 - Qr code generator
크롬 확장 프로그램 만들기 - Qr code generator
 
Backend Master | 3.1.1 Build - JS build tools
Backend Master | 3.1.1 Build - JS build toolsBackend Master | 3.1.1 Build - JS build tools
Backend Master | 3.1.1 Build - JS build tools
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 4일차
 
Image styling with_web_components
Image styling with_web_componentsImage styling with_web_components
Image styling with_web_components
 
혁신적인 웹컴포넌트 라이브러리 - Polymer
혁신적인 웹컴포넌트 라이브러리 - Polymer혁신적인 웹컴포넌트 라이브러리 - Polymer
혁신적인 웹컴포넌트 라이브러리 - Polymer
 
2. html5 시맨틱태그
2. html5 시맨틱태그2. html5 시맨틱태그
2. html5 시맨틱태그
 
2. html5 시맨틱태그
2. html5 시맨틱태그2. html5 시맨틱태그
2. html5 시맨틱태그
 
GithubWithTerminal.pptx
GithubWithTerminal.pptxGithubWithTerminal.pptx
GithubWithTerminal.pptx
 
안드로이드를 위한 Gradle 맛들이기
안드로이드를 위한 Gradle 맛들이기안드로이드를 위한 Gradle 맛들이기
안드로이드를 위한 Gradle 맛들이기
 
Polymer, lego같이 만드는 웹어플리케이션
Polymer, lego같이 만드는 웹어플리케이션Polymer, lego같이 만드는 웹어플리케이션
Polymer, lego같이 만드는 웹어플리케이션
 
Git 입문자를 위한 가이드
Git 입문자를 위한 가이드Git 입문자를 위한 가이드
Git 입문자를 위한 가이드
 
오픈 소스 컨트리뷰션 가이드
오픈 소스 컨트리뷰션 가이드오픈 소스 컨트리뷰션 가이드
오픈 소스 컨트리뷰션 가이드
 
Polymer Codelab: Before diving into polymer
Polymer Codelab: Before diving into polymerPolymer Codelab: Before diving into polymer
Polymer Codelab: Before diving into polymer
 
GitHub와 Jekyll을 이용한 무료 블로그 만들기
GitHub와 Jekyll을 이용한 무료 블로그 만들기GitHub와 Jekyll을 이용한 무료 블로그 만들기
GitHub와 Jekyll을 이용한 무료 블로그 만들기
 
웹표준의 이해
웹표준의 이해웹표준의 이해
웹표준의 이해
 

Mehr von Seung Jae Lee

Mehr von Seung Jae Lee (12)

[1312.5602] Playing Atari with Deep Reinforcement Learning
[1312.5602] Playing Atari with Deep Reinforcement Learning[1312.5602] Playing Atari with Deep Reinforcement Learning
[1312.5602] Playing Atari with Deep Reinforcement Learning
 
[1807] Learning Montezuma's Revenge from a Single Demonstration
[1807] Learning Montezuma's Revenge from a Single Demonstration[1807] Learning Montezuma's Revenge from a Single Demonstration
[1807] Learning Montezuma's Revenge from a Single Demonstration
 
[1808.00177] Learning Dexterous In-Hand Manipulation
[1808.00177] Learning Dexterous In-Hand Manipulation[1808.00177] Learning Dexterous In-Hand Manipulation
[1808.00177] Learning Dexterous In-Hand Manipulation
 
Reinforcement Learning 8: Planning and Learning with Tabular Methods
Reinforcement Learning 8: Planning and Learning with Tabular MethodsReinforcement Learning 8: Planning and Learning with Tabular Methods
Reinforcement Learning 8: Planning and Learning with Tabular Methods
 
Reinforcement Learning 7. n-step Bootstrapping
Reinforcement Learning 7. n-step BootstrappingReinforcement Learning 7. n-step Bootstrapping
Reinforcement Learning 7. n-step Bootstrapping
 
Reinforcement Learning 6. Temporal Difference Learning
Reinforcement Learning 6. Temporal Difference LearningReinforcement Learning 6. Temporal Difference Learning
Reinforcement Learning 6. Temporal Difference Learning
 
Reinforcement Learning 5. Monte Carlo Methods
Reinforcement Learning 5. Monte Carlo MethodsReinforcement Learning 5. Monte Carlo Methods
Reinforcement Learning 5. Monte Carlo Methods
 
Reinforcement Learning 10. On-policy Control with Approximation
Reinforcement Learning 10. On-policy Control with ApproximationReinforcement Learning 10. On-policy Control with Approximation
Reinforcement Learning 10. On-policy Control with Approximation
 
Reinforcement Learning 4. Dynamic Programming
Reinforcement Learning 4. Dynamic ProgrammingReinforcement Learning 4. Dynamic Programming
Reinforcement Learning 4. Dynamic Programming
 
Reinforcement Learning 3. Finite Markov Decision Processes
Reinforcement Learning 3. Finite Markov Decision ProcessesReinforcement Learning 3. Finite Markov Decision Processes
Reinforcement Learning 3. Finite Markov Decision Processes
 
Reinforcement Learning 2. Multi-armed Bandits
Reinforcement Learning 2. Multi-armed BanditsReinforcement Learning 2. Multi-armed Bandits
Reinforcement Learning 2. Multi-armed Bandits
 
Reinforcement Learning 1. Introduction
Reinforcement Learning 1. IntroductionReinforcement Learning 1. Introduction
Reinforcement Learning 1. Introduction
 

Kürzlich hochgeladen

Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
Wonjun Hwang
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
Wonjun Hwang
 

Kürzlich hochgeladen (6)

Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 

GitHub으로 웹페이지 만들기

  • 2. GitHub ● 무료 Git 저장소 ● Git: 코드 버전관리 소프트웨어 ● 협업, 코드 분석, 코드 관리용 ● 소셜 네트워크의 형태도 약간 지님 https://www.github.com/
  • 3. README.md 의 한계 ● 수학 기호 (LaTeX) 지원 없음 ● CSS로 꾸밀 수 없음 https://github.com/github/markup/issues/897
  • 4. GitHub Pages ● GitHub 에서 호스팅 ● 간단한 정적 웹사이트에 최적화 ● HTML / Markdown 가능 ● CSS / JS 추가 가능 ● 예시들 https://pages.github.com/
  • 5. HTML의 문제점 ● 태그 때문에 복잡해서 읽기가 어려움 ● 에러가 발생할 확률이 높음
  • 6. Markdown ● 글 / 그림이 대부분인 정적인 콘텐츠에 최적화 ● 에러가 발생할 확률이 적음
  • 8. Jekyll ● Static website를 만들어주는 도구 ● Markdown → HTML 지원 ● 수많은 테마 존재 ● GitHub Pages가 추천하는 도구 https://jekyllrb.com/
  • 9. 1. Hello World 페이지 만들기 ● /docs/index.html 에 ‘Hello World’ 만 추가해서 push 해보자 https://pages.github.com/
  • 10. GitHub Pages 활성화 ● GitHub 설정에 들어가서 활성화 ● 소스는 /docs 폴더으로 설정
  • 11. 개인 페이지 vs. 프로젝트 페이지 ● 주소 ○ 개인 페이지: [username].github.io ○ 프로젝트 페이지: [username].github.io/[repository_name] ● 저장소 ○ 개인 페이지: [username].github.io 라는 저장소를 새로 생성해서 저장 ○ 프로젝트 페이지: 프로젝트 저장소 내에서 /docs 폴더나 gh-pages 브랜치 안에 저장 ● 그 외 동일: 일반적인 용도에서만 차이가 있음 ○ 개인 페이지: 블로그, 프로젝트 모음 ○ 프로젝트 페이지: 프로젝트 설명 https://pages.github.com/
  • 12. 2. Jekyll 테마 사용하기 ● 디자인하기 귀찮으니까 테마를 사용하자 ○ 기본 테마들: https://github.com/pages-themes ○ 추가 테마들: https://themes.jekyllrc.org/ ● 코드를 다운로드해서 /docs 폴더에 넣으면 끝! https://themes.jekyllrc.org/
  • 14. Architect 테마 내 코드 ● _config.yml: 페이지 구성 정보 ● index.md: 홈페이지 ● _layouts: 페이지 레이아웃 HTML ● _sass : 페이지 레이아웃 SCSS ● assets: 이미지나 스타일시트 https://jekyllrb.com/docs/structure/
  • 15. _config.yml ● 페이지의 구성을 열거한 YAML 파일 https://jekyllrb.com/docs/configuration/
  • 16. index.md ● index.md 는 index.html 처럼 홈페이지 역할을 한다 ● Front Matter: 페이지 설정 ○ --- 표시 사이에 있는 YAML ○ layout: 페이지 레이아웃 설정 ○ permalink: 페이지 링크 설정 ○ published: False로 설정시 이 페이지는 보이지 않음 https://jekyllrb.com/docs/frontmatter/
  • 17. 페이지 추가하기 ● about.md 라는 파일을 root에 추가 ● 기본 permalink는 /about.html https://jekyllrb.com/docs/pages/
  • 18. Typora.io ● Markdown 에디터 ● 단축키 덕분에 Markdown을 잘 몰라도 사용 가능 https://typora.io/
  • 19. 3. 커스터마이징: 수학 기호 ● MathJax CDN을 _layouts/default.html 에 추가 http://docs.mathjax.org/en/latest/start.html
  • 20. 4. 로컬 프리뷰 ● Git push 전에 로컬 서버로 웹사이트 확인 가능 1. Ruby, RubyGems, GCC, CMake 설치 2. Bundler와 Jekyll 설치 gem install bundler jekyll 3. /docs 폴더에 들어가서 패키지 설치 bundle install 4. 서버 시작 jekyll serve https://jekyllrb.com/docs/installation/
  • 21. 문제점 Markdown ● 글이 아닌 정보를 전달하기 어려움 ● 복잡한 레이아웃 불가능 GitHub Pages ● Static website만 가능 (HTML / CSS / JS)
  • 22. 결론 ● 간단한 웹사이트 (블로그, 프로젝트 페이지)를 원하면 GitHub Pages + Jekyll ● 스타일리쉬한 웹사이트를 원하면 GitHub Pages + (HTML5 + CSS3 + JS) ● 동적 웹사이트를 원하면 AWS / DigitalOcean / Linode 로 호스팅 감사합니다! GitHub: github.com/seungjaeryanlee Email: seungjaeryanlee@gmail.com Blog: endtoend.ai endtoend.