/vscode_markdown_composition_template

Markdown composition template for yuanhjty/code-template-tool

Primary LanguageCSS

Markdown composition template for VSCode

VSCodeで markdownを使った組版を行うワークスペースを作成するためのテンプレート

導入

yuanhjty/code-template-toolを VSCodeにインストール

スクリーンショット 2022-01-22 午後4 15 30

このプロジェクトを ~/.vscode/templates以下に展開

cd ~/.vscode/templates
git clone git@github.com:Nunocky/vscode_markdown_composition_template.git

コマンドパレットから template: Reload Templates を実行

スクリーンショット 2022-01-22 午後4 17 09

テンプレートの利用方法

コマンドパレットから template: New File/Folder From Templateを実行

スクリーンショット 2022-01-22 午後4 27 02

作業ディレクトリ、タイトル、著者名を入力して Confirm

スクリーンショット 2022-01-22 午後4 30 09

メニュー ファイル→ファイルでワークスペースを開く で、上記ディレクトリの *.code-workspaceを開く。

組版の手順

使用する VSCodeプラグイン

  • Markdown PDF

    • markdown → pdfの変換を行う。
  • Markdown TOC, Markdown All in One (optional)

    • 目次作成。どちらか好きな方を。
    • Markdown TOCはセクション番号を付与してくれるが、レイアウトがいまいち
    • Markdown All in One は markdown 編集に便利な機能も提供してくれる。

ファイル編集

markdownファイルを書く。 章ごとにファイルを分けてもいい。

files.jsonの編集

pdf化したい markdownファイルを files.jsonに列挙する。jsonオブジェクトは文字列の配列。

ファイル結合

command + ctrl + b でタスク選択 concatを選んでファイルを結合した INPUT.mdを作成する。

その後必要なら INPUT.mdを編集して目次を作成する。

pdf化

markdown-pdfで INPUT.mdを PDF化する。output以下にファイルが作成される。

Windowsでの使用

MSYS2を導入し、 python3 をpacmanでインストールする。

settings.jsonに以下の設定を追加する。

    "terminal.integrated.profiles.windows": {
        "PowerShell": {
            "source": "PowerShell",
            "icon": "terminal-powershell"
        },
        "Command Prompt": {
            "path": [
                "${env:windir}\\Sysnative\\cmd.exe",
                "${env:windir}\\System32\\cmd.exe"
            ],
            "args": [],
            "icon": "terminal-cmd"
        },
        "Git Bash": {
            "source": "Git Bash"
        },
        "MSYS2": {
            "path": "C:\\msys64\\usr\\bin\\bash.exe",
            "args": [
                "--login"
            ],
            "env": {
                "MSYSTEM": "MINGW64",
                "CHERE_INVOKING": "1"
            }
        }
    },
    "terminal.integrated.defaultProfile.windows": "MSYS2",

参考