2020-11-16 15:26:03 +00:00
|
|
|
{% import "net/http" %}
|
2021-05-22 18:05:14 +00:00
|
|
|
|
|
|
|
{% import "github.com/bouncepaw/mycorrhiza/cfg" %}
|
2021-01-26 05:41:57 +00:00
|
|
|
{% import "github.com/bouncepaw/mycorrhiza/util" %}
|
2021-04-05 18:29:45 +00:00
|
|
|
{% import "github.com/bouncepaw/mycorrhiza/user" %}
|
2020-11-16 15:26:03 +00:00
|
|
|
|
2021-04-05 18:29:45 +00:00
|
|
|
{% func Toolbar(u *user.User) %}
|
2021-03-20 17:48:23 +00:00
|
|
|
<aside class="edit-toolbar layout-card">
|
2021-04-05 18:29:45 +00:00
|
|
|
<h2 class="edit-toolbar__title layout-card__title">Markup</h2>
|
|
|
|
<section class="edit-toolbar__buttons">
|
2021-04-05 17:38:44 +00:00
|
|
|
{% for _, el := range []struct{
|
|
|
|
class string
|
|
|
|
onclick string
|
|
|
|
display string
|
|
|
|
}{
|
2021-04-05 18:29:45 +00:00
|
|
|
{"link", "wrapLink()", "[[link]]"},
|
2021-04-06 09:04:57 +00:00
|
|
|
{"heading2", "insertHeading2()", "## heading"},
|
|
|
|
{"heading3", "insertHeading3()", "### heading"},
|
2021-04-05 17:38:44 +00:00
|
|
|
{"bold", "wrapBold()", "<b>**Bold**</b>"},
|
|
|
|
{"italic", "wrapItalic()", "<i>//Italic//</i>"},
|
2021-06-30 11:47:48 +00:00
|
|
|
{"highlighted", "wrapHighlighted()", "<mark>++Highlight++</mark>"},
|
|
|
|
{"underline", "wrapUnderline()", "<u>__Underline__</u>"},
|
2021-04-05 17:38:44 +00:00
|
|
|
{"monospace", "wrapMonospace()", "<code>`Monospace`</code>"},
|
2021-05-27 20:46:41 +00:00
|
|
|
{"lifted", "wrapLifted()", "<sup>^^Lifted^^</sup>"},
|
2021-04-05 17:38:44 +00:00
|
|
|
{"lowered", "wrapLowered()", "<sub>,,Lowered,,</sub>"},
|
|
|
|
{"strikethrough", "wrapStrikethrough()", "<strike>~~Strikethrough~~</strike>"},
|
2021-04-05 18:29:45 +00:00
|
|
|
{"rocket", "insertRocket()", "=> rocketlink"},
|
|
|
|
{"xcl", "insertXcl()", "<= transclusion"},
|
|
|
|
{"img", "insertImgBlock()", "<code>img {}</code>"},
|
|
|
|
{"table", "insertTableBlock()", "<code>table {}</code>"},
|
2021-04-05 17:38:44 +00:00
|
|
|
{"hr", "insertHorizontalBar()", "Horizontal bar"},
|
2021-04-06 09:04:57 +00:00
|
|
|
{"codeblock", "insertCodeblock()", "Code block"},
|
2021-05-01 06:57:14 +00:00
|
|
|
{"bulletedlist", "insertBulletedList()", "* bullet list"},
|
|
|
|
{"numberedlist", "insertNumberedList()", "*. number list"},
|
2021-04-05 18:29:45 +00:00
|
|
|
} %}
|
|
|
|
<button
|
2021-06-15 21:46:25 +00:00
|
|
|
class="btn edit-toolbar__btn edit-toolbar__{%s el.class %}"
|
2021-04-05 18:29:45 +00:00
|
|
|
onclick="{%s el.onclick %}">
|
|
|
|
{%s= el.display %}
|
|
|
|
</button>
|
|
|
|
{% endfor %}
|
|
|
|
</section>
|
2021-07-05 04:22:17 +00:00
|
|
|
<p class="edit-toolbar__ad"><a href="https://mycorrhiza.wiki/hypha/mycomarkup" target="_blank" class="shy-link">Learn more</a> about mycomarkup</p>
|
2021-04-05 18:29:45 +00:00
|
|
|
<h2 class="edit-toolbar__title layout-card__title">Actions</h2>
|
|
|
|
<section class="edit-toolbar__buttons">
|
|
|
|
{% for _, el := range []struct{
|
|
|
|
class string
|
|
|
|
onclick string
|
|
|
|
display string
|
|
|
|
}{
|
2021-04-05 17:38:44 +00:00
|
|
|
{"date", "insertDate()", "Insert current date"},
|
2021-05-03 18:47:21 +00:00
|
|
|
{"time", "insertTimeUTC()", "Insert current time"},
|
2021-04-05 17:38:44 +00:00
|
|
|
} %}
|
|
|
|
<button
|
2021-06-15 21:46:25 +00:00
|
|
|
class="btn edit-toolbar__btn edit-toolbar__{%s el.class %}"
|
2021-04-05 17:38:44 +00:00
|
|
|
onclick="{%s el.onclick %}">
|
|
|
|
{%s= el.display %}
|
|
|
|
</button>
|
|
|
|
{% endfor %}
|
2021-04-05 18:29:45 +00:00
|
|
|
{% if u.Group != "anon" %}
|
|
|
|
<button
|
2021-06-15 21:46:25 +00:00
|
|
|
class="btn edit-toolbar__btn edit-toolbar__user-link"
|
2021-04-05 18:29:45 +00:00
|
|
|
onclick="insertUserlink()">
|
|
|
|
Link yourself
|
|
|
|
</button>
|
|
|
|
{% endif %}
|
|
|
|
</section>
|
2021-03-20 17:48:23 +00:00
|
|
|
</aside>
|
2021-06-12 13:51:28 +00:00
|
|
|
<script src="/static/toolbar.js"></script>
|
2021-03-20 17:48:23 +00:00
|
|
|
{% endfunc %}
|
|
|
|
|
2020-11-16 15:26:03 +00:00
|
|
|
{% func EditHTML(rq *http.Request, hyphaName, textAreaFill, warning string) %}
|
2021-02-23 14:25:07 +00:00
|
|
|
{%s= NavHTML(rq, hyphaName, "edit") %}
|
2021-01-26 05:41:57 +00:00
|
|
|
<div class="layout">
|
|
|
|
<main class="main-width edit edit_no-preview">
|
|
|
|
<h1 class="edit__title">Edit {%s util.BeautifulName(hyphaName) %}</h1>
|
2020-11-16 15:26:03 +00:00
|
|
|
{%s= warning %}
|
|
|
|
<form method="post" class="edit-form"
|
|
|
|
action="/upload-text/{%s hyphaName %}">
|
2021-06-13 16:29:54 +00:00
|
|
|
<textarea name="text" class="edit-form__textarea" autofocus>{%s textAreaFill %}</textarea>
|
2021-06-21 04:52:38 +00:00
|
|
|
<br><br>
|
2021-06-14 07:48:53 +00:00
|
|
|
<label for="text">Describe your changes:</label><br>
|
2021-06-21 04:52:38 +00:00
|
|
|
<input id="text" type="text" name="message" class="edit-form__message">
|
|
|
|
<br><br>
|
|
|
|
<input type="submit" name="action" class="btn btn_accent edit-form__save" value="Save">
|
2021-06-19 22:58:56 +00:00
|
|
|
<input type="submit" name="action" class="btn edit-form__preview" value="Preview">
|
2021-06-15 21:46:25 +00:00
|
|
|
<a href="/hypha/{%s hyphaName %}" class="btn btn_weak">Cancel</a>
|
2020-11-16 15:26:03 +00:00
|
|
|
</form>
|
|
|
|
</main>
|
2021-04-05 18:29:45 +00:00
|
|
|
{%s= Toolbar(user.FromRequest(rq)) %}
|
2021-01-26 05:41:57 +00:00
|
|
|
</div>
|
2021-05-22 18:05:14 +00:00
|
|
|
{%= editScripts() %}
|
2020-08-31 17:52:26 +00:00
|
|
|
{% endfunc %}
|
2021-01-16 16:42:18 +00:00
|
|
|
|
2021-06-14 00:38:43 +00:00
|
|
|
{% func PreviewHTML(rq *http.Request, hyphaName, textAreaFill, message, warning string, renderedPage string) %}
|
2021-02-23 14:25:07 +00:00
|
|
|
{%s= NavHTML(rq, hyphaName, "edit") %}
|
2021-01-26 05:41:57 +00:00
|
|
|
<div class="layout">
|
|
|
|
<main class="main-width edit edit_with-preview">
|
2021-06-20 05:56:19 +00:00
|
|
|
<h1 class="edit__title">Edit {%s util.BeautifulName(hyphaName) %}</h1>
|
2021-01-16 16:42:18 +00:00
|
|
|
{%s= warning %}
|
|
|
|
<form method="post" class="edit-form"
|
|
|
|
action="/upload-text/{%s hyphaName %}">
|
2021-06-20 05:56:19 +00:00
|
|
|
<textarea name="text" class="edit-form__textarea" autofocus>{%s textAreaFill %}</textarea>
|
2021-06-21 04:52:38 +00:00
|
|
|
<br><br>
|
2021-06-20 05:56:19 +00:00
|
|
|
<label for="text">Describe your changes:</label><br>
|
2021-06-14 00:38:43 +00:00
|
|
|
<input id="text" type="text" name="message" class="edit-form__message" value="{%s message %}">
|
2021-06-21 04:52:38 +00:00
|
|
|
<br><br>
|
|
|
|
<input type="submit" name="action" class="btn btn_accent edit-form__save" value="Save">
|
2021-06-20 05:56:19 +00:00
|
|
|
<input type="submit" name="action" class="btn edit-form__preview" value="Preview">
|
2021-06-19 22:58:56 +00:00
|
|
|
<a href="/hypha/{%s hyphaName %}" class="btn btn_weak">Cancel</a>
|
2021-01-16 16:42:18 +00:00
|
|
|
</form>
|
2021-06-20 05:56:19 +00:00
|
|
|
<p class="warning">Note that the hypha hasn't been saved yet. Here's the preview:</p>
|
2021-03-09 15:51:37 +00:00
|
|
|
<article class="edit__preview">{%s= renderedPage %}</article>
|
2021-01-16 16:42:18 +00:00
|
|
|
</main>
|
2021-04-05 18:29:45 +00:00
|
|
|
{%s= Toolbar(user.FromRequest(rq)) %}
|
2021-01-26 05:41:57 +00:00
|
|
|
</div>
|
2021-05-22 18:05:14 +00:00
|
|
|
{%= editScripts() %}
|
2021-01-16 16:42:18 +00:00
|
|
|
{% endfunc %}
|
2021-05-22 18:05:14 +00:00
|
|
|
|
|
|
|
{% func editScripts() %}
|
2021-07-13 09:28:21 +00:00
|
|
|
<script src="/static/editor.js"></script>
|
2021-05-22 18:05:14 +00:00
|
|
|
{% for _, scriptPath := range cfg.EditScripts %}
|
|
|
|
<script src="{%s scriptPath %}"></script>
|
|
|
|
{% endfor %}
|
2021-06-20 05:56:19 +00:00
|
|
|
{% endfunc %}
|