컨텐츠로 건너뛰기
This is an unmaintained snapshot of the Astro v4 docs. View the latest docs.

Tailwind Typography를 사용하여 Markdown을 렌더링한 스타일

Tailwind의 Typography 플러그인을 사용하여 Astro의 콘텐츠 컬렉션과 같은 소스에서 렌더링된 Markdown의 스타일을 지정할 수 있습니다.

이 레시피에서는 Tailwind의 유틸리티 클래스를 사용하여 Markdown 콘텐츠의 스타일을 지정하기 위해 재사용 가능한 Astro 컴포넌트를 만드는 방법을 알려줍니다.

Astro 프로젝트는 다음과 같습니다.

@tailwindcss/typography 설정

섹션 제목: @tailwindcss/typography 설정

먼저, 선호하는 패키지 관리자를 사용하여 @tailwindcss/typography를 설치하세요.

터미널 창
npm install -D @tailwindcss/typography

그런 다음 패키지를 Tailwind 구성 파일에 플러그인으로 추가하세요.

tailwind.config.js
/** @type {import('tailwindcss').Config} */
export default {
theme: {
// ...
},
plugins: [
require('@tailwindcss/typography'),
// ...
],
}
  1. 렌더링된 Markdown에 <slot />이 포함된 래핑 <div>을 제공하기 위해 <Prose /> 컴포넌트를 만듭니다. 상위 요소에 원하는 Tailwind 요소 수정자와 함께 스타일 클래스 prose를 추가합니다.

    src/components/Prose.astro
    ---
    ---
    <div
    class="prose dark:prose-invert
    prose-h1:font-bold prose-h1:text-xl
    prose-a:text-blue-600 prose-p:text-justify prose-img:rounded-xl
    prose-headings:underline">
    <slot />
    </div>
  2. Markdown을 렌더링하려는 페이지에서 컬렉션 항목을 쿼리합니다. Markdown 콘텐츠를 Tailwind 스타일로 래핑하려면 await entry.render()<Content /> 컴포넌트를 <Prose />의 하위 항목으로 전달하세요.

    src/pages/index.astro
    ---
    import Prose from '../components/Prose.astro';
    import Layout from '../layouts/Layout.astro';
    import { getEntry } from 'astro:content';
    const entry = await getEntry('collection', 'entry');
    const { Content } = await entry.render();
    ---
    <Layout>
    <Prose>
    <Content />
    </Prose>
    </Layout>
기여하기

여러분의 생각을 들려주세요!

GitHub Issue 생성

우리에게 가장 빨리 문제를 알려줄 수 있어요.

커뮤니티