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 the cache 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如果再往后一點可能我就尋找不下去了)找到了合適的插件。最后要說明的就是,下一個插件的尋找,我不一定成功,但是如果我成功了,我會告訴你,我是怎樣成功的,如果失敗了,我會告訴你,我是如何失敗的,希望大家少走我的彎路。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM