@tnotesjs/core 0.1.15 → 0.1.16

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.
Files changed (115) hide show
  1. package/README.md +87 -87
  2. package/dist/{chunk-FVKQPBPP.js → chunk-4MO7F7Q4.js} +2005 -1769
  3. package/dist/cli/index.js +1 -1
  4. package/dist/vitepress/config/index.js +212 -4
  5. package/package.json +1 -1
  6. package/types/config.ts +61 -61
  7. package/types/index.ts +11 -11
  8. package/types/note.ts +33 -33
  9. package/vitepress/assets/icons/icon__check.svg +3 -3
  10. package/vitepress/assets/icons/icon__clipboard.svg +7 -7
  11. package/vitepress/assets/icons/icon__close.svg +1 -1
  12. package/vitepress/assets/icons/icon__collapse.svg +1 -1
  13. package/vitepress/assets/icons/icon__confirm.svg +1 -1
  14. package/vitepress/assets/icons/icon__copy.svg +4 -4
  15. package/vitepress/assets/icons/icon__focus.svg +1 -1
  16. package/vitepress/assets/icons/icon__fold.svg +3 -3
  17. package/vitepress/assets/icons/icon__folder.svg +1 -1
  18. package/vitepress/assets/icons/icon__fullscreen.svg +1 -1
  19. package/vitepress/assets/icons/icon__fullscreen_exit.svg +1 -1
  20. package/vitepress/assets/icons/icon__github.svg +3 -3
  21. package/vitepress/assets/icons/icon__mindmap.svg +1 -1
  22. package/vitepress/assets/icons/icon__next.svg +1 -1
  23. package/vitepress/assets/icons/icon__number_gray.svg +1 -1
  24. package/vitepress/assets/icons/icon__number_purple.svg +1 -1
  25. package/vitepress/assets/icons/icon__prev.svg +1 -1
  26. package/vitepress/assets/icons/icon__restore.svg +1 -1
  27. package/vitepress/assets/icons/icon__rotate.svg +4 -4
  28. package/vitepress/assets/icons/icon__search.svg +1 -1
  29. package/vitepress/assets/icons/icon__sidebar_collapsed.svg +1 -1
  30. package/vitepress/assets/icons/icon__sidebar_opened.svg +1 -1
  31. package/vitepress/assets/icons/icon__totop.svg +5 -5
  32. package/vitepress/assets/icons/icon__vscode.svg +5 -5
  33. package/vitepress/assets/icons/icon__zoom_fit.svg +1 -1
  34. package/vitepress/assets/icons/icon__zoom_in.svg +1 -1
  35. package/vitepress/assets/icons/icon__zoom_out.svg +1 -1
  36. package/vitepress/assets/icons/icon__zoom_reset.svg +1 -1
  37. package/vitepress/assets/icons/index.ts +39 -39
  38. package/vitepress/components/BilibiliOutsidePlayer/BilibiliOutsidePlayer.vue +20 -20
  39. package/vitepress/components/CodeBlockFullscreen/CodeBlockFullscreen.vue +373 -373
  40. package/vitepress/components/CodeBlockFullscreen/index.ts +115 -115
  41. package/vitepress/components/CodeBlockFullscreen/styles.css +64 -64
  42. package/vitepress/components/Discussions/Discussions.module.scss +32 -32
  43. package/vitepress/components/Discussions/Discussions.vue +211 -211
  44. package/vitepress/components/EnWordList/EnWordList.module.scss +124 -124
  45. package/vitepress/components/EnWordList/EnWordList.vue +543 -543
  46. package/vitepress/components/EnWordList/RightClickMenu.module.scss +22 -22
  47. package/vitepress/components/EnWordList/RightClickMenu.vue +66 -66
  48. package/vitepress/components/Footprints/Footprints.module.scss +93 -93
  49. package/vitepress/components/Footprints/Footprints.vue +377 -377
  50. package/vitepress/components/Layout/AboutModal.module.scss +233 -233
  51. package/vitepress/components/Layout/AboutModal.vue +105 -105
  52. package/vitepress/components/Layout/AboutPanel.vue +270 -270
  53. package/vitepress/components/Layout/ContentCollapse.vue +603 -603
  54. package/vitepress/components/Layout/CustomSidebar.vue +878 -608
  55. package/vitepress/components/Layout/DocBeforeControls.vue +149 -149
  56. package/vitepress/components/Layout/DocFooter.vue +233 -233
  57. package/vitepress/components/Layout/ImagePreview.module.scss +201 -201
  58. package/vitepress/components/Layout/ImagePreview.vue +281 -281
  59. package/vitepress/components/Layout/Layout.module.scss +661 -661
  60. package/vitepress/components/Layout/Layout.vue +618 -559
  61. package/vitepress/components/Layout/NoteStatus.vue +140 -140
  62. package/vitepress/components/Layout/SidebarItems.vue +1083 -268
  63. package/vitepress/components/Layout/SidebarNavBefore.vue +171 -108
  64. package/vitepress/components/Layout/Swiper.vue +167 -167
  65. package/vitepress/components/Layout/ToggleFullContent.module.scss +11 -11
  66. package/vitepress/components/Layout/ToggleFullContent.vue +35 -35
  67. package/vitepress/components/Layout/ToggleSidebar.module.scss +11 -11
  68. package/vitepress/components/Layout/ToggleSidebar.vue +36 -36
  69. package/vitepress/components/Layout/composables/useCollapseControl.ts +88 -88
  70. package/vitepress/components/Layout/composables/useNoteConfig.ts +119 -119
  71. package/vitepress/components/Layout/composables/useNoteSave.ts +178 -178
  72. package/vitepress/components/Layout/composables/useNoteValidation.ts +85 -85
  73. package/vitepress/components/Layout/composables/useRedirect.ts +113 -113
  74. package/vitepress/components/Layout/composables/useVSCodeIntegration.ts +85 -85
  75. package/vitepress/components/Layout/homeReadme.data.ts +124 -124
  76. package/vitepress/components/MarkMap/MarkMap.module.scss +159 -159
  77. package/vitepress/components/MarkMap/MarkMap.vue +405 -405
  78. package/vitepress/components/Mermaid/Mermaid.module.scss +275 -275
  79. package/vitepress/components/Mermaid/Mermaid.vue +365 -365
  80. package/vitepress/components/NotesTable/NotesTable.module.scss +77 -77
  81. package/vitepress/components/NotesTable/NotesTable.vue +98 -98
  82. package/vitepress/components/NotesTable/README.md +67 -67
  83. package/vitepress/components/Settings/Settings.module.scss +375 -433
  84. package/vitepress/components/Settings/Settings.vue +376 -306
  85. package/vitepress/components/SidebarCard/MindMapView.vue +484 -484
  86. package/vitepress/components/SidebarCard/NotesTrendChart.vue +108 -108
  87. package/vitepress/components/SidebarCard/SidebarCard.vue +946 -946
  88. package/vitepress/components/Tooltip/Tooltip.vue +70 -70
  89. package/vitepress/components/constants.ts +109 -91
  90. package/vitepress/components/notesConfig.data.ts +73 -73
  91. package/vitepress/components/sidebar.data.ts +59 -59
  92. package/vitepress/components/tnotes-config.data.ts +21 -21
  93. package/vitepress/components/utils.ts +26 -26
  94. package/vitepress/config/index.ts +169 -167
  95. package/vitepress/configs/constants.ts +26 -26
  96. package/vitepress/configs/head.config.ts +25 -25
  97. package/vitepress/configs/index.ts +9 -9
  98. package/vitepress/configs/markdown-it.d.ts +23 -23
  99. package/vitepress/configs/markdown.config.ts +366 -366
  100. package/vitepress/configs/theme.config.ts +108 -108
  101. package/vitepress/plugins/buildProgressPlugin.ts +434 -434
  102. package/vitepress/plugins/getNoteByConfigIdPlugin.ts +107 -107
  103. package/vitepress/plugins/renameNotePlugin.ts +68 -68
  104. package/vitepress/plugins/sidebarStructurePlugin.ts +260 -0
  105. package/vitepress/plugins/updateConfigPlugin.ts +63 -63
  106. package/vitepress/theme/index.ts +137 -137
  107. package/vitepress/theme/styles/base.scss +50 -50
  108. package/vitepress/theme/styles/components/404.scss +31 -31
  109. package/vitepress/theme/styles/components/collapse.scss +175 -175
  110. package/vitepress/theme/styles/components/markmap.scss +101 -101
  111. package/vitepress/theme/styles/components/swiper.scss +255 -255
  112. package/vitepress/theme/styles/index.scss +25 -25
  113. package/vitepress/theme/styles/layout.scss +70 -62
  114. package/vitepress/theme/styles/utilities.scss +39 -39
  115. package/vitepress/theme/styles/vitepress-override.scss +25 -25
