更强的 V2EX 增强方案 v2ex.k 0.2.0 发布!! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
kokdemo
V2EX    分享创造

更强的 V2EX 增强方案 v2ex.k 0.2.0 发布!!

  •  
  •   kokdemo
    kokdemo 2015-03-15 22:07:27 +08:00 8514 次点击
    这是一个创建于 3886 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个月之前,我发布了v2ex.k 的0.1 版本,搞出了快速阅读模式,也让界面好看了不少。当然也收获了不少回应,这让我很是高兴,从chrome商店的统计数据上来看,每周有529个使用者。

    作为一个产品汪(正在找工作的),没有啥比被「反馈」更让人高兴的了。

    之后就过了年,过年期间太忙(于打游戏),于是没有继续开发。年后拾起来,我开始重新分析一些很实际的需求。

    想了很长时间(其实是打游戏去了)之后,我找到了一个还不错的点『免刷新回复提醒』。

    这主要是因为有的时候刚发了贴,又想知道自己有没有被回复,总是去刷新,这并不好(打断了工作流程)。于是我就增加了这么一项还不错的功能。

    如果对v2ex.k 不太熟的同学可以先看一下原来的帖子: http://www.v2ex.com/t/169091 http://www.v2ex.com/t/170329
    或者github主页(快给我star :): https://github.com/kokdemo/v2ex.k
    或者直接安装一下试试: https://chrome.google.com/webstore/detail/v2exk/dnbmbhefokngmkalbdcgjdlgoppfhndn

    介绍

    1. 全新的界面颜色。
    2. 左侧增强导航栏。
    3. 快速阅读模式。
    4. 左侧显示通知条数。
    5. 自定义颜色设置。
    6. 全键盘操作模式。
    7. 免刷新回复提醒。

    更新

    2015.3.15:

    • 正式迈入0.2版本。
    • 使用sass来管理css文件。
    • 修改快速阅读模式的上限为400个字符。
    • 重构了大部分的js代码。
    • 使用localstorage缓存了用户的一些信息,解决了部分页面显示错误的问题。
    • 增加了免刷新回复提醒模式。

    使用截图

    啊……这个版本的修改点除了免刷新这个之外大部分都是重构老代码,然后左上角的增强导航栏算一个,你可以把鼠标挪上去看看有什么效果。

    使用帮助

    大部分的使用方法与http://www.v2ex.com/t/170329 中的是一样的。

    而对于新增的功能,免刷新回复提醒需要首先访问一下http://www.v2ex.com/notifications 页面,这样插件会记录下当前你的atom地址,这个功能才会打开。(如果你认为这个功能有不妥,请反馈或提供一种更好的处理方案)。

    For chrome

    https://chrome.google.com/webstore/detail/v2exk/dnbmbhefokngmkalbdcgjdlgoppfhndn

    For Firefox

    感谢caoyue的作品(可能更新会有一定延迟):

    https://github.com/caoyue/userjs/blob/master/v2ex.k.user.js

    感谢

    还是继续要感谢V2EX Next项目 https://dribbble.com/shots/1355911-V2EX-Next
    还有上一个版本给予大量回复的各位同学们。
    还有 @gzzhanghao 直接在github上面贡献了代码。(虽然也带进来了新的bug……)

    最后

    『用更好的UI开始新的一天。』

    第 1 条附言    2015-03-16 11:12:40 +08:00
    现在存在的我解决不了的问题:

    1. 页面底部有一个50px左右的白条一直出现。
    2. 直接存储用户的atom url 是否安全。
    3. 插件需要一个设置的页面,但是插件的设置和v2ex本身的注入存在一个跨域的问题。
    60 条回复    2015-05-27 09:22:37 +08:00
    LazyZhu
        1
    LazyZhu  
       2015-03-15 22:23:06 +08:00
    @lcj2class Ping...
    zdhxiong
        2
    zdhxiong  
       2015-03-15 22:27:16 +08:00
    点击头像直接404
    Hodor
        3
    Hodor  
       2015-03-15 22:37:26 +08:00
    赞~
    kokdemo
        5
    kokdemo  
    OP
       2015-03-15 22:46:51 +08:00
    @zdhxiong ……不好意思,这里连接写错了,我面壁去……马上就改
    kokdemo
        6
    kokdemo  
    OP
       2015-03-15 22:51:26 +08:00
    @zdhxiong 这个小bug在0.2.1里面已经修改了,等一会你可以在商店里更新一下
    ynyounuo
        7
    ynyounuo  
       2015-03-15 22:58:51 +08:00

    个例?
    minamike
        8
    minamike  
       2015-03-15 23:05:40 +08:00
    没有for safari 心塞
    Dwayne
        9
    Dwayne  
       2015-03-15 23:21:05 +08:00
    装上啦, 感觉哒。
    没有 7L 出现的情况,不过感觉旁边那个数字看起来有点别扭。
    ynyounuo
        10
    ynyounuo  
       2015-03-15 23:25:39 +08:00
    @Dwayne 好像是我没更新……更新后也是数字了,也感觉别扭
    linsk
        11
    linsk  
       2015-03-16 01:10:51 +08:00 via iPhone
    求Safari版本
    meteorz
        12
    meteorz  
       2015-03-16 02:32:57 +08:00
    装上试了一下,很赞!
    nomemo
        13
    nomemo  
       201-03-16 03:45:54 +08:00
    爽~
    loveqianool
        14
    loveqianool  
       2015-03-16 04:06:47 +08:00
    http://i2.tietuku.com/f29b662e053f401d.jpg
    窗口模式 然后最大化
    xream
        15
    xream  
       2015-03-16 04:14:54 +08:00 via iPhone
    求 Safari 版
    rayps
        16
    rayps  
       2015-03-16 05:58:43 +08:00
    求大神移植到 Safari
    reloop
        17
    reloop  
       2015-03-16 08:51:33 +08:00
    为什么总是喜欢折腾这个~~ 看好多这样的帖子了~~
    kokdemo
        18
    kokdemo  
    OP
       2015-03-16 09:28:35 +08:00
    @Dwayne
    @ynyounuo 会考虑把这个数字弄到图标中间去……
    kokdemo
        19
    kokdemo  
    OP
       2015-03-16 09:29:07 +08:00
    @loveqianool 我会增加一个窗口变化的监听嗯
    kokdemo
        20
    kokdemo  
    OP
       2015-03-16 09:36:23 +08:00
    @reloop 还好吧……我写这个已经好多个版本了……
    alay9999
        21
    alay9999  
       2015-03-16 10:07:54 +08:00
    顺便加上 J、K 的快捷键吧
    Winny
        22
    Winny  
       2015-03-16 10:08:32 +08:00
    感谢分享,这次Firefox也能用了
    jemyzhang
        23
    jemyzhang  
       2015-03-16 10:25:56 +08:00
    star, 感谢楼主
    kokdemo
        24
    kokdemo  
    OP
       2015-03-16 10:28:59 +08:00
    @alay9999 jk代表上下吗?

    @jemyzhang 多谢多谢
    alay9999
        25
    alay9999  
       2015-03-16 14:08:45 +08:00
    @kokdemo j 下一条,k 上一条。很多阅读器,比如 Google Reader 还有微博等等都是这样的快捷键设定
    haichang417
        26
    haichang417  
       2015-03-16 16:55:52 +08:00
    已用上,感谢分享。
    右侧框里,为什么短主题可以显示评论,长主题只有内容没有评论?只能点进去看评论。
    kokdemo
        27
    kokdemo  
    OP
       2015-03-16 17:05:20 +08:00
    @haichang417 为了更好的阅读体验,所以把所有的长主题重新排版了,所以就没有评论了
    kokdemo
        28
    kokdemo  
    OP
       2015-03-16 17:05:32 +08:00
    @alay9999 我考虑一下哈
    dofine
        29
    dofine  
       2015-03-16 19:17:21 +08:00
    楼上图标 ST 的那个bug 我也遇到了。。然后启用之后就找不到登录的地方。。
    RyuZheng
        30
    RyuZheng  
       2015-03-16 19:28:21 +08:00
    支持一个!很不错,导航增强有点丑,哈哈哈
    schezuk
        31
    schezuk  
       2015-03-16 19:35:44 +08:00
    点击链接直接跳过快速阅读模式了啊……能允许截获点击吗(除了右键在新窗口打开之外)?
    另外个人不喜欢长主题重排版……可以添加取消的选项吗?
    ipeony
        32
    ipeony  
       2015-03-16 19:37:28 +08:00
    一直在用,支持
    kokdemo
        33
    kokdemo  
    OP
       2015-03-16 20:20:50 +08:00
    @dofine ……我确实没有考虑到未登录的情况 sorry

    @RyuZheng 这个目前先弄成这样子,会越来越好的。

    @schezuk 截获点击这个可能会有一些争议,我想想。
    dahvlh
        34
    dahvlh  
       2015-03-17 09:33:38 +08:00
    ls的各位有用猎豹浏览器的吗,我安装的Chrome插件后页面没有反应,你们的猎豹浏览器也会这样吗?
    lcj2class
        35
    lcj2class  
       2015-03-17 14:38:02 +08:00
    @LazyZhu @kokdemo
    看了下获取提醒的代码
    https://github.com/kokdemo/v2ex.k/blob/master/js/v2ex.k.js#L182

    这个仅仅是做了时间上的比较(三分钟内两次update是否不同),当符合下面的假设时才能这么做:
    每次访问http://www.v2ex.com/notifications页面时,updated的值就更新次!!!

    试想想,如果每访问/notifications页面时,updated的值不更新,那么我们怎么知道新的消息用户看了没看呢?


    我实验了下,并不是这样的。所以这么做是不对的。
    kokdemo
        36
    kokdemo  
    OP
       2015-03-17 14:42:57 +08:00
    @lcj2class 这个是我考虑的不完整了,我会找时间加上这一个的
    lcj2class
        37
    lcj2class  
       2015-03-17 14:52:36 +08:00
    @kokdemo
    这个目前是做不了的,因为之前我在修改v2ex.ext这个插件时,就像把这个功能加上,但是一直没找到相关方法或API,只能恳请 @Livid 大大加个获取新消息的API。
    kokdemo
        38
    kokdemo  
    OP
       2015-03-17 14:57:08 +08:00
    @lcj2class 能做啊,监听当前的url,如果用户进入/notifications 之后, 我把最新的updated 时间存起来,不就说明了用户已经阅读了最新的回复了么。


    其实我改了这么多,最希望 @Livid 大大做的事情是给每个div/table加一个id,选取dom实在是太痛苦了……
    lcj2class
        39
    lcj2class  
       2015-03-17 15:00:05 +08:00
    @kokdemo
    你这是理想条件下,如果用户的只用一个浏览器(像我Safari、firefox、chrome都用)访问v2,那这样可以用你说得方式来做。再加上,如果用户用手机访问的话,更蛋疼
    kokdemo
        40
    kokdemo  
    OP
       2015-03-17 15:02:36 +08:00
    @lcj2class 毕竟只是一个chrome插件啊……咱们想轻松一些……
    lcj2class
        41
    lcj2class  
       2015-03-17 15:16:21 +08:00
    @kokdemo
    嗯,根据目前的情况,先这么搞吧。
    感谢你的分享,很喜欢你做的这个UI
    kokdemo
        42
    kokdemo  
    OP
       2015-03-17 15:20:09 +08:00
    @lcj2class 还是有几个问题(附言里面)解决不了好纠结……
    lcj2class
        43
    lcj2class  
       2015-03-17 16:57:54 +08:00
    @kokdemo
    第一条还好了,
    第二条这样做确实有风险,我觉得可以用[sessionStorage](https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API),每次用户开启浏览器后,如果在登录状态,我们可以后台自动取获取这个feed地址。
    你的第三条不明白什么意思,其实如果改成自动获取feed,那这个option页面要不要无所谓了。
    kokdemo
        44
    kokdemo  
    OP
       2015-03-17 17:12:05 +08:00
    @lcj2class

    我现在需要用户访问一次notifications 才能获取到feed地址,改成session的话有点麻烦。

    option不止包括第二条的内容,还有css的设置啊,快速阅读模式最长的限制啊等等
    lcj2class
        45
    lcj2class  
       2015-03-17 17:51:07 +08:00
    @kokdemo
    你现在用的是localStorage存的feed,改成sessionStorage不就行了嘛,这两者的区别就是:sessionStorage存的内容浏览器退出后就没了,而localStorage一直保存着。你可以看看我上面的链接。

    如果只是css、阅读模式这些不涉及个人隐私的东西,完全可以放心用localStorage存的呀,没问题的呀。
    kokdemo
        46
    kokdemo  
    OP
       2015-03-17 17:56:39 +08:00
    @lcj2class ……我知道啊,如果用户退出了,下一次还需要重新访问notifications 才能重新获得feed啊,好麻烦啊……

    插件的localstorage和v2网站的localstorage没办法很方便的共享,所以只能采取给v2的页面里注入一个设置的dom才行。
    WhiteT
        47
    WhiteT  
       2015-03-17 18:12:13 +08:00
    刚刚用上,还不错,UI看起来简约大气了不少
    gzzhanghao
        48
    gzzhanghao  
       2015-03-18 01:07:50 +08:00
    一直按着箭头下会被v2 block ip,被这个坑了好多次……
    kokdemo
        49
    kokdemo  
    OP
       2015-03-18 09:49:35 +08:00
    @gzzhanghao ……这,将来加一个延时判断可能会好一些……
    luw2007
        50
    luw2007  
       2015-03-20 10:12:55 +08:00
    1. 节点导航 这个可以去掉, 可以单独拿个菜单. 平时用不上
    2. 帖子详细页中空格不能翻页.
    yehl
        51
    yehl  
       2015-03-20 11:02:52 +08:00
    firefox还木有更新,更新强迫症
    kokdemo
        52
    kokdemo  
    OP
       2015-03-20 11:17:40 +08:00
    @yehl 这个不要找我啊……
    luw2007
        53
    luw2007  
       2015-03-20 12:39:29 +08:00
    v2ex 都有etag 可以把列表, 内容页都存在本地,
    判断 etag 是否拉取减少服务器交互.
    jinchun
        54
    jinchun  
       2015-03-24 12:52:53 +08:00
    厉害,star了。
    kokdemo
        55
    kokdemo  
    OP
       2015-03-27 10:50:42 +08:00
    v2ex.k 0.2.2 版本发布了 :)

    @alay9999
    已经增加了你说的 jk 翻页功能

    @gzzhanghao
    增加了延时判断功能,这样不会导致快速上下翻页的时候被block ip了(测试这个功能的时候我被block了好多次……

    此外还陆陆续续的修正了一些css的bug,还有提醒功能自刷新的bug。

    目前css的大坑实在是太多了,希望有设计师能够给一些视觉上的支持……
    alay9999
        56
    alay9999  
       2015-03-27 11:40:46 +08:00
    @kokdemo markdown 的 > 引用 和加粗,标题什么的好像不显示
    jsxhhyf
        57
    jsxhhyf  
    PRO
       2015-05-26 19:27:30 +08:00
    搜索在哪儿?
    kokdemo
        58
    kokdemo  
    OP
       2015-05-26 19:58:00 +08:00
    @jsxhhyf 这都好久之前的版本了……
    jsxhhyf
        59
    jsxhhyf  
    PRO
       2015-05-26 20:30:42 +08:00
    @kokdemo 我现在用的是0.3.2版本,不知道是不是最新的?还是没找到搜索在哪里,眼拙...
    kokdemo
        60
    kokdemo  
    OP
       2015-05-27 09:22:37 +08:00
    @jsxhhyf ……这样啊,我这个版本一直在犹豫把搜索做成什么样子,感觉放一个单纯的搜索框不是很好
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2966 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 13:06 PVG 21:06 LAX 05:06 JFK 08:06
    Do have faith in what you're doing.
    ubao msn 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