diff --git a/deno.json b/deno.json index 4de7cb9..870018f 100644 --- a/deno.json +++ b/deno.json @@ -12,7 +12,7 @@ "ok": "deno fmt --check && deno lint && deno task check:types && deno task test" }, "imports": { - "$fresh/": "https://deno.land/x/fresh@1.6.1/", + "$fresh/": "https://deno.land/x/fresh@1.6.3/", "tailwindcss": "npm:tailwindcss@3.3.5", "preact": "https://esm.sh/preact@10.19.2", "preact/": "https://esm.sh/preact@10.19.2/", diff --git a/deps.ts b/deps.ts index a7c66b3..6b83e44 100644 --- a/deps.ts +++ b/deps.ts @@ -15,7 +15,7 @@ export { } from "https://deno.land/std@0.208.0/path/mod.ts"; export * as JSONC from "https://deno.land/std@0.208.0/jsonc/mod.ts"; export { extract } from "https://deno.land/std@0.208.0/front_matter/yaml.ts"; -export { CSS, render } from "https://deno.land/x/gfm@0.2.5/mod.ts"; +export { CSS, render, Renderer } from "https://deno.land/x/gfm@0.5.0/mod.ts"; export { load } from "https://deno.land/std@0.208.0/dotenv/mod.ts"; export { existsSync } from "https://deno.land/std@0.208.0/fs/mod.ts"; export { Client } from "https://deno.land/x/notion_sdk@v2.2.3/src/mod.ts"; diff --git a/src/init.ts b/src/init.ts index 256e18c..430897d 100644 --- a/src/init.ts +++ b/src/init.ts @@ -89,7 +89,7 @@ async function modifyDenoJson() { return; } - denoJson.imports["$fresh/"] = "https://deno.land/x/fresh@1.6.1/"; + denoJson.imports["$fresh/"] = "https://deno.land/x/fresh@1.6.3/"; const denoJsonContent = JSON.stringify(denoJson, null, 2) + "\n"; await Deno.writeTextFile(DENO_JSON_PATH, denoJsonContent); diff --git a/src/routes/blog/[slug].tsx b/src/routes/blog/[slug].tsx index ef5df02..82b3878 100644 --- a/src/routes/blog/[slug].tsx +++ b/src/routes/blog/[slug].tsx @@ -5,6 +5,7 @@ import { Head, PageProps, render, + Renderer, } from "../../../deps.ts"; import { Localization } from "../../plugin/blog.ts"; import { Post } from "../../utils/posts.ts"; @@ -40,7 +41,20 @@ export const handler: Handlers = { export function createPostPage(title: string, localization: Localization) { return function PostPage(props: PageProps) { const post = props.data; - const html = render(post.content!); + class CustomRenderer extends Renderer { + list(body: string, ordered: boolean): string { + const type = ordered ? "list-decimal" : "list-disc"; + const tag = ordered ? "ol" : "ul"; + return `<${tag} class="${type}">${body}`; + } + } + const html = render(post.content!, { + renderer: new CustomRenderer({}), + allowedClasses: { + ul: ["list-disc"], + ol: ["list-decimal"], + }, + }); return ( <> diff --git a/src/safelist.ts b/src/safelist.ts index 61f3296..0cd2dd4 100644 --- a/src/safelist.ts +++ b/src/safelist.ts @@ -1,4 +1,6 @@ export const safelist = [ + "list-disc", + "list-decimal", "max-w-screen-md", "px-4", "pt-16", diff --git a/tests/empty_posts_dir_fixture/deno.json b/tests/empty_posts_dir_fixture/deno.json index d44adc5..857ae24 100644 --- a/tests/empty_posts_dir_fixture/deno.json +++ b/tests/empty_posts_dir_fixture/deno.json @@ -7,7 +7,7 @@ "preview": "deno run -A main.ts" }, "imports": { - "$fresh/": "https://deno.land/x/fresh@1.6.1/", + "$fresh/": "https://deno.land/x/fresh@1.6.3/", "preact": "https://esm.sh/preact@10.19.2", "preact/": "https://esm.sh/preact@10.19.2/", "@preact/signals": "https://esm.sh/*@preact/signals@1.2.1", diff --git a/tests/fixture/deno.json b/tests/fixture/deno.json index d44adc5..857ae24 100644 --- a/tests/fixture/deno.json +++ b/tests/fixture/deno.json @@ -7,7 +7,7 @@ "preview": "deno run -A main.ts" }, "imports": { - "$fresh/": "https://deno.land/x/fresh@1.6.1/", + "$fresh/": "https://deno.land/x/fresh@1.6.3/", "preact": "https://esm.sh/preact@10.19.2", "preact/": "https://esm.sh/preact@10.19.2/", "@preact/signals": "https://esm.sh/*@preact/signals@1.2.1", diff --git a/tests/fixture/posts/markdown-test.md b/tests/fixture/posts/markdown-test.md index 3144742..d9fce50 100644 --- a/tests/fixture/posts/markdown-test.md +++ b/tests/fixture/posts/markdown-test.md @@ -17,3 +17,11 @@ hello ## Not quite as big ~~hey again~~ + +- a +- b +- c + +1. a +2. b +3. c diff --git a/tests/localization_fixture/deno.json b/tests/localization_fixture/deno.json index d44adc5..857ae24 100644 --- a/tests/localization_fixture/deno.json +++ b/tests/localization_fixture/deno.json @@ -7,7 +7,7 @@ "preview": "deno run -A main.ts" }, "imports": { - "$fresh/": "https://deno.land/x/fresh@1.6.1/", + "$fresh/": "https://deno.land/x/fresh@1.6.3/", "preact": "https://esm.sh/preact@10.19.2", "preact/": "https://esm.sh/preact@10.19.2/", "@preact/signals": "https://esm.sh/*@preact/signals@1.2.1", diff --git a/tests/no_posts_dir_fixture/deno.json b/tests/no_posts_dir_fixture/deno.json index d44adc5..857ae24 100644 --- a/tests/no_posts_dir_fixture/deno.json +++ b/tests/no_posts_dir_fixture/deno.json @@ -7,7 +7,7 @@ "preview": "deno run -A main.ts" }, "imports": { - "$fresh/": "https://deno.land/x/fresh@1.6.1/", + "$fresh/": "https://deno.land/x/fresh@1.6.3/", "preact": "https://esm.sh/preact@10.19.2", "preact/": "https://esm.sh/preact@10.19.2/", "@preact/signals": "https://esm.sh/*@preact/signals@1.2.1", diff --git a/tests/notion_no_posts_dir_fixture/deno.json b/tests/notion_no_posts_dir_fixture/deno.json index d44adc5..857ae24 100644 --- a/tests/notion_no_posts_dir_fixture/deno.json +++ b/tests/notion_no_posts_dir_fixture/deno.json @@ -7,7 +7,7 @@ "preview": "deno run -A main.ts" }, "imports": { - "$fresh/": "https://deno.land/x/fresh@1.6.1/", + "$fresh/": "https://deno.land/x/fresh@1.6.3/", "preact": "https://esm.sh/preact@10.19.2", "preact/": "https://esm.sh/preact@10.19.2/", "@preact/signals": "https://esm.sh/*@preact/signals@1.2.1", diff --git a/tests/responsive_navbar_fixture/deno.json b/tests/responsive_navbar_fixture/deno.json index d44adc5..857ae24 100644 --- a/tests/responsive_navbar_fixture/deno.json +++ b/tests/responsive_navbar_fixture/deno.json @@ -7,7 +7,7 @@ "preview": "deno run -A main.ts" }, "imports": { - "$fresh/": "https://deno.land/x/fresh@1.6.1/", + "$fresh/": "https://deno.land/x/fresh@1.6.3/", "preact": "https://esm.sh/preact@10.19.2", "preact/": "https://esm.sh/preact@10.19.2/", "@preact/signals": "https://esm.sh/*@preact/signals@1.2.1", diff --git a/tests/separate_index_fixture/deno.json b/tests/separate_index_fixture/deno.json index d44adc5..857ae24 100644 --- a/tests/separate_index_fixture/deno.json +++ b/tests/separate_index_fixture/deno.json @@ -7,7 +7,7 @@ "preview": "deno run -A main.ts" }, "imports": { - "$fresh/": "https://deno.land/x/fresh@1.6.1/", + "$fresh/": "https://deno.land/x/fresh@1.6.3/", "preact": "https://esm.sh/preact@10.19.2", "preact/": "https://esm.sh/preact@10.19.2/", "@preact/signals": "https://esm.sh/*@preact/signals@1.2.1",