Commit Graph
14 Commits
Author SHA1 Message Date
liyepan 830ae8c4e3 fix: v0.12.1 —— 最近文件 / 最近目录放进菜单栏,去掉多余工具栏
- 删掉上一版单独加的工具栏,不再多占一行
- 「最近文件」「最近目录」改为菜单栏里的顶级菜单,顺序是
  文件 / 编辑 / 视图 / 格式 / 最近文件 / 最近目录 / 帮助
- 文件菜单里不再重复放这两个子菜单
- 去掉工具栏相关的 QSS、成员与英文翻译,截图重新生成
2026-10-23 11:28:28 +08:00
liyepan 505063a2e7 feat: v0.12.0 —— 顶部工具栏、最近目录、统一配置文件
- 顶部工具栏:新建 / 打开 / 保存,以及「最近文件」「最近目录」下拉菜单
- 文件菜单同样拆成「最近文件」「最近目录」两个子菜单,各记 8 条、可分别清空
- 启动时自动打开上次编辑的文件,文件不存在则显示欢迎文档
- 所有设置改用 AppConfig 单例写进同一个 config.ini;关于对话框显示其路径
- 修掉编辑器一创建就被标成「已修改」的问题(setDocumentMargin 的副作用),
  否则恢复上次文件时会误弹保存提示
- 工具栏加了配套的 QSS 与中英文翻译,截图更新到 0.12.0
2026-10-23 11:25:46 +08:00
liyepan 09e8f13901 feat: v0.11.0 —— 侧栏加「目录」页签,展示文档大纲
- 侧栏顶部两个页签:文件(默认)/ 目录,切换状态会记住
- 目录页遍历当前文档的 1–6 级标题:按层级用全角空格缩进,
  H1/H2 加粗,深层级字号略小,鼠标悬停显示完整标题
- 围栏代码块里的 # 不会被当成标题(扫描时跟踪围栏状态)
- 点目录项跳到对应行并居中;编辑停下 250ms 后自动重建目录
- 目录模式下隐藏文件夹名和 Git 工具条
- 新增 4 条翻译(目录 / Outline、没有标题 等)
- 版本 0.11.0
2026-10-23 10:51:35 +08:00
liyepan 0a6a3f8775 feat: v0.10.0 —— 表格可编辑控件,单行代码块的语言按钮挪位
代码块
- 只有一行代码时,框太矮,语言下拉自动挪到复制按钮左边同一行

表格
- 检测 Markdown 表格(表头 + |---| 分隔行 + 连续 | 行),在编辑模式下用
  QTableWidget 覆盖渲染:圆角边框、网格线、表头加粗、按 :---: 保留对齐
- 双击单元格直接编辑,改完立刻回写成 Markdown 表格
- 右键菜单:插入行 / 删除行 / 插入列 / 删除列,改完同步回文本
- 新增行/列会沿用原有对齐;表格增删行后自动修正后面表格的行号偏移
- 源代码模式下表格退回原始 Markdown 文本(控件隐藏)
- 主题切换时重建控件以套用新配色

其它
- 欢迎文档与演示文档各加一张示例表格
- 新增 4 条中英文翻译(插入行/删除行/插入列/删除列)
- 版本 0.10.0
2026-10-22 18:32:56 +08:00
liyepan 0b32ccaaf3 feat: v0.8.1 —— 代码框左上角加语言下拉菜单
- 编辑模式下每个代码框左上角显示当前语言(纯文本 / C++ / Python …),
  点开是一个带勾选标记的语言菜单
- 选中后改写围栏上的语言标记(例如 ```cpp → ```python),
  高亮立即跟着变;选「纯文本」则去掉语言标记
