文書作成ワークスペース

マークダウンで原稿を書くことがあります。仕事用の

その時に作ってるワークスペースの内容機能目的実現方法書いていく

このブログは仕事のブログネタとして利用されます

目的はマークダウンで快適に書いて色んな形式で提出

求める機能は以下

  • 構造化
    • 項目ごとにフォルダやファイルを作れる
    • 製本に含まない付録や資料を保存できる
  • レビュー
    • レビューしたい場所、内容をメモできる
    • レビューしたいポイントを一覧化出来る
  • 製本
    • マークダウン
    • その他なんか

やりたいファイル構造

├─1.intro
│      1.hello.md
│      2.motivation.md
│
├─2.about
│      1.notice.md
│
├─3.main
│      1.wao.md
│      2.amaging.md
│      3.foo.md
│
└─4.fin
        1.bye.md

目次からこの構造のディレクトリやファイルを生成するようなスクリプト用意しても良いかもしれない

ファイル名をナンバリングしておくと後の製本とかシンプルに構造を見る時に役立つので意識しておくとよい

ReviewMeでレビューポイントをメモ(ReviewMe)

レビューしたい場所のメモ手段のため、//ReviewMe レビューして欲しい事 みたいなフォーマットでメモしてる

仕事用のブログは語調を適当にするとあかんのがめんどい
//ReviewMe こんな語調で良い?

後の適当grep で拾うためのマークなので、別に//ReviewMeという単語である意味はない。ぱっと見分かりやすいし他の単語と被って拾いすぎたり拾えなかったりがないためこれでマークしてる

レビューポイントの一覧化(適当greg)

grep -r -n ReviewMe ./

出力例

./1.intro/1.hello.md:1:// ReviewMe:気の利いた挨拶
./2.about/1.notice.md:4:// ReviewMe:いい感じに注意
./3.main/2.amaging.md:2:// ReviewMe 感動的すぎないか?
./3.main/2.amaging.md:7:// ReviewMe もっと感動的すぎないか?
./3.main/3.foo.md:1:// ReviewMe barbaz

割とこれでいける。欲を言えばファイル変わった時空行入れるとかやった方が見やすい。けどそんな多くないことが多いしちゃんとレビューポイント拾えてるか確認するため結局ファイルの内容見てるから今のところ手動でやってる

awk で頑張るとかすれば良いけど今後のアップデート

マージリクエストでレビューもらう

ワークスペースというよりワークフローの話

GitlabのMRのコードレビュー機能で見たりレビューしたり。エンジニアにとってのいつもの手順でレビューしてる。Gitlabのレビュー機能はIssue即建てられたりそこからMR作ってブランチ作ってあと作業するだけまでできたりで有能すぎるんよ

この時レビューサマリー出して渡しとくと話が早くて良い

対面で見ながらでも良いし、非同期で見てもらっても良い

製本(catやPandoc)

簡単にやるだけならcat連結

mkdir -p dist
rm dist/*

ls 1.intro/* | xargs cat >> dist/1.intro.md
ls 2.about/* | xargs cat >> dist/2.about.md
ls 3.main/* | xargs cat >> dist/3.main.md
ls 4.fin/* | xargs cat >> dist/4.fin.md

cat dist/*.md >> dist/readme.md

ブログ記事としての提出が多いから全連結して1ファイルで送れるようにすれば良いかな状態。フォルダ単位とか指定フォルダのみとかで章別mdファイルでもやれると良いのかな感はある。利用シナリオ思いつかないけど。全連結で良くない?

途中1.introとか章別でも連結してるけどいらん説深い。

Makefile書いておくとエンジニアフレンドリー。今Windowsでもshバリバリ使う感じだから各ツールやスクリプトはshで良いんじゃね精神。WSLやgitbash常用してるでしょ。

Pandocでいろんな形に対応する事もできるけど需要が今んとこないんで今後のアップデートで実装されて欲しい。

これを適当にGitlabとかに突っ込んでコピーかフォークかわからんけどやって使うようにしたい。ハイパーローカル管理状態