@tnotesjs/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of @tnotesjs/core might be problematic. Click here for more details.

Files changed (117) hide show
  1. package/README.md +105 -0
  2. package/dist/chunk-K3X5OP3N.js +1532 -0
  3. package/dist/cli/index.d.ts +2 -0
  4. package/dist/cli/index.js +4199 -0
  5. package/dist/index.d.ts +138 -0
  6. package/dist/index.js +9 -0
  7. package/package.json +74 -0
  8. package/types/config.ts +61 -0
  9. package/types/index.ts +11 -0
  10. package/types/note.ts +33 -0
  11. package/vitepress/assets/icons/icon__check.svg +3 -0
  12. package/vitepress/assets/icons/icon__clipboard.svg +8 -0
  13. package/vitepress/assets/icons/icon__close.svg +1 -0
  14. package/vitepress/assets/icons/icon__collapse.svg +1 -0
  15. package/vitepress/assets/icons/icon__confirm.svg +1 -0
  16. package/vitepress/assets/icons/icon__copy.svg +4 -0
  17. package/vitepress/assets/icons/icon__focus.svg +1 -0
  18. package/vitepress/assets/icons/icon__fold.svg +3 -0
  19. package/vitepress/assets/icons/icon__folder.svg +1 -0
  20. package/vitepress/assets/icons/icon__fullscreen.svg +1 -0
  21. package/vitepress/assets/icons/icon__fullscreen_exit.svg +1 -0
  22. package/vitepress/assets/icons/icon__github.svg +4 -0
  23. package/vitepress/assets/icons/icon__mindmap.svg +1 -0
  24. package/vitepress/assets/icons/icon__next.svg +1 -0
  25. package/vitepress/assets/icons/icon__number_gray.svg +1 -0
  26. package/vitepress/assets/icons/icon__number_purple.svg +1 -0
  27. package/vitepress/assets/icons/icon__prev.svg +1 -0
  28. package/vitepress/assets/icons/icon__restore.svg +1 -0
  29. package/vitepress/assets/icons/icon__rotate.svg +4 -0
  30. package/vitepress/assets/icons/icon__search.svg +1 -0
  31. package/vitepress/assets/icons/icon__sidebar_collapsed.svg +1 -0
  32. package/vitepress/assets/icons/icon__sidebar_opened.svg +1 -0
  33. package/vitepress/assets/icons/icon__totop.svg +6 -0
  34. package/vitepress/assets/icons/icon__vscode.svg +6 -0
  35. package/vitepress/assets/icons/icon__zoom_fit.svg +1 -0
  36. package/vitepress/assets/icons/icon__zoom_in.svg +1 -0
  37. package/vitepress/assets/icons/icon__zoom_out.svg +1 -0
  38. package/vitepress/assets/icons/icon__zoom_reset.svg +1 -0
  39. package/vitepress/assets/icons/index.ts +38 -0
  40. package/vitepress/components/BilibiliOutsidePlayer/BilibiliOutsidePlayer.vue +20 -0
  41. package/vitepress/components/CodeBlockFullscreen/CodeBlockFullscreen.vue +373 -0
  42. package/vitepress/components/CodeBlockFullscreen/index.ts +115 -0
  43. package/vitepress/components/CodeBlockFullscreen/styles.css +64 -0
  44. package/vitepress/components/Discussions/Discussions.module.scss +32 -0
  45. package/vitepress/components/Discussions/Discussions.vue +211 -0
  46. package/vitepress/components/EnWordList/EnWordList.module.scss +124 -0
  47. package/vitepress/components/EnWordList/EnWordList.vue +543 -0
  48. package/vitepress/components/EnWordList/RightClickMenu.module.scss +22 -0
  49. package/vitepress/components/EnWordList/RightClickMenu.vue +66 -0
  50. package/vitepress/components/Footprints/Footprints.module.scss +93 -0
  51. package/vitepress/components/Footprints/Footprints.vue +377 -0
  52. package/vitepress/components/Layout/AboutModal.module.scss +233 -0
  53. package/vitepress/components/Layout/AboutModal.vue +105 -0
  54. package/vitepress/components/Layout/AboutPanel.vue +266 -0
  55. package/vitepress/components/Layout/ContentCollapse.vue +603 -0
  56. package/vitepress/components/Layout/CustomSidebar.vue +605 -0
  57. package/vitepress/components/Layout/DocBeforeControls.vue +139 -0
  58. package/vitepress/components/Layout/DocFooter.vue +225 -0
  59. package/vitepress/components/Layout/ImagePreview.module.scss +201 -0
  60. package/vitepress/components/Layout/ImagePreview.vue +281 -0
  61. package/vitepress/components/Layout/Layout.module.scss +661 -0
  62. package/vitepress/components/Layout/Layout.vue +542 -0
  63. package/vitepress/components/Layout/NoteStatus.vue +140 -0
  64. package/vitepress/components/Layout/SidebarItems.vue +263 -0
  65. package/vitepress/components/Layout/SidebarNavBefore.vue +92 -0
  66. package/vitepress/components/Layout/Swiper.vue +167 -0
  67. package/vitepress/components/Layout/ToggleFullContent.module.scss +11 -0
  68. package/vitepress/components/Layout/ToggleFullContent.vue +34 -0
  69. package/vitepress/components/Layout/ToggleSidebar.module.scss +11 -0
  70. package/vitepress/components/Layout/ToggleSidebar.vue +35 -0
  71. package/vitepress/components/Layout/composables/useCollapseControl.ts +88 -0
  72. package/vitepress/components/Layout/composables/useNoteConfig.ts +121 -0
  73. package/vitepress/components/Layout/composables/useNoteSave.ts +173 -0
  74. package/vitepress/components/Layout/composables/useNoteValidation.ts +85 -0
  75. package/vitepress/components/Layout/composables/useRedirect.ts +110 -0
  76. package/vitepress/components/Layout/composables/useVSCodeIntegration.ts +85 -0
  77. package/vitepress/components/Layout/homeReadme.data.ts +124 -0
  78. package/vitepress/components/LoadingPage/LoadingPage.vue +192 -0
  79. package/vitepress/components/MarkMap/MarkMap.module.scss +159 -0
  80. package/vitepress/components/MarkMap/MarkMap.vue +404 -0
  81. package/vitepress/components/Mermaid/Mermaid.module.scss +275 -0
  82. package/vitepress/components/Mermaid/Mermaid.vue +364 -0
  83. package/vitepress/components/NotesTable/NotesTable.module.scss +77 -0
  84. package/vitepress/components/NotesTable/NotesTable.vue +98 -0
  85. package/vitepress/components/NotesTable/README.md +67 -0
  86. package/vitepress/components/Settings/Settings.module.scss +433 -0
  87. package/vitepress/components/Settings/Settings.vue +306 -0
  88. package/vitepress/components/SidebarCard/MindMapView.vue +483 -0
  89. package/vitepress/components/SidebarCard/NotesTrendChart.vue +108 -0
  90. package/vitepress/components/SidebarCard/SidebarCard.vue +948 -0
  91. package/vitepress/components/Tooltip/Tooltip.vue +70 -0
  92. package/vitepress/components/constants.ts +91 -0
  93. package/vitepress/components/notesConfig.data.ts +73 -0
  94. package/vitepress/components/sidebar.data.ts +59 -0
  95. package/vitepress/components/tnotes-config.data.ts +21 -0
  96. package/vitepress/components/utils.ts +26 -0
  97. package/vitepress/config/index.ts +126 -0
  98. package/vitepress/configs/constants.ts +26 -0
  99. package/vitepress/configs/head.config.ts +25 -0
  100. package/vitepress/configs/index.ts +9 -0
  101. package/vitepress/configs/markdown-it.d.ts +23 -0
  102. package/vitepress/configs/markdown.config.ts +366 -0
  103. package/vitepress/configs/theme.config.ts +108 -0
  104. package/vitepress/plugins/buildProgressPlugin.ts +390 -0
  105. package/vitepress/plugins/getNoteByConfigIdPlugin.ts +107 -0
  106. package/vitepress/plugins/renameNotePlugin.ts +60 -0
  107. package/vitepress/plugins/updateConfigPlugin.ts +63 -0
  108. package/vitepress/theme/index.ts +95 -0
  109. package/vitepress/theme/styles/base.scss +50 -0
  110. package/vitepress/theme/styles/components/404.scss +31 -0
  111. package/vitepress/theme/styles/components/collapse.scss +175 -0
  112. package/vitepress/theme/styles/components/markmap.scss +101 -0
  113. package/vitepress/theme/styles/components/swiper.scss +255 -0
  114. package/vitepress/theme/styles/index.scss +25 -0
  115. package/vitepress/theme/styles/layout.scss +62 -0
  116. package/vitepress/theme/styles/utilities.scss +39 -0
  117. package/vitepress/theme/styles/vitepress-override.scss +25 -0
