Skip to content
 
 

Repository files navigation

🧭 NavEditor 导航站编辑器

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

版本 v5.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.exe(Python + PyInstaller 打包,无需安装环境)
  2. 双击运行,程序自动:
    • 启动本地服务器(默认端口 9620)
    • 打开浏览器进入编辑器
  3. 开始编辑,点击「保存」生成版本与部署文件

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

源码运行

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

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

重新打包 exe

python -m PyInstaller NavEditor.spec --noconfirm

打包产物位于 dist/NavEditor.exe,复制到项目根目录即可使用。


📖 使用说明

基本流程

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

增量发布逻辑

  • 每个账号保存一份「上次发布基线」(文件哈希)
  • 增量发布只上传相对该账号上次发布内容有变化的文件
  • 版本历史的「同步信息」记录每个版本与账号的发布关联(按账号稳定 ID,改名不丢历史)

本地 / 服务器部署

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

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

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


📁 目录结构

NavEditor/
├── launcher.py            # 后端:tkinter 启动器 + 本地 HTTP 服务器 + 存储/部署 API
├── app.js                 # 前端主逻辑(编辑器、生成器、发布、版本、SEO)
├── template.js            # 前端模板(Vue 3,无构建)
├── styles.css             # 前端样式
├── editor.html            # 编辑器入口页
├── NavEditor.spec         # PyInstaller 打包配置
├── lib/                   # Vue 3 / JSZip 等本地库
├── assets/                # 导航站基础静态资源(模板,参考自 web_tool)
├── template/              # 页面模板(关于导航 / 网站提交 / 404 / 模块库)
├── web/                   # 站点与版本数据(本地工作副本)
│   └── <site>/<version>/
│       ├── setting        # 版本设置(编辑数据快照 + 同步信息)
│       └── deploy1/       # 该版本生成的部署文件
├── password/              # 账号令牌(仅本地,绝不进入部署包)
├── backups/               # 编辑自动备份
└── launcher.json          # 启动器配置

🛠️ 技术栈

层 技术
启动器 / 后端 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,通过本机后端直连,不会上传到第三方
  • password/、web/、backups/、deploy_*.zip 等已加入 .gitignore,不会进入 Git 仓库

📄 License

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

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages