on master help sign in
various: decode html entities
6444ac8Matilde Park
package-lock.json+5
@@ -3250,6 +3250,11 @@
3250 "whatwg-encoding": "^1.0.5"
3250 "whatwg-encoding": "^1.0.5"
3251 }
3251 }
3252 },
3252 },
3253+ "html-entities": {
3254+ "version": "2.3.2",
3255+ "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz",
3256+ "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ=="
3257+ },
3253 "html-tags": {
3258 "html-tags": {
3254 "version": "3.1.0",
3259 "version": "3.1.0",
3255 "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz",
3260 "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz",
package.json+1
@@ -15,6 +15,7 @@
15 "classnames": "^2.3.1",
15 "classnames": "^2.3.1",
16 "fuzzy-search": "^3.2.1",
16 "fuzzy-search": "^3.2.1",
17 "gray-matter": "^4.0.3",
17 "gray-matter": "^4.0.3",
18+ "html-entities": "^2.3.2",
18 "next": "10.2.3",
19 "next": "10.2.3",
19 "react": "17.0.2",
20 "react": "17.0.2",
20 "react-dom": "17.0.2",
21 "react-dom": "17.0.2",
pages/blog/[slug].js+4−1
@@ -19,6 +19,7 @@ import NewsletterSignup from "../../components/NewletterSignup";
19import PostPreview from "../../components/PostPreview";
19import PostPreview from "../../components/PostPreview";
20import { name, contact } from "../../lib/constants";
20import { name, contact } from "../../lib/constants";
21import markdownStyles from "../../styles/markdown.module.css";
21import markdownStyles from "../../styles/markdown.module.css";
22+import { decode } from "html-entities";
22
23
23export default function Post({
24export default function Post({
24 post,
25 post,
@@ -48,7 +49,9 @@ export default function Post({
48 </div>
49 </div>
49 </section>
50 </section>
50 <div className={"layout-wide " + markdownStyles["markdown"]}>
51 <div className={"layout-wide " + markdownStyles["markdown"]}>
52+ <article
51− <article dangerouslySetInnerHTML={{ __html: markdown }}></article>
53+ dangerouslySetInnerHTML={{ __html: decode(markdown) }}
54+ ></article>
52 </div>
55 </div>
53 <section className="layout-narrow">
56 <section className="layout-narrow">
54 <div className="measure">
57 <div className="measure">
pages/docs/[[...slug]].js+4−2
@@ -9,6 +9,7 @@ import Markdown from "../../components/Markdown";
9import ContentArea from "../../components/ContentArea";
9import ContentArea from "../../components/ContentArea";
10import Sidebar from "../../components/Sidebar";
10import Sidebar from "../../components/Sidebar";
11import markdownStyles from "../../styles/markdown.module.css";
11import markdownStyles from "../../styles/markdown.module.css";
12+import { decode } from "html-entities";
12
13
13const breadcrumbs = (posts, paths) => {
14const breadcrumbs = (posts, paths) => {
14 const results = [
15 const results = [
@@ -98,7 +99,6 @@ const pageTree = (thisLink, tree, level = 0) => {
98export default function DocsLayout({
99export default function DocsLayout({
99 posts,
100 posts,
100 data,
101 data,
101− content,
102 params,
102 params,
103 toggleSearch,
103 toggleSearch,
104 markdown,
104 markdown,
@@ -116,7 +116,9 @@ export default function DocsLayout({
116 toggleSearch={() => toggleSearch(true)}
116 toggleSearch={() => toggleSearch(true)}
117 >
117 >
118 <div className={markdownStyles["markdown"]}>
118 <div className={markdownStyles["markdown"]}>
119+ <article
119− <article dangerouslySetInnerHTML={{ __html: markdown }}></article>
120+ dangerouslySetInnerHTML={{ __html: decode(markdown) }}
121+ ></article>
120 </div>
122 </div>
121 </ContentArea>
123 </ContentArea>
122 </div>
124 </div>
pages/events/[slug].js+2−1
@@ -19,6 +19,7 @@ import NewsletterSignup from "../../components/NewletterSignup";
19import PostPreview from "../../components/PostPreview";
19import PostPreview from "../../components/PostPreview";
20import { name, contact } from "../../lib/constants";
20import { name, contact } from "../../lib/constants";
21import markdownStyles from "../../styles/markdown.module.css";
21import markdownStyles from "../../styles/markdown.module.css";
22+import { decode } from "html-entities";
22
23
23export default function Event({
24export default function Event({
24 post,
25 post,
@@ -63,7 +64,7 @@ export default function Event({
63 <div className={"layout-wide " + markdownStyles["markdown"]}>
64 <div className={"layout-wide " + markdownStyles["markdown"]}>
64 <article
65 <article
65 className="flex flex-col items-center pt-12 w-full"
66 className="flex flex-col items-center pt-12 w-full"
66− dangerouslySetInnerHTML={{ __html: markdown }}
67+ dangerouslySetInnerHTML={{ __html: decode(markdown) }}
67 ></article>
68 ></article>
68 </div>
69 </div>
69 <section className="layout-narrow pt-24">
70 <section className="layout-narrow pt-24">
pages/grants/[slug].js+4−1
@@ -19,6 +19,7 @@ import NewsletterSignup from "../../components/NewletterSignup";
19import PostPreview from "../../components/PostPreview";
19import PostPreview from "../../components/PostPreview";
20import { name, contact } from "../../lib/constants";
20import { name, contact } from "../../lib/constants";
21import markdownStyles from "../../styles/markdown.module.css";
21import markdownStyles from "../../styles/markdown.module.css";
22+import { decode } from "html-entities";
22
23
23export default function Grant({ post, nextPost, markdown, previousPost }) {
24export default function Grant({ post, nextPost, markdown, previousPost }) {
24 const router = useRouter();
25 const router = useRouter();
@@ -43,7 +44,9 @@ export default function Grant({ post, nextPost, markdown, previousPost }) {
43 </div>
44 </div>
44 </section>
45 </section>
45 <div className={"layout-wide " + markdownStyles["markdown"]}>
46 <div className={"layout-wide " + markdownStyles["markdown"]}>
47+ <article
46− <article dangerouslySetInnerHTML={{ __html: markdown }}></article>
48+ dangerouslySetInnerHTML={{ __html: decode(markdown) }}
49+ ></article>
47 </div>
50 </div>
48 <section className="layout-narrow">
51 <section className="layout-narrow">
49 <div className="measure">
52 <div className="measure">