标签: 我的作品

  • MarkNote轻量级云记事本系统

    时效性提醒:本文首次编写发布于11 年前。

    本人原创作品,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又有什么建议呢?欢迎给我留言.