Skip to content

Commit 2bbd66f

Browse files
committed
README
1 parent 99445cb commit 2bbd66f

File tree

2 files changed

+87
-98
lines changed

2 files changed

+87
-98
lines changed

README.md

Lines changed: 82 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
# book-web
22

3+
* [gitlab](https://gitlab.com/king011/book-web)
4+
* [github](https://github.com/zuiwuchang/book-web)
5+
36
book-web 是一個在線的 個人資料整理 web 以書爲單位 每種類型的 資料 作爲一本書 使用 markdown 進行編寫 以html 呈現內容
47

58
[book.king011.com](https://book.king011.com) 是我使用此項目 部署的一個 在線web 你可以在此查看 book-web 的 一些效果
69
[https://gitlab.com/king011/book](https://gitlab.com/king011/book) 是book.king011.com上數據 的開源 git項目地址
710

811
# v1
912

10-
v1 是完全重構的一個版本 其後端和前端都將被完成重寫 但會保持數據和配置的兼容 離線情況下 你只需要更新 可執行的 和 前端view即可完成升級 不會破壞任何 已有數據和配置檔案
11-
12-
v1 目前處理開發的 不穩定狀態 請不要使用
13+
v1 是完全重構的一個版本 其後端和前端都將被完成重寫 但會保持數據和配置的兼容 離線情況下 你只需要更新 可執行的 和 前端view即可完成升級 不會破壞任何 已有數據
1314

1415
# Why
1516

@@ -23,93 +24,111 @@ v1 目前處理開發的 不穩定狀態 請不要使用
2324
* 以 markdown 編寫 文檔 支持 上傳圖片和附件
2425
* 所有數據都以 文檔 保存到根目錄下 方便使用git
2526
* 支持在網頁操作 簡單的 git 指令 commit push ...
26-
* 對於支持 IndexedDB 的瀏覽器 所有 文檔數據都建立了lru 緩存(可在頁面關閉) 向服務器請求數據時傳入 緩存md5 如果服務器數據未變化則 返回緩存命中 瀏覽器直接以緩存顯示 從而減少數據流量
27+
* 支持 http http2 協議
2728

2829
# Install
2930

3031
對於 linux-amd64 和 windows-amd64 的用戶 你可以直接下載 編譯好的項目 或者參照Build的說明自行編譯 對於 其它平臺 只能參照 Build 自行編譯
3132

3233
下文以 linux-amd64 進行說明
33-
1. 下載 最新的 Releases 版本 得到 book-web.tar.gz
34-
2. 解壓 mkdir book-web && tar -zxvf book-web.tar.gz -C book-web
35-
4. 執行 book-web/run.sh 運行項目 *(windows 需要運行 book-web/run.sh)*
34+
1. 下載 最新的 Releases 版本 得到 linux.windows.7z
35+
2. 解壓 linux.windows.7z
36+
4. 執行 book-web daemon 運行項目
3637

3738
# Build
3839

39-
此項目 網頁 由 angular2 編寫 後端服務 用 golang revel 編寫 故需要分別 編譯
40+
此項目 網頁 由 angular2 編寫 後端服務 用 golang gin 編寫 需要先編譯前端 再編譯後端
4041

4142
## 編譯 前端網頁
4243
1. 自行安裝好 node 環境 和 angular2 框架
4344
2. 下載 源碼 git clone git@gitlab.com:king011/book-web.git && cd book-web/src/view && npm install
44-
3. 運行 編譯 腳本 ./build-zh-Hant.sh
45+
3. 運行 編譯 腳本 ./build.sh
4546

4647
## 編譯 後端服務器
47-
1. 自行配置好 golang環境 和 revel 框架
48+
1. 自行配置好 golang環境
4849
2. 下載 源碼 git clone git@gitlab.com:king011/book-web.git
49-
3. 配置 環境 變量 export GOPATH=$GOPATH:\`pwd\`/book-web
50-
4. 編譯 revel package book-web prod 得到 book-web.tar.gz
50+
3. 編譯資源 ./build.sh s
51+
4. 編譯可執行程序 ./build.sh l
52+
53+
> 若要編譯 windows 程式 執行 ./build.sh w
54+
>
55+
> 若要編譯 mac 程式 執行 ./build.sh m
5156
5257

5358
# Configure
54-
## app.conf
55-
book-web/src/book-web/conf/app.conf 是revel 的框架 配置 檔案 用來指定 http 如何工作 請自行參考 [revel 官網說明](https://revel.github.io/manual/appconf.html)
5659

57-
## app.jsonnet
58-
book-web/src/book-web/conf/app.jsonnet 是 book-web 項目一些定義 如下
60+
book-web.jsonnet 是 book-web 項目的配置檔案
5961
```jsonnet
62+
local Millisecond = 1;
63+
local Second = 1000 * Millisecond;
64+
local Minute = 60 * Second;
65+
local Hour = 60 * Minute;
66+
local Day = 24 * Hour;
67+
local KB=1024;
68+
local MB=KB * 1024;
69+
local GB=MB * 1024;
6070
{
61-
// 檔案夾定義
62-
FileRoot:"fileroot",
63-
// 管理員定義
64-
Root:{
65-
// 登入 用戶名
66-
Name:"king",
67-
// 顯示昵稱
68-
Nickname:"king",
69-
// 密碼
70-
//Password:"cerberus is an idea",
71-
// 密碼是否爲hash值
72-
//PasswordSha512:false,
73-
// 密碼
74-
Password:"6ef9fa16dc05ed44ca6f2890c61b9caacbb97f48ee7006d10d5151a5183bf54c08b1c4fe227e36f3cd01512643953d16753f63e92fd5698ef4af51a1651c70cb",
75-
// 密碼是否爲hash值
76-
PasswordSha512:true,
77-
},
78-
// 默認語言
79-
DefaultLocale:"zh-Hant",
80-
// 定義支持的語言
81-
Locale:[
82-
{
83-
// 語言 id 和 angular 檔案夾名 對應
84-
ID:"zh-Hant",
85-
// 正則規則 匹配成功的 全部作爲 此語言顯示
86-
Rules:[
87-
".*"
88-
],
89-
},
90-
],
91-
// 日誌 配置
92-
Logger:{
93-
// 日誌 http 如果爲空 則不啓動 http
94-
//HTTP:"localhost:20800",
95-
// 日誌 檔案名 如果爲空 則輸出到控制檯
96-
//Filename:"logs/kc-cims.log",
97-
// 單個日誌檔案 大小上限 MB
98-
//MaxSize: 100,
99-
// 保存 多少個 日誌 檔案
100-
//MaxBackups: 3,
101-
// 保存 多少天內的 日誌
102-
//MaxAge: 28,
103-
// 要 保存的 日誌 等級 debug info warn error dpanic panic fatal
104-
Level :"debug",
105-
// 是否要 輸出 代碼位置
106-
//Caller:true,
71+
// 檔案夾定義
72+
FileRoot: "fileroot",
73+
// HTTP 服務器訂閱
74+
HTTP: {
75+
// 服務器監聽地址
76+
Addr: ":9000",
77+
// 是否使用 http2 協議
78+
// H2: true,
79+
// // http 證書 如果配置了證書 將使用 https協議
80+
// CertFile: "test.pem",
81+
// KeyFile: "test.key",
82+
// 設定 http 請求 body 最大尺寸
83+
// 如果 == 0 使用默認值 32 KB
84+
// 如果 < 0 不限制
85+
MaxBytesReader: 5 * MB,
86+
},
87+
// 管理員定義
88+
Root: {
89+
// 登入 用戶名
90+
Name: "king",
91+
// 顯示昵稱
92+
Nickname: "皇帝",
93+
// 密碼
94+
//Password: "cerberus is an idea",
95+
// 密碼
96+
Password: "6ef9fa16dc05ed44ca6f2890c61b9caacbb97f48ee7006d10d5151a5183bf54c08b1c4fe227e36f3cd01512643953d16753f63e92fd5698ef4af51a1651c70cb",
97+
// 密碼是否爲hash值
98+
PasswordSha512: true,
99+
},
100+
Cookie: {
101+
// Filename:"securecookie.json"
102+
MaxAge:Day*14,
103+
},
104+
// google服務 配置
105+
Google: {
106+
// analytics id 如果爲空則不啓用
107+
Analytics:"",
108+
// AdSense data-ad-client 如果爲空則不啓用
109+
AdSense:"",
110+
},
111+
Logger: {
112+
// zap http
113+
//HTTP: "localhost:20000",
114+
// log name
115+
//Filename: "logs/book-web.log",
116+
// MB
117+
MaxSize: 100,
118+
// number of files
119+
MaxBackups: 3,
120+
// day
121+
MaxAge: 28,
122+
// level : debug info warn error dpanic panic fatal
123+
Level: "debug",
124+
// 是否要 輸出 代碼位置
125+
Caller: true,
107126
},
108127
}
109128
```
110129

111130
通常你 只需要 設置 FileRoot 指定 編輯文檔的 儲存位置 以及 Root.Name Root.Password 指定 管理員 用戶名 密碼 即可正常工作
112-
FileRoot 如果不是全路徑 則 檔案會被 保存到 book-web/src/book-web/ + FileRoot
131+
FileRoot 如果不是全路徑 則 檔案會被 保存到 可執行程序路徑 + FileRoot
113132

114133
# 檔案儲存
115134
所有的數據 都以 markdown 形式儲存爲檔案
@@ -129,33 +148,3 @@ FileRoot 如果不是全路徑 則 檔案會被 保存到 book-web/src/book-web/
129148
章節檔案夾下會有
130149
* README.md 檔案 儲存了 章節正文
131150
* assets 檔案夾 裏面儲存了 上傳到此章節的 附件 和圖片等資源
132-
133-
# 啓用 google analytics
134-
135-
要啓用 google analytics 需要 自行編譯 view 項目 並在其中填入 你自己的 analytics id
136-
137-
1. 編輯 **src/view/src/index.html** 加入 gtag.js
138-
139-
```html
140-
<!-- Global site tag (gtag.js) - Google Analytics -->
141-
<script async src="https://www.googletagmanager.com/gtag/js?id=XXX"></script>
142-
<script>
143-
window.dataLayer = window.dataLayer || [];
144-
function gtag() { dataLayer.push(arguments); }
145-
gtag('js', new Date());
146-
</script>
147-
```
148-
149-
> XXX 改成你的 analytics id
150-
151-
1. 編輯 **src/view/src/environments/environment.prod.ts**
152-
153-
```typescript
154-
export const environment = {
155-
production: true,
156-
gtag: "XXX"
157-
};
158-
```
159-
160-
> XXX 改成你的 analytics id
161-

build.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,11 @@ case $1 in
9292
check $?
9393

9494
if [[ $3 == tar || $3 == t ]]; then
95-
dst=linux.amd64.tar.gz
95+
dst=linux.amd64.7z
9696
if [[ $GOARCH == 386 ]];then
97-
dst=linux.386.tar.gz
97+
dst=linux.386.7z
9898
fi
99-
cd "$DirRoot/bin" && tar -zcvf $dst "$Target"
99+
cd "$DirRoot/bin" && 7z a $dst "$Target" "$Target.jsonnet"
100100
fi
101101
;;
102102

@@ -119,7 +119,7 @@ case $1 in
119119
if [[ $GOARCH == 386 ]];then
120120
dst=darwin.386.tar.gz
121121
fi
122-
cd "$DirRoot/bin" && tar -zcvf $dst "$Target"
122+
cd "$DirRoot/bin" && 7z a $dst "$Target" "$Target.jsonnet"
123123
fi
124124
;;
125125

@@ -142,7 +142,7 @@ case $1 in
142142
if [[ $GOARCH == 386 ]];then
143143
dst=windows.386.tar.gz
144144
fi
145-
cd "$DirRoot/bin" && tar -zcvf $dst "$Target.exe"
145+
cd "$DirRoot/bin" && 7z a $dst "$Target.exe" "$Target.jsonnet"
146146
fi
147147
;;
148148

0 commit comments

Comments
 (0)