Skip to content

Repository files navigation

🧭 NavEditor 导航站编辑器

WebStack 风格网址导航站 · 图形化管理工具

版本 v1.0 · 本地优先 · 一键部署

NavEditor 是一个 Windows 桌面程序:双击启动本地服务并自动打开浏览器编辑器,以图形化方式完成网址导航站的搭建、编辑、版本管理与发布。所有数据保存在本机,账号令牌不会上传到任何第三方服务器。


✨ 功能特性

可视化编辑

  • 分类 / 子分类 / 网站卡片:增删改、拖拽排序、图标与颜色、闪烁模块、搜索过滤
  • 页脚菜单:固定菜单(网站提交 / 友情链接 / 关于导航)与自定义菜单,可拖拽排序、改图标
  • 搜索栏设置:多标签(常用 / 搜索 / 工具…)、多引擎、颜色样式,引擎图标支持上传 / SVG / URL
  • 壁纸与背景:内置壁纸库、自定义壁纸分组、侧边栏背景与主题色
  • 每日文字 / 广告位 / 404 页面 / 关于页 / 网站提交页:全部图形化配置
  • 模板库:把当前编辑内容保存为默认模板,新建版本一键套用

版本历史与多站点

  • 版本历史:保存 / 另存为、重命名、收藏、拖拽排序、导入导出
  • 同步信息:记录每个版本发布到过哪些账号、最后同步时间、是否存在未发布的修改;发布过的版本显示绿色「已同步」
  • 多站点管理:独立站点数据、独立版本与部署目录,站点可拖拽排序

SEO 营销

  • 图形化配置页面标题、描述、关键词、Open Graph / Twitter 分享卡片、站点验证、结构化数据 JSON-LD
  • 自动生成 robots.txt、sitemap.xml 与站点验证文件,随部署一起发布

发布与部署

  • 账号管理:GitHub Pages / Cloudflare Pages / Vercel / Netlify / 服务器(本地 Windows 或 nginx SSH)
  • 快速 / 增量 / 全量发布:快速直传(不比对哈希)、哈希对比增量、全量替换
  • 下载部署文件:当前完整部署包(与全量发布同一套文件集)
  • 下载修改文件:自上次「保存」以来有变化的文件(与增量发布同一套对比逻辑),附修改清单
  • 服务器部署:SSH 连接(密码 / 密钥)、SFTP 上传、远程脚本执行,部署控制台输出详细日志
  • 一键打包:生成的部署包可直接上传 GitHub Pages 等静态托管

🖼️ 界面预览

在此处添加截图(建议放入 docs/screenshots/ 目录):

  • 主控制台编辑界面
  • 版本历史 / 同步信息
  • 账号管理与发布进度
  • SEO 营销配置
  • 部署控制台

🚀 快速开始

Windows(推荐)

  1. 到 发行版 下载 NavEditor-v1.0-win64.zip 并解压(已包含 exe 与运行所需文件,无需安装环境)
  2. 双击运行,程序自动:
    • 启动本地服务器(默认端口 9527,被占用时自动顺延)
    • 打开浏览器进入编辑器
  3. 开始编辑,点击「保存」生成版本与部署文件

端口、默认页面等可在启动器「设置」中调整,配置保存在 launcher.json。

源码运行

# 需要 Python 3.8+
pip install -r requirements.txt
python launcher.py

依赖:paramiko(服务器 SSH 部署)、PyInstaller(打包 exe,可选)。

重新打包 exe

双击 源码/打包.bat 即可(脚本内部执行 python -m PyInstaller NavEditor.spec --noconfirm --distpath "..\软件",再把网页文件同步过去):

  • exe 直接输出到 软件/NavEditor.exe
  • 网页文件(app.js、assets/、template/ 等)自动同步到 软件/
  • 软件/web 里的站点数据不会被覆盖

📖 使用说明

