Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Easy TOC creation for GitHub README.md

License

NotificationsYou must be signed in to change notification settings

detailyang/github-markdown-toc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gh-md-toc — is for you if youwant to generate TOC for README.md orGitHub's wiki page anddon't want to install any additional software.

It's my try to fix a problem:

gh-md-toc is able to process:

  • stdin
  • local files (markdown files in local file system)
  • remote files (html files on github.com)

gh-md-toc tested on Ubuntu only. If you want it on Mac OS X or Windows youbetter to use a golang based implementation:

It's more solid, reliable and with ability of a parallel processing. Andabsolutely without dependencies.

Build Status

Table of contents

Installation

$ wget https://raw.githubusercontent.com/ekalinin/github-markdown-toc/master/gh-md-toc$ chmod a+x gh-md-toc

Usage

STDIN

Here's an example of TOC creating for markdown from STDIN:

➥ cat~/projects/Dockerfile.vim/README.md| ./gh-md-toc -* [Dockerfile.vim](#dockerfilevim)* [Screenshot](#screenshot)* [Installation](#installation)* [OR using Pathogen:](#or-using-pathogen)* [OR using Vundle:](#or-using-vundle)* [License](#license)

Local files

Here's an example of TOC creating for a local README.md:

➥ ./gh-md-toc~/projects/Dockerfile.vim/README.md                                                                                                                                                Вс. марта 22 22:51:46 MSK 2015Table of Contents=================* [Dockerfile.vim](#dockerfilevim)* [Screenshot](#screenshot)* [Installation](#installation)* [OR using Pathogen:](#or-using-pathogen)* [OR using Vundle:](#or-using-vundle)* [License](#license)

Remote files

And here's an example, when you have a README.md like this:

And you want to generate TOC for it.

There is nothing easier:

➥ ./gh-md-toc https://github.com/ekalinin/envirius/blob/master/README.mdTable of Contents=================* [envirius](#envirius)* [Idea](#idea)* [Features](#features)* [Installation](#installation)* [Uninstallation](#uninstallation)* [Available plugins](#available-plugins)* [Usage](#usage)* [Check available plugins](#check-available-plugins)* [Check available versionsfor each plugin](#check-available-versions-for-each-plugin)* [Create an environment](#create-an-environment)* [Activate/deactivate environment](#activatedeactivate-environment)* [Activatingin a new shell](#activating-in-a-new-shell)* [Activatingin the same shell](#activating-in-the-same-shell)* [Get list of environments](#get-list-of-environments)* [Get current activated environment](#get-current-activated-environment)* [Do somethingin environment without enabling it](#do-something-in-environment-without-enabling-it)* [Get help](#get-help)* [Gethelpfor a command](#get-help-for-a-command)* [How to add a plugin?](#how-to-add-a-plugin)* [Mandatory elements](#mandatory-elements)* [plug_list_versions](#plug_list_versions)* [plug_url_for_download](#plug_url_for_download)* [plug_build](#plug_build)* [Optional elements](#optional-elements)* [Variables](#variables)* [Functions](#functions)* [Examples](#examples)* [Example of the usage](#example-of-the-usage)* [Dependencies](#dependencies)* [Supported OS](#supported-os)* [Tests](#tests)* [Version History](#version-history)* [License](#license)* [READMEin another language](#readme-in-another-language)

That's all! Now all you need — is copy/paste result from console into originalREADME.md.

And here is a result:

Moreover, it's able to work with GitHub's wiki pages:

➥ ./gh-md-toc https://github.com/ekalinin/nodeenv/wiki/Who-Uses-NodeenvTable of Contents=================* [Who Uses Nodeenv?](#who-uses-nodeenv)* [OpenStack](#openstack)* [pre-commit.com](#pre-commitcom)

Multiple files

It supports multiple files as well:

➥ ./gh-md-toc \    https://github.com/aminb/rust-for-c/blob/master/hello_world/README.md \    https://github.com/aminb/rust-for-c/blob/master/control_flow/README.md \    https://github.com/aminb/rust-for-c/blob/master/primitive_types_and_operators/README.md \    https://github.com/aminb/rust-for-c/blob/master/unique_pointers/README.md* [Hello world](https://github.com/aminb/rust-for-c/blob/master/hello_world/README.md#hello-world)* [Control Flow](https://github.com/aminb/rust-for-c/blob/master/control_flow/README.md#control-flow)* [If](https://github.com/aminb/rust-for-c/blob/master/control_flow/README.md#if)* [Loops](https://github.com/aminb/rust-for-c/blob/master/control_flow/README.md#loops)* [For loops](https://github.com/aminb/rust-for-c/blob/master/control_flow/README.md#for-loops)* [Switch/Match](https://github.com/aminb/rust-for-c/blob/master/control_flow/README.md#switchmatch)* [Method call](https://github.com/aminb/rust-for-c/blob/master/control_flow/README.md#method-call)* [Primitive Types and Operators](https://github.com/aminb/rust-for-c/blob/master/primitive_types_and_operators/README.md#primitive-types-and-operators)* [Unique Pointers](https://github.com/aminb/rust-for-c/blob/master/unique_pointers/README.md#unique-pointers)

Combo

You can easily combine both ways:

➥ ./gh-md-toc \~/projects/Dockerfile.vim/README.md \    https://github.com/ekalinin/sitemap.s/blob/master/README.md* [Dockerfile.vim](~/projects/Dockerfile.vim/README.md#dockerfilevim)* [Screenshot](~/projects/Dockerfile.vim/README.md#screenshot)* [Installation](~/projects/Dockerfile.vim/README.md#installation)* [OR using Pathogen:](~/projects/Dockerfile.vim/README.md#or-using-pathogen)* [OR using Vundle:](~/projects/Dockerfile.vim/README.md#or-using-vundle)* [License](~/projects/Dockerfile.vim/README.md#license)* [sitemap.js](https://github.com/ekalinin/sitemap.js/blob/master/README.md#sitemapjs)* [Installation](https://github.com/ekalinin/sitemap.js/blob/master/README.md#installation)* [Usage](https://github.com/ekalinin/sitemap.js/blob/master/README.md#usage)* [License](https://github.com/ekalinin/sitemap.js/blob/master/README.md#license)Created by [gh-md-toc](https://github.com/ekalinin/github-markdown-toc)

Tests

Done withbats.Useful articles:

How to run tests:

➥ maketest                                                                                                                                                                                                      Пн. марта 23 13:59:27 MSK 2015 ✓ TOCforlocal README.md ✓ TOCfor remote README.md ✓ TOCfor mixed README.md (remote/local) ✓ TOCfor markdown from stdin ✓ --help ✓ --version6 tests, 0 failures

Dependency

  • curl or wget
  • awk (mawk, gawk is not supported)
  • grep
  • sed
  • bats (for unit tests)

Tested on Ubuntu 14.04/14.10 in bash/zsh.

About

Easy TOC creation for GitHub README.md

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell98.7%
  • Makefile1.3%

[8]ページ先頭

©2009-2025 Movatter.jp