Multiple and Hierarchical Category » 이력 » 버전 4
버전 3 (Jinwuk Admin, 2018/07/25 12:06) → 버전 4/11 (Jinwuk Admin, 2018/07/25 12:09)
h1. Multiple and Hierarchical Category
기본적으로는 Wordpress 등에서 제공하는 다음과 같은 계층적 Category를 구현하기 위해서이다.
!picture940-1.png!
인터넷에 살펴보면 여러가지 방법론들이 나오는데, 여기에서는 오직, Category 만으로 이러한 계층적 Category를 만들고 Sidebar 에 구현하고 이를 이용할 수 있도록 해 보고자 한다.
여기서는 Hydeout Theme를 기본으로 구현 하였다.
Hydeout Theme 는 다음의 특징을 가지고 있다.
* Jekyll 3.x 의 특성을 충실히 반영하고 있다.
* Jekyll 을 이용한 Blog를 만들시 의 가장 기본적인 구조인 Minimal Theme에서 Sidebar 구조를 제외하고는 크게 변경된 것이 없다.
그러므로 Hydeout Theme에서 사용된 기법을 다른 Theme에 적용시키는 것은 거의 문제가 없을 것으로 본다.
h2. 기본 구조
Category를 다음과 같은 기본 구조로 만들고 싶다.
<pre>
------ 상위 Category (1)
| |---- 하위 Category (1)
| |---- 하위 Category (2)
|---- 상위 Category (2)
|---- 하위 Category (3)
</pre>
h3. Multiple and Hierarchical 구조를 위한 기본 Front matter
기본적으로 Fron matter를 어떻게 설계 하느냐가 중요하다.
다음과 같이 Category의 Front matter를 놓는다.
<pre><code class="ruby">
---
layout: category
title: Briefs
menu: true
submenu: true
order: 2
---
</code></pre>
중요한 부분은 menu와 submenu의 존재이다. 이것을 사용하여 html 에서 상위 Category인지 하위 Category인지를 파악하고자 한다.
* menu 에서 true 이면 sidebar 에서 category 의 이름이 나타나도록 하며 최상위 category 임을 의미한다.
* submenu 에서 true 이면 자신의 category에 속하는 하위 category가 있음을 나타낸다.
하위 category의 Front matter는 다음과 같이 놓는다.
예를 들어 "Brief" category 에 속하는 "Machine Learning" Category를 다음과 같아야 한다.
<pre><code class="ruby">
---
layout: category
title: Machine Learning
category: Briefs
menu: false
order: 2
---
</code></pre>
* 최상위 category사 아니므로 menu는 false 이다.
* 만일 하위 category를 주고 싶다면 submenu에서 true를 준다.
마지막으로 post는 다음과 같이 쓰면 된다.
<pre><code class="ruby">
---
layout: post
title: "Deep Image Compression via End to End Learning"
date: 2018-07-07 22:03:00 +0900
categories: [Briefs, Machine Learning]
tags:
- Machine-Learning
subtitle: "Machine Learning"
comments: true
---
</code></pre>
* category는 복수이므로 caterories가 되고 상위는 Brief 그리고 하위는 Machine Learning임을 가켜야 한다.
기본적으로는 Wordpress 등에서 제공하는 다음과 같은 계층적 Category를 구현하기 위해서이다.
!picture940-1.png!
인터넷에 살펴보면 여러가지 방법론들이 나오는데, 여기에서는 오직, Category 만으로 이러한 계층적 Category를 만들고 Sidebar 에 구현하고 이를 이용할 수 있도록 해 보고자 한다.
여기서는 Hydeout Theme를 기본으로 구현 하였다.
Hydeout Theme 는 다음의 특징을 가지고 있다.
* Jekyll 3.x 의 특성을 충실히 반영하고 있다.
* Jekyll 을 이용한 Blog를 만들시 의 가장 기본적인 구조인 Minimal Theme에서 Sidebar 구조를 제외하고는 크게 변경된 것이 없다.
그러므로 Hydeout Theme에서 사용된 기법을 다른 Theme에 적용시키는 것은 거의 문제가 없을 것으로 본다.
h2. 기본 구조
Category를 다음과 같은 기본 구조로 만들고 싶다.
<pre>
------ 상위 Category (1)
| |---- 하위 Category (1)
| |---- 하위 Category (2)
|---- 상위 Category (2)
|---- 하위 Category (3)
</pre>
h3. Multiple and Hierarchical 구조를 위한 기본 Front matter
기본적으로 Fron matter를 어떻게 설계 하느냐가 중요하다.
다음과 같이 Category의 Front matter를 놓는다.
<pre><code class="ruby">
---
layout: category
title: Briefs
menu: true
submenu: true
order: 2
---
</code></pre>
중요한 부분은 menu와 submenu의 존재이다. 이것을 사용하여 html 에서 상위 Category인지 하위 Category인지를 파악하고자 한다.
* menu 에서 true 이면 sidebar 에서 category 의 이름이 나타나도록 하며 최상위 category 임을 의미한다.
* submenu 에서 true 이면 자신의 category에 속하는 하위 category가 있음을 나타낸다.
하위 category의 Front matter는 다음과 같이 놓는다.
예를 들어 "Brief" category 에 속하는 "Machine Learning" Category를 다음과 같아야 한다.
<pre><code class="ruby">
---
layout: category
title: Machine Learning
category: Briefs
menu: false
order: 2
---
</code></pre>
* 최상위 category사 아니므로 menu는 false 이다.
* 만일 하위 category를 주고 싶다면 submenu에서 true를 준다.
마지막으로 post는 다음과 같이 쓰면 된다.
<pre><code class="ruby">
---
layout: post
title: "Deep Image Compression via End to End Learning"
date: 2018-07-07 22:03:00 +0900
categories: [Briefs, Machine Learning]
tags:
- Machine-Learning
subtitle: "Machine Learning"
comments: true
---
</code></pre>
* category는 복수이므로 caterories가 되고 상위는 Brief 그리고 하위는 Machine Learning임을 가켜야 한다.