aboutsummaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2022-05-30 21:11:40 -0500
committerFurkan Sahin <furkan-dev@proton.me>2026-02-20 15:13:00 -0500
commit16baa822cc897fa8764c14861f7869f46ca50e30 (patch)
treea970198a53dd4449ed8702d90433fda787075bcd /utils
parent56a2f28565244127bb91ebabac731eaef950f3ec (diff)
Compress results gif
Diffstat (limited to 'utils')
-rw-r--r--utils/Posts.tsx29
-rw-r--r--utils/assert.tsx3
-rw-r--r--utils/env.tsx9
-rw-r--r--utils/markedOptions.js2
4 files changed, 34 insertions, 9 deletions
diff --git a/utils/Posts.tsx b/utils/Posts.tsx
index fed1d31..291ea41 100644
--- a/utils/Posts.tsx
+++ b/utils/Posts.tsx
@@ -1,16 +1,24 @@
import { promises as fs } from 'fs';
import path from 'path';
// @ts-ignore
-import { marked } from 'marked';
+import { Marked } from 'marked';
+import { markedHighlight } from 'marked-highlight';
import markedOptions from './markedOptions';
-marked.setOptions(markedOptions);
+import { renderer, hooks } from '../loaders/marked-renderer.js';
+
+const hljs = require('highlight.js');
+
+const marker = new Marked(
+ markedHighlight(markedOptions),
+ { renderer, hooks }
+);
interface PostMetadata {
name: string;
lastUpdated: string;
}
-
+
interface Post {
directory: string;
path: string;
@@ -55,10 +63,10 @@ async function getPosts() : Promise<Post[]> {
if(a === b)
return 0;
-
+
if(a > b)
return -1;
-
+
return 1;
});
}
@@ -68,13 +76,18 @@ async function getMarkdown(post : Post) : Promise<string> {
const markdown = await fs.readFile(markdownPath, 'utf8');
- const html = marked(markdown);
+ const html = marker.parse(markdown);
+
+ if(html === undefined) {
+ return '';
+ } else {
+ return html as string;
+ }
- return html;
}
export {
getPosts,
getMarkdown,
getPostFromDirectory
-}; \ No newline at end of file
+};
diff --git a/utils/assert.tsx b/utils/assert.tsx
new file mode 100644
index 0000000..0ee51a0
--- /dev/null
+++ b/utils/assert.tsx
@@ -0,0 +1,3 @@
+export default function assert(cond : boolean, message?: string) {
+ if(!cond) { throw Error(message); }
+};
diff --git a/utils/env.tsx b/utils/env.tsx
new file mode 100644
index 0000000..1894c1b
--- /dev/null
+++ b/utils/env.tsx
@@ -0,0 +1,9 @@
+import assert from './assert';
+
+const DISPLAY_DOMAIN = process.env.DISPLAY_DOMAIN;
+
+assert(DISPLAY_DOMAIN !== undefined, 'Please set DISPLAY_DOMAIN');
+
+export {
+ DISPLAY_DOMAIN
+};
diff --git a/utils/markedOptions.js b/utils/markedOptions.js
index ebc7a6f..26c208c 100644
--- a/utils/markedOptions.js
+++ b/utils/markedOptions.js
@@ -9,4 +9,4 @@ function highlight(code, lang) {
module.exports = {
highlight
-}; \ No newline at end of file
+};