1. 程式人生 > >[wiki--gitit]在Linux系統搭建gitit wiki

[wiki--gitit]在Linux系統搭建gitit wiki

簡述

對於喜歡用markdown寫部落格或做一些筆記,或者做學習知識庫整理……等等之類的,gitit wiki是不錯的wiki系統選擇。因為一般的markdown語法是很簡單的,以至於太簡單而許多需要使用稍微複雜些的圖表之類的,就不能太好的支援,因此是比較影響書寫的。因此對於markdown就出現了許多的Extended的版本,這其中有個Pandoc的,使用支援pandoc擴充套件語法的markdown寫wiki,那麼wiki原始.md檔案,可以通過強大的Pandoc工具,可以在書籍格式、PDF格式、word格式、epub格式、html格式……等等之間進行自動的生成,甚至可以生成PPT slide。
而gitit wiki系統,就可以顯示這些支援pandoc extension的markdown語法的.md檔案進行顯示,有各種連結、圖表展示等功能,很適合打造自己的私人wiki系統。
接下來介紹如何在Linux系統(可以是自己的Linux Server)上部署gitit wiki,之後自己可以使用自己的PC電腦進行登陸和wiki的維護與更新,只要聯網,隨時隨地訪問和更新。

Haskell開發工具安裝

Why Haskell? 因為gitit是使用Haskell開發的,gitit的原始碼在github,因此Linux的方式是,將source code clone過來,然後安裝Haskell開發工具,然後對gitit的原始碼進行編譯和安裝,這樣就達到了安裝gitit的目的。

stack(首選,最可靠)

stack就是Haskell的開發工具,“Stack is a cross-platform program for developing Haskell projects.”跨平臺。關於stack的說明以及安裝,可參考The Haskell Tool Stack


我在自己的64 bit的Debian系統,使用如下命令安裝stack:

curl -sSL https://get.haskellstack.org/ | sh
# 或如下命令(Debian使用curl可以成功,Ubuntu下使用wget才成功,所以這兩個可以根據情況試一試)
wget -qO- https://get.haskellstack.org/ | sh

不過一開始並不能成功安裝,shell給出瞭如下的log:

Detected Linux distribution: debian

Installing dependencies...

sudo: unable to resolve host my_host_name
Reading package lists...
Done Building dependency tree Reading state information... Done E: Unable to locate package libffi-dev E: Unable to locate package libgmp-dev E: Unable to locate package zlib1g-dev Installing apt packages failed. Please run 'apt-get update' and try again.

於是按照提示輸入:

apt-get update
[email protected]_host_name:~# curl -sSL https://get.haskellstack.org/ | sh
Detected Linux distribution: debian

Installing dependencies...

sudo: unable to resolve host my_host_name
Reading package lists... Done
Building dependency tree
Reading state information... Done
g++ is already the newest version.
g++ set to manually installed.
gcc is already the newest version.
libc6-dev is already the newest version.
libc6-dev set to manually installed.
make is already the newest version.
make set to manually installed.
xz-utils is already the newest version.
The following extra packages will be installed:
  libgmpxx4ldbl
Suggested packages:
  libgmp10-doc libmpfr-dev
The following NEW packages will be installed:
  libffi-dev libgmp-dev libgmpxx4ldbl zlib1g-dev
