MarkNote轻量级云记事本系统

发布日期:分类:Web 相关 MarkNote轻量级云记事本系统有 35 条评论
时效性提醒:本文首次编写发布于10 年前。

本人原创作品,PHP语言编写

代码GPL开源,使用git管理,托管于git@OSC,地址:http://git.oschina.net/wusiyu/MarkNote (欢迎提issue和pull request

访问代码

下载

3-25更新: 现已支持用MarkDown,详见上面的链接里
5-01更新: 新增 将MarkDown笔记本生成HTML页面 功能
5-06更新: 增加功能: 伪静态功能(限apache), 支持使用任意英文和数字作为ID
5-09更新: 增加功能: Markdown记事本中的代码高亮功能
6-04更新: 增加功能: 支持ID的更改;添加一个页面来配置存储方式
6-21更新: 支持MathJax数学公式
6-22更新: 使用ace代码编辑器
6-23更新: 修复部分环境下的乱码问题
7-01更新: 添加简单的用户系统
7-07更新: 添加“我的记事本”侧边栏
7-10更新: 修改记事本的权限系统,添加 有密码的记事本可以设置“公开HTML页面”功能
7-11更新: 添加从用户的记事本列表中移除记事本的功能


概述

MarkNote 是一个PHP的轻量级云记事本系统,允许用户无须注册即可创建一个记事本,并可以给记事本设置密码。

MarkNote 支持文件和MySQL两种存储方式,默认使用文件方式。

MarkNote 的安装极为简单,如果使用文件方式,您要做的仅仅是把index.php上传到一个目录中,他会自动创建所需的文件。 如果使用MySQL方式,在index.php开头处填好数据库信息并上传即可。

功能

  1. 以文件或数据库的方式保存记事本
  2. 支持MarkDown(即时预览+优化的textarea)和纯文本两种格式的记事本
  3. 可以给记事本设置密码
  4. 可生成记事本的二维码,以方便手机用户
  5. 可将记事本下载到本地
  6. 可以将Markdown记事本一键生成网页
  7. 支持伪静态(例如:http://233333.net/记事本名),仅限apache,默认开启,若环境不支持请关闭
  8. 支持使用任意英文和数字作为ID

简介

这个记事本其实非常的简单,为了方便在一些空间里上传使用而做成了单文件,不过结构还是很清晰的.

主要分为两个部分:PHP后端HTML前端.

PHP后端接受参数,进行处理,获取记事本内容,决定页面类型.

HTML前端部分则根据上面得到的页面内容分别通过if…else if…来输出不同页面的HTML.包括一些js等.

MarkDown部分则由前端实现,使用了markdown.js这个开源项目来把Markdown格式生成HTML并显示在左栏,后台仅处理Markdown格式的 笔记本内容.

MarkNote支持两种存储方式,在程序开头来设置方式.默认伪文件存储方式,会新建一个NoteData文件夹,其中每个记事本为一个文件来存储,密码则全部保存在passwd.data文件中.Mysql方式使用了mysqli扩展的面向过程方式,仅使用一个表,可以方便的与其他程序共存在同一个数据库中.

未来版本可能会添加以下功能:

  1. 已实现 伪静态
  2. 已实现 ID可自定义(数字,字母)
  3. 已实现 ID的自由修改
  4. 图片添加/上传 功能
  5. 已实现 使用一个在线代码编辑器来作为Markdown编辑部分(准备用ace实现)

至于为何要使用使用单文件

Just For Fun

历程

最开始,这只是个只能保存纯文本的小工具,练手用的,名字叫做notepad,做完了也就搁置了.

后来开始玩markdown,缺个顺手的编辑器,正好有人建议我给notepad添加markdown功能,所以之后就有了现在的这个名字:MarkNote

之后又根据一些需要增加了数个功能,比如之前要做个html页面,觉得把markdown生成的html复制来复制去太麻烦.于是就有了现在这个”一键”生成html页面的功能.

你对现在的MarkNote又有什么建议呢?欢迎给我留言.

作者:WuSiYu

学生,Web开发者,智能硬件&IOT爱好者

35条评论

  1. 使用了一下,很不错。希望能够支持用户创建多个笔记本,并在一个页面进行管理、删除等。
    md编辑界面和预览界面能否左右调换呢?

      1. 嗯 发现更新了很多功能,是个简单好用的工具!
        请问如何“从用户的记事本列表中移除记事本的功能?” 我看了一圈没看到…

  2. 为什么我在ASP源码库下载的MarkNote源码放上空间,写中文的时候会变成乱码?在本地测试也一样?http://winx.sturgeon.mopaas.com/

  3. 我还看了代码。。。一个文件。。。不知道怎么习惯的,,联系我 我们合作用tp开发吧。。

    1. 不想给这个十分轻量级的东西用上比较臃肿的tp框架,如果你想一起开发可以在GIT@OSC上向我提pull request

      1. 请问下 每次修改id时,文章列表就会出现一个一长串随机数字子母的文章名,而且删除的X也消失了,是怎么回事?还是我一个人的问题?

    1. 删除记事本只是在你的列表中删除,并不会把记事本本身删掉。
      因为目前只有一个非常简单的用户系统,并没有一个记事本是“属于”哪个用户的概念,所以如果能删除记事本本身的话容易出事。

  4. 我觉得似乎可以像notepad.cc那样加一个share链接,光是二维码稍微单一了一点,不方便分享给别人看

  5. sql方式不能用;
    能不能在第一个界面就给一个登陆按钮;因为有人想接着上次的写,但是地址太长记不住;现在要创建界面才能登陆。
    如果想把文件方式转成sql格式,怎么转?
    界面色彩并不是非常必要。
    默认应该是文本记事本更合理吧。markdown写起来麻烦。
    在手机上除了二维码,应该有一个得到网址分享的地方。
    暂时只能想这么多建议,祝博主天天快乐,感谢提供好程序。

    1. 谢谢支持!
      把文件方式转成sql格式目前没有这个功能,可以写个简单的脚本参考数据库的格式转换下
      markdown挺好用的,习惯就好了,直接当成纯文本来用也不是很麻烦

  6. Can I come too? I do#1782&n;t live far from Kostancin and am very overdue to meet up with adthelad anyway!! Pretty please?My mail must be on here somewhere but ad’s got it for sure.

  7. 博主,我非常喜欢你这款记事本,但是不能删除文件夹,只能删除文件,您还在更新吗?有没有继续完善这个作品啊,界面演示颜色贴别喜欢,一直都在寻找着一款自己可以搭建的云笔记源码,终于找到您写的这款作品,但是有些小问题,希望博主能够继续完善一下QQ:313580580

    1. 不好意思回复晚了,后续会完善的,不过我现在的方向并不太在PHP Web开发上,所以可能并不在近期了。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注