我有个 rails 应用,类似博客,可以发布文章 我希望在文章的 show 页面提供一个按钮,分享到微博,但是我看大多数都是分享这个文章的链接 我的需求是点击链接之后,提示用户登录微博,然后把文章内容作为微博内容,发布一条图片长微博, 已经纠结好几天了,也查了好多资料,不过还是没有头绪 希望广大 rubyChina 朋友们给我提个思路建议之类的
casperjs(截图)+rmagick(组合图片)=长微博图片,据说截图上 36kr 用的是 wkhtmltoimage,微博 api 自己搞吧。
# Uses wkhtmltoimage to create Images using HTML
# https://github.com/csquared/IMGKit
gem 'imgkit', '~> 1.4.1'
#8 楼 @flowerwrong imgkit
只是封装了 wkhtmltoimage。如果需要知道 wkhtmltoimage 的更多特性,点击:https://github.com/wkhtmltopdf/wkhtmltopdf
有一个小方法,是需要截图的,独立写一个 view partial,再去获取进行截图。
@flowerwrong 我按照 casperjs 官网的 doc, 学会了怎么用选择器截图,但是过程是写个 js 脚本然后用 casperjs 命令去跑... 所以我想问问你,怎么在 rails 项目里截图呢?rmagick 组合头部底部我也学会了
#12 楼 @Cifer_Y 保存一篇文章后就可以截图。例如你要截图这篇文章的的内容部分 用 casperjs 访问这个 http://www.36kr.com/p/215068.html 然后加 css 选择器截图保存就可以了,命名可以是 article-id-xxx.png 等等,然后就用 rmagick 去读取图片,接着组合图片就可以了。
@flowerwrong 我现在就是不知道怎么在 rails 应用里跑,比如客户访问到我的文章 show 页面,想把某个文章转发到微博,然后他一点击分享到微博这个链接,就会进行截图,拼图,发微博这一系列动作,我现在是会用命令行跑
casperjs capture.js
去截图,然后能写一个 ruby 脚本调用 rmagick 去拼图,也能写一个 ruby 脚本去发微博,
就是不知道在我的 rails 项目里怎么完成这三个动作
在 controller 里?