7 Commits

  1. 2
      .gitignore
  2. 21
      CHANGELOG.md
  3. 20
      assets/css/app.scss
  4. 6
      assets/js/app.js
  5. 69
      assets/js/editor.js
  6. 7
      assets/js/hooks.js
  7. 295
      assets/package-lock.json
  8. 1
      assets/package.json
  9. 12
      assets/static/docs/.build
  10. 31
      assets/static/docs/404.html
  11. 159
      assets/static/docs/Mirage.Accounts-function-apply_user_email.html
  12. 157
      assets/static/docs/Mirage.Accounts-function-change_user_email.html
  13. 157
      assets/static/docs/Mirage.Accounts-function-change_user_password.html
  14. 157
      assets/static/docs/Mirage.Accounts-function-change_user_registration.html
  15. 151
      assets/static/docs/Mirage.Accounts-function-confirm_user.html
  16. 150
      assets/static/docs/Mirage.Accounts-function-delete_session_token.html
  17. 155
      assets/static/docs/Mirage.Accounts-function-deliver_update_email_instructions.html
  18. 158
      assets/static/docs/Mirage.Accounts-function-deliver_user_confirmation_instructions.html
  19. 155
      assets/static/docs/Mirage.Accounts-function-deliver_user_reset_password_instructions.html
  20. 150
      assets/static/docs/Mirage.Accounts-function-generate_user_session_token.html
  21. 158
      assets/static/docs/Mirage.Accounts-function-get_user-exclamation-mark.html
  22. 150
      assets/static/docs/Mirage.Accounts-function-get_user.html
  23. 158
      assets/static/docs/Mirage.Accounts-function-get_user_by_email.html
  24. 158
      assets/static/docs/Mirage.Accounts-function-get_user_by_email_and_password.html
  25. 158
      assets/static/docs/Mirage.Accounts-function-get_user_by_reset_password_token.html
  26. 150
      assets/static/docs/Mirage.Accounts-function-get_user_by_session_token.html
  27. 155
      assets/static/docs/Mirage.Accounts-function-has_user-question-mark.html
  28. 158
      assets/static/docs/Mirage.Accounts-function-register_user.html
  29. 158
      assets/static/docs/Mirage.Accounts-function-reset_user_password.html
  30. 151
      assets/static/docs/Mirage.Accounts-function-update_user_email.html
  31. 158
      assets/static/docs/Mirage.Accounts-function-update_user_password.html
  32. 150
      assets/static/docs/Mirage.Accounts.User-function-confirm_changeset.html
  33. 150
      assets/static/docs/Mirage.Accounts.User-function-email_changeset.html
  34. 161
      assets/static/docs/Mirage.Accounts.User-function-password_changeset.html
  35. 164
      assets/static/docs/Mirage.Accounts.User-function-registration_changeset.html
  36. 151
      assets/static/docs/Mirage.Accounts.User-function-valid_password-question-mark.html
  37. 150
      assets/static/docs/Mirage.Accounts.User-function-validate_current_password.html
  38. 33
      assets/static/docs/Mirage.Accounts.User.html
  39. 150
      assets/static/docs/Mirage.Accounts.UserNotifier-function-deliver_confirmation_instructions.html
  40. 150
      assets/static/docs/Mirage.Accounts.UserNotifier-function-deliver_reset_password_instructions.html
  41. 150
      assets/static/docs/Mirage.Accounts.UserNotifier-function-deliver_update_email_instructions.html
  42. 33
      assets/static/docs/Mirage.Accounts.UserNotifier.html
  43. 153
      assets/static/docs/Mirage.Accounts.UserToken-function-build_email_token.html
  44. 152
      assets/static/docs/Mirage.Accounts.UserToken-function-build_session_token.html
  45. 150
      assets/static/docs/Mirage.Accounts.UserToken-function-token_and_context_query.html
  46. 150
      assets/static/docs/Mirage.Accounts.UserToken-function-user_and_contexts_query.html
  47. 150
      assets/static/docs/Mirage.Accounts.UserToken-function-verify_change_email_token_query.html
  48. 150
      assets/static/docs/Mirage.Accounts.UserToken-function-verify_email_token_query.html
  49. 150
      assets/static/docs/Mirage.Accounts.UserToken-function-verify_session_token_query.html
  50. 33
      assets/static/docs/Mirage.Accounts.UserToken.html
  51. 119
      assets/static/docs/Mirage.Accounts.html
  52. 150
      assets/static/docs/Mirage.Images-function-create_image.html
  53. 152
      assets/static/docs/Mirage.Images-function-get_url.html
  54. 150
      assets/static/docs/Mirage.Images-function-update_image.html
  55. 150
      assets/static/docs/Mirage.Images.Image-function-changeset_with_image.html
  56. 193
      assets/static/docs/Mirage.Images.Image.html
  57. 150
      assets/static/docs/Mirage.Images.ImageUploader-function-acl.html
  58. 150
      assets/static/docs/Mirage.Images.ImageUploader-function-asset_host.html
  59. 150
      assets/static/docs/Mirage.Images.ImageUploader-function-async.html
  60. 150
      assets/static/docs/Mirage.Images.ImageUploader-function-bucket.html
  61. 174
      assets/static/docs/Mirage.Images.ImageUploader-function-default_url.html
  62. 150
      assets/static/docs/Mirage.Images.ImageUploader-function-delete.html
  63. 150
      assets/static/docs/Mirage.Images.ImageUploader-function-filename.html
  64. 150
      assets/static/docs/Mirage.Images.ImageUploader-function-remote_file_headers.html
  65. 150
      assets/static/docs/Mirage.Images.ImageUploader-function-s3_object_headers.html
  66. 150
      assets/static/docs/Mirage.Images.ImageUploader-function-storage_dir.html
  67. 150
      assets/static/docs/Mirage.Images.ImageUploader-function-storage_dir_prefix.html
  68. 150
      assets/static/docs/Mirage.Images.ImageUploader-function-store.html
  69. 150
      assets/static/docs/Mirage.Images.ImageUploader-function-transform.html
  70. 198
      assets/static/docs/Mirage.Images.ImageUploader-function-url.html
  71. 152
      assets/static/docs/Mirage.Images.ImageUploader-function-urls.html
  72. 150
      assets/static/docs/Mirage.Images.ImageUploader-function-validate.html
  73. 150
      assets/static/docs/Mirage.Images.ImageUploader.Type-function-cast.html
  74. 150
      assets/static/docs/Mirage.Images.ImageUploader.Type-function-dump.html
  75. 150
      assets/static/docs/Mirage.Images.ImageUploader.Type-function-embed_as.html
  76. 150
      assets/static/docs/Mirage.Images.ImageUploader.Type-function-equal-question-mark.html
  77. 150
      assets/static/docs/Mirage.Images.ImageUploader.Type-function-load.html
  78. 150
      assets/static/docs/Mirage.Images.ImageUploader.Type-function-type.html
  79. 350
      assets/static/docs/Mirage.Images.ImageUploader.Type.html
  80. 717
      assets/static/docs/Mirage.Images.ImageUploader.html
  81. 253
      assets/static/docs/Mirage.Images.html
  82. 157
      assets/static/docs/Mirage.Links-function-change_link.html
  83. 160
      assets/static/docs/Mirage.Links-function-create_link.html
  84. 152
      assets/static/docs/Mirage.Links-function-create_link_or_return_existing.html
  85. 158
      assets/static/docs/Mirage.Links-function-delete_link.html
  86. 155
      assets/static/docs/Mirage.Links-function-get_link-exclamation-mark.html
  87. 150
      assets/static/docs/Mirage.Links-function-get_link_by_url-exclamation-mark.html
  88. 155
      assets/static/docs/Mirage.Links-function-list_links.html
  89. 150
      assets/static/docs/Mirage.Links-function-preload_link.html
  90. 158
      assets/static/docs/Mirage.Links-function-update_link.html
  91. 33
      assets/static/docs/Mirage.Links.Link.html
  92. 33
      assets/static/docs/Mirage.Links.LinkTopic.html
  93. 69
      assets/static/docs/Mirage.Links.html
  94. 157
      assets/static/docs/Mirage.Lists-function-change_list.html
  95. 160
      assets/static/docs/Mirage.Lists-function-create_list.html
  96. 158
      assets/static/docs/Mirage.Lists-function-delete_list.html
  97. 158
      assets/static/docs/Mirage.Lists-function-get_list-exclamation-mark.html
  98. 150
      assets/static/docs/Mirage.Lists-function-get_list_by_name.html
  99. 155
      assets/static/docs/Mirage.Lists-function-list_lists.html
  100. 150
      assets/static/docs/Mirage.Lists-function-list_preloads.html