@@ -1,175 +1,175 @@
1
- /**
2
- * Collapse(折叠/展开)组件全局样式
3
- * 这些样式应用于文档内容中动态生成的折叠区域
4
- *
5
- * 由 ContentCollapse.vue 组件使用,所有样式必须是全局的
6
- */
7
-
8
- /* ===================================== */
9
- /* #region 折叠按钮基础样式 */
10
- /* ===================================== */
11
-
12
- .collapse-toggle {
13
- background: none;
14
- border: none;
15
- cursor: pointer;
16
- padding: 4px;
17
- margin: 0;
18
- transition: all 0.25s ease;
19
- line-height: 1;
20
- display: inline-flex;
21
- align-items: center;
22
- justify-content: center;
23
- pointer-events: none; /* 按钮本身不响应点击 */
24
- transform-origin: center;
25
-
26
- &.collapsed {
27
- transform: rotate(0deg);
28
- }
29
- }
30
-
31
- .collapse-icon {
32
- width: 16px;
33
- height: 16px;
34
- transition: transform 0.25s ease;
35
- transform: rotate(90deg); /* 默认向下(展开状态)*/
36
- opacity: 0.3;
37
- }
38
-
39
- /* #endregion */
40
-
41
- /* ===================================== */
42
- /* #region TOC 折叠区域 */
43
- /* ===================================== */
44
-
45
- .toc-collapse-wrapper {
46
- position: relative;
47
- margin: 16px 0;
48
- }
49
-
50
- .toc-collapse-header {
51
- display: flex;
52
- align-items: center;
53
- justify-content: space-between;
54
- padding: 8px 12px;
55
- cursor: pointer;
56
- border-radius: 6px;
57
- transition: all 0.2s ease;
58
- background: transparent;
59
-
60
- &:hover {
61
- background: var(--vp-c-bg-soft);
62
-
63
- .collapse-icon {
64
- opacity: 1;
65
- }
66
- }
67
-
68
- &.collapsed {
69
- background: var(--vp-c-bg-soft);
70
- border: 1px solid var(--vp-c-divider);
71
-
72
- .toc-collapse-toggle img {
73
- transform: rotate(0deg) !important; /* 折叠时向右 */
74
- }
75
-
76
- &:hover {
77
- background: var(--vp-c-bg-mute);
78
- border-color: var(--vp-c-brand-1);
79
- }
80
- }
81
- }
82
-
83
- .collapse-label {
84
- font-weight: 600;
85
- color: var(--vp-c-text-2);
86
- font-size: 14px;
87
- display: block;
88
- }
89
-
90
- .toc-collapse-toggle {
91
- flex-shrink: 0;
92
- }
93
-
94
- /* #endregion */
95
-
96
- /* ===================================== */
97
- /* #region H2 折叠区域 */
98
- /* ===================================== */
99
-
100
- h2.collapsible-h2 {
101
- position: relative !important;
102
- cursor: pointer !important;
103
- padding: 8px 40px 8px 12px !important; /* 右侧预留按钮空间 */
104
- border-radius: 6px !important;
105
- transition: all 0.2s ease !important;
106
-
107
- &:hover {
108
- background: var(--vp-c-bg-soft) !important;
109
-
110
- .collapse-icon {
111
- opacity: 1 !important;
112
- }
113
- }
114
-
115
- &.collapsed {
116
- background: var(--vp-c-bg-soft) !important;
117
- border: 1px solid var(--vp-c-divider) !important;
118
- // margin-top: 1rem !important;
119
- margin: 12px 0 0 0 !important;
120
-
121
- .collapse-icon {
122
- transform: rotate(0deg) !important; /* 折叠时向右 */
123
- }
124
-
125
- &:hover {
126
- background: var(--vp-c-bg-mute) !important;
127
- border-color: var(--vp-c-brand-1) !important;
128
- }
129
- }
130
-
131
- /* 修复 anchor 位置 */
132
- .header-anchor {
133
- top: 10px !important;
134
- }
135
- }
136
-
137
- .h2-collapse-toggle {
138
- position: absolute !important;
139
- right: 8px !important;
140
- top: 50% !important;
141
- transform: translateY(-50%) !important;
142
- flex-shrink: 0;
143
- }
144
-
145
- /* #endregion */
146
-
147
- /* ===================================== */
148
- /* #region 折叠内容区域 */
149
- /* ===================================== */
150
-
151
- .collapse-content {
152
- overflow: hidden;
153
- max-height: 10000px;
154
- opacity: 1;
155
- transition: max-height 0.3s ease, opacity 0.3s ease, margin 0.3s ease;
156
-
157
- &.collapsed {
158
- max-height: 0 !important;
159
- opacity: 0 !important;
160
- margin-top: 0 !important;
161
- margin-bottom: 0 !important;
162
- padding-top: 0 !important;
163
- padding-bottom: 0 !important;
164
- }
165
-
166
- > :first-child {
167
- margin-top: 0;
168
- }
169
-
170
- > :last-child {
171
- margin-bottom: 0;
172
- }
173
- }
174
-
175
- /* #endregion */
1
+ /**
2
+ * Collapse(折叠/展开)组件全局样式
3
+ * 这些样式应用于文档内容中动态生成的折叠区域
4
+ *
5
+ * 由 ContentCollapse.vue 组件使用,所有样式必须是全局的
6
+ */
7
+
8
+ /* ===================================== */
9
+ /* #region 折叠按钮基础样式 */
10
+ /* ===================================== */
11
+
12
+ .collapse-toggle {
13
+ background: none;
14
+ border: none;
15
+ cursor: pointer;
16
+ padding: 4px;
17
+ margin: 0;
18
+ transition: all 0.25s ease;
19
+ line-height: 1;
20
+ display: inline-flex;
21
+ align-items: center;
22
+ justify-content: center;
23
+ pointer-events: none; /* 按钮本身不响应点击 */
24
+ transform-origin: center;
25
+
26
+ &.collapsed {
27
+ transform: rotate(0deg);
28
+ }
29
+ }
30
+
31
+ .collapse-icon {
32
+ width: 16px;
33
+ height: 16px;
34
+ transition: transform 0.25s ease;
35
+ transform: rotate(90deg); /* 默认向下(展开状态)*/
36
+ opacity: 0.3;
37
+ }
38
+
39
+ /* #endregion */
40
+
41
+ /* ===================================== */
42
+ /* #region TOC 折叠区域 */
43
+ /* ===================================== */
44
+
45
+ .toc-collapse-wrapper {
46
+ position: relative;
47
+ margin: 16px 0;
48
+ }
49
+
50
+ .toc-collapse-header {
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: space-between;
54
+ padding: 8px 12px;
55
+ cursor: pointer;
56
+ border-radius: 6px;
57
+ transition: all 0.2s ease;
58
+ background: transparent;
59
+
60
+ &:hover {
61
+ background: var(--vp-c-bg-soft);
62
+
63
+ .collapse-icon {
64
+ opacity: 1;
65
+ }
66
+ }
67
+
68
+ &.collapsed {
69
+ background: var(--vp-c-bg-soft);
70
+ border: 1px solid var(--vp-c-divider);
71
+
72
+ .toc-collapse-toggle img {
73
+ transform: rotate(0deg) !important; /* 折叠时向右 */
74
+ }
75
+
76
+ &:hover {
77
+ background: var(--vp-c-bg-mute);
78
+ border-color: var(--vp-c-brand-1);
79
+ }
80
+ }
81
+ }
82
+
83
+ .collapse-label {
84
+ font-weight: 600;
85
+ color: var(--vp-c-text-2);
86
+ font-size: 14px;
87
+ display: block;
88
+ }
89
+
90
+ .toc-collapse-toggle {
91
+ flex-shrink: 0;
92
+ }
93
+
94
+ /* #endregion */
95
+
96
+ /* ===================================== */
97
+ /* #region H2 折叠区域 */
98
+ /* ===================================== */
99
+
100
+ h2.collapsible-h2 {
101
+ position: relative !important;
102
+ cursor: pointer !important;
103
+ padding: 8px 40px 8px 12px !important; /* 右侧预留按钮空间 */
104
+ border-radius: 6px !important;
105
+ transition: all 0.2s ease !important;
106
+
107
+ &:hover {
108
+ background: var(--vp-c-bg-soft) !important;
109
+
110
+ .collapse-icon {
111
+ opacity: 1 !important;
112
+ }
113
+ }
114
+
115
+ &.collapsed {
116
+ background: var(--vp-c-bg-soft) !important;
117
+ border: 1px solid var(--vp-c-divider) !important;
118
+ // margin-top: 1rem !important;
119
+ margin: 12px 0 0 0 !important;
120
+
121
+ .collapse-icon {
122
+ transform: rotate(0deg) !important; /* 折叠时向右 */
123
+ }
124
+
125
+ &:hover {
126
+ background: var(--vp-c-bg-mute) !important;
127
+ border-color: var(--vp-c-brand-1) !important;
128
+ }
129
+ }
130
+
131
+ /* 修复 anchor 位置 */
132
+ .header-anchor {
133
+ top: 10px !important;
134
+ }
135
+ }
136
+
137
+ .h2-collapse-toggle {
138
+ position: absolute !important;
139
+ right: 8px !important;
140
+ top: 50% !important;
141
+ transform: translateY(-50%) !important;
142
+ flex-shrink: 0;
143
+ }
144
+
145
+ /* #endregion */
146
+
147
+ /* ===================================== */
148
+ /* #region 折叠内容区域 */
149
+ /* ===================================== */
150
+
151
+ .collapse-content {
152
+ overflow: hidden;
153
+ max-height: 10000px;
154
+ opacity: 1;
155
+ transition: max-height 0.3s ease, opacity 0.3s ease, margin 0.3s ease;
156
+
157
+ &.collapsed {
158
+ max-height: 0 !important;
159
+ opacity: 0 !important;
160
+ margin-top: 0 !important;
161
+ margin-bottom: 0 !important;
162
+ padding-top: 0 !important;
163
+ padding-bottom: 0 !important;
164
+ }
165
+
166
+ > :first-child {
167
+ margin-top: 0;
168
+ }
169
+
170
+ > :last-child {
171
+ margin-bottom: 0;
172
+ }
173
+ }
174
+
175
+ /* #endregion */
@@ -1,101 +1,101 @@
1
- /**
2
- * MarkMap 组件全局样式
3
- * Toolbar 由 markmap-toolbar 库动态生成,需要全局样式
4
- */
5
-
6
- /* ===================================== */
7
- /* #region Toolbar 样式 */
8
- /* ===================================== */
9
-
10
- .mm-toolbar {
11
- display: flex;
12
- align-items: center;
13
- gap: 8px;
14
- padding: 6px;
15
- background: rgba(255, 255, 255, 0.9);
16
- border-radius: 6px;
17
- box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
18
- backdrop-filter: blur(8px);
19
- opacity: 0;
20
- pointer-events: none;
21
- transition: opacity 0.3s ease;
22
- color: var(--vp-c-tip-1);
23
- font-weight: 700;
24
- }
25
-
26
- .mm-toolbar-item {
27
- cursor: pointer;
28
- display: flex;
29
- align-items: center;
30
- justify-content: center;
31
- width: 28px;
32
- height: 28px;
33
- border-radius: 4px;
34
- transition: all 0.2s ease;
35
- font-weight: 500;
36
- }
37
-
38
- .mm-toolbar-item:hover {
39
- background-color: rgba(0, 0, 0, 0.08);
40
- transform: scale(1.1);
41
- }
42
-
43
- .mm-toolbar-item:active {
44
- transform: scale(0.95);
45
- }
46
-
47
- .mm-toolbar-item svg {
48
- color: var(--vp-c-tip-1);
49
- }
50
-
51
- /* #endregion */
52
-
53
- /* ===================================== */
54
- /* #region SVG 动画 */
55
- /* ===================================== */
56
-
57
- .markmap g {
58
- transition: transform 0.3s ease, opacity 0.3s ease;
59
- }
60
-
61
- /* #endregion */
62
-
63
- /* ===================================== */
64
- /* #region 暗色模式 */
65
- /* ===================================== */
66
-
67
- .markmap-dark .mm-toolbar {
68
- background: rgba(30, 30, 30, 0.9);
69
- box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
70
- }
71
-
72
- .markmap-dark .mm-toolbar-item:hover {
73
- background-color: rgba(255, 255, 255, 0.1);
74
- }
75
-
76
- /* #endregion */
77
-
78
- /* ===================================== */
79
- /* #region 响应式 */
80
- /* ===================================== */
81
-
82
- @media (max-width: 768px) {
83
- .mm-toolbar {
84
- scale: 0.9;
85
- gap: 6px;
86
- padding: 4px;
87
- }
88
-
89
- .mm-toolbar-item {
90
- width: 24px;
91
- height: 24px;
92
- }
93
- }
94
-
95
- @media (max-width: 480px) {
96
- .mm-toolbar {
97
- scale: 0.8;
98
- }
99
- }
100
-
101
- /* #endregion */
1
+ /**
2
+ * MarkMap 组件全局样式
3
+ * Toolbar 由 markmap-toolbar 库动态生成,需要全局样式
4
+ */
5
+
6
+ /* ===================================== */
7
+ /* #region Toolbar 样式 */
8
+ /* ===================================== */
9
+
10
+ .mm-toolbar {
11
+ display: flex;
12
+ align-items: center;
13
+ gap: 8px;
14
+ padding: 6px;
15
+ background: rgba(255, 255, 255, 0.9);
16
+ border-radius: 6px;
17
+ box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
18
+ backdrop-filter: blur(8px);
19
+ opacity: 0;
20
+ pointer-events: none;
21
+ transition: opacity 0.3s ease;
22
+ color: var(--vp-c-tip-1);
23
+ font-weight: 700;
24
+ }
25
+
26
+ .mm-toolbar-item {
27
+ cursor: pointer;
28
+ display: flex;
29
+ align-items: center;
30
+ justify-content: center;
31
+ width: 28px;
32
+ height: 28px;
33
+ border-radius: 4px;
34
+ transition: all 0.2s ease;
35
+ font-weight: 500;
36
+ }
37
+
38
+ .mm-toolbar-item:hover {
39
+ background-color: rgba(0, 0, 0, 0.08);
40
+ transform: scale(1.1);
41
+ }
42
+
43
+ .mm-toolbar-item:active {
44
+ transform: scale(0.95);
45
+ }
46
+
47
+ .mm-toolbar-item svg {
48
+ color: var(--vp-c-tip-1);
49
+ }
50
+
51
+ /* #endregion */
52
+
53
+ /* ===================================== */
54
+ /* #region SVG 动画 */
55
+ /* ===================================== */
56
+
57
+ .markmap g {
58
+ transition: transform 0.3s ease, opacity 0.3s ease;
59
+ }
60
+
61
+ /* #endregion */
62
+
63
+ /* ===================================== */
64
+ /* #region 暗色模式 */
65
+ /* ===================================== */
66
+
67
+ .markmap-dark .mm-toolbar {
68
+ background: rgba(30, 30, 30, 0.9);
69
+ box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
70
+ }
71
+
72
+ .markmap-dark .mm-toolbar-item:hover {
73
+ background-color: rgba(255, 255, 255, 0.1);
74
+ }
75
+
76
+ /* #endregion */
77
+
78
+ /* ===================================== */
79
+ /* #region 响应式 */
80
+ /* ===================================== */
81
+
82
+ @media (max-width: 768px) {
83
+ .mm-toolbar {
84
+ scale: 0.9;
85
+ gap: 6px;
86
+ padding: 4px;
87
+ }
88
+
89
+ .mm-toolbar-item {
90
+ width: 24px;
91
+ height: 24px;
92
+ }
93
+ }
94
+
95
+ @media (max-width: 480px) {
96
+ .mm-toolbar {
97
+ scale: 0.8;
98
+ }
99
+ }
100
+
101
+ /* #endregion */