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