CAPU-ENG / CAPUHome-API

Core system for the online platform of CAPU.
MIT License
2 stars 3 forks source link

新论坛的编辑器 #2

Open JeldorPKU opened 9 years ago

JeldorPKU commented 9 years ago

基本想法是markdown+颜色,还有别的讨论可以在下面说~

goodman-capu commented 9 years ago

坚决反对。。。 你们喜欢这样不代表大众喜欢 至少在确定之前向所有用户征求意见 给个Markdown编辑器的样例 以及一个富文本编辑器的样例【现在论坛的那个太搓了】 让大家去选择

huxuan commented 9 years ago

部分同意 @goodman-capu 的意见,还是要考虑大家的需求的。

富文本编辑器可以参考~[1]应该还是有不少新的可以尝试下的~

[1] https://en.wikipedia.org/wiki/Online_rich-text_editor

JeldorPKU commented 9 years ago

@goodman-capu @huxuan 我觉得可视化的markdown和现在的编辑器没有区别……我很喜欢知乎那样的编辑器嗯。

JeldorPKU commented 9 years ago

找到一个不错的,不过不支持emoji……叫ckeditor

JeldorPKU commented 9 years ago

找了好久,最合心意的是summernote,已经有人做了summernote-ext-emoji,大家看看什么意见~

goodman-capu commented 9 years ago

咱们服务器和网页的编码支持emoji吗...

范志康 | 好男人 北京大学自行车协会 电话 +8618579101828

在 2015年5月29日,下午4:54,蒋雨蒙 notifications@github.com 写道:

找了好久,最合心意的是summernote,已经有人做了summernote-ext-emoji,大家看看什么意见~

— Reply to this email directly or view it on GitHub.

JeldorPKU commented 9 years ago

反正都是图片吧……不过质量比现在的肯定好很多 @goodman-capu

goodman-capu commented 9 years ago

emoji不是图片!...

范志康 | 好男人 北京大学自行车协会 电话 +8618579101828

在 2015年5月29日,下午7:48,蒋雨蒙 notifications@github.com 写道:

反正都是图片吧……不过质量比现在的肯定好很多 @goodman-capu

— Reply to this email directly or view it on GitHub.

cindywang319 commented 9 years ago

嗯。。。emoji不是图片

在 15/5/29,goodman-capunotifications@github.com 写道:

emoji不是图片!...

范志康 | 好男人 北京大学自行车协会 电话 +8618579101828

在 2015年5月29日,下午7:48,蒋雨蒙 notifications@github.com 写道:

反正都是图片吧……不过质量比现在的肯定好很多 @goodman-capu

— Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub: https://github.com/CAPU-ENG/CAPUHome-API/issues/2#issuecomment-106788440

王心怡 1100012796 北京大学 信息科学技术学院 计算机系

huxuan commented 9 years ago

不要在意这些细节,还是主要看看什么更适合我们的需求吧~

huxuan commented 9 years ago

论坛本来应该用的时 nicEdit,建议可以看看那个 wikipedia 页面里的 Inline Editors 栏目中所列举的部分。

zhzhzoo commented 9 years ago

还要考虑到下一步 html purify 的问题。。。 所见即所得的编辑器如果生成的代码如果不是合法 html 就有点麻烦。。。 允许出现 style 标签也很麻烦,因为会有人在里面写 body {display:none;} 之类的东西。。。 但是看起来不允许出现 style 标签是不可能的,所以我们还需要自己 parse 一遍 css。。。。。

JeldorPKU commented 9 years ago

还要考虑到下一步 html purify 的问题。。。 所见即所得的编辑器如果生成的代码如果不是合法 html 就有点麻烦。。。 允许出现 style 标签也很麻烦,因为会有人在里面写 body {display:none;} 之类的东西。。。 但是看起来不允许出现 style 标签是不可能的,所以我们还需要自己 parse 一遍 css。。。。。

如果不允许更改颜色和字号的话是不是就没有这个问题了?话说现在的编辑器就该就有这个问题吧,现在是怎么处理的?

zhzhzoo commented 9 years ago

现在没有处理。。。。。。所以可以把楼倒过来~ 允许更改颜色和字号也可以没有这个问题~不过 Word 粘贴保留格式可能会有问题。。。 (任何 WYSIWYG 编辑器从 Word 粘贴进来都会出 style 标签,我猜是 Word 的原因)

zhzhzoo commented 9 years ago

