refactor: use xxx.scss & upgrade deps & lint

This commit is contained in:
YunYouJun 2023-04-22 19:57:39 +08:00
parent c9f8378633
commit c98f8ee23c
46 changed files with 945 additions and 910 deletions

View File

@ -1,5 +1,6 @@
<script lang="ts" setup>
import type { Post } from 'valaxy'
// import { useLayout } from 'valaxy'
import YunPostMeta from 'valaxy-theme-yun/components/YunPostMeta.vue'

View File

@ -24,7 +24,7 @@
},
"devDependencies": {
"nodemon": "^2.0.22",
"vite-plugin-inspect": "^0.7.22",
"vite-plugin-inspect": "^0.7.24",
"vite-plugin-pwa": "^0.14.7"
}
}

View File

@ -1,8 +1,10 @@
import { defineValaxyConfig } from 'valaxy'
import type { ThemeConfig } from 'valaxy-theme-yun'
// import { VitePWA } from 'vite-plugin-pwa'
import Inspect from 'vite-plugin-inspect'
import { addonAlgolia } from 'valaxy-addon-algolia'
// import { addonTwikoo } from 'valaxy-addon-twikoo'
import { addonWaline } from 'valaxy-addon-waline'
import { addonComponents } from 'valaxy-addon-components'

View File

@ -1,6 +1,8 @@
---
title: Use Vite/Vue Plugin
title_zh-CN: 使用 Vite/Vue 插件
categories:
- Third
---
Valaxy 兼容 Vite/Vue 插件,你可以参考以下示例进行使用。

View File

