Skip to content

Commit 304c575

Browse files
author
Mark Otto
committed
Add Remark to make descriptions render Markdown
1 parent fbcf9c9 commit 304c575

6 files changed

Lines changed: 70 additions & 6 deletions

File tree

package-lock.json

Lines changed: 51 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,8 @@
168168
"prettier": "^2.8.4",
169169
"prettier-plugin-astro": "^0.8.0",
170170
"rehype-autolink-headings": "^6.1.1",
171+
"remark": "^15.0.1",
172+
"remark-html": "^16.0.1",
171173
"rollup": "^4.38.0",
172174
"rollup-plugin-istanbul": "^5.0.0",
173175
"rtlcss": "^4.3.0",
@@ -179,6 +181,7 @@
179181
"terser": "^5.39.0",
180182
"unist-util-visit": "^4.1.2",
181183
"vnu-jar": "24.10.17",
184+
"yaml": "^2.7.0",
182185
"zod": "^3.20.6"
183186
},
184187
"files": [

site/src/content/docs/forms/form-control.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Form controls
3-
description: Give textual form controls like <input>s and <textarea>s an upgrade with custom styles, sizing, focus states, and more.
3+
description: Give textual form controls like `<input>`s and `<textarea>`s an upgrade with custom styles, sizing, focus states, and more.
44
toc: true
55
---
66

site/src/layouts/DocsLayout.astro

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import type { MarkdownHeading } from 'astro'
33
import type { CollectionEntry } from 'astro:content'
44
import { getConfig } from '@libs/config'
55
import type { LayoutOverridesHTMLAttributes } from '@libs/layout'
6-
import { getSlug } from '@libs/utils'
6+
import { getSlug, processMarkdownToHtml } from '@libs/utils'
77
import { getVersionedDocsPath } from '@libs/path'
88
import Ads from '@components/Ads.astro'
99
import BaseLayout from '@layouts/BaseLayout.astro'
@@ -75,9 +75,9 @@ if (frontmatter.toc) {
7575
</div>
7676
<h1 class="bd-title mb-0" id="content">{frontmatter.title}</h1>
7777
</div>
78-
<p class="bd-lead">
79-
{frontmatter.description && <Fragment set:html={frontmatter.description} />}
80-
</p>
78+
<div class="bd-subtitle">
79+
{frontmatter.description && <Fragment set:html={processMarkdownToHtml(frontmatter.description)} />}
80+
</div>
8181
<Ads />
8282
</div>
8383

site/src/libs/utils.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { slug } from 'github-slugger'
22
import fromMarkdown from 'mdast-util-from-markdown'
33
import toString from 'mdast-util-to-string'
4+
import { remark } from 'remark'
5+
import remarkHtml from 'remark-html'
46

57
export function capitalizeFirstLetter(str: string) {
68
return str.charAt(0).toUpperCase() + str.slice(1)
@@ -34,3 +36,11 @@ export function trimLeadingAndTrailingSlashes(str: string) {
3436
export function stripMarkdown(str: string) {
3537
return toString(fromMarkdown(str))
3638
}
39+
40+
export function processMarkdownToHtml(markdown: string): string {
41+
// Use remark to process markdown to HTML
42+
const result = remark()
43+
.use(remarkHtml)
44+
.processSync(markdown)
45+
return result.toString()
46+
}

site/src/scss/_content.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@
106106
@include font-size(3rem);
107107
}
108108

109-
.bd-lead {
109+
.bd-subtitle {
110110
@include font-size(1.5rem);
111111
font-weight: 300;
112112
}

0 commit comments

Comments
 (0)