1. 程式人生 > >如何使用Mediawiki搭建個人wiki系統、以及wiki的部分基本操作和設定

如何使用Mediawiki搭建個人wiki系統、以及wiki的部分基本操作和設定

    日常開發中總會有許多東西需要記錄,很多軟體都可以做到這一點,例如有道雲筆記,或者寫部落格。但個人偏愛於Mediawiki,因為wiki可定製性強,總給人一種高階大氣的感覺。起初對wiki這種東西一無所知,受老總的影響,開始在公司推廣wiki,可惜到現在沒有推廣成功,不過自己倒是喜歡上這東西了。廢話少扯,進入正題吧。

    首先大致說說wiki是什麼吧。在我看來,wiki就是一種學術性的部落格,但是更加嚴謹,相當於字典,也不完全像字典一樣拘束與單詞,總之,我也說不清楚,形象的說,就是一個文件系統吧。當前有很多wiki軟體,例如Wikipedia使用的Mediawiki,以及MoinMoin,還有其他的很多版本;而Mediawiki應該是最廣為人知的吧。

Wiki安裝

    Mediawiki基於php,可以選擇MySQL、Sqlite等諸多資料庫,在windows上首選wamp server來配置神一般的Php+MySQL環境。本文使用的是Mediawiki1.21.2,Wamp2.4 ,windows8 pro x64的環境。可以建一個專門放網站的目錄,例如d:/work/www,將wiki解壓到該目錄下即可。在wamp安裝目錄下的alias目錄下,新建一個配置檔案,例如wiki.conf,內容如下:

1 2 3 4 5 NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot 
"D:/Work/www/mediawiki-1.21.2/" ServerName solee.org </virtualHost>

    因為是本機的緣故,我在host中將solee.org解析到127.0.0.1,窮人買不起虛擬主機。這樣訪問localhost,將會進入Mediawiki的初始化安裝介面。該安裝程式實際上是引導你生成LocalSettings.php,當然也可以手工設定。建議先自己選擇,這樣會生成一個LocalSettings.php檔案,並執行相應的資料庫初始化,將此php下載後放到wiki的根目錄下面,直接再訪問localhost即可進入wiki。好了,wiki安裝就這樣簡單。

基本配置

    wiki配置很豐富,下面介紹幾種可能感興趣的配置:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #個人wiki,禁止建立帳號功能,除非登陸才能訪問 $wgGroupPermissions['*']['createaccount'] = false; $wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['*']['read'] = false; #啟用詳細異常顯示. $wgShowExceptionDetails = true; #去除底部powered by圖示 unset($wgFooterIcons['poweredby']); #對於沒有登入的使用者,沒有登入的使用者移除頁面頂部的討論頁連結 $wgShowIPinHeader = false; #預設在新標籤頁中開啟連結 $wgExternalLinkTarget '_blank';

    其他諸如圖示、主題、短連結等配置可以自行探索。

常用外掛

    常用的外掛,主要是富文字編輯器了,當個人傾向於使用純文字編輯器,也就是Mediawiki自己提供的編輯器。預設的工具條很醜,可以在頁面右上角的設定->編輯中開啟增強功能。

    富文字編輯器可選用WYSIWYG,搜尋合適的版本下載之後,解壓到extensions目錄,並在LocalSettings.php中新增一行,載入此拓展:

富文字編輯器

1 require_once"$IP/extensions/WYSIWYG/WYSIWYG.php" );

 這樣安裝好之後,可以在設定中選擇喜歡的編輯器,或者選擇在文字和富文字編輯器中自由切換。

程式碼高亮

 1.21.2的程式碼高亮外掛已經預設集成了,如果沒有整合,可以搜尋Mediawiki Geshi安裝此外掛。

pdf匯出

   Mediawiki的 pdf匯出應該說算是比較頭疼的問題了,其實支援pdf匯出的外掛不少,但是對中文的支援非常不好,目前可以用PdfExport外掛比較完美的實現。官方的PdfExport外掛已經過時(目前不知道是否更新了),需要進行部分修改:

Mediawiki1.21.2匯出,可以使用PdfExport外掛+Mpdf進行。當前HtmlDoc等其他後端均不能支援中文。 Mpdf需要配置支援CJK字元

配置LocalSettings.php

