<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en, ko"><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://jooyoung08.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://jooyoung08.github.io/" rel="alternate" type="text/html" hreflang="en, ko" /><updated>2024-10-10T08:05:09+00:00</updated><id>https://jooyoung08.github.io/feed.xml</id><title type="html">Natural Born Idiot</title><subtitle>발전하고자 하는 한 바보의 이야기
</subtitle><author><name>Jooyoung Lee</name><email>jylee8875@proton.me</email></author><entry><title type="html">연구 효율 향상을 위한 도구</title><link href="https://jooyoung08.github.io/blog/2024-07-15-deploy-servers-via-docker/" rel="alternate" type="text/html" title="연구 효율 향상을 위한 도구" /><published>2024-07-15T00:00:00+00:00</published><updated>2024-07-15T00:00:00+00:00</updated><id>https://jooyoung08.github.io/blog/deploy-servers-via-docker</id><content type="html" xml:base="https://jooyoung08.github.io/blog/2024-07-15-deploy-servers-via-docker/"><![CDATA[<ul id="markdown-toc">
  <li><a href="#motivation" id="markdown-toc-motivation">Motivation</a></li>
  <li><a href="#preacquisition" id="markdown-toc-preacquisition">Preacquisition</a>    <ul>
      <li><a href="#연구에-필요한-요소" id="markdown-toc-연구에-필요한-요소">연구에 필요한 요소</a></li>
      <li><a href="#도구-선택-요소" id="markdown-toc-도구-선택-요소">도구 선택 요소</a></li>
    </ul>
  </li>
  <li><a href="#programs" id="markdown-toc-programs">Programs</a>    <ul>
      <li><a href="#연구-내용-정리" id="markdown-toc-연구-내용-정리">연구 내용 정리</a></li>
      <li><a href="#연구-관리" id="markdown-toc-연구-관리">연구 관리</a></li>
      <li><a href="#소통" id="markdown-toc-소통">소통</a></li>
    </ul>
  </li>
  <li><a href="#설치-환경" id="markdown-toc-설치-환경">설치 환경</a>    <ul>
      <li><a href="#rocky-linux" id="markdown-toc-rocky-linux">Rocky Linux</a></li>
      <li><a href="#도커docker" id="markdown-toc-도커docker">도커(Docker)</a></li>
    </ul>
  </li>
</ul>

<h2 id="motivation">Motivation</h2>

<p>그간 연구를 진행하면서 우여곡절이 많았다. 연구 일정 관리, 환경 정리, 결과 정리 등을 제대로 하지 못해 중복된 일을 한 적도 많다. 또, 협업 연구에서 다른 연구원과의 소통이 원활하지 못해 일정이 지연되는 경우가 많았다. 이러한 삽질을 줄이기 위해 인터넷에서 관련 도구들을 뒤적이며 시간을 보냈다. 결국에는 <a href="https://obsidian.md/">옵시디언(Obsidian)</a> 프로그램을 발견하여 이를 지식정리 및 저장에 사용하고 있다. 다양한 플러그인으로 여느 프로그램보다 효율적으로 방대한 데이터베이스를 만들어 가고 있다. 하지만 곧 한계가 드러났다. 프로젝트 관리 기능 및 편의성이 다소 낮고, 오프라인 프로그램이라 연구 내용 공유가 용이하지 않았다. 혼자서 쓰기에는 정말 훌륭하지만 협업에 제약이 커 별도의 도구가 필요하였다.</p>

<h2 id="preacquisition">Preacquisition</h2>

<h3 id="연구에-필요한-요소">연구에 필요한 요소</h3>

<ol>
  <li>연구 내용, 결과 등의 정리 및 공유</li>
  <li>연구 일정, 단계, 업무 내용 정리 및 공유</li>
  <li>연구자 소통</li>
</ol>

<h3 id="도구-선택-요소">도구 선택 요소</h3>

<ol>
  <li>오픈소스(OpenSource)</li>
  <li>유지 및 보수의 편의성</li>
</ol>

<h2 id="programs">Programs</h2>

<p>세상에는 정말 다양한 도구가 많다. 어떤 도구를 왜, 어떻게 쓸 것인가?</p>

<h3 id="연구-내용-정리">연구 내용 정리</h3>

<p>연구 내용을 정리하고 공유하는데 위키(Wiki)만한 도구는 없다고 생각한다. 다만 다양한 위키엔진 중에서 하나를 선택해야 하는데, 그 종류가 매우 다양하다. 대표적으로 <a href="https://www.mediawiki.org/wiki/MediaWiki/ko">미디어위키</a>가 있는데, 소규모 위키로는 적합하지 않아 제외하였다. 수 많은 후보들을 하나씩 찾아 비교한 결과 마크다운을 지원하는 <a href="https://js.wiki">Wiki.js</a>를 설치하기로 결정하였다.</p>

<h3 id="연구-관리">연구 관리</h3>

<p>단순한 일정 또는 프로젝트 관리 도구는 매우 많다. 한 때는 <a href="https://www.omnigroup.com/omnifocus">옴니포커스</a>를 사용하기도 하였는데, 협업용으로는 적합하지 않다. 잠깐 <a href="https://www.atlassian.com/software/jira">지라(Jira)</a>도 사용하였는데, 무료 계정의 한계로 사용을 포기하였다. 무료 프로그램 중 <a href="https://www.openproject.org/">오픈프로젝트(OpenProject)</a>를 발견하여 이를 도입하기로 결정 하였다.</p>

<h3 id="소통">소통</h3>

<p>소통 방법은 <a href="https://slack.com">슬랙(Slack)</a>과 같은 메신저 기반과 게시글을 기준으로 소통할 수 있는 포럼으로 구분 하였다.</p>

<p>사실 메신저의 경우 텔레그램을 이용하려 했다. 따로 서버를 만들지 않고 사용할 수 있고, 윈도우-맥-리눅스 등 어디에서나 사용할 수 있기 때문이다. 다만 국내에서 텔레그램이 범죄에 이용되어 큰 파장을 일으켜 기피하는 메신저가 되었고, 최근 급격히 증가한 스팸을 막을 방도가 마땅치 않으며 슬랙의 기능에 비해 부족한 점이 일부 있기에 제외하였다. <a href="https://discord.com">디스코드(Discord)</a>도 다른 이유로 제외하였다.</p>

<p>슬랙의 대체 프로그램으로 <a href="https://mattermost.com">매터모스트(MatterMost)</a>를 찾았다. 슬랙과 매우 유사하고, 셀프-호스팅으로 직접 구축하여 사용할 수 있어서 이를 선택하였다.</p>

<p>포럼의 경우 <a href="https://www.discourse.org">디스커스(Discourse)</a>를 도입하려 했는데, 설치의 문제로 포기하였다. 그 대체제로 [노드비비(NodeBB)][nodebb]를 선택하였다.</p>

<hr />

<h2 id="설치-환경">설치 환경</h2>

<h3 id="rocky-linux">Rocky Linux</h3>

<p>현재 컴퓨터에 <a href="https://rockylinux.org">Rocky Linux</a> 9.3 버전이 설치되어 있다. 사실 개인용으로 <a href="https://ubuntu.com">우분투(Ubuntu)</a>가 보다 편하고 문제 해결이 용이하지만, 안정성 및 <a href="https://cern.root.ch">ROOT</a>, <a href="https://geant4.web.cern.ch">Geant4</a> 등의 사용을 위해 록키리눅스를 설치하였다.</p>

<h3 id="도커docker">도커(Docker)</h3>

