From fd844bbfc1c22f96d603546b59a80e271fde5bd0 Mon Sep 17 00:00:00 2001 From: Jan-Lukas Else Date: Mon, 7 Jun 2021 20:27:28 +0200 Subject: [PATCH] Cache editor input for new post --- go.mod | 6 ++---- go.sum | 4 ++-- templates/assets/js/formcache.js | 19 +++++++++++++++++++ templates/editor.gohtml | 3 ++- 4 files changed, 25 insertions(+), 7 deletions(-) create mode 100644 templates/assets/js/formcache.js diff --git a/go.mod b/go.mod index 6dbd1cc..5c7fc40 100644 --- a/go.mod +++ b/go.mod @@ -2,9 +2,6 @@ module git.jlel.se/jlelse/GoBlog go 1.16 -// master -replace github.com/yuin/goldmark-emoji => github.com/jlelse/goldmark-emoji v1.0.2-0.20210524171342-a1615b7be38a - require ( git.jlel.se/jlelse/go-geouri v0.0.0-20210525190615-a9c1d50f42d6 git.jlel.se/jlelse/goldmark-mark v0.0.0-20210522162520-9788c89266a4 @@ -59,7 +56,8 @@ require ( github.com/tomnomnom/linkheader v0.0.0-20180905144013-02ca5825eb80 github.com/vcraescu/go-paginator v1.0.1-0.20201114172518-2cfc59fe05c2 github.com/yuin/goldmark v1.3.7 - github.com/yuin/goldmark-emoji v1.0.1 + // master + github.com/yuin/goldmark-emoji v1.0.2-0.20210607094911-0487583eca38 go.uber.org/multierr v1.7.0 // indirect go.uber.org/zap v1.17.0 // indirect golang.org/x/net v0.0.0-20210525063256-abc453219eb5 diff --git a/go.sum b/go.sum index 0ca0126..cd397d4 100644 --- a/go.sum +++ b/go.sum @@ -176,8 +176,6 @@ github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/J github.com/inconshreveable/log15 v0.0.0-20170622235902-74a0988b5f80/go.mod h1:cOaXtrgN4ScfRrD9Bre7U1thNq5RtJ8ZoP4iXVGRj6o= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/jlelse/goldmark-emoji v1.0.2-0.20210524171342-a1615b7be38a h1:40Q83HyOI4DTtHDXOZmzhPhVj6vF6piANkyh+OgdTrU= -github.com/jlelse/goldmark-emoji v1.0.2-0.20210524171342-a1615b7be38a/go.mod h1:RhP/RWpexdp+KHs7ghKnifRoIs/Bq4nDS7tRbCkOwKY= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= @@ -346,6 +344,8 @@ github.com/vcraescu/go-paginator v1.0.1-0.20201114172518-2cfc59fe05c2/go.mod h1: github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/yuin/goldmark v1.3.7 h1:NSaHgaeJFCtWXCBkBKXw0rhgMuJ0VoE9FB5mWldcrQ4= github.com/yuin/goldmark v1.3.7/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark-emoji v1.0.2-0.20210607094911-0487583eca38 h1:XZjLcLoTPNZuxppY3gwhRqo/T2XF6JMGFFdkAjX3w1w= +github.com/yuin/goldmark-emoji v1.0.2-0.20210607094911-0487583eca38/go.mod h1:RhP/RWpexdp+KHs7ghKnifRoIs/Bq4nDS7tRbCkOwKY= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= diff --git a/templates/assets/js/formcache.js b/templates/assets/js/formcache.js new file mode 100644 index 0000000..24ccf46 --- /dev/null +++ b/templates/assets/js/formcache.js @@ -0,0 +1,19 @@ +(function () { + const fc = 'formcache' + Array.from(document.querySelectorAll('form .' + fc)).forEach(element => { + let elementName = fc + '-' + location.pathname + '#' + element.id + // Load from cache + let cached = localStorage.getItem(elementName) + if (cached != null) { + element.value = cached + } + // Auto save to cache + element.addEventListener('input', function () { + localStorage.setItem(elementName, element.value) + }) + // Clear on submit + element.form.addEventListener('submit', function () { + localStorage.removeItem(elementName) + }) + }) +})() \ No newline at end of file diff --git a/templates/editor.gohtml b/templates/editor.gohtml index 52c4a8a..e3ccd0f 100644 --- a/templates/editor.gohtml +++ b/templates/editor.gohtml @@ -8,7 +8,7 @@

{{ string .Blog.Lang "create" }}

-