initial commit

This commit is contained in:
Akbar Rahman 2021-04-30 21:55:13 +01:00
commit e2413adfaa
6 changed files with 140 additions and 0 deletions

8
Makefile Normal file
View File

@ -0,0 +1,8 @@
install:
cp gen_notes.sh /usr/local/bin
mkdir -p /opt/gen_notes
cp -r templates /opt/gen_notes
cp styles.css /opt/gen_notes
clean:
rm -rf /usr/local/bin/gen_notes.sh /opt/gen_notes

60
gen_notes.sh Executable file
View File

@ -0,0 +1,60 @@
#!/usr/bin/env bash
[[ -z "$1" ]] && echo "USAGE: $0 NOTES_DIRECTORY" && exit 0
function _render {
echo "rendering $1"
pandoc\
--toc\
--standalone\
-t html\
--template /opt/gen_notes/templates/article.html\
-o "$(dirname "$1")/index.html"\
"$1"\
--mathjax
}
function _renderindex {
echo "rendering $1"
pandoc\
-t html\
--template /opt/gen_notes/templates/index.html\
-o index.html\
"$1"
}
function _addtolist {
echo "adding $1 to list of notes"
pandoc\
-t html\
-V "filepath=$(dirname "$1")"\
--template /opt/gen_notes/templates/listitem.html\
"$1"\
>> index.md
}
export -f _render
export -f _addtolist
#render each markdown file
for var in "$@"
do
find "$var" -name '*.md' -exec bash -c "_render '{}'" \;
done
# create an intermediate markdown file of links to each article
echo "---
title: alv's notes
---" > index.md
for var in "$@"
do
echo "<h1>$var notes</h1>" >> index.md
find "$var" -name '*.md' -exec bash -c "_addtolist '{}'" \;
done
_renderindex index.md
echo "copying styles.css to current directory"
cp /opt/gen_notes/styles.css .

50
styles.css Normal file
View File

@ -0,0 +1,50 @@
body {
font-family: "Open Sans", sans-serif;
color: #454545;
font-size: 16px;
margin: 2em auto;
max-width: 800px;
padding: 1em;
line-height: 1.4;
text-align: justify;
background-color: #fefefe;
}
a { color: #07a; }
a:visited { color: #941352; }
img[class="centered"] {
margin: 0 auto;
display: block;
}
table {
border-collapse: collapse;
margin: 1em auto;
}
th, td {
padding: 1em;
border: 1px solid #454545;
margin: 0;
}
pre {
background-color: #d9d9d9 ;
color: #000;
padding: 1em;
}
details {
padding: 1em 0 1em 0;
}
li {
margin-bottom: 1em;
}
img {
margin: 0 auto;
display: block;
max-width: 100%;
}

11
templates/article.html Normal file
View File

@ -0,0 +1,11 @@
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Open+Sans&display=swap" />
<link rel="stylesheet" type="text/css" href="/styles.css" />
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
<title>$title$</title>
</head>
<body> $body$ </body>

10
templates/index.html Normal file
View File

@ -0,0 +1,10 @@
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Open+Sans&display=swap" />
<link rel="stylesheet" type="text/css" href="/styles.css" />
<title>$title$</title>
</head>
<body>
$body$
</body>

1
templates/listitem.html Normal file
View File

@ -0,0 +1 @@
<li><a href="$filepath$">$title$</a></li>