sveltekit mdsx示例
pnpx sv create
选择tailwindcss
mdsx.config.js
:
import { defineConfig } from 'mdsx';
import { rehypeCustomHighlight } from '@mdsx/rehype-custom-highlighter';
import { bundledLanguages, bundledThemes, getSingletonHighlighter } from 'shiki';
/** @type {import('@mdsx/rehype-custom-highlighter').HighlightOptions} */
const customHighlightOptions = {
highlight: async ({ value, lang }) => {
const highlighter = await getSingletonHighlighter({
langs: Object.keys(bundledLanguages),
themes: Object.keys(bundledThemes),
});
const html = highlighter.codeToHtml(value, {
lang: lang,
theme: 'github-dark',
});
return html;
},
};
export const mdsxConfig = defineConfig({
extensions: ['.md'],
rehypePlugins: [[rehypeCustomHighlight, customHighlightOptions]],
});
svelte.config.js
:
import adapter from "@sveltejs/adapter-node";
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
import { mdsx } from 'mdsx';
import { mdsxConfig } from './mdsx.config.js';
/** @type {import('@sveltejs/kit').Config} */
const config = {
preprocess: [mdsx(mdsxConfig), vitePreprocess()],
extensions: ['.svelte', '.md'],
kit: {
adapter: adapter(),
},
};
export default config;
src/lib/some-content.md
:
# Welcome
This is my first MDSX markdown file. Isn't it great?
## Description
It gets better than this, we promise.
```svelte
<script lang="ts">
import SomeContent from "$lib/some-content.md";
</script>
<main class="prose">
<SomeContent />
</main>
```
src/routes/+page.svelte
:
<script lang="ts">
import SomeContent from "$lib/some-content.md";
</script>
<main class="container max-w-full prose">
<SomeContent />
</main>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?