1 2 3 4 #pdf匯出外掛 require_once("$IP/extensions/PdfExport/PdfExport.php"); #使用Mpdf作為PdfExport的後端,但必須配置支援ckj字型 $wgPdfExportMPdf =  $IP '/extensions/Mpdf/mpdf.php'// Path to the main mPDF.php file


配置字型config_font.php(需要將字型新增到字型資料夾中)

        "sun-exta" => array(
                'R' => "Sun-ExtA.ttf",
                'sip-ext' => 'sun-extb',
                ),
        "sun-extb" => array(
                'R' => "Sun-ExtB.ttf",
                ),

修改config_cp.php

        CASE "zh":
                $unifonts = "sun-exta,sun-extb";
                break;

修改MPdfConverter.php

        $mpdf = new mPDF('zh');
        $mpdf->SetAutoFont(AUTOFONT_ALL);
        $mpdf->WriteHTML($html);

修改config.php

        $this->useAdobeCJK = true;

另外,需要註釋掉下面的函式呼叫:

        //wfLoadExtensionMessages('PdfPrint');

其他外掛:

1 2 3 4 5 6 #Flash外掛 require_once("$IP/extensions/oflash/orificeflash.php"); #視訊外掛 require_once("$IP/extensions/MediawikiPlayer/MediawikiPlayer.php"); #批量匯入外掛 require_once("$IP/extensions/MultiUpload/MultiUpload.php");

    當然具體的外掛需要自己去下載。通常谷歌Mdiawiki  <外掛名稱>即可找到官方的下載地址。

備註:

1 2 #禁用掉此擴充套件,否則可能不能正常進入wiki

相關推薦

如何使用Mediawiki搭建個人wiki系統以及wiki部分基本操作設定

    日常開發中總會有許多東西需要記錄,很多軟體都可以做到這一點,例如有道雲筆記,或者寫部落格。但個人偏愛於Mediawiki,因為wiki可定製性強,總給人一種高階大氣的感覺。起初對wiki這種東西一無所知,受老總的影響,開始在公司推廣wiki,可惜到現在沒有推廣成功,不過自己倒是喜歡上這東西了。廢話

mysql資料庫之基本操作儲存引擎

一、知識儲備 資料庫伺服器:一臺計算機(對記憶體要求比較高) 資料庫管理系統:如mysql,是一個軟體 資料庫:oldboy_stu,相當於資料夾 表:student,scholl,class_list,相當於一個具體的檔案 記錄:1 susan &nb

mediawiki搭建個人的本地知識管理系統

在windows下有evernote,linux下呢?試了幾款類似evernote的軟體,要不是ui太搓就是功能太少了,基本沒什麼用。。。。。。 然後突然想到了web上的應用,如果把web應用搭建到本地做一個個人知識管理系統也不錯呀。google了一下。不知道怎麼就谷歌到了

搭建Zabbix監控系統服務以及實現郵件報警功能配置詳解

一、zabbix簡介:zabbix是完全開源的工具,整合了cacti和nagios等特性      附:SNMP(udp 161  udp 162)眾多網路工具都支援此協議,比如常見路由交換,常見OS,其既可以做管理端也可以做被管理端,snmp協議大致有3個版本分別是v1 、

js對系統IE瀏覽器的相關操作

新增網址到收藏夾 <input type="button" onclick="window.external.addFavorite('http://www.hao123.com','

用nodejs完成avl樹的建立查詢以及樹的前序中序遍歷。

