MarkIdea 是一款开源免费的私有云笔记软件,支持跨平台部署,支持Markdown格式笔记,采用Git进行笔记的版本管理,亦可推送至远程Git仓库备份。
MarkIdea本身是一个Java程序,所以它可以部署多种平台上,包括但不限于Linux、macOS和Windows等,只要你的设备能安装jre或jdk即可,不依赖外部数据库(使用了Sqlite作为嵌入式数据库)。MarkIdea是B/S架构(浏览器/服务器),打开浏览器,访问网址即可,无需下载客户端。
使用MarkIdea记录的笔记是易于迁移,因为使用的笔记格式是Markdown——开放且轻量级的标记语言,倘若不再想使用MarkIdea,仅需要拷贝对应的目录出来即可,文件名即笔记的题目,文件夹名即笔记本名称。
MarkIdea基于Git来管理笔记的历史版本,想必大家也比较熟悉这个版本管理工具,同时MarkIdea也支持推送至远程Git仓库备份,提高笔记的安全性。
目前该项目处于初期阶段,如有bug,欢迎反馈。提供demo网站,用户名和密码均为admin,仅供尝试,服务器带宽较小,访问较为缓慢。亦可在知乎私信反馈
输入用户名和密码即可登录或注册(可以选择关闭注册功能)。
主页面可以进行创建笔记本、新建笔记、移动笔记和查看笔记历史等操作,点击左上角logo可以关闭或打开笔记侧边栏,右上角菜单可以选择进入设置页面或者注销登录。
目前设置功能比较简单,主要是修改密码和设置备份至远程仓库。
目前只在Firefox浏览器和Chrome浏览器上进行过测试。
运行环境仅需要安装jdk8,请根据自己系统安装对应jdk8并配置好环境,在此不再赘述。
下载软件后,在该目录下进入命令行,运行下面一行命令
# 后台运行MarkIdea
# <version> 替换下载文件名的版本号
# <your_username>替换为你想要的用户名
# <your_password>替换你想要的密码
# 如果想禁止注册,可以添加参数 --"register-forbidden"=true
nohup java -jar note-<version>.jar --username=<your_username> --password=<your_password> 2>&1 &
打开浏览器,访问http://<server_ip>:8090
,即可开始使用,用户名和密码即<your_username>
和<your_password>
。
欢迎各位参与本项目的开发中来,联系我。
前端是基于Vue + ElementUI + axios开发,参与开发需要你拥有前端技术栈基础。
后端是基于Spring Boot开发,参与开发需要你熟悉Java、Spring Boot。
假设你从一个空白操作系统开始
-
前端仓库拉取(或者直接下载)至本地;
-
在电脑上安装Nodejs;
-
命令行进入前端项目,依次运行
# 安装依赖 npm install # 打包 npm run build
-
进入dist目录下,压缩dist目录下(不要直接压缩dist目录)的文件为zip文件,重命名为
front.zip
; -
安装maven和java;
-
后端仓库(即本仓库)拉取至本地;
-
拷贝
front.zip
至resources文件下; -
命令行进入后端项目目录下,运行命令
mvn package -Dmaven.test.skip=true
最后在target目录下,我们就可以拿到打包好的MarkIdea运行文件,note-<version>.jar
。
- 因为MarkDown编辑器采用的是vditor,实现了CommonMark规范,故无意义的空白换行均会被自动吞掉,如果你一定需要换行,请使用工具栏的强制换行按钮。
- 出于实现复杂度的考虑,笔记一旦被重命名或移动至其他笔记本,那么你无法再看见该笔记之前的本历史版本,但你仍然可以通过其他git工具查看到历史。
- 同理,被清理的笔记仍然可以通过其他git工具查看到,尽管MarkIdea上看不到了。
- 笔记名和笔记本名需要符合文件系统的要求。
2020.09.27 支持文件管理,UI细节调整,升级Vditor版本
- 公开笔记