From 16baa822cc897fa8764c14861f7869f46ca50e30 Mon Sep 17 00:00:00 2001 From: Furkan Sahin Date: Mon, 30 May 2022 21:11:40 -0500 Subject: Compress results gif --- utils/Posts.tsx | 29 +++++++++++++++++++++-------- utils/assert.tsx | 3 +++ utils/env.tsx | 9 +++++++++ utils/markedOptions.js | 2 +- 4 files changed, 34 insertions(+), 9 deletions(-) create mode 100644 utils/assert.tsx create mode 100644 utils/env.tsx (limited to 'utils') 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 { if(a === b) return 0; - + if(a > b) return -1; - + return 1; }); } @@ -68,13 +76,18 @@ async function getMarkdown(post : Post) : Promise { 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 +}; -- cgit v1.2.3