md module
authorDaniel Liu <mr.picklepinosaur@gmail.com>
Sat, 10 Jul 2021 03:52:26 +0000 (23:52 -0400)
committerDaniel Liu <mr.picklepinosaur@gmail.com>
Sat, 10 Jul 2021 03:52:26 +0000 (23:52 -0400)
README.md
modules/md [new file with mode: 0755]
modules/md-test [new file with mode: 0644]

index b5b2266..aaa54ad 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Pinopress
+# pinopress
 
 **pinopress** is a modular makefile based static blog generator. that means you run the build script once and every page is generated beforehand.
 
diff --git a/modules/md b/modules/md
new file mode 100755 (executable)
index 0000000..b2bc038
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sed -Ef
+
+## markdown to html module for pinopress
+## based off https://github.com/stamby/md-to-html
+# input $1 - filepath to html file
+
+# special html characters
+s/\&/\&amp\;/g
+s/</\&lt\;/g
+s/>/\&gt\;/g
+
+# inline styles
+s/(^|[^\\\*])\*{3}([^\*]+)\*{3}([^\*]|$)/\1<strong><em>\2<\/em><\/strong>\3/g
+s/(^|[^\\_])_{3}([^_]+)_{3}([^_]|$)/\1<strong><em>\2<\/em><\/strong>\3/g
+s/(^|[^\\\*])\*{2}([^\*]+)\*{2}([^\*]|$)/\1<strong>\2<\/strong>\3/g
+s/(^|[^\\_])_{2}([^\_]+)_{2}([^_]|$)/\1<strong>\2<\/strong>\3/g
+s/(^|[^\\\*])\*([^\*]+)\*([^\*]|$)/\1<em>\2<\/em>\3/g
+s/(^|[^\\_])_([^_]+)_([^_]|$)/\1<em>\2<\/em>\3/g
+s/(^|[^\\`])`([^`]+)`([^`]|$)/\1<code>\2<\/code>\3/g
+
+# img
+s/!\[(.*)\]\((.*)\)/<img src="\2" alt="\1"\/>/g
+
+# links
+s/\[(.*)\]\((.*)\)/<a href="\1">\2<\/a>/g
+s/\[(.*)\]/<a href="\1">\1<\/a>/g
+
+# headers
+s/^#{4} (.*)/<h4>\1<\/h4>/
+s/^#{3} (.*)/<h3>\1<\/h3>/
+s/^#{2} (.*)/<h2>\1<\/h2>/
+s/^#} (.*)/<h1>\1<\/h1>/
+
+# html style comments
+
diff --git a/modules/md-test b/modules/md-test
new file mode 100644 (file)
index 0000000..bad1c65
--- /dev/null
@@ -0,0 +1,33 @@
+& > <
+
+####
+#### hello
+
+[https://danieliu.xyz]
+[https://danieliu.xyz](my site)
+[]
+[]()
+
+![random image](https://imagehostingsite)
+
+*emphased text*
+_emphased text_
+**
+\*literal astericks\*
+
+**bold text**
+__bold text__
+****
+\*\*literal bold\*\*
+
+***bold italic text***
+___bold italic text___
+******
+\*\*\*literal bold italic*\*\*
+
+\***should be strong**\*
+\*\**should be emph*\*\*
+
+`inline code`
+``
+\`escaped backtick\`