0 upgraded, 4 newly installed, 0 to remove and 5 not upgraded.
Need to get 1,006 kB of archives.
After this operation, 2,778 kB of additional disk space will be used.
Get:1 http://mirrors.cloud.aliyuncs.com/debian/ jessie/main libgmpxx4ldbl amd64 2:6.0.0+dfsg-6 [22.1 kB]
Get:2 http://mirrors.cloud.aliyuncs.com/debian/ jessie/main libffi-dev amd64 3.1-2+deb8u1 [157 kB]
Get:3 http://mirrors.cloud.aliyuncs.com/debian/ jessie/main libgmp-dev amd64 2:6.0.0+dfsg-6 [621 kB]
Get:4 http://mirrors.cloud.aliyuncs.com/debian/ jessie/main zlib1g-dev amd64 1:1.2.8.dfsg-2+b1 [206 kB]
Fetched 1,006 kB in 0s (2,417 kB/s)
Selecting previously unselected package libgmpxx4ldbl:amd64.
(Reading database ... 39920 files and directories currently installed.)
Preparing to unpack .../libgmpxx4ldbl_2%3a6.0.0+dfsg-6_amd64.deb ...
Unpacking libgmpxx4ldbl:amd64 (2:6.0.0+dfsg-6) ...
Selecting previously unselected package libffi-dev:amd64.
Preparing to unpack .../libffi-dev_3.1-2+deb8u1_amd64.deb ...
Unpacking libffi-dev:amd64 (3.1-2+deb8u1) ...
Selecting previously unselected package libgmp-dev:amd64.
Preparing to unpack .../libgmp-dev_2%3a6.0.0+dfsg-6_amd64.deb ...
Unpacking libgmp-dev:amd64 (2:6.0.0+dfsg-6) ...
Selecting previously unselected package zlib1g-dev:amd64.
Preparing to unpack .../zlib1g-dev_1%3a1.2.8.dfsg-2+b1_amd64.deb ...
Unpacking zlib1g-dev:amd64 (1:1.2.8.dfsg-2+b1) ...
Processing triggers for man-db (2.7.0.2-5) ...
Processing triggers for install-info (5.2.0.dfsg.1-6) ...
Setting up libgmpxx4ldbl:amd64 (2:6.0.0+dfsg-6) ...
Setting up libffi-dev:amd64 (3.1-2+deb8u1) ...
Setting up libgmp-dev:amd64 (2:6.0.0+dfsg-6) ...
Setting up zlib1g-dev:amd64 (1:1.2.8.dfsg-2+b1) ...
Processing triggers for libc-bin (2.19-18+deb8u10) ...

Using generic bindist...

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:02 --:--:--     0
100   628    0   628    0     0    180      0 --:--:--  0:00:03 --:--:--  1956
100 11.4M  100 11.4M    0     0   984k      0  0:00:11  0:00:11 --:--:-- 2397k
Installing Stack to: /usr/local/bin/stack...

-------------------------------------------------------------------------------

Stack has been installed to: /usr/local/bin/stack

WARNING: '/root/.local/bin' is not on your PATH.
    For best results, please add it to the beginning of PATH in your profile.

這裡看到了上面的WARNING提示,於是使用下面的命令將’/root/.local/bin’加入到環境變數PATH中:

PATH=$PATH:/root/.local/bin
#通過“echo $PATH”可以檢視是否已經加入PATH中

在上面步驟完成後,最好還使用下面的命令更新下stack,以便避免系統更新帶來的問題:

stack upgrade

Haskell Platform(僅作備選介紹,Debian下實測未成功)

如果不想使用stack,Debian中可以安裝Haskell Platform,不過試了下,後續安裝等待了很久都沒有動靜:

sudo apt-get install haskell-platform

gitit編譯與安裝

如果使用stack工具

首先安裝git工具–“apt-get install git”,然後執行如下命令,分別是clone gitit原始碼,在stack中編譯與安裝gitit:

git clone https://github.com/jgm/gitit
cd gitit
stack install

不過在Debian上使用stack install時,從log看貌似有些東西要從亞馬孫awx映象中去下載,好幾次出現了connection timeout,不過嘗試了多次,並中途用了stack setup後,stack install終於可以開始運作了,不過整個編譯過程相對是比較緩慢的。
在該過程結束後,貌似gitit沒有成功安裝,因為gitit命令提示找不到……
沒辦法,後面換用Ubuntu系統再嘗試,在使用stack install命令後,等了一個下午,之後發現仍然卡在:

