Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
50191a8
refactor: :sparkles: 使用json存储作业。
yeying-xingchen Jan 11, 2026
29c806a
refactor: :fire: 重构主页面为多个窗口。
yeying-xingchen Jan 14, 2026
7f75f79
style: :art: 格式化所有文档。
yeying-xingchen Jan 14, 2026
f3c8deb
feat: :sparkles: 作业模板功能。
yeying-xingchen Jan 14, 2026
dd36ff0
ci: :construction_worker: 自动发布构建。
yeying-xingchen Jan 14, 2026
24e3dd8
ci: :bug: 无法获取commit信息。
yeying-xingchen Jan 14, 2026
a72113b
chore: :bookmark: 1.1.1-rc3
yeying-xingchen Jan 14, 2026
a92c783
ci: :bug: 非windows无法生成changelog.
yeying-xingchen Jan 14, 2026
cb4d691
ci: :bug: Windows下使用bash语法。
yeying-xingchen Jan 14, 2026
3a4f592
ci: :green_heart: 无法生成Changelog.
yeying-xingchen Jan 14, 2026
e7aff97
perf: :zap: 删除多余代码。
yeying-xingchen Jan 15, 2026
2f1da4b
refactor: :art: 拆分main.css
yeying-xingchen Jan 15, 2026
c46f095
refactor: :art: 拆分main.dark.css
yeying-xingchen Jan 15, 2026
6a1c815
refactor: :zap: 优化设置页面UI。
yeying-xingchen Jan 15, 2026
1d6be44
ci: :construction_worker: 修复删文件失败。
yeying-xingchen Jan 15, 2026
081d63c
refactor: :fire: 删除不必要的依赖。
yeying-xingchen Jan 17, 2026
7c27655
fix: :bug: click事件被拦截。
yeying-xingchen Jan 17, 2026
8b4c087
feat: :sparkles: 优化UI
yeying-xingchen Jan 17, 2026
f7b247e
fix: :bug: 无法调整窗口大小。
yeying-xingchen Jan 17, 2026
2a3a4a3
feat: :lipstick: 新设置UI。
yeying-xingchen Jan 24, 2026
1498a98
feat: 迁移至MDUI(Homework Card)
yeying-xingchen Feb 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 19 additions & 10 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,28 @@ jobs:
- name: Delete Unnecessary Files on Windows
if: matrix.os == 'windows-latest'
run: |
del /f /q README.md
rmdir /S /Q .git
rmdir /S /Q .github
del /f /q .gitignore
del /f /q .gitattributes
rmdir /S /Q .vscode
rmdir /S /Q readme
rmdir /S /Q installer
rmdir /S /Q changelog
if exist README.md del /f /q README.md
if exist .github rmdir /S /Q .github
if exist .gitignore del /f /q .gitignore
if exist .gitattributes del /f /q .gitattributes
if exist .vscode rmdir /S /Q .vscode
if exist readme rmdir /S /Q readme
if exist installer rmdir /S /Q installer
if exist changelog rmdir /S /Q changelog
if exist node_modules/.cache rmdir /S /Q node_modules/.cache
shell: cmd
- name: Delete Unnecessary Files on Unix
if: matrix.os != 'windows-latest'
run: rm -rf README.md && rm -rf .git && rm -rf .github && rm -rf .gitignore && rm -rf .gitattributes && rm -rf .vscode && rm -rf readme && rm -rf installer && rm -rf changelog
run: |
[ -f README.md ] && rm -rf README.md || true
[ -d .github ] && rm -rf .github || true
[ -f .gitignore ] && rm -rf .gitignore || true
[ -f .gitattributes ] && rm -rf .gitattributes || true
[ -d .vscode ] && rm -rf .vscode || true
[ -d readme ] && rm -rf readme || true
[ -d installer ] && rm -rf installer || true
[ -d changelog ] && rm -rf changelog || true
[ -d node_modules/.cache ] && rm -rf node_modules/.cache || true
shell: bash
- name: Build with electron-forge
run: "yarn make"
Expand Down
114 changes: 114 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
name: Release

on:
workflow_dispatch:
inputs:
release_version:
description: 'Release Version (e.g., v1.2.0)'
required: true
default: 'v1.0.0'
release_title:
description: 'Release Title'
required: true
default: 'New Release'
build_run_id:
description: 'Build Run ID to download artifacts from'
required: true
default: ''

jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # 获取所有历史记录以便生成changelog

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '24'

- name: Install conventional-changelog
run: |
npm install -g conventional-changelog-cli conventional-changelog-angular

- name: Generate changelog
id: changelog
run: |
# 生成 changelog
LATEST_TAG=$(git describe --tags $(git rev-list --tags --max-count=1))
echo "Latest tag: $LATEST_TAG"

# 如果没有标签,则使用所有提交
if [ -z "$LATEST_TAG" ]; then
# 为首次发布创建初始标签
git config --global user.name 'GitHub Action'
git config --global user.email 'action@github.com'
git tag v0.0.0
LATEST_TAG="v0.0.0"
fi

# 使用自定义脚本生成 changelog
node .github/generate-conventional-changelog.js

