MDSveX: Markdown과 Svelte 사이의 다리

며칠 전 블로그를 작성하기 위한 도구를 찾고 있었습니다. MDX 에 대해 알고 있었지만 MDX를 고통없이 지원하는 유일한 프레임 워크 인 것처럼 보이는 React와 친구들은별로 좋지 않았습니다 (틀렸습니다!)

하지만 약간의 조사 끝에 발견한 것은...

MDSveX 입력



MDSveX는 svelte의 MDX입니다. MDX와 유사하지만 날씬한 코드를 작성할 수 있습니다. SvelteKit과도 완벽하게 통합됩니다!

가장 멋진 점은 MDSveX가 remarkrehype에 연결되어 a whole ecosystem of plugins 중에서 선택할 수 있다는 것입니다.

이것은 MDX의 편안함, Svelte의 효율성 및 발언 생태계의 완벽한 조합을 만듭니다.

일반적인 MDSveX 구성 요소는 다음과 같습니다.

---
title: "My blog post"
date: 2020-01-01
summary: This is my first blog post

---

<script>
    import PieChart from '$lib/Pie-Chart.svelte'
</script>

## {title}

Here's a cool Pie Chart:

<PieChart
    data={[
        { label: 'give you up', value: 10 },
        { label: 'let you down', value: 10 },
        { label: 'run around and desert you', value: 8 },
        { label: 'make you cry', value: 5 },
    ]}
/>


꽤 멋지죠? 내용에서 {title}를 참조하는 방법에 주목하십시오. MDSveX는 자동으로 표지를 구문 분석하여 콘텐츠에서 사용할 수 있도록 합니다.

레이아웃



이 마크다운 파일을 src/routes/blog/my-blog-post.svx 에 넣으면 Svelte 컴파일러가 페이지를 렌더링하는 것처럼 콘텐츠가 /blog/my-blog-post 에서 렌더링됩니다. 그러나 기본적으로 콘텐츠 마크다운만 렌더링합니다. 일반적으로 블로그 페이지에 일종의 메타데이터, 탐색 및 항목이 있기를 원합니다.

레이아웃을 입력합니다. 레이아웃은 일반 Svelte 구성 요소일 뿐입니다. .svx 파일이 표시되는 방식을 변경하는 데 사용할 수 있습니다. 샘플 MDSveX 레이아웃은 다음과 같습니다.

<script>
    export let title;
    export let date;
</script>

<h1>{title}</h1>
<p>{date}</p>

<slot> <!-- content goes here -->
</slot>


파일마다 다른 레이아웃을 설정할 수도 있습니다! 모든 세부 사항을 알아보려면 the docs을 확인하십시오.

빠른 시작



svelte-add 패키지를 사용하여 MDSveX를 설치하면 MDSveX를 쉽게 설정할 수 있습니다.

$ npx svelte-add mdsvex


그러면 프로젝트 루트에 mdsvex.config.js 파일이 생성되어 사이트를 구성하는 데 사용할 수 있습니다.



MDSveX는 실제 CMS의 오버헤드 없이 Svelte 앱을 완전한 CMS와 같은 웹사이트로 변환하는 간단한 방법을 찾는 데 도움이 되었습니다. 기본 블로그 사이트의 경우 완벽합니다!

다음 포스팅에서는 MDSveX를 이용하여 간단한 블로그를 만드는 방법을 알려드리겠습니다. 계속 지켜봐 주세요!

좋은 웹페이지 즐겨찾기