feature/add_project_document_2 (#2267)

* add macos detailed build documentation

* The second batch is modified separately

* add code flow img

* adj doc logic
This commit is contained in:
chendapao 2022-10-05 17:57:32 +08:00 committed by GitHub
parent cfbe4bc994
commit 7ad46f3b40
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 212 additions and 211 deletions

View File

@ -5,7 +5,7 @@
"attachment_folder": "",
"created_time": "2022-09-09T15:41:27Z",
"id": "63",
"modified_time": "2022-09-22T23:53:02Z",
"modified_time": "2022-10-05T09:51:07Z",
"name": "工程结构.md",
"signature": "784285914952851111",
"tags": [

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

View File

@ -1,6 +1,11 @@
# 工程结构
## 代码结构图
![](vx_images/367553117269276.png)
## 结构解析
```
@ -30,7 +35,7 @@
│ ├── search 搜索模块
│ ├── snippet 片段模块
│ ├── task 任务模块
│ ├── unitedentry TODO 不知道这里是干什么的
│ ├── unitedentry 统一入口模块
│ ├── utils 工具模块
│ └── widgets 窗体
│ ├── *** 其他窗体文件
@ -80,95 +85,95 @@ git submodule update --init --recursive
其他在 `src/core` 根目录下的文件
| 名称 | 解释 |
| :------------------- | :--- |
| buffermgr | |
| clipboarddata | |
| configmgr | |
| coreconfig | |
| editorconfig | |
| externalfile | |
| file | |
| global | |
| historyitem | |
| historymgr | |
| htmltemplatehelper | |
| logger | |
| mainconfig | |
| markdowneditorconfig | |
| notebookmgr | |
| quickaccesshelper | |
| sessionconfig | |
| singleinstanceguard | |
| templatemgr | |
| texteditorconfig | |
| theme | |
| thememgr | |
| vnotex | |
| widgetconfig | |
| :------------------- | :------------------------------------------------------------------------------- |
| vnotex | vnote总入口对核心的功能进行初始化等 |
| global | 全局通用枚举、内联方法 |
| buffermgr | 缓冲管理器,当前打开的笔记都会进入到缓存中,笔记打开、缓存的增删 |
| configmgr | 配置管理器,主配置、当前会话配置、核心配置、编辑器配置、窗体配置的总入口 |
| historymgr | 操作历史管理器以json的格式将历史操作数据存储到session.json中 |
| templatemgr | 模板管理器,把模板理解为一个笔记即可,获得模板基础信息、文件夹,主题,路径 |
| thememgr | 主题管理器调色、高亮、编辑、md配色、icon图标等 |
| notebookmgr | 笔记本管理器笔记本的CRUD版本控制、后端、配置、导入等 |
| mainconfig | 主配置,版本、核心配置、编辑器配置、窗体配置等入口 |
| coreconfig | 核心配置,设置中的快捷键、主题、检查更新、默认打开 |
| editorconfig | 编辑器配置设置中的编辑器、文本编辑、markdown编辑、自动保存等 |
| markdowneditorconfig | markdown编辑器配置文本、uml、graphviz、mathjax、图片、缩放、代码、链接跳转 |
| texteditorconfig | 文本编辑器配置,插入模式、光标、折叠、制表符、特殊高亮 |
| widgetconfig | 窗体配置,标题自动扩展、序号、查询和替换、 资源视图、搜索、窗体保持、窗体拆分、统一入口 |
| sessionconfig | 当前会话配置opengl当前笔记打开状态、窗体布局等 |
| clipboarddata | 剪切板数据TODO |
| externalfile | 外部文件,读取、路径、图片等 |
| file | 文件,这里主要是对图片操作 |
| historyitem | 操作历史的item记录历史的变动 |
| logger | 日志 |
| htmltemplatehelper | html模板帮助 |
| quickaccesshelper | 快速访问帮助 |
| singleinstanceguard | 窗体的单例只能打开一个vnote |
| theme | 主题的实际应用 |
文件夹 `buffer` 缓冲区,就是已经打开的笔记
| 名称 | 解释 |
| :-------------------- | :--- |
| buffer | |
| bufferprovider | |
| filebufferprovider | |
| filetypehelper | |
| markdownbuffer | |
| markdownbufferfactory | |
| nodebufferprovider | |
| textbuffer | |
| textbufferfactory | |
| :-------------------- | :----------------------------------------------------------------------------------- |
| buffer | 缓冲区的CRUD、视图 |
| bufferprovider | 缓冲区供应者对接vnote自己的笔记的缓冲区缓冲区的虚方法TODO为什么这里要定义这些虚方法呢 |
| filebufferprovider | 文件缓冲区供应者,对接外部文件的缓存区 |
| filetypehelper | 文件类型帮助 |
| markdownbuffer | markdown缓冲区图片增删过时图片删除 |
| markdownbufferfactory | marodkwn缓冲区工厂类创建所用 |
| nodebufferprovider | 笔记缓冲区提供者 TODO 这块没太懂 |
| textbuffer | 文本缓冲区 |
| textbufferfactory | 文本缓冲区工厂类,创建所用 |
文件夹 `notebook` 笔记的索引、笔记索引的嵌入式数据库操作、标签、参数、外部文件
| 名称 | 解释 |
| :--------------------- | :--- |
| bundlenotebook | |
| bundlenotebookfactory | |
| externalnode | |
| node | |
| nodeparameters | |
| notebook | |
| notebookdatabaseaccess | |
| notebookparameters | |
| notebooktagmgr | |
| tag | |
| vxnode | |
| vxnodefile | |
| :--------------------- | :-------------------------------------------------------------------------------- |
| bundlenotebook | 笔记本打包会将所有笔记和笔记本拍平后的数据结构、标签、以及对应关系读写到SQLite数据库中 |
| bundlenotebookfactory | 笔记本打包工厂类 |
| externalnode | vnote 未管理的外部节点 |
| node | 笔记 (笔记本的节点) 兼容2 |
| nodeparameters | 笔记的参数id创建时间修改时间标签附件 |
| notebook | 笔记本和回收站 |
| notebookdatabaseaccess | 笔记本和笔记的数据库读写操作 |
| notebookparameters | 笔记本的参数 |
| notebooktagmgr | 笔记本标签管理器 |
| tag | 标签 |
| vxnode | vnotex3的节点 |
| vxnodefile | vnotex3的文件 |
文件夹 `notebookbackend` TODO 笔记后端(工厂方法)
文件夹 `notebookbackend` 笔记后端,如存储等,尚未实现
| 名称 | 解释 |
| :-------------------------- | :--- |
| inotebookbackend | |
| localnotebookbackend | |
| localnotebookbackendfactory | |
| :-------------------------- | :-------------------------------- |
| inotebookbackend | 笔记本后端的抽象类,文件的访问和同步 |
| localnotebookbackend | 笔记本后端的本地文件系统 |
| localnotebookbackendfactory | 笔记本后端工厂类 |
文件夹 `notebookconfigmgr` TODO 笔记索引配置管理
文件夹 `notebookconfigmgr` 笔记索引配置管理
| 名称 | 解释 |
| :-- | :-- |
| bundlenotebookconfigmgr | |
| inotebookconfigmgr | |
| notebookconfig | |
| vxnodeconfig | |
| vxnotebookconfigmgr | |
| vxnotebookconfigmgrfactory | |
| :------------------------- | :-------------------------------------------------- |
| bundlenotebookconfigmgr | 笔记本配置管理器打包,获取数据库、本地文件索引信息等配置 |
| inotebookconfigmgr | 笔记本配置管理器的抽象类,配置文件的读写 |
| notebookconfig | 笔记本配置 |
| vxnodeconfig | vx节点配置 |
| vxnotebookconfigmgr | vx笔记本配置管理器 |
| vxnotebookconfigmgrfactory | vx笔记本配置管理器工厂类 |
文件夹 `versioncontroller` TODO 笔记版本管理(未开发)
文件夹 `versioncontroller` 笔记版本管理(未开发)
| 名称 | 解释 |
| :---------------------------- | :--- |
| dummyversioncontroller | |
| dummyversioncontrollerfactory | |
| versioncontrollerserver | |
| :---------------------------- | :------------------ |
| dummyversioncontroller | 虚拟版本控制器 |
| dummyversioncontrollerfactory | 虚拟版本控制器工厂类 |
| versioncontrollerserver | 版本控制器服务 |
### src/data
资源文件夹,主要包含 `核心资源``额外资源`,因为是资源文件,所有会有对应的 `.qrc 工程资源文件` 可以理解为在打包时需要哪些资源文件:
资源文件夹,主要包含 `核心资源``额外资源`,因为是资源文件,所有会有对应的 `.qrc` 工程资源文件,可以理解为在打包时需要哪些资源文件:
core `核心资源`
@ -216,7 +221,7 @@ extra `额外资源`
| imagehost | 图床 |
| imagehostmgr | 图床管理、增删、改名 |
| imagehostutils | 图床工具类 |
| repoimagehost | TODO 不知道 |
| repoimagehost | 图床解析、测试、使用 |
### search
@ -261,15 +266,15 @@ extra `额外资源`
统一入口模块
| 名称 | 解释 |
| :----------------- | :------------------------- |
| :----------------- | :-------------- |
| entrypopup | 统一入口的弹出框 |
| entrywidgetfactory | 窗口工厂类 |
| findunitedentry | 统一入口查找 |
| helpunitedentry | 统一入口帮助 |
| iunitedentry | TODO 不知道 |
| unitedentry | TODO 不知道 |
| iunitedentry | 统一入口的接口 |
| unitedentry | 统一入口 |
| unitedentryalias | 统一入口别名 |
| unitedentryhelper | TODO 没懂与上面的help的区别 |
| unitedentryhelper | 统一入口帮助 |
| unitedentrymgr | 统一入口管理器 |
@ -301,8 +306,9 @@ extra `额外资源`
窗体模块
| 名称 | 解释 |
| :------------------------------ | :---------------- |
| :------------------------------ | :--------------------------------------------------------------------- |
| attachmentdragdropareaindicator | TODO 不知道 |
| attachmentpopup | 附件弹出框 |
| biaction | TODO bi动作 |
@ -310,8 +316,8 @@ extra `额外资源`
| combobox | 解决间距的下拉菜单 |
| consoleviewer | 控制台预览 |
| dockwidgethelper | 左侧导航坞窗体帮助 |
| dragdropareaindicator | TODO 拖拽区域指示 |
| editreaddiscardaction | TODO 读写丢弃动作 |
| dragdropareaindicator | 拖放区域指示部件 |
| editreaddiscardaction | (阅读模式、编辑模式、放弃)动作 |
| filesystemviewer | 文件系统观察者 |
| findandreplacewidget | 查找和替换窗体 |
| floatingwidget | 浮动窗体 |
@ -319,123 +325,118 @@ extra `额外资源`
| historypanel | 历史记录面板 |
| itemproxystyle | TODO 不知道 |
| labelwithbuttonswidget | 标签按钮小部件 |
| lineedit | TODO 什么线条编辑 |
| lineeditdelegate | TODO 线条委托 |
| lineeditwithsnippet | |
| listwidget | |
| locationinputwithbrowsebutton | |
| locationlist | |
| mainwindow | |
| markdownviewwindow | |
| messageboxhelper | |
| navigationmode | |
| navigationmodemgr | |
| notebookexplorer | |
| notebookexplorersession | |
| notebooknodeexplorer | |
| notebookselector | |
| outlinepopup | |
| outlineprovider | |
| outlineviewer | |
| propertydefs | |
| quickselector | |
| searchinfoprovider | |
| searchpanel | |
| simplesegmenthighlighter | |
| snippetpanel | |
| statusbarhelper | |
| styleditemdelegate | |
| systemtrayhelper | |
| tagexplorer | |
| tagpopup | |
| tagviewer | |
| textviewwindow | |
| titlebar | |
| titletoolbar | |
| toolbarhelper | |
| toolbox | |
| treeview | |
| treewidget | |
| treewidgetitem | |
| viewarea | |
| viewareasession | |
| viewsplit | |
| viewwindow | |
| viewwindowsession | |
| viewwindowtoolbarhelper | |
| webpage | |
| webviewer | |
| widgetsfactory | |
| windowspanel | |
| windowsprovider | |
| wordcountpopup | |
| lineedit | 行编辑部件 |
| lineeditdelegate | 行编辑部件代理 |
| lineeditwithsnippet | 行编辑与片段 |
| listwidget | 列表窗体 |
| locationinputwithbrowsebutton | TODO |
| locationlist | 位置列表 |
| mainwindow | 主窗体,窗体总入口 |
| markdownviewwindow | markdown视图 |
| messageboxhelper | 消息推送帮助 |
| navigationmode | 导航模式接口,如果一个小部件想要支持导航模式,则需要继承这个类。 |
| navigationmodemgr | 导航模式管理器 |
| notebookexplorer | 笔记本资源管理器 |
| notebookexplorersession | 笔记本资源管理器当前会话,用与重新打开后的会话恢复 |
| notebooknodeexplorer | 笔记本中的笔记资源管理器 |
| notebookselector | 笔记本选择器 |
| outlinepopup | 笔记中弹出的大纲 |
| outlineprovider | 大纲提供者 |
| outlineviewer | 大纲视图 |
| propertydefs | 定义用于QSS的属性。 |
| quickselector | TODO |
| searchinfoprovider | 搜索提供者 |
| searchpanel | 搜索面板 |
| simplesegmenthighlighter | TODO |
| snippetpanel | 片段面板 |
| statusbarhelper | 状态栏帮助 |
| styleditemdelegate | 样式代理 |
| systemtrayhelper | 系统托盘 |
| tagexplorer | 标签资源管理器 |
| tagpopup | 笔记中的标签弹出框 |
| tagviewer | 标签视图 |
| textviewwindow | 文本视图窗体 |
| titlebar | 标题栏 |
| titletoolbar | 标题工具栏 |
| toolbarhelper | 工具栏帮助 |
| toolbox | TODO |
| treeview | TODO |
| treewidget | vnotex修改后的树窗体 |
| treewidgetitem | vnotex修改后的树窗体的选项修改了默认排序 |
| viewarea | 视图区域 TODO |
| viewareasession | TODO |
| viewsplit | 视图拆分 |
| viewwindow | 视图拆分后的窗体 |
| viewwindowsession | TODO |
| viewwindowtoolbarhelper | 视图工具栏帮助 |
| webpage | TODO |
| webviewer | TODO |
| widgetsfactory | 窗体工厂类,菜单、行编辑、行编辑片段、单选框、多选框、下拉框、旋转、纯文本等 |
| windowspanel | 窗体面板 |
| windowsprovider | 窗体提供者 |
| wordcountpopup | 字数统计弹出框 |
dialogs 对话框
| 名称 | 解释 |
| :-------------------------- | :--- |
| deleteconfirmdialog | |
| dialog | |
| exportdialog | |
| filepropertiesdialog | |
| folderfilesfilterwidget | |
| folderpropertiesdialog | |
| imageinsertdialog | |
| importfolderdialog | |
| importfolderutils | |
| importlegacynotebookdialog | |
| importnotebookdialog | |
| legacynotebookutils | |
| levellabelwithupbutton | |
| linkinsertdialog | |
| managenotebooksdialog | |
| newfolderdialog | |
| newnotebookdialog | |
| newnotebookfromfolderdialog | |
| newnotedialog | |
| newsnippetdialog | |
| newtagdialog | |
| nodeinfowidget | |
| notebookinfowidget | |
| notepropertiesdialog | |
| renametagdialog | |
| scrolldialog | |
| selectdialog | |
| selectionitemwidget | |
| snippetinfowidget | |
| snippetpropertiesdialog | |
| sortdialog | |
| tableinsertdialog | |
| updater | |
| viewtagsdialog | |
| :-------------------------- | :--------------------- |
| deleteconfirmdialog | 需要确认的删除项信息 |
| dialog | vnotex修改后的对话框 |
| exportdialog | 导出对话框 |
| filepropertiesdialog | 文件配置对话框 |
| folderfilesfilterwidget | 文件夹过滤窗体 |
| folderpropertiesdialog | 文件夹设置对话框 |
| imageinsertdialog | 图片插入对话框 |
| importfolderdialog | 导入文件夹对话框 |
| importfolderutils | 导入文件夹工具类 |
| importlegacynotebookdialog | 导入旧版的笔记本对话框 |
| importnotebookdialog | 导入笔记本对话框 |
| legacynotebookutils | 旧版笔记本工具类 |
| levellabelwithupbutton | TODO |
| linkinsertdialog | 链接插入对话框 |
| managenotebooksdialog | 笔记本管理对话框 |
| newfolderdialog | 新建文件夹对话框 |
| newnotebookdialog | 新建笔记本对话框 |
| newnotebookfromfolderdialog | 从文件夹新建笔记本对话框 |
| newnotedialog | 新建笔记对话框 |
| newsnippetdialog | 新建片段对话框 |
| newtagdialog | 新建标签对话框 |
| nodeinfowidget | 节点(笔记)信息窗体 |
| notebookinfowidget | 笔记本信息窗体 |
| notepropertiesdialog | 笔记属性对话框 |
| renametagdialog | 名称变更对话框 |
| scrolldialog | 滚动条对话框 |
| selectdialog | 选择对话框 |
| selectionitemwidget | 选择项窗体 |
| snippetinfowidget | 片段窗体 |
| snippetpropertiesdialog | 片段属性对话框 |
| sortdialog | 排序对话框 |
| tableinsertdialog | 表格插入对话框 |
| updater | 自动更新 |
| viewtagsdialog | TODO |
editors 编辑器
| 名称 | 解释 |
| :-------------------------- | :--- |
| editormarkdownvieweradapter | |
| graphhelper | |
| :-------------------------- | :----------------------- |
| editormarkdownvieweradapter | markdown 编辑器视图适配器 |
| graphhelper | 图帮助 |
| graphvizhelper | |
| markdowneditor | |
| markdowntable | |
| markdowntablehelper | |
| markdownviewer | |
| markdownvieweradapter | |
| plantumlhelper | |
| previewhelper | |
| statuswidget | |
| texteditor | |
| markdowneditor | markdown编辑器 |
| markdowntable | markdown中的智能表格 |
| markdowntablehelper | markdown表格帮助 |
| markdownviewer | TODO |
| markdownvieweradapter | TODO |
| plantumlhelper | uml帮助 |
| previewhelper | 预览帮助 |
| statuswidget | 状态窗体 |
| texteditor | 纯文本编辑器 |
framelessmainwindow 无边框窗口
| 名称 | 解释 |
| :----------------------- | :-------- |
| framelessmainwindow | |
| framelessmainwindow | 主窗体 |
| framelessmainwindowlinux | 针对linux |
| framelessmainwindowwin | 针对win |
## 模块关系图
TODO