不过话又说回来 CSS parse 一遍就 parse 一遍吧谁怕谁啊哼(`^´)ノ

huxuan commented 9 years ago

感觉这里面有两个问题,一是怎么鼓励大家多用在线的编辑器,而不是word,另外一个是对内容html解析。对于第一个感觉可以通过一些用户体验的改进加引导,让大家主要用在线的编辑器,比如取消半小时自动退出,比如添加草稿(箱)功能。对于第二个问题,感觉不是一个solved problem,我们也没必要太洁癖,实现基本功更最重要,实在不行,可以搞个白名单标签和属性,其他的都过滤掉好了,反正顶多也就是影响样式,又不会少内容。

goodman-capu commented 9 years ago

我觉得...第一个问题没法解决 毕竟一个在线编辑器比起一个好几个g的本地软件用户体验是没法比的...以及我觉得草稿箱并不能解决问题 最多当一个防bug的措施...

范志康 | 好男人 北京大学自行车协会 电话 +86 185-7910-1828

在 2015年6月21日,下午3:44,Xuan Hu (Sean) notifications@github.com 写道:

感觉这里面有两个问题,一是怎么鼓励大家多用在线的编辑器,而不是word,另外一个是对内容html解析。对于第一个感觉可以通过一些用户体验的改进加引导,让大家主要用在线的编辑器,比如取消半小时自动退出,比如添加草稿(箱)功能。对于第二个问题,感觉不是一个solved problem,我们也没必要太洁癖,实现基本功更最重要,实在不行,可以搞个白名单标签和属性,其他的都过滤掉好了,反正顶多也就是影响样式,又不会少内容。

— Reply to this email directly or view it on GitHub.

huxuan commented 9 years ago

“好几个G的本地软件”主要也就是Word和Excel吧~这个感觉更多的是一种思维定势的习惯而已……不过大概搜了一下,似乎主流的编辑器都对这些有比较好的支持了,比如CKEditor[1]、TinyMCE[2]。

[1] http://ckeditor.com/about/features [2] http://www.tinymce.com/wiki.php/Plugin3x:paste

zhzhzoo commented 9 years ago

@huxuan 啊我也觉得就搞白名单儿就可以~

zhzhzoo commented 9 years ago

然后有的属性需要特别处理一下比如 a 的 href,有 javascript: 的得干掉,外链要提醒一下什么的

huxuan commented 9 years ago

第一阶段感觉没必要在这个问题上纠结太多,如果我们能给出一个非常完善的解决方案,那些parse或者说hack的代码完全可以作为一个单独的renpo……

zhzhzoo commented 9 years ago

@huxuan 不不不这个问题必须完全解决啊。。。把楼倒过来事儿小,偷个 cookie 或者转发点儿消息什么的就够受了。。。而且还得解决到我们能证明我们解决掉了的程度

huxuan commented 9 years ago

1)禁用js这些简单的filter是很容易实现的 2)我不觉得把我们能想到的这些都用上了就算“完全解决”了 3)不要总是抠字眼,感觉这样沟通起来好累……

zhzhzoo commented 9 years ago

1) 嗯那非常好啊~ 2) 我觉得这就算“完全解决”了,嗯反正 html 标签和属性都是有限的,敏感属性取值也可以分成有限多类讨论,讨论一遍就完啦~ 3) 啊好吧呀我错了。。。

huxuan commented 9 years ago

我是觉得这个问题应该是单独的功能,例如php或者python里面的一个函数,或者是某个框架里面就提供的,除非用非常严格的白名单(这样可能会带来很多限制),用黑名单的方式很难做到完全解决,这方面的讨论和实现在网上有很多,如果真的是一个solved problem,那早就应该有公认的解决方案了,然而至少我没有找到……如果真的想在这个问题上进行深入探究,我觉得可以新开一个repo做成一个python的lib甚至是package,从网站本身的角度,不应该在这种细节问题上给予太多的关注,先实现最基本的功能,再不断进行迭代和完善才是比较正常的套路,我们不可能在开始写代码之前把所有问题都考虑到并且都提供完美的解决方案,应该把更多的精力放在如何让项目架构更合理更容易维护和扩展上。

zhzhzoo commented 9 years ago

嗯我也觉得应该是单独的功能~从网站本身的角度,我觉得在确保没有安全隐患之前,我们宁可用纯文本或者是 Markdown (不能内嵌 html)。然后考虑好以后换标记语言的时候数据库里和页面上要如何向后兼容。

zhzhzoo commented 9 years ago

黑名单和白名单其实是一样的呀,因为 html 标记和属性都是有穷的嘛。。。。

huxuan commented 9 years ago

It's better to prove what you have said by CODE.

zhzhzoo commented 9 years ago

嗯 好吧我觉得有必要就最基本的问题统一意见:无论用哪种编辑器,本质上都是选择一种标记语言作为输入(比如纯文本,Markdown,HTML),然后再把这种标记语言解析出来生成显示的内容(对 web 端就是无破坏力的 HTML,对手机端我也不知道是啥。。。。)的过程。

然后输入到输出会经过这几个环节: 1(客户端或Web)-》2(API)-》3(数据库)-》4(API)-》5(客户端或Web) 然后1环节不知道会不会有不同格式的输入(因为有可能web和客户端用的编辑器不一样(?))。然后至少在3环节我们有不同格式的数据流。因为输出的格式可能根据客户端或Web有所不同,最开始说的解析过程最好在5环节进行(不过2环节倒是可以加个预处理什么的话说)。

huxuan commented 9 years ago

解析的过程感觉应该是在4环节就做好,统一输出没有问题的HTML代码,在各个client里面做容易变成重复劳动。

huxuan commented 9 years ago

现在需要换的原因我觉得主要是解决两个问题,1,找一个更主流至少还在维护的editor并且最好能动态部署,2,对word/excel的支持更好一些

zhzhzoo commented 9 years ago

嗯我觉得对 client 来说处理 markdown 比处理 html 容易点儿(如果用 markdown~)

JeldorPKU commented 8 years ago

思考了一下,我觉得我们的帖子内容支持Emoji等非图片的表情就好。具体的输入和显示看具体情况再来解决吧~想把CKEditor定制一下作为主力Web编辑器。