@ -123,6 +123,7 @@ and initialized in the main entry file (e.g. `main.ts`).
```ts
import { createI18n } from 'vue-i18n'
// import { createApp } from 'vue'
// import App from './App.vue'

View File

@ -43,22 +43,22 @@
"prepare": "husky install"
},
"devDependencies": {
"@antfu/eslint-config": "^0.38.4",
"@antfu/eslint-config": "^0.38.5",
"@microsoft/api-extractor": "^7.34.4",
"@types/debug": "^4.1.7",
"@types/node": "^18.15.11",
"@types/node": "^18.15.13",
"@types/prompts": "^2.4.4",
"@types/resolve": "^1.20.2",
"@types/semver": "^7.3.13",
"cross-env": "^7.0.3",
"cypress": "^12.9.0",
"eslint": "^8.38.0",
"cypress": "^12.10.0",
"eslint": "^8.39.0",
"eslint-plugin-cypress": "^2.13.2",
"https-localhost": "^4.7.1",
"husky": "^8.0.3",
"lint-staged": "^13.2.1",
"prompts": "^2.4.2",
"rimraf": "^4.4.1",
"rimraf": "^5.0.0",
"tsup": "^6.7.0",
"tsx": "^3.12.6",
"typescript": "^4.8.4",
@ -71,7 +71,7 @@
"valaxy-theme-press": "workspace:*",
"valaxy-theme-yun": "workspace:*",
"vitest": "^0.30.1",
"vue-tsc": "1.2.0",
"vue-tsc": "1.4.2",
"zx": "^7.2.1"
},
"pnpm": {

View File

@ -1,5 +1,6 @@
<script lang="ts" setup>
import type { Photo } from 'valaxy'
// @ts-expect-error esm not supported
import LightGallery from 'lightgallery/vue/LightGalleryVue.umd.min.js'

View File

@ -3,6 +3,7 @@ import { isDark } from 'valaxy'
import { computed, onMounted } from 'vue'
import { useI18n } from 'vue-i18n'
import { useRoute } from 'vue-router'
// @ts-expect-error vue waline component type
import { Waline } from '@waline/client/dist/component'
import { commentCount, pageviewCount } from '@waline/client'

View File

@ -14,6 +14,6 @@
"valaxy": "latest"
},
"dependencies": {
"@waline/client": "^2.15.0"
"@waline/client": "^2.15.1"
}
}

View File

@ -40,7 +40,7 @@ const app = useAppStore()
</template>
<style lang="scss">
@use 'valaxy/client/styles/mixins' as *;
@use 'valaxy/client/styles/mixins/index.scss' as *;
.press-card{
background-color: var(--va-c-bg);

View File

@ -35,7 +35,7 @@ function scrollToTop() {
</template>
<style scoped lang="scss">
@use 'valaxy/client/styles/mixins' as *;
@use 'valaxy/client/styles/mixins/index.scss' as *;
.press-local-nav {
position: sticky;

View File

@ -26,7 +26,7 @@ const classes = computed(() => ({
</template>
<style lang="scss">
@use 'valaxy/client/styles/mixins' as *;
@use 'valaxy/client/styles/mixins/index.scss' as *;
.press-nav {
z-index: var(--pr-z-nav);

View File

@ -35,7 +35,7 @@ const themeConfig = useThemeConfig()
</template>
<style lang="scss">
@use 'valaxy/client/styles/mixins' as *;
@use 'valaxy/client/styles/mixins/index.scss' as *;
:root {
--pr-navbar-c-bg: rgba(255, 255, 255, 0.8);

View File

@ -41,7 +41,7 @@ const { hasSidebar } = useSidebar()
</template>
<style lang="scss">
@use 'valaxy/client/styles/mixins' as *;
@use 'valaxy/client/styles/mixins/index.scss' as *;
.press-sidebar {
position: fixed;

View File

@ -78,7 +78,7 @@ const localeTitle = computed(() => getLocaleTitle(locale.value, frontmatter.valu
</template>
<style lang="scss" scoped>
@use 'valaxy/client/styles/mixins' as *;
@use 'valaxy/client/styles/mixins/index.scss' as *;
@include screen('md') {
.press-main {

View File

@ -1,4 +1,4 @@
@use "valaxy/client/styles/mixins" as *;
@use "valaxy/client/styles/mixins/index.scss" as *;
:root {
--va-code-mobile-margin-x: -1.5rem;

View File

@ -76,7 +76,7 @@ const aside = computed(() => props.frontmatter.aside !== false)
</template>
<style lang="scss">
@use 'valaxy/client/styles/mixins' as *;
@use 'valaxy/client/styles/mixins/index.scss' as *;
@include screen('md') {
.yun-main {

View File

@ -1,7 +1,6 @@
<script lang="ts" setup>
import { useI18n } from 'vue-i18n'
import { useFrontmatter } from 'valaxy'
import { useAppStore } from 'valaxy/client/stores/app'
import { useAppStore, useFrontmatter } from 'valaxy'
const frontmatter = useFrontmatter()
const { t } = useI18n()
@ -20,7 +19,7 @@ const app = useAppStore()
<ValaxyOverlay :show="app.isRightSidebarOpen" @click="app.toggleRightSidebar()" />
<!-- -->
<aside class="va-card aside" :class="app.isRightSidebarOpen && 'open'" m="l-4" text="center">
<aside class="va-card yun-aside" :class="app.isRightSidebarOpen && 'open'" m="l-4" text="center">
<div class="aside-container" flex="~ col" overflow="auto">
<h2 v-if="frontmatter.toc !== false" m="t-6 b-2" font="serif black">
{{ t('sidebar.toc') }}
@ -38,9 +37,9 @@ const app = useAppStore()
</template>
<style lang="scss">
@use 'valaxy/client/styles/mixins' as *;
@use 'valaxy/client/styles/mixins/index.scss' as *;
.aside {
.yun-aside {
position: fixed;
right: 0;
top: 0;
@ -70,7 +69,7 @@ const app = useAppStore()
}
@include screen('xl') {
.aside {
.yun-aside {
transform: translateX(0);
}
}

View File

@ -1,8 +1,8 @@
<script lang="ts" setup>
import { computed, watch } from 'vue'
import { useThemeConfig } from 'valaxy-theme-yun/composables'
import { useCssVar } from '@vueuse/core'
import { isDark } from 'valaxy'
import { useThemeConfig } from '../composables'
const themeConfig = useThemeConfig()
@ -28,7 +28,7 @@ watch(() => bgImgUrl.value, () => {
</template>
<style lang="scss">
@use 'valaxy/client/styles/mixins' as *;
@use 'valaxy/client/styles/mixins/index.scss' as *;
.va-bg {
position: fixed;

View File

@ -15,7 +15,7 @@
</template>
<style lang="scss">
@use 'valaxy/client/styles/mixins' as *;
@use 'valaxy/client/styles/mixins/index.scss' as *;
.yun-cloud {
display: flex;

View File

@ -1,5 +1,5 @@
<script lang="ts" setup>
import { useThemeConfig } from 'valaxy/client'
import { useThemeConfig } from 'valaxy'
import { onMounted } from 'vue'
import { createFireworks } from '../features/fireworks'

View File

@ -42,7 +42,7 @@ const router = useRouter()
</template>
<style lang="scss">
@use "valaxy/client/styles/mixins" as *;
@use "valaxy/client/styles/mixins/index.scss" as *;
.sidebar-panel {
padding: 0.5rem;

View File

@ -22,7 +22,7 @@ const [prev, next] = usePrevNext()
</template>
<style lang="scss">
@use 'valaxy/client/styles/mixins' as *;
@use 'valaxy/client/styles/mixins/index.scss' as *;
.post-nav {
display: flex;

View File

@ -35,7 +35,7 @@ const YunAlgoliaSearch = isAlgolia.value
<style lang="scss">
@use 'sass:map';
@use 'valaxy/client/styles/vars' as *;
@use 'valaxy/client/styles/vars.scss' as *;
.search-btn {
position: fixed;

View File

@ -38,7 +38,7 @@ const tags = useTags()
</template>
<style lang="scss">
@use "valaxy/client/styles/mixins" as *;
@use "valaxy/client/styles/mixins/index.scss" as *;
.site-nav {
display: flex;

View File

@ -41,7 +41,7 @@ const sponsorBtnTitle = computed(() => {
</template>
<style lang="scss">
@use "valaxy/client/styles/mixins" as *;
@use "valaxy/client/styles/mixins/index.scss" as *;
.sponsor-button {
background-color: rgba(255, 255, 255, 0.1);

View File

@ -1,4 +1,4 @@
@use "valaxy/client/styles/mixins" as *;
@use "valaxy/client/styles/mixins/index.scss" as *;
.markdown-body {
--smc-font-family: var(--va-font-sans);

View File

@ -1,5 +1,5 @@
@use "./vars" as *;
@use "valaxy/client/styles/mixins" as * with($namespace: "yun");
@use "valaxy/client/styles/mixins/index.scss" as * with($namespace: "yun");
:root {
@include set-css-var-from-map($common);

View File

@ -1,6 +1,10 @@
@use "valaxy/client/styles/mixins" as *;
@use "valaxy/client/styles/mixins/index.scss" as *;
@use "./post" as *;
html {
overflow-y: scroll;
}
.yun-main {
padding-left: var(--va-sidebar-width);
transition: padding-left var(--va-transition-duration);

View File

@ -1,4 +1,4 @@
@use "valaxy/client/styles/mixins" as *;
@use "valaxy/client/styles/mixins/index.scss" as *;
.post-card {
position: relative;

View File

@ -1,8 +1,10 @@
<script setup lang="ts">
import { computed, provide, ref } from 'vue'
import { useHead, useSeoMeta } from '@vueuse/head'
// @ts-expect-error virtual module
import ValaxyUserApp from '/@valaxyjs/UserAppVue'
// @ts-expect-error virtual module
import ValaxyThemeApp from '/@valaxyjs/ThemeAppVue'
import pkg from 'valaxy/package.json'

View File

@ -51,8 +51,6 @@ const licenseHtml = computed(() => {
</template>
<style lang="scss">
@use "valaxy/client/styles/mixins/index.scss" as *;
.post-copyright {
font-size: 0.9rem;
padding: 0.5rem 1rem;

View File

@ -15,8 +15,7 @@ withDefaults(defineProps<{
<style lang="scss">
@use "sass:map";
@use "valaxy/client/styles/vars" as *;
@use "valaxy/client/styles/mixins" as *;
@use "valaxy/client/styles/mixins/index.scss" as *;
.va-overlay {
background-color: rgba(0, 0, 0, 0.3);

View File

@ -1,9 +1,11 @@
// @ts-expect-error virtual module @valaxyjs/config
import valaxyConfig from '/@valaxyjs/config'
// @ts-expect-error virtual module @valaxyjs/context
import valaxyContext from '/@valaxyjs/context'
import type { ComputedRef, InjectionKey } from 'vue'
import { computed, inject, readonly, shallowRef } from 'vue'
// import type { RouteMeta } from 'vue-router'
// fix build caused by pnpm
// This is likely not portable. A type annotation is necessary.

View File

@ -4,6 +4,7 @@ import { setupLayouts } from 'virtual:generated-layouts'
import App from './App.vue'
import '@unocss/reset/tailwind.css'
// generate user styles
import '/@valaxyjs/styles'
import 'uno.css'

View File

@ -15,6 +15,7 @@ import { ensureSuffix } from '@antfu/utils'
import type { UserModule } from 'valaxy/client/types'
import type { PageDataPayload } from '../../types'
import { initValaxyConfig, valaxyConfigSymbol } from '../config'
// @ts-expect-error virtual
import valaxyMessages from '/@valaxyjs/locales'

View File

@ -1,4 +1,4 @@
@use "valaxy/client/styles/mixins" as *;
@use "valaxy/client/styles/mixins/index.scss" as *;
@include mobile {
.markdown-body {

View File

@ -1,4 +1,4 @@
@use "valaxy/client/styles/mixins" as *;
@use "valaxy/client/styles/mixins/index.scss" as *;
::-webkit-scrollbar {
width: 8px;

View File

@ -32,7 +32,13 @@ $c-primary: #0078e7 !default;
@include set-css-var-from-map(palette.$light);
}
// code
// dark
html.dark {
color-scheme: dark;
@include set-css-var-from-map(palette.$dark);
}
/* code */
:root {
--va-code-line-height: 1.7;
--va-code-font-size: 0.875em;
@ -47,15 +53,7 @@ $c-primary: #0078e7 !default;
--va-code-copy-code-active-text: var(--va-c-text-dark-2);
}
// dark
html.dark {
color-scheme: dark;
@include set-css-var-from-map(palette.$dark);
}
/**
* Icons
* -------------------------------------------------------------------------- */
/* Icons */
:root {
--va-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' class='h-6 w-6' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");
--va-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' class='h-6 w-6' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E");

View File

@ -9,6 +9,7 @@ import consola from 'consola'
import type { ResolvedValaxyOptions } from './options'
import { ViteValaxyPlugins } from './plugins/preset'
import { ALL_ROUTE } from './constants'
// import { logger } from './logger'
export async function build(

View File

@ -17,6 +17,7 @@ import { bindShortcut, initServer, printInfo } from './utils/cli'
// build
import { build, postProcessForSSG, ssgBuild } from './build'
// rss
import { build as rssBuild } from './rss'
import { getIndexHtml, mergeViteConfigs } from './common'

View File

@ -1,5 +1,6 @@
// ref vitepress
import { remove as removeDiacritics } from 'diacritics'
// eslint-disable-next-line no-control-regex
const rControl = /[\u0000-\u001F]/g
// add '…'

View File

@ -2,6 +2,7 @@ import { join, relative, resolve } from 'node:path'
import fs from 'fs-extra'
import type { Plugin, ResolvedConfig } from 'vite'
// import consola from 'consola'
import { pascalCase } from 'pascal-case'
import { defu } from 'defu'

View File

@ -16,6 +16,7 @@ import { convert } from 'html-to-text'
import type { ValaxyExtendConfig } from '../types'
import type { ResolvedValaxyOptions, ValaxyServerOptions } from '../options'
import { setupMarkdownPlugins } from '../markdown'
// import { formatMdDate } from '../utils/date'
import { EXCERPT_SEPARATOR } from '../constants'
import { createUnocssPlugin } from './unocss'

View File

@ -66,11 +66,11 @@
"@types/body-scroll-lock": "^3.1.0",
"@vitejs/plugin-vue": "^4.1.0",
"@vueuse/core": "^9.13.0",
"@vueuse/head": "^1.1.23",
"@vueuse/head": "^1.1.26",
"@vueuse/integrations": "^9.13.0",
"@vueuse/schema-org": "^2.1.2",
"body-scroll-lock": "4.0.0-beta.0",
"consola": "^3.0.2",
"consola": "^3.1.0",
"critters": "^0.0.16",
"cross-spawn": "^7.0.3",
"dayjs": "^1.11.7",
@ -83,9 +83,9 @@
"html-to-text": "^9.0.5",
"is-installed-globally": "^0.4.0",
"jiti": "^1.18.2",
"katex": "^0.16.4",
"katex": "^0.16.6",
"kolorist": "^1.7.0",
"lru-cache": "^9.0.3",
"lru-cache": "^9.1.0",
"markdown-it": "^13.0.1",
"markdown-it-anchor": "^8.6.7",
"markdown-it-attrs": "^4.1.6",
@ -97,14 +97,14 @@
"nprogress": "^0.2.0",
"open": "^8.4.2",
"pascal-case": "^3.1.2",
"pinia": "^2.0.34",
"pinia": "^2.0.35",
"sass": "^1.62.0",
"shiki": "^0.14.1",
"star-markdown-css": "^0.4.2",
"unconfig": "^0.3.7",
"unocss": "^0.51.4",
"unocss": "^0.51.6",
"unplugin-vue-components": "^0.24.1",
"vite": "^4.2.1",
"vite": "^4.3.1",
"vite-plugin-pages": "^0.29.0",
"vite-plugin-vue-layouts": "^0.8.0",
"vite-ssg": "0.22.2",

File diff suppressed because it is too large Load Diff