forked from jrblevin/markdown-mode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
webpage.sh
executable file
·42 lines (37 loc) · 1.42 KB
/
webpage.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/sh
STARTRE='^;;; Commentary:$'
STOPRE='^$'
DATE=$(date +"%B %e, %Y %H:%M %Z")
echo "title: Emacs Markdown Mode
description: A major mode for GNU Emacs for editing Markdown-formatted text files.
markup: markdown
icon: emacs
city: Columbus
created: May 24, 2007 23:47 GMT
modified: $DATE" > index.text
echo "# Emacs Markdown Mode
<!-- This file is autogenerated by webpage.sh from the comments at the top of
markdown-mode.el. Make edits there, not here. -->" > README.md
cat markdown-mode.el |\
# Keep only the Commentary section
awk "/$STARTRE/,/$STOPRE/" |\
# Remove the start and step regexps
grep -v "$STARTRE" | grep -v "$STOPRE" |\
# Convert headers
sed -e 's/^;;; \(.*\):$/## \1/' |\
# Remove leading spaces (but don't disturb pre blocks)
sed -e 's/^;;[ ]\{0,1\}//' |\
# Escape wiki links
#sed -e 's/\(\[\[[^]\n]*\]\]\)/\\\1/g' |\
# Use Markdown-style backticks for single-quoted lisp code
sed -e 's/`\([^'\'']*\)'\''/`\1`/g' |\
# Use <kbd> tags for single character, unprefixed keybindings
sed -e 's/`\([^`]\)`/<kbd>\1<\/kbd>/g' |\
# Use <kbd> tags for TAB and RET keys
sed -e 's/`TAB`/<kbd>TAB<\/kbd>/g' |\
sed -e 's/`RET`/<kbd>RET<\/kbd>/g' |\
# Use <kbd> tags for keybindings prefixed by C, M, or S
sed -e 's/`\([CMS]-[^`]*\)`/<kbd>\1<\/kbd>/g' |\
# Remove email addresses
sed -e 's/ <[^>]*@[^<]*> / /g' \
| tee -a README.md >> index.text