|
- {{define "admin"}}
- {{template "header" .}}
-
- <style type="text/css">
- h2 {font-weight: normal;}
- ul.pagenav {list-style: none;}
- form {
- margin: 0 0 2em;
- }
- .ui.divider:not(.vertical):not(.horizontal) {
- border-top: 1px solid rgba(34,36,38,.15);
- border-bottom: 1px solid rgba(255,255,255,.1);
- }
- .ui.divider {
- margin: 1rem 0;
- line-height: 1;
- height: 0;
- font-weight: 700;
- text-transform: uppercase;
- letter-spacing: .05em;
- color: rgba(0,0,0,.85);
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- -webkit-tap-highlight-color: transparent;
- font-size: 1rem;
- }
- </style>
-
- <script>
- function savePage(el) {
- var $btn = el.querySelector('input[type=submit]');
- $btn.value = 'Saving...';
- $btn.disabled = true;
- }
- </script>
-
- <div class="content-container snug">
- <h1>Admin Dashboard</h1>
-
- {{if .Message}}<p>{{.Message}}</p>{{end}}
-
- <ul class="pagenav">
- {{if not .SingleUser}}
- <li><a href="#page-about">Edit About page</a></li>
- <li><a href="#page-privacy">Edit Privacy page</a></li>
- {{end}}
- <li><a href="#reset-pass">Reset user password</a></li>
- <li><a href="#monitor">Application monitor</a></li>
- </ul>
-
- <hr />
-
- {{if not .SingleUser}}
- <h2>Site</h2>
-
- <h3 id="page-about">About page</h3>
- <p>Describe what your instance is <a href="/privacy">about</a>. <em>Accepts Markdown</em>.</p>
- <form method="post" action="/admin/update/about" onsubmit="savePage(this)">
- <textarea id="about-editor" class="section codable norm edit-page" name="content">{{.AboutPage}}</textarea>
- <input type="submit" value="Save" />
- </form>
-
- <h3 id="page-privacy">Privacy page</h3>
- <p>Outline your <a href="/privacy">privacy policy</a>. <em>Accepts Markdown</em>.</p>
- <form method="post" action="/admin/update/privacy" onsubmit="savePage(this)">
- <textarea id="privacy-editor" class="section codable norm edit-page" name="content">{{.PrivacyPage}}</textarea>
- <input type="submit" value="Save" />
- </form>
-
- <hr />
- {{end}}
-
- <h2>Users</h2>
-
- <h3><a name="reset-pass"></a>reset password</h3>
- <pre><code>writefreely --reset-pass <username></code></pre>
-
- <hr />
-
- <h2><a name="monitor"></a>Application</h2>
-
- <div class="ui attached table segment">
- <dl class="dl-horizontal admin-dl-horizontal">
- <dt>Server Uptime</dt>
- <dd>{{.SysStatus.Uptime}}</dd>
- <dt>Current Goroutines</dt>
- <dd>{{.SysStatus.NumGoroutine}}</dd>
- <div class="ui divider"></div>
- <dt>Current memory usage</dt>
- <dd>{{.SysStatus.MemAllocated}}</dd>
- <dt>Total mem allocated</dt>
- <dd>{{.SysStatus.MemTotal}}</dd>
- <dt>Memory obtained</dt>
- <dd>{{.SysStatus.MemSys}}</dd>
- <dt>Pointer lookup times</dt>
- <dd>{{.SysStatus.Lookups}}</dd>
- <dt>Memory allocate times</dt>
- <dd>{{.SysStatus.MemMallocs}}</dd>
- <dt>Memory free times</dt>
- <dd>{{.SysStatus.MemFrees}}</dd>
- <div class="ui divider"></div>
- <dt>Current heap usage</dt>
- <dd>{{.SysStatus.HeapAlloc}}</dd>
- <dt>Heap memory obtained</dt>
- <dd>{{.SysStatus.HeapSys}}</dd>
- <dt>Heap memory idle</dt>
- <dd>{{.SysStatus.HeapIdle}}</dd>
- <dt>Heap memory in use</dt>
- <dd>{{.SysStatus.HeapInuse}}</dd>
- <dt>Heap memory released</dt>
- <dd>{{.SysStatus.HeapReleased}}</dd>
- <dt>Heap objects</dt>
- <dd>{{.SysStatus.HeapObjects}}</dd>
- <div class="ui divider"></div>
- <dt>Bootstrap stack usage</dt>
- <dd>{{.SysStatus.StackInuse}}</dd>
- <dt>Stack memory obtained</dt>
- <dd>{{.SysStatus.StackSys}}</dd>
- <dt>MSpan structures in use</dt>
- <dd>{{.SysStatus.MSpanInuse}}</dd>
- <dt>MSpan structures obtained</dt>
- <dd>{{.SysStatus.HeapSys}}</dd>
- <dt>MCache structures in use</dt>
- <dd>{{.SysStatus.MCacheInuse}}</dd>
- <dt>MCache structures obtained</dt>
- <dd>{{.SysStatus.MCacheSys}}</dd>
- <dt>Profiling bucket hash table obtained</dt>
- <dd>{{.SysStatus.BuckHashSys}}</dd>
- <dt>GC metadata obtained</dt>
- <dd>{{.SysStatus.GCSys}}</dd>
- <dt>Other system allocation obtained</dt>
- <dd>{{.SysStatus.OtherSys}}</dd>
- <div class="ui divider"></div>
- <dt>Next GC recycle</dt>
- <dd>{{.SysStatus.NextGC}}</dd>
- <dt>Since last GC</dt>
- <dd>{{.SysStatus.LastGC}}</dd>
- <dt>Total GC pause</dt>
- <dd>{{.SysStatus.PauseTotalNs}}</dd>
- <dt>Last GC pause</dt>
- <dd>{{.SysStatus.PauseNs}}</dd>
- <dt>GC times</dt>
- <dd>{{.SysStatus.NumGC}}</dd>
- </dl>
- </div>
- </div>
-
- {{template "footer" .}}
-
- {{template "body-end" .}}
- {{end}}
|