[automator + applescript + shell] 대화 상자에서 이름을 가져와 폴더와 파일을 만듭니다.

계기는 typora



typora

Markdown 편집기입니다. 최근의 유행을 타고 있어 다음과 같은 기능을 가지고 있습니다.
- GFM
- mermaid에서 그래프가 아름답다.
- WYSIWYG 에디터 (지금까지 사용해 온 것 중에서 가장 스트레스없이 움직여준다)
- Win/OSX/Linux

자세한 것은 이하.
- 다양한 기능을 갖춘 Mac용 Markdown 에디터 「Typora」가 시퀀스도나 플로우차트 등의 다이어그램 표시를 서포트.
- Typora - 다기능으로 우아한 Markdown 편집기

이것이 설정으로서 jpg등을 이미지를 읽을 때에, 지정된 폴더에 카피를 만들어 주는데, 일일이 디렉토리를 만들어, YAML를 기입하는 것이 귀찮아서 자동으로 해 주었으면 한다.

했던 일



"서비스"에서 지정한 폴더를 받습니다.



쉘 스크립트를 실행하여 폴더 이름과 파일 이름 얻기
입력은 인수로 전달됩니다.



AppleScript 실행
여기에 대화 상자를 표시하여 만들고 싶은 것의 이름을 얻습니다.



on run {input, parameters}
    set arg2 to item 2 of input
    set dpath to arg2 & "/"

    set theResult to display dialog "New Note Name" & return & "in " & dpath with title "New Note" buttons {"Cancel", "Create"} default answer ""

    set buttonText to button returned of theResult
    set dname to text returned of theResult

    if buttonText is "Cancel" then
        quit me
    end if

    if dname is "" then
        quit me
    end if

    set container to {dpath, dname}

    return container

end run

폴더와 파일 만들기
스페이스는 하이픈으로 치환, 작성한 markdown 파일에, 이미지를 어디에 저장하는지에 대해서, YAML의 설정을 기술해 둔다.


cd $1
dname=(`echo $2 | tr -s " " "-"`)
mkdir $dname
fname="${dname}.md"
cd $dname
touch $fname
mkdir src
echo -e "---\ntypora-copy-images-to:./src\n---" >> $fname
open -a "typora" $fname

결과 가능한 것
.
├── src
└── test.md

이번에하지 않았던 일


  • 현재 액티브한 윈도우와 디렉토리를 읽어, 거기에 작성한다.
    OSX 파인더 command+shift+N 에서 폴더를 만들 수 있도록 지정한 것을 만들고 싶었다.

  • 어째서 현재 상태라면, 노트를 만들고 싶은 곳의 한 개 위의 계층의 디렉토리에 대해서 조작을 실시하지 않으면, 노트를 만들고 싶은 계층을 정확하게 취득할 수 없네요... 뭐 곤란해지는 지금 센가.

    좋은 웹페이지 즐겨찾기