用 Angularjs 重构了整个 Raysnote 笔记本前端, v2.0 上线 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
raysmond
V2EX    程序员

用 Angularjs 重构了整个 Raysnote 笔记本前端, v2.0 上线

  •  1
     
  •   raysmond
    Raysmond 2015-03-17 15:07:33 +08:00 7299 次点击
    这是一个创建于 3864 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Raysnote是一个简洁优雅的在线笔记工具,致力于提升笔记书写和阅读的体验。

    • 简洁高效的笔记本管理后台(Angularjs重构)
    • 支持HTML/Markdown两种格式,重点关注和支持Markdown
    • 支持代码高亮,MathJax数学公式
    • 界面简洁美观,注重中文排版和阅读体验
    • 一键保存网络文章(用过pocket吧?)

    Raysnote v1.0是2014年9月上线的,那时候是为了学习Ruby on Rails以及方便自己记笔记而开发;Raysnote v2.0于15年二三月开发,接触到Angularjs,觉得牛逼哄哄,为了学习它把Raysnote笔记管理后台全部用Angularjs重构,代码缩减,性能和体验提升不少。

    在开发Raysnote的过程中,自己学习到了很多,获益匪浅。除此之外,我也希望开发出一个优秀的在线Markdown云笔记管理工具,方便自己和他人。一个在线笔记工具,只有说服我自己完全信任它,并且在记笔记和阅读体验上给我带来极大的便利和享受,我认为它才是一个成功的产品。

    http://raysnote.com

    欢迎大家体验,也欢迎大家给出意见,一起学习和进步。

    pic1
    pic2
    pic3
    pic4

    47 条回复    2015-03-18 23:41:31 +08:00
    reeco
        1
    reeco  
       2015-03-17 15:13:13 +08:00 via iPhone
    支持一个
    heaton_nobu
        2
    heaton_nobu  
       2015-03-17 15:19:29 +08:00
    一直在用,支持
    另外请问可以问lz联系方式吗,交流交流
    learnshare
        3
    learnshare  
       2015-03-17 15:23:59 +08:00
    首页顶部的前三个链接无效
    ibaser
        4
    ibaser  
       2015-03-17 15:24:16 +08:00
    易用性很好。想请问下,设计时考虑了哪些浏览器的兼容性。
    raysmond
        5
    raysmond  
    OP
       2015-03-17 15:24:30 +08:00
    @heaton_nobu 感谢支持。可以发送email给我([email protected])。
    raysmond
       6
    raysmond  
    OP
       2015-03-17 15:26:34 +08:00
    @ibaser 暂时我只是在mac下的chrome和Safari上测试,表现效果较好。可能ie会出问题吧。。。
    jsq2627
        7
    jsq2627  
       2015-03-17 15:27:02 +08:00
    中文和西文之间要保留一个空格。
    是 Markdown 不是 markdown。
    raysmond
        8
    raysmond  
    OP
       2015-03-17 15:27:34 +08:00
    @learnshare 首页是单页,前三个链接都是页内定位,请问你用的是什么浏览器?
    vob636
        9
    vob636  
       2015-03-17 15:46:52 +08:00
    你的试用账户登录之后……感觉怪怪的?
    raysmond
        10
    raysmond  
    OP
       2015-03-17 15:50:16 +08:00
    @vob636 被人注册了js代码,忘记过滤了。。。
    learnshare
        11
    learnshare  
       2015-03-17 15:51:55 +08:00
    @raysmond Chrome 41.0.2272.89 m (64-bit) Win 7 x64

    点击事件正常触发,按钮也高亮了,不过页面没滚动
    raysmond
        12
    raysmond  
    OP
       2015-03-17 15:53:57 +08:00
    @jsq2627 谢谢提醒
    raysmond
        13
    raysmond  
    OP
       2015-03-17 15:55:19 +08:00
    @learnshare Chrome下都有问题,看来是要研究一下了
    metrue
        14
    metrue  
       2015-03-17 15:57:59 +08:00
    有像pocket一样的插件吗?
    raysmond
        15
    raysmond  
    OP
       2015-03-17 15:59:28 +08:00
    @metrue 插件没有做,目前只能在网站内把文章URL贴过来
    kxxoling
        16
    kxxoling  
       2015-03-17 16:07:28 +08:00
    能问一下这类 Markdown 工具都是怎样的思路吗?每次文字内容有修改都会从新渲染一次?
    Dongdong36
        17
    Dongdong36  
       2015-03-17 16:13:25 +08:00
    感觉注册流程不是那么方便
    1,注册完成后进入邮箱激活后应该自动登陆了,再次输入略显麻烦
    2,既然要邮箱后验证才能登陆,我觉得这样的方式可能更好:“首页只需要输入一个邮箱,看起来简洁简单,等点击邮件验证链接后返回输入用户名和密码的界面,输入完成即可自动登陆”
    3,在文章编辑界面,能否增加个自动保存呢,会方便很多
    4,整体感觉还不错,但进入用户登陆界面,重新发送邮件,忘记密码等界面,个人感觉用默认的Bootstrap样式和整体的风格不是很搭,可能也是我看的Bootstrap站点比较多,,感觉略...修改修改样式,扁平化一些,圆角感觉没有必要,可能会更好些

    这个网站做的蛮不错的,望坚持做下去,越来越棒~
    learnshare
        18
    learnshare  
       2015-03-17 16:21:14 +08:00
    @raysmond 开发不是在 Chrome 上做的?
    raysmond
        19
    raysmond  
    OP
       2015-03-17 16:21:30 +08:00
    @Dongdong36 谢谢你的建议。登录注册整个流程不是这次优化的重点,我也清楚这里体验不是很好,下次会改进。 自动保存之前做了,这次在重构后台还没整合进来,很快便会上线。
    raysmond
        20
    raysmond  
    OP
       2015-03-17 16:22:30 +08:00
    @learnshare 我在Mac OS X内的Chrome上测试开发的,好像没有你说的这个问题。
    raysmond
        21
    raysmond  
    OP
       2015-03-17 16:23:16 +08:00
    @kxxoling 一般都是有改动的时候重新渲染,pagedown有默认的实现。
    kxxoling
        22
    kxxoling  
       2015-03-17 16:30:23 +08:00
    @raysmond 这样打字快/文字比较多的时候岂不是很影响性能?有没有计算 delta 的做法?
    sarices
        23
    sarices  
       2015-03-17 16:48:56 +08:00
    没有https都不好跟人打招呼了,建议楼主尽快上https
    raysmond
        24
    raysmond  
    OP
       2015-03-17 16:51:10 +08:00
    @sarices 我之前用免费的,现在没买SSL证书。穷学僧没办法,过一阵子有零钱买一个。
    andyvector
        25
    andyvector  
       2015-03-17 16:59:06 +08:00
    请问使用了什么数据库吗?
    raysmond
        26
    raysmond  
    OP
       2015-03-17 17:37:02 +08:00
    @andyvector 我会说我用了MySQL
    surfire91
        27
    surfire91  
       2015-03-17 18:10:47 +08:00
    注册完提示:
    We're sorry, but something went wrong.

    If you are the application owner check the logs for more information.
    withinthefog
        28
    withinthefog  
       2015-03-17 18:46:01 +08:00
    @raysmond startssl 有一年免费的单域名证书 https://www.startssl.com
    raysmond
        29
    raysmond  
    OP
       2015-03-17 20:41:32 +08:00
    @withinthefog startssl免费证书我用过,觉得不太好用。过一阵子打算上rapidssl。
    M4ster
        30
    M4ster  
       2015-03-17 20:46:49 +08:00
    存在几处问题,给出几点建议。

    几处漏洞:
    后台笔记本名处依然存在XSS(但似乎只是self-xss);
    网络文章管理处存在SSRF(探测服务器内网,如:“http://localhost/”、“http://192.168.1.1”);
    删除文章的时候并没有验证用户权限,可以越权删除别人的文章(只需文章的ID);

    危险一点的地方:
    笔记的ID可以通过referer被别有用心的人获取到。(引用外站图片时,被引用服务器可以记录到referer,referer中含有笔记ID信息);
    获取到了笔记的ID后,可以拼凑URL直接访问文章内容。这样一来无论是私有还是公开的笔记都是可以被获取到;
    可以通过获取到的笔记ID执行上述删除操作。
    loading
        31
    loading  
       2015-03-17 20:54:19 +08:00
    如果数据是保存到 dropbox ,我就会用。
    raysmond
        32
    raysmond  
    OP
       2015-03-17 21:09:01 +08:00
    @loading 我在考虑做一个同步到dropbox等云存储的服务
    raysmond
        33
    raysmond  
    OP
       2015-03-17 21:09:38 +08:00
    @M4ster 感谢提醒,马上修复一下笔记删除权限问题
    chingli
        34
    chingli  
       2015-03-17 23:38:11 +08:00
    挺好用的,等稳定了,或许会经常用,因为支持MathJax。
    raysmond
        35
    raysmond  
    OP
       2015-03-18 08:50:28 +08:00
    @chingli 谢谢,已经上线半年了,还会继续维护下去
    alichen
        36
    alichen  
       2015-03-18 09:45:37 +08:00
    如果有同步dropbox的话,或许是个不错的选择
    raysmond
        37
    raysmond  
    OP
       2015-03-18 10:21:52 +08:00   1
    @alichen @loading 现在Raysnote使用的数据库是阿里云的RDS数据库,安全性还是有一定程度的保障的。同步到dropbox的功能可能考虑做一下。
    loading
        38
    loading  
       2015-03-18 10:35:58 +08:00
    底部三个链接:
    /advise
    /about
    /help

    均404
    raysmond
        39
    raysmond  
    OP
       2015-03-18 10:55:38 +08:00
    @loading 谢谢提醒,我去维护一下
    raysmond
        40
    raysmond  
    OP
       2015-03-18 11:09:04 +08:00
    @loading 顶部三个连接页面已恢复正常
    vexfisher
        41
    vexfisher  
       2015-03-18 11:46:30 +08:00
    感谢LZ。

    修改笔记本名称时“服务器连接错误”
    status code:400

    上传个人头像后,没有反馈。重新刷新页面发现已经上传成功了~
    raysmond
        42
    raysmond  
    OP
       2015-03-18 12:00:44 +08:00
    @vexfisher 可能修改笔记名的时候我这边在重新部署吧。 上传头像可能没有及时替换掉原图片,有一层图片缓存在那里。
    ivenvd
        43
    ivenvd  
       2015-03-18 14:49:22 +08:00
    搜了一下,LZ 用的这个主题 18 刀啊……看起来功能很强,不过不喜欢这配色……
    raysmond
        44
    raysmond  
    OP
       2015-03-18 15:39:00 +08:00
    @ivenvd 可能还要在弄一两个主题来适合不同的人群
    wengcd
        45
    wengcd  
       2015-03-18 20:43:09 +08:00
    后端是RoR写的?
    raysmond
        46
    raysmond  
    OP
       2015-03-18 21:32:08 +08:00
    @wengcd 是的
    lizhuoli
        47
    lizhuoli  
       2015-03-18 23:41:31 +08:00
    不错,学习了,我正在写一个支持Markdown的仿GoogleDoc的实时协作平台,允许多人实时协作编辑……感觉压力山大。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3907 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 10:18 PVG 18:18 LAX 03:18 JFK 06:18
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86