# impression_noteongit **Repository Path**: impressionyang/impression_noteongit ## Basic Information - **Project Name**: impression_noteongit - **Description**: # Note On Git - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-13 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Note On Git 在git中快乐笔记 >开坑开坑,Note On Git的根本目的是设计出一款完全依赖git的笔记软件,弥补gitnote的遗憾。也是增加自己的编程经验 ## 进度报告 - [ ] 确定总体方案 - [x] 完成相关设计说明 - [x] 完成需求说明 - [x] 创建仓库 - 2020/08/13-21:37 ## 需求说明 市场上已经有了git相关的笔记软件,比如很多人喜欢的gitnote,但是我在使用gitnote的时候发现了一个很重要的痛点,那就是不支持ssh方案,虽然说直接使用密码进行同步方便编写一点,但是如果能够支持ssh的话也不更美哉。 还有就是gitnote的使用在linux端有时候会因为网络问题无法启动(我反正一直在启动页面不动弹),所以打算使用C++来写一波可以离线的markdown+笔记 ## 相关设计 ### 总体功能 大的功能就是通过git来同步笔记,然后使用文本编辑器来编辑文本,在通过markdown支持的渲染器渲染markdown文档了 ### 特性 #### 同步方式 同步方式使用的也是git方案,但是支持https以及ssh方式去进行同步,在PC端时移动端则使用https方案。 #### 统一的跨平台特性 跨平台使用的是QT的方案,统一一说就是通过qml来编写界面,C++用来完成底层逻辑,然后通过不同编译环境进行编译各个平台下的安装包,编写逻辑底层代码时会注意各个平台间的差异,从而实现一次编写,到处编译,体现统一性(难度有点大)。而qml本来各平台就统一了,毕竟是解释型语言。 *跨平台:Linux、Windows、MacOS、Android* ## 总体方案 ### 同步 PC端: 使用shell命令,各个PC端各有不同 - Linux:需要安装git,自行添加ssh公钥至git中,或者直接使用https - Windows:需要安装git-windows,通过git-bash自行添加ssh公钥至git中,或者直接使用https - MacOS: 同Linux 移动端: - Android:等待查证android的git以及同步。。。。 ### 渲染 - 目前打算直接使用qt5.14原声支持的Text的markdown富文本支持 ### 界面 界面风格使用google的material风格,方便在PC端和移动端之间共同使用。