「PttWeb」修訂間的差異

出自Gea-Suan Lin's Wiki
跳至導覽 跳至搜尋
 
(未顯示同一使用者於中間所作的 4 次修訂)
第30行: 第30行:
 
{
 
{
 
    "Bind": ["tcp:127.0.0.1:8000"],
 
    "Bind": ["tcp:127.0.0.1:8000"],
    "BoarddAddress": "127.0.0.1",
+
    "BoarddAddress": "127.0.0.1:3000",
    "MemcachedAddress": "127.0.0.1",
+
    "MemcachedAddress": "127.0.0.1:11211",
 
    "TemplateDirectory": "/home/bbs/templates"
 
    "TemplateDirectory": "/home/bbs/templates"
 
}
 
}
第54行: 第54行:
 
 其中<code>layout.html</code>內需要有<code>ROOT</code>:
 
 其中<code>layout.html</code>內需要有<code>ROOT</code>:
  
<syntaxhighlight lang="text">
+
<syntaxhighlight lang="smarty">
{{define "ROOT"}}
+
{{- define "ROOT" -}}
I am ROOT
+
{{- end -}}
{{end}}
+
</syntaxhighlight>
 +
 
 +
而<code>bbsarticle.html</code>內:
 +
 
 +
<syntaxhighlight lang="smarty">
 +
{{- define "ROOT" -}}
 +
<!DOCTYPE html>
 +
<html>
 +
<head>
 +
<meta charset="utf-8"/>
 +
</head>
 +
<body>
 +
<pre>
 +
{{ .Content }}
 +
</pre>
 +
</body>
 +
</html>
 +
{{- end -}}
 
</syntaxhighlight>
 
</syntaxhighlight>
  

於 2020年12月28日 (一) 07:57 的最新修訂

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

相關連結

參考資料

外部連結