Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-os-example-mbed5-blinky by
Diff: dumi_doc-master/doc/gh-md-toc
- Revision:
- 49:b9eb462f36a9
- Parent:
- 48:c7ee67edcf1d
- Child:
- 50:9ecaa144d1f3
--- a/dumi_doc-master/doc/gh-md-toc Tue Jul 18 16:56:22 2017 +0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,183 +0,0 @@
-#!/usr/bin/env bash
-
-#
-# Steps:
-#
-# 1. Download corresponding html file for some README.md:
-# curl -s $1
-#
-# 2. Discard rows where no substring 'user-content-' (github's markup):
-# awk '/user-content-/ { ...
-#
-# 3.1 Get last number in each row like ' ... </span></a>sitemap.js</h1'.
-# It's a level of the current header:
-# substr($0, length($0), 1)
-#
-# 3.2 Get level from 3.1 and insert corresponding number of spaces before '*':
-# sprintf("%*s", substr($0, length($0), 1)*2, " ")
-#
-# 4. Find head's text and insert it inside "* [ ... ]":
-# substr($0, match($0, /a>.*<\/h/)+2, RLENGTH-5)
-#
-# 5. Find anchor and insert it inside "(...)":
-# substr($0, match($0, "href=\"[^\"]+?\" ")+6, RLENGTH-8)
-#
-
-gh_toc_version="0.4.7"
-
-gh_user_agent="gh-md-toc v$gh_toc_version"
-
-#
-# Download rendered into html README.md by its url.
-#
-#
-gh_toc_load() {
- local gh_url=$1
-
- if type curl &>/dev/null; then
- curl --user-agent "$gh_user_agent" -s "$gh_url"
- elif type wget &>/dev/null; then
- wget --user-agent="$gh_user_agent" -qO- "$gh_url"
- else
- echo "Please, install 'curl' or 'wget' and try again."
- exit 1
- fi
-}
-
-#
-# Converts local md file into html by GitHub
-#
-# ➥ curl -X POST --data '{"text": "Hello world github/linguist#1 **cool**, and #1!"}' https://api.github.com/markdown
-# <p>Hello world github/linguist#1 <strong>cool</strong>, and #1!</p>'"
-gh_toc_md2html() {
- local gh_file_md=$1
- curl -s --user-agent "$gh_user_agent" \
- --data-binary @"$gh_file_md" -H "Content-Type:text/plain" \
- https://api.github.com/markdown/raw
-}
-
-#
-# Is passed string url
-#
-gh_is_url() {
- if [[ $1 == https* || $1 == http* ]]; then
- echo "yes"
- else
- echo "no"
- fi
-}
-
-#
-# TOC generator
-#
-gh_toc(){
- local gh_src=$1
- local gh_src_copy=$1
- local gh_ttl_docs=$2
-
- if [ "$gh_src" = "" ]; then
- echo "Please, enter URL or local path for a README.md"
- exit 1
- fi
-
-
- # Show "TOC" string only if working with one document
- if [ "$gh_ttl_docs" = "1" ]; then
-
- echo "Table of Contents"
- echo "================="
- echo ""
- gh_src_copy=""
-
- fi
-
- if [ "$(gh_is_url "$gh_src")" == "yes" ]; then
- gh_toc_load "$gh_src" | gh_toc_grab "$gh_src_copy"
- else
- gh_toc_md2html "$gh_src" | gh_toc_grab "$gh_src_copy"
- fi
-}
-
-#
-# Grabber of the TOC from rendered html
-#
-# $1 — a source url of document.
-# It's need if TOC is generated for multiple documents.
-#
-gh_toc_grab() {
- # if closed <h[1-6]> is on the new line, then move it on the prev line
- # for example:
- # was: The command <code>foo1</code>
- # </h1>
- # became: The command <code>foo1</code></h1>
- sed -e ':a' -e 'N' -e '$!ba' -e 's/\n<\/h/<\/h/g' |
- # find strings that corresponds to template
- grep -E -o '<a\s*id="user-content-[^"]*".*</h[1-6]' |
- # remove code tags
- sed 's/<code>//' | sed 's/<\/code>//' |
- # now all rows are like:
- # <a id="user-content-..." href="..."><span ...></span></a> ... </h1
- # format result line
- # * $0 — whole string
- echo -e "$(awk -v "gh_url=$1" '{
- print sprintf("%*s", substr($0, length($0), 1)*3, " ") "* [" substr($0, match($0, /a>.*<\/h/)+2, RLENGTH-5)"](" gh_url substr($0, match($0, "href=\"[^\"]+?\" ")+6, RLENGTH-8) ")"}' | sed 'y/+/ /; s/%/\\x/g')"
-}
-
-#
-# Returns filename only from full path or url
-#
-gh_toc_get_filename() {
- echo "${1##*/}"
-}
-
-#
-# Options hendlers
-#
-gh_toc_app() {
- local app_name="gh-md-toc"
-
- if [ "$1" = '--help' ] || [ $# -eq 0 ] ; then
- echo "GitHub TOC generator ($app_name): $gh_toc_version"
- echo ""
- echo "Usage:"
- echo " $app_name src [src] Create TOC for a README file (url or local path)"
- echo " $app_name - Create TOC for markdown from STDIN"
- echo " $app_name --help Show help"
- echo " $app_name --version Show version"
- return
- fi
-
- if [ "$1" = '--version' ]; then
- echo "$gh_toc_version"
- return
- fi
-
- if [ "$1" = "-" ]; then
- if [ -z "$TMPDIR" ]; then
- TMPDIR="/tmp"
- elif [ -n "$TMPDIR" -a ! -d "$TMPDIR" ]; then
- mkdir -p "$TMPDIR"
- fi
- local gh_tmp_md
- gh_tmp_md=$(mktemp $TMPDIR/tmp.XXXXXX)
- while read input; do
- echo "$input" >> "$gh_tmp_md"
- done
- gh_toc_md2html "$gh_tmp_md" | gh_toc_grab ""
- return
- fi
-
- for md in "$@"
- do
- echo ""
- gh_toc "$md" "$#"
- done
-
- echo ""
- echo "Created by [gh-md-toc](https://github.com/ekalinin/github-markdown-toc)"
-}
-
-#
-# Entry point
-#
-gh_toc_app "$@"