<p>해당 프로그램을 하나의 컴퓨터에 설치하여 서비스하기 위해서 <a href="https://www.docker.com">도커(Docker)</a>를 도입하였다. 도커를 이용하면 매우 편리하게 테스트, 설치, 업그레이드 등이 용이하다. 특히 <a href="https://docs.docker.com/compose">도커-컴포즈(Docker compose)</a>를 통해 초보자도 쉽게 도커를 이용할 수 있다.</p>

<hr />]]></content><author><name>Jooyoung Lee</name><email>jylee8875@proton.me</email></author><summary type="html"><![CDATA[연구 효율 향상을 위한 도구 선택]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://jooyoung08.github.io/assets/img/resume.png" /><media:content medium="image" url="https://jooyoung08.github.io/assets/img/resume.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Hydejack Pro, Resume 편집하기</title><link href="https://jooyoung08.github.io/blog/2024-03-19-hydejack-pro-resume/" rel="alternate" type="text/html" title="Hydejack Pro, Resume 편집하기" /><published>2024-03-19T00:00:00+00:00</published><updated>2024-03-19T00:00:00+00:00</updated><id>https://jooyoung08.github.io/blog/hydejack-pro-resume</id><content type="html" xml:base="https://jooyoung08.github.io/blog/2024-03-19-hydejack-pro-resume/"><![CDATA[<ul id="markdown-toc">
  <li><a href="#resume-편집하기" id="markdown-toc-resume-편집하기">Resume 편집하기</a>    <ul>
      <li><a href="#resume-관련-파일-장소" id="markdown-toc-resume-관련-파일-장소">resume 관련 파일 장소</a></li>
      <li><a href="#이력서-작성-기본" id="markdown-toc-이력서-작성-기본">이력서 작성 기본</a>        <ul>
          <li><a href="#basics" id="markdown-toc-basics">Basics</a></li>
          <li><a href="#work" id="markdown-toc-work">Work</a></li>
          <li><a href="#education" id="markdown-toc-education">Education</a></li>
          <li><a href="#기타" id="markdown-toc-기타">기타</a></li>
        </ul>
      </li>
    </ul>
  </li>
  <li><a href="#resume-관련-파일" id="markdown-toc-resume-관련-파일">Resume 관련 파일</a>    <ul>
      <li><a href="#resumemd" id="markdown-toc-resumemd">resume.md</a></li>
      <li><a href="#_includeproresume" id="markdown-toc-_includeproresume">_include/pro/resume</a></li>
      <li><a href="#_layoutsresumehtml" id="markdown-toc-_layoutsresumehtml">_layouts/resume.html</a></li>
    </ul>
  </li>
</ul>

<h2 id="resume-편집하기">Resume 편집하기</h2>

<p>Hydejack Pro 버전은 resume 기능을 제공한다. 사실 About.md를 편집하여 resume 처럼 사용할 수 있지만, 해당 기능을 사용하면 손 쉽게 깔끔한 이력서를 작성할 수 있다.</p>

<h3 id="resume-관련-파일-장소">resume 관련 파일 장소</h3>

<ul>
  <li>resume.md</li>
  <li>_include/pro/resume</li>
  <li>_layouts/resume.html</li>
  <li>_data/resume.yml</li>
  <li>_data/strings.yml</li>
</ul>

<h3 id="이력서-작성-기본">이력서 작성 기본</h3>

<p>Resume 관련 파일이 생각보다 많은데,
 우선 기본적인 편집은 _data/resume.yml에서 할 수 있다.
 제공된 샘플 파일 또는 <a href="https://github.com/hydecorp/hydejack-site/blob/master/_data/resume.yml">깃허브</a>을 참고하여 작성한다.</p>

<h4 id="basics">Basics</h4>

<p>기본 정보에는 다음과 같은 정보를 작성할 수 있다.</p>

<ul>
  <li>이름   : Resume 페이지에 표시되는 이름</li>
  <li>라벨   : 이름 밑에 표시되는 내용</li>
  <li>사진</li>
  <li>이메일</li>
  <li>전화번호</li>
  <li>웹사이트</li>
  <li>요약</li>
  <li>장소
    <ul>
      <li>countryCode  : “KR”과 같이 두 자리로 표현</li>
    </ul>
  </li>
  <li>프로파일</li>
</ul>

<blockquote class="note">
  <p>굳이 게시하고 싶지 않은 항목은 지워버리거나 # 으로 주석 처리 한다.</p>
</blockquote>

<p>대략적인 구조는 다음과 같다.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>basics:
  name:
  label:
  ...
  location:
    address:
	postalCode:
	...
  profiles:
    - network:
	  username:
	  url:
</code></pre></div></div>

<blockquote class="note">
  <p>하위 정보는 상위 정보 아래 라인에서 두 칸을 띄우고 작성한다.</p>
</blockquote>

<p>프로파일에 여러 소셜 정보를 추가할 수 있다.
 간단한 예제는 다음과 같다.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code> - network: "GitHub"
   username: "Jooyoung08"
   url: "https://github.com/Jooyoung08"
</code></pre></div></div>

<p>여기서 network의 이름이 _data/social.yml에 있는경우 이를 사용한다.
 그러면 자동으로 해당 아이콘이 표시된다.
 username은 resume 페이지에 표시되는 내용이다.
 url을 설정하면 해당 링크가 삽입된다.</p>

<h4 id="work">Work</h4>

<p>현재 직장 및 과거 직장 정보를 작성할 수 있다.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>work:
  - company: "직장 이름"
    position:
	website:
	startDate:
	endDate:
	summary: &gt;
	highlights:
	  - "표시 내용"
</code></pre></div></div>

<blockquote class="note">
  <p>endDate를 작성하지 않으면 현재(present)로 표시된다.</p>
</blockquote>

<h4 id="education">Education</h4>

<p>학력을 작성할 수 있다.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>education:
  - institution:
    area:
	studyType:
	...
</code></pre></div></div>

<p>학점(GPA)을 작성하지 않았는데 resume 페이지에서 GPA 항목만 사라지고 <strong>with GPA of</strong> 문장은 그대로 남아있었다.
이는 _data/strings.yml 에서 education_title 항목을 편집하여 삭제할 수 있다.</p>

<h4 id="기타">기타</h4>

<p>이 외에도 awards, publications, skills, languages, interests, references를 작성할 수 있다.
skills, languages에서는 자신의 레벨을 별표로 표시할 수 있다. <a href="https://hydejack.com/docs/basics/#skill-level-icons">참고자료</a></p>

<p>예시는 다음과 같다.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>skills:
  - name: "Programming Language"
    level: "1/3"
	keywords:
	  - "C++"
	  - "Python"
	  - "RUST"

languages:
  - language: "Korean"
    fluency: "5/5"
</code></pre></div></div>

<hr />

<h2 id="resume-관련-파일">Resume 관련 파일</h2>

<h3 id="resumemd">resume.md</h3>

<p>Resume 기본 페이지.</p>

<p>해당 페이지에서 resume를 정의한다.</p>

<h3 id="_includeproresume">_include/pro/resume</h3>

<ul>
  <li>basics.html</li>
  <li>header.html
 …</li>
</ul>

<p>_data/resume.yml 에서 작성한 basics 등의 요소를 표시하는 규칙 모음</p>

<h3 id="_layoutsresumehtml">_layouts/resume.html</h3>

<p>Resume를 구성하는 요소 편집.</p>

<p>_include/pro/resume에 위치한 각종 html 파일을 포함하는 레이아웃.</p>]]></content><author><name>Jooyoung Lee</name><email>jylee8875@proton.me</email></author><summary type="html"><![CDATA[Hydejack Pro 테마에서 지원하는 Resume 편집 방법]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://jooyoung08.github.io/assets/img/resume.png" /><media:content medium="image" url="https://jooyoung08.github.io/assets/img/resume.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Hydejack Pro 테마로 블로그 시작하기</title><link href="https://jooyoung08.github.io/blog/2024-03-15-how-to-start-hydejack/" rel="alternate" type="text/html" title="Hydejack Pro 테마로 블로그 시작하기" /><published>2024-03-15T00:00:00+00:00</published><updated>2024-03-15T00:00:00+00:00</updated><id>https://jooyoung08.github.io/blog/how-to-start-hydejack</id><content type="html" xml:base="https://jooyoung08.github.io/blog/2024-03-15-how-to-start-hydejack/"><![CDATA[<ul id="markdown-toc">
  <li><a href="#블로그를-시작하게-된-계기" id="markdown-toc-블로그를-시작하게-된-계기">블로그를 시작하게 된 계기</a></li>
  <li><a href="#블로그-시작하기" id="markdown-toc-블로그-시작하기">블로그 시작하기</a>    <ul>
      <li><a href="#github" id="markdown-toc-github">Github</a></li>
      <li><a href="#jekyll" id="markdown-toc-jekyll">Jekyll</a></li>
      <li><a href="#hydejack-pro" id="markdown-toc-hydejack-pro">Hydejack Pro</a>        <ul>
          <li><a href="#설치" id="markdown-toc-설치">설치</a></li>
          <li><a href="#설정" id="markdown-toc-설정">설정</a></li>
        </ul>
      </li>
    </ul>
  </li>
</ul>

<h2 id="블로그를-시작하게-된-계기">블로그를 시작하게 된 계기</h2>

<p>각종 정보들을 체계적으로 정리해두지 않아서 다시 찾아보는데 많은 곤욕을 치루었다. 그 와중에 <a href="https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=322210531/">제텔카스텐</a>을 접하고 체계적인 지식 및 정보 정리를 시작하였다. (관련 내용은 차차 정리하여 포스팅할 계획이다.) 한 가지 문제는 정리된 정보를 공유하는데 어려움이 있었다. 그래서 Github에 일부 자료 등을 업로드 하였다. 다만 Github는 코드 공유에 특화되어 기타 정보 공유를 원활하게 하기 어렵다. 물론 Wiki 페이지를 지원하지만 사용성 및 접근성이 아쉬웠다.</p>

<p>정보를 정리 및 공유를 하기에 기존의 블로그 플랫폼을 이용하는 것이 최선이라 결정을 내렸다. 블로그 시작을 결심하였지만 구체적인 계획은 없었다. 우선 무료로 사용할 수 있는 블로그 서비스를 검색하여 그 후기등을 확인하였다. <strong>blogger</strong>, <strong>Tistory</strong>, <strong>velog</strong> 등을 확인하였다. 쉽게 시작할 수 있기 때문에 많은 고민을 하였는데 그 와중에 <a href="https://jekyllrb-ko.github.io/">Jekyll</a>과 <a href="https://pages.github.com/">Github Pages</a>를 이용한 블로그 만들기가 내 눈길을 끌었다. 특히, 마크다운으로 글을 쓸 수 있는 장점에 매료되었다. 현재 사용하고 있는 노트 프로그램인 <a href="https://obsidian.md/">옵시디언</a>의 내용을 빠르고 편리하게 붙여 넣을 수 있을것으로 기대된다.</p>

<p>Jekyll 기반 블로그를 지원하는 수 많은 테마가 있는데, 유난히 <a href="https://hydejack.com/">Hydejack</a> 테마에 눈길이 갔다. 이를 사용하는 이들의 블로그를 둘러보니 꽤나 괜찮아보였다. 기본적으로 무료로 사용할 수 있지만, 약간의 비용을 지불하면 Pro 버전을 사용할 수 있다. 완전히 바닥에서 시작하기 때문에 여러 기능을 구현하는데 시간이 오래 걸릴듯하여 곧바로 Pro 버전을 결제하였다. Pro 버전에는 다크모드와 검색기능 등이 포함되어있어 초보자가 빠르게 그럴싸한 블로그를 시작할 수 있다.</p>

<h2 id="블로그-시작하기">블로그 시작하기</h2>

<p>이 글은 블로그 시작을 결심하고 진행한 일을 시간순으로 나열하였다. 그러므로 이 페이지를 보고 똑같이 따라하기 보다는 어떤 시행착오가 있었는지 확인하는 것이 좋을듯하다.</p>

<h3 id="github">Github</h3>

<p>이미 깃허브에 개발 관련 정보 및 코드 등을 구축하고 있었기 때문에 깃허브에서 블로그를 배포하기로 결정하였다. 깃허브는 1 GB의 저장 공간과 100 GB의 밴드위드를 무료로 제공한다.</p>

<p>Jekyll을 깃허브로 배포하기 위해서 사전 준비가 필요한데, 이미 잘 설명된 자료가 많기 때문에 이는 생략한다. <a href="https://bbarry-lee.github.io/dev/lets-create-a-github-page-1.html/">Github Pages 준비</a> 포스팅을 참고.</p>

<h3 id="jekyll">Jekyll</h3>

<p>사실 지금 생각해보면 Jekyll 기반의 블로그를 만들기로 했으니 Jekyll이 뭔지부터 공부했어야 하는데 그러지 않았다. 그래서 Hydejack 테마를 보고도 제대로 이해하지 못하고 계속 헤매고 말았다. 지금도 잘 이해하지는 못했지만, 이 글을 보는 분들은 우선 Jekyll 관련 자료부터 훑어보는 것을 추천한다.</p>

<h3 id="hydejack-pro">Hydejack Pro</h3>

<p>무료로 사용할 수 있는 테마는 깃허브에서 <a href="https://github.com/hydecorp/hydejack-starter-kit/">hydejack-starter-kit</a>을 포크하거나 다운로드 받아서 설치할 수 있다. 유료버전은 README에 안내된 페이지에서 결제 후 다운로드 받는다.</p>

<p>우선 <a href="https://hydejack.com/docs/install/">설치 매뉴얼</a>을 보고 따라 했는데, 정확히 이해하지 못해서 시간을 낭비하였다. 깃허브를 통해 배포하므로 설명서의 Github Pages만 따라가면 된다.</p>

<blockquote class="note">
  <p>깃허브는 자동으로 빌드 및 배포를 해주기 때문에 굳이 로컬에 Jekyll 패키지를 설치할 필요가 없다.</p>
</blockquote>

<h4 id="설치">설치</h4>

<p>깃허브 페이지를 이미 만들고, 로컬에 클론을 만들었다고 가정하고 진행한다.</p>

<p>Hydejack Pro 패키지에 여러 파일과 디렉토리가 존재하는데, starter-kit을 사용하면 된다. 편의상 다음과 같이 진행하였다.</p>

<ol>
  <li>starter-kit 내부에 #jekyll-theme-hydejack 디렉토리를 제외한 모든 파일을 깃 디렉토리로 복사한다.</li>
  <li>#jekyll-theme-hydejack 디렉토리 내부에서 __config.yml, jekyll-theme-hydejack.gemspec 파일을 제외하고 모두 깃 디렉토리로 복사한다.</li>
  <li>중복되는 파일은 그냥 덮어쓴다.</li>
</ol>

<p class="note">위 순서대로 진행하더라도 큰 문제는 발생하지 않았다. 다만 그림 파일등이 유실되어 보이지 않았다.</p>

<p>위 과정이 끝나면 다음과 같은 설정이 필요하다.</p>

<h4 id="설정">설정</h4>

<p>Gemfile에서 다음을 수정한다.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>file: Gemfile

// 기존
gem "jekyll-theme-hydejack", path: "./#jekyll-theme-hydejack"

// 수정
gem "jekyll-theme-hydejack"
</code></pre></div></div>

<p>다음으로 `_config.yml’ 파일을 수정한다.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>file: _config.yml

//기존
theme: jekyll-theme-hydejack

//수정
remote_theme: hydecorp/hydejack@v9
</code></pre></div></div>

<p>이것으로 Hydejack 테마 기본 블로그를 배포할 수 있다.</p>

<pre><code class="language-git"> git add -A

 git commit -m "Hydejack"

 git push
</code></pre>]]></content><author><name>Jooyoung Lee</name><email>jylee8875@proton.me</email></author><summary type="html"><![CDATA[Hydejack Pro 테마를 이용하여 Github Pages로 블로그 배포하는 법]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://jooyoung08.github.io/assets/img/hydejack-site.jpg" /><media:content medium="image" url="https://jooyoung08.github.io/assets/img/hydejack-site.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">What’s New in Hydejack 9.1?</title><link href="https://jooyoung08.github.io/blog/2021-02-13-whats-new-in-hydejack-9-1/" rel="alternate" type="text/html" title="What’s New in Hydejack 9.1?" /><published>2021-02-13T00:00:00+00:00</published><updated>2021-02-13T00:00:00+00:00</updated><id>https://jooyoung08.github.io/blog/whats-new-in-hydejack-9-1</id><content type="html" xml:base="https://jooyoung08.github.io/blog/2021-02-13-whats-new-in-hydejack-9-1/"><![CDATA[<p>What’s New in Hydejack 9.1?</p>

<ul id="markdown-toc">
  <li><a href="#stripe-ified-design" id="markdown-toc-stripe-ified-design">Stripe-ified Design</a></li>
  <li><a href="#inverted-sidebars" id="markdown-toc-inverted-sidebars">Inverted Sidebars</a></li>
  <li><a href="#code-block-headers" id="markdown-toc-code-block-headers">Code Block Headers</a></li>
  <li><a href="#resume-download-buttons" id="markdown-toc-resume-download-buttons">Resume Download Buttons</a></li>
  <li><a href="#serp-breadcrumbs" id="markdown-toc-serp-breadcrumbs"><abbr title="Search Engine Results Page">SERP</abbr> Breadcrumbs</a></li>
  <li><a href="#last-modified-at" id="markdown-toc-last-modified-at">Last Modified At</a></li>
  <li><a href="#clap-button-preview" id="markdown-toc-clap-button-preview">Clap Button Preview</a></li>
  <li><a href="#credits" id="markdown-toc-credits">Credits</a></li>
</ul>

<h2 id="stripe-ified-design">Stripe-ified Design</h2>
<p>Most elements now have rounded borders, making the design look more modern (dare I say “Stripe-ified”) than ever before.</p>

<p>The goal of Hydejack was always to provide a theme that looks “designed” combined the amenities of a typical Jekyll theme for coders.
This is an important step in maintaining this goal.</p>

<p>At the same time, I’m introducing nerdy elements like <a href="#serp-breadcrumbs">breadcrumbs</a>, that are almost ornamental in nature.
You wouldn’t find these on other Stripe-like designs, but I think they are appealing to developer types like myself. 
Like most additions to Hydejack, they can be disabled via configuration.</p>

<h2 id="inverted-sidebars">Inverted Sidebars</h2>
<p>The colors on the sidebar can now be inverted to allow brighter sidebar images. This can be enabled per-page in the fort matter:</p>

<div class="language-yml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">invert_sidebar</span><span class="pi">:</span> <span class="no">true</span>
</code></pre></div></div>

<h2 id="code-block-headers">Code Block Headers</h2>
<p>Code blocks can now have headers:</p>

<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// file: 'hello-world.js'</span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="dl">'</span><span class="s1">Hello World!</span><span class="dl">'</span><span class="p">);</span>
</code></pre></div></div>

<p>Headers are added by making the first line a comment of the form <code class="language-plaintext highlighter-rouge">(file|title): ['"].*['"]</code>, e.g.:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>~~~js
// file: 'hello-world.js'
console.log('Hello World!');
~~~
</code></pre></div></div>

<p>Code blocks with and without headers now also come with a copy button. 
In the case of header-less code blocks, the button only shows on hover to prevent potential overlap.</p>

<h2 id="resume-download-buttons">Resume Download Buttons</h2>
<p>Resumes can now have download buttons:</p>

<p><img src="/assets/img/blog/9.1.0-3.png" alt="Download Buttons" class="border lead" width="1776" height="258" loading="lazy" /></p>

<p class="figcaption">Resumes can now have download buttons.</p>

<p>The documentation has been updated with a chapter on <a href="/docs/basics/#downloads">how to configure the buttons</a>.</p>

<h2 id="serp-breadcrumbs"><abbr title="Search Engine Results Page">SERP</abbr> Breadcrumbs</h2>
<p>Added breadcrumbs above page title:</p>

<p><img src="/assets/img/blog/9.1.0-2.png" alt="Breadcrumbs" class="border lead" width="1588" height="164" loading="lazy" /></p>

<p class="figcaption">Bread crumbs are now shown above each page title.</p>

<p>Note that this requires a <a href="https://qwtel.com/posts/software/urls-are-directories/">directory-like URL structure</a> on your entire site, 
otherwise the intermediate links will point to nonexisting sites.</p>

<p>On a side note, Hydejack now has built-in tooltips for abbreviations like <abbr title="Search Engine Results Page">SERP</abbr> (activated via tap/click).
See <a href="/blog/hyde/2012-02-07-example-content/#inline-html-elements">Example Content</a> on how to add them to your content.</p>

<h2 id="last-modified-at">Last Modified At</h2>
<p>Blog posts can now have a “last modified at” date in the sub title row.</p>

<p><img src="/assets/img/blog/9.1.0-1.png" alt="Last modified at" class="border lead" width="1254" height="218" loading="lazy" /></p>

<p>Note that this depends on the <code class="language-plaintext highlighter-rouge">last_modified_at</code> property of the page, which must be either set manually in the frontmatter (not recommended), or via a plugin like <a href="https://github.com/gjtorikian/jekyll-last-modified-at"><code class="language-plaintext highlighter-rouge">jekyll-last-modified-at</code></a>. Note that the later is not available when building on GitHub Pages and can increase build times.</p>

<h2 id="clap-button-preview">Clap Button Preview</h2>
<p>I’ve been trying something new with <a href="https://getclaps.app/"><strong>getclaps.app</strong></a>, a feedback and analytics tool for personal sites like those powered by Hydejack.</p>

<!-- <clap-button style="--clap-button-color:var(--body-color);margin:2rem auto 3rem;width:3rem;height:3rem;font-size:smaller" nowave></clap-button> -->

<p>It is a separate product from Hydejack and not enabled by default. Because it depends on a backend component, it requires a monthly fee. 
If enabled, it is placed below posts and pages where the dingbat character (❖) used to be.</p>

<p>I can’t claim that this product is fully baked (feedback welcome), but I’ve been using it on my personal site and here for the last couple of months with no issues.
For more, see <a href="https://getclaps.app/">the dedicated website</a>.</p>

<hr style="margin:2rem 0" />

<p>There are many more changes and bugfixes in 9.1. See the <a href="/CHANGELOG/" class="heading flip-title">CHANGELOG</a> for details.</p>

<h2 id="credits">Credits</h2>

<p><span>Photo by <a href="https://unsplash.com/@jjying?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">JJ Ying</a> on <a href="https://unsplash.com/?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></span></p>]]></content><author><name>Jooyoung Lee</name><email>jylee8875@proton.me</email></author><summary type="html"><![CDATA[Version 9.1 provides minor design changes, new features, and closes multiple issues.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://jooyoung08.github.io/assets/img/blog/jj-ying.jpg" /><media:content medium="image" url="https://jooyoung08.github.io/assets/img/blog/jj-ying.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Introducing Hydejack 9</title><link href="https://jooyoung08.github.io/blog/2020-07-03-introducing-hydejack-9/" rel="alternate" type="text/html" title="Introducing Hydejack 9" /><published>2020-07-03T00:00:00+00:00</published><updated>2020-07-03T00:00:00+00:00</updated><id>https://jooyoung08.github.io/blog/introducing-hydejack-9</id><content type="html" xml:base="https://jooyoung08.github.io/blog/2020-07-03-introducing-hydejack-9/"><![CDATA[<p class="lead">Version 9 is the most complete version of Hydejack yet.</p>

<p><a href="#linking-in-style">Modernized</a> <a href="#whats-in-the-cards">design</a>, <a href="#ready-for-the-big-screen">big headlines</a>, big new features: <a href="#built-in-search">Built-In Search</a>, <a href="#sticky-table-of-contents">Sticky Table of Contents</a>, and <a href="#auto-hiding-navbar">Auto-Hiding Navbar</a>. That <a href="#and-much-more">and more</a> is Hydejack 9.</p>

<ul class="large-only" id="markdown-toc">
  <li><a href="#linking-in-style" id="markdown-toc-linking-in-style">Linking in Style</a></li>
  <li><a href="#ready-for-the-big-screen" id="markdown-toc-ready-for-the-big-screen">Ready for the Big Screen</a></li>
  <li><a href="#whats-in-the-cards" id="markdown-toc-whats-in-the-cards">What’s in the Cards?</a></li>
  <li><a href="#built-in-search" id="markdown-toc-built-in-search">Built-In Search</a></li>
  <li><a href="#auto-hiding-navbar" id="markdown-toc-auto-hiding-navbar">Auto-Hiding Navbar</a></li>
  <li><a href="#sticky-table-of-contents" id="markdown-toc-sticky-table-of-contents">Sticky Table of Contents</a></li>
  <li><a href="#and-much-more" id="markdown-toc-and-much-more">…and much more</a></li>
  <li><a href="#even-more-to-come" id="markdown-toc-even-more-to-come">Even More to Come</a></li>
  <li><a href="#get-it-now" id="markdown-toc-get-it-now">Get It Now</a></li>
</ul>

<h2 id="linking-in-style">Linking in Style</h2>

<p>Ever since the introduction of Dark Mode, link styles have been a bit of an issue. Specifically, finding an accent color that worked on both light and dark backgrounds was the problem. With Hydejack 9, the <a href="#linking-in-style">link style</a> has been revamped so that legibility is no longer tied to the choice of accent_color, giving you much more freedom in creating a unique design flavor for your site.</p>

<h2 id="ready-for-the-big-screen">Ready for the Big Screen</h2>

<p>The theme on which Hydejack is based was designed for a different era of the web. Hydejack has inherited many of its limitations, but over time I’ve made adjustments, such as centering the content column for better reading ergonomics.</p>

<p>With version 9, Hydejack takes full advantage of large displays. Whether it’s design indulgences such as oversized headlines, or quality of life improvements such as a floating table of contents, Hydejack now finds use for all that extra screen real estate<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>.</p>

<h2 id="whats-in-the-cards">What’s in the Cards?</h2>

<p>Hydejack 9 now lets you use content cards for both projects and posts. 
The cards have been redesigned with a new hover style and drop shadows and they retain their unique transition-to-next-page animations, which now also work on the <code class="language-plaintext highlighter-rouge">blog</code> layout. The new <code class="language-plaintext highlighter-rouge">grid</code> layout lets you do that.</p>

<p>Good images are key to making the most out of content cards. For that reason, a <a href="../../docs/basics.md#adding-images">chapter on images</a> has been added to the documentation.</p>

<h2 id="built-in-search">Built-In Search</h2>

<p>Hydejack now has Built-In Search. It even works offline. I’ve been prototyping many approaches and eventually settled on a fully client-side, off-the-main thread solution that perfectly fits the use case of personal sites and shows surprisingly good results<sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup>.</p>

<p>The new search UI is custom made for Hydejack and shows beautiful previews of your posts and pages, right on top of your regular content.</p>

<p>Together with the Auto-Hiding Navbar, your entire content library is now only a couple of keystrokes away.</p>

<h2 id="auto-hiding-navbar">Auto-Hiding Navbar</h2>

<p>A navbar that’s there when you need it, and disappears when you don’t. Simple as that.</p>

<h2 id="sticky-table-of-contents">Sticky Table of Contents</h2>

<p>Already a staple on so many sites on the web, this pattern is now also available in Hydejack. 
What’s unique about it is that it simply picks up the table of contents already created by kramdown’s <code class="language-plaintext highlighter-rouge">{:toc}</code> tag and transparently upgrades it to a fully dynamic version.</p>

<h2 id="and-much-more">…and much more</h2>

<p>Other noteworthy changes include:</p>
<ul>
  <li>Support for Jekyll 4</li>
  <li>Choice between MathJax and KaTeX for math rendering</li>
  <li>Use of <code class="language-plaintext highlighter-rouge">jekyll-include-cache</code> for drastically improved page building speeds</li>
  <li>New variables configuration file — adjust content width, sidebar width, font size, etc…</li>
  <li>…and the option to disable grouping projects by year.</li>
</ul>

<p>Read the the <a href="../../CHANGELOG.md" class="heading flip-title">CHANGELOG</a> for the full scope of features and improvements made in Hydejack 9.
Maybe just glance at it to confirm that it is indeed a pretty long list.</p>

<h2 id="even-more-to-come">Even More to Come</h2>

<p>New features for 9.1 are already lined up. Code block headers and code line highlights for even better technical blogging, as well as download buttons on the resume page for PDF, vCard, and Resume JSON are just around the corner.</p>

<h2 id="get-it-now">Get It Now</h2>
<p>The Free Version of Hydejack is now availabe on <a href="https://rubygems.org/gems/jekyll-theme-hydejack">RubyGems</a>
and for the first time also on <a href="https://github.com/hydecorp/hydejack/packages">GitHub Packages</a>. 
The source code is available on <a href="https://github.com/hydecorp/hydejack">GitHub</a> as always.</p>

<p>The PRO Version is scheduled to release on July 7th on Gumroad. Pre-Orders are open now:</p>

<div class="gumroad-product-embed" data-gumroad-product-id="nuOluY"><a href="https://gumroad.com/l/nuOluY">Loading…</a></div>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1" role="doc-endnote">
      <p>If you are a fan of the old two-column layout, or don’t like modern design tropes such as mega headlines, Hydejack lets you revert these changes on a case-by-case basis via configuration options. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
    </li>
    <li id="fn:2" role="doc-endnote">

      <p>Search was mainly tested for English and German. Please let me know about issues in other languages. 
  While I’ve tried to find a multi-language solution, most showed drastically worse  results for the English base case.
  If you’re technically inclined, you can adopt the code located in <code class="language-plaintext highlighter-rouge">_includes/js/search-worker.js</code> to your needs. <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>Jooyoung Lee</name><email>jylee8875@proton.me</email></author><summary type="html"><![CDATA[Version 9 is the most complete version of Hydejack yet. Modernized design, big headlines, and big new features.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://jooyoung08.github.io/assets/img/blog/jeremy-bishop@0,5x.jpg" /><media:content medium="image" url="https://jooyoung08.github.io/assets/img/blog/jeremy-bishop@0,5x.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Example Content III</title><link href="https://jooyoung08.github.io/blog/2018-06-01-example-content-iii/" rel="alternate" type="text/html" title="Example Content III" /><published>2018-06-01T00:00:00+00:00</published><updated>2018-06-01T00:00:00+00:00</updated><id>https://jooyoung08.github.io/blog/example-content-iii</id><content type="html" xml:base="https://jooyoung08.github.io/blog/2018-06-01-example-content-iii/"><![CDATA[<p>Hydejack offers a few additional features to markup your markdown.
Don’t worry, these are merely CSS classes added with kramdown’s <code class="language-plaintext highlighter-rouge">{:...}</code> syntax,
so that your content remains compatible with other Jekyll themes.</p>

<h2 id="large-tables">Large Tables</h2>

<table class="scroll-table">
  <thead>
    <tr>
      <th>Default aligned</th>
      <th style="text-align: left">Left aligned</th>
      <th style="text-align: center">Center aligned</th>
      <th style="text-align: right">Right aligned</th>
      <th>Default aligned</th>
      <th style="text-align: left">Left aligned</th>
      <th style="text-align: center">Center aligned</th>
      <th style="text-align: right">Right aligned</th>
      <th>Default aligned</th>
      <th style="text-align: left">Left aligned</th>
      <th style="text-align: center">Center aligned</th>
      <th style="text-align: right">Right aligned</th>
      <th>Default aligned</th>
      <th style="text-align: left">Left aligned</th>
      <th style="text-align: center">Center aligned</th>
      <th style="text-align: right">Right aligned</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>First body part</td>
      <td style="text-align: left">Second cell</td>
      <td style="text-align: center">Third cell</td>
      <td style="text-align: right">fourth cell</td>
      <td>First body part</td>
      <td style="text-align: left">Second cell</td>
      <td style="text-align: center">Third cell</td>
      <td style="text-align: right">fourth cell</td>
      <td>First body part</td>
      <td style="text-align: left">Second cell</td>
      <td style="text-align: center">Third cell</td>
      <td style="text-align: right">fourth cell</td>
      <td>First body part</td>
      <td style="text-align: left">Second cell</td>
      <td style="text-align: center">Third cell</td>
      <td style="text-align: right">fourth cell</td>
    </tr>
    <tr>
      <td>Second line</td>
      <td style="text-align: left">foo</td>
      <td style="text-align: center"><strong>strong</strong></td>
      <td style="text-align: right">baz</td>
      <td>Second line</td>
      <td style="text-align: left">foo</td>
      <td style="text-align: center"><strong>strong</strong></td>
      <td style="text-align: right">baz</td>
      <td>Second line</td>
      <td style="text-align: left">foo</td>
      <td style="text-align: center"><strong>strong</strong></td>
      <td style="text-align: right">baz</td>
      <td>Second line</td>
      <td style="text-align: left">foo</td>
      <td style="text-align: center"><strong>strong</strong></td>
      <td style="text-align: right">baz</td>
    </tr>
    <tr>
      <td>Third line</td>
      <td style="text-align: left">quux</td>
      <td style="text-align: center">baz</td>
      <td style="text-align: right">bar</td>
      <td>Third line</td>
      <td style="text-align: left">quux</td>
      <td style="text-align: center">baz</td>
      <td style="text-align: right">bar</td>
      <td>Third line</td>
      <td style="text-align: left">quux</td>
      <td style="text-align: center">baz</td>
      <td style="text-align: right">bar</td>
      <td>Third line</td>
      <td style="text-align: left">quux</td>
      <td style="text-align: center">baz</td>
      <td style="text-align: right">bar</td>
    </tr>
    <tr>
      <td>Second body</td>
      <td style="text-align: left"> </td>
      <td style="text-align: center"> </td>
      <td style="text-align: right"> </td>
      <td>Second body</td>
      <td style="text-align: left"> </td>
      <td style="text-align: center"> </td>
      <td style="text-align: right"> </td>
      <td>Second body</td>
      <td style="text-align: left"> </td>
      <td style="text-align: center"> </td>
      <td style="text-align: right"> </td>
      <td>Second body</td>
      <td style="text-align: left"> </td>
      <td style="text-align: center"> </td>
      <td style="text-align: right"> </td>
    </tr>
    <tr>
      <td>2 line</td>
      <td style="text-align: left"> </td>
      <td style="text-align: center"> </td>
      <td style="text-align: right"> </td>
      <td>2 line</td>
      <td style="text-align: left"> </td>
      <td style="text-align: center"> </td>
      <td style="text-align: right"> </td>
      <td>2 line</td>
      <td style="text-align: left"> </td>
      <td style="text-align: center"> </td>
      <td style="text-align: right"> </td>
      <td>2 line</td>
      <td style="text-align: left"> </td>
      <td style="text-align: center"> </td>
      <td style="text-align: right"> </td>
    </tr>
    <tr>
      <td>Footer row</td>
      <td style="text-align: left"> </td>
      <td style="text-align: center"> </td>
      <td style="text-align: right"> </td>
      <td>Footer row</td>
      <td style="text-align: left"> </td>
      <td style="text-align: center"> </td>
      <td style="text-align: right"> </td>
      <td>Footer row</td>
      <td style="text-align: left"> </td>
      <td style="text-align: center"> </td>
      <td style="text-align: right"> </td>
      <td>Footer row</td>
      <td style="text-align: left"> </td>
      <td style="text-align: center"> </td>
      <td style="text-align: right"> </td>
    </tr>
  </tbody>
</table>

<h2 id="code-blocks">Code blocks</h2>

<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Example can be run directly in your JavaScript console</span>

<span class="c1">// Create a function that takes two arguments and returns the sum of those</span>
<span class="c1">// arguments</span>
<span class="kd">var</span> <span class="nx">adder</span> <span class="o">=</span> <span class="k">new</span> <span class="nb">Function</span><span class="p">(</span><span class="dl">"</span><span class="s2">a</span><span class="dl">"</span><span class="p">,</span> <span class="dl">"</span><span class="s2">b</span><span class="dl">"</span><span class="p">,</span> <span class="dl">"</span><span class="s2">return a + b</span><span class="dl">"</span><span class="p">);</span>

<span class="c1">// Call the function</span>
<span class="nx">adder</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">6</span><span class="p">);</span>
<span class="c1">// &gt; 8</span>
</code></pre></div></div>

<h2 id="math">Math</h2>
<p>Lorem ipsum \(f(x) = x^2\).</p>

\[\begin{aligned}
  \phi(x,y) &amp;= \phi \left(\sum_{i=1}^n x_ie_i, \sum_{j=1}^n y_je_j \right) \\[2em]
            &amp;= \sum_{i=1}^n \sum_{j=1}^n x_i y_j \phi(e_i, e_j)            \\[2em]
            &amp;= (x_1, \ldots, x_n)
               \left(\begin{array}{ccc}
                 \phi(e_1, e_1)  &amp; \cdots &amp; \phi(e_1, e_n) \\
                 \vdots          &amp; \ddots &amp; \vdots         \\
                 \phi(e_n, e_1)  &amp; \cdots &amp; \phi(e_n, e_n)
               \end{array}\right)
               \left(\begin{array}{c}
                 y_1    \\
                 \vdots \\
                 y_n
               \end{array}\right)
\end{aligned}\]

<h2 id="message-boxes">Message boxes</h2>
<p class="message"><strong>NOTE</strong>: You can add a message box.</p>

<h2 id="large-text">Large text</h2>
<p class="lead">You can add large text.</p>

<h2 id="large-images">Large images</h2>
<p><img src="https://via.placeholder.com/800x100" alt="Full-width image" class="lead" width="800" height="100" /></p>

<h2 id="captions-to-images">Captions to images</h2>
<p class="figure"><img src="https://via.placeholder.com/800x100" alt="Full-width image" class="lead" width="800" height="100" />
A caption to an image.</p>

<h2 id="large-quotes">Large quotes</h2>
<blockquote class="lead">
  <p>You can make a quote “pop out”.</p>
</blockquote>

<h2 id="faded-text">Faded text</h2>
<p class="faded">I’m faded, faded, faded.</p>]]></content><author><name>Jooyoung Lee</name><email>jylee8875@proton.me</email></author><summary type="html"><![CDATA[A page showing Hydejack-specific markdown content.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://jooyoung08.github.io/assets/img/blog/example-content-iii.jpg" /><media:content medium="image" url="https://jooyoung08.github.io/assets/img/blog/example-content-iii.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Example Content II</title><link href="https://jooyoung08.github.io/blog/2017-11-23-example-content-ii/" rel="alternate" type="text/html" title="Example Content II" /><published>2017-11-23T00:00:00+00:00</published><updated>2017-11-23T00:00:00+00:00</updated><id>https://jooyoung08.github.io/blog/example-content-ii</id><content type="html" xml:base="https://jooyoung08.github.io/blog/2017-11-23-example-content-ii/"><![CDATA[<p>There should be whitespace between paragraphs. We recommend including a README, or a file with information about your project.</p>

<p>There should be whitespace between paragraphs.</p>

<p>Text can be <strong>bold</strong>, <em>italic</em>, or <del>strikethrough</del>.</p>

<p><a href="another-page">Link to another page</a>.</p>

<ul class="large-only" id="markdown-toc">
  <li><a href="#header-2" id="markdown-toc-header-2">Header 2</a>    <ul>
      <li><a href="#header-3" id="markdown-toc-header-3">Header 3</a>        <ul>
          <li><a href="#header-4" id="markdown-toc-header-4">Header 4</a>            <ul>
              <li><a href="#header-5" id="markdown-toc-header-5">Header 5</a>                <ul>
                  <li><a href="#header-6" id="markdown-toc-header-6">Header 6</a></li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
      </li>
      <li><a href="#theres-a-horizontal-rule-below-this" id="markdown-toc-theres-a-horizontal-rule-below-this">There’s a horizontal rule below this.</a></li>
      <li><a href="#here-is-an-unordered-list" id="markdown-toc-here-is-an-unordered-list">Here is an unordered list:</a></li>
      <li><a href="#and-an-ordered-list" id="markdown-toc-and-an-ordered-list">And an ordered list:</a></li>
      <li><a href="#and-a-nested-list" id="markdown-toc-and-a-nested-list">And a nested list:</a></li>
      <li><a href="#small-image" id="markdown-toc-small-image">Small image</a></li>
      <li><a href="#large-image" id="markdown-toc-large-image">Large image</a></li>
      <li><a href="#definition-lists" id="markdown-toc-definition-lists">Definition lists</a></li>
    </ul>
  </li>
</ul>

<h2 id="header-2">Header 2</h2>

<p>This is a normal paragraph following a header. GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere.</p>

<h3 id="header-3">Header 3</h3>

<blockquote>
  <p>This is a blockquote following a header.</p>

  <p>When something is important enough, you do it even if the odds are not in your favor.</p>
</blockquote>

<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Javascript code with syntax highlighting.</span>
<span class="kd">var</span> <span class="nx">fun</span> <span class="o">=</span> <span class="kd">function</span> <span class="nx">lang</span><span class="p">(</span><span class="nx">l</span><span class="p">)</span> <span class="p">{</span>
  <span class="nx">dateformat</span><span class="p">.</span><span class="nx">i18n</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="dl">'</span><span class="s1">./lang/</span><span class="dl">'</span> <span class="o">+</span> <span class="nx">l</span><span class="p">)</span>
  <span class="k">return</span> <span class="kc">true</span><span class="p">;</span>
<span class="p">}</span>
</code></pre></div></div>

<div class="language-ruby highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># Ruby code with syntax highlighting</span>
<span class="no">GitHubPages</span><span class="o">::</span><span class="no">Dependencies</span><span class="p">.</span><span class="nf">gems</span><span class="p">.</span><span class="nf">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">gem</span><span class="p">,</span> <span class="n">version</span><span class="o">|</span>
  <span class="n">s</span><span class="p">.</span><span class="nf">add_dependency</span><span class="p">(</span><span class="n">gem</span><span class="p">,</span> <span class="s2">"= </span><span class="si">#{</span><span class="n">version</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
<span class="k">end</span>
</code></pre></div></div>

<h4 id="header-4">Header 4</h4>

<ul>
  <li>This is an unordered list following a header.</li>
  <li>This is an unordered list following a header.</li>
  <li>This is an unordered list following a header.</li>
</ul>

<h5 id="header-5">Header 5</h5>

<ol>
  <li>This is an ordered list following a header.</li>
  <li>This is an ordered list following a header.</li>
  <li>This is an ordered list following a header.</li>
</ol>

<h6 id="header-6">Header 6</h6>

<table>
  <thead>
    <tr>
      <th style="text-align: left">head1</th>
      <th style="text-align: left">head two</th>
      <th style="text-align: left">three</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: left">ok</td>
      <td style="text-align: left">good swedish fish</td>
      <td style="text-align: left">nice</td>
    </tr>
    <tr>
      <td style="text-align: left">out of stock</td>
      <td style="text-align: left">good and plenty</td>
      <td style="text-align: left">nice</td>
    </tr>
    <tr>
      <td style="text-align: left">ok</td>
      <td style="text-align: left">good <code class="language-plaintext highlighter-rouge">oreos</code></td>
      <td style="text-align: left">hmm</td>
    </tr>
    <tr>
      <td style="text-align: left">ok</td>
      <td style="text-align: left">good <code class="language-plaintext highlighter-rouge">zoute</code> drop</td>
      <td style="text-align: left">yumm</td>
    </tr>
  </tbody>
</table>

<h3 id="theres-a-horizontal-rule-below-this">There’s a horizontal rule below this.</h3>

<hr />

<h3 id="here-is-an-unordered-list">Here is an unordered list:</h3>

<ul>
  <li>Item foo</li>
  <li>Item bar</li>
  <li>Item baz</li>
  <li>Item zip</li>
</ul>

<h3 id="and-an-ordered-list">And an ordered list:</h3>

<ol>
  <li>Item one</li>
  <li>Item two</li>
  <li>Item three</li>
  <li>Item four</li>
</ol>

<h3 id="and-a-nested-list">And a nested list:</h3>

<ul>
  <li>level 1 item
    <ul>
      <li>level 2 item</li>
      <li>level 2 item
        <ul>
          <li>level 3 item</li>
          <li>level 3 item</li>
        </ul>
      </li>
    </ul>
  </li>
  <li>level 1 item
    <ul>
      <li>level 2 item</li>
      <li>level 2 item</li>
      <li>level 2 item</li>
    </ul>
  </li>
  <li>level 1 item
    <ul>
      <li>level 2 item</li>
      <li>level 2 item</li>
    </ul>
  </li>
  <li>level 1 item</li>
</ul>

<h3 id="small-image">Small image</h3>

<p><img src="https://assets-cdn.github.com/images/icons/emoji/octocat.png" alt="" /></p>

<h3 id="large-image">Large image</h3>

<p><img src="https://guides.github.com/activities/hello-world/branching.png" alt="" /></p>

<h3 id="definition-lists">Definition lists</h3>

<dl>
  <dt>Name</dt>
  <dd>Godzilla</dd>
  <dt>Born</dt>
  <dd>1952</dd>
  <dt>Birthplace</dt>
  <dd>Japan</dd>
  <dt>Color</dt>
  <dd>Green</dd>
</dl>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this. Or is it?
</code></pre></div></div>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>The final element.
</code></pre></div></div>]]></content><author><name>Jooyoung Lee</name><email>jylee8875@proton.me</email></author><summary type="html"><![CDATA[A page showing how regular markdown content is styled in Hydejack.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://jooyoung08.github.io/assets/img/blog/example-content-ii.jpg" /><media:content medium="image" url="https://jooyoung08.github.io/assets/img/blog/example-content-ii.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Example Content</title><link href="https://jooyoung08.github.io/blog/2012-02-07-example-content/" rel="alternate" type="text/html" title="Example Content" /><published>2012-02-07T00:00:00+00:00</published><updated>2012-02-07T00:00:00+00:00</updated><id>https://jooyoung08.github.io/blog/example-content</id><content type="html" xml:base="https://jooyoung08.github.io/blog/2012-02-07-example-content/"><![CDATA[<p>Cum sociis natoque penatibus et magnis <a href="#">dis parturient montes</a>, nascetur ridiculus mus. <em>Aenean eu leo quam.</em> Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.</p>

<blockquote>
  <p>Curabitur blandit tempus porttitor. Nullam quis risus eget urna mollis ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
</blockquote>

<p>Etiam porta <strong>sem malesuada magna</strong> mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>

<h2 id="inline-html-elements">Inline <abbr title="HyperText Markup Language">HTML</abbr> elements</h2>

<p><abbr title="HyperText Markup Language">HTML</abbr> defines a long list of available inline tags, a complete list of which can be found on the <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element">Mozilla Developer Network</a>.</p>

<ul>
  <li><strong>To bold text</strong>, use <code class="language-plaintext highlighter-rouge">**To bold text**</code>.</li>
  <li><em>To italicize text</em>, use <code class="language-plaintext highlighter-rouge">*To italicize text*</code>.</li>
  <li>Abbreviations, like <abbr title="HyperText Markup Language">HTML</abbr> should be defined like this <code class="language-plaintext highlighter-rouge">*[HTML]: HyperText Markup Language</code>.</li>
  <li>Citations, like <cite>— Mark otto</cite>, should use <code class="language-plaintext highlighter-rouge">&lt;cite&gt;</code>.</li>
  <li><del>Deleted</del> text should use <code class="language-plaintext highlighter-rouge">~~deleted~~</code> and <ins>inserted</ins> text should use <code class="language-plaintext highlighter-rouge">&lt;ins&gt;</code>.</li>
  <li>Superscript <sup>text</sup> uses <code class="language-plaintext highlighter-rouge">&lt;sup&gt;</code> and subscript <sub>text</sub> uses <code class="language-plaintext highlighter-rouge">&lt;sub&gt;</code>.</li>
</ul>

<p>Most of these elements are styled by browsers with few modifications on our part.</p>

<h2 id="heading-2">Heading 2</h2>
<p>Vivamus sagittis lacus vel augue rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>

<h3 id="heading-3">Heading 3</h3>
<p>Vivamus sagittis lacus vel augue rutrum faucibus dolor auctor.</p>

<h4 id="heading-4">Heading 4</h4>
<p>Vivamus sagittis lacus vel augue rutrum faucibus dolor auctor.</p>

<h5 id="heading-5">Heading 5</h5>
<p>Vivamus sagittis lacus vel augue rutrum faucibus dolor auctor.</p>

<h6 id="heading-6">Heading 6</h6>
<p>Vivamus sagittis lacus vel augue rutrum faucibus dolor auctor.</p>

<h2 id="code">Code</h2>

<p>Cum sociis natoque penatibus et magnis dis <code class="language-plaintext highlighter-rouge">code element</code> montes, nascetur ridiculus mus.</p>

<div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Example can be run directly in your JavaScript console</span>

<span class="c1">// Create a function that takes two arguments and returns the sum of those</span>
<span class="c1">// arguments</span>
<span class="kd">var</span> <span class="nx">adder</span> <span class="o">=</span> <span class="k">new</span> <span class="nb">Function</span><span class="p">(</span><span class="dl">"</span><span class="s2">a</span><span class="dl">"</span><span class="p">,</span> <span class="dl">"</span><span class="s2">b</span><span class="dl">"</span><span class="p">,</span> <span class="dl">"</span><span class="s2">return a + b</span><span class="dl">"</span><span class="p">);</span>

<span class="c1">// Call the function</span>
<span class="nx">adder</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">6</span><span class="p">);</span>
<span class="c1">// &gt; 8</span>
</code></pre></div></div>

<h2 id="lists">Lists</h2>

<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>

<ul>
  <li>Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</li>
  <li>Donec id elit non mi porta gravida at eget metus.</li>
  <li>Nulla vitae elit libero, a pharetra augue.</li>
</ul>

<p>Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.</p>

<ol>
  <li>Vestibulum id ligula porta felis euismod semper.</li>
  <li>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</li>
  <li>Maecenas sed diam eget risus varius blandit sit amet non magna.</li>
</ol>

<p>Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis.</p>

<dl>
  <dt>HyperText Markup Language (<abbr title="HyperText Markup Language">HTML</abbr>)</dt>
  <dd>The language used to describe and define the content of a Web page</dd>
  <dt>Cascading Style Sheets (<abbr title="Cascading Style Sheets">CSS</abbr>)</dt>
  <dd>Used to describe the appearance of Web content</dd>
  <dt>JavaScript (<abbr title="JavaScript">JS</abbr>)</dt>
  <dd>The programming language used to build advanced Web sites and applications</dd>
</dl>

<p>Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Nullam quis risus eget urna mollis ornare vel eu leo.</p>

<h2 id="images">Images</h2>

<p>Quisque consequat sapien eget quam rhoncus, sit amet laoreet diam tempus. Aliquam aliquam metus erat, a pulvinar turpis suscipit at.</p>

<p><img src="https://via.placeholder.com/800x400" alt="800x400" title="Large example image" /></p>

<p><img src="https://via.placeholder.com/400x200" alt="400x200" title="Medium example image" /></p>

<p><img src="https://via.placeholder.com/200x200" alt="200x200" title="Small example image" /></p>

<h2 id="tables">Tables</h2>

<p>Aenean lacinia bibendum nulla sed consectetur. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>

<table>
  <thead>
    <tr>
      <th style="text-align: left">Name</th>
      <th style="text-align: left">Upvotes</th>
      <th style="text-align: left">Downvotes</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: left">Alice</td>
      <td style="text-align: left">10</td>
      <td style="text-align: left">11</td>
    </tr>
    <tr>
      <td style="text-align: left">Bob</td>
      <td style="text-align: left">4</td>
      <td style="text-align: left">3</td>
    </tr>
    <tr>
      <td style="text-align: left">Charlie</td>
      <td style="text-align: left">7</td>
      <td style="text-align: left">9</td>
    </tr>
  </tbody>
  <tfoot>
    <tr>
      <td style="text-align: left">Totals</td>
      <td style="text-align: left">21</td>
      <td style="text-align: left">23</td>
    </tr>
  </tfoot>
</table>

<p>Nullam id dolor id nibh ultricies vehicula ut id elit. Sed posuere consectetur est at lobortis. Nullam quis risus eget urna mollis ornare vel eu leo.</p>]]></content><author><name>Jooyoung Lee</name><email>jylee8875@proton.me</email></author><summary type="html"><![CDATA[Howdy! This is an example blog post that shows several types of HTML content supported in this theme.]]></summary></entry></feed>