基本流程

  1. 新建站点 / 版本:主控制台左侧管理站点,右上角「另存为」创建版本
  2. 编辑内容:分类、网站卡片、页脚、搜索栏、壁纸等均在图内完成
  3. 保存:把当前编辑状态保存到版本(含部署文件快照)
  4. 发布:在「配置账号」中添加目标平台账号,选择「快速发布 / 增量发布 / 全量发布」
  5. 下载部署文件:打包后上传到 GitHub Pages 等静态托管即可上线

三种发布方式

  • 快速发布:不比对哈希,本地记录上次上传文件的修改时间/大小,直接上传有变化的文件;首次使用自动全量上传
  • 增量发布:本地记录每个账号的上次发布基线(文件哈希),只上传哈希有变化的文件,并清理已移除的旧文件
  • 全量发布:删除仓库原有所有文件,使用当前完整部署包整体替换

发布成功后,「同步信息」记录每个版本与账号的发布关联(按账号稳定 ID,改名不丢历史)。

本地 / 服务器部署

账号类型选择「服务器」:

  • 本地(Windows):填写本地站点根目录,可配置部署前 / 后 PowerShell 脚本
  • 服务器(nginx):填写 SSH 主机、端口、用户名、密码或私钥、远程部署目录与部署后命令

部署过程在同步弹窗的控制台区域显示逐文件日志与错误详情。


📁 目录结构

NavEditor/
├── 源码/                    # 工程文件(本 Git 仓库:开发、上传 GitHub 用)
│   ├── launcher.py          # 后端:tkinter 启动器 + 本地 HTTP 服务器 + 存储/部署 API
│   ├── app.js               # 前端主逻辑(编辑器、生成器、发布、版本、SEO)
│   ├── template.js          # 前端模板(Vue 3,无构建)
│   ├── styles.css           # 前端样式
│   ├── editor.html          # 编辑器入口页
│   ├── NavEditor.spec       # PyInstaller 打包配置(输出到 软件/)
│   ├── 打包.bat             # 一键打包:生成 exe 并同步网页文件到 软件/
│   ├── lib/                 # Vue 3 / JSZip 等本地库
│   ├── assets/              # 导航站基础静态资源(模板,参考自 web_tool)
│   ├── template/            # 页面模板(关于导航 / 网站提交 / 404 / 模块库)
│   └── web/                 # 站点与版本数据(Git 备份副本)
└── 软件/                    # 打包成品(不进入 Git,双击 NavEditor.exe 运行)
    ├── NavEditor.exe        # 主程序(由 源码/打包.bat 生成)
    ├── editor.html          # 以下均为运行所需网页文件(打包时自动同步)
    ├── app.js / template.js / styles.css
    ├── assets/ lib/ template/
    ├── web/                 # 运行时使用的站点与版本数据
    └── launcher.json        # 启动器配置(端口、密码目录等)

站点与版本数据的目录约定(web/ 下):

web/<site>/<version>/
├── setting        # 版本设置(编辑数据快照 + 同步信息)
└── deploy1/       # 该版本生成的部署文件

🛠️ 技术栈

层 技术
启动器 / 后端 Python · tkinter · http.server(ThreadingHTTPServer)
前端 Vue 3(本地 lib,无构建)· 原生 HTML/CSS · JSZip
存储 本地 JSON 文件系统(web/、password/)
部署 GitHub / Cloudflare / Vercel / Netlify REST API · paramiko(SSH/SFTP)
打包 PyInstaller

🔒 数据与隐私

  • 所有站点数据、版本、账号令牌均保存在本机(web/ 与 password/ 文件夹)
  • 令牌仅用于发布时调用对应平台 API,通过本机后端直连,不会上传到第三方
  • 打包成品(软件/、NavEditor.exe)与 launcher.json 已加入 .gitignore,不作为源码提交;软件通过 发行版 分发
  • 站点数据同时存在两份:源码/web(Git 备份)与 软件/web(运行时使用)

📄 License

本项目采用 MIT License(可自行修改)。使用本工具前请遵守目标平台的服务条款与相关法律法规。

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages