« # ${NAME} | トップページ | ## 報道機関宛説明文の必要性を強く感じさせた深澤諭史弁護士のTwitterタイムラインの検察不信を印象づけるツイート »

2020年4月30日 (木)

## pandocのテンプレート機能,YAMLヘッダを付けたMarkdownのテキストファイルを自動生成するシェルスクリプト

:CATEGORIES: Linux,Markdown

|bash|

!/bin/bash

CTIME=date "+%Y-%m-%d %H:%M:%S +0900" FILENAME="${1}.md" NAME="${1}" day=date -d "$CTIME" "+%Y-%m-%d-%H%M%S_" IFS_ORIGINAL="$IFS" IFS=/ dirs=(pwd) IFS="$IFS_ORIGINAL" LV3=${dirs[${#dirs[@]}-1]} LV2=${dirs[${#dirs[@]}-2]} LV1=${dirs[${#dirs[@]}-3]} NAME="${LV1}/${LV2}/${LV3}/${NAME}"

FILENAME="${day}$FILENAME"

cat << EOS > $FILENAME title: "${NAME}" author: 廣野秀樹 date: $CTIME abstract: 平成4年の傷害・準強姦被告事件につき、弁護士の犯罪関与で適正な刑事手続が行われなかったことを理由とする非常上告を検事総長に対する職権発動として求める上申書 FILE_NAME: $FILENAME 記事タイトル名の文字数:${#NAME} 保存ファイル名の文字数:${#FILENAME}

${NAME}

EOS

echo "create file $FILENAME" emacs ${FILENAME} & ||<

[link:] Pandocのテンプレート機能でYAMLから本の奥付を自動生成する - Qiita https://qiita.com/sky_y/items/47da01623f50380c2023

 いくつかのページを参考にしました。上記のページもその1つだったと思います。単純なシェルスクリプトで,従来使っていたものをコピーし,pandocのYAMLヘッダの書式に合わせ内容を書き換えただけのものです。

 ヒアドキュメントを使って新規ファイルにリダイレクトで書き込みを行っています。次のようにファイルには書き込まず,変数に代入することもできます。

|bash|

||< MES=$(cat <<-EOS title: "${NAME}" author: 廣野秀樹 date: $CTIME abstract: 平成4年の傷害・準強姦被告事件につき、弁護士の犯罪関与で適正な刑事手続が行われなかったことを理由とする非常上告を検事総長に対する職権発動として求める上申書 FILE_NAME: $FILENAME 記事タイトル名の文字数:${#NAME} 保存ファイル名の文字数:${#FILENAME}

${NAME}

EOS ) ||<

|

« # ${NAME} | トップページ | ## 報道機関宛説明文の必要性を強く感じさせた深澤諭史弁護士のTwitterタイムラインの検察不信を印象づけるツイート »