prettier
11
.gitattributes
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
* text eol=lf
|
||||
*.txt text eol=crlf
|
||||
|
||||
*.png binary
|
||||
*.jpg binary
|
||||
*.jpeg binary
|
||||
*.ico binary
|
||||
*.gif binary
|
||||
*.tff binary
|
||||
*.woff binary
|
||||
*.woff2 binary
|
||||
8
.gitignore
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
**/node_modules
|
||||
|
||||
docs/.vuepress/.cache
|
||||
docs/.vuepress/.temp
|
||||
docs/.vuepress/dist
|
||||
|
||||
.DS_Store
|
||||
*.log
|
||||
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2025 StickyHomework2
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
28
README.md
@ -1,27 +1,27 @@
|
||||
# sticky-homework-2
|
||||
# StickyHomework-Docs
|
||||
|
||||
The Site is generated using [vuepress](https://vuepress.vuejs.org/) and [vuepress-theme-plume](https://github.com/pengzhanbo/vuepress-theme-plume)
|
||||
这个网站使用 [vuepress](https://vuepress.vuejs.org/) 和 [vuepress-theme-plume](https://github.com/pengzhanbo/vuepress-theme-plume) 搭建
|
||||
|
||||
## Install
|
||||
## 安装
|
||||
|
||||
```sh
|
||||
npm i
|
||||
pnpm i
|
||||
```
|
||||
|
||||
## Usage
|
||||
## 使用
|
||||
|
||||
```sh
|
||||
# start dev server
|
||||
npm run docs:dev
|
||||
# build for production
|
||||
npm run docs:build
|
||||
# preview production build in local
|
||||
npm run docs:preview
|
||||
# update vuepress and theme
|
||||
npm run vp-update
|
||||
# 启动开发服务器
|
||||
pnpm docs:dev
|
||||
# 构建生产环境
|
||||
pnpm docs:build
|
||||
# 预览生产环境
|
||||
pnpm docs:preview
|
||||
# 更新 vuepress 和 theme
|
||||
pnpm vp-update
|
||||
```
|
||||
|
||||
## Documents
|
||||
## 文档
|
||||
|
||||
- [vuepress](https://vuepress.vuejs.org/)
|
||||
- [vuepress-theme-plume](https://theme-plume.vuejs.press/)
|
||||
|
||||
@ -1,27 +0,0 @@
|
||||
# sticky-homework-2
|
||||
|
||||
网站使用 [vuepress](https://vuepress.vuejs.org/) 和 [vuepress-theme-plume](https://github.com/pengzhanbo/vuepress-theme-plume) 构建生成。
|
||||
|
||||
## Install
|
||||
|
||||
```sh
|
||||
npm i
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```sh
|
||||
# 启动开发服务
|
||||
npm run docs:dev
|
||||
# 构建生产包
|
||||
npm run docs:build
|
||||
# 本地预览生产服务
|
||||
npm run docs:preview
|
||||
# 更新 vuepress 和主题
|
||||
npm run vp-update
|
||||
```
|
||||
|
||||
## 文档
|
||||
|
||||
- [vuepress](https://vuepress.vuejs.org/)
|
||||
- [vuepress-theme-plume](https://theme-plume.vuejs.press/)
|
||||
@ -1,22 +1,22 @@
|
||||
import { defineClientConfig } from 'vuepress/client'
|
||||
import Layout from './theme/components/Layout.vue'
|
||||
// import RepoCard from 'vuepress-theme-plume/features/RepoCard.vue'
|
||||
// import NpmBadge from 'vuepress-theme-plume/features/NpmBadge.vue'
|
||||
// import NpmBadgeGroup from 'vuepress-theme-plume/features/NpmBadgeGroup.vue'
|
||||
// import Swiper from 'vuepress-theme-plume/features/Swiper.vue'
|
||||
|
||||
// import CustomComponent from './theme/components/Custom.vue'
|
||||
|
||||
// import './theme/styles/custom.css'
|
||||
import './theme/styles/custom.css'
|
||||
import './theme/styles/index.css'
|
||||
|
||||
export default defineClientConfig({
|
||||
enhance({ app }) {
|
||||
// enhance({ app }) {
|
||||
// built-in components
|
||||
// app.component('RepoCard', RepoCard)
|
||||
// app.component('NpmBadge', NpmBadge)
|
||||
// app.component('NpmBadgeGroup', NpmBadgeGroup)
|
||||
// app.component('Swiper', Swiper) // you should install `swiper`
|
||||
|
||||
// your custom components
|
||||
// app.component('CustomComponent', CustomComponent)
|
||||
// },
|
||||
layouts: {
|
||||
Layout,
|
||||
},
|
||||
})
|
||||
})
|
||||
@ -1,72 +1,30 @@
|
||||
/**
|
||||
* @see https://theme-plume.vuejs.press/guide/collection/ 查看文档了解配置详情。
|
||||
*
|
||||
* Collections 配置文件,它在 `.vuepress/plume.config.ts` 中被导入。
|
||||
*
|
||||
* 请注意,你应该先在这里配置好 Collections,然后再启动 vuepress,主题会在启动 vuepress 时,
|
||||
* 读取这里配置的 Collections,然后在与 Collection 相关的 Markdown 文件中,自动生成 permalink。
|
||||
*
|
||||
* collection 的 type 为 `post` 时,表示为 文档列表类型(即没有侧边导航栏,有文档列表页)
|
||||
* 可用于实现如 博客、专栏 等以文章列表聚合形式的文档集合 (内容相对碎片化的)
|
||||
*
|
||||
* collection 的 type 为 `doc` 时,表示为文档类型(即有侧边导航栏)
|
||||
* 可用于实现如 笔记、知识库、文档等以侧边导航栏形式的文档集合 (内容强关联、成体系的)
|
||||
* 如果发现 侧边栏没有显示,那么请检查你的配置是否正确,以及 Markdown 文件中的 permalink
|
||||
* 是否是以对应的 Collection 配置的 link 的前缀开头。 是否展示侧边栏是根据 页面链接 的前缀 与 `collection.link`
|
||||
* 的前缀是否匹配来决定。
|
||||
*/
|
||||
/* @see https://theme-plume.vuejs.press/guide/collection/ 查看文档了解配置详情。 */
|
||||
|
||||
/**
|
||||
* 在受支持的 IDE 中会智能提示配置项。
|
||||
*
|
||||
* - `defineCollections` 是用于定义 collection 集合的帮助函数
|
||||
* - `defineCollection` 是用于定义单个 collection 配置的帮助函数
|
||||
*
|
||||
* 通过 `defineCollection` 定义的 collection 配置,应该填入 `defineCollections` 中
|
||||
*/
|
||||
import { defineCollection, defineCollections } from 'vuepress-theme-plume'
|
||||
|
||||
const blog = defineCollection({
|
||||
// post 类型,这里用于实现 博客功能
|
||||
const Guide = defineCollection({
|
||||
type: 'doc',
|
||||
dir: 'guide',
|
||||
linkPrefix: '/guide',
|
||||
title: '指南',
|
||||
sidebar: 'auto'
|
||||
});
|
||||
|
||||
const Faq = defineCollection({
|
||||
type: 'post',
|
||||
// 文档集合所在目录,相对于 `docs`
|
||||
dir: 'blog',
|
||||
// 文档标题,它将用于在页面的面包屑导航中显示
|
||||
title: 'Blog',
|
||||
// 文章列表页的链接,如果 `linkPrefix` 未定义,它也将作为 相关的文章的 permalink 的前缀
|
||||
link: '/blog/',
|
||||
dir: 'faq',
|
||||
title: '常见问题',
|
||||
link: '/faq/',
|
||||
// linkPrefix: '/article/', // 相关文章的链接前缀
|
||||
// postList: true, // 是否启用文章列表页
|
||||
// tags: true, // 是否启用标签页
|
||||
// archives: true, // 是否启用归档页
|
||||
archives: false, // 是否启用归档页
|
||||
// categories: true, // 是否启用分类页
|
||||
// postCover: 'right', // 文章封面位置
|
||||
// pagination: 15, // 每页显示文章数量
|
||||
})
|
||||
|
||||
const demoDoc = defineCollection({
|
||||
// doc 类型,该类型带有侧边栏
|
||||
type: 'doc',
|
||||
// 文档集合所在目录,相对于 `docs`
|
||||
dir: 'guide',
|
||||
// `dir` 所指向的目录中的所有 markdown 文件,其 permalink 需要以 `linkPrefix` 配置作为前缀
|
||||
// 如果 前缀不一致,则无法生成侧边栏。
|
||||
// 所以请确保 markdown 文件的 permalink 都以 `linkPrefix` 开头
|
||||
linkPrefix: '/guide',
|
||||
// 文档标题,它将用于在页面的面包屑导航中显示
|
||||
title: 'guide',
|
||||
// 手动配置侧边栏结构
|
||||
sidebar: ['', 'subject', 'tag', 'use', 'title', 'color'],
|
||||
// 根据文件结构自动生成侧边栏
|
||||
//sidebar: 'auto',
|
||||
})
|
||||
|
||||
/**
|
||||
* 导出所有的 collections
|
||||
* (blog 为博客示例,如果不需要博客功能,请删除)
|
||||
* (demoDoc 为参考示例,如果不需要它,请删除)
|
||||
*/
|
||||
export default defineCollection([
|
||||
blog,
|
||||
demoDoc,
|
||||
export default defineCollections([
|
||||
Guide,
|
||||
Faq
|
||||
])
|
||||
|
||||
@ -1,14 +1,3 @@
|
||||
/**
|
||||
* 查看以下文档了解主题配置
|
||||
* - @see https://theme-plume.vuejs.press/config/intro/ 配置说明
|
||||
* - @see https://theme-plume.vuejs.press/config/theme/ 主题配置项
|
||||
*
|
||||
* 请注意,对此文件的修改都会重启 vuepress 服务。
|
||||
* 部分配置项的更新没有必要重启 vuepress 服务,建议请在 `.vuepress/config.ts` 文件中配置
|
||||
*
|
||||
* 特别的,请不要在两个配置文件中重复配置相同的项,当前文件的配置项会被覆盖
|
||||
*/
|
||||
|
||||
import { viteBundler } from '@vuepress/bundler-vite'
|
||||
import { defineUserConfig } from 'vuepress'
|
||||
import { plumeTheme } from 'vuepress-theme-plume'
|
||||
@ -16,12 +5,11 @@ import { plumeTheme } from 'vuepress-theme-plume'
|
||||
export default defineUserConfig({
|
||||
base: '/',
|
||||
lang: 'zh-CN',
|
||||
title: 'StickyHomework2',
|
||||
description: '一款支持富文本的桌面作业贴工具',
|
||||
title: 'StickyHomeworks2',
|
||||
description: '',
|
||||
|
||||
head: [
|
||||
// 配置站点图标
|
||||
['link', { rel: 'icon', type: 'image/png', href: 'https://theme-plume.vuejs.press/favicon-32x32.png' }],
|
||||
['link', { rel: 'icon', type: 'image/png', href: '/logo.png' }],
|
||||
],
|
||||
|
||||
bundler: viteBundler(),
|
||||
@ -32,15 +20,17 @@ export default defineUserConfig({
|
||||
// hostname: 'https://your_site_url',
|
||||
|
||||
/* 文档仓库配置,用于 editLink */
|
||||
// docsRepo: '',
|
||||
// docsDir: 'docs',
|
||||
// docsBranch: '',
|
||||
docsRepo: 'https://github.com/belugaQAQ/Sh2Newweb',
|
||||
docsDir: 'docs',
|
||||
docsBranch: 'main',
|
||||
|
||||
/* 页内信息 */
|
||||
// editLink: true,
|
||||
// lastUpdated: true,
|
||||
// contributors: true,
|
||||
// changelog: false,
|
||||
contributors: {
|
||||
mode: 'block',
|
||||
},
|
||||
changelog: true,
|
||||
|
||||
/**
|
||||
* 编译缓存,加快编译速度
|
||||
@ -52,14 +42,16 @@ export default defineUserConfig({
|
||||
* 为 markdown 文件自动添加 frontmatter 配置
|
||||
* @see https://theme-plume.vuejs.press/config/basic/#autofrontmatter
|
||||
*/
|
||||
// autoFrontmatter: {
|
||||
// permalink: true, // 是否生成永久链接
|
||||
autoFrontmatter: {
|
||||
permalink: false, // 是否生成永久链接
|
||||
// createTime: true, // 是否生成创建时间
|
||||
// title: true, // 是否生成标题
|
||||
// },
|
||||
},
|
||||
|
||||
/* 本地搜索, 默认启用 */
|
||||
search: { provider: 'local' },
|
||||
search: {
|
||||
provider: 'local',
|
||||
},
|
||||
|
||||
/**
|
||||
* Algolia DocSearch
|
||||
@ -70,7 +62,7 @@ export default defineUserConfig({
|
||||
// provider: 'algolia',
|
||||
// appId: '',
|
||||
// apiKey: '',
|
||||
// indices: [''],
|
||||
// indexName: '',
|
||||
// },
|
||||
|
||||
/**
|
||||
@ -90,7 +82,7 @@ export default defineUserConfig({
|
||||
* markdown
|
||||
* @see https://theme-plume.vuejs.press/config/markdown/
|
||||
*/
|
||||
// markdown: {
|
||||
markdown: {
|
||||
// abbr: true, // 启用 abbr 语法 *[label]: content
|
||||
// annotation: true, // 启用 annotation 语法 [+label]: content
|
||||
// pdf: true, // 启用 PDF 嵌入 @[pdf](/xxx.pdf)
|
||||
@ -100,7 +92,7 @@ export default defineUserConfig({
|
||||
// youtube: true, // 启用嵌入 youtube视频 语法 @[youtube](video_id)
|
||||
// artPlayer: true, // 启用嵌入 artPlayer 本地视频 语法 @[artPlayer](url)
|
||||
// audioReader: true, // 启用嵌入音频朗读功能 语法 @[audioReader](url)
|
||||
// icon: { provider: 'iconify' }, // 启用内置图标语法 ::icon-name::
|
||||
icon: { provider: 'iconify', size: '1.5rem' },
|
||||
// table: true, // 启用表格增强容器语法 ::: table
|
||||
// codepen: true, // 启用嵌入 codepen 语法 @[codepen](user/slash)
|
||||
// replit: true, // 启用嵌入 replit 语法 @[replit](user/repl-name)
|
||||
@ -129,7 +121,7 @@ export default defineUserConfig({
|
||||
// },
|
||||
// include: true, // 在 Markdown 文件中导入其他 markdown 文件内容
|
||||
// imageSize: 'local', // 启用 自动填充 图片宽高属性,避免页面抖动
|
||||
// },
|
||||
},
|
||||
|
||||
/**
|
||||
* 水印
|
||||
@ -141,17 +133,17 @@ export default defineUserConfig({
|
||||
* 评论 comments
|
||||
* @see https://theme-plume.vuejs.press/guide/features/comments/
|
||||
*/
|
||||
// comment: {
|
||||
// provider: '', // "Artalk" | "Giscus" | "Twikoo" | "Waline"
|
||||
// comment: true,
|
||||
// repo: '',
|
||||
// repoId: '',
|
||||
// category: '',
|
||||
// categoryId: '',
|
||||
// mapping: 'pathname',
|
||||
// reactionsEnabled: true,
|
||||
// inputPosition: 'top',
|
||||
// },
|
||||
comment: {
|
||||
provider: 'Giscus', // "Artalk" | "Giscus" | "Twikoo" | "Waline"
|
||||
comment: true,
|
||||
repo: 'belugaQAQ/Giscus',
|
||||
repoId: 'R_kgDOPmt-vA',
|
||||
category: 'General',
|
||||
categoryId: 'DIC_kwDOPmt-vM4CuwaX',
|
||||
mapping: 'pathname',
|
||||
reactionsEnabled: true,
|
||||
inputPosition: 'top',
|
||||
},
|
||||
|
||||
/**
|
||||
* 资源链接替换
|
||||
|
||||
@ -7,12 +7,17 @@
|
||||
import { defineNavbarConfig } from 'vuepress-theme-plume'
|
||||
|
||||
export default defineNavbarConfig([
|
||||
{ text: '首页', link: '/' },
|
||||
{ text: '博客', link: '/blog/' },
|
||||
{ text: '标签', link: '/blog/tags/' },
|
||||
{ text: '归档', link: '/blog/archives/' },
|
||||
{
|
||||
text: '笔记',
|
||||
items: [{ text: '示例', link: '/guide/README.md' }]
|
||||
text: '指南',
|
||||
icon: 'mi:book',
|
||||
items: [
|
||||
{ text: '欢迎', icon: 'ion:hardware-chip-outline', link: '/guide/' },
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '常见问题',
|
||||
icon: 'mingcute:question-line',
|
||||
link: '/faq/',
|
||||
},
|
||||
{ text: '友链', icon: 'ic:round-people', link: '/friends' },
|
||||
])
|
||||
|
||||
@ -1,31 +1,23 @@
|
||||
/**
|
||||
* 查看以下文档了解主题配置
|
||||
* - @see https://theme-plume.vuejs.press/config/intro/ 配置说明
|
||||
* - @see https://theme-plume.vuejs.press/config/theme/ 主题配置项
|
||||
*
|
||||
* 请注意,对此文件的修改不会重启 vuepress 服务,而是通过热更新的方式生效
|
||||
* 但同时部分配置项不支持热更新,请查看文档说明
|
||||
* 对于不支持热更新的配置项,请在 `.vuepress/config.ts` 文件中配置
|
||||
*
|
||||
* 特别的,请不要在两个配置文件中重复配置相同的项,当前文件的配置项会覆盖 `.vuepress/config.ts` 文件中的配置
|
||||
*/
|
||||
|
||||
import { defineThemeConfig } from 'vuepress-theme-plume'
|
||||
import navbar from './navbar'
|
||||
import collections from './collections'
|
||||
|
||||
/**
|
||||
* @see https://theme-plume.vuejs.press/config/basic/
|
||||
*/
|
||||
export default defineThemeConfig({
|
||||
logo: 'https://theme-plume.vuejs.press/plume.png',
|
||||
logo: '/logo.png',
|
||||
|
||||
appearance: true, // 配置 深色模式
|
||||
appearance: true,
|
||||
|
||||
social: [
|
||||
{ icon: 'github', link: '/' },
|
||||
{ icon: 'github', link: 'https://github.com/belugaQAQ/Sh2Newweb' },
|
||||
{
|
||||
icon: {
|
||||
svg: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="none"><path d="M12.593 23.258l-.011.002-.071.035-.02.004-.014-.004-.071-.035q-.016-.005-.024.005l-.004.01-.017.428.005.02.01.013.104.074.015.004.012-.004.104-.074.012-.016.004-.017-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002-.185.093-.01.01-.003.011.018.43.005.012.008.007.201.093q.019.005.029-.008l.004-.014-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014-.034.614q.001.018.017.024l.015-.002.201-.093.01-.008.004-.011.017-.43-.003-.012-.01-.01z"/><path fill="currentColor" d="M15.08 4.21s-.71-.4-1.4-.2L2.32 7.23 5.34 1.84s.44-.88 2.15-.84l9.49.02-1.82 3.24-.08-.05Zm3.76-2.18l-1.93 3.44s.48.45.62.97l1.69 6.6-6.52 2.02 2.35-3.83-.73-2.89s-.38-1.14-1.5-1.01c-.02 0-.04 0-.05 0-1.16.18-11.89 3.23-11.89 3.23 0 0-.84.24-.88 1.1 0 0-.02.93.53 1.78l4.76 8.35 1.75-3.12s-.55-.51-.61-.77l-1.92-7.01 6.45-1.88s.35-.18.49.13l-2.81 3.6.96 3.22s.42.71 1.4.71l12.39-3.47s.82-.16.59-1.43c0 0 .04-.47-.35-1.25l-4.77-8.51Z"/><path fill="var(--icon-secondary, currentColor)" d="M8.7 19.69s.66.29 1.09.27l11.97-3.36-2.75 4.9s-.67 1.37-2.26 1.37l-9.9.14 1.85-3.31Z"/></g></svg>',
|
||||
name: 'STCN'
|
||||
},
|
||||
link: 'https://forum.smart-teach.cn/t/stickyhomework2'
|
||||
},
|
||||
],
|
||||
// navbarSocialInclude: ['github'], // 允许显示在导航栏的 social 社交链接
|
||||
navbarSocialInclude: ['github', 'STCN'],
|
||||
// aside: true, // 页内侧边栏, 默认显示在右侧
|
||||
// outline: [2, 3], // 页内大纲, 默认显示 h2, h3
|
||||
|
||||
@ -39,22 +31,9 @@ export default defineThemeConfig({
|
||||
// nextPage: true, // 是否启用下一页链接
|
||||
// createTime: true, // 是否显示文章创建时间
|
||||
|
||||
/* 站点页脚 */
|
||||
// footer: {
|
||||
// message: 'Power by <a target="_blank" href="https://v2.vuepress.vuejs.org/">VuePress</a> & <a target="_blank" href="https://theme-plume.vuejs.press">vuepress-theme-plume</a>',
|
||||
// copyright: '',
|
||||
// },
|
||||
|
||||
/**
|
||||
* @see https://theme-plume.vuejs.press/config/basic/#profile
|
||||
*/
|
||||
profile: {
|
||||
avatar: 'https://theme-plume.vuejs.press/plume.png',
|
||||
name: 'StickyHomework2',
|
||||
description: '一款支持富文本的桌面作业贴工具',
|
||||
// circle: true,
|
||||
// location: '',
|
||||
// organization: '',
|
||||
footer: {
|
||||
message: '由 <a target="_blank" href="https://v2.vuepress.vuejs.org/">VuePress</a> & <a target="_blank" href="https://theme-plume.vuejs.press">vuepress-theme-plume</a> 搭建',
|
||||
copyright: 'MIT 许可协议 | Copyright © 2025 StickyHomeworks',
|
||||
},
|
||||
|
||||
navbar,
|
||||
|
||||
|
Before Width: | Height: | Size: 376 KiB After Width: | Height: | Size: 376 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
@ -1,8 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 72 72">
|
||||
<path fill="#5086a1" d="M42.334 49.147a29.945 29.945 0 0 1-19.338-8.151c-8.014-7.365-8.378-18.076-8.533-22.649l-.022-.627a2.904 2.904 0 0 1 3.457-2.951c17.005 3.355 21.695 16.324 22.056 17.4a49.543 49.543 0 0 1 3.574 15.922a1 1 0 0 1-.967 1.052c-.029.001-.106.004-.227.004" />
|
||||
<path fill="#8cccd5" d="M44.436 55.316c-11.646 0-17.376-6.974-17.653-7.354a1 1 0 0 1 .262-1.424a11.103 11.103 0 0 1 12.774-1.574c-1.465-9.078 1.877-13.568 2.031-13.77a.998.998 0 0 1 .75-.39a.97.97 0 0 1 .78.325c8.944 9.771 8.793 16.532 7.908 19.691c-.034.14-1.062 4.092-4.772 4.406c-.711.062-1.405.09-2.08.09" />
|
||||
<g fill="none" stroke="#333" stroke-linecap="round" stroke-linejoin="round" stroke-width="1">
|
||||
<path d="M55.184 57.69S34.96 45.877 23.097 24.206m22.131 30.096c-11.93.46-17.628-6.88-17.628-6.88" />
|
||||
<path d="M40.528 42.483c-.56-7.195 2.116-10.679 2.116-10.679c8.834 9.654 8.406 16.162 7.681 18.747m-13.311-3.129a30.15 30.15 0 0 1-13.341-7.162c-8.072-7.419-8.067-18.241-8.232-22.577a1.903 1.903 0 0 1 2.264-1.932C34.694 19.103 39.02 32.528 39.02 32.528" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 2.5 MiB After Width: | Height: | Size: 2.5 MiB |
96
docs/.vuepress/theme/components/AsideNav.vue
Normal file
@ -0,0 +1,96 @@
|
||||
<script setup lang="ts">
|
||||
import { computed } from 'vue'
|
||||
import { VPLink } from 'vuepress-theme-plume/client'
|
||||
import { useRouteLocale, useRoute } from 'vuepress/client'
|
||||
|
||||
interface Locale {
|
||||
star: string
|
||||
issue: string
|
||||
share: string
|
||||
copied: string
|
||||
}
|
||||
|
||||
const locales: Record<string, Locale> = {
|
||||
'/': {
|
||||
star: '在 GitHub 上 Star',
|
||||
issue: '遇到问题?',
|
||||
share: '分享此页面',
|
||||
copied: '链接已复制!'
|
||||
},
|
||||
}
|
||||
|
||||
const lang = useRouteLocale()
|
||||
const route = useRoute()
|
||||
const locale = computed(() => locales[lang.value])
|
||||
|
||||
const copyPageLink = () => {
|
||||
const url = window.location.origin + route.path
|
||||
navigator.clipboard.writeText(url)
|
||||
.then(() => {
|
||||
alert(locale.value.copied)
|
||||
})
|
||||
.catch(err => {
|
||||
console.error('复制失败:', err)
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="aside-nav-wrapper">
|
||||
<VPLink class="link" no-icon href="https://github.com/Jursin/EEC-Manual">
|
||||
<span class="vpi-github-star" />
|
||||
<span class="link-text">{{ locale.star }}</span>
|
||||
<span class="vpi-arrow-right" />
|
||||
</VPLink>
|
||||
<VPLink class="link" no-icon href="https://github.com/Jursin/EEC-Manual/issues/new/choose">
|
||||
<span class="vpi-github-issue" />
|
||||
<span class="link-text">{{ locale.issue }}</span>
|
||||
<span class="vpi-arrow-right" />
|
||||
</VPLink>
|
||||
<a class="link" href="#" @click.prevent="copyPageLink">
|
||||
<span class="vpi-share" />
|
||||
<span class="link-text">{{ locale.share }}</span>
|
||||
<span class="vpi-arrow-right" />
|
||||
</a>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.aside-nav-wrapper {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 8px 0;
|
||||
margin: 16px 16px 0;
|
||||
border-top: solid 1px var(--vp-c-divider);
|
||||
}
|
||||
|
||||
.aside-nav-wrapper .link {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
align-items: center;
|
||||
font-size: 14px;
|
||||
color: var(--vp-c-text-2);
|
||||
transition: color var(--vp-t-color);
|
||||
}
|
||||
|
||||
.aside-nav-wrapper .link:hover {
|
||||
color: var(--vp-c-brand-1);
|
||||
}
|
||||
|
||||
.aside-nav-wrapper .link .link-text {
|
||||
flex: 1 2;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.vpi-github-star {
|
||||
--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m12 1.5l3.1 6.3l6.9 1l-5 4.8l1.2 6.9l-6.2-3.2l-6.2 3.2L7 13.6L2 8.8l6.9-1z'/%3E%3C/svg%3E");
|
||||
}
|
||||
|
||||
.vpi-github-issue {
|
||||
--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M8 9.5a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3'/%3E%3Cpath fill='%23000' d='M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0M1.5 8a6.5 6.5 0 1 0 13 0a6.5 6.5 0 0 0-13 0'/%3E%3C/svg%3E");
|
||||
}
|
||||
|
||||
.vpi-share {
|
||||
--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M13 2a1 1 0 1 0 0 2a1 1 0 0 0 0-2m-3 1a3 3 0 1 1 .917 2.16l-4.94 2.47a3 3 0 0 1 0 .74l4.94 2.47a3 3 0 1 1-.895 1.789l-4.94-2.47a3 3 0 1 1 0-4.319l4.94-2.47A3 3 0 0 1 10 3M3 7a1 1 0 1 0 0 2a1 1 0 0 0 0-2m10 5a1 1 0 1 0 0 2a1 1 0 0 0 0-2'/%3E%3C/svg%3E");
|
||||
}
|
||||
</style>
|
||||
@ -1,11 +0,0 @@
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue'
|
||||
|
||||
const message = ref('Hello World!')
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="my-custom-content">
|
||||
{{ message }}
|
||||
</div>
|
||||
</template>
|
||||
15
docs/.vuepress/theme/components/Layout.vue
Normal file
@ -0,0 +1,15 @@
|
||||
<script setup>
|
||||
import { Layout } from 'vuepress-theme-plume/client'
|
||||
import AsideNav from './AsideNav.vue'
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Layout>
|
||||
<template #aside-outline-after>
|
||||
<AsideNav />
|
||||
</template>
|
||||
</Layout>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
@ -1,13 +1,4 @@
|
||||
:root
|
||||
{
|
||||
--vp-home-hero-name-color: transparent;
|
||||
--vp-home-hero-name-background: linear-gradient(120deg, var(--vp-c-purple-1) 30%, var(--vp-c-brand-2));
|
||||
--vp-home-hero-tagline: var(--vp-c-text-2);
|
||||
--vp-home-hero-text: var(--vp-c-text-1);
|
||||
--vp-home-hero-image-background-image: linear-gradient(-45deg, var(--vp-c-brand-soft) 50%, var(--vp-c-brand-2) 50%);
|
||||
--vp-home-hero-image-filter: blur(44px);
|
||||
--vp-image-height: 326px;
|
||||
--vp-image-width: 580px;
|
||||
:root {
|
||||
/** 主题颜色 */
|
||||
|
||||
/*
|
||||
@ -33,10 +24,16 @@
|
||||
--vp-c-text-2: rgba(60, 60, 67, 0.78);
|
||||
--vp-c-text-3: rgba(60, 60, 67, 0.56);
|
||||
*/
|
||||
--vp-home-hero-name-color: transparent;
|
||||
--vp-home-hero-name-background: linear-gradient(120deg, var(--vp-c-purple-1) 30%, var(--vp-c-brand-2));
|
||||
--vp-home-hero-tagline: var(--vp-c-text-2);
|
||||
--vp-home-hero-text: var(--vp-c-text-1);
|
||||
--vp-home-hero-image-background-image: linear-gradient(-45deg, var(--vp-c-brand-soft) 50%, var(--vp-c-brand-2) 50%);
|
||||
--vp-home-hero-image-filter: blur(44px);
|
||||
}
|
||||
|
||||
/** 深色模式 */
|
||||
[data-theme="dark"] {
|
||||
/* [data-theme="dark"] { */
|
||||
/*
|
||||
--vp-c-brand-1: #8cccd5;
|
||||
--vp-c-brand-2: #6aa1b7;
|
||||
@ -56,4 +53,52 @@
|
||||
--vp-c-text-2: rgba(235, 235, 245, 0.6);
|
||||
--vp-c-text-3: rgba(235, 235, 245, 0.38);
|
||||
*/
|
||||
/* } */
|
||||
|
||||
/* home hero image */
|
||||
.image {
|
||||
margin-top: 60px !important;
|
||||
}
|
||||
|
||||
/* home features */
|
||||
.item {
|
||||
transition: transform 0.3s;
|
||||
}
|
||||
|
||||
.item:hover {
|
||||
transform: translateY(-5px);
|
||||
}
|
||||
|
||||
/* faq */
|
||||
.posts-container.no-profile {
|
||||
max-width: 1400px !important;
|
||||
}
|
||||
|
||||
.vp-posts-nav.local .nav-link {
|
||||
max-width: 175px !important;
|
||||
}
|
||||
|
||||
/* friends */
|
||||
.vp-friends {
|
||||
max-width: 1400px !important;
|
||||
}
|
||||
|
||||
.friends-list {
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
|
||||
}
|
||||
|
||||
.avatar {
|
||||
width: auto;
|
||||
height: auto;
|
||||
padding: 8px;
|
||||
border-radius: 8px !important;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.avatar img {
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
object-fit: contain !important;
|
||||
}
|
||||
|
||||
11
docs/.vuepress/theme/styles/index.css
Normal file
@ -0,0 +1,11 @@
|
||||
:root {
|
||||
--vp-layout-max-width: 1660px;
|
||||
}
|
||||
|
||||
.content-container {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.vp-doc-container.has-aside .content-container {
|
||||
max-width: 1000px !important;
|
||||
}
|
||||
@ -1,10 +0,0 @@
|
||||
---
|
||||
title: 自定义组件
|
||||
tags:
|
||||
- 预览
|
||||
- 组件
|
||||
createTime: 2025/10/26 21:43:33
|
||||
permalink: /blog/6yiy84ti/
|
||||
---
|
||||
|
||||
<CustomComponent />
|
||||
@ -1,410 +0,0 @@
|
||||
---
|
||||
title: Markdown
|
||||
tags:
|
||||
- markdown
|
||||
createTime: 2025/10/26 21:43:33
|
||||
permalink: /blog/4l7fs9yx/
|
||||
---
|
||||
|
||||
## 标题H2
|
||||
|
||||
### 标题H3
|
||||
|
||||
#### 标题H4
|
||||
|
||||
##### 标题H5
|
||||
|
||||
###### 标题H6
|
||||
|
||||
## 标题2 Badge <Badge type="tip" text="Badge" />
|
||||
|
||||
### 标题3 Badge <Badge type="warning" text="Badge" />
|
||||
|
||||
#### 标题4 Badge <Badge type="danger" text="Badge" />
|
||||
|
||||
正文内容。
|
||||
|
||||
`@property` CSS at-rule是 [CSS Houdini API](https://developer.mozilla.org/zh-CN/docs/Web/Guide/Houdini)
|
||||
的一部分,它允许开发者显式地定义他们的 [CSS 自定义属性](https://developer.mozilla.org/zh-CN/docs/Web/CSS/--*),
|
||||
允许进行属性类型检查、设定默认值以及定义该自定义属性是否可以被继承。
|
||||
|
||||
`@property` 的出现,极大的增强了 CSS 的能力。
|
||||
|
||||
加粗:**加粗文字**
|
||||
|
||||
斜体: _斜体文字_
|
||||
|
||||
~~删除文字~~
|
||||
|
||||
内容 ==标记==
|
||||
|
||||
数学表达式: $-(2^{n-1})$ ~ $2^{n-1} -1$
|
||||
|
||||
$\frac {\partial^r} {\partial \omega^r} \left(\frac {y^{\omega}} {\omega}\right)
|
||||
= \left(\frac {y^{\omega}} {\omega}\right) \left\{(\log y)^r + \sum_{i=1}^r \frac {(-1)^ Ir \cdots (r-i+1) (\log y)^{ri}} {\omega^i} \right\}$
|
||||
|
||||
19^th^
|
||||
|
||||
H~2~O
|
||||
|
||||
::: center
|
||||
内容居中
|
||||
:::
|
||||
|
||||
::: right
|
||||
内容右对齐
|
||||
:::
|
||||
|
||||
- 无序列表1
|
||||
- 无序列表2
|
||||
- 无序列表3
|
||||
|
||||
1. 有序列表1
|
||||
2. 有序列表2
|
||||
3. 有序列表3
|
||||
|
||||
- [ ] 任务列表1
|
||||
- [ ] 任务列表2
|
||||
- [x] 任务列表3
|
||||
- [x] 任务列表4
|
||||
|
||||
| Tables | Are | Cool |
|
||||
| ------------- |:-------------:| -----:|
|
||||
| col 3 is | right-aligned | $1600 |
|
||||
| col 2 is | centered | $12 |
|
||||
| zebra stripes | are neat | $1 |
|
||||
|
||||
> 引用内容
|
||||
>
|
||||
> 引用内容
|
||||
|
||||
[链接](/)
|
||||
|
||||
[外部链接](https://github.com/pengzhanbo)
|
||||
|
||||

|
||||
|
||||
**Badge:**
|
||||
|
||||
- <Badge type="info" text="info badge" />
|
||||
- <Badge type="tip" text="tip badge" />
|
||||
- <Badge type="warning" text="warning badge" />
|
||||
- <Badge type="danger" text="danger badge" />
|
||||
|
||||
**图标:**
|
||||
|
||||
- home - <Icon name="material-symbols:home" color="currentColor" size="1em" />
|
||||
- vscode - <Icon name="skill-icons:vscode-dark" size="2em" />
|
||||
- twitter - <Icon name="skill-icons:twitter" size="2em" />
|
||||
|
||||
**demo wrapper:**
|
||||
|
||||
::: demo-wrapper title="示例" no-padding height="200px"
|
||||
<style scoped>
|
||||
.open-door {
|
||||
display: flex;
|
||||
gap: 20px;
|
||||
padding: 20px;
|
||||
}
|
||||
.open-door .main {
|
||||
background: #ccc;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="open-door">
|
||||
<div class="main">main</div>
|
||||
<div class="aside">aside</div>
|
||||
</div>
|
||||
|
||||
:::
|
||||
|
||||
**代码:**
|
||||
|
||||
```js whitespace
|
||||
const a = 1
|
||||
const b = 2
|
||||
const c = a + b
|
||||
|
||||
// [!code word:obj]
|
||||
const obj = {
|
||||
toLong: {
|
||||
deep: {
|
||||
deep: {
|
||||
deep: {
|
||||
value: 'this is to long text. this is to long text. this is to long text. this is to long text.', // [!code highlight]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Code Blocks TwoSlash:**
|
||||
|
||||
```ts twoslash
|
||||
// @errors: 2339
|
||||
const welcome = 'Tudo bem gente?'
|
||||
const words = welcome.contains(' ')
|
||||
```
|
||||
|
||||
```ts twoslash
|
||||
import express from 'express'
|
||||
const app = express()
|
||||
app.get('/', (req, res) => {
|
||||
res.send
|
||||
})
|
||||
app.listen(3000)
|
||||
```
|
||||
|
||||
```ts twoslash
|
||||
import { createHighlighter } from 'shiki'
|
||||
|
||||
const highlighter = await createHighlighter({ themes: ['nord'], langs: ['javascript'] })
|
||||
// @log: Custom log message
|
||||
const a = 1
|
||||
// @error: Custom error message
|
||||
const b = 1
|
||||
// @warn: Custom warning message
|
||||
const c = 1
|
||||
// @annotate: Custom annotation message
|
||||
```
|
||||
|
||||
```ts twoslash
|
||||
// @errors: 2540
|
||||
interface Todo {
|
||||
title: string
|
||||
}
|
||||
|
||||
const todo: Readonly<Todo> = {
|
||||
title: 'Delete inactive users'.toUpperCase(),
|
||||
// ^?
|
||||
}
|
||||
|
||||
todo.title = 'Hello'
|
||||
|
||||
Number.parseInt('123', 10)
|
||||
// ^|
|
||||
|
||||
//
|
||||
//
|
||||
```
|
||||
|
||||
```vue twoslash
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue'
|
||||
|
||||
const count = ref(0)
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<p>{{ count }}</p>
|
||||
</template>
|
||||
```
|
||||
|
||||
**代码分组:**
|
||||
|
||||
::: code-tabs
|
||||
@tab tab1
|
||||
|
||||
```js
|
||||
const a = 1
|
||||
const b = 2
|
||||
const c = a + b
|
||||
```
|
||||
|
||||
@tab tab2
|
||||
|
||||
```ts
|
||||
const a: number = 1
|
||||
const b: number = 2
|
||||
const c: number = a + b
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
**代码块高亮:**
|
||||
|
||||
```ts
|
||||
function foo() {
|
||||
const a = 1 // [!code highlight]
|
||||
|
||||
console.log(a)
|
||||
|
||||
const b = 2 // [!code ++]
|
||||
const c = 3 // [!code --]
|
||||
|
||||
console.log(a + b + c) // [!code error]
|
||||
console.log(a + b) // [!code warning]
|
||||
}
|
||||
```
|
||||
|
||||
**代码块聚焦:**
|
||||
|
||||
```ts
|
||||
function foo() {
|
||||
const a = 1 // [!code focus]
|
||||
}
|
||||
```
|
||||
|
||||
::: tip 仅标题
|
||||
:::
|
||||
|
||||
::: note 注释
|
||||
注释内容 [link](https://github.com/pengzhanbo) `inline code`
|
||||
|
||||
```js
|
||||
const a = 1
|
||||
const b = 2
|
||||
const c = a + b
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
::: info 信息
|
||||
信息内容 [link](https://github.com/pengzhanbo) `inline code`
|
||||
|
||||
```js
|
||||
const a = 1
|
||||
const b = 2
|
||||
const c = a + b
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
::: tip 提示
|
||||
提示内容 [link](https://github.com/pengzhanbo) `inline code`
|
||||
|
||||
```js
|
||||
const a = 1
|
||||
const b = 2
|
||||
const c = a + b
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
::: warning 警告
|
||||
警告内容 [link](https://github.com/pengzhanbo) `inline code`
|
||||
|
||||
```js
|
||||
const a = 1
|
||||
const b = 2
|
||||
const c = a + b
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
::: caution 错误
|
||||
错误内容 [link](https://github.com/pengzhanbo) `inline code`
|
||||
|
||||
```js
|
||||
const a = 1
|
||||
const b = 2
|
||||
const c = a + b
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
::: important 重要
|
||||
重要内容 [link](https://github.com/pengzhanbo) `inline code`
|
||||
|
||||
```js
|
||||
const a = 1
|
||||
const b = 2
|
||||
const c = a + b
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
::: details 详细标题
|
||||
|
||||
这里是内容。
|
||||
:::
|
||||
|
||||
**GFM alert:**
|
||||
|
||||
> [!note]
|
||||
> note
|
||||
|
||||
> [!info]
|
||||
> info
|
||||
|
||||
> [!tip]
|
||||
> tip
|
||||
|
||||
> [!warning]
|
||||
> warning
|
||||
|
||||
> [!caution]
|
||||
> caution
|
||||
|
||||
> [!important]
|
||||
> important
|
||||
|
||||
**代码演示:**
|
||||
|
||||
:::: demo title="常规示例" desc="一个常规示例"
|
||||
|
||||
::: code-tabs
|
||||
@tab HTML
|
||||
|
||||
```html
|
||||
<div id="app">
|
||||
<h3>vuepress-theme-plume</h3>
|
||||
</div>
|
||||
```
|
||||
|
||||
@tab Javascript
|
||||
|
||||
```js
|
||||
const a = 'So Awesome!'
|
||||
const app = document.querySelector('#app')
|
||||
app.appendChild(window.document.createElement('small')).textContent = a
|
||||
```
|
||||
|
||||
@tab CSS
|
||||
|
||||
```css
|
||||
#app {
|
||||
font-size: 2em;
|
||||
text-align: center;
|
||||
}
|
||||
```
|
||||
|
||||
:::
|
||||
::::
|
||||
|
||||
**选项卡:**
|
||||
|
||||
::: tabs
|
||||
@tab 标题1
|
||||
内容区块
|
||||
|
||||
@tab 标题2
|
||||
内容区块
|
||||
:::
|
||||
|
||||
:::: warning
|
||||
::: tabs
|
||||
@tab 标题1
|
||||
内容区块
|
||||
|
||||
@tab 标题2
|
||||
内容区块
|
||||
:::
|
||||
::::
|
||||
|
||||
**脚注:**
|
||||
|
||||
脚注 1 链接[^first]。
|
||||
|
||||
脚注 2 链接[^second]。
|
||||
|
||||
行内的脚注^[行内脚注文本] 定义。
|
||||
|
||||
重复的页脚定义[^second]。
|
||||
|
||||
[^first]: 脚注 **可以包含特殊标记**
|
||||
|
||||
也可以由多个段落组成
|
||||
|
||||
[^second]: 脚注文字。
|
||||
@ -1,8 +0,0 @@
|
||||
---
|
||||
title: Demo
|
||||
createTime: 2025/10/26 21:43:33
|
||||
permalink: /demo/
|
||||
---
|
||||
|
||||
- [bar](./bar.md)
|
||||
- [foo](./foo.md)
|
||||
@ -1,7 +0,0 @@
|
||||
---
|
||||
title: bar
|
||||
createTime: 2025/10/26 21:43:33
|
||||
permalink: /demo/arh1gv46/
|
||||
---
|
||||
|
||||
[foo](./foo.md)
|
||||
@ -1,7 +0,0 @@
|
||||
---
|
||||
title: foo
|
||||
createTime: 2025/10/26 21:43:33
|
||||
permalink: /demo/detb1ivi/
|
||||
---
|
||||
|
||||
[bar](./bar.md)
|
||||
9
docs/faq/help-github.md
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
title: help-github
|
||||
createTime: 2025/10/27 23:29:03
|
||||
---
|
||||
## 如果你有WPF能力的话
|
||||
|
||||
## 欢迎在Github提交代码!
|
||||
|
||||
### https://github.com/zji573432-cpu/StickyHomeworks2
|
||||
@ -1,11 +1,7 @@
|
||||
---
|
||||
title: 提交issues
|
||||
icon: ic:twotone-bug-report
|
||||
author: ClassisBand
|
||||
isOriginal: true
|
||||
date: 2025-08-30
|
||||
title: issues
|
||||
createTime: 2025/10/27 23:29:03
|
||||
---
|
||||
|
||||
## 如果你在使用过程中发现了一些Bug
|
||||
|
||||
## 放心,那不是特性
|
||||
20
docs/friends.md
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
pageLayout: friends
|
||||
title: 友情链接
|
||||
list:
|
||||
-
|
||||
name: 智教联盟论坛
|
||||
link: https://forum.smart-teach.cn/
|
||||
avatar: https://static.smart-teach.cn/logos/full.jpg
|
||||
desc: 全国最大的电教委交流社区
|
||||
-
|
||||
name: Awesome-Iwb
|
||||
link: https://github.com/awesome-iwb/awesome-iwb
|
||||
avatar: https://github.com/awesome-iwb/awesome-iwb/blob/master/images/aiwb-300w.png?raw=true
|
||||
desc: 为广大电教倾情撰写,让班级大屏更好用!
|
||||
-
|
||||
name: Awesome-Class-Softwares
|
||||
link: https://github.com/Jursin/Awesome-Class-Softwares
|
||||
avatar: https://nav.jursin.top/acs.png
|
||||
desc: 适用于班级一体机的优质软件合集🌟
|
||||
---
|
||||
@ -1,16 +1,10 @@
|
||||
---
|
||||
title: 外观设置
|
||||
icon: ic:twotone-color-lens
|
||||
author: ClassisBand
|
||||
isOriginal: true
|
||||
date: 2025-08-30T00:00:00.000Z
|
||||
createTime: 2025/10/26 23:24:40
|
||||
permalink: /guide/m9i0taaq/
|
||||
title: color
|
||||
createTime: 2025/10/27 23:28:52
|
||||
---
|
||||
|
||||
## 基本
|
||||
|
||||
### 》界面缩放
|
||||
### 界面缩放
|
||||
|
||||
当主界面文本过大或过小时,可以调节该设置
|
||||
|
||||
@ -18,7 +12,7 @@ permalink: /guide/m9i0taaq/
|
||||
|
||||
<br>
|
||||
|
||||
### 》背景不透明度
|
||||
### 背景不透明度
|
||||
|
||||
该设置用于在壁纸遮挡的情况下,调节该设置可以浅露壁纸
|
||||
|
||||
@ -30,14 +24,14 @@ permalink: /guide/m9i0taaq/
|
||||
|
||||
## 主题
|
||||
|
||||
### 》应用主题
|
||||
### 应用主题
|
||||
|
||||
该设置用于调节深浅模式
|
||||
可以根据喜好调节
|
||||
|
||||
<br>
|
||||
|
||||
### 》主题色来源
|
||||
### 主题色来源
|
||||
|
||||
调整该设置将改变以下主题色设置
|
||||
|
||||
|
||||
@ -1,13 +1,7 @@
|
||||
---
|
||||
title: 你好!
|
||||
icon: ic:twotone-waving-hand
|
||||
author: ClassisBand
|
||||
isOriginal: true
|
||||
date: 2025-08-30T00:00:00.000Z
|
||||
createTime: 2025/10/26 23:24:40
|
||||
permalink: /guide/
|
||||
title: 欢迎
|
||||
createTime: 2025/10/27 23:28:52
|
||||
---
|
||||
|
||||
### 欢迎来到StickyHomework2文档页面
|
||||
|
||||
::: important
|
||||
@ -1,13 +1,7 @@
|
||||
---
|
||||
title: 科目
|
||||
icon: ic:twotone-bookmark
|
||||
author: ClassisBand
|
||||
isOriginal: true
|
||||
date: 2025-08-30T00:00:00.000Z
|
||||
createTime: 2025/10/26 23:24:40
|
||||
permalink: /guide/j3xsucyk/
|
||||
title: subject
|
||||
createTime: 2025/10/27 23:28:52
|
||||
---
|
||||
|
||||
::: info 科目是使用Sh2的第一步,它将用分类作业
|
||||
|
||||
:::
|
||||
|
||||
@ -1,13 +1,7 @@
|
||||
---
|
||||
title: 标签
|
||||
icon: ic:twotone-discount
|
||||
author: ClassisBand
|
||||
isOriginal: true
|
||||
date: 2025-08-30T00:00:00.000Z
|
||||
createTime: 2025/10/26 23:24:40
|
||||
permalink: /guide/f1f1krbk/
|
||||
title: tag
|
||||
createTime: 2025/10/27 23:28:52
|
||||
---
|
||||
|
||||
### 添加标签
|
||||
|
||||
你可以在 **应用设置/标签** 中找到它
|
||||
|
||||
@ -1,13 +1,7 @@
|
||||
---
|
||||
title: 基本设置
|
||||
icon: ic:twotone-video-label
|
||||
author: ClassisBand
|
||||
isOriginal: true
|
||||
date: 2025-08-30T00:00:00.000Z
|
||||
createTime: 2025/10/26 23:24:40
|
||||
permalink: /guide/bottlptf/
|
||||
title: title
|
||||
createTime: 2025/10/27 23:28:52
|
||||
---
|
||||
|
||||
### 开机自启
|
||||
|
||||
开机后自动启动
|
||||
|
||||
@ -1,13 +1,7 @@
|
||||
---
|
||||
title: 添加作业
|
||||
icon: ic:twotone-feed
|
||||
author: ClassisBand
|
||||
isOriginal: true
|
||||
date: 2025-08-30T00:00:00.000Z
|
||||
createTime: 2025/10/26 23:24:40
|
||||
permalink: /guide/2jbrbocg/
|
||||
title: use
|
||||
createTime: 2025/10/27 23:28:52
|
||||
---
|
||||
|
||||
## 添加作业
|
||||
|
||||
::: important 关键功能,若有问题先仔细看一遍!!!
|
||||
|
||||
@ -1,13 +0,0 @@
|
||||
---
|
||||
title: 通过代码帮助
|
||||
icon: ic:round-code
|
||||
author: ClassisBand
|
||||
isOriginal: true
|
||||
date: 2025-08-30
|
||||
---
|
||||
|
||||
## 如果你有WPF能力的话
|
||||
|
||||
## 欢迎在Github提交代码!
|
||||
|
||||
### https://github.com/zji573432-cpu/StickyHomeworks2
|
||||
@ -1,48 +1,40 @@
|
||||
---
|
||||
home: true
|
||||
config:
|
||||
-
|
||||
type: doc-hero
|
||||
- type: doc-hero
|
||||
background: tint-plate
|
||||
hero:
|
||||
name: StickyHomeworks2
|
||||
text: 你的下一款作业贴软件
|
||||
tagline: 专为电教委与老师设计的桌面端富文本作业管理工具<br>让作业记录更清晰·学习更有条理
|
||||
image: /stickyhomeworks2-icon256.png
|
||||
image: /logo.png
|
||||
actions:
|
||||
-
|
||||
theme: brand
|
||||
text: 查看文档 →
|
||||
- theme: brand
|
||||
text: 开始阅读
|
||||
icon: lucide:list-start
|
||||
link: /guide/
|
||||
-
|
||||
theme: alt
|
||||
- theme: alt
|
||||
text: Github
|
||||
icon: fa-brands:github
|
||||
link: https://github.com/zji573432-cpu/StickyHomeworks2
|
||||
-
|
||||
type: image-text
|
||||
- type: image-text
|
||||
title: 丰富全面的功能
|
||||
image: /sh.png
|
||||
image: /preview.png
|
||||
width: 590px
|
||||
list:
|
||||
-
|
||||
title: 📝富文本编辑
|
||||
- title: 📝富文本编辑
|
||||
description: 像写Markdown一样记录作业详情,美观优雅
|
||||
-
|
||||
title: 📚科目分组
|
||||
- title: 📚科目分组
|
||||
description: 按学科整理作业,井井有条不混乱
|
||||
-
|
||||
title: 🏷️智能标签
|
||||
- title: 🏷️智能标签
|
||||
description: 为作业添加标签,精准筛选,快速定位
|
||||
-
|
||||
title: 🗂️自动清理
|
||||
- title: 🗂️自动清理
|
||||
description: 过期作业自动提醒或清理,界面更清爽
|
||||
-
|
||||
title: 🖼️导出截图
|
||||
- title: 🖼️导出截图
|
||||
description: 一键导出作业内容为图片,分享或打印超方便
|
||||
-
|
||||
title: 🔍全局缩放
|
||||
- title: 🔍全局缩放
|
||||
description: 界面大小随心调,看清每一个细节
|
||||
-
|
||||
type: features
|
||||
- type: features
|
||||
features:
|
||||
- title: 开机自启
|
||||
icon: ic:round-restart-alt
|
||||
@ -91,28 +83,17 @@ config:
|
||||
- title: 更新
|
||||
icon: icon-park-twotone:update-rotation
|
||||
details: 有了更新,妈妈再也不怕我的Github上不去了
|
||||
-
|
||||
type: text-image
|
||||
- type: text-image
|
||||
title: “独一无二” 的自定义功能
|
||||
image: /sh.png
|
||||
image: /preview.png
|
||||
width: 590px
|
||||
list:
|
||||
-
|
||||
title: 深色模式
|
||||
- title: 深色模式
|
||||
description: 切换深浅色背景与字色,护眼又美观
|
||||
-
|
||||
title: 主题色切换
|
||||
- title: 主题色切换
|
||||
description: 让你的作业贴多姿多彩
|
||||
-
|
||||
title: 背景不透明度
|
||||
- title: 背景不透明度
|
||||
description: 既不遮挡信息,又能凸显你的壁纸
|
||||
-
|
||||
title: 更多
|
||||
- title: 更多
|
||||
description: 仍有更多的设置等着你去发现
|
||||
-
|
||||
type: 'custom'
|
||||
---
|
||||
 **HelloWRC**
|
||||
|
||||
~~软件作者,写代码巨水~~(划掉)
|
||||
|
||||
7179
package-lock.json
generated
30
package.json
@ -1,25 +1,33 @@
|
||||
{
|
||||
"name": "sticky-homework-2",
|
||||
"name": "stickyhomeworks-docs",
|
||||
"type": "module",
|
||||
"version": "1.0.0",
|
||||
"description": "一款支持富文本的桌面作业贴工具",
|
||||
"description": "",
|
||||
"packageManager": "pnpm@10.18.3",
|
||||
"pnpm": {
|
||||
"onlyBuiltDependencies": [
|
||||
"@parcel/watcher",
|
||||
"esbuild"
|
||||
]
|
||||
},
|
||||
"author": "Jursin <jursin@126.com>",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": "^20.6.0 || >=22.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"docs:build": "vuepress build docs --clean-cache --clean-temp",
|
||||
"docs:dev": "vuepress dev docs",
|
||||
"docs:dev-clean": "vuepress dev docs --clean-cache --clean-temp",
|
||||
"docs:build": "vuepress build docs --clean-cache --clean-temp",
|
||||
"docs:preview": "http-server docs/.vuepress/dist",
|
||||
"vp-update": "npx vp-update"
|
||||
"vp-update": "pnpm dlx vp-update"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vuepress/bundler-vite": "2.0.0-rc.26",
|
||||
"@vuepress/bundler-vite": "2.0.0-rc.24",
|
||||
"http-server": "^14.1.1",
|
||||
"typescript": "^5.9.3",
|
||||
"vue": "^3.5.22",
|
||||
"vuepress": "2.0.0-rc.26",
|
||||
"vuepress-theme-plume": "1.0.0-rc.174"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^20.6.0 || >=22.0.0"
|
||||
"vuepress": "2.0.0-rc.24",
|
||||
"vuepress-theme-plume": "1.0.0-rc.170"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||