From 3ba0916dccf6d923aca52314865bf00e6dc38b16 Mon Sep 17 00:00:00 2001 From: maicss Date: Thu, 16 Nov 2023 18:10:04 +0800 Subject: [PATCH] feat: blog index done, dark-theme WIP --- .vitepress/config.mts | 13 - .vitepress/theme/BlogIndex.vue | 60 +++- .vitepress/theme/BlogLayout.vue | 6 + .vitepress/theme/GiscusLayout.vue | 143 ++++----- .vitepress/theme/blog.data.ts | 3 + .vitepress/theme/custom.css | 4 + .vitepress/theme/index.mts | 3 +- README.md | 4 +- package.json | 2 + pages/blog/change-locales.md | 8 + pages/blog/comment-test.md | 5 +- pages/blog/images/post-image.jpeg | Bin 0 -> 25803 bytes pages/blog/index.md | 17 +- pages/pyqt/index.md | 5 +- pnpm-lock.yaml | 463 +++++++++++++++++++++++++++++- postcss.config.js | 11 + 16 files changed, 640 insertions(+), 107 deletions(-) create mode 100644 .vitepress/theme/BlogLayout.vue create mode 100644 pages/blog/images/post-image.jpeg create mode 100644 postcss.config.js diff --git a/.vitepress/config.mts b/.vitepress/config.mts index 5c2fc88..b22242f 100644 --- a/.vitepress/config.mts +++ b/.vitepress/config.mts @@ -105,19 +105,6 @@ export default defineConfig({ ], }, ], - - // This sidebar gets displayed when a user - // is on `config` directory. - "/blog/": [ - { - text: "Config", - items: [ - { text: "Index", link: "/config/" }, - { text: "Three", link: "/config/three" }, - { text: "Four", link: "/config/four" }, - ], - }, - ], }, socialLinks: [{ icon: "github", link: "https://github.com/maicss" }], footer: { diff --git a/.vitepress/theme/BlogIndex.vue b/.vitepress/theme/BlogIndex.vue index d6cbb5b..52fb6e9 100644 --- a/.vitepress/theme/BlogIndex.vue +++ b/.vitepress/theme/BlogIndex.vue @@ -1,14 +1,64 @@ \ No newline at end of file + + + \ No newline at end of file diff --git a/.vitepress/theme/BlogLayout.vue b/.vitepress/theme/BlogLayout.vue new file mode 100644 index 0000000..cefdbe4 --- /dev/null +++ b/.vitepress/theme/BlogLayout.vue @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/.vitepress/theme/GiscusLayout.vue b/.vitepress/theme/GiscusLayout.vue index 8df6291..70f8440 100644 --- a/.vitepress/theme/GiscusLayout.vue +++ b/.vitepress/theme/GiscusLayout.vue @@ -3,7 +3,7 @@ @@ -78,29 +82,13 @@ watch([isDark], () => { -
@@ -115,7 +103,7 @@ watch([isDark], () => { } } -::view-transition-old(root), +/* ::view-transition-old(root), ::view-transition-new(root) { animation: none; mix-blend-mode: normal; @@ -137,28 +125,40 @@ watch([isDark], () => { .VPSwitchAppearance .check { transform: none !important; -} +} */ /** page transition */ -#app { +/* #app { view-transition-name: app; } + @keyframes fade-in { - from { opacity: 0; transform-origin: bottom center; transform: rotate(-5deg); } + from { + opacity: 0; + transform-origin: bottom center; + transform: rotate(-5deg); + } } + @keyframes fade-out { - to { opacity: 0; transform-origin: bottom center; transform: rotate(5deg); } + to { + opacity: 0; + transform-origin: bottom center; + transform: rotate(5deg); + } } -::view-transition-old(app) { + */ +/* ::view-transition-old(app) { */ /* animation-name: fade-out; */ /* Ease-out Back. Overshoots. */ - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); -} -::view-transition-new(app) { + /* animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); +} */ + +/* ::view-transition-new(app) { */ /* animation-name: fade-in; */ /* Ease-out Back. Overshoots. */ - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); -} + /* animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); +} */ .progress { height: 2px; @@ -172,14 +172,17 @@ watch([isDark], () => { animation: scaleProgress auto linear; animation-timeline: scroll(root); } + @keyframes scaleProgress { 0% { transform: scaleX(0); } + 100% { transform: scaleX(1); } } + /* @keyframes colorChange { 0% { background-color: rgb(145, 203, 92); diff --git a/.vitepress/theme/blog.data.ts b/.vitepress/theme/blog.data.ts index c1e6f9e..0495581 100644 --- a/.vitepress/theme/blog.data.ts +++ b/.vitepress/theme/blog.data.ts @@ -15,12 +15,15 @@ export { data } export default createContentLoader('/pages/blog/*.md', { excerpt: '', + render: false, transform(raw): Post[] { return raw + .filter(({url}) => url !== '/blog/') .map(({ url, frontmatter, excerpt }) => ({ title: frontmatter.title, url, excerpt, + image: frontmatter.image, date: formatDate(frontmatter.date) })) .sort((a, b) => b.date.time - a.date.time) diff --git a/.vitepress/theme/custom.css b/.vitepress/theme/custom.css index fa9fd95..851411f 100644 --- a/.vitepress/theme/custom.css +++ b/.vitepress/theme/custom.css @@ -1,3 +1,7 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + * { scrollbar-width: thin; } diff --git a/.vitepress/theme/index.mts b/.vitepress/theme/index.mts index 1f4d50d..8ccda16 100644 --- a/.vitepress/theme/index.mts +++ b/.vitepress/theme/index.mts @@ -2,11 +2,12 @@ import DefaultTheme from 'vitepress/theme' import type { Theme } from 'vitepress' import './custom.css' import GiscusLayout from './GiscusLayout.vue' +import BlogIndex from './BlogIndex.vue' export default { extends: DefaultTheme, Layout: GiscusLayout, enhanceApp({app}) { - // app.component('giscus-widget', ) + app.component('BlogIndex', BlogIndex) } } satisfies Theme \ No newline at end of file diff --git a/README.md b/README.md index e948cc4..aaa48e0 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ based on [VitePress](https://vitepress.dev/) > 参考链接 https://github.com/vuejs/blog/tree/main/.vitepress -- [ ] 文章中英文空格 -- [ ] 滚动条定制 +- [x] 文章中英文空格 +- [x] 滚动条定制 - [ ] 文章用词等校准 - [ ] pyqt5 - [ ] pyqt6 diff --git a/package.json b/package.json index a3d137d..1751b85 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,8 @@ }, "type": "module", "devDependencies": { + "@tailwindcss/typography": "^0.5.10", + "tailwindcss": "^3.3.5", "vitepress": "1.0.0-rc.25", "zhlint": "^0.7.1" }, diff --git a/pages/blog/change-locales.md b/pages/blog/change-locales.md index 53eb07f..f402dbe 100644 --- a/pages/blog/change-locales.md +++ b/pages/blog/change-locales.md @@ -1,7 +1,15 @@ +--- +date: 2022-10-11 +auth: maicss +image: post-image.jpeg +--- + # Configuring Locales +Some commands used in my daily life ## The Easy Way - Install debconf (i.e. run apt-get update then apt-get install debconf,as root) - Run dpkg-reconfigure locales as root + ## The Hard Way Edit `/etc/locale.gen` as root。If `/etc/locale.gen` does not exist,create it。An example `/etc/locale.gen` is below。 Run `/usr/sbin/locale-gen` as root diff --git a/pages/blog/comment-test.md b/pages/blog/comment-test.md index f368376..5dbba70 100644 --- a/pages/blog/comment-test.md +++ b/pages/blog/comment-test.md @@ -1,13 +1,12 @@ --- date: 2023-11-07 author: Maicss +image: post-image.jpeg --- # comment test page -摘要测试 - - 春江花月夜 +### 春江花月夜 春江潮水連海平,海上明月共潮生。 灩灩隨波千萬里,何處春江無月明! 江流宛轉遶芳甸,月照花林皆似霰。 diff --git a/pages/blog/images/post-image.jpeg b/pages/blog/images/post-image.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d64afe8b2ae8ac11bee481deb2d1791388c51196 GIT binary patch literal 25803 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 literal 0 HcmV?d00001 diff --git a/pages/blog/index.md b/pages/blog/index.md index 1573444..9cc023c 100644 --- a/pages/blog/index.md +++ b/pages/blog/index.md @@ -1,12 +1,11 @@ --- -title: 'blog index' -date: 2023-01-01 -author: Maicss +prev: false +next: false +aside: false +outline: 1 +lastUpdated: false +editLink: false +layout: page --- -# blog index - -## list - -- [change locales](./change-locales.md) -- [comment test](./comment-test.md) + diff --git a/pages/pyqt/index.md b/pages/pyqt/index.md index a6e17e7..1139009 100644 --- a/pages/pyqt/index.md +++ b/pages/pyqt/index.md @@ -36,10 +36,10 @@ next: false transition: all 0.15s; cursor: pointer; border-radius: 4px; - border: 1px solid #e3e8ed; + border: 1px solid var(--vp-c-divider); padding: 16px; flex: 1; - color: #3b454e; + color: var(--vp-c-text-1); display: flex; justify-content: space-between; align-items: center; @@ -49,6 +49,7 @@ next: false .card:hover { box-shadow: 0px 12px 13px rgba(0,0,0,0.02); transform: translateY(-2px); + border-color: var(--vp-c-brand-1); color: #3884ff; text-decoration: underline; text-underline-offset: 4px; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 43de5d5..fee3dc3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,9 +16,15 @@ dependencies: version: 3.3.8 devDependencies: + '@tailwindcss/typography': + specifier: ^0.5.10 + version: 0.5.10(tailwindcss@3.3.5) + tailwindcss: + specifier: ^3.3.5 + version: 3.3.5 vitepress: specifier: 1.0.0-rc.25 - version: 1.0.0-rc.25 + version: 1.0.0-rc.25(postcss@8.4.31) zhlint: specifier: ^0.7.1 version: 0.7.1 @@ -165,6 +171,11 @@ packages: '@algolia/requester-common': 4.20.0 dev: true + /@alloc/quick-lru@5.2.0: + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + dev: true + /@babel/helper-string-parser@7.22.5: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} @@ -446,9 +457,35 @@ packages: dev: true optional: true + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.20 + dev: true + + /@jridgewell/resolve-uri@3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + /@jridgewell/trace-mapping@0.3.20: + resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + /@lit-labs/ssr-dom-shim@1.1.2: resolution: {integrity: sha512-jnOD+/+dSrfTWYfSXBXlo5l5f0q1UuJo3tkbMDCYA2lKUYq79jaxqtGEvnRoh049nt1vdo1+45RinipU6FGY2g==} dev: false @@ -459,6 +496,39 @@ packages: '@lit-labs/ssr-dom-shim': 1.1.2 dev: false + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + dev: true + + /@tailwindcss/typography@0.5.10(tailwindcss@3.3.5): + resolution: {integrity: sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==} + peerDependencies: + tailwindcss: '>=3.0.0 || insiders' + dependencies: + lodash.castarray: 4.4.0 + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + postcss-selector-parser: 6.0.10 + tailwindcss: 3.3.5 + dev: true + /@types/chai-subset@1.3.4: resolution: {integrity: sha512-CCWNXrJYSUIojZ1149ksLl3AN9cmZ5djf+yUoVVV+NuYrtydItQVlL2ZDqyC6M6O9LWRnVf8yYDxbXHO2TfQZg==} dependencies: @@ -695,6 +765,22 @@ packages: color-convert: 2.0.1 dev: true + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: true + /asn1.js@5.4.1: resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} dependencies: @@ -735,6 +821,11 @@ packages: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + /bn.js@4.12.0: resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} dev: true @@ -750,6 +841,13 @@ packages: concat-map: 0.0.1 dev: true + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + /brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} dev: true @@ -839,6 +937,11 @@ packages: set-function-length: 1.1.1 dev: true + /camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + dev: true + /chai@4.3.10: resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} engines: {node: '>=4'} @@ -878,6 +981,21 @@ packages: get-func-name: 2.0.2 dev: true + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + /cipher-base@1.0.4: resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} dependencies: @@ -900,6 +1018,11 @@ packages: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true + /commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + dev: true + /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true @@ -960,6 +1083,12 @@ packages: randomfill: 1.0.4 dev: true + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + /csstype@3.1.2: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} @@ -1007,6 +1136,10 @@ packages: minimalistic-assert: 1.0.1 dev: true + /didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + dev: true + /diffie-hellman@5.0.3: resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} dependencies: @@ -1015,6 +1148,10 @@ packages: randombytes: 2.1.0 dev: true + /dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dev: true + /domain-browser@4.23.0: resolution: {integrity: sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA==} engines: {node: '>=10'} @@ -1291,6 +1428,23 @@ packages: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + dev: true + /fault@1.0.4: resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} dependencies: @@ -1304,6 +1458,13 @@ packages: xml-js: 1.6.11 dev: false + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + /find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -1364,6 +1525,31 @@ packages: lit: 2.8.0 dev: false + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: @@ -1478,6 +1664,13 @@ packages: has-tostringtag: 1.0.0 dev: true + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + /is-buffer@2.0.5: resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} engines: {node: '>=4'} @@ -1498,6 +1691,11 @@ packages: resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} dev: true + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + /is-generator-function@1.0.10: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} @@ -1505,6 +1703,13 @@ packages: has-tostringtag: 1.0.0 dev: true + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + /is-hexadecimal@1.0.4: resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} dev: true @@ -1517,6 +1722,11 @@ packages: define-properties: 1.2.1 dev: true + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + /is-plain-obj@2.1.0: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} @@ -1542,10 +1752,24 @@ packages: engines: {node: '>=10'} dev: true + /jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + hasBin: true + dev: true + /jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} dev: true + /lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + /lit-element@3.3.3: resolution: {integrity: sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==} dependencies: @@ -1580,6 +1804,18 @@ packages: p-locate: 5.0.0 dev: true + /lodash.castarray@4.4.0: + resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} + dev: true + + /lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + /loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} dependencies: @@ -1608,6 +1844,19 @@ packages: safe-buffer: 5.2.1 dev: true + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + /miller-rabin@4.0.1: resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} hasBin: true @@ -1642,6 +1891,14 @@ packages: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: true + /mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: true + /nanoid@3.3.6: resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -1680,6 +1937,21 @@ packages: vm-browserify: 1.1.2 dev: true + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true + + /object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + dev: true + /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} dev: true @@ -1792,6 +2064,21 @@ packages: /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: true + + /pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + dev: true + /pkg-dir@5.0.0: resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} engines: {node: '>=10'} @@ -1799,6 +2086,75 @@ packages: find-up: 5.0.0 dev: true + /postcss-import@15.1.0(postcss@8.4.31): + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.8 + dev: true + + /postcss-js@4.0.1(postcss@8.4.31): + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.31 + dev: true + + /postcss-load-config@4.0.1(postcss@8.4.31): + resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.1.0 + postcss: 8.4.31 + yaml: 2.3.4 + dev: true + + /postcss-nested@6.0.1(postcss@8.4.31): + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.31 + postcss-selector-parser: 6.0.13 + dev: true + + /postcss-selector-parser@6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-selector-parser@6.0.13: + resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: true + /postcss@8.4.31: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} @@ -1843,6 +2199,10 @@ packages: engines: {node: '>=0.4.x'} dev: true + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: @@ -1856,6 +2216,12 @@ packages: safe-buffer: 5.2.1 dev: true + /read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 + dev: true + /readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} @@ -1865,6 +2231,13 @@ packages: util-deprecate: 1.0.2 dev: true + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + /remark-frontmatter@1.3.3: resolution: {integrity: sha512-fM5eZPBvu2pVNoq3ZPW22q+5Ativ1oLozq2qYt9I2oNyxiUd/tDl0iLLntEVAegpZIslPWg1brhcP1VsaSVUag==} dependencies: @@ -1906,6 +2279,11 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + /ripemd160@2.0.2: resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} dependencies: @@ -1929,6 +2307,12 @@ packages: fsevents: 2.3.3 dev: true + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: true @@ -2010,6 +2394,20 @@ packages: safe-buffer: 5.2.1 dev: true + /sucrase@3.34.0: + resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} + engines: {node: '>=8'} + hasBin: true + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + dev: true + /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -2026,6 +2424,50 @@ packages: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} dev: true + /tailwindcss@3.3.5: + resolution: {integrity: sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.5.3 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.0 + lilconfig: 2.1.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.31 + postcss-import: 15.1.0(postcss@8.4.31) + postcss-js: 4.0.1(postcss@8.4.31) + postcss-load-config: 4.0.1(postcss@8.4.31) + postcss-nested: 6.0.1(postcss@8.4.31) + postcss-selector-parser: 6.0.13 + resolve: 1.22.8 + sucrase: 3.34.0 + transitivePeerDependencies: + - ts-node + dev: true + + /thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + dev: true + + /thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + dev: true + /timers-browserify@2.0.12: resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} engines: {node: '>=0.6.0'} @@ -2047,6 +2489,13 @@ packages: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + /trim-trailing-lines@1.1.4: resolution: {integrity: sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==} dev: true @@ -2060,6 +2509,10 @@ packages: resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} dev: true + /ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: true + /tty-browserify@0.0.1: resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} dev: true @@ -2229,7 +2682,7 @@ packages: fsevents: 2.3.3 dev: true - /vitepress@1.0.0-rc.25: + /vitepress@1.0.0-rc.25(postcss@8.4.31): resolution: {integrity: sha512-1dqWiHNThNrVZ08ixmfEDBEH+764KOgnev9oXga/x6cN++Vb9pnuu8p3K6DQP+KZrYcG+WiX7jxal0iSNpAWuQ==} hasBin: true peerDependencies: @@ -2251,6 +2704,7 @@ packages: focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.2.0 + postcss: 8.4.31 shiki: 0.14.5 vite: 4.5.0 vue: 3.3.8 @@ -2393,6 +2847,11 @@ packages: engines: {node: '>=0.4'} dev: true + /yaml@2.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + engines: {node: '>= 14'} + dev: true + /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..ea51d51 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,11 @@ +import tailwind from 'tailwindcss' +import tailwindTypography from '@tailwindcss/typography' + +export default { + plugins: [ + tailwind({ + content: ['./.vitepress/theme/**/*.vue'], + plugins: [tailwindTypography] + }) + ] +} \ No newline at end of file