upgraded bootstrap, fixed style, added share blacklisting
This commit is contained in:
parent
85f93bae69
commit
3fb1cfc17d
37 changed files with 811 additions and 892 deletions
|
|
@ -4,13 +4,11 @@
|
|||
<h2>{{.BodyTitle}}</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row mt-5">
|
||||
<ul type="circle">
|
||||
{{if .Data}}
|
||||
{{range $item := .Data}}
|
||||
<li><a href="/{{$item.StoreTitle}}"><b>{{$item.Title}}</b></a></li>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</ul>
|
||||
</div>
|
||||
{{end}}
|
||||
|
|
|
|||
15
templates/bootstrap.css
vendored
15
templates/bootstrap.css
vendored
File diff suppressed because one or more lines are too long
|
|
@ -30,6 +30,12 @@ a.para {
|
|||
text-decoration: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
a.anchor {
|
||||
display: block;
|
||||
position: relative;
|
||||
top: -70px;
|
||||
visibility: hidden;
|
||||
}
|
||||
.alert-primary {
|
||||
background-color: #375a7f;
|
||||
border-color: #375a7f;
|
||||
|
|
@ -84,7 +90,7 @@ code {
|
|||
background-color: #444444;
|
||||
border-radius: 2px;
|
||||
}
|
||||
textarea,input {
|
||||
textarea,input,select {
|
||||
color: #e2e2e2 !important;
|
||||
background-color: #444444 !important;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,47 +2,42 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>GoWiki | {{.Title}}</title>
|
||||
<link rel="stylesheet" type="text/css" href="/bootstrap.css" media="screen" integrity="sha256-KC5lAzGRWwscU0sTmXtd8ka5mt7Vk8a0L5JqOhwA28s="></link>
|
||||
<link rel="stylesheet" type="text/css" href="/custom.css" media="screen" integrity="sha256-gOyQhDAZKjv7dAP8YCFkpN+Hgg7JAfK8pZsZz4+bqXA="></link>
|
||||
<link rel="stylesheet" type="text/css" href="/bootstrap.css" media="screen" integrity="sha256-NeLmQ7cX66J4MdtgGlG3O/TgvsSyP1b9WbaQtxYZUbQ="></link>
|
||||
<link rel="stylesheet" type="text/css" href="/custom.css" media="screen" integrity="sha256-18JBUnR8x0NOdgbyBI/2x1NPN5IZvpdHdKTeGR2PLuA="></link>
|
||||
</head>
|
||||
<body>
|
||||
<div class="navbar navbar-default navbar-fixed-top">
|
||||
<body style="padding-top:60px">
|
||||
<div class="navbar navbar-expand-lg fixed-top navbar-dark bg-primary">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<a href="/" class="navbar-brand">GoWiki</a>
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<a href="/" class="navbar-brand">GoWiki</a>
|
||||
<div class="collapse navbar-collapse">
|
||||
{{template "menu" .}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="content">
|
||||
<div class="wrapper">
|
||||
<div id="back-to-top" class="proper-content">
|
||||
{{if .Msg}}
|
||||
<div class="alert alert-danger" style="margin-top:30px">
|
||||
<h4>Error!</h4>
|
||||
<p>{{.Msg}}</p>
|
||||
</div>
|
||||
{{end}}
|
||||
{{template "body" .}}
|
||||
</div>
|
||||
<div class="push"></div>
|
||||
</div>
|
||||
<div class="footer-wrapper">
|
||||
<footer>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<ul class="list-unstyled">
|
||||
<li class="pull-right"><a href="#back-to-top">Back to top</a></li>
|
||||
<li>© 2017 GoWiki {{.Version}} Request: <strong>{{.Time}}ms</strong></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<div id="back-to-top" class="proper-content">
|
||||
{{if .Msg}}
|
||||
<div class="alert alert-danger" style="margin-top:30px">
|
||||
<h4>Error!</h4>
|
||||
<p>{{.Msg}}</p>
|
||||
</div>
|
||||
{{end}}
|
||||
{{template "body" .}}
|
||||
</div>
|
||||
<div class="push"></div>
|
||||
<footer>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<ul class="list-unstyled">
|
||||
<li class="float-lg-right"><a href="#back-to-top">Back to top</a></li>
|
||||
{{if .Login}}
|
||||
<li><a href="/blacklist">Blacklist</a></li>
|
||||
{{end}}
|
||||
</ul>
|
||||
<p>© 2018 GoWiki {{.Version}} Request: <strong>{{.Time}}ms</strong></p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -1,33 +1,23 @@
|
|||
{{define "body"}}
|
||||
<div class="page-header">
|
||||
<div class="row">
|
||||
<div class="col-xs-6 col-xs-offset-3">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{{.BodyTitle}}</h3>
|
||||
<div class="col-xs-4 offset-4">
|
||||
<div class="card border-primary mx-auto">
|
||||
<div class="card-header">
|
||||
<strong>{{.BodyTitle}}</strong>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="card-body">
|
||||
<form class="form-horizontal" action="/login" method="post">
|
||||
<input type="hidden" name="token" value="{{.Token}}">
|
||||
<fieldset>
|
||||
<input type="hidden" name="token" value="{{.Token}}">
|
||||
<div class="form-group">
|
||||
<label class="col-lg-4 control-label">Username</label>
|
||||
<div class="col-lg-6">
|
||||
<input class="form-control input-sm" type="text" name="user" autofocus required>
|
||||
</div>
|
||||
<label class="col-form-label" for="user">Username</label>
|
||||
<input class="form-control input-sm" type="text" id="user" name="user" autofocus required>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-lg-4 control-label">Password</label>
|
||||
<div class="col-lg-6">
|
||||
<input class="form-control input-sm" type="password" name="password" required>
|
||||
</div>
|
||||
<label class="col-form-label" for="password">Password</label>
|
||||
<input class="form-control input-sm" type="text" id="password" name="password" autofocus required>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-lg-6 col-lg-offset-4">
|
||||
<button class="btn btn-sm btn-primary" type="submit" name="submit" value="Login">Login</button>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<button class="btn btn-sm btn-primary" type="submit">Login</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,46 +1,26 @@
|
|||
{{define "menu"}}
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="/wiki/Index">
|
||||
Index
|
||||
</a></li>
|
||||
<li><a href="/all">
|
||||
All Pages
|
||||
</a></li>
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item"><a class="nav-link" href="/wiki/Index">Index</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/all">All Pages</a></li>
|
||||
{{if .Login}}
|
||||
<li><a href="/new">
|
||||
New Page
|
||||
</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/new">New Page</a></li>
|
||||
{{end}}
|
||||
</ul>
|
||||
<form class="navbar-form navbar-left menu-search-bar" role="search" method="post" action="/search">
|
||||
<form class="form-inline my2 my-lg-0" method="post" action="/search">
|
||||
<input type="hidden" name="token" value="{{.Token}}">
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control input-sm menu-search-input" placeholder="Search" name="search" value="{{.Search}}">
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-sm btn-info" type="submit" name="submit" value="Search">Search</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" class="form-control mr-sm-2" placeholder="Search" name="search" value="{{.Search}}" autocomplete="off">
|
||||
<button class="btn btn-sm btn-info" type="submit">Search</button>
|
||||
</form>
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<ul class="nav navbar-nav ml-auto">
|
||||
{{if .Login}}
|
||||
{{if .Admin}}
|
||||
<li><a href="/user">
|
||||
Users
|
||||
</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/user">Users</a></li>
|
||||
{{else}}
|
||||
<li><a href="/user/edit/{{.User}}">
|
||||
Profile
|
||||
</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/user/edit/{{.User}}">Profile</a></li>
|
||||
{{end}}
|
||||
<li><a href="/logout">
|
||||
Logout
|
||||
</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/logout">Logout</a></li>
|
||||
{{else}}
|
||||
<li><a href="/login">
|
||||
Login
|
||||
</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="/login">Login</a></li>
|
||||
{{end}}
|
||||
</ul>
|
||||
{{end}}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
{{define "body"}}
|
||||
<div class="page-header">
|
||||
<div class="row">
|
||||
<div class="col-xs-4 col-xs-offset-4">
|
||||
<div class="panel panel-danger">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">404</h3>
|
||||
<div class="col-xs-4 offset-4">
|
||||
<div class="card border-danger mx-auto">
|
||||
<div class="card-header">
|
||||
<strong>404</strong>
|
||||
</div>
|
||||
<div class="panel-body text-center">
|
||||
<div class="card-body">
|
||||
<h4>Page not found</h4>
|
||||
<a href="/"><b>Back</b></a>
|
||||
<a href="/" class="btn btn-sm btn-primary">Back</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -4,37 +4,28 @@
|
|||
<h2>{{.BodyTitle}}</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<strong>Created by:</strong> {{.Data.Created}}<br>
|
||||
{{if .Data.Updated}}
|
||||
<strong>Updated by:</strong> {{.Data.Updated}}{{end}}
|
||||
<br><br>
|
||||
<div class="row mt-3">
|
||||
<div class="col-lg-12">
|
||||
<strong>Created by:</strong> {{.Data.Created}}<br>
|
||||
{{if .Data.Updated}}
|
||||
<strong>Updated by:</strong> {{.Data.Updated}}
|
||||
<br><br>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<div class="row mt-5">
|
||||
<div class="col-lg-6">
|
||||
{{.Data.PageIndex}}
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
{{if .Login}}
|
||||
<div class="row" style="padding-bottom: 14px">
|
||||
<div class="col-xs-6 {{if ne .Data.StoreTitle "wiki/Index"}}col-xs-offset-4{{else}}col-xs-offset-6{{end}}">
|
||||
<a href="/{{.Data.StoreTitle}}/edit" class="btn btn-sm btn-primary lg-pull-right">Edit</a>
|
||||
</div>
|
||||
{{if ne .Data.StoreTitle "wiki/Index"}}
|
||||
<div class="col-xs-2">
|
||||
<a href="/{{.Data.StoreTitle}}/del" class="btn btn-sm btn-primary lg-pull-right">Delete</a>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
{{end}}
|
||||
<div class="row">
|
||||
<div class="col-xs-6 col-xs-offset-6">
|
||||
<a href="/{{.Data.StoreTitle}}/md" class="btn btn-sm btn-primary lg-pull-right">Markdown</a>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="btn-group float-lg-right">
|
||||
<a href="/{{.Data.StoreTitle}}/md" class="btn btn-sm btn-primary">Markdown</a>
|
||||
{{if .Login}}
|
||||
<div class="col-xs-6 col-xs-offset-6">
|
||||
<a href="/{{.Data.StoreTitle}}/share" class="btn btn-sm btn-primary lg-pull-right">Share</a>
|
||||
</div>
|
||||
<a href="/{{.Data.StoreTitle}}/edit" class="btn btn-sm btn-primary">Edit</a>
|
||||
<a href="/{{.Data.StoreTitle}}/share" class="btn btn-sm btn-primary">Share</a>
|
||||
{{if ne .Data.StoreTitle "wiki/Index"}}
|
||||
<a href="/{{.Data.StoreTitle}}/del" class="btn btn-sm btn-primary">Delete</a>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
23
templates/pageBlacklist.html
Normal file
23
templates/pageBlacklist.html
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{{define "body"}}
|
||||
<div class="page-header">
|
||||
<div class="row">
|
||||
<div class="col-xs-4 offset-4">
|
||||
<div class="card border-danger mx-auto">
|
||||
<div class="card-header">
|
||||
<strong>{{.BodyTitle}}</strong>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form class="form-horizontal" action="/blacklist" method="post">
|
||||
<input type="hidden" name="token" value="{{.Token}}">
|
||||
<div class="form-group">
|
||||
<label class="col-form-label" for="token">Token</label>
|
||||
<input class="form-control input-sm" type="text" id="token" name="share" autocomplete="off" autofocus required>
|
||||
</div>
|
||||
<button class="btn btn-sm btn-danger" type="submit">Blacklist</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
|
|
@ -1,17 +1,17 @@
|
|||
{{define "body"}}
|
||||
<div class="page-header">
|
||||
<div class="row">
|
||||
<div class="col-xs-4 col-xs-offset-4">
|
||||
<div class="panel panel-danger">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">Delete {{.Data}}</h3>
|
||||
<div class="col-xs-4 offset-4">
|
||||
<div class="card border-danger mx-auto">
|
||||
<div class="card-header">
|
||||
<strong>Delete {{.Data}}</strong>
|
||||
</div>
|
||||
<form class="form-horizontal" action="/{{.Data}}/del" method="post">
|
||||
<input type="hidden" name="token" value="{{.Token}}">
|
||||
<button class="btn btn-sm btn-danger lg-pull-right" type="submit">Delete</button>
|
||||
</form>
|
||||
<div class="panel-body text-center">
|
||||
<a href="/{{.Data}}" class="btn btn-sm btn-primary">Back</a>
|
||||
<div class="card-body">
|
||||
<form class="form-horizontal" action="/{{.Data}}/del" method="post">
|
||||
<input type="hidden" name="token" value="{{.Token}}">
|
||||
<button class="btn btn-sm btn-danger" type="submit">Delete</button>
|
||||
<a href="/{{.Data}}" class="btn btn-sm btn-primary">Back</a>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -6,41 +6,28 @@
|
|||
</div>
|
||||
<form class="form-horizontal" action="/{{.Data.StoreTitle}}/edit" method="post">
|
||||
<input type="hidden" name="token" value="{{.Token}}">
|
||||
<input type="hidden" name="store_title" value="{{if .Data}}{{.Data.StoreTitle}}{{end}}">
|
||||
<fieldset>
|
||||
<div class="form-group">
|
||||
<label class="col-xs-1 control-label">Title</label>
|
||||
<div class="col-xs-11">
|
||||
<input class="form-control input-sm" type="text" value="{{if .Data}}{{.Data.Title}}{{end}}" spellcheck="false" disabled>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label" for="title">Title</label>
|
||||
<input class="form-control input-sm" type="text" id="title" name="title" value="{{.Data.Title}}" spellcheck="false" disabled>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label" for="markdown">Markdown</label>
|
||||
<textarea class="form-control input-sm md-text" id="markdown" name="markdown" rows="30" spellcheck="false">{{.Data.Markdown}}</textarea>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" id="perm1" name="perm" value="1" class="custom-control-input" {{if eq .Data.Perm 1}}checked=""{{end}}>
|
||||
<label class="custom-control-label" for="perm1">Public</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-xs-1 control-label">Markdown</label>
|
||||
<div class="col-xs-11">
|
||||
<textarea class="form-control input-sm md-text" rows="30" name="markdown" spellcheck="false" autofocus>{{if .Data}}{{.Data.Markdown}}{{end}}</textarea>
|
||||
</div>
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" id="perm2" name="perm" value="2" class="custom-control-input" {{if eq .Data.Perm 2}}checked=""{{end}}>
|
||||
<label class="custom-control-label" for="perm2">Internal</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-xs-11">
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" id="perm1" name="perm" value="1" class="custom-control-input" checked="">
|
||||
<label class="custom-control-label" for="perm1">Public</label>
|
||||
</div>
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" id="perm2" name="perm" value="2" class="custom-control-input">
|
||||
<label class="custom-control-label" for="perm2">Internal</label>
|
||||
</div>
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" id="perm3" name="perm" value="3" class="custom-control-input">
|
||||
<label class="custom-control-label" for="perm3">Private</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" id="perm3" name="perm" value="3" class="custom-control-input" {{if eq .Data.Perm 3}}checked=""{{end}}>
|
||||
<label class="custom-control-label" for="perm3">Private</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-xs-11 col-xs-offset-1">
|
||||
<button class="btn btn-sm btn-primary" type="submit">Submit</button>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
<button class="btn btn-sm btn-primary" type="submit">Submit</button>
|
||||
</form>
|
||||
{{end}}
|
||||
|
|
|
|||
|
|
@ -4,5 +4,7 @@
|
|||
<h2>{{.BodyTitle}}</h2>
|
||||
</div>
|
||||
</div>
|
||||
<textarea class="form-control input-sm md-text" rows="30" spellcheck="false" autofocus>{{if .Data}}{{.Data.Markdown}}{{end}}</textarea>
|
||||
<div class="row mt-3">
|
||||
<textarea class="form-control input-sm md-text" rows="30" spellcheck="false" autofocus>{{.Data.Markdown}}</textarea>
|
||||
</div>
|
||||
{{end}}
|
||||
|
|
|
|||
|
|
@ -6,47 +6,35 @@
|
|||
</div>
|
||||
<form class="form-horizontal" action="/new" method="post">
|
||||
<input type="hidden" name="token" value="{{.Token}}">
|
||||
<fieldset>
|
||||
<div class="form-group">
|
||||
<label class="col-xs-1 control-label">Section</label>
|
||||
<div class="col-xs-11">
|
||||
<select class="form-control input-sm" name="section" autofocus required>
|
||||
<option>wiki</option>
|
||||
<option>{{.User}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="col-xs-1 control-label">Title</label>
|
||||
<div class="col-xs-11">
|
||||
<input class="form-control input-sm" type="text" placeholder="Title" name="title" value="{{if .Data}}{{.Data.Title}}{{end}}" spellcheck="false" autofocus required>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label" for="section">Section</label>
|
||||
<select class="form-control input-sm" id="section" name="section" autofocus required>
|
||||
<option>wiki</option>
|
||||
<option>{{.User}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label" for="title">Title</label>
|
||||
<input class="form-control input-sm" type="text" id="title" name="title" placeholder="Title" value="{{.Data.Title}}" spellcheck="false" autocomplete="off" autofocus required>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label" for="markdown">Markdown</label>
|
||||
<textarea class="form-control input-sm md-text" id="markdown" name="markdown" rows="30" spellcheck="false">{{.Data.Markdown}}</textarea>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" id="perm1" name="perm" value="1" class="custom-control-input" {{if eq .Data.Perm 1}}checked=""{{end}}>
|
||||
<label class="custom-control-label" for="perm1">Public</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-xs-1 control-label">Markdown</label>
|
||||
<div class="col-xs-11">
|
||||
<textarea class="form-control input-sm md-text" rows="30" name="markdown" spellcheck="false">{{if .Data}}{{.Data.Markdown}}{{end}}</textarea>
|
||||
</div>
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" id="perm2" name="perm" value="2" class="custom-control-input" {{if eq .Data.Perm 2}}checked=""{{end}}>
|
||||
<label class="custom-control-label" for="perm2">Internal</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-xs-11">
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" id="perm1" name="perm" value="1" class="custom-control-input" checked="">
|
||||
<label class="custom-control-label" for="perm1">Public</label>
|
||||
</div>
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" id="perm2" name="perm" value="2" class="custom-control-input">
|
||||
<label class="custom-control-label" for="perm2">Internal</label>
|
||||
</div>
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" id="perm3" name="perm" value="3" class="custom-control-input">
|
||||
<label class="custom-control-label" for="perm3">Private</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="custom-control custom-radio">
|
||||
<input type="radio" id="perm3" name="perm" value="3" class="custom-control-input" {{if eq .Data.Perm 3}}checked=""{{end}}>
|
||||
<label class="custom-control-label" for="perm3">Private</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-xs-11 col-xs-offset-1">
|
||||
<button class="btn btn-sm btn-primary" type="submit">Submit</button>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
<button class="btn btn-sm btn-primary" type="submit">Submit</button>
|
||||
</form>
|
||||
{{end}}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,24 @@
|
|||
{{define "body"}}
|
||||
<div class="page-header">
|
||||
<div class="row">
|
||||
<div class="col-xs-4 col-xs-offset-4">
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">Share {{.Data}}</h3>
|
||||
<div class="col-xs-4 offset-4">
|
||||
<div class="card border-primary mx-auto">
|
||||
<div class="card-header">
|
||||
<strong>Share {{.Data}}</strong>
|
||||
</div>
|
||||
<div class="panel-body text-center">
|
||||
<div class="card-body">
|
||||
{{if .Key}}
|
||||
<a href="/view/{{.Key}}">Share Link</a>
|
||||
{{else}}
|
||||
<form class="form-horizontal" action="/{{.Data}}/share" method="post">
|
||||
<input type="hidden" name="token" value="{{.Token}}">
|
||||
<div class="form-group">
|
||||
<label class="col-form-label" for="duration">Lifetime</label>
|
||||
<input class="form-control input-sm" type="text" id="duration" name="duration" autofocus required>
|
||||
</div>
|
||||
<button class="btn btn-sm btn-primary" type="submit">Share</button>
|
||||
</form>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -4,21 +4,22 @@
|
|||
<h2>{{.BodyTitle}}</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<strong>Created by:</strong> {{.Data.Created}}<br>
|
||||
{{if .Data.Updated}}
|
||||
<strong>Updated by:</strong> {{.Data.Updated}}{{end}}
|
||||
<br><br>
|
||||
<div class="row mt-3">
|
||||
<div class="col-lg-12">
|
||||
<strong>Created by:</strong> {{.Data.Created}}<br>
|
||||
{{if .Data.Updated}}
|
||||
<strong>Updated by:</strong> {{.Data.Updated}}
|
||||
<br><br>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<div class="row mt-5">
|
||||
<div class="col-lg-6">
|
||||
{{.Data.PageIndex}}
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<div class="row">
|
||||
<div class="col-xs-6 col-xs-offset-6">
|
||||
<a href="/view/{{.Key}}/md" class="btn btn-sm btn-primary lg-pull-right">Markdown</a>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="btn-group float-lg-right">
|
||||
<a href="/view/{{.Key}}/md" class="btn btn-sm btn-primary">Markdown</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -4,27 +4,27 @@
|
|||
<h2>{{.BodyTitle}}</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row col-xs-6">
|
||||
<form class="form-horizontal" role="search" method="post" action="/search">
|
||||
<input type="hidden" name="token" value="{{.Token}}">
|
||||
<fieldset>
|
||||
<div class="form-group">
|
||||
<div class="col-xs-8">
|
||||
<div class="row mt-3">
|
||||
<div class="col-xs-6">
|
||||
<form class="form-horizontal" action="/search" method="post">
|
||||
<input type="hidden" name="token" value="{{.Token}}">
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control input-sm" placeholder="Search" name="search" value="{{.Search}}" autofocus>
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-sm btn-info" type="submit" name="submit" value="Search">Search</button>
|
||||
</span>
|
||||
<input type="text" class="form-control input-sm" placeholder="Search" name="search" value="{{.Search}}" autocomplete="off" autofocus>
|
||||
<div class="input-group-append">
|
||||
<button class="btn btn-sm btn-primary" type="submit">Search</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row col-xs-12">
|
||||
{{range $item := .Data}}
|
||||
<a href="/{{$item.StireTitle}}"><b>{{$item.Title}}</b></a>
|
||||
<pre style="white-space:pre-wrap">{{$item.Text}}</pre><br>
|
||||
{{end}}
|
||||
<div class="row mt-3">
|
||||
<div class="col-lg-12">
|
||||
{{range $item := .Data}}
|
||||
<a href="/{{$item.StoreTitle}}"><b>{{$item.Title}}</b></a>
|
||||
<pre style="white-space:pre-wrap">{{$item.Text}}</pre><br>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
|
|
|
|||
|
|
@ -5,15 +5,16 @@
|
|||
</div>
|
||||
</div>
|
||||
{{if .Admin}}
|
||||
<div class="row">
|
||||
<div class="row mb-3">
|
||||
<div class="col-lg-5">
|
||||
<a class="btn btn-sm btn-primary" href="/user/new"><b>New User</b></a>
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
{{if .Data}}
|
||||
<table class="table table-stripped table-hover">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Username</th>
|
||||
|
|
@ -27,25 +28,24 @@
|
|||
{{range $item := .Data}}
|
||||
<tr>
|
||||
<td>{{$item.Username}}</td>
|
||||
{{if $item.Admin}}
|
||||
<td>yes</td>
|
||||
{{else}}
|
||||
<td>no</td>
|
||||
{{end}}
|
||||
{{if $admin}}
|
||||
<td><a class="btn btn-xs btn-primary" href="/user/edit/{{$item.Username}}">Edit</a>
|
||||
<a class="btn btn-xs btn-danger" href="/user/del/{{$item.Username}}">Delete</a></td>
|
||||
{{else}}
|
||||
{{if eq $item.Username $user}}
|
||||
<td><a class="btn btn-xs btn-primary" href="/user/edit/{{$item.Username}}">Edit</a></td>
|
||||
{{else}}
|
||||
<td></td>
|
||||
{{end}}
|
||||
{{end}}
|
||||
{{if $item.Admin}}<td>yes</td>{{else}}<td>no</td>{{end}}
|
||||
<td>
|
||||
<div class="btn-group">
|
||||
{{if $admin}}
|
||||
<a class="btn btn-sm btn-primary" href="/user/edit/{{$item.Username}}">Edit</a>
|
||||
<a class="btn btn-sm btn-danger" href="/user/del/{{$item.Username}}">Delete</a>
|
||||
{{else}}
|
||||
{{if eq $item.Username $user}}
|
||||
<a class="btn btn-sm btn-primary" href="/user/edit/{{$item.Username}}">Edit</a>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{{end}}
|
||||
</tbody>
|
||||
</table>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,23 @@
|
|||
{{define "body"}}
|
||||
{{if .Data}}
|
||||
<div class="page-header">
|
||||
<div class="row">
|
||||
<h2>{{.BodyTitle}}</h2>
|
||||
<div class="col-xs-4 offset-4">
|
||||
<div class="card border-danger mx-auto">
|
||||
<div class="card-header">
|
||||
<strong>Delete {{.Data.Username}}?</strong>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p>You are about to delete <a href="/user/edit/{{.Data.Username}}">{{.Data.Username}}</a>.<br>This will also remove all private pages of this user.</p>
|
||||
<form class="form-horizontal" action="/user/del/{{.Data.Username}}" method="post">
|
||||
<input type="hidden" name="token" value="{{.Token}}">
|
||||
<button class="btn btn-sm btn-danger" type="submit">Delete</button>
|
||||
<a href="/user" class="btn btn-sm btn-primary">Back</a>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{if .Data}}
|
||||
<div class="alert alert-danger">
|
||||
<h4>Delete?</h4>
|
||||
<p>You are about to delete the user <a class="dark" href="/user/edit/{{.Data.Username}}">{{.Data.Username}}</a></p>
|
||||
</div>
|
||||
<form class="form-horizontal" action="/user/del/{{.Data.Username}}" method="post">
|
||||
<input type="hidden" name="token" value="{{.Token}}">
|
||||
<fieldset>
|
||||
<button class="btn btn-sm btn-danger" type="submit" name="submit" value="Delete">Delete</button>
|
||||
</fieldset>
|
||||
</form>
|
||||
{{end}}
|
||||
{{end}}
|
||||
|
|
|
|||
|
|
@ -1,68 +1,56 @@
|
|||
{{define "body"}}
|
||||
<div class="page-header">
|
||||
<div class="row">
|
||||
<h2>{{.BodyTitle}}</h2>
|
||||
</div>
|
||||
</div>
|
||||
{{if .Data}}
|
||||
<div class="row">
|
||||
<form class="form-horizontal" action="/user/edit/{{.Data.Username}}" method="post">
|
||||
<input type="hidden" name="token" value="{{.Token}}">
|
||||
<fieldset>
|
||||
<div class="form-group">
|
||||
<label class="col-lg-3 control-label">Username</label>
|
||||
<div class="col-lg-6">
|
||||
<input class="form-control input-sm" type="text" value="{{.Data.Username}}" disabled>
|
||||
</div>
|
||||
<div class="col-xs-4 offset-4">
|
||||
<div class="card border-primary mx-auto">
|
||||
<div class="card-header">
|
||||
<strong>{{.BodyTitle}}</strong>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-lg-3 control-label">Password</label>
|
||||
<div class="col-lg-6">
|
||||
<input class="form-control input-sm" type="password" name="password">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-lg-3 control-label">Repeat</label>
|
||||
<div class="col-lg-6">
|
||||
<input class="form-control input-sm" type="password" name="repeat">
|
||||
</div>
|
||||
</div>
|
||||
{{if .Admin}}
|
||||
<div class="form-group">
|
||||
<label class="col-lg-3 control-label">Admin Privileges</label>
|
||||
<div class="col-lg-6">
|
||||
{{if .Data.Admin}}
|
||||
<input type="checkbox" name="admin" value="0" checked>
|
||||
{{else}}
|
||||
<input type="checkbox" name="admin" value="0">
|
||||
<div class="card-body">
|
||||
<form class="form-horizontal" action="/user/edit/{{.Data.Username}}" method="post">
|
||||
<input type="hidden" name="token" value="{{.Token}}">
|
||||
<div class="form-group">
|
||||
<label class="col-form-label" for="user">Username</label>
|
||||
<input class="form-control input-sm" type="text" id="user" name="user" value="{{.Data.Username}}" disabled>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label" for="password">Password</label>
|
||||
<input class="form-control input-sm" type="password" id="password" name="password" autofocus>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label" for="repeat">Repeat</label>
|
||||
<input class="form-control input-sm" type="password" id="repeat" name="repeat" autofocus>
|
||||
</div>
|
||||
{{if .Admin}}
|
||||
<div class="form-group">
|
||||
<label class="col-form-label" for="admin">Admin Privileges</label>
|
||||
{{if .Data.Admin}}
|
||||
<input type="checkbox" id="admin" name="admin" value="0" checked>
|
||||
{{else}}
|
||||
<input type="checkbox" id="admin" name="admin" value="0">
|
||||
{{end}}
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
<button class="btn btn-sm btn-primary" type="submit">Submit</button>
|
||||
{{if .Admin}}
|
||||
<a href="/user" class="btn btn-sm btn-primary">Back</a>
|
||||
{{else}}
|
||||
<a href="/" class="btn btn-sm btn-primary">Back</a>
|
||||
{{end}}
|
||||
</form>
|
||||
{{if .Admin}}
|
||||
{{if eq .Data.Locked 3}}
|
||||
<form class="form-horizontal" action="/user/unlock/{{.Data.Username}}" method="post">
|
||||
<input type="hidden" name="token" value="{{.Token}}">
|
||||
<div class="form-group">
|
||||
<label class="col-form-label" for="unlock">Admin Privileges</label>
|
||||
<button class="btn btn-sm btn-primary" type="submit" id="unlock">Unlock</button>
|
||||
</div>
|
||||
</form>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</div>
|
||||
{{end}}
|
||||
<div class="form-group">
|
||||
<div class="col-lg-6 col-lg-offset-3">
|
||||
<button class="btn btn-sm btn-primary" type="submit" name="submit" value="Submit">Submit</button>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
{{if .Admin}}
|
||||
{{if eq .Data.Locked 3}}
|
||||
<div class="row">
|
||||
<form class="form-horizontal" action="/user/unlock/{{.Data.Username}}" method="post">
|
||||
<fieldset>
|
||||
<input type="hidden" name="token" value="{{.Token}}">
|
||||
<div class="form-group">
|
||||
<label class="col-lg-3 control-label">User is locked</label>
|
||||
<div class="col-lg-6">
|
||||
<button class="btn btn-sm btn-primary" type="submit" name="submit" value="Unlock">Unlock</button>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
{{end}}
|
||||
{{end}}
|
||||
{{end}}
|
||||
|
|
|
|||
|
|
@ -1,41 +1,33 @@
|
|||
{{define "body"}}
|
||||
<div class="page-header">
|
||||
<div class="row">
|
||||
<h2>{{.BodyTitle}}</h2>
|
||||
<div class="row">
|
||||
<div class="col-xs-4 offset-4">
|
||||
<div class="card border-primary mx-auto">
|
||||
<div class="card-header">
|
||||
<strong>{{.BodyTitle}}</strong>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form class="form-horizontal" action="/user/new" method="post">
|
||||
<input type="hidden" name="token" value="{{.Token}}">
|
||||
<div class="form-group">
|
||||
<label class="col-form-label" for="user">Username</label>
|
||||
<input class="form-control input-sm" type="text" id="user" name="user" autocomplete="off" autofocus required>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label" for="password">Password</label>
|
||||
<input class="form-control input-sm" type="password" id="password" name="password" autofocus required>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label" for="repeat">Repeat</label>
|
||||
<input class="form-control input-sm" type="password" id="repeat" name="repeat" autofocus required>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-form-label" for="admin">Admin Privileges</label>
|
||||
<input type="checkbox" id="admin" name="admin" value="0">
|
||||
</div>
|
||||
<button class="btn btn-sm btn-primary" type="submit">Submit</button>
|
||||
<a href="/user" class="btn btn-sm btn-primary">Back</a>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<form class="form-horizontal" action="/user/new" method="post">
|
||||
<input type="hidden" name="token" value="{{.Token}}">
|
||||
<fieldset>
|
||||
<div class="form-group">
|
||||
<label class="col-lg-3 control-label">Username</label>
|
||||
<div class="col-lg-6">
|
||||
<input class="form-control input-sm" type="text" name="user" value required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-lg-3 control-label">Password</label>
|
||||
<div class="col-lg-6">
|
||||
<input class="form-control input-sm" type="password" name="password" value required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-lg-3 control-label">Repeat</label>
|
||||
<div class="col-lg-6">
|
||||
<input class="form-control input-sm" type="password" name="repeat" value required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-lg-3 control-label">Admin Privileges</label>
|
||||
<div class="col-lg-6">
|
||||
<input type="checkbox" name="admin" value="0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-lg-6 col-lg-offset-3">
|
||||
<button class="btn btn-sm btn-primary" type="submit" name="submit" value="Submit">Submit</button>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
{{end}}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue