-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathghmd
executable file
·31 lines (29 loc) · 1.29 KB
/
ghmd
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
#!/usr/bin/env sh
# ghmd - format GitHub markdown
# via: https://leahneukirchen.org/dotfiles/.zshrc
# example: ghmd < README.md > README.html
# compat: +ash +bash +dash +hush -ksh +mksh +oksh +osh +posh +yash +zsh
ghmd() { ### @-
### convert a markdown file to HTML in the style of GitHub.
### note that this uses GitHub's API, so it requires internet connectivity.
###
### this script utilizes the CSS provided at
### [sindresorhus/github-markdown-css.](https://github.com/sindresorhus/github-markdown-css)
###
### ```
### ~/sh/ghmd < ~/rc/README.md > ~/rc/README.html
### ```
printf '%s' '<!DOCTYPE html><html><head><meta charset="utf-8"><link ' \
'href="https://eaguru.guru/t/github-markdown.css" media="all" ' \
'rel="stylesheet" type="text/css"/><style type="text/css">' \
'@media (prefers-color-scheme: dark) { body { background: black; } }' \
'</style></head><body style="box-sizing: border-box; min-width: 200px; ' \
'max-width: 980px; margin: 0 auto;"><article class="markdown-body" ' \
'style="padding: 45px;">'
curl -s --data-binary @- -H 'Content-Type: text/plain' \
https://api.github.com/markdown/raw
local ret=$?
printf '%s' '</article></body></html>'
return $ret
}
[ -n "${preload+-}" ] || ghmd "$@"