今天公司叫架设一个内部使用的知识库,据说是有利于业务组的同志沟通。具体做什么的咱也不知道 咱也不敢问!于是乎直接想到了以前看到过的dokuwiki比较符合业务场景,撸起袖子开干;直接在公司群晖NAS上下载了dokuwiki自动架设(当然你也可以网上下载自己配置到服务器),具体安装过程这里不赘述了!点进来的都不是冲着安装过程来的!
装好以后就发现几个问题必须要解决才能用
- 界面太丑,需要换个皮肤
- 没有侧边菜单栏,得想办法解决
- 编辑器真心无法使用,连基本的粘贴图片都没有(还是比较心仪ueditor啊)
接下来就逐个解决咯
一. 界面太丑,需要换个皮肤
这个好办,直接到扩展管理器下一套模板即可,具体操作如下
1. 菜单点击管理
2. 点击“扩展管理器”,进入扩展管理
3. 点击“搜索和安装”页签,搜索扩展输入 Template 点击搜索,我选择的Bootstrap3这套
进都进来了顺便装一下要用的扩展“ACL Manager”和“Add New Page”
(注意这里的搜索和安装最好是在“科学上网”的环境下进行,不然失败的可能性极大)
4. 成功安装好模板后点击管理界面的“配置设置”进入配置界面
5. template选项选择bootstrap3 点击保存 即可使皮肤生效啦
二. 没有侧边菜单栏,得想办法解决
直接编辑侧边栏页的代码如下
{{indexmenu>..#1|js navbar nocookie}}
保存退出即可看到侧边菜单了
三. 更换编辑器 重点
1、下载ueditor到本地先,网上找了下官网 居然官网都没有了啊,桑心!~ 全部都整到github去了,直接下载发布最新版本1.4.3.3
2、 在dokuwiki的lib文件夹下面新建“ueditor”文件夹,把解压好的文件丢进去。接下来就要开始修改文件啦
3、找到inc/form.php里面的form_wikitext($attrs)方法大概在793行
// 原来是这个样子滴
function form_wikitext($attrs) {
// mandatory attributes
unset($attrs['name']);
unset($attrs['id']);
return '<textarea name="wikitext" id="wiki__text" dir="auto" '
.buildAttributes($attrs,true).'>'.DOKU_LF
.formText($attrs['_text'])
.'</textarea>';
}
// 改成
function form_wikitext($attrs) {
// mandatory attributes
unset($attrs['name']);
unset($attrs['id']);
return '<script name="wikitext" id="container" style="height: 450px" type="text/plain">'.$attrs['_text'].'</script>';
}
4、添加ueditor的js文件 路径为:/lib/tpl/你的模板名称(我的这里是bootstrap3)/main.php
// 直接在</body>前面加
<!-- 配置文件 -->
<script type="text/javascript" src="<?php echo DOKU_BASE;?>lib/ueditor/ueditor.config.js"></script>
<!-- 编辑器源码文件 -->
<script type="text/javascript" src="<?php echo DOKU_BASE;?>lib/ueditor/ueditor.all.js"></script>
<!-- 实例化编辑器 -->
<script type="text/javascript">
var ue = UE.getEditor('container');
</script>
5、去掉原来html字符串过滤,路径为/inc/parser/xhtml.php找到cdata($text)方法,大约在286行左右
function cdata($text) {
$this->doc .= $this->_xmlEntities($text);
}
改成
function cdata($text) {
$this->doc .= $text;
}
到这里就可以愉快的使用ueditor了。
至于其他的一些配置 随缘啦~还要什么自行车~~