diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2022-05-30 21:11:40 -0500 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2026-02-20 15:13:00 -0500 |
| commit | 16baa822cc897fa8764c14861f7869f46ca50e30 (patch) | |
| tree | a970198a53dd4449ed8702d90433fda787075bcd /utils | |
| parent | 56a2f28565244127bb91ebabac731eaef950f3ec (diff) | |
Compress results gif
Diffstat (limited to 'utils')
| -rw-r--r-- | utils/Posts.tsx | 29 | ||||
| -rw-r--r-- | utils/assert.tsx | 3 | ||||
| -rw-r--r-- | utils/env.tsx | 9 | ||||
| -rw-r--r-- | utils/markedOptions.js | 2 |
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 +}; |
