From dbfea9a00bae57c63f55ed52a970e466a3e16b8e Mon Sep 17 00:00:00 2001 From: xykt <152045469+xykt@users.noreply.github.com> Date: Mon, 19 Feb 2024 13:52:43 +0800 Subject: [PATCH 01/28] =?UTF-8?q?=E5=AF=B9=E5=8E=86=E5=8F=B2=E5=BB=B6?= =?UTF-8?q?=E8=BF=9F=E5=9B=BE=E8=A1=A8=E8=BF=9B=E8=A1=8C=E4=BA=86=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E4=BF=AE=E5=A4=8D/=E7=BE=8E=E5=8C=96=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=20(#321)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update network.html 修复以下问题: - 延迟默认最高300ms,超过后默认抹平 - 曲线上有很多ping值为0的无效散点,导致毛刺很多,干扰效果 - 图标的y轴比例失调,上方大片留白,大大降低了有效显示区域 - 默认只显示最近不到半小时左右的延迟表现,想看全天需要拖动,影响效果 - 曲线不显示极大极小值,不够直观 * Update config.go 修复了以下问题: - 延迟默认最高300ms,超过后默认抹平 - 曲线上有很多ping值为0的无效散点,导致毛刺很多,干扰效果 - 图标的y轴比例失调,上方大片留白,大大降低了有效显示区域 - 默认只显示最近不到半小时左右的延迟表现,想看全天需要拖动,影响效果 - 曲线不显示极大极小值,不够直观 --- model/config.go | 2 +- resource/template/theme-default/network.html | 20 ++++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/model/config.go b/model/config.go index fb4ad91..c18bb3f 100644 --- a/model/config.go +++ b/model/config.go @@ -147,7 +147,7 @@ func (c *Config) Read(path string) error { c.Location = "Asia/Shanghai" } if c.MaxTCPPingValue == 0 { - c.MaxTCPPingValue = 300 + c.MaxTCPPingValue = 1000 } if c.AvgPingCount == 0 { c.AvgPingCount = 2 diff --git a/resource/template/theme-default/network.html b/resource/template/theme-default/network.html index b321eee..77d4f4f 100644 --- a/resource/template/theme-default/network.html +++ b/resource/template/theme-default/network.html @@ -30,7 +30,7 @@ const initData = JSON.parse('{{.Servers}}').servers; let MaxTCPPingValue = {{.MaxTCPPingValue}}; if (MaxTCPPingValue == null) { - MaxTCPPingValue = 300; + MaxTCPPingValue = 1000; } new Vue({ el: '#app', @@ -77,7 +77,7 @@ }, dataZoom: [ { - start: 94, + start: 0, end: 100 } ], @@ -87,7 +87,7 @@ }, yAxis: { type: 'value', - boundaryGap: [0, '100%'] + boundaryGap: false }, series: [], }, @@ -178,11 +178,13 @@ let loss = 0; let data = []; for (let j = 0; j < monitorInfo.result[i].created_at.length; j++) { - avgDelay = monitorInfo.result[i].avg_delay[j]; + avgDelay = Math.round(monitorInfo.result[i].avg_delay[j]); if (avgDelay > 0.9 * MaxTCPPingValue) { loss += 1 } - data.push([monitorInfo.result[i].created_at[j], avgDelay]); + if (avgDelay > 0) { + data.push([monitorInfo.result[i].created_at[j], avgDelay]); + } } lossRate = ((loss / monitorInfo.result[i].created_at.length) * 100).toFixed(1); legendName = monitorInfo.result[i].monitor_name +" "+ lossRate + "%"; @@ -192,7 +194,13 @@ type: 'line', smooth: true, symbol: 'none', - data: data + data: data, + markPoint: { + data: [ + { type: 'max', symbol: 'pin', name: 'Max', itemStyle: { color: '#f00' } }, + { type: 'min', symbol: 'pin', name: 'Min', itemStyle: { color: '#0f0' } } + ] + } }); } this.option.title.text = monitorInfo.result[0].server_name; From 00041c0ebdaed2e1911ac1be69d30b82a0c62f67 Mon Sep 17 00:00:00 2001 From: HsukqiLee Date: Mon, 19 Feb 2024 20:59:49 +0800 Subject: [PATCH 02/28] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E7=BD=91?= =?UTF-8?q?=E7=BB=9C=E9=A1=B5=E9=9D=A2=E5=AF=B9=20Neko=20Meui=20=E4=B8=BB?= =?UTF-8?q?=E9=A2=98=E7=9A=84=E6=94=AF=E6=8C=81=20(#322)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 修改 Neko-mdui 主题的菜单栏 增加了“网络”选项卡 * 增加 Neko-mdui 主题的网络页面 --- resource/template/theme-mdui/menu.html | 1 + resource/template/theme-mdui/network.html | 255 ++++++++++++++++++++++ 2 files changed, 256 insertions(+) create mode 100644 resource/template/theme-mdui/network.html diff --git a/resource/template/theme-mdui/menu.html b/resource/template/theme-mdui/menu.html index ccbc461..80fd34a 100644 --- a/resource/template/theme-mdui/menu.html +++ b/resource/template/theme-mdui/menu.html @@ -12,6 +12,7 @@ {{else}} home{{tr "Home"}} accessibility{{tr "Services"}} + network_check{{tr "NetworkSpiter"}} {{end}}
{{if .Admin}} diff --git a/resource/template/theme-mdui/network.html b/resource/template/theme-mdui/network.html new file mode 100644 index 0000000..5bb08a6 --- /dev/null +++ b/resource/template/theme-mdui/network.html @@ -0,0 +1,255 @@ +{{define "theme-mdui/network"}} + + + + + + + {{.Title}} + + + + + + + {{if ts .CustomCode}} + {{.CustomCode|safe}} + {{end}} + + + +{{template "theme-mdui/menu" .}} +
+
+
+ + +
+
+
+
+
+
+
+ +{{template "theme-mdui/footer" .}} + + + + + + + + + + + +{{end}} From 5c549261ddf1371e2355cf049e1d3215cef66bfd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 19 Feb 2024 13:00:09 +0000 Subject: [PATCH 03/28] update contributors[no ci] --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 47bc496..fea4346 100644 --- a/README.md +++ b/README.md @@ -113,6 +113,9 @@ You can change the dashboard language in the settings page (`/setting`) after th 缘生 + + xykt + unclezs @@ -146,6 +149,9 @@ You can change the dashboard language in the settings page (`/setting`) after th Ian Li + + HsukqiLee + GreenTeodoro839 From 604fc7d4c08dc1418bde55a198185b4b5a8b09c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=87=8C?= Date: Wed, 21 Feb 2024 20:19:34 +0800 Subject: [PATCH 04/28] =?UTF-8?q?Arch=20=E4=BF=AE=E5=A4=8D=20nezha-agent?= =?UTF-8?q?=20=E4=B8=BB=E7=9B=AE=E5=BD=95=E9=81=97=E7=95=99=E9=97=AE?= =?UTF-8?q?=E9=A2=98=20(#323)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Arch 修复 nezha-agent 主目录遗留问题 使用useradd -m创建的用户会产生主目录文件夹,使用userdel需要添加-r参数 * Update install_en.sh * bump installer version --- README.md | 2 +- script/install.sh | 4 ++-- script/install_en.sh | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index fea4346..f8c21df 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@
LOGO designed by 熊大 .

-GitHub release (with filter)    +GitHub release (with filter)   

:trollface: Nezha Monitoring: Self-hostable, lightweight, servers and websites monitoring and O&M tool.

diff --git a/script/install.sh b/script/install.sh index 66e22f8..369686c 100755 --- a/script/install.sh +++ b/script/install.sh @@ -14,7 +14,7 @@ NZ_AGENT_SERVICE="/etc/systemd/system/nezha-agent.service" NZ_AGENT_SERVICERC="/etc/init.d/nezha-agent" NZ_DASHBOARD_SERVICE="/etc/systemd/system/nezha-dashboard.service" NZ_DASHBOARD_SERVICERC="/etc/init.d/nezha-dashboard" -NZ_VERSION="v0.15.6" +NZ_VERSION="v0.15.7" red='\033[0;31m' green='\033[0;32m' @@ -159,7 +159,7 @@ install_arch() { cd /tmp; git clone https://aur.archlinux.org/libsepol.git; cd libsepol; makepkg -si --noconfirm --asdeps; cd ..; git clone https://aur.archlinux.org/libselinux.git; cd libselinux; makepkg -si --noconfirm; cd ..; rm -rf libsepol libselinux' - sed -i '/nezha-agent/d' /etc/sudoers && sleep 30s && killall -u nezha-agent && userdel nezha-agent + sed -i '/nezha-agent/d' /etc/sudoers && sleep 30s && killall -u nezha-agent && userdel -r nezha-agent echo -e "${red}提示: ${plain}已删除用户nezha-agent,请务必手动核查一遍!\n" ;; [nN][oO] | [nN]) diff --git a/script/install_en.sh b/script/install_en.sh index a8f10e4..43da8ad 100755 --- a/script/install_en.sh +++ b/script/install_en.sh @@ -14,7 +14,7 @@ NZ_AGENT_SERVICE="/etc/systemd/system/nezha-agent.service" NZ_AGENT_SERVICERC="/etc/init.d/nezha-agent" NZ_DASHBOARD_SERVICE="/etc/systemd/system/nezha-dashboard.service" NZ_DASHBOARD_SERVICERC="/etc/init.d/nezha-dashboard" -NZ_VERSION="v0.15.6" +NZ_VERSION="v0.15.7" red='\033[0;31m' green='\033[0;32m' @@ -157,7 +157,7 @@ install_arch() { cd /tmp; git clone https://aur.archlinux.org/libsepol.git; cd libsepol; makepkg -si --noconfirm --asdeps; cd ..; git clone https://aur.archlinux.org/libselinux.git; cd libselinux; makepkg -si --noconfirm; cd ..; rm -rf libsepol libselinux' - sed -i '/nezha-agent/d' /etc/sudoers && sleep 30s && killall -u nezha-agent && userdel nezha-agent + sed -i '/nezha-agent/d' /etc/sudoers && sleep 30s && killall -u nezha-agent && userdel -r nezha-agent echo -e "${red}Info: ${plain}user nezha-agent has been deleted, Be sure to check it manually!\n" ;; [nN][oO] | [nN]) From ee3cda8aedf05e06ff82f146bef15d53534227f4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 21 Feb 2024 12:19:50 +0000 Subject: [PATCH 05/28] update contributors[no ci] --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index f8c21df..a5b6bf8 100644 --- a/README.md +++ b/README.md @@ -110,6 +110,9 @@ You can change the dashboard language in the settings page (`/setting`) after th 玖叁 + + 凌 + 缘生 From 0835f13f28b0e7129b51babd68b37cf921198de0 Mon Sep 17 00:00:00 2001 From: 1ridic <88495501+1ridic@users.noreply.github.com> Date: Fri, 23 Feb 2024 22:55:42 +0800 Subject: [PATCH 06/28] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E9=80=BB=E8=BE=91=20(#325)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Optimize install process If `getenforce` is not exist, then do not execute it. This fixes the `command not found` error on Arch Linux systems without SELinux installed. * bump installer version --- README.md | 2 +- script/install.sh | 5 +++-- script/install_en.sh | 5 +++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index a5b6bf8..e4c93e9 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@
LOGO designed by 熊大 .

-GitHub release (with filter)    +GitHub release (with filter)   

:trollface: Nezha Monitoring: Self-hostable, lightweight, servers and websites monitoring and O&M tool.

diff --git a/script/install.sh b/script/install.sh index 369686c..be01e0a 100755 --- a/script/install.sh +++ b/script/install.sh @@ -14,7 +14,7 @@ NZ_AGENT_SERVICE="/etc/systemd/system/nezha-agent.service" NZ_AGENT_SERVICERC="/etc/init.d/nezha-agent" NZ_DASHBOARD_SERVICE="/etc/systemd/system/nezha-dashboard.service" NZ_DASHBOARD_SERVICERC="/etc/init.d/nezha-dashboard" -NZ_VERSION="v0.15.7" +NZ_VERSION="v0.15.8" red='\033[0;31m' green='\033[0;32m' @@ -269,7 +269,8 @@ install_dashboard_standalone() { selinux() { #判断当前的状态 - if [ "$os_alpine" != 1 ]; then + command -v getenforce >/dev/null 2>&1 + if [ $? -eq 0 ]; then getenforce | grep '[Ee]nfor' if [ $? -eq 0 ]; then echo -e "SELinux是开启状态,正在关闭!" diff --git a/script/install_en.sh b/script/install_en.sh index 43da8ad..4badc3a 100755 --- a/script/install_en.sh +++ b/script/install_en.sh @@ -14,7 +14,7 @@ NZ_AGENT_SERVICE="/etc/systemd/system/nezha-agent.service" NZ_AGENT_SERVICERC="/etc/init.d/nezha-agent" NZ_DASHBOARD_SERVICE="/etc/systemd/system/nezha-dashboard.service" NZ_DASHBOARD_SERVICERC="/etc/init.d/nezha-dashboard" -NZ_VERSION="v0.15.7" +NZ_VERSION="v0.15.8" red='\033[0;31m' green='\033[0;32m' @@ -266,7 +266,8 @@ install_dashboard_standalone() { selinux() { #Check SELinux - if [ "$os_alpine" != 1 ]; then + command -v getenforce >/dev/null 2>&1 + if [ $? -eq 0 ]; then getenforce | grep '[Ee]nfor' if [ $? -eq 0 ]; then echo -e "SELinux running,closing now!" From c4b2c47beb3569f047447e97ed64de469a2a96d2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 23 Feb 2024 14:55:59 +0000 Subject: [PATCH 07/28] update contributors[no ci] --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e4c93e9..1ed15b4 100644 --- a/README.md +++ b/README.md @@ -83,15 +83,15 @@ You can change the dashboard language in the settings page (`/setting`) after th Kris + + 1ridic + Mmx rootmelo92118 - - 1ridic - Sean From 3b5ee464a7655d506c5447d65030df22de444c0b Mon Sep 17 00:00:00 2001 From: Darc Z <53445798+DarcJC@users.noreply.github.com> Date: Sat, 24 Feb 2024 21:10:27 +0800 Subject: [PATCH 08/28] Add DDNS support (#324) * feat: add ddns updater framework Note: no functionality implemented yet * feat: add webhook ddns provider * feat: update dashboard template * fix: check nil and cron task string * fix: webhook string formated with unexcepted param * fix: webhook header split error * feat: cloudflare ddns provider * refract: move ddns update trigger into ReportSystemInfo * lang: update other languages text * fix: clear codes and logics * fix: move update ddns to goroutine to avoid blocking * fix: clear unused codes * fix: update timestamp to prevent cache --- cmd/dashboard/controller/member_api.go | 4 + model/config.go | 22 ++ model/server.go | 5 +- resource/l10n/en-US.toml | 8 +- resource/l10n/es-ES.toml | 8 +- resource/l10n/zh-CN.toml | 6 + resource/l10n/zh-TW.toml | 8 +- resource/static/main.js | 6 + resource/template/common/footer.html | 2 +- resource/template/component/server.html | 10 + .../template/dashboard-default/server.html | 4 + .../template/theme-angel-kanade/footer.html | 2 +- script/config.yaml | 10 + service/rpc/nezha.go | 32 ++ service/singleton/ddns.go | 302 ++++++++++++++++++ service/singleton/singleton.go | 16 + 16 files changed, 439 insertions(+), 6 deletions(-) create mode 100644 service/singleton/ddns.go diff --git a/cmd/dashboard/controller/member_api.go b/cmd/dashboard/controller/member_api.go index 4514d84..f1b5969 100644 --- a/cmd/dashboard/controller/member_api.go +++ b/cmd/dashboard/controller/member_api.go @@ -300,6 +300,8 @@ type serverForm struct { Tag string Note string HideForGuest string + EnableDDNS string + DDNSDomain string } func (ma *memberAPI) addOrEditServer(c *gin.Context) { @@ -315,6 +317,8 @@ func (ma *memberAPI) addOrEditServer(c *gin.Context) { s.Tag = sf.Tag s.Note = sf.Note s.HideForGuest = sf.HideForGuest == "on" + s.EnableDDNS = sf.EnableDDNS == "on" + s.DDNSDomain = sf.DDNSDomain if s.ID == 0 { s.Secret, err = utils.GenerateRandomString(18) if err == nil { diff --git a/model/config.go b/model/config.go index c18bb3f..341597b 100644 --- a/model/config.go +++ b/model/config.go @@ -112,6 +112,19 @@ type Config struct { IgnoredIPNotificationServerIDs map[uint64]bool // [ServerID] -> bool(值为true代表当前ServerID在特定服务器列表内) MaxTCPPingValue int32 AvgPingCount int + + // 动态域名解析更新 + DDNS struct { + Enable bool + Provider string + AccessID string + AccessSecret string + WebhookURL string + WebhookMethod string + WebhookRequestBody string + WebhookHeaders string + MaxRetries uint32 + } } // Read 读取配置文件并应用 @@ -152,6 +165,15 @@ func (c *Config) Read(path string) error { if c.AvgPingCount == 0 { c.AvgPingCount = 2 } + if c.DDNS.Provider == "" { + c.DDNS.Provider = "webhook" + } + if c.DDNS.WebhookMethod == "" { + c.DDNS.WebhookMethod = "POST" + } + if c.DDNS.MaxRetries == 0 { + c.DDNS.MaxRetries = 3 + } c.updateIgnoredIPNotificationID() return nil diff --git a/model/server.go b/model/server.go index 95e798d..3077265 100644 --- a/model/server.go +++ b/model/server.go @@ -17,6 +17,8 @@ type Server struct { Note string `json:"-"` // 管理员可见备注 DisplayIndex int // 展示排序,越大越靠前 HideForGuest bool // 对游客隐藏 + EnableDDNS bool // 是否启用DDNS 未在配置文件中启用DDNS 或 DDNS检查时间为0时此项无效 + DDNSDomain string // DDNS中的前缀 如基础域名为abc.oracle DDNSName为mjj 就会把mjj.abc.oracle解析服务器IP 为空则停用 Host *Host `gorm:"-"` State *HostState `gorm:"-"` @@ -51,5 +53,6 @@ func (s Server) Marshal() template.JS { tag, _ := utils.Json.Marshal(s.Tag) note, _ := utils.Json.Marshal(s.Note) secret, _ := utils.Json.Marshal(s.Secret) - return template.JS(fmt.Sprintf(`{"ID":%d,"Name":%s,"Secret":%s,"DisplayIndex":%d,"Tag":%s,"Note":%s,"HideForGuest": %s}`, s.ID, name, secret, s.DisplayIndex, tag, note, boolToString(s.HideForGuest))) // #nosec + ddnsDomain, _ := utils.Json.Marshal(s.DDNSDomain) + return template.JS(fmt.Sprintf(`{"ID":%d,"Name":%s,"Secret":%s,"DisplayIndex":%d,"Tag":%s,"Note":%s,"HideForGuest": %s,"EnableDDNS": %s,"DDNSDomain": %s}`, s.ID, name, secret, s.DisplayIndex, tag, note, boolToString(s.HideForGuest), boolToString(s.EnableDDNS), ddnsDomain)) // #nosec } diff --git a/resource/l10n/en-US.toml b/resource/l10n/en-US.toml index 79e3f37..749d1c2 100644 --- a/resource/l10n/en-US.toml +++ b/resource/l10n/en-US.toml @@ -614,4 +614,10 @@ other = "Menu" other = "Network" [EnableShowInService] -other = "Enable Show in Service" \ No newline at end of file +other = "Enable Show in Service" + +[EnableDDNS] +other = "Enable DDNS" + +[DDNSDomain] +other = "DDNS Domain" diff --git a/resource/l10n/es-ES.toml b/resource/l10n/es-ES.toml index adee1d5..993ae36 100644 --- a/resource/l10n/es-ES.toml +++ b/resource/l10n/es-ES.toml @@ -614,4 +614,10 @@ other = "Menú" other = "Red" [EnableShowInService] -other = "Mostrar en servicio" \ No newline at end of file +other = "Mostrar en servicio" + +[EnableDDNS] +other = "Habilitar DDNS" + +[DDNSDomain] +other = "Dominio DDNS" diff --git a/resource/l10n/zh-CN.toml b/resource/l10n/zh-CN.toml index 598f306..240a946 100644 --- a/resource/l10n/zh-CN.toml +++ b/resource/l10n/zh-CN.toml @@ -615,3 +615,9 @@ other = "网络" [EnableShowInService] other = "在服务中显示" + +[EnableDDNS] +other = "启用DDNS" + +[DDNSDomain] +other = "DDNS域名" diff --git a/resource/l10n/zh-TW.toml b/resource/l10n/zh-TW.toml index 6d49408..246e461 100644 --- a/resource/l10n/zh-TW.toml +++ b/resource/l10n/zh-TW.toml @@ -614,4 +614,10 @@ other = "菜單" other = "網絡" [EnableShowInService] -other = "在服務中顯示" \ No newline at end of file +other = "在服務中顯示" + +[EnableDDNS] +other = "啟用DDNS" + +[DDNSDomain] +other = "DDNS網域" diff --git a/resource/static/main.js b/resource/static/main.js index a38b5a0..f3b8c74 100644 --- a/resource/static/main.js +++ b/resource/static/main.js @@ -302,6 +302,7 @@ function addOrEditServer(server, conf) { modal.find("input[name=id]").val(server ? server.ID : null); modal.find("input[name=name]").val(server ? server.Name : null); modal.find("input[name=Tag]").val(server ? server.Tag : null); + modal.find("input[name=DDNSDomain]").val(server ? server.DDNSDomain : null); modal .find("input[name=DisplayIndex]") .val(server ? server.DisplayIndex : null); @@ -321,6 +322,11 @@ function addOrEditServer(server, conf) { } else { modal.find(".ui.hideforguest.checkbox").checkbox("set unchecked"); } + if (server && server.EnableDDNS) { + modal.find(".ui.enableddns.checkbox").checkbox("set checked"); + } else { + modal.find(".ui.enableddns.checkbox").checkbox("set unchecked"); + } showFormModal(".server.modal", "#serverForm", "/api/server"); } diff --git a/resource/template/common/footer.html b/resource/template/common/footer.html index 051bda8..f243702 100644 --- a/resource/template/common/footer.html +++ b/resource/template/common/footer.html @@ -10,7 +10,7 @@ - + - + + + + + + + + +{{end}} \ No newline at end of file diff --git a/resource/template/theme-default/home.html b/resource/template/theme-default/home.html index a591e7a..364c5f0 100644 --- a/resource/template/theme-default/home.html +++ b/resource/template/theme-default/home.html @@ -1,10 +1,10 @@ {{define "theme-default/home"}} -{{template "common/header" .}} +{{template "theme-default/header" .}} {{if ts .CustomCode}} {{.CustomCode|safe}} {{end}} -{{template "common/menu" .}} +{{template "theme-default/menu" .}}
-
-
+
+
-{{template "common/footer" .}} +{{template "theme-default/footer" .}} +{{template "theme-default/footer" .}} {{end}} \ No newline at end of file diff --git a/resource/template/theme-server-status/content-footer.html b/resource/template/theme-server-status/content-footer.html index f09aa8d..1da9d34 100644 --- a/resource/template/theme-server-status/content-footer.html +++ b/resource/template/theme-server-status/content-footer.html @@ -1,7 +1,20 @@ {{define "theme-server-status/content-footer"}} + {{end}} \ No newline at end of file diff --git a/resource/template/theme-server-status/content-nav.html b/resource/template/theme-server-status/content-nav.html index 5ce3f71..ea146a2 100644 --- a/resource/template/theme-server-status/content-nav.html +++ b/resource/template/theme-server-status/content-nav.html @@ -1,49 +1,61 @@ {{define "theme-server-status/content-nav"}} -