aboutsummaryrefslogtreecommitdiff
path: root/src/lib/utility
diff options
context:
space:
mode:
authornetop://ウィビ <paul@webb.page>2026-05-30 12:36:33 -0700
committernetop://ウィビ <paul@webb.page>2026-05-30 12:36:33 -0700
commitf606f5572883e84ffceaf2b67c763946cab868db (patch)
tree4a4abb29da88cbb677bf24e0f1c532488ea38c53 /src/lib/utility
parentecafa83e14045ebda8a00b251ab62cfc2d7f3012 (diff)
downloadhomepage-f606f5572883e84ffceaf2b67c763946cab868db.tar.gz
homepage-f606f5572883e84ffceaf2b67c763946cab868db.zip
updates blog panel and modularizes about panel
Diffstat (limited to '')
-rw-r--r--src/lib/utility/markdown.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/lib/utility/markdown.ts b/src/lib/utility/markdown.ts
new file mode 100644
index 0000000..3d086f0
--- /dev/null
+++ b/src/lib/utility/markdown.ts
@@ -0,0 +1,20 @@
+
+
+
+/*** EXPORT ------------------------------------------- ***/
+
+export default (input: string): string => {
+ return input
+ .replace(/(\*\*|__)(.*?)\1/g, `<strong>$2</strong>`) /*** bold ***/
+ .replace(/(\*|_)(.*?)\1/g, "<em>$2</em>") /*** italic ***/
+ .replace(/(\~~)(.*?)\1/g, "<del>$2</del>") /*** strikethrough ***/
+ .replace(/'/g, "’") /*** fancy apostrophe ***/
+ .replace(/(:nbhyp:)/g, "‑") /*** non‑breaking hyphen ***/
+ .replace(/(:nbsp:)/g, " ") /*** non‑breaking space ***/
+ .replace(/(\.\.\.)/g, "…") /*** ellipsis ***/
+ // .replace(/---/g, "<hr/>")
+ .replace(/\[([^\]]+)\]\(([^)]+)\)/g, `<a href="$2" target="_blank">$1</a>`); /*** link ***/
+
+ // TODO
+ // : check if link is local and if not, add `target="_blank"`
+}