first commit
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
// @ts-check
|
||||
import { defineConfig } from 'astro/config'
|
||||
import tailwindcss from '@tailwindcss/vite'
|
||||
import sitemap from '@astrojs/sitemap'
|
||||
import mdx from '@astrojs/mdx'
|
||||
import svelte from '@astrojs/svelte'
|
||||
import { rehypeHeadingIds } from '@astrojs/markdown-remark'
|
||||
import rehypeAutolinkHeadings from 'rehype-autolink-headings'
|
||||
import expressiveCode from 'astro-expressive-code'
|
||||
import siteConfig from './src/site.config'
|
||||
import { pluginLineNumbers } from '@expressive-code/plugin-line-numbers'
|
||||
import remarkDescription from './src/plugins/remark-description' /* Add description to frontmatter */
|
||||
import remarkReadingTime from './src/plugins/remark-reading-time' /* Add reading time to frontmatter */
|
||||
import rehypeTitleFigure from './src/plugins/rehype-title-figure' /* Wraps titles in figures */
|
||||
import { remarkGithubCard } from './src/plugins/remark-github-card'
|
||||
import { fromHtmlIsomorphic } from 'hast-util-from-html-isomorphic'
|
||||
import rehypeExternalLinks from 'rehype-external-links'
|
||||
import remarkDirective from 'remark-directive' /* Handle ::: directives as nodes */
|
||||
import rehypeUnwrapImages from 'rehype-unwrap-images'
|
||||
import { remarkAdmonitions } from './src/plugins/remark-admonitions' /* Add admonitions */
|
||||
import remarkCharacterDialogue from './src/plugins/remark-character-dialogue' /* Custom plugin to handle character admonitions */
|
||||
import remarkUnknownDirectives from './src/plugins/remark-unknown-directives' /* Custom plugin to handle unknown admonitions */
|
||||
import remarkMath from 'remark-math' /* for latex math support */
|
||||
import rehypeKatex from 'rehype-katex' /* again, for latex math support */
|
||||
import remarkGemoji from './src/plugins/remark-gemoji' /* for shortcode emoji support */
|
||||
import rehypePixelated from './src/plugins/rehype-pixelated' /* Custom plugin to handle pixelated images */
|
||||
import vercel from '@astrojs/vercel'
|
||||
|
||||
// https://astro.build/config
|
||||
export default defineConfig({
|
||||
adapter: vercel(),
|
||||
site: siteConfig.site,
|
||||
trailingSlash: siteConfig.trailingSlashes ? 'always' : 'never',
|
||||
prefetch: true,
|
||||
markdown: {
|
||||
remarkPlugins: [
|
||||
[remarkDescription, { maxChars: 200 }],
|
||||
remarkReadingTime,
|
||||
remarkDirective,
|
||||
remarkGithubCard,
|
||||
remarkAdmonitions,
|
||||
[remarkCharacterDialogue, { characters: siteConfig.characters }],
|
||||
remarkUnknownDirectives,
|
||||
remarkMath,
|
||||
remarkGemoji,
|
||||
],
|
||||
rehypePlugins: [
|
||||
[rehypeHeadingIds, { headingIdCompat: true }],
|
||||
[rehypeAutolinkHeadings, { behavior: 'wrap' }],
|
||||
rehypeTitleFigure,
|
||||
[
|
||||
rehypeExternalLinks,
|
||||
{
|
||||
rel: ['noreferrer', 'noopener'],
|
||||
target: '_blank',
|
||||
},
|
||||
],
|
||||
rehypeUnwrapImages,
|
||||
rehypePixelated,
|
||||
rehypeKatex,
|
||||
],
|
||||
},
|
||||
image: {
|
||||
responsiveStyles: true,
|
||||
},
|
||||
vite: {
|
||||
plugins: [tailwindcss()],
|
||||
},
|
||||
integrations: [
|
||||
svelte(),
|
||||
sitemap(),
|
||||
expressiveCode({
|
||||
themes: siteConfig.themes.include,
|
||||
useDarkModeMediaQuery: false,
|
||||
defaultProps: {
|
||||
showLineNumbers: false,
|
||||
wrap: false,
|
||||
},
|
||||
plugins: [pluginLineNumbers()],
|
||||
}), // Must come after expressive-code integration
|
||||
mdx(),
|
||||
],
|
||||
experimental: {
|
||||
contentIntellisense: true,
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user