V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
dongbeta
V2EX  ›  分享创造

小作品:notepad.cc + markdown + 保存 + 权限分享

  •  
  •   dongbeta · 2012-05-22 14:03:13 +08:00 · 11074 次点击
    这是一个创建于 4354 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我很久以前就在给朋友传送文本的时候使用notepad.cc,但是它不方便保存和分类。( http://www.v2ex.com/t/31864 ),于是花了13天的业余时间(完全重写和重新设计上一版本)完成了这样一个小作品。

    http://logbeta.com

    在notepad.cc的基础上:
    * 基于 Google OAuth 的登陆

    * 支持 Markdown Extra 语法,可以在编辑的时候实时预览

    * 支持记录保存
    -- 非登陆用户,有一个基于Cookie的本地笔记本,记录在本地创建/编辑的笔记。
    -- 登陆用户,可以直接记录在零散笔记中。还可以创建笔记本进行分类整理。

    * 按照权限分享
    -- 只读URL,访问者可以浏览
    -- 可写URL,访问者可以修改、保存
    -- 匿名用户的只读URL和可写URL是强制启用的(否则就成为无法访问的死页面了)
    -- 登陆用户的只读URL和可写URL是默认关闭的,可以单独打开或关闭
    -- 如果是公开笔记,无需权限URL即可浏览,登陆用户默认是私有笔记

    * 密码保护(和notepad.cc的密码保护不太一样,notepad.cc是仅保护编辑页面,这里是都保存)
    -- 如果存在密码,需要输入正确的密码才能进入分享URL
    -- 如果分享URL是关闭状态,有密码也无法进入

    * 正在做的功能
    -- dropbox/evernote 备份
    -- 用户自定义CSS







    从分析自己的需求,到寻找到自己想要做什么,需要什么,到最终成型,用了好久:

    http://www.v2ex.com/t/28197
    http://www.v2ex.com/t/28714
    http://www.v2ex.com/t/30259
    http://www.v2ex.com/t/31864
    http://www.v2ex.com/t/30821#reply9
    http://www.v2ex.com/t/29490#reply24

    过几天将整个分析、设计、选择和收购域名、改版和反思等的经历发出来。
    97 条回复    1970-01-01 08:00:00 +08:00
    zk546113096
        1
    zk546113096  
       2012-05-22 14:08:35 +08:00   ❤️ 1
    果断帮顶啊,很不错的,东至看好你哦
    dongbeta
        2
    dongbeta  
    OP
       2012-05-22 14:08:43 +08:00
    haiyang416
        3
    haiyang416  
       2012-05-22 14:09:12 +08:00   ❤️ 1
    那只能等发布了才能测试咯
    alanerzhao
        4
    alanerzhao  
       2012-05-22 14:09:56 +08:00   ❤️ 1
    小包子来支持,
    dongbeta
        5
    dongbeta  
    OP
       2012-05-22 14:10:01 +08:00
    @haiyang416 不好意思,是我忘了贴网址 :( ,刚才编辑了一下。 现在已经可以随便玩了。
    xatest
        6
    xatest  
       2012-05-22 14:12:16 +08:00   ❤️ 2
    强烈支持Evernote备份,目前用Mou写Markdown + 导出HTML + 手动复制到Evernote,过程不流畅~
    xwsoul
        7
    xwsoul  
       2012-05-22 14:13:07 +08:00   ❤️ 1
    做好他.....然后完善他...
    dongbeta
        8
    dongbeta  
    OP
       2012-05-22 14:14:06 +08:00
    @xatest

    你觉得这样怎么样:

    * 原始纯文本备份到dropbox
    * 渲染好的HTML备份到Evernote

    两种备份可以单独开启和配置。

    谢谢。
    paloalto
        9
    paloalto  
       2012-05-22 14:15:40 +08:00   ❤️ 1
    设计不错!
    dongbeta
        10
    dongbeta  
    OP
       2012-05-22 14:20:56 +08:00
    @paloalto 谢谢。虽然是基于 bootstrap CSS 制作的,但是我个人非常非常非常讨厌那个大黑条。所以整个就是浅色设计了。
    dongbeta
        11
    dongbeta  
    OP
       2012-05-22 14:26:30 +08:00   ❤️ 1
    zern
        12
    zern  
       2012-05-22 14:29:11 +08:00   ❤️ 1
    感觉不错。。准备使用
    zythum
        13
    zythum  
       2012-05-22 14:33:37 +08:00   ❤️ 1
    给个小小建议。朱一个人的。
    你看,都有google帐号登录了。现在google drive也有sdk。可不可以试着保存到google drive上。这样的保存。用户看得见摸得着。
    比如存在用户google drive下的logbata.com文件夹下。
    dongbeta
        14
    dongbeta  
    OP
       2012-05-22 14:38:28 +08:00
    @zythum 这不是传说中的朱一大人么?

    谢谢,我正在熟悉dropbox、evernote还有Google的接口。
    panxianhai
        15
    panxianhai  
       2012-05-22 14:43:03 +08:00   ❤️ 1
    chrome下下拉菜单会有一个滚动条,看你的截图没有。
    喜欢这样的界面,还有那些黑色的图标,改用楼主的了。
    paloalto
        16
    paloalto  
       2012-05-22 14:43:53 +08:00
    用google登录时:

    Error

    An internal error occurred while the web server was processing your request.
    rockr
        17
    rockr  
       2012-05-22 14:44:08 +08:00
    感觉不错,能结合dropbox evernote和google drive的话就华丽了~
    dongbeta
        18
    dongbeta  
    OP
       2012-05-22 14:55:24 +08:00
    @paloalto 请问,错误信息页面是Google的还是logbeta上的?
    xatest
        19
    xatest  
       2012-05-22 14:57:07 +08:00   ❤️ 1
    dongbeta
        20
    dongbeta  
    OP
       2012-05-22 14:57:41 +08:00
    @panxianhai 我使用的是Mac OS X下的safari没有滚动条,稍后在windows上各个浏览器测试一下。谢谢~
    dongbeta
        21
    dongbeta  
    OP
       2012-05-22 15:04:25 +08:00
    @paloalto 找到原因了,已经修正。谢谢!
    qiuai
        22
    qiuai  
       2012-05-22 15:04:39 +08:00   ❤️ 1
    1.会开源么?
    2.如果会开源,是啥程序写的?
    3.如果不开源,可以支持自定义域名么?
    dongbeta
        23
    dongbeta  
    OP
       2012-05-22 15:10:48 +08:00
    @qiuai

    1. 不会开源
    2. -
    3. 支持自定义域名是早期计划之一,会有的,效果就像tumblr一样
    dongbeta
        24
    dongbeta  
    OP
       2012-05-22 15:11:17 +08:00
    @qiuai 还有,会有 API 。
    cheshirecat
        25
    cheshirecat  
       2012-05-22 15:33:27 +08:00   ❤️ 1
    不错不错。不过英文有一些问题。比如说 "It seems no notes here"。
    dongbeta
        26
    dongbeta  
    OP
       2012-05-22 15:48:41 +08:00
    @cheshirecat 谢谢,已经修正为“There is no note here.”。
    tokki
        27
    tokki  
       2012-05-22 16:19:15 +08:00   ❤️ 1
    执行力好强大,问题是 可写分享的功能 如果两个人同时开浏览器来写的话-。-

    http://meteor.com/
    dongbeta
        28
    dongbeta  
    OP
       2012-05-22 16:20:05 +08:00
    用户自定义CSS功能完毕。 (就是V2EX的那个)
    dongbeta
        29
    dongbeta  
    OP
       2012-05-22 16:22:17 +08:00
    @tokki 嗯,可写分享的功能的重点不在于“同时”写。所以没有考虑两个人同时编辑的情况。
    kava
        30
    kava  
       2012-05-22 16:25:49 +08:00   ❤️ 1
    赞诶
    qiuai
        31
    qiuai  
       2012-05-22 19:10:53 +08:00
    @dongbeta Good.不过真心的想开源啊....毕竟数据还是想在自己的服务器上...
    sophy
        32
    sophy  
       2012-05-22 19:45:25 +08:00
    喜欢!
    benjiaminlam
        33
    benjiaminlam  
       2012-05-22 19:57:30 +08:00
    好棒 如果可以同时编辑就好了
    dianso
        34
    dianso  
       2012-05-22 20:15:15 +08:00
    开源的吗
    dongbeta
        35
    dongbeta  
    OP
       2012-05-22 21:21:43 +08:00   ❤️ 1
    @qiuai
    @dianso
    对不起,我做了好几年的开源工作。这次不打算开源了。

    @benjiaminlam
    我也考虑过这个同时编辑的问题。考虑到需求情况,现在唯一可行的就是添加有谁在编辑的指示灯,实时合并内容基本无解。

    谢谢你们的关注。
    9hills
        36
    9hills  
       2012-05-22 21:37:15 +08:00
    @dongbeta 不开源的话,希望尽快开发Dropbox和Google Drive同步。

    笔记服务不敢用太小的站,万一哪天停止服务,东西就全丢了。和Dropbox连起来,最少数据在自己手上。
    qiuai
        37
    qiuai  
       2012-05-22 21:40:15 +08:00
    @dongbeta 确实很麻烦...我删除了刚才打出来的方案.因为发现好麻烦...

    开源不提供的话..至少可以提供文件存储位置?比如说我想把所有的数据存在我自己的服务器...来保证安全?
    unstop
        38
    unstop  
       2012-05-22 21:41:27 +08:00   ❤️ 1
    在新建笔记的页面直接退出网页(已经输入内容)的情况下,再次返回网站不会被指引到此前的编辑页面,而是显示到新建。

    这个是否可以给一个设置,选择是否每次都回到退出时的页面。

    另,这真是一个非常棒的作品!
    qiuai
        39
    qiuai  
       2012-05-22 21:45:22 +08:00
    @dongbeta 话说...google登陆还是不能用?
    dongbeta
        40
    dongbeta  
    OP
       2012-05-22 22:29:56 +08:00
    @9hills
    @qiuai

    已经着手做第三方的备份存储了。

    另外,@qiuai ,Google登陆不能用的错误信息是什么?我这里登陆正常。
    qiuai
        41
    qiuai  
       2012-05-22 22:30:51 +08:00
    @dongbeta

    错误

    在处理您的访问时,我们的服务器发生了点错误。

    如果您需要帮助,请 联系我们.

    谢谢!
    dongbeta
        42
    dongbeta  
    OP
       2012-05-22 22:31:26 +08:00
    @unstop 感谢你的建议,这确实是一个能带来方便的想法。
    dongbeta
        43
    dongbeta  
    OP
       2012-05-22 22:49:11 +08:00
    @qiuai 找到原因了。不知道为什么Google没有返回用户的 Picture 字段,导致程序错误。我去掉了这个字段。请再试一次。
    9hills
        44
    9hills  
       2012-05-22 22:55:01 +08:00   ❤️ 1
    Bug: All Notes结果是空的,实际上已经在一个笔记本中有4条笔记

    Feature: 能不能来个侧栏,类似于Evernote的那种,可折叠也行。

    此外markdown标题有#号(我比较习惯这种),然后在笔记列表中看到的笔记标题就都带个#。simple-note会自动隐藏这个#号。。
    dongbeta
        45
    dongbeta  
    OP
       2012-05-22 23:04:25 +08:00
    @9hills 非常感谢,bug已经排除。

    请问,您说的笔记列表页面中 笔记标题 的#在哪里呢?
    9hills
        46
    9hills  
       2012-05-22 23:09:28 +08:00
    9hills
        47
    9hills  
       2012-05-22 23:10:27 +08:00
    @dongbeta 小问题,不太重要。 simplenote会自动在列表中隐藏这个#,不隐藏也没啥大不了的。
    dongbeta
        48
    dongbeta  
    OP
       2012-05-22 23:16:46 +08:00
    @9hills 哦,明白了。我还在我这里找#呢。我用的连字符做的标题,所以没有遇到过这个问题。现在已经修正了。从现在开始保存时会去除标题首尾的#。

    非常感谢。
    qiuai
        49
    qiuai  
       2012-05-22 23:18:52 +08:00
    @dongbeta 好了.
    Sherlockhlt
        50
    Sherlockhlt  
       2012-05-22 23:22:29 +08:00
    是用python写的么?
    xell
        51
    xell  
       2012-05-23 09:11:54 +08:00
    赞一个,做得相当好。希望服务能坚持住。众多非主流(抱歉我使用这个词)笔记应用最大的问题就是无法停止用户的疑惑“这个产品不错,但多久之后它会倒掉?罢了罢了,我还是去用 Google/Evernote/... 吧”。
    eerie
        52
    eerie  
       2012-05-23 09:17:06 +08:00
    赞,加油
    libei
        53
    libei  
       2012-05-23 09:38:47 +08:00
    非常棒!
    9hills
        54
    9hills  
       2012-05-23 12:14:32 +08:00
    @dongbeta
    编辑框内Tab键不能用,写代码区块不太方便,四个空格敲起来好累
    dongbeta
        55
    dongbeta  
    OP
       2012-05-23 13:02:03 +08:00
    @9hills

    我也发现这个Tab键的问题了,会解决的。我正在做dropbox的同步功能。


    @9hills
    @qiuai
    @zythum
    现在测试版中,已经可以连接dropbox了。(我申请的是dropbox app folder的方式,这样最安全。只有一个dopbox分配的目录可用。)请问各位对备份的文件路径和命名方式有什么好的建议吗?
    9hills
        56
    9hills  
       2012-05-23 13:11:33 +08:00
    @dongbeta

    直观的话就按照笔记本名分文件夹,然后以笔记标题为文件名,后缀是md即可。修改标题或笔记本名称后需要同步修改文件/文件夹名。

    采用数字ID做名字虽然简单,但不直观。
    POPOEVER
        57
    POPOEVER  
       2012-05-23 13:30:50 +08:00
    一个小问题,GN Chrome lite 访问时文本框超出屏幕宽度了,旋屏后自适应了。

    做得不错,慢慢来,会是个优质的产品。
    dongbeta
        58
    dongbeta  
    OP
       2012-05-23 13:33:57 +08:00
    @9hills 有一个问题,笔记本名字可能含有不能作为文件名的字符,笔记也是。
    dongbeta
        59
    dongbeta  
    OP
       2012-05-23 13:34:17 +08:00
    @POPOEVER 谢谢
    bravluna
        60
    bravluna  
       2012-05-23 13:41:38 +08:00
    @dongbeta 很赞!
    一个疑问,为什么 md 不在客户端渲染?另外若两秒后发现文本没有变化就不用再 post 了。
    dongbeta
        61
    dongbeta  
    OP
       2012-05-23 14:06:27 +08:00
    @bravluna 是使用的markdown extra,在找稳定可用的客户端渲染。另外,确实是文本没有变化就不会再post数据。
    qiuai
        62
    qiuai  
       2012-05-23 14:08:26 +08:00
    @dongbeta /logbeta/time/id.txt ?
    9hills
        63
    9hills  
       2012-05-23 14:21:00 +08:00
    @dongbeta 加个filter,过滤出指定的字符。实在不行就只能数字id了,不过很不直观。
    dongbeta
        64
    dongbeta  
    OP
       2012-05-23 16:10:47 +08:00
    @9hills 可以使用Tab键了。
    zk546113096
        65
    zk546113096  
       2012-05-24 09:48:53 +08:00
    @dongbeta 回复率很高啊,认真做一件事情真的很好,羡慕
    cheshirecat
        66
    cheshirecat  
       2012-05-24 15:18:46 +08:00
    @dongbeta 一个界面建议:http://snippi.com/
    dongbeta
        67
    dongbeta  
    OP
       2012-05-24 15:44:53 +08:00
    @cheshirecat 谢谢。曾经做过侧栏版本,效果一般。所以最终在后台添加了用户自定义CSS功能。

    @all
    今天部署了HTTPS。
    dongbeta
        68
    dongbeta  
    OP
       2012-05-26 14:02:01 +08:00
    @9hills

    你提到代码的问题。我今天添加了代码高亮功能。书写方法和GFM一样。制作过程中得知Markdown Extra的作者期望的是另外一种,于是又做了兼容。

    需要注意的是无论是使用 ` 还是使用 ~ 作为标识字符,同一个代码块开始和结尾的标识字符数量需要一致。





    PS: 朱一福利真的不错,贴图方便。
    9hills
        69
    9hills  
       2012-05-26 14:09:04 +08:00   ❤️ 1
    @dongbeta 嗯,GFM不错。

    我觉得原始的Markdown有三个地方不习惯:
    1. 空行分段
    2. 代码段需要1个TAB
    3. 不能做表格,得用HTML实现

    2和3 Markdown Extra实现了,但是又面临和标准Markdown不兼容的情况。。。所以我现在还没有打算从标准Markdown转变出来。
    dongbeta
        70
    dongbeta  
    OP
       2012-05-26 14:35:59 +08:00
    @9hills 我也思考过这个问题。不管是 Markdown Extra 还是 GFM。都面临一个兼容问题,目前我还没想到解决办法。

    我调查过 Markdown Extra ,由于其在python等语言上也都有了相应的库支持。所以还是稍稍放心了一下。

    PS: 我目前用到的就是仅仅是标准的 Markdown 和 Github 的贴代码的方式。
    sogood
        71
    sogood  
       2012-05-26 18:08:02 +08:00   ❤️ 1
    看了下截图,太复杂了...
    notepad.cc 的一个简单理由就是因为它简单,我来整个和 Dropbox 结合的吧,这个真的太复杂了...
    dongbeta
        72
    dongbeta  
    OP
       2012-05-26 19:03:26 +08:00
    @sogood 相比notepad.cc,当然会复杂。但是界面应该不复杂吧。而且如果仅仅是想要notepad.cc的效果。可以忽略那些功能。
    qiuai
        73
    qiuai  
       2012-05-26 20:01:05 +08:00
    @dongbeta 是不是重置过数据?我的唯一一个笔记不见了...
    dongbeta
        74
    dongbeta  
    OP
       2012-05-26 20:10:49 +08:00
    @qiuai 没有啊。这几天唯一的维护事情就是 linode 东京机房重启。我觉得和这应该没有关系。

    节省V2EX版面,联系我的 google talk吧: dongbeta at gmail dot com
    qiuai
        75
    qiuai  
       2012-05-26 20:57:45 +08:00
    @dongbeta =.=我这边gtalk完全无法登陆...

    不过算了.暂时还没开始正式用~~有事情会@你的.
    freewizard
        76
    freewizard  
       2012-05-29 10:22:31 +08:00
    质感不错
    sloppysop
        77
    sloppysop  
       2012-05-29 12:24:42 +08:00
    极简主义,很喜欢。
    FRHong
        78
    FRHong  
       2012-05-30 02:29:19 +08:00
    绝对值得一推!!好样的。
    youthcould
        79
    youthcould  
       2012-06-03 15:13:49 +08:00
    太棒了,反映个小问题,就是预览还比较慢,希望可以更快些
    yellow
        80
    yellow  
       2012-06-03 15:50:40 +08:00
    很棒!支持~
    dongbeta
        81
    dongbeta  
    OP
       2012-06-03 16:11:27 +08:00
    @youthcould 谢谢。下一步就是解决预览的问题了。目前的预览使用的是服务端渲染。使用js本地渲染,我还没有找到完美解析markdown extra的库。或许再找一个国内服务器负责解析。
    youthcould
        82
    youthcould  
       2012-06-03 16:35:47 +08:00
    @dongbeta 我昨天才接触到markdown,就被其完全吸引了,昨晚看语法到1点,今天就在找各种工具(win),发现你的是最棒的,希望可以直接导出md文件(现在已经可以到dropbox,希望有按钮直接导出),以防离线的时候可以用其他的编辑器凑合

    PS.真心希望有你这个的win本地版,那就perfect了!
    depthsky
        83
    depthsky  
       2012-06-03 16:53:49 +08:00
    非常不错,赞一个~~~
    dongbeta
        84
    dongbeta  
    OP
       2012-06-03 17:02:28 +08:00
    @youthcould 谢谢。我正在写OAuth Server。
    youthcould
        85
    youthcould  
       2012-06-09 23:15:36 +08:00
    @dongbeta 非常感谢你的作品,在线的时候都用你这个了,断网了没办法,只能用markdownpad了,但是markdownpad的高亮方案比你这个差多了,不直观,markdownpad支持自定义css,但是可惜我是菜鸟不懂,能否麻烦你共享一个markdownpad可用的和你的网站一样的css啊,我的邮箱[email protected],再次感谢
    dongbeta
        86
    dongbeta  
    OP
       2012-06-09 23:32:37 +08:00
    @youthcould “高亮”是指的“代码高亮”吗?我可能稍后会使用IDE里面普遍使用的monokai这个配色来制作高亮。

    前几天完工了 OAuth Server 部分。周末我在code review。以后可以基于OAuth制作离线应用。
    youthcould
        87
    youthcould  
       2012-06-10 09:17:30 +08:00
    @dongbeta 我想说的是预览界面的颜色字体等等的风格,感觉很不错
    Unknown
        88
    Unknown  
       2012-09-06 18:22:42 +08:00
    非常不错的作品. 不过刚刚在从中文转到英文界面时, 出现以下错误

    服务器内部错误

    属性 "UserSettings.css_enabled" 未被定义.
    niko
        89
    niko  
       2012-09-07 11:12:29 +08:00
    非常帅气的作品~~~支持一下
    dongbeta
        90
    dongbeta  
    OP
       2012-09-07 12:22:01 +08:00
    @Unknown 昨天已经修复这个问题
    @niko 非常感谢

    几天前重构过之后预览功能暂时未开,现在预览功能已经打开。
    donbe
        91
    donbe  
       2012-09-07 15:36:06 +08:00
    把简单的东西搞复杂了。。。 不实用啊~
    3214668848
        92
    3214668848  
       2012-09-07 22:53:01 +08:00
    界面设计很不错啊,放到github上让大家学习吧
    dongbeta
        93
    dongbeta  
    OP
       2012-09-08 08:53:12 +08:00
    @3214668848 不会开源的。
    davidx
        94
    davidx  
       2012-09-09 23:27:30 +08:00
    我建议 @dongbeta 先继续做功能, 毕竟功能和运营才是生存的第一位
    当你有了一些积累后, 可以把尝试把一些东西开源出来. 可以是核心的, 也可以是非核心的.
    我的意思就是, 用了很多开源的东西来做, 那么, 就要贡献一些东西出来给开源届, 就这么简单.
    dongbeta
        95
    dongbeta  
    OP
       2012-09-10 09:58:21 +08:00
    @davidx 是的,不过做了多少年开源了,所以这次开源是放到第二位的。
    coldear
        96
    coldear  
       2012-09-10 12:06:13 +08:00
    赞! 会不会做一个google drive的app?
    no13bus
        97
    no13bus  
       2013-08-06 19:45:45 +08:00
    @dongbeta 你的网站打开是个日本网站 咋回事呢
    @davidx 你是那个做大卫代码贴的那个人吗?这里也能遇见。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5786 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 01:56 · PVG 09:56 · LAX 18:56 · JFK 21:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.