做了个收藏夹,支持自动分类、整理网页,暂时取名“星藏”

2017-02-04 15:15:32 +08:00
 northisland

1. 我为什么做“星藏”?

1.1 首先赖 GFW ,

引发了“星藏”诞生的主要原因: Chrome 收藏夹要怎样同步、合并?

1.2 其次,针对的是和我一样的不羁收藏癖:

他们看到好的网页,往往直接戳星星,懒得打标签——收藏夹里的星星,已经成千上万了。

1.3 最后,一點微小的工作:

希望大家善待自己口袋里珍藏的“小星星”,再翻开看看,也许会有新惊喜。薛薛。

2. 怎么使用?

星藏链接(还没绑定域名)

收藏夹示例

2.1 上传

2.2 浏览

测试过许多系统,甚至微信的内置浏览器,都可以查看。

2.3 吐槽,交流,反馈, code review


3. 拆开“星藏”看看它的零件

    我之前工作上主要是做图像算法。所以这些组成零件的工具选择,很非主流。

    欢迎吐槽探讨。

3.1 登录界面

用的themeforest 上的这个模板,需要 apache2 。这个直接开源有 License 问题。

3.2 用户面板

用的是 Bootstrap 自己搭的。

上传功能,用的是 dropzone github

3.3 书签展示页面

用的是themeforest 的这个模板

缺点:

优点:

3.4 网页后台

Tornado ,具体是 RequestHandler 和 StaticFileHandler 。

现在是每个步骤需要手动刷新。我想知道,要怎么让后台的内容,实时刷新到 html 中(类似美国大选时地图票数)。

这里也要请教各位,谢谢。

3.5 数据存储

没有用数据库

自己设计的结构,用 pickle 存储数据对象(用户信息,用户收藏,用户 log )。

觉得有点儿乱了,正在考虑重构(传说中的:重写重做重新选架构)。

3.6 网页标题分类器

分类器是很早以前做的,用的是经典方法:特征+SVM :github 在这里。效果差劲,大概能分对 70%。

    准备随时用新的分类器踢掉。

网页后台是非阻塞的,分类器是阻塞的。所以又用 zeromq 做了一个消息队列:通信原型的模型在这

把消息队列, NLP 分类器打了一个包:NLP+消息队列的项目。欢迎 star 。

3.7 chrome 插件

开源在这里。写的太简陋。。。 90%的情况下需要翻墙才能用


4. 说些“大话”

按照美国鸡汤作家安兰德所说:活物都免不了做选择;非随机的选择,能体现出做选择者的“价值”。

价值 1 :真实。

(我们不能确定您收藏的网页是否贴近真实。

但我会尽所能,保护你的收藏,你懂的。)

价值 2 :让项目容易部署、传播。

p.s.就这 2 条原则吧,以后如果我忘记了,欢迎任何人和我讨论。


最后再次欢迎大家来折腾。

1669 次点击
所在节点    分享创造
27 条回复
ishowman
2017-02-05 19:04:16 +08:00
希望能做的比 pocket 更好
inmyfree
2017-02-06 13:16:52 +08:00
@wclebb #18

1 、可以把那个插件解压到一个文件夹内,然后在插件页面加载即可
2 、仔细瞄一下,你可以看到有个配置路径为: Profile Path C:\Users\xxxxx\AppData\Local\Google\Chrome\User Data\Default ,打开这个路径后你就可以找到那个文件

...............

嗯,没有了.......
lynnX
2017-02-08 08:39:19 +08:00
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 1141, in _when_complete
callback()
File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 1162, in _execute_method
self._when_complete(method(*self.path_args, **self.path_kwargs),
File "tornado_server.py", line 92, in get
self.render('stars_page_%s_%s.htm' % (uni_id, i_page))
File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 538, in render
html = self.render_string(template_name, **kwargs)
File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 642, in render_string
t = loader.load(template_name)
File "/usr/lib/python2.7/dist-packages/tornado/template.py", line 338, in load
self.templates[name] = self._create_template(name)
File "/usr/lib/python2.7/dist-packages/tornado/template.py", line 366, in _create_template
template = Template(f.read(), name=name, loader=self)
File "/usr/lib/python2.7/dist-packages/tornado/template.py", line 231, in __init__
self.file = _File(self, _parse(reader, self))
File "/usr/lib/python2.7/dist-packages/tornado/template.py", line 763, in _parse
raise ParseError("Missing end block %%} on line %d" % line)
ParseError: Missing end block %} on line 2397
luchenqun
2017-02-08 09:38:06 +08:00
我也做了一个: http://mybookmark.cn/
designer
2017-02-08 11:43:41 +08:00
支持一下!
luchenqun
2017-02-09 07:51:50 +08:00
@mahone3297 来来来,看我做的。 mybookmark.cn 。满足你提到的幻想。
chztv
2017-02-14 10:20:55 +08:00
最近怎么突然有这么多做收藏夹的,你们再这样发展下去,我岂不是可以不用续费 Pinboard 了?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/338041

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX