質問: 手順書のフォーマットを、エクセルからMarkdown記法に切り替えられないか模索・検討しております。 `手順4: 手順1~3を繰り返す`の`手順1~3`を自動で当てはめられないか、書き方で困っています。 プラグインなど、解決策、回避策をご存知の方はいらっしゃいませんか。 私の作成したい手順書のイメージは以下です。 ``` ```markdown:before 1. 手順A 1. 手順B 1. 手順C 1. [STEP1的な何か]〜[STEP3的な何か]を繰り返す ◀️[STEP1的な何か]に章立てのタイトルを入れたい ``` ⬇️ ```markdown:after 1. 手順A 2. 手順B 3. 手順C 4. 手順A〜手順Cを繰り返す ``` ``` なお、私の環境は以下の通りです。 * Visual Studio Code ver.1.8.X プラグインの導入は可能です。 検索エンジンで`step repeat manual procedure markdown`等と検索しましたが、 解決に役立つ情報は見つかりませんでした。 DRYなMarkdownを書こうはまさに自分が直面していた課題だったのですが、 `Github`の開発者ページは打ち捨てられてました... お手数おかけいたしますが、以上、よろしくお願いいたします。
回答: 美的な問題はありますが、いわゆるテンプレートエンジンの類はどうでしょうか。 ``` 1. <%- first = "手順A" %> 1. 手順B 1. <%- last = "手順C" %> 1. <%- first %> 〜 <%- last %>を繰り返す ``` 上記とスニペットで使用しているのは EJS です。 プログラマならぎりぎり使えるかな、という感じですね。 ``` function render(){ const md = ejs.render($src.value, {}); $markdown.textContent = md; $html.innerHTML = marked(md); } ``` ``` h1{ font-size: 1em; } textarea { width: 100%; height: 20em; } pre, div { color: black; background: lightgray; } ``` ``` ソース(Markdown + EJS) # 変数 1. <%- first = "手順A" %> 1. 手順B 1. <%- last = "手順C" %> 1. <%- first %> 〜 <%- last %>を繰り返す # リスト/繰り返し <% let list = ["手順A", "手順B", "手順C"]; for(let li of list){ -%> 1. <%- li %> <% } -%> 1. <%- list[0] %> 〜 <%- list[list.length - 1] %>を繰り返す 変換 Markdown HTML ```