差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

兩邊的前次修訂版 前次修改
下次修改
前次修改
tech:dokuwiki_tips [2016/12/22 08:58] – [- Dokuwiki 每頁統計點閱次數方式] jonathantech:dokuwiki_tips [2018/07/25 08:48] (目前版本) – [-Dokuwiki topbar 的定義] Jonathan Tsai
行 1: 行 1:
 +====== Dokuwiki 使用技巧整理 ======
 +===== - Dokuwiki 本身頁面異動 RSS 的使用方式 =====
 +  * 通常使用者可會針對特定的 Name Space(NS) 內容有興趣, 因此想訂閱這 NS 的 RSS, 呼叫語法如下:<code sh>
 +http://{myWikiUrl}/feed.php?ns={Name Space}&view={Type}</code>
 +  * 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 內容如下:<code php 1|h main.php>
 +<?php
 +$nsArr  = explode(':', $ID);
 +
 +if ($nsArr[0] == "scucs") {
 +        include(DOKU_TPLINC.'main_scucs.php');
 +}
 +elseif ($nsArr[0] == "stanley") {
 +        include(DOKU_TPLINC.'main_stanley.php');
 +}
 +elseif ($nsArr[0] == "jerry") {
 +        include(DOKU_TPLINC.'main_jerry.php');
 +}
 +else {
 +        include(DOKU_TPLINC.'main_default.php');
 +}
 +?>
 +</code>
 +  * 更改 main_ns.php 內容符合需要, 以下是以 main_stanley.php 為例:<code php|h main_stanley.php>
 +<?php
 +if (!defined('DOKU_INC')) die();
 +
 +include(DOKU_TPLINC.'tpl_functions.php');
 +$my_Title="蔡卓展專屬網站";
 +?>
 +:
 +  <title>
 +    <?php tpl_pagetitle()?>
 +    [<?php echo $my_Title;?>]
 +  </title>
 +:
 +      <div class="header">
 +        <div class="logo">
 +          <?php tpl_link(wl(),$my_Title,'name="dokuwiki__top" id="dokuwiki__top" accesskey="h" title="[ALT+H]"')?>
 +        </div>
 +      </div>
 +:
 +</code>
 +  * 這樣設定之後, stanley 的 Name Space 頁面呈現時, Title 都會出現 「蔡卓展專屬網站」
 +++++
 +++++實際安裝 Multitemplate 程序(結果有問題)|
 +<code sh>
 +cd lib/tpl
 +wget http://tatewake.com/wiki/_media/projects:multitemplate-01022007.zip
 +unzip projects\:multitemplate-01022007.zip
 +cd multitemplate/
 +vi local_pref.php
 +</code>
 +  * 定義不同的 Name Space 使用的 Template
 +<code php|h local_pref.php>
 +:
 +$multitemplate['playground'] = 'default';
 +$multitemplate['stanley'] = 'stanley';
 +$multitemplate['jerry'] = 'jerry';
 +$multitemplate['scucs'] = 'scucs';
 +$multitemplate[''] = 'simple';
 +:
 +</code>
 +  * 最後要將所有的 templace 內 *.php 檔((detail.php, main.php, mediamanager.php, tpl_functions.php))的內容更改以下的項目
 +    - 將 DOKU_TPL 改成 $DOKU_TPL
 +    - 將 DOKU_TPLINC 改成 $DOKU_TPLINC
 +    - 在第一行增加以下的 php 程式碼 <code php>
 +<?php if (isset($DOKU_TPL)==FALSE) $DOKU_TPL = DOKU_TPL; if (isset($DOKU_TPLINC)==FALSE) $DOKU_TPLINC = DOKU_TPLINC; ?>
 +</code>
 +++++
 +
 +
 +===== - 清除特定頁面 Cache 方式 =====
 +  * 參考 http://wiki.splitbrain.org/wiki:caching
 +  -- 在頁面網址後面加上 **?purge=true** 要求將該頁面的 cache 清除掉
 +  .. <file>Exp. http://www.example.com/namespace/page?purge=true</file>
 +  -- 在頁面內加入 NoCache 語法(似乎沒用)
 +  .. <file>NoCache 語法 ~~NOCACHE~~</file>
 +
 +===== - 新增/異動 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|<file>
 +<div class="topbar">
 +    <?php tpl_include_page('topbar') /* includes the wiki page "topbar" */ ?>
 +</div>
 +</file>++
 +  - ++新增 wiki/conf/userall.css|<file>
 +@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 */
 +</file>++
 +
 +===== - 延伸參考資料 =====
 +{{topic>dokuwiki}}
 +
 +----
 +  * http://redertseng.com/notes/dokuwiki
 +  * http://wiki.splitbrain.org/wiki:dokuwiki
 +
 +{{tag>dokuwiki 經驗 密技}}