@@ -0,0 +1,138 @@
1
+ /**
2
+ * .vitepress/tnotes/types/config.ts
3
+ *
4
+ * 配置相关类型定义
5
+ */
6
+ /**
7
+ * 知识库的 .tnotes.json 配置文件类型
8
+ */
9
+ interface TNotesConfig {
10
+ id?: string;
11
+ author: string;
12
+ ignore_dirs: string[];
13
+ repoName: string;
14
+ keywords: string[];
15
+ socialLinks: SocialLink[];
16
+ menuItems: MenuItem[];
17
+ sidebarShowNoteId: boolean;
18
+ port?: number;
19
+ packageManager?: 'pnpm' | 'npm' | 'yarn';
20
+ root_item: RootItem;
21
+ }
22
+ /**
23
+ * 图标配置
24
+ */
25
+ interface IconConfig {
26
+ svg?: string;
27
+ src?: string;
28
+ }
29
+ /**
30
+ * 社交链接类型
31
+ */
32
+ interface SocialLink {
33
+ ariaLabel?: string;
34
+ icon: string | IconConfig;
35
+ link: string;
36
+ }
37
+ /**
38
+ * 菜单项类型
39
+ */
40
+ interface MenuItem {
41
+ text: string;
42
+ link: string;
43
+ }
44
+ /**
45
+ * 根项目配置
46
+ */
47
+ interface RootItem {
48
+ icon?: IconConfig;
49
+ title: string;
50
+ completed_notes_count: Record<string, number>;
51
+ details: string;
52
+ link: string;
53
+ created_at: number;
54
+ updated_at: number;
55
+ days_since_birth: number;
56
+ }
57
+
58
+ /**
59
+ * .vitepress/tnotes/types/note.ts
60
+ *
61
+ * 笔记相关类型定义
62
+ */
63
+ /**
64
+ * 笔记的 .tnotes.json 配置类型
65
+ */
66
+ interface NoteConfig {
67
+ id: string;
68
+ bilibili: string[];
69
+ tnotes: string[];
70
+ yuque: string[];
71
+ done: boolean;
72
+ category?: string;
73
+ enableDiscussions: boolean;
74
+ description?: string;
75
+ created_at: number;
76
+ updated_at: number;
77
+ }
78
+ /**
79
+ * 笔记信息
80
+ */
81
+ interface NoteInfo {
82
+ index: string;
83
+ path: string;
84
+ dirName: string;
85
+ readmePath: string;
86
+ configPath: string;
87
+ config?: NoteConfig;
88
+ }
89
+
90
+ /**
91
+ * 配置管理器(单例模式)
92
+ */
93
+ declare class ConfigManager {
94
+ private static instance;
95
+ private config;
96
+ private configPath;
97
+ private rootPath;
98
+ private constructor();
99
+ /**
100
+ * 使用指定的根路径初始化配置管理器
101
+ *
102
+ * 必须在 getInstance() 之前调用(如果需要指定 rootPath)。
103
+ * 如果已经初始化,则忽略重复调用。
104
+ */
105
+ static init({ rootPath }: {
106
+ rootPath: string;
107
+ }): ConfigManager;
108
+ /**
109
+ * 获取单例实例
110
+ */
111
+ static getInstance(): ConfigManager;
112
+ /**
113
+ * 加载配置文件
114
+ */
115
+ loadConfig(configPath?: string): TNotesConfig;
116
+ /**
117
+ * 获取配置项
118
+ */
119
+ get<K extends keyof TNotesConfig>(key: K): TNotesConfig[K];
120
+ /**
121
+ * 获取所有配置
122
+ */
123
+ getAll(): TNotesConfig;
124
+ /**
125
+ * 获取项目根路径
126
+ */
127
+ getRootPath(): string;
128
+ /**
129
+ * @deprecated 使用 getRootPath() 替代
130
+ */
131
+ getDirname(): string;
132
+ }
133
+ /**
134
+ * 获取配置管理器实例(便捷函数)
135
+ */
136
+ declare function getConfigManager(): ConfigManager;
137
+
138
+ export { ConfigManager, type NoteConfig, type NoteInfo, type TNotesConfig, getConfigManager };
package/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ ConfigManager,
4
+ getConfigManager
5
+ } from "./chunk-K3X5OP3N.js";
6
+ export {
7
+ ConfigManager,
8
+ getConfigManager
9
+ };
package/package.json ADDED
@@ -0,0 +1,74 @@
1
+ {
2
+ "name": "@tnotesjs/core",
3
+ "version": "0.1.0",
4
+ "description": "TNotes 知识库核心框架 —— 基于 VitePress 的笔记管理系统",
5
+ "type": "module",
6
+ "bin": {
7
+ "tnotes": "./dist/cli/index.js"
8
+ },
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js"
13
+ },
14
+ "./vitepress/config": {
15
+ "types": "./vitepress/config/index.ts",
16
+ "import": "./vitepress/config/index.ts"
17
+ },
18
+ "./vitepress/theme": {
19
+ "types": "./vitepress/theme/index.ts",
20
+ "import": "./vitepress/theme/index.ts"
21
+ }
22
+ },
23
+ "files": [
24
+ "dist/",
25
+ "vitepress/",
26
+ "types/"
27
+ ],
28
+ "scripts": {
29
+ "build": "tsup",
30
+ "build:check": "tsc --noEmit"
31
+ },
32
+ "peerDependencies": {
33
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0",
34
+ "vitepress": "^1.6.0",
35
+ "vue": "^3.5.0"
36
+ },
37
+ "dependencies": {
38
+ "d3": "^7.9.0",
39
+ "echarts": "^6.0.0",
40
+ "github-slugger": "^2.0.0",
41
+ "markdown-it-container": "^4.0.0",
42
+ "markdown-it-link-attributes": "^4.0.1",
43
+ "markdown-it-mathjax3": "^4.3.2",
44
+ "marked": "^15.0.11",
45
+ "markmap-lib": "^0.18.12",
46
+ "markmap-toolbar": "^0.18.12",
47
+ "markmap-view": "^0.18.12",
48
+ "swiper": "^11.2.1",
49
+ "uuid": "^11.1.0",
50
+ "vue-echarts": "^8.0.1"
51
+ },
52
+ "devDependencies": {
53
+ "@types/markdown-it": "^14.1.2",
54
+ "@types/node": "^24.6.2",
55
+ "markdown-it-task-lists": "^2.1.1",
56
+ "sass-embedded": "^1.90.0",
57
+ "tsup": "^8.5.1",
58
+ "typescript": "^5.9.3"
59
+ },
60
+ "engines": {
61
+ "node": ">=18.0.0"
62
+ },
63
+ "license": "MIT",
64
+ "repository": {
65
+ "type": "git",
66
+ "url": "https://github.com/tnotesjs/core"
67
+ },
68
+ "keywords": [
69
+ "tnotes",
70
+ "vitepress",
71
+ "knowledge-base",
72
+ "notes"
73
+ ]
74
+ }
@@ -0,0 +1,61 @@
1
+ /**
2
+ * .vitepress/tnotes/types/config.ts
3
+ *
4
+ * 配置相关类型定义
5
+ */
6
+
7
+ /**
8
+ * 知识库的 .tnotes.json 配置文件类型
9
+ */
10
+ export interface TNotesConfig {
11
+ id?: string
12
+ author: string
13
+ ignore_dirs: string[]
14
+ repoName: string
15
+ keywords: string[]
16
+ socialLinks: SocialLink[]
17
+ menuItems: MenuItem[]
18
+ sidebarShowNoteId: boolean
19
+ port?: number
20
+ packageManager?: 'pnpm' | 'npm' | 'yarn'
21
+ root_item: RootItem
22
+ }
23
+
24
+ /**
25
+ * 图标配置
26
+ */
27
+ export interface IconConfig {
28
+ svg?: string
29
+ src?: string
30
+ }
31
+
32
+ /**
33
+ * 社交链接类型
34
+ */
35
+ export interface SocialLink {
36
+ ariaLabel?: string
37
+ icon: string | IconConfig
38
+ link: string
39
+ }
40
+
41
+ /**
42
+ * 菜单项类型
43
+ */
44
+ export interface MenuItem {
45
+ text: string
46
+ link: string
47
+ }
48
+
49
+ /**
50
+ * 根项目配置
51
+ */
52
+ export interface RootItem {
53
+ icon?: IconConfig
54
+ title: string
55
+ completed_notes_count: Record<string, number>
56
+ details: string
57
+ link: string
58
+ created_at: number
59
+ updated_at: number
60
+ days_since_birth: number
61
+ }
package/types/index.ts ADDED
@@ -0,0 +1,11 @@
1
+ /**
2
+ * .vitepress/tnotes/types/index.ts
3
+ *
4
+ * 类型定义统一导出
5
+ */
6
+
7
+ // 配置相关类型
8
+ export type { TNotesConfig } from './config'
9
+
10
+ // 笔记相关类型
11
+ export type { NoteConfig, NoteInfo } from './note'
package/types/note.ts ADDED
@@ -0,0 +1,33 @@
1
+ /**
2
+ * .vitepress/tnotes/types/note.ts
3
+ *
4
+ * 笔记相关类型定义
5
+ */
6
+
7
+ /**
8
+ * 笔记的 .tnotes.json 配置类型
9
+ */
10
+ export interface NoteConfig {
11
+ id: string
12
+ bilibili: string[]
13
+ tnotes: string[]
14
+ yuque: string[]
15
+ done: boolean
16
+ category?: string
17
+ enableDiscussions: boolean
18
+ description?: string // 笔记简介(一句话描述)
19
+ created_at: number
20
+ updated_at: number
21
+ }
22
+
23
+ /**
24
+ * 笔记信息
25
+ */
26
+ export interface NoteInfo {
27
+ index: string
28
+ path: string
29
+ dirName: string
30
+ readmePath: string
31
+ configPath: string
32
+ config?: NoteConfig
33
+ }
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
2
+ <polyline points="20 6 9 17 4 12"></polyline>
3
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg t="1735090484450" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4809"
2
+ width="1em" height="1em">
3
+ <path
4
+ d="M752 176V64c0-35.3-28.7-64-64-64H144c-35.3 0-64 28.7-64 64v704c0 35.3 28.7 64 64 64h112c8.8 0 16 7.2 16 16v112c0 35.3 28.7 64 64 64h544c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H768c-8.8 0-16-7.2-16-16zM256 768h-96c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16h512c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H336c-35.3 0-64 28.7-64 64v496c0 8.8-7.2 16-16 16z m608 192H352c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h512c8.8 0 16 7.2 16 16v672c0 8.8-7.2 16-16 16z"
5
+ p-id="4810" fill="#646cff"></path>
6
+ <path d="M704 352H512c-17.7 0-32-14.3-32-32s14.3-32 32-32h192c17.7 0 32 14.3 32 32s-14.3 32-32 32z" p-id="4811"
7
+ fill="#646cff"></path>
8
+ </svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="#646cff" stroke-width="2" d="m3 3l18 18M3 21L21 3"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"><path fill="#646cff" d="M17.1 5L14 8.1L29.9 24L14 39.9l3.1 3.1L36 24z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="#646cff" stroke-dasharray="24" stroke-dashoffset="24" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 11l6 6l10 -10"><animate fill="freeze" attributeName="stroke-dashoffset" dur="0.4s" values="24;0"/></path></svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
2
+ <rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect>
3
+ <path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path>
4
+ </svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><g fill="none"><path d="M19 12a7 7 0 1 1-14 0a7 7 0 0 1 14 0"/><path stroke="#646cff" stroke-linecap="square" stroke-width="2" d="M19 12a7 7 0 0 1-7 7m7-7a7 7 0 0 0-7-7m7 7h3m-10 7a7 7 0 0 1-7-7m7 7v3M5 12a7 7 0 0 1 7-7m-7 7H2m10-7V2m1 10a1 1 0 1 1-2 0a1 1 0 0 1 2 0Z"/></g></svg>
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
2
+ <path fill="#5961ff" d="M2 4h20v2H2zm0 5.57L5.887 12L2 14.43zM7 11h15v2H7zm-5 7h20v2H2z" />
3
+ </svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" stroke="#5961ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M2 11V4.6a.6.6 0 0 1 .6-.6h6.178a.6.6 0 0 1 .39.144l3.164 2.712a.6.6 0 0 0 .39.144H21.4a.6.6 0 0 1 .6.6V11M2 11v8.4a.6.6 0 0 0 .6.6h18.8a.6.6 0 0 0 .6-.6V11M2 11h20"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="none"><path d="M24 0v24H0V0zM12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.019-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z"/><path fill="#646cff" d="M9.793 12.793a1 1 0 0 1 1.497 1.32l-.083.094L6.414 19H9a1 1 0 0 1 .117 1.993L9 21H4a1 1 0 0 1-.993-.883L3 20v-5a1 1 0 0 1 1.993-.117L5 15v2.586zM20 3a1 1 0 0 1 .993.883L21 4v5a1 1 0 0 1-1.993.117L19 9V6.414l-4.793 4.793a1 1 0 0 1-1.497-1.32l.083-.094L17.586 5H15a1 1 0 0 1-.117-1.993L15 3z"/></g></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#646cff" d="m10 15.4l-5.9 5.9q-.275.275-.7.275t-.7-.275t-.275-.7t.275-.7L8.6 14H5q-.425 0-.712-.288T4 13t.288-.712T5 12h6q.425 0 .713.288T12 13v6q0 .425-.288.713T11 20t-.712-.288T10 19zm5.4-5.4H19q.425 0 .713.288T20 11t-.288.713T19 12h-6q-.425 0-.712-.288T12 11V5q0-.425.288-.712T13 4t.713.288T14 5v3.6l5.9-5.9q.275-.275.7-.275t.7.275t.275.7t-.275.7z"/></svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24">
2
+ <path fill="#646cff"
3
+ d="M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" />
4
+ </svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 48 48"><path fill="none" stroke="#646cff" stroke-linecap="round" stroke-linejoin="round" stroke-width="4" d="M26 24h16M26 38h16M26 10h16M18 24H6h4m8 14c-6-2-2-14-8-14m8-14c-6 2-2 14-8 14"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="#646cff" stroke-width="2" d="m9 6l6 6l-6 6"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="#98989f" d="M6.44 13.8q0 .26-.007.531q-.007.272-.007.545c0 .4-.325.726-.726.726h-.486a.726.726 0 0 1-.725-.726q0-.273-.007-.545a22 22 0 0 1-.006-.531v-1.504q0-.258.025-.647q.033-.396.059-.804q.032-.408.026-.713l-.052-1.931a4 4 0 0 1 .499-.065a8 8 0 0 1 .9 0c.296.016.506.279.506.575zm-3.254.985c.095 0 .89-.004 1.08 0c-.095 0 .19.004 0 0h2.16c.1 0 .337.004.54 0c-.095 0 .207-.004 0 0h.285c.466 0 .854.325.854.79c0 .488-.346.83-.833.83H3.018a.49.49 0 0 1-.493-.408a3.6 3.6 0 0 1-.019-.638c.023-.343.336-.574.68-.574m-.888-3.253c-.276-.38-.036-.863.342-1.142q.54-.4.928-.809c.406-.428.698-1.112.966-1.38c.093.035.203.227.307.464c.299.68.281 1.494-.21 2.05a4.8 4.8 0 0 1-1.151.943c-.392.236-.905.238-1.182-.126m7.547-.907c-.464-.171-.574-.73-.331-1.16a3 3 0 0 1 .247-.376A2.76 2.76 0 0 1 12.003 8q.83 0 1.446.324q.615.318.952.9q.345.578.344 1.362q0 .544-.214.985t-.564.816t-.771.733l-.927.725l-.486.409q-.26.221-.447.427c-.125.139-.045.005-.05.104l-.107.804a.94.94 0 0 1-.932.816a.88.88 0 0 1-.707-.337a7 7 0 0 1-.207-.285a1.2 1.2 0 0 1-.207-.674q0-.356.201-.72q.207-.362.544-.725q.345-.369.74-.726l1.405-1.212q.285-.246.48-.538q.195-.291.194-.66a.88.88 0 0 0-.233-.623q-.233-.26-.66-.259a.91.91 0 0 0-.753.363l-.034.044c-.293.384-.708.73-1.165.572m3.88 4.166c.74-.003 1.402.665.942 1.245q-.29.37-.979.37h-3.252a.76.76 0 0 1-.695-.451c-.182-.404.02-.877.454-.968q.189-.039.396-.072c.912-.155 1.845-.132 2.77-.125l.327.002h.038Zm6.208-1.004q0-.512-.337-.784a1.2 1.2 0 0 0-.81-.279q-.181 0-.357.04c-.222.049-.468.051-.628-.111a2 2 0 0 1-.195-.24c-.142-.212-.266-.29-.266-.616c.672-.149.776-.161 1.07-.226c.294-.07.473-.117.978-.117q.745 0 1.335.279q.59.271.934.81q.343.531.343 1.315a2.6 2.6 0 0 1-.253 1.167a2.5 2.5 0 0 1-.68.855q-.434.35-.998.532q-.564.18-1.193.181a4.6 4.6 0 0 1-1.613-.266a5 5 0 0 1-.519-.233c-.427-.227-.602-.749-.337-1.153c.265-.394.804-.375 1.235-.175l.055.025q.428.182.92.182q.403 0 .694-.143q.297-.149.46-.414q.162-.267.162-.629m.337-2.625a3.2 3.2 0 0 1-.616.486a5.5 5.5 0 0 1-.68.363c-.3.13-.165-.347-.49-.318l-1.144.104c.19-.343 1.2-1.173 1.2-1.173q.123-.123.285-.278a19 19 0 0 1 .564-.5a.05.05 0 0 0 .016-.062a.06.06 0 0 0-.063-.033a3 3 0 0 1-.45.027q-.045.001-.09.005c-.114.009-.214-.02-.352-.005c-.15.013-.274 0-.434 0h-.903c-.256 0-.668-.064-.693-.32a4 4 0 0 1-.02-.324q0-.188.033-.44c.04-.312.344-.493.657-.493h3.389c.478 0 .955.248 1.093.706q.084.272.085.48q0 .428-.39.836z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="#646cff" d="M6.44 13.8q0 .26-.007.531q-.007.272-.007.545c0 .4-.325.726-.726.726h-.486a.726.726 0 0 1-.725-.726q0-.273-.007-.545a22 22 0 0 1-.006-.531v-1.504q0-.258.025-.647q.033-.396.059-.804q.032-.408.026-.713l-.052-1.931a4 4 0 0 1 .499-.065a8 8 0 0 1 .9 0c.296.016.506.279.506.575zm-3.254.985c.095 0 .89-.004 1.08 0c-.095 0 .19.004 0 0h2.16c.1 0 .337.004.54 0c-.095 0 .207-.004 0 0h.285c.466 0 .854.325.854.79c0 .488-.346.83-.833.83H3.018a.49.49 0 0 1-.493-.408a3.6 3.6 0 0 1-.019-.638c.023-.343.336-.574.68-.574m-.888-3.253c-.276-.38-.036-.863.342-1.142q.54-.4.928-.809c.406-.428.698-1.112.966-1.38c.093.035.203.227.307.464c.299.68.281 1.494-.21 2.05a4.8 4.8 0 0 1-1.151.943c-.392.236-.905.238-1.182-.126m7.547-.907c-.464-.171-.574-.73-.331-1.16a3 3 0 0 1 .247-.376A2.76 2.76 0 0 1 12.003 8q.83 0 1.446.324q.615.318.952.9q.345.578.344 1.362q0 .544-.214.985t-.564.816t-.771.733l-.927.725l-.486.409q-.26.221-.447.427c-.125.139-.045.005-.05.104l-.107.804a.94.94 0 0 1-.932.816a.88.88 0 0 1-.707-.337a7 7 0 0 1-.207-.285a1.2 1.2 0 0 1-.207-.674q0-.356.201-.72q.207-.362.544-.725q.345-.369.74-.726l1.405-1.212q.285-.246.48-.538q.195-.291.194-.66a.88.88 0 0 0-.233-.623q-.233-.26-.66-.259a.91.91 0 0 0-.753.363l-.034.044c-.293.384-.708.73-1.165.572m3.88 4.166c.74-.003 1.402.665.942 1.245q-.29.37-.979.37h-3.252a.76.76 0 0 1-.695-.451c-.182-.404.02-.877.454-.968q.189-.039.396-.072c.912-.155 1.845-.132 2.77-.125l.327.002h.038Zm6.208-1.004q0-.512-.337-.784a1.2 1.2 0 0 0-.81-.279q-.181 0-.357.04c-.222.049-.468.051-.628-.111a2 2 0 0 1-.195-.24c-.142-.212-.266-.29-.266-.616c.672-.149.776-.161 1.07-.226c.294-.07.473-.117.978-.117q.745 0 1.335.279q.59.271.934.81q.343.531.343 1.315a2.6 2.6 0 0 1-.253 1.167a2.5 2.5 0 0 1-.68.855q-.434.35-.998.532q-.564.18-1.193.181a4.6 4.6 0 0 1-1.613-.266a5 5 0 0 1-.519-.233c-.427-.227-.602-.749-.337-1.153c.265-.394.804-.375 1.235-.175l.055.025q.428.182.92.182q.403 0 .694-.143q.297-.149.46-.414q.162-.267.162-.629m.337-2.625a3.2 3.2 0 0 1-.616.486a5.5 5.5 0 0 1-.68.363c-.3.13-.165-.347-.49-.318l-1.144.104c.19-.343 1.2-1.173 1.2-1.173q.123-.123.285-.278a19 19 0 0 1 .564-.5a.05.05 0 0 0 .016-.062a.06.06 0 0 0-.063-.033a3 3 0 0 1-.45.027q-.045.001-.09.005c-.114.009-.214-.02-.352-.005c-.15.013-.274 0-.434 0h-.903c-.256 0-.668-.064-.693-.32a4 4 0 0 1-.02-.324q0-.188.033-.44c.04-.312.344-.493.657-.493h3.389c.478 0 .955.248 1.093.706q.084.272.085.48q0 .428-.39.836z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="#646cff" stroke-width="2" d="m15 6l-6 6l6 6"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="#646cff" stroke-width="2" d="M17.333 9.333C16.398 7.36 14.358 6 12 6a6 6 0 1 0 6 6m.5-6v4h-4"/></svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
2
+ <path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path>
3
+ <path d="M21 3v5h-5"></path>
4
+ </svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#646cff" d="M9.539 15.23q-2.398 0-4.065-1.666Q3.808 11.899 3.808 9.5t1.666-4.065T9.539 3.77t4.064 1.666T15.269 9.5q0 1.042-.369 2.017t-.97 1.668l5.909 5.907q.14.14.15.345q.009.203-.15.363q-.16.16-.354.16t-.354-.16l-5.908-5.908q-.75.639-1.725.989t-1.96.35m0-1q1.99 0 3.361-1.37q1.37-1.37 1.37-3.361T12.9 6.14T9.54 4.77q-1.991 0-3.361 1.37T4.808 9.5t1.37 3.36t3.36 1.37"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="#98989f" stroke-width="2" d="m9 6l6 6l-6 6"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="#646cff" stroke-width="2" d="m9 6l6 6l-6 6"/></svg>
@@ -0,0 +1,6 @@
1
+ <svg t="1735484601745" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4282"
2
+ width="200" height="200">
3
+ <path
4
+ d="M820.394667 614.165333a21.333333 21.333333 0 0 0 30.165333-30.186666L528.853333 262.250667a21.333333 21.333333 0 0 0-30.186666 0L176.917333 583.978667a21.333333 21.333333 0 1 0 30.165334 30.186666L490.666667 330.581333v501.482667c0 11.882667 9.557333 21.269333 21.333333 21.269333 11.861333 0 21.333333-9.514667 21.333333-21.269333v-504.96l287.061334 287.061333zM170.666667 192c0-11.776 9.706667-21.333333 21.333333-21.333333h640c11.776 0 21.333333 9.472 21.333333 21.333333 0 11.776-9.706667 21.333333-21.333333 21.333333H192c-11.776 0-21.333333-9.472-21.333333-21.333333z"
5
+ fill="#646cff" p-id="4283"></path>
6
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg t="1733712883490" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
2
+ p-id="23919" width="200" height="200">
3
+ <path
4
+ d="M746.222933 102.239573l-359.799466 330.820267L185.347413 281.4976 102.2464 329.864533l198.20544 182.132054-198.20544 182.132053 83.101013 48.510293 201.076054-151.558826 359.799466 330.676906 175.527254-85.251413V187.4944z m0 217.57952v384.341334l-255.040853-192.177494z"
5
+ fill="#646cff" p-id="23920"></path>
6
+ </svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="#646cff" d="M17 4h3c1.1 0 2 .9 2 2v2h-2V6h-3zM4 8V6h3V4H4c-1.1 0-2 .9-2 2v2zm16 8v2h-3v2h3c1.1 0 2-.9 2-2v-2zM7 18H4v-2H2v2c0 1.1.9 2 2 2h3zm9-8v4H8v-4zm2-2H6v8h12z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="#646cff" stroke-width="2" d="M12 22V2M2 12h20"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="#646cff" stroke-width="2" d="M6 12h12"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="#646cff" d="M2 12c0 5.523 4.477 10 10 10s10-4.477 10-10S17.523 2 12 2v2a8 8 0 1 1-4.5 1.385V8h2V2h-6v2H6a9.99 9.99 0 0 0-4 8"/></svg>
@@ -0,0 +1,38 @@
1
+ /**
2
+ * .vitepress/tnotes/vitepress/assets/icons/index.ts
3
+ *
4
+ * get icons:
5
+ * https://iconify.design/
6
+ * https://icon-sets.iconify.design/
7
+ *
8
+ * SVG 图标统一导出
9
+ */
10
+
11
+ export { default as icon__check } from './icon__check.svg'
12
+ export { default as icon__clipboard } from './icon__clipboard.svg'
13
+ export { default as icon__close } from './icon__close.svg'
14
+ export { default as icon__collapse } from './icon__collapse.svg'
15
+ export { default as icon__confirm } from './icon__confirm.svg'
16
+ export { default as icon__copy } from './icon__copy.svg'
17
+ export { default as icon__focus } from './icon__focus.svg'
18
+ export { default as icon__fold } from './icon__fold.svg'
19
+ export { default as icon__folder } from './icon__folder.svg'
20
+ export { default as icon__fullscreen } from './icon__fullscreen.svg'
21
+ export { default as icon__fullscreen_exit } from './icon__fullscreen_exit.svg'
22
+ export { default as icon__github } from './icon__github.svg'
23
+ export { default as icon__mindmap } from './icon__mindmap.svg'
24
+ export { default as icon__next } from './icon__next.svg'
25
+ export { default as icon__number_gray } from './icon__number_gray.svg'
26
+ export { default as icon__number_purple } from './icon__number_purple.svg'
27
+ export { default as icon__prev } from './icon__prev.svg'
28
+ export { default as icon__restore } from './icon__restore.svg'
29
+ export { default as icon__rotate } from './icon__rotate.svg'
30
+ export { default as icon__search } from './icon__search.svg'
31
+ export { default as icon__sidebar_collapsed } from './icon__sidebar_collapsed.svg'
32
+ export { default as icon__sidebar_opened } from './icon__sidebar_opened.svg'
33
+ export { default as icon__totop } from './icon__totop.svg'
34
+ export { default as icon__vscode } from './icon__vscode.svg'
35
+ export { default as icon__zoom_fit } from './icon__zoom_fit.svg'
36
+ export { default as icon__zoom_in } from './icon__zoom_in.svg'
37
+ export { default as icon__zoom_out } from './icon__zoom_out.svg'
38
+ export { default as icon__zoom_reset } from './icon__zoom_reset.svg'
@@ -0,0 +1,20 @@
1
+ <template>
2
+ <iframe
3
+ style="width: 100%; aspect-ratio: 16/9; margin: 1rem 0"
4
+ :src="'//player.bilibili.com/player.html?isOutside=true&bvid=' + id"
5
+ scrolling="no"
6
+ border="0"
7
+ frameborder="no"
8
+ framespacing="0"
9
+ allowfullscreen="true"
10
+ ></iframe>
11
+ </template>
12
+
13
+ <script setup lang="ts">
14
+ defineProps({
15
+ id: {
16
+ type: String,
17
+ required: true,
18
+ },
19
+ })
20
+ </script>