64 lines
2.8 KiB
HTML
64 lines
2.8 KiB
HTML
{{template "kopf" .}}
|
|
|
|
<div class="seitenkopf">
|
|
<div class="seitenkopf-titel">
|
|
<h1>{{if .Data.IsNew}}Neuer Eintrag{{else}}Eintrag bearbeiten{{end}}</h1>
|
|
{{if not .Data.IsNew}}<span class="hilfe"><code>{{.Data.Entry.Slug}}</code> · Fassung {{.Data.Entry.Version}}</span>{{end}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="karte">
|
|
<form method="POST" class="formular"
|
|
action="{{if .Data.IsNew}}/p/{{.Project.Slug}}/save{{else}}/p/{{.Project.Slug}}/e/{{.Data.Entry.Slug}}/save{{end}}">
|
|
<input type="hidden" name="csrf_token" value="{{.CSRFToken}}">
|
|
|
|
{{/* Die Fassung wandert unverändert durchs Formular und zurück. Hat jemand
|
|
anderes den Eintrag zwischenzeitlich geändert, erkennt der Server das
|
|
und meldet einen Konflikt, statt die fremde Änderung zu überschreiben. */}}
|
|
<input type="hidden" name="version" value="{{.Data.Entry.Version}}">
|
|
|
|
<div class="feld lang">
|
|
<label for="title">Titel</label>
|
|
<input type="text" id="title" name="title" value="{{.Data.Entry.Title}}" required autofocus>
|
|
</div>
|
|
|
|
{{if .Data.IsNew}}
|
|
<div class="feld kurz">
|
|
<label for="slug">Bezeichner</label>
|
|
<span class="hilfe">Leer lassen, um ihn aus dem Titel abzuleiten.</span>
|
|
<input type="text" id="slug" name="slug" pattern="[a-z0-9][a-z0-9_-]*"
|
|
placeholder="wird-abgeleitet" autocomplete="off">
|
|
</div>
|
|
{{else}}
|
|
<input type="hidden" name="slug" value="{{.Data.Entry.Slug}}">
|
|
{{end}}
|
|
|
|
<div class="feld mittel">
|
|
<label for="tags">Schlagworte</label>
|
|
<span class="hilfe">Durch Komma getrennt.</span>
|
|
<input type="text" id="tags" name="tags" value="{{.Data.TagsIn}}" placeholder="ops, deployment">
|
|
</div>
|
|
|
|
<div class="feld">
|
|
<label for="content">Inhalt</label>
|
|
<span class="hilfe">Markdown. <code>[[bezeichner]]</code> verweist auf einen anderen Eintrag.</span>
|
|
<textarea id="content" name="content" rows="24" spellcheck="true">{{.Data.Entry.Content}}</textarea>
|
|
</div>
|
|
|
|
<div class="feld ankreuz">
|
|
<input type="checkbox" id="curated" name="curated" value="1" {{if .Data.Entry.Curated}}checked{{end}}>
|
|
<label for="curated">
|
|
Kuratiert
|
|
<span class="hilfe">Geprüftes Wissen, keine Beobachtung eines Agenten.</span>
|
|
</label>
|
|
</div>
|
|
|
|
<div class="formular-aktionen">
|
|
<button type="submit">Speichern</button>
|
|
<a class="knopf zweitrangig"
|
|
href="{{if .Data.IsNew}}/p/{{.Project.Slug}}/{{else}}/p/{{.Project.Slug}}/e/{{.Data.Entry.Slug}}{{end}}">Abbrechen</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
{{template "fuss" .}}
|