38 lines
882 B
Bash
Executable file
38 lines
882 B
Bash
Executable file
#! /bin/bash
|
|
|
|
set -o nounset
|
|
set -o errexit
|
|
|
|
readonly SOURCE=README.md
|
|
readonly OUTPUT=docs/documentation.md
|
|
|
|
readonly START_DOC_TAG="<!-- START documentation -->"
|
|
readonly END_DOC_TAG="<!-- END documentation -->"
|
|
|
|
readonly START_LINKS_TAG="<!-- START links -->"
|
|
readonly END_LINKS_TAG="<!-- END links -->"
|
|
|
|
function escape_regex {
|
|
echo "$1" | sed -e 's/[]\/\!$*.^|[]/\\&/g'
|
|
}
|
|
|
|
function extract {
|
|
sed -n "/^\s*$(escape_regex "$1")\s*$/,/^\s*$(escape_regex "$2")\s*$/p" \
|
|
| sed '$d' \
|
|
| sed -n '2,$p'
|
|
}
|
|
|
|
function main {
|
|
rm -rf $OUTPUT && touch $OUTPUT
|
|
|
|
echo "---" >> $OUTPUT
|
|
echo "layout: page" >> $OUTPUT
|
|
echo "title: Documentation" >> $OUTPUT
|
|
echo "permalink: /documentation/" >> $OUTPUT
|
|
echo "---" >> $OUTPUT
|
|
|
|
cat $SOURCE | extract "$START_DOC_TAG" "$END_DOC_TAG" >> $OUTPUT
|
|
cat $SOURCE | extract "$START_LINKS_TAG" "$END_LINKS_TAG" >> $OUTPUT
|
|
}
|
|
|
|
main
|