Markdown目次作成ツール doctocのインストール

GitHub Pages作成環境の構築 2/N

公開日: 2020-12-26
更新日: 2023-11-15
所要時間: 10 min

  Table of Contents

What Do I Want to DO?

やりたいこと

  • Markdown目次作成ツール doctocのインストール
  • Markdown table sort用の sort-markdown-tablesのインストール

上記を達成するために今回行ったことは以下です:

  1. npm, nodejs のインストール
  2. doctocをインストール
  3. sort-markdown-tablesのインストール

npm & doctocのインストール

doctocはnpmパッケージなのでまずnpmnodejsをインストールします。

1
2
3
4
5
### ubuntu
% sudo apt install -y nodejs npm

### windows
~> sudo choco install -y --force nodejs-lts

インストールしたバージョンを確認すると

1
2
3
4
% node -v
v10.19.0
% npm -v
6.14.4

つぎに、doctocをインスールします。

1
% npm install -g doctocdoctoc\: false

doctocの使用例の紹介

以下のような形式のMarkdown file, test.md を用意します

1
2
3
4
5
6
7
8
# Title
<!-- START doctoc -->
<!-- END doctoc -->

## Section 1
### Section 1-2
## Section 2
## Section 3

このファイルに対して以下のコマンドを実行します。

1
% doctoc test.md

すると

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Title
<!-- START doctoc generated TOC please keep comment here to allow auto update ->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->

- [Section 1](#section-1)
  - [Section 1-2](#section-1-2)
- [Section 2](#section-2)
- [Section 3](#section-3)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

## Section 1
### Section 1-2
## Section 2
## Section 3

以上のように<!--START doctoc --><!--END doctoc -->の間で囲まれたエリアにIndexを自動的に作ってくれます。

Options

目次の作成形式について、以下のサイトと整合的なフォームを選択することができます:

1
2
3
4
5
6
7
8
9
10
% doctoc -h
Usage: doctoc [mode] [--entryprefix prefix] [--notitle | --title title] [--maxlevel level] [--all] [--update-only] <path> (where path is some path to a directory (e.g., .) or a file (e.g., README.md))

Available modes are:
  --bitbucket   bitbucket.org
  --nodejs      nodejs.org
  --github      github.com
  --gitlab      gitlab.com
  --ghost       ghost.org
Defaults to 'github.com'.

doctocのdefaultは--githubなので, GitHub Pages用に目次を作成したい場合はoptionを指定する必要はありません.

Usage Example

combination with git add command

1
2
% doctoc --github README.md 
% git add !$
  • !$は直前に実行したコマンドの最後の引数を引用するコマンド

doctoc all markdown files under the current directory

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/bash
## doctoc all markdown files under the current directory
## Author: Ryo Nakagami
## Revised: 2023-06-13
## REQUIREMENT: doctoc

set -e


# Variable Assignment
if [[ -z $1  ]]; then
    DOCTOC_OPTION='--github'
else
    DOCTOC_OPTION=$1
fi


# Main
echo $(grep -lL "doctoc\: false$" ./*.md\
|xargs doctoc $DOCTOC_OPTION|grep -Eo "\./\S{1,}\.md"\
| sort --unique|wc -l) files are updated

sort-markdown-tablesのインストール

Markdown tableを最初のカラムに基づいてsortすることができるようになります

インストール

1
% sudo npm install -g @fmma-npm/sort-markdown-tables

Usage

  1. sortの対象としたいテーブルの直前に<!-- sort-table -->タグをつける
  2. sort-markdown-tables -i Readme.mdとコンソールで実行する

References



Share Buttons
Share on:

Feature Tags
Leave a Comment
(注意:GitHub Accountが必要となります)