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 同步
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
一个轻量的跨平台 Markdown 编辑器,基于 **Qt 5 / C++17** 构建。
|
||||
|
||||
当前版本 **0.4.0**。
|
||||
当前版本 **0.5.0**。
|
||||
|
||||
## 界面
|
||||
|
||||
@@ -14,6 +14,10 @@
|
||||
|
||||

|
||||
|
||||
导出 PDF 前先给一个预览窗口,确认无误再选路径保存:
|
||||
|
||||

|
||||
|
||||
## 功能
|
||||
|
||||
### 编辑
|
||||
@@ -56,6 +60,16 @@
|
||||
|
||||
按钮在源码模式下会变成 `</src>`。
|
||||
|
||||
### 导出 PDF
|
||||
|
||||
**文件 → 导出 PDF…**(`Ctrl+E`)会先弹出预览窗口,里面就是最终排版;
|
||||
点「保存 PDF…」选个位置即可。A4 纸、16mm 页边距,预览和导出用的是同一份
|
||||
排版文档,所见即所得。
|
||||
|
||||
导出用的是 Qt 自带的 `QPrinter` + `QTextDocument`,不需要额外的 PDF 库。
|
||||
支持标题、列表(含任务列表)、引用、代码块、行内代码、粗体 / 斜体 / 删除线、
|
||||
链接;图片只输出 alt 文字,表格暂时按原文输出。
|
||||
|
||||
### 文件
|
||||
|
||||
- 新建、打开、保存、另存为、最近打开(最多 8 条)
|
||||
@@ -152,6 +166,7 @@ VoiletMark --screenshot a.png # 渲染窗口截图后退出(调试 / 视觉
|
||||
| `Ctrl+N` / `Ctrl+O` / `Ctrl+S` | 新建 / 打开 / 保存 |
|
||||
| `Ctrl+Shift+S` | 另存为 |
|
||||
| `Ctrl+Shift+O` | 打开文件夹 |
|
||||
| `Ctrl+E` | 导出 PDF(先预览) |
|
||||
| `Ctrl+B` | 显示 / 隐藏侧栏 |
|
||||
| `Ctrl+Shift+M` | 源代码模式 |
|
||||
| `Ctrl+1` ~ `Ctrl+6` | 设为 1–6 级标题(再按取消) |
|
||||
@@ -170,7 +185,9 @@ src/
|
||||
├── ThemeManager.{h,cpp} 四种主题模式 + 系统检测 + 调色板 / QSS 生成
|
||||
├── MainWindow.{h,cpp} 菜单、文件读写、文件夹侧栏、状态栏、设置
|
||||
├── MarkdownEditor.{h,cpp} 编辑器控件:行号、缩进、标题 / 代码块命令、源码模式
|
||||
└── MarkdownHighlighter.{h,cpp} Markdown 着色与就地渲染(隐藏标记、标题缩放)
|
||||
├── MarkdownHighlighter.{h,cpp} Markdown 着色与就地渲染(隐藏标记、标题缩放)
|
||||
├── MarkdownRenderer.{h,cpp} 导出用的 Markdown → 富文本文档转换
|
||||
└── ExportDialog.{h,cpp} PDF 预览与保存对话框
|
||||
|
||||
logo.png 图标源文件
|
||||
resources.qrc 窗口图标资源
|
||||
|
||||
Reference in New Issue
Block a user