- 下拉与复制按钮都是画在编辑器视口里的,跟着滚动重算,源码模式下都不显示
- 「纯文本」加入中英文翻译
- 截图与 README 同步
2026-10-22 18:16:14 +08:00
liyepan 233d732604 feat: v0.8.0 —— 修复围栏空行断状态,代码块改为真正的语法高亮
修复
- highlightBlock 遇到空行直接 return,把围栏状态重置了:代码块中间只要有一条
  空行,后面的行就不再按代码处理(这正是 #include 之后代码变回普通文本的原因)
- 空行现在会延续围栏状态;闭合围栏行也不再被误判成新的开围栏

语法高亮
- 新增 CodeHighlight:自己写的轻量 tokenizer,不依赖第三方库
- 支持 C / C++ / Python / JavaScript / TypeScript / Java / Rust / Go /
  JSON / Bash / SQL / YAML,按 info string 识别
- 关键字、类型、字符串、数字、行/块注释(支持跨行)、C/C++ 预处理指令分色
- 围栏行在源码模式下改成灰色标记色,不再是代码红
- 编辑模式与源代码模式共用同一套 token 着色

其它
- 主题新增 5 个代码 token 颜色(浅色 / 深色各一套)
- 版本 0.8.0,README 补充支持语言
2026-10-22 18:14:34 +08:00
liyepan a136ed1eaa feat: v0.7.0 —— 代码块带边框和复制按钮,代码文字不再发红
- 围栏代码块改成等宽 + 普通文字色(之前整块都是代码色,看起来像报错)
- 编辑模式下给每个代码块画圆角边框,右上角一个「复制」按钮,
  点击把代码内容复制到剪贴板,并把按钮临时改成「已复制」
- 复制按钮跟随滚动 / 缩放重算位置,hover 时变高亮
- 源代码模式不画框也不显示按钮,保持纯源码观感
- 复制 / 已复制 已加入中英文翻译
- 截图与 README 同步,版本 0.7.0
2026-10-22 18:10:02 +08:00
liyepan 5d1fb0fab7 feat: v0.6.0 —— 选中语言(中/英)即时切换,导出不再有预览窗口
导出
- 去掉导出预览对话框:Ctrl+E 直接弹保存对话框,选路径即导出
- 导出失败才弹提示,成功只在状态栏显示一行

多语言
- 新增 LanguageManager:中文(zh_CN)/ 英文(en),视图 → 语言 切换,
  立即生效并记住选择
- 英文翻译由 translations/voiletmark_en.ts(69 条)编译成 .qm 内嵌
- 打包 Qt 官方的 qtbase_zh_CN.qm,文件对话框 / 消息框的按钮也跟着变中文
- 欢迎文档随语言切换(新增英文版)
- retranslateUi 负责菜单、动作、状态栏、侧栏文案的即时刷新

其它
- 删除 ExportDialog 与对应截图,README 同步
2026-10-22 18:07:31 +08:00
liyepan 2f8726ad47 fix: v0.5.1 —— 导出窗口适配屏幕、去掉实时预览字样、图标加底板
- 导出预览窗口按屏幕可用高度计算尺寸,底部的「保存 PDF…」不会再顶出屏幕
- 默认欢迎文档去掉「实时预览(下一版)」,换成已实现的导出 PDF
- logo 是黑字透明底,放深色任务栏里等于看不见;packaging/generate_icons.py
  给它垫白色圆角底板并输出 16–256 多尺寸 ico,窗口图标与 exe 图标统一使用
- 新增 packaging/generate_icons.py,便于换图后重新生成
- 文档与截图同步
2026-10-22 18:03:38 +08:00
liyepan 8cb0702614 feat: v0.5.0 —— 导出 PDF(带预览窗口)
导出
- 文件 → 导出 PDF…(Ctrl+E)先弹出预览窗口,确认后点「保存 PDF…」选路径
- A4 纸、16mm 页边距;预览和导出共用同一个 QTextDocument,页宽一致
- 只用 Qt 自带的 QPrinter / QTextDocument,没有引入外部 PDF 库

排版
- 新增 MarkdownRenderer:把 Markdown 解析成排版好的富文本文档
- 支持标题、列表 / 任务列表、引用、围栏代码块、行内代码、
  粗体 / 斜体 / 删除线、链接;图片输出 alt 文字,表格暂按原文
- 代码块带底色、引用带竖线、分隔线画成横线

其它
- 用用户更新后的 logo.png 重新生成了 ico / icns / png
- docs/screenshot-export.png 与 README 同步
2026-10-22 17:58:01 +08:00
liyepan c83b4a239c feat: v0.4.0 —— 编辑模式改成文档排版,源代码模式加行号与细线
编辑模式(默认)参照 Typora / Word 的“写字”体验
- 正文改为比例字体,整列限制 760px 居中,隐藏行号栏
- 段落统一行高 150%、段间距统一(applyBlockRhythm)
- 代码片段在文档里仍然保持等宽字体
- 隐藏标记、标题缩放、光标行露出标记等行为保留

源代码模式
- 等宽字体 + 行号栏 + 每行一条细线,通栏不居中
- 标题不再放大,逐行等高,只保留颜色

其它
- 切换模式时字体、边距、标题格式整体重建
- 新增 docs/screenshot-source.png,README 区分两种模式
2026-10-22 17:49:59 +08:00
liyepan dd9c79446e feat: v0.3.0 —— 默认编辑模式就地渲染,侧栏自动刷新
编辑模式 / 源代码模式语义修正
- 默认「编辑模式」不再显示 #、**、反引号等标记:标题按级别放大加粗、
  粗体真加粗、行内代码带底色、链接只保留文字
- 光标所在行会露出原始标记,方便直接修改;切换行时只重排这两行
- 源代码模式仍是原样显示 + 着色,左下角 <src> 切换

高亮器
- QSyntaxHighlighter::setFormat 是整段替换而非合并,改为每段先与
  当前行基础格式(标题 / 引用 / 代码块)compose 后再设置
- 强调正则收紧,避免 **粗体** 被 *斜体* 抢先匹配

侧栏
- 去掉刷新按钮,改为每 5 秒自动扫描;文件集合没变就不重建列表
- 状态栏左下角新增「侧栏」开关按钮,与 Ctrl+B 同步

其它
- 使用 logo.png 作为窗口图标(resources.qrc)
- 版本号 0.3.0,README 同步更新
2026-10-22 17:30:28 +08:00
liyepan e1bece6378 feat: v0.2.0 —— 文件夹侧栏、源代码模式、按时段主题与格式快捷键
主题
- 新增「按时段自动」模式:6:00–18:00 浅色,其余时间深色
- 主题菜单改为四种模式,默认仍为跟随系统

侧栏
- 左侧文件夹侧栏(Ctrl+B 开关),递归扫描 *.md / *.markdown / *.mdown / *.mkd
- 文件 → 打开文件夹…(Ctrl+Shift+O),记住上次打开的目录
- 点击文件名即打开,当前文件在列表中高亮,支持手动刷新

编辑
- 左下角 <src> 按钮 / Ctrl+Shift+M 切换源代码模式(关高亮、行号、当前行)
- Ctrl+1~6 设置标题级别,再按一次取消
- Ctrl+/ 把选中内容包成围栏代码块,再按一次拆掉(含光标在块内的情况)

其他
- 模板回归脚本验证了标题与代码块的文本变换
- README 与截图更新
2026-10-22 17:20:17 +08:00
liyepan a1016ac7d7 feat: VoiletMark 0.1.0 —— Qt5/C++ Markdown 编辑器
- 自动跟随系统的浅色/深色主题(Windows 注册表、macOS defaults、
  Linux gsettings / KDE / XFCE),每 2 秒检测,可在菜单中手动锁定
- Markdown 语法高亮(标题、强调、行内代码、围栏代码块、链接、
  引用、列表、任务列表、分隔线)
- 编辑器:行号栏、当前行高亮、Tab 缩进、拖放打开、Ctrl+滚轮缩放
- 文件:新建/打开/保存/另存为/最近打开,保留 BOM 与 CRLF,QSaveFile 原子写入
- 状态栏、未保存提示、窗口与编辑设置持久化
- CMake 构建脚本与 README
2026-10-22 17:06:27 +08:00