程式碼如下: function AvlTree() { this.root = null; } /*二叉查詢樹節點/ function BstNode(key, value) { this.key = key; this.v

一步步教你用Prometheus搭建實時監控系統系列(二)——詳細分析拉取推送兩種不同模式

## 前言 本系列著重介紹`Prometheus`以及如何用它和其周邊的生態來搭建一套屬於自己的實時監控告警平臺。 本系列受眾物件為初次接觸`Prometheus`的使用者,大神勿噴,偏重於操作和實戰,但是重要的概念也會精煉出提及下。系列主要分為以下幾塊 * `Prometheus`各個概念介紹和搭建,

Linux 入門記錄:三Linux 文件基本操作管理

信息 使用 code 過程 記錄 inux 文件 pre 復制 一、復制文件、目錄 使用 cp 命令復制文件或目錄: $ cp 源文件(夾)目標文件(夾) 常用參數: -r 遞歸復制整個目錄樹 -v 顯示復制過程的詳細信息   

列表元組的基本操作

lis 步長 地址 第一個 元素 blog .so 理解 list 一、列表 定義列表 >>> names = [‘a‘,‘b‘,‘c‘,‘d‘] >>> names [‘a‘, ‘b‘, ‘c‘, ‘d‘] 通過下標獲取列表的各個值

個人筆記---->mysql數據庫基本操作

stop root 表結構 nbsp my.cnf 個人筆記 設置 eat 使用 mysql數據庫服務操作 # systemctl start mysqld //啟動 # systemctl stop mysqld //停止 # systemctl res

alias,data,系統定時開關機的基本操作

技術 分鐘 -s ima 顏色 24小時 ctrl nali 寫法 1.修改命令提示符的格式,及每個字母所代表的功能,顯示提示符格式輸入echo $PS1PS1="[\u@\h \W]\$"\e 或\033啟用顏色 \u當前用戶 \h主機名簡稱 \H主機

C++ map的PC蛋蛋平臺搭建基本操作用法

out 一個 c++ 快速查找 clear 完成後 擁有 size_type del PC蛋蛋平臺搭建Q1446595067 1、map簡介 map是一類關聯式容器。它的特點是增加和刪除節點對叠代器的影響很小,除了那個操作節點,對其他的節點都沒有什麽影響。對於叠代器來說,可

Python3 Selenium WebDriver網頁的前進後退重新整理最大化獲取視窗位置設定視窗大小獲取頁面title獲取網頁原始碼獲取Url等基本操作

Python3 Selenium WebDriver網頁的前進、後退、重新整理、最大化、獲取視窗位置、設定視窗大小、獲取頁面title、獲取網頁原始碼、獲取Url等基本操作 通過selenium webdriver操作網頁前進、後退、重新整理、最大化、獲取視窗位置、設定視窗大小、獲取頁面title、獲取網頁

28示例1--完成登入操作條件查詢

學習目標: 1、再通過示例鞏固前面學習的知識 2、熟練使用MVC思想指導實際專案的開發 學習過程: 我們先完成登入吧這裡我們把業務邏輯分為使用者管理和登入兩個,所以我們建立兩個Servlet:LoginServlet和UserServlet,我們先完成登入功能。 一、登入功能

MySQL安裝及小問題mysql的一些基本操作

官網下載地址:https://dev.mysql.com/downloads/mysql/ 有安裝版和解壓版,本文內容僅僅是介紹解壓版相關內容。 現在開始: 1.將下載的壓縮包解壓到純英文目錄下; 2.win+R開啟“Windows執行”,輸入cmd開啟命令提示符視窗 這裡注意一

3mysql資料庫的基本操作

操作環境:cmd命令視窗 1、建立資料庫 create database super; (推薦用英文命名) 2、資料庫儲存路徑檢視 show variables like '%datadir%'; 3、檢視現有的資料庫 show databases 4、使用資料庫 u

linux系統終端檔案的部分常見操作

#day01 ##檔案及資料夾操作快捷鍵 案例: 在桌面建立一個資料夾A和資料夾B,在資料夾中建立一個檔案a.txt 注意:所有命令輸入後回車即可執行 ###補全 tab 按上下鍵可以檢視之前的命令 ###檢視當前資料夾內的檔案 ls ls -a '顯示當

【C++】如何進行簡單的檔案輸入輸出?(基本操作及程式碼示例)(程式設計習慣)

使用cin進行輸入時,程式將輸入 視為一系列的位元組,每個位元組都被解釋為字元編碼,輸入一開始都是字元資料。 輸出檔案開啟 //第一種 ofstream outFile; outFile.open("my.txt"); //第二種 ofstream fout; char filename[5

鏈佇列迴圈佇列的基本操作

 一.鏈佇列 #include<iostream> #include<cstdlib> #include<stdio.h> #include<iomanip> #define OK 1 #define OVERFLOW 0

SSM框架整合產品訂單的基本操作

1.SSM整合環境準備 1.1建立庫表 (1)建立表空間、使用者、使用者授權 --1.建立表空間 create tablespace sunny01 datafile 'c:/sunny01.dbf' size 10m autoextend on next