官网内容面向用户全面重写 + App 关于页官网入口
CI / Lint & TypeCheck (push) Canceled after 0s
CI / Test (push) Canceled after 0s
CI / Tauri Foundation Acceptance (push) Canceled after 0s
CI / Build (macos-latest) (push) Canceled after 0s
CI / Build (ubuntu-latest) (push) Canceled after 0s
CI / Build (windows-latest) (push) Canceled after 0s

- /docs 重写为 11 页用户向文档(快速上手/会话/终端/SFTP/转发/RDP·VNC/串口/AI/授权/FAQ),剥离 run.sh、构建脚本等开发者内容与内部设计文档
- 文档配 5 张脱敏实况截图:SSH 工作区、SFTP 双栏、RDP、VNC、端口转发抽屉
- 落地页:新增「为什么选」区块、AI 步数修正 8→12、技术栈区改产品特性、专业版 CTA 指向 /pricing
- /pricing 新增免费版 vs 专业版功能对比矩阵
- 全站清除 Tauri/IronRDP/Ed25519/guardrail 等实现层黑话,改用户语言
- 文档站删「打印/导出 PDF」「是否有帮助」摆设组件与未用图标,H1 与页面标题去重
- App 设置-关于新增官网入口 https://opsxshell.rlwj.cn(七语种同步)
- homepage dist 同步重建
This commit is contained in:
Logan.Li committed 2026-10-16 13:20:24 +08:00
1 parent e3962a6334
commit 8b5a888ab9
45 files changed
+1138 -1079

No files matched your search

+1 -26
View File
@@ -1,4 +1,4 @@
/* OpsXShell 文档站交互:搜索 / 代码复制 / 目录高亮 / 反馈 / 移动端导航 */
/* OpsXShell 文档站交互:搜索 / 代码复制 / 目录高亮 / 移动端导航 */
(function () {
"use strict";
@@ -180,31 +180,6 @@
document.querySelectorAll("article.md h2[id], article.md h3[id]").forEach(function (h) { io.observe(h); });
}
/* ---------- 反馈组件 ---------- */
var fb = document.getElementById("feedback");
if (fb) {
var pageKey = "opsx-docs-fb:" + location.pathname;
var voted = null;
try { voted = localStorage.getItem(pageKey); } catch (e) {}
var btns = fb.querySelectorAll(".fb-btn");
var thanks = document.getElementById("fb-thanks");
function mark(v) {
btns.forEach(function (b) {
if (b.dataset.v === v) b.classList.add("done");
});
thanks.hidden = false;
try { localStorage.setItem(pageKey, v); } catch (e) {}
}
if (voted) mark(voted);
btns.forEach(function (b) {
b.addEventListener("click", function () { mark(b.dataset.v); });
});
}
/* ---------- 打印 ---------- */
var printBtn = document.getElementById("print-btn");
if (printBtn) printBtn.addEventListener("click", function () { window.print(); });
/* ---------- 移动端侧栏 ---------- */
var menuBtn = document.getElementById("menu-btn");
var sidebar = document.getElementById("sidebar");