정적 웹사이트나 블로그에 관심이 많다면 Jekyll에 대해 들어 봤을 것이다. 간단한 구글링만으로도 Jekyll을 사용하여 어떻게 웹사이트나 블로그를 만드는지 쉽게 알 수 있다.

이 블로그 또한 Jekyll 기반이고, Better Jeong님과 Jihye Leee님의 블로그 포스트를 참고하여 커스터마이징하였다.

Nelify에 배포하기

Jekyll기반 블로그를 깃허브를 통해 만들면 기본적으로 무료로 깃허브 도메인 (e.g. https://repo_name.github.io)이 제공된다. 이 도메인을 사용하여도 되고, 커스텀 도메인을 사용해도 된다.

나는 커스텀 도메인을 사용하였고, 동시에 Netlify 통해 배포하고 싶었다. 그 이유는 이 블로그와 연결된 웹사이트 facestyling.click 자체의 컨셉과 성격을 유지하고 하되, 블로그 템플릿은 그것대로 Jekyll 테마를 사용하고 싶었기 때문이다.

여러가지 방법이 있겠지만, 내 솔루션은 Netlify에 배포시 Jekyll 빌드세팅을 하고, 말 그대로 Jekyll기반 웹사이트를 배포하는 것으로 선택했다. 즉, 배포하는 Jekyll웹사이트 안에서 facestyling.click은 커스텀 도메인인 동시에 전통적인 HTML문법을 따르는 페이지로, 그리고 blog는 Jekyll포맷을 따르도록 하고 싶었다.

이게 가능한 이유는 모든 Jekyll 테마는 커스터마이징이 가능한데, 기본적으로 ruby와 HTML/CSS/JS 문법에 기반하여 동작하므로 100% Jekyll 구조/문법/포맷을 따르는 커스터마이징, 그리고 그렇지 않은 일반적인 HTML 코드를 삽입하여 커스터마이징하는 것 또한 가능하다는 얘기이다.

단지, Jekyll은 linux distributions처럼 수 많은 테마가 존재하므로 테마별로 구조나 동작원리가 조금씩 달라서 커스터마이징을 위한 방법 또한 조금씩 다를 수 있다.

Nelify에서 Jekyll build setting하기

Netlify에 웹사이트를 배포할 때, 깃허브 레파지토리와 연결할 수 있다. (보통 다들 그렇게 한다)

그리고 Jekyll 사이트로서 배포하기 위한 빌드세팅 또한 가능하다.

Netlify를 통해 배포할 프로젝트 코드가 있는 깃허브 레파지토리와 연결 후, Deploys > Deploy Setting으로 가면 웹사이트 배포와 관련된 설정 페이지가 나온다.

Build settings for Jekyll

바로 이 Build settings 탭에서 Jekyll 웹사이트 배포를 위한 세팅을 할 수 있다.

build setting for jekyll website in netlify

netlify documentation에 중요한 사항들이 명시되어 있다.


실제 배포시, 빌드 커맨드 Jekyll build가 실행되고, GemfileGemfile.lock에 명시된 정보에 따라 Jekyll 사이트의 성격(버젼, 테마, etc)이 규정된다고 볼 수 있겠다. (참고로, Gemfile.lock은 보통 bundle install 실행 시, 자동으로 생성되는 hidden file이다.)

_site는 사용자가 만드는 directory가 아니고 자동으로 생성되는 directory이다. Jekyll 프로젝트 내 사용자에 의한 모든 업데이트를 저장하고, (locahost든 프로덕션이든 서버 실행 시) 실제로 모든 것을 구현해주는 아주 중요한 directory이다.


모든 빌드세팅을 마친 후 배포하면 Jekyll 웹사이트가 만들어 진다.

e.g.


Jekyll은 분명히 사용하기 까다로운 지점이 (물론 꽤 많이..) 존재하지만, 약간의 HTML지식만 있어도 시도해 볼 수 있는, 사용성과 접근성이 아주 좋은 오픈소스라고 생각한다.

Have a go !!

convert your manuscript to epub (fiverr gig @whatthehekkist) convert your manuscript to epub (fiverr gig @whatthehekkist) dedicated assistance to your jekyll website, blog, portfolio, or project (fiverr gig @whatthehekkist) dedicated assistance to your jekyll website, blog, portfolio, or project (fiverr gig @whatthehekkist)



What The Hekk is HTML/CSS/JS? a complete guide to creating a web app in 5 min from scratch!

Kindle Edition

What The Hekk is HTML/CSS/JS? a complete guide to creating a web app in 5 min from scratch!

PDF






You May Also Enjoy

  • Web Dev

    Live CSS trainer v1.0

    2023-06-22

    <h1>validate your css codes LIVE</h1> <h1>without auto-completion</h1> <p>    ✔️ write css code manually!    ✔️ example #1: type   * {color: blue;}    ✔️ example #2: type   html {background-color: grey;}    ✔️...

  • Web Dev

    what is if-else statement?

    2023-05-14

    if-else statement is one of the most widely used conditional statements in most programming languages to execute a certain action in (a task of) a program. # what is if statement? In JS, you can do a conditional test...

  • Network

    [Packet Tracer] Configuring a DHCPv4 Server and a Relay Agent

    2022-07-14

    Cisco Network Academy provides plenty of learning resources in networking. I will cover how to configure basic DHCPv4 on a router and a DHCPv4 Server, and a DHCP relay agent using Packet Tracer where you can simulate network...

  • Web Dev

    what is web and HTML/CSS/JS ?

    2023-04-19

    # What is Web? Web (World Wide Web; WWW) is a vast online information system you can write, read, watch, or consume resources such as documents, media, etc accessed by web browser on the Internet. You can think like the...

  • Web Dev

    what is switch statement?

    2023-05-26

    what is switch statement? switch statement is a conditional statement in JS (and in most programming languages) to execute a certain action over multiple inner blocks called case. switch takes an expression (input condition) that looks for a match...

  • Programming

    Image crawling with Python on Chrome browser

    2022-07-09

    Step by step insturction ## 1. Install selenium and beautiful soup on terminal ```python pip install bs4 pip install pip install selenium ``` ##...