Code Monkey home page Code Monkey logo

mark-idea's Introduction

📕 MarkIdea

MarkIdea 是一款开源免费的私有云笔记软件,支持跨平台部署,支持Markdown格式笔记,采用Git进行笔记的版本管理,亦可推送至远程Git仓库备份。

MarkIdea本身是一个Java程序,所以它可以部署多种平台上,包括但不限于Linux、macOS和Windows等,只要你的设备能安装jre或jdk即可,不依赖外部数据库(使用了Sqlite作为嵌入式数据库,当然稍微改改也可以使用mysql等其他数据库,不过我的想法近可能少依赖其他组件)。MarkIdea是B/S架构(浏览器/服务器),打开浏览器,访问网址即可,无需下载客户端。

使用MarkIdea记录的笔记是易于迁移,因为使用的笔记格式是Markdown——开放且轻量级的标记语言,不必担心商业软件的各种私有笔记格式在导入导出过程中样式丢失。倘若不再想使用MarkIdea,仅需要拷贝对应的目录出来即可,文件名即笔记的题目,文件夹名即笔记本名称。

MarkIdea基于Git来管理笔记的历史版本,想必大家也比较熟悉这个版本管理工具,采用Git管理笔记版本也方便有一天不再使用MarkIdea时还可以借助其他Git工具查看或恢复笔记历史。同时MarkIdea也支持推送至远程Git仓库备份,提高笔记的安全性。

如有bug,欢迎反馈。如需尝试可访问demo网站,用户名和密码均为admin,仅供尝试,服务器带宽较小,访问较为缓慢。亦可在知乎私信反馈

📮 功能介绍

登录页面

image-20200901190240696

输入用户名和密码即可登录或注册(可以选择关闭注册功能)。

主页面

image-20200901190921203

主页面可以进行创建笔记本、新建笔记、移动笔记、搜索笔记和查看笔记历史等操作,点击左上角logo可以关闭或打开笔记侧边栏,右上角菜单可以选择进入设置页面或者注销登录。

设置页面

image-20200901191516442

目前设置功能,主要是文件管理、修改密码和设置备份至远程仓库、公开笔记管理。

目前只在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开发,参与开发需要你熟悉JavaSpring Boot

打包流程

假设你从一个空白操作系统开始

  1. 前端仓库拉取(或者直接下载)至本地;

  2. 在电脑上安装Nodejs

  3. 命令行进入前端项目,依次运行

    # 安装依赖
    npm install
    # 打包
    npm run build
  4. 进入dist目录下,压缩dist目录下(不要直接压缩dist目录)的文件为zip文件,重命名为front.zip

  5. 安装maven和java;

  6. 后端仓库(即本仓库)拉取至本地;

  7. 拷贝front.zip至resources文件下;

  8. 命令行进入后端项目目录下,运行命令

    mvn package -Dmaven.test.skip=true

最后在target目录下,我们就可以拿到打包好的MarkIdea运行文件,note-<version>.jar

⏰ 注意事项

  1. 因为MarkDown编辑器采用的是vditor,实现了CommonMark规范,故无意义的空白换行均会被自动吞掉,如果你一定需要换行,请使用工具栏的强制换行按钮。

  2. 出于实现复杂度的考虑,笔记一旦被重命名或移动至其他笔记本,那么你无法再看见该笔记之前的本历史版本,但你仍然可以通过其他git工具查看到历史。

  3. 同理,被清理的笔记仍然可以通过其他git工具查看到,尽管MarkIdea上看不到了。

  4. 笔记名和笔记本名需要符合文件系统的要求。

🍉 更新记录

2020.12.31 重命名笔记本、UI优化、自动保存笔记(10秒)

2020.12.27 工具栏固定,修复bug

2020.12.20 支持公开笔记,修复若干bug,升级编辑器

2020.10.10 支持搜索功能

2020.09.27 支持文件管理,UI细节调整,升级Vditor版本

🤖 计划

  1. 版本号

  2. 远程仓库或导入压缩包初始化初始化

  3. 用户编辑器可配置

  4. 远程仓库界面优化

  5. 用户手册

  6. 公开笔记聚合页

mark-idea's People

Contributors

hansanshi avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.