diff --git a/package-lock.json b/package-lock.json index 493f6fc..9d5e2cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9065,6 +9065,11 @@ "yallist": "^4.0.0" } }, + "lz-string": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", + "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=" + }, "magic-string": { "version": "0.25.7", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", diff --git a/package.json b/package.json index 7fa42ea..16f953e 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "sirv-cli": "1.0.3" }, "dependencies": { + "lz-string": "^1.4.4", "preact": "^10.3.2", "preact-render-to-string": "^5.1.4", "preact-router": "^3.2.1", diff --git a/src/routes/post/index.js b/src/routes/post/index.js index 6c97bff..0083988 100644 --- a/src/routes/post/index.js +++ b/src/routes/post/index.js @@ -2,6 +2,14 @@ import {h} from 'preact' import {Link} from 'preact-router/match' import ReactMarkdown from 'react-markdown' +import { + compressToEncodedURIComponent as encode, + decompressFromEncodedURIComponent as decode +} from 'lz-string' + +const noop = _ => null +const ident = _ => _ + const previewContorls = content => (
) -const noop = _ => null -const ident = _ => _ - -const decode = x => decodeURIComponent(atob(x)) -const encode = x => btoa(encodeURIComponent(x)) - const Post = ({mode, payload, setMarkdown}) => { const [controls, decodeFn, encodeFn] = { preview: [previewContorls, ident, encode],