Style Rendered Markdown with Tailwind Typography
This content is not available in your language yet.
You can use Tailwind’s Typography plugin to style rendered Markdown from sources such as Astro’s content collections.
This recipe will teach you how to create a reusable Astro component to style your Markdown content using Tailwind’s utility classes.
Prerequisites
Section titled PrerequisitesAn Astro project that:
- has Astro’s Tailwind integration installed.
- uses Astro’s content collections.
Setting Up @tailwindcss/typography
Section titled Setting Up @tailwindcss/typographyFirst, install @tailwindcss/typography
using your preferred package manager.
Then, add the package as a plugin in your Tailwind configuration file.
Recipe
Section titled Recipe-
Create a
<Prose />
component to provide a wrapping<div>
with a<slot />
for your rendered Markdown. Add the style classprose
alongside any desired Tailwind element modifiers in the parent element.The
@tailwindcss/typography
plugin uses element modifiers to style child components of a container with theprose
class.These modifiers follow the following general syntax:
For example,
prose-h1:font-bold
gives all<h1>
tags thefont-bold
Tailwind class. -
Query your collection entry on the page you want to render your Markdown. Pass the
<Content />
component fromawait entry.render()
to<Prose />
as a child to wrap your Markdown content in Tailwind styles.