# 检查是否生成了有效的 changelog
if [ -f temp_changelog.md ] && [ -s temp_changelog.md ]; then
echo "Custom changelog generated successfully"
else
echo "Custom changelog generation failed, using manual approach"
if [ "$LATEST_TAG" = "v0.0.0" ]; then
COMMITS=$(git log --pretty=format:"- %h %s (%an)" --reverse HEAD)
else
COMMITS=$(git log --pretty=format:"- %h %s (%an)" --reverse $LATEST_TAG..HEAD)
fi
echo "$COMMITS" > temp_changelog.md
fi

# 读取changelog内容并设置输出
CHANGELOG_CONTENT=$(cat temp_changelog.md)
echo "changelog_content<<EOF" >> $GITHUB_OUTPUT
echo "$CHANGELOG_CONTENT" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT

- name: Download build artifacts
uses: actions/download-artifact@v4
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
run-id: ${{ github.event.inputs.build_run_id }}
merge-multiple: true
path: ./downloaded_artifacts

- name: Display downloaded artifacts
run: |
echo "Downloaded artifacts:"
find ./downloaded_artifacts -type f

- name: Organize assets for release
run: |
mkdir -p ./release_assets
find ./downloaded_artifacts -name "*.exe" -o -name "*.deb" -o -name "*.rpm" -o -name "*.zip" -o -name "*.dmg" -o -name "*.nupkg" -o -name "*.AppImage" | xargs -I {} cp {} ./release_assets/
echo "Release assets prepared:"
ls -la ./release_assets/

- name: Create Release
id: create_release
uses: softprops/action-gh-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.event.inputs.release_version }}
name: ${{ github.event.inputs.release_title }}
body: |
## Changelog

${{ steps.changelog.outputs.changelog_content }}

## Assets
本次发布使用的构建产物来自构建运行 #${{ github.event.inputs.build_run_id }}:

此版本包含以下文件:
draft: false
prerelease: false
files: ./release_assets/*
9 changes: 9 additions & 0 deletions .hintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"extends": [
"development"
],
"hints": {
"meta-viewport": "off",
"axe/language": "off"
}
}
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ QQ群:925490458
## 技术栈

- [Electron](https://www.electronjs.org/)
- [FluentUI](https://developer.microsoft.com/zh-cn/fluentui)
- [FluentUI](https://developer.microsoft.com/zh-cn/fluentui)
14 changes: 14 additions & 0 deletions assets/css/card/clock-dark.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.time {
font-size: 26px;
font-weight: bold;
margin: 8px 0;
letter-spacing: 1px;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.date {
font-size: 13px;
opacity: 0.85;
margin-top: 5px;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
35 changes: 35 additions & 0 deletions assets/css/card/clock.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
.time {
font-size: 28px;
font-weight: 600;
margin: 8px 0;
letter-spacing: 1px;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
font-family: 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
background: linear-gradient(135deg, #ffffff, #e0e0e0);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-align: center;
position: relative;
z-index: 1;
}

.date {
font-size: 14px;
opacity: 0.9;
margin-top: 5px;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
font-family: 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
text-align: center;
position: relative;
z-index: 1;
}

.period {
font-size: 14px;
opacity: 0.85;
margin-left: 8px;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
position: relative;
z-index: 1;
}
119 changes: 119 additions & 0 deletions assets/css/card/homework-dark.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
.homework-card {
display: flex;
flex-direction: column;
}

.homework-list {
margin-top: 8px;
max-height: 300px;
overflow-y: auto;
}

.homework-item {
background: rgba(0, 0, 0, 0.12);
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
border: 1px solid rgba(255, 255, 255, 0.1);
padding: 12px;
margin: 8px 0;
border-radius: 6px;
text-align: left;
display: flex;
justify-content: space-between;
align-items: flex-start;
}

.homework-item:hover {
background: rgba(0, 0, 0, 0.18);
border-color: rgba(255, 255, 255, 0.2);
}

.homework-item > div:first-child {
flex: 1;
word-wrap: break-word;
word-break: break-word;
margin-right: 12px;
}

.subject-tag {
display: inline-block;
padding: 3px 8px; /* 标签内边距 */
border-radius: 12px; /* 圆角标签 */
font-size: 12px;
font-weight: 500;
margin-right: 6px; /* 右边距 */
vertical-align: middle;
backdrop-filter: blur(2px);
-webkit-backdrop-filter: blur(2px);
}

.chinese {
background-color: #E74C3C; /* 深红色 - 语文课本的红色 */
color: white;
}

.math {
background-color: #3498DB; /* 深蓝色 - 数学课本的蓝色 */
color: white;
}

.english {
background-color: #F39C12;
color: white;
}

.physics {
background-color: #2980B9;
color: white;
}

.chemistry {
background-color: #9B59B6;
color: white;
}

.biology {
background-color: #27AE60;
color: white;
}

.history {
background-color: #E67E22;
color: white;
}

.geography {
background-color: #27AE60;
color: white;
}

.politics {
background-color: #1ABC9C;
color: white;
}

.other {
background-color: #95A5A6;
}

.delete-btn {
background: rgba(255, 107, 107, 0.3);
backdrop-filter: blur(2px);
-webkit-backdrop-filter: blur(2px);
color: white;
border: 1px solid rgba(255, 107, 107, 0.5);
padding: 3px 6px;
border-radius: 3px;
cursor: pointer;
font-size: 12px;
transition: all 0.2s ease;
}

.delete-btn:hover {
background: rgba(255, 107, 107, 0.5);
border-color: rgba(255, 107, 107, 0.7);
}

fluent-button {
height: 20px;
}
Loading