dokuwiki折叠功能

程序员的时间往往比较宝贵,只是我闲的在敲博客,我先说解决方法,再说探索历程,如果你的时间比较宝贵,可以直奔主题,如果对我的探索感兴趣,可以继续阅读。

一、解决方法:

首先这个折叠控件,类型是属于语法插件,并非是行为(action)插件。

hidden插件地址:https://www.dokuwiki.org/plugin:hidden使用方法也有了。

其次,需要注意:

  1.安装完成之后需要换个模版然后再换回来,这样,就没什么问题了,插件就能够正常工作了。

      2.关于插入图片,{{imageurl:xxx?nolink}},写上nolink,点击图片后就不会再次跳转了。可以实现图文混排。

二:探索历程:

dokuwiki的插件非常多,偶然得到这个插件的。这个探索了5天,道路非常坎坷,甚至午睡晚休都想到我该怎样去找到它,或者自问,这个插件到底存在吗?上一个“导航插件”中给我极大帮助的Lainme告诉我,他也没接触过,我知道,我的探索注定是要靠自己了,我是这样探索的:

第一步,想到的是html和js,发现这样可以实现折叠的功能,但是弊端就是html中只能放标签内容,没法识别dokuwiki的语法(这样整个界面就变成html和js了,不是我们想看到的),虽然可行,但是很快就放弃了。

第二步,排除了html+js的想法之后,我又把精力放到插件上,觉得有可能是Action(行为)插件,花费了一整天时间把295个Action插件(日期截止到写这篇文章)看了个遍,发现诸如:博客,谷歌小搜索,ip显示,水印,侧栏等等的好玩的插件都在这里,找到几个可能满足我的需求的,比如tagsubjectindexsyntaxhighlighter,todo, tindexmenu,cspheader,等等还有很多,我挨个尝试后,发现都差不多满足,但是都不是想要的,中间很多插件“年久失修”,随着dokuwiki版本的升级,有些集成到里面了,或者甚至都不用了,或者缺少用法的我也略过了,因为有的插件甚至不是英文,谷歌翻译器经常挂掉或者翻译的看不懂,我在里面得到一个规律可以提高“地毯式搜索”的速度,dokuwiki的“Similar to。。”(类似于的意思)这个很好用,这样可以排除一大部分同类,或者这个看不懂,可以看提示的类似插件。即使这样越看越快,我还是几乎已经放弃了。

第三步,发现我求助谷歌无望,同行里找不到任何一个dokuwiki的先驱,萌生了自己写一个插件的想法,我读了w3school的一点php的知识,但是想在短期内完成一个插件的制作,我觉得对我来说是非常困难的,因为周围的同事也没有精通php到可以写插件的,大家都是看着w3school的文章,我意识到,我们在同一个起跑线上。

第四步,开始寻找render类的插件,因为我的理解是,这个render是变换的意思,既然是折叠,就应该涉及动画,可能有相通的地方,但是错了,我记得的是RenderTransform这个xaml中的变化动画,render的意思是给予,“给与变化”中的变化是另一个单词transform,我的英文自信害了我,我转向render还有个原因就是,render这个类的插件比较少(日期截止到写这篇文章只有38个)。

第五步,看完了render类插件我再次失望了,百无聊赖之际,随即把魔爪伸向了Syntax(语法)插件,这个插件数目之多让我头晕目眩(日期截止到写这篇文章有638个),看了头几个后我就意识到我可能找对地方了,于是去重新看了一下dokuwiki的语法,然后就在里面找到了hidden插件,很幸运的,插件排序是根据英文字母顺序的,h这个字母比较靠前。

第六步,找到了hidden之后,发现这个插件的语法非常简单,就是简单的html,但是用了之后,没有弄到想要的折叠效果,我几乎绝望了,是它吗?是吧,但是效果怎么不行呢,难道又理解错了?根据“similar to。。”(类似)的插件去找了别的控件,发现和这个差不多的控件效果的确是我想要的,但是它们的说明看不懂。

第七步,虽然放弃了hidden,但是很不甘心。因为确定了它,或者它类似的,狩猎了五天,不差这一会了,于是我回到了hidden,因为hidden的英文说明文档是唯一看的懂的,我怀疑是不是使用的hidden语法忽略了某些东西,最后终于找到了如下的话:

Some (important) points

  • If the reader disabled JavaScript, this plugin won't work. More precisely, the full text will be displayed at once. Anyway, it shouldn't be a problem since quite everyone enables JavaScript.
  • If you just installed this plugin and if it doesn't seem to work, try to empty the cache of your browser and thecache of dokuwiki.
  • To use an image in the header, you should use <hidden click here {{image.gif?nolinking}}> (see images for more details).
  • You should avoid to use header inside a hidden section, because there is currently a bug with this case
  • If, after refreshing the cache, the hidden plugin still doesn't work and shows three lines containing the 'click here' text, change the template and revert back to what it was. In my case this solved it.

我的问题出在最后一条,然后我更改了模版重新打开,问题也解决了。这个控件可以内嵌dokuwiki的语法。

总结:这个插件不是很困难,但是对于不懂php的来说,那一大堆的插件如何制作的说明,就是一堆废话,similar to是我发现的一个提高效率的好做法。虽然不是天才,但是我是用了99%的汗水,加上1%的运气(hidden如果再往后一点可能我就寻找不下去了)找到了合适的插件。最后要说明的就是,下一个插件的寻找,我不一定成功,但是如果我成功了,我会告诉你,我是怎样成功的,如果失败了,我会告诉你,我是如何失败的,希望大家少走我的弯路。

 

posted on 2013-10-25 10:18  鸣动我心  阅读(3861)  评论(0编辑  收藏  举报