Updating package index Hackage (mirrored at https://s3.amazonaws.com/hackage.fpcomplete.com/) ...

這裡沒動,沒辦法,停止後再次使用stack install嘗試,然後終於開始看到mirror連線到了,開始Progress中了。

如果使用Haskell Platform(備用,Debian下用了下未能成功)

使用如下的命令:

cabal update
cabal install gitit

使用cabal update命令後,會看到先找/root/.cabal/config,沒有找到就會建立預設的,然後再去hackage.haskell.org下載最新的package。
不過使用haskell platform, 使用cabal install安裝clone下來的本地的gitit時一直出現問題:

Resolving dependencies...
cabal: Could not resolve dependencies:
trying: gitit-0.12.2.1 (user goal)
next goal: base (dependency of gitit-0.12.2.1)
rejecting: base-4.6.0.1/installed-96b... (conflict: gitit => base>=4.9 && <5)
rejecting: base-4.10.0.0, 4.9.1.0, 4.9.0.0, 4.8.2.0, 4.8.1.0, 4.8.0.0,
4.7.0.2, 4.7.0.1, 4.7.0.0, 4.6.0.1, 4.6.0.0, 4.5.1.0, 4.5.0.0, 4.4.1.0,
4.4.0.0, 4.3.1.0, 4.3.0.0, 4.2.0.2, 4.2.0.1, 4.2.0.0, 4.1.0.0, 4.0.0.0,
3.0.3.2, 3.0.3.1 (global constraint requires installed instance)
Dependency tree exhaustively searched.

而使用“cabal install gitit”安裝時,也是類似的提示base不符合。
這裡不清楚什麼原因,可能是gitit版本更新到了0.12.2造成了系統中dependencies的相容問題了。

相關推薦

[wiki--gitit]在Linux系統搭建gitit wiki

簡述 對於喜歡用markdown寫部落格或做一些筆記,或者做學習知識庫整理……等等之類的,gitit wiki是不錯的wiki系統選擇。因為一般的markdown語法是很簡單的,以至於太簡單而許多需要使用稍微複雜些的圖表之類的,就不能太好的支援,因此是比較影響

linux系統搭建本地yum源以及搭建第3方軟件倉庫

linux 基礎 學習篇 搭建yum源與軟件倉庫一、搭建本地yum源 yum是上層軟件管理工具,可以解決軟件的依賴關系,但是yum能使用的前提是必須要有yum源,以及配置源的指向文件。1.配置鏡像安裝源一般情況,我會把重要的文件保存在根目錄下,這裏將鏡像導入根下的1.配置鏡

Linux系統搭建NFS並共享給AIX

linux系統搭建nfs並共享給aix一、 NFS介紹NFS 是Network FileSystem的縮寫,即網絡文件系統。一種使用於分散式文件系統的協定,由Sun公司開發,於1984年向外公布。功能是通過網絡讓不同的機器、不同的操作系統能夠彼此分享個別的數據,讓應用程序在客戶端通過網絡訪問位於服

Linux系統搭建 django框架實現web訪問

其中 python3 sta min python bsp 業務邏輯 配置 函數 打開終端 輸入命令 django-admin startproject demo   #其中demo是項目名稱可以自定義 在manage.py同級目錄下打開終端輸入命令啟動項目 python3

Linux系統搭建jdk

mat html inux nta data- follow 怎麽 tar -o 首先我們需要一個客戶端去鏈接Linux系統,Secure CRT命令模式;Secure FX 視圖模式;首先去Oracle官網下載一個1.7jdk的解壓包: jdk-7u80-linux-x6

linux系統搭建郵件服務,實現收發郵件功能。

hat6 傳輸代理 windows vol 解決 tex proc 域名空間 named 搭建postfix郵件系統服務互聯網中的電子郵件系統並不是一個孤立的體系,需要DNS服務器提供郵件域的解析,郵件收取,傳遞等功能也是由不同的組件來提供的。郵件系統的角色MTA(郵件傳輸

Linux系統搭建zabbix監控系統實例講解

term -o service rep 網站服務 -a .com 本機 isa 第一步,配置本地yum倉庫,如下 1,掛載,掛載光驅到/mnt mount /dev/cdrom /mnt2,創建目錄 mkdir -p /repo/cos7dvd3,然後使用命令創建

Linux系統搭建Redis叢集(redis-cluster)

工具準備 Linux圖形化工具為Xftp,shell工具為Xshell #Redis叢集相關概念 redis-cluster架構圖 redis-cluster把所有的物理節點對映到[0-16383]slot上,cluster 負責維護 redi

Linux系統搭建GitLab

一、簡介 GitLab,是一個利用 Ruby on Rails 開發的開源應用程式,實現一個自託管的Git專案倉庫,可通過Web介面進行訪問公開的或者私人專案安裝。 它擁有與GitHub類似的功能,能夠瀏覽原始碼,管理缺陷和註釋。可以管理團隊對倉庫的訪問,它非常易於瀏覽提交過的版本並提供一個檔案歷史庫。

CMAQ搭建教程之Linux系統搭建——Ubuntu和win7雙系統

   最近一直在做霧霾方面的學習,需要搭建個CMAQ,學習學習數值模型。之前從來沒有接觸過,上網查到的教程簡直少得可憐,身為小白我的悲慘自我摸索從此開始。   首先我們需要一個能跑CMAQ的系統,我

ITOP4412 最小Linux系統搭建

         最近一直學習ITOP4412開發板的相關資料,主要是驅動部分的視訊學習、開發,現在返回來記錄一些開發過程,方便日後檢視。如有錯誤,歡迎大家指出。 ITOP4412開發板,可以支援An

linux系統搭建圖片伺服器

第一步:把fastDFS都上傳到linux系統。 第二步:安裝FastDFS之前,先安裝libevent工具包。 yum -y install libevent 第三步:安裝libfastcommonV1.0.7工具包。 1、解壓縮 2、./make.

linux系統搭建svn伺服器、git伺服器

以下做下備忘 1、svn安裝 1.1檢查是否已安裝 #rpm -qa subversion 1.2 yum安裝 #yum -y install subversion 1.3檢查是否安裝成功 #svnserve --version 1.4建立版本庫 #mkdir /var/

Linux系統搭建Git伺服器,新增使用者名稱密碼實現多使用者管理

昨天老大分配工作,要在Linux系統上搭建Git伺服器。知識不夠,百度、部落格來湊,折騰了一天,終於搞定了。寫篇部落格,記錄下來,炫耀一下也給日後工作留點方便。安裝git,使用yum源線上安裝yum install -y git初始化git倉庫,在/home/data/git

Linux系統搭建簡單 D H C P服務

導致 dhcp服務器 mac ipc cto https 最大 vpd 設置 首先要給本機配置靜態ip,以下為修改網卡信息的配置文件路徑: 配置好靜態ip後,我們就可以安裝DHCP服務了,DHCP服務的包文件在系統盤,接下來掛載系統盤: 以上作用域的各個選項

Linux系統搭建私有CA證書伺服器

一、CA簡介   CA是什麼?CA是Certificate Authority的簡寫,從字面意思翻譯過來是憑證管理中心,認證授權。它有點類似我們生活中的身份證頒發機構,這裡的CA就相當於生活中頒發身份證的機構。不同於生活中的頒發機構,這裡的CA是給伺服器頒發證書。頒發證書的目的同生活中的辦理身份證的目的類似,

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

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

Wiki系統搭建 JspWiki

1、準備工作 a)準備JDK和Tomcat 下載JDK和Tomcat並安裝,我安裝的版本為:j2sdk1.4.2和jakarta-tomcat-5.0.28,tomcat最好安裝在根目錄下,路經不要有

Wiki系統搭建(三)——MYSQL

三、mysql的安裝,與php、Apache相結合 打開下載的mysql安裝檔案,雙擊解壓縮,執行“setup.exe”,出現如下介面 mysql安裝向導啟動,按“Next”繼續 選擇安裝類型,有“Typical(默認)”、“Complete(完全)”、“Custom(用

Linux系統服務搭建之vsftp

linux、vsftp、實例、實驗、學習筆記、服務器搭建一、samba 局域網傳輸共享優點:實時修改服務器上的內容二、Vsftp :very securet file transferprotocol 2.1、網絡文本協議 特點: A、默認只有普通用戶權限,可下載不可上傳B、任何文件的修改需要上