PttWeb

出自Gea-Suan Lin's Wiki
跳至導覽 跳至搜尋
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

PttWebPttBBS的網頁界面。

概要

PttWeb是一個Golang寫的界面,透過gRPCPttBBS的伺服器溝通。

相依性套件

先安裝需要的套件:

sudo apt install -y build-essential golang golang-goprotobuf-dev; sudo apt clean

編譯

這邊是參考.travis-ci.yml的方式編譯[1]

export GOPATH="$HOME/go"; go get -u github.com/ptt/pttweb; go get google.golang.org/grpc; go get -u github.com/golang/protobuf/{proto,protoc-gen-go}; make -C $GOPATH/src/github.com/ptt/pttweb/proto; go get -u -t -f github.com/ptt/pttweb/...

編譯完成後會在~/go/bin裏面看到執行檔。

設定

PttWeb需要一個config.json,設定可以參考config.go,最少需要指定這四個參數:

{
    "Bind": ["tcp:127.0.0.1:8000"],
    "BoarddAddress": "127.0.0.1:3000",
    "MemcachedAddress": "127.0.0.1:11211",
    "TemplateDirectory": "/home/bbs/templates"
}

其中/home/bbs/templates/內需要有這些檔案:

askover18.html
bbsarticle.html
bbsindex.html
captcha.html
classlist.html
common.html
error.html
layout.html
manarticle.html
manindex.html
notfound.html

其中layout.html內需要有ROOT

{{- define "ROOT" -}}
{{- end -}}

bbsarticle.html內:

{{- define "ROOT" -}}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<pre>
{{ .Content }}
</pre>
</body>
</html>
{{- end -}}

執行

用以下指令執行:

~/go/bin/pttweb -conf ~/pttweb/config.json

相關連結

參考資料

外部連結