new updates
This commit is contained in:
@@ -12,14 +12,17 @@
|
||||
<link rel="stylesheet" href="/admin/assets/css/main.min.css">
|
||||
{{ if and (Defined . "Config")}}{{ if not (eq .Config.Styles "") }}<link rel="stylesheet" href="{{ .Config.Styles }}">{{ end }}{{ end }}
|
||||
{{ if and (Defined . "User") }}{{ if not (eq .User.Styles "") }}<link rel="stylesheet" href="{{ .User.Styles }}">{{ end }}{{ end }}
|
||||
|
||||
|
||||
<script src="/admin/assets/js/plugins.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.3/ace.js"></script>
|
||||
<script src="/admin/assets/js/app.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<nav>
|
||||
<ul>
|
||||
<li><a href="/"><i class="fa fa-home fa-lg"></i> Home</a></li>
|
||||
<li><a href="/"><i class="fa fa-home fa-lg"></i> Go to website</a></li>
|
||||
<li><a data-pjax href="/admin/browse/content/"><i class="fa fa-newspaper-o"></i> Content</a></li>
|
||||
<li><a data-pjax href="/admin/browse/"><i class="fa fa-folder-o"></i> Browse</a></li>
|
||||
<li><a data-pjax href="/admin/settings/"><i class="fa fa-cog"></i> Settings</a></li>
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
{{ define "content" }}{{ $path := .Path }}
|
||||
|
||||
<div class="full scroll">
|
||||
<header>
|
||||
<div class="container">
|
||||
<h1>{{ $path }}</h1>
|
||||
</div>
|
||||
</header>
|
||||
<div class="container">
|
||||
<h1>{{ $path }}</h1>
|
||||
|
||||
<main class="browse">
|
||||
<div class="actions">
|
||||
@@ -14,7 +10,7 @@
|
||||
<div class="go-right">
|
||||
<input type="file" value="Upload" multiple>
|
||||
<button id="upload">Upload <i class="fa fa-cloud-upload"></i></button>
|
||||
<button class="default new">New <i class="fa fa-plus"></i></button>
|
||||
<button class="default new">New +</button>
|
||||
<div id="new-file">
|
||||
Write the name of the new file. If you want to use an archetype, add ':archetype' in the end, replacing 'archetype' by its name.
|
||||
<input id="new-file-name" type="text">
|
||||
@@ -23,44 +19,44 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<table>
|
||||
<tr>
|
||||
<th class="left">
|
||||
{{if and (eq .Sort "name") (ne .Order "desc")}}
|
||||
<a data-pjax href="?sort=name&order=desc">Name <i class="fa fa-arrow-up"></i></a> {{else if and (eq .Sort "name") (ne .Order "asc")}}
|
||||
<a data-pjax href="?sort=name&order=asc">Name <i class="fa fa-arrow-down"></i></a> {{else}}
|
||||
<a data-pjax href="?sort=name&order=asc">Name</a> {{end}}
|
||||
</th>
|
||||
<th class="right hideable">
|
||||
{{if and (eq .Sort "size") (ne .Order "desc")}}
|
||||
<a data-pjax href="?sort=size&order=desc">Size <i class="fa fa-arrow-up"></i></a> {{else if and (eq .Sort "size") (ne .Order "asc")}}
|
||||
<a data-pjax href="?sort=size&order=asc">Size <i class="fa fa-arrow-down"></i></a> {{else}}
|
||||
<a data-pjax href="?sort=size&order=asc">Size</a> {{end}}
|
||||
</th>
|
||||
<th class="hideable right">
|
||||
{{if and (eq .Sort "time") (ne .Order "desc")}}
|
||||
<a href="?sort=time&order=desc">Modified <i class="fa fa-arrow-up"></i></a> {{else if and (eq .Sort "time") (ne .Order "asc")}}
|
||||
<a href="?sort=time&order=asc">Modified <i class="fa fa-arrow-down"></i></a> {{else}}
|
||||
<a href="?sort=time&order=asc">Modified</a> {{end}}
|
||||
</th>
|
||||
<th class="right"></th>
|
||||
</tr>
|
||||
{{range .Items}}
|
||||
<tr>
|
||||
<td>
|
||||
{{if .IsDir}}
|
||||
<i class="fa fa-folder"></i> <a data-pjax href="{{.URL}}">{{.Name}}</a> {{else}} {{ if CanBeEdited .URL }}
|
||||
<i class="fa fa-file"></i> <a data-pjax class="file" href="/admin/edit{{ $path }}{{.URL}}">{{.Name}}</a> {{ else }}
|
||||
<i class="fa fa-file"></i> {{.Name}} {{ end }} {{ end }}
|
||||
</td>
|
||||
<td class="right hideable">{{.HumanSize}}</td>
|
||||
<td class="right hideable">{{.HumanModTime "01/02/2006 3:04:05 PM -0700"}}</td>
|
||||
<td class="right"><button data-file="/admin/browse{{ $path }}{{.URL}}" data-message="File deleted." class="delete"><i class="fa fa-times"></i></button></td>
|
||||
</tr>
|
||||
{{end}}
|
||||
</table>
|
||||
</div>
|
||||
<table>
|
||||
<tr>
|
||||
<th class="left">
|
||||
{{if and (eq .Sort "name") (ne .Order "desc")}}
|
||||
<a data-pjax href="?sort=name&order=desc">Name <i class="fa fa-arrow-up"></i></a> {{else if and (eq .Sort "name") (ne .Order "asc")}}
|
||||
<a data-pjax href="?sort=name&order=asc">Name <i class="fa fa-arrow-down"></i></a> {{else}}
|
||||
<a data-pjax href="?sort=name&order=asc">Name</a> {{end}}
|
||||
</th>
|
||||
<th class="right hideable">
|
||||
{{if and (eq .Sort "size") (ne .Order "desc")}}
|
||||
<a data-pjax href="?sort=size&order=desc">Size <i class="fa fa-arrow-up"></i></a> {{else if and (eq .Sort "size") (ne .Order "asc")}}
|
||||
<a data-pjax href="?sort=size&order=asc">Size <i class="fa fa-arrow-down"></i></a> {{else}}
|
||||
<a data-pjax href="?sort=size&order=asc">Size</a> {{end}}
|
||||
</th>
|
||||
<th class="hideable right">
|
||||
{{if and (eq .Sort "time") (ne .Order "desc")}}
|
||||
<a href="?sort=time&order=desc">Modified <i class="fa fa-arrow-up"></i></a> {{else if and (eq .Sort "time") (ne .Order "asc")}}
|
||||
<a href="?sort=time&order=asc">Modified <i class="fa fa-arrow-down"></i></a> {{else}}
|
||||
<a href="?sort=time&order=asc">Modified</a> {{end}}
|
||||
</th>
|
||||
<th class="right"></th>
|
||||
<th class="right"></th>
|
||||
</tr>
|
||||
{{range .Items}}
|
||||
<tr>
|
||||
<td>
|
||||
{{if .IsDir}}
|
||||
<i class="fa fa-folder"></i> <a data-pjax href="{{.URL}}">{{.Name}}</a> {{else}} {{ if CanBeEdited .URL }}
|
||||
<i class="fa fa-file"></i> <a data-pjax class="file" href="/admin/edit{{ $path }}{{.URL}}">{{.Name}}</a> {{ else }}
|
||||
<i class="fa fa-file"></i> {{.Name}} {{ end }} {{ end }}
|
||||
</td>
|
||||
<td class="right hideable">{{.HumanSize}}</td>
|
||||
<td class="right hideable">{{.HumanModTime "01/02/2006 3:04:05 PM"}}</td>
|
||||
<td class="right"><button data-file="/admin/browse{{ $path }}{{.URL}}" data-message="File renamed." class="rename">✎</button></td>
|
||||
<td class="right"><button data-file="/admin/browse{{ $path }}{{.URL}}" data-message="File deleted." class="delete">✖</button></td>
|
||||
</tr>
|
||||
{{end}}
|
||||
</table>
|
||||
</main>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
@@ -2,57 +2,59 @@
|
||||
|
||||
<div class="editor {{ .Class }}">
|
||||
<form method="POST" action="">
|
||||
<div class="full box scroll">
|
||||
<div class="container">
|
||||
<main>
|
||||
{{ if not (eq .Class "complete") }}
|
||||
<header>
|
||||
<div class="container">
|
||||
<h1>{{ .Name }}{{ if eq .Class "frontmatter-only" }}
|
||||
<span class="actions">
|
||||
<button class="add"><i class="fa fa-plus"></i></button>
|
||||
</span>{{ end }}
|
||||
</h1>
|
||||
</div>
|
||||
</header>
|
||||
{{ end }} {{ if eq .Class "frontmatter-only" }}
|
||||
<div class="frontmatter">
|
||||
<div class="container">
|
||||
{{ template "frontmatter" .FrontMatter }}
|
||||
</div>
|
||||
</div>
|
||||
{{ else if eq .Class "content-only" }}
|
||||
<div class="container">
|
||||
<textarea id="content-area" name="content" class="scroll" data-mode="{{ .Mode }}">{{ .Content }}</textarea>
|
||||
<div id="preview-area" class="scroll hidden"></div>
|
||||
</div>
|
||||
{{ else }}
|
||||
<div class="container">
|
||||
<textarea id="content-area" name="content" class="scroll" data-mode="{{ .Mode }}">{{ .Content }}</textarea>
|
||||
<div id="preview-area" class="scroll hidden"></div>
|
||||
</div>
|
||||
<div class="frontmatter scroll">
|
||||
<h2>Metadata
|
||||
<h1>{{ .Name }}{{ if eq .Class "frontmatter-only" }}
|
||||
<span class="actions">
|
||||
<button class="add"><i class="fa fa-plus"></i></button>
|
||||
</span>
|
||||
</h2>
|
||||
<button class="add">+</button>
|
||||
</span>{{ end }}
|
||||
</h1>
|
||||
|
||||
{{ end }} {{ if eq .Class "frontmatter-only" }}
|
||||
<div class="frontmatter blocks">
|
||||
{{ template "frontmatter" .FrontMatter }}
|
||||
</div>
|
||||
{{ else if eq .Class "content-only" }}
|
||||
<textarea id="content-area" name="content" class="scroll" data-mode="{{ .Mode }}">{{ .Content }}</textarea>
|
||||
<div id="preview-area" class="scroll hidden"></div>
|
||||
{{ else }}
|
||||
<div class="frontmatter">
|
||||
<h1><textarea>{{ .Name }}</textarea></h1>
|
||||
|
||||
<p class="actions">
|
||||
<button class="add">Add field</button>
|
||||
</p>
|
||||
|
||||
<div class="blocks">
|
||||
{{ template "frontmatter" .FrontMatter }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<nav>
|
||||
<a id="see-source"><i class="fa fa-code"></i> Source</a>
|
||||
<a id="see-preview"><i class="fa fa-eye"></i> Preview</a>
|
||||
</nav>
|
||||
<textarea id="source-area" name="content" data-mode="{{ .Mode }}">{{ .Content }}</textarea>
|
||||
<div id="preview-area"></div>
|
||||
</div>
|
||||
|
||||
{{ end }}
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<div class="toolbar">
|
||||
{{ if or (eq .Mode "markdown") (eq .Class "complete") }}
|
||||
<button id="preview" class="left">Preview</button>
|
||||
{{ else }}
|
||||
<span class="left"></span>
|
||||
{{ end }}
|
||||
<input type="submit" data-type="{{ .Class }}" data-message="{{ if eq .Class "frontmatter-only" }}The fields were put on their way.{{ else if eq .Class "content-only" }}Every byte was saved.{{ else }}Post saved with pomp and circumstance.{{ end }}"
|
||||
data-regenerate="false" value="Save"> {{ if and (eq .Class "complete") ( .IsPost ) }}
|
||||
<input type="submit" data-type="{{ .Class }}" data-message="Post scheduled." data-schedule="true" value="Schedule"> {{ end }}
|
||||
<input type="submit" data-type="{{ .Class }}" data-message="{{ if eq .Class "frontmatter-only" }}Saved and regenerated.{{ else if eq .Class "content-only" }}Done. What do you want more?{{ else }}Post published. Go and share it!{{ end }}" data-regenerate="true"
|
||||
class="default" value="Publish">
|
||||
<div class="toolbar">
|
||||
{{ if or (eq .Mode "markdown") (eq .Class "complete") }}
|
||||
<button id="preview" class="left">Preview</button>
|
||||
{{ else }}
|
||||
<span class="left"></span>
|
||||
{{ end }}
|
||||
<input type="submit" data-type="{{ .Class }}" data-message="{{ if eq .Class "frontmatter-only" }}The fields were put on their way.{{ else if eq .Class "content-only" }}Every byte was saved.{{ else }}Post saved with pomp and circumstance.{{ end }}"
|
||||
data-regenerate="false" value="Save"> {{ if and (eq .Class "complete") ( .IsPost ) }}
|
||||
<input type="submit" data-type="{{ .Class }}" data-message="Post scheduled." data-schedule="true" value="Schedule"> {{ end }}
|
||||
<input type="submit" data-type="{{ .Class }}" data-message="{{ if eq .Class "frontmatter-only" }}Saved and regenerated.{{ else if eq .Class "content-only" }}Done. What do you want more?{{ else }}Post published. Go and share it!{{ end }}" data-regenerate="true"
|
||||
class="default" value="Publish">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -1,23 +1,44 @@
|
||||
{{ define "frontmatter" }} {{ range $key, $value := . }} {{ if or (eq $value.Type "object") (eq $value.Type "array") }}
|
||||
<fieldset id="{{ $value.Name }}" data-type="{{ $value.Type }}">
|
||||
<h3>{{ SplitCapitalize $value.Title }}
|
||||
{{ define "frontmatter" }}
|
||||
{{ range $key, $value := . }}
|
||||
|
||||
{{ if or (eq $value.Type "object") (eq $value.Type "array") }}
|
||||
<fieldset id="{{ $value.Name }}" data-type="{{ $value.Type }}">
|
||||
<h3>{{ SplitCapitalize $value.Title }}</h3>
|
||||
<span class="actions">
|
||||
<button class="add"><i class="fa fa-plus"></i></button>
|
||||
<button class="delete"><i class="fa fa-minus"></i></button>
|
||||
<button class="add">+</button>
|
||||
<button class="delete">−</button>
|
||||
</span>
|
||||
</h3>
|
||||
{{ template "frontmatter" $value.Content }}
|
||||
</fieldset>
|
||||
{{ else }} {{ if not (eq $value.Parent.Type "array") }}
|
||||
<label for="{{ $value.Name }}">{{ SplitCapitalize $value.Title }}
|
||||
<span class="actions">
|
||||
<button class="delete"><i class="fa fa-minus"></i></button>
|
||||
</span>
|
||||
</label>
|
||||
{{ template "frontmatter" $value.Content }}
|
||||
</fieldset>
|
||||
{{ else }}
|
||||
|
||||
{{ if not (eq $value.Parent.Type "array") }}
|
||||
<div class="block" id="block-{{ $value.Name }}" data-content="{{ $value.Name }}">
|
||||
<label for="{{ $value.Name }}">{{ SplitCapitalize $value.Title }}</label>
|
||||
<span class="actions">
|
||||
<button class="delete">−</button>
|
||||
</span>
|
||||
|
||||
{{ end }}
|
||||
|
||||
{{ if eq $value.Parent.Type "array" }}
|
||||
<div id="{{ $value.Name }}-{{ $key }}" data-type="array-item">
|
||||
{{ end }}
|
||||
|
||||
{{ if eq $value.HTMLType "textarea" }}
|
||||
<textarea class="scroll" name="{{ $value.Name }}:{{ $value.Type }}" id="{{ $value.Name }}" data-parent-type="{{ $value.Parent.Type }}">{{ $value.Content }}</textarea>
|
||||
{{ else if eq $value.HTMLType "datetime" }}
|
||||
<input name="{{ $value.Name }}:{{ $value.Type }}" id="{{ $value.Name }}" value="{{ $value.Content }}" type="text" data-parent-type="{{ $value.Parent.Type }}"></input>
|
||||
{{ else }}
|
||||
<input name="{{ $value.Name }}:{{ $value.Type }}" id="{{ $value.Name }}" value="{{ $value.Content }}" type="{{ $value.HTMLType }}" data-parent-type="{{ $value.Parent.Type }}"></input>
|
||||
{{ end }}
|
||||
|
||||
{{ if not (eq $value.Parent.Type "array") }}</div>{{ end }}
|
||||
|
||||
{{ if eq $value.Parent.Type "array" }}
|
||||
<span class="actions"><button class="delete">−</button></span></div>
|
||||
{{ end }}
|
||||
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if eq $value.Parent.Type "array" }}<div id="{{ $value.Name }}-{{ $key }}" data-type="array-item">{{ end }}
|
||||
{{ if eq $value.HTMLType "textarea" }}<textarea class="scroll" name="{{ $value.Name }}:{{ $value.Type }}" id="{{ $value.Name }}" data-parent-type="{{ $value.Parent.Type }}">{{ $value.Content }}</textarea>
|
||||
{{ else if eq $value.HTMLType "datetime" }}<input class="datetimepicker" name="{{ $value.Name }}:{{ $value.Type }}" id="{{ $value.Name }}" value="{{ $value.Content }}" type="text" data-parent-type="{{ $value.Parent.Type }}"></input>
|
||||
{{ else }}<input name="{{ $value.Name }}:{{ $value.Type }}" id="{{ $value.Name }}" value="{{ $value.Content }}" type="{{ $value.HTMLType }}" data-parent-type="{{ $value.Parent.Type }}"></input>{{ end }}
|
||||
{{ if eq $value.Parent.Type "array" }}
|
||||
<div class="actions"><button class="delete"><i class="fa fa-minus"></i></button></div></div>{{ end }} {{ end }} {{ end }} {{ end }}
|
||||
|
||||
Reference in New Issue
Block a user