新手问题 ruby-china 发表帖子的功能一些问题?

zjnxzy · 2013年03月12日 · 最后由 loxeyer 回复于 2013年03月14日 · 2296 次阅读

(1)ruby-china 这个“新建帖子”功能使用的是什么编辑器呀? (2)右上角那个上传图片的功能是怎么实现的呀?看源代码没有看懂。。。 (3)预览功能是怎么实现的呀?看源代码还是没看懂。。。 求知情人士教下我,不胜感激。。。。 附代码图片一张:

编辑器应该就是文本框吧,不过是用的 markdown 的语法,然后处理之后就可以生成 html 格式了。 上传图片和预览的具体代码我没怎么看过,不过猜想应该是用 js 处理的吧。 点击上传之后就以 ajax 方式发送到服务器,然后服务器保存到一个临时的文件,成功之后返回路径并用 js 写入文本框。 preview 应该也是类型的做法。。 (PS:这是我自己猜想的哈,不过应该也差不多是这样了吧,建议你自己去看看 js 代码和这个页面的相关 ruby 代码)

#1 楼 @Tony612 谢谢你的回答,ruby-china 的源码对于我这个初学者还真有很大的难度呀。。。。

#3 楼 @Rei 谢谢,谢谢!

#3 楼 @Rei 还要请教下你,生成了“![](//l.ruby-china.com/photo/54cde5145470f896b346ae6c769baebe.jpg)” 并且把它添加到了正文中,但是在展示的时候,它是怎么变成“<image src='.............' />”?

#3 楼 @Rei 上图,是这个链接,怎么才能变成

#6 楼 @zjnxzy 这是 Markdown 语法,服务端会进行解析。

我觉得对于初学者,ruby-china 太过于复杂了,还是找点结构相对清晰的揣摩下比较好,比如 @rei 的那个

#7 楼 @Rei 那如果要服务端解析它,我需要装些什么插件呢?

#9 楼 @zjnxzy Gemfile 里面找到这个

# Markdown 格式
gem "redcarpet", "~> 2.2.2"

调用地方在这里

https://github.com/ruby-china/ruby-china/blob/master/app/models/mongoid/markdown_body.rb#L13

然后这个模块被 Topic 和 Replay 引入。

我都有点晕,哈哈。

其实现在有个比较好用的叫做html-pipeline的 gem 能解决这种 markdown 模板之类的东东

#10 楼 @Rei 不用麻烦了,我已找到了那个方法了。。。

只支持几个 md 格式,把 md 全加进来就爽了

需要 登录 后方可回复, 如果你还没有账号请 注册新账号