좋아하는 에디터로 일보를 쓰는 구조(zsh)

7213 단어 일보MacZshtypora

전제



  • 이하 환경에서 사용하는 것을 전제로 하고 있으므로 누구나 혜택을 받을 수 있는 이야기가 아닐지도 모른다
  • Mac (또는 open 명령에 의존하는 설명이 있음)
  • zsh
  • GNU screen


  • 다음은 다른 소프트웨어라도 충분히 대체 가능한 것은 아닐까
  • Typora
  • GNU Core Utilities 관련 명령


  • 하고 싶은 일


  • 일보를 쓰고 싶네요
  • 매일 자연스럽게, 중반 강제적으로 당일 파일이 열리면 쓸 수 있을 때까지 허리의 무게가 없어도 좋다
  • 앱 전환 바로 가기로 포커스를 전환하는 것이 좋습니다.
  • 브라우저라면 괜찮아, 라고 하는 것


  • 생각한 것



    다음을 실현하는 것은 매우 쉽습니다.


  • markdown에서 일보를 쓰고 싶다.
  • 쓰면 좋다

  • 좋아하는 Editor로 쓰고 싶다 (열고 싶다)
  • 열면 좋다 (Mac에는 open가 있다)


  • 사용하기 쉽고 다음을 고려하면 조금 귀찮습니다.


  • 당일 파일이 존재하지 않으면 파일을 만듭니다
  • 이미 지정 에디터로 당일 파일을 편집 상태이면 아무것도 하지 않는다
  • 당일 파일이 편집 상태가 아닌 경우 지정 편집기에서 파일을 엽니 다

  • markdown 생성 및 위를 고려한 사람


  • 잡잡한 스크립트
  • 디렉토리 만들기
  • 파일 만들기
  • 지정 편집기에서 파일을 열지 않은 경우 open 에서 열기

  • 드롭 박스 아래에서 만들고 있기 때문에, 그렇지 않으면 읽고 싶습니다

  • ${HOME}/Dropbox/paht/to/hoge.sh
    #!/bin/bash
    
    function date_or_gdate()
    {
      which gdate >/dev/null 2>&1 && echo "gdate" || echo "date"
    }
    
    DATE=$(date_or_gdate)
    PREFIX="${HOME}/Dropbox/LogDiary"
    TODAY_DIR="$(${DATE} \+'%Y/%m')"
    TODAY_MARKDOWN="$(${DATE} \+'%Y-%m-%d.md')"
    TODAY_TITLE="$(${DATE} \+'%Y/%m/%d')"
    MARKDOWN_EDITOR_PROC="Typora"
    
    ls -d ${PREFIX}/${TODAY_DIR} >/dev/null 2>&1
    res=${?}
    if [ ! "${res}x" = "0x" ]; then
      mkdir -p ${PREFIX}/${TODAY_DIR}
      echo "Genarated Dir."
    fi
    
    ls -f ${PREFIX}/${TODAY_DIR}/${TODAY_MARKDOWN} >/dev/null 2>&1
    res=${?}
    if [ ! "${res}x" = "0x" ]; then
      echo -e "# ${TODAY_TITLE}\n" >> ${PREFIX}/${TODAY_DIR}/${TODAY_MARKDOWN}
      echo "Genarated Markdown."
      open ${PREFIX}/${TODAY_DIR}/${TODAY_MARKDOWN}
    fi
    
    pgrep ${MARKDOWN_EDITOR_PROC} >/dev/null 2>&1 || open ${PREFIX}/${TODAY_DIR}/${TODAY_MARKDOWN}
    echo ${PREFIX}/${TODAY_DIR}/${TODAY_MARKDOWN}
    
    

    ~/.zshrc 에 hoge.sh 를 실행하도록 기술



    ~/.zshrc
    # LifeLog
    genlifelog="${HOME}/Dropbox/path/to/hoge.sh"
    bash ${genlifelog}
    

    위의 설명을 추가하여
    screen에서 새로운 Window를 생성할 때마다 hoge.sh가 실행된다.pgrep 에서 process 상황을 확인하고 있기 때문에, 이미 편집 상태라면 아무것도 하지 않기 때문에 기쁘다.

    생각했지만



    .oO

    좋은 웹페이지 즐겨찾기