====== Dokuwiki 使用技巧整理 ======
===== - Dokuwiki 本身頁面異動 RSS 的使用方式 =====
* 通常使用者可會針對特定的 Name Space(NS) 內容有興趣, 因此想訂閱這 NS 的 RSS, 呼叫語法如下:
http://{myWikiUrl}/feed.php?ns={Name Space}&view={Type}
* Exp.本站 tech https://www.ichiayi.com/wiki/feed.php?ns=tech&view=pages
* 詳細參數可參考 - https://www.dokuwiki.org/syndication
===== - 相同 Name Space 新增頁面設定預設內容方式 =====
* 只要在 Name Space 的 data/page/xxx 目錄內增加 _template.txt 在 xxx 底下建立新頁面就會將 _template.txt 的內容顯示出來
* 如果要讓底下所有的目錄也可以套用這樣版, 只要將 "_template.txt" 改成 **兩個底線**"%%__%%template.txt" 即可
* 如果要讓樣板使用到變數, 可以有 @ID@ , @PAGE@ , @DATE@ , @NAME@ , @NS@
* 可參考 https://www.dokuwiki.org/start?id=zh-tw:namespace_templates
===== - 特定 Name Space 採用自己的板型設定方式 =====
* 參考 http://wiki.splitbrain.org/wiki:tpl:faq
- 可以在 main.php 內修改 code 增加 if ($explodednamespace[0] == “namespace1”) {include tpl1.php} 這樣的方式來解決
- 安裝 [[http://tatewake.com/wiki/projects:multitemplate_for_dokuwiki|Multitemplate for DokuWiki]] 來解決
++++ 實際修改 main.php 的方式(只改標題)|
因為 Multitemplate 安裝後有問題, 所以採用修改 main.php 的方案
* 將原本的 main.php 複製成 main_default.php 與特定 Name Space 的 main_ns.php Exp. main_stanley.php, main_scucs.php...
* 產生新的 main.php 內容如下:
* 更改 main_ns.php 內容符合需要, 以下是以 main_stanley.php 為例:
:
[]
:
:
* 這樣設定之後, stanley 的 Name Space 頁面呈現時, Title 都會出現 「蔡卓展專屬網站」
++++
++++實際安裝 Multitemplate 程序(結果有問題)|
cd lib/tpl
wget http://tatewake.com/wiki/_media/projects:multitemplate-01022007.zip
unzip projects\:multitemplate-01022007.zip
cd multitemplate/
vi local_pref.php
* 定義不同的 Name Space 使用的 Template
:
$multitemplate['playground'] = 'default';
$multitemplate['stanley'] = 'stanley';
$multitemplate['jerry'] = 'jerry';
$multitemplate['scucs'] = 'scucs';
$multitemplate[''] = 'simple';
:
* 最後要將所有的 templace 內 *.php 檔((detail.php, main.php, mediamanager.php, tpl_functions.php))的內容更改以下的項目
- 將 DOKU_TPL 改成 $DOKU_TPL
- 將 DOKU_TPLINC 改成 $DOKU_TPLINC
- 在第一行增加以下的 php 程式碼
++++
===== - 清除特定頁面 Cache 方式 =====
* 參考 http://wiki.splitbrain.org/wiki:caching
-- 在頁面網址後面加上 **?purge=true** 要求將該頁面的 cache 清除掉
.. Exp. http://www.example.com/namespace/page?purge=true
-- 在頁面內加入 NoCache 語法(似乎沒用)
.. NoCache 語法 ~~NOCACHE~~
===== - 新增/異動 dokuwiki 內容頁面整合方式 =====
* 參考 http://wiki.splitbrain.org/wiki:cli
* 主要透過 **dwpage.php** 這個工具介面來處理
===== - 匯出 wiki 頁面的方式 =====
* 參考 http://wiki.splitbrain.org/wiki:export
* 匯出本頁的原始語法 https://www.ichiayi.com/wiki/tech/dokuwiki?do=export_raw
* 匯出本頁的 XHTML 語法 https://www.ichiayi.com/wiki/tech/dokuwiki?do=export_xhtml
* 匯出本頁的網頁內容 https://www.ichiayi.com/wiki/tech/dokuwiki?do=export_xhtml
===== - 備份 Dokuwiki 的方式 =====
* 參考 http://wiki.splitbrain.org/wiki:tips:backup_script
===== - Dokuwiki 每頁統計點閱次數方式 =====
- 參考 http://www.dokuwiki.org/tips:viewcounter
- 參考 https://www.dokuwiki.org/plugin:statistics 將所有使用者存取行為紀錄到 DB 內進行完整分析統計
===== -Dokuwiki topbar 的定義 =====
- 參考 https://www.dokuwiki.org/tips:topbar
- ++新增 wiki/lib/tpl/dokuwiki/header.html|
++
- ++新增 wiki/conf/userall.css|
@media screen {
/* top bar */
.dokuwiki .topbar {
position: absolute;
top: 0;
left: 0;
width: 100%;
}
.dokuwiki .topbar ul {
text-align: center;
max-width: 600px; /* change accordingly */
margin: 0 auto;
padding: 0;
list-style: none;
background-color: __background_alt__;
border: solid __border__;
border-width: 0 1px 1px;
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
box-shadow: 0 1px 3px #999;
overflow: hidden;
}
.dokuwiki .topbar ul li {
margin: 0;
padding: 0 2px;
display: inline-block;
font-size: 85%;
}
.dokuwiki .topbar ul li a {
color: __text__;
display: inline-block;
min-height: 16px; /* make sure icons are not cut off (most icons are 16x16) */
}
/* for IE7 */
*+html .dokuwiki .topbar ul li,
*+html .dokuwiki .topbar ul li a {
display: inline;
}
/* changes specific for the default "dokuwiki" template,
other templates need other changes! */
#dokuwiki__header {
padding-top: 3.5em;
}
#dokuwiki__usertools {
top: 2em;
}
/* IE8 needs this in the default template */
.dokuwiki .topbar ul li img {
max-width: none;
}
} /* /@media */
/* for screens less than 480px wide */
@media only screen and (max-width: 480px) {
/* move topbar back to the bottom */
.dokuwiki .topbar {
position: static;
}
/* un-do some specific template changes */
#dokuwiki__header {
padding-top: .5em;
}
} /* /@media */
@media print {
/* don't print the topbar */
.dokuwiki .topbar {
display: none;
}
} /* /@media */
++
===== - 延伸參考資料 =====
{{topic>dokuwiki}}
----
* http://redertseng.com/notes/dokuwiki
* http://wiki.splitbrain.org/wiki:dokuwiki
{{tag>dokuwiki 經驗 密技}}