close #19
This commit is contained in:
parent
63184da48f
commit
b9ca7e2a9c
|
@ -400,6 +400,16 @@ pre {
|
||||||
border: 1px solid #e6e6e6;
|
border: 1px solid #e6e6e6;
|
||||||
border-radius: 0.5em;
|
border-radius: 0.5em;
|
||||||
background-color: #f5f5f5;
|
background-color: #f5f5f5;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
/* css-3 */
|
||||||
|
white-space: -moz-pre-wrap;
|
||||||
|
/* Mozilla, since 1999 */
|
||||||
|
white-space: -pre-wrap;
|
||||||
|
/* Opera 4-6 */
|
||||||
|
white-space: -o-pre-wrap;
|
||||||
|
/* Opera 7 */
|
||||||
|
word-wrap: break-word;
|
||||||
|
/* Internet Explorer 5.5+ */
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 600px) {
|
@media (max-width: 600px) {
|
||||||
|
|
|
@ -509,6 +509,7 @@ document.addEventListener('listing', event => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (document.getElementById('search')) {
|
||||||
document.querySelector('#search input').addEventListener('focus', event => {
|
document.querySelector('#search input').addEventListener('focus', event => {
|
||||||
document.getElementById('search').classList.add('active');
|
document.getElementById('search').classList.add('active');
|
||||||
});
|
});
|
||||||
|
@ -519,21 +520,30 @@ document.addEventListener('listing', event => {
|
||||||
});
|
});
|
||||||
|
|
||||||
document.querySelector('#search input').addEventListener('keyup', searchEvent);
|
document.querySelector('#search input').addEventListener('keyup', searchEvent);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (document.getElementById("upload")) {
|
||||||
// Enables upload button
|
// Enables upload button
|
||||||
document.getElementById("upload").addEventListener("click", (event) => {
|
document.getElementById("upload").addEventListener("click", (event) => {
|
||||||
document.getElementById("upload-input").click();
|
document.getElementById("upload-input").click();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (document.getElementById("rename")) {
|
||||||
// Enables rename button
|
// Enables rename button
|
||||||
document.getElementById("rename").addEventListener("click", renameEvent);
|
document.getElementById("rename").addEventListener("click", renameEvent);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (document.getElementById('new')) {
|
||||||
document.getElementById('new').addEventListener('click', event => {
|
document.getElementById('new').addEventListener('click', event => {
|
||||||
let newdir = document.getElementById('newdir');
|
let newdir = document.getElementById('newdir');
|
||||||
newdir.classList.add('enabled');
|
newdir.classList.add('enabled');
|
||||||
newdir.focus();
|
newdir.focus();
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (document.getElementById('newdir')) {
|
||||||
document.getElementById('newdir').addEventListener('blur', event => {
|
document.getElementById('newdir').addEventListener('blur', event => {
|
||||||
document.getElementById('newdir').classList.remove('enabled');
|
document.getElementById('newdir').classList.remove('enabled');
|
||||||
});
|
});
|
||||||
|
@ -565,6 +575,7 @@ document.addEventListener('listing', event => {
|
||||||
|
|
||||||
handleFiles(files);
|
handleFiles(files);
|
||||||
}, false);
|
}, false);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
/* * * * * * * * * * * * * * * *
|
/* * * * * * * * * * * * * * * *
|
||||||
|
@ -833,7 +844,11 @@ document.addEventListener("DOMContentLoaded", function(event) {
|
||||||
|
|
||||||
// Enables open, delete and download buttons
|
// Enables open, delete and download buttons
|
||||||
document.getElementById("open").addEventListener("click", openEvent);
|
document.getElementById("open").addEventListener("click", openEvent);
|
||||||
|
|
||||||
|
if (document.getElementById("delete")) {
|
||||||
document.getElementById("delete").addEventListener("click", deleteEvent);
|
document.getElementById("delete").addEventListener("click", deleteEvent);
|
||||||
|
}
|
||||||
|
|
||||||
document.getElementById("download").addEventListener("click", downloadEvent);
|
document.getElementById("download").addEventListener("click", downloadEvent);
|
||||||
document.getElementById("open-nav").addEventListener("click", event => {
|
document.getElementById("open-nav").addEventListener("click", event => {
|
||||||
document.querySelector("header > div:nth-child(2)").classList.toggle("active");
|
document.querySelector("header > div:nth-child(2)").classList.toggle("active");
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<div class="action" id="open">
|
<div class="action" id="open">
|
||||||
<i class="material-icons" title="See raw">open_in_new</i> <span>See raw</span>
|
<i class="material-icons" title="See raw">open_in_new</i> <span>See raw</span>
|
||||||
</div>
|
</div>
|
||||||
{{ if .IsDir }}
|
{{ if and .IsDir .User.AllowEdit }}
|
||||||
<div class="action" id="rename">
|
<div class="action" id="rename">
|
||||||
<i class="material-icons" title="Edit">mode_edit</i>
|
<i class="material-icons" title="Edit">mode_edit</i>
|
||||||
</div>
|
</div>
|
||||||
|
@ -10,7 +10,9 @@
|
||||||
<div class="action" id="download">
|
<div class="action" id="download">
|
||||||
<i class="material-icons" title="Download">file_download</i> <span>Download</span>
|
<i class="material-icons" title="Download">file_download</i> <span>Download</span>
|
||||||
</div>
|
</div>
|
||||||
|
{{ if .User.AllowEdit }}
|
||||||
<div class="action" id="delete">
|
<div class="action" id="delete">
|
||||||
<i class="material-icons" title="Delete">delete</i> <span>Delete</span>
|
<i class="material-icons" title="Delete">delete</i> <span>Delete</span>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
|
|
@ -63,18 +63,22 @@
|
||||||
|
|
||||||
{{ if .IsDir}}
|
{{ if .IsDir}}
|
||||||
|
|
||||||
|
{{ if .User.AllowCommands }}
|
||||||
<div id="search">
|
<div id="search">
|
||||||
<i class="material-icons" title="Storage">storage</i>
|
<i class="material-icons" title="Storage">storage</i>
|
||||||
<input type="text" placeholder="Execute a command...">
|
<input type="text" placeholder="Execute a command...">
|
||||||
<div>Write your git, mercurial or svn command and press enter.</div>
|
<div>Write your git, mercurial or svn command and press enter.</div>
|
||||||
</div>
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
<div class="action" id="view">
|
<div class="action" id="view">
|
||||||
<i class="material-icons" title="Switch view">view_headline</i> <span>Switch view</span>
|
<i class="material-icons" title="Switch view">view_headline</i> <span>Switch view</span>
|
||||||
</div>
|
</div>
|
||||||
|
{{ if .User.AllowNew }}
|
||||||
<div class="action" id="upload">
|
<div class="action" id="upload">
|
||||||
<i class="material-icons" title="Upload">file_upload</i> <span>Upload</span>
|
<i class="material-icons" title="Upload">file_upload</i> <span>Upload</span>
|
||||||
</div>
|
</div>
|
||||||
|
{{ end }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{ template "actions" . }}
|
{{ template "actions" . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@ -103,7 +107,7 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<main>
|
<main>
|
||||||
{{ template "content" .Data }}
|
{{ template "content" . }}
|
||||||
<span id="token">{{ .Config.Token }}</span>
|
<span id="token">{{ .Config.Token }}</span>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{{ define "content" }}
|
{{ define "content" }}
|
||||||
|
{{ with .Data }}
|
||||||
<div id="editor" class="container" data-kind="{{ .Class }}">
|
<div id="editor" class="container" data-kind="{{ .Class }}">
|
||||||
<form method="POST" action="./">
|
<form method="POST" action="./">
|
||||||
{{ if or (eq .Class "frontmatter-only") (eq .Class "complete") }}
|
{{ if or (eq .Class "frontmatter-only") (eq .Class "complete") }}
|
||||||
|
@ -30,3 +31,4 @@
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{{ define "content" }}
|
{{ define "content" }}
|
||||||
|
{{ with .Data }}
|
||||||
<div class="listing">
|
<div class="listing">
|
||||||
<div class="container" id="listing">
|
<div class="container" id="listing">
|
||||||
{{- range .Items}}
|
{{- range .Items}}
|
||||||
|
@ -25,18 +26,21 @@
|
||||||
</p>
|
</p>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<span class="checkbox" data-href="{{.URL}}"><i class="material-icons">check</i></div>
|
<span class="checkbox" data-href="{{.URL}}"><i class="material-icons">check</i>
|
||||||
|
</div>
|
||||||
{{- end}}
|
{{- end}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<input style="display:none" type="file" id="upload-input" onchange="handleFiles(this.files)" value="Upload" multiple>
|
<input style="display:none" type="file" id="upload-input" onchange="handleFiles(this.files)" value="Upload" multiple>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ if .User.AllowNew }}
|
||||||
<input id="newdir" type="text" placeholder="Name...">
|
<input id="newdir" type="text" placeholder="Name...">
|
||||||
|
|
||||||
<div class="floating">
|
<div class="floating">
|
||||||
<div class="action" id="new">
|
<div class="action" id="new">
|
||||||
<i class="material-icons" title="New">add</i>
|
<i class="material-icons" title="New">add</i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
{{ template "content" .Data }}
|
{{ template "content" . }}
|
||||||
<span id="token">{{ .Config.Token }}</span>
|
<span id="token">{{ .Config.Token }}</span>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{{ define "content" }}
|
{{ define "content" }}
|
||||||
|
{{ with .Data}}
|
||||||
<main class="container">
|
<main class="container">
|
||||||
{{ if eq .Type "image" }}
|
{{ if eq .Type "image" }}
|
||||||
<img src="{{ .URL }}?raw=true">
|
<img src="{{ .URL }}?raw=true">
|
||||||
|
@ -11,5 +11,5 @@
|
||||||
<pre>{{ .Content }}</pre>
|
<pre>{{ .Content }}</pre>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</main>
|
</main>
|
||||||
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
|
@ -66,7 +66,7 @@ func Parse(c *caddy.Controller) ([]Config, error) {
|
||||||
|
|
||||||
for c.Next() {
|
for c.Next() {
|
||||||
var cfg = Config{UserConfig: &UserConfig{}}
|
var cfg = Config{UserConfig: &UserConfig{}}
|
||||||
cfg.PathScope = "."
|
cfg.PathScope = "./"
|
||||||
cfg.BaseURL = ""
|
cfg.BaseURL = ""
|
||||||
cfg.FrontMatter = "yaml"
|
cfg.FrontMatter = "yaml"
|
||||||
cfg.HugoEnabled = false
|
cfg.HugoEnabled = false
|
||||||
|
|
|
@ -171,7 +171,7 @@ func (i *Info) serveSingleFile(w http.ResponseWriter, r *http.Request, c *config
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
if CanBeEdited(i.Name) {
|
if CanBeEdited(i.Name) && u.AllowEdit {
|
||||||
editor, err := i.GetEditor()
|
editor, err := i.GetEditor()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in New Issue