Jekyll Post Create Script

Script로 Jekyll 포스팅 폼 만들기


1. 개요


Jekyll을 사용하면, _post폴더 내에 일정한 양식대로 md(markdown)파일을 작성해야 한다.
해당 반복작업을 줄이기 위해 ShellScript로 작성된 스크립트를 작성하였다.

2. 내용


2.1.1 ShellScript Code(.sh)

<p>ShallScript 코드접기/펼치기&lt;/summary&gt;</p>
<div>

  <figure class="highlight">
    <pre><code class="language-bash" data-lang="bash"><span class="c">#!/bin/bash</span>

# Colors and styles Green=‘\033[0;32m’ Blue=‘\033[0;34m’ ColorReset=‘\033[0m’ bold=$(tput bold) normal=$(tput sgr0)

echo -e ${Blue}${bold}Script to create new Jekyll posts easily.${normal}${ColorReset}

# The post directory POSTS_DIR=’./_posts/’

# Post title # Trim leading spaces read -e -rp ${bold}FileName:${normal} -a FILENAME FILENAME=$(echo ${FILENAME[@]} | sed -e ’s/^[ \t]*//’)

read -e -rp ${bold}Title:${normal} -a TITLE TITLE=$(echo ${TITLE[@]} | sed -e ’s/^[ \t]*//’)

# Date read -rp ${bold}Date${normal}(NULL==today): “ -a DATE if [ -z ${DATE[*]} ]; then DATE=$(date +%Y-%m-%d) fi

# Post extension EXT=‘.md’

# File name should be lowercase FILENAME=$(echo $FILENAME | tr ’ ‘ ‘_’) DIRNAME=${DATE}-${FILENAME} FILENAME=${DATE}-${FILENAME}${EXT}

mkdir -p ./images/${DIRNAME} # Go to _posts and create a file cd ${POSTS_DIR} touch ${FILENAME}

# Add YAML front matter and excerpt space # (해당부분은 각자의 Jekyll 테마에 맞추어 변경이 필요하다) tee -a $FILENAME >/dev/null <<END
— layout: post title:
${TITLE} image: ${DIRNAME}/banner.png date: ${DATE} tags: categories: comments: true #Disqus코멘트 허용여부 —

<br>

1. 개요


개요본문

<br>

2. 내용


2.1 내용하위제목

내용본문
</span> END

</span>echo -e ${Green}${bold}File was successfully created! ❯${ColorReset}${normal} ${POSTS_DIR}${FILENAME}</code></pre> </figure>

</div>
<p>&lt;/details&gt; <br /></p>

<p><br /></p>
<h2 id="section">2.2 <strong>작업내용</strong></h2>
<p>기존의 코드를 그대로 쓸수가 없었기 때문에 YMAL Front Matter와 본문의 구성을 테마에 맞추어 변경해주었다. <br /> 또한, Title을 입력받아 그대로 파일이름으로 적용하도록 하였으며, <br /> BackSpace와 Space를 입력받았을 때 제대로 작동하지 않는 문제를 해결하였다. (정규화 &amp; readline)</p>

<p>한계점 : Sh에서는 기본적으로 정규화가 쉽지만, 한글을 입력받게되면 정규화가 어렵다. <br /> 화살표키를 처리하지 못하는 문제가 있다. -&gt; 해당문제는 readline을 적용함으로써 해결</p>

<p><br /></p>
<h1 id="section-1">3. <strong>기타문서</strong></h1>
<hr />
<h2 id="reference">3.1 Reference</h2>
<p>해당내용 중 ShallScript는 <a href="https://otzslayer.github.io/%EA%B8%B0%ED%83%80/2021/11/15/jekyll-post-generator-script.html">Jay님의 블로그</a>의 코드를 베이스코드로 수정하였다.</p>

You might also enjoy