From d6ef68094fa5e9552bec4ae13456eab14d6f8694 Mon Sep 17 00:00:00 2001 From: qianmoQ Date: Sun, 10 Aug 2025 10:55:45 +0800 Subject: [PATCH] =?UTF-8?q?feat=20(docs):=20=E6=B7=BB=E5=8A=A0=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/docs.yml | 59 ++++++++++++++++++++++++++ docs/assets/logo.svg | 84 ++++++++++++++++++++++++++++++++++++++ docs/content/index.md | 64 +++++++++++++++++++++++++++++ docs/pageforge.yaml | 21 ++++++++++ src-tauri/src/config.rs | 14 +++++++ src/components/About.vue | 18 ++++---- 6 files changed, 253 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/docs.yml create mode 100644 docs/assets/logo.svg create mode 100644 docs/content/index.md create mode 100644 docs/pageforge.yaml diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 00000000..991fb2d1 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,59 @@ +name: Publish Docs + +on: + push: + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [ 18.x ] + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + + - name: Install pnpm + uses: pnpm/action-setup@v2 + with: + version: 8 + + - name: Get pnpm store directory + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - uses: actions/cache@v3 + name: Setup pnpm cache + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Install dependencies + run: pnpm install + + - name: Link package globally + run: | + pnpm link --global + pnpm link --global pageforge + + - name: Test build command + run: | + cd docs + pageforge build + echo 'codeforge.devlive.org' > dist/CNAME + + - name: Deploy + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GH_TOKEN }} + publish_dir: docs/dist \ No newline at end of file diff --git a/docs/assets/logo.svg b/docs/assets/logo.svg new file mode 100644 index 00000000..31552aa2 --- /dev/null +++ b/docs/assets/logo.svg @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < + > + + + + + + + + + + + + + + + + + + + + + + + + + { } + + + + + 010110 + + + 110101 + + + 101011 + + + 011010 + + + + + CodeForge + + \ No newline at end of file diff --git a/docs/content/index.md b/docs/content/index.md new file mode 100644 index 00000000..3261d8d4 --- /dev/null +++ b/docs/content/index.md @@ -0,0 +1,64 @@ +--- +title: 欢迎使用 CodeForge +template: home + +config: + sidebar: false + toc: false + +hero: + title: 轻量级桌面代码执行器 + description: 轻量级、高性能的桌面代码执行器,专为开发者、学生和编程爱好者设计。 + primaryCta: + url: /download.html + text: 立即下载 + secondaryCta: + url: /<%= pageData.language %>/usage/href.html + text: 了解更多 + +features: + subtitle: 核心优势 + title: 为什么选择我们 + description: 轻量级、高性能,专为开发者、学生和编程爱好者设计。 + items: + - icon: >- + + + + title: 高性能 + description: 可扩展的语言支持系统 + + - icon: >- + + + + title: 操作简洁 + description: 一键运行代码 + + - icon: >- + + + + title: 易于使用 + description: 直观的界面设计,简单易上手 + +stats: + title: 用数据说话 + description: 我们取得的成就 + items: + - label: GitHub Stars + value: 0+ + - label: Gitee Stars + value: 0+ + - label: 正常运行时间 + value: 99.99% + - label: 客户满意度 + value: 0% + +cta: + title: 准备好开始了吗? + description: 立即下载,开启您的技术创新之旅 + button: + url: /download.html + text: 立即下载 +--- \ No newline at end of file diff --git a/docs/pageforge.yaml b/docs/pageforge.yaml new file mode 100644 index 00000000..36fdd827 --- /dev/null +++ b/docs/pageforge.yaml @@ -0,0 +1,21 @@ +site: + title: CodeForge + description: CodeForge 是一款轻量级、高性能的桌面代码执行器,专为开发者、学生和编程爱好者设计。 + hiddenTitle: true + keywords: CodeForge, Markdown, Python 2, Python 3, Rust + logo: /assets/logo.svg + favicon: assets/logo.svg + baseUrl: https://codeforge.devlive.org + +repo: + owner: devlive-community + name: codeforge + url: https://github.com/devlive-community/codeforge + branch: dev + +footer: + copyright: © 2025 CodeForge All Rights Reserved. + social: + github: + title: GitHub + href: https://github.com/devlive-community/codeforge diff --git a/src-tauri/src/config.rs b/src-tauri/src/config.rs index 72e290a0..344008a7 100644 --- a/src-tauri/src/config.rs +++ b/src-tauri/src/config.rs @@ -3,12 +3,25 @@ use serde::{Deserialize, Serialize}; use std::fs; use std::path::PathBuf; +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct PluginConfig { + pub enabled: bool, // 插件是否启用 + pub execute_home: String, // 插件的执行路径 + pub extensions: Vec, // 插件支持的文件扩展名 + pub language: String, // 插件所属语言 + pub before_compile: String, // 插件在编译前执行的命令 + pub after_compile: String, // 插件在编译完成后执行的命令 + pub run_command: String, // 插件执行的命令 + pub template: String, // 插件的模板 +} + #[derive(Debug, Clone, Serialize, Deserialize)] pub struct AppConfig { pub log_directory: Option, pub auto_clear_logs: Option, pub keep_log_days: Option, pub theme: Option, + pub plugins: Option>, } impl Default for AppConfig { @@ -18,6 +31,7 @@ impl Default for AppConfig { auto_clear_logs: Some(true), keep_log_days: Some(30), theme: Some("system".to_string()), + plugins: Some(vec![]), } } } diff --git a/src/components/About.vue b/src/components/About.vue index f1ed8e13..8cd14749 100644 --- a/src/components/About.vue +++ b/src/components/About.vue @@ -8,13 +8,17 @@ 'scale-95 opacity-0 translate-y-4': !isVisible, 'scale-100 opacity-100 translate-y-0': isVisible }"> - -
- + +
+

关于 CodeForge

+ +
+ +