知乎日报更新了,支持分享到Evernote,但...!

2013-06-20 10:36:18 +08:00
 shao
但,这算是偷懒吧(如图),正文内容呢?不能就这样一个简单的连接吧。
我之前用“邮件”方式分享,然后发给自己的evernote邮件,也能达到这样的效果。

期待真正的分享到evernote功能实现(标题、正文全文、图片保存至evernote)。

感谢 @clowwindy

知乎日报.app 已经为我每日睡前读物了。

7158 次点击
所在节点    分享发现
36 条回复
clowwindy
2013-06-21 20:39:08 +08:00
@so898 数据源是用户产生的 html,各种格式,不用 webview 麻烦,android 也要搞一套。
so898
2013-06-21 21:17:21 +08:00
@clowwindy 总觉得按照知乎现在的编辑器样式,可以整体解析之后通过UITableView来呈现的说
clowwindy
2013-06-21 21:39:56 +08:00
@so898 有链接、引用、图片、列表,甚至还有代码。
so898
2013-06-22 02:24:24 +08:00
@clowwindy 至少都是从上到下排列的嘛,一个个区间刚好就是一个个Cell,这些不同的类型就针对制作不同的Cell就搞定了嘛
clowwindy
2013-06-22 10:56:31 +08:00
@so898 因为 html 是 tree,不能这么搞。
Xe0n0
2013-06-22 11:14:42 +08:00
@clowwindy

SDURLCache 是不是效果好一点?
https://github.com/rs/SDURLCache

最初是在 AFNetworking 的一个 issue 里看到他们讨论发现的。
只用图片 cache 的话可以用相应的 https://github.com/rs/SDWebImage,我用过感觉不错。
Xe0n0
2013-06-22 11:15:58 +08:00
@clowwindy

抱歉,链接坏掉了。是
https://github.com/rs/SDWebImage
dreampuf
2013-06-22 11:20:59 +08:00
@clowwindy
@keakon

enml是xml嵌白名单html,含特殊资源标签。
Python sdk 的例子有如何处理资源嵌入的例子
oska874
2013-06-22 11:22:54 +08:00
@clowwindy 但是微信已经可以弄到印象里面了啊?
clowwindy
2013-06-22 13:16:05 +08:00
@oska874
V2EX 看不到回复的是几楼……不知道你是对哪句话做的回复?

@Xe0n0 webview 里的只能用 protocol 去劫持,因为 webview follow HTTP 协议,过期后就让缓存失效了,cache 级别的就没用了。我们的离线逻辑要求即使现在有网,缓存过期了,也不去重新加载。所以这层的只能通过 protocol

SDURLCache 在 iOS 6 上没有什么用,因为 iOS 6 本身就会缓存到闪存

SDWebImage 在用,不过是配合 UIImageView 用的

@dreampuf

Evernote 的 SDK 槽点很多啊。

开发期间曾经遇到一个 bug,有一天突然分享不出 Evernote 了。查 log 发现 Evernote 提示“标题不合法”,看了很久也没看出标题不合法在哪里。最后发现今天的新闻标题里面有个回车。然后查文档,说标题要符合正则表达式 "^[^\p{Cc}\p{Z}]([^\p{Cc}\p{Zl}\p{Zp}]{0,253}[^\p{Cc}\p{Z}])?$" 才行。当时就很无语,为什么它不能自己过滤掉非法字符呢。非要让每个开发者都实现一遍过滤。

ENML 更是这样了,规则有很多条,必须是正确的 XML,符合 http://xml.evernote.com/pub/enml2.dtd ,写一个严谨的 converter 不是容易的事,我们宁愿让用户分享纯文本,也不能让用户有一天因为一个 attribute 没过滤,突然莫名其妙分享不能。所以不如就把 html 塞给 Evernote App 或者邮件发给它的服务器,让他自己去转换,肯定能转换成功。

如果我们的内容是自己生成的,而不是用户生成的,后台渲染一段 ENML 还是比较容易的。而用户产生的内容,不能简单的过滤一下了事。

之前调研的时候看到有个 App 分享给 Evernote 的方案是直接把网页截了张图塞给 Evernote,觉得很讽刺。
Xe0n0
2013-06-22 17:01:15 +08:00
@clowwindy 原来是 UIWebView 的缓存,学习了。
dreampuf
2013-06-22 21:23:13 +08:00
@clowwindy 不要,在意,细节。
Evernote 的sdk 从api到实现都可以看出没有内部人员在用。

我的意思是有白名单就可以简单点出个parser/render,聊胜于无
clowwindy
2013-07-02 11:12:20 +08:00
@Xe0n0 今天收到 Evernote 的邮件,要我们取消这种跳转应用的方式。原因是这不是公开的 API,以后随时会取消。要求改为 cloud API。
shao
2013-07-02 11:29:12 +08:00
@clowwindy 啊?那用cloud API,还能全文保存嘛?
Xe0n0
2013-07-02 11:37:31 +08:00
@clowwindy 这样啊,那我也得抓紧修改。既然是非公开 API 怎么还放在样例代码里,费解。
tomliu
2014-05-19 00:22:33 +08:00
@clowwindy 来挖一下坟,在写一个converter被搞死了。。

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

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

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

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

© 2021 V2EX