자바스크립트를 활성화 해주세요

h004 Post작성할 때 사용하는 Markdown 파일명 규칙

 ·  ☕ 2 min read

프로페셔널하게 글을 쓰시는 분들은 파일명에도 노하우가 담겨 있습니다. 만일 음악을 만드시는 분들이나 그래픽을 하시는 분들도 나름의 규칙을 가지고 작업하시는 분들을 많이 보았습니다. 하나 하나 깊게 생각해 봅시다

무슨 얘기냐면, 포스트를 작성할 때, vscode를 사용해서 적고 있습니다. 지금 어느 파일을 편집하고 있는 지는 이 explorer를 보면 나오지만, explorer pane에서 파일이름이 타이틀 순으로 정리가 되어 있기 때문에 그 위의 파일과 아래의 파일의 시간순으로 정렬되어 있으면 편하겠다고 생각되었습니다.

파일이름을 시간순으로 정렬할 수 없을까?

vscode explorer pane sort order으로 검색해 보았습니다.

Open the workspace settings: Ctrl + Shift + p. And open: Preferences: Open Workspace Settings .
Browse to Features > Explorer using the sidebar.
Use the Sort Order option to customise sorting.

last modified라는 항목을 이용하면 가장 마지막에 저장된 파일순으로 할 수 는 있었지만, created time으로 정렬할 수 는 없었습니다. 그리고 다른 ide나 editor에서도 created time순으로 정렬하는 옵션은 없었던 것 같습니다.

파일을 생성할 때, 파일이름앞에 yymmdd을 붙이면 어떨까요?

일단 그 방법은 정령하는 방법으로 사용할 수는 있을 것 같습니다. 조금 단점이라면 explorer의 폭이 좁아서, 파일의 이름이 가리는 부분이 많을 거라는 것입니다. 그래도 가능은 해서, 간혹 사용하고 있습니다.

일련의 번호를 자동으로 붙이게 하면 어떨까요?

예를 들면 p001_, p002_와 같이 말이죠. 3자리 수의 prefix를 붙인다고 하면, 999까지의 번호를 붙일 수 있겠네요. 이걸로 해볼까요? 이 방법을 사용하면, 번호만 다르고 타이틀은 같은 파일을 만드는 것도 가능하겠네요.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function new-hugopost {
    [CmdletBinding()]
    param(
        [Parameter(ValueFromPipeline)]
        [string[]] $titles = ${throw "no title given."})

    cd $env:userprofile\blog

    $title = $titles -join ' '
    if ($title.Contains("/")) {
        $index = $title.IndexOf('/')
        $path, $filename = ($title[0..$index] -join ""), ($title[$($index+1)..$($title.length-1)] -join "")
        Write-Debug $path
        $files = get-childitem "content/$path" -Filter "???_*"
        if ($files) {
            $prefix = [int](($files.Name | Select-Object -last 1)[0..2] -join "") + 1
        } else {
            $prefix = 1
        }
        Write-Debug $prefix
        $title = "$path{0:d3}_$filename" -f $prefix
    }

    if (! $title.EndsWith(".md")) {
        $title += ".md"
    }
    Write-Debug "hugo new $title"
    hugo new $title
}

생각보다 로직이 길어져버렸습니다.
실행해본 결과는 다음과 같습니다.

test

1
2
3
$DebugPreference = 'Continue'
"hugo/안녕하세요" | new-hugopost
hugo new hugo/008_안녕하세요.md

실제로 사용해 보았더니, 파일을 제목으로 기억하고 전달하는 것 보다, 번호로 외우는 쪽이 훨씬 빠르고 정확하게 전달할 수 있었습니다.

또 어느때 편리하느냐면, 노트북에 터치패드 마우스 밖에 없는 경우, 터치패드를 사용해서 파일을 여는 작업은 매우 불편합니다만, vscode를 사용하는 경우 Ctrl+P를 눌러서 p001처럼 입력하면 그 근처의 화일을 빨리 열 수 있습니다.

공유하기

tkim
글쓴이
tkim
Software Engineer