Jekyll 포스트 카테고리를 수정하며
서막
블로그에 카테고리들이 많아지면서 하나로 묶어야할 필요성을 느꼈다.
물론 그러러면 게시글들을 일일이 수정해야해서 좀 귀찮아서 미루다가 오늘 드디어 작업을 하기로 마음먹었다.
그런데, 일상이나 프로그래밍 언어들이야 게시글이 몇개 안되니까 일일이 손으로 수정해도 괜찮았는데,
스프링의 경우 100개가 넘는 게시글들의 내용을 손으로 수정하는 것에 한계가 있었다.
직접 할까.. 하다가 너무 귀찮아서 차라리 코드를 짜보자!하고 열심히 구글링을 해서 파이썬으로 간단한 파일 내용 수정 코드를 만들었다.
오늘은 그 내용을 공유해보려고 한다.
소스코드
해당 코드는 md 본문에 포함된 categories의 spring
을 framework
로 바꾸는 코드이다.
이 코드의 흐름은 다음과 같다.
특정 문자열이 포함된 파일들을 읽고 해당 파일의 본문에서 특정 문자열이 포함된 라인의 내용을 수정하는 코드이다.
import os
import fileinput
import sys
# 바꾸려는 파일이 포함된 폴더의 절대경로를 명시
folderPath = "/Users/kakao/Downloads/minkukjo.github.io/_posts/"
for _, dirs, files in os.walk(folderPath):
for fname in files:
# 전체 파일을 읽어옴. Spring이 포함된 파일만 수정할 것
if 'Spring' in fname:
# fileinput은 파일의 특정 부분을 수정하기 위한 라이브러리, inplace=True여야지만 작동
for line in fileinput.input(folderPath + fname, inplace=True):
# categories가 포함된 줄에서 해당 줄을 "categories: framework"로 변경하게 수정
if 'categories' in line:
line = line.replace(line, 'categories: framework\n')
sys.stdout.write(line)
후기
역시 귀차니즘은 개발자를 성장시키는 좋은 덕목이라는 것을 다시 한번 느꼈다.