个人的建议就是还是分成两个插件比较好...
如果从技术上无法实现一个插件解决,我可以很方便地退回“两个插件”的解决方案,因为这两个插件都是现成的,人家已经做得很好了。
但是,我宁可相信:凡事皆有可能。如果我们将两个插件合并,对于终端用户来说,将是非常方便的。所以,请大家放手一试,如果实在解决不了,再退回起点。
这个问题就好解决了,再做一个插件用来处理这件事情是比较容易地,附件就是用来处理该事务的一个插件。
汗!本来就是要将两个插件合并,现在 hoping 反倒拆分成两个插件了,呵呵。可能我没有给你解释清楚。在本帖下面我会再次解释一下我的创意。
俺是直接改的jck.php
虽然我还没有测试,但是我认为 kolidon 这个思路跟我差不多,一定要想方设法在 JCK 编辑器上修改代码,而不能借助于另一个内容插件。
OK,为了让各位高手有一个明确的目标,我重新梳理一下:
各位能够下载到的新版本已经是一个插件加上一段代码,这段代码如果能自动插入到模板的 index.php 就完成了初步合并。
接下来的问题是:用户可能会换模板;某个文章中可能没有插入程序代码,或者文章系统以外的页面上几乎不需要加载这些 JS,如何让插件自动判断?
我的想法是:最好不要修改 jck.php 文件,因为这个编辑器插入源代码的那个弹出对话框并不是 FCKeditor 本身的功能,而是一个插件。
参看:
Code Syntax Highlight Plugin for FCKedito
也就是说,只有当用户在编辑器上点击那个按钮插入源代码时,才需要触发这种语法高亮系统。
因此,我建议大家在这个 syntaxhighlight 插件上动心思。
可否这样:
目前已知不管我们插入什么代码,都会在页面的 HTML 代码中生成 <pre name="code" ....> 这样的片段,不管其它参数怎样,前面这一段总是不变。因此我觉得这个可以作为一个探测对象。
能否让这个 syntaxhighlight 插件在用户按下“确定”按钮并插入代码之后,就自动给
当前页面的 <head> 部分以及 </body> 之前插入我在 readme 中提到的那些代码?如果用户没有插入代码,比如说先插入后来又删除了,那么通过自动探测 <pre name="code" ...> 是否存在而决定是否插入这些代码。
另外,一篇文章中可能插入好几次程序代码,必须让这个插件智能一些,不能每次展示源代码它就插入一次 JS 调用,那就重复了。
除了文章系统,我们还应该考虑到,某些评论组件是允许调用系统编辑器的。因此,读者也可能会通过这个编辑器给评论内容中插入程序代码,这个插入动作仍然需要某个插件去动态探测。
所以说,这个插件的改造还是有一定难度的。如果大家觉得实现起来太困难 —— 我希望各位高手充分发挥自己的编程水平,不要轻易放弃 —— 如果最终还是不行,我们就退回起点,用两个插件来解决。
感谢各位的分享!静候佳音。