mirror of
https://github.com/ChenQihan666/MyBlog-Next.git
synced 2026-08-14 07:33:07 +08:00
84 lines
2.0 KiB
TypeScript
84 lines
2.0 KiB
TypeScript
import {
|
|
defineConfig,
|
|
envField,
|
|
fontProviders,
|
|
svgoOptimizer,
|
|
} from "astro/config";
|
|
import tailwindcss from "@tailwindcss/vite";
|
|
import mdx from "@astrojs/mdx";
|
|
import sitemap from "@astrojs/sitemap";
|
|
import { unified } from "@astrojs/markdown-remark";
|
|
import remarkToc from "remark-toc";
|
|
import remarkCollapse from "remark-collapse";
|
|
import rehypeCallouts from "rehype-callouts";
|
|
import {
|
|
transformerNotationDiff,
|
|
transformerNotationHighlight,
|
|
transformerNotationWordHighlight,
|
|
} from "@shikijs/transformers";
|
|
import { transformerFileName } from "./src/utils/transformers/fileName";
|
|
import config from "./astro-paper.config";
|
|
|
|
export default defineConfig({
|
|
site: config.site.url,
|
|
integrations: [
|
|
mdx(),
|
|
sitemap({
|
|
filter: page =>
|
|
config.features?.showArchives !== false || !page.endsWith("/archives/"),
|
|
}),
|
|
],
|
|
i18n: {
|
|
locales: ["en"],
|
|
defaultLocale: "en",
|
|
routing: {
|
|
prefixDefaultLocale: false,
|
|
},
|
|
},
|
|
markdown: {
|
|
processor: unified({
|
|
remarkPlugins: [
|
|
remarkToc,
|
|
[remarkCollapse, { test: "Table of contents" }],
|
|
],
|
|
rehypePlugins: [rehypeCallouts],
|
|
}),
|
|
shikiConfig: {
|
|
themes: { light: "min-light", dark: "night-owl" },
|
|
defaultColor: false,
|
|
wrap: false,
|
|
transformers: [
|
|
transformerFileName({ style: "v2", hideDot: false }),
|
|
transformerNotationHighlight(),
|
|
transformerNotationWordHighlight(),
|
|
transformerNotationDiff({ matchAlgorithm: "v3" }),
|
|
],
|
|
},
|
|
},
|
|
vite: {
|
|
plugins: [tailwindcss()],
|
|
},
|
|
fonts: [
|
|
{
|
|
name: "Noto Serif SC",
|
|
cssVariable: "--font-noto-serif-sc",
|
|
provider: fontProviders.google(),
|
|
fallbacks: ["serif"],
|
|
weights: [400, 600, 700, 900],
|
|
styles: ["normal"],
|
|
formats: ["woff", "ttf"],
|
|
},
|
|
],
|
|
env: {
|
|
schema: {
|
|
PUBLIC_GOOGLE_SITE_VERIFICATION: envField.string({
|
|
access: "public",
|
|
context: "client",
|
|
optional: true,
|
|
}),
|
|
},
|
|
},
|
|
experimental: {
|
|
svgOptimizer: svgoOptimizer(),
|
|
},
|
|
}); |