2
.gitignore

@ -35,3 +35,5 @@ npm-debug.log
# Site Encrypt Temp Dir
/tmp/
/uploads/

21
CHANGELOG.md

@ -5,6 +5,27 @@ See [Conventional Commits](Https://conventionalcommits.org) for commit guideline
<!-- changelog -->
## [v0.79.0](https://git.inhji.de/inhji/mirage/compare/v0.78.0...v0.79.0) (2021-03-18)
### Chores:
* Update Docs
* update deps
### Features:
* add daily to inbox, at to note index
* add images \o//
* update favicon
* switch to EasyMDE for editor
## [v0.78.0](https://git.inhji.de/inhji/mirage/compare/v0.77.0...v0.78.0) (2021-03-16)

20
assets/css/app.scss

@ -1,5 +1,6 @@
@import "~@yaireo/tagify/src/tagify";
@import "~bootstrap-icons/font/bootstrap-icons.css";
@import "~easymde/dist/easymde.min.css";
@import "./variables";
@import "./navigation";
@ -33,14 +34,24 @@ a.button {
}
textarea,
input[type="text"],
input[type=text],
input[type=email],
input[type=url],
input[type=password] {
width: 100%;
}
textarea {
height: 20vh;
.images {
display: flex;
}
.CodeMirror {
& * {
margin: 0;
padding: 0;
}
.CodeMirror-vscrollbar { overflow-y: hidden }
}
@media (max-width: 768px) {
@ -52,4 +63,5 @@ textarea {
#sidebar {
a > .label { display: none; }
}
}
}

6
assets/js/app.js

@ -18,6 +18,8 @@ import {Socket} from "phoenix"
import NProgress from "nprogress"
import {LiveSocket} from "phoenix_live_view"
import TableSort from "tablesort"
import EasyMDE from "easymde"
import {NoteForm, LinkForm, SettingForm, GotoAnything, onKeydown} from "./hooks"
const handledKeys = ["p"]
@ -45,6 +47,10 @@ window.addEventListener("phx:page-loading-start", info => NProgress.start())
window.addEventListener("phx:page-loading-stop", info => {
Prism.highlightAll()
NProgress.done()
new EasyMDE({
autoDownloadFontAwesome: false,
toolbar: false
})
})
// connect if there are any LiveViews on the page

69
assets/js/editor.js

@ -1,69 +0,0 @@
import {keymap, EditorView} from "@codemirror/view"
import {EditorState} from "@codemirror/state"
import {history, historyKeymap} from "@codemirror/history"
import {defaultKeymap} from "@codemirror/commands"
import {defaultHighlightStyle} from "@codemirror/highlight"
import {markdown} from "@codemirror/lang-markdown"
import {oneDark} from "@codemirror/theme-one-dark"
const contentElement = "input.editor-content"
const editorElement = "div.cm-wrap"
let view
export default function initEditor(element) {
const content = findContentElement()
if (content === null) {
throw Error(`Content Element not found. Looking for ${contentElement}.`)
}
// Prevent instancing the editor twice on regular GET requests
if (findInstanciatedEditor()) {
return
}
attachFormHandler()
const parent = document.querySelector(element)
const state = EditorState.create({
doc: content,
extensions: [
oneDark,
history(),
markdown(),
defaultHighlightStyle,
keymap.of([
...defaultKeymap,
...historyKeymap
]),
]
})
view = new EditorView({ state, parent })
}
function findContentElement() {
const el = document.querySelector(contentElement)
if (el) {
return el.value;
} else {
return null;
}
}
function findInstanciatedEditor() {
return !!document.querySelector(editorElement)
}
function attachFormHandler() {
const el = document.querySelector(contentElement)
const formEl = el.form
if (el.form) {
el.form.addEventListener("submit", () => {
el.value = view.state.doc.toString()
})
}
}

7
assets/js/hooks.js

@ -9,17 +9,10 @@ export const GotoAnything = {
export const NoteForm = {
mounted() {
if (document.querySelector("#editor")) {
import(/* webpackChunkName: "editor" */ "./editor.js").then(module => {
const initEditor = module.default
initEditor("#editor")
})
}
if (document.querySelector("#tags")) {
import(/* webpackChunkName: "editor" */ "@yaireo/tagify").then(module => {
const allTags = document.querySelector("#all_tags").value
const tagsEl = document.querySelector("#tags")
const tagify = new module.default(tagsEl, {whitelist: allTags.split(",")})
})
}

295
assets/package-lock.json

@ -10,6 +10,7 @@
"@codemirror/theme-one-dark": "^0.18",
"@yaireo/tagify": "^3.22.3",
"bootstrap-icons": "^1.4.0",
"easymde": "^2.14.0",
"minireset.css": "^0.0.7",
"nprogress": "^0.2.0",
"phoenix": "file:../deps/phoenix",
@ -47,7 +48,7 @@
"version": "2.14.3"
},
"../deps/phoenix_live_view": {
"version": "0.14.8",
"version": "0.15.4",
"license": "MIT"
},
"node_modules/@babel/code-frame": {
@ -60,9 +61,9 @@
}
},
"node_modules/@babel/compat-data": {
"version": "7.13.8",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.8.tgz",
"integrity": "sha512-EaI33z19T4qN3xLXsGf48M2cDqa6ei9tPZlfLdb2HC+e/cFtREiRd8hdSqDbwdLB0/+gLwqJmCYASH0z2bUdog==",
"version": "7.13.11",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.11.tgz",
"integrity": "sha512-BwKEkO+2a67DcFeS3RLl0Z3Gs2OvdXewuWjc1Hfokhb5eQWP9YRYH1/+VrVZvql2CfjOiNGqSAFOYt4lsqTHzg==",
"dev": true
},
"node_modules/@babel/core": {
@ -142,9 +143,9 @@
}
},
"node_modules/@babel/helper-create-class-features-plugin": {
"version": "7.13.10",
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.10.tgz",
"integrity": "sha512-YV7r2YxdTUaw84EwNkyrRke/TJHR/UXGiyvACRqvdVJ2/syV2rQuJNnaRLSuYiop8cMRXOgseTGoJCWX0q2fFg==",
"version": "7.13.11",
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz",
"integrity": "sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==",
"dev": true,
"dependencies": {
"@babel/helper-function-name": "^7.12.13",
@ -375,9 +376,9 @@
}
},
"node_modules/@babel/parser": {
"version": "7.13.10",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.10.tgz",
"integrity": "sha512-0s7Mlrw9uTWkYua7xWr99Wpk2bnGa0ANleKfksYAES8LpWH4gW1OUr42vqKNf0us5UQNfru2wPqMqRITzq/SIQ==",
"version": "7.13.11",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.11.tgz",
"integrity": "sha512-PhuoqeHoO9fc4ffMEVk4qb/w/s2iOSWohvbHxLtxui0eBg3Lg5gN1U8wp1V1u61hOWkPQJJyJzGH6Y+grwkq8Q==",
"dev": true,
"bin": {
"parser": "bin/babel-parser.js"
@ -1259,14 +1260,14 @@
}
},
"node_modules/@codemirror/autocomplete": {
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-0.18.1.tgz",
"integrity": "sha512-6Em//s+xt+lkFE3mAsSSIHtukITQNkdCSPg8IDop5kYLPkrhi7IX5NnYqQoPi06sWdUySyF9+h1+zpZQW3BG6Q==",
"version": "0.18.3",
"resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-0.18.3.tgz",
"integrity": "sha512-XAilIpYxsessr3Zh39nc5T97Zz9wLMwQTCDlIKapm/VK3JnX1I1jkoe8JqpbyVyabVxGXpB2K88GIVS9X+nLZQ==",
"dependencies": {
"@codemirror/language": "^0.18.0",
"@codemirror/state": "^0.18.0",
"@codemirror/text": "^0.18.0",
"@codemirror/tooltip": "^0.18.0",
"@codemirror/tooltip": "^0.18.4",
"@codemirror/view": "^0.18.0",
"lezer-tree": "^0.13.0"
}
@ -1440,13 +1441,13 @@
}
},
"node_modules/@codemirror/lint": {
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-0.18.0.tgz",
"integrity": "sha512-kRkSGMGXN9wi4j0/xxJy7uePE/vPq0nGKeoYFgue2KZbpVtNUC7teYjrj7QbYe9KRv/2NrO9+pwIzwgjpuwlJw==",
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-0.18.1.tgz",
"integrity": "sha512-2Ueg/ojU56vF5thxMdS67XQzvHNcBnPKw2zgbDVmL/Z+84SMjP7EKvHV5FlbrKFNGZiwnaAKk5MZRYUwBY3f0g==",
"dependencies": {
"@codemirror/panel": "^0.18.0",
"@codemirror/panel": "^0.18.1",
"@codemirror/state": "^0.18.0",
"@codemirror/tooltip": "^0.18.0",
"@codemirror/tooltip": "^0.18.4",
"@codemirror/view": "^0.18.0",
"crelt": "^1.0.5"
}
@ -1463,9 +1464,9 @@
}
},
"node_modules/@codemirror/panel": {
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/@codemirror/panel/-/panel-0.18.0.tgz",
"integrity": "sha512-wgKpe+QRjZwFKoMbMxqUFlV4j3dvgm8Q4v12SS0L6yxnFZkMsdbmowh0+pBa1Cp5iTSb0pdEOjAQaiWFZyIk9g==",
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/panel/-/panel-0.18.1.tgz",
"integrity": "sha512-5Zo9cUw0QDlFzX4nhIDYjTARPOnPk5rzxAUQo1O35kTLV+6zRh7wsGlvU7VrZnBcIoaAmHfKrZ4lt6+h7fbFGw==",
"dependencies": {
"@codemirror/state": "^0.18.0",
"@codemirror/view": "^0.18.0"
@ -1490,11 +1491,11 @@
}
},
"node_modules/@codemirror/search": {
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/@codemirror/search/-/search-0.18.0.tgz",
"integrity": "sha512-gjg1yDz6gof0lhOEzjqofidd5tH2dwUwiyzym6E78n3tZBh/KygLKmw0B0T9a5s9JTVZtzup95i+TmcHrz2MQg==",
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/search/-/search-0.18.1.tgz",
"integrity": "sha512-T1yAZHLmCzaXicyHoW/45f/7ImQs87kajcl4+9F/uBgzDjvQAL1sL5NVVONze2UxGHPAHRPTLwvkPxKFgQ0kGg==",
"dependencies": {
"@codemirror/panel": "^0.18.0",
"@codemirror/panel": "^0.18.1",
"@codemirror/rangeset": "^0.18.0",
"@codemirror/state": "^0.18.0",
"@codemirror/text": "^0.18.0",
@ -1503,9 +1504,9 @@
}
},
"node_modules/@codemirror/state": {
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/state/-/state-0.18.1.tgz",
"integrity": "sha512-rVSY4Yi9FNRnaYbQ6deuj6yQ8RYQrKD6HsJi7KYUrWhHZF2MnPD3K2hdj177DgcZKy40U8kVz33X3irWU0dD5w==",
"version": "0.18.2",
"resolved": "https://registry.npmjs.org/@codemirror/state/-/state-0.18.2.tgz",
"integrity": "sha512-fzd9duIkRjSZFsz9lie0V6wa4zZac8LtjZYd9pSmNneDAoJx0AigFEswJ+KDdYuiPmsKd8NB0wXzoiGLLjP6MA==",
"dependencies": {
"@codemirror/text": "^0.18.0"
}
@ -1526,9 +1527,9 @@
}
},
"node_modules/@codemirror/tooltip": {
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/tooltip/-/tooltip-0.18.1.tgz",
"integrity": "sha512-VHGr4Vjk2r/D0PEC3S04k4Y2h44h7+EdaeV9OHFbN+VMAEIj8ndkSTLRPKp1Zv6mEqEtV7S9n0wKBFhbsWy+NA==",
"version": "0.18.4",
"resolved": "https://registry.npmjs.org/@codemirror/tooltip/-/tooltip-0.18.4.tgz",
"integrity": "sha512-LDlDOSEfjoG24uapLN7exK3Z3JchYFKUwWqo1x/9YdlAkmD1ik7cMSQZboCquP1uJVcXhtbpKmaO6vENGVaarg==",
"dependencies": {
"@codemirror/state": "^0.18.0",
"@codemirror/view": "^0.18.0"
@ -1651,9 +1652,9 @@
"dev": true
},
"node_modules/@types/node": {
"version": "14.14.34",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.34.tgz",
"integrity": "sha512-dBPaxocOK6UVyvhbnpFIj2W+S+1cBTkHQbFQfeeJhoKFbzYcVUGHvddeWPSucKATb3F0+pgDq0i6ghEaZjsugA==",
"version": "14.14.35",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz",
"integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==",
"dev": true
},
"node_modules/@types/parse-json": {
@ -2312,9 +2313,9 @@
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001199",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001199.tgz",
"integrity": "sha512-ifbK2eChUCFUwGhlEzIoVwzFt1+iriSjyKKFYNfv6hN34483wyWpLLavYQXhnR036LhkdUYaSDpHg1El++VgHQ==",
"version": "1.0.30001202",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001202.tgz",
"integrity": "sha512-ZcijQNqrcF8JNLjzvEiXqX4JUYxoZa7Pvcsd9UD8Kz4TvhTonOSNRsK+qtvpVL4l6+T1Rh4LFtLfnNWg6BGWCQ==",
"dev": true
},
"node_modules/chalk": {
@ -2421,6 +2422,19 @@
"node": ">= 4.0"
}
},
"node_modules/codemirror": {
"version": "5.59.4",
"resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.59.4.tgz",
"integrity": "sha512-achw5JBgx8QPcACDDn+EUUXmCYzx/zxEtOGXyjvLEvYY8GleUrnfm5D+Zb+UjShHggXKDT9AXrbkBZX6a0YSQg=="
},
"node_modules/codemirror-spell-checker": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/codemirror-spell-checker/-/codemirror-spell-checker-1.1.2.tgz",
"integrity": "sha1-HGYPkIlIPMtRE7m6nKGcP0mTNx4=",
"dependencies": {
"typo-js": "*"
}
},
"node_modules/color": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz",
@ -2786,9 +2800,9 @@
}
},
"node_modules/css-loader": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.1.2.tgz",
"integrity": "sha512-T7vTXHSx0KrVEg/xjcl7G01RcVXpcw4OELwDPvkr7izQNny85A84dK3dqrczuEfBcu7Yg7mdTjJLSTibRUoRZg==",
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.1.3.tgz",
"integrity": "sha512-CoPZvyh8sLiGARK3gqczpfdedbM74klGWurF2CsNZ2lhNaXdLIUks+3Mfax3WBeRuHoglU+m7KG/+7gY6G4aag==",
"dev": true,
"dependencies": {
"camelcase": "^6.2.0",
@ -2863,9 +2877,9 @@
}
},
"node_modules/css-minimizer-webpack-plugin": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-1.2.0.tgz",
"integrity": "sha512-XU4+PXw7QKAlRGU+fB386YiczAAPtk0kVsB/Qf2nX8GJaOXgTsk/PST8YBExeoD299wheG//MCCKlCD5fykb7Q==",
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-1.3.0.tgz",
"integrity": "sha512-jFa0Siplmfef4ndKglpVaduY47oHQwioAOEGK0f0vAX0s+vc+SmP6cCMoc+8Adau5600RnOEld5VVdC8CQau7w==",
"dev": true,
"dependencies": {
"cacache": "^15.0.5",
@ -3395,10 +3409,20 @@
"integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
"dev": true
},
"node_modules/easymde": {
"version": "2.14.0",
"resolved": "https://registry.npmjs.org/easymde/-/easymde-2.14.0.tgz",
"integrity": "sha512-yQh3EF1amknaxDhXE1L28kwknREU8S19o01ki0t6Q8ThECCipXTOM3E/LL32Ia5D3AsCBRbC1/fT5tpLniVGuw==",
"dependencies": {
"codemirror": "^5.59.2",
"codemirror-spell-checker": "1.1.2",
"marked": "^2.0.0"
}
},
"node_modules/electron-to-chromium": {
"version": "1.3.687",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.687.tgz",
"integrity": "sha512-IpzksdQNl3wdgkzf7dnA7/v10w0Utf1dF2L+B4+gKrloBrxCut+au+kky3PYvle3RMdSxZP+UiCZtLbcYRxSNQ==",
"version": "1.3.691",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.691.tgz",
"integrity": "sha512-ZqiO69KImmOGCyoH0icQPU3SndJiW93juEvf63gQngyhODO6SpQIPMTOHldtCs5DS5GMKvAkquk230E2zt2vpw==",
"dev": true
},
"node_modules/emojis-list": {
@ -4700,6 +4724,17 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/marked": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/marked/-/marked-2.0.1.tgz",
"integrity": "sha512-5+/fKgMv2hARmMW7DOpykr2iLhl0NgjyELk5yn92iE7z8Se1IS9n3UsFm86hFXIkvMBmVxki8+ckcpjBeyo/hw==",
"bin": {
"marked": "bin/marked"
},
"engines": {
"node": ">= 8.16.2"
}
},
"node_modules/mdn-data": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
@ -4932,9 +4967,9 @@
"dev": true
},
"node_modules/nanoid": {
"version": "3.1.21",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.21.tgz",
"integrity": "sha512-A6oZraK4DJkAOICstsGH98dvycPr/4GGDH7ZWKmMdd3vGcOurZ6JmWFUt0DA5bzrrn2FrUjmv6mFNWvv8jpppA==",
"version": "3.1.22",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.22.tgz",
"integrity": "sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==",
"dev": true,
"bin": {
"nanoid": "bin/nanoid.cjs"
@ -9445,9 +9480,9 @@
}
},
"node_modules/terser": {
"version": "5.6.0",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.6.0.tgz",
"integrity": "sha512-vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA==",
"version": "5.6.1",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.6.1.tgz",
"integrity": "sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw==",
"dev": true,
"dependencies": {
"commander": "^2.20.0",
@ -9569,6 +9604,11 @@
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
"dev": true
},
"node_modules/typo-js": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/typo-js/-/typo-js-1.2.0.tgz",
"integrity": "sha512-dELuLBVa2jvWdU/CHTKi2L/POYaRupv942k+vRsFXsM17acXesQGAiGCio82RW7fvcr7bkuD/Zj8XpUh6aPC2A=="
},
"node_modules/unbox-primitive": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.0.tgz",
@ -9722,9 +9762,9 @@
}
},
"node_modules/webpack": {
"version": "5.25.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.25.0.tgz",
"integrity": "sha512-jqQZopNCzt9c4K6Qa7j6kIhzHfR9wgF84go58VoNp4JbZrBr2D2l5lcv72CW80yc6NJl8CR6OY8xctnIs0r2uw==",
"version": "5.26.3",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.26.3.tgz",
"integrity": "sha512-z/F2lt2N1fZqaud1B4SzjL3OW03eULThbBXQ2OX4LSrZX4N9k1A5d0Rje3zS2g887DTWyAV0KGqEf64ois2dhg==",
"dev": true,
"dependencies": {
"@types/eslint-scope": "^3.7.0",
@ -10101,9 +10141,9 @@
}
},
"@babel/compat-data": {
"version": "7.13.8",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.8.tgz",
"integrity": "sha512-EaI33z19T4qN3xLXsGf48M2cDqa6ei9tPZlfLdb2HC+e/cFtREiRd8hdSqDbwdLB0/+gLwqJmCYASH0z2bUdog==",
"version": "7.13.11",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.11.tgz",
"integrity": "sha512-BwKEkO+2a67DcFeS3RLl0Z3Gs2OvdXewuWjc1Hfokhb5eQWP9YRYH1/+VrVZvql2CfjOiNGqSAFOYt4lsqTHzg==",
"dev": true
},
"@babel/core": {
@ -10173,9 +10213,9 @@
}
},
"@babel/helper-create-class-features-plugin": {
"version": "7.13.10",
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.10.tgz",
"integrity": "sha512-YV7r2YxdTUaw84EwNkyrRke/TJHR/UXGiyvACRqvdVJ2/syV2rQuJNnaRLSuYiop8cMRXOgseTGoJCWX0q2fFg==",
"version": "7.13.11",
"resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz",
"integrity": "sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==",
"dev": true,
"requires": {
"@babel/helper-function-name": "^7.12.13",
@ -10397,9 +10437,9 @@
}
},
"@babel/parser": {
"version": "7.13.10",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.10.tgz",
"integrity": "sha512-0s7Mlrw9uTWkYua7xWr99Wpk2bnGa0ANleKfksYAES8LpWH4gW1OUr42vqKNf0us5UQNfru2wPqMqRITzq/SIQ==",
"version": "7.13.11",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.11.tgz",
"integrity": "sha512-PhuoqeHoO9fc4ffMEVk4qb/w/s2iOSWohvbHxLtxui0eBg3Lg5gN1U8wp1V1u61hOWkPQJJyJzGH6Y+grwkq8Q==",
"dev": true
},
"@babel/plugin-proposal-async-generator-functions": {
@ -11095,14 +11135,14 @@
}
},
"@codemirror/autocomplete": {
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-0.18.1.tgz",
"integrity": "sha512-6Em//s+xt+lkFE3mAsSSIHtukITQNkdCSPg8IDop5kYLPkrhi7IX5NnYqQoPi06sWdUySyF9+h1+zpZQW3BG6Q==",
"version": "0.18.3",
"resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-0.18.3.tgz",
"integrity": "sha512-XAilIpYxsessr3Zh39nc5T97Zz9wLMwQTCDlIKapm/VK3JnX1I1jkoe8JqpbyVyabVxGXpB2K88GIVS9X+nLZQ==",
"requires": {
"@codemirror/language": "^0.18.0",
"@codemirror/state": "^0.18.0",
"@codemirror/text": "^0.18.0",
"@codemirror/tooltip": "^0.18.0",
"@codemirror/tooltip": "^0.18.4",
"@codemirror/view": "^0.18.0",
"lezer-tree": "^0.13.0"
}
@ -11276,13 +11316,13 @@
}
},
"@codemirror/lint": {
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-0.18.0.tgz",
"integrity": "sha512-kRkSGMGXN9wi4j0/xxJy7uePE/vPq0nGKeoYFgue2KZbpVtNUC7teYjrj7QbYe9KRv/2NrO9+pwIzwgjpuwlJw==",
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-0.18.1.tgz",
"integrity": "sha512-2Ueg/ojU56vF5thxMdS67XQzvHNcBnPKw2zgbDVmL/Z+84SMjP7EKvHV5FlbrKFNGZiwnaAKk5MZRYUwBY3f0g==",
"requires": {
"@codemirror/panel": "^0.18.0",
"@codemirror/panel": "^0.18.1",
"@codemirror/state": "^0.18.0",
"@codemirror/tooltip": "^0.18.0",
"@codemirror/tooltip": "^0.18.4",
"@codemirror/view": "^0.18.0",
"crelt": "^1.0.5"
}
@ -11299,9 +11339,9 @@
}
},
"@codemirror/panel": {
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/@codemirror/panel/-/panel-0.18.0.tgz",
"integrity": "sha512-wgKpe+QRjZwFKoMbMxqUFlV4j3dvgm8Q4v12SS0L6yxnFZkMsdbmowh0+pBa1Cp5iTSb0pdEOjAQaiWFZyIk9g==",
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/panel/-/panel-0.18.1.tgz",
"integrity": "sha512-5Zo9cUw0QDlFzX4nhIDYjTARPOnPk5rzxAUQo1O35kTLV+6zRh7wsGlvU7VrZnBcIoaAmHfKrZ4lt6+h7fbFGw==",
"requires": {
"@codemirror/state": "^0.18.0",
"@codemirror/view": "^0.18.0"
@ -11326,11 +11366,11 @@
}
},
"@codemirror/search": {
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/@codemirror/search/-/search-0.18.0.tgz",
"integrity": "sha512-gjg1yDz6gof0lhOEzjqofidd5tH2dwUwiyzym6E78n3tZBh/KygLKmw0B0T9a5s9JTVZtzup95i+TmcHrz2MQg==",
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/search/-/search-0.18.1.tgz",
"integrity": "sha512-T1yAZHLmCzaXicyHoW/45f/7ImQs87kajcl4+9F/uBgzDjvQAL1sL5NVVONze2UxGHPAHRPTLwvkPxKFgQ0kGg==",
"requires": {
"@codemirror/panel": "^0.18.0",
"@codemirror/panel": "^0.18.1",
"@codemirror/rangeset": "^0.18.0",
"@codemirror/state": "^0.18.0",
"@codemirror/text": "^0.18.0",
@ -11339,9 +11379,9 @@
}
},
"@codemirror/state": {
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/state/-/state-0.18.1.tgz",
"integrity": "sha512-rVSY4Yi9FNRnaYbQ6deuj6yQ8RYQrKD6HsJi7KYUrWhHZF2MnPD3K2hdj177DgcZKy40U8kVz33X3irWU0dD5w==",
"version": "0.18.2",
"resolved": "https://registry.npmjs.org/@codemirror/state/-/state-0.18.2.tgz",
"integrity": "sha512-fzd9duIkRjSZFsz9lie0V6wa4zZac8LtjZYd9pSmNneDAoJx0AigFEswJ+KDdYuiPmsKd8NB0wXzoiGLLjP6MA==",
"requires": {
"@codemirror/text": "^0.18.0"
}
@ -11362,9 +11402,9 @@
}
},
"@codemirror/tooltip": {
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/@codemirror/tooltip/-/tooltip-0.18.1.tgz",
"integrity": "sha512-VHGr4Vjk2r/D0PEC3S04k4Y2h44h7+EdaeV9OHFbN+VMAEIj8ndkSTLRPKp1Zv6mEqEtV7S9n0wKBFhbsWy+NA==",
"version": "0.18.4",
"resolved": "https://registry.npmjs.org/@codemirror/tooltip/-/tooltip-0.18.4.tgz",
"integrity": "sha512-LDlDOSEfjoG24uapLN7exK3Z3JchYFKUwWqo1x/9YdlAkmD1ik7cMSQZboCquP1uJVcXhtbpKmaO6vENGVaarg==",
"requires": {
"@codemirror/state": "^0.18.0",
"@codemirror/view": "^0.18.0"
@ -11469,9 +11509,9 @@
"dev": true
},
"@types/node": {
"version": "14.14.34",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.34.tgz",
"integrity": "sha512-dBPaxocOK6UVyvhbnpFIj2W+S+1cBTkHQbFQfeeJhoKFbzYcVUGHvddeWPSucKATb3F0+pgDq0i6ghEaZjsugA==",
"version": "14.14.35",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz",
"integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==",
"dev": true
},
"@types/parse-json": {
@ -12006,9 +12046,9 @@
}
},
"caniuse-lite": {
"version": "1.0.30001199",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001199.tgz",
"integrity": "sha512-ifbK2eChUCFUwGhlEzIoVwzFt1+iriSjyKKFYNfv6hN34483wyWpLLavYQXhnR036LhkdUYaSDpHg1El++VgHQ==",
"version": "1.0.30001202",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001202.tgz",
"integrity": "sha512-ZcijQNqrcF8JNLjzvEiXqX4JUYxoZa7Pvcsd9UD8Kz4TvhTonOSNRsK+qtvpVL4l6+T1Rh4LFtLfnNWg6BGWCQ==",
"dev": true
},
"chalk": {
@ -12092,6 +12132,19 @@
"q": "^1.1.2"
}
},
"codemirror": {
"version": "5.59.4",
"resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.59.4.tgz",
"integrity": "sha512-achw5JBgx8QPcACDDn+EUUXmCYzx/zxEtOGXyjvLEvYY8GleUrnfm5D+Zb+UjShHggXKDT9AXrbkBZX6a0YSQg=="
},
"codemirror-spell-checker": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/codemirror-spell-checker/-/codemirror-spell-checker-1.1.2.tgz",
"integrity": "sha1-HGYPkIlIPMtRE7m6nKGcP0mTNx4=",
"requires": {
"typo-js": "*"
}
},
"color": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz",
@ -12371,9 +12424,9 @@
}
},
"css-loader": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.1.2.tgz",
"integrity": "sha512-T7vTXHSx0KrVEg/xjcl7G01RcVXpcw4OELwDPvkr7izQNny85A84dK3dqrczuEfBcu7Yg7mdTjJLSTibRUoRZg==",
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.1.3.tgz",
"integrity": "sha512-CoPZvyh8sLiGARK3gqczpfdedbM74klGWurF2CsNZ2lhNaXdLIUks+3Mfax3WBeRuHoglU+m7KG/+7gY6G4aag==",
"dev": true,
"requires": {
"camelcase": "^6.2.0",
@ -12424,9 +12477,9 @@
}
},
"css-minimizer-webpack-plugin": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-1.2.0.tgz",
"integrity": "sha512-XU4+PXw7QKAlRGU+fB386YiczAAPtk0kVsB/Qf2nX8GJaOXgTsk/PST8YBExeoD299wheG//MCCKlCD5fykb7Q==",
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-1.3.0.tgz",
"integrity": "sha512-jFa0Siplmfef4ndKglpVaduY47oHQwioAOEGK0f0vAX0s+vc+SmP6cCMoc+8Adau5600RnOEld5VVdC8CQau7w==",
"dev": true,
"requires": {
"cacache": "^15.0.5",
@ -12826,10 +12879,20 @@
"integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
"dev": true
},
"easymde": {
"version": "2.14.0",
"resolved": "https://registry.npmjs.org/easymde/-/easymde-2.14.0.tgz",
"integrity": "sha512-yQh3EF1amknaxDhXE1L28kwknREU8S19o01ki0t6Q8ThECCipXTOM3E/LL32Ia5D3AsCBRbC1/fT5tpLniVGuw==",
"requires": {
"codemirror": "^5.59.2",
"codemirror-spell-checker": "1.1.2",
"marked": "^2.0.0"
}
},
"electron-to-chromium": {
"version": "1.3.687",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.687.tgz",
"integrity": "sha512-IpzksdQNl3wdgkzf7dnA7/v10w0Utf1dF2L+B4+gKrloBrxCut+au+kky3PYvle3RMdSxZP+UiCZtLbcYRxSNQ==",
"version": "1.3.691",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.691.tgz",
"integrity": "sha512-ZqiO69KImmOGCyoH0icQPU3SndJiW93juEvf63gQngyhODO6SpQIPMTOHldtCs5DS5GMKvAkquk230E2zt2vpw==",
"dev": true
},
"emojis-list": {
@ -13806,6 +13869,11 @@
"semver": "^6.0.0"
}
},
"marked": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/marked/-/marked-2.0.1.tgz",
"integrity": "sha512-5+/fKgMv2hARmMW7DOpykr2iLhl0NgjyELk5yn92iE7z8Se1IS9n3UsFm86hFXIkvMBmVxki8+ckcpjBeyo/hw=="
},
"mdn-data": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
@ -13975,9 +14043,9 @@
"dev": true
},
"nanoid": {
"version": "3.1.21",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.21.tgz",
"integrity": "sha512-A6oZraK4DJkAOICstsGH98dvycPr/4GGDH7ZWKmMdd3vGcOurZ6JmWFUt0DA5bzrrn2FrUjmv6mFNWvv8jpppA==",
"version": "3.1.22",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.22.tgz",
"integrity": "sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==",
"dev": true
},
"neo-async": {
@ -17331,9 +17399,9 @@
}
},
"terser": {
"version": "5.6.0",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.6.0.tgz",
"integrity": "sha512-vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA==",
"version": "5.6.1",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.6.1.tgz",
"integrity": "sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw==",
"dev": true,
"requires": {
"commander": "^2.20.0",
@ -17421,6 +17489,11 @@
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
"dev": true
},
"typo-js": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/typo-js/-/typo-js-1.2.0.tgz",
"integrity": "sha512-dELuLBVa2jvWdU/CHTKi2L/POYaRupv942k+vRsFXsM17acXesQGAiGCio82RW7fvcr7bkuD/Zj8XpUh6aPC2A=="
},
"unbox-primitive": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.0.tgz",
@ -17552,9 +17625,9 @@
}
},
"webpack": {
"version": "5.25.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.25.0.tgz",
"integrity": "sha512-jqQZopNCzt9c4K6Qa7j6kIhzHfR9wgF84go58VoNp4JbZrBr2D2l5lcv72CW80yc6NJl8CR6OY8xctnIs0r2uw==",
"version": "5.26.3",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.26.3.tgz",
"integrity": "sha512-z/F2lt2N1fZqaud1B4SzjL3OW03eULThbBXQ2OX4LSrZX4N9k1A5d0Rje3zS2g887DTWyAV0KGqEf64ois2dhg==",
"dev": true,
"requires": {
"@types/eslint-scope": "^3.7.0",

1
assets/package.json

@ -10,6 +10,7 @@
"@codemirror/theme-one-dark": "^0.18",
"@yaireo/tagify": "^3.22.3",
"bootstrap-icons": "^1.4.0",
"easymde": "^2.14.0",
"minireset.css": "^0.0.7",
"nprogress": "^0.2.0",
"phoenix": "file:../deps/phoenix",

12
assets/static/docs/.build

@ -3,6 +3,10 @@ Mirage.Accounts.User.html
Mirage.Accounts.UserNotifier.html
Mirage.Accounts.UserToken.html
Mirage.Accounts.html
Mirage.Images.Image.html
Mirage.Images.ImageUploader.Type.html
Mirage.Images.ImageUploader.html
Mirage.Images.html
Mirage.Links.Link.html
Mirage.Links.LinkTopic.html
Mirage.Links.html
@ -67,14 +71,14 @@ MirageWeb.UserSocket.html
MirageWeb.UserView.html
MirageWeb.html
api-reference.html
dist/app-60a0c9f10e9e52eae31f.js
dist/elixir-9f91ebe876dc01d67920.css
dist/app-f27ff079945e43879c46.js
dist/elixir-a172fe91e725dcb259e2.css
dist/html/fonts/icomoon.eot
dist/html/fonts/icomoon.svg
dist/html/fonts/icomoon.ttf
dist/html/fonts/icomoon.woff
dist/search_items-f4faa8784c.js
dist/sidebar_items-17f2396166.js
dist/search_items-09a273c374.js
dist/sidebar_items-1a2031412d.js
index.html
readme.html
search.html

31
assets/static/docs/404.html

@ -4,23 +4,30 @@
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="ExDoc v0.23.0">
<meta name="project" content="Mirage v0.77.0">
<meta name="generator" content="ExDoc v0.24.0">
<meta name="project" content="Mirage v0.78.0">
<meta name="author" content="Inhji">
<title>404 — Mirage v0.77.0</title>
<link rel="stylesheet" href="dist/elixir-9f91ebe876dc01d67920.css" />
<title>404 — Mirage v0.78.0</title>
<link rel="stylesheet" href="dist/elixir-a172fe91e725dcb259e2.css" />
<script src="dist/sidebar_items-17f2396166.js"></script>
<script src="dist/sidebar_items-1a2031412d.js"></script>
<script src="docs_config.js"></script>
<script async src="dist/app-60a0c9f10e9e52eae31f.js"></script>
<script async src="dist/app-f27ff079945e43879c46.js"></script>
</head>
<body data-type="extras">
<script>try { if(localStorage.getItem('night-mode') === 'true') document.body.className += ' night-mode'; } catch (e) { }</script>
<script>
try {
if (localStorage.getItem('night-mode') === 'true') {
document.body.classList.add('night-mode');
}
} catch (error) { }
</script>
<div class="main">
@ -37,7 +44,7 @@
<span class="icon-cross" aria-hidden="true" title="Cancel search"></span>
</button>
<label class="search-label">
<input name="q" type="text" id="search-list" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" />
<input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" />
</label>
</form>
@ -52,16 +59,16 @@
Mirage
</a>
<strong class="sidebar-projectVersion">
v0.77.0
v0.78.0
</strong>
</div>
</div>
<ul class="sidebar-listNav">
<li><a id="extras-list" href="#full-list">Pages</a></li>
<li><a id="extras-list-link" href="#full-list">Pages</a></li>
<li><a id="modules-list" href="#full-list">Modules</a></li>
<li><a id="modules-list-link" href="#full-list">Modules</a></li>
</ul>
@ -85,7 +92,7 @@ to find what you were looking for.</p>
<p>
<span class="line">
Built using
<a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener">ExDoc</a> (v0.23.0) for the
<a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener">ExDoc</a> (v0.24.0) for the
<a href="https://elixir-lang.org" title="Elixir" target="_blank">Elixir programming language</a>.
</span>
<span class="line">

159
assets/static/docs/Mirage.Accounts-function-apply_user_email.html

@ -0,0 +1,159 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="ExDoc v0.24.0">
<meta name="project" content="Mirage v0.78.0">
<meta name="author" content="Inhji">
<title>Mirage.Accounts.apply_user_email — Mirage v0.78.0</title>
<link rel="stylesheet" href="dist/elixir-a172fe91e725dcb259e2.css" />
<script src="dist/sidebar_items-1a2031412d.js"></script>
<script src="docs_config.js"></script>
<script async src="dist/app-f27ff079945e43879c46.js"></script>
</head>
<body data-type="modules">
<script>
try {
if (localStorage.getItem('night-mode') === 'true') {
document.body.classList.add('night-mode');
}
} catch (error) { }
</script>
<div class="main">
<button class="sidebar-button sidebar-toggle">
<span class="icon-menu" title="Collapse/expand sidebar"></span>
</button>
<section class="sidebar">
<form class="sidebar-search" action="search.html">
<button type="submit" class="search-button" aria-label="Submit Search">
<span class="icon-search" aria-hidden="true" title="Submit search"></span>
</button>
<button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
<span class="icon-cross" aria-hidden="true" title="Cancel search"></span>
</button>
<label class="search-label">
<input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" />
</label>
</form>
<div class="autocomplete">
<div class="autocomplete-results">
</div>
</div>
<div class="sidebar-header">
<div class="sidebar-projectDetails">
<a href="https://git.inhji.de/inhji/mirage" class="sidebar-projectName">
Mirage
</a>
<strong class="sidebar-projectVersion">
v0.78.0
</strong>
</div>
</div>
<ul class="sidebar-listNav">
<li><a id="extras-list-link" href="#full-list">Pages</a></li>
<li><a id="modules-list-link" href="#full-list">Modules</a></li>
</ul>
<div class="gradient"></div>
<ul id="full-list" class="sidebar-fullList"></ul>
</section>
<section class="content">
<div class="content-outer">
<div id="content" class="content-inner">
<h1>Mirage.Accounts.apply_user_email</h1>
<div class="deprecated">
You're seeing just the function <code>apply_user_email</code>, go back to <a href="Mirage.Accounts.html">Mirage.Accounts</a> module for more information.
</div>
<section class="detail" id="apply_user_email/3">
<div class="detail-header">
<a href="#apply_user_email/3" class="detail-link" title="Link to this function">
<span class="icon-link" aria-hidden="true"></span>
<span class="sr-only">Link to this function</span>
</a>
<h1 class="signature">apply_user_email(user, password, attrs)</h1>
<a href="https://git.inhji.de/inhji/mirage/src/branch/main/lib/mirage/accounts.ex#L137" class="view-source" rel="help" title="View Source">
<span class="icon-code" aria-hidden="true"></span>
<span class="sr-only">View Source</span>
</a>
</div>
<section class="docstring">
<p>Emulates that the email will change without actually changing
it in the database.</p><h2 id="apply_user_email/3-examples" class="section-heading">
<a href="#apply_user_email/3-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
Examples
</h2>
<pre><code class="makeup elixir"><span class="gp unselectable">iex&gt; </span><span class="n">apply_user_email</span><span class="p" data-group-id="0332696185-1">(</span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;valid password&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0332696185-2">%{</span><span class="ss">email</span><span class="p">:</span><span class="w"> </span><span class="n">...</span><span class="p" data-group-id="0332696185-2">}</span><span class="p" data-group-id="0332696185-1">)</span><span class="w">
</span><span class="p" data-group-id="0332696185-3">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0332696185-4">%</span><span class="nc" data-group-id="0332696185-4">User</span><span class="p" data-group-id="0332696185-4">{</span><span class="p" data-group-id="0332696185-4">}</span><span class="p" data-group-id="0332696185-3">}</span><span class="w">
</span><span class="gp unselectable">iex&gt; </span><span class="n">apply_user_email</span><span class="p" data-group-id="0332696185-5">(</span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;invalid password&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0332696185-6">%{</span><span class="ss">email</span><span class="p">:</span><span class="w"> </span><span class="n">...</span><span class="p" data-group-id="0332696185-6">}</span><span class="p" data-group-id="0332696185-5">)</span><span class="w">
</span><span class="p" data-group-id="0332696185-7">{</span><span class="ss">:error</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0332696185-8">%</span><span class="nc" data-group-id="0332696185-8">Ecto.Changeset</span><span class="p" data-group-id="0332696185-8">{</span><span class="p" data-group-id="0332696185-8">}</span><span class="p" data-group-id="0332696185-7">}</span></code></pre>
</section>
</section>
<footer class="footer">
<p>
<span class="line">
Built using
<a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener">ExDoc</a> (v0.24.0) for the
<a href="https://elixir-lang.org" title="Elixir" target="_blank">Elixir programming language</a>.
</span>
<span class="line">
Designed by
<a href="https://twitter.com/dignifiedquire" target="_blank" rel="noopener" title="@dignifiedquire">Friedel Ziegelmayer</a>.
</span>
</p>
<p>
<a href="api-reference.html" title="API reference" class="line footer-button">API Reference</a>
<button class="line footer-button display-shortcuts-help">
Display keyboard shortcuts
</button>
<button class="line footer-button night-mode-toggle">
Toggle night mode
</button>
<button class="line footer-button display-quick-switch">
Go to a HexDocs package
</button>
<button class="line footer-button tooltips-toggle">
<span class="tooltips-option-disable">Disable tooltips</span>
<span class="tooltips-option-enable">Enable tooltips</span>
</button>
</p>
</footer>
</div>
</div>
</section>
</div>
</body>
</html>

157
assets/static/docs/Mirage.Accounts-function-change_user_email.html

@ -0,0 +1,157 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="ExDoc v0.24.0">
<meta name="project" content="Mirage v0.78.0">
<meta name="author" content="Inhji">
<title>Mirage.Accounts.change_user_email — Mirage v0.78.0</title>
<link rel="stylesheet" href="dist/elixir-a172fe91e725dcb259e2.css" />
<script src="dist/sidebar_items-1a2031412d.js"></script>
<script src="docs_config.js"></script>
<script async src="dist/app-f27ff079945e43879c46.js"></script>
</head>
<body data-type="modules">
<script>
try {
if (localStorage.getItem('night-mode') === 'true') {
document.body.classList.add('night-mode');
}
} catch (error) { }
</script>
<div class="main">
<button class="sidebar-button sidebar-toggle">
<span class="icon-menu" title="Collapse/expand sidebar"></span>
</button>
<section class="sidebar">
<form class="sidebar-search" action="search.html">
<button type="submit" class="search-button" aria-label="Submit Search">
<span class="icon-search" aria-hidden="true" title="Submit search"></span>
</button>
<button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
<span class="icon-cross" aria-hidden="true" title="Cancel search"></span>
</button>
<label class="search-label">
<input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" />
</label>
</form>
<div class="autocomplete">
<div class="autocomplete-results">
</div>
</div>
<div class="sidebar-header">
<div class="sidebar-projectDetails">
<a href="https://git.inhji.de/inhji/mirage" class="sidebar-projectName">
Mirage
</a>
<strong class="sidebar-projectVersion">
v0.78.0
</strong>
</div>
</div>
<ul class="sidebar-listNav">
<li><a id="extras-list-link" href="#full-list">Pages</a></li>
<li><a id="modules-list-link" href="#full-list">Modules</a></li>
</ul>
<div class="gradient"></div>
<ul id="full-list" class="sidebar-fullList"></ul>
</section>
<section class="content">
<div class="content-outer">
<div id="content" class="content-inner">
<h1>Mirage.Accounts.change_user_email</h1>
<div class="deprecated">
You're seeing just the function <code>change_user_email</code>, go back to <a href="Mirage.Accounts.html">Mirage.Accounts</a> module for more information.
</div>
<section class="detail" id="change_user_email/2">
<span id="change_user_email/1"></span>
<div class="detail-header">
<a href="#change_user_email/2" class="detail-link" title="Link to this function">
<span class="icon-link" aria-hidden="true"></span>
<span class="sr-only">Link to this function</span>
</a>
<h1 class="signature">change_user_email(user, attrs \\ %{})</h1>
<a href="https://git.inhji.de/inhji/mirage/src/branch/main/lib/mirage/accounts.ex#L120" class="view-source" rel="help" title="View Source">
<span class="icon-code" aria-hidden="true"></span>
<span class="sr-only">View Source</span>
</a>
</div>
<section class="docstring">
<p>Returns an <code class="inline">%Ecto.Changeset{}</code> for changing the user email.</p><h2 id="change_user_email/2-examples" class="section-heading">
<a href="#change_user_email/2-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
Examples
</h2>
<pre><code class="makeup elixir"><span class="gp unselectable">iex&gt; </span><span class="n">change_user_email</span><span class="p" data-group-id="2902396355-1">(</span><span class="n">user</span><span class="p" data-group-id="2902396355-1">)</span><span class="w">
</span><span class="p" data-group-id="2902396355-2">%</span><span class="nc" data-group-id="2902396355-2">Ecto.Changeset</span><span class="p" data-group-id="2902396355-2">{</span><span class="ss">data</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="2902396355-3">%</span><span class="nc" data-group-id="2902396355-3">User</span><span class="p" data-group-id="2902396355-3">{</span><span class="p" data-group-id="2902396355-3">}</span><span class="p" data-group-id="2902396355-2">}</span></code></pre>
</section>
</section>
<footer class="footer">
<p>
<span class="line">
Built using
<a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener">ExDoc</a> (v0.24.0) for the
<a href="https://elixir-lang.org" title="Elixir" target="_blank">Elixir programming language</a>.
</span>
<span class="line">
Designed by
<a href="https://twitter.com/dignifiedquire" target="_blank" rel="noopener" title="@dignifiedquire">Friedel Ziegelmayer</a>.
</span>
</p>
<p>
<a href="api-reference.html" title="API reference" class="line footer-button">API Reference</a>
<button class="line footer-button display-shortcuts-help">
Display keyboard shortcuts
</button>
<button class="line footer-button night-mode-toggle">
Toggle night mode
</button>
<button class="line footer-button display-quick-switch">
Go to a HexDocs package
</button>
<button class="line footer-button tooltips-toggle">
<span class="tooltips-option-disable">Disable tooltips</span>
<span class="tooltips-option-enable">Enable tooltips</span>
</button>
</p>
</footer>
</div>
</div>
</section>
</div>
</body>
</html>

157
assets/static/docs/Mirage.Accounts-function-change_user_password.html

@ -0,0 +1,157 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="ExDoc v0.24.0">
<meta name="project" content="Mirage v0.78.0">
<meta name="author" content="Inhji">
<title>Mirage.Accounts.change_user_password — Mirage v0.78.0</title>
<link rel="stylesheet" href="dist/elixir-a172fe91e725dcb259e2.css" />
<script src="dist/sidebar_items-1a2031412d.js"></script>
<script src="docs_config.js"></script>
<script async src="dist/app-f27ff079945e43879c46.js"></script>
</head>
<body data-type="modules">
<script>
try {
if (localStorage.getItem('night-mode') === 'true') {
document.body.classList.add('night-mode');
}
} catch (error) { }
</script>
<div class="main">
<button class="sidebar-button sidebar-toggle">
<span class="icon-menu" title="Collapse/expand sidebar"></span>
</button>
<section class="sidebar">
<form class="sidebar-search" action="search.html">
<button type="submit" class="search-button" aria-label="Submit Search">
<span class="icon-search" aria-hidden="true" title="Submit search"></span>
</button>
<button type="button" tabindex="-1" class="search-close-button" aria-label="Cancel Search">
<span class="icon-cross" aria-hidden="true" title="Cancel search"></span>
</button>
<label class="search-label">
<input name="q" type="text" class="search-input" placeholder="Search..." aria-label="Input your search terms" autocomplete="off" />
</label>
</form>
<div class="autocomplete">
<div class="autocomplete-results">
</div>
</div>
<div class="sidebar-header">
<div class="sidebar-projectDetails">
<a href="https://git.inhji.de/inhji/mirage" class="sidebar-projectName">
Mirage
</a>
<strong class="sidebar-projectVersion">
v0.78.0
</strong>
</div>
</div>
<ul class="sidebar-listNav">
<li><a id="extras-list-link" href="#full-list">Pages</a></li>
<li><a id="modules-list-link" href="#full-list">Modules</a></li>