Skip to content

Commit 2bddb81

Browse files
committed
style: 🎨 lint them all
1 parent 0b4ca20 commit 2bddb81

File tree

13 files changed

+51
-64
lines changed

13 files changed

+51
-64
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ export default {
4848
## 调试说明
4949

5050
1. 修改文件后在仓库根目录下进行构建
51-
- `pnpm i`
52-
- `pnpm build`
51+
- `pnpm i`
52+
- `pnpm build`
5353
2. 切换到 example 路径下预览
54-
- `cd example`
55-
- `pnpm dev`
54+
- `cd example`
55+
- `pnpm dev`

example/docs/.vitepress/config.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import type { SidebarOptions } from '@project-trans/vitepress-theme-project-trans/theme'
22
import type { ThemeContext } from '@project-trans/vitepress-theme-project-trans/utils'
3-
import type { DefaultTheme } from 'vitepress'
43
import genConfig from '@project-trans/vitepress-theme-project-trans/config'
54
import { withThemeContext } from '@project-trans/vitepress-theme-project-trans/utils'
65

example/docs/.vitepress/theme/style.css

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
* in custom container, badges, etc.
4444
* -------------------------------------------------------------------------- */
4545

46-
:root {
46+
:root {
4747
--vp-c-default-1: var(--vp-c-gray-1);
4848
--vp-c-default-2: var(--vp-c-gray-2);
4949
--vp-c-default-3: var(--vp-c-gray-3);
@@ -99,28 +99,14 @@
9999

100100
:root {
101101
--vp-home-hero-name-color: transparent;
102-
--vp-home-hero-name-background: -webkit-linear-gradient(
103-
120deg,
104-
#eaacb8 30%,
105-
#47caff
106-
);
107-
108-
--vp-home-hero-image-background-image: linear-gradient(
109-
-45deg,
110-
#e6a3b0 30%,
111-
#ffffff 50%,
112-
#47caff 70%
113-
);
102+
--vp-home-hero-name-background: -webkit-linear-gradient(120deg, #eaacb8 30%, #47caff);
103+
104+
--vp-home-hero-image-background-image: linear-gradient(-45deg, #e6a3b0 30%, #ffffff 50%, #47caff 70%);
114105
--vp-home-hero-image-filter: blur(44px);
115106
}
116107

117108
.dark:root {
118-
--vp-home-hero-image-background-image: linear-gradient(
119-
-45deg,
120-
#eaacb8 30%,
121-
#47caff 50%,
122-
#eaacb8 75%
123-
);
109+
--vp-home-hero-image-background-image: linear-gradient(-45deg, #eaacb8 30%, #47caff 50%, #eaacb8 75%);
124110
}
125111

126112
@media (min-width: 640px) {
@@ -161,4 +147,4 @@
161147
/* 文档两端对齐 */
162148
.vp-doc {
163149
text-align: justify;
164-
}
150+
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "@project-trans/vitepress-theme-project-trans",
33
"type": "module",
44
"version": "0.6.0",
5-
"packageManager": "pnpm@9.10.0+sha512.73a29afa36a0d092ece5271de5177ecbf8318d454ecd701343131b8ebc0c1a91c487da46ab77c8e596d6acf1461e3594ced4becedf8921b074fbd8653ed7051c",
5+
"packageManager": "pnpm@9.15.0+sha512.76e2379760a4328ec4415815bcd6628dee727af3779aaa4c914e3944156c4299921a89f976381ee107d41f12cfa4b66681ca9c718f0668fa0831ed4c6d8ba56c",
66
"description": "A VitePress theme made with ❤️ by project-trans",
77
"license": "MIT",
88
"repository": {

src/components.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import PageInfo from './components/PageInfo.vue'
88
import ReadingTime from './components/ReadingTime.vue'
99

1010
export {
11+
AppearanceToggle,
1112
AppFooter,
1213
AppSBox,
13-
AppearanceToggle,
1414
ArticlesMenu,
1515
CopyrightInfo,
1616
HomeContent,

src/components/AppFooter.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
<script setup lang="ts">
2+
import type { PjtsThemeConfig } from '../config'
23
import { NolebaseGitChangelog } from '@nolebase/vitepress-plugin-git-changelog/client'
34
import { useData, useRoute } from 'vitepress'
45
import { ref, watch } from 'vue'
56
import { AppSBox } from '../components'
6-
import type { PjtsThemeConfig } from '../config'
77
88
const route = useRoute()
99
const { theme } = useData<PjtsThemeConfig>()
1010
1111
// 定义一个 ref 来存储动态 key
1212
const componentKey = ref(0)
13-
const frontmatter = ref({})
13+
const frontmatter = ref<Record<string, any>>({})
1414
const isFrontmatterLoaded = ref(false)
1515
1616
// 更新 key 和 frontmatter 的函数

src/components/AppearanceToggle.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ function enableTransitions() {
1010
return isSSR
1111
? false
1212
: 'startViewTransition' in document
13-
&& window.matchMedia('(prefers-reduced-motion: no-preference)').matches
13+
&& window.matchMedia('(prefers-reduced-motion: no-preference)').matches
1414
}
1515
1616
provide('toggle-appearance', async ({ clientX: x, clientY: y }: MouseEvent) => {

src/components/CopyrightInfo.vue

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
11
<script setup lang="ts">
2-
import { ref, watch, computed } from 'vue'
3-
import { useRoute } from 'vitepress' // 获取路由信息
42
import type { Node, Trie } from '../plugins/CopyrightLoader.data'
3+
import { useData, useRoute } from 'vitepress' // 获取路由信息
4+
import { computed, ref, watch } from 'vue'
55
import { data } from '../plugins/CopyrightLoader.data'
6-
import { useData } from 'vitepress';
7-
const orgName = useData().theme.value.org;
86
7+
const orgName = useData().theme.value.org
98
109
// 初始化需要更新的变量
1110
const attrs = ref<Record<string, any> | null>(null)
1211
1312
const route = useRoute() // 获取当前路由对象
1413
1514
// 定义一个函数,基于当前路由路径更新数据
16-
const updateData = () => {
15+
function updateData() {
1716
const paths = route.path.replace('.md', '').split('/').filter((item: string) => item !== '')
1817
attrs.value = searchClosestInTrie(data, paths)
1918
}
@@ -23,10 +22,12 @@ function searchClosestInTrie(
2322
path: string[],
2423
node: Node<Record<string, any>> = that.root,
2524
): Record<string, any> | null {
26-
if (path.length === 0) return node.value
25+
if (path.length === 0)
26+
return node.value
2727
if (path[0] in node.children) {
2828
let value = searchClosestInTrie(that, path.slice(1), node.children[path[0]])
29-
if (value === null) value = node.value
29+
if (value === null)
30+
value = node.value
3031
return value
3132
}
3233
return node.value
@@ -51,17 +52,19 @@ watch(
5152
() => {
5253
updateData() // 路由变化时调用更新逻辑
5354
},
54-
{ immediate: true } // 确保在初次加载时也能更新数据
55+
{ immediate: true }, // 确保在初次加载时也能更新数据
5556
)
5657
</script>
5758

5859
<template>
5960
<div v-if="attrs?.copyright?.enable ?? false">
6061
<div class="tip custom-block">
61-
<p class="custom-block-title">Copyright</p>
62+
<p class="custom-block-title">
63+
Copyright
64+
</p>
6265
<p>
6366
<span>这篇文章 </span>
64-
<span>{{ `“${attrs.title}”` }}</span>
67+
<span>{{ `“${attrs!.title}”` }}</span>
6568
<span> 由 </span>
6669
<a v-if="attrs?.copyright?.url" :href="attrs.copyright.url">{{ displayAuthors }}</a>
6770
<span v-else>{{ displayAuthors }}</span>
@@ -79,7 +82,7 @@ watch(
7982
许可下使用
8083
</span>
8184
<span v-else-if="attrs?.copyright?.license">
82-
,Project Trans 在
85+
,Project Trans 在
8386
<a v-if="attrs?.copyright?.licenseUrl" :href="attrs.copyright.licenseUrl">{{ attrs.copyright.license }}</a>
8487
<span v-else>{{ attrs.copyright.license }}</span>
8588
许可下使用

src/plugins/fontSwitcher.js renamed to src/plugins/fontSwitcher.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ export const fontMap = {
99
'思源宋体': 'Source Han Serif CN',
1010
'黑体': 'sans',
1111
'宋体': 'serif',
12-
}
12+
} as const
1313

1414
// 字体切换函数
15-
export function switchFont(font) {
15+
export function switchFont(font: keyof typeof fontMap) {
1616
document.documentElement.style.setProperty('--main-font', fontMap[font])
1717
}
1818

@@ -27,9 +27,9 @@ export function addFontSwitchListener() {
2727
item.addEventListener('click', (e) => {
2828
e.preventDefault()
2929
const target = e.target
30-
const selectedFont = target.textContent // 获取点击的字体名称
30+
const selectedFont = (target as HTMLAnchorElement).textContent // 获取点击的字体名称
3131
// console.log(`${selectedFont}`);
32-
switchFont(selectedFont) // 切换字体
32+
switchFont(selectedFont as keyof typeof fontMap) // 切换字体
3333
})
3434
})
3535

@@ -44,9 +44,9 @@ export function addFontSwitchListener() {
4444
item.addEventListener('click', (e) => {
4545
e.preventDefault()
4646
const target = e.target
47-
const selectedFont = target.textContent // 获取点击的字体名称
47+
const selectedFont = (target as HTMLAnchorElement).textContent // 获取点击的字体名称
4848
// console.log(`${selectedFont}`);
49-
switchFont(selectedFont) // 切换字体
49+
switchFont(selectedFont as keyof typeof fontMap) // 切换字体
5050
})
5151
})
5252
})

src/sidebar.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { useThemeContext } from './utils/themeContext'
88

99
export function generateSidebar() {
1010
const { sidebarOptions } = useThemeContext()
11-
const optionMap: Map<string, VitePressSidebarOptions> = new Map(sidebarOptions.map(obj => [obj.resolvePath.toString(), obj]));
11+
const optionMap: Map<string, VitePressSidebarOptions> = new Map(sidebarOptions.map(obj => [obj.resolvePath!.toString(), obj]))
1212
const sidebar = genSidebar(sidebarOptions)
1313
for (const key in sidebar) {
1414
const sidebarMultiItem: SidebarMultiItem = (sidebar as any)[key]

src/style.css

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
@import 'https://fonts.project-trans.org/fonts.css';
22
:root {
3-
--vp-font-family-base: var(--main-font) !important;/* 文本字体 */
4-
--vp-font-family-mono: var(--main-font) !important;/* 代码字体 */
3+
--vp-font-family-base: var(--main-font) !important; /* 文本字体 */
4+
--vp-font-family-mono: var(--main-font) !important; /* 代码字体 */
55
}
6-

src/theme.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
1-
// https://vitepress.dev/guide/custom-theme
21
import type { Theme } from 'vitepress'
3-
import DefaultTheme from 'vitepress/theme-without-fonts'
4-
import './style.css'
5-
2+
import type Options from 'vitepress-sidebar'
3+
// https://vitepress.dev/guide/custom-theme
64
import {
75
NolebaseEnhancedReadabilitiesPlugin,
86
} from '@nolebase/vitepress-plugin-enhanced-readabilities/client'
7+
98
import {
109
NolebaseGitChangelogPlugin,
1110
} from '@nolebase/vitepress-plugin-git-changelog/client'
12-
import type Options from 'vitepress-sidebar'
11+
import DefaultTheme from 'vitepress/theme-without-fonts'
12+
import { onMounted } from 'vue'
13+
14+
import Layout from './Layout.vue'
15+
import { addFontSwitchListener } from './plugins/fontSwitcher.js'
16+
import './style.css'
1317

1418
import '@nolebase/vitepress-plugin-enhanced-readabilities/client/style.css'
19+
1520
import '@nolebase/vitepress-plugin-git-changelog/client/style.css'
1621
import '@nolebase/vitepress-plugin-highlight-targeted-heading/client/style.css'
1722

18-
import Layout from './Layout.vue'
19-
20-
import { onMounted } from 'vue'
21-
import { addFontSwitchListener } from './plugins/fontSwitcher'
22-
2323
export type SidebarOptions = Options
2424

2525
export default {
@@ -42,7 +42,7 @@ export default {
4242
},
4343
setup() {
4444
onMounted(() => {
45-
addFontSwitchListener(); // 添加字体切换的事件监听器
46-
});
45+
addFontSwitchListener() // 添加字体切换的事件监听器
46+
})
4747
},
4848
} satisfies Theme

src/utils/themeContext.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { DefaultTheme } from 'vitepress'
2-
import type { generateSidebar, VitePressSidebarOptions } from 'vitepress-sidebar'
2+
import type { VitePressSidebarOptions } from 'vitepress-sidebar'
33
import { AsyncLocalStorage } from 'node:async_hooks'
44

55
type NavConfig = DefaultTheme.Config['nav']

0 commit comments

Comments
 (0)