From a5df73e762354738a48c6d32cdb443368129e9f5 Mon Sep 17 00:00:00 2001 From: uatrend Date: Sun, 8 Sep 2019 22:50:00 +0500 Subject: [PATCH] Updated build Updated vee-validate 3 and fix his usage in all components. Updated Installer. Removed editor assets. Updated project dependencies. Updated ES6 usage. Updated readme. --- .gitignore | 3 + README.md | 157 +- app/installer/app/components/marketplace.vue | 8 +- .../app/components/package-details.vue | 4 +- .../app/components/package-manager.js | 16 +- .../app/components/package-upload.vue | 15 +- app/installer/app/lib/install.vue | 11 +- app/installer/app/lib/output.js | 2 +- app/installer/app/lib/package.js | 6 +- app/installer/app/lib/uninstall.vue | 11 +- app/installer/app/lib/update.vue | 11 +- app/installer/app/views/extensions.js | 4 +- app/installer/app/views/installer.js | 407 - app/installer/app/views/installer.vue | 331 + app/installer/app/views/marketplace.js | 6 +- app/installer/app/views/themes.js | 4 +- app/installer/app/views/update.js | 8 +- app/installer/assets/less/installer.less | 20 +- app/installer/views/installer.php | 12 +- app/installer/webpack.config.js | 2 +- app/system/app/components/input-date.vue | 31 +- .../app/components/input-image-meta.vue | 4 +- app/system/app/components/input-image.vue | 4 +- app/system/app/components/input-video.vue | 5 +- app/system/app/components/loader-bounce.vue | 60 +- app/system/app/components/loader.vue | 2 +- app/system/app/components/modal.vue | 3 +- app/system/app/components/pagination.js | 13 +- app/system/app/components/validation.vue | 103 + app/system/app/directives/check-all.js | 3 - app/system/app/directives/confirm.js | 67 - app/system/app/directives/gravatar.js | 4 +- app/system/app/directives/lazy-background.js | 1 - app/system/app/directives/order.js | 39 +- app/system/app/lib/filters-array.js | 164 - app/system/app/lib/filters.js | 173 +- app/system/app/lib/mobiledetect.js | 6 - app/system/app/lib/resourceCache.js | 75 +- app/system/app/lib/theme.js | 24 +- app/system/app/vue.js | 12 +- app/system/assets/less/pagekit.less | 9 +- .../modules/cache/app/components/settings.vue | 6 +- app/system/modules/captcha/app/interceptor.js | 3 +- .../dashboard/app/components/widget-feed.vue | 2 +- .../app/components/widget-location.vue | 37 +- .../dashboard/app/components/widget-panel.vue | 2 +- .../app/assets/codemirror/codemirror.css | 361 - .../app/assets/codemirror/codemirror.min.js | 1 - .../app/assets/codemirror/show-hint.css | 36 - .../editor/app/assets/marked/.editorconfig | 16 - .../editor/app/assets/marked/.eslintignore | 1 - .../editor/app/assets/marked/.eslintrc.json | 29 - .../editor/app/assets/marked/.gitattributes | 2 - .../assets/marked/.github/ISSUE_TEMPLATE.md | 42 - .../.github/ISSUE_TEMPLATE/Bug_report.md | 27 - .../.github/ISSUE_TEMPLATE/Feature_request.md | 14 - .../marked/.github/ISSUE_TEMPLATE/Proposal.md | 11 - .../marked/.github/PULL_REQUEST_TEMPLATE.md | 53 - .../.github/PULL_REQUEST_TEMPLATE/badges.md | 50 - .../.github/PULL_REQUEST_TEMPLATE/release.md | 25 - .../editor/app/assets/marked/.gitignore | 3 - .../editor/app/assets/marked/.travis.yml | 46 - .../editor/app/assets/marked/LICENSE.md | 43 - .../modules/editor/app/assets/marked/Makefile | 15 - .../editor/app/assets/marked/README.md | 76 - .../editor/app/assets/marked/SECURITY.md | 10 - .../editor/app/assets/marked/bin/marked | 215 - .../editor/app/assets/marked/bower.json | 23 - .../editor/app/assets/marked/component.json | 10 - .../editor/app/assets/marked/docs/AUTHORS.md | 269 - .../editor/app/assets/marked/docs/CNAME | 1 - .../app/assets/marked/docs/CODE_OF_CONDUCT.md | 74 - .../app/assets/marked/docs/CONTRIBUTING.md | 94 - .../app/assets/marked/docs/PUBLISHING.md | 24 - .../editor/app/assets/marked/docs/README.md | 85 - .../app/assets/marked/docs/USING_ADVANCED.md | 154 - .../app/assets/marked/docs/USING_PRO.md | 163 - .../editor/app/assets/marked/docs/broken.md | 426 - .../app/assets/marked/docs/demo/demo.css | 72 - .../app/assets/marked/docs/demo/demo.js | 534 - .../app/assets/marked/docs/demo/index.html | 78 - .../app/assets/marked/docs/demo/initial.md | 36 - .../app/assets/marked/docs/demo/preview.html | 12 - .../app/assets/marked/docs/demo/quickref.md | 167 - .../app/assets/marked/docs/demo/worker.js | 105 - .../marked/docs/img/logo-black-and-white.svg | 133 - .../app/assets/marked/docs/img/logo-black.svg | 32 - .../editor/app/assets/marked/docs/index.html | 270 - .../modules/editor/app/assets/marked/index.js | 1 - .../editor/app/assets/marked/jasmine.json | 11 - .../editor/app/assets/marked/lib/marked.js | 1704 ---- .../editor/app/assets/marked/man/marked.1 | 111 - .../editor/app/assets/marked/man/marked.1.txt | 96 - .../editor/app/assets/marked/marked.min.js | 6 - .../app/assets/marked/package-lock.json | 2091 ---- .../editor/app/assets/marked/package.json | 65 - .../app/assets/marked/test/.eslintrc.json | 27 - .../editor/app/assets/marked/test/bench.js | 263 - .../app/assets/marked/test/helpers/helpers.js | 26 - .../assets/marked/test/helpers/html-differ.js | 38 - .../app/assets/marked/test/helpers/load.js | 132 - .../specs/commonmark/commonmark.0.29.json | 5309 ---------- .../test/specs/gfm/commonmark.0.29.json | 5313 ---------- .../marked/test/specs/gfm/gfm.0.29.json | 147 - .../marked/test/specs/new/adjacent_lists.html | 9 - .../marked/test/specs/new/adjacent_lists.md | 5 - .../marked/test/specs/new/autolink_lines.html | 3 - .../marked/test/specs/new/autolink_lines.md | 2 - .../marked/test/specs/new/autolinks.html | 15 - .../assets/marked/test/specs/new/autolinks.md | 15 - .../test/specs/new/blockquote_list_item.html | 3 - .../test/specs/new/blockquote_list_item.md | 4 - .../assets/marked/test/specs/new/breaks.html | 1 - .../assets/marked/test/specs/new/breaks.md | 6 - .../test/specs/new/case_insensitive_refs.html | 1 - .../test/specs/new/case_insensitive_refs.md | 3 - .../marked/test/specs/new/code_spans.html | 3 - .../marked/test/specs/new/code_spans.md | 3 - .../marked/test/specs/new/def_blocks.html | 30 - .../marked/test/specs/new/def_blocks.md | 21 - .../marked/test/specs/new/double_link.html | 5 - .../marked/test/specs/new/double_link.md | 5 - .../marked/test/specs/new/em_2char.html | 25 - .../assets/marked/test/specs/new/em_2char.md | 25 - .../marked/test/specs/new/em_list_links.html | 55 - .../marked/test/specs/new/em_list_links.md | 40 - .../test/specs/new/emphasis_extra tests.html | 1 - .../test/specs/new/emphasis_extra tests.md | 1 - .../marked/test/specs/new/escaped_angles.html | 1 - .../marked/test/specs/new/escaped_angles.md | 1 - .../marked/test/specs/new/headings_id.html | 13 - .../marked/test/specs/new/headings_id.md | 14 - .../marked/test/specs/new/hr_list_break.html | 10 - .../marked/test/specs/new/hr_list_break.md | 6 - .../marked/test/specs/new/html_comments.html | 57 - .../marked/test/specs/new/html_comments.md | 56 - .../test/specs/new/html_no_new_line.html | 1 - .../marked/test/specs/new/html_no_new_line.md | 1 - .../assets/marked/test/specs/new/images.html | 5 - .../assets/marked/test/specs/new/images.md | 12 - .../test/specs/new/lazy_blockquotes.html | 4 - .../marked/test/specs/new/lazy_blockquotes.md | 2 - .../assets/marked/test/specs/new/link_lt.html | 1 - .../assets/marked/test/specs/new/link_lt.md | 1 - .../test/specs/new/link_tick_redos.html | 31 - .../marked/test/specs/new/link_tick_redos.md | 31 - .../assets/marked/test/specs/new/links.html | 3 - .../app/assets/marked/test/specs/new/links.md | 5 - .../marked/test/specs/new/links_paren.html | 5 - .../marked/test/specs/new/links_paren.md | 5 - .../marked/test/specs/new/list_item_text.html | 1 - .../marked/test/specs/new/list_item_text.md | 5 - .../marked/test/specs/new/list_table.html | 44 - .../marked/test/specs/new/list_table.md | 13 - .../assets/marked/test/specs/new/main.html | 4 - .../app/assets/marked/test/specs/new/main.md | 55 - .../marked/test/specs/new/mangle_xss.html | 3 - .../marked/test/specs/new/mangle_xss.md | 7 - .../marked/test/specs/new/nested_code.html | 9 - .../marked/test/specs/new/nested_code.md | 9 - .../marked/test/specs/new/nested_em.html | 3 - .../assets/marked/test/specs/new/nested_em.md | 3 - .../test/specs/new/nested_square_link.html | 3 - .../test/specs/new/nested_square_link.md | 3 - .../marked/test/specs/new/nogfm_hashtag.html | 5 - .../marked/test/specs/new/nogfm_hashtag.md | 9 - .../marked/test/specs/new/not_a_link.html | 1 - .../marked/test/specs/new/not_a_link.md | 1 - ...pedantic_heading_interrupts_paragraph.html | 5 - .../pedantic_heading_interrupts_paragraph.md | 10 - .../marked/test/specs/new/ref_paren.html | 1 - .../assets/marked/test/specs/new/ref_paren.md | 3 - .../marked/test/specs/new/relative_urls.html | 35 - .../marked/test/specs/new/relative_urls.md | 30 - .../marked/test/specs/new/same_bullet.html | 5 - .../marked/test/specs/new/same_bullet.md | 3 - .../marked/test/specs/new/sanitize_links.html | 5 - .../marked/test/specs/new/sanitize_links.md | 12 - .../marked/test/specs/new/smartypants.html | 6 - .../marked/test/specs/new/smartypants.md | 9 - .../test/specs/new/smartypants_code.html | 11 - .../marked/test/specs/new/smartypants_code.md | 15 - .../marked/test/specs/new/table_cells.html | 27 - .../marked/test/specs/new/table_cells.md | 55 - .../test/specs/new/toplevel_paragraphs.html | 28 - .../test/specs/new/toplevel_paragraphs.md | 34 - .../marked/test/specs/new/tricky_list.html | 23 - .../marked/test/specs/new/tricky_list.md | 15 - .../marked/test/specs/new/uppercase_hex.html | 2 - .../marked/test/specs/new/uppercase_hex.md | 5 - .../original/amps_and_angles_encoding.html | 17 - .../original/amps_and_angles_encoding.md | 25 - .../test/specs/original/auto_links.html | 18 - .../marked/test/specs/original/auto_links.md | 13 - .../specs/original/backslash_escapes.html | 118 - .../test/specs/original/backslash_escapes.md | 120 - .../blockquotes_with_code_blocks.html | 15 - .../original/blockquotes_with_code_blocks.md | 11 - .../test/specs/original/code_blocks.html | 18 - .../marked/test/specs/original/code_blocks.md | 14 - .../test/specs/original/code_spans.html | 6 - .../marked/test/specs/original/code_spans.md | 6 - ...apped_paragraphs_with_list_like_lines.html | 8 - ...wrapped_paragraphs_with_list_like_lines.md | 8 - .../test/specs/original/horizontal_rules.html | 85 - .../test/specs/original/horizontal_rules.md | 94 - .../specs/original/inline_html_advanced.html | 15 - .../specs/original/inline_html_advanced.md | 15 - .../specs/original/inline_html_comments.html | 13 - .../specs/original/inline_html_comments.md | 13 - .../specs/original/inline_html_simple.html | 72 - .../test/specs/original/inline_html_simple.md | 69 - .../specs/original/links_inline_style.html | 15 - .../test/specs/original/links_inline_style.md | 19 - .../specs/original/links_reference_style.html | 52 - .../specs/original/links_reference_style.md | 75 - .../original/links_shortcut_references.html | 9 - .../original/links_shortcut_references.md | 24 - .../original/literal_quotes_in_titles.html | 3 - .../original/literal_quotes_in_titles.md | 11 - .../markdown_documentation_basics.html | 314 - .../original/markdown_documentation_basics.md | 310 - .../markdown_documentation_syntax.html | 942 -- .../original/markdown_documentation_syntax.md | 892 -- .../specs/original/nested_blockquotes.html | 9 - .../test/specs/original/nested_blockquotes.md | 5 - .../original/ordered_and_unordered_lists.html | 164 - .../original/ordered_and_unordered_lists.md | 144 - .../original/strong_and_em_together.html | 7 - .../specs/original/strong_and_em_together.md | 7 - .../marked/test/specs/original/tabs.html | 25 - .../assets/marked/test/specs/original/tabs.md | 21 - .../marked/test/specs/original/tidyness.html | 8 - .../marked/test/specs/original/tidyness.md | 5 - .../marked/test/specs/redos/link_code.html | 1 - .../marked/test/specs/redos/link_code.md | 9 - .../marked/test/specs/redos/link_redos.html | 5 - .../marked/test/specs/redos/link_redos.md | 2 - .../marked/test/specs/redos/quadratic_br.js | 4 - .../test/specs/redos/quadratic_email.js | 4 - .../test/specs/redos/redos_html_closing.html | 1 - .../test/specs/redos/redos_html_closing.md | 1 - .../marked/test/specs/redos/redos_nolink.html | 1 - .../marked/test/specs/redos/redos_nolink.md | 1 - .../app/assets/marked/test/specs/run-spec.js | 50 - .../test/specs/security/sanitizer_bypass.html | 6 - .../test/specs/security/sanitizer_bypass.md | 9 - .../sanitizer_bypass_remove_generic.html | 2 - .../sanitizer_bypass_remove_generic.md | 6 - .../sanitizer_bypass_remove_script.html | 1 - .../sanitizer_bypass_remove_script.md | 5 - .../security/sanitizer_bypass_remove_tag.html | 1 - .../security/sanitizer_bypass_remove_tag.md | 5 - .../assets/marked/test/unit/marked-spec.js | 73 - .../app/assets/marked/test/update-specs.js | 78 - .../app/assets/tinymce/jquery.tinymce.min.js | 92 - .../editor/app/assets/tinymce/langs/readme.md | 3 - .../editor/app/assets/tinymce/license.txt | 504 - .../tinymce/plugins/advlist/plugin.min.js | 9 - .../tinymce/plugins/anchor/plugin.min.js | 9 - .../tinymce/plugins/autolink/plugin.min.js | 9 - .../tinymce/plugins/autoresize/plugin.min.js | 9 - .../tinymce/plugins/autosave/plugin.min.js | 9 - .../tinymce/plugins/bbcode/plugin.min.js | 9 - .../tinymce/plugins/charmap/plugin.min.js | 9 - .../assets/tinymce/plugins/code/plugin.min.js | 9 - .../tinymce/plugins/codesample/plugin.min.js | 9 - .../tinymce/plugins/colorpicker/plugin.min.js | 9 - .../tinymce/plugins/contextmenu/plugin.min.js | 9 - .../plugins/directionality/plugin.min.js | 9 - .../tinymce/plugins/emoticons/js/emojis.js | 9015 ----------------- .../plugins/emoticons/js/emojis.min.js | 2 - .../tinymce/plugins/emoticons/plugin.min.js | 9 - .../tinymce/plugins/fullpage/plugin.min.js | 9 - .../tinymce/plugins/fullscreen/plugin.min.js | 9 - .../assets/tinymce/plugins/help/plugin.min.js | 9 - .../assets/tinymce/plugins/hr/plugin.min.js | 9 - .../tinymce/plugins/image/plugin.min.js | 9 - .../tinymce/plugins/imagetools/plugin.min.js | 9 - .../tinymce/plugins/importcss/plugin.min.js | 9 - .../plugins/insertdatetime/plugin.min.js | 9 - .../plugins/legacyoutput/plugin.min.js | 9 - .../assets/tinymce/plugins/link/plugin.min.js | 9 - .../tinymce/plugins/lists/plugin.min.js | 9 - .../tinymce/plugins/media/plugin.min.js | 9 - .../tinymce/plugins/nonbreaking/plugin.min.js | 9 - .../tinymce/plugins/noneditable/plugin.min.js | 9 - .../tinymce/plugins/pagebreak/plugin.min.js | 9 - .../tinymce/plugins/paste/plugin.min.js | 9 - .../tinymce/plugins/preview/plugin.min.js | 9 - .../tinymce/plugins/print/plugin.min.js | 9 - .../tinymce/plugins/quickbars/plugin.min.js | 9 - .../assets/tinymce/plugins/save/plugin.min.js | 9 - .../plugins/searchreplace/plugin.min.js | 9 - .../plugins/spellchecker/plugin.min.js | 9 - .../tinymce/plugins/tabfocus/plugin.min.js | 9 - .../tinymce/plugins/table/plugin.min.js | 9 - .../tinymce/plugins/template/plugin.min.js | 9 - .../tinymce/plugins/textcolor/plugin.min.js | 9 - .../tinymce/plugins/textpattern/plugin.min.js | 9 - .../assets/tinymce/plugins/toc/plugin.min.js | 9 - .../plugins/visualblocks/plugin.min.js | 9 - .../tinymce/plugins/visualchars/plugin.min.js | 9 - .../tinymce/plugins/wordcount/plugin.min.js | 9 - .../skins/content/default/content.min.css | 7 - .../skins/content/document/content.min.css | 7 - .../skins/content/writer/content.min.css | 7 - .../ui/oxide-dark/content.inline.min.css | 7 - .../skins/ui/oxide-dark/content.min.css | 7 - .../ui/oxide-dark/content.mobile.min.css | 7 - .../ui/oxide-dark/fonts/tinymce-mobile.woff | Bin 4624 -> 0 bytes .../tinymce/skins/ui/oxide-dark/skin.min.css | 7 - .../skins/ui/oxide-dark/skin.mobile.min.css | 7 - .../skins/ui/oxide/content.inline.min.css | 7 - .../tinymce/skins/ui/oxide/content.min.css | 7 - .../skins/ui/oxide/content.mobile.min.css | 7 - .../skins/ui/oxide/fonts/tinymce-mobile.woff | Bin 4624 -> 0 bytes .../tinymce/skins/ui/oxide/skin.min.css | 7 - .../skins/ui/oxide/skin.mobile.min.css | 7 - .../assets/tinymce/themes/mobile/theme.min.js | 9 - .../assets/tinymce/themes/silver/theme.min.js | 9 - .../editor/app/assets/tinymce/tinymce.min.js | 9 - .../editor/app/components/editor-code.js | 4 +- .../modules/editor/app/components/editor.vue | 284 +- .../app/components/htmleditor/editor-html.js | 4 +- .../components/htmleditor/image-preview.vue | 32 +- .../editor/app/components/htmleditor/image.js | 9 +- .../components/htmleditor/link-preview.vue | 18 +- .../editor/app/components/htmleditor/link.js | 9 +- .../editor/app/components/htmleditor/url.js | 4 +- .../components/htmleditor/video-preview.vue | 84 +- .../editor/app/components/htmleditor/video.js | 11 +- .../editor/app/components/image-picker.vue | 106 +- .../editor/app/components/link-picker.vue | 40 +- .../app/components/tinymce/editor-tinymce.js | 4 +- .../editor/app/components/tinymce/image.js | 4 +- .../editor/app/components/tinymce/link.js | 4 +- .../editor/app/components/tinymce/video.js | 17 +- .../editor/app/components/video-picker.vue | 56 +- .../finder/app/components/link-storage.vue | 6 +- .../finder/app/components/panel-finder.vue | 15 +- .../modules/finder/app/templates/table.html | 7 +- app/system/modules/finder/app/views/index.js | 4 +- app/system/modules/finder/webpack.config.js | 2 +- app/system/modules/info/app/views/info.js | 6 +- .../modules/mail/app/components/settings.vue | 6 +- .../settings/app/components/locale.vue | 3 +- .../modules/settings/app/components/misc.vue | 2 +- .../settings/app/components/system.vue | 2 +- .../site/app/components/input-link.vue | 56 +- .../site/app/components/input-tree.vue | 14 +- .../modules/site/app/components/link-page.vue | 6 +- .../modules/site/app/components/node-link.vue | 14 +- .../modules/site/app/components/node-meta.vue | 6 +- .../modules/site/app/components/node-page.vue | 17 +- .../site/app/components/node-settings.vue | 4 +- .../site/app/components/panel-link.vue | 4 +- .../modules/site/app/components/site-code.vue | 2 +- .../site/app/components/site-general.vue | 22 +- .../site/app/components/site-maintenance.vue | 2 +- .../modules/site/app/components/site-meta.vue | 2 +- .../site/app/components/template-settings.js | 6 + .../site/app/components/widget-menu.vue | 28 +- .../site/app/components/widget-text.vue | 25 +- .../modules/site/app/templates/settings.html | 5 +- app/system/modules/site/app/views/edit.js | 63 +- app/system/modules/site/app/views/index.js | 44 +- app/system/modules/site/app/views/settings.js | 38 +- app/system/modules/site/views/admin/edit.php | 6 +- app/system/modules/site/views/admin/index.php | 15 +- .../modules/site/views/admin/settings.php | 4 +- app/system/modules/site/webpack.config.js | 2 +- .../theme/js/components/autocomplete.js | 4 +- .../modules/theme/js/components/pagination.js | 4 +- app/system/modules/theme/js/sidebar.js | 75 - app/system/modules/theme/webpack.config.js | 2 +- .../modules/user/app/components/link-user.vue | 6 +- .../user/app/components/user-settings.vue | 83 +- .../user/app/components/widget-login.vue | 30 +- .../modules/user/app/lib/permissions.js | 2 +- .../user/app/views/admin/permission-index.js | 2 +- .../user/app/views/admin/role-index.js | 51 +- .../modules/user/app/views/admin/settings.js | 6 +- .../modules/user/app/views/admin/user-edit.js | 29 +- .../user/app/views/admin/user-index.js | 14 +- app/system/modules/user/app/views/profile.js | 48 +- .../modules/user/app/views/registration.js | 43 +- .../modules/user/app/views/reset-confirm.js | 43 +- .../modules/user/views/admin/role-index.php | 21 +- .../modules/user/views/admin/settings.php | 2 +- .../modules/user/views/admin/user-edit.php | 4 +- .../modules/user/views/admin/user-index.php | 2 - app/system/modules/user/views/profile.php | 52 +- .../modules/user/views/registration.php | 42 +- .../modules/user/views/reset-confirm.php | 16 +- .../app/components/template-settings.js | 7 + .../widget/app/components/widget-settings.vue | 20 +- .../app/components/widget-visibility.vue | 2 +- app/system/modules/widget/app/views/edit.js | 45 +- app/system/modules/widget/app/views/index.js | 6 +- app/system/modules/widget/app/widgets.js | 19 +- app/system/modules/widget/views/edit.php | 4 +- app/system/modules/widget/webpack.config.js | 2 +- app/system/webpack.config.js | 8 +- composer.json | 2 +- package.json | 28 +- .../pagekit/blog/app/components/link-blog.vue | 6 +- .../pagekit/blog/app/components/post-meta.vue | 6 +- .../blog/app/components/post-settings.vue | 22 +- .../blog/app/views/admin/comment-index.js | 26 +- .../pagekit/blog/app/views/admin/post-edit.js | 26 +- .../blog/app/views/admin/post-index.js | 8 +- .../pagekit/blog/app/views/admin/settings.js | 6 +- packages/pagekit/blog/app/views/comment.vue | 31 +- packages/pagekit/blog/app/views/comments.js | 37 +- packages/pagekit/blog/app/views/reply.vue | 117 +- .../blog/views/admin/comment-index.php | 41 +- .../pagekit/blog/views/admin/post-edit.php | 5 +- .../theme-one/app/components/node-theme.vue | 6 +- .../theme-one/app/components/site-theme.vue | 6 +- .../theme-one/app/components/widget-theme.vue | 6 +- webpack.config.js | 11 +- 422 files changed, 1857 insertions(+), 36715 deletions(-) delete mode 100644 app/installer/app/views/installer.js create mode 100644 app/installer/app/views/installer.vue create mode 100644 app/system/app/components/validation.vue delete mode 100644 app/system/app/lib/filters-array.js delete mode 100644 app/system/app/lib/mobiledetect.js delete mode 100755 app/system/modules/editor/app/assets/codemirror/codemirror.css delete mode 100644 app/system/modules/editor/app/assets/codemirror/codemirror.min.js delete mode 100755 app/system/modules/editor/app/assets/codemirror/show-hint.css delete mode 100755 app/system/modules/editor/app/assets/marked/.editorconfig delete mode 100755 app/system/modules/editor/app/assets/marked/.eslintignore delete mode 100755 app/system/modules/editor/app/assets/marked/.eslintrc.json delete mode 100755 app/system/modules/editor/app/assets/marked/.gitattributes delete mode 100755 app/system/modules/editor/app/assets/marked/.github/ISSUE_TEMPLATE.md delete mode 100755 app/system/modules/editor/app/assets/marked/.github/ISSUE_TEMPLATE/Bug_report.md delete mode 100755 app/system/modules/editor/app/assets/marked/.github/ISSUE_TEMPLATE/Feature_request.md delete mode 100755 app/system/modules/editor/app/assets/marked/.github/ISSUE_TEMPLATE/Proposal.md delete mode 100755 app/system/modules/editor/app/assets/marked/.github/PULL_REQUEST_TEMPLATE.md delete mode 100755 app/system/modules/editor/app/assets/marked/.github/PULL_REQUEST_TEMPLATE/badges.md delete mode 100755 app/system/modules/editor/app/assets/marked/.github/PULL_REQUEST_TEMPLATE/release.md delete mode 100755 app/system/modules/editor/app/assets/marked/.gitignore delete mode 100755 app/system/modules/editor/app/assets/marked/.travis.yml delete mode 100755 app/system/modules/editor/app/assets/marked/LICENSE.md delete mode 100755 app/system/modules/editor/app/assets/marked/Makefile delete mode 100755 app/system/modules/editor/app/assets/marked/README.md delete mode 100755 app/system/modules/editor/app/assets/marked/SECURITY.md delete mode 100755 app/system/modules/editor/app/assets/marked/bin/marked delete mode 100755 app/system/modules/editor/app/assets/marked/bower.json delete mode 100755 app/system/modules/editor/app/assets/marked/component.json delete mode 100755 app/system/modules/editor/app/assets/marked/docs/AUTHORS.md delete mode 100755 app/system/modules/editor/app/assets/marked/docs/CNAME delete mode 100755 app/system/modules/editor/app/assets/marked/docs/CODE_OF_CONDUCT.md delete mode 100755 app/system/modules/editor/app/assets/marked/docs/CONTRIBUTING.md delete mode 100755 app/system/modules/editor/app/assets/marked/docs/PUBLISHING.md delete mode 100755 app/system/modules/editor/app/assets/marked/docs/README.md delete mode 100755 app/system/modules/editor/app/assets/marked/docs/USING_ADVANCED.md delete mode 100755 app/system/modules/editor/app/assets/marked/docs/USING_PRO.md delete mode 100755 app/system/modules/editor/app/assets/marked/docs/broken.md delete mode 100755 app/system/modules/editor/app/assets/marked/docs/demo/demo.css delete mode 100755 app/system/modules/editor/app/assets/marked/docs/demo/demo.js delete mode 100755 app/system/modules/editor/app/assets/marked/docs/demo/index.html delete mode 100755 app/system/modules/editor/app/assets/marked/docs/demo/initial.md delete mode 100755 app/system/modules/editor/app/assets/marked/docs/demo/preview.html delete mode 100755 app/system/modules/editor/app/assets/marked/docs/demo/quickref.md delete mode 100755 app/system/modules/editor/app/assets/marked/docs/demo/worker.js delete mode 100755 app/system/modules/editor/app/assets/marked/docs/img/logo-black-and-white.svg delete mode 100755 app/system/modules/editor/app/assets/marked/docs/img/logo-black.svg delete mode 100755 app/system/modules/editor/app/assets/marked/docs/index.html delete mode 100755 app/system/modules/editor/app/assets/marked/index.js delete mode 100755 app/system/modules/editor/app/assets/marked/jasmine.json delete mode 100755 app/system/modules/editor/app/assets/marked/lib/marked.js delete mode 100755 app/system/modules/editor/app/assets/marked/man/marked.1 delete mode 100755 app/system/modules/editor/app/assets/marked/man/marked.1.txt delete mode 100755 app/system/modules/editor/app/assets/marked/marked.min.js delete mode 100755 app/system/modules/editor/app/assets/marked/package-lock.json delete mode 100755 app/system/modules/editor/app/assets/marked/package.json delete mode 100755 app/system/modules/editor/app/assets/marked/test/.eslintrc.json delete mode 100755 app/system/modules/editor/app/assets/marked/test/bench.js delete mode 100755 app/system/modules/editor/app/assets/marked/test/helpers/helpers.js delete mode 100755 app/system/modules/editor/app/assets/marked/test/helpers/html-differ.js delete mode 100755 app/system/modules/editor/app/assets/marked/test/helpers/load.js delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/commonmark/commonmark.0.29.json delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/gfm/commonmark.0.29.json delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/gfm/gfm.0.29.json delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/adjacent_lists.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/adjacent_lists.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/autolink_lines.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/autolink_lines.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/autolinks.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/autolinks.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/blockquote_list_item.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/blockquote_list_item.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/breaks.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/breaks.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/case_insensitive_refs.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/case_insensitive_refs.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/code_spans.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/code_spans.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/def_blocks.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/def_blocks.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/double_link.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/double_link.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/em_2char.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/em_2char.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/em_list_links.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/em_list_links.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/emphasis_extra tests.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/emphasis_extra tests.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/escaped_angles.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/escaped_angles.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/headings_id.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/headings_id.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/hr_list_break.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/hr_list_break.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/html_comments.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/html_comments.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/html_no_new_line.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/html_no_new_line.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/images.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/images.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/lazy_blockquotes.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/lazy_blockquotes.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/link_lt.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/link_lt.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/link_tick_redos.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/link_tick_redos.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/links.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/links.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/links_paren.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/links_paren.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/list_item_text.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/list_item_text.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/list_table.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/list_table.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/main.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/main.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/mangle_xss.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/mangle_xss.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/nested_code.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/nested_code.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/nested_em.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/nested_em.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/nested_square_link.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/nested_square_link.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/nogfm_hashtag.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/nogfm_hashtag.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/not_a_link.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/not_a_link.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/pedantic_heading_interrupts_paragraph.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/pedantic_heading_interrupts_paragraph.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/ref_paren.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/ref_paren.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/relative_urls.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/relative_urls.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/same_bullet.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/same_bullet.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/sanitize_links.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/sanitize_links.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/smartypants.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/smartypants.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/smartypants_code.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/smartypants_code.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/table_cells.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/table_cells.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/toplevel_paragraphs.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/toplevel_paragraphs.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/tricky_list.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/tricky_list.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/uppercase_hex.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/new/uppercase_hex.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/amps_and_angles_encoding.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/amps_and_angles_encoding.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/auto_links.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/auto_links.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/backslash_escapes.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/backslash_escapes.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/blockquotes_with_code_blocks.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/blockquotes_with_code_blocks.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/code_blocks.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/code_blocks.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/code_spans.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/code_spans.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/hard_wrapped_paragraphs_with_list_like_lines.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/hard_wrapped_paragraphs_with_list_like_lines.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/horizontal_rules.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/horizontal_rules.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_advanced.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_advanced.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_comments.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_comments.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_simple.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_simple.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/links_inline_style.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/links_inline_style.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/links_reference_style.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/links_reference_style.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/links_shortcut_references.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/links_shortcut_references.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/literal_quotes_in_titles.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/literal_quotes_in_titles.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/markdown_documentation_basics.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/markdown_documentation_basics.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/markdown_documentation_syntax.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/markdown_documentation_syntax.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/nested_blockquotes.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/nested_blockquotes.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/ordered_and_unordered_lists.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/ordered_and_unordered_lists.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/strong_and_em_together.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/strong_and_em_together.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/tabs.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/tabs.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/tidyness.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/original/tidyness.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/redos/link_code.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/redos/link_code.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/redos/link_redos.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/redos/link_redos.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/redos/quadratic_br.js delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/redos/quadratic_email.js delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/redos/redos_html_closing.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/redos/redos_html_closing.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/redos/redos_nolink.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/redos/redos_nolink.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/run-spec.js delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_generic.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_generic.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_script.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_script.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_tag.html delete mode 100755 app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_tag.md delete mode 100755 app/system/modules/editor/app/assets/marked/test/unit/marked-spec.js delete mode 100755 app/system/modules/editor/app/assets/marked/test/update-specs.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/jquery.tinymce.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/langs/readme.md delete mode 100755 app/system/modules/editor/app/assets/tinymce/license.txt delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/advlist/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/anchor/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/autolink/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/autoresize/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/autosave/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/bbcode/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/charmap/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/code/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/codesample/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/colorpicker/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/contextmenu/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/directionality/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/emoticons/js/emojis.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/emoticons/js/emojis.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/emoticons/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/fullpage/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/fullscreen/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/help/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/hr/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/image/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/imagetools/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/importcss/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/insertdatetime/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/legacyoutput/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/link/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/lists/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/media/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/nonbreaking/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/noneditable/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/pagebreak/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/paste/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/preview/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/print/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/quickbars/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/save/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/searchreplace/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/spellchecker/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/tabfocus/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/table/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/template/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/textcolor/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/textpattern/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/toc/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/visualblocks/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/visualchars/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/plugins/wordcount/plugin.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/skins/content/default/content.min.css delete mode 100755 app/system/modules/editor/app/assets/tinymce/skins/content/document/content.min.css delete mode 100755 app/system/modules/editor/app/assets/tinymce/skins/content/writer/content.min.css delete mode 100755 app/system/modules/editor/app/assets/tinymce/skins/ui/oxide-dark/content.inline.min.css delete mode 100755 app/system/modules/editor/app/assets/tinymce/skins/ui/oxide-dark/content.min.css delete mode 100755 app/system/modules/editor/app/assets/tinymce/skins/ui/oxide-dark/content.mobile.min.css delete mode 100755 app/system/modules/editor/app/assets/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff delete mode 100755 app/system/modules/editor/app/assets/tinymce/skins/ui/oxide-dark/skin.min.css delete mode 100755 app/system/modules/editor/app/assets/tinymce/skins/ui/oxide-dark/skin.mobile.min.css delete mode 100755 app/system/modules/editor/app/assets/tinymce/skins/ui/oxide/content.inline.min.css delete mode 100755 app/system/modules/editor/app/assets/tinymce/skins/ui/oxide/content.min.css delete mode 100755 app/system/modules/editor/app/assets/tinymce/skins/ui/oxide/content.mobile.min.css delete mode 100755 app/system/modules/editor/app/assets/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff delete mode 100755 app/system/modules/editor/app/assets/tinymce/skins/ui/oxide/skin.min.css delete mode 100755 app/system/modules/editor/app/assets/tinymce/skins/ui/oxide/skin.mobile.min.css delete mode 100755 app/system/modules/editor/app/assets/tinymce/themes/mobile/theme.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/themes/silver/theme.min.js delete mode 100755 app/system/modules/editor/app/assets/tinymce/tinymce.min.js create mode 100644 app/system/modules/site/app/components/template-settings.js create mode 100644 app/system/modules/widget/app/components/template-settings.js diff --git a/.gitignore b/.gitignore index 3232d661..c7eded05 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,9 @@ **/app/bundle/**/*.js # Ignor assets /app/assets/* +/app/system/modules/editor/app/assets/* +# Don't ignore editor assets +!/app/system/modules/editor/app/assets/tinymce_skin # Ignore vendor folder /app/vendor/* # Ignor module assets diff --git a/README.md b/README.md index dac553a6..80c5c116 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ - -
+ - accessibility text + + accessibility text
@@ -23,143 +23,22 @@ Build includes: - Blog extension - Theme One -[Install from source](#install) before installation. The installation procedure is the same as in the official [documentation](https://pagekit.com/docs/getting-started/installation). +Download the latest [build](https://github.com/uatrend/pagekit/releases) or [install from source](#install) before installation. +The installation procedure is the same as in the official [documentation](https://pagekit.com/docs/getting-started/installation). -Marketplace functionality like install, update and remove works the same like in original version. Before enabling extensions, update them for compatibility. Debug mode and debug panel work the same as in the main version. +Marketplace functionality like install, update and remove works the same like in original version. +**Note!** Before enabling extensions, update them for compatibility. Debug mode and debug panel work the same as in the main version. ------ ### Major changes: -**Required PHP Version - 7.2 or higher.** +- **Required PHP Version - 7.2 or higher.** +- **[Updated all project dependencies](https://github.com/uatrend/pagekit/blob/develop/package.json).** +- **Updated all core javascript components**. +- **Removed jQuery**. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
UpdatedAdded
- Vue - - 2.6.10 - - Vue-event-manager - - 2.1.2 -
- Vue-resource - - 1.5.1 - - Vee-validate - - 2.2.15 -
- UIkit - - 3.1.7 - - Vue-nestable - - 2.4.3 -
- Lodash - - 4.17.15 - - Flatpickr - - 4.6.2 -
- Webpack - - 4.39.3 - - Tinymce - - 5.0.14 -
- Gulp - - 4.0.2 - -
- Symfony Framework - - 4.3 - -
- Composer - - 1.9 - -
- Codemirror - - 5.48.4 - -
- -**Updated all core javascript components** for compability with new dependencies. Several bugs that are present in the original assembly have been fixed, some styles have been changed for ease of use. The mobile version has remained the same with minor changes. - -Added components for **UIkit 3** - **autocomplete, pagination, htmleditor**. -Location: ``` app/system/modules/theme/js/components``` - -Removed **jQuery**, **Bower**. +Several bugs that are present in the original assembly have been fixed, some styles have been changed for ease of use. The mobile version has remained the same with minor changes. ## Install from source @@ -230,9 +109,9 @@ $ gulp cldr ## Admin Theme -Theme is fully compatible with **UIkit 3**. -Changed default admin theme - script, layout and colors. Added side and top menus with dropdowns. -For individual markup of each page added class page in the body tag generated via php. +Theme is fully compatible with **UIkit 3**. +Changed default admin theme - script, layout and colors. Added side and top menus with dropdowns. +For individual markup of each page added class page in the body tag generated via php. Example, class for dashboard page look like: @@ -242,13 +121,13 @@ Example, class for dashboard page look like: ## Editor Settings -Added the ability to select an editor in the settings: HTML Editor, Tinymce or Codemirror. -Moved all editor component dependencies to: ``` app/system/modules/editor/app/assets```. +Added the ability to select an editor in the settings: HTML Editor, Tinymce or Codemirror. +Moved all editor component dependencies to: ``` app/system/modules/editor/app/assets```. Added split mode for Tinymce. ## Theme Plugin -(added to core ```/app/system/app/lib/theme.js```) +(added to core ```/app/system/app/lib/theme.js```) Ability to programmatically configure the buttons, dropdown lists, pagination and search form in the top menu for each component used (see code). diff --git a/app/installer/app/components/marketplace.vue b/app/installer/app/components/marketplace.vue index 25a58129..1e8edcee 100644 --- a/app/installer/app/components/marketplace.vue +++ b/app/installer/app/components/marketplace.vue @@ -102,11 +102,11 @@ \ No newline at end of file diff --git a/app/installer/app/views/marketplace.js b/app/installer/app/views/marketplace.js index 0adbdf2e..4df37939 100644 --- a/app/installer/app/views/marketplace.js +++ b/app/installer/app/views/marketplace.js @@ -1,4 +1,4 @@ -module.exports = { +var Marketplace = { name: 'marketplace', @@ -49,4 +49,6 @@ module.exports = { }; -Vue.ready(module.exports); +export default Marketplace; + +Vue.ready(Marketplace); diff --git a/app/installer/app/views/themes.js b/app/installer/app/views/themes.js index 0dfed2e6..0c0e448d 100644 --- a/app/installer/app/views/themes.js +++ b/app/installer/app/views/themes.js @@ -1,5 +1,7 @@ +import PackageManager from '../components/package-manager'; + window.Themes = _.merge( - require('../components/package-manager.js'), + PackageManager, { name: 'themes', diff --git a/app/installer/app/views/update.js b/app/installer/app/views/update.js index b379dc78..40b121c4 100644 --- a/app/installer/app/views/update.js +++ b/app/installer/app/views/update.js @@ -1,6 +1,6 @@ -const Version = require('../lib/version'); +import Version from '../lib/version'; -module.exports = { +var Update = { name: 'update', @@ -150,4 +150,6 @@ module.exports = { }; -Vue.ready(module.exports); +export default Update; + +Vue.ready(Update); diff --git a/app/installer/assets/less/installer.less b/app/installer/assets/less/installer.less index 33a85aa7..9970161a 100644 --- a/app/installer/assets/less/installer.less +++ b/app/installer/assets/less/installer.less @@ -76,7 +76,7 @@ body { margin-top: @form-horizontal-label-margin-top; float: left; /* Theme Reset */ - font-size: @global-font-size; + font-size: 15px;//@global-font-size; line-height: @global-line-height; text-transform: none; } @@ -292,4 +292,22 @@ body { } } +.uk-card-body { + padding: 30px; +} + +.uk-select { + padding: 0 4px; +} + +.slide-enter-active { + transition: all .3s ease; +} +.slide-leave-active { + display: none; +} +.slide-enter, .slide-leave-to { + transform: translateX(100%); + opacity: 0; +} diff --git a/app/installer/views/installer.php b/app/installer/views/installer.php index 1238fb98..61d1c3d2 100644 --- a/app/installer/views/installer.php +++ b/app/installer/views/installer.php @@ -6,16 +6,12 @@ style('installer-css', 'app/installer/assets/css/installer.css') ?> - script('installer', 'app/installer/app/bundle/installer.js', ['vue', 'uikit']) ?> + script('vue-dist1', 'app/assets/vue/dist/vue.js') ?> + script('vue1', 'app/system/app/bundle/vue.js', ['uikit', 'uikit-icons', 'vue-dist1', 'lodash', 'locale']) ?> + script('installer', 'app/installer/app/bundle/installer.js', ['vue1', 'uikit']) ?> render('head') ?> - -
-
-
-
-
- +
diff --git a/app/installer/webpack.config.js b/app/installer/webpack.config.js index 1a9a60ac..abc698b4 100644 --- a/app/installer/webpack.config.js +++ b/app/installer/webpack.config.js @@ -2,7 +2,7 @@ module.exports = [ { entry: { - installer: './app/views/installer', + installer: './app/views/installer.vue', extensions: './app/views/extensions', marketplace: './app/views/marketplace', themes: './app/views/themes', diff --git a/app/system/app/components/input-date.vue b/app/system/app/components/input-date.vue index 8af6f348..c9f67355 100644 --- a/app/system/app/components/input-date.vue +++ b/app/system/app/components/input-date.vue @@ -1,32 +1,30 @@ \ No newline at end of file diff --git a/app/system/app/components/loader.vue b/app/system/app/components/loader.vue index 52a3a46d..f366fdcb 100644 --- a/app/system/app/components/loader.vue +++ b/app/system/app/components/loader.vue @@ -8,6 +8,6 @@ export default { name: 'Loader', -}; +} diff --git a/app/system/app/components/modal.vue b/app/system/app/components/modal.vue index 6eeafc99..fbc0524c 100644 --- a/app/system/app/components/modal.vue +++ b/app/system/app/components/modal.vue @@ -1,7 +1,8 @@ diff --git a/app/system/app/components/pagination.js b/app/system/app/components/pagination.js index 9a346069..d8d59571 100644 --- a/app/system/app/components/pagination.js +++ b/app/system/app/components/pagination.js @@ -1,4 +1,4 @@ -module.exports = { +export default { template: '', @@ -7,10 +7,6 @@ module.exports = { default: 0, type: Number, }, - // current: { - // default: 0, - // type: Number, - // }, pages: { default: 1, @@ -35,7 +31,6 @@ module.exports = { data() { return { - // page: this.current, page: this.value, }; }, @@ -44,7 +39,6 @@ module.exports = { var name = this.name || this.$parent.$options.name || this.$parent.$options._componentTag; - // this.key = `${this.$parent.$options.name}.pagination`; this.key = `${name}.pagination`; if (this.page === null && this.$session.get(this.key)) { @@ -66,16 +60,11 @@ module.exports = { UIkit.util.on(this.pagination.$el, 'select.uk.pagination', (e, pagination, page) => { vm.$emit('input', Number(page)); - // vm.$set(vm, 'page', page); }); }, watch: { - // current(page) { - // this.$set(this, 'page', page); - // }, - value(page) { this.$set(this, 'page', page); }, diff --git a/app/system/app/components/validation.vue b/app/system/app/components/validation.vue new file mode 100644 index 00000000..231e47fe --- /dev/null +++ b/app/system/app/components/validation.vue @@ -0,0 +1,103 @@ + + + \ No newline at end of file diff --git a/app/system/app/directives/check-all.js b/app/system/app/directives/check-all.js index e0b41fcc..096a4e8e 100644 --- a/app/system/app/directives/check-all.js +++ b/app/system/app/directives/check-all.js @@ -32,7 +32,6 @@ export default { binding.def.state(el, binding, vnode); }, function (e) { - // console.log(e); e.stopImmediatePropagation(); if (!(util.isInput(e.target) || e.target.tagName == 'A') && !window.getSelection().toString()) { binding.selectors = Array.from(util.findAll(subSelector, this)); @@ -112,8 +111,6 @@ export default { }); if (update) { - // update = vnode.context.selected.filter(value => values.indexOf(value) === -1); - // vnode.context.$set(vnode.context, 'selected', update.concat(selected)); update = _.get(vnode.context, binding.keypath).filter(value => values.indexOf(value) === -1); _.set(vnode.context, binding.keypath, update.concat(selected)); } diff --git a/app/system/app/directives/confirm.js b/app/system/app/directives/confirm.js index 76313c96..1c132a2a 100644 --- a/app/system/app/directives/confirm.js +++ b/app/system/app/directives/confirm.js @@ -45,70 +45,3 @@ export default { unbind(el, binding, vnode) {}, }; - -// var _ = Vue.util; - -// module.exports = { - -// priority: 500, - -// bind: function () { - -// var self = this, el = this.el, buttons = (_.getAttr(el, 'buttons') || '').split(','); - -// this.options = { -// title: false, -// labels: { -// ok: buttons[0] || this.vm.$trans('Ok'), -// cancel: buttons[1] || this.vm.$trans('Cancel') -// } -// }; - -// this.dirs = this.vm._directives.filter(function (dir) { -// return dir.name == 'on' && dir.el === el; -// }); - -// this.dirs.forEach(function (dir) { - -// _.off(dir.el, dir.arg, dir.handler); -// _.on(dir.el, dir.arg, function (e) { -// // UIkit.modal.confirm(self.vm.$trans(self.options.text), self.options, function () { -// // dir.handler(e); -// // } -// // ); -// UIkit.modal.confirm(self.vm.$trans(self.options.text), self.options).then(function() { -// dir.handler(e); -// }); -// }); - -// }); -// }, - -// update: function (value) { - -// // vue-confirm="'Title':'Text...?'" -// if (this.arg) { -// this.options.title = this.arg; -// } - -// // vue-confirm="'Text...?'" -// if (typeof value === 'string') { -// this.options.text = value; -// } - -// // vue-confirm="{title:'Title', text:'Text...?'}" -// if (typeof value === 'object') { -// this.options = _.extend(this.options, value); -// } -// }, - -// unbind: function () { -// this.dirs.forEach(function (dir) { -// try { -// _.off(dir.el, dir.arg, dir.handler); -// } catch (e) { -// } -// }); -// } - -// }; diff --git a/app/system/app/directives/gravatar.js b/app/system/app/directives/gravatar.js index b8bb5b43..cc3f2cb1 100644 --- a/app/system/app/directives/gravatar.js +++ b/app/system/app/directives/gravatar.js @@ -1,4 +1,4 @@ -const md5 = require('md5'); +import md5 from 'md5'; const mutex = {}; @@ -107,4 +107,4 @@ export default { return dataURI; }, -}; +}; \ No newline at end of file diff --git a/app/system/app/directives/lazy-background.js b/app/system/app/directives/lazy-background.js index 5271756b..45e94152 100644 --- a/app/system/app/directives/lazy-background.js +++ b/app/system/app/directives/lazy-background.js @@ -1,7 +1,6 @@ export default { update(el, binding, vnode) { - // var el = $(this.el), const img = new Image(); const { value } = binding; diff --git a/app/system/app/directives/order.js b/app/system/app/directives/order.js index 2a5d3d68..2239fe13 100644 --- a/app/system/app/directives/order.js +++ b/app/system/app/directives/order.js @@ -1,7 +1,4 @@ -import { - $, on, append, addClass, removeClass, remove, find, -} from 'uikit-util'; -// import util from 'uikit-util'; +import { $, on, append, addClass, removeClass, remove, find } from 'uikit-util'; export default { @@ -16,31 +13,8 @@ export default { _.set(vnode.context, binding.expression, [binding.arg, binding.dir].join(' ')); }); append(el, binding.indicator); - - // $(el).addClass('pk-table-order uk-visible-toggle').on('click.order', function (){ - // binding.dir = (binding.dir == 'asc') ? 'desc': 'asc'; - // _.set(vnode.context, binding.expression, [binding.arg, binding.dir].join(' ')); - // }).append(binding.indicator); - - // console.log(binding); - - // var self = this; - - // this.dir = ''; - // this.active = false; - // this.indicator = $(''); - - // $(this.el).addClass('pk-table-order uk-visible-toggle').on('click.order', function (){ - - // self.dir = (self.dir == 'asc') ? 'desc':'asc'; - // self.vm.$set(self.expression, [self.arg, self.dir].join(' ')); - - // }).append(this.indicator); - - // binding.def.update(el, binding, vnode); }, - // update: function (data) { update(el, binding, vnode) { const data = binding.value; @@ -48,27 +22,20 @@ export default { const field = parts[0]; const dir = parts[1] || 'asc'; - // binding.indicator = $(el).find('i'); binding.indicator = find('i', el); - // binding.indicator.removeClass('pk-icon-arrow-up pk-icon-arrow-down'); removeClass(binding.indicator, 'pk-icon-arrow-up pk-icon-arrow-down'); removeClass(el, 'uk-active'); - // $(el).removeClass('uk-active'); if (field == binding.arg) { binding.active = true; binding.dir = dir; - // console.log(binding.dir); addClass(el, 'uk-active'); removeClass(binding.indicator, 'uk-invisible-hover'); addClass(binding.indicator, dir == 'asc' ? 'pk-icon-arrow-down' : 'pk-icon-arrow-up'); - // $(el).addClass('uk-active'); - // binding.indicator.removeClass('uk-invisible-hover').addClass(dir == 'asc' ? 'pk-icon-arrow-down':'pk-icon-arrow-up'); } else { addClass(binding.indicator, 'pk-icon-arrow-down uk-invisible-hover'); - // binding.indicator.addClass('pk-icon-arrow-down uk-invisible-hover'); binding.active = false; binding.dir = ''; } @@ -78,8 +45,6 @@ export default { removeClass(el, 'pk-table-order'); el._off(); remove(binding.indicator); - // $(this.el).removeClass('pk-table-order').off('.order'); - // binding.indicator.remove(); - }, + } }; diff --git a/app/system/app/lib/filters-array.js b/app/system/app/lib/filters-array.js deleted file mode 100644 index 450b051b..00000000 --- a/app/system/app/lib/filters-array.js +++ /dev/null @@ -1,164 +0,0 @@ -var toString = Object.prototype.toString; -var OBJECT_STRING = '[object Object]'; - -var util = { - isObject: (obj) => { - var type = typeof obj; - return type === 'function' || type === 'object' && !!obj; - }, - isArray: (obj) => Array.isArray(obj), - isPlainObject: (obj) => { - return toString.call(obj) === OBJECT_STRING - }, - toArray: (list, start) => { - start = start || 0; - var i = list.length - start; - var ret = new Array(i); - while (i--) { - ret[i] = list[i + start] - } - return ret; - }, - convertArray: (value) => { - if (util.isArray(value)) { - return value - } else if (util.isPlainObject(value)) { - // convert plain object to array. - var keys = Object.keys(value); - var i = keys.length; - var res = new Array(i); - var key; - while (i--) { - key = keys[i]; - res[i] = { - $key: key, - $value: value[key] - } - } - return res - } else { - return value || [] - } - }, - // obj,'1.2.3' -> multiIndex(obj,['1','2','3']) - getPath: (obj,is) => multiIndex(obj,is.split('.')) -} - -// obj,['1','2','3'] -> ((obj['1'])['2'])['3'] -function multiIndex (obj,is) { - return is.length ? multiIndex(obj[is[0]],is.slice(1)) : obj; -} - -function contains (val, search) { - var i; - if (util.isPlainObject(val)) { - var keys = Object.keys(val); - i = keys.length; - while (i--) { - if (contains(val[keys[i]], search)) { - return true - } - } - } else if (util.isArray(val)) { - i = val.length; - while (i--) { - if (contains(val[i], search)) { - return true - } - } - } else if (val != null) { - return val.toString().toLowerCase().indexOf(search) > -1 - } -} - -function orderBy(arr) { - var comparator = null - var sortKeys - arr = util.convertArray(arr) - - // determine order (last argument) - var args = util.toArray(arguments, 1) - var order = args[args.length - 1] - if (typeof order === 'number') { - order = order < 0 ? -1 : 1 - args = args.length > 1 ? args.slice(0, -1) : args - } else { - order = 1 - } - - // determine sortKeys & comparator - var firstArg = args[0]; - if (!firstArg) { - return arr; - } else if (typeof firstArg === 'function') { - // custom comparator - comparator = function (a, b) { - return firstArg(a, b) * order - } - } else { - // string keys. flatten first - sortKeys = Array.prototype.concat.apply([], args); - comparator = function (a, b, i) { - i = i || 0 - return i >= sortKeys.length - 1 - ? baseCompare(a, b, i) - : baseCompare(a, b, i) || comparator(a, b, i + 1) - } - } - - function baseCompare (a, b, sortKeyIndex) { - var sortKey = sortKeys[sortKeyIndex] - if (sortKey) { - if (sortKey !== '$key') { - if (util.isObject(a) && '$value' in a) a = a.$value - if (util.isObject(b) && '$value' in b) b = b.$value - } - a = util.isObject(a) ? util.getPath(a, sortKey) : a - b = util.isObject(b) ? util.getPath(b, sortKey) : b - } - return a === b ? 0 : a > b ? order : -order - } - - // sort on a copy to avoid mutating original array - return arr.slice().sort(comparator) -} - -function filterBy(arr, search) { - var arr = util.convertArray(arr) - if (search == null) { - return arr - } - if (typeof search === 'function') { - return arr.filter(search) - } - // cast to lowercase string - search = ('' + search).toLowerCase() - var n = 2 - // extract and flatten keys - var keys = Array.prototype.concat.apply([], util.toArray(arguments, n)) - var res = [] - var item, key, val, j - for (var i = 0, l = arr.length; i < l; i++) { - item = arr[i]; - val = (item && item.$value) || item; - j = keys.length; - if (j) { - while (j--) { - key = keys[j]; - if ((key === '$key' && contains(item.$key, search)) || - contains(util.getPath(val, key), search)) { - res.push(item) - break - } - } - } else if (contains(item, search)) { - res.push(item) - } - } - return res -} - -export default function (Vue) { - Vue.prototype.orderBy = orderBy; - Vue.prototype.filterBy = filterBy; -} \ No newline at end of file diff --git a/app/system/app/lib/filters.js b/app/system/app/lib/filters.js index c21fd24b..92495d08 100644 --- a/app/system/app/lib/filters.js +++ b/app/system/app/lib/filters.js @@ -1,5 +1,3 @@ -import ArrayFilters from './filters-array'; - export default function (Vue) { Vue.filter('baseUrl', url => (_.startsWith(url, Vue.url.options.root) ? url.substr(Vue.url.options.root.length) : url)); @@ -22,6 +20,173 @@ export default function (Vue) { Vue.filter('lowercase', (value) => (value || value === 0) ? value.toString().toLowerCase() : ''); - // orderBy, filterBy - Vue.use(ArrayFilters); + Vue.prototype.orderBy = orderBy; + + Vue.prototype.filterBy = filterBy; +} + +/* + * Vue2 Filters + * ------------ + * https://github.com/freearhey/vue2-filters + */ + +var toString = Object.prototype.toString; +var OBJECT_STRING = '[object Object]'; + +var util = { + isObject: (obj) => { + var type = typeof obj; + return type === 'function' || type === 'object' && !!obj; + }, + isArray: (obj) => Array.isArray(obj), + isPlainObject: (obj) => { + return toString.call(obj) === OBJECT_STRING + }, + toArray: (list, start) => { + start = start || 0; + var i = list.length - start; + var ret = new Array(i); + while (i--) { + ret[i] = list[i + start] + } + return ret; + }, + convertArray: (value) => { + if (util.isArray(value)) { + return value + } else if (util.isPlainObject(value)) { + // convert plain object to array. + var keys = Object.keys(value); + var i = keys.length; + var res = new Array(i); + var key; + while (i--) { + key = keys[i]; + res[i] = { + $key: key, + $value: value[key] + } + } + return res + } else { + return value || [] + } + }, + // obj,'1.2.3' -> multiIndex(obj,['1','2','3']) + getPath: (obj,is) => multiIndex(obj,is.split('.')) +} + +// obj,['1','2','3'] -> ((obj['1'])['2'])['3'] +function multiIndex (obj,is) { + return is.length ? multiIndex(obj[is[0]],is.slice(1)) : obj; +} + +function contains (val, search) { + var i; + if (util.isPlainObject(val)) { + var keys = Object.keys(val); + i = keys.length; + while (i--) { + if (contains(val[keys[i]], search)) { + return true + } + } + } else if (util.isArray(val)) { + i = val.length; + while (i--) { + if (contains(val[i], search)) { + return true + } + } + } else if (val != null) { + return val.toString().toLowerCase().indexOf(search) > -1 + } +} + +function orderBy(arr) { + var comparator = null + var sortKeys + arr = util.convertArray(arr) + + // determine order (last argument) + var args = util.toArray(arguments, 1) + var order = args[args.length - 1] + if (typeof order === 'number') { + order = order < 0 ? -1 : 1 + args = args.length > 1 ? args.slice(0, -1) : args + } else { + order = 1 + } + + // determine sortKeys & comparator + var firstArg = args[0]; + if (!firstArg) { + return arr; + } else if (typeof firstArg === 'function') { + // custom comparator + comparator = function (a, b) { + return firstArg(a, b) * order + } + } else { + // string keys. flatten first + sortKeys = Array.prototype.concat.apply([], args); + comparator = function (a, b, i) { + i = i || 0 + return i >= sortKeys.length - 1 + ? baseCompare(a, b, i) + : baseCompare(a, b, i) || comparator(a, b, i + 1) + } + } + + function baseCompare (a, b, sortKeyIndex) { + var sortKey = sortKeys[sortKeyIndex] + if (sortKey) { + if (sortKey !== '$key') { + if (util.isObject(a) && '$value' in a) a = a.$value + if (util.isObject(b) && '$value' in b) b = b.$value + } + a = util.isObject(a) ? util.getPath(a, sortKey) : a + b = util.isObject(b) ? util.getPath(b, sortKey) : b + } + return a === b ? 0 : a > b ? order : -order + } + + // sort on a copy to avoid mutating original array + return arr.slice().sort(comparator) +} + +function filterBy(arr, search) { + var arr = util.convertArray(arr) + if (search == null) { + return arr + } + if (typeof search === 'function') { + return arr.filter(search) + } + // cast to lowercase string + search = ('' + search).toLowerCase() + var n = 2 + // extract and flatten keys + var keys = Array.prototype.concat.apply([], util.toArray(arguments, n)) + var res = [] + var item, key, val, j + for (var i = 0, l = arr.length; i < l; i++) { + item = arr[i]; + val = (item && item.$value) || item; + j = keys.length; + if (j) { + while (j--) { + key = keys[j]; + if ((key === '$key' && contains(item.$key, search)) || + contains(util.getPath(val, key), search)) { + res.push(item) + break + } + } + } else if (contains(item, search)) { + res.push(item) + } + } + return res } \ No newline at end of file diff --git a/app/system/app/lib/mobiledetect.js b/app/system/app/lib/mobiledetect.js deleted file mode 100644 index 57dbfd69..00000000 --- a/app/system/app/lib/mobiledetect.js +++ /dev/null @@ -1,6 +0,0 @@ -// simple device detection -window.isMobile = false; // initiate as false -if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) - || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0, 4))) { window.isMobile = true; } -const is_iPad = navigator.userAgent.match(/iPad/i) != null; -if (is_iPad) { window.isMobile = true; } \ No newline at end of file diff --git a/app/system/app/lib/resourceCache.js b/app/system/app/lib/resourceCache.js index 39fd3045..70fae3b1 100644 --- a/app/system/app/lib/resourceCache.js +++ b/app/system/app/lib/resourceCache.js @@ -1,4 +1,4 @@ -const md5 = require('md5'); +import md5 from 'md5'; export default function (Vue) { Vue.http.interceptors.unshift((request) => { @@ -31,77 +31,4 @@ export default function (Vue) { return response; }; }); - - // Vue.http.interceptors.unshift(function () { - // - // var hit, key, lifetime; - // - // return { - // request: function (request) { - // - // if (request.cache !== undefined && /^(GET|JSONP)$/i.test(request.method)) { - // - // if (_.isObject(request.cache)) { - // lifetime = request.cache.lifetime; - // key = '_resource.' + request.cache.key; - // } else { - // lifetime = request.cache; - // key = '_resource.' + md5(JSON.stringify(request)); - // } - // - // hit = Vue.cache.get(key); - // if (hit) { - // request.client = function () { - // return hit; - // }; - // } - // } - // - // return request; - // }, - // - // response: function (response) { - // - // if (key && !hit && response.ok) { - // Vue.cache.set(key, response, lifetime); - // } - // - // return response; - // } - // }; - // - // } - // ); - - // Vue.http.interceptors.unshift(function(request, next) { - - // var hit, key, lifetime; - - // if (request.cache !== undefined && /^(GET|JSONP)$/i.test(request.method)) { - - // if (_.isObject(request.cache)) { - // lifetime = request.cache.lifetime; - // key = '_resource.' + request.cache.key; - // } else { - // lifetime = request.cache; - // key = '_resource.' + md5(JSON.stringify(request)); - // } - - // hit = Vue.cache.get(key); - // if (hit) { - // next(request.respondWith(hit.body, { status: 200, statusText: 'Cached' })); - // } - // } - - // next(function(response){ - - // if (key && !hit && response.ok) { - // Vue.cache.set(key, response, lifetime); - // } - - // return response; - - // }); - - // }); } diff --git a/app/system/app/lib/theme.js b/app/system/app/lib/theme.js index 938d24a4..0679903c 100644 --- a/app/system/app/lib/theme.js +++ b/app/system/app/lib/theme.js @@ -108,7 +108,11 @@ var ThemeTabs = function(name, ele, option) { UIkit.util.on(element.tab.connects, 'show', function(e, tab) { if (tab !== element.tab) return false; - self.$children.forEach((component, idx) => { + var baseComponent = self; + if (_.has(self.$children[0], '$_veeObserver')) { + baseComponent = self.$children[0]; + } + baseComponent.$children.forEach((component, idx) => { if (component.$el === e.target.firstChild) { let tabName = component.$options.name || component.$options._componentTag; self.$set(element, 'activeTab', tabName); @@ -158,10 +162,15 @@ function renderElement(h, element, _vue) { var render = { dropdown() { + let dropdownOptions = () => { + let options = get(this, 'dropdown.options'); + if (!/topmenu/.test(this.scope)) return options; + return `${options}; offset: ${$this.offset}`; + } return [ render['button'].call(this), h('div', { - attrs: { 'uk-dropdown': get(this, 'dropdown.options') }, + attrs: { 'uk-dropdown': dropdownOptions() }, class: get(this, 'dropdown.class'), style: get(this, 'dropdown.style') }, [ @@ -211,17 +220,14 @@ function renderElement(h, element, _vue) { if (get(this, 'caption')) { if ((icon || spinner) && !internal) { elements.push([ - // h('span', {class: 'uk-text-middle'}, $trans(get(this, 'caption'))) h('span', {class: 'uk-text-middle'}, getText(get(this, 'caption'))) ]) } else if (icon && internal) { elements.push([ - // h('span', {class: 'uk-text-middle uk-margin-small-right'}, $trans(get(this, 'caption'))) h('span', {class: 'uk-text-middle uk-margin-small-right'}, getText(get(this, 'caption'))) ]) } else if (!icon) { elements.push([ - // $trans(get(this, 'caption')) getText(get(this, 'caption')) ]) } @@ -404,6 +410,11 @@ var ThemeTopMenu = { var isScopes = scopes.map((scope) => $theme.isScopeEmpty($theme.getScope(scope))).filter((item) => !item).length; return isScopes && h('div', { class: 'tm-topmenu uk-visible@m'}, scopes.map((scope) => renderScope.call(this, h, 'topmenu', scope))) + }, + created() { + // define dropdown top offset + let { $, getStyle } = UIkit.util; + this.offset = parseInt(getStyle($('.uk-navbar-container'), 'paddingBottom')); } } @@ -546,8 +557,7 @@ ThemeHelper.prototype.addElements = function() { }) } -ThemeHelper.prototype.extendElements = function() { -} +ThemeHelper.prototype.extendElements = function() {} ThemeHelper.prototype.callWatches = function() { var elements = this.elementsOption, diff --git a/app/system/app/vue.js b/app/system/app/vue.js index 190f3e46..c166e4cb 100644 --- a/app/system/app/vue.js +++ b/app/system/app/vue.js @@ -1,3 +1,4 @@ +import Vue from 'vue'; import VueEventManager from 'vue-event-manager'; import VueIntl from 'vue-intl'; @@ -26,12 +27,7 @@ import Gravatar from './directives/gravatar'; import Order from './directives/order'; import LazyBackground from './directives/lazy-background'; -import { Validator, ErrorBag, install as VeeValidate } from 'vee-validate/dist/vee-validate.minimal.esm.js'; -import { required, email, regex } from 'vee-validate/dist/rules.esm.js'; -const dictionary = { en: { messages:{ required: () => true, email: () => true, regex: () => true } } }; - import Theme from './lib/theme'; -import './lib/mobiledetect'; function Install(Vue) { const config = window.$pagekit; @@ -70,12 +66,6 @@ function Install(Vue) { Vue.use(Trans); Vue.use(Filters); - Validator.extend('required', required); - Validator.extend('email', email); - Validator.extend('regex', regex); - Validator.localize(dictionary); - Vue.use(VeeValidate); - /** * Components */ diff --git a/app/system/assets/less/pagekit.less b/app/system/assets/less/pagekit.less index 9df5ae58..10c8fa5e 100644 --- a/app/system/assets/less/pagekit.less +++ b/app/system/assets/less/pagekit.less @@ -647,9 +647,9 @@ ========================================================================== */ .pk-panel-background { - margin: -@global-gutter; - padding: @global-gutter; - background: @global-primary-background url("../images/dashboard-location.jpg") 0 0 no-repeat; + // margin: -@global-gutter; + // padding: @global-gutter; + background: url("../images/dashboard-location.jpg") 0 0 no-repeat;//@global-primary-background url("../images/dashboard-location.jpg") 0 0 no-repeat; background-size: cover; } @@ -712,10 +712,11 @@ display: -webkit-flex !important; display: flex !important; position: absolute; - top: 10%; + top: 0;//10%; bottom: 10%; right: 10px; font-size: 13px; + height: @form-height; } .pk-form-link > input { padding-right: 100px !important; } diff --git a/app/system/modules/cache/app/components/settings.vue b/app/system/modules/cache/app/components/settings.vue index 2ff9b5b0..086c73b7 100644 --- a/app/system/modules/cache/app/components/settings.vue +++ b/app/system/modules/cache/app/components/settings.vue @@ -72,7 +72,7 @@ diff --git a/app/system/modules/captcha/app/interceptor.js b/app/system/modules/captcha/app/interceptor.js index e5185f8f..d4c633ac 100644 --- a/app/system/modules/captcha/app/interceptor.js +++ b/app/system/modules/captcha/app/interceptor.js @@ -59,7 +59,6 @@ if (config.grecaptcha) { } function onSubmit(gRecaptchaResponse) { - console.log('submitted'); requestResolve(gRecaptchaResponse); } @@ -69,4 +68,4 @@ function onExpire() { function onError() { requestReject('An error occured during reCAPTCHA execution. Please try again.'); // TODO: Translation -} +} \ No newline at end of file diff --git a/app/system/modules/dashboard/app/components/widget-feed.vue b/app/system/modules/dashboard/app/components/widget-feed.vue index 2000b1c3..1a129762 100644 --- a/app/system/modules/dashboard/app/components/widget-feed.vue +++ b/app/system/modules/dashboard/app/components/widget-feed.vue @@ -124,7 +124,7 @@ - - - -``` - -## License - -Copyright (c) 2011-2018, Christopher Jeffrey. (MIT License) diff --git a/app/system/modules/editor/app/assets/marked/SECURITY.md b/app/system/modules/editor/app/assets/marked/SECURITY.md deleted file mode 100755 index 4a2e1cb4..00000000 --- a/app/system/modules/editor/app/assets/marked/SECURITY.md +++ /dev/null @@ -1,10 +0,0 @@ -# Security Policy - -The only completely secure system is the one that doesn't exist in the first place. -Having said that, we take the security of Marked very seriously. - -## Reporting a Vulnerability - -Please disclose potential security issues by email to the project [committers](https://marked.js.org/#/AUTHORS.md) as well as the [listed owners within NPM](https://docs.npmjs.com/cli/owner). -We will provide an initial assessment of security reports within 48 hours and should apply patches within 2 weeks -(also, feel free to contribute a fix for the issue). diff --git a/app/system/modules/editor/app/assets/marked/bin/marked b/app/system/modules/editor/app/assets/marked/bin/marked deleted file mode 100755 index 307db173..00000000 --- a/app/system/modules/editor/app/assets/marked/bin/marked +++ /dev/null @@ -1,215 +0,0 @@ -#!/usr/bin/env node - -/** - * Marked CLI - * Copyright (c) 2011-2013, Christopher Jeffrey (MIT License) - */ - -var fs = require('fs'), - path = require('path'), - marked = require('../'); - -/** - * Man Page - */ - -function help() { - var spawn = require('child_process').spawn; - - var options = { - cwd: process.cwd(), - env: process.env, - setsid: false, - stdio: 'inherit' - }; - - spawn('man', [path.resolve(__dirname, '/../man/marked.1')], options) - .on('error', function() { - fs.readFile(path.resolve(__dirname, '/../man/marked.1.txt'), 'utf8', function(err, data) { - if (err) throw err; - console.log(data); - }); - }); -} - -function version() { - var pkg = require('../package.json'); - console.log(pkg.version); -} - -/** - * Main - */ - -function main(argv, callback) { - var files = [], - options = {}, - input, - output, - string, - arg, - tokens, - opt; - - function getarg() { - var arg = argv.shift(); - - if (arg.indexOf('--') === 0) { - // e.g. --opt - arg = arg.split('='); - if (arg.length > 1) { - // e.g. --opt=val - argv.unshift(arg.slice(1).join('=')); - } - arg = arg[0]; - } else if (arg[0] === '-') { - if (arg.length > 2) { - // e.g. -abc - argv = arg.substring(1).split('').map(function(ch) { - return '-' + ch; - }).concat(argv); - arg = argv.shift(); - } else { - // e.g. -a - } - } else { - // e.g. foo - } - - return arg; - } - - while (argv.length) { - arg = getarg(); - switch (arg) { - case '--test': - return require('../test').main(process.argv.slice()); - case '-o': - case '--output': - output = argv.shift(); - break; - case '-i': - case '--input': - input = argv.shift(); - break; - case '-s': - case '--string': - string = argv.shift(); - break; - case '-t': - case '--tokens': - tokens = true; - break; - case '-h': - case '--help': - return help(); - case '-v': - case '--version': - return version(); - default: - if (arg.indexOf('--') === 0) { - opt = camelize(arg.replace(/^--(no-)?/, '')); - if (!marked.defaults.hasOwnProperty(opt)) { - continue; - } - if (arg.indexOf('--no-') === 0) { - options[opt] = typeof marked.defaults[opt] !== 'boolean' - ? null - : false; - } else { - options[opt] = typeof marked.defaults[opt] !== 'boolean' - ? argv.shift() - : true; - } - } else { - files.push(arg); - } - break; - } - } - - function getData(callback) { - if (!input) { - if (files.length <= 2) { - if (string) { - return callback(null, string); - } - return getStdin(callback); - } - input = files.pop(); - } - return fs.readFile(input, 'utf8', callback); - } - - return getData(function(err, data) { - if (err) return callback(err); - - data = tokens - ? JSON.stringify(marked.lexer(data, options), null, 2) - : marked(data, options); - - if (!output) { - process.stdout.write(data + '\n'); - return callback(); - } - - return fs.writeFile(output, data, callback); - }); -} - -/** - * Helpers - */ - -function getStdin(callback) { - var stdin = process.stdin, - buff = ''; - - stdin.setEncoding('utf8'); - - stdin.on('data', function(data) { - buff += data; - }); - - stdin.on('error', function(err) { - return callback(err); - }); - - stdin.on('end', function() { - return callback(null, buff); - }); - - try { - stdin.resume(); - } catch (e) { - callback(e); - } -} - -function camelize(text) { - return text.replace(/(\w)-(\w)/g, function(_, a, b) { - return a + b.toUpperCase(); - }); -} - -function handleError(err) { - if (err.code === 'ENOENT') { - console.error('marked: output to ' + err.path + ': No such directory'); - return process.exit(1); - } - throw err; -} - -/** - * Expose / Entry Point - */ - -if (!module.parent) { - process.title = 'marked'; - main(process.argv.slice(), function(err, code) { - if (err) return handleError(err); - return process.exit(code || 0); - }); -} else { - module.exports = main; -} diff --git a/app/system/modules/editor/app/assets/marked/bower.json b/app/system/modules/editor/app/assets/marked/bower.json deleted file mode 100755 index 57c91f03..00000000 --- a/app/system/modules/editor/app/assets/marked/bower.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "marked", - "homepage": "https://github.com/markedjs/marked", - "authors": [ - "Christopher Jeffrey " - ], - "description": "A markdown parser built for speed", - "keywords": [ - "markdown", - "markup", - "html" - ], - "main": "lib/marked.js", - "license": "MIT", - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "app/bower_components", - "test", - "tests" - ] -} diff --git a/app/system/modules/editor/app/assets/marked/component.json b/app/system/modules/editor/app/assets/marked/component.json deleted file mode 100755 index 7ebd0356..00000000 --- a/app/system/modules/editor/app/assets/marked/component.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "marked", - "version": "0.3.4", - "repo": "markedjs/marked", - "description": "A markdown parser built for speed", - "keywords": ["markdown", "markup", "html"], - "scripts": ["lib/marked.js"], - "main": "lib/marked.js", - "license": "MIT" -} diff --git a/app/system/modules/editor/app/assets/marked/docs/AUTHORS.md b/app/system/modules/editor/app/assets/marked/docs/AUTHORS.md deleted file mode 100755 index dd914095..00000000 --- a/app/system/modules/editor/app/assets/marked/docs/AUTHORS.md +++ /dev/null @@ -1,269 +0,0 @@ -# Authors - -Marked takes an encompassing approach to its community. As such, you can think of these as [concentric circles](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951), where each group encompases the following groups. - - - - - - - - - - - - - - -
- - - -
- Christopher Jeffrey -
Original Author
- Started the fire -
- - - -
- Josh Bruce -
Publisher
- Release Wrangler; Humaning Helper; Heckler of Hypertext -
- - - -
- Steven -
Publisher
- Release Wrangler; Dr. Docs; Open source, of course; GitHub Guru; Humaning Helper -
- - - -
- Jamie Davis -
Committer
- Seeker of Security -
- - - -
- Tony Brix -
Publisher
- Release Wrangler; Titan of the test harness; Dr. DevOps -
-   -
- - - - - - - - - - - - - - - - -
- - - -
- Brandon der Blätter -
Contributor
- Curious Contributor -
- - - -
- Carlos Valle -
Contributor
- Maker of the Marked mark from 2018 to present -
- - - -
- Federico Soave -
Contributor
- Regent of the Regex; Master of Marked -
- - - -
- Karen Yavine -
Contributor
- Snyk's Security Saint -
- - - -
- Костя Третяк -
Contributor
- -
- - - -
- Tom Theisen -
Contributor
- Defibrillator -
- - - -
- Mateus Craveiro -
Contributor
- Defibrillator -
-
- -## Publishers - -Publishers are admins who also have the responsibility, privilege, and burden of publishing the new releases to NPM and performing outreach and external stakeholder communications. Further, when things go pear-shaped, they're the ones taking most of the heat. Finally, when things go well, they're the primary ones praising the contributors who made it possible. - -(In other words, while Admins are focused primarily on the internal workings of the project, Publishers are focused on internal *and* external concerns.) - -**Should not exceed 2:** Having more people with the authority to publish a release can quickly turn into a consensus seeking nightmare (design by committee). Having only one is preferred (Directly Responsible Individual); however, given the nature of the project and its history, having an immediate fallback, and a potential deep fallback (Original author) is probably a good idea. - -[Details on badges](#badges) - -## Admins - -Admins are committers who also have the responsibility, privilege, and burden of selecting committers and making sure the project itself runs smoothly, which includes community maintenance, governance, dispute resolution, and so on. (Letting the contributors easily enter into, and work within, the project to begin contributing, with as little friction as possible.) - -**Should not exceed 3:** When there are too many people with the ability to resolve disputes, the dispute itself can quickly turn into a dispute amongst the admins themselves; therefore, we want this group to be small enough to commit to action and large enough to not put too much burden on one person. (Should ensure faster resolution and responsiveness.) - -To be listed: Admins are usually selected from the pool of committers (or they volunteer, using the same process) who demonstrate good understanding of the marked culture, operations, and do their best to help new contributors get up to speed on how to contribute effectively to the project. - -To be removed: You can remove yourself through the [GitHub UI](https://help.github.com/articles/removing-yourself-from-a-collaborator-s-repository/). - -[Details on badges](#badges) - -## Committers - -Committers are contributors who also have the responsibility, privilege, some might even say burden of being able to review and merge contributions (just usually not their own). - -A note on "decision making authority". This is related to submitting PRs and the [advice process](http://www.reinventingorganizationswiki.com/Decision_Making). The person marked as having decision making authority over a certain area should be sought for advice in that area before committing to a course of action. - -**Should not exceed 5:** For larger PRs affecting more of the codebase and, most likely, review by more people, we try to keep this pool small and responsive and let those with decision making authority have final say without negative repercussions from the other committers. - -To be listed: Committers are usually selected (or they volunteer, using the same process) from contributors who enter the discussions regarding the future direction of Marked (maybe even doing informal reviews of contributions despite not being able to merge them yourself). - -To be removed: You can remove yourself through the [GitHub UI](https://help.github.com/articles/removing-yourself-from-a-collaborator-s-repository/). - -A note on volunteering: - -1. Please do not volunteer unless you believe you can demonstrate to your peers you can do the work required. -2. Please do not overcommit yourself; we count on those committed to the project to be responsive. Really consider, with all you have going on, wehther you able to really commit to it. -3. Don't let the previous frighten you away, it can always be changed later by you or your peers. - -[Details on badges](#badges) - -## Contributors - -Contributors are users who submit a [PR](https://github.com/markedjs/marked/pulls), [Issue](https://github.com/markedjs/marked/issues), or collaborate in making Marked a better product and experience for all the users. - -To be listed: make a contribution and, if it has significant impact, the committers may be able to add you here. - -To be removed: please let us know or submit a PR. - -[Details on badges](#badges) - -## Users - -Users are anyone using Marked in some fashion, without them, there's no reason for us to exist. - -|Individual or Organization |Website |Project |Submitted by | -|:--------------------------|:-----------------------|:------------------------------------|:---------------------------------------------------| -|MarkedJS |https://marked.js.org |https://github.com/markedjs/marked |The marked committers | - -To be listed: All fields are optional. Contact any of the committers or, more timely, submit a pull request with the following (using the first row as an example): - -- **Individual or Organization:** The name you would like associated with the record. -- **Website:** A URL to a standalone website for the project. -- **Project:** A URL for the repository of the project using marked. -- **Submitted by:** The name and optional honorifics for the person adding the listing. - -To be removed: Same as above. Only instead of requesting addition request deletion or delete the row yourself. - -

Badges

- -Badges? You don't *need* no stinkin' badges. - -Movie references aside. (It was either that or, "Let's play a game", but that would have been creepy…that's why it will most likely come later.) - -Badges? If you *want* 'em, we got 'em, and here's how you get 'em (and…dramatic pause…why not two dramatic pauses for emphasis?… how they can be taken away). - -- [ ] Add the appropriate badge to the desired contributor in the desired column of this page, even if they're not listed here yet. -- [ ] Submit a PR (we're big on PRs around here, if you haven't noticed, help us help you). -- [ ] Follow the instructions for submitting a badge PR. (There are more details to find within. Come on. Everybody likes surprises, right? No? Actually, we just try to put documentation where it belongs, closer to the code and part of the sequence of events.) - -### Badges at play: - -
-
Curious Contributor
-
A contributor with less than one year on this page who is actively engaged in submitting PRs, Issues, making recommendations, sharing thoughts…without being too annoying about it (let's be clear, submitting 100 Issues recommending the Marked Committers send everyone candy is trying for the badge, not honestly earning it).
-
Dr. DevOps
-
-

Someone who understands and contributes to improving the developer experience and flow of Marked into the world.

-
- "The main characteristic of the DevOps movement is to strongly advocate automation and monitoring at all steps of software construction, from integration, testing, releasing to deployment and infrastructure management. DevOps aims at shorter development cycles, increased deployment frequency, more dependable releases, in close alignment with business objectives." ~ Wikipedia -
-
-
Dr. Docs
-
Someone who has contributed a great deal to the creation and maintainance of the non-code areas of marked.
-
Eye for the CLI
-
At this point? Pretty much anyone who can update that `man` file to the current Marked version without regression in the CLI tool itself.
-
GitHub Guru
-
Someone who always seems to be able to tell you easier ways to do things with GitHub.
-
Humaning Helper
-
Someone who goes out of their way to help contributors feel welcomed and valued. Further, someone who takes the extra steps(s) necessary to help new contributors get up to speed. Finally, they maintain composure even in times of disagreement and dispute resolution.
-
Heckler of Hypertext
-
Someone who demonstrates an esoteric level of knowledge when it comes to HTML. In other words, someone who says things like, "Did you know most Markdown flavors don't have a way to render a description list (`dl`)? All the more reason Markdown `!==` HTML."
-
Markdown Maestro
-
You know that person who knows about way too many different flavors of Markdown? The one who maybe seems a little too obsessed with the possibilities of Markdown beyond HTML? Come on. You know who they are. Or, at least you could, if you give them this badge.
-
Master of Marked
-
Someone who demonstrates they know the ins and outs of the codebase for Marked.
-
Open source, of course
-
Someone who advocates for and has a proven understanding of how to operate within open source communities.
-
Regent of the Regex
-

Can you demonstrate you understand the following without Google and Stackoverflow?

-

/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/

-

Because this author can't yet. That's who gets these.

-
-
Seeker of Security
-
Someone who has demonstrated a high degree of expertise or authority when it comes to software security.
-
Titan of the Test Harness
-
Someone who demonstrates high-levels of understanding regarding Marked's test harness.
-
Totally Tron
-
Someone who demonstrates they are willing and able to "fight for the users", both developers dependent on marked to do their jobs as well as end-users interacting with the output (particularly in the realm of those with the disabilities).
-
- -### Special badges that come with the job: - -
-
Defibrillator
-
A contributor who stepped up to help bring Marked back to life by contriuting solutions to help Marked pass when compared against the CommonMark and GitHub Flavored Markdown specifications.
-
Maker of the Marked mark
-
This badge is given to the person or oganization credited with creating the logo (or logotype) used in Marked communications for a given period of time. **Maker of the Marked mark from 2017 to present**, for example.
-
Release Wrangler
-
This is a badge given to all Publishers.
-
Snyk's Security Saint
-
This is a badge given to whomever primarily reaches out from Snyk to let us know about security issues.
-
diff --git a/app/system/modules/editor/app/assets/marked/docs/CNAME b/app/system/modules/editor/app/assets/marked/docs/CNAME deleted file mode 100755 index c92fdfcb..00000000 --- a/app/system/modules/editor/app/assets/marked/docs/CNAME +++ /dev/null @@ -1 +0,0 @@ -marked.js.org diff --git a/app/system/modules/editor/app/assets/marked/docs/CODE_OF_CONDUCT.md b/app/system/modules/editor/app/assets/marked/docs/CODE_OF_CONDUCT.md deleted file mode 100755 index 5335399b..00000000 --- a/app/system/modules/editor/app/assets/marked/docs/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,74 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, gender identity and expression, level of experience, -nationality, personal appearance, race, religion, or sexual identity and -orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or -advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to block temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team by submitting a PR with changes to the [AUTHORS](#/AUTHORS.md) page (or emailing josh@8fold.com). All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version [1.4][version]. - -[homepage]: https://www.contributor-covenant.org/ -[version]: https://www.contributor-covenant.org/version/1/4/code-of-conduct.html diff --git a/app/system/modules/editor/app/assets/marked/docs/CONTRIBUTING.md b/app/system/modules/editor/app/assets/marked/docs/CONTRIBUTING.md deleted file mode 100755 index f5a35680..00000000 --- a/app/system/modules/editor/app/assets/marked/docs/CONTRIBUTING.md +++ /dev/null @@ -1,94 +0,0 @@ -# Contributing to Marked - -- [ ] Fork `markedjs/marked`. -- [ ] Clone the library locally using GitHub Desktop or the command line. -- [ ] Make sure you are on the `master` branch. -- [ ] Be sure to run `npm install` or `npm update`. -- [ ] Create a branch. -- [ ] Make as small a change as possible. -- [ ] Run `npm test`, fix any broken things (for linting, you can run `npm run lint` to have the linter fix them for you). -- [ ] Submit a PR. - -## Design principles - -Marked tends to favor following the SOLID set of software design and development principles; mainly the [single responsibility](https://en.wikipedia.org/wiki/Single_responsibility_principle) and [open/closed principles](https://en.wikipedia.org/wiki/Open/closed_principle): - -- **Single responsibility:** Marked, and the components of Marked, have the single responsibility of converting Markdown strings into HTML. -- **Open/closed:** Marked favors giving developers the means to easily extend the library and its components over changing Marked's behavior through configuration options. - -## Priorities - -We think we have our priorities sorted to build quality in. - -The following table lists the ticket type labels we use when there is work to be done on the code either through an Issue or a PR; in priority order. - -|Ticket type label |Description | -|:----------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -|L0 - security |A security vulnerability within the Marked library is discovered. | -|L1 - broken |Valid usage results in incorrect output compared to [supported specifications](#/README.md#specifications) OR causes marked to crash AND there is no known workaround for the issue. | -|L2 - annoying |Similar to L1 - broken only there is a known workaround available for the issue. | -|RR - refactor and re-engineer |Results in an improvement to developers using Marked (improved readability) or end-users (faster performance) or both. | -|NFS - new feature (spec related) |A capability Marked does not currently provide but is in one of the [supported specifications](#/README.md#specifications) | -|NFU - new feature (user requested) |A capability Marked does not currently provide but has been requested by users of Marked. | - -## Test early, often, and everything - -We try to write test cases to validate output (writing tests based on the [supported specifications](#/README.md#specifications)) and minimize regression (writing tests for issues fixed). Therefore, if you would like to contribute, some things you should know regarding the test harness. - -|Location |Description | -|:---------------------|:--------------------------------------------------------------------------------------------------------------| -|/test/specs/commonmark|Tests for [CommonMark](https://spec.commonmark.org/current/) compliance | -|/test/specs/gfm |Tests for [GFM](https://github.github.com/gfm/) compliance | -|/test/specs/new |Tests not related to the original `markdown.pl`. | -|/test/specs/original |Tests validating against the original `markdown.pl`. | -|/test/specs/redos |Tests for [ReDOS](https://www.owasp.org/index.php/Regular_expression_Denial_of_Service_-_ReDoS) vulnerabilities| - -If your test uses features or options, assuming `gfm` is set to `false`, for example, you can add [front-matter](https://www.npmjs.com/package/front-matter) to the top of -your `.md` file - -``` yml ---- -gfm: false ---- -``` - -## Submitting PRs and Issues - -Marked provides templates for submitting both pull requests and issues. When you begin creating a new PR or issue, you will see instructions on using the template. - -The PR templates include checklists for both the submitter and the reviewer, which, in most cases, will not be the same person. - -## Scripts - -When it comes to NPM commands, we try to use the native scripts provided by the NPM framework. - -To run the tests: - -``` bash -npm test -``` - -To test whether you are using the standard syntax rules for the project: - -```bash -npm run test:lint -``` - -To see time comparisons between Marked and other popular Markdown libraries: - -```bash -npm run bench -``` - -To check for (and fix) standardized syntax (lint): - -```bash -npm run lint -``` - -To build your own minified version of Marked: - -```bash -npm run build -``` - diff --git a/app/system/modules/editor/app/assets/marked/docs/PUBLISHING.md b/app/system/modules/editor/app/assets/marked/docs/PUBLISHING.md deleted file mode 100755 index 27937c2f..00000000 --- a/app/system/modules/editor/app/assets/marked/docs/PUBLISHING.md +++ /dev/null @@ -1,24 +0,0 @@ -# Releasing Marked - -- [ ] See [contributing](#/CONTRIBUTING.md) -- [ ] Create release branch from `master` (`release-x.y.z`) -- [ ] Submit PR with minimal name: Release x.y.z -- [ ] Complete PR checklists - -## Overall strategy - -**Master is always shippable:** We try to merge PRs in such a way that `master` is the only branch to really be concerned about *and* `master` can always be released. This allows smoother flow between new fetures, bug fixes, and so on. (Almost a continuous deployment setup, without automation.) - -## Versioning - -We follow [semantic versioning](https://semver.org) where the following sequence is true `[major].[minor].[patch]`; therefore, consider the following implications of the release you are preparing: - -1. **Major:** There is at least one change not deemed backward compatible. -2. **Minor:** There is at least one new feature added to the release. -3. **Patch:** No breaking changes, no new features. - -What to expect while Marked is a zero-major (0.x.y): - -1. The major will remain at zero; thereby, alerting consumers to the potentially volatile nature of the package. -2. The minor will tend to be more analagous to a `major` release. -3. The patch will tend to be more analagous to a `minor` release or a collection of bug fixes (patches). diff --git a/app/system/modules/editor/app/assets/marked/docs/README.md b/app/system/modules/editor/app/assets/marked/docs/README.md deleted file mode 100755 index f5ba9d2b..00000000 --- a/app/system/modules/editor/app/assets/marked/docs/README.md +++ /dev/null @@ -1,85 +0,0 @@ -Marked is - -1. built for speed.* -2. a low-level markdown compiler for parsing markdown without caching or blocking for long periods of time.** -3. light-weight while implementing all markdown features from the supported flavors & specifications.*** -4. available as a command line interface (CLI) and running in client- or server-side JavaScript projects. - -

* Still working on metrics for comparative analysis and definition.
-** As few dependencies as possible.
-*** Strict compliance could result in slower processing when running comparative benchmarking.

- - -

Demo

- -Checkout the [demo page](./demo/) to see marked in action ⛹️ - -These documentation pages are also rendered using marked 💯 - - -

Installation

- -**CLI:** `npm install -g marked` - -**In-browser:** `npm install marked` - -

Usage

- -### Warning: 🚨 Marked does not [sanitize](https://marked.js.org/#/USING_ADVANCED.md#options) the output HTML. Please use a sanitize library, like [DOMPurify](https://github.com/cure53/DOMPurify) (recommended), [sanitize-html](https://github.com/apostrophecms/sanitize-html) or [insane](https://github.com/bevacqua/insane) on the output HTML! 🚨 - -**CLI** - -``` bash -$ marked -o hello.html -hello world -^D -$ cat hello.html -

hello world

-``` - -``` bash -$ marked -s "*hello world*" -

hello world

-``` - -**Browser** - -```html - - - - - Marked in the browser - - -
- - - - -``` - - -Marked offers [advanced configurations](#/USING_ADVANCED.md) and [extensibility](#/USING_PRO.md) as well. - -

Supported Markdown specifications

- -We actively support the features of the following [Markdown flavors](https://github.com/commonmark/CommonMark/wiki/Markdown-Flavors). - -|Flavor |Version | -|:----------------------------------------------------------|:----------| -|The original markdown.pl |-- | -|[CommonMark](http://spec.commonmark.org/0.29/) |0.29 | -|[GitHub Flavored Markdown](https://github.github.com/gfm/) |0.29 | - -By supporting the above Markdown flavors, it's possible that Marked can help you use other flavors as well; however, these are not actively supported by the community. - -

Security

- -The only completely secure system is the one that doesn't exist in the first place. Having said that, we take the security of Marked very seriously. - -Therefore, please disclose potential security issues by email to the project [committers](#/AUTHORS.md) as well as the [listed owners within NPM](https://docs.npmjs.com/cli/owner). We will provide an initial assessment of security reports within 48 hours and should apply patches within 2 weeks (also, feel free to contribute a fix for the issue). - diff --git a/app/system/modules/editor/app/assets/marked/docs/USING_ADVANCED.md b/app/system/modules/editor/app/assets/marked/docs/USING_ADVANCED.md deleted file mode 100755 index 8e24b656..00000000 --- a/app/system/modules/editor/app/assets/marked/docs/USING_ADVANCED.md +++ /dev/null @@ -1,154 +0,0 @@ -## The `marked` function - -```js -marked(markdownString [,options] [,callback]) -``` - -|Argument |Type |Notes | -|:---------------------|:------------|:----------------------------------------------------------------------------------------------------| -|markdownString |`string` |String of markdown source to be compiled. | -|options|`object`|Hash of options. Can also use `marked.setOptions`. | -|callback |`function` |Called when `markdownString` has been parsed. Can be used as second argument if no `options` present.| - -### Alternative using reference - -```js -// Create reference instance -const marked = require('marked'); - -// Set options -// `highlight` example uses `highlight.js` -marked.setOptions({ - renderer: new marked.Renderer(), - highlight: function(code) { - return require('highlight.js').highlightAuto(code).value; - }, - pedantic: false, - gfm: true, - breaks: false, - sanitize: false, - smartLists: true, - smartypants: false, - xhtml: false -}); - -// Compile -console.log(marked(markdownString)); -``` - -

Options

- -|Member |Type |Default |Since |Notes | -|:-----------|:---------|:--------|:--------|:-------------| -|baseUrl |`string` |`null` |0.3.9 |A prefix url for any relative link. | -|breaks |`boolean` |`false` |v0.2.7 |If true, add `
` on a single line break (copies GitHub). Requires `gfm` be `true`.| -|gfm |`boolean` |`true` |v0.2.1 |If true, use approved [GitHub Flavored Markdown (GFM) specification](https://github.github.com/gfm/).| -|headerIds |`boolean` |`true` |v0.4.0 |If true, include an `id` attribute when emitting headings (h1, h2, h3, etc).| -|headerPrefix|`string` |`''` |v0.3.0 |A string to prefix the `id` attribute when emitting headings (h1, h2, h3, etc).| -|highlight |`function`|`null` |v0.3.0 |A function to highlight code blocks, see Asynchronous highlighting.| -|langPrefix |`string` |`'language-'`|v0.3.0|A string to prefix the className in a `` block. Useful for syntax highlighting.| -|mangle |`boolean` |`true` |v0.3.4 |If true, autolinked email address is escaped with HTML character references.| -|pedantic |`boolean` |`false` |v0.2.1 |If true, conform to the original `markdown.pl` as much as possible. Don't fix original markdown bugs or behavior. Turns off and overrides `gfm`.| -|renderer |`object` |`new Renderer()`|v0.3.0|An object containing functions to render tokens to HTML. See [extensibility](USING_PRO.md) for more details.| -|sanitize |`boolean` |`false` |v0.2.1 |If true, sanitize the HTML passed into `markdownString` with the `sanitizer` function.
**Warning**: This feature is deprecated and it should NOT be used as it cannot be considered secure.
Instead use a sanitize library, like [DOMPurify](https://github.com/cure53/DOMPurify) (recommended), [sanitize-html](https://github.com/apostrophecms/sanitize-html) or [insane](https://github.com/bevacqua/insane) on the output HTML! | -|sanitizer |`function`|`null` |v0.3.4 |A function to sanitize the HTML passed into `markdownString`.| -|silent |`boolean` |`false` |v0.2.7 |If true, the parser does not throw any exception.| -|smartLists |`boolean` |`false` |v0.2.8 |If true, use smarter list behavior than those found in `markdown.pl`.| -|smartypants |`boolean` |`false` |v0.2.9 |If true, use "smart" typographic punctuation for things like quotes and dashes.| -|xhtml |`boolean` |`false` |v0.3.2 |If true, emit self-closing HTML tags for void elements (<br/>, <img/>, etc.) with a "/" as required by XHTML.| - -

Asynchronous highlighting

- -Unlike `highlight.js` the `pygmentize.js` library uses asynchronous highlighting. This example demonstrates that marked is agnostic when it comes to the highlighter you use. - -```js -marked.setOptions({ - highlight: function(code, lang, callback) { - require('pygmentize-bundled') ({ lang: lang, format: 'html' }, code, function (err, result) { - callback(err, result.toString()); - }); - } -}); - -console.log(marked(markdownString)); -``` - -In both examples, `code` is a `string` representing the section of code to pass to the highlighter. In this example, `lang` is a `string` informing the highlighter what programming lnaguage to use for the `code` and `callback` is the `function` the asynchronous highlighter will call once complete. - -

Workers

- -To prevent ReDoS attacks you can run marked on a worker and terminate it when parsing takes longer than usual. - -Marked can be run in a [worker thread](https://nodejs.org/api/worker_threads.html) on a node server, or a [web worker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API) in a browser. - -### Node Worker Thread - -> 🚨 Node Worker Threads are [experimental](https://nodejs.org/api/worker_threads.html#worker_threads_worker_threads) 🚨 -> -> This implementation may change. - -```js -// markedWorker.js - -const marked = require('marked'); -const { parentPort } = require('worker_threads'); - -parentPort.on('message', (markdownString) => { - parentPort.postMessage(marked(markdownString)); -}); -``` - -```js -// index.js - -const { Worker } = require('worker_threads'); -const markedWorker = new Worker('./markedWorker.js'); - -const markedTimeout = setTimeout(() => { - markedWorker.terminate(); - throw new Error('Marked took too long!'); -}, timeoutLimit); - -markedWorker.on('message', (html) => { - clearTimeout(markedTimeout); - console.log(html); - markedWorker.terminate(); -}); - -markedWorker.postMessage(markdownString); -``` - -### Web Worker - -> **NOTE**: Web Workers send the payload from `postMessage` in an object with the payload in a `.data` property - -```js -// markedWorker.js - -importScripts('path/to/marked.min.js'); - -onmessage = (e) => { - const markdownString = e.data - postMessage(marked(markdownString)); -}; -``` - -```js -// script.js - -const markedWorker = new Worker('./markedWorker.js'); - -const markedTimeout = setTimeout(() => { - markedWorker.terminate(); - throw new Error('Marked took too long!'); -}, timeoutLimit); - -markedWorker.onmessage = (e) => { - clearTimeout(markedTimeout); - const html = e.data; - console.log(html); - markedWorker.terminate(); -}; - -markedWorker.postMessage(markdownString); -``` diff --git a/app/system/modules/editor/app/assets/marked/docs/USING_PRO.md b/app/system/modules/editor/app/assets/marked/docs/USING_PRO.md deleted file mode 100755 index 861caa2d..00000000 --- a/app/system/modules/editor/app/assets/marked/docs/USING_PRO.md +++ /dev/null @@ -1,163 +0,0 @@ -## Extending Marked - -To champion the single-responsibility and open/closed prinicples, we have tried to make it relatively painless to extend marked. If you are looking to add custom functionality, this is the place to start. - -

The renderer

- -The renderer is... - -**Example:** Overriding default heading token by adding an embedded anchor tag like on GitHub. - -```js -// Create reference instance -var myMarked = require('marked'); - -// Get reference -var renderer = new myMarked.Renderer(); - -// Override function -renderer.heading = function (text, level) { - var escapedText = text.toLowerCase().replace(/[^\w]+/g, '-'); - - return ` - - - - - ${text} - `; -}; - -// Run marked -console.log(myMarked('# heading+', { renderer: renderer })); -``` - -**Output:** - -```html -

- - - - heading+ -

-``` - -### Block level renderer methods - -- code(*string* code, *string* infostring, *boolean* escaped) -- blockquote(*string* quote) -- html(*string* html) -- heading(*string* text, *number* level, *string* raw, *Slugger* slugger) -- hr() -- list(*string* body, *boolean* ordered, *number* start) -- listitem(*string* text, *boolean* task, *boolean* checked) -- checkbox(*boolean* checked) -- paragraph(*string* text) -- table(*string* header, *string* body) -- tablerow(*string* content) -- tablecell(*string* content, *object* flags) - -`slugger` has the `slug` method to create an unique id from value: - -```js -slugger.slug('foo') // foo -slugger.slug('foo') // foo-1 -slugger.slug('foo') // foo-2 -slugger.slug('foo 1') // foo-1-1 -slugger.slug('foo-1') // foo-1-2 -... -``` - -`flags` has the following properties: - -```js -{ - header: true || false, - align: 'center' || 'left' || 'right' -} -``` - -### Inline level renderer methods - -- strong(*string* text) -- em(*string* text) -- codespan(*string* code) -- br() -- del(*string* text) -- link(*string* href, *string* title, *string* text) -- image(*string* href, *string* title, *string* text) -- text(*string* text) - -

The lexer

- -The lexer is... - - -

The parser

- -The parser is... - -*** - -

Access to lexer and parser

- -You also have direct access to the lexer and parser if you so desire. - -``` js -var tokens = marked.lexer(text, options); -console.log(marked.parser(tokens)); -``` - -``` js -var lexer = new marked.Lexer(options); -var tokens = lexer.lex(text); -console.log(tokens); -console.log(lexer.rules); -``` - -``` bash -$ node -> require('marked').lexer('> i am using marked.') -[ { type: 'blockquote_start' }, - { type: 'paragraph', - text: 'i am using marked.' }, - { type: 'blockquote_end' }, - links: {} ] -``` - -The Lexers build an array of tokens, which will be passed to their respective -Parsers. The Parsers process each token in the token arrays, -which are removed from the array of tokens: - -``` js -const marked = require('marked'); - -const md = ` - # heading - - [link][1] - - [1]: #heading "heading" -`; - -const tokens = marked.lexer(md); -console.log(tokens); - -const html = marked.parser(tokens); -console.log(html); - -console.log(tokens); -``` - -``` bash -[ { type: 'heading', depth: 1, text: 'heading' }, - { type: 'paragraph', text: ' [link][1]' }, - { type: 'space' }, - links: { '1': { href: '#heading', title: 'heading' } } ] - -

heading

-

link

- -[ links: { '1': { href: '#heading', title: 'heading' } } ] -``` diff --git a/app/system/modules/editor/app/assets/marked/docs/broken.md b/app/system/modules/editor/app/assets/marked/docs/broken.md deleted file mode 100755 index 7bfa49e8..00000000 --- a/app/system/modules/editor/app/assets/marked/docs/broken.md +++ /dev/null @@ -1,426 +0,0 @@ -# Markdown is broken - -I have a lot of scraps of markdown engine oddities that I've collected over the -years. What you see below is slightly messy, but it's what I've managed to -cobble together to illustrate the differences between markdown engines, and -why, if there ever is a markdown specification, it has to be absolutely -thorough. There are a lot more of these little differences I have documented -elsewhere. I know I will find them lingering on my disk one day, but until -then, I'll continue to add whatever strange nonsensical things I find. - -Some of these examples may only mention a particular engine compared to marked. -However, the examples with markdown.pl could easily be swapped out for -discount, upskirt, or markdown.js, and you would very easily see even more -inconsistencies. - -A lot of this was written when I was very unsatisfied with the inconsistencies -between markdown engines. Please excuse the frustration noticeable in my -writing. - -## Examples of markdown's "stupid" list parsing - -``` -$ markdown.pl - - * item1 - - * item2 - - text -^D -
    -
  • item1

    - -
      -
    • item2
    • -
    - -

    text

  • -

-``` - - -``` -$ marked - * item1 - - * item2 - - text -^D -
    -
  • item1

    -
      -
    • item2
    • -
    -

    text

    -
  • -
-``` - -Which looks correct to you? - -- - - - -``` -$ markdown.pl -* hello - > world -^D -

    -
  • hello

    - -
    -

    world

  • -

- -``` - -``` -$ marked -* hello - > world -^D -
    -
  • hello
    -

    world

    -
    -
  • -
-``` - -Again, which looks correct to you? - -- - - - -EXAMPLE: - -``` -$ markdown.pl -* hello - * world - * hi - code -^D -
    -
  • hello -
      -
    • world
    • -
    • hi - code
    • -
  • -
-``` - -The code isn't a code block even though it's after the bullet margin. I know, -lets give it two more spaces, effectively making it 8 spaces past the bullet. - -``` -$ markdown.pl -* hello - * world - * hi - code -^D -
    -
  • hello -
      -
    • world
    • -
    • hi - code
    • -
  • -
-``` - -And, it's still not a code block. Did you also notice that the 3rd item isn't -even its own list? Markdown screws that up too because of its indentation -unaware parsing. - -- - - - -Let's look at some more examples of markdown's list parsing: - -``` -$ markdown.pl - - * item1 - - * item2 - - text -^D -
    -
  • item1

    - -
      -
    • item2
    • -
    - -

    text

  • -

-``` - -Misnested tags. - - -``` -$ marked - * item1 - - * item2 - - text -^D -
    -
  • item1

    -
      -
    • item2
    • -
    -

    text

    -
  • -
-``` - -Which looks correct to you? - -- - - - -``` -$ markdown.pl -* hello - > world -^D -

    -
  • hello

    - -
    -

    world

  • -

- -``` - -More misnested tags. - - -``` -$ marked -* hello - > world -^D -
    -
  • hello
    -

    world

    -
    -
  • -
-``` - -Again, which looks correct to you? - -- - - - -# Why quality matters - Part 2 - -``` bash -$ markdown.pl -* hello - > world -^D -

    -
  • hello

    - -
    -

    world

  • -

- -``` - -``` bash -$ sundown # upskirt -* hello - > world -^D -
    -
  • hello -> world
  • -
-``` - -``` bash -$ marked -* hello - > world -^D -
  • hello

    world

-``` - -Which looks correct to you? - -- - - - -See: https://github.com/evilstreak/markdown-js/issues/23 - -``` bash -$ markdown.pl # upskirt/markdown.js/discount -* hello - var a = 1; -* world -^D -
    -
  • hello -var a = 1;
  • -
  • world
  • -
-``` - -``` bash -$ marked -* hello - var a = 1; -* world -^D -
-``` - -Which looks more reasonable? Why shouldn't code blocks be able to appear in -list items in a sane way? - -- - - - -``` bash -$ markdown.js -
hello
- -hello -^D -

<div>hello</div>

- -

<span>hello</span>

-``` - -``` bash -$ marked -
hello
- -hello -^D -
hello
- - -

hello -

-``` - -- - - - -See: https://github.com/evilstreak/markdown-js/issues/27 - -``` bash -$ markdown.js -[![an image](/image)](/link) -^D -

![an image

-``` - -``` bash -$ marked -[![an image](/image)](/link) -^D -

an image -

-``` - -- - - - -See: https://github.com/evilstreak/markdown-js/issues/24 - -``` bash -$ markdown.js -> a - -> b - -> c -^D -

a

bundefined> c

-``` - -``` bash -$ marked -> a - -> b - -> c -^D -

a - -

-

b - -

-

c -

-``` - -- - - - -``` bash -$ markdown.pl -* hello - * world - how - - are - you - - * today -* hi -^D - -``` - -``` bash -$ marked -* hello - * world - how - - are - you - - * today -* hi -^D - -``` diff --git a/app/system/modules/editor/app/assets/marked/docs/demo/demo.css b/app/system/modules/editor/app/assets/marked/docs/demo/demo.css deleted file mode 100755 index 398c663a..00000000 --- a/app/system/modules/editor/app/assets/marked/docs/demo/demo.css +++ /dev/null @@ -1,72 +0,0 @@ -html, body { - margin: 0; - padding: 0; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - color: #333; - background-color: #fbfbfb; - height: 100%; -} - -textarea { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - font-size: 12px; - resize: none; -} - -header { - padding-top: 10px; - display: flex; - height: 58px; -} - -header h1 { - margin: 0; -} - -.github-ribbon { - position: absolute; - top: 0; - right: 0; - border: 0; - z-index: 1000; -} - -.containers { - display: flex; - height: calc(100vh - 68px); -} - -.container { - flex-basis: 50%; - padding: 5px; - display: flex; - flex-direction: column; - height: 100%; - box-sizing: border-box; -} - -.pane, .inputPane { - margin-top: 5px; - padding: 0.6em; - border: 1px solid #ccc; - overflow: auto; - flex-grow: 1; - flex-shrink: 1; -} - -#preview { - display: flex; -} - -#preview iframe { - flex-grow: 1; -} - -#main { - display: none; -} - -.error { - border-color: red; - background-color: #FEE -} diff --git a/app/system/modules/editor/app/assets/marked/docs/demo/demo.js b/app/system/modules/editor/app/assets/marked/docs/demo/demo.js deleted file mode 100755 index c54a3a24..00000000 --- a/app/system/modules/editor/app/assets/marked/docs/demo/demo.js +++ /dev/null @@ -1,534 +0,0 @@ -/* globals marked, unfetch, ES6Promise, Promise */ - -if (!window.Promise) { - window.Promise = ES6Promise; -} -if (!window.fetch) { - window.fetch = unfetch; -} - -onunhandledrejection = function(e) { - throw e.reason; -}; - -var $loadingElem = document.querySelector('#loading'); -var $mainElem = document.querySelector('#main'); -var $markdownElem = document.querySelector('#markdown'); -var $markedVerElem = document.querySelector('#markedVersion'); -var $commitVerElem = document.querySelector('#commitVersion'); -var $markedVer = document.querySelector('#markedCdn'); -var $optionsElem = document.querySelector('#options'); -var $outputTypeElem = document.querySelector('#outputType'); -var $inputTypeElem = document.querySelector('#inputType'); -var $responseTimeElem = document.querySelector('#responseTime'); -var $previewElem = document.querySelector('#preview'); -var $previewIframe = document.querySelector('#preview iframe'); -var $permalinkElem = document.querySelector('#permalink'); -var $clearElem = document.querySelector('#clear'); -var $htmlElem = document.querySelector('#html'); -var $lexerElem = document.querySelector('#lexer'); -var $panes = document.querySelectorAll('.pane'); -var $inputPanes = document.querySelectorAll('.inputPane'); -var lastInput = ''; -var inputDirty = true; -var $activeOutputElem = null; -var search = searchToObject(); -var markedVersions = { - master: 'https://cdn.jsdelivr.net/gh/markedjs/marked/lib/marked.js' -}; -var markedVersionCache = {}; -var delayTime = 1; -var checkChangeTimeout = null; -var markedWorker; - -$previewIframe.addEventListener('load', handleIframeLoad); - -$outputTypeElem.addEventListener('change', handleOutputChange, false); - -$inputTypeElem.addEventListener('change', handleInputChange, false); - -$markedVerElem.addEventListener('change', handleVersionChange, false); - -$markdownElem.addEventListener('change', handleInput, false); -$markdownElem.addEventListener('keyup', handleInput, false); -$markdownElem.addEventListener('keypress', handleInput, false); -$markdownElem.addEventListener('keydown', handleInput, false); - -$optionsElem.addEventListener('change', handleInput, false); -$optionsElem.addEventListener('keyup', handleInput, false); -$optionsElem.addEventListener('keypress', handleInput, false); -$optionsElem.addEventListener('keydown', handleInput, false); - -$commitVerElem.style.display = 'none'; -$commitVerElem.addEventListener('keypress', handleAddVersion, false); - -$clearElem.addEventListener('click', handleClearClick, false); - -Promise.all([ - setInitialQuickref(), - setInitialOutputType(), - setInitialText(), - setInitialVersion() - .then(setInitialOptions) -]).then(function() { - handleInputChange(); - handleOutputChange(); - checkForChanges(); - setScrollPercent(0); - $loadingElem.style.display = 'none'; - $mainElem.style.display = 'block'; -}); - -function setInitialText() { - if ('text' in search) { - $markdownElem.value = search.text; - } else { - return fetch('./initial.md') - .then(function(res) { return res.text(); }) - .then(function(text) { - if ($markdownElem.value === '') { - $markdownElem.value = text; - } - }); - } -} - -function setInitialQuickref() { - return fetch('./quickref.md') - .then(function(res) { return res.text(); }) - .then(function(text) { - document.querySelector('#quickref').value = text; - }); -} - -function setInitialVersion() { - return fetch('https://data.jsdelivr.com/v1/package/npm/marked') - .then(function(res) { - return res.json(); - }) - .then(function(json) { - for (var i = 0; i < json.versions.length; i++) { - var ver = json.versions[i]; - markedVersions[ver] = 'https://cdn.jsdelivr.net/npm/marked@' + ver + '/lib/marked.js'; - var opt = document.createElement('option'); - opt.textContent = ver; - opt.value = ver; - $markedVerElem.appendChild(opt); - } - }) - .then(function() { - return fetch('https://api.github.com/repos/markedjs/marked/commits') - .then(function(res) { - return res.json(); - }) - .then(function(json) { - markedVersions['master'] = 'https://cdn.jsdelivr.net/gh/markedjs/marked@' + json[0].sha + '/lib/marked.js'; - }) - .catch(function() { - // do nothing - // uses url without commit - }); - }) - .then(function() { - if (search.version) { - if (markedVersions[search.version]) { - return search.version; - } else { - var match = search.version.match(/^(\w+):(.+)$/); - if (match) { - switch (match[1]) { - case 'commit': - addCommitVersion(search.version, match[2].substring(0, 7), match[2]); - return search.version; - case 'pr': - return getPrCommit(match[2]) - .then(function(commit) { - if (!commit) { - return 'master'; - } - addCommitVersion(search.version, 'PR #' + match[2], commit); - return search.version; - }); - } - } - } - } - - return 'master'; - }) - .then(function(version) { - $markedVerElem.value = version; - }) - .then(updateVersion); -} - -function setInitialOptions() { - if ('options' in search) { - $optionsElem.value = search.options; - } else { - setDefaultOptions(); - } -} - -function setInitialOutputType() { - if (search.outputType) { - $outputTypeElem.value = search.outputType; - } -} - -function handleIframeLoad() { - lastInput = ''; - inputDirty = true; -} - -function handleInput() { - inputDirty = true; -}; - -function handleVersionChange() { - if ($markedVerElem.value === 'commit' || $markedVerElem.value === 'pr') { - $commitVerElem.style.display = ''; - } else { - $commitVerElem.style.display = 'none'; - updateVersion(); - } -} - -function handleClearClick() { - $markdownElem.value = ''; - $markedVerElem.value = 'master'; - $commitVerElem.style.display = 'none'; - updateVersion().then(setDefaultOptions); -} - -function handleAddVersion(e) { - if (e.which === 13) { - switch ($markedVerElem.value) { - case 'commit': - var commit = $commitVerElem.value.toLowerCase(); - if (!commit.match(/^[0-9a-f]{40}$/)) { - alert('That is not a valid commit'); - return; - } - addCommitVersion('commit:' + commit, commit.substring(0, 7), commit); - $markedVerElem.value = 'commit:' + commit; - $commitVerElem.style.display = 'none'; - $commitVerElem.value = ''; - updateVersion(); - break; - case 'pr': - $commitVerElem.disabled = true; - var pr = $commitVerElem.value.replace(/\D/g, ''); - getPrCommit(pr) - .then(function(commit) { - $commitVerElem.disabled = false; - if (!commit) { - alert('That is not a valid PR'); - return; - } - addCommitVersion('pr:' + pr, 'PR #' + pr, commit); - $markedVerElem.value = 'pr:' + pr; - $commitVerElem.style.display = 'none'; - $commitVerElem.value = ''; - updateVersion(); - }); - } - } -} - -function handleInputChange() { - handleChange($inputPanes, $inputTypeElem.value); -} - -function handleOutputChange() { - $activeOutputElem = handleChange($panes, $outputTypeElem.value); - updateLink(); -} - -function handleChange(panes, visiblePane) { - var active = null; - for (var i = 0; i < panes.length; i++) { - if (panes[i].id === visiblePane) { - panes[i].style.display = ''; - active = panes[i]; - } else { - panes[i].style.display = 'none'; - } - } - return active; -}; - -function addCommitVersion(value, text, commit) { - if (markedVersions[value]) { - return; - } - markedVersions[value] = 'https://cdn.jsdelivr.net/gh/markedjs/marked@' + commit + '/lib/marked.js'; - var opt = document.createElement('option'); - opt.textContent = text; - opt.value = value; - $markedVerElem.insertBefore(opt, $markedVerElem.firstChild); -} - -function getPrCommit(pr) { - return fetch('https://api.github.com/repos/markedjs/marked/pulls/' + pr + '/commits') - .then(function(res) { - return res.json(); - }) - .then(function(json) { - return json[json.length - 1].sha; - }).catch(function() { - // return undefined - }); -} - -function setDefaultOptions() { - if (window.Worker) { - messageWorker({ - task: 'defaults', - version: markedVersions[$markedVerElem.value] - }); - } else { - var defaults = marked.getDefaults(); - setOptions(defaults); - } -} - -function setOptions(opts) { - $optionsElem.value = JSON.stringify( - opts, - function(key, value) { - if (value && typeof value === 'object' && Object.getPrototypeOf(value) !== Object.prototype) { - return undefined; - } - return value; - }, ' '); -} - -function searchToObject() { - // modified from https://stackoverflow.com/a/7090123/806777 - var pairs = location.search.slice(1).split('&'); - var obj = {}; - - for (var i = 0; i < pairs.length; i++) { - if (pairs[i] === '') { - continue; - } - - var pair = pairs[i].split('='); - - obj[decodeURIComponent(pair.shift())] = decodeURIComponent(pair.join('=')); - } - - return obj; -} - -function jsonString(input) { - var output = (input + '') - .replace(/\n/g, '\\n') - .replace(/\r/g, '\\r') - .replace(/\t/g, '\\t') - .replace(/\f/g, '\\f') - .replace(/[\\"']/g, '\\$&') - .replace(/\u0000/g, '\\0'); - return '"' + output + '"'; -}; - -function getScrollSize() { - var e = $activeOutputElem; - - return e.scrollHeight - e.clientHeight; -}; - -function getScrollPercent() { - var size = getScrollSize(); - - if (size <= 0) { - return 1; - } - - return $activeOutputElem.scrollTop / size; -}; - -function setScrollPercent(percent) { - $activeOutputElem.scrollTop = percent * getScrollSize(); -}; - -function updateLink() { - var outputType = ''; - if ($outputTypeElem.value !== 'preview') { - outputType = 'outputType=' + $outputTypeElem.value + '&'; - } - - $permalinkElem.href = '?' + outputType + 'text=' + encodeURIComponent($markdownElem.value) - + '&options=' + encodeURIComponent($optionsElem.value) - + '&version=' + encodeURIComponent($markedVerElem.value); - history.replaceState('', document.title, $permalinkElem.href); -} - -function updateVersion() { - if (window.Worker) { - handleInput(); - return Promise.resolve(); - } - var promise; - if (markedVersionCache[$markedVerElem.value]) { - promise = Promise.resolve(markedVersionCache[$markedVerElem.value]); - } else { - promise = fetch(markedVersions[$markedVerElem.value]) - .then(function(res) { return res.text(); }) - .then(function(text) { - markedVersionCache[$markedVerElem.value] = text; - return text; - }); - } - return promise.then(function(text) { - var script = document.createElement('script'); - script.textContent = text; - - $markedVer.parentNode.replaceChild(script, $markedVer); - $markedVer = script; - }).then(handleInput); -} - -function checkForChanges() { - if (inputDirty && $markedVerElem.value !== 'commit' && $markedVerElem.value !== 'pr' && (typeof marked !== 'undefined' || window.Worker)) { - inputDirty = false; - - updateLink(); - - var options = {}; - var optionsString = $optionsElem.value || '{}'; - try { - var newOptions = JSON.parse(optionsString); - options = newOptions; - $optionsElem.classList.remove('error'); - } catch (err) { - $optionsElem.classList.add('error'); - } - - var version = markedVersions[$markedVerElem.value]; - var markdown = $markdownElem.value; - var hash = version + markdown + optionsString; - if (lastInput !== hash) { - lastInput = hash; - if (window.Worker) { - delayTime = 100; - messageWorker({ - task: 'parse', - version: version, - markdown: markdown, - options: options - }); - } else { - var startTime = new Date(); - var lexed = marked.lexer(markdown, options); - var lexedList = []; - for (var i = 0; i < lexed.length; i++) { - var lexedLine = []; - for (var j in lexed[i]) { - lexedLine.push(j + ':' + jsonString(lexed[i][j])); - } - lexedList.push('{' + lexedLine.join(', ') + '}'); - } - var parsed = marked.parser(lexed, options); - var scrollPercent = getScrollPercent(); - setParsed(parsed, lexedList.join('\n')); - setScrollPercent(scrollPercent); - var endTime = new Date(); - delayTime = endTime - startTime; - setResponseTime(delayTime); - if (delayTime < 50) { - delayTime = 50; - } else if (delayTime > 500) { - delayTime = 1000; - } - } - } - } - checkChangeTimeout = window.setTimeout(checkForChanges, delayTime); -}; - -function setResponseTime(ms) { - var amount = ms; - var suffix = 'ms'; - if (ms > 1000 * 60 * 60) { - amount = 'Too Long'; - suffix = ''; - } else if (ms > 1000 * 60) { - amount = '>' + Math.floor(ms / (1000 * 60)); - suffix = 'm'; - } else if (ms > 1000) { - amount = '>' + Math.floor(ms / 1000); - suffix = 's'; - } - $responseTimeElem.textContent = amount + suffix; -} - -function setParsed(parsed, lexed) { - try { - $previewIframe.contentDocument.body.innerHTML = parsed; - } catch (ex) {} - $htmlElem.value = parsed; - $lexerElem.value = lexed; -} - -function messageWorker(message) { - if (!markedWorker || markedWorker.working) { - if (markedWorker) { - clearTimeout(markedWorker.timeout); - markedWorker.terminate(); - } - markedWorker = new Worker('worker.js'); - markedWorker.onmessage = function(e) { - clearTimeout(markedWorker.timeout); - markedWorker.working = false; - switch (e.data.task) { - case 'defaults': - setOptions(e.data.defaults); - break; - case 'parse': - $previewElem.classList.remove('error'); - $htmlElem.classList.remove('error'); - $lexerElem.classList.remove('error'); - var scrollPercent = getScrollPercent(); - setParsed(e.data.parsed, e.data.lexed); - setScrollPercent(scrollPercent); - setResponseTime(e.data.time); - break; - } - clearTimeout(checkChangeTimeout); - delayTime = 10; - checkForChanges(); - }; - markedWorker.onerror = markedWorker.onmessageerror = function(err) { - clearTimeout(markedWorker.timeout); - var error = 'There was an error in the Worker'; - if (err) { - if (err.message) { - error = err.message; - } else { - error = err; - } - } - error = error.replace(/^Uncaught Error: /, ''); - $previewElem.classList.add('error'); - $htmlElem.classList.add('error'); - $lexerElem.classList.add('error'); - setParsed(error, error); - setScrollPercent(0); - }; - } - if (message.task !== 'defaults') { - markedWorker.working = true; - workerTimeout(0); - } - markedWorker.postMessage(message); -} - -function workerTimeout(seconds) { - markedWorker.timeout = setTimeout(function() { - seconds++; - markedWorker.onerror('Marked has taken longer than ' + seconds + ' second' + (seconds > 1 ? 's' : '') + ' to respond...'); - workerTimeout(seconds); - }, 1000); -} diff --git a/app/system/modules/editor/app/assets/marked/docs/demo/index.html b/app/system/modules/editor/app/assets/marked/docs/demo/index.html deleted file mode 100755 index 96a8ec14..00000000 --- a/app/system/modules/editor/app/assets/marked/docs/demo/index.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - Marked Demo - - - - - - Fork me on GitHub - - -
- - - -

Marked Demo

-
- -
Loading...
-
-
-
-
- Input · - · - Version: - - · - - -
- - -
- -
-
- · - Response Time: - -
- -
- - -
- - - - - - -
-
-
- - - - - - - diff --git a/app/system/modules/editor/app/assets/marked/docs/demo/initial.md b/app/system/modules/editor/app/assets/marked/docs/demo/initial.md deleted file mode 100755 index d2b7d77c..00000000 --- a/app/system/modules/editor/app/assets/marked/docs/demo/initial.md +++ /dev/null @@ -1,36 +0,0 @@ -Marked - Markdown Parser -======================== - -[Marked] lets you convert [Markdown] into HTML. Markdown is a simple text format whose goal is to be very easy to read and write, even when not converted to HTML. This demo page will let you type anything you like and see how it gets converted. Live. No more waiting around. - -How To Use The Demo -------------------- - -1. Type in stuff on the left. -2. See the live updates on the right. - -That's it. Pretty simple. There's also a drop-down option in the upper right to switch between various views: - -- **Preview:** A live display of the generated HTML as it would render in a browser. -- **HTML Source:** The generated HTML before your browser makes it pretty. -- **Lexer Data:** What [marked] uses internally, in case you like gory stuff like this. -- **Quick Reference:** A brief run-down of how to format things using markdown. - -Why Markdown? -------------- - -It's easy. It's not overly bloated, unlike HTML. Also, as the creator of [markdown] says, - -> The overriding design goal for Markdown's -> formatting syntax is to make it as readable -> as possible. The idea is that a -> Markdown-formatted document should be -> publishable as-is, as plain text, without -> looking like it's been marked up with tags -> or formatting instructions. - -Ready to start writing? Either start changing stuff on the left or -[clear everything](/demo/?text=) with a simple click. - -[Marked]: https://github.com/markedjs/marked/ -[Markdown]: http://daringfireball.net/projects/markdown/ diff --git a/app/system/modules/editor/app/assets/marked/docs/demo/preview.html b/app/system/modules/editor/app/assets/marked/docs/demo/preview.html deleted file mode 100755 index 7e8c89fe..00000000 --- a/app/system/modules/editor/app/assets/marked/docs/demo/preview.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - marked.js preview - - - - - - diff --git a/app/system/modules/editor/app/assets/marked/docs/demo/quickref.md b/app/system/modules/editor/app/assets/marked/docs/demo/quickref.md deleted file mode 100755 index 10f09bda..00000000 --- a/app/system/modules/editor/app/assets/marked/docs/demo/quickref.md +++ /dev/null @@ -1,167 +0,0 @@ -Markdown Quick Reference -======================== - -This guide is a very brief overview, with examples, of the syntax that [Markdown] supports. It is itself written in Markdown and you can copy the samples over to the left-hand pane for experimentation. It's shown as *text* and not *rendered HTML*. - -[Markdown]: http://daringfireball.net/projects/markdown/ - - -Simple Text Formatting -====================== - -First thing is first. You can use *stars* or _underscores_ for italics. **Double stars** and __double underscores__ do bold. ***Three together*** do ___both___. - -Paragraphs are pretty easy too. Just have a blank line between chunks of text. - -> This chunk of text is in a block quote. Its multiple lines will all be -> indended a bit from the rest of the text. -> -> > Multiple levels of block quotes also work. - -Sometimes you want to include some code, such as when you are explaining how `

` HTML tags work, or maybe you are a programmer and you are discussing `someMethod()`. - -If you want to include some code and have -newlines preserved, indent the line with a tab -or at least four spaces. - Extra spaces work here too. -This is also called preformatted text and it is useful for showing examples. -The text will stay as text, so any *markdown* or HTML you add will -not show up formatted. This way you can show markdown examples in a -markdown document. - -> You can also use preformatted text with your blockquotes -> as long as you add at least five spaces. - - -Headings -======== - -There are a couple of ways to make headings. Using three or more equals signs on a line under a heading makes it into an "h1" style. Three or more hyphens under a line makes it "h2" (slightly smaller). You can also use multiple pound symbols before and after a heading. Pounds after the title are ignored. Here's some examples: - -This is H1 -========== - -This is H2 ----------- - -# This is H1 -## This is H2 -### This is H3 with some extra pounds ### -#### You get the idea #### -##### I don't need extra pounds at the end -###### H6 is the max - - -Links -===== - -Let's link to a few sites. First, let's use the bare URL, like . Great for text, but ugly for HTML. -Next is an inline link to [Google](http://www.google.com). A little nicer. -This is a reference-style link to [Wikipedia] [1]. -Lastly, here's a pretty link to [Yahoo]. The reference-style and pretty links both automatically use the links defined below, but they could be defined *anywhere* in the markdown and are removed from the HTML. The names are also case insensitive, so you can use [YaHoO] and have it link properly. - -[1]: http://www.wikipedia.org/ -[Yahoo]: http://www.yahoo.com/ - -Title attributes may be added to links by adding text after a link. -This is the [inline link](http://www.bing.com "Bing") with a "Bing" title. -You can also go to [W3C] [2] and maybe visit a [friend]. - -[2]: http://w3c.org (The W3C puts out specs for web-based things) -[Friend]: http://facebook.com/ "Facebook!" - -Email addresses in plain text are not linked: test@example.com. -Email addresses wrapped in angle brackets are linked: . -They are also obfuscated so that email harvesting spam robots hopefully won't get them. - - -Lists -===== - -* This is a bulleted list -* Great for shopping lists -- You can also use hyphens -+ Or plus symbols - -The above is an "unordered" list. Now, on for a bit of order. - -1. Numbered lists are also easy -2. Just start with a number -3738762. However, the actual number doesn't matter when converted to HTML. -1. This will still show up as 4. - -You might want a few advanced lists: - -- This top-level list is wrapped in paragraph tags -- This generates an extra space between each top-level item. - -- You do it by adding a blank line - -- This nested list also has blank lines between the list items. - -- How to create nested lists -1. Start your regular list -2. Indent nested lists with four spaces -3. Further nesting means you should indent with four more spaces - * This line is indented with eight spaces. - -- List items can be quite lengthy. You can keep typing and either continue -them on the next line with no indentation. - -- Alternately, if that looks ugly, you can also -indent the next line a bit for a prettier look. - -- You can put large blocks of text in your list by just indenting with four spaces. - -This is formatted the same as code, but you can inspect the HTML -and find that it's just wrapped in a `

` tag and *won't* be shown -as preformatted text. - -You can keep adding more and more paragraphs to a single -list item by adding the traditional blank line and then keep -on indenting the paragraphs with four spaces. You really need -to only indent the first line, but that looks ugly. - -- Lists support blockquotes - -> Just like this example here. By the way, you can -> nest lists inside blockquotes! -> - Fantastic! - -- Lists support preformatted text - - You just need to indent eight spaces. - - -Even More -========= - -Horizontal Rule ---------------- - -If you need a horizontal rule you just need to put at least three hyphens, asterisks, or underscores on a line by themselves. You can also even put spaces between the characters. - ---- -**************************** -_ _ _ _ _ _ _ - -Those three all produced horizontal lines. Keep in mind that three hyphens under any text turns that text into a heading, so add a blank like if you use hyphens. - -Images ------- - -Images work exactly like links, but they have exclamation points in front. They work with references and titles too. - -![Google Logo](http://www.google.com/images/errors/logo_sm.gif) and ![Happy]. - -[Happy]: http://www.wpclipart.com/smiley/simple_smiley/smiley_face_simple_green_small.png ("Smiley face") - - -Inline HTML ------------ - -If markdown is too limiting, you can just insert your own crazy HTML. Span-level HTML can *still* use markdown. Block level elements must be separated from text by a blank line and must not have any spaces before the opening and closing HTML. - -

-It is a pity, but markdown does **not** work in here for most markdown parsers. [Marked] handles it pretty well. -
diff --git a/app/system/modules/editor/app/assets/marked/docs/demo/worker.js b/app/system/modules/editor/app/assets/marked/docs/demo/worker.js deleted file mode 100755 index 01b6b753..00000000 --- a/app/system/modules/editor/app/assets/marked/docs/demo/worker.js +++ /dev/null @@ -1,105 +0,0 @@ -/* globals marked, unfetch, ES6Promise, Promise */ -if (!self.Promise) { - self.importScripts('https://cdn.jsdelivr.net/npm/es6-promise/dist/es6-promise.js'); - self.Promise = ES6Promise; -} -if (!self.fetch) { - self.importScripts('https://cdn.jsdelivr.net/npm/unfetch/dist/unfetch.umd.js'); - self.fetch = unfetch; -} - -var versionCache = {}; -var currentVersion; - -onunhandledrejection = function(e) { - throw e.reason; -}; - -onmessage = function(e) { - if (e.data.version === currentVersion) { - parse(e); - } else { - loadVersion(e.data.version).then(function() { - parse(e); - }); - } -}; - -function parse(e) { - switch (e.data.task) { - case 'defaults': - - var defaults = {}; - if (typeof marked.getDefaults === 'function') { - defaults = marked.getDefaults(); - delete defaults.renderer; - } else if ('defaults' in marked) { - for (var prop in marked.defaults) { - if (prop !== 'renderer') { - defaults[prop] = marked.defaults[prop]; - } - } - } - postMessage({ - task: e.data.task, - defaults: defaults - }); - break; - case 'parse': - var startTime = new Date(); - var lexed = marked.lexer(e.data.markdown, e.data.options); - var lexedList = []; - for (var i = 0; i < lexed.length; i++) { - var lexedLine = []; - for (var j in lexed[i]) { - lexedLine.push(j + ':' + jsonString(lexed[i][j])); - } - lexedList.push('{' + lexedLine.join(', ') + '}'); - } - var parsed = marked.parser(lexed, e.data.options); - var endTime = new Date(); - // setTimeout(function () { - postMessage({ - task: e.data.task, - lexed: lexedList.join('\n'), - parsed: parsed, - time: endTime - startTime - }); - // }, 10000); - break; - } -} - -function jsonString(input) { - var output = (input + '') - .replace(/\n/g, '\\n') - .replace(/\r/g, '\\r') - .replace(/\t/g, '\\t') - .replace(/\f/g, '\\f') - .replace(/[\\"']/g, '\\$&') - .replace(/\u0000/g, '\\0'); - return '"' + output + '"'; -}; - -function loadVersion(ver) { - var promise; - if (versionCache[ver]) { - promise = Promise.resolve(versionCache[ver]); - } else { - promise = fetch(ver) - .then(function(res) { return res.text(); }) - .then(function(text) { - versionCache[ver] = text; - return text; - }); - } - return promise.then(function(text) { - try { - // eslint-disable-next-line no-new-func - Function(text)(); - } catch (err) { - throw new Error('Cannot load that version of marked'); - } - currentVersion = ver; - }); -} diff --git a/app/system/modules/editor/app/assets/marked/docs/img/logo-black-and-white.svg b/app/system/modules/editor/app/assets/marked/docs/img/logo-black-and-white.svg deleted file mode 100755 index 5f6c0b78..00000000 --- a/app/system/modules/editor/app/assets/marked/docs/img/logo-black-and-white.svg +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/docs/img/logo-black.svg b/app/system/modules/editor/app/assets/marked/docs/img/logo-black.svg deleted file mode 100755 index a67fb80e..00000000 --- a/app/system/modules/editor/app/assets/marked/docs/img/logo-black.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/docs/index.html b/app/system/modules/editor/app/assets/marked/docs/index.html deleted file mode 100755 index 6aed6279..00000000 --- a/app/system/modules/editor/app/assets/marked/docs/index.html +++ /dev/null @@ -1,270 +0,0 @@ - - - - - Marked.js Documentation - - - - - - -
-
- - - -

Marked.js Documentation

-
- -
- - - - - - diff --git a/app/system/modules/editor/app/assets/marked/index.js b/app/system/modules/editor/app/assets/marked/index.js deleted file mode 100755 index a12f9056..00000000 --- a/app/system/modules/editor/app/assets/marked/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./lib/marked'); diff --git a/app/system/modules/editor/app/assets/marked/jasmine.json b/app/system/modules/editor/app/assets/marked/jasmine.json deleted file mode 100755 index bec42542..00000000 --- a/app/system/modules/editor/app/assets/marked/jasmine.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "spec_dir": "test", - "spec_files": [ - "**/*-spec.js" - ], - "helpers": [ - "helpers/helpers.js" - ], - "stopSpecOnExpectationFailure": false, - "random": true -} diff --git a/app/system/modules/editor/app/assets/marked/lib/marked.js b/app/system/modules/editor/app/assets/marked/lib/marked.js deleted file mode 100755 index 196b2b92..00000000 --- a/app/system/modules/editor/app/assets/marked/lib/marked.js +++ /dev/null @@ -1,1704 +0,0 @@ -/** - * marked - a markdown parser - * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed) - * https://github.com/markedjs/marked - */ - -;(function(root) { -'use strict'; - -/** - * Block-Level Grammar - */ - -var block = { - newline: /^\n+/, - code: /^( {4}[^\n]+\n*)+/, - fences: /^ {0,3}(`{3,}|~{3,})([^`~\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/, - hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/, - heading: /^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/, - blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/, - list: /^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/, - html: '^ {0,3}(?:' // optional indentation - + '<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)' // (1) - + '|comment[^\\n]*(\\n+|$)' // (2) - + '|<\\?[\\s\\S]*?\\?>\\n*' // (3) - + '|\\n*' // (4) - + '|\\n*' // (5) - + '|)[\\s\\S]*?(?:\\n{2,}|$)' // (6) - + '|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)' // (7) open tag - + '|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)' // (7) closing tag - + ')', - def: /^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/, - nptable: noop, - table: noop, - lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/, - // regex template, placeholders will be replaced according to different paragraph - // interruption rules of commonmark and the original markdown spec: - _paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/, - text: /^[^\n]+/ -}; - -block._label = /(?!\s*\])(?:\\[\[\]]|[^\[\]])+/; -block._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/; -block.def = edit(block.def) - .replace('label', block._label) - .replace('title', block._title) - .getRegex(); - -block.bullet = /(?:[*+-]|\d{1,9}\.)/; -block.item = /^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/; -block.item = edit(block.item, 'gm') - .replace(/bull/g, block.bullet) - .getRegex(); - -block.list = edit(block.list) - .replace(/bull/g, block.bullet) - .replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))') - .replace('def', '\\n+(?=' + block.def.source + ')') - .getRegex(); - -block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' - + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' - + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' - + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' - + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' - + '|track|ul'; -block._comment = //; -block.html = edit(block.html, 'i') - .replace('comment', block._comment) - .replace('tag', block._tag) - .replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/) - .getRegex(); - -block.paragraph = edit(block._paragraph) - .replace('hr', block.hr) - .replace('heading', ' {0,3}#{1,6} +') - .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs - .replace('blockquote', ' {0,3}>') - .replace('fences', ' {0,3}(?:`{3,}|~{3,})[^`\\n]*\\n') - .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt - .replace('html', ')|<(?:script|pre|style|!--)') - .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks - .getRegex(); - -block.blockquote = edit(block.blockquote) - .replace('paragraph', block.paragraph) - .getRegex(); - -/** - * Normal Block Grammar - */ - -block.normal = merge({}, block); - -/** - * GFM Block Grammar - */ - -block.gfm = merge({}, block.normal, { - nptable: /^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/, - table: /^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/ -}); - -/** - * Pedantic grammar (original John Gruber's loose markdown specification) - */ - -block.pedantic = merge({}, block.normal, { - html: edit( - '^ *(?:comment *(?:\\n|\\s*$)' - + '|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)' // closed tag - + '|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))') - .replace('comment', block._comment) - .replace(/tag/g, '(?!(?:' - + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' - + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' - + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b') - .getRegex(), - def: /^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, - heading: /^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/, - fences: noop, // fences not supported - paragraph: edit(block.normal._paragraph) - .replace('hr', block.hr) - .replace('heading', ' *#{1,6} *[^\n]') - .replace('lheading', block.lheading) - .replace('blockquote', ' {0,3}>') - .replace('|fences', '') - .replace('|list', '') - .replace('|html', '') - .getRegex() -}); - -/** - * Block Lexer - */ - -function Lexer(options) { - this.tokens = []; - this.tokens.links = Object.create(null); - this.options = options || marked.defaults; - this.rules = block.normal; - - if (this.options.pedantic) { - this.rules = block.pedantic; - } else if (this.options.gfm) { - this.rules = block.gfm; - } -} - -/** - * Expose Block Rules - */ - -Lexer.rules = block; - -/** - * Static Lex Method - */ - -Lexer.lex = function(src, options) { - var lexer = new Lexer(options); - return lexer.lex(src); -}; - -/** - * Preprocessing - */ - -Lexer.prototype.lex = function(src) { - src = src - .replace(/\r\n|\r/g, '\n') - .replace(/\t/g, ' ') - .replace(/\u00a0/g, ' ') - .replace(/\u2424/g, '\n'); - - return this.token(src, true); -}; - -/** - * Lexing - */ - -Lexer.prototype.token = function(src, top) { - src = src.replace(/^ +$/gm, ''); - var next, - loose, - cap, - bull, - b, - item, - listStart, - listItems, - t, - space, - i, - tag, - l, - isordered, - istask, - ischecked; - - while (src) { - // newline - if (cap = this.rules.newline.exec(src)) { - src = src.substring(cap[0].length); - if (cap[0].length > 1) { - this.tokens.push({ - type: 'space' - }); - } - } - - // code - if (cap = this.rules.code.exec(src)) { - var lastToken = this.tokens[this.tokens.length - 1]; - src = src.substring(cap[0].length); - // An indented code block cannot interrupt a paragraph. - if (lastToken && lastToken.type === 'paragraph') { - lastToken.text += '\n' + cap[0].trimRight(); - } else { - cap = cap[0].replace(/^ {4}/gm, ''); - this.tokens.push({ - type: 'code', - codeBlockStyle: 'indented', - text: !this.options.pedantic - ? rtrim(cap, '\n') - : cap - }); - } - continue; - } - - // fences - if (cap = this.rules.fences.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'code', - lang: cap[2] ? cap[2].trim() : cap[2], - text: cap[3] || '' - }); - continue; - } - - // heading - if (cap = this.rules.heading.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'heading', - depth: cap[1].length, - text: cap[2] - }); - continue; - } - - // table no leading pipe (gfm) - if (cap = this.rules.nptable.exec(src)) { - item = { - type: 'table', - header: splitCells(cap[1].replace(/^ *| *\| *$/g, '')), - align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), - cells: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : [] - }; - - if (item.header.length === item.align.length) { - src = src.substring(cap[0].length); - - for (i = 0; i < item.align.length; i++) { - if (/^ *-+: *$/.test(item.align[i])) { - item.align[i] = 'right'; - } else if (/^ *:-+: *$/.test(item.align[i])) { - item.align[i] = 'center'; - } else if (/^ *:-+ *$/.test(item.align[i])) { - item.align[i] = 'left'; - } else { - item.align[i] = null; - } - } - - for (i = 0; i < item.cells.length; i++) { - item.cells[i] = splitCells(item.cells[i], item.header.length); - } - - this.tokens.push(item); - - continue; - } - } - - // hr - if (cap = this.rules.hr.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'hr' - }); - continue; - } - - // blockquote - if (cap = this.rules.blockquote.exec(src)) { - src = src.substring(cap[0].length); - - this.tokens.push({ - type: 'blockquote_start' - }); - - cap = cap[0].replace(/^ *> ?/gm, ''); - - // Pass `top` to keep the current - // "toplevel" state. This is exactly - // how markdown.pl works. - this.token(cap, top); - - this.tokens.push({ - type: 'blockquote_end' - }); - - continue; - } - - // list - if (cap = this.rules.list.exec(src)) { - src = src.substring(cap[0].length); - bull = cap[2]; - isordered = bull.length > 1; - - listStart = { - type: 'list_start', - ordered: isordered, - start: isordered ? +bull : '', - loose: false - }; - - this.tokens.push(listStart); - - // Get each top-level item. - cap = cap[0].match(this.rules.item); - - listItems = []; - next = false; - l = cap.length; - i = 0; - - for (; i < l; i++) { - item = cap[i]; - - // Remove the list item's bullet - // so it is seen as the next token. - space = item.length; - item = item.replace(/^ *([*+-]|\d+\.) */, ''); - - // Outdent whatever the - // list item contains. Hacky. - if (~item.indexOf('\n ')) { - space -= item.length; - item = !this.options.pedantic - ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') - : item.replace(/^ {1,4}/gm, ''); - } - - // Determine whether the next list item belongs here. - // Backpedal if it does not belong in this list. - if (i !== l - 1) { - b = block.bullet.exec(cap[i + 1])[0]; - if (bull.length > 1 ? b.length === 1 - : (b.length > 1 || (this.options.smartLists && b !== bull))) { - src = cap.slice(i + 1).join('\n') + src; - i = l - 1; - } - } - - // Determine whether item is loose or not. - // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/ - // for discount behavior. - loose = next || /\n\n(?!\s*$)/.test(item); - if (i !== l - 1) { - next = item.charAt(item.length - 1) === '\n'; - if (!loose) loose = next; - } - - if (loose) { - listStart.loose = true; - } - - // Check for task list items - istask = /^\[[ xX]\] /.test(item); - ischecked = undefined; - if (istask) { - ischecked = item[1] !== ' '; - item = item.replace(/^\[[ xX]\] +/, ''); - } - - t = { - type: 'list_item_start', - task: istask, - checked: ischecked, - loose: loose - }; - - listItems.push(t); - this.tokens.push(t); - - // Recurse. - this.token(item, false); - - this.tokens.push({ - type: 'list_item_end' - }); - } - - if (listStart.loose) { - l = listItems.length; - i = 0; - for (; i < l; i++) { - listItems[i].loose = true; - } - } - - this.tokens.push({ - type: 'list_end' - }); - - continue; - } - - // html - if (cap = this.rules.html.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: this.options.sanitize - ? 'paragraph' - : 'html', - pre: !this.options.sanitizer - && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'), - text: this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0] - }); - continue; - } - - // def - if (top && (cap = this.rules.def.exec(src))) { - src = src.substring(cap[0].length); - if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1); - tag = cap[1].toLowerCase().replace(/\s+/g, ' '); - if (!this.tokens.links[tag]) { - this.tokens.links[tag] = { - href: cap[2], - title: cap[3] - }; - } - continue; - } - - // table (gfm) - if (cap = this.rules.table.exec(src)) { - item = { - type: 'table', - header: splitCells(cap[1].replace(/^ *| *\| *$/g, '')), - align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), - cells: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : [] - }; - - if (item.header.length === item.align.length) { - src = src.substring(cap[0].length); - - for (i = 0; i < item.align.length; i++) { - if (/^ *-+: *$/.test(item.align[i])) { - item.align[i] = 'right'; - } else if (/^ *:-+: *$/.test(item.align[i])) { - item.align[i] = 'center'; - } else if (/^ *:-+ *$/.test(item.align[i])) { - item.align[i] = 'left'; - } else { - item.align[i] = null; - } - } - - for (i = 0; i < item.cells.length; i++) { - item.cells[i] = splitCells( - item.cells[i].replace(/^ *\| *| *\| *$/g, ''), - item.header.length); - } - - this.tokens.push(item); - - continue; - } - } - - // lheading - if (cap = this.rules.lheading.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'heading', - depth: cap[2].charAt(0) === '=' ? 1 : 2, - text: cap[1] - }); - continue; - } - - // top-level paragraph - if (top && (cap = this.rules.paragraph.exec(src))) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'paragraph', - text: cap[1].charAt(cap[1].length - 1) === '\n' - ? cap[1].slice(0, -1) - : cap[1] - }); - continue; - } - - // text - if (cap = this.rules.text.exec(src)) { - // Top-level should never reach here. - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'text', - text: cap[0] - }); - continue; - } - - if (src) { - throw new Error('Infinite loop on byte: ' + src.charCodeAt(0)); - } - } - - return this.tokens; -}; - -/** - * Inline-Level Grammar - */ - -var inline = { - escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, - autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/, - url: noop, - tag: '^comment' - + '|^' // self-closing tag - + '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag - + '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g. - + '|^' // declaration, e.g. - + '|^', // CDATA section - link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/, - reflink: /^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/, - nolink: /^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/, - strong: /^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/, - em: /^_([^\s_])_(?!_)|^\*([^\s*<\[])\*(?!\*)|^_([^\s<][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s<"][\s\S]*?[^\s\*])\*(?!\*|[^\spunctuation])|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/, - code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, - br: /^( {2,}|\\)\n(?!\s*$)/, - del: noop, - text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~'; -inline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex(); - -inline._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g; - -inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/; -inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/; -inline.autolink = edit(inline.autolink) - .replace('scheme', inline._scheme) - .replace('email', inline._email) - .getRegex(); - -inline._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/; - -inline.tag = edit(inline.tag) - .replace('comment', block._comment) - .replace('attribute', inline._attribute) - .getRegex(); - -inline._label = /(?:\[[^\[\]]*\]|\\.|`[^`]*`|[^\[\]\\`])*?/; -inline._href = /<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/; -inline._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/; - -inline.link = edit(inline.link) - .replace('label', inline._label) - .replace('href', inline._href) - .replace('title', inline._title) - .getRegex(); - -inline.reflink = edit(inline.reflink) - .replace('label', inline._label) - .getRegex(); - -/** - * Normal Inline Grammar - */ - -inline.normal = merge({}, inline); - -/** - * Pedantic Inline Grammar - */ - -inline.pedantic = merge({}, inline.normal, { - strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, - em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/, - link: edit(/^!?\[(label)\]\((.*?)\)/) - .replace('label', inline._label) - .getRegex(), - reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/) - .replace('label', inline._label) - .getRegex() -}); - -/** - * GFM Inline Grammar - */ - -inline.gfm = merge({}, inline.normal, { - escape: edit(inline.escape).replace('])', '~|])').getRegex(), - _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/, - url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, - _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/, - del: /^~+(?=\S)([\s\S]*?\S)~+/, - text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\/i.test(cap[0])) { - this.inLink = false; - } - if (!this.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { - this.inRawBlock = true; - } else if (this.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { - this.inRawBlock = false; - } - - src = src.substring(cap[0].length); - out += this.options.sanitize - ? this.options.sanitizer - ? this.options.sanitizer(cap[0]) - : escape(cap[0]) - : cap[0]; - continue; - } - - // link - if (cap = this.rules.link.exec(src)) { - var lastParenIndex = findClosingBracket(cap[2], '()'); - if (lastParenIndex > -1) { - var linkLen = 4 + cap[1].length + lastParenIndex; - cap[2] = cap[2].substring(0, lastParenIndex); - cap[0] = cap[0].substring(0, linkLen).trim(); - cap[3] = ''; - } - src = src.substring(cap[0].length); - this.inLink = true; - href = cap[2]; - if (this.options.pedantic) { - link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href); - - if (link) { - href = link[1]; - title = link[3]; - } else { - title = ''; - } - } else { - title = cap[3] ? cap[3].slice(1, -1) : ''; - } - href = href.trim().replace(/^<([\s\S]*)>$/, '$1'); - out += this.outputLink(cap, { - href: InlineLexer.escapes(href), - title: InlineLexer.escapes(title) - }); - this.inLink = false; - continue; - } - - // reflink, nolink - if ((cap = this.rules.reflink.exec(src)) - || (cap = this.rules.nolink.exec(src))) { - src = src.substring(cap[0].length); - link = (cap[2] || cap[1]).replace(/\s+/g, ' '); - link = this.links[link.toLowerCase()]; - if (!link || !link.href) { - out += cap[0].charAt(0); - src = cap[0].substring(1) + src; - continue; - } - this.inLink = true; - out += this.outputLink(cap, link); - this.inLink = false; - continue; - } - - // strong - if (cap = this.rules.strong.exec(src)) { - src = src.substring(cap[0].length); - out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1])); - continue; - } - - // em - if (cap = this.rules.em.exec(src)) { - src = src.substring(cap[0].length); - out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1])); - continue; - } - - // code - if (cap = this.rules.code.exec(src)) { - src = src.substring(cap[0].length); - out += this.renderer.codespan(escape(cap[2].trim(), true)); - continue; - } - - // br - if (cap = this.rules.br.exec(src)) { - src = src.substring(cap[0].length); - out += this.renderer.br(); - continue; - } - - // del (gfm) - if (cap = this.rules.del.exec(src)) { - src = src.substring(cap[0].length); - out += this.renderer.del(this.output(cap[1])); - continue; - } - - // autolink - if (cap = this.rules.autolink.exec(src)) { - src = src.substring(cap[0].length); - if (cap[2] === '@') { - text = escape(this.mangle(cap[1])); - href = 'mailto:' + text; - } else { - text = escape(cap[1]); - href = text; - } - out += this.renderer.link(href, null, text); - continue; - } - - // url (gfm) - if (!this.inLink && (cap = this.rules.url.exec(src))) { - if (cap[2] === '@') { - text = escape(cap[0]); - href = 'mailto:' + text; - } else { - // do extended autolink path validation - do { - prevCapZero = cap[0]; - cap[0] = this.rules._backpedal.exec(cap[0])[0]; - } while (prevCapZero !== cap[0]); - text = escape(cap[0]); - if (cap[1] === 'www.') { - href = 'http://' + text; - } else { - href = text; - } - } - src = src.substring(cap[0].length); - out += this.renderer.link(href, null, text); - continue; - } - - // text - if (cap = this.rules.text.exec(src)) { - src = src.substring(cap[0].length); - if (this.inRawBlock) { - out += this.renderer.text(this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]); - } else { - out += this.renderer.text(escape(this.smartypants(cap[0]))); - } - continue; - } - - if (src) { - throw new Error('Infinite loop on byte: ' + src.charCodeAt(0)); - } - } - - return out; -}; - -InlineLexer.escapes = function(text) { - return text ? text.replace(InlineLexer.rules._escapes, '$1') : text; -}; - -/** - * Compile Link - */ - -InlineLexer.prototype.outputLink = function(cap, link) { - var href = link.href, - title = link.title ? escape(link.title) : null; - - return cap[0].charAt(0) !== '!' - ? this.renderer.link(href, title, this.output(cap[1])) - : this.renderer.image(href, title, escape(cap[1])); -}; - -/** - * Smartypants Transformations - */ - -InlineLexer.prototype.smartypants = function(text) { - if (!this.options.smartypants) return text; - return text - // em-dashes - .replace(/---/g, '\u2014') - // en-dashes - .replace(/--/g, '\u2013') - // opening singles - .replace(/(^|[-\u2014/(\[{"\s])'/g, '$1\u2018') - // closing singles & apostrophes - .replace(/'/g, '\u2019') - // opening doubles - .replace(/(^|[-\u2014/(\[{\u2018\s])"/g, '$1\u201c') - // closing doubles - .replace(/"/g, '\u201d') - // ellipses - .replace(/\.{3}/g, '\u2026'); -}; - -/** - * Mangle Links - */ - -InlineLexer.prototype.mangle = function(text) { - if (!this.options.mangle) return text; - var out = '', - l = text.length, - i = 0, - ch; - - for (; i < l; i++) { - ch = text.charCodeAt(i); - if (Math.random() > 0.5) { - ch = 'x' + ch.toString(16); - } - out += '&#' + ch + ';'; - } - - return out; -}; - -/** - * Renderer - */ - -function Renderer(options) { - this.options = options || marked.defaults; -} - -Renderer.prototype.code = function(code, infostring, escaped) { - var lang = (infostring || '').match(/\S*/)[0]; - if (this.options.highlight) { - var out = this.options.highlight(code, lang); - if (out != null && out !== code) { - escaped = true; - code = out; - } - } - - if (!lang) { - return '
'
-      + (escaped ? code : escape(code, true))
-      + '
'; - } - - return '
'
-    + (escaped ? code : escape(code, true))
-    + '
\n'; -}; - -Renderer.prototype.blockquote = function(quote) { - return '
\n' + quote + '
\n'; -}; - -Renderer.prototype.html = function(html) { - return html; -}; - -Renderer.prototype.heading = function(text, level, raw, slugger) { - if (this.options.headerIds) { - return '' - + text - + '\n'; - } - // ignore IDs - return '' + text + '\n'; -}; - -Renderer.prototype.hr = function() { - return this.options.xhtml ? '
\n' : '
\n'; -}; - -Renderer.prototype.list = function(body, ordered, start) { - var type = ordered ? 'ol' : 'ul', - startatt = (ordered && start !== 1) ? (' start="' + start + '"') : ''; - return '<' + type + startatt + '>\n' + body + '\n'; -}; - -Renderer.prototype.listitem = function(text) { - return '
  • ' + text + '
  • \n'; -}; - -Renderer.prototype.checkbox = function(checked) { - return ' '; -}; - -Renderer.prototype.paragraph = function(text) { - return '

    ' + text + '

    \n'; -}; - -Renderer.prototype.table = function(header, body) { - if (body) body = '' + body + ''; - - return '\n' - + '\n' - + header - + '\n' - + body - + '
    \n'; -}; - -Renderer.prototype.tablerow = function(content) { - return '\n' + content + '\n'; -}; - -Renderer.prototype.tablecell = function(content, flags) { - var type = flags.header ? 'th' : 'td'; - var tag = flags.align - ? '<' + type + ' align="' + flags.align + '">' - : '<' + type + '>'; - return tag + content + '\n'; -}; - -// span level renderer -Renderer.prototype.strong = function(text) { - return '' + text + ''; -}; - -Renderer.prototype.em = function(text) { - return '' + text + ''; -}; - -Renderer.prototype.codespan = function(text) { - return '' + text + ''; -}; - -Renderer.prototype.br = function() { - return this.options.xhtml ? '
    ' : '
    '; -}; - -Renderer.prototype.del = function(text) { - return '' + text + ''; -}; - -Renderer.prototype.link = function(href, title, text) { - href = cleanUrl(this.options.sanitize, this.options.baseUrl, href); - if (href === null) { - return text; - } - var out = ''; - return out; -}; - -Renderer.prototype.image = function(href, title, text) { - href = cleanUrl(this.options.sanitize, this.options.baseUrl, href); - if (href === null) { - return text; - } - - var out = '' + text + '' : '>'; - return out; -}; - -Renderer.prototype.text = function(text) { - return text; -}; - -/** - * TextRenderer - * returns only the textual part of the token - */ - -function TextRenderer() {} - -// no need for block level renderers - -TextRenderer.prototype.strong = -TextRenderer.prototype.em = -TextRenderer.prototype.codespan = -TextRenderer.prototype.del = -TextRenderer.prototype.text = function(text) { - return text; -}; - -TextRenderer.prototype.link = -TextRenderer.prototype.image = function(href, title, text) { - return '' + text; -}; - -TextRenderer.prototype.br = function() { - return ''; -}; - -/** - * Parsing & Compiling - */ - -function Parser(options) { - this.tokens = []; - this.token = null; - this.options = options || marked.defaults; - this.options.renderer = this.options.renderer || new Renderer(); - this.renderer = this.options.renderer; - this.renderer.options = this.options; - this.slugger = new Slugger(); -} - -/** - * Static Parse Method - */ - -Parser.parse = function(src, options) { - var parser = new Parser(options); - return parser.parse(src); -}; - -/** - * Parse Loop - */ - -Parser.prototype.parse = function(src) { - this.inline = new InlineLexer(src.links, this.options); - // use an InlineLexer with a TextRenderer to extract pure text - this.inlineText = new InlineLexer( - src.links, - merge({}, this.options, { renderer: new TextRenderer() }) - ); - this.tokens = src.reverse(); - - var out = ''; - while (this.next()) { - out += this.tok(); - } - - return out; -}; - -/** - * Next Token - */ - -Parser.prototype.next = function() { - this.token = this.tokens.pop(); - return this.token; -}; - -/** - * Preview Next Token - */ - -Parser.prototype.peek = function() { - return this.tokens[this.tokens.length - 1] || 0; -}; - -/** - * Parse Text Tokens - */ - -Parser.prototype.parseText = function() { - var body = this.token.text; - - while (this.peek().type === 'text') { - body += '\n' + this.next().text; - } - - return this.inline.output(body); -}; - -/** - * Parse Current Token - */ - -Parser.prototype.tok = function() { - switch (this.token.type) { - case 'space': { - return ''; - } - case 'hr': { - return this.renderer.hr(); - } - case 'heading': { - return this.renderer.heading( - this.inline.output(this.token.text), - this.token.depth, - unescape(this.inlineText.output(this.token.text)), - this.slugger); - } - case 'code': { - return this.renderer.code(this.token.text, - this.token.lang, - this.token.escaped); - } - case 'table': { - var header = '', - body = '', - i, - row, - cell, - j; - - // header - cell = ''; - for (i = 0; i < this.token.header.length; i++) { - cell += this.renderer.tablecell( - this.inline.output(this.token.header[i]), - { header: true, align: this.token.align[i] } - ); - } - header += this.renderer.tablerow(cell); - - for (i = 0; i < this.token.cells.length; i++) { - row = this.token.cells[i]; - - cell = ''; - for (j = 0; j < row.length; j++) { - cell += this.renderer.tablecell( - this.inline.output(row[j]), - { header: false, align: this.token.align[j] } - ); - } - - body += this.renderer.tablerow(cell); - } - return this.renderer.table(header, body); - } - case 'blockquote_start': { - body = ''; - - while (this.next().type !== 'blockquote_end') { - body += this.tok(); - } - - return this.renderer.blockquote(body); - } - case 'list_start': { - body = ''; - var ordered = this.token.ordered, - start = this.token.start; - - while (this.next().type !== 'list_end') { - body += this.tok(); - } - - return this.renderer.list(body, ordered, start); - } - case 'list_item_start': { - body = ''; - var loose = this.token.loose; - var checked = this.token.checked; - var task = this.token.task; - - if (this.token.task) { - body += this.renderer.checkbox(checked); - } - - while (this.next().type !== 'list_item_end') { - body += !loose && this.token.type === 'text' - ? this.parseText() - : this.tok(); - } - return this.renderer.listitem(body, task, checked); - } - case 'html': { - // TODO parse inline content if parameter markdown=1 - return this.renderer.html(this.token.text); - } - case 'paragraph': { - return this.renderer.paragraph(this.inline.output(this.token.text)); - } - case 'text': { - return this.renderer.paragraph(this.parseText()); - } - default: { - var errMsg = 'Token with "' + this.token.type + '" type was not found.'; - if (this.options.silent) { - console.log(errMsg); - } else { - throw new Error(errMsg); - } - } - } -}; - -/** - * Slugger generates header id - */ - -function Slugger() { - this.seen = {}; -} - -/** - * Convert string to unique id - */ - -Slugger.prototype.slug = function(value) { - var slug = value - .toLowerCase() - .trim() - .replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, '') - .replace(/\s/g, '-'); - - if (this.seen.hasOwnProperty(slug)) { - var originalSlug = slug; - do { - this.seen[originalSlug]++; - slug = originalSlug + '-' + this.seen[originalSlug]; - } while (this.seen.hasOwnProperty(slug)); - } - this.seen[slug] = 0; - - return slug; -}; - -/** - * Helpers - */ - -function escape(html, encode) { - if (encode) { - if (escape.escapeTest.test(html)) { - return html.replace(escape.escapeReplace, function(ch) { return escape.replacements[ch]; }); - } - } else { - if (escape.escapeTestNoEncode.test(html)) { - return html.replace(escape.escapeReplaceNoEncode, function(ch) { return escape.replacements[ch]; }); - } - } - - return html; -} - -escape.escapeTest = /[&<>"']/; -escape.escapeReplace = /[&<>"']/g; -escape.replacements = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''' -}; - -escape.escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/; -escape.escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g; - -function unescape(html) { - // explicitly match decimal, hex, and named HTML entities - return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig, function(_, n) { - n = n.toLowerCase(); - if (n === 'colon') return ':'; - if (n.charAt(0) === '#') { - return n.charAt(1) === 'x' - ? String.fromCharCode(parseInt(n.substring(2), 16)) - : String.fromCharCode(+n.substring(1)); - } - return ''; - }); -} - -function edit(regex, opt) { - regex = regex.source || regex; - opt = opt || ''; - return { - replace: function(name, val) { - val = val.source || val; - val = val.replace(/(^|[^\[])\^/g, '$1'); - regex = regex.replace(name, val); - return this; - }, - getRegex: function() { - return new RegExp(regex, opt); - } - }; -} - -function cleanUrl(sanitize, base, href) { - if (sanitize) { - try { - var prot = decodeURIComponent(unescape(href)) - .replace(/[^\w:]/g, '') - .toLowerCase(); - } catch (e) { - return null; - } - if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) { - return null; - } - } - if (base && !originIndependentUrl.test(href)) { - href = resolveUrl(base, href); - } - try { - href = encodeURI(href).replace(/%25/g, '%'); - } catch (e) { - return null; - } - return href; -} - -function resolveUrl(base, href) { - if (!baseUrls[' ' + base]) { - // we can ignore everything in base after the last slash of its path component, - // but we might need to add _that_ - // https://tools.ietf.org/html/rfc3986#section-3 - if (/^[^:]+:\/*[^/]*$/.test(base)) { - baseUrls[' ' + base] = base + '/'; - } else { - baseUrls[' ' + base] = rtrim(base, '/', true); - } - } - base = baseUrls[' ' + base]; - - if (href.slice(0, 2) === '//') { - return base.replace(/:[\s\S]*/, ':') + href; - } else if (href.charAt(0) === '/') { - return base.replace(/(:\/*[^/]*)[\s\S]*/, '$1') + href; - } else { - return base + href; - } -} -var baseUrls = {}; -var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; - -function noop() {} -noop.exec = noop; - -function merge(obj) { - var i = 1, - target, - key; - - for (; i < arguments.length; i++) { - target = arguments[i]; - for (key in target) { - if (Object.prototype.hasOwnProperty.call(target, key)) { - obj[key] = target[key]; - } - } - } - - return obj; -} - -function splitCells(tableRow, count) { - // ensure that every cell-delimiting pipe has a space - // before it to distinguish it from an escaped pipe - var row = tableRow.replace(/\|/g, function(match, offset, str) { - var escaped = false, - curr = offset; - while (--curr >= 0 && str[curr] === '\\') escaped = !escaped; - if (escaped) { - // odd number of slashes means | is escaped - // so we leave it alone - return '|'; - } else { - // add space before unescaped | - return ' |'; - } - }), - cells = row.split(/ \|/), - i = 0; - - if (cells.length > count) { - cells.splice(count); - } else { - while (cells.length < count) cells.push(''); - } - - for (; i < cells.length; i++) { - // leading or trailing whitespace is ignored per the gfm spec - cells[i] = cells[i].trim().replace(/\\\|/g, '|'); - } - return cells; -} - -// Remove trailing 'c's. Equivalent to str.replace(/c*$/, ''). -// /c*$/ is vulnerable to REDOS. -// invert: Remove suffix of non-c chars instead. Default falsey. -function rtrim(str, c, invert) { - if (str.length === 0) { - return ''; - } - - // Length of suffix matching the invert condition. - var suffLen = 0; - - // Step left until we fail to match the invert condition. - while (suffLen < str.length) { - var currChar = str.charAt(str.length - suffLen - 1); - if (currChar === c && !invert) { - suffLen++; - } else if (currChar !== c && invert) { - suffLen++; - } else { - break; - } - } - - return str.substr(0, str.length - suffLen); -} - -function findClosingBracket(str, b) { - if (str.indexOf(b[1]) === -1) { - return -1; - } - var level = 0; - for (var i = 0; i < str.length; i++) { - if (str[i] === '\\') { - i++; - } else if (str[i] === b[0]) { - level++; - } else if (str[i] === b[1]) { - level--; - if (level < 0) { - return i; - } - } - } - return -1; -} - -function checkSanitizeDeprecation(opt) { - if (opt && opt.sanitize && !opt.silent) { - console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options'); - } -} - -/** - * Marked - */ - -function marked(src, opt, callback) { - // throw error in case of non string input - if (typeof src === 'undefined' || src === null) { - throw new Error('marked(): input parameter is undefined or null'); - } - if (typeof src !== 'string') { - throw new Error('marked(): input parameter is of type ' - + Object.prototype.toString.call(src) + ', string expected'); - } - - if (callback || typeof opt === 'function') { - if (!callback) { - callback = opt; - opt = null; - } - - opt = merge({}, marked.defaults, opt || {}); - checkSanitizeDeprecation(opt); - - var highlight = opt.highlight, - tokens, - pending, - i = 0; - - try { - tokens = Lexer.lex(src, opt); - } catch (e) { - return callback(e); - } - - pending = tokens.length; - - var done = function(err) { - if (err) { - opt.highlight = highlight; - return callback(err); - } - - var out; - - try { - out = Parser.parse(tokens, opt); - } catch (e) { - err = e; - } - - opt.highlight = highlight; - - return err - ? callback(err) - : callback(null, out); - }; - - if (!highlight || highlight.length < 3) { - return done(); - } - - delete opt.highlight; - - if (!pending) return done(); - - for (; i < tokens.length; i++) { - (function(token) { - if (token.type !== 'code') { - return --pending || done(); - } - return highlight(token.text, token.lang, function(err, code) { - if (err) return done(err); - if (code == null || code === token.text) { - return --pending || done(); - } - token.text = code; - token.escaped = true; - --pending || done(); - }); - })(tokens[i]); - } - - return; - } - try { - if (opt) opt = merge({}, marked.defaults, opt); - checkSanitizeDeprecation(opt); - return Parser.parse(Lexer.lex(src, opt), opt); - } catch (e) { - e.message += '\nPlease report this to https://github.com/markedjs/marked.'; - if ((opt || marked.defaults).silent) { - return '

    An error occurred:

    '
    -        + escape(e.message + '', true)
    -        + '
    '; - } - throw e; - } -} - -/** - * Options - */ - -marked.options = -marked.setOptions = function(opt) { - merge(marked.defaults, opt); - return marked; -}; - -marked.getDefaults = function() { - return { - baseUrl: null, - breaks: false, - gfm: true, - headerIds: true, - headerPrefix: '', - highlight: null, - langPrefix: 'language-', - mangle: true, - pedantic: false, - renderer: new Renderer(), - sanitize: false, - sanitizer: null, - silent: false, - smartLists: false, - smartypants: false, - xhtml: false - }; -}; - -marked.defaults = marked.getDefaults(); - -/** - * Expose - */ - -marked.Parser = Parser; -marked.parser = Parser.parse; - -marked.Renderer = Renderer; -marked.TextRenderer = TextRenderer; - -marked.Lexer = Lexer; -marked.lexer = Lexer.lex; - -marked.InlineLexer = InlineLexer; -marked.inlineLexer = InlineLexer.output; - -marked.Slugger = Slugger; - -marked.parse = marked; - -if (typeof module !== 'undefined' && typeof exports === 'object') { - module.exports = marked; -} else if (typeof define === 'function' && define.amd) { - define(function() { return marked; }); -} else { - root.marked = marked; -} -})(this || (typeof window !== 'undefined' ? window : global)); diff --git a/app/system/modules/editor/app/assets/marked/man/marked.1 b/app/system/modules/editor/app/assets/marked/man/marked.1 deleted file mode 100755 index 5cc27ef8..00000000 --- a/app/system/modules/editor/app/assets/marked/man/marked.1 +++ /dev/null @@ -1,111 +0,0 @@ -.ds q \N'34' -.TH marked 1 - -.SH NAME -marked \- a javascript markdown parser - -.SH SYNOPSIS -.B marked -[\-o \fI\fP] [\-i \fI\fP] [\-\-help] -[\-\-tokens] [\-\-pedantic] [\-\-gfm] -[\-\-breaks] [\-\-sanitize] -[\-\-smart\-lists] [\-\-lang\-prefix \fI\fP] -[\-\-no\-etc...] [\-\-silent] [\fIfilename\fP] - -.SH DESCRIPTION -.B marked -is a full-featured javascript markdown parser, built for speed. -It also includes multiple GFM features. - -.SH EXAMPLES -.TP -cat in.md | marked > out.html -.TP -echo "hello *world*" | marked -.TP -marked \-o out.html \-i in.md \-\-gfm -.TP -marked \-\-output="hello world.html" \-i in.md \-\-no-breaks - -.SH OPTIONS -.TP -.BI \-o,\ \-\-output\ [\fIoutput\fP] -Specify file output. If none is specified, write to stdout. -.TP -.BI \-i,\ \-\-input\ [\fIinput\fP] -Specify file input, otherwise use last argument as input file. -If no input file is specified, read from stdin. -.TP -.BI \-\-test -Makes sure the test(s) pass. -.RS -.PP -.B \-\-glob [\fIfile\fP] -Specify which test to use. -.PP -.B \-\-fix -Fixes tests. -.PP -.B \-\-bench -Benchmarks the test(s). -.PP -.B \-\-time -Times The test(s). -.PP -.B \-\-minified -Runs test file(s) as minified. -.PP -.B \-\-stop -Stop process if a test fails. -.RE -.TP -.BI \-t,\ \-\-tokens -Output a token stream instead of html. -.TP -.BI \-\-pedantic -Conform to obscure parts of markdown.pl as much as possible. -Don't fix original markdown bugs. -.TP -.BI \-\-gfm -Enable github flavored markdown. -.TP -.BI \-\-breaks -Enable GFM line breaks. Only works with the gfm option. -.TP -.BI \-\-sanitize -Sanitize output. Ignore any HTML input. -.TP -.BI \-\-smart\-lists -Use smarter list behavior than the original markdown. -.TP -.BI \-\-lang\-prefix\ [\fIprefix\fP] -Set the prefix for code block classes. -.TP -.BI \-\-mangle -Mangle email addresses. -.TP -.BI \-\-no\-sanitize,\ \-no-etc... -The inverse of any of the marked options above. -.TP -.BI \-\-silent -Silence error output. -.TP -.BI \-h,\ \-\-help -Display help information. - -.SH CONFIGURATION -For configuring and running programmatically. - -.B Example - - require('marked')('*foo*', { gfm: true }); - -.SH BUGS -Please report any bugs to https://github.com/markedjs/marked. - -.SH LICENSE -Copyright (c) 2011-2014, Christopher Jeffrey (MIT License). - -.SH "SEE ALSO" -.BR markdown(1), -.BR node.js(1) diff --git a/app/system/modules/editor/app/assets/marked/man/marked.1.txt b/app/system/modules/editor/app/assets/marked/man/marked.1.txt deleted file mode 100755 index 56a8634b..00000000 --- a/app/system/modules/editor/app/assets/marked/man/marked.1.txt +++ /dev/null @@ -1,96 +0,0 @@ -marked(1) General Commands Manual marked(1) - -NAME - marked - a javascript markdown parser - -SYNOPSIS - marked [-o ] [-i ] [--help] [--tokens] [--pedantic] - [--gfm] [--breaks] [--sanitize] [--smart-lists] [--lang-prefix ] [--no-etc...] [--silent] [filename] - - -DESCRIPTION - marked is a full-featured javascript markdown parser, built for speed. - It also includes multiple GFM features. - -EXAMPLES - cat in.md | marked > out.html - - echo "hello *world*" | marked - - marked -o out.html -i in.md --gfm - - marked --output="hello world.html" -i in.md --no-breaks - -OPTIONS - -o, --output [output] - Specify file output. If none is specified, write to stdout. - - -i, --input [input] - Specify file input, otherwise use last argument as input file. - If no input file is specified, read from stdin. - - --test Makes sure the test(s) pass. - - --glob [file] Specify which test to use. - - --fix Fixes tests. - - --bench Benchmarks the test(s). - - --time Times The test(s). - - --minified Runs test file(s) as minified. - - --stop Stop process if a test fails. - - -t, --tokens - Output a token stream instead of html. - - --pedantic - Conform to obscure parts of markdown.pl as much as possible. - Don't fix original markdown bugs. - - --gfm Enable github flavored markdown. - - --breaks - Enable GFM line breaks. Only works with the gfm option. - - --sanitize - Sanitize output. Ignore any HTML input. - - --smart-lists - Use smarter list behavior than the original markdown. - - --lang-prefix [prefix] - Set the prefix for code block classes. - - --mangle - Mangle email addresses. - - --no-sanitize, -no-etc... - The inverse of any of the marked options above. - - --silent - Silence error output. - - -h, --help - Display help information. - -CONFIGURATION - For configuring and running programmatically. - - Example - - require('marked')('*foo*', { gfm: true }); - -BUGS - Please report any bugs to https://github.com/markedjs/marked. - -LICENSE - Copyright (c) 2011-2014, Christopher Jeffrey (MIT License). - -SEE ALSO - markdown(1), node.js(1) - - marked(1) diff --git a/app/system/modules/editor/app/assets/marked/marked.min.js b/app/system/modules/editor/app/assets/marked/marked.min.js deleted file mode 100755 index ed8bf3b1..00000000 --- a/app/system/modules/editor/app/assets/marked/marked.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/** - * marked - a markdown parser - * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed) - * https://github.com/markedjs/marked - */ -!function(e){"use strict";var x={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:/^ {0,3}(`{3,}|~{3,})([^`~\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:g,table:g,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/,text:/^[^\n]+/};function a(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||k.defaults,this.rules=x.normal,this.options.pedantic?this.rules=x.pedantic:this.options.gfm&&(this.rules=x.gfm)}x._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,x._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,x.def=i(x.def).replace("label",x._label).replace("title",x._title).getRegex(),x.bullet=/(?:[*+-]|\d{1,9}\.)/,x.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,x.item=i(x.item,"gm").replace(/bull/g,x.bullet).getRegex(),x.list=i(x.list).replace(/bull/g,x.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+x.def.source+")").getRegex(),x._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",x._comment=//,x.html=i(x.html,"i").replace("comment",x._comment).replace("tag",x._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),x.paragraph=i(x._paragraph).replace("hr",x.hr).replace("heading"," {0,3}#{1,6} +").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}|~{3,})[^`\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|!--)").replace("tag",x._tag).getRegex(),x.blockquote=i(x.blockquote).replace("paragraph",x.paragraph).getRegex(),x.normal=f({},x),x.gfm=f({},x.normal,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),x.pedantic=f({},x.normal,{html:i("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",x._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,fences:g,paragraph:i(x.normal._paragraph).replace("hr",x.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",x.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()}),a.rules=x,a.lex=function(e,t){return new a(t).lex(e)},a.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},a.prototype.token=function(e,t){var n,r,s,i,l,o,a,h,p,u,c,g,f,d,m,k;for(e=e.replace(/^ +$/gm,"");e;)if((s=this.rules.newline.exec(e))&&(e=e.substring(s[0].length),1 ?/gm,""),this.token(s,t),this.tokens.push({type:"blockquote_end"});else if(s=this.rules.list.exec(e)){for(e=e.substring(s[0].length),a={type:"list_start",ordered:d=1<(i=s[2]).length,start:d?+i:"",loose:!1},this.tokens.push(a),n=!(h=[]),f=(s=s[0].match(this.rules.item)).length,c=0;c?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:g,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*<\[])\*(?!\*)|^_([^\s<][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s<"][\s\S]*?[^\s\*])\*(?!\*|[^\spunctuation])|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:g,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~",n.em=i(n.em).replace(/punctuation/g,n._punctuation).getRegex(),n._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,n._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,n._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,n.autolink=i(n.autolink).replace("scheme",n._scheme).replace("email",n._email).getRegex(),n._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,n.tag=i(n.tag).replace("comment",x._comment).replace("attribute",n._attribute).getRegex(),n._label=/(?:\[[^\[\]]*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,n._href=/<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/,n._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,n.link=i(n.link).replace("label",n._label).replace("href",n._href).replace("title",n._title).getRegex(),n.reflink=i(n.reflink).replace("label",n._label).getRegex(),n.normal=f({},n),n.pedantic=f({},n.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:i(/^!?\[(label)\]\((.*?)\)/).replace("label",n._label).getRegex(),reflink:i(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",n._label).getRegex()}),n.gfm=f({},n.normal,{escape:i(n.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\/i.test(i[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(this.inRawBlock=!1),e=e.substring(i[0].length),o+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):_(i[0]):i[0];else if(i=this.rules.link.exec(e)){var a=d(i[2],"()");if(-1$/,"$1"),o+=this.outputLink(i,{href:p.escapes(r),title:p.escapes(s)}),this.inLink=!1}else if((i=this.rules.reflink.exec(e))||(i=this.rules.nolink.exec(e))){if(e=e.substring(i[0].length),t=(i[2]||i[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){o+=i[0].charAt(0),e=i[0].substring(1)+e;continue}this.inLink=!0,o+=this.outputLink(i,t),this.inLink=!1}else if(i=this.rules.strong.exec(e))e=e.substring(i[0].length),o+=this.renderer.strong(this.output(i[4]||i[3]||i[2]||i[1]));else if(i=this.rules.em.exec(e))e=e.substring(i[0].length),o+=this.renderer.em(this.output(i[6]||i[5]||i[4]||i[3]||i[2]||i[1]));else if(i=this.rules.code.exec(e))e=e.substring(i[0].length),o+=this.renderer.codespan(_(i[2].trim(),!0));else if(i=this.rules.br.exec(e))e=e.substring(i[0].length),o+=this.renderer.br();else if(i=this.rules.del.exec(e))e=e.substring(i[0].length),o+=this.renderer.del(this.output(i[1]));else if(i=this.rules.autolink.exec(e))e=e.substring(i[0].length),r="@"===i[2]?"mailto:"+(n=_(this.mangle(i[1]))):n=_(i[1]),o+=this.renderer.link(r,null,n);else if(this.inLink||!(i=this.rules.url.exec(e))){if(i=this.rules.text.exec(e))e=e.substring(i[0].length),this.inRawBlock?o+=this.renderer.text(this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):_(i[0]):i[0]):o+=this.renderer.text(_(this.smartypants(i[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===i[2])r="mailto:"+(n=_(i[0]));else{for(;l=i[0],i[0]=this.rules._backpedal.exec(i[0])[0],l!==i[0];);n=_(i[0]),r="www."===i[1]?"http://"+n:n}e=e.substring(i[0].length),o+=this.renderer.link(r,null,n)}return o},p.escapes=function(e){return e?e.replace(p.rules._escapes,"$1"):e},p.prototype.outputLink=function(e,t){var n=t.href,r=t.title?_(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,_(e[1]))},p.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},p.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,s=0;s'+(n?e:_(e,!0))+"\n":"
    "+(n?e:_(e,!0))+"
    "},r.prototype.blockquote=function(e){return"
    \n"+e+"
    \n"},r.prototype.html=function(e){return e},r.prototype.heading=function(e,t,n,r){return this.options.headerIds?"'+e+"\n":""+e+"\n"},r.prototype.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},r.prototype.list=function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},r.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},r.prototype.checkbox=function(e){return" "},r.prototype.paragraph=function(e){return"

    "+e+"

    \n"},r.prototype.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},r.prototype.tablerow=function(e){return"\n"+e+"\n"},r.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},r.prototype.strong=function(e){return""+e+""},r.prototype.em=function(e){return""+e+""},r.prototype.codespan=function(e){return""+e+""},r.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},r.prototype.del=function(e){return""+e+""},r.prototype.link=function(e,t,n){if(null===(e=l(this.options.sanitize,this.options.baseUrl,e)))return n;var r='
    "},r.prototype.image=function(e,t,n){if(null===(e=l(this.options.sanitize,this.options.baseUrl,e)))return n;var r=''+n+'":">"},r.prototype.text=function(e){return e},s.prototype.strong=s.prototype.em=s.prototype.codespan=s.prototype.del=s.prototype.text=function(e){return e},s.prototype.link=s.prototype.image=function(e,t,n){return""+n},s.prototype.br=function(){return""},h.parse=function(e,t){return new h(t).parse(e)},h.prototype.parse=function(e){this.inline=new p(e.links,this.options),this.inlineText=new p(e.links,f({},this.options,{renderer:new s})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},h.prototype.next=function(){return this.token=this.tokens.pop(),this.token},h.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},h.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},h.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,c(this.inlineText.output(this.token.text)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,r,s="",i="";for(n="",e=0;e?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t))for(var n=t;this.seen[n]++,t=n+"-"+this.seen[n],this.seen.hasOwnProperty(t););return this.seen[t]=0,t},_.escapeTest=/[&<>"']/,_.escapeReplace=/[&<>"']/g,_.replacements={"&":"&","<":"<",">":">",'"':""","'":"'"},_.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,_.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var o={},u=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function g(){}function f(e){for(var t,n,r=1;rt)n.splice(t);else for(;n.lengthAn error occurred:

    "+_(e.message+"",!0)+"
    ";throw e}}g.exec=g,k.options=k.setOptions=function(e){return f(k.defaults,e),k},k.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new r,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,xhtml:!1}},k.defaults=k.getDefaults(),k.Parser=h,k.parser=h.parse,k.Renderer=r,k.TextRenderer=s,k.Lexer=a,k.lexer=a.lex,k.InlineLexer=p,k.inlineLexer=p.output,k.Slugger=t,k.parse=k,"undefined"!=typeof module&&"object"==typeof exports?module.exports=k:"function"==typeof define&&define.amd?define(function(){return k}):e.marked=k}(this||("undefined"!=typeof window?window:global)); \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/package-lock.json b/app/system/modules/editor/app/assets/marked/package-lock.json deleted file mode 100755 index a6cfec61..00000000 --- a/app/system/modules/editor/app/assets/marked/package-lock.json +++ /dev/null @@ -1,2091 +0,0 @@ -{ - "name": "marked", - "version": "0.7.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", - "dev": true, - "requires": { - "@babel/highlight": "^7.0.0" - } - }, - "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "@markedjs/html-differ": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@markedjs/html-differ/-/html-differ-2.0.1.tgz", - "integrity": "sha512-Sv1PMZ9RGt+MZqIk7p4wHiOWZo34p1s4x2AIIipmK4HeZK1Vn7Hlp+A7K73I3CQgLfvUu4ZyuU219LIal6sUrg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "coa": "^2.0.2", - "diff": "1.3.2", - "lodash": "^4.17.11", - "parse5": "1.5.1", - "vow": "^0.4.19", - "vow-fs": "^0.3.6" - } - }, - "@types/concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-OU2+C7X+5Gs42JZzXoto7yOQ0A0=", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha1-yayFsqX9GENbjIXZ7LUObWyJP/g=", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/node": { - "version": "9.6.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.5.tgz", - "integrity": "sha512-NOLEgsT6UiDTjnWG5Hd2Mg25LRyz/oe8ql3wbjzgSFeRzRROhPmtlsvIrei4B46UjERF0td9SZ1ZXPLOdcrBHg==", - "dev": true - }, - "@types/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.1.tgz", - "integrity": "sha512-eqz8c/0kwNi/OEHQfvIuJVLTst3in0e7uTKeuY+WL/zfKn0xVujOTp42bS/vUUokhK5P2BppLd9JXMOMHcgbjA==", - "dev": true - }, - "@types/qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-mNhVdZHdtKHMMxbqzNK3RzkBcN1cux3AvuCYGTvjEIQT2uheH3eCAyYsbMbh2Bq8nXkeOWs1kyDiF7geWRFQ4Q==", - "dev": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", - "dev": true - }, - "acorn-jsx": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz", - "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==", - "dev": true - }, - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "argparse": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "array-includes": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", - "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.7.0" - } - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "cheerio": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", - "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", - "dev": true, - "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.1", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash": "^4.15.0", - "parse5": "^3.0.1" - }, - "dependencies": { - "parse5": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", - "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", - "dev": true, - "requires": { - "@types/node": "*" - } - } - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dev": true, - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "combined-stream": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", - "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", - "dev": true - }, - "commonmark": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.29.0.tgz", - "integrity": "sha512-Wc3kvAIm0EK85pHsM95Fev31wEN6/zQpwd2qcLDL8psjHRoUFvUeGHevIJAdToWUuFoX8WI/gmeDauqy32xgJQ==", - "dev": true, - "requires": { - "entities": "~ 1.1.1", - "mdurl": "~ 1.0.1", - "minimist": "~ 1.2.0", - "string.prototype.repeat": "^0.2.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dev": true, - "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", - "dev": true - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "diff": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-1.3.2.tgz", - "integrity": "sha1-/Qeh8fiRUZ2ZBaTJqJ3PWnC2YDc=", - "dev": true - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-serializer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", - "dev": true, - "requires": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" - } - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", - "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.0", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", - "object-keys": "^1.0.12" - } - }, - "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "eslint": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", - "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.9.1", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^4.0.3", - "eslint-utils": "^1.3.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^5.0.1", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.7.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^6.2.2", - "js-yaml": "^3.13.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.11", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^5.5.1", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0" - } - }, - "eslint-config-standard": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz", - "integrity": "sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ==", - "dev": true - }, - "eslint-import-resolver-node": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", - "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", - "dev": true, - "requires": { - "debug": "^2.6.9", - "resolve": "^1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "eslint-module-utils": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.0.tgz", - "integrity": "sha512-14tltLm38Eu3zS+mt0KvILC3q8jyIAH518MlG+HO0p+yK885Lb1UHTY/UgR91eOyGdmxAPb+OLoW4znqIT6Ndw==", - "dev": true, - "requires": { - "debug": "^2.6.8", - "pkg-dir": "^2.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "eslint-plugin-es": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.4.0.tgz", - "integrity": "sha512-XfFmgFdIUDgvaRAlaXUkxrRg5JSADoRC8IkKLc/cISeR3yHVMefFHQZpcyXXEUUPHfy5DwviBcrfqlyqEwlQVw==", - "dev": true, - "requires": { - "eslint-utils": "^1.3.0", - "regexpp": "^2.0.1" - } - }, - "eslint-plugin-import": { - "version": "2.17.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.17.2.tgz", - "integrity": "sha512-m+cSVxM7oLsIpmwNn2WXTJoReOF9f/CtLMo7qOVmKd1KntBy0hEcuNZ3erTmWjx+DxRO0Zcrm5KwAvI9wHcV5g==", - "dev": true, - "requires": { - "array-includes": "^3.0.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.2", - "eslint-module-utils": "^2.4.0", - "has": "^1.0.3", - "lodash": "^4.17.11", - "minimatch": "^3.0.4", - "read-pkg-up": "^2.0.0", - "resolve": "^1.10.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "eslint-plugin-node": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-8.0.1.tgz", - "integrity": "sha512-ZjOjbjEi6jd82rIpFSgagv4CHWzG9xsQAVp1ZPlhRnnYxcTgENUVBvhYmkQ7GvT1QFijUSo69RaiOJKhMu6i8w==", - "dev": true, - "requires": { - "eslint-plugin-es": "^1.3.1", - "eslint-utils": "^1.3.1", - "ignore": "^5.0.2", - "minimatch": "^3.0.4", - "resolve": "^1.8.1", - "semver": "^5.5.0" - }, - "dependencies": { - "ignore": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.0.4.tgz", - "integrity": "sha512-WLsTMEhsQuXpCiG173+f3aymI43SXa+fB1rSfbzyP4GkPP+ZFVuO0/3sFUGNBtifisPeDcl/uD/Y2NxZ7xFq4g==", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "resolve": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.9.0.tgz", - "integrity": "sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - } - } - }, - "eslint-plugin-promise": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.1.1.tgz", - "integrity": "sha512-faAHw7uzlNPy7b45J1guyjazw28M+7gJokKUjC5JSFoYfUEyy6Gw/i7YQvmv2Yk00sUjWcmzXQLpU1Ki/C2IZQ==", - "dev": true - }, - "eslint-plugin-standard": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.0.0.tgz", - "integrity": "sha512-OwxJkR6TQiYMmt1EsNRMe5qG3GsbjlcOhbGUBY4LtavF9DsLaTcoR+j2Tdjqi23oUwKNUqX7qcn5fPStafMdlA==", - "dev": true - }, - "eslint-plugin-vuln-regex-detector": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-vuln-regex-detector/-/eslint-plugin-vuln-regex-detector-1.0.4.tgz", - "integrity": "sha512-MlGNEvfk/lmHrbp6gIXKP2NPedA+wX2+KwezolXLE6t9q0pcmohkYm2EKmgL9z5n57CAIYFJ/I4SSI3ANWyl/A==", - "dev": true, - "requires": { - "requireindex": "~1.1.0", - "vuln-regex-detector": "^1.3.0" - } - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", - "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", - "dev": true - }, - "eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", - "dev": true - }, - "espree": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", - "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", - "dev": true, - "requires": { - "acorn": "^6.0.7", - "acorn-jsx": "^5.0.0", - "eslint-visitor-keys": "^1.0.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", - "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", - "dev": true, - "requires": { - "estraverse": "^4.0.0" - } - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "external-editor": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", - "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - } - }, - "flatted": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz", - "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==", - "dev": true - }, - "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "1.0.6", - "mime-types": "^2.1.12" - } - }, - "front-matter": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-3.0.2.tgz", - "integrity": "sha512-iBGZaWyzqgsrPGsqrXZP6N4hp5FzSKDi18nfAoYpgz3qK5sAwFv/ojmn3VS60SOgLvq6CtojNqy0y6ZNz05IzQ==", - "dev": true, - "requires": { - "js-yaml": "^3.13.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", - "dev": true - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "globals": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz", - "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==", - "dev": true - }, - "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true - }, - "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", - "dev": true - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dev": true, - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "http-basic": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-7.0.0.tgz", - "integrity": "sha1-gvClBr6UJzLsje6+6A50bvVzbbo=", - "dev": true, - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/node": "^9.4.1", - "caseless": "~0.12.0", - "concat-stream": "^1.4.6", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - } - }, - "http-response-object": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.1.tgz", - "integrity": "sha512-6L0Fkd6TozA8kFSfh9Widst0wfza3U1Ex2RjJ6zNDK0vR1U1auUR6jY4Nn2Xl7CCy0ikFmxW1XcspVpb9RvwTg==", - "dev": true, - "requires": { - "@types/node": "^9.3.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "import-fresh": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.0.0.tgz", - "integrity": "sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "inquirer": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.3.1.tgz", - "integrity": "sha512-MmL624rfkFt4TG9y/Jvmt8vdmOo836U7Y0Hxr2aFk3RelZEGX4Igk0KabWrcaaZaTv9uzglOqWh1Vly+FAWAXA==", - "dev": true, - "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.11", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", - "dev": true - }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, - "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, - "requires": { - "has": "^1.0.1" - } - }, - "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", - "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "jasmine": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.4.0.tgz", - "integrity": "sha512-sR9b4n+fnBFDEd7VS2el2DeHgKcPiMVn44rtKFumq9q7P/t8WrxsVIZPob4UDdgcDNCwyDqwxCt4k9TDRmjPoQ==", - "dev": true, - "requires": { - "glob": "^7.1.3", - "jasmine-core": "~3.4.0" - } - }, - "jasmine-core": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.4.0.tgz", - "integrity": "sha512-HU/YxV4i6GcmiH4duATwAbJQMlE0MsDIR5XmSVxURxKHn3aGAdbY1/ZJFmVRbKtnLwIxxMJD7gYaPsypcbYimg==", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "linkify-it": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.3.tgz", - "integrity": "sha1-2UpGSPmxwXnWT6lykSaL22zpQ08=", - "dev": true, - "requires": { - "uc.micro": "^1.0.1" - } - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - }, - "markdown": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/markdown/-/markdown-0.5.0.tgz", - "integrity": "sha1-KCBbVlqK51kt4gdGPWY33BgnIrI=", - "dev": true, - "requires": { - "nopt": "~2.1.1" - } - }, - "markdown-it": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", - "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "entities": "~1.1.1", - "linkify-it": "^2.0.0", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - } - }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", - "dev": true - }, - "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", - "dev": true - }, - "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "dev": true, - "requires": { - "mime-db": "~1.33.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node-fetch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", - "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==", - "dev": true - }, - "nopt": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz", - "integrity": "sha1-bMzZd7gBMqB3MdbozljCyDA8+a8=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dev": true, - "requires": { - "boolbase": "~1.0.0" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha1-juqz5U+laSD+Fro493+iGqzC104=", - "dev": true - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "parse5": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", - "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "promise": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.0.1.tgz", - "integrity": "sha1-5F1osAoXZHttpxG/he1u1HII9FA=", - "dev": true, - "requires": { - "asap": "~2.0.3" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", - "dev": true - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - } - }, - "readable-stream": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.3.0.tgz", - "integrity": "sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true - }, - "requireindex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.1.0.tgz", - "integrity": "sha1-5UBLgVV+91225JxacgBIk/4D4WI=", - "dev": true - }, - "resolve": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", - "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "dev": true, - "requires": { - "is-promise": "^2.1.0" - } - }, - "rxjs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz", - "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "semver": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", - "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz", - "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==", - "dev": true - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "string.prototype.repeat": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz", - "integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8=", - "dev": true - }, - "string_decoder": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", - "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "sync-request": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.0.0.tgz", - "integrity": "sha512-jGNIAlCi9iU4X3Dm4oQnNQshDD3h0/1A7r79LyqjbjUnj69sX6mShAXlhRXgImsfVKtTcnra1jfzabdZvp+Lmw==", - "dev": true, - "requires": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - } - }, - "sync-rpc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.3.tgz", - "integrity": "sha512-xtTZUAeFaescZALim6yqjMDsVQD7mKAkdZ0/FOvVjlrr4uQqrARlWxs4P7bKV2ZPnvOyTVyHyyxqztxtBF4iIw==", - "dev": true, - "requires": { - "get-port": "^3.1.0" - } - }, - "table": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/table/-/table-5.2.3.tgz", - "integrity": "sha512-N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ==", - "dev": true, - "requires": { - "ajv": "^6.9.1", - "lodash": "^4.17.11", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "then-request": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.0.tgz", - "integrity": "sha512-xA+7uEMc+jsQIoyySJ93Ad08Kuqnik7u6jLS5hR91Z3smAoCfL3M8/MqMlobAa9gzBfO9pA88A/AntfepkkMJQ==", - "dev": true, - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^7.0.0", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.8.tgz", - "integrity": "sha512-BvcUxNZe9JgiiUVivtiQt3NrPVu9OAQzkxR1Ko9ESftCYU7V6Np5kpDzQwxd+34lsop7SNRdL292Flv52OvCaw==", - "dev": true - } - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "tslib": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "uc.micro": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.5.tgz", - "integrity": "sha512-JoLI4g5zv5qNyT09f4YAvEZIIV1oOjqnewYg5D38dkQljIzpPT296dbIGvKro3digYI1bkb7W6EP1y4uDlmzLg==", - "dev": true - }, - "uglify-js": { - "version": "3.5.8", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.8.tgz", - "integrity": "sha512-GFSjB1nZIzoIq70qvDRtWRORHX3vFkAnyK/rDExc0BN7r9+/S+Voz3t/fwJuVfjppAMz+ceR2poE7tkhvnVwQQ==", - "dev": true, - "requires": { - "commander": "~2.20.0", - "source-map": "~0.6.1" - } - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "vow": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.19.tgz", - "integrity": "sha512-S+0+CiQlbUhTNWMlJdqo/ARuXOttXdvw5ACGyh1W97NFHUdwt3Fzyaus03Kvdmo733dwnYS9AGJSDg0Zu8mNfA==", - "dev": true - }, - "vow-fs": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.6.tgz", - "integrity": "sha1-LUxZviLivyYY3fWXq0uqkjvnIA0=", - "dev": true, - "requires": { - "glob": "^7.0.5", - "uuid": "^2.0.2", - "vow": "^0.4.7", - "vow-queue": "^0.4.1" - } - }, - "vow-queue": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.4.3.tgz", - "integrity": "sha512-/poAKDTFL3zYbeQg7cl4BGcfP4sGgXKrHnRFSKj97dteUFu8oyXMwIcdwu8NSx/RmPGIuYx1Bik/y5vU4H/VKw==", - "dev": true, - "requires": { - "vow": "^0.4.17" - } - }, - "vuln-regex-detector": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/vuln-regex-detector/-/vuln-regex-detector-1.3.0.tgz", - "integrity": "sha512-QWm8buVznZjdcfMuFHYsiNfHd0YQ7dO41G0iEGVPlUng5eZUo8uy+QsVCmbgVZ2b96xprY1Tz9dQD7QtvbFHXw==", - "dev": true, - "requires": { - "sync-request": "^6.0.0" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - } - } -} diff --git a/app/system/modules/editor/app/assets/marked/package.json b/app/system/modules/editor/app/assets/marked/package.json deleted file mode 100755 index d8790984..00000000 --- a/app/system/modules/editor/app/assets/marked/package.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "name": "marked", - "description": "A markdown parser built for speed", - "author": "Christopher Jeffrey", - "version": "0.7.0", - "main": "./lib/marked.js", - "bin": "./bin/marked", - "man": "./man/marked.1", - "files": [ - "bin/", - "lib/", - "man/", - "marked.min.js" - ], - "repository": "git://github.com/markedjs/marked.git", - "homepage": "https://marked.js.org", - "bugs": { - "url": "http://github.com/markedjs/marked/issues" - }, - "license": "MIT", - "keywords": [ - "markdown", - "markup", - "html" - ], - "tags": [ - "markdown", - "markup", - "html" - ], - "devDependencies": { - "@markedjs/html-differ": "^2.0.1", - "cheerio": "^1.0.0-rc.3", - "commonmark": "0.x", - "eslint": "^5.16.0", - "eslint-config-standard": "^12.0.0", - "eslint-plugin-import": "^2.17.2", - "eslint-plugin-node": "^8.0.1", - "eslint-plugin-promise": "^4.1.1", - "eslint-plugin-standard": "^4.0.0", - "eslint-plugin-vuln-regex-detector": "^1.0.4", - "front-matter": "^3.0.2", - "jasmine": "^3.4.0", - "markdown": "0.x", - "markdown-it": "8.x", - "node-fetch": "^2.3.0", - "uglify-js": "^3.5.8" - }, - "scripts": { - "test": "jasmine --config=jasmine.json", - "test:unit": "npm test -- test/unit/**/*-spec.js", - "test:specs": "npm test -- test/specs/**/*-spec.js", - "test:lint": "eslint bin/marked .", - "test:redos": "eslint --plugin vuln-regex-detector --rule '\"vuln-regex-detector/no-vuln-regex\": 2' lib/marked.js", - "test:node4": "npx node@4 ./node_modules/jasmine/bin/jasmine.js --config=jasmine.json", - "test:update": "node test/update-specs.js", - "bench": "node test/bench.js", - "lint": "eslint --fix bin/marked .", - "build": "uglifyjs lib/marked.js -cm --comments /Copyright/ -o marked.min.js", - "preversion": "npm run build && (git diff --quiet || git commit -am 'minify')" - }, - "engines": { - "node": ">=0.10.0" - } -} diff --git a/app/system/modules/editor/app/assets/marked/test/.eslintrc.json b/app/system/modules/editor/app/assets/marked/test/.eslintrc.json deleted file mode 100755 index 9f03f420..00000000 --- a/app/system/modules/editor/app/assets/marked/test/.eslintrc.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "extends": "standard", - "plugins": [ - "standard" - ], - "rules": { - "semi": ["error", "always"], - "indent": ["error", 2, { - "SwitchCase": 1, - "VariableDeclarator": { "var": 2 }, - "outerIIFEBody": 0 - }], - "operator-linebreak": ["error", "before", { "overrides": { "=": "after" } }], - "space-before-function-paren": ["error", "never"], - "no-cond-assign": "off", - "no-useless-escape": "off", - "one-var": "off", - "no-control-regex": "off", - - "prefer-const": "error", - "no-var": "error" - }, - "env": { - "node": true, - "jasmine": true - } -} diff --git a/app/system/modules/editor/app/assets/marked/test/bench.js b/app/system/modules/editor/app/assets/marked/test/bench.js deleted file mode 100755 index 247728c5..00000000 --- a/app/system/modules/editor/app/assets/marked/test/bench.js +++ /dev/null @@ -1,263 +0,0 @@ -const path = require('path'); -const htmlDiffer = require('./helpers/html-differ.js'); -const { loadFiles } = require('./helpers/load.js'); - -let marked = require('../'); - -/** - * Load specs - */ -function load() { - const dir = path.resolve(__dirname, './specs/commonmark'); - const sections = loadFiles(dir); - let specs = []; - - for (const section in sections) { - specs = specs.concat(sections[section].specs); - } - - return specs; -} - -/** - * Run all benchmarks - */ -function runBench(options) { - options = options || {}; - const specs = load(); - - // Non-GFM, Non-pedantic - marked.setOptions({ - gfm: false, - breaks: false, - pedantic: false, - sanitize: false, - smartLists: false - }); - if (options.marked) { - marked.setOptions(options.marked); - } - bench('marked', specs, marked); - - // GFM - marked.setOptions({ - gfm: true, - breaks: false, - pedantic: false, - sanitize: false, - smartLists: false - }); - if (options.marked) { - marked.setOptions(options.marked); - } - bench('marked (gfm)', specs, marked); - - // Pedantic - marked.setOptions({ - gfm: false, - breaks: false, - pedantic: true, - sanitize: false, - smartLists: false - }); - if (options.marked) { - marked.setOptions(options.marked); - } - bench('marked (pedantic)', specs, marked); - - try { - bench('commonmark', specs, (() => { - const commonmark = require('commonmark'); - const parser = new commonmark.Parser(); - const writer = new commonmark.HtmlRenderer(); - return function(text) { - return writer.render(parser.parse(text)); - }; - })()); - } catch (e) { - console.error('Could not bench commonmark. (Error: %s)', e.message); - } - - try { - bench('markdown-it', specs, (() => { - const MarkdownIt = require('markdown-it'); - const md = new MarkdownIt(); - return md.render.bind(md); - })()); - } catch (e) { - console.error('Could not bench markdown-it. (Error: %s)', e.message); - } - - try { - bench('markdown.js', specs, (() => { - const md = require('markdown').markdown; - return md.toHTML.bind(md); - })()); - } catch (e) { - console.error('Could not bench markdown.js. (Error: %s)', e.message); - } -} - -function bench(name, specs, engine) { - const before = process.hrtime(); - for (let i = 0; i < 1e3; i++) { - for (const spec of specs) { - engine(spec.markdown); - } - } - const elapsed = process.hrtime(before); - const ms = prettyElapsedTime(elapsed).toFixed(); - - const results = []; - for (const spec of specs) { - results.push({ - expected: spec.html, - actual: engine(spec.markdown) - }); - } - const correct = results.reduce((num, result) => num + (htmlDiffer.isEqual(result.expected, result.actual) ? 1 : 0), 0); - const percent = (correct / results.length * 100).toFixed(2); - - console.log('%s completed in %sms and passed %s%', name, ms, percent); -} - -/** - * A simple one-time benchmark - */ -function time(options) { - options = options || {}; - const specs = load(); - if (options.marked) { - marked.setOptions(options.marked); - } - bench('marked', specs, marked); -} - -/** - * Argument Parsing - */ -function parseArg(argv) { - argv = argv.slice(2); - - const options = {}; - const orphans = []; - - function getarg() { - let arg = argv.shift(); - - if (arg.indexOf('--') === 0) { - // e.g. --opt - arg = arg.split('='); - if (arg.length > 1) { - // e.g. --opt=val - argv.unshift(arg.slice(1).join('=')); - } - arg = arg[0]; - } else if (arg[0] === '-') { - if (arg.length > 2) { - // e.g. -abc - argv = arg.substring(1).split('').map(ch => { - return `-${ch}`; - }).concat(argv); - arg = argv.shift(); - } else { - // e.g. -a - } - } else { - // e.g. foo - } - - return arg; - } - - const defaults = marked.getDefaults(); - - while (argv.length) { - const arg = getarg(); - switch (arg) { - case '-t': - case '--time': - options.time = true; - break; - case '-m': - case '--minified': - options.minified = true; - break; - default: - if (arg.indexOf('--') === 0) { - const opt = camelize(arg.replace(/^--(no-)?/, '')); - if (!defaults.hasOwnProperty(opt)) { - continue; - } - options.marked = options.marked || {}; - if (arg.indexOf('--no-') === 0) { - options.marked[opt] = typeof defaults[opt] !== 'boolean' - ? null - : false; - } else { - options.marked[opt] = typeof defaults[opt] !== 'boolean' - ? argv.shift() - : true; - } - } else { - orphans.push(arg); - } - break; - } - } - - if (orphans.length > 0) { - console.error(); - console.error('The following arguments are not used:'); - orphans.forEach(arg => console.error(` ${arg}`)); - console.error(); - } - - return options; -} - -/** - * Helpers - */ -function camelize(text) { - return text.replace(/(\w)-(\w)/g, (_, a, b) => a + b.toUpperCase()); -} - -/** - * Main - */ -function main(argv) { - const opt = parseArg(argv); - - if (opt.minified) { - marked = require('../marked.min.js'); - } - - if (opt.time) { - time(opt); - } else { - runBench(opt); - } -} - -/** - * returns time to millisecond granularity - */ -function prettyElapsedTime(hrtimeElapsed) { - const seconds = hrtimeElapsed[0]; - const frac = Math.round(hrtimeElapsed[1] / 1e3) / 1e3; - return seconds * 1e3 + frac; -} - -if (!module.parent) { - process.title = 'marked bench'; - main(process.argv.slice()); -} else { - exports = main; - exports.main = main; - exports.time = time; - exports.runBench = runBench; - exports.load = load; - exports.bench = bench; - module.exports = exports; -} diff --git a/app/system/modules/editor/app/assets/marked/test/helpers/helpers.js b/app/system/modules/editor/app/assets/marked/test/helpers/helpers.js deleted file mode 100755 index 44632fcd..00000000 --- a/app/system/modules/editor/app/assets/marked/test/helpers/helpers.js +++ /dev/null @@ -1,26 +0,0 @@ -const marked = require('../../'); -const htmlDiffer = require('./html-differ.js'); - -beforeEach(() => { - marked.setOptions(marked.getDefaults()); - - jasmine.addMatchers({ - toRender: () => { - return { - compare: (spec, expected) => { - const result = {}; - const actual = marked(spec.markdown, spec.options); - result.pass = htmlDiffer.isEqual(expected, actual); - - if (result.pass) { - result.message = `${spec.markdown}\n------\n\nExpected: Should Fail`; - } else { - const diff = htmlDiffer.firstDiff(actual, expected); - result.message = `Expected: ${diff.expected}\n Actual: ${diff.actual}`; - } - return result; - } - }; - } - }); -}); diff --git a/app/system/modules/editor/app/assets/marked/test/helpers/html-differ.js b/app/system/modules/editor/app/assets/marked/test/helpers/html-differ.js deleted file mode 100755 index 73865699..00000000 --- a/app/system/modules/editor/app/assets/marked/test/helpers/html-differ.js +++ /dev/null @@ -1,38 +0,0 @@ -const HtmlDiffer = require('@markedjs/html-differ').HtmlDiffer; -const htmlDiffer = new HtmlDiffer({ ignoreSelfClosingSlash: true }); - -module.exports = { - isEqual: htmlDiffer.isEqual.bind(htmlDiffer), - firstDiff: (actual, expected, padding) => { - padding = padding || 30; - const result = htmlDiffer - .diffHtml(actual, expected) - .reduce((obj, diff) => { - if (diff.added) { - if (obj.firstIndex === null) { - obj.firstIndex = obj.expected.length; - } - obj.expected += diff.value; - } else if (diff.removed) { - if (obj.firstIndex === null) { - obj.firstIndex = obj.actual.length; - } - obj.actual += diff.value; - } else { - obj.actual += diff.value; - obj.expected += diff.value; - } - - return obj; - }, { - firstIndex: null, - actual: '', - expected: '' - }); - - return { - actual: result.actual.substring(result.firstIndex - padding, result.firstIndex + padding), - expected: result.expected.substring(result.firstIndex - padding, result.firstIndex + padding) - }; - } -}; diff --git a/app/system/modules/editor/app/assets/marked/test/helpers/load.js b/app/system/modules/editor/app/assets/marked/test/helpers/load.js deleted file mode 100755 index c49fd9c3..00000000 --- a/app/system/modules/editor/app/assets/marked/test/helpers/load.js +++ /dev/null @@ -1,132 +0,0 @@ -'use strict'; - -const fs = require('fs'); -const path = require('path'); -const fm = require('front-matter'); - -function node4Polyfills() { - // https://github.com/uxitten/polyfill/blob/master/string.polyfill.js - // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd - if (!String.prototype.padEnd) { - // eslint-disable-next-line no-extend-native - String.prototype.padEnd = function padEnd(targetLength, padString) { - targetLength = targetLength >> 0; // floor if number or convert non-number to 0; - padString = String((typeof padString !== 'undefined' ? padString : ' ')); - if (this.length > targetLength) { - return String(this); - } else { - targetLength = targetLength - this.length; - if (targetLength > padString.length) { - padString += padString.repeat(targetLength / padString.length); // append to original to ensure we are longer than needed - } - return String(this) + padString.slice(0, targetLength); - } - }; - } - - // https://github.com/uxitten/polyfill/blob/master/string.polyfill.js - // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart - if (!String.prototype.padStart) { - // eslint-disable-next-line no-extend-native - String.prototype.padStart = function padStart(targetLength, padString) { - targetLength = targetLength >> 0; // truncate if number, or convert non-number to 0; - padString = String(typeof padString !== 'undefined' ? padString : ' '); - if (this.length >= targetLength) { - return String(this); - } else { - targetLength = targetLength - this.length; - if (targetLength > padString.length) { - padString += padString.repeat(targetLength / padString.length); // append to original to ensure we are longer than needed - } - return padString.slice(0, targetLength) + String(this); - } - }; - } -} -node4Polyfills(); - -function outputCompletionTable(title, specs) { - let longestName = 0; - let maxSpecs = 0; - - for (const section in specs) { - longestName = Math.max(section.length, longestName); - maxSpecs = Math.max(specs[section].total, maxSpecs); - } - - const maxSpecsLen = ('' + maxSpecs).length; - const spaces = maxSpecsLen * 2 + longestName + 11; - - console.log('-'.padEnd(spaces + 4, '-')); - console.log(`| ${title.padStart(Math.ceil((spaces + title.length) / 2)).padEnd(spaces)} |`); - console.log(`| ${' '.padEnd(spaces)} |`); - for (const section in specs) { - console.log(`| ${section.padEnd(longestName)} ${('' + specs[section].pass).padStart(maxSpecsLen)} of ${('' + specs[section].total).padStart(maxSpecsLen)} ${(100 * specs[section].pass / specs[section].total).toFixed().padStart(4)}% |`); - } - console.log('-'.padEnd(spaces + 4, '-')); - console.log(); -} - -function loadFiles(dir) { - const files = fs.readdirSync(dir); - - return files.reduce((obj, file) => { - const ext = path.extname(file); - const name = path.basename(file, ext); - const absFile = path.join(dir, file); - let specs; - - switch (ext) { - case '.md': { - const content = fm(fs.readFileSync(absFile, 'utf8')); - const skip = content.attributes.skip; - delete content.attributes.skip; - const only = content.attributes.only; - delete content.attributes.only; - specs = [{ - section: name, - markdown: content.body, - html: fs.readFileSync(absFile.replace(/[^.]+$/, 'html'), 'utf8'), - options: content.attributes, - only, - skip - }]; - break; - } - case '.js': - case '.json': { - specs = require(absFile); - if (!Array.isArray(specs)) { - specs = [specs]; - } - break; - } - default: - return obj; - } - - for (const spec of specs) { - if (!spec.section) { - spec.section = name; - } - if (!obj[spec.section]) { - obj[spec.section] = { - total: 0, - pass: 0, - specs: [] - }; - } - - obj[spec.section].total++; - obj[spec.section].pass += spec.shouldFail ? 0 : 1; - obj[spec.section].specs.push(spec); - } - - return obj; - }, {}); -} - -module.exports = { - outputCompletionTable, - loadFiles -}; diff --git a/app/system/modules/editor/app/assets/marked/test/specs/commonmark/commonmark.0.29.json b/app/system/modules/editor/app/assets/marked/test/specs/commonmark/commonmark.0.29.json deleted file mode 100755 index 1d307111..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/commonmark/commonmark.0.29.json +++ /dev/null @@ -1,5309 +0,0 @@ -[ - { - "markdown": "\tfoo\tbaz\t\tbim\n", - "html": "
    foo\tbaz\t\tbim\n
    \n", - "example": 1, - "start_line": 352, - "end_line": 357, - "section": "Tabs" - }, - { - "markdown": " \tfoo\tbaz\t\tbim\n", - "html": "
    foo\tbaz\t\tbim\n
    \n", - "example": 2, - "start_line": 359, - "end_line": 364, - "section": "Tabs" - }, - { - "markdown": " a\ta\n ὐ\ta\n", - "html": "
    a\ta\nὐ\ta\n
    \n", - "example": 3, - "start_line": 366, - "end_line": 373, - "section": "Tabs" - }, - { - "markdown": " - foo\n\n\tbar\n", - "html": "
      \n
    • \n

      foo

      \n

      bar

      \n
    • \n
    \n", - "example": 4, - "start_line": 379, - "end_line": 390, - "section": "Tabs" - }, - { - "markdown": "- foo\n\n\t\tbar\n", - "html": "
      \n
    • \n

      foo

      \n
        bar\n
      \n
    • \n
    \n", - "example": 5, - "start_line": 392, - "end_line": 404, - "section": "Tabs" - }, - { - "markdown": ">\t\tfoo\n", - "html": "
    \n
      foo\n
    \n
    \n", - "example": 6, - "start_line": 415, - "end_line": 422, - "section": "Tabs" - }, - { - "markdown": "-\t\tfoo\n", - "html": "
      \n
    • \n
        foo\n
      \n
    • \n
    \n", - "example": 7, - "start_line": 424, - "end_line": 433, - "section": "Tabs", - "shouldFail": true - }, - { - "markdown": " foo\n\tbar\n", - "html": "
    foo\nbar\n
    \n", - "example": 8, - "start_line": 436, - "end_line": 443, - "section": "Tabs" - }, - { - "markdown": " - foo\n - bar\n\t - baz\n", - "html": "
      \n
    • foo\n
        \n
      • bar\n
          \n
        • baz
        • \n
        \n
      • \n
      \n
    • \n
    \n", - "example": 9, - "start_line": 445, - "end_line": 461, - "section": "Tabs" - }, - { - "markdown": "#\tFoo\n", - "html": "

    Foo

    \n", - "example": 10, - "start_line": 463, - "end_line": 467, - "section": "Tabs" - }, - { - "markdown": "*\t*\t*\t\n", - "html": "
    \n", - "example": 11, - "start_line": 469, - "end_line": 473, - "section": "Tabs" - }, - { - "markdown": "- `one\n- two`\n", - "html": "
      \n
    • `one
    • \n
    • two`
    • \n
    \n", - "example": 12, - "start_line": 496, - "end_line": 504, - "section": "Precedence" - }, - { - "markdown": "***\n---\n___\n", - "html": "
    \n
    \n
    \n", - "example": 13, - "start_line": 535, - "end_line": 543, - "section": "Thematic breaks" - }, - { - "markdown": "+++\n", - "html": "

    +++

    \n", - "example": 14, - "start_line": 548, - "end_line": 552, - "section": "Thematic breaks" - }, - { - "markdown": "===\n", - "html": "

    ===

    \n", - "example": 15, - "start_line": 555, - "end_line": 559, - "section": "Thematic breaks" - }, - { - "markdown": "--\n**\n__\n", - "html": "

    --\n**\n__

    \n", - "example": 16, - "start_line": 564, - "end_line": 572, - "section": "Thematic breaks" - }, - { - "markdown": " ***\n ***\n ***\n", - "html": "
    \n
    \n
    \n", - "example": 17, - "start_line": 577, - "end_line": 585, - "section": "Thematic breaks" - }, - { - "markdown": " ***\n", - "html": "
    ***\n
    \n", - "example": 18, - "start_line": 590, - "end_line": 595, - "section": "Thematic breaks" - }, - { - "markdown": "Foo\n ***\n", - "html": "

    Foo\n***

    \n", - "example": 19, - "start_line": 598, - "end_line": 604, - "section": "Thematic breaks" - }, - { - "markdown": "_____________________________________\n", - "html": "
    \n", - "example": 20, - "start_line": 609, - "end_line": 613, - "section": "Thematic breaks" - }, - { - "markdown": " - - -\n", - "html": "
    \n", - "example": 21, - "start_line": 618, - "end_line": 622, - "section": "Thematic breaks" - }, - { - "markdown": " ** * ** * ** * **\n", - "html": "
    \n", - "example": 22, - "start_line": 625, - "end_line": 629, - "section": "Thematic breaks" - }, - { - "markdown": "- - - -\n", - "html": "
    \n", - "example": 23, - "start_line": 632, - "end_line": 636, - "section": "Thematic breaks" - }, - { - "markdown": "- - - - \n", - "html": "
    \n", - "example": 24, - "start_line": 641, - "end_line": 645, - "section": "Thematic breaks" - }, - { - "markdown": "_ _ _ _ a\n\na------\n\n---a---\n", - "html": "

    _ _ _ _ a

    \n

    a------

    \n

    ---a---

    \n", - "example": 25, - "start_line": 650, - "end_line": 660, - "section": "Thematic breaks" - }, - { - "markdown": " *-*\n", - "html": "

    -

    \n", - "example": 26, - "start_line": 666, - "end_line": 670, - "section": "Thematic breaks" - }, - { - "markdown": "- foo\n***\n- bar\n", - "html": "
      \n
    • foo
    • \n
    \n
    \n
      \n
    • bar
    • \n
    \n", - "example": 27, - "start_line": 675, - "end_line": 687, - "section": "Thematic breaks" - }, - { - "markdown": "Foo\n***\nbar\n", - "html": "

    Foo

    \n
    \n

    bar

    \n", - "example": 28, - "start_line": 692, - "end_line": 700, - "section": "Thematic breaks" - }, - { - "markdown": "Foo\n---\nbar\n", - "html": "

    Foo

    \n

    bar

    \n", - "example": 29, - "start_line": 709, - "end_line": 716, - "section": "Thematic breaks" - }, - { - "markdown": "* Foo\n* * *\n* Bar\n", - "html": "
      \n
    • Foo
    • \n
    \n
    \n
      \n
    • Bar
    • \n
    \n", - "example": 30, - "start_line": 722, - "end_line": 734, - "section": "Thematic breaks" - }, - { - "markdown": "- Foo\n- * * *\n", - "html": "
      \n
    • Foo
    • \n
    • \n
      \n
    • \n
    \n", - "example": 31, - "start_line": 739, - "end_line": 749, - "section": "Thematic breaks" - }, - { - "markdown": "# foo\n## foo\n### foo\n#### foo\n##### foo\n###### foo\n", - "html": "

    foo

    \n

    foo

    \n

    foo

    \n

    foo

    \n
    foo
    \n
    foo
    \n", - "example": 32, - "start_line": 768, - "end_line": 782, - "section": "ATX headings" - }, - { - "markdown": "####### foo\n", - "html": "

    ####### foo

    \n", - "example": 33, - "start_line": 787, - "end_line": 791, - "section": "ATX headings" - }, - { - "markdown": "#5 bolt\n\n#hashtag\n", - "html": "

    #5 bolt

    \n

    #hashtag

    \n", - "example": 34, - "start_line": 802, - "end_line": 809, - "section": "ATX headings" - }, - { - "markdown": "\\## foo\n", - "html": "

    ## foo

    \n", - "example": 35, - "start_line": 814, - "end_line": 818, - "section": "ATX headings" - }, - { - "markdown": "# foo *bar* \\*baz\\*\n", - "html": "

    foo bar *baz*

    \n", - "example": 36, - "start_line": 823, - "end_line": 827, - "section": "ATX headings" - }, - { - "markdown": "# foo \n", - "html": "

    foo

    \n", - "example": 37, - "start_line": 832, - "end_line": 836, - "section": "ATX headings" - }, - { - "markdown": " ### foo\n ## foo\n # foo\n", - "html": "

    foo

    \n

    foo

    \n

    foo

    \n", - "example": 38, - "start_line": 841, - "end_line": 849, - "section": "ATX headings" - }, - { - "markdown": " # foo\n", - "html": "
    # foo\n
    \n", - "example": 39, - "start_line": 854, - "end_line": 859, - "section": "ATX headings" - }, - { - "markdown": "foo\n # bar\n", - "html": "

    foo\n# bar

    \n", - "example": 40, - "start_line": 862, - "end_line": 868, - "section": "ATX headings" - }, - { - "markdown": "## foo ##\n ### bar ###\n", - "html": "

    foo

    \n

    bar

    \n", - "example": 41, - "start_line": 873, - "end_line": 879, - "section": "ATX headings" - }, - { - "markdown": "# foo ##################################\n##### foo ##\n", - "html": "

    foo

    \n
    foo
    \n", - "example": 42, - "start_line": 884, - "end_line": 890, - "section": "ATX headings" - }, - { - "markdown": "### foo ### \n", - "html": "

    foo

    \n", - "example": 43, - "start_line": 895, - "end_line": 899, - "section": "ATX headings" - }, - { - "markdown": "### foo ### b\n", - "html": "

    foo ### b

    \n", - "example": 44, - "start_line": 906, - "end_line": 910, - "section": "ATX headings" - }, - { - "markdown": "# foo#\n", - "html": "

    foo#

    \n", - "example": 45, - "start_line": 915, - "end_line": 919, - "section": "ATX headings" - }, - { - "markdown": "### foo \\###\n## foo #\\##\n# foo \\#\n", - "html": "

    foo ###

    \n

    foo ###

    \n

    foo #

    \n", - "example": 46, - "start_line": 925, - "end_line": 933, - "section": "ATX headings" - }, - { - "markdown": "****\n## foo\n****\n", - "html": "
    \n

    foo

    \n
    \n", - "example": 47, - "start_line": 939, - "end_line": 947, - "section": "ATX headings" - }, - { - "markdown": "Foo bar\n# baz\nBar foo\n", - "html": "

    Foo bar

    \n

    baz

    \n

    Bar foo

    \n", - "example": 48, - "start_line": 950, - "end_line": 958, - "section": "ATX headings" - }, - { - "markdown": "## \n#\n### ###\n", - "html": "

    \n

    \n

    \n", - "example": 49, - "start_line": 963, - "end_line": 971, - "section": "ATX headings", - "shouldFail": true - }, - { - "markdown": "Foo *bar*\n=========\n\nFoo *bar*\n---------\n", - "html": "

    Foo bar

    \n

    Foo bar

    \n", - "example": 50, - "start_line": 1006, - "end_line": 1015, - "section": "Setext headings" - }, - { - "markdown": "Foo *bar\nbaz*\n====\n", - "html": "

    Foo bar\nbaz

    \n", - "example": 51, - "start_line": 1020, - "end_line": 1027, - "section": "Setext headings", - "shouldFail": true - }, - { - "markdown": " Foo *bar\nbaz*\t\n====\n", - "html": "

    Foo bar\nbaz

    \n", - "example": 52, - "start_line": 1034, - "end_line": 1041, - "section": "Setext headings", - "shouldFail": true - }, - { - "markdown": "Foo\n-------------------------\n\nFoo\n=\n", - "html": "

    Foo

    \n

    Foo

    \n", - "example": 53, - "start_line": 1046, - "end_line": 1055, - "section": "Setext headings" - }, - { - "markdown": " Foo\n---\n\n Foo\n-----\n\n Foo\n ===\n", - "html": "

    Foo

    \n

    Foo

    \n

    Foo

    \n", - "example": 54, - "start_line": 1061, - "end_line": 1074, - "section": "Setext headings" - }, - { - "markdown": " Foo\n ---\n\n Foo\n---\n", - "html": "
    Foo\n---\n\nFoo\n
    \n
    \n", - "example": 55, - "start_line": 1079, - "end_line": 1092, - "section": "Setext headings" - }, - { - "markdown": "Foo\n ---- \n", - "html": "

    Foo

    \n", - "example": 56, - "start_line": 1098, - "end_line": 1103, - "section": "Setext headings" - }, - { - "markdown": "Foo\n ---\n", - "html": "

    Foo\n---

    \n", - "example": 57, - "start_line": 1108, - "end_line": 1114, - "section": "Setext headings" - }, - { - "markdown": "Foo\n= =\n\nFoo\n--- -\n", - "html": "

    Foo\n= =

    \n

    Foo

    \n
    \n", - "example": 58, - "start_line": 1119, - "end_line": 1130, - "section": "Setext headings" - }, - { - "markdown": "Foo \n-----\n", - "html": "

    Foo

    \n", - "example": 59, - "start_line": 1135, - "end_line": 1140, - "section": "Setext headings" - }, - { - "markdown": "Foo\\\n----\n", - "html": "

    Foo\\

    \n", - "example": 60, - "start_line": 1145, - "end_line": 1150, - "section": "Setext headings" - }, - { - "markdown": "`Foo\n----\n`\n\n
    \n", - "html": "

    `Foo

    \n

    `

    \n

    <a title="a lot

    \n

    of dashes"/>

    \n", - "example": 61, - "start_line": 1156, - "end_line": 1169, - "section": "Setext headings" - }, - { - "markdown": "> Foo\n---\n", - "html": "
    \n

    Foo

    \n
    \n
    \n", - "example": 62, - "start_line": 1175, - "end_line": 1183, - "section": "Setext headings" - }, - { - "markdown": "> foo\nbar\n===\n", - "html": "
    \n

    foo\nbar\n===

    \n
    \n", - "example": 63, - "start_line": 1186, - "end_line": 1196, - "section": "Setext headings" - }, - { - "markdown": "- Foo\n---\n", - "html": "
      \n
    • Foo
    • \n
    \n
    \n", - "example": 64, - "start_line": 1199, - "end_line": 1207, - "section": "Setext headings" - }, - { - "markdown": "Foo\nBar\n---\n", - "html": "

    Foo\nBar

    \n", - "example": 65, - "start_line": 1214, - "end_line": 1221, - "section": "Setext headings", - "shouldFail": true - }, - { - "markdown": "---\nFoo\n---\nBar\n---\nBaz\n", - "html": "
    \n

    Foo

    \n

    Bar

    \n

    Baz

    \n", - "example": 66, - "start_line": 1227, - "end_line": 1239, - "section": "Setext headings" - }, - { - "markdown": "\n====\n", - "html": "

    ====

    \n", - "example": 67, - "start_line": 1244, - "end_line": 1249, - "section": "Setext headings" - }, - { - "markdown": "---\n---\n", - "html": "
    \n
    \n", - "example": 68, - "start_line": 1256, - "end_line": 1262, - "section": "Setext headings" - }, - { - "markdown": "- foo\n-----\n", - "html": "
      \n
    • foo
    • \n
    \n
    \n", - "example": 69, - "start_line": 1265, - "end_line": 1273, - "section": "Setext headings" - }, - { - "markdown": " foo\n---\n", - "html": "
    foo\n
    \n
    \n", - "example": 70, - "start_line": 1276, - "end_line": 1283, - "section": "Setext headings" - }, - { - "markdown": "> foo\n-----\n", - "html": "
    \n

    foo

    \n
    \n
    \n", - "example": 71, - "start_line": 1286, - "end_line": 1294, - "section": "Setext headings" - }, - { - "markdown": "\\> foo\n------\n", - "html": "

    > foo

    \n", - "example": 72, - "start_line": 1300, - "end_line": 1305, - "section": "Setext headings" - }, - { - "markdown": "Foo\n\nbar\n---\nbaz\n", - "html": "

    Foo

    \n

    bar

    \n

    baz

    \n", - "example": 73, - "start_line": 1331, - "end_line": 1341, - "section": "Setext headings" - }, - { - "markdown": "Foo\nbar\n\n---\n\nbaz\n", - "html": "

    Foo\nbar

    \n
    \n

    baz

    \n", - "example": 74, - "start_line": 1347, - "end_line": 1359, - "section": "Setext headings" - }, - { - "markdown": "Foo\nbar\n* * *\nbaz\n", - "html": "

    Foo\nbar

    \n
    \n

    baz

    \n", - "example": 75, - "start_line": 1365, - "end_line": 1375, - "section": "Setext headings" - }, - { - "markdown": "Foo\nbar\n\\---\nbaz\n", - "html": "

    Foo\nbar\n---\nbaz

    \n", - "example": 76, - "start_line": 1380, - "end_line": 1390, - "section": "Setext headings" - }, - { - "markdown": " a simple\n indented code block\n", - "html": "
    a simple\n  indented code block\n
    \n", - "example": 77, - "start_line": 1408, - "end_line": 1415, - "section": "Indented code blocks" - }, - { - "markdown": " - foo\n\n bar\n", - "html": "
      \n
    • \n

      foo

      \n

      bar

      \n
    • \n
    \n", - "example": 78, - "start_line": 1422, - "end_line": 1433, - "section": "Indented code blocks" - }, - { - "markdown": "1. foo\n\n - bar\n", - "html": "
      \n
    1. \n

      foo

      \n
        \n
      • bar
      • \n
      \n
    2. \n
    \n", - "example": 79, - "start_line": 1436, - "end_line": 1449, - "section": "Indented code blocks" - }, - { - "markdown": "
    \n *hi*\n\n - one\n", - "html": "
    <a/>\n*hi*\n\n- one\n
    \n", - "example": 80, - "start_line": 1456, - "end_line": 1467, - "section": "Indented code blocks" - }, - { - "markdown": " chunk1\n\n chunk2\n \n \n \n chunk3\n", - "html": "
    chunk1\n\nchunk2\n\n\n\nchunk3\n
    \n", - "example": 81, - "start_line": 1472, - "end_line": 1489, - "section": "Indented code blocks" - }, - { - "markdown": " chunk1\n \n chunk2\n", - "html": "
    chunk1\n  \n  chunk2\n
    \n", - "example": 82, - "start_line": 1495, - "end_line": 1504, - "section": "Indented code blocks" - }, - { - "markdown": "Foo\n bar\n\n", - "html": "

    Foo\nbar

    \n", - "example": 83, - "start_line": 1510, - "end_line": 1517, - "section": "Indented code blocks" - }, - { - "markdown": " foo\nbar\n", - "html": "
    foo\n
    \n

    bar

    \n", - "example": 84, - "start_line": 1524, - "end_line": 1531, - "section": "Indented code blocks" - }, - { - "markdown": "# Heading\n foo\nHeading\n------\n foo\n----\n", - "html": "

    Heading

    \n
    foo\n
    \n

    Heading

    \n
    foo\n
    \n
    \n", - "example": 85, - "start_line": 1537, - "end_line": 1552, - "section": "Indented code blocks" - }, - { - "markdown": " foo\n bar\n", - "html": "
        foo\nbar\n
    \n", - "example": 86, - "start_line": 1557, - "end_line": 1564, - "section": "Indented code blocks" - }, - { - "markdown": "\n \n foo\n \n\n", - "html": "
    foo\n
    \n", - "example": 87, - "start_line": 1570, - "end_line": 1579, - "section": "Indented code blocks" - }, - { - "markdown": " foo \n", - "html": "
    foo  \n
    \n", - "example": 88, - "start_line": 1584, - "end_line": 1589, - "section": "Indented code blocks" - }, - { - "markdown": "```\n<\n >\n```\n", - "html": "
    <\n >\n
    \n", - "example": 89, - "start_line": 1639, - "end_line": 1648, - "section": "Fenced code blocks" - }, - { - "markdown": "~~~\n<\n >\n~~~\n", - "html": "
    <\n >\n
    \n", - "example": 90, - "start_line": 1653, - "end_line": 1662, - "section": "Fenced code blocks" - }, - { - "markdown": "``\nfoo\n``\n", - "html": "

    foo

    \n", - "example": 91, - "start_line": 1666, - "end_line": 1672, - "section": "Fenced code blocks" - }, - { - "markdown": "```\naaa\n~~~\n```\n", - "html": "
    aaa\n~~~\n
    \n", - "example": 92, - "start_line": 1677, - "end_line": 1686, - "section": "Fenced code blocks" - }, - { - "markdown": "~~~\naaa\n```\n~~~\n", - "html": "
    aaa\n```\n
    \n", - "example": 93, - "start_line": 1689, - "end_line": 1698, - "section": "Fenced code blocks" - }, - { - "markdown": "````\naaa\n```\n``````\n", - "html": "
    aaa\n```\n
    \n", - "example": 94, - "start_line": 1703, - "end_line": 1712, - "section": "Fenced code blocks" - }, - { - "markdown": "~~~~\naaa\n~~~\n~~~~\n", - "html": "
    aaa\n~~~\n
    \n", - "example": 95, - "start_line": 1715, - "end_line": 1724, - "section": "Fenced code blocks" - }, - { - "markdown": "```\n", - "html": "
    \n", - "example": 96, - "start_line": 1730, - "end_line": 1734, - "section": "Fenced code blocks" - }, - { - "markdown": "`````\n\n```\naaa\n", - "html": "
    \n```\naaa\n
    \n", - "example": 97, - "start_line": 1737, - "end_line": 1747, - "section": "Fenced code blocks" - }, - { - "markdown": "> ```\n> aaa\n\nbbb\n", - "html": "
    \n
    aaa\n
    \n
    \n

    bbb

    \n", - "example": 98, - "start_line": 1750, - "end_line": 1761, - "section": "Fenced code blocks" - }, - { - "markdown": "```\n\n \n```\n", - "html": "
    \n  \n
    \n", - "example": 99, - "start_line": 1766, - "end_line": 1775, - "section": "Fenced code blocks" - }, - { - "markdown": "```\n```\n", - "html": "
    \n", - "example": 100, - "start_line": 1780, - "end_line": 1785, - "section": "Fenced code blocks" - }, - { - "markdown": " ```\n aaa\naaa\n```\n", - "html": "
    aaa\naaa\n
    \n", - "example": 101, - "start_line": 1792, - "end_line": 1801, - "section": "Fenced code blocks" - }, - { - "markdown": " ```\naaa\n aaa\naaa\n ```\n", - "html": "
    aaa\naaa\naaa\n
    \n", - "example": 102, - "start_line": 1804, - "end_line": 1815, - "section": "Fenced code blocks" - }, - { - "markdown": " ```\n aaa\n aaa\n aaa\n ```\n", - "html": "
    aaa\n aaa\naaa\n
    \n", - "example": 103, - "start_line": 1818, - "end_line": 1829, - "section": "Fenced code blocks" - }, - { - "markdown": " ```\n aaa\n ```\n", - "html": "
    ```\naaa\n```\n
    \n", - "example": 104, - "start_line": 1834, - "end_line": 1843, - "section": "Fenced code blocks" - }, - { - "markdown": "```\naaa\n ```\n", - "html": "
    aaa\n
    \n", - "example": 105, - "start_line": 1849, - "end_line": 1856, - "section": "Fenced code blocks" - }, - { - "markdown": " ```\naaa\n ```\n", - "html": "
    aaa\n
    \n", - "example": 106, - "start_line": 1859, - "end_line": 1866, - "section": "Fenced code blocks" - }, - { - "markdown": "```\naaa\n ```\n", - "html": "
    aaa\n    ```\n
    \n", - "example": 107, - "start_line": 1871, - "end_line": 1879, - "section": "Fenced code blocks" - }, - { - "markdown": "``` ```\naaa\n", - "html": "

    \naaa

    \n", - "example": 108, - "start_line": 1885, - "end_line": 1891, - "section": "Fenced code blocks" - }, - { - "markdown": "~~~~~~\naaa\n~~~ ~~\n", - "html": "
    aaa\n~~~ ~~\n
    \n", - "example": 109, - "start_line": 1894, - "end_line": 1902, - "section": "Fenced code blocks" - }, - { - "markdown": "foo\n```\nbar\n```\nbaz\n", - "html": "

    foo

    \n
    bar\n
    \n

    baz

    \n", - "example": 110, - "start_line": 1908, - "end_line": 1919, - "section": "Fenced code blocks" - }, - { - "markdown": "foo\n---\n~~~\nbar\n~~~\n# baz\n", - "html": "

    foo

    \n
    bar\n
    \n

    baz

    \n", - "example": 111, - "start_line": 1925, - "end_line": 1937, - "section": "Fenced code blocks" - }, - { - "markdown": "```ruby\ndef foo(x)\n return 3\nend\n```\n", - "html": "
    def foo(x)\n  return 3\nend\n
    \n", - "example": 112, - "start_line": 1947, - "end_line": 1958, - "section": "Fenced code blocks" - }, - { - "markdown": "~~~~ ruby startline=3 $%@#$\ndef foo(x)\n return 3\nend\n~~~~~~~\n", - "html": "
    def foo(x)\n  return 3\nend\n
    \n", - "example": 113, - "start_line": 1961, - "end_line": 1972, - "section": "Fenced code blocks" - }, - { - "markdown": "````;\n````\n", - "html": "
    \n", - "example": 114, - "start_line": 1975, - "end_line": 1980, - "section": "Fenced code blocks" - }, - { - "markdown": "``` aa ```\nfoo\n", - "html": "

    aa\nfoo

    \n", - "example": 115, - "start_line": 1985, - "end_line": 1991, - "section": "Fenced code blocks" - }, - { - "markdown": "~~~ aa ``` ~~~\nfoo\n~~~\n", - "html": "
    foo\n
    \n", - "example": 116, - "start_line": 1996, - "end_line": 2003, - "section": "Fenced code blocks", - "shouldFail": true - }, - { - "markdown": "```\n``` aaa\n```\n", - "html": "
    ``` aaa\n
    \n", - "example": 117, - "start_line": 2008, - "end_line": 2015, - "section": "Fenced code blocks" - }, - { - "markdown": "
    \n
    \n**Hello**,\n\n_world_.\n
    \n
    \n", - "html": "
    \n
    \n**Hello**,\n

    world.\n

    \n
    \n", - "example": 118, - "start_line": 2087, - "end_line": 2102, - "section": "HTML blocks" - }, - { - "markdown": "\n \n \n \n
    \n hi\n
    \n\nokay.\n", - "html": "\n \n \n \n
    \n hi\n
    \n

    okay.

    \n", - "example": 119, - "start_line": 2116, - "end_line": 2135, - "section": "HTML blocks" - }, - { - "markdown": "
    \n*foo*\n", - "example": 121, - "start_line": 2151, - "end_line": 2157, - "section": "HTML blocks" - }, - { - "markdown": "
    \n\n*Markdown*\n\n
    \n", - "html": "
    \n

    Markdown

    \n
    \n", - "example": 122, - "start_line": 2162, - "end_line": 2172, - "section": "HTML blocks" - }, - { - "markdown": "
    \n
    \n", - "html": "
    \n
    \n", - "example": 123, - "start_line": 2178, - "end_line": 2186, - "section": "HTML blocks" - }, - { - "markdown": "
    \n
    \n", - "html": "
    \n
    \n", - "example": 124, - "start_line": 2189, - "end_line": 2197, - "section": "HTML blocks" - }, - { - "markdown": "
    \n*foo*\n\n*bar*\n", - "html": "
    \n*foo*\n

    bar

    \n", - "example": 125, - "start_line": 2201, - "end_line": 2210, - "section": "HTML blocks" - }, - { - "markdown": "
    \n", - "html": "\n", - "example": 129, - "start_line": 2250, - "end_line": 2254, - "section": "HTML blocks" - }, - { - "markdown": "
    \nfoo\n
    \n", - "html": "
    \nfoo\n
    \n", - "example": 130, - "start_line": 2257, - "end_line": 2265, - "section": "HTML blocks" - }, - { - "markdown": "
    \n``` c\nint x = 33;\n```\n", - "html": "
    \n``` c\nint x = 33;\n```\n", - "example": 131, - "start_line": 2274, - "end_line": 2284, - "section": "HTML blocks" - }, - { - "markdown": "\n*bar*\n\n", - "html": "\n*bar*\n\n", - "example": 132, - "start_line": 2291, - "end_line": 2299, - "section": "HTML blocks" - }, - { - "markdown": "\n*bar*\n\n", - "html": "\n*bar*\n\n", - "example": 133, - "start_line": 2304, - "end_line": 2312, - "section": "HTML blocks" - }, - { - "markdown": "\n*bar*\n\n", - "html": "\n*bar*\n\n", - "example": 134, - "start_line": 2315, - "end_line": 2323, - "section": "HTML blocks" - }, - { - "markdown": "\n*bar*\n", - "html": "\n*bar*\n", - "example": 135, - "start_line": 2326, - "end_line": 2332, - "section": "HTML blocks" - }, - { - "markdown": "\n*foo*\n\n", - "html": "\n*foo*\n\n", - "example": 136, - "start_line": 2341, - "end_line": 2349, - "section": "HTML blocks" - }, - { - "markdown": "\n\n*foo*\n\n\n", - "html": "\n

    foo

    \n
    \n", - "example": 137, - "start_line": 2356, - "end_line": 2366, - "section": "HTML blocks" - }, - { - "markdown": "*foo*\n", - "html": "

    foo

    \n", - "example": 138, - "start_line": 2374, - "end_line": 2378, - "section": "HTML blocks" - }, - { - "markdown": "
    \nimport Text.HTML.TagSoup\n\nmain :: IO ()\nmain = print $ parseTags tags\n
    \nokay\n", - "html": "
    \nimport Text.HTML.TagSoup\n\nmain :: IO ()\nmain = print $ parseTags tags\n
    \n

    okay

    \n", - "example": 139, - "start_line": 2390, - "end_line": 2406, - "section": "HTML blocks" - }, - { - "markdown": "\nokay\n", - "html": "\n

    okay

    \n", - "example": 140, - "start_line": 2411, - "end_line": 2425, - "section": "HTML blocks" - }, - { - "markdown": "\nh1 {color:red;}\n\np {color:blue;}\n\nokay\n", - "html": "\nh1 {color:red;}\n\np {color:blue;}\n\n

    okay

    \n", - "example": 141, - "start_line": 2430, - "end_line": 2446, - "section": "HTML blocks" - }, - { - "markdown": "\n\nfoo\n", - "html": "\n\nfoo\n", - "example": 142, - "start_line": 2453, - "end_line": 2463, - "section": "HTML blocks" - }, - { - "markdown": ">
    \n> foo\n\nbar\n", - "html": "
    \n
    \nfoo\n
    \n

    bar

    \n", - "example": 143, - "start_line": 2466, - "end_line": 2477, - "section": "HTML blocks" - }, - { - "markdown": "-
    \n- foo\n", - "html": "
      \n
    • \n
      \n
    • \n
    • foo
    • \n
    \n", - "example": 144, - "start_line": 2480, - "end_line": 2490, - "section": "HTML blocks" - }, - { - "markdown": "\n*foo*\n", - "html": "\n

    foo

    \n", - "example": 145, - "start_line": 2495, - "end_line": 2501, - "section": "HTML blocks" - }, - { - "markdown": "*bar*\n*baz*\n", - "html": "*bar*\n

    baz

    \n", - "example": 146, - "start_line": 2504, - "end_line": 2510, - "section": "HTML blocks" - }, - { - "markdown": "1. *bar*\n", - "html": "1. *bar*\n", - "example": 147, - "start_line": 2516, - "end_line": 2524, - "section": "HTML blocks" - }, - { - "markdown": "\nokay\n", - "html": "\n

    okay

    \n", - "example": 148, - "start_line": 2529, - "end_line": 2541, - "section": "HTML blocks" - }, - { - "markdown": "';\n\n?>\nokay\n", - "html": "';\n\n?>\n

    okay

    \n", - "example": 149, - "start_line": 2547, - "end_line": 2561, - "section": "HTML blocks" - }, - { - "markdown": "\n", - "html": "\n", - "example": 150, - "start_line": 2566, - "end_line": 2570, - "section": "HTML blocks" - }, - { - "markdown": "\nokay\n", - "html": "\n

    okay

    \n", - "example": 151, - "start_line": 2575, - "end_line": 2603, - "section": "HTML blocks" - }, - { - "markdown": " \n\n \n", - "html": " \n
    <!-- foo -->\n
    \n", - "example": 152, - "start_line": 2608, - "end_line": 2616, - "section": "HTML blocks" - }, - { - "markdown": "
    \n\n
    \n", - "html": "
    \n
    <div>\n
    \n", - "example": 153, - "start_line": 2619, - "end_line": 2627, - "section": "HTML blocks" - }, - { - "markdown": "Foo\n
    \nbar\n
    \n", - "html": "

    Foo

    \n
    \nbar\n
    \n", - "example": 154, - "start_line": 2633, - "end_line": 2643, - "section": "HTML blocks" - }, - { - "markdown": "
    \nbar\n
    \n*foo*\n", - "html": "
    \nbar\n
    \n*foo*\n", - "example": 155, - "start_line": 2650, - "end_line": 2660, - "section": "HTML blocks" - }, - { - "markdown": "Foo\n\nbaz\n", - "html": "

    Foo\n\nbaz

    \n", - "example": 156, - "start_line": 2665, - "end_line": 2673, - "section": "HTML blocks" - }, - { - "markdown": "
    \n\n*Emphasized* text.\n\n
    \n", - "html": "
    \n

    Emphasized text.

    \n
    \n", - "example": 157, - "start_line": 2706, - "end_line": 2716, - "section": "HTML blocks" - }, - { - "markdown": "
    \n*Emphasized* text.\n
    \n", - "html": "
    \n*Emphasized* text.\n
    \n", - "example": 158, - "start_line": 2719, - "end_line": 2727, - "section": "HTML blocks" - }, - { - "markdown": "\n\n\n\n\n\n\n\n
    \nHi\n
    \n", - "html": "\n\n\n\n
    \nHi\n
    \n", - "example": 159, - "start_line": 2741, - "end_line": 2761, - "section": "HTML blocks" - }, - { - "markdown": "\n\n \n\n \n\n \n\n
    \n Hi\n
    \n", - "html": "\n \n
    <td>\n  Hi\n</td>\n
    \n \n
    \n", - "example": 160, - "start_line": 2768, - "end_line": 2789, - "section": "HTML blocks" - }, - { - "markdown": "[foo]: /url \"title\"\n\n[foo]\n", - "html": "

    foo

    \n", - "example": 161, - "start_line": 2816, - "end_line": 2822, - "section": "Link reference definitions" - }, - { - "markdown": " [foo]: \n /url \n 'the title' \n\n[foo]\n", - "html": "

    foo

    \n", - "example": 162, - "start_line": 2825, - "end_line": 2833, - "section": "Link reference definitions" - }, - { - "markdown": "[Foo*bar\\]]:my_(url) 'title (with parens)'\n\n[Foo*bar\\]]\n", - "html": "

    Foo*bar]

    \n", - "example": 163, - "start_line": 2836, - "end_line": 2842, - "section": "Link reference definitions" - }, - { - "markdown": "[Foo bar]:\n\n'title'\n\n[Foo bar]\n", - "html": "

    Foo bar

    \n", - "example": 164, - "start_line": 2845, - "end_line": 2853, - "section": "Link reference definitions", - "shouldFail": true - }, - { - "markdown": "[foo]: /url '\ntitle\nline1\nline2\n'\n\n[foo]\n", - "html": "

    foo

    \n", - "example": 165, - "start_line": 2858, - "end_line": 2872, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: /url 'title\n\nwith blank line'\n\n[foo]\n", - "html": "

    [foo]: /url 'title

    \n

    with blank line'

    \n

    [foo]

    \n", - "example": 166, - "start_line": 2877, - "end_line": 2887, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]:\n/url\n\n[foo]\n", - "html": "

    foo

    \n", - "example": 167, - "start_line": 2892, - "end_line": 2899, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]:\n\n[foo]\n", - "html": "

    [foo]:

    \n

    [foo]

    \n", - "example": 168, - "start_line": 2904, - "end_line": 2911, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: <>\n\n[foo]\n", - "html": "

    foo

    \n", - "example": 169, - "start_line": 2916, - "end_line": 2922, - "section": "Link reference definitions", - "shouldFail": true - }, - { - "markdown": "[foo]: (baz)\n\n[foo]\n", - "html": "

    [foo]: (baz)

    \n

    [foo]

    \n", - "example": 170, - "start_line": 2927, - "end_line": 2934, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: /url\\bar\\*baz \"foo\\\"bar\\baz\"\n\n[foo]\n", - "html": "

    foo

    \n", - "example": 171, - "start_line": 2940, - "end_line": 2946, - "section": "Link reference definitions", - "shouldFail": true - }, - { - "markdown": "[foo]\n\n[foo]: url\n", - "html": "

    foo

    \n", - "example": 172, - "start_line": 2951, - "end_line": 2957, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]\n\n[foo]: first\n[foo]: second\n", - "html": "

    foo

    \n", - "example": 173, - "start_line": 2963, - "end_line": 2970, - "section": "Link reference definitions" - }, - { - "markdown": "[FOO]: /url\n\n[Foo]\n", - "html": "

    Foo

    \n", - "example": 174, - "start_line": 2976, - "end_line": 2982, - "section": "Link reference definitions" - }, - { - "markdown": "[ΑΓΩ]: /φου\n\n[αγω]\n", - "html": "

    αγω

    \n", - "example": 175, - "start_line": 2985, - "end_line": 2991, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: /url\n", - "html": "", - "example": 176, - "start_line": 2997, - "end_line": 3000, - "section": "Link reference definitions" - }, - { - "markdown": "[\nfoo\n]: /url\nbar\n", - "html": "

    bar

    \n", - "example": 177, - "start_line": 3005, - "end_line": 3012, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: /url \"title\" ok\n", - "html": "

    [foo]: /url "title" ok

    \n", - "example": 178, - "start_line": 3018, - "end_line": 3022, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: /url\n\"title\" ok\n", - "html": "

    "title" ok

    \n", - "example": 179, - "start_line": 3027, - "end_line": 3032, - "section": "Link reference definitions" - }, - { - "markdown": " [foo]: /url \"title\"\n\n[foo]\n", - "html": "
    [foo]: /url "title"\n
    \n

    [foo]

    \n", - "example": 180, - "start_line": 3038, - "end_line": 3046, - "section": "Link reference definitions" - }, - { - "markdown": "```\n[foo]: /url\n```\n\n[foo]\n", - "html": "
    [foo]: /url\n
    \n

    [foo]

    \n", - "example": 181, - "start_line": 3052, - "end_line": 3062, - "section": "Link reference definitions" - }, - { - "markdown": "Foo\n[bar]: /baz\n\n[bar]\n", - "html": "

    Foo\n[bar]: /baz

    \n

    [bar]

    \n", - "example": 182, - "start_line": 3067, - "end_line": 3076, - "section": "Link reference definitions" - }, - { - "markdown": "# [Foo]\n[foo]: /url\n> bar\n", - "html": "

    Foo

    \n
    \n

    bar

    \n
    \n", - "example": 183, - "start_line": 3082, - "end_line": 3091, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: /url\nbar\n===\n[foo]\n", - "html": "

    bar

    \n

    foo

    \n", - "example": 184, - "start_line": 3093, - "end_line": 3101, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: /url\n===\n[foo]\n", - "html": "

    ===\nfoo

    \n", - "example": 185, - "start_line": 3103, - "end_line": 3110, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: /foo-url \"foo\"\n[bar]: /bar-url\n \"bar\"\n[baz]: /baz-url\n\n[foo],\n[bar],\n[baz]\n", - "html": "

    foo,\nbar,\nbaz

    \n", - "example": 186, - "start_line": 3116, - "end_line": 3129, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]\n\n> [foo]: /url\n", - "html": "

    foo

    \n
    \n
    \n", - "example": 187, - "start_line": 3137, - "end_line": 3145, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: /url\n", - "html": "", - "example": 188, - "start_line": 3154, - "end_line": 3157, - "section": "Link reference definitions" - }, - { - "markdown": "aaa\n\nbbb\n", - "html": "

    aaa

    \n

    bbb

    \n", - "example": 189, - "start_line": 3171, - "end_line": 3178, - "section": "Paragraphs" - }, - { - "markdown": "aaa\nbbb\n\nccc\nddd\n", - "html": "

    aaa\nbbb

    \n

    ccc\nddd

    \n", - "example": 190, - "start_line": 3183, - "end_line": 3194, - "section": "Paragraphs" - }, - { - "markdown": "aaa\n\n\nbbb\n", - "html": "

    aaa

    \n

    bbb

    \n", - "example": 191, - "start_line": 3199, - "end_line": 3207, - "section": "Paragraphs" - }, - { - "markdown": " aaa\n bbb\n", - "html": "

    aaa\nbbb

    \n", - "example": 192, - "start_line": 3212, - "end_line": 3218, - "section": "Paragraphs" - }, - { - "markdown": "aaa\n bbb\n ccc\n", - "html": "

    aaa\nbbb\nccc

    \n", - "example": 193, - "start_line": 3224, - "end_line": 3232, - "section": "Paragraphs" - }, - { - "markdown": " aaa\nbbb\n", - "html": "

    aaa\nbbb

    \n", - "example": 194, - "start_line": 3238, - "end_line": 3244, - "section": "Paragraphs" - }, - { - "markdown": " aaa\nbbb\n", - "html": "
    aaa\n
    \n

    bbb

    \n", - "example": 195, - "start_line": 3247, - "end_line": 3254, - "section": "Paragraphs" - }, - { - "markdown": "aaa \nbbb \n", - "html": "

    aaa
    \nbbb

    \n", - "example": 196, - "start_line": 3261, - "end_line": 3267, - "section": "Paragraphs" - }, - { - "markdown": " \n\naaa\n \n\n# aaa\n\n \n", - "html": "

    aaa

    \n

    aaa

    \n", - "example": 197, - "start_line": 3278, - "end_line": 3290, - "section": "Blank lines" - }, - { - "markdown": "> # Foo\n> bar\n> baz\n", - "html": "
    \n

    Foo

    \n

    bar\nbaz

    \n
    \n", - "example": 198, - "start_line": 3344, - "end_line": 3354, - "section": "Block quotes" - }, - { - "markdown": "># Foo\n>bar\n> baz\n", - "html": "
    \n

    Foo

    \n

    bar\nbaz

    \n
    \n", - "example": 199, - "start_line": 3359, - "end_line": 3369, - "section": "Block quotes" - }, - { - "markdown": " > # Foo\n > bar\n > baz\n", - "html": "
    \n

    Foo

    \n

    bar\nbaz

    \n
    \n", - "example": 200, - "start_line": 3374, - "end_line": 3384, - "section": "Block quotes" - }, - { - "markdown": " > # Foo\n > bar\n > baz\n", - "html": "
    > # Foo\n> bar\n> baz\n
    \n", - "example": 201, - "start_line": 3389, - "end_line": 3398, - "section": "Block quotes" - }, - { - "markdown": "> # Foo\n> bar\nbaz\n", - "html": "
    \n

    Foo

    \n

    bar\nbaz

    \n
    \n", - "example": 202, - "start_line": 3404, - "end_line": 3414, - "section": "Block quotes" - }, - { - "markdown": "> bar\nbaz\n> foo\n", - "html": "
    \n

    bar\nbaz\nfoo

    \n
    \n", - "example": 203, - "start_line": 3420, - "end_line": 3430, - "section": "Block quotes" - }, - { - "markdown": "> foo\n---\n", - "html": "
    \n

    foo

    \n
    \n
    \n", - "example": 204, - "start_line": 3444, - "end_line": 3452, - "section": "Block quotes" - }, - { - "markdown": "> - foo\n- bar\n", - "html": "
    \n
      \n
    • foo
    • \n
    \n
    \n
      \n
    • bar
    • \n
    \n", - "example": 205, - "start_line": 3464, - "end_line": 3476, - "section": "Block quotes" - }, - { - "markdown": "> foo\n bar\n", - "html": "
    \n
    foo\n
    \n
    \n
    bar\n
    \n", - "example": 206, - "start_line": 3482, - "end_line": 3492, - "section": "Block quotes", - "shouldFail": true - }, - { - "markdown": "> ```\nfoo\n```\n", - "html": "
    \n
    \n
    \n

    foo

    \n
    \n", - "example": 207, - "start_line": 3495, - "end_line": 3505, - "section": "Block quotes", - "shouldFail": true - }, - { - "markdown": "> foo\n - bar\n", - "html": "
    \n

    foo\n- bar

    \n
    \n", - "example": 208, - "start_line": 3511, - "end_line": 3519, - "section": "Block quotes" - }, - { - "markdown": ">\n", - "html": "
    \n
    \n", - "example": 209, - "start_line": 3535, - "end_line": 3540, - "section": "Block quotes" - }, - { - "markdown": ">\n> \n> \n", - "html": "
    \n
    \n", - "example": 210, - "start_line": 3543, - "end_line": 3550, - "section": "Block quotes" - }, - { - "markdown": ">\n> foo\n> \n", - "html": "
    \n

    foo

    \n
    \n", - "example": 211, - "start_line": 3555, - "end_line": 3563, - "section": "Block quotes" - }, - { - "markdown": "> foo\n\n> bar\n", - "html": "
    \n

    foo

    \n
    \n
    \n

    bar

    \n
    \n", - "example": 212, - "start_line": 3568, - "end_line": 3579, - "section": "Block quotes" - }, - { - "markdown": "> foo\n> bar\n", - "html": "
    \n

    foo\nbar

    \n
    \n", - "example": 213, - "start_line": 3590, - "end_line": 3598, - "section": "Block quotes" - }, - { - "markdown": "> foo\n>\n> bar\n", - "html": "
    \n

    foo

    \n

    bar

    \n
    \n", - "example": 214, - "start_line": 3603, - "end_line": 3612, - "section": "Block quotes" - }, - { - "markdown": "foo\n> bar\n", - "html": "

    foo

    \n
    \n

    bar

    \n
    \n", - "example": 215, - "start_line": 3617, - "end_line": 3625, - "section": "Block quotes" - }, - { - "markdown": "> aaa\n***\n> bbb\n", - "html": "
    \n

    aaa

    \n
    \n
    \n
    \n

    bbb

    \n
    \n", - "example": 216, - "start_line": 3631, - "end_line": 3643, - "section": "Block quotes" - }, - { - "markdown": "> bar\nbaz\n", - "html": "
    \n

    bar\nbaz

    \n
    \n", - "example": 217, - "start_line": 3649, - "end_line": 3657, - "section": "Block quotes" - }, - { - "markdown": "> bar\n\nbaz\n", - "html": "
    \n

    bar

    \n
    \n

    baz

    \n", - "example": 218, - "start_line": 3660, - "end_line": 3669, - "section": "Block quotes" - }, - { - "markdown": "> bar\n>\nbaz\n", - "html": "
    \n

    bar

    \n
    \n

    baz

    \n", - "example": 219, - "start_line": 3672, - "end_line": 3681, - "section": "Block quotes" - }, - { - "markdown": "> > > foo\nbar\n", - "html": "
    \n
    \n
    \n

    foo\nbar

    \n
    \n
    \n
    \n", - "example": 220, - "start_line": 3688, - "end_line": 3700, - "section": "Block quotes" - }, - { - "markdown": ">>> foo\n> bar\n>>baz\n", - "html": "
    \n
    \n
    \n

    foo\nbar\nbaz

    \n
    \n
    \n
    \n", - "example": 221, - "start_line": 3703, - "end_line": 3717, - "section": "Block quotes" - }, - { - "markdown": "> code\n\n> not code\n", - "html": "
    \n
    code\n
    \n
    \n
    \n

    not code

    \n
    \n", - "example": 222, - "start_line": 3725, - "end_line": 3737, - "section": "Block quotes" - }, - { - "markdown": "A paragraph\nwith two lines.\n\n indented code\n\n> A block quote.\n", - "html": "

    A paragraph\nwith two lines.

    \n
    indented code\n
    \n
    \n

    A block quote.

    \n
    \n", - "example": 223, - "start_line": 3779, - "end_line": 3794, - "section": "List items" - }, - { - "markdown": "1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n", - "html": "
      \n
    1. \n

      A paragraph\nwith two lines.

      \n
      indented code\n
      \n
      \n

      A block quote.

      \n
      \n
    2. \n
    \n", - "example": 224, - "start_line": 3801, - "end_line": 3820, - "section": "List items" - }, - { - "markdown": "- one\n\n two\n", - "html": "
      \n
    • one
    • \n
    \n

    two

    \n", - "example": 225, - "start_line": 3834, - "end_line": 3843, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "- one\n\n two\n", - "html": "
      \n
    • \n

      one

      \n

      two

      \n
    • \n
    \n", - "example": 226, - "start_line": 3846, - "end_line": 3857, - "section": "List items" - }, - { - "markdown": " - one\n\n two\n", - "html": "
      \n
    • one
    • \n
    \n
     two\n
    \n", - "example": 227, - "start_line": 3860, - "end_line": 3870, - "section": "List items", - "shouldFail": true - }, - { - "markdown": " - one\n\n two\n", - "html": "
      \n
    • \n

      one

      \n

      two

      \n
    • \n
    \n", - "example": 228, - "start_line": 3873, - "end_line": 3884, - "section": "List items" - }, - { - "markdown": " > > 1. one\n>>\n>> two\n", - "html": "
    \n
    \n
      \n
    1. \n

      one

      \n

      two

      \n
    2. \n
    \n
    \n
    \n", - "example": 229, - "start_line": 3895, - "end_line": 3910, - "section": "List items" - }, - { - "markdown": ">>- one\n>>\n > > two\n", - "html": "
    \n
    \n
      \n
    • one
    • \n
    \n

    two

    \n
    \n
    \n", - "example": 230, - "start_line": 3922, - "end_line": 3935, - "section": "List items" - }, - { - "markdown": "-one\n\n2.two\n", - "html": "

    -one

    \n

    2.two

    \n", - "example": 231, - "start_line": 3941, - "end_line": 3948, - "section": "List items" - }, - { - "markdown": "- foo\n\n\n bar\n", - "html": "
      \n
    • \n

      foo

      \n

      bar

      \n
    • \n
    \n", - "example": 232, - "start_line": 3954, - "end_line": 3966, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "1. foo\n\n ```\n bar\n ```\n\n baz\n\n > bam\n", - "html": "
      \n
    1. \n

      foo

      \n
      bar\n
      \n

      baz

      \n
      \n

      bam

      \n
      \n
    2. \n
    \n", - "example": 233, - "start_line": 3971, - "end_line": 3993, - "section": "List items" - }, - { - "markdown": "- Foo\n\n bar\n\n\n baz\n", - "html": "
      \n
    • \n

      Foo

      \n
      bar\n\n\nbaz\n
      \n
    • \n
    \n", - "example": 234, - "start_line": 3999, - "end_line": 4017, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "123456789. ok\n", - "html": "
      \n
    1. ok
    2. \n
    \n", - "example": 235, - "start_line": 4021, - "end_line": 4027, - "section": "List items" - }, - { - "markdown": "1234567890. not ok\n", - "html": "

    1234567890. not ok

    \n", - "example": 236, - "start_line": 4030, - "end_line": 4034, - "section": "List items" - }, - { - "markdown": "0. ok\n", - "html": "
      \n
    1. ok
    2. \n
    \n", - "example": 237, - "start_line": 4039, - "end_line": 4045, - "section": "List items" - }, - { - "markdown": "003. ok\n", - "html": "
      \n
    1. ok
    2. \n
    \n", - "example": 238, - "start_line": 4048, - "end_line": 4054, - "section": "List items" - }, - { - "markdown": "-1. not ok\n", - "html": "

    -1. not ok

    \n", - "example": 239, - "start_line": 4059, - "end_line": 4063, - "section": "List items" - }, - { - "markdown": "- foo\n\n bar\n", - "html": "
      \n
    • \n

      foo

      \n
      bar\n
      \n
    • \n
    \n", - "example": 240, - "start_line": 4082, - "end_line": 4094, - "section": "List items" - }, - { - "markdown": " 10. foo\n\n bar\n", - "html": "
      \n
    1. \n

      foo

      \n
      bar\n
      \n
    2. \n
    \n", - "example": 241, - "start_line": 4099, - "end_line": 4111, - "section": "List items" - }, - { - "markdown": " indented code\n\nparagraph\n\n more code\n", - "html": "
    indented code\n
    \n

    paragraph

    \n
    more code\n
    \n", - "example": 242, - "start_line": 4118, - "end_line": 4130, - "section": "List items" - }, - { - "markdown": "1. indented code\n\n paragraph\n\n more code\n", - "html": "
      \n
    1. \n
      indented code\n
      \n

      paragraph

      \n
      more code\n
      \n
    2. \n
    \n", - "example": 243, - "start_line": 4133, - "end_line": 4149, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "1. indented code\n\n paragraph\n\n more code\n", - "html": "
      \n
    1. \n
       indented code\n
      \n

      paragraph

      \n
      more code\n
      \n
    2. \n
    \n", - "example": 244, - "start_line": 4155, - "end_line": 4171, - "section": "List items", - "shouldFail": true - }, - { - "markdown": " foo\n\nbar\n", - "html": "

    foo

    \n

    bar

    \n", - "example": 245, - "start_line": 4182, - "end_line": 4189, - "section": "List items" - }, - { - "markdown": "- foo\n\n bar\n", - "html": "
      \n
    • foo
    • \n
    \n

    bar

    \n", - "example": 246, - "start_line": 4192, - "end_line": 4201, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "- foo\n\n bar\n", - "html": "
      \n
    • \n

      foo

      \n

      bar

      \n
    • \n
    \n", - "example": 247, - "start_line": 4209, - "end_line": 4220, - "section": "List items" - }, - { - "markdown": "-\n foo\n-\n ```\n bar\n ```\n-\n baz\n", - "html": "
      \n
    • foo
    • \n
    • \n
      bar\n
      \n
    • \n
    • \n
      baz\n
      \n
    • \n
    \n", - "example": 248, - "start_line": 4237, - "end_line": 4258, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "- \n foo\n", - "html": "
      \n
    • foo
    • \n
    \n", - "example": 249, - "start_line": 4263, - "end_line": 4270, - "section": "List items" - }, - { - "markdown": "-\n\n foo\n", - "html": "
      \n
    • \n
    \n

    foo

    \n", - "example": 250, - "start_line": 4277, - "end_line": 4286, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "- foo\n-\n- bar\n", - "html": "
      \n
    • foo
    • \n
    • \n
    • bar
    • \n
    \n", - "example": 251, - "start_line": 4291, - "end_line": 4301, - "section": "List items" - }, - { - "markdown": "- foo\n- \n- bar\n", - "html": "
      \n
    • foo
    • \n
    • \n
    • bar
    • \n
    \n", - "example": 252, - "start_line": 4306, - "end_line": 4316, - "section": "List items" - }, - { - "markdown": "1. foo\n2.\n3. bar\n", - "html": "
      \n
    1. foo
    2. \n
    3. \n
    4. bar
    5. \n
    \n", - "example": 253, - "start_line": 4321, - "end_line": 4331, - "section": "List items" - }, - { - "markdown": "*\n", - "html": "
      \n
    • \n
    \n", - "example": 254, - "start_line": 4336, - "end_line": 4342, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "foo\n*\n\nfoo\n1.\n", - "html": "

    foo\n*

    \n

    foo\n1.

    \n", - "example": 255, - "start_line": 4346, - "end_line": 4357, - "section": "List items" - }, - { - "markdown": " 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n", - "html": "
      \n
    1. \n

      A paragraph\nwith two lines.

      \n
      indented code\n
      \n
      \n

      A block quote.

      \n
      \n
    2. \n
    \n", - "example": 256, - "start_line": 4368, - "end_line": 4387, - "section": "List items" - }, - { - "markdown": " 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n", - "html": "
      \n
    1. \n

      A paragraph\nwith two lines.

      \n
      indented code\n
      \n
      \n

      A block quote.

      \n
      \n
    2. \n
    \n", - "example": 257, - "start_line": 4392, - "end_line": 4411, - "section": "List items" - }, - { - "markdown": " 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n", - "html": "
      \n
    1. \n

      A paragraph\nwith two lines.

      \n
      indented code\n
      \n
      \n

      A block quote.

      \n
      \n
    2. \n
    \n", - "example": 258, - "start_line": 4416, - "end_line": 4435, - "section": "List items" - }, - { - "markdown": " 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n", - "html": "
    1.  A paragraph\n    with two lines.\n\n        indented code\n\n    > A block quote.\n
    \n", - "example": 259, - "start_line": 4440, - "end_line": 4455, - "section": "List items" - }, - { - "markdown": " 1. A paragraph\nwith two lines.\n\n indented code\n\n > A block quote.\n", - "html": "
      \n
    1. \n

      A paragraph\nwith two lines.

      \n
      indented code\n
      \n
      \n

      A block quote.

      \n
      \n
    2. \n
    \n", - "example": 260, - "start_line": 4470, - "end_line": 4489, - "section": "List items" - }, - { - "markdown": " 1. A paragraph\n with two lines.\n", - "html": "
      \n
    1. A paragraph\nwith two lines.
    2. \n
    \n", - "example": 261, - "start_line": 4494, - "end_line": 4502, - "section": "List items" - }, - { - "markdown": "> 1. > Blockquote\ncontinued here.\n", - "html": "
    \n
      \n
    1. \n
      \n

      Blockquote\ncontinued here.

      \n
      \n
    2. \n
    \n
    \n", - "example": 262, - "start_line": 4507, - "end_line": 4521, - "section": "List items" - }, - { - "markdown": "> 1. > Blockquote\n> continued here.\n", - "html": "
    \n
      \n
    1. \n
      \n

      Blockquote\ncontinued here.

      \n
      \n
    2. \n
    \n
    \n", - "example": 263, - "start_line": 4524, - "end_line": 4538, - "section": "List items" - }, - { - "markdown": "- foo\n - bar\n - baz\n - boo\n", - "html": "
      \n
    • foo\n
        \n
      • bar\n
          \n
        • baz\n
            \n
          • boo
          • \n
          \n
        • \n
        \n
      • \n
      \n
    • \n
    \n", - "example": 264, - "start_line": 4552, - "end_line": 4573, - "section": "List items" - }, - { - "markdown": "- foo\n - bar\n - baz\n - boo\n", - "html": "
      \n
    • foo
    • \n
    • bar
    • \n
    • baz
    • \n
    • boo
    • \n
    \n", - "example": 265, - "start_line": 4578, - "end_line": 4590, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "10) foo\n - bar\n", - "html": "
      \n
    1. foo\n
        \n
      • bar
      • \n
      \n
    2. \n
    \n", - "example": 266, - "start_line": 4595, - "end_line": 4606, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "10) foo\n - bar\n", - "html": "
      \n
    1. foo
    2. \n
    \n
      \n
    • bar
    • \n
    \n", - "example": 267, - "start_line": 4611, - "end_line": 4621, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "- - foo\n", - "html": "
      \n
    • \n
        \n
      • foo
      • \n
      \n
    • \n
    \n", - "example": 268, - "start_line": 4626, - "end_line": 4636, - "section": "List items" - }, - { - "markdown": "1. - 2. foo\n", - "html": "
      \n
    1. \n
        \n
      • \n
          \n
        1. foo
        2. \n
        \n
      • \n
      \n
    2. \n
    \n", - "example": 269, - "start_line": 4639, - "end_line": 4653, - "section": "List items" - }, - { - "markdown": "- # Foo\n- Bar\n ---\n baz\n", - "html": "
      \n
    • \n

      Foo

      \n
    • \n
    • \n

      Bar

      \nbaz
    • \n
    \n", - "example": 270, - "start_line": 4658, - "end_line": 4672, - "section": "List items" - }, - { - "markdown": "- foo\n- bar\n+ baz\n", - "html": "
      \n
    • foo
    • \n
    • bar
    • \n
    \n
      \n
    • baz
    • \n
    \n", - "example": 271, - "start_line": 4894, - "end_line": 4906, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "1. foo\n2. bar\n3) baz\n", - "html": "
      \n
    1. foo
    2. \n
    3. bar
    4. \n
    \n
      \n
    1. baz
    2. \n
    \n", - "example": 272, - "start_line": 4909, - "end_line": 4921, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "Foo\n- bar\n- baz\n", - "html": "

    Foo

    \n
      \n
    • bar
    • \n
    • baz
    • \n
    \n", - "example": 273, - "start_line": 4928, - "end_line": 4938, - "section": "Lists" - }, - { - "markdown": "The number of windows in my house is\n14. The number of doors is 6.\n", - "html": "

    The number of windows in my house is\n14. The number of doors is 6.

    \n", - "example": 274, - "start_line": 5005, - "end_line": 5011, - "section": "Lists" - }, - { - "markdown": "The number of windows in my house is\n1. The number of doors is 6.\n", - "html": "

    The number of windows in my house is

    \n
      \n
    1. The number of doors is 6.
    2. \n
    \n", - "example": 275, - "start_line": 5015, - "end_line": 5023, - "section": "Lists" - }, - { - "markdown": "- foo\n\n- bar\n\n\n- baz\n", - "html": "
      \n
    • \n

      foo

      \n
    • \n
    • \n

      bar

      \n
    • \n
    • \n

      baz

      \n
    • \n
    \n", - "example": 276, - "start_line": 5029, - "end_line": 5048, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "- foo\n - bar\n - baz\n\n\n bim\n", - "html": "
      \n
    • foo\n
        \n
      • bar\n
          \n
        • \n

          baz

          \n

          bim

          \n
        • \n
        \n
      • \n
      \n
    • \n
    \n", - "example": 277, - "start_line": 5050, - "end_line": 5072, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "- foo\n- bar\n\n\n\n- baz\n- bim\n", - "html": "
      \n
    • foo
    • \n
    • bar
    • \n
    \n\n
      \n
    • baz
    • \n
    • bim
    • \n
    \n", - "example": 278, - "start_line": 5080, - "end_line": 5098, - "section": "Lists" - }, - { - "markdown": "- foo\n\n notcode\n\n- foo\n\n\n\n code\n", - "html": "
      \n
    • \n

      foo

      \n

      notcode

      \n
    • \n
    • \n

      foo

      \n
    • \n
    \n\n
    code\n
    \n", - "example": 279, - "start_line": 5101, - "end_line": 5124, - "section": "Lists" - }, - { - "markdown": "- a\n - b\n - c\n - d\n - e\n - f\n- g\n", - "html": "
      \n
    • a
    • \n
    • b
    • \n
    • c
    • \n
    • d
    • \n
    • e
    • \n
    • f
    • \n
    • g
    • \n
    \n", - "example": 280, - "start_line": 5132, - "end_line": 5150, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "1. a\n\n 2. b\n\n 3. c\n", - "html": "
      \n
    1. \n

      a

      \n
    2. \n
    3. \n

      b

      \n
    4. \n
    5. \n

      c

      \n
    6. \n
    \n", - "example": 281, - "start_line": 5153, - "end_line": 5171, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "- a\n - b\n - c\n - d\n - e\n", - "html": "
      \n
    • a
    • \n
    • b
    • \n
    • c
    • \n
    • d\n- e
    • \n
    \n", - "example": 282, - "start_line": 5177, - "end_line": 5191, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "1. a\n\n 2. b\n\n 3. c\n", - "html": "
      \n
    1. \n

      a

      \n
    2. \n
    3. \n

      b

      \n
    4. \n
    \n
    3. c\n
    \n", - "example": 283, - "start_line": 5197, - "end_line": 5214, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "- a\n- b\n\n- c\n", - "html": "
      \n
    • \n

      a

      \n
    • \n
    • \n

      b

      \n
    • \n
    • \n

      c

      \n
    • \n
    \n", - "example": 284, - "start_line": 5220, - "end_line": 5237, - "section": "Lists" - }, - { - "markdown": "* a\n*\n\n* c\n", - "html": "
      \n
    • \n

      a

      \n
    • \n
    • \n
    • \n

      c

      \n
    • \n
    \n", - "example": 285, - "start_line": 5242, - "end_line": 5257, - "section": "Lists" - }, - { - "markdown": "- a\n- b\n\n c\n- d\n", - "html": "
      \n
    • \n

      a

      \n
    • \n
    • \n

      b

      \n

      c

      \n
    • \n
    • \n

      d

      \n
    • \n
    \n", - "example": 286, - "start_line": 5264, - "end_line": 5283, - "section": "Lists" - }, - { - "markdown": "- a\n- b\n\n [ref]: /url\n- d\n", - "html": "
      \n
    • \n

      a

      \n
    • \n
    • \n

      b

      \n
    • \n
    • \n

      d

      \n
    • \n
    \n", - "example": 287, - "start_line": 5286, - "end_line": 5304, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "- a\n- ```\n b\n\n\n ```\n- c\n", - "html": "
      \n
    • a
    • \n
    • \n
      b\n\n\n
      \n
    • \n
    • c
    • \n
    \n", - "example": 288, - "start_line": 5309, - "end_line": 5328, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "- a\n - b\n\n c\n- d\n", - "html": "
      \n
    • a\n
        \n
      • \n

        b

        \n

        c

        \n
      • \n
      \n
    • \n
    • d
    • \n
    \n", - "example": 289, - "start_line": 5335, - "end_line": 5353, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "* a\n > b\n >\n* c\n", - "html": "
      \n
    • a\n
      \n

      b

      \n
      \n
    • \n
    • c
    • \n
    \n", - "example": 290, - "start_line": 5359, - "end_line": 5373, - "section": "Lists" - }, - { - "markdown": "- a\n > b\n ```\n c\n ```\n- d\n", - "html": "
      \n
    • a\n
      \n

      b

      \n
      \n
      c\n
      \n
    • \n
    • d
    • \n
    \n", - "example": 291, - "start_line": 5379, - "end_line": 5397, - "section": "Lists" - }, - { - "markdown": "- a\n", - "html": "
      \n
    • a
    • \n
    \n", - "example": 292, - "start_line": 5402, - "end_line": 5408, - "section": "Lists" - }, - { - "markdown": "- a\n - b\n", - "html": "
      \n
    • a\n
        \n
      • b
      • \n
      \n
    • \n
    \n", - "example": 293, - "start_line": 5411, - "end_line": 5422, - "section": "Lists" - }, - { - "markdown": "1. ```\n foo\n ```\n\n bar\n", - "html": "
      \n
    1. \n
      foo\n
      \n

      bar

      \n
    2. \n
    \n", - "example": 294, - "start_line": 5428, - "end_line": 5442, - "section": "Lists" - }, - { - "markdown": "* foo\n * bar\n\n baz\n", - "html": "
      \n
    • \n

      foo

      \n
        \n
      • bar
      • \n
      \n

      baz

      \n
    • \n
    \n", - "example": 295, - "start_line": 5447, - "end_line": 5462, - "section": "Lists" - }, - { - "markdown": "- a\n - b\n - c\n\n- d\n - e\n - f\n", - "html": "
      \n
    • \n

      a

      \n
        \n
      • b
      • \n
      • c
      • \n
      \n
    • \n
    • \n

      d

      \n
        \n
      • e
      • \n
      • f
      • \n
      \n
    • \n
    \n", - "example": 296, - "start_line": 5465, - "end_line": 5490, - "section": "Lists" - }, - { - "markdown": "`hi`lo`\n", - "html": "

    hilo`

    \n", - "example": 297, - "start_line": 5499, - "end_line": 5503, - "section": "Inlines" - }, - { - "markdown": "\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\-\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\\\\\]\\^\\_\\`\\{\\|\\}\\~\n", - "html": "

    !"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~

    \n", - "example": 298, - "start_line": 5513, - "end_line": 5517, - "section": "Backslash escapes" - }, - { - "markdown": "\\\t\\A\\a\\ \\3\\φ\\«\n", - "html": "

    \\\t\\A\\a\\ \\3\\φ\\«

    \n", - "example": 299, - "start_line": 5523, - "end_line": 5527, - "section": "Backslash escapes" - }, - { - "markdown": "\\*not emphasized*\n\\
    not a tag\n\\[not a link](/foo)\n\\`not code`\n1\\. not a list\n\\* not a list\n\\# not a heading\n\\[foo]: /url \"not a reference\"\n\\ö not a character entity\n", - "html": "

    *not emphasized*\n<br/> not a tag\n[not a link](/foo)\n`not code`\n1. not a list\n* not a list\n# not a heading\n[foo]: /url "not a reference"\n&ouml; not a character entity

    \n", - "example": 300, - "start_line": 5533, - "end_line": 5553, - "section": "Backslash escapes" - }, - { - "markdown": "\\\\*emphasis*\n", - "html": "

    \\emphasis

    \n", - "example": 301, - "start_line": 5558, - "end_line": 5562, - "section": "Backslash escapes" - }, - { - "markdown": "foo\\\nbar\n", - "html": "

    foo
    \nbar

    \n", - "example": 302, - "start_line": 5567, - "end_line": 5573, - "section": "Backslash escapes" - }, - { - "markdown": "`` \\[\\` ``\n", - "html": "

    \\[\\`

    \n", - "example": 303, - "start_line": 5579, - "end_line": 5583, - "section": "Backslash escapes" - }, - { - "markdown": " \\[\\]\n", - "html": "
    \\[\\]\n
    \n", - "example": 304, - "start_line": 5586, - "end_line": 5591, - "section": "Backslash escapes" - }, - { - "markdown": "~~~\n\\[\\]\n~~~\n", - "html": "
    \\[\\]\n
    \n", - "example": 305, - "start_line": 5594, - "end_line": 5601, - "section": "Backslash escapes" - }, - { - "markdown": "\n", - "html": "

    http://example.com?find=\\*

    \n", - "example": 306, - "start_line": 5604, - "end_line": 5608, - "section": "Backslash escapes" - }, - { - "markdown": "\n", - "html": "\n", - "example": 307, - "start_line": 5611, - "end_line": 5615, - "section": "Backslash escapes" - }, - { - "markdown": "[foo](/bar\\* \"ti\\*tle\")\n", - "html": "

    foo

    \n", - "example": 308, - "start_line": 5621, - "end_line": 5625, - "section": "Backslash escapes" - }, - { - "markdown": "[foo]\n\n[foo]: /bar\\* \"ti\\*tle\"\n", - "html": "

    foo

    \n", - "example": 309, - "start_line": 5628, - "end_line": 5634, - "section": "Backslash escapes", - "shouldFail": true - }, - { - "markdown": "``` foo\\+bar\nfoo\n```\n", - "html": "
    foo\n
    \n", - "example": 310, - "start_line": 5637, - "end_line": 5644, - "section": "Backslash escapes", - "shouldFail": true - }, - { - "markdown": "  & © Æ Ď\n¾ ℋ ⅆ\n∲ ≧̸\n", - "html": "

      & © Æ Ď\n¾ ℋ ⅆ\n∲ ≧̸

    \n", - "example": 311, - "start_line": 5674, - "end_line": 5682, - "section": "Entity and numeric character references" - }, - { - "markdown": "# Ӓ Ϡ �\n", - "html": "

    # Ӓ Ϡ �

    \n", - "example": 312, - "start_line": 5693, - "end_line": 5697, - "section": "Entity and numeric character references" - }, - { - "markdown": "" ആ ಫ\n", - "html": "

    " ആ ಫ

    \n", - "example": 313, - "start_line": 5706, - "end_line": 5710, - "section": "Entity and numeric character references" - }, - { - "markdown": "  &x; &#; &#x;\n�\n&#abcdef0;\n&ThisIsNotDefined; &hi?;\n", - "html": "

    &nbsp &x; &#; &#x;\n&#987654321;\n&#abcdef0;\n&ThisIsNotDefined; &hi?;

    \n", - "example": 314, - "start_line": 5715, - "end_line": 5725, - "section": "Entity and numeric character references", - "shouldFail": true - }, - { - "markdown": "©\n", - "html": "

    &copy

    \n", - "example": 315, - "start_line": 5732, - "end_line": 5736, - "section": "Entity and numeric character references" - }, - { - "markdown": "&MadeUpEntity;\n", - "html": "

    &MadeUpEntity;

    \n", - "example": 316, - "start_line": 5742, - "end_line": 5746, - "section": "Entity and numeric character references" - }, - { - "markdown": "\n", - "html": "\n", - "example": 317, - "start_line": 5753, - "end_line": 5757, - "section": "Entity and numeric character references" - }, - { - "markdown": "[foo](/föö \"föö\")\n", - "html": "

    foo

    \n", - "example": 318, - "start_line": 5760, - "end_line": 5764, - "section": "Entity and numeric character references", - "shouldFail": true - }, - { - "markdown": "[foo]\n\n[foo]: /föö \"föö\"\n", - "html": "

    foo

    \n", - "example": 319, - "start_line": 5767, - "end_line": 5773, - "section": "Entity and numeric character references", - "shouldFail": true - }, - { - "markdown": "``` föö\nfoo\n```\n", - "html": "
    foo\n
    \n", - "example": 320, - "start_line": 5776, - "end_line": 5783, - "section": "Entity and numeric character references", - "shouldFail": true - }, - { - "markdown": "`föö`\n", - "html": "

    f&ouml;&ouml;

    \n", - "example": 321, - "start_line": 5789, - "end_line": 5793, - "section": "Entity and numeric character references" - }, - { - "markdown": " föfö\n", - "html": "
    f&ouml;f&ouml;\n
    \n", - "example": 322, - "start_line": 5796, - "end_line": 5801, - "section": "Entity and numeric character references" - }, - { - "markdown": "*foo*\n*foo*\n", - "html": "

    *foo*\nfoo

    \n", - "example": 323, - "start_line": 5808, - "end_line": 5814, - "section": "Entity and numeric character references" - }, - { - "markdown": "* foo\n\n* foo\n", - "html": "

    * foo

    \n
      \n
    • foo
    • \n
    \n", - "example": 324, - "start_line": 5816, - "end_line": 5825, - "section": "Entity and numeric character references" - }, - { - "markdown": "foo bar\n", - "html": "

    foo\n\nbar

    \n", - "example": 325, - "start_line": 5827, - "end_line": 5833, - "section": "Entity and numeric character references" - }, - { - "markdown": " foo\n", - "html": "

    \tfoo

    \n", - "example": 326, - "start_line": 5835, - "end_line": 5839, - "section": "Entity and numeric character references" - }, - { - "markdown": "[a](url "tit")\n", - "html": "

    [a](url "tit")

    \n", - "example": 327, - "start_line": 5842, - "end_line": 5846, - "section": "Entity and numeric character references" - }, - { - "markdown": "`foo`\n", - "html": "

    foo

    \n", - "example": 328, - "start_line": 5870, - "end_line": 5874, - "section": "Code spans" - }, - { - "markdown": "`` foo ` bar ``\n", - "html": "

    foo ` bar

    \n", - "example": 329, - "start_line": 5881, - "end_line": 5885, - "section": "Code spans" - }, - { - "markdown": "` `` `\n", - "html": "

    ``

    \n", - "example": 330, - "start_line": 5891, - "end_line": 5895, - "section": "Code spans" - }, - { - "markdown": "` `` `\n", - "html": "

    ``

    \n", - "example": 331, - "start_line": 5899, - "end_line": 5903, - "section": "Code spans" - }, - { - "markdown": "` a`\n", - "html": "

    a

    \n", - "example": 332, - "start_line": 5908, - "end_line": 5912, - "section": "Code spans" - }, - { - "markdown": "` b `\n", - "html": "

     b 

    \n", - "example": 333, - "start_line": 5917, - "end_line": 5921, - "section": "Code spans" - }, - { - "markdown": "` `\n` `\n", - "html": "

     \n

    \n", - "example": 334, - "start_line": 5925, - "end_line": 5931, - "section": "Code spans" - }, - { - "markdown": "``\nfoo\nbar \nbaz\n``\n", - "html": "

    foo bar baz

    \n", - "example": 335, - "start_line": 5936, - "end_line": 5944, - "section": "Code spans" - }, - { - "markdown": "``\nfoo \n``\n", - "html": "

    foo

    \n", - "example": 336, - "start_line": 5946, - "end_line": 5952, - "section": "Code spans" - }, - { - "markdown": "`foo bar \nbaz`\n", - "html": "

    foo bar baz

    \n", - "example": 337, - "start_line": 5957, - "end_line": 5962, - "section": "Code spans" - }, - { - "markdown": "`foo\\`bar`\n", - "html": "

    foo\\bar`

    \n", - "example": 338, - "start_line": 5974, - "end_line": 5978, - "section": "Code spans" - }, - { - "markdown": "``foo`bar``\n", - "html": "

    foo`bar

    \n", - "example": 339, - "start_line": 5985, - "end_line": 5989, - "section": "Code spans" - }, - { - "markdown": "` foo `` bar `\n", - "html": "

    foo `` bar

    \n", - "example": 340, - "start_line": 5991, - "end_line": 5995, - "section": "Code spans" - }, - { - "markdown": "*foo`*`\n", - "html": "

    *foo*

    \n", - "example": 341, - "start_line": 6003, - "end_line": 6007, - "section": "Code spans", - "shouldFail": true - }, - { - "markdown": "[not a `link](/foo`)\n", - "html": "

    [not a link](/foo)

    \n", - "example": 342, - "start_line": 6012, - "end_line": 6016, - "section": "Code spans" - }, - { - "markdown": "``\n", - "html": "

    <a href="">`

    \n", - "example": 343, - "start_line": 6022, - "end_line": 6026, - "section": "Code spans" - }, - { - "markdown": "
    `\n", - "html": "

    `

    \n", - "example": 344, - "start_line": 6031, - "end_line": 6035, - "section": "Code spans" - }, - { - "markdown": "``\n", - "html": "

    <http://foo.bar.baz>`

    \n", - "example": 345, - "start_line": 6040, - "end_line": 6044, - "section": "Code spans" - }, - { - "markdown": "`\n", - "html": "

    http://foo.bar.`baz`

    \n", - "example": 346, - "start_line": 6049, - "end_line": 6053, - "section": "Code spans" - }, - { - "markdown": "```foo``\n", - "html": "

    ```foo``

    \n", - "example": 347, - "start_line": 6059, - "end_line": 6063, - "section": "Code spans" - }, - { - "markdown": "`foo\n", - "html": "

    `foo

    \n", - "example": 348, - "start_line": 6066, - "end_line": 6070, - "section": "Code spans" - }, - { - "markdown": "`foo``bar``\n", - "html": "

    `foobar

    \n", - "example": 349, - "start_line": 6075, - "end_line": 6079, - "section": "Code spans" - }, - { - "markdown": "*foo bar*\n", - "html": "

    foo bar

    \n", - "example": 350, - "start_line": 6292, - "end_line": 6296, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "a * foo bar*\n", - "html": "

    a * foo bar*

    \n", - "example": 351, - "start_line": 6302, - "end_line": 6306, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "a*\"foo\"*\n", - "html": "

    a*"foo"*

    \n", - "example": 352, - "start_line": 6313, - "end_line": 6317, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "* a *\n", - "html": "

    * a *

    \n", - "example": 353, - "start_line": 6322, - "end_line": 6326, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "foo*bar*\n", - "html": "

    foobar

    \n", - "example": 354, - "start_line": 6331, - "end_line": 6335, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "5*6*78\n", - "html": "

    5678

    \n", - "example": 355, - "start_line": 6338, - "end_line": 6342, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_foo bar_\n", - "html": "

    foo bar

    \n", - "example": 356, - "start_line": 6347, - "end_line": 6351, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_ foo bar_\n", - "html": "

    _ foo bar_

    \n", - "example": 357, - "start_line": 6357, - "end_line": 6361, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "a_\"foo\"_\n", - "html": "

    a_"foo"_

    \n", - "example": 358, - "start_line": 6367, - "end_line": 6371, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo_bar_\n", - "html": "

    foo_bar_

    \n", - "example": 359, - "start_line": 6376, - "end_line": 6380, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "5_6_78\n", - "html": "

    5_6_78

    \n", - "example": 360, - "start_line": 6383, - "end_line": 6387, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "пристаням_стремятся_\n", - "html": "

    пристаням_стремятся_

    \n", - "example": 361, - "start_line": 6390, - "end_line": 6394, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "aa_\"bb\"_cc\n", - "html": "

    aa_"bb"_cc

    \n", - "example": 362, - "start_line": 6400, - "end_line": 6404, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo-_(bar)_\n", - "html": "

    foo-(bar)

    \n", - "example": 363, - "start_line": 6411, - "end_line": 6415, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_foo*\n", - "html": "

    _foo*

    \n", - "example": 364, - "start_line": 6423, - "end_line": 6427, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*foo bar *\n", - "html": "

    *foo bar *

    \n", - "example": 365, - "start_line": 6433, - "end_line": 6437, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*foo bar\n*\n", - "html": "

    *foo bar\n*

    \n", - "example": 366, - "start_line": 6442, - "end_line": 6448, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*(*foo)\n", - "html": "

    *(*foo)

    \n", - "example": 367, - "start_line": 6455, - "end_line": 6459, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*(*foo*)*\n", - "html": "

    (foo)

    \n", - "example": 368, - "start_line": 6465, - "end_line": 6469, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo*bar\n", - "html": "

    foobar

    \n", - "example": 369, - "start_line": 6474, - "end_line": 6478, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_foo bar _\n", - "html": "

    _foo bar _

    \n", - "example": 370, - "start_line": 6487, - "end_line": 6491, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_(_foo)\n", - "html": "

    _(_foo)

    \n", - "example": 371, - "start_line": 6497, - "end_line": 6501, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "_(_foo_)_\n", - "html": "

    (foo)

    \n", - "example": 372, - "start_line": 6506, - "end_line": 6510, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "_foo_bar\n", - "html": "

    _foo_bar

    \n", - "example": 373, - "start_line": 6515, - "end_line": 6519, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_пристаням_стремятся\n", - "html": "

    _пристаням_стремятся

    \n", - "example": 374, - "start_line": 6522, - "end_line": 6526, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_foo_bar_baz_\n", - "html": "

    foo_bar_baz

    \n", - "example": 375, - "start_line": 6529, - "end_line": 6533, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_(bar)_.\n", - "html": "

    (bar).

    \n", - "example": 376, - "start_line": 6540, - "end_line": 6544, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo bar**\n", - "html": "

    foo bar

    \n", - "example": 377, - "start_line": 6549, - "end_line": 6553, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "** foo bar**\n", - "html": "

    ** foo bar**

    \n", - "example": 378, - "start_line": 6559, - "end_line": 6563, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "a**\"foo\"**\n", - "html": "

    a**"foo"**

    \n", - "example": 379, - "start_line": 6570, - "end_line": 6574, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "foo**bar**\n", - "html": "

    foobar

    \n", - "example": 380, - "start_line": 6579, - "end_line": 6583, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__foo bar__\n", - "html": "

    foo bar

    \n", - "example": 381, - "start_line": 6588, - "end_line": 6592, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__ foo bar__\n", - "html": "

    __ foo bar__

    \n", - "example": 382, - "start_line": 6598, - "end_line": 6602, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__\nfoo bar__\n", - "html": "

    __\nfoo bar__

    \n", - "example": 383, - "start_line": 6606, - "end_line": 6612, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "a__\"foo\"__\n", - "html": "

    a__"foo"__

    \n", - "example": 384, - "start_line": 6618, - "end_line": 6622, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo__bar__\n", - "html": "

    foo__bar__

    \n", - "example": 385, - "start_line": 6627, - "end_line": 6631, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "5__6__78\n", - "html": "

    5__6__78

    \n", - "example": 386, - "start_line": 6634, - "end_line": 6638, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "пристаням__стремятся__\n", - "html": "

    пристаням__стремятся__

    \n", - "example": 387, - "start_line": 6641, - "end_line": 6645, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "__foo, __bar__, baz__\n", - "html": "

    foo, bar, baz

    \n", - "example": 388, - "start_line": 6648, - "end_line": 6652, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "foo-__(bar)__\n", - "html": "

    foo-(bar)

    \n", - "example": 389, - "start_line": 6659, - "end_line": 6663, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo bar **\n", - "html": "

    **foo bar **

    \n", - "example": 390, - "start_line": 6672, - "end_line": 6676, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "**(**foo)\n", - "html": "

    **(**foo)

    \n", - "example": 391, - "start_line": 6685, - "end_line": 6689, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*(**foo**)*\n", - "html": "

    (foo)

    \n", - "example": 392, - "start_line": 6695, - "end_line": 6699, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**Gomphocarpus (*Gomphocarpus physocarpus*, syn.\n*Asclepias physocarpa*)**\n", - "html": "

    Gomphocarpus (Gomphocarpus physocarpus, syn.\nAsclepias physocarpa)

    \n", - "example": 393, - "start_line": 6702, - "end_line": 6708, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo \"*bar*\" foo**\n", - "html": "

    foo "bar" foo

    \n", - "example": 394, - "start_line": 6711, - "end_line": 6715, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo**bar\n", - "html": "

    foobar

    \n", - "example": 395, - "start_line": 6720, - "end_line": 6724, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__foo bar __\n", - "html": "

    __foo bar __

    \n", - "example": 396, - "start_line": 6732, - "end_line": 6736, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__(__foo)\n", - "html": "

    __(__foo)

    \n", - "example": 397, - "start_line": 6742, - "end_line": 6746, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "_(__foo__)_\n", - "html": "

    (foo)

    \n", - "example": 398, - "start_line": 6752, - "end_line": 6756, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__foo__bar\n", - "html": "

    __foo__bar

    \n", - "example": 399, - "start_line": 6761, - "end_line": 6765, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "__пристаням__стремятся\n", - "html": "

    __пристаням__стремятся

    \n", - "example": 400, - "start_line": 6768, - "end_line": 6772, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "__foo__bar__baz__\n", - "html": "

    foo__bar__baz

    \n", - "example": 401, - "start_line": 6775, - "end_line": 6779, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "__(bar)__.\n", - "html": "

    (bar).

    \n", - "example": 402, - "start_line": 6786, - "end_line": 6790, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*foo [bar](/url)*\n", - "html": "

    foo bar

    \n", - "example": 403, - "start_line": 6798, - "end_line": 6802, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*foo\nbar*\n", - "html": "

    foo\nbar

    \n", - "example": 404, - "start_line": 6805, - "end_line": 6811, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_foo __bar__ baz_\n", - "html": "

    foo bar baz

    \n", - "example": 405, - "start_line": 6817, - "end_line": 6821, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_foo _bar_ baz_\n", - "html": "

    foo bar baz

    \n", - "example": 406, - "start_line": 6824, - "end_line": 6828, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "__foo_ bar_\n", - "html": "

    foo bar

    \n", - "example": 407, - "start_line": 6831, - "end_line": 6835, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo *bar**\n", - "html": "

    foo bar

    \n", - "example": 408, - "start_line": 6838, - "end_line": 6842, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*foo **bar** baz*\n", - "html": "

    foo bar baz

    \n", - "example": 409, - "start_line": 6845, - "end_line": 6849, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*foo**bar**baz*\n", - "html": "

    foobarbaz

    \n", - "example": 410, - "start_line": 6851, - "end_line": 6855, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*foo**bar*\n", - "html": "

    foo**bar

    \n", - "example": 411, - "start_line": 6875, - "end_line": 6879, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "***foo** bar*\n", - "html": "

    foo bar

    \n", - "example": 412, - "start_line": 6888, - "end_line": 6892, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo **bar***\n", - "html": "

    foo bar

    \n", - "example": 413, - "start_line": 6895, - "end_line": 6899, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo**bar***\n", - "html": "

    foobar

    \n", - "example": 414, - "start_line": 6902, - "end_line": 6906, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "foo***bar***baz\n", - "html": "

    foobarbaz

    \n", - "example": 415, - "start_line": 6913, - "end_line": 6917, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "foo******bar*********baz\n", - "html": "

    foobar***baz

    \n", - "example": 416, - "start_line": 6919, - "end_line": 6923, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo **bar *baz* bim** bop*\n", - "html": "

    foo bar baz bim bop

    \n", - "example": 417, - "start_line": 6928, - "end_line": 6932, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo [*bar*](/url)*\n", - "html": "

    foo bar

    \n", - "example": 418, - "start_line": 6935, - "end_line": 6939, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "** is not an empty emphasis\n", - "html": "

    ** is not an empty emphasis

    \n", - "example": 419, - "start_line": 6944, - "end_line": 6948, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**** is not an empty strong emphasis\n", - "html": "

    **** is not an empty strong emphasis

    \n", - "example": 420, - "start_line": 6951, - "end_line": 6955, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo [bar](/url)**\n", - "html": "

    foo bar

    \n", - "example": 421, - "start_line": 6964, - "end_line": 6968, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo\nbar**\n", - "html": "

    foo\nbar

    \n", - "example": 422, - "start_line": 6971, - "end_line": 6977, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__foo _bar_ baz__\n", - "html": "

    foo bar baz

    \n", - "example": 423, - "start_line": 6983, - "end_line": 6987, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__foo __bar__ baz__\n", - "html": "

    foo bar baz

    \n", - "example": 424, - "start_line": 6990, - "end_line": 6994, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "____foo__ bar__\n", - "html": "

    foo bar

    \n", - "example": 425, - "start_line": 6997, - "end_line": 7001, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "**foo **bar****\n", - "html": "

    foo bar

    \n", - "example": 426, - "start_line": 7004, - "end_line": 7008, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo *bar* baz**\n", - "html": "

    foo bar baz

    \n", - "example": 427, - "start_line": 7011, - "end_line": 7015, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo*bar*baz**\n", - "html": "

    foobarbaz

    \n", - "example": 428, - "start_line": 7018, - "end_line": 7022, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "***foo* bar**\n", - "html": "

    foo bar

    \n", - "example": 429, - "start_line": 7025, - "end_line": 7029, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo *bar***\n", - "html": "

    foo bar

    \n", - "example": 430, - "start_line": 7032, - "end_line": 7036, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo *bar **baz**\nbim* bop**\n", - "html": "

    foo bar baz\nbim bop

    \n", - "example": 431, - "start_line": 7041, - "end_line": 7047, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "**foo [*bar*](/url)**\n", - "html": "

    foo bar

    \n", - "example": 432, - "start_line": 7050, - "end_line": 7054, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__ is not an empty emphasis\n", - "html": "

    __ is not an empty emphasis

    \n", - "example": 433, - "start_line": 7059, - "end_line": 7063, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "____ is not an empty strong emphasis\n", - "html": "

    ____ is not an empty strong emphasis

    \n", - "example": 434, - "start_line": 7066, - "end_line": 7070, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo ***\n", - "html": "

    foo ***

    \n", - "example": 435, - "start_line": 7076, - "end_line": 7080, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo *\\**\n", - "html": "

    foo *

    \n", - "example": 436, - "start_line": 7083, - "end_line": 7087, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo *_*\n", - "html": "

    foo _

    \n", - "example": 437, - "start_line": 7090, - "end_line": 7094, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo *****\n", - "html": "

    foo *****

    \n", - "example": 438, - "start_line": 7097, - "end_line": 7101, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo **\\***\n", - "html": "

    foo *

    \n", - "example": 439, - "start_line": 7104, - "end_line": 7108, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo **_**\n", - "html": "

    foo _

    \n", - "example": 440, - "start_line": 7111, - "end_line": 7115, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo*\n", - "html": "

    *foo

    \n", - "example": 441, - "start_line": 7122, - "end_line": 7126, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo**\n", - "html": "

    foo*

    \n", - "example": 442, - "start_line": 7129, - "end_line": 7133, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "***foo**\n", - "html": "

    *foo

    \n", - "example": 443, - "start_line": 7136, - "end_line": 7140, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "****foo*\n", - "html": "

    ***foo

    \n", - "example": 444, - "start_line": 7143, - "end_line": 7147, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "**foo***\n", - "html": "

    foo*

    \n", - "example": 445, - "start_line": 7150, - "end_line": 7154, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo****\n", - "html": "

    foo***

    \n", - "example": 446, - "start_line": 7157, - "end_line": 7161, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "foo ___\n", - "html": "

    foo ___

    \n", - "example": 447, - "start_line": 7167, - "end_line": 7171, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo _\\__\n", - "html": "

    foo _

    \n", - "example": 448, - "start_line": 7174, - "end_line": 7178, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo _*_\n", - "html": "

    foo *

    \n", - "example": 449, - "start_line": 7181, - "end_line": 7185, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo _____\n", - "html": "

    foo _____

    \n", - "example": 450, - "start_line": 7188, - "end_line": 7192, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo __\\___\n", - "html": "

    foo _

    \n", - "example": 451, - "start_line": 7195, - "end_line": 7199, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo __*__\n", - "html": "

    foo *

    \n", - "example": 452, - "start_line": 7202, - "end_line": 7206, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__foo_\n", - "html": "

    _foo

    \n", - "example": 453, - "start_line": 7209, - "end_line": 7213, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "_foo__\n", - "html": "

    foo_

    \n", - "example": 454, - "start_line": 7220, - "end_line": 7224, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "___foo__\n", - "html": "

    _foo

    \n", - "example": 455, - "start_line": 7227, - "end_line": 7231, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "____foo_\n", - "html": "

    ___foo

    \n", - "example": 456, - "start_line": 7234, - "end_line": 7238, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "__foo___\n", - "html": "

    foo_

    \n", - "example": 457, - "start_line": 7241, - "end_line": 7245, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "_foo____\n", - "html": "

    foo___

    \n", - "example": 458, - "start_line": 7248, - "end_line": 7252, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "**foo**\n", - "html": "

    foo

    \n", - "example": 459, - "start_line": 7258, - "end_line": 7262, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*_foo_*\n", - "html": "

    foo

    \n", - "example": 460, - "start_line": 7265, - "end_line": 7269, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__foo__\n", - "html": "

    foo

    \n", - "example": 461, - "start_line": 7272, - "end_line": 7276, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_*foo*_\n", - "html": "

    foo

    \n", - "example": 462, - "start_line": 7279, - "end_line": 7283, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "****foo****\n", - "html": "

    foo

    \n", - "example": 463, - "start_line": 7289, - "end_line": 7293, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "____foo____\n", - "html": "

    foo

    \n", - "example": 464, - "start_line": 7296, - "end_line": 7300, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "******foo******\n", - "html": "

    foo

    \n", - "example": 465, - "start_line": 7307, - "end_line": 7311, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "***foo***\n", - "html": "

    foo

    \n", - "example": 466, - "start_line": 7316, - "end_line": 7320, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "_____foo_____\n", - "html": "

    foo

    \n", - "example": 467, - "start_line": 7323, - "end_line": 7327, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo _bar* baz_\n", - "html": "

    foo _bar baz_

    \n", - "example": 468, - "start_line": 7332, - "end_line": 7336, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*foo __bar *baz bim__ bam*\n", - "html": "

    foo bar *baz bim bam

    \n", - "example": 469, - "start_line": 7339, - "end_line": 7343, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo **bar baz**\n", - "html": "

    **foo bar baz

    \n", - "example": 470, - "start_line": 7348, - "end_line": 7352, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo *bar baz*\n", - "html": "

    *foo bar baz

    \n", - "example": 471, - "start_line": 7355, - "end_line": 7359, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*[bar*](/url)\n", - "html": "

    *bar*

    \n", - "example": 472, - "start_line": 7364, - "end_line": 7368, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_foo [bar_](/url)\n", - "html": "

    _foo bar_

    \n", - "example": 473, - "start_line": 7371, - "end_line": 7375, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*\n", - "html": "

    *

    \n", - "example": 474, - "start_line": 7378, - "end_line": 7382, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**\n", - "html": "

    **

    \n", - "example": 475, - "start_line": 7385, - "end_line": 7389, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "__\n", - "html": "

    __

    \n", - "example": 476, - "start_line": 7392, - "end_line": 7396, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*a `*`*\n", - "html": "

    a *

    \n", - "example": 477, - "start_line": 7399, - "end_line": 7403, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_a `_`_\n", - "html": "

    a _

    \n", - "example": 478, - "start_line": 7406, - "end_line": 7410, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**a\n", - "html": "

    **ahttp://foo.bar/?q=**

    \n", - "example": 479, - "start_line": 7413, - "end_line": 7417, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "__a\n", - "html": "

    __ahttp://foo.bar/?q=__

    \n", - "example": 480, - "start_line": 7420, - "end_line": 7424, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "[link](/uri \"title\")\n", - "html": "

    link

    \n", - "example": 481, - "start_line": 7503, - "end_line": 7507, - "section": "Links" - }, - { - "markdown": "[link](/uri)\n", - "html": "

    link

    \n", - "example": 482, - "start_line": 7512, - "end_line": 7516, - "section": "Links" - }, - { - "markdown": "[link]()\n", - "html": "

    link

    \n", - "example": 483, - "start_line": 7521, - "end_line": 7525, - "section": "Links" - }, - { - "markdown": "[link](<>)\n", - "html": "

    link

    \n", - "example": 484, - "start_line": 7528, - "end_line": 7532, - "section": "Links" - }, - { - "markdown": "[link](/my uri)\n", - "html": "

    [link](/my uri)

    \n", - "example": 485, - "start_line": 7537, - "end_line": 7541, - "section": "Links" - }, - { - "markdown": "[link](
    )\n", - "html": "

    link

    \n", - "example": 486, - "start_line": 7543, - "end_line": 7547, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[link](foo\nbar)\n", - "html": "

    [link](foo\nbar)

    \n", - "example": 487, - "start_line": 7552, - "end_line": 7558, - "section": "Links" - }, - { - "markdown": "[link]()\n", - "html": "

    [link]()

    \n", - "example": 488, - "start_line": 7560, - "end_line": 7566, - "section": "Links" - }, - { - "markdown": "[a]()\n", - "html": "

    a

    \n", - "example": 489, - "start_line": 7571, - "end_line": 7575, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[link]()\n", - "html": "

    [link](<foo>)

    \n", - "example": 490, - "start_line": 7579, - "end_line": 7583, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[a](\n[a](c)\n", - "html": "

    [a](<b)c\n[a](<b)c>\n[a](c)

    \n", - "example": 491, - "start_line": 7588, - "end_line": 7596, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[link](\\(foo\\))\n", - "html": "

    link

    \n", - "example": 492, - "start_line": 7600, - "end_line": 7604, - "section": "Links" - }, - { - "markdown": "[link](foo(and(bar)))\n", - "html": "

    link

    \n", - "example": 493, - "start_line": 7609, - "end_line": 7613, - "section": "Links" - }, - { - "markdown": "[link](foo\\(and\\(bar\\))\n", - "html": "

    link

    \n", - "example": 494, - "start_line": 7618, - "end_line": 7622, - "section": "Links" - }, - { - "markdown": "[link]()\n", - "html": "

    link

    \n", - "example": 495, - "start_line": 7625, - "end_line": 7629, - "section": "Links" - }, - { - "markdown": "[link](foo\\)\\:)\n", - "html": "

    link

    \n", - "example": 496, - "start_line": 7635, - "end_line": 7639, - "section": "Links" - }, - { - "markdown": "[link](#fragment)\n\n[link](http://example.com#fragment)\n\n[link](http://example.com?foo=3#frag)\n", - "html": "

    link

    \n

    link

    \n

    link

    \n", - "example": 497, - "start_line": 7644, - "end_line": 7654, - "section": "Links" - }, - { - "markdown": "[link](foo\\bar)\n", - "html": "

    link

    \n", - "example": 498, - "start_line": 7660, - "end_line": 7664, - "section": "Links" - }, - { - "markdown": "[link](foo%20bä)\n", - "html": "

    link

    \n", - "example": 499, - "start_line": 7676, - "end_line": 7680, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[link](\"title\")\n", - "html": "

    link

    \n", - "example": 500, - "start_line": 7687, - "end_line": 7691, - "section": "Links" - }, - { - "markdown": "[link](/url \"title\")\n[link](/url 'title')\n[link](/url (title))\n", - "html": "

    link\nlink\nlink

    \n", - "example": 501, - "start_line": 7696, - "end_line": 7704, - "section": "Links" - }, - { - "markdown": "[link](/url \"title \\\""\")\n", - "html": "

    link

    \n", - "example": 502, - "start_line": 7710, - "end_line": 7714, - "section": "Links" - }, - { - "markdown": "[link](/url \"title\")\n", - "html": "

    link

    \n", - "example": 503, - "start_line": 7720, - "end_line": 7724, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[link](/url \"title \"and\" title\")\n", - "html": "

    [link](/url "title "and" title")

    \n", - "example": 504, - "start_line": 7729, - "end_line": 7733, - "section": "Links" - }, - { - "markdown": "[link](/url 'title \"and\" title')\n", - "html": "

    link

    \n", - "example": 505, - "start_line": 7738, - "end_line": 7742, - "section": "Links" - }, - { - "markdown": "[link]( /uri\n \"title\" )\n", - "html": "

    link

    \n", - "example": 506, - "start_line": 7762, - "end_line": 7767, - "section": "Links" - }, - { - "markdown": "[link] (/uri)\n", - "html": "

    [link] (/uri)

    \n", - "example": 507, - "start_line": 7773, - "end_line": 7777, - "section": "Links" - }, - { - "markdown": "[link [foo [bar]]](/uri)\n", - "html": "

    link [foo [bar]]

    \n", - "example": 508, - "start_line": 7783, - "end_line": 7787, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[link] bar](/uri)\n", - "html": "

    [link] bar](/uri)

    \n", - "example": 509, - "start_line": 7790, - "end_line": 7794, - "section": "Links" - }, - { - "markdown": "[link [bar](/uri)\n", - "html": "

    [link bar

    \n", - "example": 510, - "start_line": 7797, - "end_line": 7801, - "section": "Links" - }, - { - "markdown": "[link \\[bar](/uri)\n", - "html": "

    link [bar

    \n", - "example": 511, - "start_line": 7804, - "end_line": 7808, - "section": "Links" - }, - { - "markdown": "[link *foo **bar** `#`*](/uri)\n", - "html": "

    link foo bar #

    \n", - "example": 512, - "start_line": 7813, - "end_line": 7817, - "section": "Links" - }, - { - "markdown": "[![moon](moon.jpg)](/uri)\n", - "html": "

    \"moon\"

    \n", - "example": 513, - "start_line": 7820, - "end_line": 7824, - "section": "Links" - }, - { - "markdown": "[foo [bar](/uri)](/uri)\n", - "html": "

    [foo bar](/uri)

    \n", - "example": 514, - "start_line": 7829, - "end_line": 7833, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[foo *[bar [baz](/uri)](/uri)*](/uri)\n", - "html": "

    [foo [bar baz](/uri)](/uri)

    \n", - "example": 515, - "start_line": 7836, - "end_line": 7840, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "![[[foo](uri1)](uri2)](uri3)\n", - "html": "

    \"[foo](uri2)\"

    \n", - "example": 516, - "start_line": 7843, - "end_line": 7847, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "*[foo*](/uri)\n", - "html": "

    *foo*

    \n", - "example": 517, - "start_line": 7853, - "end_line": 7857, - "section": "Links" - }, - { - "markdown": "[foo *bar](baz*)\n", - "html": "

    foo *bar

    \n", - "example": 518, - "start_line": 7860, - "end_line": 7864, - "section": "Links" - }, - { - "markdown": "*foo [bar* baz]\n", - "html": "

    foo [bar baz]

    \n", - "example": 519, - "start_line": 7870, - "end_line": 7874, - "section": "Links" - }, - { - "markdown": "[foo \n", - "html": "

    [foo

    \n", - "example": 520, - "start_line": 7880, - "end_line": 7884, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[foo`](/uri)`\n", - "html": "

    [foo](/uri)

    \n", - "example": 521, - "start_line": 7887, - "end_line": 7891, - "section": "Links" - }, - { - "markdown": "[foo\n", - "html": "

    [foohttp://example.com/?search=](uri)

    \n", - "example": 522, - "start_line": 7894, - "end_line": 7898, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[foo][bar]\n\n[bar]: /url \"title\"\n", - "html": "

    foo

    \n", - "example": 523, - "start_line": 7932, - "end_line": 7938, - "section": "Links" - }, - { - "markdown": "[link [foo [bar]]][ref]\n\n[ref]: /uri\n", - "html": "

    link [foo [bar]]

    \n", - "example": 524, - "start_line": 7947, - "end_line": 7953, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[link \\[bar][ref]\n\n[ref]: /uri\n", - "html": "

    link [bar

    \n", - "example": 525, - "start_line": 7956, - "end_line": 7962, - "section": "Links" - }, - { - "markdown": "[link *foo **bar** `#`*][ref]\n\n[ref]: /uri\n", - "html": "

    link foo bar #

    \n", - "example": 526, - "start_line": 7967, - "end_line": 7973, - "section": "Links" - }, - { - "markdown": "[![moon](moon.jpg)][ref]\n\n[ref]: /uri\n", - "html": "

    \"moon\"

    \n", - "example": 527, - "start_line": 7976, - "end_line": 7982, - "section": "Links" - }, - { - "markdown": "[foo [bar](/uri)][ref]\n\n[ref]: /uri\n", - "html": "

    [foo bar]ref

    \n", - "example": 528, - "start_line": 7987, - "end_line": 7993, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[foo *bar [baz][ref]*][ref]\n\n[ref]: /uri\n", - "html": "

    [foo bar baz]ref

    \n", - "example": 529, - "start_line": 7996, - "end_line": 8002, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "*[foo*][ref]\n\n[ref]: /uri\n", - "html": "

    *foo*

    \n", - "example": 530, - "start_line": 8011, - "end_line": 8017, - "section": "Links" - }, - { - "markdown": "[foo *bar][ref]\n\n[ref]: /uri\n", - "html": "

    foo *bar

    \n", - "example": 531, - "start_line": 8020, - "end_line": 8026, - "section": "Links" - }, - { - "markdown": "[foo \n\n[ref]: /uri\n", - "html": "

    [foo

    \n", - "example": 532, - "start_line": 8032, - "end_line": 8038, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[foo`][ref]`\n\n[ref]: /uri\n", - "html": "

    [foo][ref]

    \n", - "example": 533, - "start_line": 8041, - "end_line": 8047, - "section": "Links" - }, - { - "markdown": "[foo\n\n[ref]: /uri\n", - "html": "

    [foohttp://example.com/?search=][ref]

    \n", - "example": 534, - "start_line": 8050, - "end_line": 8056, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[foo][BaR]\n\n[bar]: /url \"title\"\n", - "html": "

    foo

    \n", - "example": 535, - "start_line": 8061, - "end_line": 8067, - "section": "Links" - }, - { - "markdown": "[Толпой][Толпой] is a Russian word.\n\n[ТОЛПОЙ]: /url\n", - "html": "

    Толпой is a Russian word.

    \n", - "example": 536, - "start_line": 8072, - "end_line": 8078, - "section": "Links" - }, - { - "markdown": "[Foo\n bar]: /url\n\n[Baz][Foo bar]\n", - "html": "

    Baz

    \n", - "example": 537, - "start_line": 8084, - "end_line": 8091, - "section": "Links" - }, - { - "markdown": "[foo] [bar]\n\n[bar]: /url \"title\"\n", - "html": "

    [foo] bar

    \n", - "example": 538, - "start_line": 8097, - "end_line": 8103, - "section": "Links" - }, - { - "markdown": "[foo]\n[bar]\n\n[bar]: /url \"title\"\n", - "html": "

    [foo]\nbar

    \n", - "example": 539, - "start_line": 8106, - "end_line": 8114, - "section": "Links" - }, - { - "markdown": "[foo]: /url1\n\n[foo]: /url2\n\n[bar][foo]\n", - "html": "

    bar

    \n", - "example": 540, - "start_line": 8147, - "end_line": 8155, - "section": "Links" - }, - { - "markdown": "[bar][foo\\!]\n\n[foo!]: /url\n", - "html": "

    [bar][foo!]

    \n", - "example": 541, - "start_line": 8162, - "end_line": 8168, - "section": "Links" - }, - { - "markdown": "[foo][ref[]\n\n[ref[]: /uri\n", - "html": "

    [foo][ref[]

    \n

    [ref[]: /uri

    \n", - "example": 542, - "start_line": 8174, - "end_line": 8181, - "section": "Links" - }, - { - "markdown": "[foo][ref[bar]]\n\n[ref[bar]]: /uri\n", - "html": "

    [foo][ref[bar]]

    \n

    [ref[bar]]: /uri

    \n", - "example": 543, - "start_line": 8184, - "end_line": 8191, - "section": "Links" - }, - { - "markdown": "[[[foo]]]\n\n[[[foo]]]: /url\n", - "html": "

    [[[foo]]]

    \n

    [[[foo]]]: /url

    \n", - "example": 544, - "start_line": 8194, - "end_line": 8201, - "section": "Links" - }, - { - "markdown": "[foo][ref\\[]\n\n[ref\\[]: /uri\n", - "html": "

    foo

    \n", - "example": 545, - "start_line": 8204, - "end_line": 8210, - "section": "Links" - }, - { - "markdown": "[bar\\\\]: /uri\n\n[bar\\\\]\n", - "html": "

    bar\\

    \n", - "example": 546, - "start_line": 8215, - "end_line": 8221, - "section": "Links" - }, - { - "markdown": "[]\n\n[]: /uri\n", - "html": "

    []

    \n

    []: /uri

    \n", - "example": 547, - "start_line": 8226, - "end_line": 8233, - "section": "Links" - }, - { - "markdown": "[\n ]\n\n[\n ]: /uri\n", - "html": "

    [\n]

    \n

    [\n]: /uri

    \n", - "example": 548, - "start_line": 8236, - "end_line": 8247, - "section": "Links" - }, - { - "markdown": "[foo][]\n\n[foo]: /url \"title\"\n", - "html": "

    foo

    \n", - "example": 549, - "start_line": 8259, - "end_line": 8265, - "section": "Links" - }, - { - "markdown": "[*foo* bar][]\n\n[*foo* bar]: /url \"title\"\n", - "html": "

    foo bar

    \n", - "example": 550, - "start_line": 8268, - "end_line": 8274, - "section": "Links" - }, - { - "markdown": "[Foo][]\n\n[foo]: /url \"title\"\n", - "html": "

    Foo

    \n", - "example": 551, - "start_line": 8279, - "end_line": 8285, - "section": "Links" - }, - { - "markdown": "[foo] \n[]\n\n[foo]: /url \"title\"\n", - "html": "

    foo\n[]

    \n", - "example": 552, - "start_line": 8292, - "end_line": 8300, - "section": "Links" - }, - { - "markdown": "[foo]\n\n[foo]: /url \"title\"\n", - "html": "

    foo

    \n", - "example": 553, - "start_line": 8312, - "end_line": 8318, - "section": "Links" - }, - { - "markdown": "[*foo* bar]\n\n[*foo* bar]: /url \"title\"\n", - "html": "

    foo bar

    \n", - "example": 554, - "start_line": 8321, - "end_line": 8327, - "section": "Links" - }, - { - "markdown": "[[*foo* bar]]\n\n[*foo* bar]: /url \"title\"\n", - "html": "

    [foo bar]

    \n", - "example": 555, - "start_line": 8330, - "end_line": 8336, - "section": "Links" - }, - { - "markdown": "[[bar [foo]\n\n[foo]: /url\n", - "html": "

    [[bar foo

    \n", - "example": 556, - "start_line": 8339, - "end_line": 8345, - "section": "Links" - }, - { - "markdown": "[Foo]\n\n[foo]: /url \"title\"\n", - "html": "

    Foo

    \n", - "example": 557, - "start_line": 8350, - "end_line": 8356, - "section": "Links" - }, - { - "markdown": "[foo] bar\n\n[foo]: /url\n", - "html": "

    foo bar

    \n", - "example": 558, - "start_line": 8361, - "end_line": 8367, - "section": "Links" - }, - { - "markdown": "\\[foo]\n\n[foo]: /url \"title\"\n", - "html": "

    [foo]

    \n", - "example": 559, - "start_line": 8373, - "end_line": 8379, - "section": "Links" - }, - { - "markdown": "[foo*]: /url\n\n*[foo*]\n", - "html": "

    *foo*

    \n", - "example": 560, - "start_line": 8385, - "end_line": 8391, - "section": "Links" - }, - { - "markdown": "[foo][bar]\n\n[foo]: /url1\n[bar]: /url2\n", - "html": "

    foo

    \n", - "example": 561, - "start_line": 8397, - "end_line": 8404, - "section": "Links" - }, - { - "markdown": "[foo][]\n\n[foo]: /url1\n", - "html": "

    foo

    \n", - "example": 562, - "start_line": 8406, - "end_line": 8412, - "section": "Links" - }, - { - "markdown": "[foo]()\n\n[foo]: /url1\n", - "html": "

    foo

    \n", - "example": 563, - "start_line": 8416, - "end_line": 8422, - "section": "Links" - }, - { - "markdown": "[foo](not a link)\n\n[foo]: /url1\n", - "html": "

    foo(not a link)

    \n", - "example": 564, - "start_line": 8424, - "end_line": 8430, - "section": "Links" - }, - { - "markdown": "[foo][bar][baz]\n\n[baz]: /url\n", - "html": "

    [foo]bar

    \n", - "example": 565, - "start_line": 8435, - "end_line": 8441, - "section": "Links" - }, - { - "markdown": "[foo][bar][baz]\n\n[baz]: /url1\n[bar]: /url2\n", - "html": "

    foobaz

    \n", - "example": 566, - "start_line": 8447, - "end_line": 8454, - "section": "Links" - }, - { - "markdown": "[foo][bar][baz]\n\n[baz]: /url1\n[foo]: /url2\n", - "html": "

    [foo]bar

    \n", - "example": 567, - "start_line": 8460, - "end_line": 8467, - "section": "Links" - }, - { - "markdown": "![foo](/url \"title\")\n", - "html": "

    \"foo\"

    \n", - "example": 568, - "start_line": 8483, - "end_line": 8487, - "section": "Images" - }, - { - "markdown": "![foo *bar*]\n\n[foo *bar*]: train.jpg \"train & tracks\"\n", - "html": "

    \"foo

    \n", - "example": 569, - "start_line": 8490, - "end_line": 8496, - "section": "Images", - "shouldFail": true - }, - { - "markdown": "![foo ![bar](/url)](/url2)\n", - "html": "

    \"foo

    \n", - "example": 570, - "start_line": 8499, - "end_line": 8503, - "section": "Images", - "shouldFail": true - }, - { - "markdown": "![foo [bar](/url)](/url2)\n", - "html": "

    \"foo

    \n", - "example": 571, - "start_line": 8506, - "end_line": 8510, - "section": "Images", - "shouldFail": true - }, - { - "markdown": "![foo *bar*][]\n\n[foo *bar*]: train.jpg \"train & tracks\"\n", - "html": "

    \"foo

    \n", - "example": 572, - "start_line": 8520, - "end_line": 8526, - "section": "Images", - "shouldFail": true - }, - { - "markdown": "![foo *bar*][foobar]\n\n[FOOBAR]: train.jpg \"train & tracks\"\n", - "html": "

    \"foo

    \n", - "example": 573, - "start_line": 8529, - "end_line": 8535, - "section": "Images", - "shouldFail": true - }, - { - "markdown": "![foo](train.jpg)\n", - "html": "

    \"foo\"

    \n", - "example": 574, - "start_line": 8538, - "end_line": 8542, - "section": "Images" - }, - { - "markdown": "My ![foo bar](/path/to/train.jpg \"title\" )\n", - "html": "

    My \"foo

    \n", - "example": 575, - "start_line": 8545, - "end_line": 8549, - "section": "Images" - }, - { - "markdown": "![foo]()\n", - "html": "

    \"foo\"

    \n", - "example": 576, - "start_line": 8552, - "end_line": 8556, - "section": "Images" - }, - { - "markdown": "![](/url)\n", - "html": "

    \"\"

    \n", - "example": 577, - "start_line": 8559, - "end_line": 8563, - "section": "Images" - }, - { - "markdown": "![foo][bar]\n\n[bar]: /url\n", - "html": "

    \"foo\"

    \n", - "example": 578, - "start_line": 8568, - "end_line": 8574, - "section": "Images" - }, - { - "markdown": "![foo][bar]\n\n[BAR]: /url\n", - "html": "

    \"foo\"

    \n", - "example": 579, - "start_line": 8577, - "end_line": 8583, - "section": "Images" - }, - { - "markdown": "![foo][]\n\n[foo]: /url \"title\"\n", - "html": "

    \"foo\"

    \n", - "example": 580, - "start_line": 8588, - "end_line": 8594, - "section": "Images" - }, - { - "markdown": "![*foo* bar][]\n\n[*foo* bar]: /url \"title\"\n", - "html": "

    \"foo

    \n", - "example": 581, - "start_line": 8597, - "end_line": 8603, - "section": "Images", - "shouldFail": true - }, - { - "markdown": "![Foo][]\n\n[foo]: /url \"title\"\n", - "html": "

    \"Foo\"

    \n", - "example": 582, - "start_line": 8608, - "end_line": 8614, - "section": "Images" - }, - { - "markdown": "![foo] \n[]\n\n[foo]: /url \"title\"\n", - "html": "

    \"foo\"\n[]

    \n", - "example": 583, - "start_line": 8620, - "end_line": 8628, - "section": "Images" - }, - { - "markdown": "![foo]\n\n[foo]: /url \"title\"\n", - "html": "

    \"foo\"

    \n", - "example": 584, - "start_line": 8633, - "end_line": 8639, - "section": "Images" - }, - { - "markdown": "![*foo* bar]\n\n[*foo* bar]: /url \"title\"\n", - "html": "

    \"foo

    \n", - "example": 585, - "start_line": 8642, - "end_line": 8648, - "section": "Images", - "shouldFail": true - }, - { - "markdown": "![[foo]]\n\n[[foo]]: /url \"title\"\n", - "html": "

    ![[foo]]

    \n

    [[foo]]: /url "title"

    \n", - "example": 586, - "start_line": 8653, - "end_line": 8660, - "section": "Images" - }, - { - "markdown": "![Foo]\n\n[foo]: /url \"title\"\n", - "html": "

    \"Foo\"

    \n", - "example": 587, - "start_line": 8665, - "end_line": 8671, - "section": "Images" - }, - { - "markdown": "!\\[foo]\n\n[foo]: /url \"title\"\n", - "html": "

    ![foo]

    \n", - "example": 588, - "start_line": 8677, - "end_line": 8683, - "section": "Images" - }, - { - "markdown": "\\![foo]\n\n[foo]: /url \"title\"\n", - "html": "

    !foo

    \n", - "example": 589, - "start_line": 8689, - "end_line": 8695, - "section": "Images" - }, - { - "markdown": "\n", - "html": "

    http://foo.bar.baz

    \n", - "example": 590, - "start_line": 8722, - "end_line": 8726, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    http://foo.bar.baz/test?q=hello&id=22&boolean

    \n", - "example": 591, - "start_line": 8729, - "end_line": 8733, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    irc://foo.bar:2233/baz

    \n", - "example": 592, - "start_line": 8736, - "end_line": 8740, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    MAILTO:FOO@BAR.BAZ

    \n", - "example": 593, - "start_line": 8745, - "end_line": 8749, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    a+b+c:d

    \n", - "example": 594, - "start_line": 8757, - "end_line": 8761, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    made-up-scheme://foo,bar

    \n", - "example": 595, - "start_line": 8764, - "end_line": 8768, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    http://../

    \n", - "example": 596, - "start_line": 8771, - "end_line": 8775, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    localhost:5001/foo

    \n", - "example": 597, - "start_line": 8778, - "end_line": 8782, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    <http://foo.bar/baz bim>

    \n", - "example": 598, - "start_line": 8787, - "end_line": 8791, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    http://example.com/\\[\\

    \n", - "example": 599, - "start_line": 8796, - "end_line": 8800, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    foo@bar.example.com

    \n", - "example": 600, - "start_line": 8818, - "end_line": 8822, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    foo+special@Bar.baz-bar0.com

    \n", - "example": 601, - "start_line": 8825, - "end_line": 8829, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    <foo+@bar.example.com>

    \n", - "example": 602, - "start_line": 8834, - "end_line": 8838, - "section": "Autolinks" - }, - { - "markdown": "<>\n", - "html": "

    <>

    \n", - "example": 603, - "start_line": 8843, - "end_line": 8847, - "section": "Autolinks" - }, - { - "markdown": "< http://foo.bar >\n", - "html": "

    < http://foo.bar >

    \n", - "example": 604, - "start_line": 8850, - "end_line": 8854, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    <m:abc>

    \n", - "example": 605, - "start_line": 8857, - "end_line": 8861, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    <foo.bar.baz>

    \n", - "example": 606, - "start_line": 8864, - "end_line": 8868, - "section": "Autolinks" - }, - { - "markdown": "http://example.com\n", - "html": "

    http://example.com

    \n", - "example": 607, - "start_line": 8871, - "end_line": 8875, - "section": "Autolinks" - }, - { - "markdown": "foo@bar.example.com\n", - "html": "

    foo@bar.example.com

    \n", - "example": 608, - "start_line": 8878, - "end_line": 8882, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    \n", - "example": 609, - "start_line": 8960, - "end_line": 8964, - "section": "Raw HTML" - }, - { - "markdown": "\n", - "html": "

    \n", - "example": 610, - "start_line": 8969, - "end_line": 8973, - "section": "Raw HTML" - }, - { - "markdown": "\n", - "html": "

    \n", - "example": 611, - "start_line": 8978, - "end_line": 8984, - "section": "Raw HTML" - }, - { - "markdown": "\n", - "html": "

    \n", - "example": 612, - "start_line": 8989, - "end_line": 8995, - "section": "Raw HTML" - }, - { - "markdown": "Foo \n", - "html": "

    Foo

    \n", - "example": 613, - "start_line": 9000, - "end_line": 9004, - "section": "Raw HTML" - }, - { - "markdown": "<33> <__>\n", - "html": "

    <33> <__>

    \n", - "example": 614, - "start_line": 9009, - "end_line": 9013, - "section": "Raw HTML" - }, - { - "markdown": "
    \n", - "html": "

    <a h*#ref="hi">

    \n", - "example": 615, - "start_line": 9018, - "end_line": 9022, - "section": "Raw HTML" - }, - { - "markdown": "
    \n", - "html": "

    <a href="hi'> <a href=hi'>

    \n", - "example": 616, - "start_line": 9027, - "end_line": 9031, - "section": "Raw HTML" - }, - { - "markdown": "< a><\nfoo>\n\n", - "html": "

    < a><\nfoo><bar/ >\n<foo bar=baz\nbim!bop />

    \n", - "example": 617, - "start_line": 9036, - "end_line": 9046, - "section": "Raw HTML" - }, - { - "markdown": "
    \n", - "html": "

    <a href='bar'title=title>

    \n", - "example": 618, - "start_line": 9051, - "end_line": 9055, - "section": "Raw HTML" - }, - { - "markdown": "
    \n", - "html": "

    \n", - "example": 619, - "start_line": 9060, - "end_line": 9064, - "section": "Raw HTML" - }, - { - "markdown": "\n", - "html": "

    </a href="foo">

    \n", - "example": 620, - "start_line": 9069, - "end_line": 9073, - "section": "Raw HTML" - }, - { - "markdown": "foo \n", - "html": "

    foo

    \n", - "example": 621, - "start_line": 9078, - "end_line": 9084, - "section": "Raw HTML" - }, - { - "markdown": "foo \n", - "html": "

    foo <!-- not a comment -- two hyphens -->

    \n", - "example": 622, - "start_line": 9087, - "end_line": 9091, - "section": "Raw HTML", - "shouldFail": true - }, - { - "markdown": "foo foo -->\n\nfoo \n", - "html": "

    foo <!--> foo -->

    \n

    foo <!-- foo--->

    \n", - "example": 623, - "start_line": 9096, - "end_line": 9103, - "section": "Raw HTML", - "shouldFail": true - }, - { - "markdown": "foo \n", - "html": "

    foo

    \n", - "example": 624, - "start_line": 9108, - "end_line": 9112, - "section": "Raw HTML" - }, - { - "markdown": "foo \n", - "html": "

    foo

    \n", - "example": 625, - "start_line": 9117, - "end_line": 9121, - "section": "Raw HTML" - }, - { - "markdown": "foo &<]]>\n", - "html": "

    foo &<]]>

    \n", - "example": 626, - "start_line": 9126, - "end_line": 9130, - "section": "Raw HTML" - }, - { - "markdown": "foo \n", - "html": "

    foo

    \n", - "example": 627, - "start_line": 9136, - "end_line": 9140, - "section": "Raw HTML" - }, - { - "markdown": "foo \n", - "html": "

    foo

    \n", - "example": 628, - "start_line": 9145, - "end_line": 9149, - "section": "Raw HTML" - }, - { - "markdown": "\n", - "html": "

    <a href=""">

    \n", - "example": 629, - "start_line": 9152, - "end_line": 9156, - "section": "Raw HTML" - }, - { - "markdown": "foo \nbaz\n", - "html": "

    foo
    \nbaz

    \n", - "example": 630, - "start_line": 9166, - "end_line": 9172, - "section": "Hard line breaks" - }, - { - "markdown": "foo\\\nbaz\n", - "html": "

    foo
    \nbaz

    \n", - "example": 631, - "start_line": 9178, - "end_line": 9184, - "section": "Hard line breaks" - }, - { - "markdown": "foo \nbaz\n", - "html": "

    foo
    \nbaz

    \n", - "example": 632, - "start_line": 9189, - "end_line": 9195, - "section": "Hard line breaks" - }, - { - "markdown": "foo \n bar\n", - "html": "

    foo
    \nbar

    \n", - "example": 633, - "start_line": 9200, - "end_line": 9206, - "section": "Hard line breaks" - }, - { - "markdown": "foo\\\n bar\n", - "html": "

    foo
    \nbar

    \n", - "example": 634, - "start_line": 9209, - "end_line": 9215, - "section": "Hard line breaks" - }, - { - "markdown": "*foo \nbar*\n", - "html": "

    foo
    \nbar

    \n", - "example": 635, - "start_line": 9221, - "end_line": 9227, - "section": "Hard line breaks" - }, - { - "markdown": "*foo\\\nbar*\n", - "html": "

    foo
    \nbar

    \n", - "example": 636, - "start_line": 9230, - "end_line": 9236, - "section": "Hard line breaks" - }, - { - "markdown": "`code \nspan`\n", - "html": "

    code span

    \n", - "example": 637, - "start_line": 9241, - "end_line": 9246, - "section": "Hard line breaks" - }, - { - "markdown": "`code\\\nspan`\n", - "html": "

    code\\ span

    \n", - "example": 638, - "start_line": 9249, - "end_line": 9254, - "section": "Hard line breaks" - }, - { - "markdown": "
    \n", - "html": "

    \n", - "example": 639, - "start_line": 9259, - "end_line": 9265, - "section": "Hard line breaks" - }, - { - "markdown": "\n", - "html": "

    \n", - "example": 640, - "start_line": 9268, - "end_line": 9274, - "section": "Hard line breaks" - }, - { - "markdown": "foo\\\n", - "html": "

    foo\\

    \n", - "example": 641, - "start_line": 9281, - "end_line": 9285, - "section": "Hard line breaks" - }, - { - "markdown": "foo \n", - "html": "

    foo

    \n", - "example": 642, - "start_line": 9288, - "end_line": 9292, - "section": "Hard line breaks" - }, - { - "markdown": "### foo\\\n", - "html": "

    foo\\

    \n", - "example": 643, - "start_line": 9295, - "end_line": 9299, - "section": "Hard line breaks" - }, - { - "markdown": "### foo \n", - "html": "

    foo

    \n", - "example": 644, - "start_line": 9302, - "end_line": 9306, - "section": "Hard line breaks" - }, - { - "markdown": "foo\nbaz\n", - "html": "

    foo\nbaz

    \n", - "example": 645, - "start_line": 9317, - "end_line": 9323, - "section": "Soft line breaks" - }, - { - "markdown": "foo \n baz\n", - "html": "

    foo\nbaz

    \n", - "example": 646, - "start_line": 9329, - "end_line": 9335, - "section": "Soft line breaks" - }, - { - "markdown": "hello $.;'there\n", - "html": "

    hello $.;'there

    \n", - "example": 647, - "start_line": 9349, - "end_line": 9353, - "section": "Textual content" - }, - { - "markdown": "Foo χρῆν\n", - "html": "

    Foo χρῆν

    \n", - "example": 648, - "start_line": 9356, - "end_line": 9360, - "section": "Textual content" - }, - { - "markdown": "Multiple spaces\n", - "html": "

    Multiple spaces

    \n", - "example": 649, - "start_line": 9365, - "end_line": 9369, - "section": "Textual content" - } -] diff --git a/app/system/modules/editor/app/assets/marked/test/specs/gfm/commonmark.0.29.json b/app/system/modules/editor/app/assets/marked/test/specs/gfm/commonmark.0.29.json deleted file mode 100755 index eb0b005b..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/gfm/commonmark.0.29.json +++ /dev/null @@ -1,5313 +0,0 @@ -[ - { - "markdown": "\tfoo\tbaz\t\tbim\n", - "html": "
    foo\tbaz\t\tbim\n
    \n", - "example": 1, - "start_line": 352, - "end_line": 357, - "section": "Tabs" - }, - { - "markdown": " \tfoo\tbaz\t\tbim\n", - "html": "
    foo\tbaz\t\tbim\n
    \n", - "example": 2, - "start_line": 359, - "end_line": 364, - "section": "Tabs" - }, - { - "markdown": " a\ta\n ὐ\ta\n", - "html": "
    a\ta\nὐ\ta\n
    \n", - "example": 3, - "start_line": 366, - "end_line": 373, - "section": "Tabs" - }, - { - "markdown": " - foo\n\n\tbar\n", - "html": "
      \n
    • \n

      foo

      \n

      bar

      \n
    • \n
    \n", - "example": 4, - "start_line": 379, - "end_line": 390, - "section": "Tabs" - }, - { - "markdown": "- foo\n\n\t\tbar\n", - "html": "
      \n
    • \n

      foo

      \n
        bar\n
      \n
    • \n
    \n", - "example": 5, - "start_line": 392, - "end_line": 404, - "section": "Tabs" - }, - { - "markdown": ">\t\tfoo\n", - "html": "
    \n
      foo\n
    \n
    \n", - "example": 6, - "start_line": 415, - "end_line": 422, - "section": "Tabs" - }, - { - "markdown": "-\t\tfoo\n", - "html": "
      \n
    • \n
        foo\n
      \n
    • \n
    \n", - "example": 7, - "start_line": 424, - "end_line": 433, - "section": "Tabs", - "shouldFail": true - }, - { - "markdown": " foo\n\tbar\n", - "html": "
    foo\nbar\n
    \n", - "example": 8, - "start_line": 436, - "end_line": 443, - "section": "Tabs" - }, - { - "markdown": " - foo\n - bar\n\t - baz\n", - "html": "
      \n
    • foo\n
        \n
      • bar\n
          \n
        • baz
        • \n
        \n
      • \n
      \n
    • \n
    \n", - "example": 9, - "start_line": 445, - "end_line": 461, - "section": "Tabs" - }, - { - "markdown": "#\tFoo\n", - "html": "

    Foo

    \n", - "example": 10, - "start_line": 463, - "end_line": 467, - "section": "Tabs" - }, - { - "markdown": "*\t*\t*\t\n", - "html": "
    \n", - "example": 11, - "start_line": 469, - "end_line": 473, - "section": "Tabs" - }, - { - "markdown": "- `one\n- two`\n", - "html": "
      \n
    • `one
    • \n
    • two`
    • \n
    \n", - "example": 12, - "start_line": 496, - "end_line": 504, - "section": "Precedence" - }, - { - "markdown": "***\n---\n___\n", - "html": "
    \n
    \n
    \n", - "example": 13, - "start_line": 535, - "end_line": 543, - "section": "Thematic breaks" - }, - { - "markdown": "+++\n", - "html": "

    +++

    \n", - "example": 14, - "start_line": 548, - "end_line": 552, - "section": "Thematic breaks" - }, - { - "markdown": "===\n", - "html": "

    ===

    \n", - "example": 15, - "start_line": 555, - "end_line": 559, - "section": "Thematic breaks" - }, - { - "markdown": "--\n**\n__\n", - "html": "

    --\n**\n__

    \n", - "example": 16, - "start_line": 564, - "end_line": 572, - "section": "Thematic breaks" - }, - { - "markdown": " ***\n ***\n ***\n", - "html": "
    \n
    \n
    \n", - "example": 17, - "start_line": 577, - "end_line": 585, - "section": "Thematic breaks" - }, - { - "markdown": " ***\n", - "html": "
    ***\n
    \n", - "example": 18, - "start_line": 590, - "end_line": 595, - "section": "Thematic breaks" - }, - { - "markdown": "Foo\n ***\n", - "html": "

    Foo\n***

    \n", - "example": 19, - "start_line": 598, - "end_line": 604, - "section": "Thematic breaks" - }, - { - "markdown": "_____________________________________\n", - "html": "
    \n", - "example": 20, - "start_line": 609, - "end_line": 613, - "section": "Thematic breaks" - }, - { - "markdown": " - - -\n", - "html": "
    \n", - "example": 21, - "start_line": 618, - "end_line": 622, - "section": "Thematic breaks" - }, - { - "markdown": " ** * ** * ** * **\n", - "html": "
    \n", - "example": 22, - "start_line": 625, - "end_line": 629, - "section": "Thematic breaks" - }, - { - "markdown": "- - - -\n", - "html": "
    \n", - "example": 23, - "start_line": 632, - "end_line": 636, - "section": "Thematic breaks" - }, - { - "markdown": "- - - - \n", - "html": "
    \n", - "example": 24, - "start_line": 641, - "end_line": 645, - "section": "Thematic breaks" - }, - { - "markdown": "_ _ _ _ a\n\na------\n\n---a---\n", - "html": "

    _ _ _ _ a

    \n

    a------

    \n

    ---a---

    \n", - "example": 25, - "start_line": 650, - "end_line": 660, - "section": "Thematic breaks" - }, - { - "markdown": " *-*\n", - "html": "

    -

    \n", - "example": 26, - "start_line": 666, - "end_line": 670, - "section": "Thematic breaks" - }, - { - "markdown": "- foo\n***\n- bar\n", - "html": "
      \n
    • foo
    • \n
    \n
    \n
      \n
    • bar
    • \n
    \n", - "example": 27, - "start_line": 675, - "end_line": 687, - "section": "Thematic breaks" - }, - { - "markdown": "Foo\n***\nbar\n", - "html": "

    Foo

    \n
    \n

    bar

    \n", - "example": 28, - "start_line": 692, - "end_line": 700, - "section": "Thematic breaks" - }, - { - "markdown": "Foo\n---\nbar\n", - "html": "

    Foo

    \n

    bar

    \n", - "example": 29, - "start_line": 709, - "end_line": 716, - "section": "Thematic breaks" - }, - { - "markdown": "* Foo\n* * *\n* Bar\n", - "html": "
      \n
    • Foo
    • \n
    \n
    \n
      \n
    • Bar
    • \n
    \n", - "example": 30, - "start_line": 722, - "end_line": 734, - "section": "Thematic breaks" - }, - { - "markdown": "- Foo\n- * * *\n", - "html": "
      \n
    • Foo
    • \n
    • \n
      \n
    • \n
    \n", - "example": 31, - "start_line": 739, - "end_line": 749, - "section": "Thematic breaks" - }, - { - "markdown": "# foo\n## foo\n### foo\n#### foo\n##### foo\n###### foo\n", - "html": "

    foo

    \n

    foo

    \n

    foo

    \n

    foo

    \n
    foo
    \n
    foo
    \n", - "example": 32, - "start_line": 768, - "end_line": 782, - "section": "ATX headings" - }, - { - "markdown": "####### foo\n", - "html": "

    ####### foo

    \n", - "example": 33, - "start_line": 787, - "end_line": 791, - "section": "ATX headings" - }, - { - "markdown": "#5 bolt\n\n#hashtag\n", - "html": "

    #5 bolt

    \n

    #hashtag

    \n", - "example": 34, - "start_line": 802, - "end_line": 809, - "section": "ATX headings" - }, - { - "markdown": "\\## foo\n", - "html": "

    ## foo

    \n", - "example": 35, - "start_line": 814, - "end_line": 818, - "section": "ATX headings" - }, - { - "markdown": "# foo *bar* \\*baz\\*\n", - "html": "

    foo bar *baz*

    \n", - "example": 36, - "start_line": 823, - "end_line": 827, - "section": "ATX headings" - }, - { - "markdown": "# foo \n", - "html": "

    foo

    \n", - "example": 37, - "start_line": 832, - "end_line": 836, - "section": "ATX headings" - }, - { - "markdown": " ### foo\n ## foo\n # foo\n", - "html": "

    foo

    \n

    foo

    \n

    foo

    \n", - "example": 38, - "start_line": 841, - "end_line": 849, - "section": "ATX headings" - }, - { - "markdown": " # foo\n", - "html": "
    # foo\n
    \n", - "example": 39, - "start_line": 854, - "end_line": 859, - "section": "ATX headings" - }, - { - "markdown": "foo\n # bar\n", - "html": "

    foo\n# bar

    \n", - "example": 40, - "start_line": 862, - "end_line": 868, - "section": "ATX headings" - }, - { - "markdown": "## foo ##\n ### bar ###\n", - "html": "

    foo

    \n

    bar

    \n", - "example": 41, - "start_line": 873, - "end_line": 879, - "section": "ATX headings" - }, - { - "markdown": "# foo ##################################\n##### foo ##\n", - "html": "

    foo

    \n
    foo
    \n", - "example": 42, - "start_line": 884, - "end_line": 890, - "section": "ATX headings" - }, - { - "markdown": "### foo ### \n", - "html": "

    foo

    \n", - "example": 43, - "start_line": 895, - "end_line": 899, - "section": "ATX headings" - }, - { - "markdown": "### foo ### b\n", - "html": "

    foo ### b

    \n", - "example": 44, - "start_line": 906, - "end_line": 910, - "section": "ATX headings" - }, - { - "markdown": "# foo#\n", - "html": "

    foo#

    \n", - "example": 45, - "start_line": 915, - "end_line": 919, - "section": "ATX headings" - }, - { - "markdown": "### foo \\###\n## foo #\\##\n# foo \\#\n", - "html": "

    foo ###

    \n

    foo ###

    \n

    foo #

    \n", - "example": 46, - "start_line": 925, - "end_line": 933, - "section": "ATX headings" - }, - { - "markdown": "****\n## foo\n****\n", - "html": "
    \n

    foo

    \n
    \n", - "example": 47, - "start_line": 939, - "end_line": 947, - "section": "ATX headings" - }, - { - "markdown": "Foo bar\n# baz\nBar foo\n", - "html": "

    Foo bar

    \n

    baz

    \n

    Bar foo

    \n", - "example": 48, - "start_line": 950, - "end_line": 958, - "section": "ATX headings" - }, - { - "markdown": "## \n#\n### ###\n", - "html": "

    \n

    \n

    \n", - "example": 49, - "start_line": 963, - "end_line": 971, - "section": "ATX headings", - "shouldFail": true - }, - { - "markdown": "Foo *bar*\n=========\n\nFoo *bar*\n---------\n", - "html": "

    Foo bar

    \n

    Foo bar

    \n", - "example": 50, - "start_line": 1006, - "end_line": 1015, - "section": "Setext headings" - }, - { - "markdown": "Foo *bar\nbaz*\n====\n", - "html": "

    Foo bar\nbaz

    \n", - "example": 51, - "start_line": 1020, - "end_line": 1027, - "section": "Setext headings", - "shouldFail": true - }, - { - "markdown": " Foo *bar\nbaz*\t\n====\n", - "html": "

    Foo bar\nbaz

    \n", - "example": 52, - "start_line": 1034, - "end_line": 1041, - "section": "Setext headings", - "shouldFail": true - }, - { - "markdown": "Foo\n-------------------------\n\nFoo\n=\n", - "html": "

    Foo

    \n

    Foo

    \n", - "example": 53, - "start_line": 1046, - "end_line": 1055, - "section": "Setext headings" - }, - { - "markdown": " Foo\n---\n\n Foo\n-----\n\n Foo\n ===\n", - "html": "

    Foo

    \n

    Foo

    \n

    Foo

    \n", - "example": 54, - "start_line": 1061, - "end_line": 1074, - "section": "Setext headings" - }, - { - "markdown": " Foo\n ---\n\n Foo\n---\n", - "html": "
    Foo\n---\n\nFoo\n
    \n
    \n", - "example": 55, - "start_line": 1079, - "end_line": 1092, - "section": "Setext headings" - }, - { - "markdown": "Foo\n ---- \n", - "html": "

    Foo

    \n", - "example": 56, - "start_line": 1098, - "end_line": 1103, - "section": "Setext headings" - }, - { - "markdown": "Foo\n ---\n", - "html": "

    Foo\n---

    \n", - "example": 57, - "start_line": 1108, - "end_line": 1114, - "section": "Setext headings" - }, - { - "markdown": "Foo\n= =\n\nFoo\n--- -\n", - "html": "

    Foo\n= =

    \n

    Foo

    \n
    \n", - "example": 58, - "start_line": 1119, - "end_line": 1130, - "section": "Setext headings" - }, - { - "markdown": "Foo \n-----\n", - "html": "

    Foo

    \n", - "example": 59, - "start_line": 1135, - "end_line": 1140, - "section": "Setext headings" - }, - { - "markdown": "Foo\\\n----\n", - "html": "

    Foo\\

    \n", - "example": 60, - "start_line": 1145, - "end_line": 1150, - "section": "Setext headings" - }, - { - "markdown": "`Foo\n----\n`\n\n
    \n", - "html": "

    `Foo

    \n

    `

    \n

    <a title="a lot

    \n

    of dashes"/>

    \n", - "example": 61, - "start_line": 1156, - "end_line": 1169, - "section": "Setext headings" - }, - { - "markdown": "> Foo\n---\n", - "html": "
    \n

    Foo

    \n
    \n
    \n", - "example": 62, - "start_line": 1175, - "end_line": 1183, - "section": "Setext headings" - }, - { - "markdown": "> foo\nbar\n===\n", - "html": "
    \n

    foo\nbar\n===

    \n
    \n", - "example": 63, - "start_line": 1186, - "end_line": 1196, - "section": "Setext headings" - }, - { - "markdown": "- Foo\n---\n", - "html": "
      \n
    • Foo
    • \n
    \n
    \n", - "example": 64, - "start_line": 1199, - "end_line": 1207, - "section": "Setext headings" - }, - { - "markdown": "Foo\nBar\n---\n", - "html": "

    Foo\nBar

    \n", - "example": 65, - "start_line": 1214, - "end_line": 1221, - "section": "Setext headings", - "shouldFail": true - }, - { - "markdown": "---\nFoo\n---\nBar\n---\nBaz\n", - "html": "
    \n

    Foo

    \n

    Bar

    \n

    Baz

    \n", - "example": 66, - "start_line": 1227, - "end_line": 1239, - "section": "Setext headings" - }, - { - "markdown": "\n====\n", - "html": "

    ====

    \n", - "example": 67, - "start_line": 1244, - "end_line": 1249, - "section": "Setext headings" - }, - { - "markdown": "---\n---\n", - "html": "
    \n
    \n", - "example": 68, - "start_line": 1256, - "end_line": 1262, - "section": "Setext headings" - }, - { - "markdown": "- foo\n-----\n", - "html": "
      \n
    • foo
    • \n
    \n
    \n", - "example": 69, - "start_line": 1265, - "end_line": 1273, - "section": "Setext headings" - }, - { - "markdown": " foo\n---\n", - "html": "
    foo\n
    \n
    \n", - "example": 70, - "start_line": 1276, - "end_line": 1283, - "section": "Setext headings" - }, - { - "markdown": "> foo\n-----\n", - "html": "
    \n

    foo

    \n
    \n
    \n", - "example": 71, - "start_line": 1286, - "end_line": 1294, - "section": "Setext headings" - }, - { - "markdown": "\\> foo\n------\n", - "html": "

    > foo

    \n", - "example": 72, - "start_line": 1300, - "end_line": 1305, - "section": "Setext headings" - }, - { - "markdown": "Foo\n\nbar\n---\nbaz\n", - "html": "

    Foo

    \n

    bar

    \n

    baz

    \n", - "example": 73, - "start_line": 1331, - "end_line": 1341, - "section": "Setext headings" - }, - { - "markdown": "Foo\nbar\n\n---\n\nbaz\n", - "html": "

    Foo\nbar

    \n
    \n

    baz

    \n", - "example": 74, - "start_line": 1347, - "end_line": 1359, - "section": "Setext headings" - }, - { - "markdown": "Foo\nbar\n* * *\nbaz\n", - "html": "

    Foo\nbar

    \n
    \n

    baz

    \n", - "example": 75, - "start_line": 1365, - "end_line": 1375, - "section": "Setext headings" - }, - { - "markdown": "Foo\nbar\n\\---\nbaz\n", - "html": "

    Foo\nbar\n---\nbaz

    \n", - "example": 76, - "start_line": 1380, - "end_line": 1390, - "section": "Setext headings" - }, - { - "markdown": " a simple\n indented code block\n", - "html": "
    a simple\n  indented code block\n
    \n", - "example": 77, - "start_line": 1408, - "end_line": 1415, - "section": "Indented code blocks" - }, - { - "markdown": " - foo\n\n bar\n", - "html": "
      \n
    • \n

      foo

      \n

      bar

      \n
    • \n
    \n", - "example": 78, - "start_line": 1422, - "end_line": 1433, - "section": "Indented code blocks" - }, - { - "markdown": "1. foo\n\n - bar\n", - "html": "
      \n
    1. \n

      foo

      \n
        \n
      • bar
      • \n
      \n
    2. \n
    \n", - "example": 79, - "start_line": 1436, - "end_line": 1449, - "section": "Indented code blocks" - }, - { - "markdown": "
    \n *hi*\n\n - one\n", - "html": "
    <a/>\n*hi*\n\n- one\n
    \n", - "example": 80, - "start_line": 1456, - "end_line": 1467, - "section": "Indented code blocks" - }, - { - "markdown": " chunk1\n\n chunk2\n \n \n \n chunk3\n", - "html": "
    chunk1\n\nchunk2\n\n\n\nchunk3\n
    \n", - "example": 81, - "start_line": 1472, - "end_line": 1489, - "section": "Indented code blocks" - }, - { - "markdown": " chunk1\n \n chunk2\n", - "html": "
    chunk1\n  \n  chunk2\n
    \n", - "example": 82, - "start_line": 1495, - "end_line": 1504, - "section": "Indented code blocks" - }, - { - "markdown": "Foo\n bar\n\n", - "html": "

    Foo\nbar

    \n", - "example": 83, - "start_line": 1510, - "end_line": 1517, - "section": "Indented code blocks" - }, - { - "markdown": " foo\nbar\n", - "html": "
    foo\n
    \n

    bar

    \n", - "example": 84, - "start_line": 1524, - "end_line": 1531, - "section": "Indented code blocks" - }, - { - "markdown": "# Heading\n foo\nHeading\n------\n foo\n----\n", - "html": "

    Heading

    \n
    foo\n
    \n

    Heading

    \n
    foo\n
    \n
    \n", - "example": 85, - "start_line": 1537, - "end_line": 1552, - "section": "Indented code blocks" - }, - { - "markdown": " foo\n bar\n", - "html": "
        foo\nbar\n
    \n", - "example": 86, - "start_line": 1557, - "end_line": 1564, - "section": "Indented code blocks" - }, - { - "markdown": "\n \n foo\n \n\n", - "html": "
    foo\n
    \n", - "example": 87, - "start_line": 1570, - "end_line": 1579, - "section": "Indented code blocks" - }, - { - "markdown": " foo \n", - "html": "
    foo  \n
    \n", - "example": 88, - "start_line": 1584, - "end_line": 1589, - "section": "Indented code blocks" - }, - { - "markdown": "```\n<\n >\n```\n", - "html": "
    <\n >\n
    \n", - "example": 89, - "start_line": 1639, - "end_line": 1648, - "section": "Fenced code blocks" - }, - { - "markdown": "~~~\n<\n >\n~~~\n", - "html": "
    <\n >\n
    \n", - "example": 90, - "start_line": 1653, - "end_line": 1662, - "section": "Fenced code blocks" - }, - { - "markdown": "``\nfoo\n``\n", - "html": "

    foo

    \n", - "example": 91, - "start_line": 1666, - "end_line": 1672, - "section": "Fenced code blocks" - }, - { - "markdown": "```\naaa\n~~~\n```\n", - "html": "
    aaa\n~~~\n
    \n", - "example": 92, - "start_line": 1677, - "end_line": 1686, - "section": "Fenced code blocks" - }, - { - "markdown": "~~~\naaa\n```\n~~~\n", - "html": "
    aaa\n```\n
    \n", - "example": 93, - "start_line": 1689, - "end_line": 1698, - "section": "Fenced code blocks" - }, - { - "markdown": "````\naaa\n```\n``````\n", - "html": "
    aaa\n```\n
    \n", - "example": 94, - "start_line": 1703, - "end_line": 1712, - "section": "Fenced code blocks" - }, - { - "markdown": "~~~~\naaa\n~~~\n~~~~\n", - "html": "
    aaa\n~~~\n
    \n", - "example": 95, - "start_line": 1715, - "end_line": 1724, - "section": "Fenced code blocks" - }, - { - "markdown": "```\n", - "html": "
    \n", - "example": 96, - "start_line": 1730, - "end_line": 1734, - "section": "Fenced code blocks" - }, - { - "markdown": "`````\n\n```\naaa\n", - "html": "
    \n```\naaa\n
    \n", - "example": 97, - "start_line": 1737, - "end_line": 1747, - "section": "Fenced code blocks" - }, - { - "markdown": "> ```\n> aaa\n\nbbb\n", - "html": "
    \n
    aaa\n
    \n
    \n

    bbb

    \n", - "example": 98, - "start_line": 1750, - "end_line": 1761, - "section": "Fenced code blocks" - }, - { - "markdown": "```\n\n \n```\n", - "html": "
    \n  \n
    \n", - "example": 99, - "start_line": 1766, - "end_line": 1775, - "section": "Fenced code blocks" - }, - { - "markdown": "```\n```\n", - "html": "
    \n", - "example": 100, - "start_line": 1780, - "end_line": 1785, - "section": "Fenced code blocks" - }, - { - "markdown": " ```\n aaa\naaa\n```\n", - "html": "
    aaa\naaa\n
    \n", - "example": 101, - "start_line": 1792, - "end_line": 1801, - "section": "Fenced code blocks" - }, - { - "markdown": " ```\naaa\n aaa\naaa\n ```\n", - "html": "
    aaa\naaa\naaa\n
    \n", - "example": 102, - "start_line": 1804, - "end_line": 1815, - "section": "Fenced code blocks" - }, - { - "markdown": " ```\n aaa\n aaa\n aaa\n ```\n", - "html": "
    aaa\n aaa\naaa\n
    \n", - "example": 103, - "start_line": 1818, - "end_line": 1829, - "section": "Fenced code blocks" - }, - { - "markdown": " ```\n aaa\n ```\n", - "html": "
    ```\naaa\n```\n
    \n", - "example": 104, - "start_line": 1834, - "end_line": 1843, - "section": "Fenced code blocks" - }, - { - "markdown": "```\naaa\n ```\n", - "html": "
    aaa\n
    \n", - "example": 105, - "start_line": 1849, - "end_line": 1856, - "section": "Fenced code blocks" - }, - { - "markdown": " ```\naaa\n ```\n", - "html": "
    aaa\n
    \n", - "example": 106, - "start_line": 1859, - "end_line": 1866, - "section": "Fenced code blocks" - }, - { - "markdown": "```\naaa\n ```\n", - "html": "
    aaa\n    ```\n
    \n", - "example": 107, - "start_line": 1871, - "end_line": 1879, - "section": "Fenced code blocks" - }, - { - "markdown": "``` ```\naaa\n", - "html": "

    \naaa

    \n", - "example": 108, - "start_line": 1885, - "end_line": 1891, - "section": "Fenced code blocks" - }, - { - "markdown": "~~~~~~\naaa\n~~~ ~~\n", - "html": "
    aaa\n~~~ ~~\n
    \n", - "example": 109, - "start_line": 1894, - "end_line": 1902, - "section": "Fenced code blocks" - }, - { - "markdown": "foo\n```\nbar\n```\nbaz\n", - "html": "

    foo

    \n
    bar\n
    \n

    baz

    \n", - "example": 110, - "start_line": 1908, - "end_line": 1919, - "section": "Fenced code blocks" - }, - { - "markdown": "foo\n---\n~~~\nbar\n~~~\n# baz\n", - "html": "

    foo

    \n
    bar\n
    \n

    baz

    \n", - "example": 111, - "start_line": 1925, - "end_line": 1937, - "section": "Fenced code blocks" - }, - { - "markdown": "```ruby\ndef foo(x)\n return 3\nend\n```\n", - "html": "
    def foo(x)\n  return 3\nend\n
    \n", - "example": 112, - "start_line": 1947, - "end_line": 1958, - "section": "Fenced code blocks" - }, - { - "markdown": "~~~~ ruby startline=3 $%@#$\ndef foo(x)\n return 3\nend\n~~~~~~~\n", - "html": "
    def foo(x)\n  return 3\nend\n
    \n", - "example": 113, - "start_line": 1961, - "end_line": 1972, - "section": "Fenced code blocks" - }, - { - "markdown": "````;\n````\n", - "html": "
    \n", - "example": 114, - "start_line": 1975, - "end_line": 1980, - "section": "Fenced code blocks" - }, - { - "markdown": "``` aa ```\nfoo\n", - "html": "

    aa\nfoo

    \n", - "example": 115, - "start_line": 1985, - "end_line": 1991, - "section": "Fenced code blocks" - }, - { - "markdown": "~~~ aa ``` ~~~\nfoo\n~~~\n", - "html": "
    foo\n
    \n", - "example": 116, - "start_line": 1996, - "end_line": 2003, - "section": "Fenced code blocks", - "shouldFail": true - }, - { - "markdown": "```\n``` aaa\n```\n", - "html": "
    ``` aaa\n
    \n", - "example": 117, - "start_line": 2008, - "end_line": 2015, - "section": "Fenced code blocks" - }, - { - "markdown": "
    \n
    \n**Hello**,\n\n_world_.\n
    \n
    \n", - "html": "
    \n
    \n**Hello**,\n

    world.\n

    \n
    \n", - "example": 118, - "start_line": 2087, - "end_line": 2102, - "section": "HTML blocks" - }, - { - "markdown": "\n \n \n \n
    \n hi\n
    \n\nokay.\n", - "html": "\n \n \n \n
    \n hi\n
    \n

    okay.

    \n", - "example": 119, - "start_line": 2116, - "end_line": 2135, - "section": "HTML blocks" - }, - { - "markdown": "
    \n*foo*\n", - "example": 121, - "start_line": 2151, - "end_line": 2157, - "section": "HTML blocks" - }, - { - "markdown": "
    \n\n*Markdown*\n\n
    \n", - "html": "
    \n

    Markdown

    \n
    \n", - "example": 122, - "start_line": 2162, - "end_line": 2172, - "section": "HTML blocks" - }, - { - "markdown": "
    \n
    \n", - "html": "
    \n
    \n", - "example": 123, - "start_line": 2178, - "end_line": 2186, - "section": "HTML blocks" - }, - { - "markdown": "
    \n
    \n", - "html": "
    \n
    \n", - "example": 124, - "start_line": 2189, - "end_line": 2197, - "section": "HTML blocks" - }, - { - "markdown": "
    \n*foo*\n\n*bar*\n", - "html": "
    \n*foo*\n

    bar

    \n", - "example": 125, - "start_line": 2201, - "end_line": 2210, - "section": "HTML blocks" - }, - { - "markdown": "
    \n", - "html": "\n", - "example": 129, - "start_line": 2250, - "end_line": 2254, - "section": "HTML blocks" - }, - { - "markdown": "
    \nfoo\n
    \n", - "html": "
    \nfoo\n
    \n", - "example": 130, - "start_line": 2257, - "end_line": 2265, - "section": "HTML blocks" - }, - { - "markdown": "
    \n``` c\nint x = 33;\n```\n", - "html": "
    \n``` c\nint x = 33;\n```\n", - "example": 131, - "start_line": 2274, - "end_line": 2284, - "section": "HTML blocks" - }, - { - "markdown": "\n*bar*\n\n", - "html": "\n*bar*\n\n", - "example": 132, - "start_line": 2291, - "end_line": 2299, - "section": "HTML blocks" - }, - { - "markdown": "\n*bar*\n\n", - "html": "\n*bar*\n\n", - "example": 133, - "start_line": 2304, - "end_line": 2312, - "section": "HTML blocks" - }, - { - "markdown": "\n*bar*\n\n", - "html": "\n*bar*\n\n", - "example": 134, - "start_line": 2315, - "end_line": 2323, - "section": "HTML blocks" - }, - { - "markdown": "\n*bar*\n", - "html": "\n*bar*\n", - "example": 135, - "start_line": 2326, - "end_line": 2332, - "section": "HTML blocks" - }, - { - "markdown": "\n*foo*\n\n", - "html": "\n*foo*\n\n", - "example": 136, - "start_line": 2341, - "end_line": 2349, - "section": "HTML blocks" - }, - { - "markdown": "\n\n*foo*\n\n\n", - "html": "\n

    foo

    \n
    \n", - "example": 137, - "start_line": 2356, - "end_line": 2366, - "section": "HTML blocks" - }, - { - "markdown": "*foo*\n", - "html": "

    foo

    \n", - "example": 138, - "start_line": 2374, - "end_line": 2378, - "section": "HTML blocks" - }, - { - "markdown": "
    \nimport Text.HTML.TagSoup\n\nmain :: IO ()\nmain = print $ parseTags tags\n
    \nokay\n", - "html": "
    \nimport Text.HTML.TagSoup\n\nmain :: IO ()\nmain = print $ parseTags tags\n
    \n

    okay

    \n", - "example": 139, - "start_line": 2390, - "end_line": 2406, - "section": "HTML blocks" - }, - { - "markdown": "\nokay\n", - "html": "\n

    okay

    \n", - "example": 140, - "start_line": 2411, - "end_line": 2425, - "section": "HTML blocks" - }, - { - "markdown": "\nh1 {color:red;}\n\np {color:blue;}\n\nokay\n", - "html": "\nh1 {color:red;}\n\np {color:blue;}\n\n

    okay

    \n", - "example": 141, - "start_line": 2430, - "end_line": 2446, - "section": "HTML blocks" - }, - { - "markdown": "\n\nfoo\n", - "html": "\n\nfoo\n", - "example": 142, - "start_line": 2453, - "end_line": 2463, - "section": "HTML blocks" - }, - { - "markdown": ">
    \n> foo\n\nbar\n", - "html": "
    \n
    \nfoo\n
    \n

    bar

    \n", - "example": 143, - "start_line": 2466, - "end_line": 2477, - "section": "HTML blocks" - }, - { - "markdown": "-
    \n- foo\n", - "html": "
      \n
    • \n
      \n
    • \n
    • foo
    • \n
    \n", - "example": 144, - "start_line": 2480, - "end_line": 2490, - "section": "HTML blocks" - }, - { - "markdown": "\n*foo*\n", - "html": "\n

    foo

    \n", - "example": 145, - "start_line": 2495, - "end_line": 2501, - "section": "HTML blocks" - }, - { - "markdown": "*bar*\n*baz*\n", - "html": "*bar*\n

    baz

    \n", - "example": 146, - "start_line": 2504, - "end_line": 2510, - "section": "HTML blocks" - }, - { - "markdown": "1. *bar*\n", - "html": "1. *bar*\n", - "example": 147, - "start_line": 2516, - "end_line": 2524, - "section": "HTML blocks" - }, - { - "markdown": "\nokay\n", - "html": "\n

    okay

    \n", - "example": 148, - "start_line": 2529, - "end_line": 2541, - "section": "HTML blocks" - }, - { - "markdown": "';\n\n?>\nokay\n", - "html": "';\n\n?>\n

    okay

    \n", - "example": 149, - "start_line": 2547, - "end_line": 2561, - "section": "HTML blocks" - }, - { - "markdown": "\n", - "html": "\n", - "example": 150, - "start_line": 2566, - "end_line": 2570, - "section": "HTML blocks" - }, - { - "markdown": "\nokay\n", - "html": "\n

    okay

    \n", - "example": 151, - "start_line": 2575, - "end_line": 2603, - "section": "HTML blocks" - }, - { - "markdown": " \n\n \n", - "html": " \n
    <!-- foo -->\n
    \n", - "example": 152, - "start_line": 2608, - "end_line": 2616, - "section": "HTML blocks" - }, - { - "markdown": "
    \n\n
    \n", - "html": "
    \n
    <div>\n
    \n", - "example": 153, - "start_line": 2619, - "end_line": 2627, - "section": "HTML blocks" - }, - { - "markdown": "Foo\n
    \nbar\n
    \n", - "html": "

    Foo

    \n
    \nbar\n
    \n", - "example": 154, - "start_line": 2633, - "end_line": 2643, - "section": "HTML blocks" - }, - { - "markdown": "
    \nbar\n
    \n*foo*\n", - "html": "
    \nbar\n
    \n*foo*\n", - "example": 155, - "start_line": 2650, - "end_line": 2660, - "section": "HTML blocks" - }, - { - "markdown": "Foo\n\nbaz\n", - "html": "

    Foo\n\nbaz

    \n", - "example": 156, - "start_line": 2665, - "end_line": 2673, - "section": "HTML blocks" - }, - { - "markdown": "
    \n\n*Emphasized* text.\n\n
    \n", - "html": "
    \n

    Emphasized text.

    \n
    \n", - "example": 157, - "start_line": 2706, - "end_line": 2716, - "section": "HTML blocks" - }, - { - "markdown": "
    \n*Emphasized* text.\n
    \n", - "html": "
    \n*Emphasized* text.\n
    \n", - "example": 158, - "start_line": 2719, - "end_line": 2727, - "section": "HTML blocks" - }, - { - "markdown": "\n\n\n\n\n\n\n\n
    \nHi\n
    \n", - "html": "\n\n\n\n
    \nHi\n
    \n", - "example": 159, - "start_line": 2741, - "end_line": 2761, - "section": "HTML blocks" - }, - { - "markdown": "\n\n \n\n \n\n \n\n
    \n Hi\n
    \n", - "html": "\n \n
    <td>\n  Hi\n</td>\n
    \n \n
    \n", - "example": 160, - "start_line": 2768, - "end_line": 2789, - "section": "HTML blocks" - }, - { - "markdown": "[foo]: /url \"title\"\n\n[foo]\n", - "html": "

    foo

    \n", - "example": 161, - "start_line": 2816, - "end_line": 2822, - "section": "Link reference definitions" - }, - { - "markdown": " [foo]: \n /url \n 'the title' \n\n[foo]\n", - "html": "

    foo

    \n", - "example": 162, - "start_line": 2825, - "end_line": 2833, - "section": "Link reference definitions" - }, - { - "markdown": "[Foo*bar\\]]:my_(url) 'title (with parens)'\n\n[Foo*bar\\]]\n", - "html": "

    Foo*bar]

    \n", - "example": 163, - "start_line": 2836, - "end_line": 2842, - "section": "Link reference definitions" - }, - { - "markdown": "[Foo bar]:\n\n'title'\n\n[Foo bar]\n", - "html": "

    Foo bar

    \n", - "example": 164, - "start_line": 2845, - "end_line": 2853, - "section": "Link reference definitions", - "shouldFail": true - }, - { - "markdown": "[foo]: /url '\ntitle\nline1\nline2\n'\n\n[foo]\n", - "html": "

    foo

    \n", - "example": 165, - "start_line": 2858, - "end_line": 2872, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: /url 'title\n\nwith blank line'\n\n[foo]\n", - "html": "

    [foo]: /url 'title

    \n

    with blank line'

    \n

    [foo]

    \n", - "example": 166, - "start_line": 2877, - "end_line": 2887, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]:\n/url\n\n[foo]\n", - "html": "

    foo

    \n", - "example": 167, - "start_line": 2892, - "end_line": 2899, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]:\n\n[foo]\n", - "html": "

    [foo]:

    \n

    [foo]

    \n", - "example": 168, - "start_line": 2904, - "end_line": 2911, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: <>\n\n[foo]\n", - "html": "

    foo

    \n", - "example": 169, - "start_line": 2916, - "end_line": 2922, - "section": "Link reference definitions", - "shouldFail": true - }, - { - "markdown": "[foo]: (baz)\n\n[foo]\n", - "html": "

    [foo]: (baz)

    \n

    [foo]

    \n", - "example": 170, - "start_line": 2927, - "end_line": 2934, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: /url\\bar\\*baz \"foo\\\"bar\\baz\"\n\n[foo]\n", - "html": "

    foo

    \n", - "example": 171, - "start_line": 2940, - "end_line": 2946, - "section": "Link reference definitions", - "shouldFail": true - }, - { - "markdown": "[foo]\n\n[foo]: url\n", - "html": "

    foo

    \n", - "example": 172, - "start_line": 2951, - "end_line": 2957, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]\n\n[foo]: first\n[foo]: second\n", - "html": "

    foo

    \n", - "example": 173, - "start_line": 2963, - "end_line": 2970, - "section": "Link reference definitions" - }, - { - "markdown": "[FOO]: /url\n\n[Foo]\n", - "html": "

    Foo

    \n", - "example": 174, - "start_line": 2976, - "end_line": 2982, - "section": "Link reference definitions" - }, - { - "markdown": "[ΑΓΩ]: /φου\n\n[αγω]\n", - "html": "

    αγω

    \n", - "example": 175, - "start_line": 2985, - "end_line": 2991, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: /url\n", - "html": "", - "example": 176, - "start_line": 2997, - "end_line": 3000, - "section": "Link reference definitions" - }, - { - "markdown": "[\nfoo\n]: /url\nbar\n", - "html": "

    bar

    \n", - "example": 177, - "start_line": 3005, - "end_line": 3012, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: /url \"title\" ok\n", - "html": "

    [foo]: /url "title" ok

    \n", - "example": 178, - "start_line": 3018, - "end_line": 3022, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: /url\n\"title\" ok\n", - "html": "

    "title" ok

    \n", - "example": 179, - "start_line": 3027, - "end_line": 3032, - "section": "Link reference definitions" - }, - { - "markdown": " [foo]: /url \"title\"\n\n[foo]\n", - "html": "
    [foo]: /url "title"\n
    \n

    [foo]

    \n", - "example": 180, - "start_line": 3038, - "end_line": 3046, - "section": "Link reference definitions" - }, - { - "markdown": "```\n[foo]: /url\n```\n\n[foo]\n", - "html": "
    [foo]: /url\n
    \n

    [foo]

    \n", - "example": 181, - "start_line": 3052, - "end_line": 3062, - "section": "Link reference definitions" - }, - { - "markdown": "Foo\n[bar]: /baz\n\n[bar]\n", - "html": "

    Foo\n[bar]: /baz

    \n

    [bar]

    \n", - "example": 182, - "start_line": 3067, - "end_line": 3076, - "section": "Link reference definitions" - }, - { - "markdown": "# [Foo]\n[foo]: /url\n> bar\n", - "html": "

    Foo

    \n
    \n

    bar

    \n
    \n", - "example": 183, - "start_line": 3082, - "end_line": 3091, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: /url\nbar\n===\n[foo]\n", - "html": "

    bar

    \n

    foo

    \n", - "example": 184, - "start_line": 3093, - "end_line": 3101, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: /url\n===\n[foo]\n", - "html": "

    ===\nfoo

    \n", - "example": 185, - "start_line": 3103, - "end_line": 3110, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: /foo-url \"foo\"\n[bar]: /bar-url\n \"bar\"\n[baz]: /baz-url\n\n[foo],\n[bar],\n[baz]\n", - "html": "

    foo,\nbar,\nbaz

    \n", - "example": 186, - "start_line": 3116, - "end_line": 3129, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]\n\n> [foo]: /url\n", - "html": "

    foo

    \n
    \n
    \n", - "example": 187, - "start_line": 3137, - "end_line": 3145, - "section": "Link reference definitions" - }, - { - "markdown": "[foo]: /url\n", - "html": "", - "example": 188, - "start_line": 3154, - "end_line": 3157, - "section": "Link reference definitions" - }, - { - "markdown": "aaa\n\nbbb\n", - "html": "

    aaa

    \n

    bbb

    \n", - "example": 189, - "start_line": 3171, - "end_line": 3178, - "section": "Paragraphs" - }, - { - "markdown": "aaa\nbbb\n\nccc\nddd\n", - "html": "

    aaa\nbbb

    \n

    ccc\nddd

    \n", - "example": 190, - "start_line": 3183, - "end_line": 3194, - "section": "Paragraphs" - }, - { - "markdown": "aaa\n\n\nbbb\n", - "html": "

    aaa

    \n

    bbb

    \n", - "example": 191, - "start_line": 3199, - "end_line": 3207, - "section": "Paragraphs" - }, - { - "markdown": " aaa\n bbb\n", - "html": "

    aaa\nbbb

    \n", - "example": 192, - "start_line": 3212, - "end_line": 3218, - "section": "Paragraphs" - }, - { - "markdown": "aaa\n bbb\n ccc\n", - "html": "

    aaa\nbbb\nccc

    \n", - "example": 193, - "start_line": 3224, - "end_line": 3232, - "section": "Paragraphs" - }, - { - "markdown": " aaa\nbbb\n", - "html": "

    aaa\nbbb

    \n", - "example": 194, - "start_line": 3238, - "end_line": 3244, - "section": "Paragraphs" - }, - { - "markdown": " aaa\nbbb\n", - "html": "
    aaa\n
    \n

    bbb

    \n", - "example": 195, - "start_line": 3247, - "end_line": 3254, - "section": "Paragraphs" - }, - { - "markdown": "aaa \nbbb \n", - "html": "

    aaa
    \nbbb

    \n", - "example": 196, - "start_line": 3261, - "end_line": 3267, - "section": "Paragraphs" - }, - { - "markdown": " \n\naaa\n \n\n# aaa\n\n \n", - "html": "

    aaa

    \n

    aaa

    \n", - "example": 197, - "start_line": 3278, - "end_line": 3290, - "section": "Blank lines" - }, - { - "markdown": "> # Foo\n> bar\n> baz\n", - "html": "
    \n

    Foo

    \n

    bar\nbaz

    \n
    \n", - "example": 198, - "start_line": 3344, - "end_line": 3354, - "section": "Block quotes" - }, - { - "markdown": "># Foo\n>bar\n> baz\n", - "html": "
    \n

    Foo

    \n

    bar\nbaz

    \n
    \n", - "example": 199, - "start_line": 3359, - "end_line": 3369, - "section": "Block quotes" - }, - { - "markdown": " > # Foo\n > bar\n > baz\n", - "html": "
    \n

    Foo

    \n

    bar\nbaz

    \n
    \n", - "example": 200, - "start_line": 3374, - "end_line": 3384, - "section": "Block quotes" - }, - { - "markdown": " > # Foo\n > bar\n > baz\n", - "html": "
    > # Foo\n> bar\n> baz\n
    \n", - "example": 201, - "start_line": 3389, - "end_line": 3398, - "section": "Block quotes" - }, - { - "markdown": "> # Foo\n> bar\nbaz\n", - "html": "
    \n

    Foo

    \n

    bar\nbaz

    \n
    \n", - "example": 202, - "start_line": 3404, - "end_line": 3414, - "section": "Block quotes" - }, - { - "markdown": "> bar\nbaz\n> foo\n", - "html": "
    \n

    bar\nbaz\nfoo

    \n
    \n", - "example": 203, - "start_line": 3420, - "end_line": 3430, - "section": "Block quotes" - }, - { - "markdown": "> foo\n---\n", - "html": "
    \n

    foo

    \n
    \n
    \n", - "example": 204, - "start_line": 3444, - "end_line": 3452, - "section": "Block quotes" - }, - { - "markdown": "> - foo\n- bar\n", - "html": "
    \n
      \n
    • foo
    • \n
    \n
    \n
      \n
    • bar
    • \n
    \n", - "example": 205, - "start_line": 3464, - "end_line": 3476, - "section": "Block quotes" - }, - { - "markdown": "> foo\n bar\n", - "html": "
    \n
    foo\n
    \n
    \n
    bar\n
    \n", - "example": 206, - "start_line": 3482, - "end_line": 3492, - "section": "Block quotes", - "shouldFail": true - }, - { - "markdown": "> ```\nfoo\n```\n", - "html": "
    \n
    \n
    \n

    foo

    \n
    \n", - "example": 207, - "start_line": 3495, - "end_line": 3505, - "section": "Block quotes", - "shouldFail": true - }, - { - "markdown": "> foo\n - bar\n", - "html": "
    \n

    foo\n- bar

    \n
    \n", - "example": 208, - "start_line": 3511, - "end_line": 3519, - "section": "Block quotes" - }, - { - "markdown": ">\n", - "html": "
    \n
    \n", - "example": 209, - "start_line": 3535, - "end_line": 3540, - "section": "Block quotes" - }, - { - "markdown": ">\n> \n> \n", - "html": "
    \n
    \n", - "example": 210, - "start_line": 3543, - "end_line": 3550, - "section": "Block quotes" - }, - { - "markdown": ">\n> foo\n> \n", - "html": "
    \n

    foo

    \n
    \n", - "example": 211, - "start_line": 3555, - "end_line": 3563, - "section": "Block quotes" - }, - { - "markdown": "> foo\n\n> bar\n", - "html": "
    \n

    foo

    \n
    \n
    \n

    bar

    \n
    \n", - "example": 212, - "start_line": 3568, - "end_line": 3579, - "section": "Block quotes" - }, - { - "markdown": "> foo\n> bar\n", - "html": "
    \n

    foo\nbar

    \n
    \n", - "example": 213, - "start_line": 3590, - "end_line": 3598, - "section": "Block quotes" - }, - { - "markdown": "> foo\n>\n> bar\n", - "html": "
    \n

    foo

    \n

    bar

    \n
    \n", - "example": 214, - "start_line": 3603, - "end_line": 3612, - "section": "Block quotes" - }, - { - "markdown": "foo\n> bar\n", - "html": "

    foo

    \n
    \n

    bar

    \n
    \n", - "example": 215, - "start_line": 3617, - "end_line": 3625, - "section": "Block quotes" - }, - { - "markdown": "> aaa\n***\n> bbb\n", - "html": "
    \n

    aaa

    \n
    \n
    \n
    \n

    bbb

    \n
    \n", - "example": 216, - "start_line": 3631, - "end_line": 3643, - "section": "Block quotes" - }, - { - "markdown": "> bar\nbaz\n", - "html": "
    \n

    bar\nbaz

    \n
    \n", - "example": 217, - "start_line": 3649, - "end_line": 3657, - "section": "Block quotes" - }, - { - "markdown": "> bar\n\nbaz\n", - "html": "
    \n

    bar

    \n
    \n

    baz

    \n", - "example": 218, - "start_line": 3660, - "end_line": 3669, - "section": "Block quotes" - }, - { - "markdown": "> bar\n>\nbaz\n", - "html": "
    \n

    bar

    \n
    \n

    baz

    \n", - "example": 219, - "start_line": 3672, - "end_line": 3681, - "section": "Block quotes" - }, - { - "markdown": "> > > foo\nbar\n", - "html": "
    \n
    \n
    \n

    foo\nbar

    \n
    \n
    \n
    \n", - "example": 220, - "start_line": 3688, - "end_line": 3700, - "section": "Block quotes" - }, - { - "markdown": ">>> foo\n> bar\n>>baz\n", - "html": "
    \n
    \n
    \n

    foo\nbar\nbaz

    \n
    \n
    \n
    \n", - "example": 221, - "start_line": 3703, - "end_line": 3717, - "section": "Block quotes" - }, - { - "markdown": "> code\n\n> not code\n", - "html": "
    \n
    code\n
    \n
    \n
    \n

    not code

    \n
    \n", - "example": 222, - "start_line": 3725, - "end_line": 3737, - "section": "Block quotes" - }, - { - "markdown": "A paragraph\nwith two lines.\n\n indented code\n\n> A block quote.\n", - "html": "

    A paragraph\nwith two lines.

    \n
    indented code\n
    \n
    \n

    A block quote.

    \n
    \n", - "example": 223, - "start_line": 3779, - "end_line": 3794, - "section": "List items" - }, - { - "markdown": "1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n", - "html": "
      \n
    1. \n

      A paragraph\nwith two lines.

      \n
      indented code\n
      \n
      \n

      A block quote.

      \n
      \n
    2. \n
    \n", - "example": 224, - "start_line": 3801, - "end_line": 3820, - "section": "List items" - }, - { - "markdown": "- one\n\n two\n", - "html": "
      \n
    • one
    • \n
    \n

    two

    \n", - "example": 225, - "start_line": 3834, - "end_line": 3843, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "- one\n\n two\n", - "html": "
      \n
    • \n

      one

      \n

      two

      \n
    • \n
    \n", - "example": 226, - "start_line": 3846, - "end_line": 3857, - "section": "List items" - }, - { - "markdown": " - one\n\n two\n", - "html": "
      \n
    • one
    • \n
    \n
     two\n
    \n", - "example": 227, - "start_line": 3860, - "end_line": 3870, - "section": "List items", - "shouldFail": true - }, - { - "markdown": " - one\n\n two\n", - "html": "
      \n
    • \n

      one

      \n

      two

      \n
    • \n
    \n", - "example": 228, - "start_line": 3873, - "end_line": 3884, - "section": "List items" - }, - { - "markdown": " > > 1. one\n>>\n>> two\n", - "html": "
    \n
    \n
      \n
    1. \n

      one

      \n

      two

      \n
    2. \n
    \n
    \n
    \n", - "example": 229, - "start_line": 3895, - "end_line": 3910, - "section": "List items" - }, - { - "markdown": ">>- one\n>>\n > > two\n", - "html": "
    \n
    \n
      \n
    • one
    • \n
    \n

    two

    \n
    \n
    \n", - "example": 230, - "start_line": 3922, - "end_line": 3935, - "section": "List items" - }, - { - "markdown": "-one\n\n2.two\n", - "html": "

    -one

    \n

    2.two

    \n", - "example": 231, - "start_line": 3941, - "end_line": 3948, - "section": "List items" - }, - { - "markdown": "- foo\n\n\n bar\n", - "html": "
      \n
    • \n

      foo

      \n

      bar

      \n
    • \n
    \n", - "example": 232, - "start_line": 3954, - "end_line": 3966, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "1. foo\n\n ```\n bar\n ```\n\n baz\n\n > bam\n", - "html": "
      \n
    1. \n

      foo

      \n
      bar\n
      \n

      baz

      \n
      \n

      bam

      \n
      \n
    2. \n
    \n", - "example": 233, - "start_line": 3971, - "end_line": 3993, - "section": "List items" - }, - { - "markdown": "- Foo\n\n bar\n\n\n baz\n", - "html": "
      \n
    • \n

      Foo

      \n
      bar\n\n\nbaz\n
      \n
    • \n
    \n", - "example": 234, - "start_line": 3999, - "end_line": 4017, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "123456789. ok\n", - "html": "
      \n
    1. ok
    2. \n
    \n", - "example": 235, - "start_line": 4021, - "end_line": 4027, - "section": "List items" - }, - { - "markdown": "1234567890. not ok\n", - "html": "

    1234567890. not ok

    \n", - "example": 236, - "start_line": 4030, - "end_line": 4034, - "section": "List items" - }, - { - "markdown": "0. ok\n", - "html": "
      \n
    1. ok
    2. \n
    \n", - "example": 237, - "start_line": 4039, - "end_line": 4045, - "section": "List items" - }, - { - "markdown": "003. ok\n", - "html": "
      \n
    1. ok
    2. \n
    \n", - "example": 238, - "start_line": 4048, - "end_line": 4054, - "section": "List items" - }, - { - "markdown": "-1. not ok\n", - "html": "

    -1. not ok

    \n", - "example": 239, - "start_line": 4059, - "end_line": 4063, - "section": "List items" - }, - { - "markdown": "- foo\n\n bar\n", - "html": "
      \n
    • \n

      foo

      \n
      bar\n
      \n
    • \n
    \n", - "example": 240, - "start_line": 4082, - "end_line": 4094, - "section": "List items" - }, - { - "markdown": " 10. foo\n\n bar\n", - "html": "
      \n
    1. \n

      foo

      \n
      bar\n
      \n
    2. \n
    \n", - "example": 241, - "start_line": 4099, - "end_line": 4111, - "section": "List items" - }, - { - "markdown": " indented code\n\nparagraph\n\n more code\n", - "html": "
    indented code\n
    \n

    paragraph

    \n
    more code\n
    \n", - "example": 242, - "start_line": 4118, - "end_line": 4130, - "section": "List items" - }, - { - "markdown": "1. indented code\n\n paragraph\n\n more code\n", - "html": "
      \n
    1. \n
      indented code\n
      \n

      paragraph

      \n
      more code\n
      \n
    2. \n
    \n", - "example": 243, - "start_line": 4133, - "end_line": 4149, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "1. indented code\n\n paragraph\n\n more code\n", - "html": "
      \n
    1. \n
       indented code\n
      \n

      paragraph

      \n
      more code\n
      \n
    2. \n
    \n", - "example": 244, - "start_line": 4155, - "end_line": 4171, - "section": "List items", - "shouldFail": true - }, - { - "markdown": " foo\n\nbar\n", - "html": "

    foo

    \n

    bar

    \n", - "example": 245, - "start_line": 4182, - "end_line": 4189, - "section": "List items" - }, - { - "markdown": "- foo\n\n bar\n", - "html": "
      \n
    • foo
    • \n
    \n

    bar

    \n", - "example": 246, - "start_line": 4192, - "end_line": 4201, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "- foo\n\n bar\n", - "html": "
      \n
    • \n

      foo

      \n

      bar

      \n
    • \n
    \n", - "example": 247, - "start_line": 4209, - "end_line": 4220, - "section": "List items" - }, - { - "markdown": "-\n foo\n-\n ```\n bar\n ```\n-\n baz\n", - "html": "
      \n
    • foo
    • \n
    • \n
      bar\n
      \n
    • \n
    • \n
      baz\n
      \n
    • \n
    \n", - "example": 248, - "start_line": 4237, - "end_line": 4258, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "- \n foo\n", - "html": "
      \n
    • foo
    • \n
    \n", - "example": 249, - "start_line": 4263, - "end_line": 4270, - "section": "List items" - }, - { - "markdown": "-\n\n foo\n", - "html": "
      \n
    • \n
    \n

    foo

    \n", - "example": 250, - "start_line": 4277, - "end_line": 4286, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "- foo\n-\n- bar\n", - "html": "
      \n
    • foo
    • \n
    • \n
    • bar
    • \n
    \n", - "example": 251, - "start_line": 4291, - "end_line": 4301, - "section": "List items" - }, - { - "markdown": "- foo\n- \n- bar\n", - "html": "
      \n
    • foo
    • \n
    • \n
    • bar
    • \n
    \n", - "example": 252, - "start_line": 4306, - "end_line": 4316, - "section": "List items" - }, - { - "markdown": "1. foo\n2.\n3. bar\n", - "html": "
      \n
    1. foo
    2. \n
    3. \n
    4. bar
    5. \n
    \n", - "example": 253, - "start_line": 4321, - "end_line": 4331, - "section": "List items" - }, - { - "markdown": "*\n", - "html": "
      \n
    • \n
    \n", - "example": 254, - "start_line": 4336, - "end_line": 4342, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "foo\n*\n\nfoo\n1.\n", - "html": "

    foo\n*

    \n

    foo\n1.

    \n", - "example": 255, - "start_line": 4346, - "end_line": 4357, - "section": "List items" - }, - { - "markdown": " 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n", - "html": "
      \n
    1. \n

      A paragraph\nwith two lines.

      \n
      indented code\n
      \n
      \n

      A block quote.

      \n
      \n
    2. \n
    \n", - "example": 256, - "start_line": 4368, - "end_line": 4387, - "section": "List items" - }, - { - "markdown": " 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n", - "html": "
      \n
    1. \n

      A paragraph\nwith two lines.

      \n
      indented code\n
      \n
      \n

      A block quote.

      \n
      \n
    2. \n
    \n", - "example": 257, - "start_line": 4392, - "end_line": 4411, - "section": "List items" - }, - { - "markdown": " 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n", - "html": "
      \n
    1. \n

      A paragraph\nwith two lines.

      \n
      indented code\n
      \n
      \n

      A block quote.

      \n
      \n
    2. \n
    \n", - "example": 258, - "start_line": 4416, - "end_line": 4435, - "section": "List items" - }, - { - "markdown": " 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n", - "html": "
    1.  A paragraph\n    with two lines.\n\n        indented code\n\n    > A block quote.\n
    \n", - "example": 259, - "start_line": 4440, - "end_line": 4455, - "section": "List items" - }, - { - "markdown": " 1. A paragraph\nwith two lines.\n\n indented code\n\n > A block quote.\n", - "html": "
      \n
    1. \n

      A paragraph\nwith two lines.

      \n
      indented code\n
      \n
      \n

      A block quote.

      \n
      \n
    2. \n
    \n", - "example": 260, - "start_line": 4470, - "end_line": 4489, - "section": "List items" - }, - { - "markdown": " 1. A paragraph\n with two lines.\n", - "html": "
      \n
    1. A paragraph\nwith two lines.
    2. \n
    \n", - "example": 261, - "start_line": 4494, - "end_line": 4502, - "section": "List items" - }, - { - "markdown": "> 1. > Blockquote\ncontinued here.\n", - "html": "
    \n
      \n
    1. \n
      \n

      Blockquote\ncontinued here.

      \n
      \n
    2. \n
    \n
    \n", - "example": 262, - "start_line": 4507, - "end_line": 4521, - "section": "List items" - }, - { - "markdown": "> 1. > Blockquote\n> continued here.\n", - "html": "
    \n
      \n
    1. \n
      \n

      Blockquote\ncontinued here.

      \n
      \n
    2. \n
    \n
    \n", - "example": 263, - "start_line": 4524, - "end_line": 4538, - "section": "List items" - }, - { - "markdown": "- foo\n - bar\n - baz\n - boo\n", - "html": "
      \n
    • foo\n
        \n
      • bar\n
          \n
        • baz\n
            \n
          • boo
          • \n
          \n
        • \n
        \n
      • \n
      \n
    • \n
    \n", - "example": 264, - "start_line": 4552, - "end_line": 4573, - "section": "List items" - }, - { - "markdown": "- foo\n - bar\n - baz\n - boo\n", - "html": "
      \n
    • foo
    • \n
    • bar
    • \n
    • baz
    • \n
    • boo
    • \n
    \n", - "example": 265, - "start_line": 4578, - "end_line": 4590, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "10) foo\n - bar\n", - "html": "
      \n
    1. foo\n
        \n
      • bar
      • \n
      \n
    2. \n
    \n", - "example": 266, - "start_line": 4595, - "end_line": 4606, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "10) foo\n - bar\n", - "html": "
      \n
    1. foo
    2. \n
    \n
      \n
    • bar
    • \n
    \n", - "example": 267, - "start_line": 4611, - "end_line": 4621, - "section": "List items", - "shouldFail": true - }, - { - "markdown": "- - foo\n", - "html": "
      \n
    • \n
        \n
      • foo
      • \n
      \n
    • \n
    \n", - "example": 268, - "start_line": 4626, - "end_line": 4636, - "section": "List items" - }, - { - "markdown": "1. - 2. foo\n", - "html": "
      \n
    1. \n
        \n
      • \n
          \n
        1. foo
        2. \n
        \n
      • \n
      \n
    2. \n
    \n", - "example": 269, - "start_line": 4639, - "end_line": 4653, - "section": "List items" - }, - { - "markdown": "- # Foo\n- Bar\n ---\n baz\n", - "html": "
      \n
    • \n

      Foo

      \n
    • \n
    • \n

      Bar

      \nbaz
    • \n
    \n", - "example": 270, - "start_line": 4658, - "end_line": 4672, - "section": "List items" - }, - { - "markdown": "- foo\n- bar\n+ baz\n", - "html": "
      \n
    • foo
    • \n
    • bar
    • \n
    \n
      \n
    • baz
    • \n
    \n", - "example": 271, - "start_line": 4894, - "end_line": 4906, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "1. foo\n2. bar\n3) baz\n", - "html": "
      \n
    1. foo
    2. \n
    3. bar
    4. \n
    \n
      \n
    1. baz
    2. \n
    \n", - "example": 272, - "start_line": 4909, - "end_line": 4921, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "Foo\n- bar\n- baz\n", - "html": "

    Foo

    \n
      \n
    • bar
    • \n
    • baz
    • \n
    \n", - "example": 273, - "start_line": 4928, - "end_line": 4938, - "section": "Lists" - }, - { - "markdown": "The number of windows in my house is\n14. The number of doors is 6.\n", - "html": "

    The number of windows in my house is\n14. The number of doors is 6.

    \n", - "example": 274, - "start_line": 5005, - "end_line": 5011, - "section": "Lists" - }, - { - "markdown": "The number of windows in my house is\n1. The number of doors is 6.\n", - "html": "

    The number of windows in my house is

    \n
      \n
    1. The number of doors is 6.
    2. \n
    \n", - "example": 275, - "start_line": 5015, - "end_line": 5023, - "section": "Lists" - }, - { - "markdown": "- foo\n\n- bar\n\n\n- baz\n", - "html": "
      \n
    • \n

      foo

      \n
    • \n
    • \n

      bar

      \n
    • \n
    • \n

      baz

      \n
    • \n
    \n", - "example": 276, - "start_line": 5029, - "end_line": 5048, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "- foo\n - bar\n - baz\n\n\n bim\n", - "html": "
      \n
    • foo\n
        \n
      • bar\n
          \n
        • \n

          baz

          \n

          bim

          \n
        • \n
        \n
      • \n
      \n
    • \n
    \n", - "example": 277, - "start_line": 5050, - "end_line": 5072, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "- foo\n- bar\n\n\n\n- baz\n- bim\n", - "html": "
      \n
    • foo
    • \n
    • bar
    • \n
    \n\n
      \n
    • baz
    • \n
    • bim
    • \n
    \n", - "example": 278, - "start_line": 5080, - "end_line": 5098, - "section": "Lists" - }, - { - "markdown": "- foo\n\n notcode\n\n- foo\n\n\n\n code\n", - "html": "
      \n
    • \n

      foo

      \n

      notcode

      \n
    • \n
    • \n

      foo

      \n
    • \n
    \n\n
    code\n
    \n", - "example": 279, - "start_line": 5101, - "end_line": 5124, - "section": "Lists" - }, - { - "markdown": "- a\n - b\n - c\n - d\n - e\n - f\n- g\n", - "html": "
      \n
    • a
    • \n
    • b
    • \n
    • c
    • \n
    • d
    • \n
    • e
    • \n
    • f
    • \n
    • g
    • \n
    \n", - "example": 280, - "start_line": 5132, - "end_line": 5150, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "1. a\n\n 2. b\n\n 3. c\n", - "html": "
      \n
    1. \n

      a

      \n
    2. \n
    3. \n

      b

      \n
    4. \n
    5. \n

      c

      \n
    6. \n
    \n", - "example": 281, - "start_line": 5153, - "end_line": 5171, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "- a\n - b\n - c\n - d\n - e\n", - "html": "
      \n
    • a
    • \n
    • b
    • \n
    • c
    • \n
    • d\n- e
    • \n
    \n", - "example": 282, - "start_line": 5177, - "end_line": 5191, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "1. a\n\n 2. b\n\n 3. c\n", - "html": "
      \n
    1. \n

      a

      \n
    2. \n
    3. \n

      b

      \n
    4. \n
    \n
    3. c\n
    \n", - "example": 283, - "start_line": 5197, - "end_line": 5214, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "- a\n- b\n\n- c\n", - "html": "
      \n
    • \n

      a

      \n
    • \n
    • \n

      b

      \n
    • \n
    • \n

      c

      \n
    • \n
    \n", - "example": 284, - "start_line": 5220, - "end_line": 5237, - "section": "Lists" - }, - { - "markdown": "* a\n*\n\n* c\n", - "html": "
      \n
    • \n

      a

      \n
    • \n
    • \n
    • \n

      c

      \n
    • \n
    \n", - "example": 285, - "start_line": 5242, - "end_line": 5257, - "section": "Lists" - }, - { - "markdown": "- a\n- b\n\n c\n- d\n", - "html": "
      \n
    • \n

      a

      \n
    • \n
    • \n

      b

      \n

      c

      \n
    • \n
    • \n

      d

      \n
    • \n
    \n", - "example": 286, - "start_line": 5264, - "end_line": 5283, - "section": "Lists" - }, - { - "markdown": "- a\n- b\n\n [ref]: /url\n- d\n", - "html": "
      \n
    • \n

      a

      \n
    • \n
    • \n

      b

      \n
    • \n
    • \n

      d

      \n
    • \n
    \n", - "example": 287, - "start_line": 5286, - "end_line": 5304, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "- a\n- ```\n b\n\n\n ```\n- c\n", - "html": "
      \n
    • a
    • \n
    • \n
      b\n\n\n
      \n
    • \n
    • c
    • \n
    \n", - "example": 288, - "start_line": 5309, - "end_line": 5328, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "- a\n - b\n\n c\n- d\n", - "html": "
      \n
    • a\n
        \n
      • \n

        b

        \n

        c

        \n
      • \n
      \n
    • \n
    • d
    • \n
    \n", - "example": 289, - "start_line": 5335, - "end_line": 5353, - "section": "Lists", - "shouldFail": true - }, - { - "markdown": "* a\n > b\n >\n* c\n", - "html": "
      \n
    • a\n
      \n

      b

      \n
      \n
    • \n
    • c
    • \n
    \n", - "example": 290, - "start_line": 5359, - "end_line": 5373, - "section": "Lists" - }, - { - "markdown": "- a\n > b\n ```\n c\n ```\n- d\n", - "html": "
      \n
    • a\n
      \n

      b

      \n
      \n
      c\n
      \n
    • \n
    • d
    • \n
    \n", - "example": 291, - "start_line": 5379, - "end_line": 5397, - "section": "Lists" - }, - { - "markdown": "- a\n", - "html": "
      \n
    • a
    • \n
    \n", - "example": 292, - "start_line": 5402, - "end_line": 5408, - "section": "Lists" - }, - { - "markdown": "- a\n - b\n", - "html": "
      \n
    • a\n
        \n
      • b
      • \n
      \n
    • \n
    \n", - "example": 293, - "start_line": 5411, - "end_line": 5422, - "section": "Lists" - }, - { - "markdown": "1. ```\n foo\n ```\n\n bar\n", - "html": "
      \n
    1. \n
      foo\n
      \n

      bar

      \n
    2. \n
    \n", - "example": 294, - "start_line": 5428, - "end_line": 5442, - "section": "Lists" - }, - { - "markdown": "* foo\n * bar\n\n baz\n", - "html": "
      \n
    • \n

      foo

      \n
        \n
      • bar
      • \n
      \n

      baz

      \n
    • \n
    \n", - "example": 295, - "start_line": 5447, - "end_line": 5462, - "section": "Lists" - }, - { - "markdown": "- a\n - b\n - c\n\n- d\n - e\n - f\n", - "html": "
      \n
    • \n

      a

      \n
        \n
      • b
      • \n
      • c
      • \n
      \n
    • \n
    • \n

      d

      \n
        \n
      • e
      • \n
      • f
      • \n
      \n
    • \n
    \n", - "example": 296, - "start_line": 5465, - "end_line": 5490, - "section": "Lists" - }, - { - "markdown": "`hi`lo`\n", - "html": "

    hilo`

    \n", - "example": 297, - "start_line": 5499, - "end_line": 5503, - "section": "Inlines" - }, - { - "markdown": "\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\-\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\\\\\]\\^\\_\\`\\{\\|\\}\\~\n", - "html": "

    !"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~

    \n", - "example": 298, - "start_line": 5513, - "end_line": 5517, - "section": "Backslash escapes" - }, - { - "markdown": "\\\t\\A\\a\\ \\3\\φ\\«\n", - "html": "

    \\\t\\A\\a\\ \\3\\φ\\«

    \n", - "example": 299, - "start_line": 5523, - "end_line": 5527, - "section": "Backslash escapes" - }, - { - "markdown": "\\*not emphasized*\n\\
    not a tag\n\\[not a link](/foo)\n\\`not code`\n1\\. not a list\n\\* not a list\n\\# not a heading\n\\[foo]: /url \"not a reference\"\n\\ö not a character entity\n", - "html": "

    *not emphasized*\n<br/> not a tag\n[not a link](/foo)\n`not code`\n1. not a list\n* not a list\n# not a heading\n[foo]: /url "not a reference"\n&ouml; not a character entity

    \n", - "example": 300, - "start_line": 5533, - "end_line": 5553, - "section": "Backslash escapes" - }, - { - "markdown": "\\\\*emphasis*\n", - "html": "

    \\emphasis

    \n", - "example": 301, - "start_line": 5558, - "end_line": 5562, - "section": "Backslash escapes" - }, - { - "markdown": "foo\\\nbar\n", - "html": "

    foo
    \nbar

    \n", - "example": 302, - "start_line": 5567, - "end_line": 5573, - "section": "Backslash escapes" - }, - { - "markdown": "`` \\[\\` ``\n", - "html": "

    \\[\\`

    \n", - "example": 303, - "start_line": 5579, - "end_line": 5583, - "section": "Backslash escapes" - }, - { - "markdown": " \\[\\]\n", - "html": "
    \\[\\]\n
    \n", - "example": 304, - "start_line": 5586, - "end_line": 5591, - "section": "Backslash escapes" - }, - { - "markdown": "~~~\n\\[\\]\n~~~\n", - "html": "
    \\[\\]\n
    \n", - "example": 305, - "start_line": 5594, - "end_line": 5601, - "section": "Backslash escapes" - }, - { - "markdown": "\n", - "html": "

    http://example.com?find=\\*

    \n", - "example": 306, - "start_line": 5604, - "end_line": 5608, - "section": "Backslash escapes" - }, - { - "markdown": "\n", - "html": "\n", - "example": 307, - "start_line": 5611, - "end_line": 5615, - "section": "Backslash escapes" - }, - { - "markdown": "[foo](/bar\\* \"ti\\*tle\")\n", - "html": "

    foo

    \n", - "example": 308, - "start_line": 5621, - "end_line": 5625, - "section": "Backslash escapes" - }, - { - "markdown": "[foo]\n\n[foo]: /bar\\* \"ti\\*tle\"\n", - "html": "

    foo

    \n", - "example": 309, - "start_line": 5628, - "end_line": 5634, - "section": "Backslash escapes", - "shouldFail": true - }, - { - "markdown": "``` foo\\+bar\nfoo\n```\n", - "html": "
    foo\n
    \n", - "example": 310, - "start_line": 5637, - "end_line": 5644, - "section": "Backslash escapes", - "shouldFail": true - }, - { - "markdown": "  & © Æ Ď\n¾ ℋ ⅆ\n∲ ≧̸\n", - "html": "

      & © Æ Ď\n¾ ℋ ⅆ\n∲ ≧̸

    \n", - "example": 311, - "start_line": 5674, - "end_line": 5682, - "section": "Entity and numeric character references" - }, - { - "markdown": "# Ӓ Ϡ �\n", - "html": "

    # Ӓ Ϡ �

    \n", - "example": 312, - "start_line": 5693, - "end_line": 5697, - "section": "Entity and numeric character references" - }, - { - "markdown": "" ആ ಫ\n", - "html": "

    " ആ ಫ

    \n", - "example": 313, - "start_line": 5706, - "end_line": 5710, - "section": "Entity and numeric character references" - }, - { - "markdown": "  &x; &#; &#x;\n�\n&#abcdef0;\n&ThisIsNotDefined; &hi?;\n", - "html": "

    &nbsp &x; &#; &#x;\n&#987654321;\n&#abcdef0;\n&ThisIsNotDefined; &hi?;

    \n", - "example": 314, - "start_line": 5715, - "end_line": 5725, - "section": "Entity and numeric character references", - "shouldFail": true - }, - { - "markdown": "©\n", - "html": "

    &copy

    \n", - "example": 315, - "start_line": 5732, - "end_line": 5736, - "section": "Entity and numeric character references" - }, - { - "markdown": "&MadeUpEntity;\n", - "html": "

    &MadeUpEntity;

    \n", - "example": 316, - "start_line": 5742, - "end_line": 5746, - "section": "Entity and numeric character references" - }, - { - "markdown": "\n", - "html": "\n", - "example": 317, - "start_line": 5753, - "end_line": 5757, - "section": "Entity and numeric character references" - }, - { - "markdown": "[foo](/föö \"föö\")\n", - "html": "

    foo

    \n", - "example": 318, - "start_line": 5760, - "end_line": 5764, - "section": "Entity and numeric character references", - "shouldFail": true - }, - { - "markdown": "[foo]\n\n[foo]: /föö \"föö\"\n", - "html": "

    foo

    \n", - "example": 319, - "start_line": 5767, - "end_line": 5773, - "section": "Entity and numeric character references", - "shouldFail": true - }, - { - "markdown": "``` föö\nfoo\n```\n", - "html": "
    foo\n
    \n", - "example": 320, - "start_line": 5776, - "end_line": 5783, - "section": "Entity and numeric character references", - "shouldFail": true - }, - { - "markdown": "`föö`\n", - "html": "

    f&ouml;&ouml;

    \n", - "example": 321, - "start_line": 5789, - "end_line": 5793, - "section": "Entity and numeric character references" - }, - { - "markdown": " föfö\n", - "html": "
    f&ouml;f&ouml;\n
    \n", - "example": 322, - "start_line": 5796, - "end_line": 5801, - "section": "Entity and numeric character references" - }, - { - "markdown": "*foo*\n*foo*\n", - "html": "

    *foo*\nfoo

    \n", - "example": 323, - "start_line": 5808, - "end_line": 5814, - "section": "Entity and numeric character references" - }, - { - "markdown": "* foo\n\n* foo\n", - "html": "

    * foo

    \n
      \n
    • foo
    • \n
    \n", - "example": 324, - "start_line": 5816, - "end_line": 5825, - "section": "Entity and numeric character references" - }, - { - "markdown": "foo bar\n", - "html": "

    foo\n\nbar

    \n", - "example": 325, - "start_line": 5827, - "end_line": 5833, - "section": "Entity and numeric character references" - }, - { - "markdown": " foo\n", - "html": "

    \tfoo

    \n", - "example": 326, - "start_line": 5835, - "end_line": 5839, - "section": "Entity and numeric character references" - }, - { - "markdown": "[a](url "tit")\n", - "html": "

    [a](url "tit")

    \n", - "example": 327, - "start_line": 5842, - "end_line": 5846, - "section": "Entity and numeric character references" - }, - { - "markdown": "`foo`\n", - "html": "

    foo

    \n", - "example": 328, - "start_line": 5870, - "end_line": 5874, - "section": "Code spans" - }, - { - "markdown": "`` foo ` bar ``\n", - "html": "

    foo ` bar

    \n", - "example": 329, - "start_line": 5881, - "end_line": 5885, - "section": "Code spans" - }, - { - "markdown": "` `` `\n", - "html": "

    ``

    \n", - "example": 330, - "start_line": 5891, - "end_line": 5895, - "section": "Code spans" - }, - { - "markdown": "` `` `\n", - "html": "

    ``

    \n", - "example": 331, - "start_line": 5899, - "end_line": 5903, - "section": "Code spans" - }, - { - "markdown": "` a`\n", - "html": "

    a

    \n", - "example": 332, - "start_line": 5908, - "end_line": 5912, - "section": "Code spans" - }, - { - "markdown": "` b `\n", - "html": "

     b 

    \n", - "example": 333, - "start_line": 5917, - "end_line": 5921, - "section": "Code spans" - }, - { - "markdown": "` `\n` `\n", - "html": "

     \n

    \n", - "example": 334, - "start_line": 5925, - "end_line": 5931, - "section": "Code spans" - }, - { - "markdown": "``\nfoo\nbar \nbaz\n``\n", - "html": "

    foo bar baz

    \n", - "example": 335, - "start_line": 5936, - "end_line": 5944, - "section": "Code spans" - }, - { - "markdown": "``\nfoo \n``\n", - "html": "

    foo

    \n", - "example": 336, - "start_line": 5946, - "end_line": 5952, - "section": "Code spans" - }, - { - "markdown": "`foo bar \nbaz`\n", - "html": "

    foo bar baz

    \n", - "example": 337, - "start_line": 5957, - "end_line": 5962, - "section": "Code spans" - }, - { - "markdown": "`foo\\`bar`\n", - "html": "

    foo\\bar`

    \n", - "example": 338, - "start_line": 5974, - "end_line": 5978, - "section": "Code spans" - }, - { - "markdown": "``foo`bar``\n", - "html": "

    foo`bar

    \n", - "example": 339, - "start_line": 5985, - "end_line": 5989, - "section": "Code spans" - }, - { - "markdown": "` foo `` bar `\n", - "html": "

    foo `` bar

    \n", - "example": 340, - "start_line": 5991, - "end_line": 5995, - "section": "Code spans" - }, - { - "markdown": "*foo`*`\n", - "html": "

    *foo*

    \n", - "example": 341, - "start_line": 6003, - "end_line": 6007, - "section": "Code spans", - "shouldFail": true - }, - { - "markdown": "[not a `link](/foo`)\n", - "html": "

    [not a link](/foo)

    \n", - "example": 342, - "start_line": 6012, - "end_line": 6016, - "section": "Code spans" - }, - { - "markdown": "``\n", - "html": "

    <a href="">`

    \n", - "example": 343, - "start_line": 6022, - "end_line": 6026, - "section": "Code spans" - }, - { - "markdown": "
    `\n", - "html": "

    `

    \n", - "example": 344, - "start_line": 6031, - "end_line": 6035, - "section": "Code spans" - }, - { - "markdown": "``\n", - "html": "

    <http://foo.bar.baz>`

    \n", - "example": 345, - "start_line": 6040, - "end_line": 6044, - "section": "Code spans" - }, - { - "markdown": "`\n", - "html": "

    http://foo.bar.`baz`

    \n", - "example": 346, - "start_line": 6049, - "end_line": 6053, - "section": "Code spans" - }, - { - "markdown": "```foo``\n", - "html": "

    ```foo``

    \n", - "example": 347, - "start_line": 6059, - "end_line": 6063, - "section": "Code spans" - }, - { - "markdown": "`foo\n", - "html": "

    `foo

    \n", - "example": 348, - "start_line": 6066, - "end_line": 6070, - "section": "Code spans" - }, - { - "markdown": "`foo``bar``\n", - "html": "

    `foobar

    \n", - "example": 349, - "start_line": 6075, - "end_line": 6079, - "section": "Code spans" - }, - { - "markdown": "*foo bar*\n", - "html": "

    foo bar

    \n", - "example": 350, - "start_line": 6292, - "end_line": 6296, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "a * foo bar*\n", - "html": "

    a * foo bar*

    \n", - "example": 351, - "start_line": 6302, - "end_line": 6306, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "a*\"foo\"*\n", - "html": "

    a*"foo"*

    \n", - "example": 352, - "start_line": 6313, - "end_line": 6317, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "* a *\n", - "html": "

    * a *

    \n", - "example": 353, - "start_line": 6322, - "end_line": 6326, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "foo*bar*\n", - "html": "

    foobar

    \n", - "example": 354, - "start_line": 6331, - "end_line": 6335, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "5*6*78\n", - "html": "

    5678

    \n", - "example": 355, - "start_line": 6338, - "end_line": 6342, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_foo bar_\n", - "html": "

    foo bar

    \n", - "example": 356, - "start_line": 6347, - "end_line": 6351, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_ foo bar_\n", - "html": "

    _ foo bar_

    \n", - "example": 357, - "start_line": 6357, - "end_line": 6361, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "a_\"foo\"_\n", - "html": "

    a_"foo"_

    \n", - "example": 358, - "start_line": 6367, - "end_line": 6371, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo_bar_\n", - "html": "

    foo_bar_

    \n", - "example": 359, - "start_line": 6376, - "end_line": 6380, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "5_6_78\n", - "html": "

    5_6_78

    \n", - "example": 360, - "start_line": 6383, - "end_line": 6387, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "пристаням_стремятся_\n", - "html": "

    пристаням_стремятся_

    \n", - "example": 361, - "start_line": 6390, - "end_line": 6394, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "aa_\"bb\"_cc\n", - "html": "

    aa_"bb"_cc

    \n", - "example": 362, - "start_line": 6400, - "end_line": 6404, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo-_(bar)_\n", - "html": "

    foo-(bar)

    \n", - "example": 363, - "start_line": 6411, - "end_line": 6415, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_foo*\n", - "html": "

    _foo*

    \n", - "example": 364, - "start_line": 6423, - "end_line": 6427, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*foo bar *\n", - "html": "

    *foo bar *

    \n", - "example": 365, - "start_line": 6433, - "end_line": 6437, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*foo bar\n*\n", - "html": "

    *foo bar\n*

    \n", - "example": 366, - "start_line": 6442, - "end_line": 6448, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*(*foo)\n", - "html": "

    *(*foo)

    \n", - "example": 367, - "start_line": 6455, - "end_line": 6459, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*(*foo*)*\n", - "html": "

    (foo)

    \n", - "example": 368, - "start_line": 6465, - "end_line": 6469, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo*bar\n", - "html": "

    foobar

    \n", - "example": 369, - "start_line": 6474, - "end_line": 6478, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_foo bar _\n", - "html": "

    _foo bar _

    \n", - "example": 370, - "start_line": 6487, - "end_line": 6491, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_(_foo)\n", - "html": "

    _(_foo)

    \n", - "example": 371, - "start_line": 6497, - "end_line": 6501, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "_(_foo_)_\n", - "html": "

    (foo)

    \n", - "example": 372, - "start_line": 6506, - "end_line": 6510, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "_foo_bar\n", - "html": "

    _foo_bar

    \n", - "example": 373, - "start_line": 6515, - "end_line": 6519, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_пристаням_стремятся\n", - "html": "

    _пристаням_стремятся

    \n", - "example": 374, - "start_line": 6522, - "end_line": 6526, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_foo_bar_baz_\n", - "html": "

    foo_bar_baz

    \n", - "example": 375, - "start_line": 6529, - "end_line": 6533, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_(bar)_.\n", - "html": "

    (bar).

    \n", - "example": 376, - "start_line": 6540, - "end_line": 6544, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo bar**\n", - "html": "

    foo bar

    \n", - "example": 377, - "start_line": 6549, - "end_line": 6553, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "** foo bar**\n", - "html": "

    ** foo bar**

    \n", - "example": 378, - "start_line": 6559, - "end_line": 6563, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "a**\"foo\"**\n", - "html": "

    a**"foo"**

    \n", - "example": 379, - "start_line": 6570, - "end_line": 6574, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "foo**bar**\n", - "html": "

    foobar

    \n", - "example": 380, - "start_line": 6579, - "end_line": 6583, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__foo bar__\n", - "html": "

    foo bar

    \n", - "example": 381, - "start_line": 6588, - "end_line": 6592, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__ foo bar__\n", - "html": "

    __ foo bar__

    \n", - "example": 382, - "start_line": 6598, - "end_line": 6602, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__\nfoo bar__\n", - "html": "

    __\nfoo bar__

    \n", - "example": 383, - "start_line": 6606, - "end_line": 6612, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "a__\"foo\"__\n", - "html": "

    a__"foo"__

    \n", - "example": 384, - "start_line": 6618, - "end_line": 6622, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo__bar__\n", - "html": "

    foo__bar__

    \n", - "example": 385, - "start_line": 6627, - "end_line": 6631, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "5__6__78\n", - "html": "

    5__6__78

    \n", - "example": 386, - "start_line": 6634, - "end_line": 6638, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "пристаням__стремятся__\n", - "html": "

    пристаням__стремятся__

    \n", - "example": 387, - "start_line": 6641, - "end_line": 6645, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "__foo, __bar__, baz__\n", - "html": "

    foo, bar, baz

    \n", - "example": 388, - "start_line": 6648, - "end_line": 6652, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "foo-__(bar)__\n", - "html": "

    foo-(bar)

    \n", - "example": 389, - "start_line": 6659, - "end_line": 6663, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo bar **\n", - "html": "

    **foo bar **

    \n", - "example": 390, - "start_line": 6672, - "end_line": 6676, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "**(**foo)\n", - "html": "

    **(**foo)

    \n", - "example": 391, - "start_line": 6685, - "end_line": 6689, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*(**foo**)*\n", - "html": "

    (foo)

    \n", - "example": 392, - "start_line": 6695, - "end_line": 6699, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**Gomphocarpus (*Gomphocarpus physocarpus*, syn.\n*Asclepias physocarpa*)**\n", - "html": "

    Gomphocarpus (Gomphocarpus physocarpus, syn.\nAsclepias physocarpa)

    \n", - "example": 393, - "start_line": 6702, - "end_line": 6708, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo \"*bar*\" foo**\n", - "html": "

    foo "bar" foo

    \n", - "example": 394, - "start_line": 6711, - "end_line": 6715, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo**bar\n", - "html": "

    foobar

    \n", - "example": 395, - "start_line": 6720, - "end_line": 6724, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__foo bar __\n", - "html": "

    __foo bar __

    \n", - "example": 396, - "start_line": 6732, - "end_line": 6736, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__(__foo)\n", - "html": "

    __(__foo)

    \n", - "example": 397, - "start_line": 6742, - "end_line": 6746, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "_(__foo__)_\n", - "html": "

    (foo)

    \n", - "example": 398, - "start_line": 6752, - "end_line": 6756, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__foo__bar\n", - "html": "

    __foo__bar

    \n", - "example": 399, - "start_line": 6761, - "end_line": 6765, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "__пристаням__стремятся\n", - "html": "

    __пристаням__стремятся

    \n", - "example": 400, - "start_line": 6768, - "end_line": 6772, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "__foo__bar__baz__\n", - "html": "

    foo__bar__baz

    \n", - "example": 401, - "start_line": 6775, - "end_line": 6779, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "__(bar)__.\n", - "html": "

    (bar).

    \n", - "example": 402, - "start_line": 6786, - "end_line": 6790, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*foo [bar](/url)*\n", - "html": "

    foo bar

    \n", - "example": 403, - "start_line": 6798, - "end_line": 6802, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*foo\nbar*\n", - "html": "

    foo\nbar

    \n", - "example": 404, - "start_line": 6805, - "end_line": 6811, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_foo __bar__ baz_\n", - "html": "

    foo bar baz

    \n", - "example": 405, - "start_line": 6817, - "end_line": 6821, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_foo _bar_ baz_\n", - "html": "

    foo bar baz

    \n", - "example": 406, - "start_line": 6824, - "end_line": 6828, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "__foo_ bar_\n", - "html": "

    foo bar

    \n", - "example": 407, - "start_line": 6831, - "end_line": 6835, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo *bar**\n", - "html": "

    foo bar

    \n", - "example": 408, - "start_line": 6838, - "end_line": 6842, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*foo **bar** baz*\n", - "html": "

    foo bar baz

    \n", - "example": 409, - "start_line": 6845, - "end_line": 6849, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*foo**bar**baz*\n", - "html": "

    foobarbaz

    \n", - "example": 410, - "start_line": 6851, - "end_line": 6855, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*foo**bar*\n", - "html": "

    foo**bar

    \n", - "example": 411, - "start_line": 6875, - "end_line": 6879, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "***foo** bar*\n", - "html": "

    foo bar

    \n", - "example": 412, - "start_line": 6888, - "end_line": 6892, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo **bar***\n", - "html": "

    foo bar

    \n", - "example": 413, - "start_line": 6895, - "end_line": 6899, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo**bar***\n", - "html": "

    foobar

    \n", - "example": 414, - "start_line": 6902, - "end_line": 6906, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "foo***bar***baz\n", - "html": "

    foobarbaz

    \n", - "example": 415, - "start_line": 6913, - "end_line": 6917, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "foo******bar*********baz\n", - "html": "

    foobar***baz

    \n", - "example": 416, - "start_line": 6919, - "end_line": 6923, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo **bar *baz* bim** bop*\n", - "html": "

    foo bar baz bim bop

    \n", - "example": 417, - "start_line": 6928, - "end_line": 6932, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo [*bar*](/url)*\n", - "html": "

    foo bar

    \n", - "example": 418, - "start_line": 6935, - "end_line": 6939, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "** is not an empty emphasis\n", - "html": "

    ** is not an empty emphasis

    \n", - "example": 419, - "start_line": 6944, - "end_line": 6948, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**** is not an empty strong emphasis\n", - "html": "

    **** is not an empty strong emphasis

    \n", - "example": 420, - "start_line": 6951, - "end_line": 6955, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo [bar](/url)**\n", - "html": "

    foo bar

    \n", - "example": 421, - "start_line": 6964, - "end_line": 6968, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo\nbar**\n", - "html": "

    foo\nbar

    \n", - "example": 422, - "start_line": 6971, - "end_line": 6977, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__foo _bar_ baz__\n", - "html": "

    foo bar baz

    \n", - "example": 423, - "start_line": 6983, - "end_line": 6987, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__foo __bar__ baz__\n", - "html": "

    foo bar baz

    \n", - "example": 424, - "start_line": 6990, - "end_line": 6994, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "____foo__ bar__\n", - "html": "

    foo bar

    \n", - "example": 425, - "start_line": 6997, - "end_line": 7001, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "**foo **bar****\n", - "html": "

    foo bar

    \n", - "example": 426, - "start_line": 7004, - "end_line": 7008, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo *bar* baz**\n", - "html": "

    foo bar baz

    \n", - "example": 427, - "start_line": 7011, - "end_line": 7015, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo*bar*baz**\n", - "html": "

    foobarbaz

    \n", - "example": 428, - "start_line": 7018, - "end_line": 7022, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "***foo* bar**\n", - "html": "

    foo bar

    \n", - "example": 429, - "start_line": 7025, - "end_line": 7029, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo *bar***\n", - "html": "

    foo bar

    \n", - "example": 430, - "start_line": 7032, - "end_line": 7036, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo *bar **baz**\nbim* bop**\n", - "html": "

    foo bar baz\nbim bop

    \n", - "example": 431, - "start_line": 7041, - "end_line": 7047, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "**foo [*bar*](/url)**\n", - "html": "

    foo bar

    \n", - "example": 432, - "start_line": 7050, - "end_line": 7054, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__ is not an empty emphasis\n", - "html": "

    __ is not an empty emphasis

    \n", - "example": 433, - "start_line": 7059, - "end_line": 7063, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "____ is not an empty strong emphasis\n", - "html": "

    ____ is not an empty strong emphasis

    \n", - "example": 434, - "start_line": 7066, - "end_line": 7070, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo ***\n", - "html": "

    foo ***

    \n", - "example": 435, - "start_line": 7076, - "end_line": 7080, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo *\\**\n", - "html": "

    foo *

    \n", - "example": 436, - "start_line": 7083, - "end_line": 7087, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo *_*\n", - "html": "

    foo _

    \n", - "example": 437, - "start_line": 7090, - "end_line": 7094, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo *****\n", - "html": "

    foo *****

    \n", - "example": 438, - "start_line": 7097, - "end_line": 7101, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo **\\***\n", - "html": "

    foo *

    \n", - "example": 439, - "start_line": 7104, - "end_line": 7108, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo **_**\n", - "html": "

    foo _

    \n", - "example": 440, - "start_line": 7111, - "end_line": 7115, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo*\n", - "html": "

    *foo

    \n", - "example": 441, - "start_line": 7122, - "end_line": 7126, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo**\n", - "html": "

    foo*

    \n", - "example": 442, - "start_line": 7129, - "end_line": 7133, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "***foo**\n", - "html": "

    *foo

    \n", - "example": 443, - "start_line": 7136, - "end_line": 7140, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "****foo*\n", - "html": "

    ***foo

    \n", - "example": 444, - "start_line": 7143, - "end_line": 7147, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "**foo***\n", - "html": "

    foo*

    \n", - "example": 445, - "start_line": 7150, - "end_line": 7154, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo****\n", - "html": "

    foo***

    \n", - "example": 446, - "start_line": 7157, - "end_line": 7161, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "foo ___\n", - "html": "

    foo ___

    \n", - "example": 447, - "start_line": 7167, - "end_line": 7171, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo _\\__\n", - "html": "

    foo _

    \n", - "example": 448, - "start_line": 7174, - "end_line": 7178, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo _*_\n", - "html": "

    foo *

    \n", - "example": 449, - "start_line": 7181, - "end_line": 7185, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo _____\n", - "html": "

    foo _____

    \n", - "example": 450, - "start_line": 7188, - "end_line": 7192, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo __\\___\n", - "html": "

    foo _

    \n", - "example": 451, - "start_line": 7195, - "end_line": 7199, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "foo __*__\n", - "html": "

    foo *

    \n", - "example": 452, - "start_line": 7202, - "end_line": 7206, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__foo_\n", - "html": "

    _foo

    \n", - "example": 453, - "start_line": 7209, - "end_line": 7213, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "_foo__\n", - "html": "

    foo_

    \n", - "example": 454, - "start_line": 7220, - "end_line": 7224, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "___foo__\n", - "html": "

    _foo

    \n", - "example": 455, - "start_line": 7227, - "end_line": 7231, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "____foo_\n", - "html": "

    ___foo

    \n", - "example": 456, - "start_line": 7234, - "end_line": 7238, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "__foo___\n", - "html": "

    foo_

    \n", - "example": 457, - "start_line": 7241, - "end_line": 7245, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "_foo____\n", - "html": "

    foo___

    \n", - "example": 458, - "start_line": 7248, - "end_line": 7252, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "**foo**\n", - "html": "

    foo

    \n", - "example": 459, - "start_line": 7258, - "end_line": 7262, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*_foo_*\n", - "html": "

    foo

    \n", - "example": 460, - "start_line": 7265, - "end_line": 7269, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "__foo__\n", - "html": "

    foo

    \n", - "example": 461, - "start_line": 7272, - "end_line": 7276, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_*foo*_\n", - "html": "

    foo

    \n", - "example": 462, - "start_line": 7279, - "end_line": 7283, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "****foo****\n", - "html": "

    foo

    \n", - "example": 463, - "start_line": 7289, - "end_line": 7293, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "____foo____\n", - "html": "

    foo

    \n", - "example": 464, - "start_line": 7296, - "end_line": 7300, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "******foo******\n", - "html": "

    foo

    \n", - "example": 465, - "start_line": 7307, - "end_line": 7311, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "***foo***\n", - "html": "

    foo

    \n", - "example": 466, - "start_line": 7316, - "end_line": 7320, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "_____foo_____\n", - "html": "

    foo

    \n", - "example": 467, - "start_line": 7323, - "end_line": 7327, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo _bar* baz_\n", - "html": "

    foo _bar baz_

    \n", - "example": 468, - "start_line": 7332, - "end_line": 7336, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*foo __bar *baz bim__ bam*\n", - "html": "

    foo bar *baz bim bam

    \n", - "example": 469, - "start_line": 7339, - "end_line": 7343, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**foo **bar baz**\n", - "html": "

    **foo bar baz

    \n", - "example": 470, - "start_line": 7348, - "end_line": 7352, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*foo *bar baz*\n", - "html": "

    *foo bar baz

    \n", - "example": 471, - "start_line": 7355, - "end_line": 7359, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*[bar*](/url)\n", - "html": "

    *bar*

    \n", - "example": 472, - "start_line": 7364, - "end_line": 7368, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_foo [bar_](/url)\n", - "html": "

    _foo bar_

    \n", - "example": 473, - "start_line": 7371, - "end_line": 7375, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "*\n", - "html": "

    *

    \n", - "example": 474, - "start_line": 7378, - "end_line": 7382, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**\n", - "html": "

    **

    \n", - "example": 475, - "start_line": 7385, - "end_line": 7389, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "__\n", - "html": "

    __

    \n", - "example": 476, - "start_line": 7392, - "end_line": 7396, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "*a `*`*\n", - "html": "

    a *

    \n", - "example": 477, - "start_line": 7399, - "end_line": 7403, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "_a `_`_\n", - "html": "

    a _

    \n", - "example": 478, - "start_line": 7406, - "end_line": 7410, - "section": "Emphasis and strong emphasis" - }, - { - "markdown": "**a\n", - "html": "

    **ahttp://foo.bar/?q=**

    \n", - "example": 479, - "start_line": 7413, - "end_line": 7417, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "__a\n", - "html": "

    __ahttp://foo.bar/?q=__

    \n", - "example": 480, - "start_line": 7420, - "end_line": 7424, - "section": "Emphasis and strong emphasis", - "shouldFail": true - }, - { - "markdown": "[link](/uri \"title\")\n", - "html": "

    link

    \n", - "example": 481, - "start_line": 7503, - "end_line": 7507, - "section": "Links" - }, - { - "markdown": "[link](/uri)\n", - "html": "

    link

    \n", - "example": 482, - "start_line": 7512, - "end_line": 7516, - "section": "Links" - }, - { - "markdown": "[link]()\n", - "html": "

    link

    \n", - "example": 483, - "start_line": 7521, - "end_line": 7525, - "section": "Links" - }, - { - "markdown": "[link](<>)\n", - "html": "

    link

    \n", - "example": 484, - "start_line": 7528, - "end_line": 7532, - "section": "Links" - }, - { - "markdown": "[link](/my uri)\n", - "html": "

    [link](/my uri)

    \n", - "example": 485, - "start_line": 7537, - "end_line": 7541, - "section": "Links" - }, - { - "markdown": "[link](
    )\n", - "html": "

    link

    \n", - "example": 486, - "start_line": 7543, - "end_line": 7547, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[link](foo\nbar)\n", - "html": "

    [link](foo\nbar)

    \n", - "example": 487, - "start_line": 7552, - "end_line": 7558, - "section": "Links" - }, - { - "markdown": "[link]()\n", - "html": "

    [link]()

    \n", - "example": 488, - "start_line": 7560, - "end_line": 7566, - "section": "Links" - }, - { - "markdown": "[a]()\n", - "html": "

    a

    \n", - "example": 489, - "start_line": 7571, - "end_line": 7575, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[link]()\n", - "html": "

    [link](<foo>)

    \n", - "example": 490, - "start_line": 7579, - "end_line": 7583, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[a](\n[a](c)\n", - "html": "

    [a](<b)c\n[a](<b)c>\n[a](c)

    \n", - "example": 491, - "start_line": 7588, - "end_line": 7596, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[link](\\(foo\\))\n", - "html": "

    link

    \n", - "example": 492, - "start_line": 7600, - "end_line": 7604, - "section": "Links" - }, - { - "markdown": "[link](foo(and(bar)))\n", - "html": "

    link

    \n", - "example": 493, - "start_line": 7609, - "end_line": 7613, - "section": "Links" - }, - { - "markdown": "[link](foo\\(and\\(bar\\))\n", - "html": "

    link

    \n", - "example": 494, - "start_line": 7618, - "end_line": 7622, - "section": "Links" - }, - { - "markdown": "[link]()\n", - "html": "

    link

    \n", - "example": 495, - "start_line": 7625, - "end_line": 7629, - "section": "Links" - }, - { - "markdown": "[link](foo\\)\\:)\n", - "html": "

    link

    \n", - "example": 496, - "start_line": 7635, - "end_line": 7639, - "section": "Links" - }, - { - "markdown": "[link](#fragment)\n\n[link](http://example.com#fragment)\n\n[link](http://example.com?foo=3#frag)\n", - "html": "

    link

    \n

    link

    \n

    link

    \n", - "example": 497, - "start_line": 7644, - "end_line": 7654, - "section": "Links" - }, - { - "markdown": "[link](foo\\bar)\n", - "html": "

    link

    \n", - "example": 498, - "start_line": 7660, - "end_line": 7664, - "section": "Links" - }, - { - "markdown": "[link](foo%20bä)\n", - "html": "

    link

    \n", - "example": 499, - "start_line": 7676, - "end_line": 7680, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[link](\"title\")\n", - "html": "

    link

    \n", - "example": 500, - "start_line": 7687, - "end_line": 7691, - "section": "Links" - }, - { - "markdown": "[link](/url \"title\")\n[link](/url 'title')\n[link](/url (title))\n", - "html": "

    link\nlink\nlink

    \n", - "example": 501, - "start_line": 7696, - "end_line": 7704, - "section": "Links" - }, - { - "markdown": "[link](/url \"title \\\""\")\n", - "html": "

    link

    \n", - "example": 502, - "start_line": 7710, - "end_line": 7714, - "section": "Links" - }, - { - "markdown": "[link](/url \"title\")\n", - "html": "

    link

    \n", - "example": 503, - "start_line": 7720, - "end_line": 7724, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[link](/url \"title \"and\" title\")\n", - "html": "

    [link](/url "title "and" title")

    \n", - "example": 504, - "start_line": 7729, - "end_line": 7733, - "section": "Links" - }, - { - "markdown": "[link](/url 'title \"and\" title')\n", - "html": "

    link

    \n", - "example": 505, - "start_line": 7738, - "end_line": 7742, - "section": "Links" - }, - { - "markdown": "[link]( /uri\n \"title\" )\n", - "html": "

    link

    \n", - "example": 506, - "start_line": 7762, - "end_line": 7767, - "section": "Links" - }, - { - "markdown": "[link] (/uri)\n", - "html": "

    [link] (/uri)

    \n", - "example": 507, - "start_line": 7773, - "end_line": 7777, - "section": "Links" - }, - { - "markdown": "[link [foo [bar]]](/uri)\n", - "html": "

    link [foo [bar]]

    \n", - "example": 508, - "start_line": 7783, - "end_line": 7787, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[link] bar](/uri)\n", - "html": "

    [link] bar](/uri)

    \n", - "example": 509, - "start_line": 7790, - "end_line": 7794, - "section": "Links" - }, - { - "markdown": "[link [bar](/uri)\n", - "html": "

    [link bar

    \n", - "example": 510, - "start_line": 7797, - "end_line": 7801, - "section": "Links" - }, - { - "markdown": "[link \\[bar](/uri)\n", - "html": "

    link [bar

    \n", - "example": 511, - "start_line": 7804, - "end_line": 7808, - "section": "Links" - }, - { - "markdown": "[link *foo **bar** `#`*](/uri)\n", - "html": "

    link foo bar #

    \n", - "example": 512, - "start_line": 7813, - "end_line": 7817, - "section": "Links" - }, - { - "markdown": "[![moon](moon.jpg)](/uri)\n", - "html": "

    \"moon\"

    \n", - "example": 513, - "start_line": 7820, - "end_line": 7824, - "section": "Links" - }, - { - "markdown": "[foo [bar](/uri)](/uri)\n", - "html": "

    [foo bar](/uri)

    \n", - "example": 514, - "start_line": 7829, - "end_line": 7833, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[foo *[bar [baz](/uri)](/uri)*](/uri)\n", - "html": "

    [foo [bar baz](/uri)](/uri)

    \n", - "example": 515, - "start_line": 7836, - "end_line": 7840, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "![[[foo](uri1)](uri2)](uri3)\n", - "html": "

    \"[foo](uri2)\"

    \n", - "example": 516, - "start_line": 7843, - "end_line": 7847, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "*[foo*](/uri)\n", - "html": "

    *foo*

    \n", - "example": 517, - "start_line": 7853, - "end_line": 7857, - "section": "Links" - }, - { - "markdown": "[foo *bar](baz*)\n", - "html": "

    foo *bar

    \n", - "example": 518, - "start_line": 7860, - "end_line": 7864, - "section": "Links" - }, - { - "markdown": "*foo [bar* baz]\n", - "html": "

    foo [bar baz]

    \n", - "example": 519, - "start_line": 7870, - "end_line": 7874, - "section": "Links" - }, - { - "markdown": "[foo \n", - "html": "

    [foo

    \n", - "example": 520, - "start_line": 7880, - "end_line": 7884, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[foo`](/uri)`\n", - "html": "

    [foo](/uri)

    \n", - "example": 521, - "start_line": 7887, - "end_line": 7891, - "section": "Links" - }, - { - "markdown": "[foo\n", - "html": "

    [foohttp://example.com/?search=](uri)

    \n", - "example": 522, - "start_line": 7894, - "end_line": 7898, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[foo][bar]\n\n[bar]: /url \"title\"\n", - "html": "

    foo

    \n", - "example": 523, - "start_line": 7932, - "end_line": 7938, - "section": "Links" - }, - { - "markdown": "[link [foo [bar]]][ref]\n\n[ref]: /uri\n", - "html": "

    link [foo [bar]]

    \n", - "example": 524, - "start_line": 7947, - "end_line": 7953, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[link \\[bar][ref]\n\n[ref]: /uri\n", - "html": "

    link [bar

    \n", - "example": 525, - "start_line": 7956, - "end_line": 7962, - "section": "Links" - }, - { - "markdown": "[link *foo **bar** `#`*][ref]\n\n[ref]: /uri\n", - "html": "

    link foo bar #

    \n", - "example": 526, - "start_line": 7967, - "end_line": 7973, - "section": "Links" - }, - { - "markdown": "[![moon](moon.jpg)][ref]\n\n[ref]: /uri\n", - "html": "

    \"moon\"

    \n", - "example": 527, - "start_line": 7976, - "end_line": 7982, - "section": "Links" - }, - { - "markdown": "[foo [bar](/uri)][ref]\n\n[ref]: /uri\n", - "html": "

    [foo bar]ref

    \n", - "example": 528, - "start_line": 7987, - "end_line": 7993, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[foo *bar [baz][ref]*][ref]\n\n[ref]: /uri\n", - "html": "

    [foo bar baz]ref

    \n", - "example": 529, - "start_line": 7996, - "end_line": 8002, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "*[foo*][ref]\n\n[ref]: /uri\n", - "html": "

    *foo*

    \n", - "example": 530, - "start_line": 8011, - "end_line": 8017, - "section": "Links" - }, - { - "markdown": "[foo *bar][ref]\n\n[ref]: /uri\n", - "html": "

    foo *bar

    \n", - "example": 531, - "start_line": 8020, - "end_line": 8026, - "section": "Links" - }, - { - "markdown": "[foo \n\n[ref]: /uri\n", - "html": "

    [foo

    \n", - "example": 532, - "start_line": 8032, - "end_line": 8038, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[foo`][ref]`\n\n[ref]: /uri\n", - "html": "

    [foo][ref]

    \n", - "example": 533, - "start_line": 8041, - "end_line": 8047, - "section": "Links" - }, - { - "markdown": "[foo\n\n[ref]: /uri\n", - "html": "

    [foohttp://example.com/?search=][ref]

    \n", - "example": 534, - "start_line": 8050, - "end_line": 8056, - "section": "Links", - "shouldFail": true - }, - { - "markdown": "[foo][BaR]\n\n[bar]: /url \"title\"\n", - "html": "

    foo

    \n", - "example": 535, - "start_line": 8061, - "end_line": 8067, - "section": "Links" - }, - { - "markdown": "[Толпой][Толпой] is a Russian word.\n\n[ТОЛПОЙ]: /url\n", - "html": "

    Толпой is a Russian word.

    \n", - "example": 536, - "start_line": 8072, - "end_line": 8078, - "section": "Links" - }, - { - "markdown": "[Foo\n bar]: /url\n\n[Baz][Foo bar]\n", - "html": "

    Baz

    \n", - "example": 537, - "start_line": 8084, - "end_line": 8091, - "section": "Links" - }, - { - "markdown": "[foo] [bar]\n\n[bar]: /url \"title\"\n", - "html": "

    [foo] bar

    \n", - "example": 538, - "start_line": 8097, - "end_line": 8103, - "section": "Links" - }, - { - "markdown": "[foo]\n[bar]\n\n[bar]: /url \"title\"\n", - "html": "

    [foo]\nbar

    \n", - "example": 539, - "start_line": 8106, - "end_line": 8114, - "section": "Links" - }, - { - "markdown": "[foo]: /url1\n\n[foo]: /url2\n\n[bar][foo]\n", - "html": "

    bar

    \n", - "example": 540, - "start_line": 8147, - "end_line": 8155, - "section": "Links" - }, - { - "markdown": "[bar][foo\\!]\n\n[foo!]: /url\n", - "html": "

    [bar][foo!]

    \n", - "example": 541, - "start_line": 8162, - "end_line": 8168, - "section": "Links" - }, - { - "markdown": "[foo][ref[]\n\n[ref[]: /uri\n", - "html": "

    [foo][ref[]

    \n

    [ref[]: /uri

    \n", - "example": 542, - "start_line": 8174, - "end_line": 8181, - "section": "Links" - }, - { - "markdown": "[foo][ref[bar]]\n\n[ref[bar]]: /uri\n", - "html": "

    [foo][ref[bar]]

    \n

    [ref[bar]]: /uri

    \n", - "example": 543, - "start_line": 8184, - "end_line": 8191, - "section": "Links" - }, - { - "markdown": "[[[foo]]]\n\n[[[foo]]]: /url\n", - "html": "

    [[[foo]]]

    \n

    [[[foo]]]: /url

    \n", - "example": 544, - "start_line": 8194, - "end_line": 8201, - "section": "Links" - }, - { - "markdown": "[foo][ref\\[]\n\n[ref\\[]: /uri\n", - "html": "

    foo

    \n", - "example": 545, - "start_line": 8204, - "end_line": 8210, - "section": "Links" - }, - { - "markdown": "[bar\\\\]: /uri\n\n[bar\\\\]\n", - "html": "

    bar\\

    \n", - "example": 546, - "start_line": 8215, - "end_line": 8221, - "section": "Links" - }, - { - "markdown": "[]\n\n[]: /uri\n", - "html": "

    []

    \n

    []: /uri

    \n", - "example": 547, - "start_line": 8226, - "end_line": 8233, - "section": "Links" - }, - { - "markdown": "[\n ]\n\n[\n ]: /uri\n", - "html": "

    [\n]

    \n

    [\n]: /uri

    \n", - "example": 548, - "start_line": 8236, - "end_line": 8247, - "section": "Links" - }, - { - "markdown": "[foo][]\n\n[foo]: /url \"title\"\n", - "html": "

    foo

    \n", - "example": 549, - "start_line": 8259, - "end_line": 8265, - "section": "Links" - }, - { - "markdown": "[*foo* bar][]\n\n[*foo* bar]: /url \"title\"\n", - "html": "

    foo bar

    \n", - "example": 550, - "start_line": 8268, - "end_line": 8274, - "section": "Links" - }, - { - "markdown": "[Foo][]\n\n[foo]: /url \"title\"\n", - "html": "

    Foo

    \n", - "example": 551, - "start_line": 8279, - "end_line": 8285, - "section": "Links" - }, - { - "markdown": "[foo] \n[]\n\n[foo]: /url \"title\"\n", - "html": "

    foo\n[]

    \n", - "example": 552, - "start_line": 8292, - "end_line": 8300, - "section": "Links" - }, - { - "markdown": "[foo]\n\n[foo]: /url \"title\"\n", - "html": "

    foo

    \n", - "example": 553, - "start_line": 8312, - "end_line": 8318, - "section": "Links" - }, - { - "markdown": "[*foo* bar]\n\n[*foo* bar]: /url \"title\"\n", - "html": "

    foo bar

    \n", - "example": 554, - "start_line": 8321, - "end_line": 8327, - "section": "Links" - }, - { - "markdown": "[[*foo* bar]]\n\n[*foo* bar]: /url \"title\"\n", - "html": "

    [foo bar]

    \n", - "example": 555, - "start_line": 8330, - "end_line": 8336, - "section": "Links" - }, - { - "markdown": "[[bar [foo]\n\n[foo]: /url\n", - "html": "

    [[bar foo

    \n", - "example": 556, - "start_line": 8339, - "end_line": 8345, - "section": "Links" - }, - { - "markdown": "[Foo]\n\n[foo]: /url \"title\"\n", - "html": "

    Foo

    \n", - "example": 557, - "start_line": 8350, - "end_line": 8356, - "section": "Links" - }, - { - "markdown": "[foo] bar\n\n[foo]: /url\n", - "html": "

    foo bar

    \n", - "example": 558, - "start_line": 8361, - "end_line": 8367, - "section": "Links" - }, - { - "markdown": "\\[foo]\n\n[foo]: /url \"title\"\n", - "html": "

    [foo]

    \n", - "example": 559, - "start_line": 8373, - "end_line": 8379, - "section": "Links" - }, - { - "markdown": "[foo*]: /url\n\n*[foo*]\n", - "html": "

    *foo*

    \n", - "example": 560, - "start_line": 8385, - "end_line": 8391, - "section": "Links" - }, - { - "markdown": "[foo][bar]\n\n[foo]: /url1\n[bar]: /url2\n", - "html": "

    foo

    \n", - "example": 561, - "start_line": 8397, - "end_line": 8404, - "section": "Links" - }, - { - "markdown": "[foo][]\n\n[foo]: /url1\n", - "html": "

    foo

    \n", - "example": 562, - "start_line": 8406, - "end_line": 8412, - "section": "Links" - }, - { - "markdown": "[foo]()\n\n[foo]: /url1\n", - "html": "

    foo

    \n", - "example": 563, - "start_line": 8416, - "end_line": 8422, - "section": "Links" - }, - { - "markdown": "[foo](not a link)\n\n[foo]: /url1\n", - "html": "

    foo(not a link)

    \n", - "example": 564, - "start_line": 8424, - "end_line": 8430, - "section": "Links" - }, - { - "markdown": "[foo][bar][baz]\n\n[baz]: /url\n", - "html": "

    [foo]bar

    \n", - "example": 565, - "start_line": 8435, - "end_line": 8441, - "section": "Links" - }, - { - "markdown": "[foo][bar][baz]\n\n[baz]: /url1\n[bar]: /url2\n", - "html": "

    foobaz

    \n", - "example": 566, - "start_line": 8447, - "end_line": 8454, - "section": "Links" - }, - { - "markdown": "[foo][bar][baz]\n\n[baz]: /url1\n[foo]: /url2\n", - "html": "

    [foo]bar

    \n", - "example": 567, - "start_line": 8460, - "end_line": 8467, - "section": "Links" - }, - { - "markdown": "![foo](/url \"title\")\n", - "html": "

    \"foo\"

    \n", - "example": 568, - "start_line": 8483, - "end_line": 8487, - "section": "Images" - }, - { - "markdown": "![foo *bar*]\n\n[foo *bar*]: train.jpg \"train & tracks\"\n", - "html": "

    \"foo

    \n", - "example": 569, - "start_line": 8490, - "end_line": 8496, - "section": "Images", - "shouldFail": true - }, - { - "markdown": "![foo ![bar](/url)](/url2)\n", - "html": "

    \"foo

    \n", - "example": 570, - "start_line": 8499, - "end_line": 8503, - "section": "Images", - "shouldFail": true - }, - { - "markdown": "![foo [bar](/url)](/url2)\n", - "html": "

    \"foo

    \n", - "example": 571, - "start_line": 8506, - "end_line": 8510, - "section": "Images", - "shouldFail": true - }, - { - "markdown": "![foo *bar*][]\n\n[foo *bar*]: train.jpg \"train & tracks\"\n", - "html": "

    \"foo

    \n", - "example": 572, - "start_line": 8520, - "end_line": 8526, - "section": "Images", - "shouldFail": true - }, - { - "markdown": "![foo *bar*][foobar]\n\n[FOOBAR]: train.jpg \"train & tracks\"\n", - "html": "

    \"foo

    \n", - "example": 573, - "start_line": 8529, - "end_line": 8535, - "section": "Images", - "shouldFail": true - }, - { - "markdown": "![foo](train.jpg)\n", - "html": "

    \"foo\"

    \n", - "example": 574, - "start_line": 8538, - "end_line": 8542, - "section": "Images" - }, - { - "markdown": "My ![foo bar](/path/to/train.jpg \"title\" )\n", - "html": "

    My \"foo

    \n", - "example": 575, - "start_line": 8545, - "end_line": 8549, - "section": "Images" - }, - { - "markdown": "![foo]()\n", - "html": "

    \"foo\"

    \n", - "example": 576, - "start_line": 8552, - "end_line": 8556, - "section": "Images" - }, - { - "markdown": "![](/url)\n", - "html": "

    \"\"

    \n", - "example": 577, - "start_line": 8559, - "end_line": 8563, - "section": "Images" - }, - { - "markdown": "![foo][bar]\n\n[bar]: /url\n", - "html": "

    \"foo\"

    \n", - "example": 578, - "start_line": 8568, - "end_line": 8574, - "section": "Images" - }, - { - "markdown": "![foo][bar]\n\n[BAR]: /url\n", - "html": "

    \"foo\"

    \n", - "example": 579, - "start_line": 8577, - "end_line": 8583, - "section": "Images" - }, - { - "markdown": "![foo][]\n\n[foo]: /url \"title\"\n", - "html": "

    \"foo\"

    \n", - "example": 580, - "start_line": 8588, - "end_line": 8594, - "section": "Images" - }, - { - "markdown": "![*foo* bar][]\n\n[*foo* bar]: /url \"title\"\n", - "html": "

    \"foo

    \n", - "example": 581, - "start_line": 8597, - "end_line": 8603, - "section": "Images", - "shouldFail": true - }, - { - "markdown": "![Foo][]\n\n[foo]: /url \"title\"\n", - "html": "

    \"Foo\"

    \n", - "example": 582, - "start_line": 8608, - "end_line": 8614, - "section": "Images" - }, - { - "markdown": "![foo] \n[]\n\n[foo]: /url \"title\"\n", - "html": "

    \"foo\"\n[]

    \n", - "example": 583, - "start_line": 8620, - "end_line": 8628, - "section": "Images" - }, - { - "markdown": "![foo]\n\n[foo]: /url \"title\"\n", - "html": "

    \"foo\"

    \n", - "example": 584, - "start_line": 8633, - "end_line": 8639, - "section": "Images" - }, - { - "markdown": "![*foo* bar]\n\n[*foo* bar]: /url \"title\"\n", - "html": "

    \"foo

    \n", - "example": 585, - "start_line": 8642, - "end_line": 8648, - "section": "Images", - "shouldFail": true - }, - { - "markdown": "![[foo]]\n\n[[foo]]: /url \"title\"\n", - "html": "

    ![[foo]]

    \n

    [[foo]]: /url "title"

    \n", - "example": 586, - "start_line": 8653, - "end_line": 8660, - "section": "Images" - }, - { - "markdown": "![Foo]\n\n[foo]: /url \"title\"\n", - "html": "

    \"Foo\"

    \n", - "example": 587, - "start_line": 8665, - "end_line": 8671, - "section": "Images" - }, - { - "markdown": "!\\[foo]\n\n[foo]: /url \"title\"\n", - "html": "

    ![foo]

    \n", - "example": 588, - "start_line": 8677, - "end_line": 8683, - "section": "Images" - }, - { - "markdown": "\\![foo]\n\n[foo]: /url \"title\"\n", - "html": "

    !foo

    \n", - "example": 589, - "start_line": 8689, - "end_line": 8695, - "section": "Images" - }, - { - "markdown": "\n", - "html": "

    http://foo.bar.baz

    \n", - "example": 590, - "start_line": 8722, - "end_line": 8726, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    http://foo.bar.baz/test?q=hello&id=22&boolean

    \n", - "example": 591, - "start_line": 8729, - "end_line": 8733, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    irc://foo.bar:2233/baz

    \n", - "example": 592, - "start_line": 8736, - "end_line": 8740, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    MAILTO:FOO@BAR.BAZ

    \n", - "example": 593, - "start_line": 8745, - "end_line": 8749, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    a+b+c:d

    \n", - "example": 594, - "start_line": 8757, - "end_line": 8761, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    made-up-scheme://foo,bar

    \n", - "example": 595, - "start_line": 8764, - "end_line": 8768, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    http://../

    \n", - "example": 596, - "start_line": 8771, - "end_line": 8775, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    localhost:5001/foo

    \n", - "example": 597, - "start_line": 8778, - "end_line": 8782, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    <http://foo.bar/baz bim>

    \n", - "example": 598, - "start_line": 8787, - "end_line": 8791, - "section": "Autolinks", - "shouldFail": true - }, - { - "markdown": "\n", - "html": "

    http://example.com/\\[\\

    \n", - "example": 599, - "start_line": 8796, - "end_line": 8800, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    foo@bar.example.com

    \n", - "example": 600, - "start_line": 8818, - "end_line": 8822, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    foo+special@Bar.baz-bar0.com

    \n", - "example": 601, - "start_line": 8825, - "end_line": 8829, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    <foo+@bar.example.com>

    \n", - "example": 602, - "start_line": 8834, - "end_line": 8838, - "section": "Autolinks" - }, - { - "markdown": "<>\n", - "html": "

    <>

    \n", - "example": 603, - "start_line": 8843, - "end_line": 8847, - "section": "Autolinks" - }, - { - "markdown": "< http://foo.bar >\n", - "html": "

    < http://foo.bar >

    \n", - "example": 604, - "start_line": 8850, - "end_line": 8854, - "section": "Autolinks", - "shouldFail": true - }, - { - "markdown": "\n", - "html": "

    <m:abc>

    \n", - "example": 605, - "start_line": 8857, - "end_line": 8861, - "section": "Autolinks" - }, - { - "markdown": "\n", - "html": "

    <foo.bar.baz>

    \n", - "example": 606, - "start_line": 8864, - "end_line": 8868, - "section": "Autolinks" - }, - { - "markdown": "http://example.com\n", - "html": "

    http://example.com

    \n", - "example": 607, - "start_line": 8871, - "end_line": 8875, - "section": "Autolinks", - "shouldFail": true - }, - { - "markdown": "foo@bar.example.com\n", - "html": "

    foo@bar.example.com

    \n", - "example": 608, - "start_line": 8878, - "end_line": 8882, - "section": "Autolinks", - "shouldFail": true - }, - { - "markdown": "\n", - "html": "

    \n", - "example": 609, - "start_line": 8960, - "end_line": 8964, - "section": "Raw HTML" - }, - { - "markdown": "\n", - "html": "

    \n", - "example": 610, - "start_line": 8969, - "end_line": 8973, - "section": "Raw HTML" - }, - { - "markdown": "\n", - "html": "

    \n", - "example": 611, - "start_line": 8978, - "end_line": 8984, - "section": "Raw HTML" - }, - { - "markdown": "\n", - "html": "

    \n", - "example": 612, - "start_line": 8989, - "end_line": 8995, - "section": "Raw HTML" - }, - { - "markdown": "Foo \n", - "html": "

    Foo

    \n", - "example": 613, - "start_line": 9000, - "end_line": 9004, - "section": "Raw HTML" - }, - { - "markdown": "<33> <__>\n", - "html": "

    <33> <__>

    \n", - "example": 614, - "start_line": 9009, - "end_line": 9013, - "section": "Raw HTML" - }, - { - "markdown": "
    \n", - "html": "

    <a h*#ref="hi">

    \n", - "example": 615, - "start_line": 9018, - "end_line": 9022, - "section": "Raw HTML" - }, - { - "markdown": "
    \n", - "html": "

    <a href="hi'> <a href=hi'>

    \n", - "example": 616, - "start_line": 9027, - "end_line": 9031, - "section": "Raw HTML" - }, - { - "markdown": "< a><\nfoo>\n\n", - "html": "

    < a><\nfoo><bar/ >\n<foo bar=baz\nbim!bop />

    \n", - "example": 617, - "start_line": 9036, - "end_line": 9046, - "section": "Raw HTML" - }, - { - "markdown": "
    \n", - "html": "

    <a href='bar'title=title>

    \n", - "example": 618, - "start_line": 9051, - "end_line": 9055, - "section": "Raw HTML" - }, - { - "markdown": "
    \n", - "html": "

    \n", - "example": 619, - "start_line": 9060, - "end_line": 9064, - "section": "Raw HTML" - }, - { - "markdown": "\n", - "html": "

    </a href="foo">

    \n", - "example": 620, - "start_line": 9069, - "end_line": 9073, - "section": "Raw HTML" - }, - { - "markdown": "foo \n", - "html": "

    foo

    \n", - "example": 621, - "start_line": 9078, - "end_line": 9084, - "section": "Raw HTML" - }, - { - "markdown": "foo \n", - "html": "

    foo <!-- not a comment -- two hyphens -->

    \n", - "example": 622, - "start_line": 9087, - "end_line": 9091, - "section": "Raw HTML", - "shouldFail": true - }, - { - "markdown": "foo foo -->\n\nfoo \n", - "html": "

    foo <!--> foo -->

    \n

    foo <!-- foo--->

    \n", - "example": 623, - "start_line": 9096, - "end_line": 9103, - "section": "Raw HTML", - "shouldFail": true - }, - { - "markdown": "foo \n", - "html": "

    foo

    \n", - "example": 624, - "start_line": 9108, - "end_line": 9112, - "section": "Raw HTML" - }, - { - "markdown": "foo \n", - "html": "

    foo

    \n", - "example": 625, - "start_line": 9117, - "end_line": 9121, - "section": "Raw HTML" - }, - { - "markdown": "foo &<]]>\n", - "html": "

    foo &<]]>

    \n", - "example": 626, - "start_line": 9126, - "end_line": 9130, - "section": "Raw HTML" - }, - { - "markdown": "foo \n", - "html": "

    foo

    \n", - "example": 627, - "start_line": 9136, - "end_line": 9140, - "section": "Raw HTML" - }, - { - "markdown": "foo \n", - "html": "

    foo

    \n", - "example": 628, - "start_line": 9145, - "end_line": 9149, - "section": "Raw HTML" - }, - { - "markdown": "\n", - "html": "

    <a href=""">

    \n", - "example": 629, - "start_line": 9152, - "end_line": 9156, - "section": "Raw HTML" - }, - { - "markdown": "foo \nbaz\n", - "html": "

    foo
    \nbaz

    \n", - "example": 630, - "start_line": 9166, - "end_line": 9172, - "section": "Hard line breaks" - }, - { - "markdown": "foo\\\nbaz\n", - "html": "

    foo
    \nbaz

    \n", - "example": 631, - "start_line": 9178, - "end_line": 9184, - "section": "Hard line breaks" - }, - { - "markdown": "foo \nbaz\n", - "html": "

    foo
    \nbaz

    \n", - "example": 632, - "start_line": 9189, - "end_line": 9195, - "section": "Hard line breaks" - }, - { - "markdown": "foo \n bar\n", - "html": "

    foo
    \nbar

    \n", - "example": 633, - "start_line": 9200, - "end_line": 9206, - "section": "Hard line breaks" - }, - { - "markdown": "foo\\\n bar\n", - "html": "

    foo
    \nbar

    \n", - "example": 634, - "start_line": 9209, - "end_line": 9215, - "section": "Hard line breaks" - }, - { - "markdown": "*foo \nbar*\n", - "html": "

    foo
    \nbar

    \n", - "example": 635, - "start_line": 9221, - "end_line": 9227, - "section": "Hard line breaks" - }, - { - "markdown": "*foo\\\nbar*\n", - "html": "

    foo
    \nbar

    \n", - "example": 636, - "start_line": 9230, - "end_line": 9236, - "section": "Hard line breaks" - }, - { - "markdown": "`code \nspan`\n", - "html": "

    code span

    \n", - "example": 637, - "start_line": 9241, - "end_line": 9246, - "section": "Hard line breaks" - }, - { - "markdown": "`code\\\nspan`\n", - "html": "

    code\\ span

    \n", - "example": 638, - "start_line": 9249, - "end_line": 9254, - "section": "Hard line breaks" - }, - { - "markdown": "
    \n", - "html": "

    \n", - "example": 639, - "start_line": 9259, - "end_line": 9265, - "section": "Hard line breaks" - }, - { - "markdown": "\n", - "html": "

    \n", - "example": 640, - "start_line": 9268, - "end_line": 9274, - "section": "Hard line breaks" - }, - { - "markdown": "foo\\\n", - "html": "

    foo\\

    \n", - "example": 641, - "start_line": 9281, - "end_line": 9285, - "section": "Hard line breaks" - }, - { - "markdown": "foo \n", - "html": "

    foo

    \n", - "example": 642, - "start_line": 9288, - "end_line": 9292, - "section": "Hard line breaks" - }, - { - "markdown": "### foo\\\n", - "html": "

    foo\\

    \n", - "example": 643, - "start_line": 9295, - "end_line": 9299, - "section": "Hard line breaks" - }, - { - "markdown": "### foo \n", - "html": "

    foo

    \n", - "example": 644, - "start_line": 9302, - "end_line": 9306, - "section": "Hard line breaks" - }, - { - "markdown": "foo\nbaz\n", - "html": "

    foo\nbaz

    \n", - "example": 645, - "start_line": 9317, - "end_line": 9323, - "section": "Soft line breaks" - }, - { - "markdown": "foo \n baz\n", - "html": "

    foo\nbaz

    \n", - "example": 646, - "start_line": 9329, - "end_line": 9335, - "section": "Soft line breaks" - }, - { - "markdown": "hello $.;'there\n", - "html": "

    hello $.;'there

    \n", - "example": 647, - "start_line": 9349, - "end_line": 9353, - "section": "Textual content" - }, - { - "markdown": "Foo χρῆν\n", - "html": "

    Foo χρῆν

    \n", - "example": 648, - "start_line": 9356, - "end_line": 9360, - "section": "Textual content" - }, - { - "markdown": "Multiple spaces\n", - "html": "

    Multiple spaces

    \n", - "example": 649, - "start_line": 9365, - "end_line": 9369, - "section": "Textual content" - } -] diff --git a/app/system/modules/editor/app/assets/marked/test/specs/gfm/gfm.0.29.json b/app/system/modules/editor/app/assets/marked/test/specs/gfm/gfm.0.29.json deleted file mode 100755 index 84bde40a..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/gfm/gfm.0.29.json +++ /dev/null @@ -1,147 +0,0 @@ -[ - { - "section": "[extension] Tables", - "html": "\n\n\n\n\n\n\n\n\n\n\n\n\n
    foobar
    bazbim
    ", - "markdown": "| foo | bar |\n| --- | --- |\n| baz | bim |", - "example": 198 - }, - { - "section": "[extension] Tables", - "html": "\n\n\n\n\n\n\n\n\n\n\n\n\n
    abcdefghi
    barbaz
    ", - "markdown": "| abc | defghi |\n:-: | -----------:\nbar | baz", - "example": 199 - }, - { - "section": "[extension] Tables", - "html": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n
    f|oo
    b | az
    b | im
    ", - "markdown": "| f\\|oo |\n| ------ |\n| b `\\|` az |\n| b **\\|** im |", - "example": 200 - }, - { - "section": "[extension] Tables", - "html": "\n\n\n\n\n\n\n\n\n\n\n\n\n
    abcdef
    barbaz
    \n
    \n

    bar

    \n
    ", - "markdown": "| abc | def |\n| --- | --- |\n| bar | baz |\n> bar", - "example": 201 - }, - { - "section": "[extension] Tables", - "html": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
    abcdef
    barbaz
    bar
    \n

    bar

    ", - "markdown": "| abc | def |\n| --- | --- |\n| bar | baz |\nbar\n\nbar", - "example": 202 - }, - { - "section": "[extension] Tables", - "html": "

    | abc | def |\n| --- |\n| bar |

    ", - "markdown": "| abc | def |\n| --- |\n| bar |", - "example": 203 - }, - { - "section": "[extension] Tables", - "html": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
    abcdef
    bar
    barbaz
    ", - "markdown": "| abc | def |\n| --- | --- |\n| bar |\n| bar | baz | boo |", - "example": 204 - }, - { - "section": "[extension] Tables", - "html": "\n\n\n\n\n\n\n
    abcdef
    ", - "markdown": "| abc | def |\n| --- | --- |", - "example": 205 - }, - { - "section": "[extension] Task list items", - "html": "
      \n
    • foo
    • \n
    • bar
    • \n
    ", - "markdown": "- [ ] foo\n- [x] bar", - "example": 279 - }, - { - "section": "[extension] Task list items", - "html": "
      \n
    • foo\n
        \n
      • bar
      • \n
      • baz
      • \n
      \n
    • \n
    • bim
    • \n
    ", - "markdown": "- [x] foo\n - [ ] bar\n - [x] baz\n- [ ] bim", - "example": 280 - }, - { - "section": "[extension] Strikethrough", - "html": "

    Hi Hello, world!

    ", - "markdown": "~~Hi~~ Hello, world!", - "example": 491 - }, - { - "section": "[extension] Strikethrough", - "html": "

    This ~~has a

    \n

    new paragraph~~.

    ", - "markdown": "This ~~has a\n\nnew paragraph~~.", - "example": 492 - }, - { - "section": "[extension] Autolinks", - "html": "

    www.commonmark.org

    ", - "markdown": "www.commonmark.org", - "example": 621 - }, - { - "section": "[extension] Autolinks", - "html": "

    Visit www.commonmark.org/help for more information.

    ", - "markdown": "Visit www.commonmark.org/help for more information.", - "example": 622 - }, - { - "section": "[extension] Autolinks", - "html": "

    Visit www.commonmark.org.

    \n

    Visit www.commonmark.org/a.b.

    ", - "markdown": "Visit www.commonmark.org.\n\nVisit www.commonmark.org/a.b.", - "example": 623 - }, - { - "section": "[extension] Autolinks", - "html": "

    www.google.com/search?q=Markup+(business)

    \n

    www.google.com/search?q=Markup+(business)))

    \n

    (www.google.com/search?q=Markup+(business))

    \n

    (www.google.com/search?q=Markup+(business)

    ", - "markdown": "www.google.com/search?q=Markup+(business)\n\nwww.google.com/search?q=Markup+(business)))\n\n(www.google.com/search?q=Markup+(business))\n\n(www.google.com/search?q=Markup+(business)", - "example": 624 - }, - { - "section": "[extension] Autolinks", - "html": "

    www.google.com/search?q=(business))+ok

    ", - "markdown": "www.google.com/search?q=(business))+ok", - "example": 625 - }, - { - "section": "[extension] Autolinks", - "html": "

    www.google.com/search?q=commonmark&hl=en

    \n

    www.google.com/search?q=commonmark&hl;

    ", - "markdown": "www.google.com/search?q=commonmark&hl=en\n\nwww.google.com/search?q=commonmark&hl;", - "example": 626 - }, - { - "section": "[extension] Autolinks", - "html": "

    www.commonmark.org/he<lp

    ", - "markdown": "www.commonmark.org/hehttp://commonmark.org

    \n

    (Visit https://encrypted.google.com/search?q=Markup+(business))

    \n

    Anonymous FTP is available at ftp://foo.bar.baz.

    ", - "markdown": "http://commonmark.org\n\n(Visit https://encrypted.google.com/search?q=Markup+(business))\n\nAnonymous FTP is available at ftp://foo.bar.baz.", - "example": 628 - }, - { - "section": "[extension] Autolinks", - "html": "

    foo@bar.baz

    ", - "markdown": "foo@bar.baz", - "example": 629 - }, - { - "section": "[extension] Autolinks", - "html": "

    hello@mail+xyz.example isn't valid, but hello+xyz@mail.example is.

    ", - "markdown": "hello@mail+xyz.example isn't valid, but hello+xyz@mail.example is.", - "example": 630 - }, - { - "section": "[extension] Autolinks", - "html": "

    a.b-c_d@a.b

    \n

    a.b-c_d@a.b.

    \n

    a.b-c_d@a.b-

    \n

    a.b-c_d@a.b_

    ", - "markdown": "a.b-c_d@a.b\n\na.b-c_d@a.b.\n\na.b-c_d@a.b-\n\na.b-c_d@a.b_", - "example": 631 - }, - { - "section": "[extension] Disallowed Raw HTML", - "html": "

    <title> <style>

    \n
    \n <xmp> is disallowed. <XMP> is also disallowed.\n
    ", - "markdown": " <style> <em>\n\n<blockquote>\n <xmp> is disallowed. <XMP> is also disallowed.\n</blockquote>", - "example": 653, - "shouldFail": true - } -] diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/adjacent_lists.html b/app/system/modules/editor/app/assets/marked/test/specs/new/adjacent_lists.html deleted file mode 100755 index b4cd8f50..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/adjacent_lists.html +++ /dev/null @@ -1,9 +0,0 @@ -<ul> -<li>This should be</li> -<li>An unordered list</li> -</ul> - -<ol> -<li>This should be</li> -<li>An unordered list</li> -</ol> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/adjacent_lists.md b/app/system/modules/editor/app/assets/marked/test/specs/new/adjacent_lists.md deleted file mode 100755 index 3fd460b3..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/adjacent_lists.md +++ /dev/null @@ -1,5 +0,0 @@ -* This should be -* An unordered list - -1. This should be -2. An unordered list diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/autolink_lines.html b/app/system/modules/editor/app/assets/marked/test/specs/new/autolink_lines.html deleted file mode 100755 index aa2bed4d..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/autolink_lines.html +++ /dev/null @@ -1,3 +0,0 @@ -<p>hello world -<a href="http://example.com">http://example.com</a> -</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/autolink_lines.md b/app/system/modules/editor/app/assets/marked/test/specs/new/autolink_lines.md deleted file mode 100755 index c9b61a2c..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/autolink_lines.md +++ /dev/null @@ -1,2 +0,0 @@ -hello world -<http://example.com> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/autolinks.html b/app/system/modules/editor/app/assets/marked/test/specs/new/autolinks.html deleted file mode 100755 index 8fa4837e..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/autolinks.html +++ /dev/null @@ -1,15 +0,0 @@ -<p>(See <a href="https://www.example.com/fhqwhgads">https://www.example.com/fhqwhgads</a>.)</p> - -<p>((<a href="http://foo.com">http://foo.com</a>))</p> - -<p>((<a href="http://foo.com">http://foo.com</a>.))</p> - -<p><a href="HTTP://FOO.COM">HTTP://FOO.COM</a></p> - -<p><a href="hTtP://fOo.CoM">hTtP://fOo.CoM</a></p> - -<p><del><a href="mailto:hello@email.com">hello@email.com</a></del></p> - -<p><strong><a href="mailto:me@example.com">me@example.com</a></strong></p> - -<p><strong><a href="mailto:test@test.com">test@test.com</a></strong></p> \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/autolinks.md b/app/system/modules/editor/app/assets/marked/test/specs/new/autolinks.md deleted file mode 100755 index 1f5f739c..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/autolinks.md +++ /dev/null @@ -1,15 +0,0 @@ -(See https://www.example.com/fhqwhgads.) - -((http://foo.com)) - -((http://foo.com.)) - -HTTP://FOO.COM - -hTtP://fOo.CoM - -~~hello@email.com~~ - -**me@example.com** - -__test@test.com__ \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/blockquote_list_item.html b/app/system/modules/editor/app/assets/marked/test/specs/new/blockquote_list_item.html deleted file mode 100755 index 83cf0bdd..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/blockquote_list_item.html +++ /dev/null @@ -1,3 +0,0 @@ -<p>This fails in markdown.pl and upskirt:</p> - -<ul><li>hello<blockquote><p>world</p></blockquote></li></ul> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/blockquote_list_item.md b/app/system/modules/editor/app/assets/marked/test/specs/new/blockquote_list_item.md deleted file mode 100755 index 19e93829..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/blockquote_list_item.md +++ /dev/null @@ -1,4 +0,0 @@ -This fails in markdown.pl and upskirt: - -* hello - > world diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/breaks.html b/app/system/modules/editor/app/assets/marked/test/specs/new/breaks.html deleted file mode 100755 index 04dc13ac..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/breaks.html +++ /dev/null @@ -1 +0,0 @@ -<p>A<br>B</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/breaks.md b/app/system/modules/editor/app/assets/marked/test/specs/new/breaks.md deleted file mode 100755 index e133fa00..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/breaks.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -breaks: true -gfm: true ---- -A -B diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/case_insensitive_refs.html b/app/system/modules/editor/app/assets/marked/test/specs/new/case_insensitive_refs.html deleted file mode 100755 index c54388ea..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/case_insensitive_refs.html +++ /dev/null @@ -1 +0,0 @@ -<p><a href="/url">hi</a></p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/case_insensitive_refs.md b/app/system/modules/editor/app/assets/marked/test/specs/new/case_insensitive_refs.md deleted file mode 100755 index 598915a8..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/case_insensitive_refs.md +++ /dev/null @@ -1,3 +0,0 @@ -[hi] - -[HI]: /url diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/code_spans.html b/app/system/modules/editor/app/assets/marked/test/specs/new/code_spans.html deleted file mode 100755 index ca220d80..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/code_spans.html +++ /dev/null @@ -1,3 +0,0 @@ -<p><code>someone@example.com</code></p> - -<p>``<em>test`</em></p> \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/code_spans.md b/app/system/modules/editor/app/assets/marked/test/specs/new/code_spans.md deleted file mode 100755 index 845a116a..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/code_spans.md +++ /dev/null @@ -1,3 +0,0 @@ -`someone@example.com` - -``*test`* \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/def_blocks.html b/app/system/modules/editor/app/assets/marked/test/specs/new/def_blocks.html deleted file mode 100755 index 5d8de49c..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/def_blocks.html +++ /dev/null @@ -1,30 +0,0 @@ -<blockquote> - <p>hello -[1]: hello</p> -</blockquote> - -<hr> - -<blockquote> - <p>hello -[2]: hello</p> -</blockquote> - - -<ul> -<li>hello</li> -<li>[3]: hello</li> -</ul> - - -<ul> -<li>hello</li> -</ul> - - -<blockquote> - <p>foo -bar -[5]: foo -bar</p> -</blockquote> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/def_blocks.md b/app/system/modules/editor/app/assets/marked/test/specs/new/def_blocks.md deleted file mode 100755 index f58fa4d3..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/def_blocks.md +++ /dev/null @@ -1,21 +0,0 @@ -> hello -> [1]: hello - -* * * - -> hello -[2]: hello - - -* hello -* [3]: hello - - -* hello -[4]: hello - - -> foo -> bar -[5]: foo -> bar diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/double_link.html b/app/system/modules/editor/app/assets/marked/test/specs/new/double_link.html deleted file mode 100755 index ff68395a..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/double_link.html +++ /dev/null @@ -1,5 +0,0 @@ -<p>Already linked: <a href="http://example.com/">http://example.com/</a>.</p> - -<p>Already linked: <a href="http://example.com/">http://example.com/</a>.</p> - -<p>Already linked: <a href="http://example.com/"><strong>http://example.com/</strong></a>.</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/double_link.md b/app/system/modules/editor/app/assets/marked/test/specs/new/double_link.md deleted file mode 100755 index 50216736..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/double_link.md +++ /dev/null @@ -1,5 +0,0 @@ -<p>Already linked: <a href="http://example.com/">http://example.com/</a>.</p> - -Already linked: [http://example.com/](http://example.com/). - -Already linked: <a href="http://example.com/">**http://example.com/**</a>. diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/em_2char.html b/app/system/modules/editor/app/assets/marked/test/specs/new/em_2char.html deleted file mode 100755 index 81da0a00..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/em_2char.html +++ /dev/null @@ -1,25 +0,0 @@ -<p><em>123</em></p> - -<p><em>123</em></p> - -<p><em>12</em></p> - -<p><em>12</em></p> - -<p><em>1</em></p> - -<p><em>1</em></p> - -<p>__</p> - -<p>**</p> - -<p>_123 _</p> - -<p>*123 *</p> - -<p>_ 123_</p> - -<p><em>1_</em></p> - -<p><em>1*</em></p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/em_2char.md b/app/system/modules/editor/app/assets/marked/test/specs/new/em_2char.md deleted file mode 100755 index ca8689aa..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/em_2char.md +++ /dev/null @@ -1,25 +0,0 @@ -_123_ - -*123* - -_12_ - -*12* - -_1_ - -*1* - -__ - -** - -_123 _ - -*123 * - -_ 123_ - -_1__ - -*1** diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/em_list_links.html b/app/system/modules/editor/app/assets/marked/test/specs/new/em_list_links.html deleted file mode 100755 index b52cd2a9..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/em_list_links.html +++ /dev/null @@ -1,55 +0,0 @@ -<ul> -<li>italic<ul> -<li><a href="https://www.google.com"><em>named link</em></a></li> -<li><em><a href="https://www.google.com">named link</a></em></li> -<li><a href="https://www.google.com"><em>named link</em></a></li> -<li><em><a href="https://www.google.com">named link</a></em></li> -</ul> -</li> -<li>bold<ul> -<li><a href="https://www.google.com"><strong>named link</strong></a></li> -<li><strong><a href="https://www.google.com">named link</a></strong></li> -<li><a href="https://www.google.com"><strong>named link</strong></a></li> -<li><strong><a href="https://www.google.com">named link</a></strong></li> -</ul> -</li> -<li>bold italic<ul> -<li><a href="https://www.google.com"><strong><em>named link</em></strong></a></li> -<li><strong><em><a href="https://www.google.com">named link</a></em></strong></li> -<li><a href="https://www.google.com"><strong><em>named link</em></strong></a></li> -<li><strong><em><a href="https://www.google.com">named link</a></em></strong></li> -<li><a href="https://www.google.com"><em><strong>named link</strong></em></a></li> -<li><a href="https://www.google.com"><strong><em>named link</em></strong></a></li> -<li><strong><em><a href="https://www.google.com">named link</a></em></strong></li> -</ul> -</li> -<li>code<ul> -<li><a href="https://www.google.com"><code>named link</code></a></li> -</ul> -</li> -<li>code italic<ul> -<li><em><a href="https://www.google.com"><code>named link</code></a></em></li> -<li><a href="https://www.google.com"><em><code>named link</code></em></a></li> -<li><em><a href="https://www.google.com"><code>named link</code></a></em></li> -<li><a href="https://www.google.com"><em><code>named link</code></em></a></li> -</ul> -</li> -<li>code bold<ul> -<li><strong><a href="https://www.google.com"><code>named link</code></a></strong></li> -<li><a href="https://www.google.com"><strong><code>named link</code></strong></a></li> -<li><strong><a href="https://www.google.com"><code>named link</code></a></strong></li> -<li><a href="https://www.google.com"><strong><code>named link</code></strong></a></li> -</ul> -</li> -<li>code bold italic<ul> -<li><a href="https://www.google.com"><strong><em><code>named link</code></em></strong></a></li> -<li><strong><em><a href="https://www.google.com"><code>named link</code></a></em></strong></li> -<li><a href="https://www.google.com"><strong><em><code>named link</code></em></strong></a></li> -<li><strong><em><a href="https://www.google.com"><code>named link</code></a></em></strong></li> -<li><a href="https://www.google.com"><em><strong><code>named link</code></strong></em></a></li> -<li><a href="https://www.google.com"><strong><em><code>named link</code></em></strong></a></li> -<li><strong><em><a href="https://www.google.com"><code>named link</code></a></em></strong></li> -</ul> -</li> -</ul> - diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/em_list_links.md b/app/system/modules/editor/app/assets/marked/test/specs/new/em_list_links.md deleted file mode 100755 index 1cc50d5c..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/em_list_links.md +++ /dev/null @@ -1,40 +0,0 @@ -- italic - - [*named link*][some-url] - - *[named link][some-url]* - - [_named link_][some-url] - - _[named link][some-url]_ -- bold - - [**named link**][some-url] - - **[named link][some-url]** - - [__named link__][some-url] - - __[named link][some-url]__ -- bold italic - - [***named link***][some-url] - - ***[named link][some-url]*** - - [___named link___][some-url] - - ___[named link][some-url]___ - - [*__named link__*][some-url] - - [__*named link*__][some-url] - - __*[named link][some-url]*__ -- code - - [`named link`][some-url] -- code italic - - *[`named link`][some-url]* - - [*`named link`*][some-url] - - _[`named link`][some-url]_ - - [_`named link`_][some-url] -- code bold - - **[`named link`][some-url]** - - [**`named link`**][some-url] - - __[`named link`][some-url]__ - - [__`named link`__][some-url] -- code bold italic - - [***`named link`***][some-url] - - ***[`named link`][some-url]*** - - [___`named link`___][some-url] - - ___[`named link`][some-url]___ - - [*__`named link`__*][some-url] - - [__*`named link`*__][some-url] - - __*[`named link`][some-url]*__ - -[some-url]: https://www.google.com \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/emphasis_extra tests.html b/app/system/modules/editor/app/assets/marked/test/specs/new/emphasis_extra tests.html deleted file mode 100755 index 0e2609cd..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/emphasis_extra tests.html +++ /dev/null @@ -1 +0,0 @@ -<p><em>test</em>. <em>test</em>: <em>test</em>! <em>test</em>? <em>test</em>-</p> \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/emphasis_extra tests.md b/app/system/modules/editor/app/assets/marked/test/specs/new/emphasis_extra tests.md deleted file mode 100755 index bf8afdc7..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/emphasis_extra tests.md +++ /dev/null @@ -1 +0,0 @@ -_test_. _test_: _test_! _test_? _test_- \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/escaped_angles.html b/app/system/modules/editor/app/assets/marked/test/specs/new/escaped_angles.html deleted file mode 100755 index aa3e73a4..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/escaped_angles.html +++ /dev/null @@ -1 +0,0 @@ -<p>></p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/escaped_angles.md b/app/system/modules/editor/app/assets/marked/test/specs/new/escaped_angles.md deleted file mode 100755 index db7422f1..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/escaped_angles.md +++ /dev/null @@ -1 +0,0 @@ -\> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/headings_id.html b/app/system/modules/editor/app/assets/marked/test/specs/new/headings_id.html deleted file mode 100755 index 6f0ae49e..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/headings_id.html +++ /dev/null @@ -1,13 +0,0 @@ -<h3 id="heading-with-a-link">Heading with a <a href="http://github.com/">link</a></h3> - -<h3 id="heading-with-some-italic-text">Heading with some <em>italic text</em></h3> - -<h3 id="or-some-strong">Or some <strong>strong</strong></h3> - -<p>(which doesn't really make any difference, here)</p> - -<h3 id="or-even-code">Or even <code>code</code></h3> - -<h3 id="what-about-strikethrough">What about <del>strikethrough</del></h3> - -<h2 id="and-a-ref-link">And a ref <a href="/some/url" title="link to nowhere">link</a></h2> \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/headings_id.md b/app/system/modules/editor/app/assets/marked/test/specs/new/headings_id.md deleted file mode 100755 index fa8a4d82..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/headings_id.md +++ /dev/null @@ -1,14 +0,0 @@ -### Heading with a [link](http://github.com/) - -### Heading with some _italic text_ - -### Or some **strong** -(which doesn't really make any difference, here) - -### Or even `code` - -### What about ~~strikethrough~~ - -## And a ref [link][destination] - -[destination]: /some/url "link to nowhere" \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/hr_list_break.html b/app/system/modules/editor/app/assets/marked/test/specs/new/hr_list_break.html deleted file mode 100755 index bd3ad1f7..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/hr_list_break.html +++ /dev/null @@ -1,10 +0,0 @@ -<ul> -<li>hello -world</li> -<li>how -are</li> -</ul> - -<hr> - -<p>you today?</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/hr_list_break.md b/app/system/modules/editor/app/assets/marked/test/specs/new/hr_list_break.md deleted file mode 100755 index 036fe479..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/hr_list_break.md +++ /dev/null @@ -1,6 +0,0 @@ -* hello -world -* how -are -* * * -you today? diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/html_comments.html b/app/system/modules/editor/app/assets/marked/test/specs/new/html_comments.html deleted file mode 100755 index 872b45f6..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/html_comments.html +++ /dev/null @@ -1,57 +0,0 @@ -<h3 id="example-1">Example 1</h3> - -<!-- comment --> - -<h3 id="example-2">Example 2</h3> - -<!----> - -<h3 id="example-3">Example 3</h3> - -<!-- --> - -<h3 id="example-4">Example 4</h3> - -<!-- - --> - -<h3 id="example-5">Example 5</h3> - -<!-- -- --> - -<h3 id="example-6">Example 6</h3> - -<!-- ---> - -<h3 id="example-7">Example 7</h3> - -<!-----> - -<h3 id="example-8">Example 8</h3> - -<!------> - -<h3 id="example-9">Example 9</h3> - -<!-- My favorite operators are > and <!--> - -<h3 id="example-10">Example 10</h3> - -<!-- multi -line -comment ---> - -<h3 id="example-11">Example 11</h3> - - <!-- indented comment --> - -<pre><code><!-- too much indentation --> -</code></pre> - -<h3 id="example-12">Example 12</h3> - -<p><!--> not a comment --></p> - -<p><!---> not a comment --></p> - -<!-- <!-- not a comment? --> --> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/html_comments.md b/app/system/modules/editor/app/assets/marked/test/specs/new/html_comments.md deleted file mode 100755 index 06aff02e..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/html_comments.md +++ /dev/null @@ -1,56 +0,0 @@ -### Example 1 - -<!-- comment --> - -### Example 2 - -<!----> - -### Example 3 - -<!-- --> - -### Example 4 - -<!-- - --> - -### Example 5 - -<!-- -- --> - -### Example 6 - -<!-- ---> - -### Example 7 - -<!-----> - -### Example 8 - -<!------> - -### Example 9 - -<!-- My favorite operators are > and <!--> - -### Example 10 - -<!-- multi -line -comment ---> - -### Example 11 - - <!-- indented comment --> - - <!-- too much indentation --> - -### Example 12 - -<!--> not a comment --> - -<!---> not a comment --> - -<!-- <!-- not a comment? --> --> \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/html_no_new_line.html b/app/system/modules/editor/app/assets/marked/test/specs/new/html_no_new_line.html deleted file mode 100755 index a82e4a1c..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/html_no_new_line.html +++ /dev/null @@ -1 +0,0 @@ -<img src='sdfg'> \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/html_no_new_line.md b/app/system/modules/editor/app/assets/marked/test/specs/new/html_no_new_line.md deleted file mode 100755 index a82e4a1c..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/html_no_new_line.md +++ /dev/null @@ -1 +0,0 @@ -<img src='sdfg'> \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/images.html b/app/system/modules/editor/app/assets/marked/test/specs/new/images.html deleted file mode 100755 index 2d3da7e8..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/images.html +++ /dev/null @@ -1,5 +0,0 @@ -<p>Image</p> -<p>Image</p> -<p>Image</p> -<p>Image</p> -<p>Image</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/images.md b/app/system/modules/editor/app/assets/marked/test/specs/new/images.md deleted file mode 100755 index c9d994a9..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/images.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -sanitize: true ---- -![Image](javascript:alert) - -![Image](vbscript:alert) - -![Image](javascript:alert(1)) - -![Image](javascript:document;alert(1)) - -![Image](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K) diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/lazy_blockquotes.html b/app/system/modules/editor/app/assets/marked/test/specs/new/lazy_blockquotes.html deleted file mode 100755 index a701d42a..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/lazy_blockquotes.html +++ /dev/null @@ -1,4 +0,0 @@ -<blockquote> - <p>hi there -bud</p> -</blockquote> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/lazy_blockquotes.md b/app/system/modules/editor/app/assets/marked/test/specs/new/lazy_blockquotes.md deleted file mode 100755 index c0e0b154..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/lazy_blockquotes.md +++ /dev/null @@ -1,2 +0,0 @@ -> hi there -bud diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/link_lt.html b/app/system/modules/editor/app/assets/marked/test/specs/new/link_lt.html deleted file mode 100755 index ea48caa9..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/link_lt.html +++ /dev/null @@ -1 +0,0 @@ -<p><a href="%3Ctest">URL</a></p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/link_lt.md b/app/system/modules/editor/app/assets/marked/test/specs/new/link_lt.md deleted file mode 100755 index f4f9addd..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/link_lt.md +++ /dev/null @@ -1 +0,0 @@ -[URL](<test) diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/link_tick_redos.html b/app/system/modules/editor/app/assets/marked/test/specs/new/link_tick_redos.html deleted file mode 100755 index 4e4423bf..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/link_tick_redos.html +++ /dev/null @@ -1,31 +0,0 @@ -<p>dash_capstyle: ['butt' | 'round' | 'projecting'] -dash_joinstyle: ['miter' | 'round' | 'bevel'] -dashes: sequence of on/off ink in points -drawstyle: ['default' | 'steps' | 'steps-pre' | 'steps-mid' | 'steps-post'] -figure: a <code>~.Figure</code> instance -fillstyle: ['full' | 'left' | 'right' | 'bottom' | 'top' | 'none'] -gid: an id string -label: object -linestyle or ls: ['solid' | 'dashed', 'dashdot', 'dotted' | (offset, on-off-dash-seq) | <code>'-'</code> | <code>'--'</code> | <code>'-.'</code> | <code>':'</code> | <code>'None'</code> | <code>' '</code> | <code>''</code>] -linewidth or lw: float value in points -marker: :mod:<code>A valid marker style <matplotlib.markers></code> -markeredgecolor or mec: any matplotlib color -markeredgewidth or mew: float value in points -markerfacecolor or mfc: any matplotlib color -markerfacecoloralt or mfcalt: any matplotlib color -markersize or ms: float -markevery: [None | int | length-2 tuple of int | slice | list/array of int | float | length-2 tuple of float] -path_effects: <code>~.AbstractPathEffect</code> -picker: float distance in points or callable pick function <code>fn(artist, event)</code> -pickradius: float distance in points -rasterized: bool or None -sketch_params: (scale: float, length: float, randomness: float) -snap: bool or None -solid_capstyle: ['butt' | 'round' | 'projecting'] -solid_joinstyle: ['miter' | 'round' | 'bevel'] -transform: a :class:<code>matplotlib.transforms.Transform</code> instance -url: a url string -visible: bool -xdata: 1D array -ydata: 1D array -zorder: float</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/link_tick_redos.md b/app/system/modules/editor/app/assets/marked/test/specs/new/link_tick_redos.md deleted file mode 100755 index 38c1107d..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/link_tick_redos.md +++ /dev/null @@ -1,31 +0,0 @@ - dash_capstyle: ['butt' | 'round' | 'projecting'] - dash_joinstyle: ['miter' | 'round' | 'bevel'] - dashes: sequence of on/off ink in points - drawstyle: ['default' | 'steps' | 'steps-pre' | 'steps-mid' | 'steps-post'] - figure: a `~.Figure` instance - fillstyle: ['full' | 'left' | 'right' | 'bottom' | 'top' | 'none'] - gid: an id string - label: object - linestyle or ls: ['solid' | 'dashed', 'dashdot', 'dotted' | (offset, on-off-dash-seq) | ``'-'`` | ``'--'`` | ``'-.'`` | ``':'`` | ``'None'`` | ``' '`` | ``''``] - linewidth or lw: float value in points - marker: :mod:`A valid marker style <matplotlib.markers>` - markeredgecolor or mec: any matplotlib color - markeredgewidth or mew: float value in points - markerfacecolor or mfc: any matplotlib color - markerfacecoloralt or mfcalt: any matplotlib color - markersize or ms: float - markevery: [None | int | length-2 tuple of int | slice | list/array of int | float | length-2 tuple of float] - path_effects: `~.AbstractPathEffect` - picker: float distance in points or callable pick function ``fn(artist, event)`` - pickradius: float distance in points - rasterized: bool or None - sketch_params: (scale: float, length: float, randomness: float) - snap: bool or None - solid_capstyle: ['butt' | 'round' | 'projecting'] - solid_joinstyle: ['miter' | 'round' | 'bevel'] - transform: a :class:`matplotlib.transforms.Transform` instance - url: a url string - visible: bool - xdata: 1D array - ydata: 1D array - zorder: float diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/links.html b/app/system/modules/editor/app/assets/marked/test/specs/new/links.html deleted file mode 100755 index c3cbaa0c..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/links.html +++ /dev/null @@ -1,3 +0,0 @@ -<p>Link: <a href="https://example.org/">constructor</a>.</p> - -<p><a href="https://example.com/1">One</a> (<a href="https://example.com/2">Two</a>) <a href="https://example.com/3">Three</a></p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/links.md b/app/system/modules/editor/app/assets/marked/test/specs/new/links.md deleted file mode 100755 index f53cbf13..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/links.md +++ /dev/null @@ -1,5 +0,0 @@ -Link: [constructor][]. - -[One](https://example.com/1) ([Two](https://example.com/2)) [Three](https://example.com/3) - -[constructor]: https://example.org/ diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/links_paren.html b/app/system/modules/editor/app/assets/marked/test/specs/new/links_paren.html deleted file mode 100755 index 375c0f0c..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/links_paren.html +++ /dev/null @@ -1,5 +0,0 @@ -<p>(<a href="http://example.com/1">one</a>) (<a href="http://example.com/2">two</a>)</p> - -<p>(<a href="http://example.com/1">one</a>) (<a href="http://example.com/2">two</a>)</p> - -<p>(<a href="http://example.com/1" title="a">one</a>) (<a href="http://example.com/2" title="b">two</a>)</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/links_paren.md b/app/system/modules/editor/app/assets/marked/test/specs/new/links_paren.md deleted file mode 100755 index 96f106ce..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/links_paren.md +++ /dev/null @@ -1,5 +0,0 @@ -([one](http://example.com/1)) ([two](http://example.com/2)) - -([one](http://example.com/1)) ([two](http://example.com/2)) - -([one](http://example.com/1 "a")) ([two](http://example.com/2 "b")) diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/list_item_text.html b/app/system/modules/editor/app/assets/marked/test/specs/new/list_item_text.html deleted file mode 100755 index 142df366..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/list_item_text.html +++ /dev/null @@ -1 +0,0 @@ -<ul><li><p>item1</p> <ul><li>item2 </li></ul> <p>text</p> </li></ul> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/list_item_text.md b/app/system/modules/editor/app/assets/marked/test/specs/new/list_item_text.md deleted file mode 100755 index a8f81b14..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/list_item_text.md +++ /dev/null @@ -1,5 +0,0 @@ - * item1 - - * item2 - - text diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/list_table.html b/app/system/modules/editor/app/assets/marked/test/specs/new/list_table.html deleted file mode 100755 index 3a8b6388..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/list_table.html +++ /dev/null @@ -1,44 +0,0 @@ -<ul> - <li> - <p>Table in list:</p> - <table> - <thead> - <tr> - <th>column1</th> - <th>column2</th> - </tr> - </thead> - <tbody> - <tr> - <td>value1</td> - <td>value2</td> - </tr> - <tr> - <td>value3</td> - <td>value4</td> - </tr> - </tbody> - </table> - </li> - <li> - <p>No leading pipe table in list:</p> - <table> - <thead> - <tr> - <th>column1</th> - <th>column2</th> - </tr> - </thead> - <tbody> - <tr> - <td>value1</td> - <td>value2</td> - </tr> - <tr> - <td>value3</td> - <td>value4</td> - </tr> - </tbody> - </table> - </li> -</ul> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/list_table.md b/app/system/modules/editor/app/assets/marked/test/specs/new/list_table.md deleted file mode 100755 index 95541b11..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/list_table.md +++ /dev/null @@ -1,13 +0,0 @@ -* Table in list: - - | column1 | column2 | - |---------|---------| - | value1 | value2 | - | value3 | value4 | - -* No leading pipe table in list: - - column1 | column2 - --------|-------- - value1 | value2 - value3 | value4 diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/main.html b/app/system/modules/editor/app/assets/marked/test/specs/new/main.html deleted file mode 100755 index 8f78c4d3..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/main.html +++ /dev/null @@ -1,4 +0,0 @@ -<h1 id="a-heading">A heading</h1> <p>Just a note, I've found that I can't test my markdown parser vs others. For example, both markdown.js and showdown code blocks in lists wrong. They're also completely <a href="http://google.com/" title="Google">inconsistent</a> with regards to paragraphs in list items.</p> <p>A link. Not anymore.</p> <aside>This will make me fail the test because -markdown.js doesnt acknowledge arbitrary html blocks =/</aside> <ul><li><p>List Item 1</p></li><li><p>List Item 2 </p><ul><li>New List Item 1 Hi, this is a list item.</li><li>New List Item 2 Another item <pre><code>Code goes here. -Lots of it...</code></pre></li><li>New List Item 3 The last item</li></ul></li><li><p>List Item 3 The final item.</p></li><li><p>List Item 4 The real final item.</p></li></ul> <p>Paragraph.</p> <blockquote><ul><li>bq Item 1</li><li>bq Item 2 <ul><li>New bq Item 1</li><li>New bq Item 2 Text here</li></ul></li></ul></blockquote> <hr> <blockquote><p> Another blockquote! I really need to get more creative with mockup text.. markdown.js breaks here again</p></blockquote> <h2 id="another-heading">Another Heading</h2> <p>Hello <em>world</em>. Here is a <a href="//hello">link</a>. And an image <img src="src" alt="alt">.</p> <pre><code>Code goes here. -Lots of it...</code></pre> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/main.md b/app/system/modules/editor/app/assets/marked/test/specs/new/main.md deleted file mode 100755 index 58e17a6a..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/main.md +++ /dev/null @@ -1,55 +0,0 @@ -[test]: http://google.com/ "Google" - -# A heading - -Just a note, I've found that I can't test my markdown parser vs others. -For example, both markdown.js and showdown code blocks in lists wrong. They're -also completely [inconsistent][test] with regards to paragraphs in list items. - -A link. Not anymore. - -<aside>This will make me fail the test because -markdown.js doesnt acknowledge arbitrary html blocks =/</aside> - -* List Item 1 - -* List Item 2 - * New List Item 1 - Hi, this is a list item. - * New List Item 2 - Another item - Code goes here. - Lots of it... - * New List Item 3 - The last item - -* List Item 3 -The final item. - -* List Item 4 -The real final item. - -Paragraph. - -> * bq Item 1 -> * bq Item 2 -> * New bq Item 1 -> * New bq Item 2 -> Text here - -* * * - -> Another blockquote! -> I really need to get -> more creative with -> mockup text.. -> markdown.js breaks here again - -Another Heading -------------- - -Hello *world*. Here is a [link](//hello). -And an image ![alt](src). - - Code goes here. - Lots of it... diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/mangle_xss.html b/app/system/modules/editor/app/assets/marked/test/specs/new/mangle_xss.html deleted file mode 100755 index 3abcb67f..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/mangle_xss.html +++ /dev/null @@ -1,3 +0,0 @@ -<p><<svg/onload="alert(1)"//@x></p> - -<p><bar"onclick="alert('XSS')"@foo></p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/mangle_xss.md b/app/system/modules/editor/app/assets/marked/test/specs/new/mangle_xss.md deleted file mode 100755 index 419bd124..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/mangle_xss.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -sanatize: true -mangle: false ---- -<<svg/onload="alert(1)"//@x> - -<bar"onclick="alert('XSS')"@foo> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/nested_code.html b/app/system/modules/editor/app/assets/marked/test/specs/new/nested_code.html deleted file mode 100755 index c28a1628..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/nested_code.html +++ /dev/null @@ -1,9 +0,0 @@ -<p><code>hi ther `` ok ```</code></p> - -<p><code>`</code></p> - -<p><code>There is a literal backtick (`) here.</code></p> - -<p>A backtick-delimited string in a code span: <code>`foo`</code></p> - -<p>Please don't use any <code><blink></code> tags.</p> \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/nested_code.md b/app/system/modules/editor/app/assets/marked/test/specs/new/nested_code.md deleted file mode 100755 index adde4177..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/nested_code.md +++ /dev/null @@ -1,9 +0,0 @@ -````` hi ther `` ok ``` ````` - -`` ` `` - -``There is a literal backtick (`) here.`` - -A backtick-delimited string in a code span: `` `foo` `` - -Please don't use any `<blink>` tags. \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/nested_em.html b/app/system/modules/editor/app/assets/marked/test/specs/new/nested_em.html deleted file mode 100755 index 3ab4ec89..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/nested_em.html +++ /dev/null @@ -1,3 +0,0 @@ -<p><em>test <strong>test</strong> test</em></p> - -<p><em>test <strong>test</strong> test</em></p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/nested_em.md b/app/system/modules/editor/app/assets/marked/test/specs/new/nested_em.md deleted file mode 100755 index 550d0eb9..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/nested_em.md +++ /dev/null @@ -1,3 +0,0 @@ -*test **test** test* - -_test __test__ test_ diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/nested_square_link.html b/app/system/modules/editor/app/assets/marked/test/specs/new/nested_square_link.html deleted file mode 100755 index 7b6986a1..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/nested_square_link.html +++ /dev/null @@ -1,3 +0,0 @@ -<p><a href="/url">the <code>]</code> character</a></p> - -<p><a href="/url">the ` character</a></p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/nested_square_link.md b/app/system/modules/editor/app/assets/marked/test/specs/new/nested_square_link.md deleted file mode 100755 index 9354ec40..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/nested_square_link.md +++ /dev/null @@ -1,3 +0,0 @@ -[the `]` character](/url) - -[the \` character](/url) diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/nogfm_hashtag.html b/app/system/modules/editor/app/assets/marked/test/specs/new/nogfm_hashtag.html deleted file mode 100755 index ecd95d69..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/nogfm_hashtag.html +++ /dev/null @@ -1,5 +0,0 @@ -<h1 id="header">header</h1> - -<h1 id="header1">header1</h1> - -<h1 id="header2">header2</h1> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/nogfm_hashtag.md b/app/system/modules/editor/app/assets/marked/test/specs/new/nogfm_hashtag.md deleted file mode 100755 index a058b3eb..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/nogfm_hashtag.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -gfm: false -pedantic: true ---- -#header - -# header1 - -# header2 diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/not_a_link.html b/app/system/modules/editor/app/assets/marked/test/specs/new/not_a_link.html deleted file mode 100755 index a01685d2..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/not_a_link.html +++ /dev/null @@ -1 +0,0 @@ -<p>[test](not a link)</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/not_a_link.md b/app/system/modules/editor/app/assets/marked/test/specs/new/not_a_link.md deleted file mode 100755 index 26f60437..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/not_a_link.md +++ /dev/null @@ -1 +0,0 @@ -\[test](not a link) diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/pedantic_heading_interrupts_paragraph.html b/app/system/modules/editor/app/assets/marked/test/specs/new/pedantic_heading_interrupts_paragraph.html deleted file mode 100755 index 9e232fd6..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/pedantic_heading_interrupts_paragraph.html +++ /dev/null @@ -1,5 +0,0 @@ -<p>paragraph before head with hash</p> -<h1 id="how-are-you">how are you</h1> - -<p>paragraph before head with equals</p> -<h1 id="how-are-you-again">how are you again</h1> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/pedantic_heading_interrupts_paragraph.md b/app/system/modules/editor/app/assets/marked/test/specs/new/pedantic_heading_interrupts_paragraph.md deleted file mode 100755 index 13300a7a..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/pedantic_heading_interrupts_paragraph.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -pedantic: true ---- - -paragraph before head with hash -#how are you - -paragraph before head with equals -how are you again -=========== diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/ref_paren.html b/app/system/modules/editor/app/assets/marked/test/specs/new/ref_paren.html deleted file mode 100755 index cff6977f..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/ref_paren.html +++ /dev/null @@ -1 +0,0 @@ -<p><a href="/url" title="there">hi</a></p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/ref_paren.md b/app/system/modules/editor/app/assets/marked/test/specs/new/ref_paren.md deleted file mode 100755 index aa97c91a..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/ref_paren.md +++ /dev/null @@ -1,3 +0,0 @@ -[hi] - -[hi]: /url (there) diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/relative_urls.html b/app/system/modules/editor/app/assets/marked/test/specs/new/relative_urls.html deleted file mode 100755 index ee7f3bff..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/relative_urls.html +++ /dev/null @@ -1,35 +0,0 @@ -<h1 id="absolutization-of-rfc-3986-uris">Absolutization of RFC 3986 URIs</h1> - -<h2 id="absolute-uri">Absolute URI</h2> - -<p><a href="http://example.com/"><img src="http://example.com/logo" alt="section 4.3"></a></p> - -<h2 id="network-path-reference">Network-path reference</h2> - -<p><a href="http://example.com/"><img src="http://example.com/logo" alt="section 4.2"></a></p> - -<h2 id="absolute-path">Absolute path</h2> - -<p><a href="http://example.com/path/to/content"><img src="http://example.com/path/to/img" alt="section 4.2"></a></p> - -<h2 id="relative-path">Relative path</h2> - -<p><a href="http://example.com/base/content"><img src="http://example.com/base/img" alt="section 4.2"></a></p> - -<h2 id="dot-relative-path">Dot-relative path</h2> - -<p><a href="http://example.com/base/./content"><img src="http://example.com/base/./img" alt="section 3.3"></a></p> - -<p><a href="http://example.com/base/../content"><img src="http://example.com/base/../img" alt="section 3.3"></a></p> - -<h2 id="same-document-query">Same-document query</h2> - -<p><a href="?"><img src="?type=image" alt="section 4.4"></a></p> - -<h2 id="same-document-fragment">Same-document fragment</h2> - -<p><a href="#"><img src="#img" alt="section 4.4"></a></p> - -<h2 id="empty">Empty</h2> - -<p><a href="">section 4.2</a></p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/relative_urls.md b/app/system/modules/editor/app/assets/marked/test/specs/new/relative_urls.md deleted file mode 100755 index 5ced8915..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/relative_urls.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -baseUrl: "http://example.com/base/" ---- -# Absolutization of RFC 3986 URIs - -## Absolute URI -[![section 4.3](http://example.com/logo)](http://example.com/) - -## Network-path reference -[![section 4.2](//example.com/logo)](//example.com/) - -## Absolute path -[![section 4.2](/path/to/img)](/path/to/content) - -## Relative path -[![section 4.2](img)](content) - -## Dot-relative path -[![section 3.3](./img)](./content) - -[![section 3.3](../img)](../content) - -## Same-document query -[![section 4.4](?type=image)](?) - -## Same-document fragment -[![section 4.4](#img)](#) - -## Empty -[section 4.2]() diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/same_bullet.html b/app/system/modules/editor/app/assets/marked/test/specs/new/same_bullet.html deleted file mode 100755 index 9220741c..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/same_bullet.html +++ /dev/null @@ -1,5 +0,0 @@ -<ul> -<li>test</li> -<li>test</li> -<li>test</li> -</ul> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/same_bullet.md b/app/system/modules/editor/app/assets/marked/test/specs/new/same_bullet.md deleted file mode 100755 index 27a89675..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/same_bullet.md +++ /dev/null @@ -1,3 +0,0 @@ -* test -+ test -- test diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/sanitize_links.html b/app/system/modules/editor/app/assets/marked/test/specs/new/sanitize_links.html deleted file mode 100755 index 092ea471..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/sanitize_links.html +++ /dev/null @@ -1,5 +0,0 @@ -<p>URL</p> -<p>URL</p> -<p>URL</p> -<p>URL</p> -<p>URL</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/sanitize_links.md b/app/system/modules/editor/app/assets/marked/test/specs/new/sanitize_links.md deleted file mode 100755 index 1850be4e..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/sanitize_links.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -sanitize: true ---- -[URL](javascript:alert) - -[URL](vbscript:alert) - -[URL](javascript:alert(1)) - -[URL](javascript:document;alert(1)) - -[URL](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K) diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/smartypants.html b/app/system/modules/editor/app/assets/marked/test/specs/new/smartypants.html deleted file mode 100755 index 33718eea..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/smartypants.html +++ /dev/null @@ -1,6 +0,0 @@ -<p>Hello world ‘how’ “are” you – today…</p> - -<p>“It’s a more ‘challenging’ smartypants test…”</p> - -<p>‘And,’ as a bonus — “one -multiline” test!</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/smartypants.md b/app/system/modules/editor/app/assets/marked/test/specs/new/smartypants.md deleted file mode 100755 index 69225546..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/smartypants.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -smartypants: true ---- -Hello world 'how' "are" you -- today... - -"It's a more 'challenging' smartypants test..." - -'And,' as a bonus --- "one -multiline" test! diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/smartypants_code.html b/app/system/modules/editor/app/assets/marked/test/specs/new/smartypants_code.html deleted file mode 100755 index 3ceb5094..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/smartypants_code.html +++ /dev/null @@ -1,11 +0,0 @@ -<pre>&</pre> -<p><code>--foo</code> -<kbd>---foo</kbd></p> -<script>--foo</script> - -<p>Ensure that text such as custom tags that happen to -begin with the same letters as the above tags don’t -match and thus benefit from Smartypants-ing.</p> - -<p><script-custom>–foo</script-custom> -<code>--foo</code> <codebar –foo codebar></p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/smartypants_code.md b/app/system/modules/editor/app/assets/marked/test/specs/new/smartypants_code.md deleted file mode 100755 index 6c4c5233..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/smartypants_code.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -smartypants: true -description: SmartyPants does not modify characters within <pre>, <code>, <kbd>, or <script> tag blocks. -spec: https://daringfireball.net/projects/smartypants/ ---- -<pre>&</pre> -<code>--foo</code> -<kbd>---foo</kbd> -<script>--foo</script> - -Ensure that text such as custom tags that happen to -begin with the same letters as the above tags don't -match and thus benefit from Smartypants-ing. -<script-custom>--foo</script-custom> -`--foo` <codebar --foo codebar> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/table_cells.html b/app/system/modules/editor/app/assets/marked/test/specs/new/table_cells.html deleted file mode 100755 index 694f7ddd..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/table_cells.html +++ /dev/null @@ -1,27 +0,0 @@ -<table><thead><tr><th>1</th></tr></thead><tbody><tr><td>1</td></tr></tbody></table> - -<table><thead><tr><th>1</th></tr></thead><tbody><tr><td>|</td></tr></tbody></table> - -<table><thead><tr><th>1</th></tr></thead><tbody><tr><td>1\1</td></tr></tbody></table> - -<table><thead><tr><th>1</th></tr></thead><tbody><tr><td>\\</td></tr></tbody></table> - -<table><thead><tr><th>1</th></tr></thead><tbody><tr><td>\\|</td></tr></tbody></table> - -<table><thead><tr><th>1</th><th>2</th></tr></thead><tbody><tr><td></td><td>2</td></tr></tbody></table> - -<table><thead><tr><th>1</th><th>2</th></tr></thead><tbody><tr><td>1|\</td><td>2|\</td></tr></tbody></table> - -<table><thead><tr><th>1</th><th>2</th></tr></thead><tbody><tr><td></td><td>2</td></tr></tbody></table> - -<table><thead><tr><th>1</th><th>2</th></tr></thead><tbody><tr><td>1|\</td><td>2|\</td></tr></tbody></table> - -<table><thead><tr><th>1</th><th>2</th></tr></thead><tbody><tr><td></td><td>2</td></tr></tbody></table> - -<table><thead><tr><th>1</th><th>2</th></tr></thead><tbody><tr><td>1</td><td>2|</td></tr></tbody></table> - -<table><thead><tr><th>1</th><th>2</th></tr></thead><tbody><tr><td>1</td><td>2|</td></tr></tbody></table> - -<table><thead><tr><th>1</th><th>2</th></tr></thead><tbody><tr><td>1</td><td>2|</td></tr></tbody></table> - -<table><thead><tr><th>1</th><th>2</th></tr></thead><tbody><tr><td>1</td><td>2|</td></tr></tbody></table> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/table_cells.md b/app/system/modules/editor/app/assets/marked/test/specs/new/table_cells.md deleted file mode 100755 index 332298a6..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/table_cells.md +++ /dev/null @@ -1,55 +0,0 @@ -|1| -|-| -|1| - -|1| -|-| -|\|| - -|1| -|-| -|1\\1| - -|1| -|-| -|\\\\|| - -|1| -|-| -|\\\\\|| - -|1|2| -|-|-| -||2| - -|1|2| -|-|-| -|1\|\\|2\|\\| - -|1|2| -|-|-| -| |2| - -1|2 --|- -1\|\\|2\|\\ - -1|2 --|- - |2 - -1|2 --|- -1|2\| - -1|2 --|- -1|2\| - -|1|2| -|-|-| -|1|2\|| - -|1|2| -|-|-| -|1|2\|| diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/toplevel_paragraphs.html b/app/system/modules/editor/app/assets/marked/test/specs/new/toplevel_paragraphs.html deleted file mode 100755 index dec8d1d7..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/toplevel_paragraphs.html +++ /dev/null @@ -1,28 +0,0 @@ -<p>hello world - text after spaces - text after spaces</p> - -<p>paragraph before code</p> -<pre><code>text inside block code</code></pre> - -<p>paragraph before hr</p> -<hr> - -<p>paragraph before blockquote</p> -<blockquote><p>text for blockquote</p></blockquote> - -<p>paragraph before list</p> -<ul><li>text inside list</li></ul> - -<p>paragraph before div</p> -<div>text inside div</div> - -<p>paragraph with span -<span>text inside span</span></p> - -<p>hello <a href="/are/you">world</a> -</p> - -<div>hello</div> - -<p><span>hello</span></p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/toplevel_paragraphs.md b/app/system/modules/editor/app/assets/marked/test/specs/new/toplevel_paragraphs.md deleted file mode 100755 index 9e92e44f..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/toplevel_paragraphs.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -gfm: true ---- -hello world - text after spaces - text after spaces - -paragraph before code -``` -text inside block code -``` - -paragraph before hr -* * * - -paragraph before blockquote -> text for blockquote - -paragraph before list -* text inside list - -paragraph before div -<div>text inside div</div> - -paragraph with span -<span>text inside span</span> - -hello [world][how] - -[how]: /are/you - -<div>hello</div> - -<span>hello</span> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/tricky_list.html b/app/system/modules/editor/app/assets/marked/test/specs/new/tricky_list.html deleted file mode 100755 index 764a3352..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/tricky_list.html +++ /dev/null @@ -1,23 +0,0 @@ -<p><strong>hello</strong> <em>world</em></p> - -<ul> -<li>hello world</li> -</ul> - -<p><strong>hello</strong> <em>world</em></p> - -<ul> -<li>hello world</li> -</ul> - -<p><strong>hello</strong> <em>world</em></p> - -<ul> -<li>Hello world</li> -</ul> - -<p><strong>hello</strong> <em>world</em></p> - -<ul> -<li>hello world</li> -</ul> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/tricky_list.md b/app/system/modules/editor/app/assets/marked/test/specs/new/tricky_list.md deleted file mode 100755 index 9aa76ceb..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/tricky_list.md +++ /dev/null @@ -1,15 +0,0 @@ -**hello** _world_ - -* hello world - -**hello** _world_ - -* hello world - -**hello** _world_ - -* Hello world - -**hello** _world_ - -* hello world diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/uppercase_hex.html b/app/system/modules/editor/app/assets/marked/test/specs/new/uppercase_hex.html deleted file mode 100755 index 97f55535..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/uppercase_hex.html +++ /dev/null @@ -1,2 +0,0 @@ -<p>lowerclick melower -upperclick meupper</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/new/uppercase_hex.md b/app/system/modules/editor/app/assets/marked/test/specs/new/uppercase_hex.md deleted file mode 100755 index b4b228ab..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/new/uppercase_hex.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -sanitize: true ---- -lower[click me](javascript:...)lower -upper[click me](javascript:...)upper diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/amps_and_angles_encoding.html b/app/system/modules/editor/app/assets/marked/test/specs/original/amps_and_angles_encoding.html deleted file mode 100755 index 9606860b..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/amps_and_angles_encoding.html +++ /dev/null @@ -1,17 +0,0 @@ -<p>AT&T has an ampersand in their name.</p> - -<p>AT&T is another way to write it.</p> - -<p>This & that.</p> - -<p>4 < 5.</p> - -<p>6 > 5.</p> - -<p>Here's a <a href="http://example.com/?foo=1&bar=2">link</a> with an ampersand in the URL.</p> - -<p>Here's a link with an amersand in the link text: <a href="http://att.com/" title="AT&T">AT&T</a>.</p> - -<p>Here's an inline <a href="/script?foo=1&bar=2">link</a>.</p> - -<p>Here's an inline <a href="/script?foo=1&bar=2">link</a>.</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/amps_and_angles_encoding.md b/app/system/modules/editor/app/assets/marked/test/specs/original/amps_and_angles_encoding.md deleted file mode 100755 index d7fd65c1..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/amps_and_angles_encoding.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -pedantic: true ---- - -AT&T has an ampersand in their name. - -AT&T is another way to write it. - -This & that. - -4 < 5. - -6 > 5. - -Here's a [link] [1] with an ampersand in the URL. - -Here's a link with an amersand in the link text: [AT&T] [2]. - -Here's an inline [link](/script?foo=1&bar=2). - -Here's an inline [link](</script?foo=1&bar=2>). - - -[1]: http://example.com/?foo=1&bar=2 -[2]: http://att.com/ "AT&T" diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/auto_links.html b/app/system/modules/editor/app/assets/marked/test/specs/original/auto_links.html deleted file mode 100755 index f8df9852..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/auto_links.html +++ /dev/null @@ -1,18 +0,0 @@ -<p>Link: <a href="http://example.com/">http://example.com/</a>.</p> - -<p>With an ampersand: <a href="http://example.com/?foo=1&bar=2">http://example.com/?foo=1&bar=2</a></p> - -<ul> -<li>In a list?</li> -<li><a href="http://example.com/">http://example.com/</a></li> -<li>It should.</li> -</ul> - -<blockquote> - <p>Blockquoted: <a href="http://example.com/">http://example.com/</a></p> -</blockquote> - -<p>Auto-links should not occur here: <code><http://example.com/></code></p> - -<pre><code>or here: <http://example.com/> -</code></pre> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/auto_links.md b/app/system/modules/editor/app/assets/marked/test/specs/original/auto_links.md deleted file mode 100755 index f85767b4..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/auto_links.md +++ /dev/null @@ -1,13 +0,0 @@ -Link: <http://example.com/>. - -With an ampersand: <http://example.com/?foo=1&bar=2> - -* In a list? -* <http://example.com/> -* It should. - -> Blockquoted: <http://example.com/> - -Auto-links should not occur here: `<http://example.com/>` - - or here: <http://example.com/> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/backslash_escapes.html b/app/system/modules/editor/app/assets/marked/test/specs/original/backslash_escapes.html deleted file mode 100755 index 7241d11f..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/backslash_escapes.html +++ /dev/null @@ -1,118 +0,0 @@ -<p>These should all get escaped:</p> - -<p>Backslash: \</p> - -<p>Backtick: `</p> - -<p>Asterisk: *</p> - -<p>Underscore: _</p> - -<p>Left brace: {</p> - -<p>Right brace: }</p> - -<p>Left bracket: [</p> - -<p>Right bracket: ]</p> - -<p>Left paren: (</p> - -<p>Right paren: )</p> - -<p>Greater-than: ></p> - -<p>Hash: #</p> - -<p>Period: .</p> - -<p>Bang: !</p> - -<p>Plus: +</p> - -<p>Minus: -</p> - -<p>These should not, because they occur within a code block:</p> - -<pre><code>Backslash: \\ - -Backtick: \` - -Asterisk: \* - -Underscore: \_ - -Left brace: \{ - -Right brace: \} - -Left bracket: \[ - -Right bracket: \] - -Left paren: \( - -Right paren: \) - -Greater-than: \> - -Hash: \# - -Period: \. - -Bang: \! - -Plus: \+ - -Minus: \- -</code></pre> - -<p>Nor should these, which occur in code spans:</p> - -<p>Backslash: <code>\\</code></p> - -<p>Backtick: <code>\`</code></p> - -<p>Asterisk: <code>\*</code></p> - -<p>Underscore: <code>\_</code></p> - -<p>Left brace: <code>\{</code></p> - -<p>Right brace: <code>\}</code></p> - -<p>Left bracket: <code>\[</code></p> - -<p>Right bracket: <code>\]</code></p> - -<p>Left paren: <code>\(</code></p> - -<p>Right paren: <code>\)</code></p> - -<p>Greater-than: <code>\></code></p> - -<p>Hash: <code>\#</code></p> - -<p>Period: <code>\.</code></p> - -<p>Bang: <code>\!</code></p> - -<p>Plus: <code>\+</code></p> - -<p>Minus: <code>\-</code></p> - - -<p>These should get escaped, even though they're matching pairs for -other Markdown constructs:</p> - -<p>*asterisks*</p> - -<p>_underscores_</p> - -<p>`backticks`</p> - -<p>This is a code span with a literal backslash-backtick sequence: <code>\`</code></p> - -<p>This is a tag with unescaped backticks <span attr='`ticks`'>bar</span>.</p> - -<p>This is a tag with backslashes <span attr='\\backslashes\\'>bar</span>.</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/backslash_escapes.md b/app/system/modules/editor/app/assets/marked/test/specs/original/backslash_escapes.md deleted file mode 100755 index 5b014cb3..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/backslash_escapes.md +++ /dev/null @@ -1,120 +0,0 @@ -These should all get escaped: - -Backslash: \\ - -Backtick: \` - -Asterisk: \* - -Underscore: \_ - -Left brace: \{ - -Right brace: \} - -Left bracket: \[ - -Right bracket: \] - -Left paren: \( - -Right paren: \) - -Greater-than: \> - -Hash: \# - -Period: \. - -Bang: \! - -Plus: \+ - -Minus: \- - - - -These should not, because they occur within a code block: - - Backslash: \\ - - Backtick: \` - - Asterisk: \* - - Underscore: \_ - - Left brace: \{ - - Right brace: \} - - Left bracket: \[ - - Right bracket: \] - - Left paren: \( - - Right paren: \) - - Greater-than: \> - - Hash: \# - - Period: \. - - Bang: \! - - Plus: \+ - - Minus: \- - - -Nor should these, which occur in code spans: - -Backslash: `\\` - -Backtick: `` \` `` - -Asterisk: `\*` - -Underscore: `\_` - -Left brace: `\{` - -Right brace: `\}` - -Left bracket: `\[` - -Right bracket: `\]` - -Left paren: `\(` - -Right paren: `\)` - -Greater-than: `\>` - -Hash: `\#` - -Period: `\.` - -Bang: `\!` - -Plus: `\+` - -Minus: `\-` - - -These should get escaped, even though they're matching pairs for -other Markdown constructs: - -\*asterisks\* - -\_underscores\_ - -\`backticks\` - -This is a code span with a literal backslash-backtick sequence: `` \` `` - -This is a tag with unescaped backticks <span attr='`ticks`'>bar</span>. - -This is a tag with backslashes <span attr='\\backslashes\\'>bar</span>. diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/blockquotes_with_code_blocks.html b/app/system/modules/editor/app/assets/marked/test/specs/original/blockquotes_with_code_blocks.html deleted file mode 100755 index 990202a1..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/blockquotes_with_code_blocks.html +++ /dev/null @@ -1,15 +0,0 @@ -<blockquote> - <p>Example:</p> - -<pre><code>sub status { - print "working"; -} -</code></pre> - - <p>Or:</p> - -<pre><code>sub status { - return "working"; -} -</code></pre> -</blockquote> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/blockquotes_with_code_blocks.md b/app/system/modules/editor/app/assets/marked/test/specs/original/blockquotes_with_code_blocks.md deleted file mode 100755 index c31d1710..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/blockquotes_with_code_blocks.md +++ /dev/null @@ -1,11 +0,0 @@ -> Example: -> -> sub status { -> print "working"; -> } -> -> Or: -> -> sub status { -> return "working"; -> } diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/code_blocks.html b/app/system/modules/editor/app/assets/marked/test/specs/original/code_blocks.html deleted file mode 100755 index 32703f5c..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/code_blocks.html +++ /dev/null @@ -1,18 +0,0 @@ -<pre><code>code block on the first line -</code></pre> - -<p>Regular text.</p> - -<pre><code>code block indented by spaces -</code></pre> - -<p>Regular text.</p> - -<pre><code>the lines in this block -all contain trailing spaces -</code></pre> - -<p>Regular Text.</p> - -<pre><code>code block on the last line -</code></pre> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/code_blocks.md b/app/system/modules/editor/app/assets/marked/test/specs/original/code_blocks.md deleted file mode 100755 index 01f9a733..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/code_blocks.md +++ /dev/null @@ -1,14 +0,0 @@ - code block on the first line - -Regular text. - - code block indented by spaces - -Regular text. - - the lines in this block - all contain trailing spaces - -Regular Text. - - code block on the last line diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/code_spans.html b/app/system/modules/editor/app/assets/marked/test/specs/original/code_spans.html deleted file mode 100755 index 4b8afbb7..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/code_spans.html +++ /dev/null @@ -1,6 +0,0 @@ -<p><code><test a="</code> content of attribute <code>"></code></p> - -<p>Fix for backticks within HTML tag: <span attr='`ticks`'>like this</span></p> - -<p>Here's how you put <code>`backticks`</code> in a code span.</p> - diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/code_spans.md b/app/system/modules/editor/app/assets/marked/test/specs/original/code_spans.md deleted file mode 100755 index 750a1973..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/code_spans.md +++ /dev/null @@ -1,6 +0,0 @@ -`<test a="` content of attribute `">` - -Fix for backticks within HTML tag: <span attr='`ticks`'>like this</span> - -Here's how you put `` `backticks` `` in a code span. - diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/hard_wrapped_paragraphs_with_list_like_lines.html b/app/system/modules/editor/app/assets/marked/test/specs/original/hard_wrapped_paragraphs_with_list_like_lines.html deleted file mode 100755 index e21ac79a..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/hard_wrapped_paragraphs_with_list_like_lines.html +++ /dev/null @@ -1,8 +0,0 @@ -<p>In Markdown 1.0.0 and earlier. Version -8. This line turns into a list item. -Because a hard-wrapped line in the -middle of a paragraph looked like a -list item.</p> - -<p>Here's one with a bullet. -* criminey.</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/hard_wrapped_paragraphs_with_list_like_lines.md b/app/system/modules/editor/app/assets/marked/test/specs/original/hard_wrapped_paragraphs_with_list_like_lines.md deleted file mode 100755 index f8a5b27b..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/hard_wrapped_paragraphs_with_list_like_lines.md +++ /dev/null @@ -1,8 +0,0 @@ -In Markdown 1.0.0 and earlier. Version -8. This line turns into a list item. -Because a hard-wrapped line in the -middle of a paragraph looked like a -list item. - -Here's one with a bullet. -* criminey. diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/horizontal_rules.html b/app/system/modules/editor/app/assets/marked/test/specs/original/horizontal_rules.html deleted file mode 100755 index b84ba925..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/horizontal_rules.html +++ /dev/null @@ -1,85 +0,0 @@ -<p>Dashes:</p> - -<hr /> - -<hr /> - -<hr /> - -<hr /> - -<pre><code>--- -</code></pre> - -<hr /> - -<hr /> - -<hr /> - -<hr /> - -<pre><code>- - - -</code></pre> - -<p>Asterisks:</p> - -<hr /> - -<hr /> - -<hr /> - -<hr /> - -<pre><code>*** -</code></pre> - -<hr /> - -<hr /> - -<hr /> - -<hr /> - -<pre><code>* * * -</code></pre> - -<p>Underscores:</p> - -<hr /> - -<hr /> - -<hr /> - -<hr /> - -<pre><code>___ -</code></pre> - -<hr /> - -<hr /> - -<hr /> - -<hr /> - -<pre><code>_ _ _ -</code></pre> - -<p>Not horizontal rules:</p> -<p>--*</p> -<p>-*-</p> -<p>*--</p> -<p>-_-</p> -<p>__-</p> -<p>-__</p> -<pre><code>_-_ -</code></pre> -<p>Long rules:</p> -<hr> -<hr> -<hr> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/horizontal_rules.md b/app/system/modules/editor/app/assets/marked/test/specs/original/horizontal_rules.md deleted file mode 100755 index 49bbcfad..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/horizontal_rules.md +++ /dev/null @@ -1,94 +0,0 @@ -Dashes: - ---- - - --- - - --- - - --- - - --- - -- - - - - - - - - - - - - - - - - - - - - - - - - -Asterisks: - -*** - - *** - - *** - - *** - - *** - -* * * - - * * * - - * * * - - * * * - - * * * - - -Underscores: - -___ - - ___ - - ___ - - ___ - - ___ - -_ _ _ - - _ _ _ - - _ _ _ - - _ _ _ - - _ _ _ - - - -Not horizontal rules: - ---* - --*- - -*-- - - -_- - - __- - - -__ - - _-_ - - -Long rules: - ------------ - -___________ - -*********** diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_advanced.html b/app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_advanced.html deleted file mode 100755 index 3af9cafb..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_advanced.html +++ /dev/null @@ -1,15 +0,0 @@ -<p>Simple block on one line:</p> - -<div>foo</div> - -<p>And nested without indentation:</p> - -<div> -<div> -<div> -foo -</div> -<div style=">"/> -</div> -<div>bar</div> -</div> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_advanced.md b/app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_advanced.md deleted file mode 100755 index 86b7206d..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_advanced.md +++ /dev/null @@ -1,15 +0,0 @@ -Simple block on one line: - -<div>foo</div> - -And nested without indentation: - -<div> -<div> -<div> -foo -</div> -<div style=">"/> -</div> -<div>bar</div> -</div> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_comments.html b/app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_comments.html deleted file mode 100755 index 3f167a16..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_comments.html +++ /dev/null @@ -1,13 +0,0 @@ -<p>Paragraph one.</p> - -<!-- This is a simple comment --> - -<!-- - This is another comment. ---> - -<p>Paragraph two.</p> - -<!-- one comment block -- -- with two comments --> - -<p>The end.</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_comments.md b/app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_comments.md deleted file mode 100755 index 41d830d0..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_comments.md +++ /dev/null @@ -1,13 +0,0 @@ -Paragraph one. - -<!-- This is a simple comment --> - -<!-- - This is another comment. ---> - -Paragraph two. - -<!-- one comment block -- -- with two comments --> - -The end. diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_simple.html b/app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_simple.html deleted file mode 100755 index 6bf78f8f..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_simple.html +++ /dev/null @@ -1,72 +0,0 @@ -<p>Here's a simple block:</p> - -<div> - foo -</div> - -<p>This should be a code block, though:</p> - -<pre><code><div> - foo -</div> -</code></pre> - -<p>As should this:</p> - -<pre><code><div>foo</div> -</code></pre> - -<p>Now, nested:</p> - -<div> - <div> - <div> - foo - </div> - </div> -</div> - -<p>This should just be an HTML comment:</p> - -<!-- Comment --> - -<p>Multiline:</p> - -<!-- -Blah -Blah ---> - -<p>Code block:</p> - -<pre><code><!-- Comment --> -</code></pre> - -<p>Just plain comment, with trailing spaces on the line:</p> - -<!-- foo --> - -<p>Code:</p> - -<pre><code><hr /> -</code></pre> - -<p>Hr's:</p> - -<hr> - -<hr/> - -<hr /> - -<hr> - -<hr/> - -<hr /> - -<hr class="foo" id="bar" /> - -<hr class="foo" id="bar"/> - -<hr class="foo" id="bar" > diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_simple.md b/app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_simple.md deleted file mode 100755 index 14aa2dc2..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/inline_html_simple.md +++ /dev/null @@ -1,69 +0,0 @@ -Here's a simple block: - -<div> - foo -</div> - -This should be a code block, though: - - <div> - foo - </div> - -As should this: - - <div>foo</div> - -Now, nested: - -<div> - <div> - <div> - foo - </div> - </div> -</div> - -This should just be an HTML comment: - -<!-- Comment --> - -Multiline: - -<!-- -Blah -Blah ---> - -Code block: - - <!-- Comment --> - -Just plain comment, with trailing spaces on the line: - -<!-- foo --> - -Code: - - <hr /> - -Hr's: - -<hr> - -<hr/> - -<hr /> - -<hr> - -<hr/> - -<hr /> - -<hr class="foo" id="bar" /> - -<hr class="foo" id="bar"/> - -<hr class="foo" id="bar" > - diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/links_inline_style.html b/app/system/modules/editor/app/assets/marked/test/specs/original/links_inline_style.html deleted file mode 100755 index 12ec391c..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/links_inline_style.html +++ /dev/null @@ -1,15 +0,0 @@ -<p>Just a <a href="/url/">URL</a>.</p> - -<p><a href="/url/" title="title">URL and title</a>.</p> - -<p><a href="/url/" title="title preceded by two spaces">URL and title</a>.</p> - -<p><a href="/url/" title="title preceded by a tab">URL and title</a>.</p> - -<p><a href="/url/" title="title has spaces afterward">URL and title</a>.</p> - -<p><a href="/url/has%20space">URL and title</a>.</p> - -<p><a href="/url/has%20space/" title="url has space and title">URL and title</a>.</p> - -<p><a href="">Empty</a>.</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/links_inline_style.md b/app/system/modules/editor/app/assets/marked/test/specs/original/links_inline_style.md deleted file mode 100755 index 1dc692be..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/links_inline_style.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -pedantic: true ---- - -Just a [URL](/url/). - -[URL and title](/url/ "title"). - -[URL and title](/url/ "title preceded by two spaces"). - -[URL and title](/url/ "title preceded by a tab"). - -[URL and title](/url/ "title has spaces afterward" ). - -[URL and title]( /url/has space ). - -[URL and title]( /url/has space/ "url has space and title"). - -[Empty](). diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/links_reference_style.html b/app/system/modules/editor/app/assets/marked/test/specs/original/links_reference_style.html deleted file mode 100755 index 8e70c32f..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/links_reference_style.html +++ /dev/null @@ -1,52 +0,0 @@ -<p>Foo <a href="/url/" title="Title">bar</a>.</p> - -<p>Foo <a href="/url/" title="Title">bar</a>.</p> - -<p>Foo <a href="/url/" title="Title">bar</a>.</p> - -<p>With <a href="/url/">embedded [brackets]</a>.</p> - -<p>Indented <a href="/url">once</a>.</p> - -<p>Indented <a href="/url">twice</a>.</p> - -<p>Indented <a href="/url">thrice</a>.</p> - -<p>Indented [four][] times.</p> - -<pre><code>[four]: /url -</code></pre> - -<hr /> - -<p><a href="foo">this</a> should work</p> - -<p>So should <a href="foo">this</a>.</p> - -<p>And <a href="foo">this</a>.</p> - -<p>And <a href="foo">this</a>.</p> - -<p>And <a href="foo">this</a>.</p> - -<p>But not [that] [].</p> - -<p>Nor [that][].</p> - -<p>Nor [that].</p> - -<p>[Something in brackets like <a href="foo">this</a> should work]</p> - -<p>[Same with <a href="foo">this</a>.]</p> - -<p>In this case, <a href="/somethingelse/">this</a> points to something else.</p> - -<p>Backslashing should suppress [this] and [this].</p> - -<hr /> - -<p>Here's one where the <a href="/url/">link -breaks</a> across lines.</p> - -<p>Here's another where the <a href="/url/">link -breaks</a> across lines, but with a line-ending space.</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/links_reference_style.md b/app/system/modules/editor/app/assets/marked/test/specs/original/links_reference_style.md deleted file mode 100755 index 10ab1606..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/links_reference_style.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -pedantic: true ---- - -Foo [bar] [1]. - -Foo [bar][1]. - -Foo [bar] -[1]. - -[1]: /url/ "Title" - - -With [embedded [brackets]] [b]. - - -Indented [once][]. - -Indented [twice][]. - -Indented [thrice][]. - -Indented [four][] times. - - [once]: /url - - [twice]: /url - - [thrice]: /url - - [four]: /url - - -[b]: /url/ - -* * * - -[this] [this] should work - -So should [this][this]. - -And [this] []. - -And [this][]. - -And [this]. - -But not [that] []. - -Nor [that][]. - -Nor [that]. - -[Something in brackets like [this][] should work] - -[Same with [this].] - -In this case, [this](/somethingelse/) points to something else. - -Backslashing should suppress \[this] and [this\]. - -[this]: foo - - -* * * - -Here's one where the [link -breaks] across lines. - -Here's another where the [link -breaks] across lines, but with a line-ending space. - - -[link breaks]: /url/ diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/links_shortcut_references.html b/app/system/modules/editor/app/assets/marked/test/specs/original/links_shortcut_references.html deleted file mode 100755 index bf81e939..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/links_shortcut_references.html +++ /dev/null @@ -1,9 +0,0 @@ -<p>This is the <a href="/simple">simple case</a>.</p> - -<p>This one has a <a href="/foo">line -break</a>.</p> - -<p>This one has a <a href="/foo">line -break</a> with a line-ending space.</p> - -<p><a href="/that">this</a> and the <a href="/other">other</a></p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/links_shortcut_references.md b/app/system/modules/editor/app/assets/marked/test/specs/original/links_shortcut_references.md deleted file mode 100755 index 0ff031fa..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/links_shortcut_references.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -pedantic: true ---- - -This is the [simple case]. - -[simple case]: /simple - - - -This one has a [line -break]. - -This one has a [line -break] with a line-ending space. - -[line break]: /foo - - -[this] [that] and the [other] - -[this]: /this -[that]: /that -[other]: /other diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/literal_quotes_in_titles.html b/app/system/modules/editor/app/assets/marked/test/specs/original/literal_quotes_in_titles.html deleted file mode 100755 index 611c1ac6..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/literal_quotes_in_titles.html +++ /dev/null @@ -1,3 +0,0 @@ -<p>Foo <a href="/url/" title="Title with "quotes" inside">bar</a>.</p> - -<p>Foo <a href="/url/" title="Title with "quotes" inside">bar</a>.</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/literal_quotes_in_titles.md b/app/system/modules/editor/app/assets/marked/test/specs/original/literal_quotes_in_titles.md deleted file mode 100755 index 74de60d8..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/literal_quotes_in_titles.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -pedantic: true ---- - -Foo [bar][]. - -Foo [bar](/url/ "Title with "quotes" inside"). - - - [bar]: /url/ "Title with "quotes" inside" - diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/markdown_documentation_basics.html b/app/system/modules/editor/app/assets/marked/test/specs/original/markdown_documentation_basics.html deleted file mode 100755 index dede9d74..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/markdown_documentation_basics.html +++ /dev/null @@ -1,314 +0,0 @@ -<h1 id="markdown-basics">Markdown: Basics</h1> - -<ul id="ProjectSubmenu"> - <li><a href="/projects/markdown/" title="Markdown Project Page">Main</a></li> - <li><a class="selected" title="Markdown Basics">Basics</a></li> - <li><a href="/projects/markdown/syntax" title="Markdown Syntax Documentation">Syntax</a></li> - <li><a href="/projects/markdown/license" title="Pricing and License Information">License</a></li> - <li><a href="/projects/markdown/dingus" title="Online Markdown Web Form">Dingus</a></li> -</ul> - -<h2 id="getting-the-gist-of-markdowns-formatting-syntax">Getting the Gist of Markdown's Formatting Syntax</h2> - -<p>This page offers a brief overview of what it's like to use Markdown. -The <a href="/projects/markdown/syntax" title="Markdown Syntax">syntax page</a> provides complete, detailed documentation for -every feature, but Markdown should be very easy to pick up simply by -looking at a few examples of it in action. The examples on this page -are written in a before/after style, showing example syntax and the -HTML output produced by Markdown.</p> - -<p>It's also helpful to simply try Markdown out; the <a href="/projects/markdown/dingus" title="Markdown Dingus">Dingus</a> is a -web application that allows you type your own Markdown-formatted text -and translate it to XHTML.</p> - -<p><strong>Note:</strong> This document is itself written using Markdown; you -can <a href="/projects/markdown/basics.text">see the source for it by adding '.text' to the URL</a>.</p> - -<h2 id="paragraphs-headers-blockquotes">Paragraphs, Headers, Blockquotes</h2> - -<p>A paragraph is simply one or more consecutive lines of text, separated -by one or more blank lines. (A blank line is any line that looks like a -blank line -- a line containing nothing spaces or tabs is considered -blank.) Normal paragraphs should not be intended with spaces or tabs.</p> - -<p>Markdown offers two styles of headers: <em>Setext</em> and <em>atx</em>. -Setext-style headers for <code><h1></code> and <code><h2></code> are created by -"underlining" with equal signs (<code>=</code>) and hyphens (<code>-</code>), respectively. -To create an atx-style header, you put 1-6 hash marks (<code>#</code>) at the -beginning of the line -- the number of hashes equals the resulting -HTML header level.</p> - -<p>Blockquotes are indicated using email-style '<code>></code>' angle brackets.</p> - -<p>Markdown:</p> - -<pre><code>A First Level Header -==================== - -A Second Level Header ---------------------- - -Now is the time for all good men to come to -the aid of their country. This is just a -regular paragraph. - -The quick brown fox jumped over the lazy -dog's back. - -### Header 3 - -> This is a blockquote. -> -> This is the second paragraph in the blockquote. -> -> ## This is an H2 in a blockquote -</code></pre> - -<p>Output:</p> - -<pre><code><h1>A First Level Header</h1> - -<h2>A Second Level Header</h2> - -<p>Now is the time for all good men to come to -the aid of their country. This is just a -regular paragraph.</p> - -<p>The quick brown fox jumped over the lazy -dog's back.</p> - -<h3>Header 3</h3> - -<blockquote> - <p>This is a blockquote.</p> - - <p>This is the second paragraph in the blockquote.</p> - - <h2>This is an H2 in a blockquote</h2> -</blockquote> -</code></pre> - -<h3 id="phrase-emphasis">Phrase Emphasis</h3> - -<p>Markdown uses asterisks and underscores to indicate spans of emphasis.</p> - -<p>Markdown:</p> - -<pre><code>Some of these words *are emphasized*. -Some of these words _are emphasized also_. - -Use two asterisks for **strong emphasis**. -Or, if you prefer, __use two underscores instead__. -</code></pre> - -<p>Output:</p> - -<pre><code><p>Some of these words <em>are emphasized</em>. -Some of these words <em>are emphasized also</em>.</p> - -<p>Use two asterisks for <strong>strong emphasis</strong>. -Or, if you prefer, <strong>use two underscores instead</strong>.</p> -</code></pre> - -<h2 id="lists">Lists</h2> - -<p>Unordered (bulleted) lists use asterisks, pluses, and hyphens (<code>*</code>, -<code>+</code>, and <code>-</code>) as list markers. These three markers are -interchangable; this:</p> - -<pre><code>* Candy. -* Gum. -* Booze. -</code></pre> - -<p>this:</p> - -<pre><code>+ Candy. -+ Gum. -+ Booze. -</code></pre> - -<p>and this:</p> - -<pre><code>- Candy. -- Gum. -- Booze. -</code></pre> - -<p>all produce the same output:</p> - -<pre><code><ul> -<li>Candy.</li> -<li>Gum.</li> -<li>Booze.</li> -</ul> -</code></pre> - -<p>Ordered (numbered) lists use regular numbers, followed by periods, as -list markers:</p> - -<pre><code>1. Red -2. Green -3. Blue -</code></pre> - -<p>Output:</p> - -<pre><code><ol> -<li>Red</li> -<li>Green</li> -<li>Blue</li> -</ol> -</code></pre> - -<p>If you put blank lines between items, you'll get <code><p></code> tags for the -list item text. You can create multi-paragraph list items by indenting -the paragraphs by 4 spaces or 1 tab:</p> - -<pre><code>* A list item. - - With multiple paragraphs. - -* Another item in the list. -</code></pre> - -<p>Output:</p> - -<pre><code><ul> -<li><p>A list item.</p> -<p>With multiple paragraphs.</p></li> -<li><p>Another item in the list.</p></li> -</ul> -</code></pre> - -<h3 id="links">Links</h3> - -<p>Markdown supports two styles for creating links: <em>inline</em> and -<em>reference</em>. With both styles, you use square brackets to delimit the -text you want to turn into a link.</p> - -<p>Inline-style links use parentheses immediately after the link text. -For example:</p> - -<pre><code>This is an [example link](http://example.com/). -</code></pre> - -<p>Output:</p> - -<pre><code><p>This is an <a href="http://example.com/"> -example link</a>.</p> -</code></pre> - -<p>Optionally, you may include a title attribute in the parentheses:</p> - -<pre><code>This is an [example link](http://example.com/ "With a Title"). -</code></pre> - -<p>Output:</p> - -<pre><code><p>This is an <a href="http://example.com/" title="With a Title"> -example link</a>.</p> -</code></pre> - -<p>Reference-style links allow you to refer to your links by names, which -you define elsewhere in your document:</p> - -<pre><code>I get 10 times more traffic from [Google][1] than from -[Yahoo][2] or [MSN][3]. - -[1]: http://google.com/ "Google" -[2]: http://search.yahoo.com/ "Yahoo Search" -[3]: http://search.msn.com/ "MSN Search" -</code></pre> - -<p>Output:</p> - -<pre><code><p>I get 10 times more traffic from <a href="http://google.com/" -title="Google">Google</a> than from <a href="http://search.yahoo.com/" -title="Yahoo Search">Yahoo</a> or <a href="http://search.msn.com/" -title="MSN Search">MSN</a>.</p> -</code></pre> - -<p>The title attribute is optional. Link names may contain letters, -numbers and spaces, but are <em>not</em> case sensitive:</p> - -<pre><code>I start my morning with a cup of coffee and -[The New York Times][NY Times]. - -[ny times]: http://www.nytimes.com/ -</code></pre> - -<p>Output:</p> - -<pre><code><p>I start my morning with a cup of coffee and -<a href="http://www.nytimes.com/">The New York Times</a>.</p> -</code></pre> - -<h3 id="images">Images</h3> - -<p>Image syntax is very much like link syntax.</p> - -<p>Inline (titles are optional):</p> - -<pre><code>![alt text](/path/to/img.jpg "Title") -</code></pre> - -<p>Reference-style:</p> - -<pre><code>![alt text][id] - -[id]: /path/to/img.jpg "Title" -</code></pre> - -<p>Both of the above examples produce the same output:</p> - -<pre><code><img src="/path/to/img.jpg" alt="alt text" title="Title" /> -</code></pre> - -<h3 id="code">Code</h3> - -<p>In a regular paragraph, you can create code span by wrapping text in -backtick quotes. Any ampersands (<code>&</code>) and angle brackets (<code><</code> or -<code>></code>) will automatically be translated into HTML entities. This makes -it easy to use Markdown to write about HTML example code:</p> - -<pre><code>I strongly recommend against using any `<blink>` tags. - -I wish SmartyPants used named entities like `&mdash;` -instead of decimal-encoded entites like `&#8212;`. -</code></pre> - -<p>Output:</p> - -<pre><code><p>I strongly recommend against using any -<code>&lt;blink&gt;</code> tags.</p> - -<p>I wish SmartyPants used named entities like -<code>&amp;mdash;</code> instead of decimal-encoded -entites like <code>&amp;#8212;</code>.</p> -</code></pre> - -<p>To specify an entire block of pre-formatted code, indent every line of -the block by 4 spaces or 1 tab. Just like with code spans, <code>&</code>, <code><</code>, -and <code>></code> characters will be escaped automatically.</p> - -<p>Markdown:</p> - -<pre><code>If you want your page to validate under XHTML 1.0 Strict, -you've got to put paragraph tags in your blockquotes: - - <blockquote> - <p>For example.</p> - </blockquote> -</code></pre> - -<p>Output:</p> - -<pre><code><p>If you want your page to validate under XHTML 1.0 Strict, -you've got to put paragraph tags in your blockquotes:</p> - -<pre><code>&lt;blockquote&gt; - &lt;p&gt;For example.&lt;/p&gt; -&lt;/blockquote&gt; -</code></pre> -</code></pre> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/markdown_documentation_basics.md b/app/system/modules/editor/app/assets/marked/test/specs/original/markdown_documentation_basics.md deleted file mode 100755 index 23079a33..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/markdown_documentation_basics.md +++ /dev/null @@ -1,310 +0,0 @@ ---- -pedantic: true ---- - -Markdown: Basics -================ - -<ul id="ProjectSubmenu"> - <li><a href="/projects/markdown/" title="Markdown Project Page">Main</a></li> - <li><a class="selected" title="Markdown Basics">Basics</a></li> - <li><a href="/projects/markdown/syntax" title="Markdown Syntax Documentation">Syntax</a></li> - <li><a href="/projects/markdown/license" title="Pricing and License Information">License</a></li> - <li><a href="/projects/markdown/dingus" title="Online Markdown Web Form">Dingus</a></li> -</ul> - - -Getting the Gist of Markdown's Formatting Syntax ------------------------------------------------- - -This page offers a brief overview of what it's like to use Markdown. -The [syntax page] [s] provides complete, detailed documentation for -every feature, but Markdown should be very easy to pick up simply by -looking at a few examples of it in action. The examples on this page -are written in a before/after style, showing example syntax and the -HTML output produced by Markdown. - -It's also helpful to simply try Markdown out; the [Dingus] [d] is a -web application that allows you type your own Markdown-formatted text -and translate it to XHTML. - -**Note:** This document is itself written using Markdown; you -can [see the source for it by adding '.text' to the URL] [src]. - - [s]: /projects/markdown/syntax "Markdown Syntax" - [d]: /projects/markdown/dingus "Markdown Dingus" - [src]: /projects/markdown/basics.text - - -## Paragraphs, Headers, Blockquotes ## - -A paragraph is simply one or more consecutive lines of text, separated -by one or more blank lines. (A blank line is any line that looks like a -blank line -- a line containing nothing spaces or tabs is considered -blank.) Normal paragraphs should not be intended with spaces or tabs. - -Markdown offers two styles of headers: *Setext* and *atx*. -Setext-style headers for `<h1>` and `<h2>` are created by -"underlining" with equal signs (`=`) and hyphens (`-`), respectively. -To create an atx-style header, you put 1-6 hash marks (`#`) at the -beginning of the line -- the number of hashes equals the resulting -HTML header level. - -Blockquotes are indicated using email-style '`>`' angle brackets. - -Markdown: - - A First Level Header - ==================== - - A Second Level Header - --------------------- - - Now is the time for all good men to come to - the aid of their country. This is just a - regular paragraph. - - The quick brown fox jumped over the lazy - dog's back. - - ### Header 3 - - > This is a blockquote. - > - > This is the second paragraph in the blockquote. - > - > ## This is an H2 in a blockquote - - -Output: - - <h1>A First Level Header</h1> - - <h2>A Second Level Header</h2> - - <p>Now is the time for all good men to come to - the aid of their country. This is just a - regular paragraph.</p> - - <p>The quick brown fox jumped over the lazy - dog's back.</p> - - <h3>Header 3</h3> - - <blockquote> - <p>This is a blockquote.</p> - - <p>This is the second paragraph in the blockquote.</p> - - <h2>This is an H2 in a blockquote</h2> - </blockquote> - - - -### Phrase Emphasis ### - -Markdown uses asterisks and underscores to indicate spans of emphasis. - -Markdown: - - Some of these words *are emphasized*. - Some of these words _are emphasized also_. - - Use two asterisks for **strong emphasis**. - Or, if you prefer, __use two underscores instead__. - -Output: - - <p>Some of these words <em>are emphasized</em>. - Some of these words <em>are emphasized also</em>.</p> - - <p>Use two asterisks for <strong>strong emphasis</strong>. - Or, if you prefer, <strong>use two underscores instead</strong>.</p> - - - -## Lists ## - -Unordered (bulleted) lists use asterisks, pluses, and hyphens (`*`, -`+`, and `-`) as list markers. These three markers are -interchangable; this: - - * Candy. - * Gum. - * Booze. - -this: - - + Candy. - + Gum. - + Booze. - -and this: - - - Candy. - - Gum. - - Booze. - -all produce the same output: - - <ul> - <li>Candy.</li> - <li>Gum.</li> - <li>Booze.</li> - </ul> - -Ordered (numbered) lists use regular numbers, followed by periods, as -list markers: - - 1. Red - 2. Green - 3. Blue - -Output: - - <ol> - <li>Red</li> - <li>Green</li> - <li>Blue</li> - </ol> - -If you put blank lines between items, you'll get `<p>` tags for the -list item text. You can create multi-paragraph list items by indenting -the paragraphs by 4 spaces or 1 tab: - - * A list item. - - With multiple paragraphs. - - * Another item in the list. - -Output: - - <ul> - <li><p>A list item.</p> - <p>With multiple paragraphs.</p></li> - <li><p>Another item in the list.</p></li> - </ul> - - - -### Links ### - -Markdown supports two styles for creating links: *inline* and -*reference*. With both styles, you use square brackets to delimit the -text you want to turn into a link. - -Inline-style links use parentheses immediately after the link text. -For example: - - This is an [example link](http://example.com/). - -Output: - - <p>This is an <a href="http://example.com/"> - example link</a>.</p> - -Optionally, you may include a title attribute in the parentheses: - - This is an [example link](http://example.com/ "With a Title"). - -Output: - - <p>This is an <a href="http://example.com/" title="With a Title"> - example link</a>.</p> - -Reference-style links allow you to refer to your links by names, which -you define elsewhere in your document: - - I get 10 times more traffic from [Google][1] than from - [Yahoo][2] or [MSN][3]. - - [1]: http://google.com/ "Google" - [2]: http://search.yahoo.com/ "Yahoo Search" - [3]: http://search.msn.com/ "MSN Search" - -Output: - - <p>I get 10 times more traffic from <a href="http://google.com/" - title="Google">Google</a> than from <a href="http://search.yahoo.com/" - title="Yahoo Search">Yahoo</a> or <a href="http://search.msn.com/" - title="MSN Search">MSN</a>.</p> - -The title attribute is optional. Link names may contain letters, -numbers and spaces, but are *not* case sensitive: - - I start my morning with a cup of coffee and - [The New York Times][NY Times]. - - [ny times]: http://www.nytimes.com/ - -Output: - - <p>I start my morning with a cup of coffee and - <a href="http://www.nytimes.com/">The New York Times</a>.</p> - - -### Images ### - -Image syntax is very much like link syntax. - -Inline (titles are optional): - - ![alt text](/path/to/img.jpg "Title") - -Reference-style: - - ![alt text][id] - - [id]: /path/to/img.jpg "Title" - -Both of the above examples produce the same output: - - <img src="/path/to/img.jpg" alt="alt text" title="Title" /> - - - -### Code ### - -In a regular paragraph, you can create code span by wrapping text in -backtick quotes. Any ampersands (`&`) and angle brackets (`<` or -`>`) will automatically be translated into HTML entities. This makes -it easy to use Markdown to write about HTML example code: - - I strongly recommend against using any `<blink>` tags. - - I wish SmartyPants used named entities like `—` - instead of decimal-encoded entites like `—`. - -Output: - - <p>I strongly recommend against using any - <code><blink></code> tags.</p> - - <p>I wish SmartyPants used named entities like - <code>&mdash;</code> instead of decimal-encoded - entites like <code>&#8212;</code>.</p> - - -To specify an entire block of pre-formatted code, indent every line of -the block by 4 spaces or 1 tab. Just like with code spans, `&`, `<`, -and `>` characters will be escaped automatically. - -Markdown: - - If you want your page to validate under XHTML 1.0 Strict, - you've got to put paragraph tags in your blockquotes: - - <blockquote> - <p>For example.</p> - </blockquote> - -Output: - - <p>If you want your page to validate under XHTML 1.0 Strict, - you've got to put paragraph tags in your blockquotes:</p> - - <pre><code><blockquote> - <p>For example.</p> - </blockquote> - </code></pre> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/markdown_documentation_syntax.html b/app/system/modules/editor/app/assets/marked/test/specs/original/markdown_documentation_syntax.html deleted file mode 100755 index 5c01306c..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/markdown_documentation_syntax.html +++ /dev/null @@ -1,942 +0,0 @@ -<h1>Markdown: Syntax</h1> - -<ul id="ProjectSubmenu"> - <li><a href="/projects/markdown/" title="Markdown Project Page">Main</a></li> - <li><a href="/projects/markdown/basics" title="Markdown Basics">Basics</a></li> - <li><a class="selected" title="Markdown Syntax Documentation">Syntax</a></li> - <li><a href="/projects/markdown/license" title="Pricing and License Information">License</a></li> - <li><a href="/projects/markdown/dingus" title="Online Markdown Web Form">Dingus</a></li> -</ul> - -<ul> -<li><a href="#overview">Overview</a> -<ul> -<li><a href="#philosophy">Philosophy</a></li> -<li><a href="#html">Inline HTML</a></li> -<li><a href="#autoescape">Automatic Escaping for Special Characters</a></li> -</ul></li> -<li><a href="#block">Block Elements</a> -<ul> -<li><a href="#p">Paragraphs and Line Breaks</a></li> -<li><a href="#header">Headers</a></li> -<li><a href="#blockquote">Blockquotes</a></li> -<li><a href="#list">Lists</a></li> -<li><a href="#precode">Code Blocks</a></li> -<li><a href="#hr">Horizontal Rules</a></li> -</ul></li> -<li><a href="#span">Span Elements</a> -<ul> -<li><a href="#link">Links</a></li> -<li><a href="#em">Emphasis</a></li> -<li><a href="#code">Code</a></li> -<li><a href="#img">Images</a></li> -</ul></li> -<li><a href="#misc">Miscellaneous</a> -<ul> -<li><a href="#backslash">Backslash Escapes</a></li> -<li><a href="#autolink">Automatic Links</a></li> -</ul></li> -</ul> - -<p><strong>Note:</strong> This document is itself written using Markdown; you -can <a href="/projects/markdown/syntax.text">see the source for it by adding '.text' to the URL</a>.</p> - -<hr /> - -<h2 id="overview">Overview</h2> - -<h3 id="philosophy">Philosophy</h3> - -<p>Markdown is intended to be as easy-to-read and easy-to-write as is feasible.</p> - -<p>Readability, however, is emphasized above all else. A Markdown-formatted -document should be publishable as-is, as plain text, without looking -like it's been marked up with tags or formatting instructions. While -Markdown's syntax has been influenced by several existing text-to-HTML -filters -- including <a href="http://docutils.sourceforge.net/mirror/setext.html">Setext</a>, <a href="http://www.aaronsw.com/2002/atx/">atx</a>, <a href="http://textism.com/tools/textile/">Textile</a>, <a href="http://docutils.sourceforge.net/rst.html">reStructuredText</a>, -<a href="http://www.triptico.com/software/grutatxt.html">Grutatext</a>, and <a href="http://ettext.taint.org/doc/">EtText</a> -- the single biggest source of -inspiration for Markdown's syntax is the format of plain text email.</p> - -<p>To this end, Markdown's syntax is comprised entirely of punctuation -characters, which punctuation characters have been carefully chosen so -as to look like what they mean. E.g., asterisks around a word actually -look like *emphasis*. Markdown lists look like, well, lists. Even -blockquotes look like quoted passages of text, assuming you've ever -used email.</p> - -<h3 id="html">Inline HTML</h3> - -<p>Markdown's syntax is intended for one purpose: to be used as a -format for <em>writing</em> for the web.</p> - -<p>Markdown is not a replacement for HTML, or even close to it. Its -syntax is very small, corresponding only to a very small subset of -HTML tags. The idea is <em>not</em> to create a syntax that makes it easier -to insert HTML tags. In my opinion, HTML tags are already easy to -insert. The idea for Markdown is to make it easy to read, write, and -edit prose. HTML is a <em>publishing</em> format; Markdown is a <em>writing</em> -format. Thus, Markdown's formatting syntax only addresses issues that -can be conveyed in plain text.</p> - -<p>For any markup that is not covered by Markdown's syntax, you simply -use HTML itself. There's no need to preface it or delimit it to -indicate that you're switching from Markdown to HTML; you just use -the tags.</p> - -<p>The only restrictions are that block-level HTML elements -- e.g. <code><div></code>, -<code><table></code>, <code><pre></code>, <code><p></code>, etc. -- must be separated from surrounding -content by blank lines, and the start and end tags of the block should -not be indented with tabs or spaces. Markdown is smart enough not -to add extra (unwanted) <code><p></code> tags around HTML block-level tags.</p> - -<p>For example, to add an HTML table to a Markdown article:</p> - -<pre><code>This is a regular paragraph. - -<table> - <tr> - <td>Foo</td> - </tr> -</table> - -This is another regular paragraph. -</code></pre> - -<p>Note that Markdown formatting syntax is not processed within block-level -HTML tags. E.g., you can't use Markdown-style <code>*emphasis*</code> inside an -HTML block.</p> - -<p>Span-level HTML tags -- e.g. <code><span></code>, <code><cite></code>, or <code><del></code> -- can be -used anywhere in a Markdown paragraph, list item, or header. If you -want, you can even use HTML tags instead of Markdown formatting; e.g. if -you'd prefer to use HTML <code><a></code> or <code><img></code> tags instead of Markdown's -link or image syntax, go right ahead.</p> - -<p>Unlike block-level HTML tags, Markdown syntax <em>is</em> processed within -span-level tags.</p> - -<h3 id="autoescape">Automatic Escaping for Special Characters</h3> - -<p>In HTML, there are two characters that demand special treatment: <code><</code> -and <code>&</code>. Left angle brackets are used to start tags; ampersands are -used to denote HTML entities. If you want to use them as literal -characters, you must escape them as entities, e.g. <code>&lt;</code>, and -<code>&amp;</code>.</p> - -<p>Ampersands in particular are bedeviling for web writers. If you want to -write about 'AT&T', you need to write '<code>AT&amp;T</code>'. You even need to -escape ampersands within URLs. Thus, if you want to link to:</p> - -<pre><code>http://images.google.com/images?num=30&q=larry+bird -</code></pre> - -<p>you need to encode the URL as:</p> - -<pre><code>http://images.google.com/images?num=30&amp;q=larry+bird -</code></pre> - -<p>in your anchor tag <code>href</code> attribute. Needless to say, this is easy to -forget, and is probably the single most common source of HTML validation -errors in otherwise well-marked-up web sites.</p> - -<p>Markdown allows you to use these characters naturally, taking care of -all the necessary escaping for you. If you use an ampersand as part of -an HTML entity, it remains unchanged; otherwise it will be translated -into <code>&amp;</code>.</p> - -<p>So, if you want to include a copyright symbol in your article, you can write:</p> - -<pre><code>&copy; -</code></pre> - -<p>and Markdown will leave it alone. But if you write:</p> - -<pre><code>AT&T -</code></pre> - -<p>Markdown will translate it to:</p> - -<pre><code>AT&amp;T -</code></pre> - -<p>Similarly, because Markdown supports <a href="#html">inline HTML</a>, if you use -angle brackets as delimiters for HTML tags, Markdown will treat them as -such. But if you write:</p> - -<pre><code>4 < 5 -</code></pre> - -<p>Markdown will translate it to:</p> - -<pre><code>4 &lt; 5 -</code></pre> - -<p>However, inside Markdown code spans and blocks, angle brackets and -ampersands are <em>always</em> encoded automatically. This makes it easy to use -Markdown to write about HTML code. (As opposed to raw HTML, which is a -terrible format for writing about HTML syntax, because every single <code><</code> -and <code>&</code> in your example code needs to be escaped.)</p> - -<hr /> - -<h2 id="block">Block Elements</h2> - -<h3 id="p">Paragraphs and Line Breaks</h3> - -<p>A paragraph is simply one or more consecutive lines of text, separated -by one or more blank lines. (A blank line is any line that looks like a -blank line -- a line containing nothing but spaces or tabs is considered -blank.) Normal paragraphs should not be intended with spaces or tabs.</p> - -<p>The implication of the "one or more consecutive lines of text" rule is -that Markdown supports "hard-wrapped" text paragraphs. This differs -significantly from most other text-to-HTML formatters (including Movable -Type's "Convert Line Breaks" option) which translate every line break -character in a paragraph into a <code><br /></code> tag.</p> - -<p>When you <em>do</em> want to insert a <code><br /></code> break tag using Markdown, you -end a line with two or more spaces, then type return.</p> - -<p>Yes, this takes a tad more effort to create a <code><br /></code>, but a simplistic -"every line break is a <code><br /></code>" rule wouldn't work for Markdown. -Markdown's email-style <a href="#blockquote">blockquoting</a> and multi-paragraph <a href="#list">list items</a> -work best -- and look better -- when you format them with hard breaks.</p> - -<h3 id="header">Headers</h3> - -<p>Markdown supports two styles of headers, <a href="http://docutils.sourceforge.net/mirror/setext.html">Setext</a> and <a href="http://www.aaronsw.com/2002/atx/">atx</a>.</p> - -<p>Setext-style headers are "underlined" using equal signs (for first-level -headers) and dashes (for second-level headers). For example:</p> - -<pre><code>This is an H1 -============= - -This is an H2 -------------- -</code></pre> - -<p>Any number of underlining <code>=</code>'s or <code>-</code>'s will work.</p> - -<p>Atx-style headers use 1-6 hash characters at the start of the line, -corresponding to header levels 1-6. For example:</p> - -<pre><code># This is an H1 - -## This is an H2 - -###### This is an H6 -</code></pre> - -<p>Optionally, you may "close" atx-style headers. This is purely -cosmetic -- you can use this if you think it looks better. The -closing hashes don't even need to match the number of hashes -used to open the header. (The number of opening hashes -determines the header level.) :</p> - -<pre><code># This is an H1 # - -## This is an H2 ## - -### This is an H3 ###### -</code></pre> - -<h3 id="blockquote">Blockquotes</h3> - -<p>Markdown uses email-style <code>></code> characters for blockquoting. If you're -familiar with quoting passages of text in an email message, then you -know how to create a blockquote in Markdown. It looks best if you hard -wrap the text and put a <code>></code> before every line:</p> - -<pre><code>> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, -> consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. -> Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. -> -> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse -> id sem consectetuer libero luctus adipiscing. -</code></pre> - -<p>Markdown allows you to be lazy and only put the <code>></code> before the first -line of a hard-wrapped paragraph:</p> - -<pre><code>> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, -consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. -Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. - -> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse -id sem consectetuer libero luctus adipiscing. -</code></pre> - -<p>Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by -adding additional levels of <code>></code>:</p> - -<pre><code>> This is the first level of quoting. -> -> > This is nested blockquote. -> -> Back to the first level. -</code></pre> - -<p>Blockquotes can contain other Markdown elements, including headers, lists, -and code blocks:</p> - -<pre><code>> ## This is a header. -> -> 1. This is the first list item. -> 2. This is the second list item. -> -> Here's some example code: -> -> return shell_exec("echo $input | $markdown_script"); -</code></pre> - -<p>Any decent text editor should make email-style quoting easy. For -example, with BBEdit, you can make a selection and choose Increase -Quote Level from the Text menu.</p> - -<h3 id="list">Lists</h3> - -<p>Markdown supports ordered (numbered) and unordered (bulleted) lists.</p> - -<p>Unordered lists use asterisks, pluses, and hyphens -- interchangably --- as list markers:</p> - -<pre><code>* Red -* Green -* Blue -</code></pre> - -<p>is equivalent to:</p> - -<pre><code>+ Red -+ Green -+ Blue -</code></pre> - -<p>and:</p> - -<pre><code>- Red -- Green -- Blue -</code></pre> - -<p>Ordered lists use numbers followed by periods:</p> - -<pre><code>1. Bird -2. McHale -3. Parish -</code></pre> - -<p>It's important to note that the actual numbers you use to mark the -list have no effect on the HTML output Markdown produces. The HTML -Markdown produces from the above list is:</p> - -<pre><code><ol> -<li>Bird</li> -<li>McHale</li> -<li>Parish</li> -</ol> -</code></pre> - -<p>If you instead wrote the list in Markdown like this:</p> - -<pre><code>1. Bird -1. McHale -1. Parish -</code></pre> - -<p>or even:</p> - -<pre><code>3. Bird -1. McHale -8. Parish -</code></pre> - -<p>you'd get the exact same HTML output. The point is, if you want to, -you can use ordinal numbers in your ordered Markdown lists, so that -the numbers in your source match the numbers in your published HTML. -But if you want to be lazy, you don't have to.</p> - -<p>If you do use lazy list numbering, however, you should still start the -list with the number 1. At some point in the future, Markdown may support -starting ordered lists at an arbitrary number.</p> - -<p>List markers typically start at the left margin, but may be indented by -up to three spaces. List markers must be followed by one or more spaces -or a tab.</p> - -<p>To make lists look nice, you can wrap items with hanging indents:</p> - -<pre><code>* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. - Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, - viverra nec, fringilla in, laoreet vitae, risus. -* Donec sit amet nisl. Aliquam semper ipsum sit amet velit. - Suspendisse id sem consectetuer libero luctus adipiscing. -</code></pre> - -<p>But if you want to be lazy, you don't have to:</p> - -<pre><code>* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. -Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, -viverra nec, fringilla in, laoreet vitae, risus. -* Donec sit amet nisl. Aliquam semper ipsum sit amet velit. -Suspendisse id sem consectetuer libero luctus adipiscing. -</code></pre> - -<p>If list items are separated by blank lines, Markdown will wrap the -items in <code><p></code> tags in the HTML output. For example, this input:</p> - -<pre><code>* Bird -* Magic -</code></pre> - -<p>will turn into:</p> - -<pre><code><ul> -<li>Bird</li> -<li>Magic</li> -</ul> -</code></pre> - -<p>But this:</p> - -<pre><code>* Bird - -* Magic -</code></pre> - -<p>will turn into:</p> - -<pre><code><ul> -<li><p>Bird</p></li> -<li><p>Magic</p></li> -</ul> -</code></pre> - -<p>List items may consist of multiple paragraphs. Each subsequent -paragraph in a list item must be intended by either 4 spaces -or one tab:</p> - -<pre><code>1. This is a list item with two paragraphs. Lorem ipsum dolor - sit amet, consectetuer adipiscing elit. Aliquam hendrerit - mi posuere lectus. - - Vestibulum enim wisi, viverra nec, fringilla in, laoreet - vitae, risus. Donec sit amet nisl. Aliquam semper ipsum - sit amet velit. - -2. Suspendisse id sem consectetuer libero luctus adipiscing. -</code></pre> - -<p>It looks nice if you indent every line of the subsequent -paragraphs, but here again, Markdown will allow you to be -lazy:</p> - -<pre><code>* This is a list item with two paragraphs. - - This is the second paragraph in the list item. You're -only required to indent the first line. Lorem ipsum dolor -sit amet, consectetuer adipiscing elit. - -* Another item in the same list. -</code></pre> - -<p>To put a blockquote within a list item, the blockquote's <code>></code> -delimiters need to be indented:</p> - -<pre><code>* A list item with a blockquote: - - > This is a blockquote - > inside a list item. -</code></pre> - -<p>To put a code block within a list item, the code block needs -to be indented <em>twice</em> -- 8 spaces or two tabs:</p> - -<pre><code>* A list item with a code block: - - <code goes here> -</code></pre> - -<p>It's worth noting that it's possible to trigger an ordered list by -accident, by writing something like this:</p> - -<pre><code>1986. What a great season. -</code></pre> - -<p>In other words, a <em>number-period-space</em> sequence at the beginning of a -line. To avoid this, you can backslash-escape the period:</p> - -<pre><code>1986\. What a great season. -</code></pre> - -<h3 id="precode">Code Blocks</h3> - -<p>Pre-formatted code blocks are used for writing about programming or -markup source code. Rather than forming normal paragraphs, the lines -of a code block are interpreted literally. Markdown wraps a code block -in both <code><pre></code> and <code><code></code> tags.</p> - -<p>To produce a code block in Markdown, simply indent every line of the -block by at least 4 spaces or 1 tab. For example, given this input:</p> - -<pre><code>This is a normal paragraph: - - This is a code block. -</code></pre> - -<p>Markdown will generate:</p> - -<pre><code><p>This is a normal paragraph:</p> - -<pre><code>This is a code block. -</code></pre> -</code></pre> - -<p>One level of indentation -- 4 spaces or 1 tab -- is removed from each -line of the code block. For example, this:</p> - -<pre><code>Here is an example of AppleScript: - - tell application "Foo" - beep - end tell -</code></pre> - -<p>will turn into:</p> - -<pre><code><p>Here is an example of AppleScript:</p> - -<pre><code>tell application "Foo" - beep -end tell -</code></pre> -</code></pre> - -<p>A code block continues until it reaches a line that is not indented -(or the end of the article).</p> - -<p>Within a code block, ampersands (<code>&</code>) and angle brackets (<code><</code> and <code>></code>) -are automatically converted into HTML entities. This makes it very -easy to include example HTML source code using Markdown -- just paste -it and indent it, and Markdown will handle the hassle of encoding the -ampersands and angle brackets. For example, this:</p> - -<pre><code> <div class="footer"> - &copy; 2004 Foo Corporation - </div> -</code></pre> - -<p>will turn into:</p> - -<pre><code><pre><code>&lt;div class="footer"&gt; - &amp;copy; 2004 Foo Corporation -&lt;/div&gt; -</code></pre> -</code></pre> - -<p>Regular Markdown syntax is not processed within code blocks. E.g., -asterisks are just literal asterisks within a code block. This means -it's also easy to use Markdown to write about Markdown's own syntax.</p> - -<h3 id="hr">Horizontal Rules</h3> - -<p>You can produce a horizontal rule tag (<code><hr /></code>) by placing three or -more hyphens, asterisks, or underscores on a line by themselves. If you -wish, you may use spaces between the hyphens or asterisks. Each of the -following lines will produce a horizontal rule:</p> - -<pre><code>* * * - -*** - -***** - -- - - - ---------------------------------------- - -_ _ _ -</code></pre> - -<hr /> - -<h2 id="span">Span Elements</h2> - -<h3 id="link">Links</h3> - -<p>Markdown supports two style of links: <em>inline</em> and <em>reference</em>.</p> - -<p>In both styles, the link text is delimited by [square brackets].</p> - -<p>To create an inline link, use a set of regular parentheses immediately -after the link text's closing square bracket. Inside the parentheses, -put the URL where you want the link to point, along with an <em>optional</em> -title for the link, surrounded in quotes. For example:</p> - -<pre><code>This is [an example](http://example.com/ "Title") inline link. - -[This link](http://example.net/) has no title attribute. -</code></pre> - -<p>Will produce:</p> - -<pre><code><p>This is <a href="http://example.com/" title="Title"> -an example</a> inline link.</p> - -<p><a href="http://example.net/">This link</a> has no -title attribute.</p> -</code></pre> - -<p>If you're referring to a local resource on the same server, you can -use relative paths:</p> - -<pre><code>See my [About](/about/) page for details. -</code></pre> - -<p>Reference-style links use a second set of square brackets, inside -which you place a label of your choosing to identify the link:</p> - -<pre><code>This is [an example][id] reference-style link. -</code></pre> - -<p>You can optionally use a space to separate the sets of brackets:</p> - -<pre><code>This is [an example] [id] reference-style link. -</code></pre> - -<p>Then, anywhere in the document, you define your link label like this, -on a line by itself:</p> - -<pre><code>[id]: http://example.com/ "Optional Title Here" -</code></pre> - -<p>That is:</p> - -<ul> -<li>Square brackets containing the link identifier (optionally -indented from the left margin using up to three spaces);</li> -<li>followed by a colon;</li> -<li>followed by one or more spaces (or tabs);</li> -<li>followed by the URL for the link;</li> -<li>optionally followed by a title attribute for the link, enclosed -in double or single quotes.</li> -</ul> - -<p>The link URL may, optionally, be surrounded by angle brackets:</p> - -<pre><code>[id]: <http://example.com/> "Optional Title Here" -</code></pre> - -<p>You can put the title attribute on the next line and use extra spaces -or tabs for padding, which tends to look better with longer URLs:</p> - -<pre><code>[id]: http://example.com/longish/path/to/resource/here - "Optional Title Here" -</code></pre> - -<p>Link definitions are only used for creating links during Markdown -processing, and are stripped from your document in the HTML output.</p> - -<p>Link definition names may constist of letters, numbers, spaces, and punctuation -- but they are <em>not</em> case sensitive. E.g. these two links:</p> - -<pre><code>[link text][a] -[link text][A] -</code></pre> - -<p>are equivalent.</p> - -<p>The <em>implicit link name</em> shortcut allows you to omit the name of the -link, in which case the link text itself is used as the name. -Just use an empty set of square brackets -- e.g., to link the word -"Google" to the google.com web site, you could simply write:</p> - -<pre><code>[Google][] -</code></pre> - -<p>And then define the link:</p> - -<pre><code>[Google]: http://google.com/ -</code></pre> - -<p>Because link names may contain spaces, this shortcut even works for -multiple words in the link text:</p> - -<pre><code>Visit [Daring Fireball][] for more information. -</code></pre> - -<p>And then define the link:</p> - -<pre><code>[Daring Fireball]: http://daringfireball.net/ -</code></pre> - -<p>Link definitions can be placed anywhere in your Markdown document. I -tend to put them immediately after each paragraph in which they're -used, but if you want, you can put them all at the end of your -document, sort of like footnotes.</p> - -<p>Here's an example of reference links in action:</p> - -<pre><code>I get 10 times more traffic from [Google] [1] than from -[Yahoo] [2] or [MSN] [3]. - - [1]: http://google.com/ "Google" - [2]: http://search.yahoo.com/ "Yahoo Search" - [3]: http://search.msn.com/ "MSN Search" -</code></pre> - -<p>Using the implicit link name shortcut, you could instead write:</p> - -<pre><code>I get 10 times more traffic from [Google][] than from -[Yahoo][] or [MSN][]. - - [google]: http://google.com/ "Google" - [yahoo]: http://search.yahoo.com/ "Yahoo Search" - [msn]: http://search.msn.com/ "MSN Search" -</code></pre> - -<p>Both of the above examples will produce the following HTML output:</p> - -<pre><code><p>I get 10 times more traffic from <a href="http://google.com/" -title="Google">Google</a> than from -<a href="http://search.yahoo.com/" title="Yahoo Search">Yahoo</a> -or <a href="http://search.msn.com/" title="MSN Search">MSN</a>.</p> -</code></pre> - -<p>For comparison, here is the same paragraph written using -Markdown's inline link style:</p> - -<pre><code>I get 10 times more traffic from [Google](http://google.com/ "Google") -than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or -[MSN](http://search.msn.com/ "MSN Search"). -</code></pre> - -<p>The point of reference-style links is not that they're easier to -write. The point is that with reference-style links, your document -source is vastly more readable. Compare the above examples: using -reference-style links, the paragraph itself is only 81 characters -long; with inline-style links, it's 176 characters; and as raw HTML, -it's 234 characters. In the raw HTML, there's more markup than there -is text.</p> - -<p>With Markdown's reference-style links, a source document much more -closely resembles the final output, as rendered in a browser. By -allowing you to move the markup-related metadata out of the paragraph, -you can add links without interrupting the narrative flow of your -prose.</p> - -<h3 id="em">Emphasis</h3> - -<p>Markdown treats asterisks (<code>*</code>) and underscores (<code>_</code>) as indicators of -emphasis. Text wrapped with one <code>*</code> or <code>_</code> will be wrapped with an -HTML <code><em></code> tag; double <code>*</code>'s or <code>_</code>'s will be wrapped with an HTML -<code><strong></code> tag. E.g., this input:</p> - -<pre><code>*single asterisks* - -_single underscores_ - -**double asterisks** - -__double underscores__ -</code></pre> - -<p>will produce:</p> - -<pre><code><em>single asterisks</em> - -<em>single underscores</em> - -<strong>double asterisks</strong> - -<strong>double underscores</strong> -</code></pre> - -<p>You can use whichever style you prefer; the lone restriction is that -the same character must be used to open and close an emphasis span.</p> - -<p>Emphasis can be used in the middle of a word:</p> - -<pre><code>un*fucking*believable -</code></pre> - -<p>But if you surround an <code>*</code> or <code>_</code> with spaces, it'll be treated as a -literal asterisk or underscore.</p> - -<p>To produce a literal asterisk or underscore at a position where it -would otherwise be used as an emphasis delimiter, you can backslash -escape it:</p> - -<pre><code>\*this text is surrounded by literal asterisks\* -</code></pre> - -<h3 id="code">Code</h3> - -<p>To indicate a span of code, wrap it with backtick quotes (<code>`</code>). -Unlike a pre-formatted code block, a code span indicates code within a -normal paragraph. For example:</p> - -<pre><code>Use the `printf()` function. -</code></pre> - -<p>will produce:</p> - -<pre><code><p>Use the <code>printf()</code> function.</p> -</code></pre> - -<p>To include a literal backtick character within a code span, you can use -multiple backticks as the opening and closing delimiters:</p> - -<pre><code>``There is a literal backtick (`) here.`` -</code></pre> - -<p>which will produce this:</p> - -<pre><code><p><code>There is a literal backtick (`) here.</code></p> -</code></pre> - -<p>The backtick delimiters surrounding a code span may include spaces -- -one after the opening, one before the closing. This allows you to place -literal backtick characters at the beginning or end of a code span:</p> - -<pre><code>A single backtick in a code span: `` ` `` - -A backtick-delimited string in a code span: `` `foo` `` -</code></pre> - -<p>will produce:</p> - -<pre><code><p>A single backtick in a code span: <code>`</code></p> - -<p>A backtick-delimited string in a code span: <code>`foo`</code></p> -</code></pre> - -<p>With a code span, ampersands and angle brackets are encoded as HTML -entities automatically, which makes it easy to include example HTML -tags. Markdown will turn this:</p> - -<pre><code>Please don't use any `<blink>` tags. -</code></pre> - -<p>into:</p> - -<pre><code><p>Please don't use any <code>&lt;blink&gt;</code> tags.</p> -</code></pre> - -<p>You can write this:</p> - -<pre><code>`&#8212;` is the decimal-encoded equivalent of `&mdash;`. -</code></pre> - -<p>to produce:</p> - -<pre><code><p><code>&amp;#8212;</code> is the decimal-encoded -equivalent of <code>&amp;mdash;</code>.</p> -</code></pre> - -<h3 id="img">Images</h3> - -<p>Admittedly, it's fairly difficult to devise a "natural" syntax for -placing images into a plain text document format.</p> - -<p>Markdown uses an image syntax that is intended to resemble the syntax -for links, allowing for two styles: <em>inline</em> and <em>reference</em>.</p> - -<p>Inline image syntax looks like this:</p> - -<pre><code>![Alt text](/path/to/img.jpg) - -![Alt text](/path/to/img.jpg "Optional title") -</code></pre> - -<p>That is:</p> - -<ul> -<li>An exclamation mark: <code>!</code>;</li> -<li>followed by a set of square brackets, containing the <code>alt</code> -attribute text for the image;</li> -<li>followed by a set of parentheses, containing the URL or path to -the image, and an optional <code>title</code> attribute enclosed in double -or single quotes.</li> -</ul> - -<p>Reference-style image syntax looks like this:</p> - -<pre><code>![Alt text][id] -</code></pre> - -<p>Where "id" is the name of a defined image reference. Image references -are defined using syntax identical to link references:</p> - -<pre><code>[id]: url/to/image "Optional title attribute" -</code></pre> - -<p>As of this writing, Markdown has no syntax for specifying the -dimensions of an image; if this is important to you, you can simply -use regular HTML <code><img></code> tags.</p> - -<hr /> - -<h2 id="misc">Miscellaneous</h2> - -<h3 id="autolink">Automatic Links</h3> - -<p>Markdown supports a shortcut style for creating "automatic" links for URLs and email addresses: simply surround the URL or email address with angle brackets. What this means is that if you want to show the actual text of a URL or email address, and also have it be a clickable link, you can do this:</p> - -<pre><code><http://example.com/> -</code></pre> - -<p>Markdown will turn this into:</p> - -<pre><code><a href="http://example.com/">http://example.com/</a> -</code></pre> - -<p>Automatic links for email addresses work similarly, except that -Markdown will also perform a bit of randomized decimal and hex -entity-encoding to help obscure your address from address-harvesting -spambots. For example, Markdown will turn this:</p> - -<pre><code><address@example.com> -</code></pre> - -<p>into something like this:</p> - -<pre><code><a href="&#x6D;&#x61;i&#x6C;&#x74;&#x6F;:&#x61;&#x64;&#x64;&#x72;&#x65; -&#115;&#115;&#64;&#101;&#120;&#x61;&#109;&#x70;&#x6C;e&#x2E;&#99;&#111; -&#109;">&#x61;&#x64;&#x64;&#x72;&#x65;&#115;&#115;&#64;&#101;&#120;&#x61; -&#109;&#x70;&#x6C;e&#x2E;&#99;&#111;&#109;</a> -</code></pre> - -<p>which will render in a browser as a clickable link to "address@example.com".</p> - -<p>(This sort of entity-encoding trick will indeed fool many, if not -most, address-harvesting bots, but it definitely won't fool all of -them. It's better than nothing, but an address published in this way -will probably eventually start receiving spam.)</p> - -<h3 id="backslash">Backslash Escapes</h3> - -<p>Markdown allows you to use backslash escapes to generate literal -characters which would otherwise have special meaning in Markdown's -formatting syntax. For example, if you wanted to surround a word with -literal asterisks (instead of an HTML <code><em></code> tag), you can backslashes -before the asterisks, like this:</p> - -<pre><code>\*literal asterisks\* -</code></pre> - -<p>Markdown provides backslash escapes for the following characters:</p> - -<pre><code>\ backslash -` backtick -* asterisk -_ underscore -{} curly braces -[] square brackets -() parentheses -# hash mark -+ plus sign -- minus sign (hyphen) -. dot -! exclamation mark -</code></pre> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/markdown_documentation_syntax.md b/app/system/modules/editor/app/assets/marked/test/specs/original/markdown_documentation_syntax.md deleted file mode 100755 index e3bd4a7f..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/markdown_documentation_syntax.md +++ /dev/null @@ -1,892 +0,0 @@ ---- -pedantic: true -headerIds: false ---- - -Markdown: Syntax -================ - -<ul id="ProjectSubmenu"> - <li><a href="/projects/markdown/" title="Markdown Project Page">Main</a></li> - <li><a href="/projects/markdown/basics" title="Markdown Basics">Basics</a></li> - <li><a class="selected" title="Markdown Syntax Documentation">Syntax</a></li> - <li><a href="/projects/markdown/license" title="Pricing and License Information">License</a></li> - <li><a href="/projects/markdown/dingus" title="Online Markdown Web Form">Dingus</a></li> -</ul> - - -* [Overview](#overview) - * [Philosophy](#philosophy) - * [Inline HTML](#html) - * [Automatic Escaping for Special Characters](#autoescape) -* [Block Elements](#block) - * [Paragraphs and Line Breaks](#p) - * [Headers](#header) - * [Blockquotes](#blockquote) - * [Lists](#list) - * [Code Blocks](#precode) - * [Horizontal Rules](#hr) -* [Span Elements](#span) - * [Links](#link) - * [Emphasis](#em) - * [Code](#code) - * [Images](#img) -* [Miscellaneous](#misc) - * [Backslash Escapes](#backslash) - * [Automatic Links](#autolink) - - -**Note:** This document is itself written using Markdown; you -can [see the source for it by adding '.text' to the URL][src]. - - [src]: /projects/markdown/syntax.text - -* * * - -<h2 id="overview">Overview</h2> - -<h3 id="philosophy">Philosophy</h3> - -Markdown is intended to be as easy-to-read and easy-to-write as is feasible. - -Readability, however, is emphasized above all else. A Markdown-formatted -document should be publishable as-is, as plain text, without looking -like it's been marked up with tags or formatting instructions. While -Markdown's syntax has been influenced by several existing text-to-HTML -filters -- including [Setext] [1], [atx] [2], [Textile] [3], [reStructuredText] [4], -[Grutatext] [5], and [EtText] [6] -- the single biggest source of -inspiration for Markdown's syntax is the format of plain text email. - - [1]: http://docutils.sourceforge.net/mirror/setext.html - [2]: http://www.aaronsw.com/2002/atx/ - [3]: http://textism.com/tools/textile/ - [4]: http://docutils.sourceforge.net/rst.html - [5]: http://www.triptico.com/software/grutatxt.html - [6]: http://ettext.taint.org/doc/ - -To this end, Markdown's syntax is comprised entirely of punctuation -characters, which punctuation characters have been carefully chosen so -as to look like what they mean. E.g., asterisks around a word actually -look like \*emphasis\*. Markdown lists look like, well, lists. Even -blockquotes look like quoted passages of text, assuming you've ever -used email. - - - -<h3 id="html">Inline HTML</h3> - -Markdown's syntax is intended for one purpose: to be used as a -format for *writing* for the web. - -Markdown is not a replacement for HTML, or even close to it. Its -syntax is very small, corresponding only to a very small subset of -HTML tags. The idea is *not* to create a syntax that makes it easier -to insert HTML tags. In my opinion, HTML tags are already easy to -insert. The idea for Markdown is to make it easy to read, write, and -edit prose. HTML is a *publishing* format; Markdown is a *writing* -format. Thus, Markdown's formatting syntax only addresses issues that -can be conveyed in plain text. - -For any markup that is not covered by Markdown's syntax, you simply -use HTML itself. There's no need to preface it or delimit it to -indicate that you're switching from Markdown to HTML; you just use -the tags. - -The only restrictions are that block-level HTML elements -- e.g. `<div>`, -`<table>`, `<pre>`, `<p>`, etc. -- must be separated from surrounding -content by blank lines, and the start and end tags of the block should -not be indented with tabs or spaces. Markdown is smart enough not -to add extra (unwanted) `<p>` tags around HTML block-level tags. - -For example, to add an HTML table to a Markdown article: - - This is a regular paragraph. - - <table> - <tr> - <td>Foo</td> - </tr> - </table> - - This is another regular paragraph. - -Note that Markdown formatting syntax is not processed within block-level -HTML tags. E.g., you can't use Markdown-style `*emphasis*` inside an -HTML block. - -Span-level HTML tags -- e.g. `<span>`, `<cite>`, or `<del>` -- can be -used anywhere in a Markdown paragraph, list item, or header. If you -want, you can even use HTML tags instead of Markdown formatting; e.g. if -you'd prefer to use HTML `<a>` or `<img>` tags instead of Markdown's -link or image syntax, go right ahead. - -Unlike block-level HTML tags, Markdown syntax *is* processed within -span-level tags. - - -<h3 id="autoescape">Automatic Escaping for Special Characters</h3> - -In HTML, there are two characters that demand special treatment: `<` -and `&`. Left angle brackets are used to start tags; ampersands are -used to denote HTML entities. If you want to use them as literal -characters, you must escape them as entities, e.g. `<`, and -`&`. - -Ampersands in particular are bedeviling for web writers. If you want to -write about 'AT&T', you need to write '`AT&T`'. You even need to -escape ampersands within URLs. Thus, if you want to link to: - - http://images.google.com/images?num=30&q=larry+bird - -you need to encode the URL as: - - http://images.google.com/images?num=30&q=larry+bird - -in your anchor tag `href` attribute. Needless to say, this is easy to -forget, and is probably the single most common source of HTML validation -errors in otherwise well-marked-up web sites. - -Markdown allows you to use these characters naturally, taking care of -all the necessary escaping for you. If you use an ampersand as part of -an HTML entity, it remains unchanged; otherwise it will be translated -into `&`. - -So, if you want to include a copyright symbol in your article, you can write: - - © - -and Markdown will leave it alone. But if you write: - - AT&T - -Markdown will translate it to: - - AT&T - -Similarly, because Markdown supports [inline HTML](#html), if you use -angle brackets as delimiters for HTML tags, Markdown will treat them as -such. But if you write: - - 4 < 5 - -Markdown will translate it to: - - 4 < 5 - -However, inside Markdown code spans and blocks, angle brackets and -ampersands are *always* encoded automatically. This makes it easy to use -Markdown to write about HTML code. (As opposed to raw HTML, which is a -terrible format for writing about HTML syntax, because every single `<` -and `&` in your example code needs to be escaped.) - - -* * * - - -<h2 id="block">Block Elements</h2> - - -<h3 id="p">Paragraphs and Line Breaks</h3> - -A paragraph is simply one or more consecutive lines of text, separated -by one or more blank lines. (A blank line is any line that looks like a -blank line -- a line containing nothing but spaces or tabs is considered -blank.) Normal paragraphs should not be intended with spaces or tabs. - -The implication of the "one or more consecutive lines of text" rule is -that Markdown supports "hard-wrapped" text paragraphs. This differs -significantly from most other text-to-HTML formatters (including Movable -Type's "Convert Line Breaks" option) which translate every line break -character in a paragraph into a `<br />` tag. - -When you *do* want to insert a `<br />` break tag using Markdown, you -end a line with two or more spaces, then type return. - -Yes, this takes a tad more effort to create a `<br />`, but a simplistic -"every line break is a `<br />`" rule wouldn't work for Markdown. -Markdown's email-style [blockquoting][bq] and multi-paragraph [list items][l] -work best -- and look better -- when you format them with hard breaks. - - [bq]: #blockquote - [l]: #list - - - -<h3 id="header">Headers</h3> - -Markdown supports two styles of headers, [Setext] [1] and [atx] [2]. - -Setext-style headers are "underlined" using equal signs (for first-level -headers) and dashes (for second-level headers). For example: - - This is an H1 - ============= - - This is an H2 - ------------- - -Any number of underlining `=`'s or `-`'s will work. - -Atx-style headers use 1-6 hash characters at the start of the line, -corresponding to header levels 1-6. For example: - - # This is an H1 - - ## This is an H2 - - ###### This is an H6 - -Optionally, you may "close" atx-style headers. This is purely -cosmetic -- you can use this if you think it looks better. The -closing hashes don't even need to match the number of hashes -used to open the header. (The number of opening hashes -determines the header level.) : - - # This is an H1 # - - ## This is an H2 ## - - ### This is an H3 ###### - - -<h3 id="blockquote">Blockquotes</h3> - -Markdown uses email-style `>` characters for blockquoting. If you're -familiar with quoting passages of text in an email message, then you -know how to create a blockquote in Markdown. It looks best if you hard -wrap the text and put a `>` before every line: - - > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, - > consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. - > Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. - > - > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse - > id sem consectetuer libero luctus adipiscing. - -Markdown allows you to be lazy and only put the `>` before the first -line of a hard-wrapped paragraph: - - > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, - consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. - Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. - - > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse - id sem consectetuer libero luctus adipiscing. - -Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by -adding additional levels of `>`: - - > This is the first level of quoting. - > - > > This is nested blockquote. - > - > Back to the first level. - -Blockquotes can contain other Markdown elements, including headers, lists, -and code blocks: - - > ## This is a header. - > - > 1. This is the first list item. - > 2. This is the second list item. - > - > Here's some example code: - > - > return shell_exec("echo $input | $markdown_script"); - -Any decent text editor should make email-style quoting easy. For -example, with BBEdit, you can make a selection and choose Increase -Quote Level from the Text menu. - - -<h3 id="list">Lists</h3> - -Markdown supports ordered (numbered) and unordered (bulleted) lists. - -Unordered lists use asterisks, pluses, and hyphens -- interchangably --- as list markers: - - * Red - * Green - * Blue - -is equivalent to: - - + Red - + Green - + Blue - -and: - - - Red - - Green - - Blue - -Ordered lists use numbers followed by periods: - - 1. Bird - 2. McHale - 3. Parish - -It's important to note that the actual numbers you use to mark the -list have no effect on the HTML output Markdown produces. The HTML -Markdown produces from the above list is: - - <ol> - <li>Bird</li> - <li>McHale</li> - <li>Parish</li> - </ol> - -If you instead wrote the list in Markdown like this: - - 1. Bird - 1. McHale - 1. Parish - -or even: - - 3. Bird - 1. McHale - 8. Parish - -you'd get the exact same HTML output. The point is, if you want to, -you can use ordinal numbers in your ordered Markdown lists, so that -the numbers in your source match the numbers in your published HTML. -But if you want to be lazy, you don't have to. - -If you do use lazy list numbering, however, you should still start the -list with the number 1. At some point in the future, Markdown may support -starting ordered lists at an arbitrary number. - -List markers typically start at the left margin, but may be indented by -up to three spaces. List markers must be followed by one or more spaces -or a tab. - -To make lists look nice, you can wrap items with hanging indents: - - * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. - Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, - viverra nec, fringilla in, laoreet vitae, risus. - * Donec sit amet nisl. Aliquam semper ipsum sit amet velit. - Suspendisse id sem consectetuer libero luctus adipiscing. - -But if you want to be lazy, you don't have to: - - * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. - Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, - viverra nec, fringilla in, laoreet vitae, risus. - * Donec sit amet nisl. Aliquam semper ipsum sit amet velit. - Suspendisse id sem consectetuer libero luctus adipiscing. - -If list items are separated by blank lines, Markdown will wrap the -items in `<p>` tags in the HTML output. For example, this input: - - * Bird - * Magic - -will turn into: - - <ul> - <li>Bird</li> - <li>Magic</li> - </ul> - -But this: - - * Bird - - * Magic - -will turn into: - - <ul> - <li><p>Bird</p></li> - <li><p>Magic</p></li> - </ul> - -List items may consist of multiple paragraphs. Each subsequent -paragraph in a list item must be intended by either 4 spaces -or one tab: - - 1. This is a list item with two paragraphs. Lorem ipsum dolor - sit amet, consectetuer adipiscing elit. Aliquam hendrerit - mi posuere lectus. - - Vestibulum enim wisi, viverra nec, fringilla in, laoreet - vitae, risus. Donec sit amet nisl. Aliquam semper ipsum - sit amet velit. - - 2. Suspendisse id sem consectetuer libero luctus adipiscing. - -It looks nice if you indent every line of the subsequent -paragraphs, but here again, Markdown will allow you to be -lazy: - - * This is a list item with two paragraphs. - - This is the second paragraph in the list item. You're - only required to indent the first line. Lorem ipsum dolor - sit amet, consectetuer adipiscing elit. - - * Another item in the same list. - -To put a blockquote within a list item, the blockquote's `>` -delimiters need to be indented: - - * A list item with a blockquote: - - > This is a blockquote - > inside a list item. - -To put a code block within a list item, the code block needs -to be indented *twice* -- 8 spaces or two tabs: - - * A list item with a code block: - - <code goes here> - - -It's worth noting that it's possible to trigger an ordered list by -accident, by writing something like this: - - 1986. What a great season. - -In other words, a *number-period-space* sequence at the beginning of a -line. To avoid this, you can backslash-escape the period: - - 1986\. What a great season. - - - -<h3 id="precode">Code Blocks</h3> - -Pre-formatted code blocks are used for writing about programming or -markup source code. Rather than forming normal paragraphs, the lines -of a code block are interpreted literally. Markdown wraps a code block -in both `<pre>` and `<code>` tags. - -To produce a code block in Markdown, simply indent every line of the -block by at least 4 spaces or 1 tab. For example, given this input: - - This is a normal paragraph: - - This is a code block. - -Markdown will generate: - - <p>This is a normal paragraph:</p> - - <pre><code>This is a code block. - </code></pre> - -One level of indentation -- 4 spaces or 1 tab -- is removed from each -line of the code block. For example, this: - - Here is an example of AppleScript: - - tell application "Foo" - beep - end tell - -will turn into: - - <p>Here is an example of AppleScript:</p> - - <pre><code>tell application "Foo" - beep - end tell - </code></pre> - -A code block continues until it reaches a line that is not indented -(or the end of the article). - -Within a code block, ampersands (`&`) and angle brackets (`<` and `>`) -are automatically converted into HTML entities. This makes it very -easy to include example HTML source code using Markdown -- just paste -it and indent it, and Markdown will handle the hassle of encoding the -ampersands and angle brackets. For example, this: - - <div class="footer"> - © 2004 Foo Corporation - </div> - -will turn into: - - <pre><code><div class="footer"> - &copy; 2004 Foo Corporation - </div> - </code></pre> - -Regular Markdown syntax is not processed within code blocks. E.g., -asterisks are just literal asterisks within a code block. This means -it's also easy to use Markdown to write about Markdown's own syntax. - - - -<h3 id="hr">Horizontal Rules</h3> - -You can produce a horizontal rule tag (`<hr />`) by placing three or -more hyphens, asterisks, or underscores on a line by themselves. If you -wish, you may use spaces between the hyphens or asterisks. Each of the -following lines will produce a horizontal rule: - - * * * - - *** - - ***** - - - - - - - --------------------------------------- - - _ _ _ - - -* * * - -<h2 id="span">Span Elements</h2> - -<h3 id="link">Links</h3> - -Markdown supports two style of links: *inline* and *reference*. - -In both styles, the link text is delimited by [square brackets]. - -To create an inline link, use a set of regular parentheses immediately -after the link text's closing square bracket. Inside the parentheses, -put the URL where you want the link to point, along with an *optional* -title for the link, surrounded in quotes. For example: - - This is [an example](http://example.com/ "Title") inline link. - - [This link](http://example.net/) has no title attribute. - -Will produce: - - <p>This is <a href="http://example.com/" title="Title"> - an example</a> inline link.</p> - - <p><a href="http://example.net/">This link</a> has no - title attribute.</p> - -If you're referring to a local resource on the same server, you can -use relative paths: - - See my [About](/about/) page for details. - -Reference-style links use a second set of square brackets, inside -which you place a label of your choosing to identify the link: - - This is [an example][id] reference-style link. - -You can optionally use a space to separate the sets of brackets: - - This is [an example] [id] reference-style link. - -Then, anywhere in the document, you define your link label like this, -on a line by itself: - - [id]: http://example.com/ "Optional Title Here" - -That is: - -* Square brackets containing the link identifier (optionally - indented from the left margin using up to three spaces); -* followed by a colon; -* followed by one or more spaces (or tabs); -* followed by the URL for the link; -* optionally followed by a title attribute for the link, enclosed - in double or single quotes. - -The link URL may, optionally, be surrounded by angle brackets: - - [id]: <http://example.com/> "Optional Title Here" - -You can put the title attribute on the next line and use extra spaces -or tabs for padding, which tends to look better with longer URLs: - - [id]: http://example.com/longish/path/to/resource/here - "Optional Title Here" - -Link definitions are only used for creating links during Markdown -processing, and are stripped from your document in the HTML output. - -Link definition names may constist of letters, numbers, spaces, and punctuation -- but they are *not* case sensitive. E.g. these two links: - - [link text][a] - [link text][A] - -are equivalent. - -The *implicit link name* shortcut allows you to omit the name of the -link, in which case the link text itself is used as the name. -Just use an empty set of square brackets -- e.g., to link the word -"Google" to the google.com web site, you could simply write: - - [Google][] - -And then define the link: - - [Google]: http://google.com/ - -Because link names may contain spaces, this shortcut even works for -multiple words in the link text: - - Visit [Daring Fireball][] for more information. - -And then define the link: - - [Daring Fireball]: http://daringfireball.net/ - -Link definitions can be placed anywhere in your Markdown document. I -tend to put them immediately after each paragraph in which they're -used, but if you want, you can put them all at the end of your -document, sort of like footnotes. - -Here's an example of reference links in action: - - I get 10 times more traffic from [Google] [1] than from - [Yahoo] [2] or [MSN] [3]. - - [1]: http://google.com/ "Google" - [2]: http://search.yahoo.com/ "Yahoo Search" - [3]: http://search.msn.com/ "MSN Search" - -Using the implicit link name shortcut, you could instead write: - - I get 10 times more traffic from [Google][] than from - [Yahoo][] or [MSN][]. - - [google]: http://google.com/ "Google" - [yahoo]: http://search.yahoo.com/ "Yahoo Search" - [msn]: http://search.msn.com/ "MSN Search" - -Both of the above examples will produce the following HTML output: - - <p>I get 10 times more traffic from <a href="http://google.com/" - title="Google">Google</a> than from - <a href="http://search.yahoo.com/" title="Yahoo Search">Yahoo</a> - or <a href="http://search.msn.com/" title="MSN Search">MSN</a>.</p> - -For comparison, here is the same paragraph written using -Markdown's inline link style: - - I get 10 times more traffic from [Google](http://google.com/ "Google") - than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or - [MSN](http://search.msn.com/ "MSN Search"). - -The point of reference-style links is not that they're easier to -write. The point is that with reference-style links, your document -source is vastly more readable. Compare the above examples: using -reference-style links, the paragraph itself is only 81 characters -long; with inline-style links, it's 176 characters; and as raw HTML, -it's 234 characters. In the raw HTML, there's more markup than there -is text. - -With Markdown's reference-style links, a source document much more -closely resembles the final output, as rendered in a browser. By -allowing you to move the markup-related metadata out of the paragraph, -you can add links without interrupting the narrative flow of your -prose. - - -<h3 id="em">Emphasis</h3> - -Markdown treats asterisks (`*`) and underscores (`_`) as indicators of -emphasis. Text wrapped with one `*` or `_` will be wrapped with an -HTML `<em>` tag; double `*`'s or `_`'s will be wrapped with an HTML -`<strong>` tag. E.g., this input: - - *single asterisks* - - _single underscores_ - - **double asterisks** - - __double underscores__ - -will produce: - - <em>single asterisks</em> - - <em>single underscores</em> - - <strong>double asterisks</strong> - - <strong>double underscores</strong> - -You can use whichever style you prefer; the lone restriction is that -the same character must be used to open and close an emphasis span. - -Emphasis can be used in the middle of a word: - - un*fucking*believable - -But if you surround an `*` or `_` with spaces, it'll be treated as a -literal asterisk or underscore. - -To produce a literal asterisk or underscore at a position where it -would otherwise be used as an emphasis delimiter, you can backslash -escape it: - - \*this text is surrounded by literal asterisks\* - - - -<h3 id="code">Code</h3> - -To indicate a span of code, wrap it with backtick quotes (`` ` ``). -Unlike a pre-formatted code block, a code span indicates code within a -normal paragraph. For example: - - Use the `printf()` function. - -will produce: - - <p>Use the <code>printf()</code> function.</p> - -To include a literal backtick character within a code span, you can use -multiple backticks as the opening and closing delimiters: - - ``There is a literal backtick (`) here.`` - -which will produce this: - - <p><code>There is a literal backtick (`) here.</code></p> - -The backtick delimiters surrounding a code span may include spaces -- -one after the opening, one before the closing. This allows you to place -literal backtick characters at the beginning or end of a code span: - - A single backtick in a code span: `` ` `` - - A backtick-delimited string in a code span: `` `foo` `` - -will produce: - - <p>A single backtick in a code span: <code>`</code></p> - - <p>A backtick-delimited string in a code span: <code>`foo`</code></p> - -With a code span, ampersands and angle brackets are encoded as HTML -entities automatically, which makes it easy to include example HTML -tags. Markdown will turn this: - - Please don't use any `<blink>` tags. - -into: - - <p>Please don't use any <code><blink></code> tags.</p> - -You can write this: - - `—` is the decimal-encoded equivalent of `—`. - -to produce: - - <p><code>&#8212;</code> is the decimal-encoded - equivalent of <code>&mdash;</code>.</p> - - - -<h3 id="img">Images</h3> - -Admittedly, it's fairly difficult to devise a "natural" syntax for -placing images into a plain text document format. - -Markdown uses an image syntax that is intended to resemble the syntax -for links, allowing for two styles: *inline* and *reference*. - -Inline image syntax looks like this: - - ![Alt text](/path/to/img.jpg) - - ![Alt text](/path/to/img.jpg "Optional title") - -That is: - -* An exclamation mark: `!`; -* followed by a set of square brackets, containing the `alt` - attribute text for the image; -* followed by a set of parentheses, containing the URL or path to - the image, and an optional `title` attribute enclosed in double - or single quotes. - -Reference-style image syntax looks like this: - - ![Alt text][id] - -Where "id" is the name of a defined image reference. Image references -are defined using syntax identical to link references: - - [id]: url/to/image "Optional title attribute" - -As of this writing, Markdown has no syntax for specifying the -dimensions of an image; if this is important to you, you can simply -use regular HTML `<img>` tags. - - -* * * - - -<h2 id="misc">Miscellaneous</h2> - -<h3 id="autolink">Automatic Links</h3> - -Markdown supports a shortcut style for creating "automatic" links for URLs and email addresses: simply surround the URL or email address with angle brackets. What this means is that if you want to show the actual text of a URL or email address, and also have it be a clickable link, you can do this: - - <http://example.com/> - -Markdown will turn this into: - - <a href="http://example.com/">http://example.com/</a> - -Automatic links for email addresses work similarly, except that -Markdown will also perform a bit of randomized decimal and hex -entity-encoding to help obscure your address from address-harvesting -spambots. For example, Markdown will turn this: - - <address@example.com> - -into something like this: - - <a href="mailto:addre - ss@example.co - m">address@exa - mple.com</a> - -which will render in a browser as a clickable link to "address@example.com". - -(This sort of entity-encoding trick will indeed fool many, if not -most, address-harvesting bots, but it definitely won't fool all of -them. It's better than nothing, but an address published in this way -will probably eventually start receiving spam.) - - - -<h3 id="backslash">Backslash Escapes</h3> - -Markdown allows you to use backslash escapes to generate literal -characters which would otherwise have special meaning in Markdown's -formatting syntax. For example, if you wanted to surround a word with -literal asterisks (instead of an HTML `<em>` tag), you can backslashes -before the asterisks, like this: - - \*literal asterisks\* - -Markdown provides backslash escapes for the following characters: - - \ backslash - ` backtick - * asterisk - _ underscore - {} curly braces - [] square brackets - () parentheses - # hash mark - + plus sign - - minus sign (hyphen) - . dot - ! exclamation mark diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/nested_blockquotes.html b/app/system/modules/editor/app/assets/marked/test/specs/original/nested_blockquotes.html deleted file mode 100755 index d8ec7f8e..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/nested_blockquotes.html +++ /dev/null @@ -1,9 +0,0 @@ -<blockquote> - <p>foo</p> - - <blockquote> - <p>bar</p> - </blockquote> - - <p>foo</p> -</blockquote> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/nested_blockquotes.md b/app/system/modules/editor/app/assets/marked/test/specs/original/nested_blockquotes.md deleted file mode 100755 index ed3c624f..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/nested_blockquotes.md +++ /dev/null @@ -1,5 +0,0 @@ -> foo -> -> > bar -> -> foo diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/ordered_and_unordered_lists.html b/app/system/modules/editor/app/assets/marked/test/specs/original/ordered_and_unordered_lists.html deleted file mode 100755 index 45469479..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/ordered_and_unordered_lists.html +++ /dev/null @@ -1,164 +0,0 @@ -<h2>Unordered</h2> - -<p>Asterisks tight:</p> - -<ul> -<li>asterisk 1</li> -<li>asterisk 2</li> -<li>asterisk 3</li> -</ul> - -<p>Asterisks loose:</p> - -<ul> -<li><p>asterisk 1</p></li> -<li><p>asterisk 2</p></li> -<li><p>asterisk 3</p></li> -</ul> - -<hr /> - -<p>Pluses tight:</p> - -<ul> -<li>Plus 1</li> -<li>Plus 2</li> -<li>Plus 3</li> -</ul> - -<p>Pluses loose:</p> - -<ul> -<li><p>Plus 1</p></li> -<li><p>Plus 2</p></li> -<li><p>Plus 3</p></li> -</ul> - -<hr /> - -<p>Minuses tight:</p> - -<ul> -<li>Minus 1</li> -<li>Minus 2</li> -<li>Minus 3</li> -</ul> - -<p>Minuses loose:</p> - -<ul> -<li><p>Minus 1</p></li> -<li><p>Minus 2</p></li> -<li><p>Minus 3</p></li> -</ul> - -<h2>Ordered</h2> - -<p>Tight:</p> - -<ol> -<li>First</li> -<li>Second</li> -<li>Third</li> -</ol> - -<p>and:</p> - -<ol> -<li>One</li> -<li>Two</li> -<li>Three</li> -</ol> - -<p>Loose using tabs:</p> - -<ol> -<li><p>First</p></li> -<li><p>Second</p></li> -<li><p>Third</p></li> -</ol> - -<p>and using spaces:</p> - -<ol> -<li><p>One</p></li> -<li><p>Two</p></li> -<li><p>Three</p></li> -</ol> - -<p>Multiple paragraphs:</p> - -<ol> -<li><p>Item 1, graf one.</p> - -<p>Item 2. graf two. The quick brown fox jumped over the lazy dog's -back.</p></li> -<li><p>Item 2.</p></li> -<li><p>Item 3.</p></li> -</ol> - -<h2>Nested</h2> - -<ul> -<li>Tab -<ul> -<li>Tab -<ul> -<li>Tab</li> -</ul></li> -</ul></li> -</ul> - -<p>Here's another:</p> - -<ol> -<li>First</li> -<li>Second: -<ul> -<li>Fee</li> -<li>Fie</li> -<li>Foe</li> -</ul></li> -<li>Third</li> -</ol> - -<p>Same thing but with paragraphs:</p> - -<ol> -<li><p>First</p></li> -<li><p>Second:</p> - -<ul> -<li>Fee</li> -<li>Fie</li> -<li>Foe</li> -</ul></li> -<li><p>Third</p></li> -</ol> - - -<p>This was an error in Markdown 1.0.1:</p> - -<ul> -<li><p>this</p> - -<ul><li>sub</li></ul> - -<p>that</p></li> -</ul> - - -<p>Ordered lists start from initial number:</p> - -<ol start="3"> -<li>Three</li> -<li>Four</li> -</ol> - - -<p>Ordered lists start from initial zero:</p> - -<ol start="0"> -<li>Zero</li> -<li>One</li> -</ol> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/ordered_and_unordered_lists.md b/app/system/modules/editor/app/assets/marked/test/specs/original/ordered_and_unordered_lists.md deleted file mode 100755 index d11fb5d8..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/ordered_and_unordered_lists.md +++ /dev/null @@ -1,144 +0,0 @@ ---- -headerIds: false ---- -## Unordered - -Asterisks tight: - -* asterisk 1 -* asterisk 2 -* asterisk 3 - - -Asterisks loose: - -* asterisk 1 - -* asterisk 2 - -* asterisk 3 - -* * * - -Pluses tight: - -+ Plus 1 -+ Plus 2 -+ Plus 3 - - -Pluses loose: - -+ Plus 1 - -+ Plus 2 - -+ Plus 3 - -* * * - - -Minuses tight: - -- Minus 1 -- Minus 2 -- Minus 3 - - -Minuses loose: - -- Minus 1 - -- Minus 2 - -- Minus 3 - - -## Ordered - -Tight: - -1. First -2. Second -3. Third - -and: - -1. One -2. Two -3. Three - - -Loose using tabs: - -1. First - -2. Second - -3. Third - -and using spaces: - -1. One - -2. Two - -3. Three - -Multiple paragraphs: - -1. Item 1, graf one. - - Item 2. graf two. The quick brown fox jumped over the lazy dog's - back. - -2. Item 2. - -3. Item 3. - - - -## Nested - -* Tab - * Tab - * Tab - -Here's another: - -1. First -2. Second: - * Fee - * Fie - * Foe -3. Third - -Same thing but with paragraphs: - -1. First - -2. Second: - * Fee - * Fie - * Foe - -3. Third - - -This was an error in Markdown 1.0.1: - -* this - - * sub - - that - -Ordered lists start from initial number: - -3. Three -1. Four - -Ordered lists start from initial zero: - -0. Zero -1. One diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/strong_and_em_together.html b/app/system/modules/editor/app/assets/marked/test/specs/original/strong_and_em_together.html deleted file mode 100755 index 71ec78c7..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/strong_and_em_together.html +++ /dev/null @@ -1,7 +0,0 @@ -<p><strong><em>This is strong and em.</em></strong></p> - -<p>So is <strong><em>this</em></strong> word.</p> - -<p><strong><em>This is strong and em.</em></strong></p> - -<p>So is <strong><em>this</em></strong> word.</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/strong_and_em_together.md b/app/system/modules/editor/app/assets/marked/test/specs/original/strong_and_em_together.md deleted file mode 100755 index 95ee690d..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/strong_and_em_together.md +++ /dev/null @@ -1,7 +0,0 @@ -***This is strong and em.*** - -So is ***this*** word. - -___This is strong and em.___ - -So is ___this___ word. diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/tabs.html b/app/system/modules/editor/app/assets/marked/test/specs/original/tabs.html deleted file mode 100755 index 3301ba80..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/tabs.html +++ /dev/null @@ -1,25 +0,0 @@ -<ul> -<li><p>this is a list item -indented with tabs</p></li> -<li><p>this is a list item -indented with spaces</p></li> -</ul> - -<p>Code:</p> - -<pre><code>this code block is indented by one tab -</code></pre> - -<p>And:</p> - -<pre><code> this code block is indented by two tabs -</code></pre> - -<p>And:</p> - -<pre><code>+ this is an example list item - indented with tabs - -+ this is an example list item - indented with spaces -</code></pre> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/tabs.md b/app/system/modules/editor/app/assets/marked/test/specs/original/tabs.md deleted file mode 100755 index 589d1136..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/tabs.md +++ /dev/null @@ -1,21 +0,0 @@ -+ this is a list item - indented with tabs - -+ this is a list item - indented with spaces - -Code: - - this code block is indented by one tab - -And: - - this code block is indented by two tabs - -And: - - + this is an example list item - indented with tabs - - + this is an example list item - indented with spaces diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/tidyness.html b/app/system/modules/editor/app/assets/marked/test/specs/original/tidyness.html deleted file mode 100755 index f2a8ce70..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/tidyness.html +++ /dev/null @@ -1,8 +0,0 @@ -<blockquote> -<p>A list within a blockquote:</p> -<ul> -<li>asterisk 1</li> -<li>asterisk 2</li> -<li>asterisk 3</li> -</ul> -</blockquote> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/original/tidyness.md b/app/system/modules/editor/app/assets/marked/test/specs/original/tidyness.md deleted file mode 100755 index 5f18b8da..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/original/tidyness.md +++ /dev/null @@ -1,5 +0,0 @@ -> A list within a blockquote: -> -> * asterisk 1 -> * asterisk 2 -> * asterisk 3 diff --git a/app/system/modules/editor/app/assets/marked/test/specs/redos/link_code.html b/app/system/modules/editor/app/assets/marked/test/specs/redos/link_code.html deleted file mode 100755 index f936665d..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/redos/link_code.html +++ /dev/null @@ -1 +0,0 @@ -<p>INDEX(string, pattern[, start)<code>: searches for the first occurrence of pattern in string, starting from start:</code>INDEX("123123", "23", 3)<code>==</code>5<code></code>INSERT(new, old[, start][, length][, pad])<code>: inserts the new string into the old string after the specified position (default is 0), new string is truncated or padded (default is " ") to the specified length, if start is beyond the end of old old will be padded</code>LASTPOS(pattern, string[, start])<code>: searches backwards for the last occurrence of pattern in string, starting from start:</code>LASTPOS("123123", "23", 4)<code>==</code>2<code></code>LINES(file)<code>: returns the number of lines typed ahead at the interactive stream:</code>push("a line"); push("second line"); lines(STDIN); /* == 2 */<code></code>MAX(number, number[, number,...])<code>: obvious</code>MIN(number, number[, number,...])<code>: obvious</code>OPEN(filehandle, filename[, "APPEND"|"READ"|"WRITE"])<code>: opens file, returns boolean for success:</code>OPEN("MyCon", "CON:160/50/320/100/MyCon/CDS")<code>==</code>1<code></code>OVERLAY(new, old[, start][, length][, pad])<code>: overlays new string onto old one at start for length chars padding with pad if necessary:</code>OVERLAY("4", "123", 5, 5)<code>==</code>"123-4----"<code></code>POS(pattern, string[, start])` : same as index</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/redos/link_code.md b/app/system/modules/editor/app/assets/marked/test/specs/redos/link_code.md deleted file mode 100755 index 4e9298a5..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/redos/link_code.md +++ /dev/null @@ -1,9 +0,0 @@ -INDEX(string, pattern[, start)` : searches for the first occurrence of pattern in string, starting from start: `INDEX("123123", "23", 3)` == `5` -`INSERT(new, old[, start][, length][, pad])` : inserts the new string into the old string after the specified position (default is 0), new string is truncated or padded (default is " ") to the specified length, if start is beyond the end of old old will be padded -`LASTPOS(pattern, string[, start])` : searches backwards for the last occurrence of pattern in string, starting from start: `LASTPOS("123123", "23", 4)` == `2` -`LINES(file)` : returns the number of lines typed ahead at the interactive stream: `push("a line"); push("second line"); lines(STDIN); /* == 2 */` -`MAX(number, number[, number,...])` : obvious -`MIN(number, number[, number,...])` : obvious -`OPEN(filehandle, filename[, "APPEND"|"READ"|"WRITE"])` : opens file, returns boolean for success: `OPEN("MyCon", "CON:160/50/320/100/MyCon/CDS")` == `1` -`OVERLAY(new, old[, start][, length][, pad])` : overlays new string onto old one at start for length chars padding with pad if necessary: `OVERLAY("4", "123", 5, 5)` == `"123-4----"` -`POS(pattern, string[, start])` : same as index diff --git a/app/system/modules/editor/app/assets/marked/test/specs/redos/link_redos.html b/app/system/modules/editor/app/assets/marked/test/specs/redos/link_redos.html deleted file mode 100755 index fdbeb4d3..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/redos/link_redos.html +++ /dev/null @@ -1,5 +0,0 @@ -<ul> -<li>伪类:<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:active">:active</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:any-link">:any-link</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:blank">:blank</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:checked">:checked</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:current">:current</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:default">:default</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:defined">:defined</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:dir">:dir()</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:disabled">:disabled</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:drop">:drop</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:empty">:empty</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:enabled">:enabled</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:first">:first</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:first-child">:first-child</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:first-of-type">:first-of-type</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:fullscreen">:fullscreen</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:future">:future</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:focus">:focus</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible">:focus-visible</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-within">:focus-within</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:has">:has()</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:host">:host</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:host()">:host()</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:host-context()">:host-context()</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:hover">:hover</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:indeterminate">:indeterminate</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:in-range">:in-range</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:invalid">:invalid</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:is">:is()</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:lang">:lang()</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:last-child">:last-child</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:last-of-type">:last-of-type</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:left">:left</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:link">:link</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:local-link">:local-link</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:not">:not()</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-child">:nth-child()</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-col">:nth-col()</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-last-child">:nth-last-child()</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-last-col">:nth-last-col()</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-last-of-type">:nth-last-of-type()</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-of-type">:nth-of-type()</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:only-child">:only-child</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:only-of-type">:only-of-type</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:optional">:optional</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:out-of-range">:out-of-range</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:past">:past</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:placeholder-shown">:placeholder-shown</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:read-only">:read-only</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:read-write">:read-write</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:required">:required</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:right">:right</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:root">:root</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:scope">:scope</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:target">:target</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:target-within">:target-within</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:user-invalid">:user-invalid</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:valid">:valid</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:visited">:visited</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/:where">:where()</a></li> -<li>伪元素:<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/::after">::after (:after)</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/::backdrop">::backdrop</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/::before">::before (:before)</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/::cue">::cue (:cue)</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/::first-letter">::first-letter (:first-letter)</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/::first-line">::first-line (:first-line)</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/::grammar-error">::grammar-error</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/::marker">::marker</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/::placeholder">::placeholder</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/::selection">::selection</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/::slotted">::slotted()</a>、<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/::spelling-error">::spelling-error</a> </li> -</ul> - diff --git a/app/system/modules/editor/app/assets/marked/test/specs/redos/link_redos.md b/app/system/modules/editor/app/assets/marked/test/specs/redos/link_redos.md deleted file mode 100755 index effafa37..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/redos/link_redos.md +++ /dev/null @@ -1,2 +0,0 @@ -* 伪类:[:active](https://developer.mozilla.org/en-US/docs/Web/CSS/:active)、[:any-link](https://developer.mozilla.org/en-US/docs/Web/CSS/:any-link)、[:blank](https://developer.mozilla.org/en-US/docs/Web/CSS/:blank)、[:checked](https://developer.mozilla.org/en-US/docs/Web/CSS/:checked)、[:current](https://developer.mozilla.org/en-US/docs/Web/CSS/:current)、[:default](https://developer.mozilla.org/en-US/docs/Web/CSS/:default)、[:defined](https://developer.mozilla.org/en-US/docs/Web/CSS/:defined)、[:dir()](https://developer.mozilla.org/en-US/docs/Web/CSS/:dir)、[:disabled](https://developer.mozilla.org/en-US/docs/Web/CSS/:disabled)、[:drop](https://developer.mozilla.org/en-US/docs/Web/CSS/:drop)、[:empty](https://developer.mozilla.org/en-US/docs/Web/CSS/:empty)、[:enabled](https://developer.mozilla.org/en-US/docs/Web/CSS/:enabled)、[:first](https://developer.mozilla.org/en-US/docs/Web/CSS/:first)、[:first-child](https://developer.mozilla.org/en-US/docs/Web/CSS/:first-child)、[:first-of-type](https://developer.mozilla.org/en-US/docs/Web/CSS/:first-of-type)、[:fullscreen](https://developer.mozilla.org/en-US/docs/Web/CSS/:fullscreen)、[:future](https://developer.mozilla.org/en-US/docs/Web/CSS/:future)、[:focus](https://developer.mozilla.org/en-US/docs/Web/CSS/:focus)、[:focus-visible](https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible)、[:focus-within](https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-within)、[:has()](https://developer.mozilla.org/en-US/docs/Web/CSS/:has)、[:host](https://developer.mozilla.org/en-US/docs/Web/CSS/:host)、[:host()](https://developer.mozilla.org/en-US/docs/Web/CSS/:host())、[:host-context()](https://developer.mozilla.org/en-US/docs/Web/CSS/:host-context())、[:hover](https://developer.mozilla.org/en-US/docs/Web/CSS/:hover)、[:indeterminate](https://developer.mozilla.org/en-US/docs/Web/CSS/:indeterminate)、[:in-range](https://developer.mozilla.org/en-US/docs/Web/CSS/:in-range)、[:invalid](https://developer.mozilla.org/en-US/docs/Web/CSS/:invalid)、[:is()](https://developer.mozilla.org/en-US/docs/Web/CSS/:is)、[:lang()](https://developer.mozilla.org/en-US/docs/Web/CSS/:lang)、[:last-child](https://developer.mozilla.org/en-US/docs/Web/CSS/:last-child)、[:last-of-type](https://developer.mozilla.org/en-US/docs/Web/CSS/:last-of-type)、[:left](https://developer.mozilla.org/en-US/docs/Web/CSS/:left)、[:link](https://developer.mozilla.org/en-US/docs/Web/CSS/:link)、[:local-link](https://developer.mozilla.org/en-US/docs/Web/CSS/:local-link)、[:not()](https://developer.mozilla.org/en-US/docs/Web/CSS/:not)、[:nth-child()](https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-child)、[:nth-col()](https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-col)、[:nth-last-child()](https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-last-child)、[:nth-last-col()](https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-last-col)、[:nth-last-of-type()](https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-last-of-type)、[:nth-of-type()](https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-of-type)、[:only-child](https://developer.mozilla.org/en-US/docs/Web/CSS/:only-child)、[:only-of-type](https://developer.mozilla.org/en-US/docs/Web/CSS/:only-of-type)、[:optional](https://developer.mozilla.org/en-US/docs/Web/CSS/:optional)、[:out-of-range](https://developer.mozilla.org/en-US/docs/Web/CSS/:out-of-range)、[:past](https://developer.mozilla.org/en-US/docs/Web/CSS/:past)、[:placeholder-shown](https://developer.mozilla.org/en-US/docs/Web/CSS/:placeholder-shown)、[:read-only](https://developer.mozilla.org/en-US/docs/Web/CSS/:read-only)、[:read-write](https://developer.mozilla.org/en-US/docs/Web/CSS/:read-write)、[:required](https://developer.mozilla.org/en-US/docs/Web/CSS/:required)、[:right](https://developer.mozilla.org/en-US/docs/Web/CSS/:right)、[:root](https://developer.mozilla.org/en-US/docs/Web/CSS/:root)、[:scope](https://developer.mozilla.org/en-US/docs/Web/CSS/:scope)、[:target](https://developer.mozilla.org/en-US/docs/Web/CSS/:target)、[:target-within](https://developer.mozilla.org/en-US/docs/Web/CSS/:target-within)、[:user-invalid](https://developer.mozilla.org/en-US/docs/Web/CSS/:user-invalid)、[:valid](https://developer.mozilla.org/en-US/docs/Web/CSS/:valid)、[:visited](https://developer.mozilla.org/en-US/docs/Web/CSS/:visited)、[:where()](https://developer.mozilla.org/en-US/docs/Web/CSS/:where) -* 伪元素:[::after (:after)](https://developer.mozilla.org/en-US/docs/Web/CSS/::after)、[::backdrop](https://developer.mozilla.org/en-US/docs/Web/CSS/::backdrop)、[::before (:before)](https://developer.mozilla.org/en-US/docs/Web/CSS/::before)、[::cue (:cue)](https://developer.mozilla.org/en-US/docs/Web/CSS/::cue)、[::first-letter (:first-letter)](https://developer.mozilla.org/en-US/docs/Web/CSS/::first-letter)、[::first-line (:first-line)](https://developer.mozilla.org/en-US/docs/Web/CSS/::first-line)、[::grammar-error](https://developer.mozilla.org/en-US/docs/Web/CSS/::grammar-error)、[::marker](https://developer.mozilla.org/en-US/docs/Web/CSS/::marker)、[::placeholder](https://developer.mozilla.org/en-US/docs/Web/CSS/::placeholder)、[::selection](https://developer.mozilla.org/en-US/docs/Web/CSS/::selection)、[::slotted()](https://developer.mozilla.org/en-US/docs/Web/CSS/::slotted)、[::spelling-error](https://developer.mozilla.org/en-US/docs/Web/CSS/::spelling-error) \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/test/specs/redos/quadratic_br.js b/app/system/modules/editor/app/assets/marked/test/specs/redos/quadratic_br.js deleted file mode 100755 index 48456b8a..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/redos/quadratic_br.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - markdown: `a${' '.repeat(50000)}`, - html: `<p>a${' '.repeat(50000)}</p>` -}; diff --git a/app/system/modules/editor/app/assets/marked/test/specs/redos/quadratic_email.js b/app/system/modules/editor/app/assets/marked/test/specs/redos/quadratic_email.js deleted file mode 100755 index 08243fe5..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/redos/quadratic_email.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - markdown: 'a'.repeat(50000), - html: `<p>${'a'.repeat(50000)}</p>` -}; diff --git a/app/system/modules/editor/app/assets/marked/test/specs/redos/redos_html_closing.html b/app/system/modules/editor/app/assets/marked/test/specs/redos/redos_html_closing.html deleted file mode 100755 index 543e775a..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/redos/redos_html_closing.html +++ /dev/null @@ -1 +0,0 @@ -<p><tag "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""<" />a'a</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/redos/redos_html_closing.md b/app/system/modules/editor/app/assets/marked/test/specs/redos/redos_html_closing.md deleted file mode 100755 index 65bc5f73..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/redos/redos_html_closing.md +++ /dev/null @@ -1 +0,0 @@ -<tag "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""<" />a'a diff --git a/app/system/modules/editor/app/assets/marked/test/specs/redos/redos_nolink.html b/app/system/modules/editor/app/assets/marked/test/specs/redos/redos_nolink.html deleted file mode 100755 index 59153753..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/redos/redos_nolink.html +++ /dev/null @@ -1 +0,0 @@ -<p>![[[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[][[]!\</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/redos/redos_nolink.md b/app/system/modules/editor/app/assets/marked/test/specs/redos/redos_nolink.md deleted file mode 100755 index a43a1568..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/redos/redos_nolink.md +++ /dev/null @@ -1 +0,0 @@ -![\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]\[[]!\ diff --git a/app/system/modules/editor/app/assets/marked/test/specs/run-spec.js b/app/system/modules/editor/app/assets/marked/test/specs/run-spec.js deleted file mode 100755 index 2311ac13..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/run-spec.js +++ /dev/null @@ -1,50 +0,0 @@ -const path = require('path'); -const load = require('../helpers/load.js'); - -function runSpecs(title, dir, showCompletionTable, options) { - options = options || {}; - const specs = load.loadFiles(path.resolve(__dirname, dir)); - - if (showCompletionTable) { - load.outputCompletionTable(title, specs); - } - - describe(title, () => { - Object.keys(specs).forEach(section => { - describe(section, () => { - specs[section].specs.forEach((spec) => { - spec.options = Object.assign({}, options, (spec.options || {})); - const example = (spec.example ? ' example ' + spec.example : ''); - const passFail = (spec.shouldFail ? 'fail' : 'pass'); - if (typeof spec.options.silent === 'undefined') { - spec.options.silent = true; - } - if (spec.options.sanitizer) { - // eslint-disable-next-line no-eval - spec.options.sanitizer = eval(spec.options.sanitizer); - } - (spec.only ? fit : (spec.skip ? xit : it))('should ' + passFail + example, () => { - const before = process.hrtime(); - if (spec.shouldFail) { - expect(spec).not.toRender(spec.html); - } else { - expect(spec).toRender(spec.html); - } - const elapsed = process.hrtime(before); - if (elapsed[0] > 0) { - const s = (elapsed[0] + elapsed[1] * 1e-9).toFixed(3); - fail(`took too long: ${s}s`); - } - }); - }); - }); - }); - }); -} - -runSpecs('GFM', './gfm', true, { gfm: true, pedantic: false, headerIds: false }); -runSpecs('CommonMark', './commonmark', true, { gfm: false, pedantic: false, headerIds: false }); -runSpecs('Original', './original', false, { gfm: false, pedantic: true }); -runSpecs('New', './new'); -runSpecs('ReDOS', './redos'); -runSpecs('Security', './security', false, { silent: true }); // silent - do not show deprecation warning diff --git a/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass.html b/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass.html deleted file mode 100755 index fb35223c..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass.html +++ /dev/null @@ -1,6 +0,0 @@ -<p>AAA<script> <img <script> src=x onerror=alert(1) />BBB</p> - -<p>AAA<sometag> <img <sometag> src=x onerror=alert(1)BBB</p> - -<p><a>a2<a2t>a2</a> b <c>c</c> d</p> -<h1 id="text"><img src="URL" alt="text"></h1> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass.md b/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass.md deleted file mode 100755 index 99091d01..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -sanitize: true ---- -AAA<script> <img <script> src=x onerror=alert(1) />BBB - -AAA<sometag> <img <sometag> src=x onerror=alert(1)BBB - -<a>a2<a2t>a2</a> b <c>c</c> d -# ![text](URL) \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_generic.html b/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_generic.html deleted file mode 100755 index 27282586..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_generic.html +++ /dev/null @@ -1,2 +0,0 @@ -<p>a2a2 b c d</p> -<h1 id="text"><img src="URL" alt="text"></h1> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_generic.md b/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_generic.md deleted file mode 100755 index 4718f843..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_generic.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -sanitize: true -sanitizer: () => '' ---- -<a>a2<a2t>a2</a> b <c>c</c> d -# ![text](URL) \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_script.html b/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_script.html deleted file mode 100755 index 85472db2..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_script.html +++ /dev/null @@ -1 +0,0 @@ -<p>AAA</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_script.md b/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_script.md deleted file mode 100755 index 3c3b9405..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_script.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -sanitize: true -sanitizer: () => '' ---- -AAA<script> <img <script> src=x onerror=alert(1) />BBB diff --git a/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_tag.html b/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_tag.html deleted file mode 100755 index 68d5c23d..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_tag.html +++ /dev/null @@ -1 +0,0 @@ -<p>AAA <img src=x onerror=alert(1)BBB</p> diff --git a/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_tag.md b/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_tag.md deleted file mode 100755 index 30388d68..00000000 --- a/app/system/modules/editor/app/assets/marked/test/specs/security/sanitizer_bypass_remove_tag.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -sanitize: true -sanitizer: () => '' ---- -AAA<sometag> <img <sometag> src=x onerror=alert(1)BBB diff --git a/app/system/modules/editor/app/assets/marked/test/unit/marked-spec.js b/app/system/modules/editor/app/assets/marked/test/unit/marked-spec.js deleted file mode 100755 index e28371aa..00000000 --- a/app/system/modules/editor/app/assets/marked/test/unit/marked-spec.js +++ /dev/null @@ -1,73 +0,0 @@ -const marked = require('../../lib/marked.js'); - -describe('Test heading ID functionality', () => { - it('should add id attribute by default', () => { - const renderer = new marked.Renderer(); - const slugger = new marked.Slugger(); - const header = renderer.heading('test', 1, 'test', slugger); - expect(header).toBe('<h1 id="test">test</h1>\n'); - }); - - it('should NOT add id attribute when options set false', () => { - const renderer = new marked.Renderer({ headerIds: false }); - const header = renderer.heading('test', 1, 'test'); - expect(header).toBe('<h1>test</h1>\n'); - }); -}); - -describe('Test slugger functionality', () => { - it('should use lowercase slug', () => { - const slugger = new marked.Slugger(); - expect(slugger.slug('Test')).toBe('test'); - }); - - it('should be unique to avoid collisions 1280', () => { - const slugger = new marked.Slugger(); - expect(slugger.slug('test')).toBe('test'); - expect(slugger.slug('test')).toBe('test-1'); - expect(slugger.slug('test')).toBe('test-2'); - }); - - it('should be unique when slug ends with number', () => { - const slugger = new marked.Slugger(); - expect(slugger.slug('test 1')).toBe('test-1'); - expect(slugger.slug('test')).toBe('test'); - expect(slugger.slug('test')).toBe('test-2'); - }); - - it('should be unique when slug ends with hyphen number', () => { - const slugger = new marked.Slugger(); - expect(slugger.slug('foo')).toBe('foo'); - expect(slugger.slug('foo')).toBe('foo-1'); - expect(slugger.slug('foo 1')).toBe('foo-1-1'); - expect(slugger.slug('foo-1')).toBe('foo-1-2'); - expect(slugger.slug('foo')).toBe('foo-2'); - }); - - it('should allow non-latin chars', () => { - const slugger = new marked.Slugger(); - expect(slugger.slug('привет')).toBe('привет'); - }); - - it('should remove ampersands 857', () => { - const slugger = new marked.Slugger(); - expect(slugger.slug('This & That Section')).toBe('this--that-section'); - }); - - it('should remove periods', () => { - const slugger = new marked.Slugger(); - expect(slugger.slug('file.txt')).toBe('filetxt'); - }); -}); - -describe('Test paragraph token type', () => { - it('should use the "paragraph" type on top level', () => { - const md = 'A Paragraph.\n\n> A blockquote\n\n- list item\n'; - - const tokens = marked.lexer(md); - - expect(tokens[0].type).toBe('paragraph'); - expect(tokens[3].type).toBe('paragraph'); - expect(tokens[7].type).toBe('text'); - }); -}); diff --git a/app/system/modules/editor/app/assets/marked/test/update-specs.js b/app/system/modules/editor/app/assets/marked/test/update-specs.js deleted file mode 100755 index 46dc2cf0..00000000 --- a/app/system/modules/editor/app/assets/marked/test/update-specs.js +++ /dev/null @@ -1,78 +0,0 @@ -const fetch = require('node-fetch'); -const cheerio = require('cheerio'); -const marked = require('../'); -const htmlDiffer = require('./helpers/html-differ.js'); -const fs = require('fs'); -const path = require('path'); - -function removeFiles(dir) { - fs.readdirSync(dir).forEach(file => { - fs.unlinkSync(path.join(dir, file)); - }); -} - -async function updateCommonmark(dir, options) { - try { - const res = await fetch('https://raw.githubusercontent.com/commonmark/commonmark.js/master/package.json'); - const pkg = await res.json(); - const version = pkg.version.replace(/^(\d+\.\d+).*$/, '$1'); - const res2 = await fetch(`https://spec.commonmark.org/${version}/spec.json`); - const specs = await res2.json(); - specs.forEach(spec => { - const html = marked(spec.markdown, options); - if (!htmlDiffer.isEqual(html, spec.html)) { - spec.shouldFail = true; - } - }); - fs.writeFileSync(path.resolve(dir, `./commonmark.${version}.json`), JSON.stringify(specs, null, 2) + '\n'); - console.log(`Saved CommonMark v${version} specs`); - } catch (ex) { - console.log(ex); - } -} - -async function updateGfm(dir) { - try { - const res = await fetch('https://github.github.com/gfm/'); - const html = await res.text(); - const $ = cheerio.load(html); - const version = $('.version').text().match(/\d+\.\d+/)[0]; - if (!version) { - throw new Error('No version found'); - } - const specs = []; - $('.extension').each((i, ext) => { - const section = $('.definition', ext).text().trim().replace(/^\d+\.\d+(.*?) \(extension\)[\s\S]*$/, '$1'); - $('.example', ext).each((j, exa) => { - const example = +$(exa).attr('id').replace(/\D/g, ''); - const markdown = $('.language-markdown', exa).text().trim(); - const html = $('.language-html', exa).text().trim(); - specs.push({ - section: `[extension] ${section}`, - html, - markdown, - example - }); - }); - }); - - specs.forEach(spec => { - const html = marked(spec.markdown, { gfm: true, pedantic: false }); - if (!htmlDiffer.isEqual(html, spec.html)) { - spec.shouldFail = true; - } - }); - fs.writeFileSync(path.resolve(dir, `./gfm.${version}.json`), JSON.stringify(specs, null, 2) + '\n'); - console.log(`Saved GFM v${version} specs.`); - } catch (ex) { - console.log(ex); - } -} - -const commonmarkDir = path.resolve(__dirname, './specs/commonmark'); -const gfmDir = path.resolve(__dirname, './specs/gfm'); -removeFiles(commonmarkDir); -removeFiles(gfmDir); -updateCommonmark(commonmarkDir, { gfm: false, pedantic: false, headerIds: false }); -updateCommonmark(gfmDir, { gfm: true, pedantic: false, headerIds: false }); -updateGfm(gfmDir); diff --git a/app/system/modules/editor/app/assets/tinymce/jquery.tinymce.min.js b/app/system/modules/editor/app/assets/tinymce/jquery.tinymce.min.js deleted file mode 100755 index eb24fdd5..00000000 --- a/app/system/modules/editor/app/assets/tinymce/jquery.tinymce.min.js +++ /dev/null @@ -1,92 +0,0 @@ -/** - * Copyright (c) Tiny Technologies, Inc. All rights reserved. - * Licensed under the LGPL or a commercial license. - * For LGPL see License.txt in the project root for license information. - * For commercial licenses see https://www.tiny.cloud/ - */ -/** - * Jquery integration plugin. - * - * @class tinymce.core.JqueryIntegration - * @private - */ -!function(){var f,c,u,p,d,s=[];d="undefined"!=typeof global?global:window,p=d.jQuery;var v=function(){ -// Reference to tinymce needs to be lazily evaluated since tinymce -// might be loaded through the compressor or other means -return d.tinymce};p.fn.tinymce=function(o){var e,t,i,l=this,r=""; -// No match then just ignore the call -if(!l.length)return l; -// Get editor instance -if(!o)return v()?v().get(l[0].id):null;l.css("visibility","hidden");// Hide textarea to avoid flicker -var n=function(){var a=[],c=0; -// Apply patches to the jQuery object, only once -u||(m(),u=!0), -// Create an editor instance for each matched node -l.each(function(e,t){var n,i=t.id,r=o.oninit; -// Generate unique id for target element if needed -i||(t.id=i=v().DOM.uniqueId()), -// Only init the editor once -v().get(i)||( -// Create editor instance and render it -n=v().createEditor(i,o),a.push(n),n.on("init",function(){var e,t=r;l.css("visibility",""), -// Run this if the oninit setting is defined -// this logic will fire the oninit callback ones each -// matched editor instance is initialized -r&&++c==a.length&&("string"==typeof t&&(e=-1===t.indexOf(".")?null:v().resolve(t.replace(/\.\w+$/,"")),t=v().resolve(t)), -// Call the oninit function with the object -t.apply(e||v(),a))}))}), -// Render the editor instances in a separate loop since we -// need to have the full editors array used in the onInit calls -p.each(a,function(e,t){t.render()})}; -// Load TinyMCE on demand, if we need to -if(d.tinymce||c||!(e=o.script_url)) -// Delay the init call until tinymce is loaded -1===c?s.push(n):n();else{c=1,t=e.substring(0,e.lastIndexOf("/")), -// Check if it's a dev/src version they want to load then -// make sure that all plugins, themes etc are loaded in source mode as well --1!=e.indexOf(".min")&&(r=".min"), -// Setup tinyMCEPreInit object this will later be used by the TinyMCE -// core script to locate other resources like CSS files, dialogs etc -// You can also predefined a tinyMCEPreInit object and then it will use that instead -d.tinymce=d.tinyMCEPreInit||{base:t,suffix:r}, -// url contains gzip then we assume it's a compressor --1!=e.indexOf("gzip")&&(i=o.language||"en",e=e+(/\?/.test(e)?"&":"?")+"js=true&core=true&suffix="+escape(r)+"&themes="+escape(o.theme||"modern")+"&plugins="+escape(o.plugins||"")+"&languages="+(i||""), -// Check if compressor script is already loaded otherwise setup a basic one -d.tinyMCE_GZ||(d.tinyMCE_GZ={start:function(){var n=function(e){v().ScriptLoader.markDone(v().baseURI.toAbsolute(e))}; -// Add core languages -n("langs/"+i+".js"), -// Add themes with languages -n("themes/"+o.theme+"/theme"+r+".js"),n("themes/"+o.theme+"/langs/"+i+".js"), -// Add plugins with languages -p.each(o.plugins.split(","),function(e,t){t&&(n("plugins/"+t+"/plugin"+r+".js"),n("plugins/"+t+"/langs/"+i+".js"))})},end:function(){}}));var a=document.createElement("script");a.type="text/javascript",a.onload=a.onreadystatechange=function(e){e=e||window.event,2===c||"load"!=e.type&&!/complete|loaded/.test(a.readyState)||(v().dom.Event.domLoaded=1,c=2, -// Execute callback after mainscript has been loaded and before the initialization occurs -o.script_loaded&&o.script_loaded(),n(),p.each(s,function(e,t){t()}))},a.src=e,document.body.appendChild(a)}return l}, -// Add :tinymce pseudo selector this will select elements that has been converted into editor instances -// it's now possible to use things like $('*:tinymce') to get all TinyMCE bound elements. -p.extend(p.expr[":"],{tinymce:function(e){var t;return!!(e.id&&"tinymce"in d&&(t=v().get(e.id))&&t.editorManager===v())}}); -// This function patches internal jQuery functions so that if -// you for example remove an div element containing an editor it's -// automatically destroyed by the TinyMCE API -var m=function(){ -// Removes any child editor instances by looking for editor wrapper elements -var r=function(e){ -// If the function is remove -"remove"===e&&this.each(function(e,t){var n=l(t);n&&n.remove()}),this.find("span.mceEditor,div.mceEditor").each(function(e,t){var n=v().get(t.id.replace(/_parent$/,""));n&&n.remove()})},o=function(i){var e,t=this; -// Handle set value -/*jshint eqnull:true */if(null!=i)r.call(t), -// Saves the contents before get/set value of textarea/div -t.each(function(e,t){var n;(n=v().get(t.id))&&n.setContent(i)});else if(0<t.length&&(e=v().get(t[0].id)))return e.getContent()},l=function(e){var t=null;return e&&e.id&&d.tinymce&&(t=v().get(e.id)),t},u=function(e){return!!(e&&e.length&&d.tinymce&&e.is(":tinymce"))},s={}; -// Loads or saves contents from/to textarea if the value -// argument is defined it will set the TinyMCE internal contents -// Patch some setter/getter functions these will -// now be able to set/get the contents of editor instances for -// example $('#editorid').html('Content'); will update the TinyMCE iframe instance -p.each(["text","html","val"],function(e,t){var a=s[t]=p.fn[t],c="text"===t;p.fn[t]=function(e){var t=this;if(!u(t))return a.apply(t,arguments);if(e!==f)return o.call(t.filter(":tinymce"),e),a.apply(t.not(":tinymce"),arguments),t;// return original set for chaining -var i="",r=arguments;return(c?t:t.eq(0)).each(function(e,t){var n=l(t);i+=n?c?n.getContent().replace(/<(?:"[^"]*"|'[^']*'|[^'">])*>/g,""):n.getContent({save:!0}):a.apply(p(t),r)}),i}}), -// Makes it possible to use $('#id').append("content"); to append contents to the TinyMCE editor iframe -p.each(["append","prepend"],function(e,t){var n=s[t]=p.fn[t],r="prepend"===t;p.fn[t]=function(i){var e=this;return u(e)?i!==f?("string"==typeof i&&e.filter(":tinymce").each(function(e,t){var n=l(t);n&&n.setContent(r?i+n.getContent():n.getContent()+i)}),n.apply(e.not(":tinymce"),arguments),e):void 0:n.apply(e,arguments)}}), -// Makes sure that the editor instance gets properly destroyed when the parent element is removed -p.each(["remove","replaceWith","replaceAll","empty"],function(e,t){var n=s[t]=p.fn[t];p.fn[t]=function(){return r.call(this,t),n.apply(this,arguments)}}),s.attr=p.fn.attr, -// Makes sure that $('#tinymce_id').attr('value') gets the editors current HTML contents -p.fn.attr=function(e,t){var n=this,i=arguments;if(!e||"value"!==e||!u(n))return s.attr.apply(n,i);if(t!==f)return o.call(n.filter(":tinymce"),t),s.attr.apply(n.not(":tinymce"),i),n;// return original set for chaining -var r=n[0],a=l(r);return a?a.getContent({save:!0}):s.attr.apply(p(r),i)}}}(); \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/tinymce/langs/readme.md b/app/system/modules/editor/app/assets/tinymce/langs/readme.md deleted file mode 100755 index a52bf03f..00000000 --- a/app/system/modules/editor/app/assets/tinymce/langs/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -This is where language files should be placed. - -Please DO NOT translate these directly use this service: https://www.transifex.com/projects/p/tinymce/ diff --git a/app/system/modules/editor/app/assets/tinymce/license.txt b/app/system/modules/editor/app/assets/tinymce/license.txt deleted file mode 100755 index b17fc904..00000000 --- a/app/system/modules/editor/app/assets/tinymce/license.txt +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - <one line to give the library's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - <signature of Ty Coon>, 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/app/system/modules/editor/app/assets/tinymce/plugins/advlist/plugin.min.js b/app/system/modules/editor/app/assets/tinymce/plugins/advlist/plugin.min.js deleted file mode 100755 index 219f91d6..00000000 --- a/app/system/modules/editor/app/assets/tinymce/plugins/advlist/plugin.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Copyright (c) Tiny Technologies, Inc. All rights reserved. - * Licensed under the LGPL or a commercial license. - * For LGPL see License.txt in the project root for license information. - * For commercial licenses see https://www.tiny.cloud/ - * - * Version: 5.0.13 (2019-08-06) - */ -!function(){"use strict";var n,t,e,r,u=tinymce.util.Tools.resolve("tinymce.PluginManager"),v=tinymce.util.Tools.resolve("tinymce.util.Tools"),O=function(n,t,e){var r="UL"===t?"InsertUnorderedList":"InsertOrderedList";n.execCommand(r,!1,!1===e?null:{"list-style-type":e})},o=function(e){e.addCommand("ApplyUnorderedListStyle",function(n,t){O(e,"UL",t["list-style-type"])}),e.addCommand("ApplyOrderedListStyle",function(n,t){O(e,"OL",t["list-style-type"])})},i=function(n){var t=n.getParam("advlist_number_styles","default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman");return t?t.split(/[ ,]/):[]},l=function(n){var t=n.getParam("advlist_bullet_styles","default,circle,square");return t?t.split(/[ ,]/):[]},c=function(n){return function(){return n}},s=c(!1),f=c(!0),a=s,d=f,g=function(){return p},p=(r={fold:function(n,t){return n()},is:a,isSome:a,isNone:d,getOr:e=function(n){return n},getOrThunk:t=function(n){return n()},getOrDie:function(n){throw new Error(n||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:e,orThunk:t,map:g,ap:g,each:function(){},bind:g,flatten:g,exists:a,forall:d,filter:g,equals:n=function(n){return n.isNone()},equals_:n,toArray:function(){return[]},toString:c("none()")},Object.freeze&&Object.freeze(r),r),m=function(e){var n=function(){return e},t=function(){return u},r=function(n){return n(e)},u={fold:function(n,t){return t(e)},is:function(n){return e===n},isSome:d,isNone:a,getOr:n,getOrThunk:n,getOrDie:n,getOrNull:n,getOrUndefined:n,or:t,orThunk:t,map:function(n){return m(n(e))},ap:function(n){return n.fold(g,function(n){return m(n(e))})},each:function(n){n(e)},bind:r,flatten:n,exists:r,forall:r,filter:function(n){return n(e)?u:p},equals:function(n){return n.is(e)},equals_:function(n,t){return n.fold(a,function(n){return t(e,n)})},toArray:function(){return[e]},toString:function(){return"some("+e+")"}};return u},y=function(n){return null===n||n===undefined?p:m(n)},h=function(n){return n&&/^(TH|TD)$/.test(n.nodeName)},L=function(r){return function(n){return n&&/^(OL|UL|DL)$/.test(n.nodeName)&&(e=n,(t=r).$.contains(t.getBody(),e));var t,e}},N=function(n){var t=n.dom.getParent(n.selection.getNode(),"ol,ul"),e=n.dom.getStyle(t,"listStyleType");return y(e)},S=function(n,t,e){var r=function(n,t){for(var e=0;e<n.length;e++)if(t(n[e]))return e;return-1}(t.parents,h),u=-1!==r?t.parents.slice(0,r):t.parents,o=v.grep(u,L(n));return 0<o.length&&o[0].nodeName===e},T=function(n,t,e,r,u,o){var i,l,c,s,f,a,d,g,p,m,y;0<o.length?(d=t,g=e,p=r,m=u,y=o,(a=n).ui.registry.addSplitButton(d,{tooltip:g,icon:"OL"===m?"ordered-list":"unordered-list",presets:"listpreview",columns:3,fetch:function(n){n(v.map(y,function(n){return{type:"choiceitem",value:"default"===n?"":n,icon:"list-"+("OL"===m?"num":"bull")+"-"+("disc"===n||"decimal"===n?"default":n),text:n.replace(/\-/g," ").replace(/\b\w/g,function(n){return n.toUpperCase()})}}))},onAction:function(){return a.execCommand(p)},onItemAction:function(n,t){O(a,m,t)},select:function(t){return N(a).map(function(n){return t===n}).getOr(!1)},onSetup:function(t){var n=function(n){t.setActive(S(a,n,m))};return a.on("NodeChange",n),function(){return a.off("NodeChange",n)}}})):(l=t,c=e,s=r,f=u,(i=n).ui.registry.addToggleButton(l,{active:!1,tooltip:c,icon:"OL"===f?"ordered-list":"unordered-list",onSetup:function(t){var n=function(n){t.setActive(S(i,n,f))};return i.on("NodeChange",n),function(){return i.off("NodeChange",n)}},onAction:function(){return i.execCommand(s)}}))},b=function(n){T(n,"numlist","Numbered list","InsertOrderedList","OL",i(n)),T(n,"bullist","Bullet list","InsertUnorderedList","UL",l(n))};!function A(){u.add("advlist",function(n){var t,e,r;e="lists",r=(t=n).settings.plugins?t.settings.plugins:"",-1!==v.inArray(r.split(/[ ,]/),e)&&(b(n),o(n))})}()}(); \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/tinymce/plugins/anchor/plugin.min.js b/app/system/modules/editor/app/assets/tinymce/plugins/anchor/plugin.min.js deleted file mode 100755 index 2da28344..00000000 --- a/app/system/modules/editor/app/assets/tinymce/plugins/anchor/plugin.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Copyright (c) Tiny Technologies, Inc. All rights reserved. - * Licensed under the LGPL or a commercial license. - * For LGPL see License.txt in the project root for license information. - * For commercial licenses see https://www.tiny.cloud/ - * - * Version: 5.0.13 (2019-08-06) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),a=function(e){return/^[A-Za-z][A-Za-z0-9\-:._]*$/.test(e)},t=function(e){var t=e.selection.getNode();return"A"===t.tagName&&""===e.dom.getAttrib(t,"href")?t.getAttribute("id")||t.getAttribute("name"):""},r=function(e,t){var n=e.selection.getNode();"A"===n.tagName&&""===e.dom.getAttrib(n,"href")?(n.removeAttribute("name"),n.id=t,e.undoManager.add()):(e.focus(),e.selection.collapse(!0),e.execCommand("mceInsertContent",!1,e.dom.createHTML("a",{id:t})))},n=function(o){var e=t(o);o.windowManager.open({title:"Anchor",size:"normal",body:{type:"panel",items:[{name:"id",type:"input",label:"ID",placeholder:"example"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{id:e},onSubmit:function(e){var t,n;t=o,n=e.getData().id,(a(n)?(r(t,n),0):(t.windowManager.alert("Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores."),1))||e.close()}})},o=function(e){e.addCommand("mceAnchor",function(){n(e)})},i=function(o){return function(e){for(var t=0;t<e.length;t++)(n=e[t]).attr("href")||!n.attr("id")&&!n.attr("name")||n.firstChild||e[t].attr("contenteditable",o);var n}},c=function(e){e.on("PreInit",function(){e.parser.addNodeFilter("a",i("false")),e.serializer.addNodeFilter("a",i(null))})},d=function(t){t.ui.registry.addToggleButton("anchor",{icon:"bookmark",tooltip:"Anchor",onAction:function(){return t.execCommand("mceAnchor")},onSetup:function(e){return t.selection.selectorChangedWithUnbind("a:not([href])",e.setActive).unbind}}),t.ui.registry.addMenuItem("anchor",{icon:"bookmark",text:"Anchor...",onAction:function(){return t.execCommand("mceAnchor")}})};!function u(){e.add("anchor",function(e){c(e),o(e),d(e)})}()}(); \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/tinymce/plugins/autolink/plugin.min.js b/app/system/modules/editor/app/assets/tinymce/plugins/autolink/plugin.min.js deleted file mode 100755 index b26fa4f8..00000000 --- a/app/system/modules/editor/app/assets/tinymce/plugins/autolink/plugin.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Copyright (c) Tiny Technologies, Inc. All rights reserved. - * Licensed under the LGPL or a commercial license. - * For LGPL see License.txt in the project root for license information. - * For commercial licenses see https://www.tiny.cloud/ - * - * Version: 5.0.13 (2019-08-06) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),i=tinymce.util.Tools.resolve("tinymce.Env"),m=function(e){return e.getParam("autolink_pattern",/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+\-]+@)(.+)$/i)},y=function(e){return e.getParam("default_link_target",!1)},o=function(e,t){if(t<0&&(t=0),3===e.nodeType){var n=e.data.length;n<t&&(t=n)}return t},k=function(e,t,n){1!==t.nodeType||t.hasChildNodes()?e.setStart(t,o(t,n)):e.setStartBefore(t)},p=function(e,t,n){1!==t.nodeType||t.hasChildNodes()?e.setEnd(t,o(t,n)):e.setEndAfter(t)},r=function(e,t,n){var i,o,r,a,f,s,d,l,c,u,g=m(e),h=y(e);if("A"!==e.selection.getNode().tagName){if((i=e.selection.getRng(!0).cloneRange()).startOffset<5){if(!(l=i.endContainer.previousSibling)){if(!i.endContainer.firstChild||!i.endContainer.firstChild.nextSibling)return;l=i.endContainer.firstChild.nextSibling}if(c=l.length,k(i,l,c),p(i,l,c),i.endOffset<5)return;o=i.endOffset,a=l}else{if(3!==(a=i.endContainer).nodeType&&a.firstChild){for(;3!==a.nodeType&&a.firstChild;)a=a.firstChild;3===a.nodeType&&(k(i,a,0),p(i,a,a.nodeValue.length))}o=1===i.endOffset?2:i.endOffset-1-t}for(r=o;k(i,a,2<=o?o-2:0),p(i,a,1<=o?o-1:0),o-=1," "!==(u=i.toString())&&""!==u&&160!==u.charCodeAt(0)&&0<=o-2&&u!==n;);var C;(C=i.toString())===n||" "===C||160===C.charCodeAt(0)?(k(i,a,o),p(i,a,r),o+=1):(0===i.startOffset?k(i,a,0):k(i,a,o),p(i,a,r)),"."===(s=i.toString()).charAt(s.length-1)&&p(i,a,r-1),(d=(s=i.toString().trim()).match(g))&&("www."===d[1]?d[1]="http://www.":/@$/.test(d[1])&&!/^mailto:/.test(d[1])&&(d[1]="mailto:"+d[1]),f=e.selection.getBookmark(),e.selection.setRng(i),e.execCommand("createlink",!1,d[1]+d[2]),!1!==h&&e.dom.setAttrib(e.selection.getNode(),"target",h),e.selection.moveToBookmark(f),e.nodeChanged())}},t=function(t){var n;t.on("keydown",function(e){13!==e.keyCode||r(t,-1,"")}),i.ie&&i.ie<=11?t.on("focus",function(){if(!n){n=!0;try{t.execCommand("AutoUrlDetect",!1,!0)}catch(e){}}}):(t.on("keypress",function(e){41!==e.keyCode||r(t,-1,"(")}),t.on("keyup",function(e){32!==e.keyCode||r(t,0,"")}))};!function n(){e.add("autolink",function(e){t(e)})}()}(); \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/tinymce/plugins/autoresize/plugin.min.js b/app/system/modules/editor/app/assets/tinymce/plugins/autoresize/plugin.min.js deleted file mode 100755 index 899c621f..00000000 --- a/app/system/modules/editor/app/assets/tinymce/plugins/autoresize/plugin.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Copyright (c) Tiny Technologies, Inc. All rights reserved. - * Licensed under the LGPL or a commercial license. - * For LGPL see License.txt in the project root for license information. - * For commercial licenses see https://www.tiny.cloud/ - * - * Version: 5.0.13 (2019-08-06) - */ -!function(){"use strict";var i=function(e){var t=e,n=function(){return t};return{get:n,set:function(e){t=e},clone:function(){return i(n())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),d=tinymce.util.Tools.resolve("tinymce.Env"),r=tinymce.util.Tools.resolve("tinymce.util.Delay"),h=function(e){return e.fire("ResizeEditor")},v=function(e){return e.getParam("min_height",e.getElement().offsetHeight,"number")},y=function(e){return e.getParam("max_height",0,"number")},o=function(e){return e.getParam("autoresize_overflow_padding",1,"number")},p=function(e){return e.getParam("autoresize_bottom_margin",50,"number")},u=function(e){return e.getParam("autoresize_on_init",!0,"boolean")},a=function(e,t,n,i,o){r.setEditorTimeout(e,function(){b(e,t),n--?a(e,t,n,i,o):o&&o()},i)},z=function(e,t){var n=e.getBody();n&&(n.style.overflowY=t?"":"hidden",t||(n.scrollTop=0))},C=function(e,t,n,i){var o=parseInt(e.getStyle(t,n,i),10);return isNaN(o)?0:o},b=function(e,t){var n,i,o,r=e.dom,u=e.getDoc();if(u)if((a=e).plugins.fullscreen&&a.plugins.fullscreen.isFullscreen())z(e,!0);else{var a,s=u.documentElement,f=p(e);i=v(e);var c=C(r,s,"margin-top",!0),g=C(r,s,"margin-bottom",!0);(o=s.offsetHeight+c+g+f)<0&&(o=0);var l=e.getContainer().offsetHeight-e.getContentAreaContainer().offsetHeight;o+l>v(e)&&(i=o+l);var m=y(e);m&&m<i?(i=m,z(e,!0)):z(e,!1),i!==t.get()&&(n=i-t.get(),r.setStyle(e.getContainer(),"height",i+"px"),t.set(i),h(e),d.webkit&&n<0&&b(e,t))}},n={setup:function(t,n){t.on("init",function(){var e=o(t);t.dom.setStyles(t.getBody(),{paddingLeft:e,paddingRight:e,"min-height":0})}),t.on("NodeChange SetContent keyup FullscreenStateChanged ResizeContent",function(e){b(t,n)}),u(t)&&t.on("init",function(){a(t,n,20,100,function(){a(t,n,5,1e3)})})},resize:b},s=function(e,t){e.addCommand("mceAutoResize",function(){n.resize(e,t)})};!function t(){e.add("autoresize",function(e){if(e.settings.hasOwnProperty("resize")||(e.settings.resize=!1),!e.inline){var t=i(0);s(e,t),n.setup(e,t)}})}()}(); \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/tinymce/plugins/autosave/plugin.min.js b/app/system/modules/editor/app/assets/tinymce/plugins/autosave/plugin.min.js deleted file mode 100755 index cea2e73f..00000000 --- a/app/system/modules/editor/app/assets/tinymce/plugins/autosave/plugin.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Copyright (c) Tiny Technologies, Inc. All rights reserved. - * Licensed under the LGPL or a commercial license. - * For LGPL see License.txt in the project root for license information. - * For commercial licenses see https://www.tiny.cloud/ - * - * Version: 5.0.13 (2019-08-06) - */ -!function(r){"use strict";var o=function(t){var e=t,r=function(){return e};return{get:r,set:function(t){e=t},clone:function(){return o(r())}}},t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=tinymce.util.Tools.resolve("tinymce.util.Delay"),a=tinymce.util.Tools.resolve("tinymce.util.LocalStorage"),i=tinymce.util.Tools.resolve("tinymce.util.Tools"),u=function(t,e){var r=t||e,n=/^(\d+)([ms]?)$/.exec(""+r);return(n[2]?{s:1e3,m:6e4}[n[2]]:1)*parseInt(r,10)},s=function(t){var e=t.getParam("autosave_prefix","tinymce-autosave-{path}{query}{hash}-{id}-");return e=(e=(e=(e=e.replace(/\{path\}/g,r.document.location.pathname)).replace(/\{query\}/g,r.document.location.search)).replace(/\{hash\}/g,r.document.location.hash)).replace(/\{id\}/g,t.id)},c=function(t,e){var r=t.settings.forced_root_block;return""===(e=i.trim(void 0===e?t.getBody().innerHTML:e))||new RegExp("^<"+r+"[^>]*>((\xa0| |[ \t]|<br[^>]*>)+?|)</"+r+">|<br>$","i").test(e)},f=function(t){var e=parseInt(a.getItem(s(t)+"time"),10)||0;return!((new Date).getTime()-e>u(t.settings.autosave_retention,"20m"))||(l(t,!1),!1)},l=function(t,e){var r=s(t);a.removeItem(r+"draft"),a.removeItem(r+"time"),!1!==e&&t.fire("RemoveDraft")},m=function(t){var e=s(t);!c(t)&&t.isDirty()&&(a.setItem(e+"draft",t.getContent({format:"raw",no_events:!0})),a.setItem(e+"time",(new Date).getTime().toString()),t.fire("StoreDraft"))},v=function(t){var e=s(t);f(t)&&(t.setContent(a.getItem(e+"draft"),{format:"raw"}),t.fire("RestoreDraft"))},d=function(t,e){var r=u(t.settings.autosave_interval,"30s");e.get()||(n.setInterval(function(){t.removed||m(t)},r),e.set(!0))},g=function(t){t.undoManager.transact(function(){v(t),l(t)}),t.focus()};function y(n){for(var o=[],t=1;t<arguments.length;t++)o[t-1]=arguments[t];return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=o.concat(t);return n.apply(null,r)}}var p=tinymce.util.Tools.resolve("tinymce.EditorManager"),D=function(r,t){return function(t){t.setDisabled(!f(r));var e=function(){return t.setDisabled(!f(r))};return r.on("StoreDraft RestoreDraft RemoveDraft",e),function(){return r.off("StoreDraft RestoreDraft RemoveDraft",e)}}};!function e(){t.add("autosave",function(t){var e,r,n=o(!1);return t.editorManager.on("BeforeUnload",function(t){var e;i.each(p.get(),function(t){t.plugins.autosave&&t.plugins.autosave.storeDraft(),!e&&t.isDirty()&&t.getParam("autosave_ask_before_unload",!0)&&(e=t.translate("You have unsaved changes are you sure you want to navigate away?"))}),e&&(t.preventDefault(),t.returnValue=e)}),d(e=t,n),e.ui.registry.addButton("restoredraft",{tooltip:"Restore last draft",icon:"restore-draft",onAction:function(){g(e)},onSetup:D(e)}),e.ui.registry.addMenuItem("restoredraft",{text:"Restore last draft",icon:"restore-draft",onAction:function(){g(e)},onSetup:D(e)}),t.on("init",function(){t.getParam("autosave_restore_when_empty",!1)&&t.dom.isEmpty(t.getBody())&&v(t)}),{hasDraft:y(f,r=t),storeDraft:y(m,r),restoreDraft:y(v,r),removeDraft:y(l,r),isEmpty:y(c,r)}})}()}(window); \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/tinymce/plugins/bbcode/plugin.min.js b/app/system/modules/editor/app/assets/tinymce/plugins/bbcode/plugin.min.js deleted file mode 100755 index 7e7f900c..00000000 --- a/app/system/modules/editor/app/assets/tinymce/plugins/bbcode/plugin.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Copyright (c) Tiny Technologies, Inc. All rights reserved. - * Licensed under the LGPL or a commercial license. - * For LGPL see License.txt in the project root for license information. - * For commercial licenses see https://www.tiny.cloud/ - * - * Version: 5.0.13 (2019-08-06) - */ -!function(){"use strict";var o=tinymce.util.Tools.resolve("tinymce.PluginManager"),e=tinymce.util.Tools.resolve("tinymce.util.Tools"),t=function(t){t=e.trim(t);var o=function(o,e){t=t.replace(o,e)};return o(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url=$1]$2[/url]"),o(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),o(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),o(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),o(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),o(/<span style=\"color: ?(.*?);\">(.*?)<\/span>/gi,"[color=$1]$2[/color]"),o(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]"),o(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi,"[size=$1]$2[/size]"),o(/<font>(.*?)<\/font>/gi,"$1"),o(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]"),o(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]"),o(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]"),o(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]"),o(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]"),o(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]"),o(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]"),o(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]"),o(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]"),o(/<\/(strong|b)>/gi,"[/b]"),o(/<(strong|b)>/gi,"[b]"),o(/<\/(em|i)>/gi,"[/i]"),o(/<(em|i)>/gi,"[i]"),o(/<\/u>/gi,"[/u]"),o(/<span style=\"text-decoration: ?underline;\">(.*?)<\/span>/gi,"[u]$1[/u]"),o(/<u>/gi,"[u]"),o(/<blockquote[^>]*>/gi,"[quote]"),o(/<\/blockquote>/gi,"[/quote]"),o(/<br \/>/gi,"\n"),o(/<br\/>/gi,"\n"),o(/<br>/gi,"\n"),o(/<p>/gi,""),o(/<\/p>/gi,"\n"),o(/ |\u00a0/gi," "),o(/"/gi,'"'),o(/</gi,"<"),o(/>/gi,">"),o(/&/gi,"&"),t},i=function(t){t=e.trim(t);var o=function(o,e){t=t.replace(o,e)};return o(/\n/gi,"<br />"),o(/\[b\]/gi,"<strong>"),o(/\[\/b\]/gi,"</strong>"),o(/\[i\]/gi,"<em>"),o(/\[\/i\]/gi,"</em>"),o(/\[u\]/gi,"<u>"),o(/\[\/u\]/gi,"</u>"),o(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,'<a href="$1">$2</a>'),o(/\[url\](.*?)\[\/url\]/gi,'<a href="$1">$1</a>'),o(/\[img\](.*?)\[\/img\]/gi,'<img src="$1" />'),o(/\[color=(.*?)\](.*?)\[\/color\]/gi,'<font color="$1">$2</font>'),o(/\[code\](.*?)\[\/code\]/gi,'<span class="codeStyle">$1</span> '),o(/\[quote.*?\](.*?)\[\/quote\]/gi,'<span class="quoteStyle">$1</span> '),t};!function n(){o.add("bbcode",function(o){o.on("BeforeSetContent",function(o){o.content=i(o.content)}),o.on("PostProcess",function(o){o.set&&(o.content=i(o.content)),o.get&&(o.content=t(o.content))})})}()}(); \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/tinymce/plugins/charmap/plugin.min.js b/app/system/modules/editor/app/assets/tinymce/plugins/charmap/plugin.min.js deleted file mode 100755 index 6907f763..00000000 --- a/app/system/modules/editor/app/assets/tinymce/plugins/charmap/plugin.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Copyright (c) Tiny Technologies, Inc. All rights reserved. - * Licensed under the LGPL or a commercial license. - * For LGPL see License.txt in the project root for license information. - * For commercial licenses see https://www.tiny.cloud/ - * - * Version: 5.0.13 (2019-08-06) - */ -!function(l){"use strict";var n,e,r,t,a=tinymce.util.Tools.resolve("tinymce.PluginManager"),i=function(n,e){return n.fire("insertCustomChar",{chr:e})},f=function(n,e){var r=i(n,e).chr;n.execCommand("mceInsertContent",!1,r)},o=tinymce.util.Tools.resolve("tinymce.util.Tools"),c=function(n){return n.settings.charmap},u=function(n){return n.settings.charmap_append},s=function(n){return function(){return n}},g=s(!1),m=s(!0),h=g,d=m,p=function(){return y},y=(t={fold:function(n,e){return n()},is:h,isSome:h,isNone:d,getOr:r=function(n){return n},getOrThunk:e=function(n){return n()},getOrDie:function(n){throw new Error(n||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:r,orThunk:e,map:p,ap:p,each:function(){},bind:p,flatten:p,exists:h,forall:d,filter:p,equals:n=function(n){return n.isNone()},equals_:n,toArray:function(){return[]},toString:s("none()")},Object.freeze&&Object.freeze(t),t),w=function(r){var n=function(){return r},e=function(){return a},t=function(n){return n(r)},a={fold:function(n,e){return e(r)},is:function(n){return r===n},isSome:d,isNone:h,getOr:n,getOrThunk:n,getOrDie:n,getOrNull:n,getOrUndefined:n,or:e,orThunk:e,map:function(n){return w(n(r))},ap:function(n){return n.fold(p,function(n){return w(n(r))})},each:function(n){n(r)},bind:t,flatten:n,exists:t,forall:t,filter:function(n){return n(r)?a:y},equals:function(n){return n.is(r)},equals_:function(n,e){return n.fold(h,function(n){return e(r,n)})},toArray:function(){return[r]},toString:function(){return"some("+r+")"}};return a},b={some:w,none:p,from:function(n){return null===n||n===undefined?y:w(n)}},v=function(e){return function(n){return function(n){if(null===n)return"null";var e=typeof n;return"object"===e&&(Array.prototype.isPrototypeOf(n)||n.constructor&&"Array"===n.constructor.name)?"array":"object"===e&&(String.prototype.isPrototypeOf(n)||n.constructor&&"String"===n.constructor.name)?"string":e}(n)===e}},k=v("array"),C=v("function"),A=Array.prototype.slice,O=function(n,e){for(var r=n.length,t=new Array(r),a=0;a<r;a++){var i=n[a];t[a]=e(i,a,n)}return t},x=Array.prototype.push,q=function(n,e){return function(n){for(var e=[],r=0,t=n.length;r<t;++r){if(!k(n[r]))throw new Error("Arr.flatten item "+r+" was not an array, input: "+n);x.apply(e,n[r])}return e}(O(n,e))},S=(C(Array.from)&&Array.from,o.isArray),T="User Defined",E=function(n){return S(n)?[].concat((e=n,o.grep(e,function(n){return S(n)&&2===n.length}))):"function"==typeof n?n():[];var e},z=function(n){var e=function(n,e){var r=c(n);r&&(e=[{name:T,characters:E(r)}]);var t=u(n);if(t){var a=o.grep(e,function(n){return n.name===T});return a.length?(a[0].characters=[].concat(a[0].characters).concat(E(t)),e):[].concat(e).concat({name:T,characters:E(t)})}return e}(n,[{name:"Currency",characters:[[36,"dollar sign"],[162,"cent sign"],[8364,"euro sign"],[163,"pound sign"],[165,"yen sign"],[164,"currency sign"],[8352,"euro-currency sign"],[8353,"colon sign"],[8354,"cruzeiro sign"],[8355,"french franc sign"],[8356,"lira sign"],[8357,"mill sign"],[8358,"naira sign"],[8359,"peseta sign"],[8360,"rupee sign"],[8361,"won sign"],[8362,"new sheqel sign"],[8363,"dong sign"],[8365,"kip sign"],[8366,"tugrik sign"],[8367,"drachma sign"],[8368,"german penny symbol"],[8369,"peso sign"],[8370,"guarani sign"],[8371,"austral sign"],[8372,"hryvnia sign"],[8373,"cedi sign"],[8374,"livre tournois sign"],[8375,"spesmilo sign"],[8376,"tenge sign"],[8377,"indian rupee sign"],[8378,"turkish lira sign"],[8379,"nordic mark sign"],[8380,"manat sign"],[8381,"ruble sign"],[20870,"yen character"],[20803,"yuan character"],[22291,"yuan character, in hong kong and taiwan"],[22278,"yen/yuan character variant one"]]},{name:"Text",characters:[[169,"copyright sign"],[174,"registered sign"],[8482,"trade mark sign"],[8240,"per mille sign"],[181,"micro sign"],[183,"middle dot"],[8226,"bullet"],[8230,"three dot leader"],[8242,"minutes / feet"],[8243,"seconds / inches"],[167,"section sign"],[182,"paragraph sign"],[223,"sharp s / ess-zed"]]},{name:"Quotations",characters:[[8249,"single left-pointing angle quotation mark"],[8250,"single right-pointing angle quotation mark"],[171,"left pointing guillemet"],[187,"right pointing guillemet"],[8216,"left single quotation mark"],[8217,"right single quotation mark"],[8220,"left double quotation mark"],[8221,"right double quotation mark"],[8218,"single low-9 quotation mark"],[8222,"double low-9 quotation mark"],[60,"less-than sign"],[62,"greater-than sign"],[8804,"less-than or equal to"],[8805,"greater-than or equal to"],[8211,"en dash"],[8212,"em dash"],[175,"macron"],[8254,"overline"],[164,"currency sign"],[166,"broken bar"],[168,"diaeresis"],[161,"inverted exclamation mark"],[191,"turned question mark"],[710,"circumflex accent"],[732,"small tilde"],[176,"degree sign"],[8722,"minus sign"],[177,"plus-minus sign"],[247,"division sign"],[8260,"fraction slash"],[215,"multiplication sign"],[185,"superscript one"],[178,"superscript two"],[179,"superscript three"],[188,"fraction one quarter"],[189,"fraction one half"],[190,"fraction three quarters"]]},{name:"Mathematical",characters:[[402,"function / florin"],[8747,"integral"],[8721,"n-ary sumation"],[8734,"infinity"],[8730,"square root"],[8764,"similar to"],[8773,"approximately equal to"],[8776,"almost equal to"],[8800,"not equal to"],[8801,"identical to"],[8712,"element of"],[8713,"not an element of"],[8715,"contains as member"],[8719,"n-ary product"],[8743,"logical and"],[8744,"logical or"],[172,"not sign"],[8745,"intersection"],[8746,"union"],[8706,"partial differential"],[8704,"for all"],[8707,"there exists"],[8709,"diameter"],[8711,"backward difference"],[8727,"asterisk operator"],[8733,"proportional to"],[8736,"angle"]]},{name:"Extended Latin",characters:[[192,"A - grave"],[193,"A - acute"],[194,"A - circumflex"],[195,"A - tilde"],[196,"A - diaeresis"],[197,"A - ring above"],[256,"A - macron"],[198,"ligature AE"],[199,"C - cedilla"],[200,"E - grave"],[201,"E - acute"],[202,"E - circumflex"],[203,"E - diaeresis"],[274,"E - macron"],[204,"I - grave"],[205,"I - acute"],[206,"I - circumflex"],[207,"I - diaeresis"],[298,"I - macron"],[208,"ETH"],[209,"N - tilde"],[210,"O - grave"],[211,"O - acute"],[212,"O - circumflex"],[213,"O - tilde"],[214,"O - diaeresis"],[216,"O - slash"],[332,"O - macron"],[338,"ligature OE"],[352,"S - caron"],[217,"U - grave"],[218,"U - acute"],[219,"U - circumflex"],[220,"U - diaeresis"],[362,"U - macron"],[221,"Y - acute"],[376,"Y - diaeresis"],[562,"Y - macron"],[222,"THORN"],[224,"a - grave"],[225,"a - acute"],[226,"a - circumflex"],[227,"a - tilde"],[228,"a - diaeresis"],[229,"a - ring above"],[257,"a - macron"],[230,"ligature ae"],[231,"c - cedilla"],[232,"e - grave"],[233,"e - acute"],[234,"e - circumflex"],[235,"e - diaeresis"],[275,"e - macron"],[236,"i - grave"],[237,"i - acute"],[238,"i - circumflex"],[239,"i - diaeresis"],[299,"i - macron"],[240,"eth"],[241,"n - tilde"],[242,"o - grave"],[243,"o - acute"],[244,"o - circumflex"],[245,"o - tilde"],[246,"o - diaeresis"],[248,"o slash"],[333,"o macron"],[339,"ligature oe"],[353,"s - caron"],[249,"u - grave"],[250,"u - acute"],[251,"u - circumflex"],[252,"u - diaeresis"],[363,"u - macron"],[253,"y - acute"],[254,"thorn"],[255,"y - diaeresis"],[563,"y - macron"],[913,"Alpha"],[914,"Beta"],[915,"Gamma"],[916,"Delta"],[917,"Epsilon"],[918,"Zeta"],[919,"Eta"],[920,"Theta"],[921,"Iota"],[922,"Kappa"],[923,"Lambda"],[924,"Mu"],[925,"Nu"],[926,"Xi"],[927,"Omicron"],[928,"Pi"],[929,"Rho"],[931,"Sigma"],[932,"Tau"],[933,"Upsilon"],[934,"Phi"],[935,"Chi"],[936,"Psi"],[937,"Omega"],[945,"alpha"],[946,"beta"],[947,"gamma"],[948,"delta"],[949,"epsilon"],[950,"zeta"],[951,"eta"],[952,"theta"],[953,"iota"],[954,"kappa"],[955,"lambda"],[956,"mu"],[957,"nu"],[958,"xi"],[959,"omicron"],[960,"pi"],[961,"rho"],[962,"final sigma"],[963,"sigma"],[964,"tau"],[965,"upsilon"],[966,"phi"],[967,"chi"],[968,"psi"],[969,"omega"]]},{name:"Symbols",characters:[[8501,"alef symbol"],[982,"pi symbol"],[8476,"real part symbol"],[978,"upsilon - hook symbol"],[8472,"Weierstrass p"],[8465,"imaginary part"]]},{name:"Arrows",characters:[[8592,"leftwards arrow"],[8593,"upwards arrow"],[8594,"rightwards arrow"],[8595,"downwards arrow"],[8596,"left right arrow"],[8629,"carriage return"],[8656,"leftwards double arrow"],[8657,"upwards double arrow"],[8658,"rightwards double arrow"],[8659,"downwards double arrow"],[8660,"left right double arrow"],[8756,"therefore"],[8834,"subset of"],[8835,"superset of"],[8836,"not a subset of"],[8838,"subset of or equal to"],[8839,"superset of or equal to"],[8853,"circled plus"],[8855,"circled times"],[8869,"perpendicular"],[8901,"dot operator"],[8968,"left ceiling"],[8969,"right ceiling"],[8970,"left floor"],[8971,"right floor"],[9001,"left-pointing angle bracket"],[9002,"right-pointing angle bracket"],[9674,"lozenge"],[9824,"black spade suit"],[9827,"black club suit"],[9829,"black heart suit"],[9830,"black diamond suit"],[8194,"en space"],[8195,"em space"],[8201,"thin space"],[8204,"zero width non-joiner"],[8205,"zero width joiner"],[8206,"left-to-right mark"],[8207,"right-to-left mark"]]}]);return 1<e.length?[{name:"All",characters:q(e,function(n){return n.characters})}].concat(e):e},N=function(e){return{getCharMap:function(){return z(e)},insertChar:function(n){f(e,n)}}},U=function(n){var e=n,r=function(){return e};return{get:r,set:function(n){e=n},clone:function(){return U(r())}}},D=function(n,e){return-1!==n.indexOf(e)},I=function(n,e){var a=[],i=e.toLowerCase();return function(n,e){for(var r=0,t=n.length;r<t;r++)e(n[r],r,n)}(n.characters,function(n){var e,r,t;e=n[0],r=n[1],t=i,(D(String.fromCharCode(e).toLowerCase(),t)||D(r.toLowerCase(),t)||D(r.toLowerCase().replace(/\s+/g,""),t))&&a.push(n)}),O(a,function(n){return{text:n[1],value:String.fromCharCode(n[0]),icon:String.fromCharCode(n[0])}})},P="pattern",j=function(r,n){var t,a,i,e=function(){return[{label:"Search",type:"input",name:P},{type:"collection",name:"results"}]},o=1===n.length?U(T):U("All"),c=function(r,t){(function(n,e){for(var r=0,t=n.length;r<t;r++){var a=n[r];if(e(a,r,n))return b.some(a)}return b.none()})(n,function(n){return n.name===o.get()}).each(function(n){var e=I(n,t);r.setData({results:e})})},u=(t=function(n){var e=n.getData().pattern;c(n,e)},a=40,i=null,{cancel:function(){null!==i&&(l.clearTimeout(i),i=null)},throttle:function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];null!==i&&l.clearTimeout(i),i=l.setTimeout(function(){t.apply(null,n),i=null},a)}}),s={title:"Special Character",size:"normal",body:1===n.length?{type:"panel",items:e()}:{type:"tabpanel",tabs:O(n,function(n){return{title:n.name,name:n.name,items:e()}})},buttons:[{type:"cancel",name:"close",text:"Close",primary:!0}],initialData:{pattern:"",results:I(n[0],"")},onAction:function(n,e){"results"===e.name&&(f(r,e.value),n.close())},onTabChange:function(n,e){o.set(e.newTabName),u.throttle(n)},onChange:function(n,e){e.name===P&&u.throttle(n)}};r.windowManager.open(s)},L=function(n,e){n.addCommand("mceShowCharmap",function(){j(n,e)})},M=tinymce.util.Tools.resolve("tinymce.util.Promise"),R=function(n){n.ui.registry.addButton("charmap",{icon:"insert-character",tooltip:"Special character",onAction:function(){return n.execCommand("mceShowCharmap")}}),n.ui.registry.addMenuItem("charmap",{icon:"insert-character",text:"Special character...",onAction:function(){return n.execCommand("mceShowCharmap")}})};!function Y(){a.add("charmap",function(n){var t,a,e=z(n);return L(n,e),R(n),t=n,a=e[0],t.ui.registry.addAutocompleter("charmap",{ch:":",columns:"auto",minChars:2,fetch:function(r,n){return new M(function(n,e){n(I(a,r))})},onAction:function(n,e,r){t.selection.setRng(e),t.insertContent(r),n.hide()}}),N(n)})}()}(window); \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/tinymce/plugins/code/plugin.min.js b/app/system/modules/editor/app/assets/tinymce/plugins/code/plugin.min.js deleted file mode 100755 index b17b9ddc..00000000 --- a/app/system/modules/editor/app/assets/tinymce/plugins/code/plugin.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Copyright (c) Tiny Technologies, Inc. All rights reserved. - * Licensed under the LGPL or a commercial license. - * For LGPL see License.txt in the project root for license information. - * For commercial licenses see https://www.tiny.cloud/ - * - * Version: 5.0.13 (2019-08-06) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=function(e,n){e.focus(),e.undoManager.transact(function(){e.setContent(n)}),e.selection.setCursorLocation(),e.nodeChanged()},o=function(e){return e.getContent({source_view:!0})},n=function(n){var e=o(n);n.windowManager.open({title:"Source Code",size:"large",body:{type:"panel",items:[{type:"textarea",name:"code"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{code:e},onSubmit:function(e){t(n,e.getData().code),e.close()}})},c=function(e){e.addCommand("mceCodeEditor",function(){n(e)})},i=function(e){e.ui.registry.addButton("code",{icon:"sourcecode",tooltip:"Source code",onAction:function(){return n(e)}}),e.ui.registry.addMenuItem("code",{icon:"sourcecode",text:"Source code",onAction:function(){return n(e)}})};!function u(){e.add("code",function(e){return c(e),i(e),{}})}()}(); \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/tinymce/plugins/codesample/plugin.min.js b/app/system/modules/editor/app/assets/tinymce/plugins/codesample/plugin.min.js deleted file mode 100755 index eaee05eb..00000000 --- a/app/system/modules/editor/app/assets/tinymce/plugins/codesample/plugin.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Copyright (c) Tiny Technologies, Inc. All rights reserved. - * Licensed under the LGPL or a commercial license. - * For LGPL see License.txt in the project root for license information. - * For commercial licenses see https://www.tiny.cloud/ - * - * Version: 5.0.13 (2019-08-06) - */ -!function(c){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),r=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),t={},n=t,g=void 0!==t?t:"undefined"!=typeof WorkerGlobalScope&&c.self instanceof WorkerGlobalScope?c.self:{},i=function(){var u=/\blang(?:uage)?-(?!\*)(\w+)\b/i,S=g.Prism={util:{encode:function(e){return e instanceof s?new s(e.type,S.util.encode(e.content),e.alias):"Array"===S.util.type(e)?e.map(S.util.encode):e.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},clone:function(e){switch(S.util.type(e)){case"Object":var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=S.util.clone(e[n]));return t;case"Array":return e.map&&e.map(function(e){return S.util.clone(e)})}return e}},languages:{extend:function(e,t){var n=S.util.clone(S.languages[e]);for(var a in t)n[a]=t[a];return n},insertBefore:function(n,e,t,a){var r=(a=a||S.languages)[n];if(2===arguments.length){for(var i in t=e)t.hasOwnProperty(i)&&(r[i]=t[i]);return r}var o={};for(var s in r)if(r.hasOwnProperty(s)){if(s===e)for(var i in t)t.hasOwnProperty(i)&&(o[i]=t[i]);o[s]=r[s]}return S.languages.DFS(S.languages,function(e,t){t===a[n]&&e!==n&&(this[e]=o)}),a[n]=o},DFS:function(e,t,n){for(var a in e)e.hasOwnProperty(a)&&(t.call(e,a,e[a],n||a),"Object"===S.util.type(e[a])?S.languages.DFS(e[a],t):"Array"===S.util.type(e[a])&&S.languages.DFS(e[a],t,a))}},plugins:{},highlightAll:function(e,t){for(var n=c.document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'),a=0,r=void 0;r=n[a++];)S.highlightElement(r,!0===e,t)},highlightElement:function(e,t,n){for(var a,r,i=e;i&&!u.test(i.className);)i=i.parentNode;i&&(a=(i.className.match(u)||[,""])[1],r=S.languages[a]),e.className=e.className.replace(u,"").replace(/\s+/g," ")+" language-"+a,i=e.parentNode,/pre/i.test(i.nodeName)&&(i.className=i.className.replace(u,"").replace(/\s+/g," ")+" language-"+a);var o=e.textContent,s={element:e,language:a,grammar:r,code:o};if(o&&r)if(S.hooks.run("before-highlight",s),t&&g.Worker){var l=new c.Worker(S.filename);l.onmessage=function(e){s.highlightedCode=e.data,S.hooks.run("before-insert",s),s.element.innerHTML=s.highlightedCode,n&&n.call(s.element),S.hooks.run("after-highlight",s),S.hooks.run("complete",s)},l.postMessage(JSON.stringify({language:s.language,code:s.code,immediateClose:!0}))}else s.highlightedCode=S.highlight(s.code,s.grammar,s.language),S.hooks.run("before-insert",s),s.element.innerHTML=s.highlightedCode,n&&n.call(e),S.hooks.run("after-highlight",s),S.hooks.run("complete",s);else S.hooks.run("complete",s)},highlight:function(e,t,n){var a=S.tokenize(e,t);return s.stringify(S.util.encode(a),n)},tokenize:function(e,t,n){var a=S.Token,r=[e],i=t.rest;if(i){for(var o in i)t[o]=i[o];delete t.rest}e:for(var o in t)if(t.hasOwnProperty(o)&&t[o]){var s=t[o];s="Array"===S.util.type(s)?s:[s];for(var l=0;l<s.length;++l){var u=s[l],c=u.inside,g=!!u.lookbehind,d=0,p=u.alias;u=u.pattern||u;for(var f=0;f<r.length;f++){var h=r[f];if(r.length>e.length)break e;if(!(h instanceof a)){u.lastIndex=0;var m=u.exec(h);if(m){g&&(d=m[1].length);var b=m.index-1+d,y=b+(m=m[0].slice(d)).length,v=h.slice(0,b+1),k=h.slice(y+1),w=[f,1];v&&w.push(v);var x=new a(o,c?S.tokenize(m,c):m,p);w.push(x),k&&w.push(k),Array.prototype.splice.apply(r,w)}}}}}return r},hooks:{all:{},add:function(e,t){var n=S.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=S.hooks.all[e];if(n&&n.length)for(var a=0,r=void 0;r=n[a++];)r(t)}}},s=S.Token=function(e,t,n){this.type=e,this.content=t,this.alias=n};if(s.stringify=function(t,n,e){if("string"==typeof t)return t;if("Array"===S.util.type(t))return t.map(function(e){return s.stringify(e,n,t)}).join("");var a={type:t.type,content:s.stringify(t.content,n,e),tag:"span",classes:["token",t.type],attributes:{},language:n,parent:e};if("comment"===a.type&&(a.attributes.spellcheck="true"),t.alias){var r="Array"===S.util.type(t.alias)?t.alias:[t.alias];Array.prototype.push.apply(a.classes,r)}S.hooks.run("wrap",a);var i="";for(var o in a.attributes)i+=(i?" ":"")+o+'="'+(a.attributes[o]||"")+'"';return"<"+a.tag+' class="'+a.classes.join(" ")+'" '+i+">"+a.content+"</"+a.tag+">"},!g.document)return g.addEventListener&&g.addEventListener("message",function(e){var t=JSON.parse(e.data),n=t.language,a=t.code,r=t.immediateClose;g.postMessage(S.highlight(a,S.languages[n],n)),r&&g.close()},!1),g.Prism}();void 0!==n&&(n.Prism=i),i.languages.markup={comment:/<!--[\w\W]*?-->/,prolog:/<\?[\w\W]+?\?>/,doctype:/<!DOCTYPE[\w\W]+?>/,cdata:/<!\[CDATA\[[\w\W]*?]]>/i,tag:{pattern:/<\/?[^\s>\/=.]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,inside:{punctuation:/[=>"']/}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},i.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),i.languages.xml=i.languages.markup,i.languages.html=i.languages.markup,i.languages.mathml=i.languages.markup,i.languages.svg=i.languages.markup,i.languages.css={comment:/\/\*[\w\W]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^\{\}\s][^\{\};]*?(?=\s*\{)/,string:/("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,property:/(\b|\B)[\w-]+(?=\s*:)/i,important:/\B!important\b/i,"function":/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},i.languages.css.atrule.inside.rest=i.util.clone(i.languages.css),i.languages.markup&&(i.languages.insertBefore("markup","tag",{style:{pattern:/<style[\w\W]*?>[\w\W]*?<\/style>/i,inside:{tag:{pattern:/<style[\w\W]*?>|<\/style>/i,inside:i.languages.markup.tag.inside},rest:i.languages.css},alias:"language-css"}}),i.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|').*?\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:i.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:i.languages.css}},alias:"language-css"}},i.languages.markup.tag)),i.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:/(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,"boolean":/\b(true|false)\b/,"function":/[a-z0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},i.languages.javascript=i.languages.extend("clike",{keyword:/\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,"function":/[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i}),i.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0}}),i.languages.insertBefore("javascript","class-name",{"template-string":{pattern:/`(?:\\`|\\?[^`])*`/,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:i.languages.javascript}},string:/[\s\S]+/}}}),i.languages.markup&&i.languages.insertBefore("markup","tag",{script:{pattern:/<script[\w\W]*?>[\w\W]*?<\/script>/i,inside:{tag:{pattern:/<script[\w\W]*?>|<\/script>/i,inside:i.languages.markup.tag.inside},rest:i.languages.javascript},alias:"language-javascript"}}),i.languages.js=i.languages.javascript,i.languages.c=i.languages.extend("clike",{keyword:/\b(asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,operator:/\-[>-]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[~^%?*\/]/,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)[ful]*\b/i}),i.languages.insertBefore("c","string",{macro:{pattern:/(^\s*)#\s*[a-z]+([^\r\n\\]|\\.|\\(?:\r\n?|\n))*/im,lookbehind:!0,alias:"property",inside:{string:{pattern:/(#\s*include\s*)(<.+?>|("|')(\\?.)+?\3)/,lookbehind:!0}}}}),delete i.languages.c["class-name"],delete i.languages.c["boolean"],i.languages.csharp=i.languages.extend("clike",{keyword:/\b(abstract|as|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|do|double|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|goto|if|implicit|in|int|interface|internal|is|lock|long|namespace|new|null|object|operator|out|override|params|private|protected|public|readonly|ref|return|sbyte|sealed|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|virtual|void|volatile|while|add|alias|ascending|async|await|descending|dynamic|from|get|global|group|into|join|let|orderby|partial|remove|select|set|value|var|where|yield)\b/,string:[/@("|')(\1\1|\\\1|\\?(?!\1)[\s\S])*\1/,/("|')(\\?.)*?\1/],number:/\b-?(0x[\da-f]+|\d*\.?\d+)\b/i}),i.languages.insertBefore("csharp","keyword",{preprocessor:{pattern:/(^\s*)#.*/m,lookbehind:!0}}),i.languages.cpp=i.languages.extend("c",{keyword:/\b(alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,"boolean":/\b(true|false)\b/,operator:/[-+]{1,2}|!=?|<{1,2}=?|>{1,2}=?|\->|:{1,2}|={1,2}|\^|~|%|&{1,2}|\|?\||\?|\*|\/|\b(and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/}),i.languages.insertBefore("cpp","keyword",{"class-name":{pattern:/(class\s+)[a-z0-9_]+/i,lookbehind:!0}}),i.languages.java=i.languages.extend("clike",{keyword:/\b(abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/,number:/\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp\-]+\b|\b\d*\.?\d+(?:e[+-]?\d+)?[df]?\b/i,operator:{pattern:/(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m,lookbehind:!0}}),i.languages.php=i.languages.extend("clike",{keyword:/\b(and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\b/i,constant:/\b[A-Z0-9_]{2,}\b/,comment:{pattern:/(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/,lookbehind:!0}}),i.languages.insertBefore("php","class-name",{"shell-comment":{pattern:/(^|[^\\])#.*/,lookbehind:!0,alias:"comment"}}),i.languages.insertBefore("php","keyword",{delimiter:/\?>|<\?(?:php)?/i,variable:/\$\w+\b/i,"package":{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/,lookbehind:!0,inside:{punctuation:/\\/}}}),i.languages.insertBefore("php","operator",{property:{pattern:/(->)[\w]+/,lookbehind:!0}}),i.languages.markup&&(i.hooks.add("before-highlight",function(t){"php"===t.language&&(t.tokenStack=[],t.backupCode=t.code,t.code=t.code.replace(/(?:<\?php|<\?)[\w\W]*?(?:\?>)/gi,function(e){return t.tokenStack.push(e),"{{{PHP"+t.tokenStack.length+"}}}"}))}),i.hooks.add("before-insert",function(e){"php"===e.language&&(e.code=e.backupCode,delete e.backupCode)}),i.hooks.add("after-highlight",function(e){if("php"===e.language){for(var t=0,n=void 0;n=e.tokenStack[t];t++)e.highlightedCode=e.highlightedCode.replace("{{{PHP"+(t+1)+"}}}",i.highlight(n,e.grammar,"php").replace(/\$/g,"$$$$"));e.element.innerHTML=e.highlightedCode}}),i.hooks.add("wrap",function(e){"php"===e.language&&"markup"===e.type&&(e.content=e.content.replace(/(\{\{\{PHP[0-9]+\}\}\})/g,'<span class="token php">$1</span>'))}),i.languages.insertBefore("php","comment",{markup:{pattern:/<[^?]\/?(.*?)>/,inside:i.languages.markup},php:/\{\{\{PHP[0-9]+\}\}\}/})),i.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:/"""[\s\S]+?"""|'''[\s\S]+?'''|("|')(?:\\?.)*?\1/,"function":{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_][a-zA-Z0-9_]*(?=\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)[a-z0-9_]+/i,lookbehind:!0},keyword:/\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|with|yield)\b/,"boolean":/\b(?:True|False)\b/,number:/\b-?(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/,punctuation:/[{}[\];(),.:]/},function(e){e.languages.ruby=e.languages.extend("clike",{comment:/#(?!\{[^\r\n]*?\}).*/,keyword:/\b(alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/});var t={pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"tag"},rest:e.util.clone(e.languages.ruby)}};e.languages.insertBefore("ruby","keyword",{regex:[{pattern:/%r([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1[gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r\((?:[^()\\]|\\[\s\S])*\)[gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}[gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r\[(?:[^\[\]\\]|\\[\s\S])*\][gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r<(?:[^<>\\]|\\[\s\S])*>[gim]{0,3}/,inside:{interpolation:t}},{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0}],variable:/[@$]+[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/,symbol:/:[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/}),e.languages.insertBefore("ruby","number",{builtin:/\b(Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|File|Fixnum|Fload|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z][a-zA-Z_0-9]*(?:[?!]|\b)/}),e.languages.ruby.string=[{pattern:/%[qQiIwWxs]?([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\((?:[^()\\]|\\[\s\S])*\)/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\[(?:[^\[\]\\]|\\[\s\S])*\]/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?<(?:[^<>\\]|\\[\s\S])*>/,inside:{interpolation:t}},{pattern:/("|')(#\{[^}]+\}|\\(?:\r?\n|\r)|\\?.)*?\1/,inside:{interpolation:t}}]}(i);var a,o,s,l,u,d={isCodeSample:function M(e){return e&&"PRE"===e.nodeName&&-1!==e.className.indexOf("language-")},trimArg:function F(n){return function(e,t){return n(t)}}},p=function(e){return function(){return e}},f=p(!1),h=p(!0),m=f,b=h,y=function(){return v},v=(l={fold:function(e,t){return e()},is:m,isSome:m,isNone:b,getOr:s=function(e){return e},getOrThunk:o=function(e){return e()},getOrDie:function(e){throw new Error(e||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:s,orThunk:o,map:y,ap:y,each:function(){},bind:y,flatten:y,exists:m,forall:b,filter:y,equals:a=function(e){return e.isNone()},equals_:a,toArray:function(){return[]},toString:p("none()")},Object.freeze&&Object.freeze(l),l),k=function(n){var e=function(){return n},t=function(){return r},a=function(e){return e(n)},r={fold:function(e,t){return t(n)},is:function(e){return n===e},isSome:b,isNone:m,getOr:e,getOrThunk:e,getOrDie:e,getOrNull:e,getOrUndefined:e,or:t,orThunk:t,map:function(e){return k(e(n))},ap:function(e){return e.fold(y,function(e){return k(e(n))})},each:function(e){e(n)},bind:a,flatten:e,exists:a,forall:a,filter:function(e){return e(n)?r:v},equals:function(e){return e.is(n)},equals_:function(e,t){return e.fold(m,function(e){return t(n,e)})},toArray:function(){return[n]},toString:function(){return"some("+n+")"}};return r},w={some:k,none:y,from:function(e){return null===e||e===undefined?v:k(e)}},x=function(e){var t=e.selection?e.selection.getNode():null;return d.isCodeSample(t)?w.some(t):w.none()},S=x,A=function(t,n,a){t.undoManager.transact(function(){var e=x(t);return a=r.DOM.encode(a),e.fold(function(){t.insertContent('<pre id="__new" class="language-'+n+'">'+a+"</pre>"),t.selection.select(t.$("#__new").removeAttr("id")[0])},function(e){t.dom.setAttrib(e,"class","language-"+n),e.innerHTML=a,i.highlightElement(e),t.selection.select(e)})})},C=function(e){return x(e).fold(function(){return""},function(e){return e.textContent})},_=function(e){return e.settings.codesample_languages},N=function(e){var t=_(e);return t||[{text:"HTML/XML",value:"markup"},{text:"JavaScript",value:"javascript"},{text:"CSS",value:"css"},{text:"PHP",value:"php"},{text:"Ruby",value:"ruby"},{text:"Python",value:"python"},{text:"Java",value:"java"},{text:"C",value:"c"},{text:"C#",value:"csharp"},{text:"C++",value:"cpp"}]},O=function(e,n){return S(e).fold(function(){return n},function(e){var t=e.className.match(/language-(\w+)/);return t?t[1]:n})},z=(u="function",function(e){return function(e){if(null===e)return"null";var t=typeof e;return"object"===t&&(Array.prototype.isPrototypeOf(e)||e.constructor&&"Array"===e.constructor.name)?"array":"object"===t&&(String.prototype.isPrototypeOf(e)||e.constructor&&"String"===e.constructor.name)?"string":t}(e)===u}),P=Array.prototype.slice,W=(z(Array.from)&&Array.from,function(n){var e,t=N(n),a=(e=t,0===e.length?w.none():w.some(e[0])).fold(function(){return""},function(e){return e.value}),r=O(n,a),i=C(n);n.windowManager.open({title:"Insert/Edit Code Sample",size:"large",body:{type:"panel",items:[{type:"selectbox",name:"language",label:"Language",items:t},{type:"textarea",name:"code",label:"Code view"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{language:r,code:i},onSubmit:function(e){var t=e.getData();A(n,t.language,t.code),e.close()}})}),j=function(t){t.addCommand("codesample",function(){var e=t.selection.getNode();t.selection.isCollapsed()||d.isCodeSample(e)?W(t):t.formatter.toggle("code")})},T=function(n){var r=n.$;n.on("PreProcess",function(e){r("pre[contenteditable=false]",e.node).filter(d.trimArg(d.isCodeSample)).each(function(e,t){var n=r(t),a=t.textContent;n.attr("class",r.trim(n.attr("class"))),n.removeAttr("contentEditable"),n.empty().append(r("<code></code>").each(function(){this.textContent=a}))})}),n.on("SetContent",function(){var e=r("pre").filter(d.trimArg(d.isCodeSample)).filter(function(e,t){return"false"!==t.contentEditable});e.length&&n.undoManager.transact(function(){e.each(function(e,t){r(t).find("br").each(function(e,t){t.parentNode.replaceChild(n.getDoc().createTextNode("\n"),t)}),t.contentEditable="false",t.innerHTML=n.dom.encode(t.textContent),i.highlightElement(t),t.className=r.trim(t.className)})})})},B=function(a){a.ui.registry.addToggleButton("codesample",{icon:"code-sample",tooltip:"Insert/edit code sample",onAction:function(){return W(a)},onSetup:function(n){var e=function(){var e,t;n.setActive((t=(e=a).selection.getStart(),e.dom.is(t,"pre.language-markup")))};return a.on("NodeChange",e),function(){return a.off("NodeChange",e)}}}),a.ui.registry.addMenuItem("codesample",{text:"Code sample...",icon:"code-sample",onAction:function(){return W(a)}})};!function $(){e.add("codesample",function(t){T(t),B(t),j(t),t.on("dblclick",function(e){d.isCodeSample(e.target)&&W(t)})})}()}(window); \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/tinymce/plugins/colorpicker/plugin.min.js b/app/system/modules/editor/app/assets/tinymce/plugins/colorpicker/plugin.min.js deleted file mode 100755 index 7dd70ef1..00000000 --- a/app/system/modules/editor/app/assets/tinymce/plugins/colorpicker/plugin.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Copyright (c) Tiny Technologies, Inc. All rights reserved. - * Licensed under the LGPL or a commercial license. - * For LGPL see License.txt in the project root for license information. - * For commercial licenses see https://www.tiny.cloud/ - * - * Version: 5.0.13 (2019-08-06) - */ -!function(o){"use strict";var i=tinymce.util.Tools.resolve("tinymce.PluginManager");!function n(){i.add("colorpicker",function(){o.console.warn("Color picker plugin is now built in to the core editor, please remove it from your editor configuration")})}()}(window); \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/tinymce/plugins/contextmenu/plugin.min.js b/app/system/modules/editor/app/assets/tinymce/plugins/contextmenu/plugin.min.js deleted file mode 100755 index 5a9c7130..00000000 --- a/app/system/modules/editor/app/assets/tinymce/plugins/contextmenu/plugin.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Copyright (c) Tiny Technologies, Inc. All rights reserved. - * Licensed under the LGPL or a commercial license. - * For LGPL see License.txt in the project root for license information. - * For commercial licenses see https://www.tiny.cloud/ - * - * Version: 5.0.13 (2019-08-06) - */ -!function(n){"use strict";var o=tinymce.util.Tools.resolve("tinymce.PluginManager");!function e(){o.add("contextmenu",function(){n.console.warn("Context menu plugin is now built in to the core editor, please remove it from your editor configuration")})}()}(window); \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/tinymce/plugins/directionality/plugin.min.js b/app/system/modules/editor/app/assets/tinymce/plugins/directionality/plugin.min.js deleted file mode 100755 index ba77b789..00000000 --- a/app/system/modules/editor/app/assets/tinymce/plugins/directionality/plugin.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Copyright (c) Tiny Technologies, Inc. All rights reserved. - * Licensed under the LGPL or a commercial license. - * For LGPL see License.txt in the project root for license information. - * For commercial licenses see https://www.tiny.cloud/ - * - * Version: 5.0.13 (2019-08-06) - */ -!function(c){"use strict";var n,t,e,r,o,u,i=tinymce.util.Tools.resolve("tinymce.PluginManager"),f=tinymce.util.Tools.resolve("tinymce.util.Tools"),d=function(n,t){var e,r=n.dom,o=n.selection.getSelectedBlocks();o.length&&(e=r.getAttrib(o[0],"dir"),f.each(o,function(n){r.getParent(n.parentNode,'*[dir="'+t+'"]',r.getRoot())||r.setAttrib(n,"dir",e!==t?t:null)}),n.nodeChanged())},l=function(n){n.addCommand("mceDirectionLTR",function(){d(n,"ltr")}),n.addCommand("mceDirectionRTL",function(){d(n,"rtl")})},a=function(n){return function(){return n}},m=a(!1),N=a(!0),s=m,g=N,T=function(){return E},E=(r={fold:function(n,t){return n()},is:s,isSome:s,isNone:g,getOr:e=function(n){return n},getOrThunk:t=function(n){return n()},getOrDie:function(n){throw new Error(n||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:e,orThunk:t,map:T,ap:T,each:function(){},bind:T,flatten:T,exists:s,forall:g,filter:T,equals:n=function(n){return n.isNone()},equals_:n,toArray:function(){return[]},toString:a("none()")},Object.freeze&&Object.freeze(r),r),O=function(e){var n=function(){return e},t=function(){return o},r=function(n){return n(e)},o={fold:function(n,t){return t(e)},is:function(n){return e===n},isSome:g,isNone:s,getOr:n,getOrThunk:n,getOrDie:n,getOrNull:n,getOrUndefined:n,or:t,orThunk:t,map:function(n){return O(n(e))},ap:function(n){return n.fold(T,function(n){return O(n(e))})},each:function(n){n(e)},bind:r,flatten:n,exists:r,forall:r,filter:function(n){return n(e)?o:E},equals:function(n){return n.is(e)},equals_:function(n,t){return n.fold(s,function(n){return t(e,n)})},toArray:function(){return[e]},toString:function(){return"some("+e+")"}};return o},y=function(n){return null===n||n===undefined?E:O(n)},D=function(n){if(null===n||n===undefined)throw new Error("Node cannot be null or undefined");return{dom:a(n)}},p={fromHtml:function(n,t){var e=(t||c.document).createElement("div");if(e.innerHTML=n,!e.hasChildNodes()||1<e.childNodes.length)throw c.console.error("HTML does not have a single root node",n),new Error("HTML must have a single root node");return D(e.childNodes[0])},fromTag:function(n,t){var e=(t||c.document).createElement(n);return D(e)},fromText:function(n,t){var e=(t||c.document).createTextNode(n);return D(e)},fromDom:D,fromPoint:function(n,t,e){var r=n.dom();return y(r.elementFromPoint(t,e)).map(D)}},h=(o="function",function(n){return function(n){if(null===n)return"null";var t=typeof n;return"object"===t&&(Array.prototype.isPrototypeOf(n)||n.constructor&&"Array"===n.constructor.name)?"array":"object"===t&&(String.prototype.isPrototypeOf(n)||n.constructor&&"String"===n.constructor.name)?"string":t}(n)===o}),_=Array.prototype.slice,v=(h(Array.from)&&Array.from,c.Node.ATTRIBUTE_NODE,c.Node.CDATA_SECTION_NODE,c.Node.COMMENT_NODE,c.Node.DOCUMENT_NODE,c.Node.DOCUMENT_TYPE_NODE,c.Node.DOCUMENT_FRAGMENT_NODE,c.Node.ELEMENT_NODE,c.Node.TEXT_NODE),C=(c.Node.PROCESSING_INSTRUCTION_NODE,c.Node.ENTITY_REFERENCE_NODE,c.Node.ENTITY_NODE,c.Node.NOTATION_NODE,u=v,function(n){return n.dom().nodeType===u}),A=function(n,t){var e,r,o=n.dom(),u=c.window.getComputedStyle(o).getPropertyValue(t),i=""!==u||(r=C(e=n)?e.dom().parentNode:e.dom())!==undefined&&null!==r&&r.ownerDocument.body.contains(r)?u:S(o,t);return null===i?undefined:i},S=function(n,t){return(e=n).style!==undefined&&h(e.style.getPropertyValue)?n.style.getPropertyValue(t):"";var e},R=function(t,r){return function(e){var n=function(n){var t=p.fromDom(n.element);e.setActive(("rtl"===A(t,"direction")?"rtl":"ltr")===r)};return t.on("NodeChange",n),function(){return t.off("NodeChange",n)}}},w=function(n){n.ui.registry.addToggleButton("ltr",{tooltip:"Left to right",icon:"ltr",onAction:function(){return n.execCommand("mceDirectionLTR")},onSetup:R(n,"ltr")}),n.ui.registry.addToggleButton("rtl",{tooltip:"Right to left",icon:"rtl",onAction:function(){return n.execCommand("mceDirectionRTL")},onSetup:R(n,"rtl")})};!function M(){i.add("directionality",function(n){l(n),w(n)})}()}(window); \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/tinymce/plugins/emoticons/js/emojis.js b/app/system/modules/editor/app/assets/tinymce/plugins/emoticons/js/emojis.js deleted file mode 100755 index 5f8c249a..00000000 --- a/app/system/modules/editor/app/assets/tinymce/plugins/emoticons/js/emojis.js +++ /dev/null @@ -1,9015 +0,0 @@ -// NOTE: Source: npm package: emojilib, file:emojis.json -window.tinymce.Resource.add("tinymce.plugins.emoticons", { - grinning: { - keywords: [ "face", "smile", "happy", "joy", ":D", "grin" ], - "char": "\ud83d\ude00", - fitzpatrick_scale: false, - category: "people" - }, - grimacing: { - keywords: [ "face", "grimace", "teeth" ], - "char": "\ud83d\ude2c", - fitzpatrick_scale: false, - category: "people" - }, - grin: { - keywords: [ "face", "happy", "smile", "joy", "kawaii" ], - "char": "\ud83d\ude01", - fitzpatrick_scale: false, - category: "people" - }, - joy: { - keywords: [ "face", "cry", "tears", "weep", "happy", "happytears", "haha" ], - "char": "\ud83d\ude02", - fitzpatrick_scale: false, - category: "people" - }, - rofl: { - keywords: [ "face", "rolling", "floor", "laughing", "lol", "haha" ], - "char": "\ud83e\udd23", - fitzpatrick_scale: false, - category: "people" - }, - smiley: { - keywords: [ "face", "happy", "joy", "haha", ":D", ":)", "smile", "funny" ], - "char": "\ud83d\ude03", - fitzpatrick_scale: false, - category: "people" - }, - smile: { - keywords: [ "face", "happy", "joy", "funny", "haha", "laugh", "like", ":D", ":)" ], - "char": "\ud83d\ude04", - fitzpatrick_scale: false, - category: "people" - }, - sweat_smile: { - keywords: [ "face", "hot", "happy", "laugh", "sweat", "smile", "relief" ], - "char": "\ud83d\ude05", - fitzpatrick_scale: false, - category: "people" - }, - laughing: { - keywords: [ "happy", "joy", "lol", "satisfied", "haha", "face", "glad", "XD", "laugh" ], - "char": "\ud83d\ude06", - fitzpatrick_scale: false, - category: "people" - }, - innocent: { - keywords: [ "face", "angel", "heaven", "halo" ], - "char": "\ud83d\ude07", - fitzpatrick_scale: false, - category: "people" - }, - wink: { - keywords: [ "face", "happy", "mischievous", "secret", ";)", "smile", "eye" ], - "char": "\ud83d\ude09", - fitzpatrick_scale: false, - category: "people" - }, - blush: { - keywords: [ "face", "smile", "happy", "flushed", "crush", "embarrassed", "shy", "joy" ], - "char": "\ud83d\ude0a", - fitzpatrick_scale: false, - category: "people" - }, - slightly_smiling_face: { - keywords: [ "face", "smile" ], - "char": "\ud83d\ude42", - fitzpatrick_scale: false, - category: "people" - }, - upside_down_face: { - keywords: [ "face", "flipped", "silly", "smile" ], - "char": "\ud83d\ude43", - fitzpatrick_scale: false, - category: "people" - }, - relaxed: { - keywords: [ "face", "blush", "massage", "happiness" ], - "char": "\u263a\ufe0f", - fitzpatrick_scale: false, - category: "people" - }, - yum: { - keywords: [ "happy", "joy", "tongue", "smile", "face", "silly", "yummy", "nom", "delicious", "savouring" ], - "char": "\ud83d\ude0b", - fitzpatrick_scale: false, - category: "people" - }, - relieved: { - keywords: [ "face", "relaxed", "phew", "massage", "happiness" ], - "char": "\ud83d\ude0c", - fitzpatrick_scale: false, - category: "people" - }, - heart_eyes: { - keywords: [ "face", "love", "like", "affection", "valentines", "infatuation", "crush", "heart" ], - "char": "\ud83d\ude0d", - fitzpatrick_scale: false, - category: "people" - }, - kissing_heart: { - keywords: [ "face", "love", "like", "affection", "valentines", "infatuation", "kiss" ], - "char": "\ud83d\ude18", - fitzpatrick_scale: false, - category: "people" - }, - kissing: { - keywords: [ "love", "like", "face", "3", "valentines", "infatuation", "kiss" ], - "char": "\ud83d\ude17", - fitzpatrick_scale: false, - category: "people" - }, - kissing_smiling_eyes: { - keywords: [ "face", "affection", "valentines", "infatuation", "kiss" ], - "char": "\ud83d\ude19", - fitzpatrick_scale: false, - category: "people" - }, - kissing_closed_eyes: { - keywords: [ "face", "love", "like", "affection", "valentines", "infatuation", "kiss" ], - "char": "\ud83d\ude1a", - fitzpatrick_scale: false, - category: "people" - }, - stuck_out_tongue_winking_eye: { - keywords: [ "face", "prank", "childish", "playful", "mischievous", "smile", "wink", "tongue" ], - "char": "\ud83d\ude1c", - fitzpatrick_scale: false, - category: "people" - }, - zany: { - keywords: [ "face", "goofy", "crazy" ], - "char": "\ud83e\udd2a", - fitzpatrick_scale: false, - category: "people" - }, - raised_eyebrow: { - keywords: [ "face", "distrust", "scepticism", "disapproval", "disbelief", "surprise" ], - "char": "\ud83e\udd28", - fitzpatrick_scale: false, - category: "people" - }, - monocle: { - keywords: [ "face", "stuffy", "wealthy" ], - "char": "\ud83e\uddd0", - fitzpatrick_scale: false, - category: "people" - }, - stuck_out_tongue_closed_eyes: { - keywords: [ "face", "prank", "playful", "mischievous", "smile", "tongue" ], - "char": "\ud83d\ude1d", - fitzpatrick_scale: false, - category: "people" - }, - stuck_out_tongue: { - keywords: [ "face", "prank", "childish", "playful", "mischievous", "smile", "tongue" ], - "char": "\ud83d\ude1b", - fitzpatrick_scale: false, - category: "people" - }, - money_mouth_face: { - keywords: [ "face", "rich", "dollar", "money" ], - "char": "\ud83e\udd11", - fitzpatrick_scale: false, - category: "people" - }, - nerd_face: { - keywords: [ "face", "nerdy", "geek", "dork" ], - "char": "\ud83e\udd13", - fitzpatrick_scale: false, - category: "people" - }, - sunglasses: { - keywords: [ "face", "cool", "smile", "summer", "beach", "sunglass" ], - "char": "\ud83d\ude0e", - fitzpatrick_scale: false, - category: "people" - }, - star_struck: { - keywords: [ "face", "smile", "starry", "eyes", "grinning" ], - "char": "\ud83e\udd29", - fitzpatrick_scale: false, - category: "people" - }, - clown_face: { - keywords: [ "face" ], - "char": "\ud83e\udd21", - fitzpatrick_scale: false, - category: "people" - }, - cowboy_hat_face: { - keywords: [ "face", "cowgirl", "hat" ], - "char": "\ud83e\udd20", - fitzpatrick_scale: false, - category: "people" - }, - hugs: { - keywords: [ "face", "smile", "hug" ], - "char": "\ud83e\udd17", - fitzpatrick_scale: false, - category: "people" - }, - smirk: { - keywords: [ "face", "smile", "mean", "prank", "smug", "sarcasm" ], - "char": "\ud83d\ude0f", - fitzpatrick_scale: false, - category: "people" - }, - no_mouth: { - keywords: [ "face", "hellokitty" ], - "char": "\ud83d\ude36", - fitzpatrick_scale: false, - category: "people" - }, - neutral_face: { - keywords: [ "indifference", "meh", ":|", "neutral" ], - "char": "\ud83d\ude10", - fitzpatrick_scale: false, - category: "people" - }, - expressionless: { - keywords: [ "face", "indifferent", "-_-", "meh", "deadpan" ], - "char": "\ud83d\ude11", - fitzpatrick_scale: false, - category: "people" - }, - unamused: { - keywords: [ "indifference", "bored", "straight face", "serious", "sarcasm", "unimpressed", "skeptical", "dubious", "side_eye" ], - "char": "\ud83d\ude12", - fitzpatrick_scale: false, - category: "people" - }, - roll_eyes: { - keywords: [ "face", "eyeroll", "frustrated" ], - "char": "\ud83d\ude44", - fitzpatrick_scale: false, - category: "people" - }, - thinking: { - keywords: [ "face", "hmmm", "think", "consider" ], - "char": "\ud83e\udd14", - fitzpatrick_scale: false, - category: "people" - }, - lying_face: { - keywords: [ "face", "lie", "pinocchio" ], - "char": "\ud83e\udd25", - fitzpatrick_scale: false, - category: "people" - }, - hand_over_mouth: { - keywords: [ "face", "whoops", "shock", "surprise" ], - "char": "\ud83e\udd2d", - fitzpatrick_scale: false, - category: "people" - }, - shushing: { - keywords: [ "face", "quiet", "shhh" ], - "char": "\ud83e\udd2b", - fitzpatrick_scale: false, - category: "people" - }, - symbols_over_mouth: { - keywords: [ "face", "swearing", "cursing", "cussing", "profanity", "expletive" ], - "char": "\ud83e\udd2c", - fitzpatrick_scale: false, - category: "people" - }, - exploding_head: { - keywords: [ "face", "shocked", "mind", "blown" ], - "char": "\ud83e\udd2f", - fitzpatrick_scale: false, - category: "people" - }, - flushed: { - keywords: [ "face", "blush", "shy", "flattered" ], - "char": "\ud83d\ude33", - fitzpatrick_scale: false, - category: "people" - }, - disappointed: { - keywords: [ "face", "sad", "upset", "depressed", ":(" ], - "char": "\ud83d\ude1e", - fitzpatrick_scale: false, - category: "people" - }, - worried: { - keywords: [ "face", "concern", "nervous", ":(" ], - "char": "\ud83d\ude1f", - fitzpatrick_scale: false, - category: "people" - }, - angry: { - keywords: [ "mad", "face", "annoyed", "frustrated" ], - "char": "\ud83d\ude20", - fitzpatrick_scale: false, - category: "people" - }, - rage: { - keywords: [ "angry", "mad", "hate", "despise" ], - "char": "\ud83d\ude21", - fitzpatrick_scale: false, - category: "people" - }, - pensive: { - keywords: [ "face", "sad", "depressed", "upset" ], - "char": "\ud83d\ude14", - fitzpatrick_scale: false, - category: "people" - }, - confused: { - keywords: [ "face", "indifference", "huh", "weird", "hmmm", ":/" ], - "char": "\ud83d\ude15", - fitzpatrick_scale: false, - category: "people" - }, - slightly_frowning_face: { - keywords: [ "face", "frowning", "disappointed", "sad", "upset" ], - "char": "\ud83d\ude41", - fitzpatrick_scale: false, - category: "people" - }, - frowning_face: { - keywords: [ "face", "sad", "upset", "frown" ], - "char": "\u2639", - fitzpatrick_scale: false, - category: "people" - }, - persevere: { - keywords: [ "face", "sick", "no", "upset", "oops" ], - "char": "\ud83d\ude23", - fitzpatrick_scale: false, - category: "people" - }, - confounded: { - keywords: [ "face", "confused", "sick", "unwell", "oops", ":S" ], - "char": "\ud83d\ude16", - fitzpatrick_scale: false, - category: "people" - }, - tired_face: { - keywords: [ "sick", "whine", "upset", "frustrated" ], - "char": "\ud83d\ude2b", - fitzpatrick_scale: false, - category: "people" - }, - weary: { - keywords: [ "face", "tired", "sleepy", "sad", "frustrated", "upset" ], - "char": "\ud83d\ude29", - fitzpatrick_scale: false, - category: "people" - }, - triumph: { - keywords: [ "face", "gas", "phew", "proud", "pride" ], - "char": "\ud83d\ude24", - fitzpatrick_scale: false, - category: "people" - }, - open_mouth: { - keywords: [ "face", "surprise", "impressed", "wow", "whoa", ":O" ], - "char": "\ud83d\ude2e", - fitzpatrick_scale: false, - category: "people" - }, - scream: { - keywords: [ "face", "munch", "scared", "omg" ], - "char": "\ud83d\ude31", - fitzpatrick_scale: false, - category: "people" - }, - fearful: { - keywords: [ "face", "scared", "terrified", "nervous", "oops", "huh" ], - "char": "\ud83d\ude28", - fitzpatrick_scale: false, - category: "people" - }, - cold_sweat: { - keywords: [ "face", "nervous", "sweat" ], - "char": "\ud83d\ude30", - fitzpatrick_scale: false, - category: "people" - }, - hushed: { - keywords: [ "face", "woo", "shh" ], - "char": "\ud83d\ude2f", - fitzpatrick_scale: false, - category: "people" - }, - frowning: { - keywords: [ "face", "aw", "what" ], - "char": "\ud83d\ude26", - fitzpatrick_scale: false, - category: "people" - }, - anguished: { - keywords: [ "face", "stunned", "nervous" ], - "char": "\ud83d\ude27", - fitzpatrick_scale: false, - category: "people" - }, - cry: { - keywords: [ "face", "tears", "sad", "depressed", "upset", ":'(" ], - "char": "\ud83d\ude22", - fitzpatrick_scale: false, - category: "people" - }, - disappointed_relieved: { - keywords: [ "face", "phew", "sweat", "nervous" ], - "char": "\ud83d\ude25", - fitzpatrick_scale: false, - category: "people" - }, - drooling_face: { - keywords: [ "face" ], - "char": "\ud83e\udd24", - fitzpatrick_scale: false, - category: "people" - }, - sleepy: { - keywords: [ "face", "tired", "rest", "nap" ], - "char": "\ud83d\ude2a", - fitzpatrick_scale: false, - category: "people" - }, - sweat: { - keywords: [ "face", "hot", "sad", "tired", "exercise" ], - "char": "\ud83d\ude13", - fitzpatrick_scale: false, - category: "people" - }, - sob: { - keywords: [ "face", "cry", "tears", "sad", "upset", "depressed" ], - "char": "\ud83d\ude2d", - fitzpatrick_scale: false, - category: "people" - }, - dizzy_face: { - keywords: [ "spent", "unconscious", "xox", "dizzy" ], - "char": "\ud83d\ude35", - fitzpatrick_scale: false, - category: "people" - }, - astonished: { - keywords: [ "face", "xox", "surprised", "poisoned" ], - "char": "\ud83d\ude32", - fitzpatrick_scale: false, - category: "people" - }, - zipper_mouth_face: { - keywords: [ "face", "sealed", "zipper", "secret" ], - "char": "\ud83e\udd10", - fitzpatrick_scale: false, - category: "people" - }, - nauseated_face: { - keywords: [ "face", "vomit", "gross", "green", "sick", "throw up", "ill" ], - "char": "\ud83e\udd22", - fitzpatrick_scale: false, - category: "people" - }, - sneezing_face: { - keywords: [ "face", "gesundheit", "sneeze", "sick", "allergy" ], - "char": "\ud83e\udd27", - fitzpatrick_scale: false, - category: "people" - }, - vomiting: { - keywords: [ "face", "sick" ], - "char": "\ud83e\udd2e", - fitzpatrick_scale: false, - category: "people" - }, - mask: { - keywords: [ "face", "sick", "ill", "disease" ], - "char": "\ud83d\ude37", - fitzpatrick_scale: false, - category: "people" - }, - face_with_thermometer: { - keywords: [ "sick", "temperature", "thermometer", "cold", "fever" ], - "char": "\ud83e\udd12", - fitzpatrick_scale: false, - category: "people" - }, - face_with_head_bandage: { - keywords: [ "injured", "clumsy", "bandage", "hurt" ], - "char": "\ud83e\udd15", - fitzpatrick_scale: false, - category: "people" - }, - sleeping: { - keywords: [ "face", "tired", "sleepy", "night", "zzz" ], - "char": "\ud83d\ude34", - fitzpatrick_scale: false, - category: "people" - }, - zzz: { - keywords: [ "sleepy", "tired", "dream" ], - "char": "\ud83d\udca4", - fitzpatrick_scale: false, - category: "people" - }, - poop: { - keywords: [ "hankey", "shitface", "fail", "turd", "shit" ], - "char": "\ud83d\udca9", - fitzpatrick_scale: false, - category: "people" - }, - smiling_imp: { - keywords: [ "devil", "horns" ], - "char": "\ud83d\ude08", - fitzpatrick_scale: false, - category: "people" - }, - imp: { - keywords: [ "devil", "angry", "horns" ], - "char": "\ud83d\udc7f", - fitzpatrick_scale: false, - category: "people" - }, - japanese_ogre: { - keywords: [ "monster", "red", "mask", "halloween", "scary", "creepy", "devil", "demon", "japanese", "ogre" ], - "char": "\ud83d\udc79", - fitzpatrick_scale: false, - category: "people" - }, - japanese_goblin: { - keywords: [ "red", "evil", "mask", "monster", "scary", "creepy", "japanese", "goblin" ], - "char": "\ud83d\udc7a", - fitzpatrick_scale: false, - category: "people" - }, - skull: { - keywords: [ "dead", "skeleton", "creepy", "death" ], - "char": "\ud83d\udc80", - fitzpatrick_scale: false, - category: "people" - }, - ghost: { - keywords: [ "halloween", "spooky", "scary" ], - "char": "\ud83d\udc7b", - fitzpatrick_scale: false, - category: "people" - }, - alien: { - keywords: [ "UFO", "paul", "weird", "outer_space" ], - "char": "\ud83d\udc7d", - fitzpatrick_scale: false, - category: "people" - }, - robot: { - keywords: [ "computer", "machine", "bot" ], - "char": "\ud83e\udd16", - fitzpatrick_scale: false, - category: "people" - }, - smiley_cat: { - keywords: [ "animal", "cats", "happy", "smile" ], - "char": "\ud83d\ude3a", - fitzpatrick_scale: false, - category: "people" - }, - smile_cat: { - keywords: [ "animal", "cats", "smile" ], - "char": "\ud83d\ude38", - fitzpatrick_scale: false, - category: "people" - }, - joy_cat: { - keywords: [ "animal", "cats", "haha", "happy", "tears" ], - "char": "\ud83d\ude39", - fitzpatrick_scale: false, - category: "people" - }, - heart_eyes_cat: { - keywords: [ "animal", "love", "like", "affection", "cats", "valentines", "heart" ], - "char": "\ud83d\ude3b", - fitzpatrick_scale: false, - category: "people" - }, - smirk_cat: { - keywords: [ "animal", "cats", "smirk" ], - "char": "\ud83d\ude3c", - fitzpatrick_scale: false, - category: "people" - }, - kissing_cat: { - keywords: [ "animal", "cats", "kiss" ], - "char": "\ud83d\ude3d", - fitzpatrick_scale: false, - category: "people" - }, - scream_cat: { - keywords: [ "animal", "cats", "munch", "scared", "scream" ], - "char": "\ud83d\ude40", - fitzpatrick_scale: false, - category: "people" - }, - crying_cat_face: { - keywords: [ "animal", "tears", "weep", "sad", "cats", "upset", "cry" ], - "char": "\ud83d\ude3f", - fitzpatrick_scale: false, - category: "people" - }, - pouting_cat: { - keywords: [ "animal", "cats" ], - "char": "\ud83d\ude3e", - fitzpatrick_scale: false, - category: "people" - }, - palms_up: { - keywords: [ "hands", "gesture", "cupped", "prayer" ], - "char": "\ud83e\udd32", - fitzpatrick_scale: true, - category: "people" - }, - raised_hands: { - keywords: [ "gesture", "hooray", "yea", "celebration", "hands" ], - "char": "\ud83d\ude4c", - fitzpatrick_scale: true, - category: "people" - }, - clap: { - keywords: [ "hands", "praise", "applause", "congrats", "yay" ], - "char": "\ud83d\udc4f", - fitzpatrick_scale: true, - category: "people" - }, - wave: { - keywords: [ "hands", "gesture", "goodbye", "solong", "farewell", "hello", "hi", "palm" ], - "char": "\ud83d\udc4b", - fitzpatrick_scale: true, - category: "people" - }, - call_me_hand: { - keywords: [ "hands", "gesture" ], - "char": "\ud83e\udd19", - fitzpatrick_scale: true, - category: "people" - }, - "+1": { - keywords: [ "thumbsup", "yes", "awesome", "good", "agree", "accept", "cool", "hand", "like" ], - "char": "\ud83d\udc4d", - fitzpatrick_scale: true, - category: "people" - }, - "-1": { - keywords: [ "thumbsdown", "no", "dislike", "hand" ], - "char": "\ud83d\udc4e", - fitzpatrick_scale: true, - category: "people" - }, - facepunch: { - keywords: [ "angry", "violence", "fist", "hit", "attack", "hand" ], - "char": "\ud83d\udc4a", - fitzpatrick_scale: true, - category: "people" - }, - fist: { - keywords: [ "fingers", "hand", "grasp" ], - "char": "\u270a", - fitzpatrick_scale: true, - category: "people" - }, - fist_left: { - keywords: [ "hand", "fistbump" ], - "char": "\ud83e\udd1b", - fitzpatrick_scale: true, - category: "people" - }, - fist_right: { - keywords: [ "hand", "fistbump" ], - "char": "\ud83e\udd1c", - fitzpatrick_scale: true, - category: "people" - }, - v: { - keywords: [ "fingers", "ohyeah", "hand", "peace", "victory", "two" ], - "char": "\u270c", - fitzpatrick_scale: true, - category: "people" - }, - ok_hand: { - keywords: [ "fingers", "limbs", "perfect", "ok", "okay" ], - "char": "\ud83d\udc4c", - fitzpatrick_scale: true, - category: "people" - }, - raised_hand: { - keywords: [ "fingers", "stop", "highfive", "palm", "ban" ], - "char": "\u270b", - fitzpatrick_scale: true, - category: "people" - }, - raised_back_of_hand: { - keywords: [ "fingers", "raised", "backhand" ], - "char": "\ud83e\udd1a", - fitzpatrick_scale: true, - category: "people" - }, - open_hands: { - keywords: [ "fingers", "butterfly", "hands", "open" ], - "char": "\ud83d\udc50", - fitzpatrick_scale: true, - category: "people" - }, - muscle: { - keywords: [ "arm", "flex", "hand", "summer", "strong", "biceps" ], - "char": "\ud83d\udcaa", - fitzpatrick_scale: true, - category: "people" - }, - pray: { - keywords: [ "please", "hope", "wish", "namaste", "highfive" ], - "char": "\ud83d\ude4f", - fitzpatrick_scale: true, - category: "people" - }, - handshake: { - keywords: [ "agreement", "shake" ], - "char": "\ud83e\udd1d", - fitzpatrick_scale: false, - category: "people" - }, - point_up: { - keywords: [ "hand", "fingers", "direction", "up" ], - "char": "\u261d", - fitzpatrick_scale: true, - category: "people" - }, - point_up_2: { - keywords: [ "fingers", "hand", "direction", "up" ], - "char": "\ud83d\udc46", - fitzpatrick_scale: true, - category: "people" - }, - point_down: { - keywords: [ "fingers", "hand", "direction", "down" ], - "char": "\ud83d\udc47", - fitzpatrick_scale: true, - category: "people" - }, - point_left: { - keywords: [ "direction", "fingers", "hand", "left" ], - "char": "\ud83d\udc48", - fitzpatrick_scale: true, - category: "people" - }, - point_right: { - keywords: [ "fingers", "hand", "direction", "right" ], - "char": "\ud83d\udc49", - fitzpatrick_scale: true, - category: "people" - }, - fu: { - keywords: [ "hand", "fingers", "rude", "middle", "flipping" ], - "char": "\ud83d\udd95", - fitzpatrick_scale: true, - category: "people" - }, - raised_hand_with_fingers_splayed: { - keywords: [ "hand", "fingers", "palm" ], - "char": "\ud83d\udd90", - fitzpatrick_scale: true, - category: "people" - }, - love_you: { - keywords: [ "hand", "fingers", "gesture" ], - "char": "\ud83e\udd1f", - fitzpatrick_scale: true, - category: "people" - }, - metal: { - keywords: [ "hand", "fingers", "evil_eye", "sign_of_horns", "rock_on" ], - "char": "\ud83e\udd18", - fitzpatrick_scale: true, - category: "people" - }, - crossed_fingers: { - keywords: [ "good", "lucky" ], - "char": "\ud83e\udd1e", - fitzpatrick_scale: true, - category: "people" - }, - vulcan_salute: { - keywords: [ "hand", "fingers", "spock", "star trek" ], - "char": "\ud83d\udd96", - fitzpatrick_scale: true, - category: "people" - }, - writing_hand: { - keywords: [ "lower_left_ballpoint_pen", "stationery", "write", "compose" ], - "char": "\u270d", - fitzpatrick_scale: true, - category: "people" - }, - selfie: { - keywords: [ "camera", "phone" ], - "char": "\ud83e\udd33", - fitzpatrick_scale: true, - category: "people" - }, - nail_care: { - keywords: [ "beauty", "manicure", "finger", "fashion", "nail" ], - "char": "\ud83d\udc85", - fitzpatrick_scale: true, - category: "people" - }, - lips: { - keywords: [ "mouth", "kiss" ], - "char": "\ud83d\udc44", - fitzpatrick_scale: false, - category: "people" - }, - tongue: { - keywords: [ "mouth", "playful" ], - "char": "\ud83d\udc45", - fitzpatrick_scale: false, - category: "people" - }, - ear: { - keywords: [ "face", "hear", "sound", "listen" ], - "char": "\ud83d\udc42", - fitzpatrick_scale: true, - category: "people" - }, - nose: { - keywords: [ "smell", "sniff" ], - "char": "\ud83d\udc43", - fitzpatrick_scale: true, - category: "people" - }, - eye: { - keywords: [ "face", "look", "see", "watch", "stare" ], - "char": "\ud83d\udc41", - fitzpatrick_scale: false, - category: "people" - }, - eyes: { - keywords: [ "look", "watch", "stalk", "peek", "see" ], - "char": "\ud83d\udc40", - fitzpatrick_scale: false, - category: "people" - }, - brain: { - keywords: [ "smart", "intelligent" ], - "char": "\ud83e\udde0", - fitzpatrick_scale: false, - category: "people" - }, - bust_in_silhouette: { - keywords: [ "user", "person", "human" ], - "char": "\ud83d\udc64", - fitzpatrick_scale: false, - category: "people" - }, - busts_in_silhouette: { - keywords: [ "user", "person", "human", "group", "team" ], - "char": "\ud83d\udc65", - fitzpatrick_scale: false, - category: "people" - }, - speaking_head: { - keywords: [ "user", "person", "human", "sing", "say", "talk" ], - "char": "\ud83d\udde3", - fitzpatrick_scale: false, - category: "people" - }, - baby: { - keywords: [ "child", "boy", "girl", "toddler" ], - "char": "\ud83d\udc76", - fitzpatrick_scale: true, - category: "people" - }, - child: { - keywords: [ "gender-neutral", "young" ], - "char": "\ud83e\uddd2", - fitzpatrick_scale: true, - category: "people" - }, - boy: { - keywords: [ "man", "male", "guy", "teenager" ], - "char": "\ud83d\udc66", - fitzpatrick_scale: true, - category: "people" - }, - girl: { - keywords: [ "female", "woman", "teenager" ], - "char": "\ud83d\udc67", - fitzpatrick_scale: true, - category: "people" - }, - adult: { - keywords: [ "gender-neutral", "person" ], - "char": "\ud83e\uddd1", - fitzpatrick_scale: true, - category: "people" - }, - man: { - keywords: [ "mustache", "father", "dad", "guy", "classy", "sir", "moustache" ], - "char": "\ud83d\udc68", - fitzpatrick_scale: true, - category: "people" - }, - woman: { - keywords: [ "female", "girls", "lady" ], - "char": "\ud83d\udc69", - fitzpatrick_scale: true, - category: "people" - }, - blonde_woman: { - keywords: [ "woman", "female", "girl", "blonde", "person" ], - "char": "\ud83d\udc71\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - blonde_man: { - keywords: [ "man", "male", "boy", "blonde", "guy", "person" ], - "char": "\ud83d\udc71", - fitzpatrick_scale: true, - category: "people" - }, - bearded_person: { - keywords: [ "person", "bewhiskered" ], - "char": "\ud83e\uddd4", - fitzpatrick_scale: true, - category: "people" - }, - older_adult: { - keywords: [ "human", "elder", "senior", "gender-neutral" ], - "char": "\ud83e\uddd3", - fitzpatrick_scale: true, - category: "people" - }, - older_man: { - keywords: [ "human", "male", "men", "old", "elder", "senior" ], - "char": "\ud83d\udc74", - fitzpatrick_scale: true, - category: "people" - }, - older_woman: { - keywords: [ "human", "female", "women", "lady", "old", "elder", "senior" ], - "char": "\ud83d\udc75", - fitzpatrick_scale: true, - category: "people" - }, - man_with_gua_pi_mao: { - keywords: [ "male", "boy", "chinese" ], - "char": "\ud83d\udc72", - fitzpatrick_scale: true, - category: "people" - }, - woman_with_headscarf: { - keywords: [ "female", "hijab", "mantilla", "tichel" ], - "char": "\ud83e\uddd5", - fitzpatrick_scale: true, - category: "people" - }, - woman_with_turban: { - keywords: [ "female", "indian", "hinduism", "arabs", "woman" ], - "char": "\ud83d\udc73\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - man_with_turban: { - keywords: [ "male", "indian", "hinduism", "arabs" ], - "char": "\ud83d\udc73", - fitzpatrick_scale: true, - category: "people" - }, - policewoman: { - keywords: [ "woman", "police", "law", "legal", "enforcement", "arrest", "911", "female" ], - "char": "\ud83d\udc6e\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - policeman: { - keywords: [ "man", "police", "law", "legal", "enforcement", "arrest", "911" ], - "char": "\ud83d\udc6e", - fitzpatrick_scale: true, - category: "people" - }, - construction_worker_woman: { - keywords: [ "female", "human", "wip", "build", "construction", "worker", "labor", "woman" ], - "char": "\ud83d\udc77\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - construction_worker_man: { - keywords: [ "male", "human", "wip", "guy", "build", "construction", "worker", "labor" ], - "char": "\ud83d\udc77", - fitzpatrick_scale: true, - category: "people" - }, - guardswoman: { - keywords: [ "uk", "gb", "british", "female", "royal", "woman" ], - "char": "\ud83d\udc82\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - guardsman: { - keywords: [ "uk", "gb", "british", "male", "guy", "royal" ], - "char": "\ud83d\udc82", - fitzpatrick_scale: true, - category: "people" - }, - female_detective: { - keywords: [ "human", "spy", "detective", "female", "woman" ], - "char": "\ud83d\udd75\ufe0f\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - male_detective: { - keywords: [ "human", "spy", "detective" ], - "char": "\ud83d\udd75", - fitzpatrick_scale: true, - category: "people" - }, - woman_health_worker: { - keywords: [ "doctor", "nurse", "therapist", "healthcare", "woman", "human" ], - "char": "\ud83d\udc69\u200d\u2695\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - man_health_worker: { - keywords: [ "doctor", "nurse", "therapist", "healthcare", "man", "human" ], - "char": "\ud83d\udc68\u200d\u2695\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - woman_farmer: { - keywords: [ "rancher", "gardener", "woman", "human" ], - "char": "\ud83d\udc69\u200d\ud83c\udf3e", - fitzpatrick_scale: true, - category: "people" - }, - man_farmer: { - keywords: [ "rancher", "gardener", "man", "human" ], - "char": "\ud83d\udc68\u200d\ud83c\udf3e", - fitzpatrick_scale: true, - category: "people" - }, - woman_cook: { - keywords: [ "chef", "woman", "human" ], - "char": "\ud83d\udc69\u200d\ud83c\udf73", - fitzpatrick_scale: true, - category: "people" - }, - man_cook: { - keywords: [ "chef", "man", "human" ], - "char": "\ud83d\udc68\u200d\ud83c\udf73", - fitzpatrick_scale: true, - category: "people" - }, - woman_student: { - keywords: [ "graduate", "woman", "human" ], - "char": "\ud83d\udc69\u200d\ud83c\udf93", - fitzpatrick_scale: true, - category: "people" - }, - man_student: { - keywords: [ "graduate", "man", "human" ], - "char": "\ud83d\udc68\u200d\ud83c\udf93", - fitzpatrick_scale: true, - category: "people" - }, - woman_singer: { - keywords: [ "rockstar", "entertainer", "woman", "human" ], - "char": "\ud83d\udc69\u200d\ud83c\udfa4", - fitzpatrick_scale: true, - category: "people" - }, - man_singer: { - keywords: [ "rockstar", "entertainer", "man", "human" ], - "char": "\ud83d\udc68\u200d\ud83c\udfa4", - fitzpatrick_scale: true, - category: "people" - }, - woman_teacher: { - keywords: [ "instructor", "professor", "woman", "human" ], - "char": "\ud83d\udc69\u200d\ud83c\udfeb", - fitzpatrick_scale: true, - category: "people" - }, - man_teacher: { - keywords: [ "instructor", "professor", "man", "human" ], - "char": "\ud83d\udc68\u200d\ud83c\udfeb", - fitzpatrick_scale: true, - category: "people" - }, - woman_factory_worker: { - keywords: [ "assembly", "industrial", "woman", "human" ], - "char": "\ud83d\udc69\u200d\ud83c\udfed", - fitzpatrick_scale: true, - category: "people" - }, - man_factory_worker: { - keywords: [ "assembly", "industrial", "man", "human" ], - "char": "\ud83d\udc68\u200d\ud83c\udfed", - fitzpatrick_scale: true, - category: "people" - }, - woman_technologist: { - keywords: [ "coder", "developer", "engineer", "programmer", "software", "woman", "human", "laptop", "computer" ], - "char": "\ud83d\udc69\u200d\ud83d\udcbb", - fitzpatrick_scale: true, - category: "people" - }, - man_technologist: { - keywords: [ "coder", "developer", "engineer", "programmer", "software", "man", "human", "laptop", "computer" ], - "char": "\ud83d\udc68\u200d\ud83d\udcbb", - fitzpatrick_scale: true, - category: "people" - }, - woman_office_worker: { - keywords: [ "business", "manager", "woman", "human" ], - "char": "\ud83d\udc69\u200d\ud83d\udcbc", - fitzpatrick_scale: true, - category: "people" - }, - man_office_worker: { - keywords: [ "business", "manager", "man", "human" ], - "char": "\ud83d\udc68\u200d\ud83d\udcbc", - fitzpatrick_scale: true, - category: "people" - }, - woman_mechanic: { - keywords: [ "plumber", "woman", "human", "wrench" ], - "char": "\ud83d\udc69\u200d\ud83d\udd27", - fitzpatrick_scale: true, - category: "people" - }, - man_mechanic: { - keywords: [ "plumber", "man", "human", "wrench" ], - "char": "\ud83d\udc68\u200d\ud83d\udd27", - fitzpatrick_scale: true, - category: "people" - }, - woman_scientist: { - keywords: [ "biologist", "chemist", "engineer", "physicist", "woman", "human" ], - "char": "\ud83d\udc69\u200d\ud83d\udd2c", - fitzpatrick_scale: true, - category: "people" - }, - man_scientist: { - keywords: [ "biologist", "chemist", "engineer", "physicist", "man", "human" ], - "char": "\ud83d\udc68\u200d\ud83d\udd2c", - fitzpatrick_scale: true, - category: "people" - }, - woman_artist: { - keywords: [ "painter", "woman", "human" ], - "char": "\ud83d\udc69\u200d\ud83c\udfa8", - fitzpatrick_scale: true, - category: "people" - }, - man_artist: { - keywords: [ "painter", "man", "human" ], - "char": "\ud83d\udc68\u200d\ud83c\udfa8", - fitzpatrick_scale: true, - category: "people" - }, - woman_firefighter: { - keywords: [ "fireman", "woman", "human" ], - "char": "\ud83d\udc69\u200d\ud83d\ude92", - fitzpatrick_scale: true, - category: "people" - }, - man_firefighter: { - keywords: [ "fireman", "man", "human" ], - "char": "\ud83d\udc68\u200d\ud83d\ude92", - fitzpatrick_scale: true, - category: "people" - }, - woman_pilot: { - keywords: [ "aviator", "plane", "woman", "human" ], - "char": "\ud83d\udc69\u200d\u2708\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - man_pilot: { - keywords: [ "aviator", "plane", "man", "human" ], - "char": "\ud83d\udc68\u200d\u2708\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - woman_astronaut: { - keywords: [ "space", "rocket", "woman", "human" ], - "char": "\ud83d\udc69\u200d\ud83d\ude80", - fitzpatrick_scale: true, - category: "people" - }, - man_astronaut: { - keywords: [ "space", "rocket", "man", "human" ], - "char": "\ud83d\udc68\u200d\ud83d\ude80", - fitzpatrick_scale: true, - category: "people" - }, - woman_judge: { - keywords: [ "justice", "court", "woman", "human" ], - "char": "\ud83d\udc69\u200d\u2696\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - man_judge: { - keywords: [ "justice", "court", "man", "human" ], - "char": "\ud83d\udc68\u200d\u2696\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - mrs_claus: { - keywords: [ "woman", "female", "xmas", "mother christmas" ], - "char": "\ud83e\udd36", - fitzpatrick_scale: true, - category: "people" - }, - santa: { - keywords: [ "festival", "man", "male", "xmas", "father christmas" ], - "char": "\ud83c\udf85", - fitzpatrick_scale: true, - category: "people" - }, - sorceress: { - keywords: [ "woman", "female", "mage", "witch" ], - "char": "\ud83e\uddd9\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - wizard: { - keywords: [ "man", "male", "mage", "sorcerer" ], - "char": "\ud83e\uddd9\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - woman_elf: { - keywords: [ "woman", "female" ], - "char": "\ud83e\udddd\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - man_elf: { - keywords: [ "man", "male" ], - "char": "\ud83e\udddd\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - woman_vampire: { - keywords: [ "woman", "female" ], - "char": "\ud83e\udddb\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - man_vampire: { - keywords: [ "man", "male", "dracula" ], - "char": "\ud83e\udddb\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - woman_zombie: { - keywords: [ "woman", "female", "undead", "walking dead" ], - "char": "\ud83e\udddf\u200d\u2640\ufe0f", - fitzpatrick_scale: false, - category: "people" - }, - man_zombie: { - keywords: [ "man", "male", "dracula", "undead", "walking dead" ], - "char": "\ud83e\udddf\u200d\u2642\ufe0f", - fitzpatrick_scale: false, - category: "people" - }, - woman_genie: { - keywords: [ "woman", "female" ], - "char": "\ud83e\uddde\u200d\u2640\ufe0f", - fitzpatrick_scale: false, - category: "people" - }, - man_genie: { - keywords: [ "man", "male" ], - "char": "\ud83e\uddde\u200d\u2642\ufe0f", - fitzpatrick_scale: false, - category: "people" - }, - mermaid: { - keywords: [ "woman", "female", "merwoman", "ariel" ], - "char": "\ud83e\udddc\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - merman: { - keywords: [ "man", "male", "triton" ], - "char": "\ud83e\udddc\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - woman_fairy: { - keywords: [ "woman", "female" ], - "char": "\ud83e\uddda\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - man_fairy: { - keywords: [ "man", "male" ], - "char": "\ud83e\uddda\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - angel: { - keywords: [ "heaven", "wings", "halo" ], - "char": "\ud83d\udc7c", - fitzpatrick_scale: true, - category: "people" - }, - pregnant_woman: { - keywords: [ "baby" ], - "char": "\ud83e\udd30", - fitzpatrick_scale: true, - category: "people" - }, - breastfeeding: { - keywords: [ "nursing", "baby" ], - "char": "\ud83e\udd31", - fitzpatrick_scale: true, - category: "people" - }, - princess: { - keywords: [ "girl", "woman", "female", "blond", "crown", "royal", "queen" ], - "char": "\ud83d\udc78", - fitzpatrick_scale: true, - category: "people" - }, - prince: { - keywords: [ "boy", "man", "male", "crown", "royal", "king" ], - "char": "\ud83e\udd34", - fitzpatrick_scale: true, - category: "people" - }, - bride_with_veil: { - keywords: [ "couple", "marriage", "wedding", "woman", "bride" ], - "char": "\ud83d\udc70", - fitzpatrick_scale: true, - category: "people" - }, - man_in_tuxedo: { - keywords: [ "couple", "marriage", "wedding", "groom" ], - "char": "\ud83e\udd35", - fitzpatrick_scale: true, - category: "people" - }, - running_woman: { - keywords: [ "woman", "walking", "exercise", "race", "running", "female" ], - "char": "\ud83c\udfc3\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - running_man: { - keywords: [ "man", "walking", "exercise", "race", "running" ], - "char": "\ud83c\udfc3", - fitzpatrick_scale: true, - category: "people" - }, - walking_woman: { - keywords: [ "human", "feet", "steps", "woman", "female" ], - "char": "\ud83d\udeb6\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - walking_man: { - keywords: [ "human", "feet", "steps" ], - "char": "\ud83d\udeb6", - fitzpatrick_scale: true, - category: "people" - }, - dancer: { - keywords: [ "female", "girl", "woman", "fun" ], - "char": "\ud83d\udc83", - fitzpatrick_scale: true, - category: "people" - }, - man_dancing: { - keywords: [ "male", "boy", "fun", "dancer" ], - "char": "\ud83d\udd7a", - fitzpatrick_scale: true, - category: "people" - }, - dancing_women: { - keywords: [ "female", "bunny", "women", "girls" ], - "char": "\ud83d\udc6f", - fitzpatrick_scale: false, - category: "people" - }, - dancing_men: { - keywords: [ "male", "bunny", "men", "boys" ], - "char": "\ud83d\udc6f\u200d\u2642\ufe0f", - fitzpatrick_scale: false, - category: "people" - }, - couple: { - keywords: [ "pair", "people", "human", "love", "date", "dating", "like", "affection", "valentines", "marriage" ], - "char": "\ud83d\udc6b", - fitzpatrick_scale: false, - category: "people" - }, - two_men_holding_hands: { - keywords: [ "pair", "couple", "love", "like", "bromance", "friendship", "people", "human" ], - "char": "\ud83d\udc6c", - fitzpatrick_scale: false, - category: "people" - }, - two_women_holding_hands: { - keywords: [ "pair", "friendship", "couple", "love", "like", "female", "people", "human" ], - "char": "\ud83d\udc6d", - fitzpatrick_scale: false, - category: "people" - }, - bowing_woman: { - keywords: [ "woman", "female", "girl" ], - "char": "\ud83d\ude47\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - bowing_man: { - keywords: [ "man", "male", "boy" ], - "char": "\ud83d\ude47", - fitzpatrick_scale: true, - category: "people" - }, - man_facepalming: { - keywords: [ "man", "male", "boy", "disbelief" ], - "char": "\ud83e\udd26", - fitzpatrick_scale: true, - category: "people" - }, - woman_facepalming: { - keywords: [ "woman", "female", "girl", "disbelief" ], - "char": "\ud83e\udd26\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - woman_shrugging: { - keywords: [ "woman", "female", "girl", "confused", "indifferent", "doubt" ], - "char": "\ud83e\udd37", - fitzpatrick_scale: true, - category: "people" - }, - man_shrugging: { - keywords: [ "man", "male", "boy", "confused", "indifferent", "doubt" ], - "char": "\ud83e\udd37\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - tipping_hand_woman: { - keywords: [ "female", "girl", "woman", "human", "information" ], - "char": "\ud83d\udc81", - fitzpatrick_scale: true, - category: "people" - }, - tipping_hand_man: { - keywords: [ "male", "boy", "man", "human", "information" ], - "char": "\ud83d\udc81\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - no_good_woman: { - keywords: [ "female", "girl", "woman", "nope" ], - "char": "\ud83d\ude45", - fitzpatrick_scale: true, - category: "people" - }, - no_good_man: { - keywords: [ "male", "boy", "man", "nope" ], - "char": "\ud83d\ude45\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - ok_woman: { - keywords: [ "women", "girl", "female", "pink", "human", "woman" ], - "char": "\ud83d\ude46", - fitzpatrick_scale: true, - category: "people" - }, - ok_man: { - keywords: [ "men", "boy", "male", "blue", "human", "man" ], - "char": "\ud83d\ude46\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - raising_hand_woman: { - keywords: [ "female", "girl", "woman" ], - "char": "\ud83d\ude4b", - fitzpatrick_scale: true, - category: "people" - }, - raising_hand_man: { - keywords: [ "male", "boy", "man" ], - "char": "\ud83d\ude4b\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - pouting_woman: { - keywords: [ "female", "girl", "woman" ], - "char": "\ud83d\ude4e", - fitzpatrick_scale: true, - category: "people" - }, - pouting_man: { - keywords: [ "male", "boy", "man" ], - "char": "\ud83d\ude4e\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - frowning_woman: { - keywords: [ "female", "girl", "woman", "sad", "depressed", "discouraged", "unhappy" ], - "char": "\ud83d\ude4d", - fitzpatrick_scale: true, - category: "people" - }, - frowning_man: { - keywords: [ "male", "boy", "man", "sad", "depressed", "discouraged", "unhappy" ], - "char": "\ud83d\ude4d\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - haircut_woman: { - keywords: [ "female", "girl", "woman" ], - "char": "\ud83d\udc87", - fitzpatrick_scale: true, - category: "people" - }, - haircut_man: { - keywords: [ "male", "boy", "man" ], - "char": "\ud83d\udc87\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - massage_woman: { - keywords: [ "female", "girl", "woman", "head" ], - "char": "\ud83d\udc86", - fitzpatrick_scale: true, - category: "people" - }, - massage_man: { - keywords: [ "male", "boy", "man", "head" ], - "char": "\ud83d\udc86\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - woman_in_steamy_room: { - keywords: [ "female", "woman", "spa", "steamroom", "sauna" ], - "char": "\ud83e\uddd6\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - man_in_steamy_room: { - keywords: [ "male", "man", "spa", "steamroom", "sauna" ], - "char": "\ud83e\uddd6\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "people" - }, - couple_with_heart_woman_man: { - keywords: [ "pair", "love", "like", "affection", "human", "dating", "valentines", "marriage" ], - "char": "\ud83d\udc91", - fitzpatrick_scale: false, - category: "people" - }, - couple_with_heart_woman_woman: { - keywords: [ "pair", "love", "like", "affection", "human", "dating", "valentines", "marriage" ], - "char": "\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d\udc69", - fitzpatrick_scale: false, - category: "people" - }, - couple_with_heart_man_man: { - keywords: [ "pair", "love", "like", "affection", "human", "dating", "valentines", "marriage" ], - "char": "\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc68", - fitzpatrick_scale: false, - category: "people" - }, - couplekiss_man_woman: { - keywords: [ "pair", "valentines", "love", "like", "dating", "marriage" ], - "char": "\ud83d\udc8f", - fitzpatrick_scale: false, - category: "people" - }, - couplekiss_woman_woman: { - keywords: [ "pair", "valentines", "love", "like", "dating", "marriage" ], - "char": "\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69", - fitzpatrick_scale: false, - category: "people" - }, - couplekiss_man_man: { - keywords: [ "pair", "valentines", "love", "like", "dating", "marriage" ], - "char": "\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68", - fitzpatrick_scale: false, - category: "people" - }, - family_man_woman_boy: { - keywords: [ "home", "parents", "child", "mom", "dad", "father", "mother", "people", "human" ], - "char": "\ud83d\udc6a", - fitzpatrick_scale: false, - category: "people" - }, - family_man_woman_girl: { - keywords: [ "home", "parents", "people", "human", "child" ], - "char": "\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67", - fitzpatrick_scale: false, - category: "people" - }, - family_man_woman_girl_boy: { - keywords: [ "home", "parents", "people", "human", "children" ], - "char": "\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc66", - fitzpatrick_scale: false, - category: "people" - }, - family_man_woman_boy_boy: { - keywords: [ "home", "parents", "people", "human", "children" ], - "char": "\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66", - fitzpatrick_scale: false, - category: "people" - }, - family_man_woman_girl_girl: { - keywords: [ "home", "parents", "people", "human", "children" ], - "char": "\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc67", - fitzpatrick_scale: false, - category: "people" - }, - family_woman_woman_boy: { - keywords: [ "home", "parents", "people", "human", "children" ], - "char": "\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc66", - fitzpatrick_scale: false, - category: "people" - }, - family_woman_woman_girl: { - keywords: [ "home", "parents", "people", "human", "children" ], - "char": "\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67", - fitzpatrick_scale: false, - category: "people" - }, - family_woman_woman_girl_boy: { - keywords: [ "home", "parents", "people", "human", "children" ], - "char": "\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc66", - fitzpatrick_scale: false, - category: "people" - }, - family_woman_woman_boy_boy: { - keywords: [ "home", "parents", "people", "human", "children" ], - "char": "\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66", - fitzpatrick_scale: false, - category: "people" - }, - family_woman_woman_girl_girl: { - keywords: [ "home", "parents", "people", "human", "children" ], - "char": "\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc67", - fitzpatrick_scale: false, - category: "people" - }, - family_man_man_boy: { - keywords: [ "home", "parents", "people", "human", "children" ], - "char": "\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc66", - fitzpatrick_scale: false, - category: "people" - }, - family_man_man_girl: { - keywords: [ "home", "parents", "people", "human", "children" ], - "char": "\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67", - fitzpatrick_scale: false, - category: "people" - }, - family_man_man_girl_boy: { - keywords: [ "home", "parents", "people", "human", "children" ], - "char": "\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d\udc66", - fitzpatrick_scale: false, - category: "people" - }, - family_man_man_boy_boy: { - keywords: [ "home", "parents", "people", "human", "children" ], - "char": "\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66", - fitzpatrick_scale: false, - category: "people" - }, - family_man_man_girl_girl: { - keywords: [ "home", "parents", "people", "human", "children" ], - "char": "\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d\udc67", - fitzpatrick_scale: false, - category: "people" - }, - family_woman_boy: { - keywords: [ "home", "parent", "people", "human", "child" ], - "char": "\ud83d\udc69\u200d\ud83d\udc66", - fitzpatrick_scale: false, - category: "people" - }, - family_woman_girl: { - keywords: [ "home", "parent", "people", "human", "child" ], - "char": "\ud83d\udc69\u200d\ud83d\udc67", - fitzpatrick_scale: false, - category: "people" - }, - family_woman_girl_boy: { - keywords: [ "home", "parent", "people", "human", "children" ], - "char": "\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc66", - fitzpatrick_scale: false, - category: "people" - }, - family_woman_boy_boy: { - keywords: [ "home", "parent", "people", "human", "children" ], - "char": "\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66", - fitzpatrick_scale: false, - category: "people" - }, - family_woman_girl_girl: { - keywords: [ "home", "parent", "people", "human", "children" ], - "char": "\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc67", - fitzpatrick_scale: false, - category: "people" - }, - family_man_boy: { - keywords: [ "home", "parent", "people", "human", "child" ], - "char": "\ud83d\udc68\u200d\ud83d\udc66", - fitzpatrick_scale: false, - category: "people" - }, - family_man_girl: { - keywords: [ "home", "parent", "people", "human", "child" ], - "char": "\ud83d\udc68\u200d\ud83d\udc67", - fitzpatrick_scale: false, - category: "people" - }, - family_man_girl_boy: { - keywords: [ "home", "parent", "people", "human", "children" ], - "char": "\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d\udc66", - fitzpatrick_scale: false, - category: "people" - }, - family_man_boy_boy: { - keywords: [ "home", "parent", "people", "human", "children" ], - "char": "\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66", - fitzpatrick_scale: false, - category: "people" - }, - family_man_girl_girl: { - keywords: [ "home", "parent", "people", "human", "children" ], - "char": "\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d\udc67", - fitzpatrick_scale: false, - category: "people" - }, - coat: { - keywords: [ "jacket" ], - "char": "\ud83e\udde5", - fitzpatrick_scale: false, - category: "people" - }, - womans_clothes: { - keywords: [ "fashion", "shopping_bags", "female" ], - "char": "\ud83d\udc5a", - fitzpatrick_scale: false, - category: "people" - }, - tshirt: { - keywords: [ "fashion", "cloth", "casual", "shirt", "tee" ], - "char": "\ud83d\udc55", - fitzpatrick_scale: false, - category: "people" - }, - jeans: { - keywords: [ "fashion", "shopping" ], - "char": "\ud83d\udc56", - fitzpatrick_scale: false, - category: "people" - }, - necktie: { - keywords: [ "shirt", "suitup", "formal", "fashion", "cloth", "business" ], - "char": "\ud83d\udc54", - fitzpatrick_scale: false, - category: "people" - }, - dress: { - keywords: [ "clothes", "fashion", "shopping" ], - "char": "\ud83d\udc57", - fitzpatrick_scale: false, - category: "people" - }, - bikini: { - keywords: [ "swimming", "female", "woman", "girl", "fashion", "beach", "summer" ], - "char": "\ud83d\udc59", - fitzpatrick_scale: false, - category: "people" - }, - kimono: { - keywords: [ "dress", "fashion", "women", "female", "japanese" ], - "char": "\ud83d\udc58", - fitzpatrick_scale: false, - category: "people" - }, - lipstick: { - keywords: [ "female", "girl", "fashion", "woman" ], - "char": "\ud83d\udc84", - fitzpatrick_scale: false, - category: "people" - }, - kiss: { - keywords: [ "face", "lips", "love", "like", "affection", "valentines" ], - "char": "\ud83d\udc8b", - fitzpatrick_scale: false, - category: "people" - }, - footprints: { - keywords: [ "feet", "tracking", "walking", "beach" ], - "char": "\ud83d\udc63", - fitzpatrick_scale: false, - category: "people" - }, - high_heel: { - keywords: [ "fashion", "shoes", "female", "pumps", "stiletto" ], - "char": "\ud83d\udc60", - fitzpatrick_scale: false, - category: "people" - }, - sandal: { - keywords: [ "shoes", "fashion", "flip flops" ], - "char": "\ud83d\udc61", - fitzpatrick_scale: false, - category: "people" - }, - boot: { - keywords: [ "shoes", "fashion" ], - "char": "\ud83d\udc62", - fitzpatrick_scale: false, - category: "people" - }, - mans_shoe: { - keywords: [ "fashion", "male" ], - "char": "\ud83d\udc5e", - fitzpatrick_scale: false, - category: "people" - }, - athletic_shoe: { - keywords: [ "shoes", "sports", "sneakers" ], - "char": "\ud83d\udc5f", - fitzpatrick_scale: false, - category: "people" - }, - socks: { - keywords: [ "stockings", "clothes" ], - "char": "\ud83e\udde6", - fitzpatrick_scale: false, - category: "people" - }, - gloves: { - keywords: [ "hands", "winter", "clothes" ], - "char": "\ud83e\udde4", - fitzpatrick_scale: false, - category: "people" - }, - scarf: { - keywords: [ "neck", "winter", "clothes" ], - "char": "\ud83e\udde3", - fitzpatrick_scale: false, - category: "people" - }, - womans_hat: { - keywords: [ "fashion", "accessories", "female", "lady", "spring" ], - "char": "\ud83d\udc52", - fitzpatrick_scale: false, - category: "people" - }, - tophat: { - keywords: [ "magic", "gentleman", "classy", "circus" ], - "char": "\ud83c\udfa9", - fitzpatrick_scale: false, - category: "people" - }, - billed_hat: { - keywords: [ "cap", "baseball" ], - "char": "\ud83e\udde2", - fitzpatrick_scale: false, - category: "people" - }, - rescue_worker_helmet: { - keywords: [ "construction", "build" ], - "char": "\u26d1", - fitzpatrick_scale: false, - category: "people" - }, - mortar_board: { - keywords: [ "school", "college", "degree", "university", "graduation", "cap", "hat", "legal", "learn", "education" ], - "char": "\ud83c\udf93", - fitzpatrick_scale: false, - category: "people" - }, - crown: { - keywords: [ "king", "kod", "leader", "royalty", "lord" ], - "char": "\ud83d\udc51", - fitzpatrick_scale: false, - category: "people" - }, - school_satchel: { - keywords: [ "student", "education", "bag", "backpack" ], - "char": "\ud83c\udf92", - fitzpatrick_scale: false, - category: "people" - }, - pouch: { - keywords: [ "bag", "accessories", "shopping" ], - "char": "\ud83d\udc5d", - fitzpatrick_scale: false, - category: "people" - }, - purse: { - keywords: [ "fashion", "accessories", "money", "sales", "shopping" ], - "char": "\ud83d\udc5b", - fitzpatrick_scale: false, - category: "people" - }, - handbag: { - keywords: [ "fashion", "accessory", "accessories", "shopping" ], - "char": "\ud83d\udc5c", - fitzpatrick_scale: false, - category: "people" - }, - briefcase: { - keywords: [ "business", "documents", "work", "law", "legal", "job", "career" ], - "char": "\ud83d\udcbc", - fitzpatrick_scale: false, - category: "people" - }, - eyeglasses: { - keywords: [ "fashion", "accessories", "eyesight", "nerdy", "dork", "geek" ], - "char": "\ud83d\udc53", - fitzpatrick_scale: false, - category: "people" - }, - dark_sunglasses: { - keywords: [ "face", "cool", "accessories" ], - "char": "\ud83d\udd76", - fitzpatrick_scale: false, - category: "people" - }, - ring: { - keywords: [ "wedding", "propose", "marriage", "valentines", "diamond", "fashion", "jewelry", "gem", "engagement" ], - "char": "\ud83d\udc8d", - fitzpatrick_scale: false, - category: "people" - }, - closed_umbrella: { - keywords: [ "weather", "rain", "drizzle" ], - "char": "\ud83c\udf02", - fitzpatrick_scale: false, - category: "people" - }, - dog: { - keywords: [ "animal", "friend", "nature", "woof", "puppy", "pet", "faithful" ], - "char": "\ud83d\udc36", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - cat: { - keywords: [ "animal", "meow", "nature", "pet", "kitten" ], - "char": "\ud83d\udc31", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - mouse: { - keywords: [ "animal", "nature", "cheese_wedge", "rodent" ], - "char": "\ud83d\udc2d", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - hamster: { - keywords: [ "animal", "nature" ], - "char": "\ud83d\udc39", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - rabbit: { - keywords: [ "animal", "nature", "pet", "spring", "magic", "bunny" ], - "char": "\ud83d\udc30", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - fox_face: { - keywords: [ "animal", "nature", "face" ], - "char": "\ud83e\udd8a", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - bear: { - keywords: [ "animal", "nature", "wild" ], - "char": "\ud83d\udc3b", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - panda_face: { - keywords: [ "animal", "nature", "panda" ], - "char": "\ud83d\udc3c", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - koala: { - keywords: [ "animal", "nature" ], - "char": "\ud83d\udc28", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - tiger: { - keywords: [ "animal", "cat", "danger", "wild", "nature", "roar" ], - "char": "\ud83d\udc2f", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - lion: { - keywords: [ "animal", "nature" ], - "char": "\ud83e\udd81", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - cow: { - keywords: [ "beef", "ox", "animal", "nature", "moo", "milk" ], - "char": "\ud83d\udc2e", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - pig: { - keywords: [ "animal", "oink", "nature" ], - "char": "\ud83d\udc37", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - pig_nose: { - keywords: [ "animal", "oink" ], - "char": "\ud83d\udc3d", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - frog: { - keywords: [ "animal", "nature", "croak", "toad" ], - "char": "\ud83d\udc38", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - squid: { - keywords: [ "animal", "nature", "ocean", "sea" ], - "char": "\ud83e\udd91", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - octopus: { - keywords: [ "animal", "creature", "ocean", "sea", "nature", "beach" ], - "char": "\ud83d\udc19", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - shrimp: { - keywords: [ "animal", "ocean", "nature", "seafood" ], - "char": "\ud83e\udd90", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - monkey_face: { - keywords: [ "animal", "nature", "circus" ], - "char": "\ud83d\udc35", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - gorilla: { - keywords: [ "animal", "nature", "circus" ], - "char": "\ud83e\udd8d", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - see_no_evil: { - keywords: [ "monkey", "animal", "nature", "haha" ], - "char": "\ud83d\ude48", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - hear_no_evil: { - keywords: [ "animal", "monkey", "nature" ], - "char": "\ud83d\ude49", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - speak_no_evil: { - keywords: [ "monkey", "animal", "nature", "omg" ], - "char": "\ud83d\ude4a", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - monkey: { - keywords: [ "animal", "nature", "banana", "circus" ], - "char": "\ud83d\udc12", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - chicken: { - keywords: [ "animal", "cluck", "nature", "bird" ], - "char": "\ud83d\udc14", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - penguin: { - keywords: [ "animal", "nature" ], - "char": "\ud83d\udc27", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - bird: { - keywords: [ "animal", "nature", "fly", "tweet", "spring" ], - "char": "\ud83d\udc26", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - baby_chick: { - keywords: [ "animal", "chicken", "bird" ], - "char": "\ud83d\udc24", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - hatching_chick: { - keywords: [ "animal", "chicken", "egg", "born", "baby", "bird" ], - "char": "\ud83d\udc23", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - hatched_chick: { - keywords: [ "animal", "chicken", "baby", "bird" ], - "char": "\ud83d\udc25", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - duck: { - keywords: [ "animal", "nature", "bird", "mallard" ], - "char": "\ud83e\udd86", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - eagle: { - keywords: [ "animal", "nature", "bird" ], - "char": "\ud83e\udd85", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - owl: { - keywords: [ "animal", "nature", "bird", "hoot" ], - "char": "\ud83e\udd89", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - bat: { - keywords: [ "animal", "nature", "blind", "vampire" ], - "char": "\ud83e\udd87", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - wolf: { - keywords: [ "animal", "nature", "wild" ], - "char": "\ud83d\udc3a", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - boar: { - keywords: [ "animal", "nature" ], - "char": "\ud83d\udc17", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - horse: { - keywords: [ "animal", "brown", "nature" ], - "char": "\ud83d\udc34", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - unicorn: { - keywords: [ "animal", "nature", "mystical" ], - "char": "\ud83e\udd84", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - honeybee: { - keywords: [ "animal", "insect", "nature", "bug", "spring", "honey" ], - "char": "\ud83d\udc1d", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - bug: { - keywords: [ "animal", "insect", "nature", "worm" ], - "char": "\ud83d\udc1b", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - butterfly: { - keywords: [ "animal", "insect", "nature", "caterpillar" ], - "char": "\ud83e\udd8b", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - snail: { - keywords: [ "slow", "animal", "shell" ], - "char": "\ud83d\udc0c", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - beetle: { - keywords: [ "animal", "insect", "nature", "ladybug" ], - "char": "\ud83d\udc1e", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - ant: { - keywords: [ "animal", "insect", "nature", "bug" ], - "char": "\ud83d\udc1c", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - grasshopper: { - keywords: [ "animal", "cricket", "chirp" ], - "char": "\ud83e\udd97", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - spider: { - keywords: [ "animal", "arachnid" ], - "char": "\ud83d\udd77", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - scorpion: { - keywords: [ "animal", "arachnid" ], - "char": "\ud83e\udd82", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - crab: { - keywords: [ "animal", "crustacean" ], - "char": "\ud83e\udd80", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - snake: { - keywords: [ "animal", "evil", "nature", "hiss", "python" ], - "char": "\ud83d\udc0d", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - lizard: { - keywords: [ "animal", "nature", "reptile" ], - "char": "\ud83e\udd8e", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - "t-rex": { - keywords: [ "animal", "nature", "dinosaur", "tyrannosaurus", "extinct" ], - "char": "\ud83e\udd96", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - sauropod: { - keywords: [ "animal", "nature", "dinosaur", "brachiosaurus", "brontosaurus", "diplodocus", "extinct" ], - "char": "\ud83e\udd95", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - turtle: { - keywords: [ "animal", "slow", "nature", "tortoise" ], - "char": "\ud83d\udc22", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - tropical_fish: { - keywords: [ "animal", "swim", "ocean", "beach", "nemo" ], - "char": "\ud83d\udc20", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - fish: { - keywords: [ "animal", "food", "nature" ], - "char": "\ud83d\udc1f", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - blowfish: { - keywords: [ "animal", "nature", "food", "sea", "ocean" ], - "char": "\ud83d\udc21", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - dolphin: { - keywords: [ "animal", "nature", "fish", "sea", "ocean", "flipper", "fins", "beach" ], - "char": "\ud83d\udc2c", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - shark: { - keywords: [ "animal", "nature", "fish", "sea", "ocean", "jaws", "fins", "beach" ], - "char": "\ud83e\udd88", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - whale: { - keywords: [ "animal", "nature", "sea", "ocean" ], - "char": "\ud83d\udc33", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - whale2: { - keywords: [ "animal", "nature", "sea", "ocean" ], - "char": "\ud83d\udc0b", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - crocodile: { - keywords: [ "animal", "nature", "reptile", "lizard", "alligator" ], - "char": "\ud83d\udc0a", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - leopard: { - keywords: [ "animal", "nature" ], - "char": "\ud83d\udc06", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - zebra: { - keywords: [ "animal", "nature", "stripes", "safari" ], - "char": "\ud83e\udd93", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - tiger2: { - keywords: [ "animal", "nature", "roar" ], - "char": "\ud83d\udc05", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - water_buffalo: { - keywords: [ "animal", "nature", "ox", "cow" ], - "char": "\ud83d\udc03", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - ox: { - keywords: [ "animal", "cow", "beef" ], - "char": "\ud83d\udc02", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - cow2: { - keywords: [ "beef", "ox", "animal", "nature", "moo", "milk" ], - "char": "\ud83d\udc04", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - deer: { - keywords: [ "animal", "nature", "horns", "venison" ], - "char": "\ud83e\udd8c", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - dromedary_camel: { - keywords: [ "animal", "hot", "desert", "hump" ], - "char": "\ud83d\udc2a", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - camel: { - keywords: [ "animal", "nature", "hot", "desert", "hump" ], - "char": "\ud83d\udc2b", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - giraffe: { - keywords: [ "animal", "nature", "spots", "safari" ], - "char": "\ud83e\udd92", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - elephant: { - keywords: [ "animal", "nature", "nose", "th", "circus" ], - "char": "\ud83d\udc18", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - rhinoceros: { - keywords: [ "animal", "nature", "horn" ], - "char": "\ud83e\udd8f", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - goat: { - keywords: [ "animal", "nature" ], - "char": "\ud83d\udc10", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - ram: { - keywords: [ "animal", "sheep", "nature" ], - "char": "\ud83d\udc0f", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - sheep: { - keywords: [ "animal", "nature", "wool", "shipit" ], - "char": "\ud83d\udc11", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - racehorse: { - keywords: [ "animal", "gamble", "luck" ], - "char": "\ud83d\udc0e", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - pig2: { - keywords: [ "animal", "nature" ], - "char": "\ud83d\udc16", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - rat: { - keywords: [ "animal", "mouse", "rodent" ], - "char": "\ud83d\udc00", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - mouse2: { - keywords: [ "animal", "nature", "rodent" ], - "char": "\ud83d\udc01", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - rooster: { - keywords: [ "animal", "nature", "chicken" ], - "char": "\ud83d\udc13", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - turkey: { - keywords: [ "animal", "bird" ], - "char": "\ud83e\udd83", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - dove: { - keywords: [ "animal", "bird" ], - "char": "\ud83d\udd4a", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - dog2: { - keywords: [ "animal", "nature", "friend", "doge", "pet", "faithful" ], - "char": "\ud83d\udc15", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - poodle: { - keywords: [ "dog", "animal", "101", "nature", "pet" ], - "char": "\ud83d\udc29", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - cat2: { - keywords: [ "animal", "meow", "pet", "cats" ], - "char": "\ud83d\udc08", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - rabbit2: { - keywords: [ "animal", "nature", "pet", "magic", "spring" ], - "char": "\ud83d\udc07", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - chipmunk: { - keywords: [ "animal", "nature", "rodent", "squirrel" ], - "char": "\ud83d\udc3f", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - hedgehog: { - keywords: [ "animal", "nature", "spiny" ], - "char": "\ud83e\udd94", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - paw_prints: { - keywords: [ "animal", "tracking", "footprints", "dog", "cat", "pet", "feet" ], - "char": "\ud83d\udc3e", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - dragon: { - keywords: [ "animal", "myth", "nature", "chinese", "green" ], - "char": "\ud83d\udc09", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - dragon_face: { - keywords: [ "animal", "myth", "nature", "chinese", "green" ], - "char": "\ud83d\udc32", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - cactus: { - keywords: [ "vegetable", "plant", "nature" ], - "char": "\ud83c\udf35", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - christmas_tree: { - keywords: [ "festival", "vacation", "december", "xmas", "celebration" ], - "char": "\ud83c\udf84", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - evergreen_tree: { - keywords: [ "plant", "nature" ], - "char": "\ud83c\udf32", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - deciduous_tree: { - keywords: [ "plant", "nature" ], - "char": "\ud83c\udf33", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - palm_tree: { - keywords: [ "plant", "vegetable", "nature", "summer", "beach", "mojito", "tropical" ], - "char": "\ud83c\udf34", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - seedling: { - keywords: [ "plant", "nature", "grass", "lawn", "spring" ], - "char": "\ud83c\udf31", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - herb: { - keywords: [ "vegetable", "plant", "medicine", "weed", "grass", "lawn" ], - "char": "\ud83c\udf3f", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - shamrock: { - keywords: [ "vegetable", "plant", "nature", "irish", "clover" ], - "char": "\u2618", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - four_leaf_clover: { - keywords: [ "vegetable", "plant", "nature", "lucky", "irish" ], - "char": "\ud83c\udf40", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - bamboo: { - keywords: [ "plant", "nature", "vegetable", "panda", "pine_decoration" ], - "char": "\ud83c\udf8d", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - tanabata_tree: { - keywords: [ "plant", "nature", "branch", "summer" ], - "char": "\ud83c\udf8b", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - leaves: { - keywords: [ "nature", "plant", "tree", "vegetable", "grass", "lawn", "spring" ], - "char": "\ud83c\udf43", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - fallen_leaf: { - keywords: [ "nature", "plant", "vegetable", "leaves" ], - "char": "\ud83c\udf42", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - maple_leaf: { - keywords: [ "nature", "plant", "vegetable", "ca", "fall" ], - "char": "\ud83c\udf41", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - ear_of_rice: { - keywords: [ "nature", "plant" ], - "char": "\ud83c\udf3e", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - hibiscus: { - keywords: [ "plant", "vegetable", "flowers", "beach" ], - "char": "\ud83c\udf3a", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - sunflower: { - keywords: [ "nature", "plant", "fall" ], - "char": "\ud83c\udf3b", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - rose: { - keywords: [ "flowers", "valentines", "love", "spring" ], - "char": "\ud83c\udf39", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - wilted_flower: { - keywords: [ "plant", "nature", "flower" ], - "char": "\ud83e\udd40", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - tulip: { - keywords: [ "flowers", "plant", "nature", "summer", "spring" ], - "char": "\ud83c\udf37", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - blossom: { - keywords: [ "nature", "flowers", "yellow" ], - "char": "\ud83c\udf3c", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - cherry_blossom: { - keywords: [ "nature", "plant", "spring", "flower" ], - "char": "\ud83c\udf38", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - bouquet: { - keywords: [ "flowers", "nature", "spring" ], - "char": "\ud83d\udc90", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - mushroom: { - keywords: [ "plant", "vegetable" ], - "char": "\ud83c\udf44", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - chestnut: { - keywords: [ "food", "squirrel" ], - "char": "\ud83c\udf30", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - jack_o_lantern: { - keywords: [ "halloween", "light", "pumpkin", "creepy", "fall" ], - "char": "\ud83c\udf83", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - shell: { - keywords: [ "nature", "sea", "beach" ], - "char": "\ud83d\udc1a", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - spider_web: { - keywords: [ "animal", "insect", "arachnid", "silk" ], - "char": "\ud83d\udd78", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - earth_americas: { - keywords: [ "globe", "world", "USA", "international" ], - "char": "\ud83c\udf0e", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - earth_africa: { - keywords: [ "globe", "world", "international" ], - "char": "\ud83c\udf0d", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - earth_asia: { - keywords: [ "globe", "world", "east", "international" ], - "char": "\ud83c\udf0f", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - full_moon: { - keywords: [ "nature", "yellow", "twilight", "planet", "space", "night", "evening", "sleep" ], - "char": "\ud83c\udf15", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - waning_gibbous_moon: { - keywords: [ "nature", "twilight", "planet", "space", "night", "evening", "sleep", "waxing_gibbous_moon" ], - "char": "\ud83c\udf16", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - last_quarter_moon: { - keywords: [ "nature", "twilight", "planet", "space", "night", "evening", "sleep" ], - "char": "\ud83c\udf17", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - waning_crescent_moon: { - keywords: [ "nature", "twilight", "planet", "space", "night", "evening", "sleep" ], - "char": "\ud83c\udf18", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - new_moon: { - keywords: [ "nature", "twilight", "planet", "space", "night", "evening", "sleep" ], - "char": "\ud83c\udf11", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - waxing_crescent_moon: { - keywords: [ "nature", "twilight", "planet", "space", "night", "evening", "sleep" ], - "char": "\ud83c\udf12", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - first_quarter_moon: { - keywords: [ "nature", "twilight", "planet", "space", "night", "evening", "sleep" ], - "char": "\ud83c\udf13", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - waxing_gibbous_moon: { - keywords: [ "nature", "night", "sky", "gray", "twilight", "planet", "space", "evening", "sleep" ], - "char": "\ud83c\udf14", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - new_moon_with_face: { - keywords: [ "nature", "twilight", "planet", "space", "night", "evening", "sleep" ], - "char": "\ud83c\udf1a", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - full_moon_with_face: { - keywords: [ "nature", "twilight", "planet", "space", "night", "evening", "sleep" ], - "char": "\ud83c\udf1d", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - first_quarter_moon_with_face: { - keywords: [ "nature", "twilight", "planet", "space", "night", "evening", "sleep" ], - "char": "\ud83c\udf1b", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - last_quarter_moon_with_face: { - keywords: [ "nature", "twilight", "planet", "space", "night", "evening", "sleep" ], - "char": "\ud83c\udf1c", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - sun_with_face: { - keywords: [ "nature", "morning", "sky" ], - "char": "\ud83c\udf1e", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - crescent_moon: { - keywords: [ "night", "sleep", "sky", "evening", "magic" ], - "char": "\ud83c\udf19", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - star: { - keywords: [ "night", "yellow" ], - "char": "\u2b50", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - star2: { - keywords: [ "night", "sparkle", "awesome", "good", "magic" ], - "char": "\ud83c\udf1f", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - dizzy: { - keywords: [ "star", "sparkle", "shoot", "magic" ], - "char": "\ud83d\udcab", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - sparkles: { - keywords: [ "stars", "shine", "shiny", "cool", "awesome", "good", "magic" ], - "char": "\u2728", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - comet: { - keywords: [ "space" ], - "char": "\u2604", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - sunny: { - keywords: [ "weather", "nature", "brightness", "summer", "beach", "spring" ], - "char": "\u2600\ufe0f", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - sun_behind_small_cloud: { - keywords: [ "weather" ], - "char": "\ud83c\udf24", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - partly_sunny: { - keywords: [ "weather", "nature", "cloudy", "morning", "fall", "spring" ], - "char": "\u26c5", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - sun_behind_large_cloud: { - keywords: [ "weather" ], - "char": "\ud83c\udf25", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - sun_behind_rain_cloud: { - keywords: [ "weather" ], - "char": "\ud83c\udf26", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - cloud: { - keywords: [ "weather", "sky" ], - "char": "\u2601\ufe0f", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - cloud_with_rain: { - keywords: [ "weather" ], - "char": "\ud83c\udf27", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - cloud_with_lightning_and_rain: { - keywords: [ "weather", "lightning" ], - "char": "\u26c8", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - cloud_with_lightning: { - keywords: [ "weather", "thunder" ], - "char": "\ud83c\udf29", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - zap: { - keywords: [ "thunder", "weather", "lightning bolt", "fast" ], - "char": "\u26a1", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - fire: { - keywords: [ "hot", "cook", "flame" ], - "char": "\ud83d\udd25", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - boom: { - keywords: [ "bomb", "explode", "explosion", "collision", "blown" ], - "char": "\ud83d\udca5", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - snowflake: { - keywords: [ "winter", "season", "cold", "weather", "christmas", "xmas" ], - "char": "\u2744\ufe0f", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - cloud_with_snow: { - keywords: [ "weather" ], - "char": "\ud83c\udf28", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - snowman: { - keywords: [ "winter", "season", "cold", "weather", "christmas", "xmas", "frozen", "without_snow" ], - "char": "\u26c4", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - snowman_with_snow: { - keywords: [ "winter", "season", "cold", "weather", "christmas", "xmas", "frozen" ], - "char": "\u2603", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - wind_face: { - keywords: [ "gust", "air" ], - "char": "\ud83c\udf2c", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - dash: { - keywords: [ "wind", "air", "fast", "shoo", "fart", "smoke", "puff" ], - "char": "\ud83d\udca8", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - tornado: { - keywords: [ "weather", "cyclone", "twister" ], - "char": "\ud83c\udf2a", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - fog: { - keywords: [ "weather" ], - "char": "\ud83c\udf2b", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - open_umbrella: { - keywords: [ "weather", "spring" ], - "char": "\u2602", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - umbrella: { - keywords: [ "rainy", "weather", "spring" ], - "char": "\u2614", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - droplet: { - keywords: [ "water", "drip", "faucet", "spring" ], - "char": "\ud83d\udca7", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - sweat_drops: { - keywords: [ "water", "drip", "oops" ], - "char": "\ud83d\udca6", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - ocean: { - keywords: [ "sea", "water", "wave", "nature", "tsunami", "disaster" ], - "char": "\ud83c\udf0a", - fitzpatrick_scale: false, - category: "animals_and_nature" - }, - green_apple: { - keywords: [ "fruit", "nature" ], - "char": "\ud83c\udf4f", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - apple: { - keywords: [ "fruit", "mac", "school" ], - "char": "\ud83c\udf4e", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - pear: { - keywords: [ "fruit", "nature", "food" ], - "char": "\ud83c\udf50", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - tangerine: { - keywords: [ "food", "fruit", "nature", "orange" ], - "char": "\ud83c\udf4a", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - lemon: { - keywords: [ "fruit", "nature" ], - "char": "\ud83c\udf4b", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - banana: { - keywords: [ "fruit", "food", "monkey" ], - "char": "\ud83c\udf4c", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - watermelon: { - keywords: [ "fruit", "food", "picnic", "summer" ], - "char": "\ud83c\udf49", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - grapes: { - keywords: [ "fruit", "food", "wine" ], - "char": "\ud83c\udf47", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - strawberry: { - keywords: [ "fruit", "food", "nature" ], - "char": "\ud83c\udf53", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - melon: { - keywords: [ "fruit", "nature", "food" ], - "char": "\ud83c\udf48", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - cherries: { - keywords: [ "food", "fruit" ], - "char": "\ud83c\udf52", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - peach: { - keywords: [ "fruit", "nature", "food" ], - "char": "\ud83c\udf51", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - pineapple: { - keywords: [ "fruit", "nature", "food" ], - "char": "\ud83c\udf4d", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - coconut: { - keywords: [ "fruit", "nature", "food", "palm" ], - "char": "\ud83e\udd65", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - kiwi_fruit: { - keywords: [ "fruit", "food" ], - "char": "\ud83e\udd5d", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - avocado: { - keywords: [ "fruit", "food" ], - "char": "\ud83e\udd51", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - broccoli: { - keywords: [ "fruit", "food", "vegetable" ], - "char": "\ud83e\udd66", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - tomato: { - keywords: [ "fruit", "vegetable", "nature", "food" ], - "char": "\ud83c\udf45", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - eggplant: { - keywords: [ "vegetable", "nature", "food", "aubergine" ], - "char": "\ud83c\udf46", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - cucumber: { - keywords: [ "fruit", "food", "pickle" ], - "char": "\ud83e\udd52", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - carrot: { - keywords: [ "vegetable", "food", "orange" ], - "char": "\ud83e\udd55", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - hot_pepper: { - keywords: [ "food", "spicy", "chilli", "chili" ], - "char": "\ud83c\udf36", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - potato: { - keywords: [ "food", "tuber", "vegatable", "starch" ], - "char": "\ud83e\udd54", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - corn: { - keywords: [ "food", "vegetable", "plant" ], - "char": "\ud83c\udf3d", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - sweet_potato: { - keywords: [ "food", "nature" ], - "char": "\ud83c\udf60", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - peanuts: { - keywords: [ "food", "nut" ], - "char": "\ud83e\udd5c", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - honey_pot: { - keywords: [ "bees", "sweet", "kitchen" ], - "char": "\ud83c\udf6f", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - croissant: { - keywords: [ "food", "bread", "french" ], - "char": "\ud83e\udd50", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - bread: { - keywords: [ "food", "wheat", "breakfast", "toast" ], - "char": "\ud83c\udf5e", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - baguette_bread: { - keywords: [ "food", "bread", "french" ], - "char": "\ud83e\udd56", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - pretzel: { - keywords: [ "food", "bread", "twisted" ], - "char": "\ud83e\udd68", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - cheese: { - keywords: [ "food", "chadder" ], - "char": "\ud83e\uddc0", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - egg: { - keywords: [ "food", "chicken", "breakfast" ], - "char": "\ud83e\udd5a", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - bacon: { - keywords: [ "food", "breakfast", "pork", "pig", "meat" ], - "char": "\ud83e\udd53", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - steak: { - keywords: [ "food", "cow", "meat", "cut", "chop", "lambchop", "porkchop" ], - "char": "\ud83e\udd69", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - pancakes: { - keywords: [ "food", "breakfast", "flapjacks", "hotcakes" ], - "char": "\ud83e\udd5e", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - poultry_leg: { - keywords: [ "food", "meat", "drumstick", "bird", "chicken", "turkey" ], - "char": "\ud83c\udf57", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - meat_on_bone: { - keywords: [ "good", "food", "drumstick" ], - "char": "\ud83c\udf56", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - fried_shrimp: { - keywords: [ "food", "animal", "appetizer", "summer" ], - "char": "\ud83c\udf64", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - fried_egg: { - keywords: [ "food", "breakfast", "kitchen", "egg" ], - "char": "\ud83c\udf73", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - hamburger: { - keywords: [ "meat", "fast food", "beef", "cheeseburger", "mcdonalds", "burger king" ], - "char": "\ud83c\udf54", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - fries: { - keywords: [ "chips", "snack", "fast food" ], - "char": "\ud83c\udf5f", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - stuffed_flatbread: { - keywords: [ "food", "flatbread", "stuffed", "gyro" ], - "char": "\ud83e\udd59", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - hotdog: { - keywords: [ "food", "frankfurter" ], - "char": "\ud83c\udf2d", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - pizza: { - keywords: [ "food", "party" ], - "char": "\ud83c\udf55", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - sandwich: { - keywords: [ "food", "lunch", "bread" ], - "char": "\ud83e\udd6a", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - canned_food: { - keywords: [ "food", "soup" ], - "char": "\ud83e\udd6b", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - spaghetti: { - keywords: [ "food", "italian", "noodle" ], - "char": "\ud83c\udf5d", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - taco: { - keywords: [ "food", "mexican" ], - "char": "\ud83c\udf2e", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - burrito: { - keywords: [ "food", "mexican" ], - "char": "\ud83c\udf2f", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - green_salad: { - keywords: [ "food", "healthy", "lettuce" ], - "char": "\ud83e\udd57", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - shallow_pan_of_food: { - keywords: [ "food", "cooking", "casserole", "paella" ], - "char": "\ud83e\udd58", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - ramen: { - keywords: [ "food", "japanese", "noodle", "chopsticks" ], - "char": "\ud83c\udf5c", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - stew: { - keywords: [ "food", "meat", "soup" ], - "char": "\ud83c\udf72", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - fish_cake: { - keywords: [ "food", "japan", "sea", "beach", "narutomaki", "pink", "swirl", "kamaboko", "surimi", "ramen" ], - "char": "\ud83c\udf65", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - fortune_cookie: { - keywords: [ "food", "prophecy" ], - "char": "\ud83e\udd60", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - sushi: { - keywords: [ "food", "fish", "japanese", "rice" ], - "char": "\ud83c\udf63", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - bento: { - keywords: [ "food", "japanese", "box" ], - "char": "\ud83c\udf71", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - curry: { - keywords: [ "food", "spicy", "hot", "indian" ], - "char": "\ud83c\udf5b", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - rice_ball: { - keywords: [ "food", "japanese" ], - "char": "\ud83c\udf59", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - rice: { - keywords: [ "food", "china", "asian" ], - "char": "\ud83c\udf5a", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - rice_cracker: { - keywords: [ "food", "japanese" ], - "char": "\ud83c\udf58", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - oden: { - keywords: [ "food", "japanese" ], - "char": "\ud83c\udf62", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - dango: { - keywords: [ "food", "dessert", "sweet", "japanese", "barbecue", "meat" ], - "char": "\ud83c\udf61", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - shaved_ice: { - keywords: [ "hot", "dessert", "summer" ], - "char": "\ud83c\udf67", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - ice_cream: { - keywords: [ "food", "hot", "dessert" ], - "char": "\ud83c\udf68", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - icecream: { - keywords: [ "food", "hot", "dessert", "summer" ], - "char": "\ud83c\udf66", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - pie: { - keywords: [ "food", "dessert", "pastry" ], - "char": "\ud83e\udd67", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - cake: { - keywords: [ "food", "dessert" ], - "char": "\ud83c\udf70", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - birthday: { - keywords: [ "food", "dessert", "cake" ], - "char": "\ud83c\udf82", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - custard: { - keywords: [ "dessert", "food" ], - "char": "\ud83c\udf6e", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - candy: { - keywords: [ "snack", "dessert", "sweet", "lolly" ], - "char": "\ud83c\udf6c", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - lollipop: { - keywords: [ "food", "snack", "candy", "sweet" ], - "char": "\ud83c\udf6d", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - chocolate_bar: { - keywords: [ "food", "snack", "dessert", "sweet" ], - "char": "\ud83c\udf6b", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - popcorn: { - keywords: [ "food", "movie theater", "films", "snack" ], - "char": "\ud83c\udf7f", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - dumpling: { - keywords: [ "food", "empanada", "pierogi", "potsticker" ], - "char": "\ud83e\udd5f", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - doughnut: { - keywords: [ "food", "dessert", "snack", "sweet", "donut" ], - "char": "\ud83c\udf69", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - cookie: { - keywords: [ "food", "snack", "oreo", "chocolate", "sweet", "dessert" ], - "char": "\ud83c\udf6a", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - milk_glass: { - keywords: [ "beverage", "drink", "cow" ], - "char": "\ud83e\udd5b", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - beer: { - keywords: [ "relax", "beverage", "drink", "drunk", "party", "pub", "summer", "alcohol", "booze" ], - "char": "\ud83c\udf7a", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - beers: { - keywords: [ "relax", "beverage", "drink", "drunk", "party", "pub", "summer", "alcohol", "booze" ], - "char": "\ud83c\udf7b", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - clinking_glasses: { - keywords: [ "beverage", "drink", "party", "alcohol", "celebrate", "cheers", "wine", "champagne", "toast" ], - "char": "\ud83e\udd42", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - wine_glass: { - keywords: [ "drink", "beverage", "drunk", "alcohol", "booze" ], - "char": "\ud83c\udf77", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - tumbler_glass: { - keywords: [ "drink", "beverage", "drunk", "alcohol", "liquor", "booze", "bourbon", "scotch", "whisky", "glass", "shot" ], - "char": "\ud83e\udd43", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - cocktail: { - keywords: [ "drink", "drunk", "alcohol", "beverage", "booze", "mojito" ], - "char": "\ud83c\udf78", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - tropical_drink: { - keywords: [ "beverage", "cocktail", "summer", "beach", "alcohol", "booze", "mojito" ], - "char": "\ud83c\udf79", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - champagne: { - keywords: [ "drink", "wine", "bottle", "celebration" ], - "char": "\ud83c\udf7e", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - sake: { - keywords: [ "wine", "drink", "drunk", "beverage", "japanese", "alcohol", "booze" ], - "char": "\ud83c\udf76", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - tea: { - keywords: [ "drink", "bowl", "breakfast", "green", "british" ], - "char": "\ud83c\udf75", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - cup_with_straw: { - keywords: [ "drink", "soda" ], - "char": "\ud83e\udd64", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - coffee: { - keywords: [ "beverage", "caffeine", "latte", "espresso" ], - "char": "\u2615", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - baby_bottle: { - keywords: [ "food", "container", "milk" ], - "char": "\ud83c\udf7c", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - spoon: { - keywords: [ "cutlery", "kitchen", "tableware" ], - "char": "\ud83e\udd44", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - fork_and_knife: { - keywords: [ "cutlery", "kitchen" ], - "char": "\ud83c\udf74", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - plate_with_cutlery: { - keywords: [ "food", "eat", "meal", "lunch", "dinner", "restaurant" ], - "char": "\ud83c\udf7d", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - bowl_with_spoon: { - keywords: [ "food", "breakfast", "cereal", "oatmeal", "porridge" ], - "char": "\ud83e\udd63", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - takeout_box: { - keywords: [ "food", "leftovers" ], - "char": "\ud83e\udd61", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - chopsticks: { - keywords: [ "food" ], - "char": "\ud83e\udd62", - fitzpatrick_scale: false, - category: "food_and_drink" - }, - soccer: { - keywords: [ "sports", "football" ], - "char": "\u26bd", - fitzpatrick_scale: false, - category: "activity" - }, - basketball: { - keywords: [ "sports", "balls", "NBA" ], - "char": "\ud83c\udfc0", - fitzpatrick_scale: false, - category: "activity" - }, - football: { - keywords: [ "sports", "balls", "NFL" ], - "char": "\ud83c\udfc8", - fitzpatrick_scale: false, - category: "activity" - }, - baseball: { - keywords: [ "sports", "balls" ], - "char": "\u26be", - fitzpatrick_scale: false, - category: "activity" - }, - tennis: { - keywords: [ "sports", "balls", "green" ], - "char": "\ud83c\udfbe", - fitzpatrick_scale: false, - category: "activity" - }, - volleyball: { - keywords: [ "sports", "balls" ], - "char": "\ud83c\udfd0", - fitzpatrick_scale: false, - category: "activity" - }, - rugby_football: { - keywords: [ "sports", "team" ], - "char": "\ud83c\udfc9", - fitzpatrick_scale: false, - category: "activity" - }, - "8ball": { - keywords: [ "pool", "hobby", "game", "luck", "magic" ], - "char": "\ud83c\udfb1", - fitzpatrick_scale: false, - category: "activity" - }, - golf: { - keywords: [ "sports", "business", "flag", "hole", "summer" ], - "char": "\u26f3", - fitzpatrick_scale: false, - category: "activity" - }, - golfing_woman: { - keywords: [ "sports", "business", "woman", "female" ], - "char": "\ud83c\udfcc\ufe0f\u200d\u2640\ufe0f", - fitzpatrick_scale: false, - category: "activity" - }, - golfing_man: { - keywords: [ "sports", "business" ], - "char": "\ud83c\udfcc", - fitzpatrick_scale: true, - category: "activity" - }, - ping_pong: { - keywords: [ "sports", "pingpong" ], - "char": "\ud83c\udfd3", - fitzpatrick_scale: false, - category: "activity" - }, - badminton: { - keywords: [ "sports" ], - "char": "\ud83c\udff8", - fitzpatrick_scale: false, - category: "activity" - }, - goal_net: { - keywords: [ "sports" ], - "char": "\ud83e\udd45", - fitzpatrick_scale: false, - category: "activity" - }, - ice_hockey: { - keywords: [ "sports" ], - "char": "\ud83c\udfd2", - fitzpatrick_scale: false, - category: "activity" - }, - field_hockey: { - keywords: [ "sports" ], - "char": "\ud83c\udfd1", - fitzpatrick_scale: false, - category: "activity" - }, - cricket: { - keywords: [ "sports" ], - "char": "\ud83c\udfcf", - fitzpatrick_scale: false, - category: "activity" - }, - ski: { - keywords: [ "sports", "winter", "cold", "snow" ], - "char": "\ud83c\udfbf", - fitzpatrick_scale: false, - category: "activity" - }, - skier: { - keywords: [ "sports", "winter", "snow" ], - "char": "\u26f7", - fitzpatrick_scale: false, - category: "activity" - }, - snowboarder: { - keywords: [ "sports", "winter" ], - "char": "\ud83c\udfc2", - fitzpatrick_scale: true, - category: "activity" - }, - person_fencing: { - keywords: [ "sports", "fencing", "sword" ], - "char": "\ud83e\udd3a", - fitzpatrick_scale: false, - category: "activity" - }, - women_wrestling: { - keywords: [ "sports", "wrestlers" ], - "char": "\ud83e\udd3c\u200d\u2640\ufe0f", - fitzpatrick_scale: false, - category: "activity" - }, - men_wrestling: { - keywords: [ "sports", "wrestlers" ], - "char": "\ud83e\udd3c\u200d\u2642\ufe0f", - fitzpatrick_scale: false, - category: "activity" - }, - woman_cartwheeling: { - keywords: [ "gymnastics" ], - "char": "\ud83e\udd38\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "activity" - }, - man_cartwheeling: { - keywords: [ "gymnastics" ], - "char": "\ud83e\udd38\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "activity" - }, - woman_playing_handball: { - keywords: [ "sports" ], - "char": "\ud83e\udd3e\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "activity" - }, - man_playing_handball: { - keywords: [ "sports" ], - "char": "\ud83e\udd3e\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "activity" - }, - ice_skate: { - keywords: [ "sports" ], - "char": "\u26f8", - fitzpatrick_scale: false, - category: "activity" - }, - curling_stone: { - keywords: [ "sports" ], - "char": "\ud83e\udd4c", - fitzpatrick_scale: false, - category: "activity" - }, - sled: { - keywords: [ "sleigh", "luge", "toboggan" ], - "char": "\ud83d\udef7", - fitzpatrick_scale: false, - category: "activity" - }, - bow_and_arrow: { - keywords: [ "sports" ], - "char": "\ud83c\udff9", - fitzpatrick_scale: false, - category: "activity" - }, - fishing_pole_and_fish: { - keywords: [ "food", "hobby", "summer" ], - "char": "\ud83c\udfa3", - fitzpatrick_scale: false, - category: "activity" - }, - boxing_glove: { - keywords: [ "sports", "fighting" ], - "char": "\ud83e\udd4a", - fitzpatrick_scale: false, - category: "activity" - }, - martial_arts_uniform: { - keywords: [ "judo", "karate", "taekwondo" ], - "char": "\ud83e\udd4b", - fitzpatrick_scale: false, - category: "activity" - }, - rowing_woman: { - keywords: [ "sports", "hobby", "water", "ship", "woman", "female" ], - "char": "\ud83d\udea3\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "activity" - }, - rowing_man: { - keywords: [ "sports", "hobby", "water", "ship" ], - "char": "\ud83d\udea3", - fitzpatrick_scale: true, - category: "activity" - }, - climbing_woman: { - keywords: [ "sports", "hobby", "woman", "female", "rock" ], - "char": "\ud83e\uddd7\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "activity" - }, - climbing_man: { - keywords: [ "sports", "hobby", "man", "male", "rock" ], - "char": "\ud83e\uddd7\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "activity" - }, - swimming_woman: { - keywords: [ "sports", "exercise", "human", "athlete", "water", "summer", "woman", "female" ], - "char": "\ud83c\udfca\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "activity" - }, - swimming_man: { - keywords: [ "sports", "exercise", "human", "athlete", "water", "summer" ], - "char": "\ud83c\udfca", - fitzpatrick_scale: true, - category: "activity" - }, - woman_playing_water_polo: { - keywords: [ "sports", "pool" ], - "char": "\ud83e\udd3d\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "activity" - }, - man_playing_water_polo: { - keywords: [ "sports", "pool" ], - "char": "\ud83e\udd3d\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "activity" - }, - woman_in_lotus_position: { - keywords: [ "woman", "female", "meditation", "yoga", "serenity", "zen", "mindfulness" ], - "char": "\ud83e\uddd8\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "activity" - }, - man_in_lotus_position: { - keywords: [ "man", "male", "meditation", "yoga", "serenity", "zen", "mindfulness" ], - "char": "\ud83e\uddd8\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "activity" - }, - surfing_woman: { - keywords: [ "sports", "ocean", "sea", "summer", "beach", "woman", "female" ], - "char": "\ud83c\udfc4\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "activity" - }, - surfing_man: { - keywords: [ "sports", "ocean", "sea", "summer", "beach" ], - "char": "\ud83c\udfc4", - fitzpatrick_scale: true, - category: "activity" - }, - bath: { - keywords: [ "clean", "shower", "bathroom" ], - "char": "\ud83d\udec0", - fitzpatrick_scale: true, - category: "activity" - }, - basketball_woman: { - keywords: [ "sports", "human", "woman", "female" ], - "char": "\u26f9\ufe0f\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "activity" - }, - basketball_man: { - keywords: [ "sports", "human" ], - "char": "\u26f9", - fitzpatrick_scale: true, - category: "activity" - }, - weight_lifting_woman: { - keywords: [ "sports", "training", "exercise", "woman", "female" ], - "char": "\ud83c\udfcb\ufe0f\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "activity" - }, - weight_lifting_man: { - keywords: [ "sports", "training", "exercise" ], - "char": "\ud83c\udfcb", - fitzpatrick_scale: true, - category: "activity" - }, - biking_woman: { - keywords: [ "sports", "bike", "exercise", "hipster", "woman", "female" ], - "char": "\ud83d\udeb4\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "activity" - }, - biking_man: { - keywords: [ "sports", "bike", "exercise", "hipster" ], - "char": "\ud83d\udeb4", - fitzpatrick_scale: true, - category: "activity" - }, - mountain_biking_woman: { - keywords: [ "transportation", "sports", "human", "race", "bike", "woman", "female" ], - "char": "\ud83d\udeb5\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "activity" - }, - mountain_biking_man: { - keywords: [ "transportation", "sports", "human", "race", "bike" ], - "char": "\ud83d\udeb5", - fitzpatrick_scale: true, - category: "activity" - }, - horse_racing: { - keywords: [ "animal", "betting", "competition", "gambling", "luck" ], - "char": "\ud83c\udfc7", - fitzpatrick_scale: true, - category: "activity" - }, - business_suit_levitating: { - keywords: [ "suit", "business", "levitate", "hover", "jump" ], - "char": "\ud83d\udd74", - fitzpatrick_scale: true, - category: "activity" - }, - trophy: { - keywords: [ "win", "award", "contest", "place", "ftw", "ceremony" ], - "char": "\ud83c\udfc6", - fitzpatrick_scale: false, - category: "activity" - }, - running_shirt_with_sash: { - keywords: [ "play", "pageant" ], - "char": "\ud83c\udfbd", - fitzpatrick_scale: false, - category: "activity" - }, - medal_sports: { - keywords: [ "award", "winning" ], - "char": "\ud83c\udfc5", - fitzpatrick_scale: false, - category: "activity" - }, - medal_military: { - keywords: [ "award", "winning", "army" ], - "char": "\ud83c\udf96", - fitzpatrick_scale: false, - category: "activity" - }, - "1st_place_medal": { - keywords: [ "award", "winning", "first" ], - "char": "\ud83e\udd47", - fitzpatrick_scale: false, - category: "activity" - }, - "2nd_place_medal": { - keywords: [ "award", "second" ], - "char": "\ud83e\udd48", - fitzpatrick_scale: false, - category: "activity" - }, - "3rd_place_medal": { - keywords: [ "award", "third" ], - "char": "\ud83e\udd49", - fitzpatrick_scale: false, - category: "activity" - }, - reminder_ribbon: { - keywords: [ "sports", "cause", "support", "awareness" ], - "char": "\ud83c\udf97", - fitzpatrick_scale: false, - category: "activity" - }, - rosette: { - keywords: [ "flower", "decoration", "military" ], - "char": "\ud83c\udff5", - fitzpatrick_scale: false, - category: "activity" - }, - ticket: { - keywords: [ "event", "concert", "pass" ], - "char": "\ud83c\udfab", - fitzpatrick_scale: false, - category: "activity" - }, - tickets: { - keywords: [ "sports", "concert", "entrance" ], - "char": "\ud83c\udf9f", - fitzpatrick_scale: false, - category: "activity" - }, - performing_arts: { - keywords: [ "acting", "theater", "drama" ], - "char": "\ud83c\udfad", - fitzpatrick_scale: false, - category: "activity" - }, - art: { - keywords: [ "design", "paint", "draw", "colors" ], - "char": "\ud83c\udfa8", - fitzpatrick_scale: false, - category: "activity" - }, - circus_tent: { - keywords: [ "festival", "carnival", "party" ], - "char": "\ud83c\udfaa", - fitzpatrick_scale: false, - category: "activity" - }, - woman_juggling: { - keywords: [ "juggle", "balance", "skill", "multitask" ], - "char": "\ud83e\udd39\u200d\u2640\ufe0f", - fitzpatrick_scale: true, - category: "activity" - }, - man_juggling: { - keywords: [ "juggle", "balance", "skill", "multitask" ], - "char": "\ud83e\udd39\u200d\u2642\ufe0f", - fitzpatrick_scale: true, - category: "activity" - }, - microphone: { - keywords: [ "sound", "music", "PA", "sing", "talkshow" ], - "char": "\ud83c\udfa4", - fitzpatrick_scale: false, - category: "activity" - }, - headphones: { - keywords: [ "music", "score", "gadgets" ], - "char": "\ud83c\udfa7", - fitzpatrick_scale: false, - category: "activity" - }, - musical_score: { - keywords: [ "treble", "clef", "compose" ], - "char": "\ud83c\udfbc", - fitzpatrick_scale: false, - category: "activity" - }, - musical_keyboard: { - keywords: [ "piano", "instrument", "compose" ], - "char": "\ud83c\udfb9", - fitzpatrick_scale: false, - category: "activity" - }, - drum: { - keywords: [ "music", "instrument", "drumsticks", "snare" ], - "char": "\ud83e\udd41", - fitzpatrick_scale: false, - category: "activity" - }, - saxophone: { - keywords: [ "music", "instrument", "jazz", "blues" ], - "char": "\ud83c\udfb7", - fitzpatrick_scale: false, - category: "activity" - }, - trumpet: { - keywords: [ "music", "brass" ], - "char": "\ud83c\udfba", - fitzpatrick_scale: false, - category: "activity" - }, - guitar: { - keywords: [ "music", "instrument" ], - "char": "\ud83c\udfb8", - fitzpatrick_scale: false, - category: "activity" - }, - violin: { - keywords: [ "music", "instrument", "orchestra", "symphony" ], - "char": "\ud83c\udfbb", - fitzpatrick_scale: false, - category: "activity" - }, - clapper: { - keywords: [ "movie", "film", "record" ], - "char": "\ud83c\udfac", - fitzpatrick_scale: false, - category: "activity" - }, - video_game: { - keywords: [ "play", "console", "PS4", "controller" ], - "char": "\ud83c\udfae", - fitzpatrick_scale: false, - category: "activity" - }, - space_invader: { - keywords: [ "game", "arcade", "play" ], - "char": "\ud83d\udc7e", - fitzpatrick_scale: false, - category: "activity" - }, - dart: { - keywords: [ "game", "play", "bar", "target", "bullseye" ], - "char": "\ud83c\udfaf", - fitzpatrick_scale: false, - category: "activity" - }, - game_die: { - keywords: [ "dice", "random", "tabletop", "play", "luck" ], - "char": "\ud83c\udfb2", - fitzpatrick_scale: false, - category: "activity" - }, - slot_machine: { - keywords: [ "bet", "gamble", "vegas", "fruit machine", "luck", "casino" ], - "char": "\ud83c\udfb0", - fitzpatrick_scale: false, - category: "activity" - }, - bowling: { - keywords: [ "sports", "fun", "play" ], - "char": "\ud83c\udfb3", - fitzpatrick_scale: false, - category: "activity" - }, - red_car: { - keywords: [ "red", "transportation", "vehicle" ], - "char": "\ud83d\ude97", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - taxi: { - keywords: [ "uber", "vehicle", "cars", "transportation" ], - "char": "\ud83d\ude95", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - blue_car: { - keywords: [ "transportation", "vehicle" ], - "char": "\ud83d\ude99", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - bus: { - keywords: [ "car", "vehicle", "transportation" ], - "char": "\ud83d\ude8c", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - trolleybus: { - keywords: [ "bart", "transportation", "vehicle" ], - "char": "\ud83d\ude8e", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - racing_car: { - keywords: [ "sports", "race", "fast", "formula", "f1" ], - "char": "\ud83c\udfce", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - police_car: { - keywords: [ "vehicle", "cars", "transportation", "law", "legal", "enforcement" ], - "char": "\ud83d\ude93", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - ambulance: { - keywords: [ "health", "911", "hospital" ], - "char": "\ud83d\ude91", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - fire_engine: { - keywords: [ "transportation", "cars", "vehicle" ], - "char": "\ud83d\ude92", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - minibus: { - keywords: [ "vehicle", "car", "transportation" ], - "char": "\ud83d\ude90", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - truck: { - keywords: [ "cars", "transportation" ], - "char": "\ud83d\ude9a", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - articulated_lorry: { - keywords: [ "vehicle", "cars", "transportation", "express" ], - "char": "\ud83d\ude9b", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - tractor: { - keywords: [ "vehicle", "car", "farming", "agriculture" ], - "char": "\ud83d\ude9c", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - kick_scooter: { - keywords: [ "vehicle", "kick", "razor" ], - "char": "\ud83d\udef4", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - motorcycle: { - keywords: [ "race", "sports", "fast" ], - "char": "\ud83c\udfcd", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - bike: { - keywords: [ "sports", "bicycle", "exercise", "hipster" ], - "char": "\ud83d\udeb2", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - motor_scooter: { - keywords: [ "vehicle", "vespa", "sasha" ], - "char": "\ud83d\udef5", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - rotating_light: { - keywords: [ "police", "ambulance", "911", "emergency", "alert", "error", "pinged", "law", "legal" ], - "char": "\ud83d\udea8", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - oncoming_police_car: { - keywords: [ "vehicle", "law", "legal", "enforcement", "911" ], - "char": "\ud83d\ude94", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - oncoming_bus: { - keywords: [ "vehicle", "transportation" ], - "char": "\ud83d\ude8d", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - oncoming_automobile: { - keywords: [ "car", "vehicle", "transportation" ], - "char": "\ud83d\ude98", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - oncoming_taxi: { - keywords: [ "vehicle", "cars", "uber" ], - "char": "\ud83d\ude96", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - aerial_tramway: { - keywords: [ "transportation", "vehicle", "ski" ], - "char": "\ud83d\udea1", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - mountain_cableway: { - keywords: [ "transportation", "vehicle", "ski" ], - "char": "\ud83d\udea0", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - suspension_railway: { - keywords: [ "vehicle", "transportation" ], - "char": "\ud83d\ude9f", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - railway_car: { - keywords: [ "transportation", "vehicle" ], - "char": "\ud83d\ude83", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - train: { - keywords: [ "transportation", "vehicle", "carriage", "public", "travel" ], - "char": "\ud83d\ude8b", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - monorail: { - keywords: [ "transportation", "vehicle" ], - "char": "\ud83d\ude9d", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - bullettrain_side: { - keywords: [ "transportation", "vehicle" ], - "char": "\ud83d\ude84", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - bullettrain_front: { - keywords: [ "transportation", "vehicle", "speed", "fast", "public", "travel" ], - "char": "\ud83d\ude85", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - light_rail: { - keywords: [ "transportation", "vehicle" ], - "char": "\ud83d\ude88", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - mountain_railway: { - keywords: [ "transportation", "vehicle" ], - "char": "\ud83d\ude9e", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - steam_locomotive: { - keywords: [ "transportation", "vehicle", "train" ], - "char": "\ud83d\ude82", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - train2: { - keywords: [ "transportation", "vehicle" ], - "char": "\ud83d\ude86", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - metro: { - keywords: [ "transportation", "blue-square", "mrt", "underground", "tube" ], - "char": "\ud83d\ude87", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - tram: { - keywords: [ "transportation", "vehicle" ], - "char": "\ud83d\ude8a", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - station: { - keywords: [ "transportation", "vehicle", "public" ], - "char": "\ud83d\ude89", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - flying_saucer: { - keywords: [ "transportation", "vehicle", "ufo" ], - "char": "\ud83d\udef8", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - helicopter: { - keywords: [ "transportation", "vehicle", "fly" ], - "char": "\ud83d\ude81", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - small_airplane: { - keywords: [ "flight", "transportation", "fly", "vehicle" ], - "char": "\ud83d\udee9", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - airplane: { - keywords: [ "vehicle", "transportation", "flight", "fly" ], - "char": "\u2708\ufe0f", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - flight_departure: { - keywords: [ "airport", "flight", "landing" ], - "char": "\ud83d\udeeb", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - flight_arrival: { - keywords: [ "airport", "flight", "boarding" ], - "char": "\ud83d\udeec", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - sailboat: { - keywords: [ "ship", "summer", "transportation", "water", "sailing" ], - "char": "\u26f5", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - motor_boat: { - keywords: [ "ship" ], - "char": "\ud83d\udee5", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - speedboat: { - keywords: [ "ship", "transportation", "vehicle", "summer" ], - "char": "\ud83d\udea4", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - ferry: { - keywords: [ "boat", "ship", "yacht" ], - "char": "\u26f4", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - passenger_ship: { - keywords: [ "yacht", "cruise", "ferry" ], - "char": "\ud83d\udef3", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - rocket: { - keywords: [ "launch", "ship", "staffmode", "NASA", "outer space", "outer_space", "fly" ], - "char": "\ud83d\ude80", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - artificial_satellite: { - keywords: [ "communication", "gps", "orbit", "spaceflight", "NASA", "ISS" ], - "char": "\ud83d\udef0", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - seat: { - keywords: [ "sit", "airplane", "transport", "bus", "flight", "fly" ], - "char": "\ud83d\udcba", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - canoe: { - keywords: [ "boat", "paddle", "water", "ship" ], - "char": "\ud83d\udef6", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - anchor: { - keywords: [ "ship", "ferry", "sea", "boat" ], - "char": "\u2693", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - construction: { - keywords: [ "wip", "progress", "caution", "warning" ], - "char": "\ud83d\udea7", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - fuelpump: { - keywords: [ "gas station", "petroleum" ], - "char": "\u26fd", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - busstop: { - keywords: [ "transportation", "wait" ], - "char": "\ud83d\ude8f", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - vertical_traffic_light: { - keywords: [ "transportation", "driving" ], - "char": "\ud83d\udea6", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - traffic_light: { - keywords: [ "transportation", "signal" ], - "char": "\ud83d\udea5", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - checkered_flag: { - keywords: [ "contest", "finishline", "race", "gokart" ], - "char": "\ud83c\udfc1", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - ship: { - keywords: [ "transportation", "titanic", "deploy" ], - "char": "\ud83d\udea2", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - ferris_wheel: { - keywords: [ "photo", "carnival", "londoneye" ], - "char": "\ud83c\udfa1", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - roller_coaster: { - keywords: [ "carnival", "playground", "photo", "fun" ], - "char": "\ud83c\udfa2", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - carousel_horse: { - keywords: [ "photo", "carnival" ], - "char": "\ud83c\udfa0", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - building_construction: { - keywords: [ "wip", "working", "progress" ], - "char": "\ud83c\udfd7", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - foggy: { - keywords: [ "photo", "mountain" ], - "char": "\ud83c\udf01", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - tokyo_tower: { - keywords: [ "photo", "japanese" ], - "char": "\ud83d\uddfc", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - factory: { - keywords: [ "building", "industry", "pollution", "smoke" ], - "char": "\ud83c\udfed", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - fountain: { - keywords: [ "photo", "summer", "water", "fresh" ], - "char": "\u26f2", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - rice_scene: { - keywords: [ "photo", "japan", "asia", "tsukimi" ], - "char": "\ud83c\udf91", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - mountain: { - keywords: [ "photo", "nature", "environment" ], - "char": "\u26f0", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - mountain_snow: { - keywords: [ "photo", "nature", "environment", "winter", "cold" ], - "char": "\ud83c\udfd4", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - mount_fuji: { - keywords: [ "photo", "mountain", "nature", "japanese" ], - "char": "\ud83d\uddfb", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - volcano: { - keywords: [ "photo", "nature", "disaster" ], - "char": "\ud83c\udf0b", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - japan: { - keywords: [ "nation", "country", "japanese", "asia" ], - "char": "\ud83d\uddfe", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - camping: { - keywords: [ "photo", "outdoors", "tent" ], - "char": "\ud83c\udfd5", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - tent: { - keywords: [ "photo", "camping", "outdoors" ], - "char": "\u26fa", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - national_park: { - keywords: [ "photo", "environment", "nature" ], - "char": "\ud83c\udfde", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - motorway: { - keywords: [ "road", "cupertino", "interstate", "highway" ], - "char": "\ud83d\udee3", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - railway_track: { - keywords: [ "train", "transportation" ], - "char": "\ud83d\udee4", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - sunrise: { - keywords: [ "morning", "view", "vacation", "photo" ], - "char": "\ud83c\udf05", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - sunrise_over_mountains: { - keywords: [ "view", "vacation", "photo" ], - "char": "\ud83c\udf04", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - desert: { - keywords: [ "photo", "warm", "saharah" ], - "char": "\ud83c\udfdc", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - beach_umbrella: { - keywords: [ "weather", "summer", "sunny", "sand", "mojito" ], - "char": "\ud83c\udfd6", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - desert_island: { - keywords: [ "photo", "tropical", "mojito" ], - "char": "\ud83c\udfdd", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - city_sunrise: { - keywords: [ "photo", "good morning", "dawn" ], - "char": "\ud83c\udf07", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - city_sunset: { - keywords: [ "photo", "evening", "sky", "buildings" ], - "char": "\ud83c\udf06", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - cityscape: { - keywords: [ "photo", "night life", "urban" ], - "char": "\ud83c\udfd9", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - night_with_stars: { - keywords: [ "evening", "city", "downtown" ], - "char": "\ud83c\udf03", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - bridge_at_night: { - keywords: [ "photo", "sanfrancisco" ], - "char": "\ud83c\udf09", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - milky_way: { - keywords: [ "photo", "space", "stars" ], - "char": "\ud83c\udf0c", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - stars: { - keywords: [ "night", "photo" ], - "char": "\ud83c\udf20", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - sparkler: { - keywords: [ "stars", "night", "shine" ], - "char": "\ud83c\udf87", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - fireworks: { - keywords: [ "photo", "festival", "carnival", "congratulations" ], - "char": "\ud83c\udf86", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - rainbow: { - keywords: [ "nature", "happy", "unicorn_face", "photo", "sky", "spring" ], - "char": "\ud83c\udf08", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - houses: { - keywords: [ "buildings", "photo" ], - "char": "\ud83c\udfd8", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - european_castle: { - keywords: [ "building", "royalty", "history" ], - "char": "\ud83c\udff0", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - japanese_castle: { - keywords: [ "photo", "building" ], - "char": "\ud83c\udfef", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - stadium: { - keywords: [ "photo", "place", "sports", "concert", "venue" ], - "char": "\ud83c\udfdf", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - statue_of_liberty: { - keywords: [ "american", "newyork" ], - "char": "\ud83d\uddfd", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - house: { - keywords: [ "building", "home" ], - "char": "\ud83c\udfe0", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - house_with_garden: { - keywords: [ "home", "plant", "nature" ], - "char": "\ud83c\udfe1", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - derelict_house: { - keywords: [ "abandon", "evict", "broken", "building" ], - "char": "\ud83c\udfda", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - office: { - keywords: [ "building", "bureau", "work" ], - "char": "\ud83c\udfe2", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - department_store: { - keywords: [ "building", "shopping", "mall" ], - "char": "\ud83c\udfec", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - post_office: { - keywords: [ "building", "envelope", "communication" ], - "char": "\ud83c\udfe3", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - european_post_office: { - keywords: [ "building", "email" ], - "char": "\ud83c\udfe4", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - hospital: { - keywords: [ "building", "health", "surgery", "doctor" ], - "char": "\ud83c\udfe5", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - bank: { - keywords: [ "building", "money", "sales", "cash", "business", "enterprise" ], - "char": "\ud83c\udfe6", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - hotel: { - keywords: [ "building", "accomodation", "checkin" ], - "char": "\ud83c\udfe8", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - convenience_store: { - keywords: [ "building", "shopping", "groceries" ], - "char": "\ud83c\udfea", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - school: { - keywords: [ "building", "student", "education", "learn", "teach" ], - "char": "\ud83c\udfeb", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - love_hotel: { - keywords: [ "like", "affection", "dating" ], - "char": "\ud83c\udfe9", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - wedding: { - keywords: [ "love", "like", "affection", "couple", "marriage", "bride", "groom" ], - "char": "\ud83d\udc92", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - classical_building: { - keywords: [ "art", "culture", "history" ], - "char": "\ud83c\udfdb", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - church: { - keywords: [ "building", "religion", "christ" ], - "char": "\u26ea", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - mosque: { - keywords: [ "islam", "worship", "minaret" ], - "char": "\ud83d\udd4c", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - synagogue: { - keywords: [ "judaism", "worship", "temple", "jewish" ], - "char": "\ud83d\udd4d", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - kaaba: { - keywords: [ "mecca", "mosque", "islam" ], - "char": "\ud83d\udd4b", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - shinto_shrine: { - keywords: [ "temple", "japan", "kyoto" ], - "char": "\u26e9", - fitzpatrick_scale: false, - category: "travel_and_places" - }, - watch: { - keywords: [ "time", "accessories" ], - "char": "\u231a", - fitzpatrick_scale: false, - category: "objects" - }, - iphone: { - keywords: [ "technology", "apple", "gadgets", "dial" ], - "char": "\ud83d\udcf1", - fitzpatrick_scale: false, - category: "objects" - }, - calling: { - keywords: [ "iphone", "incoming" ], - "char": "\ud83d\udcf2", - fitzpatrick_scale: false, - category: "objects" - }, - computer: { - keywords: [ "technology", "laptop", "screen", "display", "monitor" ], - "char": "\ud83d\udcbb", - fitzpatrick_scale: false, - category: "objects" - }, - keyboard: { - keywords: [ "technology", "computer", "type", "input", "text" ], - "char": "\u2328", - fitzpatrick_scale: false, - category: "objects" - }, - desktop_computer: { - keywords: [ "technology", "computing", "screen" ], - "char": "\ud83d\udda5", - fitzpatrick_scale: false, - category: "objects" - }, - printer: { - keywords: [ "paper", "ink" ], - "char": "\ud83d\udda8", - fitzpatrick_scale: false, - category: "objects" - }, - computer_mouse: { - keywords: [ "click" ], - "char": "\ud83d\uddb1", - fitzpatrick_scale: false, - category: "objects" - }, - trackball: { - keywords: [ "technology", "trackpad" ], - "char": "\ud83d\uddb2", - fitzpatrick_scale: false, - category: "objects" - }, - joystick: { - keywords: [ "game", "play" ], - "char": "\ud83d\udd79", - fitzpatrick_scale: false, - category: "objects" - }, - clamp: { - keywords: [ "tool" ], - "char": "\ud83d\udddc", - fitzpatrick_scale: false, - category: "objects" - }, - minidisc: { - keywords: [ "technology", "record", "data", "disk", "90s" ], - "char": "\ud83d\udcbd", - fitzpatrick_scale: false, - category: "objects" - }, - floppy_disk: { - keywords: [ "oldschool", "technology", "save", "90s", "80s" ], - "char": "\ud83d\udcbe", - fitzpatrick_scale: false, - category: "objects" - }, - cd: { - keywords: [ "technology", "dvd", "disk", "disc", "90s" ], - "char": "\ud83d\udcbf", - fitzpatrick_scale: false, - category: "objects" - }, - dvd: { - keywords: [ "cd", "disk", "disc" ], - "char": "\ud83d\udcc0", - fitzpatrick_scale: false, - category: "objects" - }, - vhs: { - keywords: [ "record", "video", "oldschool", "90s", "80s" ], - "char": "\ud83d\udcfc", - fitzpatrick_scale: false, - category: "objects" - }, - camera: { - keywords: [ "gadgets", "photography" ], - "char": "\ud83d\udcf7", - fitzpatrick_scale: false, - category: "objects" - }, - camera_flash: { - keywords: [ "photography", "gadgets" ], - "char": "\ud83d\udcf8", - fitzpatrick_scale: false, - category: "objects" - }, - video_camera: { - keywords: [ "film", "record" ], - "char": "\ud83d\udcf9", - fitzpatrick_scale: false, - category: "objects" - }, - movie_camera: { - keywords: [ "film", "record" ], - "char": "\ud83c\udfa5", - fitzpatrick_scale: false, - category: "objects" - }, - film_projector: { - keywords: [ "video", "tape", "record", "movie" ], - "char": "\ud83d\udcfd", - fitzpatrick_scale: false, - category: "objects" - }, - film_strip: { - keywords: [ "movie" ], - "char": "\ud83c\udf9e", - fitzpatrick_scale: false, - category: "objects" - }, - telephone_receiver: { - keywords: [ "technology", "communication", "dial" ], - "char": "\ud83d\udcde", - fitzpatrick_scale: false, - category: "objects" - }, - phone: { - keywords: [ "technology", "communication", "dial", "telephone" ], - "char": "\u260e\ufe0f", - fitzpatrick_scale: false, - category: "objects" - }, - pager: { - keywords: [ "bbcall", "oldschool", "90s" ], - "char": "\ud83d\udcdf", - fitzpatrick_scale: false, - category: "objects" - }, - fax: { - keywords: [ "communication", "technology" ], - "char": "\ud83d\udce0", - fitzpatrick_scale: false, - category: "objects" - }, - tv: { - keywords: [ "technology", "program", "oldschool", "show", "television" ], - "char": "\ud83d\udcfa", - fitzpatrick_scale: false, - category: "objects" - }, - radio: { - keywords: [ "communication", "music", "podcast", "program" ], - "char": "\ud83d\udcfb", - fitzpatrick_scale: false, - category: "objects" - }, - studio_microphone: { - keywords: [ "sing", "recording", "artist", "talkshow" ], - "char": "\ud83c\udf99", - fitzpatrick_scale: false, - category: "objects" - }, - level_slider: { - keywords: [ "scale" ], - "char": "\ud83c\udf9a", - fitzpatrick_scale: false, - category: "objects" - }, - control_knobs: { - keywords: [ "dial" ], - "char": "\ud83c\udf9b", - fitzpatrick_scale: false, - category: "objects" - }, - stopwatch: { - keywords: [ "time", "deadline" ], - "char": "\u23f1", - fitzpatrick_scale: false, - category: "objects" - }, - timer_clock: { - keywords: [ "alarm" ], - "char": "\u23f2", - fitzpatrick_scale: false, - category: "objects" - }, - alarm_clock: { - keywords: [ "time", "wake" ], - "char": "\u23f0", - fitzpatrick_scale: false, - category: "objects" - }, - mantelpiece_clock: { - keywords: [ "time" ], - "char": "\ud83d\udd70", - fitzpatrick_scale: false, - category: "objects" - }, - hourglass_flowing_sand: { - keywords: [ "oldschool", "time", "countdown" ], - "char": "\u23f3", - fitzpatrick_scale: false, - category: "objects" - }, - hourglass: { - keywords: [ "time", "clock", "oldschool", "limit", "exam", "quiz", "test" ], - "char": "\u231b", - fitzpatrick_scale: false, - category: "objects" - }, - satellite: { - keywords: [ "communication", "future", "radio", "space" ], - "char": "\ud83d\udce1", - fitzpatrick_scale: false, - category: "objects" - }, - battery: { - keywords: [ "power", "energy", "sustain" ], - "char": "\ud83d\udd0b", - fitzpatrick_scale: false, - category: "objects" - }, - electric_plug: { - keywords: [ "charger", "power" ], - "char": "\ud83d\udd0c", - fitzpatrick_scale: false, - category: "objects" - }, - bulb: { - keywords: [ "light", "electricity", "idea" ], - "char": "\ud83d\udca1", - fitzpatrick_scale: false, - category: "objects" - }, - flashlight: { - keywords: [ "dark", "camping", "sight", "night" ], - "char": "\ud83d\udd26", - fitzpatrick_scale: false, - category: "objects" - }, - candle: { - keywords: [ "fire", "wax" ], - "char": "\ud83d\udd6f", - fitzpatrick_scale: false, - category: "objects" - }, - wastebasket: { - keywords: [ "bin", "trash", "rubbish", "garbage", "toss" ], - "char": "\ud83d\uddd1", - fitzpatrick_scale: false, - category: "objects" - }, - oil_drum: { - keywords: [ "barrell" ], - "char": "\ud83d\udee2", - fitzpatrick_scale: false, - category: "objects" - }, - money_with_wings: { - keywords: [ "dollar", "bills", "payment", "sale" ], - "char": "\ud83d\udcb8", - fitzpatrick_scale: false, - category: "objects" - }, - dollar: { - keywords: [ "money", "sales", "bill", "currency" ], - "char": "\ud83d\udcb5", - fitzpatrick_scale: false, - category: "objects" - }, - yen: { - keywords: [ "money", "sales", "japanese", "dollar", "currency" ], - "char": "\ud83d\udcb4", - fitzpatrick_scale: false, - category: "objects" - }, - euro: { - keywords: [ "money", "sales", "dollar", "currency" ], - "char": "\ud83d\udcb6", - fitzpatrick_scale: false, - category: "objects" - }, - pound: { - keywords: [ "british", "sterling", "money", "sales", "bills", "uk", "england", "currency" ], - "char": "\ud83d\udcb7", - fitzpatrick_scale: false, - category: "objects" - }, - moneybag: { - keywords: [ "dollar", "payment", "coins", "sale" ], - "char": "\ud83d\udcb0", - fitzpatrick_scale: false, - category: "objects" - }, - credit_card: { - keywords: [ "money", "sales", "dollar", "bill", "payment", "shopping" ], - "char": "\ud83d\udcb3", - fitzpatrick_scale: false, - category: "objects" - }, - gem: { - keywords: [ "blue", "ruby", "diamond", "jewelry" ], - "char": "\ud83d\udc8e", - fitzpatrick_scale: false, - category: "objects" - }, - balance_scale: { - keywords: [ "law", "fairness", "weight" ], - "char": "\u2696", - fitzpatrick_scale: false, - category: "objects" - }, - wrench: { - keywords: [ "tools", "diy", "ikea", "fix", "maintainer" ], - "char": "\ud83d\udd27", - fitzpatrick_scale: false, - category: "objects" - }, - hammer: { - keywords: [ "tools", "build", "create" ], - "char": "\ud83d\udd28", - fitzpatrick_scale: false, - category: "objects" - }, - hammer_and_pick: { - keywords: [ "tools", "build", "create" ], - "char": "\u2692", - fitzpatrick_scale: false, - category: "objects" - }, - hammer_and_wrench: { - keywords: [ "tools", "build", "create" ], - "char": "\ud83d\udee0", - fitzpatrick_scale: false, - category: "objects" - }, - pick: { - keywords: [ "tools", "dig" ], - "char": "\u26cf", - fitzpatrick_scale: false, - category: "objects" - }, - nut_and_bolt: { - keywords: [ "handy", "tools", "fix" ], - "char": "\ud83d\udd29", - fitzpatrick_scale: false, - category: "objects" - }, - gear: { - keywords: [ "cog" ], - "char": "\u2699", - fitzpatrick_scale: false, - category: "objects" - }, - chains: { - keywords: [ "lock", "arrest" ], - "char": "\u26d3", - fitzpatrick_scale: false, - category: "objects" - }, - gun: { - keywords: [ "violence", "weapon", "pistol", "revolver" ], - "char": "\ud83d\udd2b", - fitzpatrick_scale: false, - category: "objects" - }, - bomb: { - keywords: [ "boom", "explode", "explosion", "terrorism" ], - "char": "\ud83d\udca3", - fitzpatrick_scale: false, - category: "objects" - }, - hocho: { - keywords: [ "knife", "blade", "cutlery", "kitchen", "weapon" ], - "char": "\ud83d\udd2a", - fitzpatrick_scale: false, - category: "objects" - }, - dagger: { - keywords: [ "weapon" ], - "char": "\ud83d\udde1", - fitzpatrick_scale: false, - category: "objects" - }, - crossed_swords: { - keywords: [ "weapon" ], - "char": "\u2694", - fitzpatrick_scale: false, - category: "objects" - }, - shield: { - keywords: [ "protection", "security" ], - "char": "\ud83d\udee1", - fitzpatrick_scale: false, - category: "objects" - }, - smoking: { - keywords: [ "kills", "tobacco", "cigarette", "joint", "smoke" ], - "char": "\ud83d\udeac", - fitzpatrick_scale: false, - category: "objects" - }, - skull_and_crossbones: { - keywords: [ "poison", "danger", "deadly", "scary", "death", "pirate", "evil" ], - "char": "\u2620", - fitzpatrick_scale: false, - category: "objects" - }, - coffin: { - keywords: [ "vampire", "dead", "die", "death", "rip", "graveyard", "cemetery", "casket", "funeral", "box" ], - "char": "\u26b0", - fitzpatrick_scale: false, - category: "objects" - }, - funeral_urn: { - keywords: [ "dead", "die", "death", "rip", "ashes" ], - "char": "\u26b1", - fitzpatrick_scale: false, - category: "objects" - }, - amphora: { - keywords: [ "vase", "jar" ], - "char": "\ud83c\udffa", - fitzpatrick_scale: false, - category: "objects" - }, - crystal_ball: { - keywords: [ "disco", "party", "magic", "circus", "fortune_teller" ], - "char": "\ud83d\udd2e", - fitzpatrick_scale: false, - category: "objects" - }, - prayer_beads: { - keywords: [ "dhikr", "religious" ], - "char": "\ud83d\udcff", - fitzpatrick_scale: false, - category: "objects" - }, - barber: { - keywords: [ "hair", "salon", "style" ], - "char": "\ud83d\udc88", - fitzpatrick_scale: false, - category: "objects" - }, - alembic: { - keywords: [ "distilling", "science", "experiment", "chemistry" ], - "char": "\u2697", - fitzpatrick_scale: false, - category: "objects" - }, - telescope: { - keywords: [ "stars", "space", "zoom", "science", "astronomy" ], - "char": "\ud83d\udd2d", - fitzpatrick_scale: false, - category: "objects" - }, - microscope: { - keywords: [ "laboratory", "experiment", "zoomin", "science", "study" ], - "char": "\ud83d\udd2c", - fitzpatrick_scale: false, - category: "objects" - }, - hole: { - keywords: [ "embarrassing" ], - "char": "\ud83d\udd73", - fitzpatrick_scale: false, - category: "objects" - }, - pill: { - keywords: [ "health", "medicine", "doctor", "pharmacy", "drug" ], - "char": "\ud83d\udc8a", - fitzpatrick_scale: false, - category: "objects" - }, - syringe: { - keywords: [ "health", "hospital", "drugs", "blood", "medicine", "needle", "doctor", "nurse" ], - "char": "\ud83d\udc89", - fitzpatrick_scale: false, - category: "objects" - }, - thermometer: { - keywords: [ "weather", "temperature", "hot", "cold" ], - "char": "\ud83c\udf21", - fitzpatrick_scale: false, - category: "objects" - }, - label: { - keywords: [ "sale", "tag" ], - "char": "\ud83c\udff7", - fitzpatrick_scale: false, - category: "objects" - }, - bookmark: { - keywords: [ "favorite", "label", "save" ], - "char": "\ud83d\udd16", - fitzpatrick_scale: false, - category: "objects" - }, - toilet: { - keywords: [ "restroom", "wc", "washroom", "bathroom", "potty" ], - "char": "\ud83d\udebd", - fitzpatrick_scale: false, - category: "objects" - }, - shower: { - keywords: [ "clean", "water", "bathroom" ], - "char": "\ud83d\udebf", - fitzpatrick_scale: false, - category: "objects" - }, - bathtub: { - keywords: [ "clean", "shower", "bathroom" ], - "char": "\ud83d\udec1", - fitzpatrick_scale: false, - category: "objects" - }, - key: { - keywords: [ "lock", "door", "password" ], - "char": "\ud83d\udd11", - fitzpatrick_scale: false, - category: "objects" - }, - old_key: { - keywords: [ "lock", "door", "password" ], - "char": "\ud83d\udddd", - fitzpatrick_scale: false, - category: "objects" - }, - couch_and_lamp: { - keywords: [ "read", "chill" ], - "char": "\ud83d\udecb", - fitzpatrick_scale: false, - category: "objects" - }, - sleeping_bed: { - keywords: [ "bed", "rest" ], - "char": "\ud83d\udecc", - fitzpatrick_scale: true, - category: "objects" - }, - bed: { - keywords: [ "sleep", "rest" ], - "char": "\ud83d\udecf", - fitzpatrick_scale: false, - category: "objects" - }, - door: { - keywords: [ "house", "entry", "exit" ], - "char": "\ud83d\udeaa", - fitzpatrick_scale: false, - category: "objects" - }, - bellhop_bell: { - keywords: [ "service" ], - "char": "\ud83d\udece", - fitzpatrick_scale: false, - category: "objects" - }, - framed_picture: { - keywords: [ "photography" ], - "char": "\ud83d\uddbc", - fitzpatrick_scale: false, - category: "objects" - }, - world_map: { - keywords: [ "location", "direction" ], - "char": "\ud83d\uddfa", - fitzpatrick_scale: false, - category: "objects" - }, - parasol_on_ground: { - keywords: [ "weather", "summer" ], - "char": "\u26f1", - fitzpatrick_scale: false, - category: "objects" - }, - moyai: { - keywords: [ "rock", "easter island", "moai" ], - "char": "\ud83d\uddff", - fitzpatrick_scale: false, - category: "objects" - }, - shopping: { - keywords: [ "mall", "buy", "purchase" ], - "char": "\ud83d\udecd", - fitzpatrick_scale: false, - category: "objects" - }, - shopping_cart: { - keywords: [ "trolley" ], - "char": "\ud83d\uded2", - fitzpatrick_scale: false, - category: "objects" - }, - balloon: { - keywords: [ "party", "celebration", "birthday", "circus" ], - "char": "\ud83c\udf88", - fitzpatrick_scale: false, - category: "objects" - }, - flags: { - keywords: [ "fish", "japanese", "koinobori", "carp", "banner" ], - "char": "\ud83c\udf8f", - fitzpatrick_scale: false, - category: "objects" - }, - ribbon: { - keywords: [ "decoration", "pink", "girl", "bowtie" ], - "char": "\ud83c\udf80", - fitzpatrick_scale: false, - category: "objects" - }, - gift: { - keywords: [ "present", "birthday", "christmas", "xmas" ], - "char": "\ud83c\udf81", - fitzpatrick_scale: false, - category: "objects" - }, - confetti_ball: { - keywords: [ "festival", "party", "birthday", "circus" ], - "char": "\ud83c\udf8a", - fitzpatrick_scale: false, - category: "objects" - }, - tada: { - keywords: [ "party", "congratulations", "birthday", "magic", "circus", "celebration" ], - "char": "\ud83c\udf89", - fitzpatrick_scale: false, - category: "objects" - }, - dolls: { - keywords: [ "japanese", "toy", "kimono" ], - "char": "\ud83c\udf8e", - fitzpatrick_scale: false, - category: "objects" - }, - wind_chime: { - keywords: [ "nature", "ding", "spring", "bell" ], - "char": "\ud83c\udf90", - fitzpatrick_scale: false, - category: "objects" - }, - crossed_flags: { - keywords: [ "japanese", "nation", "country", "border" ], - "char": "\ud83c\udf8c", - fitzpatrick_scale: false, - category: "objects" - }, - izakaya_lantern: { - keywords: [ "light", "paper", "halloween", "spooky" ], - "char": "\ud83c\udfee", - fitzpatrick_scale: false, - category: "objects" - }, - email: { - keywords: [ "letter", "postal", "inbox", "communication" ], - "char": "\u2709\ufe0f", - fitzpatrick_scale: false, - category: "objects" - }, - envelope_with_arrow: { - keywords: [ "email", "communication" ], - "char": "\ud83d\udce9", - fitzpatrick_scale: false, - category: "objects" - }, - incoming_envelope: { - keywords: [ "email", "inbox" ], - "char": "\ud83d\udce8", - fitzpatrick_scale: false, - category: "objects" - }, - "e-mail": { - keywords: [ "communication", "inbox" ], - "char": "\ud83d\udce7", - fitzpatrick_scale: false, - category: "objects" - }, - love_letter: { - keywords: [ "email", "like", "affection", "envelope", "valentines" ], - "char": "\ud83d\udc8c", - fitzpatrick_scale: false, - category: "objects" - }, - postbox: { - keywords: [ "email", "letter", "envelope" ], - "char": "\ud83d\udcee", - fitzpatrick_scale: false, - category: "objects" - }, - mailbox_closed: { - keywords: [ "email", "communication", "inbox" ], - "char": "\ud83d\udcea", - fitzpatrick_scale: false, - category: "objects" - }, - mailbox: { - keywords: [ "email", "inbox", "communication" ], - "char": "\ud83d\udceb", - fitzpatrick_scale: false, - category: "objects" - }, - mailbox_with_mail: { - keywords: [ "email", "inbox", "communication" ], - "char": "\ud83d\udcec", - fitzpatrick_scale: false, - category: "objects" - }, - mailbox_with_no_mail: { - keywords: [ "email", "inbox" ], - "char": "\ud83d\udced", - fitzpatrick_scale: false, - category: "objects" - }, - "package": { - keywords: [ "mail", "gift", "cardboard", "box", "moving" ], - "char": "\ud83d\udce6", - fitzpatrick_scale: false, - category: "objects" - }, - postal_horn: { - keywords: [ "instrument", "music" ], - "char": "\ud83d\udcef", - fitzpatrick_scale: false, - category: "objects" - }, - inbox_tray: { - keywords: [ "email", "documents" ], - "char": "\ud83d\udce5", - fitzpatrick_scale: false, - category: "objects" - }, - outbox_tray: { - keywords: [ "inbox", "email" ], - "char": "\ud83d\udce4", - fitzpatrick_scale: false, - category: "objects" - }, - scroll: { - keywords: [ "documents", "ancient", "history", "paper" ], - "char": "\ud83d\udcdc", - fitzpatrick_scale: false, - category: "objects" - }, - page_with_curl: { - keywords: [ "documents", "office", "paper" ], - "char": "\ud83d\udcc3", - fitzpatrick_scale: false, - category: "objects" - }, - bookmark_tabs: { - keywords: [ "favorite", "save", "order", "tidy" ], - "char": "\ud83d\udcd1", - fitzpatrick_scale: false, - category: "objects" - }, - bar_chart: { - keywords: [ "graph", "presentation", "stats" ], - "char": "\ud83d\udcca", - fitzpatrick_scale: false, - category: "objects" - }, - chart_with_upwards_trend: { - keywords: [ "graph", "presentation", "stats", "recovery", "business", "economics", "money", "sales", "good", "success" ], - "char": "\ud83d\udcc8", - fitzpatrick_scale: false, - category: "objects" - }, - chart_with_downwards_trend: { - keywords: [ "graph", "presentation", "stats", "recession", "business", "economics", "money", "sales", "bad", "failure" ], - "char": "\ud83d\udcc9", - fitzpatrick_scale: false, - category: "objects" - }, - page_facing_up: { - keywords: [ "documents", "office", "paper", "information" ], - "char": "\ud83d\udcc4", - fitzpatrick_scale: false, - category: "objects" - }, - date: { - keywords: [ "calendar", "schedule" ], - "char": "\ud83d\udcc5", - fitzpatrick_scale: false, - category: "objects" - }, - calendar: { - keywords: [ "schedule", "date", "planning" ], - "char": "\ud83d\udcc6", - fitzpatrick_scale: false, - category: "objects" - }, - spiral_calendar: { - keywords: [ "date", "schedule", "planning" ], - "char": "\ud83d\uddd3", - fitzpatrick_scale: false, - category: "objects" - }, - card_index: { - keywords: [ "business", "stationery" ], - "char": "\ud83d\udcc7", - fitzpatrick_scale: false, - category: "objects" - }, - card_file_box: { - keywords: [ "business", "stationery" ], - "char": "\ud83d\uddc3", - fitzpatrick_scale: false, - category: "objects" - }, - ballot_box: { - keywords: [ "election", "vote" ], - "char": "\ud83d\uddf3", - fitzpatrick_scale: false, - category: "objects" - }, - file_cabinet: { - keywords: [ "filing", "organizing" ], - "char": "\ud83d\uddc4", - fitzpatrick_scale: false, - category: "objects" - }, - clipboard: { - keywords: [ "stationery", "documents" ], - "char": "\ud83d\udccb", - fitzpatrick_scale: false, - category: "objects" - }, - spiral_notepad: { - keywords: [ "memo", "stationery" ], - "char": "\ud83d\uddd2", - fitzpatrick_scale: false, - category: "objects" - }, - file_folder: { - keywords: [ "documents", "business", "office" ], - "char": "\ud83d\udcc1", - fitzpatrick_scale: false, - category: "objects" - }, - open_file_folder: { - keywords: [ "documents", "load" ], - "char": "\ud83d\udcc2", - fitzpatrick_scale: false, - category: "objects" - }, - card_index_dividers: { - keywords: [ "organizing", "business", "stationery" ], - "char": "\ud83d\uddc2", - fitzpatrick_scale: false, - category: "objects" - }, - newspaper_roll: { - keywords: [ "press", "headline" ], - "char": "\ud83d\uddde", - fitzpatrick_scale: false, - category: "objects" - }, - newspaper: { - keywords: [ "press", "headline" ], - "char": "\ud83d\udcf0", - fitzpatrick_scale: false, - category: "objects" - }, - notebook: { - keywords: [ "stationery", "record", "notes", "paper", "study" ], - "char": "\ud83d\udcd3", - fitzpatrick_scale: false, - category: "objects" - }, - closed_book: { - keywords: [ "read", "library", "knowledge", "textbook", "learn" ], - "char": "\ud83d\udcd5", - fitzpatrick_scale: false, - category: "objects" - }, - green_book: { - keywords: [ "read", "library", "knowledge", "study" ], - "char": "\ud83d\udcd7", - fitzpatrick_scale: false, - category: "objects" - }, - blue_book: { - keywords: [ "read", "library", "knowledge", "learn", "study" ], - "char": "\ud83d\udcd8", - fitzpatrick_scale: false, - category: "objects" - }, - orange_book: { - keywords: [ "read", "library", "knowledge", "textbook", "study" ], - "char": "\ud83d\udcd9", - fitzpatrick_scale: false, - category: "objects" - }, - notebook_with_decorative_cover: { - keywords: [ "classroom", "notes", "record", "paper", "study" ], - "char": "\ud83d\udcd4", - fitzpatrick_scale: false, - category: "objects" - }, - ledger: { - keywords: [ "notes", "paper" ], - "char": "\ud83d\udcd2", - fitzpatrick_scale: false, - category: "objects" - }, - books: { - keywords: [ "literature", "library", "study" ], - "char": "\ud83d\udcda", - fitzpatrick_scale: false, - category: "objects" - }, - open_book: { - keywords: [ "book", "read", "library", "knowledge", "literature", "learn", "study" ], - "char": "\ud83d\udcd6", - fitzpatrick_scale: false, - category: "objects" - }, - link: { - keywords: [ "rings", "url" ], - "char": "\ud83d\udd17", - fitzpatrick_scale: false, - category: "objects" - }, - paperclip: { - keywords: [ "documents", "stationery" ], - "char": "\ud83d\udcce", - fitzpatrick_scale: false, - category: "objects" - }, - paperclips: { - keywords: [ "documents", "stationery" ], - "char": "\ud83d\udd87", - fitzpatrick_scale: false, - category: "objects" - }, - scissors: { - keywords: [ "stationery", "cut" ], - "char": "\u2702\ufe0f", - fitzpatrick_scale: false, - category: "objects" - }, - triangular_ruler: { - keywords: [ "stationery", "math", "architect", "sketch" ], - "char": "\ud83d\udcd0", - fitzpatrick_scale: false, - category: "objects" - }, - straight_ruler: { - keywords: [ "stationery", "calculate", "length", "math", "school", "drawing", "architect", "sketch" ], - "char": "\ud83d\udccf", - fitzpatrick_scale: false, - category: "objects" - }, - pushpin: { - keywords: [ "stationery", "mark", "here" ], - "char": "\ud83d\udccc", - fitzpatrick_scale: false, - category: "objects" - }, - round_pushpin: { - keywords: [ "stationery", "location", "map", "here" ], - "char": "\ud83d\udccd", - fitzpatrick_scale: false, - category: "objects" - }, - triangular_flag_on_post: { - keywords: [ "mark", "milestone", "place" ], - "char": "\ud83d\udea9", - fitzpatrick_scale: false, - category: "objects" - }, - white_flag: { - keywords: [ "losing", "loser", "lost", "surrender", "give up", "fail" ], - "char": "\ud83c\udff3", - fitzpatrick_scale: false, - category: "objects" - }, - black_flag: { - keywords: [ "pirate" ], - "char": "\ud83c\udff4", - fitzpatrick_scale: false, - category: "objects" - }, - rainbow_flag: { - keywords: [ "flag", "rainbow", "pride", "gay", "lgbt", "glbt", "queer", "homosexual", "lesbian", "bisexual", "transgender" ], - "char": "\ud83c\udff3\ufe0f\u200d\ud83c\udf08", - fitzpatrick_scale: false, - category: "objects" - }, - closed_lock_with_key: { - keywords: [ "security", "privacy" ], - "char": "\ud83d\udd10", - fitzpatrick_scale: false, - category: "objects" - }, - lock: { - keywords: [ "security", "password", "padlock" ], - "char": "\ud83d\udd12", - fitzpatrick_scale: false, - category: "objects" - }, - unlock: { - keywords: [ "privacy", "security" ], - "char": "\ud83d\udd13", - fitzpatrick_scale: false, - category: "objects" - }, - lock_with_ink_pen: { - keywords: [ "security", "secret" ], - "char": "\ud83d\udd0f", - fitzpatrick_scale: false, - category: "objects" - }, - pen: { - keywords: [ "stationery", "writing", "write" ], - "char": "\ud83d\udd8a", - fitzpatrick_scale: false, - category: "objects" - }, - fountain_pen: { - keywords: [ "stationery", "writing", "write" ], - "char": "\ud83d\udd8b", - fitzpatrick_scale: false, - category: "objects" - }, - black_nib: { - keywords: [ "pen", "stationery", "writing", "write" ], - "char": "\u2712\ufe0f", - fitzpatrick_scale: false, - category: "objects" - }, - memo: { - keywords: [ "write", "documents", "stationery", "pencil", "paper", "writing", "legal", "exam", "quiz", "test", "study", "compose" ], - "char": "\ud83d\udcdd", - fitzpatrick_scale: false, - category: "objects" - }, - pencil2: { - keywords: [ "stationery", "write", "paper", "writing", "school", "study" ], - "char": "\u270f\ufe0f", - fitzpatrick_scale: false, - category: "objects" - }, - crayon: { - keywords: [ "drawing", "creativity" ], - "char": "\ud83d\udd8d", - fitzpatrick_scale: false, - category: "objects" - }, - paintbrush: { - keywords: [ "drawing", "creativity", "art" ], - "char": "\ud83d\udd8c", - fitzpatrick_scale: false, - category: "objects" - }, - mag: { - keywords: [ "search", "zoom", "find", "detective" ], - "char": "\ud83d\udd0d", - fitzpatrick_scale: false, - category: "objects" - }, - mag_right: { - keywords: [ "search", "zoom", "find", "detective" ], - "char": "\ud83d\udd0e", - fitzpatrick_scale: false, - category: "objects" - }, - heart: { - keywords: [ "love", "like", "valentines" ], - "char": "\u2764\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - orange_heart: { - keywords: [ "love", "like", "affection", "valentines" ], - "char": "\ud83e\udde1", - fitzpatrick_scale: false, - category: "symbols" - }, - yellow_heart: { - keywords: [ "love", "like", "affection", "valentines" ], - "char": "\ud83d\udc9b", - fitzpatrick_scale: false, - category: "symbols" - }, - green_heart: { - keywords: [ "love", "like", "affection", "valentines" ], - "char": "\ud83d\udc9a", - fitzpatrick_scale: false, - category: "symbols" - }, - blue_heart: { - keywords: [ "love", "like", "affection", "valentines" ], - "char": "\ud83d\udc99", - fitzpatrick_scale: false, - category: "symbols" - }, - purple_heart: { - keywords: [ "love", "like", "affection", "valentines" ], - "char": "\ud83d\udc9c", - fitzpatrick_scale: false, - category: "symbols" - }, - black_heart: { - keywords: [ "evil" ], - "char": "\ud83d\udda4", - fitzpatrick_scale: false, - category: "symbols" - }, - broken_heart: { - keywords: [ "sad", "sorry", "break", "heart", "heartbreak" ], - "char": "\ud83d\udc94", - fitzpatrick_scale: false, - category: "symbols" - }, - heavy_heart_exclamation: { - keywords: [ "decoration", "love" ], - "char": "\u2763", - fitzpatrick_scale: false, - category: "symbols" - }, - two_hearts: { - keywords: [ "love", "like", "affection", "valentines", "heart" ], - "char": "\ud83d\udc95", - fitzpatrick_scale: false, - category: "symbols" - }, - revolving_hearts: { - keywords: [ "love", "like", "affection", "valentines" ], - "char": "\ud83d\udc9e", - fitzpatrick_scale: false, - category: "symbols" - }, - heartbeat: { - keywords: [ "love", "like", "affection", "valentines", "pink", "heart" ], - "char": "\ud83d\udc93", - fitzpatrick_scale: false, - category: "symbols" - }, - heartpulse: { - keywords: [ "like", "love", "affection", "valentines", "pink" ], - "char": "\ud83d\udc97", - fitzpatrick_scale: false, - category: "symbols" - }, - sparkling_heart: { - keywords: [ "love", "like", "affection", "valentines" ], - "char": "\ud83d\udc96", - fitzpatrick_scale: false, - category: "symbols" - }, - cupid: { - keywords: [ "love", "like", "heart", "affection", "valentines" ], - "char": "\ud83d\udc98", - fitzpatrick_scale: false, - category: "symbols" - }, - gift_heart: { - keywords: [ "love", "valentines" ], - "char": "\ud83d\udc9d", - fitzpatrick_scale: false, - category: "symbols" - }, - heart_decoration: { - keywords: [ "purple-square", "love", "like" ], - "char": "\ud83d\udc9f", - fitzpatrick_scale: false, - category: "symbols" - }, - peace_symbol: { - keywords: [ "hippie" ], - "char": "\u262e", - fitzpatrick_scale: false, - category: "symbols" - }, - latin_cross: { - keywords: [ "christianity" ], - "char": "\u271d", - fitzpatrick_scale: false, - category: "symbols" - }, - star_and_crescent: { - keywords: [ "islam" ], - "char": "\u262a", - fitzpatrick_scale: false, - category: "symbols" - }, - om: { - keywords: [ "hinduism", "buddhism", "sikhism", "jainism" ], - "char": "\ud83d\udd49", - fitzpatrick_scale: false, - category: "symbols" - }, - wheel_of_dharma: { - keywords: [ "hinduism", "buddhism", "sikhism", "jainism" ], - "char": "\u2638", - fitzpatrick_scale: false, - category: "symbols" - }, - star_of_david: { - keywords: [ "judaism" ], - "char": "\u2721", - fitzpatrick_scale: false, - category: "symbols" - }, - six_pointed_star: { - keywords: [ "purple-square", "religion", "jewish", "hexagram" ], - "char": "\ud83d\udd2f", - fitzpatrick_scale: false, - category: "symbols" - }, - menorah: { - keywords: [ "hanukkah", "candles", "jewish" ], - "char": "\ud83d\udd4e", - fitzpatrick_scale: false, - category: "symbols" - }, - yin_yang: { - keywords: [ "balance" ], - "char": "\u262f", - fitzpatrick_scale: false, - category: "symbols" - }, - orthodox_cross: { - keywords: [ "suppedaneum", "religion" ], - "char": "\u2626", - fitzpatrick_scale: false, - category: "symbols" - }, - place_of_worship: { - keywords: [ "religion", "church", "temple", "prayer" ], - "char": "\ud83d\uded0", - fitzpatrick_scale: false, - category: "symbols" - }, - ophiuchus: { - keywords: [ "sign", "purple-square", "constellation", "astrology" ], - "char": "\u26ce", - fitzpatrick_scale: false, - category: "symbols" - }, - aries: { - keywords: [ "sign", "purple-square", "zodiac", "astrology" ], - "char": "\u2648", - fitzpatrick_scale: false, - category: "symbols" - }, - taurus: { - keywords: [ "purple-square", "sign", "zodiac", "astrology" ], - "char": "\u2649", - fitzpatrick_scale: false, - category: "symbols" - }, - gemini: { - keywords: [ "sign", "zodiac", "purple-square", "astrology" ], - "char": "\u264a", - fitzpatrick_scale: false, - category: "symbols" - }, - cancer: { - keywords: [ "sign", "zodiac", "purple-square", "astrology" ], - "char": "\u264b", - fitzpatrick_scale: false, - category: "symbols" - }, - leo: { - keywords: [ "sign", "purple-square", "zodiac", "astrology" ], - "char": "\u264c", - fitzpatrick_scale: false, - category: "symbols" - }, - virgo: { - keywords: [ "sign", "zodiac", "purple-square", "astrology" ], - "char": "\u264d", - fitzpatrick_scale: false, - category: "symbols" - }, - libra: { - keywords: [ "sign", "purple-square", "zodiac", "astrology" ], - "char": "\u264e", - fitzpatrick_scale: false, - category: "symbols" - }, - scorpius: { - keywords: [ "sign", "zodiac", "purple-square", "astrology", "scorpio" ], - "char": "\u264f", - fitzpatrick_scale: false, - category: "symbols" - }, - sagittarius: { - keywords: [ "sign", "zodiac", "purple-square", "astrology" ], - "char": "\u2650", - fitzpatrick_scale: false, - category: "symbols" - }, - capricorn: { - keywords: [ "sign", "zodiac", "purple-square", "astrology" ], - "char": "\u2651", - fitzpatrick_scale: false, - category: "symbols" - }, - aquarius: { - keywords: [ "sign", "purple-square", "zodiac", "astrology" ], - "char": "\u2652", - fitzpatrick_scale: false, - category: "symbols" - }, - pisces: { - keywords: [ "purple-square", "sign", "zodiac", "astrology" ], - "char": "\u2653", - fitzpatrick_scale: false, - category: "symbols" - }, - id: { - keywords: [ "purple-square", "words" ], - "char": "\ud83c\udd94", - fitzpatrick_scale: false, - category: "symbols" - }, - atom_symbol: { - keywords: [ "science", "physics", "chemistry" ], - "char": "\u269b", - fitzpatrick_scale: false, - category: "symbols" - }, - u7a7a: { - keywords: [ "kanji", "japanese", "chinese", "empty", "sky", "blue-square" ], - "char": "\ud83c\ude33", - fitzpatrick_scale: false, - category: "symbols" - }, - u5272: { - keywords: [ "cut", "divide", "chinese", "kanji", "pink-square" ], - "char": "\ud83c\ude39", - fitzpatrick_scale: false, - category: "symbols" - }, - radioactive: { - keywords: [ "nuclear", "danger" ], - "char": "\u2622", - fitzpatrick_scale: false, - category: "symbols" - }, - biohazard: { - keywords: [ "danger" ], - "char": "\u2623", - fitzpatrick_scale: false, - category: "symbols" - }, - mobile_phone_off: { - keywords: [ "mute", "orange-square", "silence", "quiet" ], - "char": "\ud83d\udcf4", - fitzpatrick_scale: false, - category: "symbols" - }, - vibration_mode: { - keywords: [ "orange-square", "phone" ], - "char": "\ud83d\udcf3", - fitzpatrick_scale: false, - category: "symbols" - }, - u6709: { - keywords: [ "orange-square", "chinese", "have", "kanji" ], - "char": "\ud83c\ude36", - fitzpatrick_scale: false, - category: "symbols" - }, - u7121: { - keywords: [ "nothing", "chinese", "kanji", "japanese", "orange-square" ], - "char": "\ud83c\ude1a", - fitzpatrick_scale: false, - category: "symbols" - }, - u7533: { - keywords: [ "chinese", "japanese", "kanji", "orange-square" ], - "char": "\ud83c\ude38", - fitzpatrick_scale: false, - category: "symbols" - }, - u55b6: { - keywords: [ "japanese", "opening hours", "orange-square" ], - "char": "\ud83c\ude3a", - fitzpatrick_scale: false, - category: "symbols" - }, - u6708: { - keywords: [ "chinese", "month", "moon", "japanese", "orange-square", "kanji" ], - "char": "\ud83c\ude37\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - eight_pointed_black_star: { - keywords: [ "orange-square", "shape", "polygon" ], - "char": "\u2734\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - vs: { - keywords: [ "words", "orange-square" ], - "char": "\ud83c\udd9a", - fitzpatrick_scale: false, - category: "symbols" - }, - accept: { - keywords: [ "ok", "good", "chinese", "kanji", "agree", "yes", "orange-circle" ], - "char": "\ud83c\ude51", - fitzpatrick_scale: false, - category: "symbols" - }, - white_flower: { - keywords: [ "japanese", "spring" ], - "char": "\ud83d\udcae", - fitzpatrick_scale: false, - category: "symbols" - }, - ideograph_advantage: { - keywords: [ "chinese", "kanji", "obtain", "get", "circle" ], - "char": "\ud83c\ude50", - fitzpatrick_scale: false, - category: "symbols" - }, - secret: { - keywords: [ "privacy", "chinese", "sshh", "kanji", "red-circle" ], - "char": "\u3299\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - congratulations: { - keywords: [ "chinese", "kanji", "japanese", "red-circle" ], - "char": "\u3297\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - u5408: { - keywords: [ "japanese", "chinese", "join", "kanji", "red-square" ], - "char": "\ud83c\ude34", - fitzpatrick_scale: false, - category: "symbols" - }, - u6e80: { - keywords: [ "full", "chinese", "japanese", "red-square", "kanji" ], - "char": "\ud83c\ude35", - fitzpatrick_scale: false, - category: "symbols" - }, - u7981: { - keywords: [ "kanji", "japanese", "chinese", "forbidden", "limit", "restricted", "red-square" ], - "char": "\ud83c\ude32", - fitzpatrick_scale: false, - category: "symbols" - }, - a: { - keywords: [ "red-square", "alphabet", "letter" ], - "char": "\ud83c\udd70\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - b: { - keywords: [ "red-square", "alphabet", "letter" ], - "char": "\ud83c\udd71\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - ab: { - keywords: [ "red-square", "alphabet" ], - "char": "\ud83c\udd8e", - fitzpatrick_scale: false, - category: "symbols" - }, - cl: { - keywords: [ "alphabet", "words", "red-square" ], - "char": "\ud83c\udd91", - fitzpatrick_scale: false, - category: "symbols" - }, - o2: { - keywords: [ "alphabet", "red-square", "letter" ], - "char": "\ud83c\udd7e\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - sos: { - keywords: [ "help", "red-square", "words", "emergency", "911" ], - "char": "\ud83c\udd98", - fitzpatrick_scale: false, - category: "symbols" - }, - no_entry: { - keywords: [ "limit", "security", "privacy", "bad", "denied", "stop", "circle" ], - "char": "\u26d4", - fitzpatrick_scale: false, - category: "symbols" - }, - name_badge: { - keywords: [ "fire", "forbid" ], - "char": "\ud83d\udcdb", - fitzpatrick_scale: false, - category: "symbols" - }, - no_entry_sign: { - keywords: [ "forbid", "stop", "limit", "denied", "disallow", "circle" ], - "char": "\ud83d\udeab", - fitzpatrick_scale: false, - category: "symbols" - }, - x: { - keywords: [ "no", "delete", "remove", "cancel" ], - "char": "\u274c", - fitzpatrick_scale: false, - category: "symbols" - }, - o: { - keywords: [ "circle", "round" ], - "char": "\u2b55", - fitzpatrick_scale: false, - category: "symbols" - }, - stop_sign: { - keywords: [ "stop" ], - "char": "\ud83d\uded1", - fitzpatrick_scale: false, - category: "symbols" - }, - anger: { - keywords: [ "angry", "mad" ], - "char": "\ud83d\udca2", - fitzpatrick_scale: false, - category: "symbols" - }, - hotsprings: { - keywords: [ "bath", "warm", "relax" ], - "char": "\u2668\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - no_pedestrians: { - keywords: [ "rules", "crossing", "walking", "circle" ], - "char": "\ud83d\udeb7", - fitzpatrick_scale: false, - category: "symbols" - }, - do_not_litter: { - keywords: [ "trash", "bin", "garbage", "circle" ], - "char": "\ud83d\udeaf", - fitzpatrick_scale: false, - category: "symbols" - }, - no_bicycles: { - keywords: [ "cyclist", "prohibited", "circle" ], - "char": "\ud83d\udeb3", - fitzpatrick_scale: false, - category: "symbols" - }, - "non-potable_water": { - keywords: [ "drink", "faucet", "tap", "circle" ], - "char": "\ud83d\udeb1", - fitzpatrick_scale: false, - category: "symbols" - }, - underage: { - keywords: [ "18", "drink", "pub", "night", "minor", "circle" ], - "char": "\ud83d\udd1e", - fitzpatrick_scale: false, - category: "symbols" - }, - no_mobile_phones: { - keywords: [ "iphone", "mute", "circle" ], - "char": "\ud83d\udcf5", - fitzpatrick_scale: false, - category: "symbols" - }, - exclamation: { - keywords: [ "heavy_exclamation_mark", "danger", "surprise", "punctuation", "wow", "warning" ], - "char": "\u2757", - fitzpatrick_scale: false, - category: "symbols" - }, - grey_exclamation: { - keywords: [ "surprise", "punctuation", "gray", "wow", "warning" ], - "char": "\u2755", - fitzpatrick_scale: false, - category: "symbols" - }, - question: { - keywords: [ "doubt", "confused" ], - "char": "\u2753", - fitzpatrick_scale: false, - category: "symbols" - }, - grey_question: { - keywords: [ "doubts", "gray", "huh", "confused" ], - "char": "\u2754", - fitzpatrick_scale: false, - category: "symbols" - }, - bangbang: { - keywords: [ "exclamation", "surprise" ], - "char": "\u203c\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - interrobang: { - keywords: [ "wat", "punctuation", "surprise" ], - "char": "\u2049\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - 100: { - keywords: [ "score", "perfect", "numbers", "century", "exam", "quiz", "test", "pass", "hundred" ], - "char": "\ud83d\udcaf", - fitzpatrick_scale: false, - category: "symbols" - }, - low_brightness: { - keywords: [ "sun", "afternoon", "warm", "summer" ], - "char": "\ud83d\udd05", - fitzpatrick_scale: false, - category: "symbols" - }, - high_brightness: { - keywords: [ "sun", "light" ], - "char": "\ud83d\udd06", - fitzpatrick_scale: false, - category: "symbols" - }, - trident: { - keywords: [ "weapon", "spear" ], - "char": "\ud83d\udd31", - fitzpatrick_scale: false, - category: "symbols" - }, - fleur_de_lis: { - keywords: [ "decorative", "scout" ], - "char": "\u269c", - fitzpatrick_scale: false, - category: "symbols" - }, - part_alternation_mark: { - keywords: [ "graph", "presentation", "stats", "business", "economics", "bad" ], - "char": "\u303d\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - warning: { - keywords: [ "exclamation", "wip", "alert", "error", "problem", "issue" ], - "char": "\u26a0\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - children_crossing: { - keywords: [ "school", "warning", "danger", "sign", "driving", "yellow-diamond" ], - "char": "\ud83d\udeb8", - fitzpatrick_scale: false, - category: "symbols" - }, - beginner: { - keywords: [ "badge", "shield" ], - "char": "\ud83d\udd30", - fitzpatrick_scale: false, - category: "symbols" - }, - recycle: { - keywords: [ "arrow", "environment", "garbage", "trash" ], - "char": "\u267b\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - u6307: { - keywords: [ "chinese", "point", "green-square", "kanji" ], - "char": "\ud83c\ude2f", - fitzpatrick_scale: false, - category: "symbols" - }, - chart: { - keywords: [ "green-square", "graph", "presentation", "stats" ], - "char": "\ud83d\udcb9", - fitzpatrick_scale: false, - category: "symbols" - }, - sparkle: { - keywords: [ "stars", "green-square", "awesome", "good", "fireworks" ], - "char": "\u2747\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - eight_spoked_asterisk: { - keywords: [ "star", "sparkle", "green-square" ], - "char": "\u2733\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - negative_squared_cross_mark: { - keywords: [ "x", "green-square", "no", "deny" ], - "char": "\u274e", - fitzpatrick_scale: false, - category: "symbols" - }, - white_check_mark: { - keywords: [ "green-square", "ok", "agree", "vote", "election", "answer", "tick" ], - "char": "\u2705", - fitzpatrick_scale: false, - category: "symbols" - }, - diamond_shape_with_a_dot_inside: { - keywords: [ "jewel", "blue", "gem", "crystal", "fancy" ], - "char": "\ud83d\udca0", - fitzpatrick_scale: false, - category: "symbols" - }, - cyclone: { - keywords: [ "weather", "swirl", "blue", "cloud", "vortex", "spiral", "whirlpool", "spin", "tornado", "hurricane", "typhoon" ], - "char": "\ud83c\udf00", - fitzpatrick_scale: false, - category: "symbols" - }, - loop: { - keywords: [ "tape", "cassette" ], - "char": "\u27bf", - fitzpatrick_scale: false, - category: "symbols" - }, - globe_with_meridians: { - keywords: [ "earth", "international", "world", "internet", "interweb", "i18n" ], - "char": "\ud83c\udf10", - fitzpatrick_scale: false, - category: "symbols" - }, - m: { - keywords: [ "alphabet", "blue-circle", "letter" ], - "char": "\u24c2\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - atm: { - keywords: [ "money", "sales", "cash", "blue-square", "payment", "bank" ], - "char": "\ud83c\udfe7", - fitzpatrick_scale: false, - category: "symbols" - }, - sa: { - keywords: [ "japanese", "blue-square", "katakana" ], - "char": "\ud83c\ude02\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - passport_control: { - keywords: [ "custom", "blue-square" ], - "char": "\ud83d\udec2", - fitzpatrick_scale: false, - category: "symbols" - }, - customs: { - keywords: [ "passport", "border", "blue-square" ], - "char": "\ud83d\udec3", - fitzpatrick_scale: false, - category: "symbols" - }, - baggage_claim: { - keywords: [ "blue-square", "airport", "transport" ], - "char": "\ud83d\udec4", - fitzpatrick_scale: false, - category: "symbols" - }, - left_luggage: { - keywords: [ "blue-square", "travel" ], - "char": "\ud83d\udec5", - fitzpatrick_scale: false, - category: "symbols" - }, - wheelchair: { - keywords: [ "blue-square", "disabled", "a11y", "accessibility" ], - "char": "\u267f", - fitzpatrick_scale: false, - category: "symbols" - }, - no_smoking: { - keywords: [ "cigarette", "blue-square", "smell", "smoke" ], - "char": "\ud83d\udead", - fitzpatrick_scale: false, - category: "symbols" - }, - wc: { - keywords: [ "toilet", "restroom", "blue-square" ], - "char": "\ud83d\udebe", - fitzpatrick_scale: false, - category: "symbols" - }, - parking: { - keywords: [ "cars", "blue-square", "alphabet", "letter" ], - "char": "\ud83c\udd7f\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - potable_water: { - keywords: [ "blue-square", "liquid", "restroom", "cleaning", "faucet" ], - "char": "\ud83d\udeb0", - fitzpatrick_scale: false, - category: "symbols" - }, - mens: { - keywords: [ "toilet", "restroom", "wc", "blue-square", "gender", "male" ], - "char": "\ud83d\udeb9", - fitzpatrick_scale: false, - category: "symbols" - }, - womens: { - keywords: [ "purple-square", "woman", "female", "toilet", "loo", "restroom", "gender" ], - "char": "\ud83d\udeba", - fitzpatrick_scale: false, - category: "symbols" - }, - baby_symbol: { - keywords: [ "orange-square", "child" ], - "char": "\ud83d\udebc", - fitzpatrick_scale: false, - category: "symbols" - }, - restroom: { - keywords: [ "blue-square", "toilet", "refresh", "wc", "gender" ], - "char": "\ud83d\udebb", - fitzpatrick_scale: false, - category: "symbols" - }, - put_litter_in_its_place: { - keywords: [ "blue-square", "sign", "human", "info" ], - "char": "\ud83d\udeae", - fitzpatrick_scale: false, - category: "symbols" - }, - cinema: { - keywords: [ "blue-square", "record", "film", "movie", "curtain", "stage", "theater" ], - "char": "\ud83c\udfa6", - fitzpatrick_scale: false, - category: "symbols" - }, - signal_strength: { - keywords: [ "blue-square", "reception", "phone", "internet", "connection", "wifi", "bluetooth", "bars" ], - "char": "\ud83d\udcf6", - fitzpatrick_scale: false, - category: "symbols" - }, - koko: { - keywords: [ "blue-square", "here", "katakana", "japanese", "destination" ], - "char": "\ud83c\ude01", - fitzpatrick_scale: false, - category: "symbols" - }, - ng: { - keywords: [ "blue-square", "words", "shape", "icon" ], - "char": "\ud83c\udd96", - fitzpatrick_scale: false, - category: "symbols" - }, - ok: { - keywords: [ "good", "agree", "yes", "blue-square" ], - "char": "\ud83c\udd97", - fitzpatrick_scale: false, - category: "symbols" - }, - up: { - keywords: [ "blue-square", "above", "high" ], - "char": "\ud83c\udd99", - fitzpatrick_scale: false, - category: "symbols" - }, - cool: { - keywords: [ "words", "blue-square" ], - "char": "\ud83c\udd92", - fitzpatrick_scale: false, - category: "symbols" - }, - "new": { - keywords: [ "blue-square", "words", "start" ], - "char": "\ud83c\udd95", - fitzpatrick_scale: false, - category: "symbols" - }, - free: { - keywords: [ "blue-square", "words" ], - "char": "\ud83c\udd93", - fitzpatrick_scale: false, - category: "symbols" - }, - zero: { - keywords: [ "0", "numbers", "blue-square", "null" ], - "char": "0\ufe0f\u20e3", - fitzpatrick_scale: false, - category: "symbols" - }, - one: { - keywords: [ "blue-square", "numbers", "1" ], - "char": "1\ufe0f\u20e3", - fitzpatrick_scale: false, - category: "symbols" - }, - two: { - keywords: [ "numbers", "2", "prime", "blue-square" ], - "char": "2\ufe0f\u20e3", - fitzpatrick_scale: false, - category: "symbols" - }, - three: { - keywords: [ "3", "numbers", "prime", "blue-square" ], - "char": "3\ufe0f\u20e3", - fitzpatrick_scale: false, - category: "symbols" - }, - four: { - keywords: [ "4", "numbers", "blue-square" ], - "char": "4\ufe0f\u20e3", - fitzpatrick_scale: false, - category: "symbols" - }, - five: { - keywords: [ "5", "numbers", "blue-square", "prime" ], - "char": "5\ufe0f\u20e3", - fitzpatrick_scale: false, - category: "symbols" - }, - six: { - keywords: [ "6", "numbers", "blue-square" ], - "char": "6\ufe0f\u20e3", - fitzpatrick_scale: false, - category: "symbols" - }, - seven: { - keywords: [ "7", "numbers", "blue-square", "prime" ], - "char": "7\ufe0f\u20e3", - fitzpatrick_scale: false, - category: "symbols" - }, - eight: { - keywords: [ "8", "blue-square", "numbers" ], - "char": "8\ufe0f\u20e3", - fitzpatrick_scale: false, - category: "symbols" - }, - nine: { - keywords: [ "blue-square", "numbers", "9" ], - "char": "9\ufe0f\u20e3", - fitzpatrick_scale: false, - category: "symbols" - }, - keycap_ten: { - keywords: [ "numbers", "10", "blue-square" ], - "char": "\ud83d\udd1f", - fitzpatrick_scale: false, - category: "symbols" - }, - asterisk: { - keywords: [ "star", "keycap" ], - "char": "*\u20e3", - fitzpatrick_scale: false, - category: "symbols" - }, - 1234: { - keywords: [ "numbers", "blue-square" ], - "char": "\ud83d\udd22", - fitzpatrick_scale: false, - category: "symbols" - }, - eject_button: { - keywords: [ "blue-square" ], - "char": "\u23cf\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - arrow_forward: { - keywords: [ "blue-square", "right", "direction", "play" ], - "char": "\u25b6\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - pause_button: { - keywords: [ "pause", "blue-square" ], - "char": "\u23f8", - fitzpatrick_scale: false, - category: "symbols" - }, - next_track_button: { - keywords: [ "forward", "next", "blue-square" ], - "char": "\u23ed", - fitzpatrick_scale: false, - category: "symbols" - }, - stop_button: { - keywords: [ "blue-square" ], - "char": "\u23f9", - fitzpatrick_scale: false, - category: "symbols" - }, - record_button: { - keywords: [ "blue-square" ], - "char": "\u23fa", - fitzpatrick_scale: false, - category: "symbols" - }, - play_or_pause_button: { - keywords: [ "blue-square", "play", "pause" ], - "char": "\u23ef", - fitzpatrick_scale: false, - category: "symbols" - }, - previous_track_button: { - keywords: [ "backward" ], - "char": "\u23ee", - fitzpatrick_scale: false, - category: "symbols" - }, - fast_forward: { - keywords: [ "blue-square", "play", "speed", "continue" ], - "char": "\u23e9", - fitzpatrick_scale: false, - category: "symbols" - }, - rewind: { - keywords: [ "play", "blue-square" ], - "char": "\u23ea", - fitzpatrick_scale: false, - category: "symbols" - }, - twisted_rightwards_arrows: { - keywords: [ "blue-square", "shuffle", "music", "random" ], - "char": "\ud83d\udd00", - fitzpatrick_scale: false, - category: "symbols" - }, - repeat: { - keywords: [ "loop", "record" ], - "char": "\ud83d\udd01", - fitzpatrick_scale: false, - category: "symbols" - }, - repeat_one: { - keywords: [ "blue-square", "loop" ], - "char": "\ud83d\udd02", - fitzpatrick_scale: false, - category: "symbols" - }, - arrow_backward: { - keywords: [ "blue-square", "left", "direction" ], - "char": "\u25c0\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - arrow_up_small: { - keywords: [ "blue-square", "triangle", "direction", "point", "forward", "top" ], - "char": "\ud83d\udd3c", - fitzpatrick_scale: false, - category: "symbols" - }, - arrow_down_small: { - keywords: [ "blue-square", "direction", "bottom" ], - "char": "\ud83d\udd3d", - fitzpatrick_scale: false, - category: "symbols" - }, - arrow_double_up: { - keywords: [ "blue-square", "direction", "top" ], - "char": "\u23eb", - fitzpatrick_scale: false, - category: "symbols" - }, - arrow_double_down: { - keywords: [ "blue-square", "direction", "bottom" ], - "char": "\u23ec", - fitzpatrick_scale: false, - category: "symbols" - }, - arrow_right: { - keywords: [ "blue-square", "next" ], - "char": "\u27a1\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - arrow_left: { - keywords: [ "blue-square", "previous", "back" ], - "char": "\u2b05\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - arrow_up: { - keywords: [ "blue-square", "continue", "top", "direction" ], - "char": "\u2b06\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - arrow_down: { - keywords: [ "blue-square", "direction", "bottom" ], - "char": "\u2b07\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - arrow_upper_right: { - keywords: [ "blue-square", "point", "direction", "diagonal", "northeast" ], - "char": "\u2197\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - arrow_lower_right: { - keywords: [ "blue-square", "direction", "diagonal", "southeast" ], - "char": "\u2198\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - arrow_lower_left: { - keywords: [ "blue-square", "direction", "diagonal", "southwest" ], - "char": "\u2199\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - arrow_upper_left: { - keywords: [ "blue-square", "point", "direction", "diagonal", "northwest" ], - "char": "\u2196\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - arrow_up_down: { - keywords: [ "blue-square", "direction", "way", "vertical" ], - "char": "\u2195\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - left_right_arrow: { - keywords: [ "shape", "direction", "horizontal", "sideways" ], - "char": "\u2194\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - arrows_counterclockwise: { - keywords: [ "blue-square", "sync", "cycle" ], - "char": "\ud83d\udd04", - fitzpatrick_scale: false, - category: "symbols" - }, - arrow_right_hook: { - keywords: [ "blue-square", "return", "rotate", "direction" ], - "char": "\u21aa\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - leftwards_arrow_with_hook: { - keywords: [ "back", "return", "blue-square", "undo", "enter" ], - "char": "\u21a9\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - arrow_heading_up: { - keywords: [ "blue-square", "direction", "top" ], - "char": "\u2934\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - arrow_heading_down: { - keywords: [ "blue-square", "direction", "bottom" ], - "char": "\u2935\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - hash: { - keywords: [ "symbol", "blue-square", "twitter" ], - "char": "#\ufe0f\u20e3", - fitzpatrick_scale: false, - category: "symbols" - }, - information_source: { - keywords: [ "blue-square", "alphabet", "letter" ], - "char": "\u2139\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - abc: { - keywords: [ "blue-square", "alphabet" ], - "char": "\ud83d\udd24", - fitzpatrick_scale: false, - category: "symbols" - }, - abcd: { - keywords: [ "blue-square", "alphabet" ], - "char": "\ud83d\udd21", - fitzpatrick_scale: false, - category: "symbols" - }, - capital_abcd: { - keywords: [ "alphabet", "words", "blue-square" ], - "char": "\ud83d\udd20", - fitzpatrick_scale: false, - category: "symbols" - }, - symbols: { - keywords: [ "blue-square", "music", "note", "ampersand", "percent", "glyphs", "characters" ], - "char": "\ud83d\udd23", - fitzpatrick_scale: false, - category: "symbols" - }, - musical_note: { - keywords: [ "score", "tone", "sound" ], - "char": "\ud83c\udfb5", - fitzpatrick_scale: false, - category: "symbols" - }, - notes: { - keywords: [ "music", "score" ], - "char": "\ud83c\udfb6", - fitzpatrick_scale: false, - category: "symbols" - }, - wavy_dash: { - keywords: [ "draw", "line", "moustache", "mustache", "squiggle", "scribble" ], - "char": "\u3030\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - curly_loop: { - keywords: [ "scribble", "draw", "shape", "squiggle" ], - "char": "\u27b0", - fitzpatrick_scale: false, - category: "symbols" - }, - heavy_check_mark: { - keywords: [ "ok", "nike", "answer", "yes", "tick" ], - "char": "\u2714\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - arrows_clockwise: { - keywords: [ "sync", "cycle", "round", "repeat" ], - "char": "\ud83d\udd03", - fitzpatrick_scale: false, - category: "symbols" - }, - heavy_plus_sign: { - keywords: [ "math", "calculation", "addition", "more", "increase" ], - "char": "\u2795", - fitzpatrick_scale: false, - category: "symbols" - }, - heavy_minus_sign: { - keywords: [ "math", "calculation", "subtract", "less" ], - "char": "\u2796", - fitzpatrick_scale: false, - category: "symbols" - }, - heavy_division_sign: { - keywords: [ "divide", "math", "calculation" ], - "char": "\u2797", - fitzpatrick_scale: false, - category: "symbols" - }, - heavy_multiplication_x: { - keywords: [ "math", "calculation" ], - "char": "\u2716\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - heavy_dollar_sign: { - keywords: [ "money", "sales", "payment", "currency", "buck" ], - "char": "\ud83d\udcb2", - fitzpatrick_scale: false, - category: "symbols" - }, - currency_exchange: { - keywords: [ "money", "sales", "dollar", "travel" ], - "char": "\ud83d\udcb1", - fitzpatrick_scale: false, - category: "symbols" - }, - copyright: { - keywords: [ "ip", "license", "circle", "law", "legal" ], - "char": "\xa9\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - registered: { - keywords: [ "alphabet", "circle" ], - "char": "\xae\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - tm: { - keywords: [ "trademark", "brand", "law", "legal" ], - "char": "\u2122\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - end: { - keywords: [ "words", "arrow" ], - "char": "\ud83d\udd1a", - fitzpatrick_scale: false, - category: "symbols" - }, - back: { - keywords: [ "arrow", "words", "return" ], - "char": "\ud83d\udd19", - fitzpatrick_scale: false, - category: "symbols" - }, - on: { - keywords: [ "arrow", "words" ], - "char": "\ud83d\udd1b", - fitzpatrick_scale: false, - category: "symbols" - }, - top: { - keywords: [ "words", "blue-square" ], - "char": "\ud83d\udd1d", - fitzpatrick_scale: false, - category: "symbols" - }, - soon: { - keywords: [ "arrow", "words" ], - "char": "\ud83d\udd1c", - fitzpatrick_scale: false, - category: "symbols" - }, - ballot_box_with_check: { - keywords: [ "ok", "agree", "confirm", "black-square", "vote", "election", "yes", "tick" ], - "char": "\u2611\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - radio_button: { - keywords: [ "input", "old", "music", "circle" ], - "char": "\ud83d\udd18", - fitzpatrick_scale: false, - category: "symbols" - }, - white_circle: { - keywords: [ "shape", "round" ], - "char": "\u26aa", - fitzpatrick_scale: false, - category: "symbols" - }, - black_circle: { - keywords: [ "shape", "button", "round" ], - "char": "\u26ab", - fitzpatrick_scale: false, - category: "symbols" - }, - red_circle: { - keywords: [ "shape", "error", "danger" ], - "char": "\ud83d\udd34", - fitzpatrick_scale: false, - category: "symbols" - }, - large_blue_circle: { - keywords: [ "shape", "icon", "button" ], - "char": "\ud83d\udd35", - fitzpatrick_scale: false, - category: "symbols" - }, - small_orange_diamond: { - keywords: [ "shape", "jewel", "gem" ], - "char": "\ud83d\udd38", - fitzpatrick_scale: false, - category: "symbols" - }, - small_blue_diamond: { - keywords: [ "shape", "jewel", "gem" ], - "char": "\ud83d\udd39", - fitzpatrick_scale: false, - category: "symbols" - }, - large_orange_diamond: { - keywords: [ "shape", "jewel", "gem" ], - "char": "\ud83d\udd36", - fitzpatrick_scale: false, - category: "symbols" - }, - large_blue_diamond: { - keywords: [ "shape", "jewel", "gem" ], - "char": "\ud83d\udd37", - fitzpatrick_scale: false, - category: "symbols" - }, - small_red_triangle: { - keywords: [ "shape", "direction", "up", "top" ], - "char": "\ud83d\udd3a", - fitzpatrick_scale: false, - category: "symbols" - }, - black_small_square: { - keywords: [ "shape", "icon" ], - "char": "\u25aa\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - white_small_square: { - keywords: [ "shape", "icon" ], - "char": "\u25ab\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - black_large_square: { - keywords: [ "shape", "icon", "button" ], - "char": "\u2b1b", - fitzpatrick_scale: false, - category: "symbols" - }, - white_large_square: { - keywords: [ "shape", "icon", "stone", "button" ], - "char": "\u2b1c", - fitzpatrick_scale: false, - category: "symbols" - }, - small_red_triangle_down: { - keywords: [ "shape", "direction", "bottom" ], - "char": "\ud83d\udd3b", - fitzpatrick_scale: false, - category: "symbols" - }, - black_medium_square: { - keywords: [ "shape", "button", "icon" ], - "char": "\u25fc\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - white_medium_square: { - keywords: [ "shape", "stone", "icon" ], - "char": "\u25fb\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - black_medium_small_square: { - keywords: [ "icon", "shape", "button" ], - "char": "\u25fe", - fitzpatrick_scale: false, - category: "symbols" - }, - white_medium_small_square: { - keywords: [ "shape", "stone", "icon", "button" ], - "char": "\u25fd", - fitzpatrick_scale: false, - category: "symbols" - }, - black_square_button: { - keywords: [ "shape", "input", "frame" ], - "char": "\ud83d\udd32", - fitzpatrick_scale: false, - category: "symbols" - }, - white_square_button: { - keywords: [ "shape", "input" ], - "char": "\ud83d\udd33", - fitzpatrick_scale: false, - category: "symbols" - }, - speaker: { - keywords: [ "sound", "volume", "silence", "broadcast" ], - "char": "\ud83d\udd08", - fitzpatrick_scale: false, - category: "symbols" - }, - sound: { - keywords: [ "volume", "speaker", "broadcast" ], - "char": "\ud83d\udd09", - fitzpatrick_scale: false, - category: "symbols" - }, - loud_sound: { - keywords: [ "volume", "noise", "noisy", "speaker", "broadcast" ], - "char": "\ud83d\udd0a", - fitzpatrick_scale: false, - category: "symbols" - }, - mute: { - keywords: [ "sound", "volume", "silence", "quiet" ], - "char": "\ud83d\udd07", - fitzpatrick_scale: false, - category: "symbols" - }, - mega: { - keywords: [ "sound", "speaker", "volume" ], - "char": "\ud83d\udce3", - fitzpatrick_scale: false, - category: "symbols" - }, - loudspeaker: { - keywords: [ "volume", "sound" ], - "char": "\ud83d\udce2", - fitzpatrick_scale: false, - category: "symbols" - }, - bell: { - keywords: [ "sound", "notification", "christmas", "xmas", "chime" ], - "char": "\ud83d\udd14", - fitzpatrick_scale: false, - category: "symbols" - }, - no_bell: { - keywords: [ "sound", "volume", "mute", "quiet", "silent" ], - "char": "\ud83d\udd15", - fitzpatrick_scale: false, - category: "symbols" - }, - black_joker: { - keywords: [ "poker", "cards", "game", "play", "magic" ], - "char": "\ud83c\udccf", - fitzpatrick_scale: false, - category: "symbols" - }, - mahjong: { - keywords: [ "game", "play", "chinese", "kanji" ], - "char": "\ud83c\udc04", - fitzpatrick_scale: false, - category: "symbols" - }, - spades: { - keywords: [ "poker", "cards", "suits", "magic" ], - "char": "\u2660\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - clubs: { - keywords: [ "poker", "cards", "magic", "suits" ], - "char": "\u2663\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - hearts: { - keywords: [ "poker", "cards", "magic", "suits" ], - "char": "\u2665\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - diamonds: { - keywords: [ "poker", "cards", "magic", "suits" ], - "char": "\u2666\ufe0f", - fitzpatrick_scale: false, - category: "symbols" - }, - flower_playing_cards: { - keywords: [ "game", "sunset", "red" ], - "char": "\ud83c\udfb4", - fitzpatrick_scale: false, - category: "symbols" - }, - thought_balloon: { - keywords: [ "bubble", "cloud", "speech", "thinking", "dream" ], - "char": "\ud83d\udcad", - fitzpatrick_scale: false, - category: "symbols" - }, - right_anger_bubble: { - keywords: [ "caption", "speech", "thinking", "mad" ], - "char": "\ud83d\uddef", - fitzpatrick_scale: false, - category: "symbols" - }, - speech_balloon: { - keywords: [ "bubble", "words", "message", "talk", "chatting" ], - "char": "\ud83d\udcac", - fitzpatrick_scale: false, - category: "symbols" - }, - left_speech_bubble: { - keywords: [ "words", "message", "talk", "chatting" ], - "char": "\ud83d\udde8", - fitzpatrick_scale: false, - category: "symbols" - }, - clock1: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd50", - fitzpatrick_scale: false, - category: "symbols" - }, - clock2: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd51", - fitzpatrick_scale: false, - category: "symbols" - }, - clock3: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd52", - fitzpatrick_scale: false, - category: "symbols" - }, - clock4: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd53", - fitzpatrick_scale: false, - category: "symbols" - }, - clock5: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd54", - fitzpatrick_scale: false, - category: "symbols" - }, - clock6: { - keywords: [ "time", "late", "early", "schedule", "dawn", "dusk" ], - "char": "\ud83d\udd55", - fitzpatrick_scale: false, - category: "symbols" - }, - clock7: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd56", - fitzpatrick_scale: false, - category: "symbols" - }, - clock8: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd57", - fitzpatrick_scale: false, - category: "symbols" - }, - clock9: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd58", - fitzpatrick_scale: false, - category: "symbols" - }, - clock10: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd59", - fitzpatrick_scale: false, - category: "symbols" - }, - clock11: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd5a", - fitzpatrick_scale: false, - category: "symbols" - }, - clock12: { - keywords: [ "time", "noon", "midnight", "midday", "late", "early", "schedule" ], - "char": "\ud83d\udd5b", - fitzpatrick_scale: false, - category: "symbols" - }, - clock130: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd5c", - fitzpatrick_scale: false, - category: "symbols" - }, - clock230: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd5d", - fitzpatrick_scale: false, - category: "symbols" - }, - clock330: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd5e", - fitzpatrick_scale: false, - category: "symbols" - }, - clock430: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd5f", - fitzpatrick_scale: false, - category: "symbols" - }, - clock530: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd60", - fitzpatrick_scale: false, - category: "symbols" - }, - clock630: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd61", - fitzpatrick_scale: false, - category: "symbols" - }, - clock730: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd62", - fitzpatrick_scale: false, - category: "symbols" - }, - clock830: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd63", - fitzpatrick_scale: false, - category: "symbols" - }, - clock930: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd64", - fitzpatrick_scale: false, - category: "symbols" - }, - clock1030: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd65", - fitzpatrick_scale: false, - category: "symbols" - }, - clock1130: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd66", - fitzpatrick_scale: false, - category: "symbols" - }, - clock1230: { - keywords: [ "time", "late", "early", "schedule" ], - "char": "\ud83d\udd67", - fitzpatrick_scale: false, - category: "symbols" - }, - afghanistan: { - keywords: [ "af", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde6\ud83c\uddeb", - fitzpatrick_scale: false, - category: "flags" - }, - aland_islands: { - keywords: [ "\xc5land", "islands", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde6\ud83c\uddfd", - fitzpatrick_scale: false, - category: "flags" - }, - albania: { - keywords: [ "al", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde6\ud83c\uddf1", - fitzpatrick_scale: false, - category: "flags" - }, - algeria: { - keywords: [ "dz", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde9\ud83c\uddff", - fitzpatrick_scale: false, - category: "flags" - }, - american_samoa: { - keywords: [ "american", "ws", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde6\ud83c\uddf8", - fitzpatrick_scale: false, - category: "flags" - }, - andorra: { - keywords: [ "ad", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde6\ud83c\udde9", - fitzpatrick_scale: false, - category: "flags" - }, - angola: { - keywords: [ "ao", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde6\ud83c\uddf4", - fitzpatrick_scale: false, - category: "flags" - }, - anguilla: { - keywords: [ "ai", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde6\ud83c\uddee", - fitzpatrick_scale: false, - category: "flags" - }, - antarctica: { - keywords: [ "aq", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde6\ud83c\uddf6", - fitzpatrick_scale: false, - category: "flags" - }, - antigua_barbuda: { - keywords: [ "antigua", "barbuda", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde6\ud83c\uddec", - fitzpatrick_scale: false, - category: "flags" - }, - argentina: { - keywords: [ "ar", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde6\ud83c\uddf7", - fitzpatrick_scale: false, - category: "flags" - }, - armenia: { - keywords: [ "am", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde6\ud83c\uddf2", - fitzpatrick_scale: false, - category: "flags" - }, - aruba: { - keywords: [ "aw", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde6\ud83c\uddfc", - fitzpatrick_scale: false, - category: "flags" - }, - australia: { - keywords: [ "au", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde6\ud83c\uddfa", - fitzpatrick_scale: false, - category: "flags" - }, - austria: { - keywords: [ "at", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde6\ud83c\uddf9", - fitzpatrick_scale: false, - category: "flags" - }, - azerbaijan: { - keywords: [ "az", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde6\ud83c\uddff", - fitzpatrick_scale: false, - category: "flags" - }, - bahamas: { - keywords: [ "bs", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\uddf8", - fitzpatrick_scale: false, - category: "flags" - }, - bahrain: { - keywords: [ "bh", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\udded", - fitzpatrick_scale: false, - category: "flags" - }, - bangladesh: { - keywords: [ "bd", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\udde9", - fitzpatrick_scale: false, - category: "flags" - }, - barbados: { - keywords: [ "bb", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\udde7", - fitzpatrick_scale: false, - category: "flags" - }, - belarus: { - keywords: [ "by", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\uddfe", - fitzpatrick_scale: false, - category: "flags" - }, - belgium: { - keywords: [ "be", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\uddea", - fitzpatrick_scale: false, - category: "flags" - }, - belize: { - keywords: [ "bz", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\uddff", - fitzpatrick_scale: false, - category: "flags" - }, - benin: { - keywords: [ "bj", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\uddef", - fitzpatrick_scale: false, - category: "flags" - }, - bermuda: { - keywords: [ "bm", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\uddf2", - fitzpatrick_scale: false, - category: "flags" - }, - bhutan: { - keywords: [ "bt", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\uddf9", - fitzpatrick_scale: false, - category: "flags" - }, - bolivia: { - keywords: [ "bo", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\uddf4", - fitzpatrick_scale: false, - category: "flags" - }, - caribbean_netherlands: { - keywords: [ "bonaire", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\uddf6", - fitzpatrick_scale: false, - category: "flags" - }, - bosnia_herzegovina: { - keywords: [ "bosnia", "herzegovina", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\udde6", - fitzpatrick_scale: false, - category: "flags" - }, - botswana: { - keywords: [ "bw", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\uddfc", - fitzpatrick_scale: false, - category: "flags" - }, - brazil: { - keywords: [ "br", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\uddf7", - fitzpatrick_scale: false, - category: "flags" - }, - british_indian_ocean_territory: { - keywords: [ "british", "indian", "ocean", "territory", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddee\ud83c\uddf4", - fitzpatrick_scale: false, - category: "flags" - }, - british_virgin_islands: { - keywords: [ "british", "virgin", "islands", "bvi", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddfb\ud83c\uddec", - fitzpatrick_scale: false, - category: "flags" - }, - brunei: { - keywords: [ "bn", "darussalam", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\uddf3", - fitzpatrick_scale: false, - category: "flags" - }, - bulgaria: { - keywords: [ "bg", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\uddec", - fitzpatrick_scale: false, - category: "flags" - }, - burkina_faso: { - keywords: [ "burkina", "faso", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\uddeb", - fitzpatrick_scale: false, - category: "flags" - }, - burundi: { - keywords: [ "bi", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\uddee", - fitzpatrick_scale: false, - category: "flags" - }, - cape_verde: { - keywords: [ "cabo", "verde", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde8\ud83c\uddfb", - fitzpatrick_scale: false, - category: "flags" - }, - cambodia: { - keywords: [ "kh", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf0\ud83c\udded", - fitzpatrick_scale: false, - category: "flags" - }, - cameroon: { - keywords: [ "cm", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde8\ud83c\uddf2", - fitzpatrick_scale: false, - category: "flags" - }, - canada: { - keywords: [ "ca", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde8\ud83c\udde6", - fitzpatrick_scale: false, - category: "flags" - }, - canary_islands: { - keywords: [ "canary", "islands", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddee\ud83c\udde8", - fitzpatrick_scale: false, - category: "flags" - }, - cayman_islands: { - keywords: [ "cayman", "islands", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf0\ud83c\uddfe", - fitzpatrick_scale: false, - category: "flags" - }, - central_african_republic: { - keywords: [ "central", "african", "republic", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde8\ud83c\uddeb", - fitzpatrick_scale: false, - category: "flags" - }, - chad: { - keywords: [ "td", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf9\ud83c\udde9", - fitzpatrick_scale: false, - category: "flags" - }, - chile: { - keywords: [ "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde8\ud83c\uddf1", - fitzpatrick_scale: false, - category: "flags" - }, - cn: { - keywords: [ "china", "chinese", "prc", "flag", "country", "nation", "banner" ], - "char": "\ud83c\udde8\ud83c\uddf3", - fitzpatrick_scale: false, - category: "flags" - }, - christmas_island: { - keywords: [ "christmas", "island", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde8\ud83c\uddfd", - fitzpatrick_scale: false, - category: "flags" - }, - cocos_islands: { - keywords: [ "cocos", "keeling", "islands", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde8\ud83c\udde8", - fitzpatrick_scale: false, - category: "flags" - }, - colombia: { - keywords: [ "co", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde8\ud83c\uddf4", - fitzpatrick_scale: false, - category: "flags" - }, - comoros: { - keywords: [ "km", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf0\ud83c\uddf2", - fitzpatrick_scale: false, - category: "flags" - }, - congo_brazzaville: { - keywords: [ "congo", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde8\ud83c\uddec", - fitzpatrick_scale: false, - category: "flags" - }, - congo_kinshasa: { - keywords: [ "congo", "democratic", "republic", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde8\ud83c\udde9", - fitzpatrick_scale: false, - category: "flags" - }, - cook_islands: { - keywords: [ "cook", "islands", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde8\ud83c\uddf0", - fitzpatrick_scale: false, - category: "flags" - }, - costa_rica: { - keywords: [ "costa", "rica", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde8\ud83c\uddf7", - fitzpatrick_scale: false, - category: "flags" - }, - croatia: { - keywords: [ "hr", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udded\ud83c\uddf7", - fitzpatrick_scale: false, - category: "flags" - }, - cuba: { - keywords: [ "cu", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde8\ud83c\uddfa", - fitzpatrick_scale: false, - category: "flags" - }, - curacao: { - keywords: [ "cura\xe7ao", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde8\ud83c\uddfc", - fitzpatrick_scale: false, - category: "flags" - }, - cyprus: { - keywords: [ "cy", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde8\ud83c\uddfe", - fitzpatrick_scale: false, - category: "flags" - }, - czech_republic: { - keywords: [ "cz", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde8\ud83c\uddff", - fitzpatrick_scale: false, - category: "flags" - }, - denmark: { - keywords: [ "dk", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde9\ud83c\uddf0", - fitzpatrick_scale: false, - category: "flags" - }, - djibouti: { - keywords: [ "dj", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde9\ud83c\uddef", - fitzpatrick_scale: false, - category: "flags" - }, - dominica: { - keywords: [ "dm", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde9\ud83c\uddf2", - fitzpatrick_scale: false, - category: "flags" - }, - dominican_republic: { - keywords: [ "dominican", "republic", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde9\ud83c\uddf4", - fitzpatrick_scale: false, - category: "flags" - }, - ecuador: { - keywords: [ "ec", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddea\ud83c\udde8", - fitzpatrick_scale: false, - category: "flags" - }, - egypt: { - keywords: [ "eg", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddea\ud83c\uddec", - fitzpatrick_scale: false, - category: "flags" - }, - el_salvador: { - keywords: [ "el", "salvador", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\uddfb", - fitzpatrick_scale: false, - category: "flags" - }, - equatorial_guinea: { - keywords: [ "equatorial", "gn", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddec\ud83c\uddf6", - fitzpatrick_scale: false, - category: "flags" - }, - eritrea: { - keywords: [ "er", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddea\ud83c\uddf7", - fitzpatrick_scale: false, - category: "flags" - }, - estonia: { - keywords: [ "ee", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddea\ud83c\uddea", - fitzpatrick_scale: false, - category: "flags" - }, - ethiopia: { - keywords: [ "et", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddea\ud83c\uddf9", - fitzpatrick_scale: false, - category: "flags" - }, - eu: { - keywords: [ "european", "union", "flag", "banner" ], - "char": "\ud83c\uddea\ud83c\uddfa", - fitzpatrick_scale: false, - category: "flags" - }, - falkland_islands: { - keywords: [ "falkland", "islands", "malvinas", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddeb\ud83c\uddf0", - fitzpatrick_scale: false, - category: "flags" - }, - faroe_islands: { - keywords: [ "faroe", "islands", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddeb\ud83c\uddf4", - fitzpatrick_scale: false, - category: "flags" - }, - fiji: { - keywords: [ "fj", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddeb\ud83c\uddef", - fitzpatrick_scale: false, - category: "flags" - }, - finland: { - keywords: [ "fi", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddeb\ud83c\uddee", - fitzpatrick_scale: false, - category: "flags" - }, - fr: { - keywords: [ "banner", "flag", "nation", "france", "french", "country" ], - "char": "\ud83c\uddeb\ud83c\uddf7", - fitzpatrick_scale: false, - category: "flags" - }, - french_guiana: { - keywords: [ "french", "guiana", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddec\ud83c\uddeb", - fitzpatrick_scale: false, - category: "flags" - }, - french_polynesia: { - keywords: [ "french", "polynesia", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf5\ud83c\uddeb", - fitzpatrick_scale: false, - category: "flags" - }, - french_southern_territories: { - keywords: [ "french", "southern", "territories", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf9\ud83c\uddeb", - fitzpatrick_scale: false, - category: "flags" - }, - gabon: { - keywords: [ "ga", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddec\ud83c\udde6", - fitzpatrick_scale: false, - category: "flags" - }, - gambia: { - keywords: [ "gm", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddec\ud83c\uddf2", - fitzpatrick_scale: false, - category: "flags" - }, - georgia: { - keywords: [ "ge", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddec\ud83c\uddea", - fitzpatrick_scale: false, - category: "flags" - }, - de: { - keywords: [ "german", "nation", "flag", "country", "banner" ], - "char": "\ud83c\udde9\ud83c\uddea", - fitzpatrick_scale: false, - category: "flags" - }, - ghana: { - keywords: [ "gh", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddec\ud83c\udded", - fitzpatrick_scale: false, - category: "flags" - }, - gibraltar: { - keywords: [ "gi", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddec\ud83c\uddee", - fitzpatrick_scale: false, - category: "flags" - }, - greece: { - keywords: [ "gr", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddec\ud83c\uddf7", - fitzpatrick_scale: false, - category: "flags" - }, - greenland: { - keywords: [ "gl", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddec\ud83c\uddf1", - fitzpatrick_scale: false, - category: "flags" - }, - grenada: { - keywords: [ "gd", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddec\ud83c\udde9", - fitzpatrick_scale: false, - category: "flags" - }, - guadeloupe: { - keywords: [ "gp", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddec\ud83c\uddf5", - fitzpatrick_scale: false, - category: "flags" - }, - guam: { - keywords: [ "gu", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddec\ud83c\uddfa", - fitzpatrick_scale: false, - category: "flags" - }, - guatemala: { - keywords: [ "gt", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddec\ud83c\uddf9", - fitzpatrick_scale: false, - category: "flags" - }, - guernsey: { - keywords: [ "gg", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddec\ud83c\uddec", - fitzpatrick_scale: false, - category: "flags" - }, - guinea: { - keywords: [ "gn", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddec\ud83c\uddf3", - fitzpatrick_scale: false, - category: "flags" - }, - guinea_bissau: { - keywords: [ "gw", "bissau", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddec\ud83c\uddfc", - fitzpatrick_scale: false, - category: "flags" - }, - guyana: { - keywords: [ "gy", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddec\ud83c\uddfe", - fitzpatrick_scale: false, - category: "flags" - }, - haiti: { - keywords: [ "ht", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udded\ud83c\uddf9", - fitzpatrick_scale: false, - category: "flags" - }, - honduras: { - keywords: [ "hn", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udded\ud83c\uddf3", - fitzpatrick_scale: false, - category: "flags" - }, - hong_kong: { - keywords: [ "hong", "kong", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udded\ud83c\uddf0", - fitzpatrick_scale: false, - category: "flags" - }, - hungary: { - keywords: [ "hu", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udded\ud83c\uddfa", - fitzpatrick_scale: false, - category: "flags" - }, - iceland: { - keywords: [ "is", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddee\ud83c\uddf8", - fitzpatrick_scale: false, - category: "flags" - }, - india: { - keywords: [ "in", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddee\ud83c\uddf3", - fitzpatrick_scale: false, - category: "flags" - }, - indonesia: { - keywords: [ "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddee\ud83c\udde9", - fitzpatrick_scale: false, - category: "flags" - }, - iran: { - keywords: [ "iran,", "islamic", "republic", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddee\ud83c\uddf7", - fitzpatrick_scale: false, - category: "flags" - }, - iraq: { - keywords: [ "iq", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddee\ud83c\uddf6", - fitzpatrick_scale: false, - category: "flags" - }, - ireland: { - keywords: [ "ie", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddee\ud83c\uddea", - fitzpatrick_scale: false, - category: "flags" - }, - isle_of_man: { - keywords: [ "isle", "man", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddee\ud83c\uddf2", - fitzpatrick_scale: false, - category: "flags" - }, - israel: { - keywords: [ "il", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddee\ud83c\uddf1", - fitzpatrick_scale: false, - category: "flags" - }, - it: { - keywords: [ "italy", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddee\ud83c\uddf9", - fitzpatrick_scale: false, - category: "flags" - }, - cote_divoire: { - keywords: [ "ivory", "coast", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde8\ud83c\uddee", - fitzpatrick_scale: false, - category: "flags" - }, - jamaica: { - keywords: [ "jm", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddef\ud83c\uddf2", - fitzpatrick_scale: false, - category: "flags" - }, - jp: { - keywords: [ "japanese", "nation", "flag", "country", "banner" ], - "char": "\ud83c\uddef\ud83c\uddf5", - fitzpatrick_scale: false, - category: "flags" - }, - jersey: { - keywords: [ "je", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddef\ud83c\uddea", - fitzpatrick_scale: false, - category: "flags" - }, - jordan: { - keywords: [ "jo", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddef\ud83c\uddf4", - fitzpatrick_scale: false, - category: "flags" - }, - kazakhstan: { - keywords: [ "kz", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf0\ud83c\uddff", - fitzpatrick_scale: false, - category: "flags" - }, - kenya: { - keywords: [ "ke", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf0\ud83c\uddea", - fitzpatrick_scale: false, - category: "flags" - }, - kiribati: { - keywords: [ "ki", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf0\ud83c\uddee", - fitzpatrick_scale: false, - category: "flags" - }, - kosovo: { - keywords: [ "xk", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddfd\ud83c\uddf0", - fitzpatrick_scale: false, - category: "flags" - }, - kuwait: { - keywords: [ "kw", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf0\ud83c\uddfc", - fitzpatrick_scale: false, - category: "flags" - }, - kyrgyzstan: { - keywords: [ "kg", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf0\ud83c\uddec", - fitzpatrick_scale: false, - category: "flags" - }, - laos: { - keywords: [ "lao", "democratic", "republic", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf1\ud83c\udde6", - fitzpatrick_scale: false, - category: "flags" - }, - latvia: { - keywords: [ "lv", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf1\ud83c\uddfb", - fitzpatrick_scale: false, - category: "flags" - }, - lebanon: { - keywords: [ "lb", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf1\ud83c\udde7", - fitzpatrick_scale: false, - category: "flags" - }, - lesotho: { - keywords: [ "ls", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf1\ud83c\uddf8", - fitzpatrick_scale: false, - category: "flags" - }, - liberia: { - keywords: [ "lr", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf1\ud83c\uddf7", - fitzpatrick_scale: false, - category: "flags" - }, - libya: { - keywords: [ "ly", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf1\ud83c\uddfe", - fitzpatrick_scale: false, - category: "flags" - }, - liechtenstein: { - keywords: [ "li", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf1\ud83c\uddee", - fitzpatrick_scale: false, - category: "flags" - }, - lithuania: { - keywords: [ "lt", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf1\ud83c\uddf9", - fitzpatrick_scale: false, - category: "flags" - }, - luxembourg: { - keywords: [ "lu", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf1\ud83c\uddfa", - fitzpatrick_scale: false, - category: "flags" - }, - macau: { - keywords: [ "macao", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\uddf4", - fitzpatrick_scale: false, - category: "flags" - }, - macedonia: { - keywords: [ "macedonia,", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\uddf0", - fitzpatrick_scale: false, - category: "flags" - }, - madagascar: { - keywords: [ "mg", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\uddec", - fitzpatrick_scale: false, - category: "flags" - }, - malawi: { - keywords: [ "mw", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\uddfc", - fitzpatrick_scale: false, - category: "flags" - }, - malaysia: { - keywords: [ "my", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\uddfe", - fitzpatrick_scale: false, - category: "flags" - }, - maldives: { - keywords: [ "mv", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\uddfb", - fitzpatrick_scale: false, - category: "flags" - }, - mali: { - keywords: [ "ml", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\uddf1", - fitzpatrick_scale: false, - category: "flags" - }, - malta: { - keywords: [ "mt", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\uddf9", - fitzpatrick_scale: false, - category: "flags" - }, - marshall_islands: { - keywords: [ "marshall", "islands", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\udded", - fitzpatrick_scale: false, - category: "flags" - }, - martinique: { - keywords: [ "mq", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\uddf6", - fitzpatrick_scale: false, - category: "flags" - }, - mauritania: { - keywords: [ "mr", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\uddf7", - fitzpatrick_scale: false, - category: "flags" - }, - mauritius: { - keywords: [ "mu", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\uddfa", - fitzpatrick_scale: false, - category: "flags" - }, - mayotte: { - keywords: [ "yt", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddfe\ud83c\uddf9", - fitzpatrick_scale: false, - category: "flags" - }, - mexico: { - keywords: [ "mx", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\uddfd", - fitzpatrick_scale: false, - category: "flags" - }, - micronesia: { - keywords: [ "micronesia,", "federated", "states", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddeb\ud83c\uddf2", - fitzpatrick_scale: false, - category: "flags" - }, - moldova: { - keywords: [ "moldova,", "republic", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\udde9", - fitzpatrick_scale: false, - category: "flags" - }, - monaco: { - keywords: [ "mc", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\udde8", - fitzpatrick_scale: false, - category: "flags" - }, - mongolia: { - keywords: [ "mn", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\uddf3", - fitzpatrick_scale: false, - category: "flags" - }, - montenegro: { - keywords: [ "me", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\uddea", - fitzpatrick_scale: false, - category: "flags" - }, - montserrat: { - keywords: [ "ms", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\uddf8", - fitzpatrick_scale: false, - category: "flags" - }, - morocco: { - keywords: [ "ma", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\udde6", - fitzpatrick_scale: false, - category: "flags" - }, - mozambique: { - keywords: [ "mz", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\uddff", - fitzpatrick_scale: false, - category: "flags" - }, - myanmar: { - keywords: [ "mm", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\uddf2", - fitzpatrick_scale: false, - category: "flags" - }, - namibia: { - keywords: [ "na", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf3\ud83c\udde6", - fitzpatrick_scale: false, - category: "flags" - }, - nauru: { - keywords: [ "nr", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf3\ud83c\uddf7", - fitzpatrick_scale: false, - category: "flags" - }, - nepal: { - keywords: [ "np", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf3\ud83c\uddf5", - fitzpatrick_scale: false, - category: "flags" - }, - netherlands: { - keywords: [ "nl", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf3\ud83c\uddf1", - fitzpatrick_scale: false, - category: "flags" - }, - new_caledonia: { - keywords: [ "new", "caledonia", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf3\ud83c\udde8", - fitzpatrick_scale: false, - category: "flags" - }, - new_zealand: { - keywords: [ "new", "zealand", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf3\ud83c\uddff", - fitzpatrick_scale: false, - category: "flags" - }, - nicaragua: { - keywords: [ "ni", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf3\ud83c\uddee", - fitzpatrick_scale: false, - category: "flags" - }, - niger: { - keywords: [ "ne", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf3\ud83c\uddea", - fitzpatrick_scale: false, - category: "flags" - }, - nigeria: { - keywords: [ "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf3\ud83c\uddec", - fitzpatrick_scale: false, - category: "flags" - }, - niue: { - keywords: [ "nu", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf3\ud83c\uddfa", - fitzpatrick_scale: false, - category: "flags" - }, - norfolk_island: { - keywords: [ "norfolk", "island", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf3\ud83c\uddeb", - fitzpatrick_scale: false, - category: "flags" - }, - northern_mariana_islands: { - keywords: [ "northern", "mariana", "islands", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf2\ud83c\uddf5", - fitzpatrick_scale: false, - category: "flags" - }, - north_korea: { - keywords: [ "north", "korea", "nation", "flag", "country", "banner" ], - "char": "\ud83c\uddf0\ud83c\uddf5", - fitzpatrick_scale: false, - category: "flags" - }, - norway: { - keywords: [ "no", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf3\ud83c\uddf4", - fitzpatrick_scale: false, - category: "flags" - }, - oman: { - keywords: [ "om_symbol", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf4\ud83c\uddf2", - fitzpatrick_scale: false, - category: "flags" - }, - pakistan: { - keywords: [ "pk", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf5\ud83c\uddf0", - fitzpatrick_scale: false, - category: "flags" - }, - palau: { - keywords: [ "pw", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf5\ud83c\uddfc", - fitzpatrick_scale: false, - category: "flags" - }, - palestinian_territories: { - keywords: [ "palestine", "palestinian", "territories", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf5\ud83c\uddf8", - fitzpatrick_scale: false, - category: "flags" - }, - panama: { - keywords: [ "pa", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf5\ud83c\udde6", - fitzpatrick_scale: false, - category: "flags" - }, - papua_new_guinea: { - keywords: [ "papua", "new", "guinea", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf5\ud83c\uddec", - fitzpatrick_scale: false, - category: "flags" - }, - paraguay: { - keywords: [ "py", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf5\ud83c\uddfe", - fitzpatrick_scale: false, - category: "flags" - }, - peru: { - keywords: [ "pe", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf5\ud83c\uddea", - fitzpatrick_scale: false, - category: "flags" - }, - philippines: { - keywords: [ "ph", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf5\ud83c\udded", - fitzpatrick_scale: false, - category: "flags" - }, - pitcairn_islands: { - keywords: [ "pitcairn", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf5\ud83c\uddf3", - fitzpatrick_scale: false, - category: "flags" - }, - poland: { - keywords: [ "pl", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf5\ud83c\uddf1", - fitzpatrick_scale: false, - category: "flags" - }, - portugal: { - keywords: [ "pt", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf5\ud83c\uddf9", - fitzpatrick_scale: false, - category: "flags" - }, - puerto_rico: { - keywords: [ "puerto", "rico", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf5\ud83c\uddf7", - fitzpatrick_scale: false, - category: "flags" - }, - qatar: { - keywords: [ "qa", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf6\ud83c\udde6", - fitzpatrick_scale: false, - category: "flags" - }, - reunion: { - keywords: [ "r\xe9union", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf7\ud83c\uddea", - fitzpatrick_scale: false, - category: "flags" - }, - romania: { - keywords: [ "ro", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf7\ud83c\uddf4", - fitzpatrick_scale: false, - category: "flags" - }, - ru: { - keywords: [ "russian", "federation", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf7\ud83c\uddfa", - fitzpatrick_scale: false, - category: "flags" - }, - rwanda: { - keywords: [ "rw", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf7\ud83c\uddfc", - fitzpatrick_scale: false, - category: "flags" - }, - st_barthelemy: { - keywords: [ "saint", "barth\xe9lemy", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde7\ud83c\uddf1", - fitzpatrick_scale: false, - category: "flags" - }, - st_helena: { - keywords: [ "saint", "helena", "ascension", "tristan", "cunha", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\udded", - fitzpatrick_scale: false, - category: "flags" - }, - st_kitts_nevis: { - keywords: [ "saint", "kitts", "nevis", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf0\ud83c\uddf3", - fitzpatrick_scale: false, - category: "flags" - }, - st_lucia: { - keywords: [ "saint", "lucia", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf1\ud83c\udde8", - fitzpatrick_scale: false, - category: "flags" - }, - st_pierre_miquelon: { - keywords: [ "saint", "pierre", "miquelon", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf5\ud83c\uddf2", - fitzpatrick_scale: false, - category: "flags" - }, - st_vincent_grenadines: { - keywords: [ "saint", "vincent", "grenadines", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddfb\ud83c\udde8", - fitzpatrick_scale: false, - category: "flags" - }, - samoa: { - keywords: [ "ws", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddfc\ud83c\uddf8", - fitzpatrick_scale: false, - category: "flags" - }, - san_marino: { - keywords: [ "san", "marino", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\uddf2", - fitzpatrick_scale: false, - category: "flags" - }, - sao_tome_principe: { - keywords: [ "sao", "tome", "principe", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\uddf9", - fitzpatrick_scale: false, - category: "flags" - }, - saudi_arabia: { - keywords: [ "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\udde6", - fitzpatrick_scale: false, - category: "flags" - }, - senegal: { - keywords: [ "sn", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\uddf3", - fitzpatrick_scale: false, - category: "flags" - }, - serbia: { - keywords: [ "rs", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf7\ud83c\uddf8", - fitzpatrick_scale: false, - category: "flags" - }, - seychelles: { - keywords: [ "sc", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\udde8", - fitzpatrick_scale: false, - category: "flags" - }, - sierra_leone: { - keywords: [ "sierra", "leone", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\uddf1", - fitzpatrick_scale: false, - category: "flags" - }, - singapore: { - keywords: [ "sg", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\uddec", - fitzpatrick_scale: false, - category: "flags" - }, - sint_maarten: { - keywords: [ "sint", "maarten", "dutch", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\uddfd", - fitzpatrick_scale: false, - category: "flags" - }, - slovakia: { - keywords: [ "sk", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\uddf0", - fitzpatrick_scale: false, - category: "flags" - }, - slovenia: { - keywords: [ "si", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\uddee", - fitzpatrick_scale: false, - category: "flags" - }, - solomon_islands: { - keywords: [ "solomon", "islands", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\udde7", - fitzpatrick_scale: false, - category: "flags" - }, - somalia: { - keywords: [ "so", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\uddf4", - fitzpatrick_scale: false, - category: "flags" - }, - south_africa: { - keywords: [ "south", "africa", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddff\ud83c\udde6", - fitzpatrick_scale: false, - category: "flags" - }, - south_georgia_south_sandwich_islands: { - keywords: [ "south", "georgia", "sandwich", "islands", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddec\ud83c\uddf8", - fitzpatrick_scale: false, - category: "flags" - }, - kr: { - keywords: [ "south", "korea", "nation", "flag", "country", "banner" ], - "char": "\ud83c\uddf0\ud83c\uddf7", - fitzpatrick_scale: false, - category: "flags" - }, - south_sudan: { - keywords: [ "south", "sd", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\uddf8", - fitzpatrick_scale: false, - category: "flags" - }, - es: { - keywords: [ "spain", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddea\ud83c\uddf8", - fitzpatrick_scale: false, - category: "flags" - }, - sri_lanka: { - keywords: [ "sri", "lanka", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf1\ud83c\uddf0", - fitzpatrick_scale: false, - category: "flags" - }, - sudan: { - keywords: [ "sd", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\udde9", - fitzpatrick_scale: false, - category: "flags" - }, - suriname: { - keywords: [ "sr", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\uddf7", - fitzpatrick_scale: false, - category: "flags" - }, - swaziland: { - keywords: [ "sz", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\uddff", - fitzpatrick_scale: false, - category: "flags" - }, - sweden: { - keywords: [ "se", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\uddea", - fitzpatrick_scale: false, - category: "flags" - }, - switzerland: { - keywords: [ "ch", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde8\ud83c\udded", - fitzpatrick_scale: false, - category: "flags" - }, - syria: { - keywords: [ "syrian", "arab", "republic", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf8\ud83c\uddfe", - fitzpatrick_scale: false, - category: "flags" - }, - taiwan: { - keywords: [ "tw", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf9\ud83c\uddfc", - fitzpatrick_scale: false, - category: "flags" - }, - tajikistan: { - keywords: [ "tj", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf9\ud83c\uddef", - fitzpatrick_scale: false, - category: "flags" - }, - tanzania: { - keywords: [ "tanzania,", "united", "republic", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf9\ud83c\uddff", - fitzpatrick_scale: false, - category: "flags" - }, - thailand: { - keywords: [ "th", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf9\ud83c\udded", - fitzpatrick_scale: false, - category: "flags" - }, - timor_leste: { - keywords: [ "timor", "leste", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf9\ud83c\uddf1", - fitzpatrick_scale: false, - category: "flags" - }, - togo: { - keywords: [ "tg", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf9\ud83c\uddec", - fitzpatrick_scale: false, - category: "flags" - }, - tokelau: { - keywords: [ "tk", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf9\ud83c\uddf0", - fitzpatrick_scale: false, - category: "flags" - }, - tonga: { - keywords: [ "to", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf9\ud83c\uddf4", - fitzpatrick_scale: false, - category: "flags" - }, - trinidad_tobago: { - keywords: [ "trinidad", "tobago", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf9\ud83c\uddf9", - fitzpatrick_scale: false, - category: "flags" - }, - tunisia: { - keywords: [ "tn", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf9\ud83c\uddf3", - fitzpatrick_scale: false, - category: "flags" - }, - tr: { - keywords: [ "turkey", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf9\ud83c\uddf7", - fitzpatrick_scale: false, - category: "flags" - }, - turkmenistan: { - keywords: [ "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf9\ud83c\uddf2", - fitzpatrick_scale: false, - category: "flags" - }, - turks_caicos_islands: { - keywords: [ "turks", "caicos", "islands", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf9\ud83c\udde8", - fitzpatrick_scale: false, - category: "flags" - }, - tuvalu: { - keywords: [ "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddf9\ud83c\uddfb", - fitzpatrick_scale: false, - category: "flags" - }, - uganda: { - keywords: [ "ug", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddfa\ud83c\uddec", - fitzpatrick_scale: false, - category: "flags" - }, - ukraine: { - keywords: [ "ua", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddfa\ud83c\udde6", - fitzpatrick_scale: false, - category: "flags" - }, - united_arab_emirates: { - keywords: [ "united", "arab", "emirates", "flag", "nation", "country", "banner" ], - "char": "\ud83c\udde6\ud83c\uddea", - fitzpatrick_scale: false, - category: "flags" - }, - uk: { - keywords: [ "united", "kingdom", "great", "britain", "northern", "ireland", "flag", "nation", "country", "banner", "british", "UK", "english", "england", "union jack" ], - "char": "\ud83c\uddec\ud83c\udde7", - fitzpatrick_scale: false, - category: "flags" - }, - england: { - keywords: [ "flag", "english" ], - "char": "\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f", - fitzpatrick_scale: false, - category: "flags" - }, - scotland: { - keywords: [ "flag", "scottish" ], - "char": "\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc73\udb40\udc63\udb40\udc74\udb40\udc7f", - fitzpatrick_scale: false, - category: "flags" - }, - wales: { - keywords: [ "flag", "welsh" ], - "char": "\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc77\udb40\udc6c\udb40\udc73\udb40\udc7f", - fitzpatrick_scale: false, - category: "flags" - }, - us: { - keywords: [ "united", "states", "america", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddfa\ud83c\uddf8", - fitzpatrick_scale: false, - category: "flags" - }, - us_virgin_islands: { - keywords: [ "virgin", "islands", "us", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddfb\ud83c\uddee", - fitzpatrick_scale: false, - category: "flags" - }, - uruguay: { - keywords: [ "uy", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddfa\ud83c\uddfe", - fitzpatrick_scale: false, - category: "flags" - }, - uzbekistan: { - keywords: [ "uz", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddfa\ud83c\uddff", - fitzpatrick_scale: false, - category: "flags" - }, - vanuatu: { - keywords: [ "vu", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddfb\ud83c\uddfa", - fitzpatrick_scale: false, - category: "flags" - }, - vatican_city: { - keywords: [ "vatican", "city", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddfb\ud83c\udde6", - fitzpatrick_scale: false, - category: "flags" - }, - venezuela: { - keywords: [ "ve", "bolivarian", "republic", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddfb\ud83c\uddea", - fitzpatrick_scale: false, - category: "flags" - }, - vietnam: { - keywords: [ "viet", "nam", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddfb\ud83c\uddf3", - fitzpatrick_scale: false, - category: "flags" - }, - wallis_futuna: { - keywords: [ "wallis", "futuna", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddfc\ud83c\uddeb", - fitzpatrick_scale: false, - category: "flags" - }, - western_sahara: { - keywords: [ "western", "sahara", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddea\ud83c\udded", - fitzpatrick_scale: false, - category: "flags" - }, - yemen: { - keywords: [ "ye", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddfe\ud83c\uddea", - fitzpatrick_scale: false, - category: "flags" - }, - zambia: { - keywords: [ "zm", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddff\ud83c\uddf2", - fitzpatrick_scale: false, - category: "flags" - }, - zimbabwe: { - keywords: [ "zw", "flag", "nation", "country", "banner" ], - "char": "\ud83c\uddff\ud83c\uddfc", - fitzpatrick_scale: false, - category: "flags" - } -}); \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/tinymce/plugins/emoticons/js/emojis.min.js b/app/system/modules/editor/app/assets/tinymce/plugins/emoticons/js/emojis.min.js deleted file mode 100755 index 5e59213a..00000000 --- a/app/system/modules/editor/app/assets/tinymce/plugins/emoticons/js/emojis.min.js +++ /dev/null @@ -1,2 +0,0 @@ -// NOTE: Source: npm package: emojilib, file:emojis.json -window.tinymce.Resource.add("tinymce.plugins.emoticons",{grinning:{keywords:["face","smile","happy","joy",":D","grin"],"char":"\ud83d\ude00",fitzpatrick_scale:!1,category:"people"},grimacing:{keywords:["face","grimace","teeth"],"char":"\ud83d\ude2c",fitzpatrick_scale:!1,category:"people"},grin:{keywords:["face","happy","smile","joy","kawaii"],"char":"\ud83d\ude01",fitzpatrick_scale:!1,category:"people"},joy:{keywords:["face","cry","tears","weep","happy","happytears","haha"],"char":"\ud83d\ude02",fitzpatrick_scale:!1,category:"people"},rofl:{keywords:["face","rolling","floor","laughing","lol","haha"],"char":"\ud83e\udd23",fitzpatrick_scale:!1,category:"people"},smiley:{keywords:["face","happy","joy","haha",":D",":)","smile","funny"],"char":"\ud83d\ude03",fitzpatrick_scale:!1,category:"people"},smile:{keywords:["face","happy","joy","funny","haha","laugh","like",":D",":)"],"char":"\ud83d\ude04",fitzpatrick_scale:!1,category:"people"},sweat_smile:{keywords:["face","hot","happy","laugh","sweat","smile","relief"],"char":"\ud83d\ude05",fitzpatrick_scale:!1,category:"people"},laughing:{keywords:["happy","joy","lol","satisfied","haha","face","glad","XD","laugh"],"char":"\ud83d\ude06",fitzpatrick_scale:!1,category:"people"},innocent:{keywords:["face","angel","heaven","halo"],"char":"\ud83d\ude07",fitzpatrick_scale:!1,category:"people"},wink:{keywords:["face","happy","mischievous","secret",";)","smile","eye"],"char":"\ud83d\ude09",fitzpatrick_scale:!1,category:"people"},blush:{keywords:["face","smile","happy","flushed","crush","embarrassed","shy","joy"],"char":"\ud83d\ude0a",fitzpatrick_scale:!1,category:"people"},slightly_smiling_face:{keywords:["face","smile"],"char":"\ud83d\ude42",fitzpatrick_scale:!1,category:"people"},upside_down_face:{keywords:["face","flipped","silly","smile"],"char":"\ud83d\ude43",fitzpatrick_scale:!1,category:"people"},relaxed:{keywords:["face","blush","massage","happiness"],"char":"\u263a\ufe0f",fitzpatrick_scale:!1,category:"people"},yum:{keywords:["happy","joy","tongue","smile","face","silly","yummy","nom","delicious","savouring"],"char":"\ud83d\ude0b",fitzpatrick_scale:!1,category:"people"},relieved:{keywords:["face","relaxed","phew","massage","happiness"],"char":"\ud83d\ude0c",fitzpatrick_scale:!1,category:"people"},heart_eyes:{keywords:["face","love","like","affection","valentines","infatuation","crush","heart"],"char":"\ud83d\ude0d",fitzpatrick_scale:!1,category:"people"},kissing_heart:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],"char":"\ud83d\ude18",fitzpatrick_scale:!1,category:"people"},kissing:{keywords:["love","like","face","3","valentines","infatuation","kiss"],"char":"\ud83d\ude17",fitzpatrick_scale:!1,category:"people"},kissing_smiling_eyes:{keywords:["face","affection","valentines","infatuation","kiss"],"char":"\ud83d\ude19",fitzpatrick_scale:!1,category:"people"},kissing_closed_eyes:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],"char":"\ud83d\ude1a",fitzpatrick_scale:!1,category:"people"},stuck_out_tongue_winking_eye:{keywords:["face","prank","childish","playful","mischievous","smile","wink","tongue"],"char":"\ud83d\ude1c",fitzpatrick_scale:!1,category:"people"},zany:{keywords:["face","goofy","crazy"],"char":"\ud83e\udd2a",fitzpatrick_scale:!1,category:"people"},raised_eyebrow:{keywords:["face","distrust","scepticism","disapproval","disbelief","surprise"],"char":"\ud83e\udd28",fitzpatrick_scale:!1,category:"people"},monocle:{keywords:["face","stuffy","wealthy"],"char":"\ud83e\uddd0",fitzpatrick_scale:!1,category:"people"},stuck_out_tongue_closed_eyes:{keywords:["face","prank","playful","mischievous","smile","tongue"],"char":"\ud83d\ude1d",fitzpatrick_scale:!1,category:"people"},stuck_out_tongue:{keywords:["face","prank","childish","playful","mischievous","smile","tongue"],"char":"\ud83d\ude1b",fitzpatrick_scale:!1,category:"people"},money_mouth_face:{keywords:["face","rich","dollar","money"],"char":"\ud83e\udd11",fitzpatrick_scale:!1,category:"people"},nerd_face:{keywords:["face","nerdy","geek","dork"],"char":"\ud83e\udd13",fitzpatrick_scale:!1,category:"people"},sunglasses:{keywords:["face","cool","smile","summer","beach","sunglass"],"char":"\ud83d\ude0e",fitzpatrick_scale:!1,category:"people"},star_struck:{keywords:["face","smile","starry","eyes","grinning"],"char":"\ud83e\udd29",fitzpatrick_scale:!1,category:"people"},clown_face:{keywords:["face"],"char":"\ud83e\udd21",fitzpatrick_scale:!1,category:"people"},cowboy_hat_face:{keywords:["face","cowgirl","hat"],"char":"\ud83e\udd20",fitzpatrick_scale:!1,category:"people"},hugs:{keywords:["face","smile","hug"],"char":"\ud83e\udd17",fitzpatrick_scale:!1,category:"people"},smirk:{keywords:["face","smile","mean","prank","smug","sarcasm"],"char":"\ud83d\ude0f",fitzpatrick_scale:!1,category:"people"},no_mouth:{keywords:["face","hellokitty"],"char":"\ud83d\ude36",fitzpatrick_scale:!1,category:"people"},neutral_face:{keywords:["indifference","meh",":|","neutral"],"char":"\ud83d\ude10",fitzpatrick_scale:!1,category:"people"},expressionless:{keywords:["face","indifferent","-_-","meh","deadpan"],"char":"\ud83d\ude11",fitzpatrick_scale:!1,category:"people"},unamused:{keywords:["indifference","bored","straight face","serious","sarcasm","unimpressed","skeptical","dubious","side_eye"],"char":"\ud83d\ude12",fitzpatrick_scale:!1,category:"people"},roll_eyes:{keywords:["face","eyeroll","frustrated"],"char":"\ud83d\ude44",fitzpatrick_scale:!1,category:"people"},thinking:{keywords:["face","hmmm","think","consider"],"char":"\ud83e\udd14",fitzpatrick_scale:!1,category:"people"},lying_face:{keywords:["face","lie","pinocchio"],"char":"\ud83e\udd25",fitzpatrick_scale:!1,category:"people"},hand_over_mouth:{keywords:["face","whoops","shock","surprise"],"char":"\ud83e\udd2d",fitzpatrick_scale:!1,category:"people"},shushing:{keywords:["face","quiet","shhh"],"char":"\ud83e\udd2b",fitzpatrick_scale:!1,category:"people"},symbols_over_mouth:{keywords:["face","swearing","cursing","cussing","profanity","expletive"],"char":"\ud83e\udd2c",fitzpatrick_scale:!1,category:"people"},exploding_head:{keywords:["face","shocked","mind","blown"],"char":"\ud83e\udd2f",fitzpatrick_scale:!1,category:"people"},flushed:{keywords:["face","blush","shy","flattered"],"char":"\ud83d\ude33",fitzpatrick_scale:!1,category:"people"},disappointed:{keywords:["face","sad","upset","depressed",":("],"char":"\ud83d\ude1e",fitzpatrick_scale:!1,category:"people"},worried:{keywords:["face","concern","nervous",":("],"char":"\ud83d\ude1f",fitzpatrick_scale:!1,category:"people"},angry:{keywords:["mad","face","annoyed","frustrated"],"char":"\ud83d\ude20",fitzpatrick_scale:!1,category:"people"},rage:{keywords:["angry","mad","hate","despise"],"char":"\ud83d\ude21",fitzpatrick_scale:!1,category:"people"},pensive:{keywords:["face","sad","depressed","upset"],"char":"\ud83d\ude14",fitzpatrick_scale:!1,category:"people"},confused:{keywords:["face","indifference","huh","weird","hmmm",":/"],"char":"\ud83d\ude15",fitzpatrick_scale:!1,category:"people"},slightly_frowning_face:{keywords:["face","frowning","disappointed","sad","upset"],"char":"\ud83d\ude41",fitzpatrick_scale:!1,category:"people"},frowning_face:{keywords:["face","sad","upset","frown"],"char":"\u2639",fitzpatrick_scale:!1,category:"people"},persevere:{keywords:["face","sick","no","upset","oops"],"char":"\ud83d\ude23",fitzpatrick_scale:!1,category:"people"},confounded:{keywords:["face","confused","sick","unwell","oops",":S"],"char":"\ud83d\ude16",fitzpatrick_scale:!1,category:"people"},tired_face:{keywords:["sick","whine","upset","frustrated"],"char":"\ud83d\ude2b",fitzpatrick_scale:!1,category:"people"},weary:{keywords:["face","tired","sleepy","sad","frustrated","upset"],"char":"\ud83d\ude29",fitzpatrick_scale:!1,category:"people"},triumph:{keywords:["face","gas","phew","proud","pride"],"char":"\ud83d\ude24",fitzpatrick_scale:!1,category:"people"},open_mouth:{keywords:["face","surprise","impressed","wow","whoa",":O"],"char":"\ud83d\ude2e",fitzpatrick_scale:!1,category:"people"},scream:{keywords:["face","munch","scared","omg"],"char":"\ud83d\ude31",fitzpatrick_scale:!1,category:"people"},fearful:{keywords:["face","scared","terrified","nervous","oops","huh"],"char":"\ud83d\ude28",fitzpatrick_scale:!1,category:"people"},cold_sweat:{keywords:["face","nervous","sweat"],"char":"\ud83d\ude30",fitzpatrick_scale:!1,category:"people"},hushed:{keywords:["face","woo","shh"],"char":"\ud83d\ude2f",fitzpatrick_scale:!1,category:"people"},frowning:{keywords:["face","aw","what"],"char":"\ud83d\ude26",fitzpatrick_scale:!1,category:"people"},anguished:{keywords:["face","stunned","nervous"],"char":"\ud83d\ude27",fitzpatrick_scale:!1,category:"people"},cry:{keywords:["face","tears","sad","depressed","upset",":'("],"char":"\ud83d\ude22",fitzpatrick_scale:!1,category:"people"},disappointed_relieved:{keywords:["face","phew","sweat","nervous"],"char":"\ud83d\ude25",fitzpatrick_scale:!1,category:"people"},drooling_face:{keywords:["face"],"char":"\ud83e\udd24",fitzpatrick_scale:!1,category:"people"},sleepy:{keywords:["face","tired","rest","nap"],"char":"\ud83d\ude2a",fitzpatrick_scale:!1,category:"people"},sweat:{keywords:["face","hot","sad","tired","exercise"],"char":"\ud83d\ude13",fitzpatrick_scale:!1,category:"people"},sob:{keywords:["face","cry","tears","sad","upset","depressed"],"char":"\ud83d\ude2d",fitzpatrick_scale:!1,category:"people"},dizzy_face:{keywords:["spent","unconscious","xox","dizzy"],"char":"\ud83d\ude35",fitzpatrick_scale:!1,category:"people"},astonished:{keywords:["face","xox","surprised","poisoned"],"char":"\ud83d\ude32",fitzpatrick_scale:!1,category:"people"},zipper_mouth_face:{keywords:["face","sealed","zipper","secret"],"char":"\ud83e\udd10",fitzpatrick_scale:!1,category:"people"},nauseated_face:{keywords:["face","vomit","gross","green","sick","throw up","ill"],"char":"\ud83e\udd22",fitzpatrick_scale:!1,category:"people"},sneezing_face:{keywords:["face","gesundheit","sneeze","sick","allergy"],"char":"\ud83e\udd27",fitzpatrick_scale:!1,category:"people"},vomiting:{keywords:["face","sick"],"char":"\ud83e\udd2e",fitzpatrick_scale:!1,category:"people"},mask:{keywords:["face","sick","ill","disease"],"char":"\ud83d\ude37",fitzpatrick_scale:!1,category:"people"},face_with_thermometer:{keywords:["sick","temperature","thermometer","cold","fever"],"char":"\ud83e\udd12",fitzpatrick_scale:!1,category:"people"},face_with_head_bandage:{keywords:["injured","clumsy","bandage","hurt"],"char":"\ud83e\udd15",fitzpatrick_scale:!1,category:"people"},sleeping:{keywords:["face","tired","sleepy","night","zzz"],"char":"\ud83d\ude34",fitzpatrick_scale:!1,category:"people"},zzz:{keywords:["sleepy","tired","dream"],"char":"\ud83d\udca4",fitzpatrick_scale:!1,category:"people"},poop:{keywords:["hankey","shitface","fail","turd","shit"],"char":"\ud83d\udca9",fitzpatrick_scale:!1,category:"people"},smiling_imp:{keywords:["devil","horns"],"char":"\ud83d\ude08",fitzpatrick_scale:!1,category:"people"},imp:{keywords:["devil","angry","horns"],"char":"\ud83d\udc7f",fitzpatrick_scale:!1,category:"people"},japanese_ogre:{keywords:["monster","red","mask","halloween","scary","creepy","devil","demon","japanese","ogre"],"char":"\ud83d\udc79",fitzpatrick_scale:!1,category:"people"},japanese_goblin:{keywords:["red","evil","mask","monster","scary","creepy","japanese","goblin"],"char":"\ud83d\udc7a",fitzpatrick_scale:!1,category:"people"},skull:{keywords:["dead","skeleton","creepy","death"],"char":"\ud83d\udc80",fitzpatrick_scale:!1,category:"people"},ghost:{keywords:["halloween","spooky","scary"],"char":"\ud83d\udc7b",fitzpatrick_scale:!1,category:"people"},alien:{keywords:["UFO","paul","weird","outer_space"],"char":"\ud83d\udc7d",fitzpatrick_scale:!1,category:"people"},robot:{keywords:["computer","machine","bot"],"char":"\ud83e\udd16",fitzpatrick_scale:!1,category:"people"},smiley_cat:{keywords:["animal","cats","happy","smile"],"char":"\ud83d\ude3a",fitzpatrick_scale:!1,category:"people"},smile_cat:{keywords:["animal","cats","smile"],"char":"\ud83d\ude38",fitzpatrick_scale:!1,category:"people"},joy_cat:{keywords:["animal","cats","haha","happy","tears"],"char":"\ud83d\ude39",fitzpatrick_scale:!1,category:"people"},heart_eyes_cat:{keywords:["animal","love","like","affection","cats","valentines","heart"],"char":"\ud83d\ude3b",fitzpatrick_scale:!1,category:"people"},smirk_cat:{keywords:["animal","cats","smirk"],"char":"\ud83d\ude3c",fitzpatrick_scale:!1,category:"people"},kissing_cat:{keywords:["animal","cats","kiss"],"char":"\ud83d\ude3d",fitzpatrick_scale:!1,category:"people"},scream_cat:{keywords:["animal","cats","munch","scared","scream"],"char":"\ud83d\ude40",fitzpatrick_scale:!1,category:"people"},crying_cat_face:{keywords:["animal","tears","weep","sad","cats","upset","cry"],"char":"\ud83d\ude3f",fitzpatrick_scale:!1,category:"people"},pouting_cat:{keywords:["animal","cats"],"char":"\ud83d\ude3e",fitzpatrick_scale:!1,category:"people"},palms_up:{keywords:["hands","gesture","cupped","prayer"],"char":"\ud83e\udd32",fitzpatrick_scale:!0,category:"people"},raised_hands:{keywords:["gesture","hooray","yea","celebration","hands"],"char":"\ud83d\ude4c",fitzpatrick_scale:!0,category:"people"},clap:{keywords:["hands","praise","applause","congrats","yay"],"char":"\ud83d\udc4f",fitzpatrick_scale:!0,category:"people"},wave:{keywords:["hands","gesture","goodbye","solong","farewell","hello","hi","palm"],"char":"\ud83d\udc4b",fitzpatrick_scale:!0,category:"people"},call_me_hand:{keywords:["hands","gesture"],"char":"\ud83e\udd19",fitzpatrick_scale:!0,category:"people"},"+1":{keywords:["thumbsup","yes","awesome","good","agree","accept","cool","hand","like"],"char":"\ud83d\udc4d",fitzpatrick_scale:!0,category:"people"},"-1":{keywords:["thumbsdown","no","dislike","hand"],"char":"\ud83d\udc4e",fitzpatrick_scale:!0,category:"people"},facepunch:{keywords:["angry","violence","fist","hit","attack","hand"],"char":"\ud83d\udc4a",fitzpatrick_scale:!0,category:"people"},fist:{keywords:["fingers","hand","grasp"],"char":"\u270a",fitzpatrick_scale:!0,category:"people"},fist_left:{keywords:["hand","fistbump"],"char":"\ud83e\udd1b",fitzpatrick_scale:!0,category:"people"},fist_right:{keywords:["hand","fistbump"],"char":"\ud83e\udd1c",fitzpatrick_scale:!0,category:"people"},v:{keywords:["fingers","ohyeah","hand","peace","victory","two"],"char":"\u270c",fitzpatrick_scale:!0,category:"people"},ok_hand:{keywords:["fingers","limbs","perfect","ok","okay"],"char":"\ud83d\udc4c",fitzpatrick_scale:!0,category:"people"},raised_hand:{keywords:["fingers","stop","highfive","palm","ban"],"char":"\u270b",fitzpatrick_scale:!0,category:"people"},raised_back_of_hand:{keywords:["fingers","raised","backhand"],"char":"\ud83e\udd1a",fitzpatrick_scale:!0,category:"people"},open_hands:{keywords:["fingers","butterfly","hands","open"],"char":"\ud83d\udc50",fitzpatrick_scale:!0,category:"people"},muscle:{keywords:["arm","flex","hand","summer","strong","biceps"],"char":"\ud83d\udcaa",fitzpatrick_scale:!0,category:"people"},pray:{keywords:["please","hope","wish","namaste","highfive"],"char":"\ud83d\ude4f",fitzpatrick_scale:!0,category:"people"},handshake:{keywords:["agreement","shake"],"char":"\ud83e\udd1d",fitzpatrick_scale:!1,category:"people"},point_up:{keywords:["hand","fingers","direction","up"],"char":"\u261d",fitzpatrick_scale:!0,category:"people"},point_up_2:{keywords:["fingers","hand","direction","up"],"char":"\ud83d\udc46",fitzpatrick_scale:!0,category:"people"},point_down:{keywords:["fingers","hand","direction","down"],"char":"\ud83d\udc47",fitzpatrick_scale:!0,category:"people"},point_left:{keywords:["direction","fingers","hand","left"],"char":"\ud83d\udc48",fitzpatrick_scale:!0,category:"people"},point_right:{keywords:["fingers","hand","direction","right"],"char":"\ud83d\udc49",fitzpatrick_scale:!0,category:"people"},fu:{keywords:["hand","fingers","rude","middle","flipping"],"char":"\ud83d\udd95",fitzpatrick_scale:!0,category:"people"},raised_hand_with_fingers_splayed:{keywords:["hand","fingers","palm"],"char":"\ud83d\udd90",fitzpatrick_scale:!0,category:"people"},love_you:{keywords:["hand","fingers","gesture"],"char":"\ud83e\udd1f",fitzpatrick_scale:!0,category:"people"},metal:{keywords:["hand","fingers","evil_eye","sign_of_horns","rock_on"],"char":"\ud83e\udd18",fitzpatrick_scale:!0,category:"people"},crossed_fingers:{keywords:["good","lucky"],"char":"\ud83e\udd1e",fitzpatrick_scale:!0,category:"people"},vulcan_salute:{keywords:["hand","fingers","spock","star trek"],"char":"\ud83d\udd96",fitzpatrick_scale:!0,category:"people"},writing_hand:{keywords:["lower_left_ballpoint_pen","stationery","write","compose"],"char":"\u270d",fitzpatrick_scale:!0,category:"people"},selfie:{keywords:["camera","phone"],"char":"\ud83e\udd33",fitzpatrick_scale:!0,category:"people"},nail_care:{keywords:["beauty","manicure","finger","fashion","nail"],"char":"\ud83d\udc85",fitzpatrick_scale:!0,category:"people"},lips:{keywords:["mouth","kiss"],"char":"\ud83d\udc44",fitzpatrick_scale:!1,category:"people"},tongue:{keywords:["mouth","playful"],"char":"\ud83d\udc45",fitzpatrick_scale:!1,category:"people"},ear:{keywords:["face","hear","sound","listen"],"char":"\ud83d\udc42",fitzpatrick_scale:!0,category:"people"},nose:{keywords:["smell","sniff"],"char":"\ud83d\udc43",fitzpatrick_scale:!0,category:"people"},eye:{keywords:["face","look","see","watch","stare"],"char":"\ud83d\udc41",fitzpatrick_scale:!1,category:"people"},eyes:{keywords:["look","watch","stalk","peek","see"],"char":"\ud83d\udc40",fitzpatrick_scale:!1,category:"people"},brain:{keywords:["smart","intelligent"],"char":"\ud83e\udde0",fitzpatrick_scale:!1,category:"people"},bust_in_silhouette:{keywords:["user","person","human"],"char":"\ud83d\udc64",fitzpatrick_scale:!1,category:"people"},busts_in_silhouette:{keywords:["user","person","human","group","team"],"char":"\ud83d\udc65",fitzpatrick_scale:!1,category:"people"},speaking_head:{keywords:["user","person","human","sing","say","talk"],"char":"\ud83d\udde3",fitzpatrick_scale:!1,category:"people"},baby:{keywords:["child","boy","girl","toddler"],"char":"\ud83d\udc76",fitzpatrick_scale:!0,category:"people"},child:{keywords:["gender-neutral","young"],"char":"\ud83e\uddd2",fitzpatrick_scale:!0,category:"people"},boy:{keywords:["man","male","guy","teenager"],"char":"\ud83d\udc66",fitzpatrick_scale:!0,category:"people"},girl:{keywords:["female","woman","teenager"],"char":"\ud83d\udc67",fitzpatrick_scale:!0,category:"people"},adult:{keywords:["gender-neutral","person"],"char":"\ud83e\uddd1",fitzpatrick_scale:!0,category:"people"},man:{keywords:["mustache","father","dad","guy","classy","sir","moustache"],"char":"\ud83d\udc68",fitzpatrick_scale:!0,category:"people"},woman:{keywords:["female","girls","lady"],"char":"\ud83d\udc69",fitzpatrick_scale:!0,category:"people"},blonde_woman:{keywords:["woman","female","girl","blonde","person"],"char":"\ud83d\udc71\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},blonde_man:{keywords:["man","male","boy","blonde","guy","person"],"char":"\ud83d\udc71",fitzpatrick_scale:!0,category:"people"},bearded_person:{keywords:["person","bewhiskered"],"char":"\ud83e\uddd4",fitzpatrick_scale:!0,category:"people"},older_adult:{keywords:["human","elder","senior","gender-neutral"],"char":"\ud83e\uddd3",fitzpatrick_scale:!0,category:"people"},older_man:{keywords:["human","male","men","old","elder","senior"],"char":"\ud83d\udc74",fitzpatrick_scale:!0,category:"people"},older_woman:{keywords:["human","female","women","lady","old","elder","senior"],"char":"\ud83d\udc75",fitzpatrick_scale:!0,category:"people"},man_with_gua_pi_mao:{keywords:["male","boy","chinese"],"char":"\ud83d\udc72",fitzpatrick_scale:!0,category:"people"},woman_with_headscarf:{keywords:["female","hijab","mantilla","tichel"],"char":"\ud83e\uddd5",fitzpatrick_scale:!0,category:"people"},woman_with_turban:{keywords:["female","indian","hinduism","arabs","woman"],"char":"\ud83d\udc73\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_with_turban:{keywords:["male","indian","hinduism","arabs"],"char":"\ud83d\udc73",fitzpatrick_scale:!0,category:"people"},policewoman:{keywords:["woman","police","law","legal","enforcement","arrest","911","female"],"char":"\ud83d\udc6e\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},policeman:{keywords:["man","police","law","legal","enforcement","arrest","911"],"char":"\ud83d\udc6e",fitzpatrick_scale:!0,category:"people"},construction_worker_woman:{keywords:["female","human","wip","build","construction","worker","labor","woman"],"char":"\ud83d\udc77\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},construction_worker_man:{keywords:["male","human","wip","guy","build","construction","worker","labor"],"char":"\ud83d\udc77",fitzpatrick_scale:!0,category:"people"},guardswoman:{keywords:["uk","gb","british","female","royal","woman"],"char":"\ud83d\udc82\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},guardsman:{keywords:["uk","gb","british","male","guy","royal"],"char":"\ud83d\udc82",fitzpatrick_scale:!0,category:"people"},female_detective:{keywords:["human","spy","detective","female","woman"],"char":"\ud83d\udd75\ufe0f\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},male_detective:{keywords:["human","spy","detective"],"char":"\ud83d\udd75",fitzpatrick_scale:!0,category:"people"},woman_health_worker:{keywords:["doctor","nurse","therapist","healthcare","woman","human"],"char":"\ud83d\udc69\u200d\u2695\ufe0f",fitzpatrick_scale:!0,category:"people"},man_health_worker:{keywords:["doctor","nurse","therapist","healthcare","man","human"],"char":"\ud83d\udc68\u200d\u2695\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_farmer:{keywords:["rancher","gardener","woman","human"],"char":"\ud83d\udc69\u200d\ud83c\udf3e",fitzpatrick_scale:!0,category:"people"},man_farmer:{keywords:["rancher","gardener","man","human"],"char":"\ud83d\udc68\u200d\ud83c\udf3e",fitzpatrick_scale:!0,category:"people"},woman_cook:{keywords:["chef","woman","human"],"char":"\ud83d\udc69\u200d\ud83c\udf73",fitzpatrick_scale:!0,category:"people"},man_cook:{keywords:["chef","man","human"],"char":"\ud83d\udc68\u200d\ud83c\udf73",fitzpatrick_scale:!0,category:"people"},woman_student:{keywords:["graduate","woman","human"],"char":"\ud83d\udc69\u200d\ud83c\udf93",fitzpatrick_scale:!0,category:"people"},man_student:{keywords:["graduate","man","human"],"char":"\ud83d\udc68\u200d\ud83c\udf93",fitzpatrick_scale:!0,category:"people"},woman_singer:{keywords:["rockstar","entertainer","woman","human"],"char":"\ud83d\udc69\u200d\ud83c\udfa4",fitzpatrick_scale:!0,category:"people"},man_singer:{keywords:["rockstar","entertainer","man","human"],"char":"\ud83d\udc68\u200d\ud83c\udfa4",fitzpatrick_scale:!0,category:"people"},woman_teacher:{keywords:["instructor","professor","woman","human"],"char":"\ud83d\udc69\u200d\ud83c\udfeb",fitzpatrick_scale:!0,category:"people"},man_teacher:{keywords:["instructor","professor","man","human"],"char":"\ud83d\udc68\u200d\ud83c\udfeb",fitzpatrick_scale:!0,category:"people"},woman_factory_worker:{keywords:["assembly","industrial","woman","human"],"char":"\ud83d\udc69\u200d\ud83c\udfed",fitzpatrick_scale:!0,category:"people"},man_factory_worker:{keywords:["assembly","industrial","man","human"],"char":"\ud83d\udc68\u200d\ud83c\udfed",fitzpatrick_scale:!0,category:"people"},woman_technologist:{keywords:["coder","developer","engineer","programmer","software","woman","human","laptop","computer"],"char":"\ud83d\udc69\u200d\ud83d\udcbb",fitzpatrick_scale:!0,category:"people"},man_technologist:{keywords:["coder","developer","engineer","programmer","software","man","human","laptop","computer"],"char":"\ud83d\udc68\u200d\ud83d\udcbb",fitzpatrick_scale:!0,category:"people"},woman_office_worker:{keywords:["business","manager","woman","human"],"char":"\ud83d\udc69\u200d\ud83d\udcbc",fitzpatrick_scale:!0,category:"people"},man_office_worker:{keywords:["business","manager","man","human"],"char":"\ud83d\udc68\u200d\ud83d\udcbc",fitzpatrick_scale:!0,category:"people"},woman_mechanic:{keywords:["plumber","woman","human","wrench"],"char":"\ud83d\udc69\u200d\ud83d\udd27",fitzpatrick_scale:!0,category:"people"},man_mechanic:{keywords:["plumber","man","human","wrench"],"char":"\ud83d\udc68\u200d\ud83d\udd27",fitzpatrick_scale:!0,category:"people"},woman_scientist:{keywords:["biologist","chemist","engineer","physicist","woman","human"],"char":"\ud83d\udc69\u200d\ud83d\udd2c",fitzpatrick_scale:!0,category:"people"},man_scientist:{keywords:["biologist","chemist","engineer","physicist","man","human"],"char":"\ud83d\udc68\u200d\ud83d\udd2c",fitzpatrick_scale:!0,category:"people"},woman_artist:{keywords:["painter","woman","human"],"char":"\ud83d\udc69\u200d\ud83c\udfa8",fitzpatrick_scale:!0,category:"people"},man_artist:{keywords:["painter","man","human"],"char":"\ud83d\udc68\u200d\ud83c\udfa8",fitzpatrick_scale:!0,category:"people"},woman_firefighter:{keywords:["fireman","woman","human"],"char":"\ud83d\udc69\u200d\ud83d\ude92",fitzpatrick_scale:!0,category:"people"},man_firefighter:{keywords:["fireman","man","human"],"char":"\ud83d\udc68\u200d\ud83d\ude92",fitzpatrick_scale:!0,category:"people"},woman_pilot:{keywords:["aviator","plane","woman","human"],"char":"\ud83d\udc69\u200d\u2708\ufe0f",fitzpatrick_scale:!0,category:"people"},man_pilot:{keywords:["aviator","plane","man","human"],"char":"\ud83d\udc68\u200d\u2708\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_astronaut:{keywords:["space","rocket","woman","human"],"char":"\ud83d\udc69\u200d\ud83d\ude80",fitzpatrick_scale:!0,category:"people"},man_astronaut:{keywords:["space","rocket","man","human"],"char":"\ud83d\udc68\u200d\ud83d\ude80",fitzpatrick_scale:!0,category:"people"},woman_judge:{keywords:["justice","court","woman","human"],"char":"\ud83d\udc69\u200d\u2696\ufe0f",fitzpatrick_scale:!0,category:"people"},man_judge:{keywords:["justice","court","man","human"],"char":"\ud83d\udc68\u200d\u2696\ufe0f",fitzpatrick_scale:!0,category:"people"},mrs_claus:{keywords:["woman","female","xmas","mother christmas"],"char":"\ud83e\udd36",fitzpatrick_scale:!0,category:"people"},santa:{keywords:["festival","man","male","xmas","father christmas"],"char":"\ud83c\udf85",fitzpatrick_scale:!0,category:"people"},sorceress:{keywords:["woman","female","mage","witch"],"char":"\ud83e\uddd9\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},wizard:{keywords:["man","male","mage","sorcerer"],"char":"\ud83e\uddd9\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_elf:{keywords:["woman","female"],"char":"\ud83e\udddd\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_elf:{keywords:["man","male"],"char":"\ud83e\udddd\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_vampire:{keywords:["woman","female"],"char":"\ud83e\udddb\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_vampire:{keywords:["man","male","dracula"],"char":"\ud83e\udddb\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_zombie:{keywords:["woman","female","undead","walking dead"],"char":"\ud83e\udddf\u200d\u2640\ufe0f",fitzpatrick_scale:!1,category:"people"},man_zombie:{keywords:["man","male","dracula","undead","walking dead"],"char":"\ud83e\udddf\u200d\u2642\ufe0f",fitzpatrick_scale:!1,category:"people"},woman_genie:{keywords:["woman","female"],"char":"\ud83e\uddde\u200d\u2640\ufe0f",fitzpatrick_scale:!1,category:"people"},man_genie:{keywords:["man","male"],"char":"\ud83e\uddde\u200d\u2642\ufe0f",fitzpatrick_scale:!1,category:"people"},mermaid:{keywords:["woman","female","merwoman","ariel"],"char":"\ud83e\udddc\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},merman:{keywords:["man","male","triton"],"char":"\ud83e\udddc\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_fairy:{keywords:["woman","female"],"char":"\ud83e\uddda\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_fairy:{keywords:["man","male"],"char":"\ud83e\uddda\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},angel:{keywords:["heaven","wings","halo"],"char":"\ud83d\udc7c",fitzpatrick_scale:!0,category:"people"},pregnant_woman:{keywords:["baby"],"char":"\ud83e\udd30",fitzpatrick_scale:!0,category:"people"},breastfeeding:{keywords:["nursing","baby"],"char":"\ud83e\udd31",fitzpatrick_scale:!0,category:"people"},princess:{keywords:["girl","woman","female","blond","crown","royal","queen"],"char":"\ud83d\udc78",fitzpatrick_scale:!0,category:"people"},prince:{keywords:["boy","man","male","crown","royal","king"],"char":"\ud83e\udd34",fitzpatrick_scale:!0,category:"people"},bride_with_veil:{keywords:["couple","marriage","wedding","woman","bride"],"char":"\ud83d\udc70",fitzpatrick_scale:!0,category:"people"},man_in_tuxedo:{keywords:["couple","marriage","wedding","groom"],"char":"\ud83e\udd35",fitzpatrick_scale:!0,category:"people"},running_woman:{keywords:["woman","walking","exercise","race","running","female"],"char":"\ud83c\udfc3\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},running_man:{keywords:["man","walking","exercise","race","running"],"char":"\ud83c\udfc3",fitzpatrick_scale:!0,category:"people"},walking_woman:{keywords:["human","feet","steps","woman","female"],"char":"\ud83d\udeb6\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},walking_man:{keywords:["human","feet","steps"],"char":"\ud83d\udeb6",fitzpatrick_scale:!0,category:"people"},dancer:{keywords:["female","girl","woman","fun"],"char":"\ud83d\udc83",fitzpatrick_scale:!0,category:"people"},man_dancing:{keywords:["male","boy","fun","dancer"],"char":"\ud83d\udd7a",fitzpatrick_scale:!0,category:"people"},dancing_women:{keywords:["female","bunny","women","girls"],"char":"\ud83d\udc6f",fitzpatrick_scale:!1,category:"people"},dancing_men:{keywords:["male","bunny","men","boys"],"char":"\ud83d\udc6f\u200d\u2642\ufe0f",fitzpatrick_scale:!1,category:"people"},couple:{keywords:["pair","people","human","love","date","dating","like","affection","valentines","marriage"],"char":"\ud83d\udc6b",fitzpatrick_scale:!1,category:"people"},two_men_holding_hands:{keywords:["pair","couple","love","like","bromance","friendship","people","human"],"char":"\ud83d\udc6c",fitzpatrick_scale:!1,category:"people"},two_women_holding_hands:{keywords:["pair","friendship","couple","love","like","female","people","human"],"char":"\ud83d\udc6d",fitzpatrick_scale:!1,category:"people"},bowing_woman:{keywords:["woman","female","girl"],"char":"\ud83d\ude47\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},bowing_man:{keywords:["man","male","boy"],"char":"\ud83d\ude47",fitzpatrick_scale:!0,category:"people"},man_facepalming:{keywords:["man","male","boy","disbelief"],"char":"\ud83e\udd26",fitzpatrick_scale:!0,category:"people"},woman_facepalming:{keywords:["woman","female","girl","disbelief"],"char":"\ud83e\udd26\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_shrugging:{keywords:["woman","female","girl","confused","indifferent","doubt"],"char":"\ud83e\udd37",fitzpatrick_scale:!0,category:"people"},man_shrugging:{keywords:["man","male","boy","confused","indifferent","doubt"],"char":"\ud83e\udd37\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},tipping_hand_woman:{keywords:["female","girl","woman","human","information"],"char":"\ud83d\udc81",fitzpatrick_scale:!0,category:"people"},tipping_hand_man:{keywords:["male","boy","man","human","information"],"char":"\ud83d\udc81\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},no_good_woman:{keywords:["female","girl","woman","nope"],"char":"\ud83d\ude45",fitzpatrick_scale:!0,category:"people"},no_good_man:{keywords:["male","boy","man","nope"],"char":"\ud83d\ude45\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},ok_woman:{keywords:["women","girl","female","pink","human","woman"],"char":"\ud83d\ude46",fitzpatrick_scale:!0,category:"people"},ok_man:{keywords:["men","boy","male","blue","human","man"],"char":"\ud83d\ude46\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},raising_hand_woman:{keywords:["female","girl","woman"],"char":"\ud83d\ude4b",fitzpatrick_scale:!0,category:"people"},raising_hand_man:{keywords:["male","boy","man"],"char":"\ud83d\ude4b\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},pouting_woman:{keywords:["female","girl","woman"],"char":"\ud83d\ude4e",fitzpatrick_scale:!0,category:"people"},pouting_man:{keywords:["male","boy","man"],"char":"\ud83d\ude4e\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},frowning_woman:{keywords:["female","girl","woman","sad","depressed","discouraged","unhappy"],"char":"\ud83d\ude4d",fitzpatrick_scale:!0,category:"people"},frowning_man:{keywords:["male","boy","man","sad","depressed","discouraged","unhappy"],"char":"\ud83d\ude4d\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},haircut_woman:{keywords:["female","girl","woman"],"char":"\ud83d\udc87",fitzpatrick_scale:!0,category:"people"},haircut_man:{keywords:["male","boy","man"],"char":"\ud83d\udc87\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},massage_woman:{keywords:["female","girl","woman","head"],"char":"\ud83d\udc86",fitzpatrick_scale:!0,category:"people"},massage_man:{keywords:["male","boy","man","head"],"char":"\ud83d\udc86\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},woman_in_steamy_room:{keywords:["female","woman","spa","steamroom","sauna"],"char":"\ud83e\uddd6\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"people"},man_in_steamy_room:{keywords:["male","man","spa","steamroom","sauna"],"char":"\ud83e\uddd6\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"people"},couple_with_heart_woman_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],"char":"\ud83d\udc91",fitzpatrick_scale:!1,category:"people"},couple_with_heart_woman_woman:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],"char":"\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d\udc69",fitzpatrick_scale:!1,category:"people"},couple_with_heart_man_man:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],"char":"\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc68",fitzpatrick_scale:!1,category:"people"},couplekiss_man_woman:{keywords:["pair","valentines","love","like","dating","marriage"],"char":"\ud83d\udc8f",fitzpatrick_scale:!1,category:"people"},couplekiss_woman_woman:{keywords:["pair","valentines","love","like","dating","marriage"],"char":"\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69",fitzpatrick_scale:!1,category:"people"},couplekiss_man_man:{keywords:["pair","valentines","love","like","dating","marriage"],"char":"\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68",fitzpatrick_scale:!1,category:"people"},family_man_woman_boy:{keywords:["home","parents","child","mom","dad","father","mother","people","human"],"char":"\ud83d\udc6a",fitzpatrick_scale:!1,category:"people"},family_man_woman_girl:{keywords:["home","parents","people","human","child"],"char":"\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67",fitzpatrick_scale:!1,category:"people"},family_man_woman_girl_boy:{keywords:["home","parents","people","human","children"],"char":"\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc66",fitzpatrick_scale:!1,category:"people"},family_man_woman_boy_boy:{keywords:["home","parents","people","human","children"],"char":"\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66",fitzpatrick_scale:!1,category:"people"},family_man_woman_girl_girl:{keywords:["home","parents","people","human","children"],"char":"\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc67",fitzpatrick_scale:!1,category:"people"},family_woman_woman_boy:{keywords:["home","parents","people","human","children"],"char":"\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc66",fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl:{keywords:["home","parents","people","human","children"],"char":"\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67",fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl_boy:{keywords:["home","parents","people","human","children"],"char":"\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc66",fitzpatrick_scale:!1,category:"people"},family_woman_woman_boy_boy:{keywords:["home","parents","people","human","children"],"char":"\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66",fitzpatrick_scale:!1,category:"people"},family_woman_woman_girl_girl:{keywords:["home","parents","people","human","children"],"char":"\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc67",fitzpatrick_scale:!1,category:"people"},family_man_man_boy:{keywords:["home","parents","people","human","children"],"char":"\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc66",fitzpatrick_scale:!1,category:"people"},family_man_man_girl:{keywords:["home","parents","people","human","children"],"char":"\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67",fitzpatrick_scale:!1,category:"people"},family_man_man_girl_boy:{keywords:["home","parents","people","human","children"],"char":"\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d\udc66",fitzpatrick_scale:!1,category:"people"},family_man_man_boy_boy:{keywords:["home","parents","people","human","children"],"char":"\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66",fitzpatrick_scale:!1,category:"people"},family_man_man_girl_girl:{keywords:["home","parents","people","human","children"],"char":"\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d\udc67",fitzpatrick_scale:!1,category:"people"},family_woman_boy:{keywords:["home","parent","people","human","child"],"char":"\ud83d\udc69\u200d\ud83d\udc66",fitzpatrick_scale:!1,category:"people"},family_woman_girl:{keywords:["home","parent","people","human","child"],"char":"\ud83d\udc69\u200d\ud83d\udc67",fitzpatrick_scale:!1,category:"people"},family_woman_girl_boy:{keywords:["home","parent","people","human","children"],"char":"\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc66",fitzpatrick_scale:!1,category:"people"},family_woman_boy_boy:{keywords:["home","parent","people","human","children"],"char":"\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66",fitzpatrick_scale:!1,category:"people"},family_woman_girl_girl:{keywords:["home","parent","people","human","children"],"char":"\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d\udc67",fitzpatrick_scale:!1,category:"people"},family_man_boy:{keywords:["home","parent","people","human","child"],"char":"\ud83d\udc68\u200d\ud83d\udc66",fitzpatrick_scale:!1,category:"people"},family_man_girl:{keywords:["home","parent","people","human","child"],"char":"\ud83d\udc68\u200d\ud83d\udc67",fitzpatrick_scale:!1,category:"people"},family_man_girl_boy:{keywords:["home","parent","people","human","children"],"char":"\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d\udc66",fitzpatrick_scale:!1,category:"people"},family_man_boy_boy:{keywords:["home","parent","people","human","children"],"char":"\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66",fitzpatrick_scale:!1,category:"people"},family_man_girl_girl:{keywords:["home","parent","people","human","children"],"char":"\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d\udc67",fitzpatrick_scale:!1,category:"people"},coat:{keywords:["jacket"],"char":"\ud83e\udde5",fitzpatrick_scale:!1,category:"people"},womans_clothes:{keywords:["fashion","shopping_bags","female"],"char":"\ud83d\udc5a",fitzpatrick_scale:!1,category:"people"},tshirt:{keywords:["fashion","cloth","casual","shirt","tee"],"char":"\ud83d\udc55",fitzpatrick_scale:!1,category:"people"},jeans:{keywords:["fashion","shopping"],"char":"\ud83d\udc56",fitzpatrick_scale:!1,category:"people"},necktie:{keywords:["shirt","suitup","formal","fashion","cloth","business"],"char":"\ud83d\udc54",fitzpatrick_scale:!1,category:"people"},dress:{keywords:["clothes","fashion","shopping"],"char":"\ud83d\udc57",fitzpatrick_scale:!1,category:"people"},bikini:{keywords:["swimming","female","woman","girl","fashion","beach","summer"],"char":"\ud83d\udc59",fitzpatrick_scale:!1,category:"people"},kimono:{keywords:["dress","fashion","women","female","japanese"],"char":"\ud83d\udc58",fitzpatrick_scale:!1,category:"people"},lipstick:{keywords:["female","girl","fashion","woman"],"char":"\ud83d\udc84",fitzpatrick_scale:!1,category:"people"},kiss:{keywords:["face","lips","love","like","affection","valentines"],"char":"\ud83d\udc8b",fitzpatrick_scale:!1,category:"people"},footprints:{keywords:["feet","tracking","walking","beach"],"char":"\ud83d\udc63",fitzpatrick_scale:!1,category:"people"},high_heel:{keywords:["fashion","shoes","female","pumps","stiletto"],"char":"\ud83d\udc60",fitzpatrick_scale:!1,category:"people"},sandal:{keywords:["shoes","fashion","flip flops"],"char":"\ud83d\udc61",fitzpatrick_scale:!1,category:"people"},boot:{keywords:["shoes","fashion"],"char":"\ud83d\udc62",fitzpatrick_scale:!1,category:"people"},mans_shoe:{keywords:["fashion","male"],"char":"\ud83d\udc5e",fitzpatrick_scale:!1,category:"people"},athletic_shoe:{keywords:["shoes","sports","sneakers"],"char":"\ud83d\udc5f",fitzpatrick_scale:!1,category:"people"},socks:{keywords:["stockings","clothes"],"char":"\ud83e\udde6",fitzpatrick_scale:!1,category:"people"},gloves:{keywords:["hands","winter","clothes"],"char":"\ud83e\udde4",fitzpatrick_scale:!1,category:"people"},scarf:{keywords:["neck","winter","clothes"],"char":"\ud83e\udde3",fitzpatrick_scale:!1,category:"people"},womans_hat:{keywords:["fashion","accessories","female","lady","spring"],"char":"\ud83d\udc52",fitzpatrick_scale:!1,category:"people"},tophat:{keywords:["magic","gentleman","classy","circus"],"char":"\ud83c\udfa9",fitzpatrick_scale:!1,category:"people"},billed_hat:{keywords:["cap","baseball"],"char":"\ud83e\udde2",fitzpatrick_scale:!1,category:"people"},rescue_worker_helmet:{keywords:["construction","build"],"char":"\u26d1",fitzpatrick_scale:!1,category:"people"},mortar_board:{keywords:["school","college","degree","university","graduation","cap","hat","legal","learn","education"],"char":"\ud83c\udf93",fitzpatrick_scale:!1,category:"people"},crown:{keywords:["king","kod","leader","royalty","lord"],"char":"\ud83d\udc51",fitzpatrick_scale:!1,category:"people"},school_satchel:{keywords:["student","education","bag","backpack"],"char":"\ud83c\udf92",fitzpatrick_scale:!1,category:"people"},pouch:{keywords:["bag","accessories","shopping"],"char":"\ud83d\udc5d",fitzpatrick_scale:!1,category:"people"},purse:{keywords:["fashion","accessories","money","sales","shopping"],"char":"\ud83d\udc5b",fitzpatrick_scale:!1,category:"people"},handbag:{keywords:["fashion","accessory","accessories","shopping"],"char":"\ud83d\udc5c",fitzpatrick_scale:!1,category:"people"},briefcase:{keywords:["business","documents","work","law","legal","job","career"],"char":"\ud83d\udcbc",fitzpatrick_scale:!1,category:"people"},eyeglasses:{keywords:["fashion","accessories","eyesight","nerdy","dork","geek"],"char":"\ud83d\udc53",fitzpatrick_scale:!1,category:"people"},dark_sunglasses:{keywords:["face","cool","accessories"],"char":"\ud83d\udd76",fitzpatrick_scale:!1,category:"people"},ring:{keywords:["wedding","propose","marriage","valentines","diamond","fashion","jewelry","gem","engagement"],"char":"\ud83d\udc8d",fitzpatrick_scale:!1,category:"people"},closed_umbrella:{keywords:["weather","rain","drizzle"],"char":"\ud83c\udf02",fitzpatrick_scale:!1,category:"people"},dog:{keywords:["animal","friend","nature","woof","puppy","pet","faithful"],"char":"\ud83d\udc36",fitzpatrick_scale:!1,category:"animals_and_nature"},cat:{keywords:["animal","meow","nature","pet","kitten"],"char":"\ud83d\udc31",fitzpatrick_scale:!1,category:"animals_and_nature"},mouse:{keywords:["animal","nature","cheese_wedge","rodent"],"char":"\ud83d\udc2d",fitzpatrick_scale:!1,category:"animals_and_nature"},hamster:{keywords:["animal","nature"],"char":"\ud83d\udc39",fitzpatrick_scale:!1,category:"animals_and_nature"},rabbit:{keywords:["animal","nature","pet","spring","magic","bunny"],"char":"\ud83d\udc30",fitzpatrick_scale:!1,category:"animals_and_nature"},fox_face:{keywords:["animal","nature","face"],"char":"\ud83e\udd8a",fitzpatrick_scale:!1,category:"animals_and_nature"},bear:{keywords:["animal","nature","wild"],"char":"\ud83d\udc3b",fitzpatrick_scale:!1,category:"animals_and_nature"},panda_face:{keywords:["animal","nature","panda"],"char":"\ud83d\udc3c",fitzpatrick_scale:!1,category:"animals_and_nature"},koala:{keywords:["animal","nature"],"char":"\ud83d\udc28",fitzpatrick_scale:!1,category:"animals_and_nature"},tiger:{keywords:["animal","cat","danger","wild","nature","roar"],"char":"\ud83d\udc2f",fitzpatrick_scale:!1,category:"animals_and_nature"},lion:{keywords:["animal","nature"],"char":"\ud83e\udd81",fitzpatrick_scale:!1,category:"animals_and_nature"},cow:{keywords:["beef","ox","animal","nature","moo","milk"],"char":"\ud83d\udc2e",fitzpatrick_scale:!1,category:"animals_and_nature"},pig:{keywords:["animal","oink","nature"],"char":"\ud83d\udc37",fitzpatrick_scale:!1,category:"animals_and_nature"},pig_nose:{keywords:["animal","oink"],"char":"\ud83d\udc3d",fitzpatrick_scale:!1,category:"animals_and_nature"},frog:{keywords:["animal","nature","croak","toad"],"char":"\ud83d\udc38",fitzpatrick_scale:!1,category:"animals_and_nature"},squid:{keywords:["animal","nature","ocean","sea"],"char":"\ud83e\udd91",fitzpatrick_scale:!1,category:"animals_and_nature"},octopus:{keywords:["animal","creature","ocean","sea","nature","beach"],"char":"\ud83d\udc19",fitzpatrick_scale:!1,category:"animals_and_nature"},shrimp:{keywords:["animal","ocean","nature","seafood"],"char":"\ud83e\udd90",fitzpatrick_scale:!1,category:"animals_and_nature"},monkey_face:{keywords:["animal","nature","circus"],"char":"\ud83d\udc35",fitzpatrick_scale:!1,category:"animals_and_nature"},gorilla:{keywords:["animal","nature","circus"],"char":"\ud83e\udd8d",fitzpatrick_scale:!1,category:"animals_and_nature"},see_no_evil:{keywords:["monkey","animal","nature","haha"],"char":"\ud83d\ude48",fitzpatrick_scale:!1,category:"animals_and_nature"},hear_no_evil:{keywords:["animal","monkey","nature"],"char":"\ud83d\ude49",fitzpatrick_scale:!1,category:"animals_and_nature"},speak_no_evil:{keywords:["monkey","animal","nature","omg"],"char":"\ud83d\ude4a",fitzpatrick_scale:!1,category:"animals_and_nature"},monkey:{keywords:["animal","nature","banana","circus"],"char":"\ud83d\udc12",fitzpatrick_scale:!1,category:"animals_and_nature"},chicken:{keywords:["animal","cluck","nature","bird"],"char":"\ud83d\udc14",fitzpatrick_scale:!1,category:"animals_and_nature"},penguin:{keywords:["animal","nature"],"char":"\ud83d\udc27",fitzpatrick_scale:!1,category:"animals_and_nature"},bird:{keywords:["animal","nature","fly","tweet","spring"],"char":"\ud83d\udc26",fitzpatrick_scale:!1,category:"animals_and_nature"},baby_chick:{keywords:["animal","chicken","bird"],"char":"\ud83d\udc24",fitzpatrick_scale:!1,category:"animals_and_nature"},hatching_chick:{keywords:["animal","chicken","egg","born","baby","bird"],"char":"\ud83d\udc23",fitzpatrick_scale:!1,category:"animals_and_nature"},hatched_chick:{keywords:["animal","chicken","baby","bird"],"char":"\ud83d\udc25",fitzpatrick_scale:!1,category:"animals_and_nature"},duck:{keywords:["animal","nature","bird","mallard"],"char":"\ud83e\udd86",fitzpatrick_scale:!1,category:"animals_and_nature"},eagle:{keywords:["animal","nature","bird"],"char":"\ud83e\udd85",fitzpatrick_scale:!1,category:"animals_and_nature"},owl:{keywords:["animal","nature","bird","hoot"],"char":"\ud83e\udd89",fitzpatrick_scale:!1,category:"animals_and_nature"},bat:{keywords:["animal","nature","blind","vampire"],"char":"\ud83e\udd87",fitzpatrick_scale:!1,category:"animals_and_nature"},wolf:{keywords:["animal","nature","wild"],"char":"\ud83d\udc3a",fitzpatrick_scale:!1,category:"animals_and_nature"},boar:{keywords:["animal","nature"],"char":"\ud83d\udc17",fitzpatrick_scale:!1,category:"animals_and_nature"},horse:{keywords:["animal","brown","nature"],"char":"\ud83d\udc34",fitzpatrick_scale:!1,category:"animals_and_nature"},unicorn:{keywords:["animal","nature","mystical"],"char":"\ud83e\udd84",fitzpatrick_scale:!1,category:"animals_and_nature"},honeybee:{keywords:["animal","insect","nature","bug","spring","honey"],"char":"\ud83d\udc1d",fitzpatrick_scale:!1,category:"animals_and_nature"},bug:{keywords:["animal","insect","nature","worm"],"char":"\ud83d\udc1b",fitzpatrick_scale:!1,category:"animals_and_nature"},butterfly:{keywords:["animal","insect","nature","caterpillar"],"char":"\ud83e\udd8b",fitzpatrick_scale:!1,category:"animals_and_nature"},snail:{keywords:["slow","animal","shell"],"char":"\ud83d\udc0c",fitzpatrick_scale:!1,category:"animals_and_nature"},beetle:{keywords:["animal","insect","nature","ladybug"],"char":"\ud83d\udc1e",fitzpatrick_scale:!1,category:"animals_and_nature"},ant:{keywords:["animal","insect","nature","bug"],"char":"\ud83d\udc1c",fitzpatrick_scale:!1,category:"animals_and_nature"},grasshopper:{keywords:["animal","cricket","chirp"],"char":"\ud83e\udd97",fitzpatrick_scale:!1,category:"animals_and_nature"},spider:{keywords:["animal","arachnid"],"char":"\ud83d\udd77",fitzpatrick_scale:!1,category:"animals_and_nature"},scorpion:{keywords:["animal","arachnid"],"char":"\ud83e\udd82",fitzpatrick_scale:!1,category:"animals_and_nature"},crab:{keywords:["animal","crustacean"],"char":"\ud83e\udd80",fitzpatrick_scale:!1,category:"animals_and_nature"},snake:{keywords:["animal","evil","nature","hiss","python"],"char":"\ud83d\udc0d",fitzpatrick_scale:!1,category:"animals_and_nature"},lizard:{keywords:["animal","nature","reptile"],"char":"\ud83e\udd8e",fitzpatrick_scale:!1,category:"animals_and_nature"},"t-rex":{keywords:["animal","nature","dinosaur","tyrannosaurus","extinct"],"char":"\ud83e\udd96",fitzpatrick_scale:!1,category:"animals_and_nature"},sauropod:{keywords:["animal","nature","dinosaur","brachiosaurus","brontosaurus","diplodocus","extinct"],"char":"\ud83e\udd95",fitzpatrick_scale:!1,category:"animals_and_nature"},turtle:{keywords:["animal","slow","nature","tortoise"],"char":"\ud83d\udc22",fitzpatrick_scale:!1,category:"animals_and_nature"},tropical_fish:{keywords:["animal","swim","ocean","beach","nemo"],"char":"\ud83d\udc20",fitzpatrick_scale:!1,category:"animals_and_nature"},fish:{keywords:["animal","food","nature"],"char":"\ud83d\udc1f",fitzpatrick_scale:!1,category:"animals_and_nature"},blowfish:{keywords:["animal","nature","food","sea","ocean"],"char":"\ud83d\udc21",fitzpatrick_scale:!1,category:"animals_and_nature"},dolphin:{keywords:["animal","nature","fish","sea","ocean","flipper","fins","beach"],"char":"\ud83d\udc2c",fitzpatrick_scale:!1,category:"animals_and_nature"},shark:{keywords:["animal","nature","fish","sea","ocean","jaws","fins","beach"],"char":"\ud83e\udd88",fitzpatrick_scale:!1,category:"animals_and_nature"},whale:{keywords:["animal","nature","sea","ocean"],"char":"\ud83d\udc33",fitzpatrick_scale:!1,category:"animals_and_nature"},whale2:{keywords:["animal","nature","sea","ocean"],"char":"\ud83d\udc0b",fitzpatrick_scale:!1,category:"animals_and_nature"},crocodile:{keywords:["animal","nature","reptile","lizard","alligator"],"char":"\ud83d\udc0a",fitzpatrick_scale:!1,category:"animals_and_nature"},leopard:{keywords:["animal","nature"],"char":"\ud83d\udc06",fitzpatrick_scale:!1,category:"animals_and_nature"},zebra:{keywords:["animal","nature","stripes","safari"],"char":"\ud83e\udd93",fitzpatrick_scale:!1,category:"animals_and_nature"},tiger2:{keywords:["animal","nature","roar"],"char":"\ud83d\udc05",fitzpatrick_scale:!1,category:"animals_and_nature"},water_buffalo:{keywords:["animal","nature","ox","cow"],"char":"\ud83d\udc03",fitzpatrick_scale:!1,category:"animals_and_nature"},ox:{keywords:["animal","cow","beef"],"char":"\ud83d\udc02",fitzpatrick_scale:!1,category:"animals_and_nature"},cow2:{keywords:["beef","ox","animal","nature","moo","milk"],"char":"\ud83d\udc04",fitzpatrick_scale:!1,category:"animals_and_nature"},deer:{keywords:["animal","nature","horns","venison"],"char":"\ud83e\udd8c",fitzpatrick_scale:!1,category:"animals_and_nature"},dromedary_camel:{keywords:["animal","hot","desert","hump"],"char":"\ud83d\udc2a",fitzpatrick_scale:!1,category:"animals_and_nature"},camel:{keywords:["animal","nature","hot","desert","hump"],"char":"\ud83d\udc2b",fitzpatrick_scale:!1,category:"animals_and_nature"},giraffe:{keywords:["animal","nature","spots","safari"],"char":"\ud83e\udd92",fitzpatrick_scale:!1,category:"animals_and_nature"},elephant:{keywords:["animal","nature","nose","th","circus"],"char":"\ud83d\udc18",fitzpatrick_scale:!1,category:"animals_and_nature"},rhinoceros:{keywords:["animal","nature","horn"],"char":"\ud83e\udd8f",fitzpatrick_scale:!1,category:"animals_and_nature"},goat:{keywords:["animal","nature"],"char":"\ud83d\udc10",fitzpatrick_scale:!1,category:"animals_and_nature"},ram:{keywords:["animal","sheep","nature"],"char":"\ud83d\udc0f",fitzpatrick_scale:!1,category:"animals_and_nature"},sheep:{keywords:["animal","nature","wool","shipit"],"char":"\ud83d\udc11",fitzpatrick_scale:!1,category:"animals_and_nature"},racehorse:{keywords:["animal","gamble","luck"],"char":"\ud83d\udc0e",fitzpatrick_scale:!1,category:"animals_and_nature"},pig2:{keywords:["animal","nature"],"char":"\ud83d\udc16",fitzpatrick_scale:!1,category:"animals_and_nature"},rat:{keywords:["animal","mouse","rodent"],"char":"\ud83d\udc00",fitzpatrick_scale:!1,category:"animals_and_nature"},mouse2:{keywords:["animal","nature","rodent"],"char":"\ud83d\udc01",fitzpatrick_scale:!1,category:"animals_and_nature"},rooster:{keywords:["animal","nature","chicken"],"char":"\ud83d\udc13",fitzpatrick_scale:!1,category:"animals_and_nature"},turkey:{keywords:["animal","bird"],"char":"\ud83e\udd83",fitzpatrick_scale:!1,category:"animals_and_nature"},dove:{keywords:["animal","bird"],"char":"\ud83d\udd4a",fitzpatrick_scale:!1,category:"animals_and_nature"},dog2:{keywords:["animal","nature","friend","doge","pet","faithful"],"char":"\ud83d\udc15",fitzpatrick_scale:!1,category:"animals_and_nature"},poodle:{keywords:["dog","animal","101","nature","pet"],"char":"\ud83d\udc29",fitzpatrick_scale:!1,category:"animals_and_nature"},cat2:{keywords:["animal","meow","pet","cats"],"char":"\ud83d\udc08",fitzpatrick_scale:!1,category:"animals_and_nature"},rabbit2:{keywords:["animal","nature","pet","magic","spring"],"char":"\ud83d\udc07",fitzpatrick_scale:!1,category:"animals_and_nature"},chipmunk:{keywords:["animal","nature","rodent","squirrel"],"char":"\ud83d\udc3f",fitzpatrick_scale:!1,category:"animals_and_nature"},hedgehog:{keywords:["animal","nature","spiny"],"char":"\ud83e\udd94",fitzpatrick_scale:!1,category:"animals_and_nature"},paw_prints:{keywords:["animal","tracking","footprints","dog","cat","pet","feet"],"char":"\ud83d\udc3e",fitzpatrick_scale:!1,category:"animals_and_nature"},dragon:{keywords:["animal","myth","nature","chinese","green"],"char":"\ud83d\udc09",fitzpatrick_scale:!1,category:"animals_and_nature"},dragon_face:{keywords:["animal","myth","nature","chinese","green"],"char":"\ud83d\udc32",fitzpatrick_scale:!1,category:"animals_and_nature"},cactus:{keywords:["vegetable","plant","nature"],"char":"\ud83c\udf35",fitzpatrick_scale:!1,category:"animals_and_nature"},christmas_tree:{keywords:["festival","vacation","december","xmas","celebration"],"char":"\ud83c\udf84",fitzpatrick_scale:!1,category:"animals_and_nature"},evergreen_tree:{keywords:["plant","nature"],"char":"\ud83c\udf32",fitzpatrick_scale:!1,category:"animals_and_nature"},deciduous_tree:{keywords:["plant","nature"],"char":"\ud83c\udf33",fitzpatrick_scale:!1,category:"animals_and_nature"},palm_tree:{keywords:["plant","vegetable","nature","summer","beach","mojito","tropical"],"char":"\ud83c\udf34",fitzpatrick_scale:!1,category:"animals_and_nature"},seedling:{keywords:["plant","nature","grass","lawn","spring"],"char":"\ud83c\udf31",fitzpatrick_scale:!1,category:"animals_and_nature"},herb:{keywords:["vegetable","plant","medicine","weed","grass","lawn"],"char":"\ud83c\udf3f",fitzpatrick_scale:!1,category:"animals_and_nature"},shamrock:{keywords:["vegetable","plant","nature","irish","clover"],"char":"\u2618",fitzpatrick_scale:!1,category:"animals_and_nature"},four_leaf_clover:{keywords:["vegetable","plant","nature","lucky","irish"],"char":"\ud83c\udf40",fitzpatrick_scale:!1,category:"animals_and_nature"},bamboo:{keywords:["plant","nature","vegetable","panda","pine_decoration"],"char":"\ud83c\udf8d",fitzpatrick_scale:!1,category:"animals_and_nature"},tanabata_tree:{keywords:["plant","nature","branch","summer"],"char":"\ud83c\udf8b",fitzpatrick_scale:!1,category:"animals_and_nature"},leaves:{keywords:["nature","plant","tree","vegetable","grass","lawn","spring"],"char":"\ud83c\udf43",fitzpatrick_scale:!1,category:"animals_and_nature"},fallen_leaf:{keywords:["nature","plant","vegetable","leaves"],"char":"\ud83c\udf42",fitzpatrick_scale:!1,category:"animals_and_nature"},maple_leaf:{keywords:["nature","plant","vegetable","ca","fall"],"char":"\ud83c\udf41",fitzpatrick_scale:!1,category:"animals_and_nature"},ear_of_rice:{keywords:["nature","plant"],"char":"\ud83c\udf3e",fitzpatrick_scale:!1,category:"animals_and_nature"},hibiscus:{keywords:["plant","vegetable","flowers","beach"],"char":"\ud83c\udf3a",fitzpatrick_scale:!1,category:"animals_and_nature"},sunflower:{keywords:["nature","plant","fall"],"char":"\ud83c\udf3b",fitzpatrick_scale:!1,category:"animals_and_nature"},rose:{keywords:["flowers","valentines","love","spring"],"char":"\ud83c\udf39",fitzpatrick_scale:!1,category:"animals_and_nature"},wilted_flower:{keywords:["plant","nature","flower"],"char":"\ud83e\udd40",fitzpatrick_scale:!1,category:"animals_and_nature"},tulip:{keywords:["flowers","plant","nature","summer","spring"],"char":"\ud83c\udf37",fitzpatrick_scale:!1,category:"animals_and_nature"},blossom:{keywords:["nature","flowers","yellow"],"char":"\ud83c\udf3c",fitzpatrick_scale:!1,category:"animals_and_nature"},cherry_blossom:{keywords:["nature","plant","spring","flower"],"char":"\ud83c\udf38",fitzpatrick_scale:!1,category:"animals_and_nature"},bouquet:{keywords:["flowers","nature","spring"],"char":"\ud83d\udc90",fitzpatrick_scale:!1,category:"animals_and_nature"},mushroom:{keywords:["plant","vegetable"],"char":"\ud83c\udf44",fitzpatrick_scale:!1,category:"animals_and_nature"},chestnut:{keywords:["food","squirrel"],"char":"\ud83c\udf30",fitzpatrick_scale:!1,category:"animals_and_nature"},jack_o_lantern:{keywords:["halloween","light","pumpkin","creepy","fall"],"char":"\ud83c\udf83",fitzpatrick_scale:!1,category:"animals_and_nature"},shell:{keywords:["nature","sea","beach"],"char":"\ud83d\udc1a",fitzpatrick_scale:!1,category:"animals_and_nature"},spider_web:{keywords:["animal","insect","arachnid","silk"],"char":"\ud83d\udd78",fitzpatrick_scale:!1,category:"animals_and_nature"},earth_americas:{keywords:["globe","world","USA","international"],"char":"\ud83c\udf0e",fitzpatrick_scale:!1,category:"animals_and_nature"},earth_africa:{keywords:["globe","world","international"],"char":"\ud83c\udf0d",fitzpatrick_scale:!1,category:"animals_and_nature"},earth_asia:{keywords:["globe","world","east","international"],"char":"\ud83c\udf0f",fitzpatrick_scale:!1,category:"animals_and_nature"},full_moon:{keywords:["nature","yellow","twilight","planet","space","night","evening","sleep"],"char":"\ud83c\udf15",fitzpatrick_scale:!1,category:"animals_and_nature"},waning_gibbous_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep","waxing_gibbous_moon"],"char":"\ud83c\udf16",fitzpatrick_scale:!1,category:"animals_and_nature"},last_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],"char":"\ud83c\udf17",fitzpatrick_scale:!1,category:"animals_and_nature"},waning_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],"char":"\ud83c\udf18",fitzpatrick_scale:!1,category:"animals_and_nature"},new_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],"char":"\ud83c\udf11",fitzpatrick_scale:!1,category:"animals_and_nature"},waxing_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],"char":"\ud83c\udf12",fitzpatrick_scale:!1,category:"animals_and_nature"},first_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],"char":"\ud83c\udf13",fitzpatrick_scale:!1,category:"animals_and_nature"},waxing_gibbous_moon:{keywords:["nature","night","sky","gray","twilight","planet","space","evening","sleep"],"char":"\ud83c\udf14",fitzpatrick_scale:!1,category:"animals_and_nature"},new_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],"char":"\ud83c\udf1a",fitzpatrick_scale:!1,category:"animals_and_nature"},full_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],"char":"\ud83c\udf1d",fitzpatrick_scale:!1,category:"animals_and_nature"},first_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],"char":"\ud83c\udf1b",fitzpatrick_scale:!1,category:"animals_and_nature"},last_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],"char":"\ud83c\udf1c",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_with_face:{keywords:["nature","morning","sky"],"char":"\ud83c\udf1e",fitzpatrick_scale:!1,category:"animals_and_nature"},crescent_moon:{keywords:["night","sleep","sky","evening","magic"],"char":"\ud83c\udf19",fitzpatrick_scale:!1,category:"animals_and_nature"},star:{keywords:["night","yellow"],"char":"\u2b50",fitzpatrick_scale:!1,category:"animals_and_nature"},star2:{keywords:["night","sparkle","awesome","good","magic"],"char":"\ud83c\udf1f",fitzpatrick_scale:!1,category:"animals_and_nature"},dizzy:{keywords:["star","sparkle","shoot","magic"],"char":"\ud83d\udcab",fitzpatrick_scale:!1,category:"animals_and_nature"},sparkles:{keywords:["stars","shine","shiny","cool","awesome","good","magic"],"char":"\u2728",fitzpatrick_scale:!1,category:"animals_and_nature"},comet:{keywords:["space"],"char":"\u2604",fitzpatrick_scale:!1,category:"animals_and_nature"},sunny:{keywords:["weather","nature","brightness","summer","beach","spring"],"char":"\u2600\ufe0f",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_small_cloud:{keywords:["weather"],"char":"\ud83c\udf24",fitzpatrick_scale:!1,category:"animals_and_nature"},partly_sunny:{keywords:["weather","nature","cloudy","morning","fall","spring"],"char":"\u26c5",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_large_cloud:{keywords:["weather"],"char":"\ud83c\udf25",fitzpatrick_scale:!1,category:"animals_and_nature"},sun_behind_rain_cloud:{keywords:["weather"],"char":"\ud83c\udf26",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud:{keywords:["weather","sky"],"char":"\u2601\ufe0f",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_rain:{keywords:["weather"],"char":"\ud83c\udf27",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_lightning_and_rain:{keywords:["weather","lightning"],"char":"\u26c8",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_lightning:{keywords:["weather","thunder"],"char":"\ud83c\udf29",fitzpatrick_scale:!1,category:"animals_and_nature"},zap:{keywords:["thunder","weather","lightning bolt","fast"],"char":"\u26a1",fitzpatrick_scale:!1,category:"animals_and_nature"},fire:{keywords:["hot","cook","flame"],"char":"\ud83d\udd25",fitzpatrick_scale:!1,category:"animals_and_nature"},boom:{keywords:["bomb","explode","explosion","collision","blown"],"char":"\ud83d\udca5",fitzpatrick_scale:!1,category:"animals_and_nature"},snowflake:{keywords:["winter","season","cold","weather","christmas","xmas"],"char":"\u2744\ufe0f",fitzpatrick_scale:!1,category:"animals_and_nature"},cloud_with_snow:{keywords:["weather"],"char":"\ud83c\udf28",fitzpatrick_scale:!1,category:"animals_and_nature"},snowman:{keywords:["winter","season","cold","weather","christmas","xmas","frozen","without_snow"],"char":"\u26c4",fitzpatrick_scale:!1,category:"animals_and_nature"},snowman_with_snow:{keywords:["winter","season","cold","weather","christmas","xmas","frozen"],"char":"\u2603",fitzpatrick_scale:!1,category:"animals_and_nature"},wind_face:{keywords:["gust","air"],"char":"\ud83c\udf2c",fitzpatrick_scale:!1,category:"animals_and_nature"},dash:{keywords:["wind","air","fast","shoo","fart","smoke","puff"],"char":"\ud83d\udca8",fitzpatrick_scale:!1,category:"animals_and_nature"},tornado:{keywords:["weather","cyclone","twister"],"char":"\ud83c\udf2a",fitzpatrick_scale:!1,category:"animals_and_nature"},fog:{keywords:["weather"],"char":"\ud83c\udf2b",fitzpatrick_scale:!1,category:"animals_and_nature"},open_umbrella:{keywords:["weather","spring"],"char":"\u2602",fitzpatrick_scale:!1,category:"animals_and_nature"},umbrella:{keywords:["rainy","weather","spring"],"char":"\u2614",fitzpatrick_scale:!1,category:"animals_and_nature"},droplet:{keywords:["water","drip","faucet","spring"],"char":"\ud83d\udca7",fitzpatrick_scale:!1,category:"animals_and_nature"},sweat_drops:{keywords:["water","drip","oops"],"char":"\ud83d\udca6",fitzpatrick_scale:!1,category:"animals_and_nature"},ocean:{keywords:["sea","water","wave","nature","tsunami","disaster"],"char":"\ud83c\udf0a",fitzpatrick_scale:!1,category:"animals_and_nature"},green_apple:{keywords:["fruit","nature"],"char":"\ud83c\udf4f",fitzpatrick_scale:!1,category:"food_and_drink"},apple:{keywords:["fruit","mac","school"],"char":"\ud83c\udf4e",fitzpatrick_scale:!1,category:"food_and_drink"},pear:{keywords:["fruit","nature","food"],"char":"\ud83c\udf50",fitzpatrick_scale:!1,category:"food_and_drink"},tangerine:{keywords:["food","fruit","nature","orange"],"char":"\ud83c\udf4a",fitzpatrick_scale:!1,category:"food_and_drink"},lemon:{keywords:["fruit","nature"],"char":"\ud83c\udf4b",fitzpatrick_scale:!1,category:"food_and_drink"},banana:{keywords:["fruit","food","monkey"],"char":"\ud83c\udf4c",fitzpatrick_scale:!1,category:"food_and_drink"},watermelon:{keywords:["fruit","food","picnic","summer"],"char":"\ud83c\udf49",fitzpatrick_scale:!1,category:"food_and_drink"},grapes:{keywords:["fruit","food","wine"],"char":"\ud83c\udf47",fitzpatrick_scale:!1,category:"food_and_drink"},strawberry:{keywords:["fruit","food","nature"],"char":"\ud83c\udf53",fitzpatrick_scale:!1,category:"food_and_drink"},melon:{keywords:["fruit","nature","food"],"char":"\ud83c\udf48",fitzpatrick_scale:!1,category:"food_and_drink"},cherries:{keywords:["food","fruit"],"char":"\ud83c\udf52",fitzpatrick_scale:!1,category:"food_and_drink"},peach:{keywords:["fruit","nature","food"],"char":"\ud83c\udf51",fitzpatrick_scale:!1,category:"food_and_drink"},pineapple:{keywords:["fruit","nature","food"],"char":"\ud83c\udf4d",fitzpatrick_scale:!1,category:"food_and_drink"},coconut:{keywords:["fruit","nature","food","palm"],"char":"\ud83e\udd65",fitzpatrick_scale:!1,category:"food_and_drink"},kiwi_fruit:{keywords:["fruit","food"],"char":"\ud83e\udd5d",fitzpatrick_scale:!1,category:"food_and_drink"},avocado:{keywords:["fruit","food"],"char":"\ud83e\udd51",fitzpatrick_scale:!1,category:"food_and_drink"},broccoli:{keywords:["fruit","food","vegetable"],"char":"\ud83e\udd66",fitzpatrick_scale:!1,category:"food_and_drink"},tomato:{keywords:["fruit","vegetable","nature","food"],"char":"\ud83c\udf45",fitzpatrick_scale:!1,category:"food_and_drink"},eggplant:{keywords:["vegetable","nature","food","aubergine"],"char":"\ud83c\udf46",fitzpatrick_scale:!1,category:"food_and_drink"},cucumber:{keywords:["fruit","food","pickle"],"char":"\ud83e\udd52",fitzpatrick_scale:!1,category:"food_and_drink"},carrot:{keywords:["vegetable","food","orange"],"char":"\ud83e\udd55",fitzpatrick_scale:!1,category:"food_and_drink"},hot_pepper:{keywords:["food","spicy","chilli","chili"],"char":"\ud83c\udf36",fitzpatrick_scale:!1,category:"food_and_drink"},potato:{keywords:["food","tuber","vegatable","starch"],"char":"\ud83e\udd54",fitzpatrick_scale:!1,category:"food_and_drink"},corn:{keywords:["food","vegetable","plant"],"char":"\ud83c\udf3d",fitzpatrick_scale:!1,category:"food_and_drink"},sweet_potato:{keywords:["food","nature"],"char":"\ud83c\udf60",fitzpatrick_scale:!1,category:"food_and_drink"},peanuts:{keywords:["food","nut"],"char":"\ud83e\udd5c",fitzpatrick_scale:!1,category:"food_and_drink"},honey_pot:{keywords:["bees","sweet","kitchen"],"char":"\ud83c\udf6f",fitzpatrick_scale:!1,category:"food_and_drink"},croissant:{keywords:["food","bread","french"],"char":"\ud83e\udd50",fitzpatrick_scale:!1,category:"food_and_drink"},bread:{keywords:["food","wheat","breakfast","toast"],"char":"\ud83c\udf5e",fitzpatrick_scale:!1,category:"food_and_drink"},baguette_bread:{keywords:["food","bread","french"],"char":"\ud83e\udd56",fitzpatrick_scale:!1,category:"food_and_drink"},pretzel:{keywords:["food","bread","twisted"],"char":"\ud83e\udd68",fitzpatrick_scale:!1,category:"food_and_drink"},cheese:{keywords:["food","chadder"],"char":"\ud83e\uddc0",fitzpatrick_scale:!1,category:"food_and_drink"},egg:{keywords:["food","chicken","breakfast"],"char":"\ud83e\udd5a",fitzpatrick_scale:!1,category:"food_and_drink"},bacon:{keywords:["food","breakfast","pork","pig","meat"],"char":"\ud83e\udd53",fitzpatrick_scale:!1,category:"food_and_drink"},steak:{keywords:["food","cow","meat","cut","chop","lambchop","porkchop"],"char":"\ud83e\udd69",fitzpatrick_scale:!1,category:"food_and_drink"},pancakes:{keywords:["food","breakfast","flapjacks","hotcakes"],"char":"\ud83e\udd5e",fitzpatrick_scale:!1,category:"food_and_drink"},poultry_leg:{keywords:["food","meat","drumstick","bird","chicken","turkey"],"char":"\ud83c\udf57",fitzpatrick_scale:!1,category:"food_and_drink"},meat_on_bone:{keywords:["good","food","drumstick"],"char":"\ud83c\udf56",fitzpatrick_scale:!1,category:"food_and_drink"},fried_shrimp:{keywords:["food","animal","appetizer","summer"],"char":"\ud83c\udf64",fitzpatrick_scale:!1,category:"food_and_drink"},fried_egg:{keywords:["food","breakfast","kitchen","egg"],"char":"\ud83c\udf73",fitzpatrick_scale:!1,category:"food_and_drink"},hamburger:{keywords:["meat","fast food","beef","cheeseburger","mcdonalds","burger king"],"char":"\ud83c\udf54",fitzpatrick_scale:!1,category:"food_and_drink"},fries:{keywords:["chips","snack","fast food"],"char":"\ud83c\udf5f",fitzpatrick_scale:!1,category:"food_and_drink"},stuffed_flatbread:{keywords:["food","flatbread","stuffed","gyro"],"char":"\ud83e\udd59",fitzpatrick_scale:!1,category:"food_and_drink"},hotdog:{keywords:["food","frankfurter"],"char":"\ud83c\udf2d",fitzpatrick_scale:!1,category:"food_and_drink"},pizza:{keywords:["food","party"],"char":"\ud83c\udf55",fitzpatrick_scale:!1,category:"food_and_drink"},sandwich:{keywords:["food","lunch","bread"],"char":"\ud83e\udd6a",fitzpatrick_scale:!1,category:"food_and_drink"},canned_food:{keywords:["food","soup"],"char":"\ud83e\udd6b",fitzpatrick_scale:!1,category:"food_and_drink"},spaghetti:{keywords:["food","italian","noodle"],"char":"\ud83c\udf5d",fitzpatrick_scale:!1,category:"food_and_drink"},taco:{keywords:["food","mexican"],"char":"\ud83c\udf2e",fitzpatrick_scale:!1,category:"food_and_drink"},burrito:{keywords:["food","mexican"],"char":"\ud83c\udf2f",fitzpatrick_scale:!1,category:"food_and_drink"},green_salad:{keywords:["food","healthy","lettuce"],"char":"\ud83e\udd57",fitzpatrick_scale:!1,category:"food_and_drink"},shallow_pan_of_food:{keywords:["food","cooking","casserole","paella"],"char":"\ud83e\udd58",fitzpatrick_scale:!1,category:"food_and_drink"},ramen:{keywords:["food","japanese","noodle","chopsticks"],"char":"\ud83c\udf5c",fitzpatrick_scale:!1,category:"food_and_drink"},stew:{keywords:["food","meat","soup"],"char":"\ud83c\udf72",fitzpatrick_scale:!1,category:"food_and_drink"},fish_cake:{keywords:["food","japan","sea","beach","narutomaki","pink","swirl","kamaboko","surimi","ramen"],"char":"\ud83c\udf65",fitzpatrick_scale:!1,category:"food_and_drink"},fortune_cookie:{keywords:["food","prophecy"],"char":"\ud83e\udd60",fitzpatrick_scale:!1,category:"food_and_drink"},sushi:{keywords:["food","fish","japanese","rice"],"char":"\ud83c\udf63",fitzpatrick_scale:!1,category:"food_and_drink"},bento:{keywords:["food","japanese","box"],"char":"\ud83c\udf71",fitzpatrick_scale:!1,category:"food_and_drink"},curry:{keywords:["food","spicy","hot","indian"],"char":"\ud83c\udf5b",fitzpatrick_scale:!1,category:"food_and_drink"},rice_ball:{keywords:["food","japanese"],"char":"\ud83c\udf59",fitzpatrick_scale:!1,category:"food_and_drink"},rice:{keywords:["food","china","asian"],"char":"\ud83c\udf5a",fitzpatrick_scale:!1,category:"food_and_drink"},rice_cracker:{keywords:["food","japanese"],"char":"\ud83c\udf58",fitzpatrick_scale:!1,category:"food_and_drink"},oden:{keywords:["food","japanese"],"char":"\ud83c\udf62",fitzpatrick_scale:!1,category:"food_and_drink"},dango:{keywords:["food","dessert","sweet","japanese","barbecue","meat"],"char":"\ud83c\udf61",fitzpatrick_scale:!1,category:"food_and_drink"},shaved_ice:{keywords:["hot","dessert","summer"],"char":"\ud83c\udf67",fitzpatrick_scale:!1,category:"food_and_drink"},ice_cream:{keywords:["food","hot","dessert"],"char":"\ud83c\udf68",fitzpatrick_scale:!1,category:"food_and_drink"},icecream:{keywords:["food","hot","dessert","summer"],"char":"\ud83c\udf66",fitzpatrick_scale:!1,category:"food_and_drink"},pie:{keywords:["food","dessert","pastry"],"char":"\ud83e\udd67",fitzpatrick_scale:!1,category:"food_and_drink"},cake:{keywords:["food","dessert"],"char":"\ud83c\udf70",fitzpatrick_scale:!1,category:"food_and_drink"},birthday:{keywords:["food","dessert","cake"],"char":"\ud83c\udf82",fitzpatrick_scale:!1,category:"food_and_drink"},custard:{keywords:["dessert","food"],"char":"\ud83c\udf6e",fitzpatrick_scale:!1,category:"food_and_drink"},candy:{keywords:["snack","dessert","sweet","lolly"],"char":"\ud83c\udf6c",fitzpatrick_scale:!1,category:"food_and_drink"},lollipop:{keywords:["food","snack","candy","sweet"],"char":"\ud83c\udf6d",fitzpatrick_scale:!1,category:"food_and_drink"},chocolate_bar:{keywords:["food","snack","dessert","sweet"],"char":"\ud83c\udf6b",fitzpatrick_scale:!1,category:"food_and_drink"},popcorn:{keywords:["food","movie theater","films","snack"],"char":"\ud83c\udf7f",fitzpatrick_scale:!1,category:"food_and_drink"},dumpling:{keywords:["food","empanada","pierogi","potsticker"],"char":"\ud83e\udd5f",fitzpatrick_scale:!1,category:"food_and_drink"},doughnut:{keywords:["food","dessert","snack","sweet","donut"],"char":"\ud83c\udf69",fitzpatrick_scale:!1,category:"food_and_drink"},cookie:{keywords:["food","snack","oreo","chocolate","sweet","dessert"],"char":"\ud83c\udf6a",fitzpatrick_scale:!1,category:"food_and_drink"},milk_glass:{keywords:["beverage","drink","cow"],"char":"\ud83e\udd5b",fitzpatrick_scale:!1,category:"food_and_drink"},beer:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],"char":"\ud83c\udf7a",fitzpatrick_scale:!1,category:"food_and_drink"},beers:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],"char":"\ud83c\udf7b",fitzpatrick_scale:!1,category:"food_and_drink"},clinking_glasses:{keywords:["beverage","drink","party","alcohol","celebrate","cheers","wine","champagne","toast"],"char":"\ud83e\udd42",fitzpatrick_scale:!1,category:"food_and_drink"},wine_glass:{keywords:["drink","beverage","drunk","alcohol","booze"],"char":"\ud83c\udf77",fitzpatrick_scale:!1,category:"food_and_drink"},tumbler_glass:{keywords:["drink","beverage","drunk","alcohol","liquor","booze","bourbon","scotch","whisky","glass","shot"],"char":"\ud83e\udd43",fitzpatrick_scale:!1,category:"food_and_drink"},cocktail:{keywords:["drink","drunk","alcohol","beverage","booze","mojito"],"char":"\ud83c\udf78",fitzpatrick_scale:!1,category:"food_and_drink"},tropical_drink:{keywords:["beverage","cocktail","summer","beach","alcohol","booze","mojito"],"char":"\ud83c\udf79",fitzpatrick_scale:!1,category:"food_and_drink"},champagne:{keywords:["drink","wine","bottle","celebration"],"char":"\ud83c\udf7e",fitzpatrick_scale:!1,category:"food_and_drink"},sake:{keywords:["wine","drink","drunk","beverage","japanese","alcohol","booze"],"char":"\ud83c\udf76",fitzpatrick_scale:!1,category:"food_and_drink"},tea:{keywords:["drink","bowl","breakfast","green","british"],"char":"\ud83c\udf75",fitzpatrick_scale:!1,category:"food_and_drink"},cup_with_straw:{keywords:["drink","soda"],"char":"\ud83e\udd64",fitzpatrick_scale:!1,category:"food_and_drink"},coffee:{keywords:["beverage","caffeine","latte","espresso"],"char":"\u2615",fitzpatrick_scale:!1,category:"food_and_drink"},baby_bottle:{keywords:["food","container","milk"],"char":"\ud83c\udf7c",fitzpatrick_scale:!1,category:"food_and_drink"},spoon:{keywords:["cutlery","kitchen","tableware"],"char":"\ud83e\udd44",fitzpatrick_scale:!1,category:"food_and_drink"},fork_and_knife:{keywords:["cutlery","kitchen"],"char":"\ud83c\udf74",fitzpatrick_scale:!1,category:"food_and_drink"},plate_with_cutlery:{keywords:["food","eat","meal","lunch","dinner","restaurant"],"char":"\ud83c\udf7d",fitzpatrick_scale:!1,category:"food_and_drink"},bowl_with_spoon:{keywords:["food","breakfast","cereal","oatmeal","porridge"],"char":"\ud83e\udd63",fitzpatrick_scale:!1,category:"food_and_drink"},takeout_box:{keywords:["food","leftovers"],"char":"\ud83e\udd61",fitzpatrick_scale:!1,category:"food_and_drink"},chopsticks:{keywords:["food"],"char":"\ud83e\udd62",fitzpatrick_scale:!1,category:"food_and_drink"},soccer:{keywords:["sports","football"],"char":"\u26bd",fitzpatrick_scale:!1,category:"activity"},basketball:{keywords:["sports","balls","NBA"],"char":"\ud83c\udfc0",fitzpatrick_scale:!1,category:"activity"},football:{keywords:["sports","balls","NFL"],"char":"\ud83c\udfc8",fitzpatrick_scale:!1,category:"activity"},baseball:{keywords:["sports","balls"],"char":"\u26be",fitzpatrick_scale:!1,category:"activity"},tennis:{keywords:["sports","balls","green"],"char":"\ud83c\udfbe",fitzpatrick_scale:!1,category:"activity"},volleyball:{keywords:["sports","balls"],"char":"\ud83c\udfd0",fitzpatrick_scale:!1,category:"activity"},rugby_football:{keywords:["sports","team"],"char":"\ud83c\udfc9",fitzpatrick_scale:!1,category:"activity"},"8ball":{keywords:["pool","hobby","game","luck","magic"],"char":"\ud83c\udfb1",fitzpatrick_scale:!1,category:"activity"},golf:{keywords:["sports","business","flag","hole","summer"],"char":"\u26f3",fitzpatrick_scale:!1,category:"activity"},golfing_woman:{keywords:["sports","business","woman","female"],"char":"\ud83c\udfcc\ufe0f\u200d\u2640\ufe0f",fitzpatrick_scale:!1,category:"activity"},golfing_man:{keywords:["sports","business"],"char":"\ud83c\udfcc",fitzpatrick_scale:!0,category:"activity"},ping_pong:{keywords:["sports","pingpong"],"char":"\ud83c\udfd3",fitzpatrick_scale:!1,category:"activity"},badminton:{keywords:["sports"],"char":"\ud83c\udff8",fitzpatrick_scale:!1,category:"activity"},goal_net:{keywords:["sports"],"char":"\ud83e\udd45",fitzpatrick_scale:!1,category:"activity"},ice_hockey:{keywords:["sports"],"char":"\ud83c\udfd2",fitzpatrick_scale:!1,category:"activity"},field_hockey:{keywords:["sports"],"char":"\ud83c\udfd1",fitzpatrick_scale:!1,category:"activity"},cricket:{keywords:["sports"],"char":"\ud83c\udfcf",fitzpatrick_scale:!1,category:"activity"},ski:{keywords:["sports","winter","cold","snow"],"char":"\ud83c\udfbf",fitzpatrick_scale:!1,category:"activity"},skier:{keywords:["sports","winter","snow"],"char":"\u26f7",fitzpatrick_scale:!1,category:"activity"},snowboarder:{keywords:["sports","winter"],"char":"\ud83c\udfc2",fitzpatrick_scale:!0,category:"activity"},person_fencing:{keywords:["sports","fencing","sword"],"char":"\ud83e\udd3a",fitzpatrick_scale:!1,category:"activity"},women_wrestling:{keywords:["sports","wrestlers"],"char":"\ud83e\udd3c\u200d\u2640\ufe0f",fitzpatrick_scale:!1,category:"activity"},men_wrestling:{keywords:["sports","wrestlers"],"char":"\ud83e\udd3c\u200d\u2642\ufe0f",fitzpatrick_scale:!1,category:"activity"},woman_cartwheeling:{keywords:["gymnastics"],"char":"\ud83e\udd38\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_cartwheeling:{keywords:["gymnastics"],"char":"\ud83e\udd38\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},woman_playing_handball:{keywords:["sports"],"char":"\ud83e\udd3e\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_playing_handball:{keywords:["sports"],"char":"\ud83e\udd3e\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},ice_skate:{keywords:["sports"],"char":"\u26f8",fitzpatrick_scale:!1,category:"activity"},curling_stone:{keywords:["sports"],"char":"\ud83e\udd4c",fitzpatrick_scale:!1,category:"activity"},sled:{keywords:["sleigh","luge","toboggan"],"char":"\ud83d\udef7",fitzpatrick_scale:!1,category:"activity"},bow_and_arrow:{keywords:["sports"],"char":"\ud83c\udff9",fitzpatrick_scale:!1,category:"activity"},fishing_pole_and_fish:{keywords:["food","hobby","summer"],"char":"\ud83c\udfa3",fitzpatrick_scale:!1,category:"activity"},boxing_glove:{keywords:["sports","fighting"],"char":"\ud83e\udd4a",fitzpatrick_scale:!1,category:"activity"},martial_arts_uniform:{keywords:["judo","karate","taekwondo"],"char":"\ud83e\udd4b",fitzpatrick_scale:!1,category:"activity"},rowing_woman:{keywords:["sports","hobby","water","ship","woman","female"],"char":"\ud83d\udea3\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},rowing_man:{keywords:["sports","hobby","water","ship"],"char":"\ud83d\udea3",fitzpatrick_scale:!0,category:"activity"},climbing_woman:{keywords:["sports","hobby","woman","female","rock"],"char":"\ud83e\uddd7\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},climbing_man:{keywords:["sports","hobby","man","male","rock"],"char":"\ud83e\uddd7\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},swimming_woman:{keywords:["sports","exercise","human","athlete","water","summer","woman","female"],"char":"\ud83c\udfca\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},swimming_man:{keywords:["sports","exercise","human","athlete","water","summer"],"char":"\ud83c\udfca",fitzpatrick_scale:!0,category:"activity"},woman_playing_water_polo:{keywords:["sports","pool"],"char":"\ud83e\udd3d\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_playing_water_polo:{keywords:["sports","pool"],"char":"\ud83e\udd3d\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},woman_in_lotus_position:{keywords:["woman","female","meditation","yoga","serenity","zen","mindfulness"],"char":"\ud83e\uddd8\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_in_lotus_position:{keywords:["man","male","meditation","yoga","serenity","zen","mindfulness"],"char":"\ud83e\uddd8\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},surfing_woman:{keywords:["sports","ocean","sea","summer","beach","woman","female"],"char":"\ud83c\udfc4\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},surfing_man:{keywords:["sports","ocean","sea","summer","beach"],"char":"\ud83c\udfc4",fitzpatrick_scale:!0,category:"activity"},bath:{keywords:["clean","shower","bathroom"],"char":"\ud83d\udec0",fitzpatrick_scale:!0,category:"activity"},basketball_woman:{keywords:["sports","human","woman","female"],"char":"\u26f9\ufe0f\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},basketball_man:{keywords:["sports","human"],"char":"\u26f9",fitzpatrick_scale:!0,category:"activity"},weight_lifting_woman:{keywords:["sports","training","exercise","woman","female"],"char":"\ud83c\udfcb\ufe0f\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},weight_lifting_man:{keywords:["sports","training","exercise"],"char":"\ud83c\udfcb",fitzpatrick_scale:!0,category:"activity"},biking_woman:{keywords:["sports","bike","exercise","hipster","woman","female"],"char":"\ud83d\udeb4\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},biking_man:{keywords:["sports","bike","exercise","hipster"],"char":"\ud83d\udeb4",fitzpatrick_scale:!0,category:"activity"},mountain_biking_woman:{keywords:["transportation","sports","human","race","bike","woman","female"],"char":"\ud83d\udeb5\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},mountain_biking_man:{keywords:["transportation","sports","human","race","bike"],"char":"\ud83d\udeb5",fitzpatrick_scale:!0,category:"activity"},horse_racing:{keywords:["animal","betting","competition","gambling","luck"],"char":"\ud83c\udfc7",fitzpatrick_scale:!0,category:"activity"},business_suit_levitating:{keywords:["suit","business","levitate","hover","jump"],"char":"\ud83d\udd74",fitzpatrick_scale:!0,category:"activity"},trophy:{keywords:["win","award","contest","place","ftw","ceremony"],"char":"\ud83c\udfc6",fitzpatrick_scale:!1,category:"activity"},running_shirt_with_sash:{keywords:["play","pageant"],"char":"\ud83c\udfbd",fitzpatrick_scale:!1,category:"activity"},medal_sports:{keywords:["award","winning"],"char":"\ud83c\udfc5",fitzpatrick_scale:!1,category:"activity"},medal_military:{keywords:["award","winning","army"],"char":"\ud83c\udf96",fitzpatrick_scale:!1,category:"activity"},"1st_place_medal":{keywords:["award","winning","first"],"char":"\ud83e\udd47",fitzpatrick_scale:!1,category:"activity"},"2nd_place_medal":{keywords:["award","second"],"char":"\ud83e\udd48",fitzpatrick_scale:!1,category:"activity"},"3rd_place_medal":{keywords:["award","third"],"char":"\ud83e\udd49",fitzpatrick_scale:!1,category:"activity"},reminder_ribbon:{keywords:["sports","cause","support","awareness"],"char":"\ud83c\udf97",fitzpatrick_scale:!1,category:"activity"},rosette:{keywords:["flower","decoration","military"],"char":"\ud83c\udff5",fitzpatrick_scale:!1,category:"activity"},ticket:{keywords:["event","concert","pass"],"char":"\ud83c\udfab",fitzpatrick_scale:!1,category:"activity"},tickets:{keywords:["sports","concert","entrance"],"char":"\ud83c\udf9f",fitzpatrick_scale:!1,category:"activity"},performing_arts:{keywords:["acting","theater","drama"],"char":"\ud83c\udfad",fitzpatrick_scale:!1,category:"activity"},art:{keywords:["design","paint","draw","colors"],"char":"\ud83c\udfa8",fitzpatrick_scale:!1,category:"activity"},circus_tent:{keywords:["festival","carnival","party"],"char":"\ud83c\udfaa",fitzpatrick_scale:!1,category:"activity"},woman_juggling:{keywords:["juggle","balance","skill","multitask"],"char":"\ud83e\udd39\u200d\u2640\ufe0f",fitzpatrick_scale:!0,category:"activity"},man_juggling:{keywords:["juggle","balance","skill","multitask"],"char":"\ud83e\udd39\u200d\u2642\ufe0f",fitzpatrick_scale:!0,category:"activity"},microphone:{keywords:["sound","music","PA","sing","talkshow"],"char":"\ud83c\udfa4",fitzpatrick_scale:!1,category:"activity"},headphones:{keywords:["music","score","gadgets"],"char":"\ud83c\udfa7",fitzpatrick_scale:!1,category:"activity"},musical_score:{keywords:["treble","clef","compose"],"char":"\ud83c\udfbc",fitzpatrick_scale:!1,category:"activity"},musical_keyboard:{keywords:["piano","instrument","compose"],"char":"\ud83c\udfb9",fitzpatrick_scale:!1,category:"activity"},drum:{keywords:["music","instrument","drumsticks","snare"],"char":"\ud83e\udd41",fitzpatrick_scale:!1,category:"activity"},saxophone:{keywords:["music","instrument","jazz","blues"],"char":"\ud83c\udfb7",fitzpatrick_scale:!1,category:"activity"},trumpet:{keywords:["music","brass"],"char":"\ud83c\udfba",fitzpatrick_scale:!1,category:"activity"},guitar:{keywords:["music","instrument"],"char":"\ud83c\udfb8",fitzpatrick_scale:!1,category:"activity"},violin:{keywords:["music","instrument","orchestra","symphony"],"char":"\ud83c\udfbb",fitzpatrick_scale:!1,category:"activity"},clapper:{keywords:["movie","film","record"],"char":"\ud83c\udfac",fitzpatrick_scale:!1,category:"activity"},video_game:{keywords:["play","console","PS4","controller"],"char":"\ud83c\udfae",fitzpatrick_scale:!1,category:"activity"},space_invader:{keywords:["game","arcade","play"],"char":"\ud83d\udc7e",fitzpatrick_scale:!1,category:"activity"},dart:{keywords:["game","play","bar","target","bullseye"],"char":"\ud83c\udfaf",fitzpatrick_scale:!1,category:"activity"},game_die:{keywords:["dice","random","tabletop","play","luck"],"char":"\ud83c\udfb2",fitzpatrick_scale:!1,category:"activity"},slot_machine:{keywords:["bet","gamble","vegas","fruit machine","luck","casino"],"char":"\ud83c\udfb0",fitzpatrick_scale:!1,category:"activity"},bowling:{keywords:["sports","fun","play"],"char":"\ud83c\udfb3",fitzpatrick_scale:!1,category:"activity"},red_car:{keywords:["red","transportation","vehicle"],"char":"\ud83d\ude97",fitzpatrick_scale:!1,category:"travel_and_places"},taxi:{keywords:["uber","vehicle","cars","transportation"],"char":"\ud83d\ude95",fitzpatrick_scale:!1,category:"travel_and_places"},blue_car:{keywords:["transportation","vehicle"],"char":"\ud83d\ude99",fitzpatrick_scale:!1,category:"travel_and_places"},bus:{keywords:["car","vehicle","transportation"],"char":"\ud83d\ude8c",fitzpatrick_scale:!1,category:"travel_and_places"},trolleybus:{keywords:["bart","transportation","vehicle"],"char":"\ud83d\ude8e",fitzpatrick_scale:!1,category:"travel_and_places"},racing_car:{keywords:["sports","race","fast","formula","f1"],"char":"\ud83c\udfce",fitzpatrick_scale:!1,category:"travel_and_places"},police_car:{keywords:["vehicle","cars","transportation","law","legal","enforcement"],"char":"\ud83d\ude93",fitzpatrick_scale:!1,category:"travel_and_places"},ambulance:{keywords:["health","911","hospital"],"char":"\ud83d\ude91",fitzpatrick_scale:!1,category:"travel_and_places"},fire_engine:{keywords:["transportation","cars","vehicle"],"char":"\ud83d\ude92",fitzpatrick_scale:!1,category:"travel_and_places"},minibus:{keywords:["vehicle","car","transportation"],"char":"\ud83d\ude90",fitzpatrick_scale:!1,category:"travel_and_places"},truck:{keywords:["cars","transportation"],"char":"\ud83d\ude9a",fitzpatrick_scale:!1,category:"travel_and_places"},articulated_lorry:{keywords:["vehicle","cars","transportation","express"],"char":"\ud83d\ude9b",fitzpatrick_scale:!1,category:"travel_and_places"},tractor:{keywords:["vehicle","car","farming","agriculture"],"char":"\ud83d\ude9c",fitzpatrick_scale:!1,category:"travel_and_places"},kick_scooter:{keywords:["vehicle","kick","razor"],"char":"\ud83d\udef4",fitzpatrick_scale:!1,category:"travel_and_places"},motorcycle:{keywords:["race","sports","fast"],"char":"\ud83c\udfcd",fitzpatrick_scale:!1,category:"travel_and_places"},bike:{keywords:["sports","bicycle","exercise","hipster"],"char":"\ud83d\udeb2",fitzpatrick_scale:!1,category:"travel_and_places"},motor_scooter:{keywords:["vehicle","vespa","sasha"],"char":"\ud83d\udef5",fitzpatrick_scale:!1,category:"travel_and_places"},rotating_light:{keywords:["police","ambulance","911","emergency","alert","error","pinged","law","legal"],"char":"\ud83d\udea8",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_police_car:{keywords:["vehicle","law","legal","enforcement","911"],"char":"\ud83d\ude94",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_bus:{keywords:["vehicle","transportation"],"char":"\ud83d\ude8d",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_automobile:{keywords:["car","vehicle","transportation"],"char":"\ud83d\ude98",fitzpatrick_scale:!1,category:"travel_and_places"},oncoming_taxi:{keywords:["vehicle","cars","uber"],"char":"\ud83d\ude96",fitzpatrick_scale:!1,category:"travel_and_places"},aerial_tramway:{keywords:["transportation","vehicle","ski"],"char":"\ud83d\udea1",fitzpatrick_scale:!1,category:"travel_and_places"},mountain_cableway:{keywords:["transportation","vehicle","ski"],"char":"\ud83d\udea0",fitzpatrick_scale:!1,category:"travel_and_places"},suspension_railway:{keywords:["vehicle","transportation"],"char":"\ud83d\ude9f",fitzpatrick_scale:!1,category:"travel_and_places"},railway_car:{keywords:["transportation","vehicle"],"char":"\ud83d\ude83",fitzpatrick_scale:!1,category:"travel_and_places"},train:{keywords:["transportation","vehicle","carriage","public","travel"],"char":"\ud83d\ude8b",fitzpatrick_scale:!1,category:"travel_and_places"},monorail:{keywords:["transportation","vehicle"],"char":"\ud83d\ude9d",fitzpatrick_scale:!1,category:"travel_and_places"},bullettrain_side:{keywords:["transportation","vehicle"],"char":"\ud83d\ude84",fitzpatrick_scale:!1,category:"travel_and_places"},bullettrain_front:{keywords:["transportation","vehicle","speed","fast","public","travel"],"char":"\ud83d\ude85",fitzpatrick_scale:!1,category:"travel_and_places"},light_rail:{keywords:["transportation","vehicle"],"char":"\ud83d\ude88",fitzpatrick_scale:!1,category:"travel_and_places"},mountain_railway:{keywords:["transportation","vehicle"],"char":"\ud83d\ude9e",fitzpatrick_scale:!1,category:"travel_and_places"},steam_locomotive:{keywords:["transportation","vehicle","train"],"char":"\ud83d\ude82",fitzpatrick_scale:!1,category:"travel_and_places"},train2:{keywords:["transportation","vehicle"],"char":"\ud83d\ude86",fitzpatrick_scale:!1,category:"travel_and_places"},metro:{keywords:["transportation","blue-square","mrt","underground","tube"],"char":"\ud83d\ude87",fitzpatrick_scale:!1,category:"travel_and_places"},tram:{keywords:["transportation","vehicle"],"char":"\ud83d\ude8a",fitzpatrick_scale:!1,category:"travel_and_places"},station:{keywords:["transportation","vehicle","public"],"char":"\ud83d\ude89",fitzpatrick_scale:!1,category:"travel_and_places"},flying_saucer:{keywords:["transportation","vehicle","ufo"],"char":"\ud83d\udef8",fitzpatrick_scale:!1,category:"travel_and_places"},helicopter:{keywords:["transportation","vehicle","fly"],"char":"\ud83d\ude81",fitzpatrick_scale:!1,category:"travel_and_places"},small_airplane:{keywords:["flight","transportation","fly","vehicle"],"char":"\ud83d\udee9",fitzpatrick_scale:!1,category:"travel_and_places"},airplane:{keywords:["vehicle","transportation","flight","fly"],"char":"\u2708\ufe0f",fitzpatrick_scale:!1,category:"travel_and_places"},flight_departure:{keywords:["airport","flight","landing"],"char":"\ud83d\udeeb",fitzpatrick_scale:!1,category:"travel_and_places"},flight_arrival:{keywords:["airport","flight","boarding"],"char":"\ud83d\udeec",fitzpatrick_scale:!1,category:"travel_and_places"},sailboat:{keywords:["ship","summer","transportation","water","sailing"],"char":"\u26f5",fitzpatrick_scale:!1,category:"travel_and_places"},motor_boat:{keywords:["ship"],"char":"\ud83d\udee5",fitzpatrick_scale:!1,category:"travel_and_places"},speedboat:{keywords:["ship","transportation","vehicle","summer"],"char":"\ud83d\udea4",fitzpatrick_scale:!1,category:"travel_and_places"},ferry:{keywords:["boat","ship","yacht"],"char":"\u26f4",fitzpatrick_scale:!1,category:"travel_and_places"},passenger_ship:{keywords:["yacht","cruise","ferry"],"char":"\ud83d\udef3",fitzpatrick_scale:!1,category:"travel_and_places"},rocket:{keywords:["launch","ship","staffmode","NASA","outer space","outer_space","fly"],"char":"\ud83d\ude80",fitzpatrick_scale:!1,category:"travel_and_places"},artificial_satellite:{keywords:["communication","gps","orbit","spaceflight","NASA","ISS"],"char":"\ud83d\udef0",fitzpatrick_scale:!1,category:"travel_and_places"},seat:{keywords:["sit","airplane","transport","bus","flight","fly"],"char":"\ud83d\udcba",fitzpatrick_scale:!1,category:"travel_and_places"},canoe:{keywords:["boat","paddle","water","ship"],"char":"\ud83d\udef6",fitzpatrick_scale:!1,category:"travel_and_places"},anchor:{keywords:["ship","ferry","sea","boat"],"char":"\u2693",fitzpatrick_scale:!1,category:"travel_and_places"},construction:{keywords:["wip","progress","caution","warning"],"char":"\ud83d\udea7",fitzpatrick_scale:!1,category:"travel_and_places"},fuelpump:{keywords:["gas station","petroleum"],"char":"\u26fd",fitzpatrick_scale:!1,category:"travel_and_places"},busstop:{keywords:["transportation","wait"],"char":"\ud83d\ude8f",fitzpatrick_scale:!1,category:"travel_and_places"},vertical_traffic_light:{keywords:["transportation","driving"],"char":"\ud83d\udea6",fitzpatrick_scale:!1,category:"travel_and_places"},traffic_light:{keywords:["transportation","signal"],"char":"\ud83d\udea5",fitzpatrick_scale:!1,category:"travel_and_places"},checkered_flag:{keywords:["contest","finishline","race","gokart"],"char":"\ud83c\udfc1",fitzpatrick_scale:!1,category:"travel_and_places"},ship:{keywords:["transportation","titanic","deploy"],"char":"\ud83d\udea2",fitzpatrick_scale:!1,category:"travel_and_places"},ferris_wheel:{keywords:["photo","carnival","londoneye"],"char":"\ud83c\udfa1",fitzpatrick_scale:!1,category:"travel_and_places"},roller_coaster:{keywords:["carnival","playground","photo","fun"],"char":"\ud83c\udfa2",fitzpatrick_scale:!1,category:"travel_and_places"},carousel_horse:{keywords:["photo","carnival"],"char":"\ud83c\udfa0",fitzpatrick_scale:!1,category:"travel_and_places"},building_construction:{keywords:["wip","working","progress"],"char":"\ud83c\udfd7",fitzpatrick_scale:!1,category:"travel_and_places"},foggy:{keywords:["photo","mountain"],"char":"\ud83c\udf01",fitzpatrick_scale:!1,category:"travel_and_places"},tokyo_tower:{keywords:["photo","japanese"],"char":"\ud83d\uddfc",fitzpatrick_scale:!1,category:"travel_and_places"},factory:{keywords:["building","industry","pollution","smoke"],"char":"\ud83c\udfed",fitzpatrick_scale:!1,category:"travel_and_places"},fountain:{keywords:["photo","summer","water","fresh"],"char":"\u26f2",fitzpatrick_scale:!1,category:"travel_and_places"},rice_scene:{keywords:["photo","japan","asia","tsukimi"],"char":"\ud83c\udf91",fitzpatrick_scale:!1,category:"travel_and_places"},mountain:{keywords:["photo","nature","environment"],"char":"\u26f0",fitzpatrick_scale:!1,category:"travel_and_places"},mountain_snow:{keywords:["photo","nature","environment","winter","cold"],"char":"\ud83c\udfd4",fitzpatrick_scale:!1,category:"travel_and_places"},mount_fuji:{keywords:["photo","mountain","nature","japanese"],"char":"\ud83d\uddfb",fitzpatrick_scale:!1,category:"travel_and_places"},volcano:{keywords:["photo","nature","disaster"],"char":"\ud83c\udf0b",fitzpatrick_scale:!1,category:"travel_and_places"},japan:{keywords:["nation","country","japanese","asia"],"char":"\ud83d\uddfe",fitzpatrick_scale:!1,category:"travel_and_places"},camping:{keywords:["photo","outdoors","tent"],"char":"\ud83c\udfd5",fitzpatrick_scale:!1,category:"travel_and_places"},tent:{keywords:["photo","camping","outdoors"],"char":"\u26fa",fitzpatrick_scale:!1,category:"travel_and_places"},national_park:{keywords:["photo","environment","nature"],"char":"\ud83c\udfde",fitzpatrick_scale:!1,category:"travel_and_places"},motorway:{keywords:["road","cupertino","interstate","highway"],"char":"\ud83d\udee3",fitzpatrick_scale:!1,category:"travel_and_places"},railway_track:{keywords:["train","transportation"],"char":"\ud83d\udee4",fitzpatrick_scale:!1,category:"travel_and_places"},sunrise:{keywords:["morning","view","vacation","photo"],"char":"\ud83c\udf05",fitzpatrick_scale:!1,category:"travel_and_places"},sunrise_over_mountains:{keywords:["view","vacation","photo"],"char":"\ud83c\udf04",fitzpatrick_scale:!1,category:"travel_and_places"},desert:{keywords:["photo","warm","saharah"],"char":"\ud83c\udfdc",fitzpatrick_scale:!1,category:"travel_and_places"},beach_umbrella:{keywords:["weather","summer","sunny","sand","mojito"],"char":"\ud83c\udfd6",fitzpatrick_scale:!1,category:"travel_and_places"},desert_island:{keywords:["photo","tropical","mojito"],"char":"\ud83c\udfdd",fitzpatrick_scale:!1,category:"travel_and_places"},city_sunrise:{keywords:["photo","good morning","dawn"],"char":"\ud83c\udf07",fitzpatrick_scale:!1,category:"travel_and_places"},city_sunset:{keywords:["photo","evening","sky","buildings"],"char":"\ud83c\udf06",fitzpatrick_scale:!1,category:"travel_and_places"},cityscape:{keywords:["photo","night life","urban"],"char":"\ud83c\udfd9",fitzpatrick_scale:!1,category:"travel_and_places"},night_with_stars:{keywords:["evening","city","downtown"],"char":"\ud83c\udf03",fitzpatrick_scale:!1,category:"travel_and_places"},bridge_at_night:{keywords:["photo","sanfrancisco"],"char":"\ud83c\udf09",fitzpatrick_scale:!1,category:"travel_and_places"},milky_way:{keywords:["photo","space","stars"],"char":"\ud83c\udf0c",fitzpatrick_scale:!1,category:"travel_and_places"},stars:{keywords:["night","photo"],"char":"\ud83c\udf20",fitzpatrick_scale:!1,category:"travel_and_places"},sparkler:{keywords:["stars","night","shine"],"char":"\ud83c\udf87",fitzpatrick_scale:!1,category:"travel_and_places"},fireworks:{keywords:["photo","festival","carnival","congratulations"],"char":"\ud83c\udf86",fitzpatrick_scale:!1,category:"travel_and_places"},rainbow:{keywords:["nature","happy","unicorn_face","photo","sky","spring"],"char":"\ud83c\udf08",fitzpatrick_scale:!1,category:"travel_and_places"},houses:{keywords:["buildings","photo"],"char":"\ud83c\udfd8",fitzpatrick_scale:!1,category:"travel_and_places"},european_castle:{keywords:["building","royalty","history"],"char":"\ud83c\udff0",fitzpatrick_scale:!1,category:"travel_and_places"},japanese_castle:{keywords:["photo","building"],"char":"\ud83c\udfef",fitzpatrick_scale:!1,category:"travel_and_places"},stadium:{keywords:["photo","place","sports","concert","venue"],"char":"\ud83c\udfdf",fitzpatrick_scale:!1,category:"travel_and_places"},statue_of_liberty:{keywords:["american","newyork"],"char":"\ud83d\uddfd",fitzpatrick_scale:!1,category:"travel_and_places"},house:{keywords:["building","home"],"char":"\ud83c\udfe0",fitzpatrick_scale:!1,category:"travel_and_places"},house_with_garden:{keywords:["home","plant","nature"],"char":"\ud83c\udfe1",fitzpatrick_scale:!1,category:"travel_and_places"},derelict_house:{keywords:["abandon","evict","broken","building"],"char":"\ud83c\udfda",fitzpatrick_scale:!1,category:"travel_and_places"},office:{keywords:["building","bureau","work"],"char":"\ud83c\udfe2",fitzpatrick_scale:!1,category:"travel_and_places"},department_store:{keywords:["building","shopping","mall"],"char":"\ud83c\udfec",fitzpatrick_scale:!1,category:"travel_and_places"},post_office:{keywords:["building","envelope","communication"],"char":"\ud83c\udfe3",fitzpatrick_scale:!1,category:"travel_and_places"},european_post_office:{keywords:["building","email"],"char":"\ud83c\udfe4",fitzpatrick_scale:!1,category:"travel_and_places"},hospital:{keywords:["building","health","surgery","doctor"],"char":"\ud83c\udfe5",fitzpatrick_scale:!1,category:"travel_and_places"},bank:{keywords:["building","money","sales","cash","business","enterprise"],"char":"\ud83c\udfe6",fitzpatrick_scale:!1,category:"travel_and_places"},hotel:{keywords:["building","accomodation","checkin"],"char":"\ud83c\udfe8",fitzpatrick_scale:!1,category:"travel_and_places"},convenience_store:{keywords:["building","shopping","groceries"],"char":"\ud83c\udfea",fitzpatrick_scale:!1,category:"travel_and_places"},school:{keywords:["building","student","education","learn","teach"],"char":"\ud83c\udfeb",fitzpatrick_scale:!1,category:"travel_and_places"},love_hotel:{keywords:["like","affection","dating"],"char":"\ud83c\udfe9",fitzpatrick_scale:!1,category:"travel_and_places"},wedding:{keywords:["love","like","affection","couple","marriage","bride","groom"],"char":"\ud83d\udc92",fitzpatrick_scale:!1,category:"travel_and_places"},classical_building:{keywords:["art","culture","history"],"char":"\ud83c\udfdb",fitzpatrick_scale:!1,category:"travel_and_places"},church:{keywords:["building","religion","christ"],"char":"\u26ea",fitzpatrick_scale:!1,category:"travel_and_places"},mosque:{keywords:["islam","worship","minaret"],"char":"\ud83d\udd4c",fitzpatrick_scale:!1,category:"travel_and_places"},synagogue:{keywords:["judaism","worship","temple","jewish"],"char":"\ud83d\udd4d",fitzpatrick_scale:!1,category:"travel_and_places"},kaaba:{keywords:["mecca","mosque","islam"],"char":"\ud83d\udd4b",fitzpatrick_scale:!1,category:"travel_and_places"},shinto_shrine:{keywords:["temple","japan","kyoto"],"char":"\u26e9",fitzpatrick_scale:!1,category:"travel_and_places"},watch:{keywords:["time","accessories"],"char":"\u231a",fitzpatrick_scale:!1,category:"objects"},iphone:{keywords:["technology","apple","gadgets","dial"],"char":"\ud83d\udcf1",fitzpatrick_scale:!1,category:"objects"},calling:{keywords:["iphone","incoming"],"char":"\ud83d\udcf2",fitzpatrick_scale:!1,category:"objects"},computer:{keywords:["technology","laptop","screen","display","monitor"],"char":"\ud83d\udcbb",fitzpatrick_scale:!1,category:"objects"},keyboard:{keywords:["technology","computer","type","input","text"],"char":"\u2328",fitzpatrick_scale:!1,category:"objects"},desktop_computer:{keywords:["technology","computing","screen"],"char":"\ud83d\udda5",fitzpatrick_scale:!1,category:"objects"},printer:{keywords:["paper","ink"],"char":"\ud83d\udda8",fitzpatrick_scale:!1,category:"objects"},computer_mouse:{keywords:["click"],"char":"\ud83d\uddb1",fitzpatrick_scale:!1,category:"objects"},trackball:{keywords:["technology","trackpad"],"char":"\ud83d\uddb2",fitzpatrick_scale:!1,category:"objects"},joystick:{keywords:["game","play"],"char":"\ud83d\udd79",fitzpatrick_scale:!1,category:"objects"},clamp:{keywords:["tool"],"char":"\ud83d\udddc",fitzpatrick_scale:!1,category:"objects"},minidisc:{keywords:["technology","record","data","disk","90s"],"char":"\ud83d\udcbd",fitzpatrick_scale:!1,category:"objects"},floppy_disk:{keywords:["oldschool","technology","save","90s","80s"],"char":"\ud83d\udcbe",fitzpatrick_scale:!1,category:"objects"},cd:{keywords:["technology","dvd","disk","disc","90s"],"char":"\ud83d\udcbf",fitzpatrick_scale:!1,category:"objects"},dvd:{keywords:["cd","disk","disc"],"char":"\ud83d\udcc0",fitzpatrick_scale:!1,category:"objects"},vhs:{keywords:["record","video","oldschool","90s","80s"],"char":"\ud83d\udcfc",fitzpatrick_scale:!1,category:"objects"},camera:{keywords:["gadgets","photography"],"char":"\ud83d\udcf7",fitzpatrick_scale:!1,category:"objects"},camera_flash:{keywords:["photography","gadgets"],"char":"\ud83d\udcf8",fitzpatrick_scale:!1,category:"objects"},video_camera:{keywords:["film","record"],"char":"\ud83d\udcf9",fitzpatrick_scale:!1,category:"objects"},movie_camera:{keywords:["film","record"],"char":"\ud83c\udfa5",fitzpatrick_scale:!1,category:"objects"},film_projector:{keywords:["video","tape","record","movie"],"char":"\ud83d\udcfd",fitzpatrick_scale:!1,category:"objects"},film_strip:{keywords:["movie"],"char":"\ud83c\udf9e",fitzpatrick_scale:!1,category:"objects"},telephone_receiver:{keywords:["technology","communication","dial"],"char":"\ud83d\udcde",fitzpatrick_scale:!1,category:"objects"},phone:{keywords:["technology","communication","dial","telephone"],"char":"\u260e\ufe0f",fitzpatrick_scale:!1,category:"objects"},pager:{keywords:["bbcall","oldschool","90s"],"char":"\ud83d\udcdf",fitzpatrick_scale:!1,category:"objects"},fax:{keywords:["communication","technology"],"char":"\ud83d\udce0",fitzpatrick_scale:!1,category:"objects"},tv:{keywords:["technology","program","oldschool","show","television"],"char":"\ud83d\udcfa",fitzpatrick_scale:!1,category:"objects"},radio:{keywords:["communication","music","podcast","program"],"char":"\ud83d\udcfb",fitzpatrick_scale:!1,category:"objects"},studio_microphone:{keywords:["sing","recording","artist","talkshow"],"char":"\ud83c\udf99",fitzpatrick_scale:!1,category:"objects"},level_slider:{keywords:["scale"],"char":"\ud83c\udf9a",fitzpatrick_scale:!1,category:"objects"},control_knobs:{keywords:["dial"],"char":"\ud83c\udf9b",fitzpatrick_scale:!1,category:"objects"},stopwatch:{keywords:["time","deadline"],"char":"\u23f1",fitzpatrick_scale:!1,category:"objects"},timer_clock:{keywords:["alarm"],"char":"\u23f2",fitzpatrick_scale:!1,category:"objects"},alarm_clock:{keywords:["time","wake"],"char":"\u23f0",fitzpatrick_scale:!1,category:"objects"},mantelpiece_clock:{keywords:["time"],"char":"\ud83d\udd70",fitzpatrick_scale:!1,category:"objects"},hourglass_flowing_sand:{keywords:["oldschool","time","countdown"],"char":"\u23f3",fitzpatrick_scale:!1,category:"objects"},hourglass:{keywords:["time","clock","oldschool","limit","exam","quiz","test"],"char":"\u231b",fitzpatrick_scale:!1,category:"objects"},satellite:{keywords:["communication","future","radio","space"],"char":"\ud83d\udce1",fitzpatrick_scale:!1,category:"objects"},battery:{keywords:["power","energy","sustain"],"char":"\ud83d\udd0b",fitzpatrick_scale:!1,category:"objects"},electric_plug:{keywords:["charger","power"],"char":"\ud83d\udd0c",fitzpatrick_scale:!1,category:"objects"},bulb:{keywords:["light","electricity","idea"],"char":"\ud83d\udca1",fitzpatrick_scale:!1,category:"objects"},flashlight:{keywords:["dark","camping","sight","night"],"char":"\ud83d\udd26",fitzpatrick_scale:!1,category:"objects"},candle:{keywords:["fire","wax"],"char":"\ud83d\udd6f",fitzpatrick_scale:!1,category:"objects"},wastebasket:{keywords:["bin","trash","rubbish","garbage","toss"],"char":"\ud83d\uddd1",fitzpatrick_scale:!1,category:"objects"},oil_drum:{keywords:["barrell"],"char":"\ud83d\udee2",fitzpatrick_scale:!1,category:"objects"},money_with_wings:{keywords:["dollar","bills","payment","sale"],"char":"\ud83d\udcb8",fitzpatrick_scale:!1,category:"objects"},dollar:{keywords:["money","sales","bill","currency"],"char":"\ud83d\udcb5",fitzpatrick_scale:!1,category:"objects"},yen:{keywords:["money","sales","japanese","dollar","currency"],"char":"\ud83d\udcb4",fitzpatrick_scale:!1,category:"objects"},euro:{keywords:["money","sales","dollar","currency"],"char":"\ud83d\udcb6",fitzpatrick_scale:!1,category:"objects"},pound:{keywords:["british","sterling","money","sales","bills","uk","england","currency"],"char":"\ud83d\udcb7",fitzpatrick_scale:!1,category:"objects"},moneybag:{keywords:["dollar","payment","coins","sale"],"char":"\ud83d\udcb0",fitzpatrick_scale:!1,category:"objects"},credit_card:{keywords:["money","sales","dollar","bill","payment","shopping"],"char":"\ud83d\udcb3",fitzpatrick_scale:!1,category:"objects"},gem:{keywords:["blue","ruby","diamond","jewelry"],"char":"\ud83d\udc8e",fitzpatrick_scale:!1,category:"objects"},balance_scale:{keywords:["law","fairness","weight"],"char":"\u2696",fitzpatrick_scale:!1,category:"objects"},wrench:{keywords:["tools","diy","ikea","fix","maintainer"],"char":"\ud83d\udd27",fitzpatrick_scale:!1,category:"objects"},hammer:{keywords:["tools","build","create"],"char":"\ud83d\udd28",fitzpatrick_scale:!1,category:"objects"},hammer_and_pick:{keywords:["tools","build","create"],"char":"\u2692",fitzpatrick_scale:!1,category:"objects"},hammer_and_wrench:{keywords:["tools","build","create"],"char":"\ud83d\udee0",fitzpatrick_scale:!1,category:"objects"},pick:{keywords:["tools","dig"],"char":"\u26cf",fitzpatrick_scale:!1,category:"objects"},nut_and_bolt:{keywords:["handy","tools","fix"],"char":"\ud83d\udd29",fitzpatrick_scale:!1,category:"objects"},gear:{keywords:["cog"],"char":"\u2699",fitzpatrick_scale:!1,category:"objects"},chains:{keywords:["lock","arrest"],"char":"\u26d3",fitzpatrick_scale:!1,category:"objects"},gun:{keywords:["violence","weapon","pistol","revolver"],"char":"\ud83d\udd2b",fitzpatrick_scale:!1,category:"objects"},bomb:{keywords:["boom","explode","explosion","terrorism"],"char":"\ud83d\udca3",fitzpatrick_scale:!1,category:"objects"},hocho:{keywords:["knife","blade","cutlery","kitchen","weapon"],"char":"\ud83d\udd2a",fitzpatrick_scale:!1,category:"objects"},dagger:{keywords:["weapon"],"char":"\ud83d\udde1",fitzpatrick_scale:!1,category:"objects"},crossed_swords:{keywords:["weapon"],"char":"\u2694",fitzpatrick_scale:!1,category:"objects"},shield:{keywords:["protection","security"],"char":"\ud83d\udee1",fitzpatrick_scale:!1,category:"objects"},smoking:{keywords:["kills","tobacco","cigarette","joint","smoke"],"char":"\ud83d\udeac",fitzpatrick_scale:!1,category:"objects"},skull_and_crossbones:{keywords:["poison","danger","deadly","scary","death","pirate","evil"],"char":"\u2620",fitzpatrick_scale:!1,category:"objects"},coffin:{keywords:["vampire","dead","die","death","rip","graveyard","cemetery","casket","funeral","box"],"char":"\u26b0",fitzpatrick_scale:!1,category:"objects"},funeral_urn:{keywords:["dead","die","death","rip","ashes"],"char":"\u26b1",fitzpatrick_scale:!1,category:"objects"},amphora:{keywords:["vase","jar"],"char":"\ud83c\udffa",fitzpatrick_scale:!1,category:"objects"},crystal_ball:{keywords:["disco","party","magic","circus","fortune_teller"],"char":"\ud83d\udd2e",fitzpatrick_scale:!1,category:"objects"},prayer_beads:{keywords:["dhikr","religious"],"char":"\ud83d\udcff",fitzpatrick_scale:!1,category:"objects"},barber:{keywords:["hair","salon","style"],"char":"\ud83d\udc88",fitzpatrick_scale:!1,category:"objects"},alembic:{keywords:["distilling","science","experiment","chemistry"],"char":"\u2697",fitzpatrick_scale:!1,category:"objects"},telescope:{keywords:["stars","space","zoom","science","astronomy"],"char":"\ud83d\udd2d",fitzpatrick_scale:!1,category:"objects"},microscope:{keywords:["laboratory","experiment","zoomin","science","study"],"char":"\ud83d\udd2c",fitzpatrick_scale:!1,category:"objects"},hole:{keywords:["embarrassing"],"char":"\ud83d\udd73",fitzpatrick_scale:!1,category:"objects"},pill:{keywords:["health","medicine","doctor","pharmacy","drug"],"char":"\ud83d\udc8a",fitzpatrick_scale:!1,category:"objects"},syringe:{keywords:["health","hospital","drugs","blood","medicine","needle","doctor","nurse"],"char":"\ud83d\udc89",fitzpatrick_scale:!1,category:"objects"},thermometer:{keywords:["weather","temperature","hot","cold"],"char":"\ud83c\udf21",fitzpatrick_scale:!1,category:"objects"},label:{keywords:["sale","tag"],"char":"\ud83c\udff7",fitzpatrick_scale:!1,category:"objects"},bookmark:{keywords:["favorite","label","save"],"char":"\ud83d\udd16",fitzpatrick_scale:!1,category:"objects"},toilet:{keywords:["restroom","wc","washroom","bathroom","potty"],"char":"\ud83d\udebd",fitzpatrick_scale:!1,category:"objects"},shower:{keywords:["clean","water","bathroom"],"char":"\ud83d\udebf",fitzpatrick_scale:!1,category:"objects"},bathtub:{keywords:["clean","shower","bathroom"],"char":"\ud83d\udec1",fitzpatrick_scale:!1,category:"objects"},key:{keywords:["lock","door","password"],"char":"\ud83d\udd11",fitzpatrick_scale:!1,category:"objects"},old_key:{keywords:["lock","door","password"],"char":"\ud83d\udddd",fitzpatrick_scale:!1,category:"objects"},couch_and_lamp:{keywords:["read","chill"],"char":"\ud83d\udecb",fitzpatrick_scale:!1,category:"objects"},sleeping_bed:{keywords:["bed","rest"],"char":"\ud83d\udecc",fitzpatrick_scale:!0,category:"objects"},bed:{keywords:["sleep","rest"],"char":"\ud83d\udecf",fitzpatrick_scale:!1,category:"objects"},door:{keywords:["house","entry","exit"],"char":"\ud83d\udeaa",fitzpatrick_scale:!1,category:"objects"},bellhop_bell:{keywords:["service"],"char":"\ud83d\udece",fitzpatrick_scale:!1,category:"objects"},framed_picture:{keywords:["photography"],"char":"\ud83d\uddbc",fitzpatrick_scale:!1,category:"objects"},world_map:{keywords:["location","direction"],"char":"\ud83d\uddfa",fitzpatrick_scale:!1,category:"objects"},parasol_on_ground:{keywords:["weather","summer"],"char":"\u26f1",fitzpatrick_scale:!1,category:"objects"},moyai:{keywords:["rock","easter island","moai"],"char":"\ud83d\uddff",fitzpatrick_scale:!1,category:"objects"},shopping:{keywords:["mall","buy","purchase"],"char":"\ud83d\udecd",fitzpatrick_scale:!1,category:"objects"},shopping_cart:{keywords:["trolley"],"char":"\ud83d\uded2",fitzpatrick_scale:!1,category:"objects"},balloon:{keywords:["party","celebration","birthday","circus"],"char":"\ud83c\udf88",fitzpatrick_scale:!1,category:"objects"},flags:{keywords:["fish","japanese","koinobori","carp","banner"],"char":"\ud83c\udf8f",fitzpatrick_scale:!1,category:"objects"},ribbon:{keywords:["decoration","pink","girl","bowtie"],"char":"\ud83c\udf80",fitzpatrick_scale:!1,category:"objects"},gift:{keywords:["present","birthday","christmas","xmas"],"char":"\ud83c\udf81",fitzpatrick_scale:!1,category:"objects"},confetti_ball:{keywords:["festival","party","birthday","circus"],"char":"\ud83c\udf8a",fitzpatrick_scale:!1,category:"objects"},tada:{keywords:["party","congratulations","birthday","magic","circus","celebration"],"char":"\ud83c\udf89",fitzpatrick_scale:!1,category:"objects"},dolls:{keywords:["japanese","toy","kimono"],"char":"\ud83c\udf8e",fitzpatrick_scale:!1,category:"objects"},wind_chime:{keywords:["nature","ding","spring","bell"],"char":"\ud83c\udf90",fitzpatrick_scale:!1,category:"objects"},crossed_flags:{keywords:["japanese","nation","country","border"],"char":"\ud83c\udf8c",fitzpatrick_scale:!1,category:"objects"},izakaya_lantern:{keywords:["light","paper","halloween","spooky"],"char":"\ud83c\udfee",fitzpatrick_scale:!1,category:"objects"},email:{keywords:["letter","postal","inbox","communication"],"char":"\u2709\ufe0f",fitzpatrick_scale:!1,category:"objects"},envelope_with_arrow:{keywords:["email","communication"],"char":"\ud83d\udce9",fitzpatrick_scale:!1,category:"objects"},incoming_envelope:{keywords:["email","inbox"],"char":"\ud83d\udce8",fitzpatrick_scale:!1,category:"objects"},"e-mail":{keywords:["communication","inbox"],"char":"\ud83d\udce7",fitzpatrick_scale:!1,category:"objects"},love_letter:{keywords:["email","like","affection","envelope","valentines"],"char":"\ud83d\udc8c",fitzpatrick_scale:!1,category:"objects"},postbox:{keywords:["email","letter","envelope"],"char":"\ud83d\udcee",fitzpatrick_scale:!1,category:"objects"},mailbox_closed:{keywords:["email","communication","inbox"],"char":"\ud83d\udcea",fitzpatrick_scale:!1,category:"objects"},mailbox:{keywords:["email","inbox","communication"],"char":"\ud83d\udceb",fitzpatrick_scale:!1,category:"objects"},mailbox_with_mail:{keywords:["email","inbox","communication"],"char":"\ud83d\udcec",fitzpatrick_scale:!1,category:"objects"},mailbox_with_no_mail:{keywords:["email","inbox"],"char":"\ud83d\udced",fitzpatrick_scale:!1,category:"objects"},"package":{keywords:["mail","gift","cardboard","box","moving"],"char":"\ud83d\udce6",fitzpatrick_scale:!1,category:"objects"},postal_horn:{keywords:["instrument","music"],"char":"\ud83d\udcef",fitzpatrick_scale:!1,category:"objects"},inbox_tray:{keywords:["email","documents"],"char":"\ud83d\udce5",fitzpatrick_scale:!1,category:"objects"},outbox_tray:{keywords:["inbox","email"],"char":"\ud83d\udce4",fitzpatrick_scale:!1,category:"objects"},scroll:{keywords:["documents","ancient","history","paper"],"char":"\ud83d\udcdc",fitzpatrick_scale:!1,category:"objects"},page_with_curl:{keywords:["documents","office","paper"],"char":"\ud83d\udcc3",fitzpatrick_scale:!1,category:"objects"},bookmark_tabs:{keywords:["favorite","save","order","tidy"],"char":"\ud83d\udcd1",fitzpatrick_scale:!1,category:"objects"},bar_chart:{keywords:["graph","presentation","stats"],"char":"\ud83d\udcca",fitzpatrick_scale:!1,category:"objects"},chart_with_upwards_trend:{keywords:["graph","presentation","stats","recovery","business","economics","money","sales","good","success"],"char":"\ud83d\udcc8",fitzpatrick_scale:!1,category:"objects"},chart_with_downwards_trend:{keywords:["graph","presentation","stats","recession","business","economics","money","sales","bad","failure"],"char":"\ud83d\udcc9",fitzpatrick_scale:!1,category:"objects"},page_facing_up:{keywords:["documents","office","paper","information"],"char":"\ud83d\udcc4",fitzpatrick_scale:!1,category:"objects"},date:{keywords:["calendar","schedule"],"char":"\ud83d\udcc5",fitzpatrick_scale:!1,category:"objects"},calendar:{keywords:["schedule","date","planning"],"char":"\ud83d\udcc6",fitzpatrick_scale:!1,category:"objects"},spiral_calendar:{keywords:["date","schedule","planning"],"char":"\ud83d\uddd3",fitzpatrick_scale:!1,category:"objects"},card_index:{keywords:["business","stationery"],"char":"\ud83d\udcc7",fitzpatrick_scale:!1,category:"objects"},card_file_box:{keywords:["business","stationery"],"char":"\ud83d\uddc3",fitzpatrick_scale:!1,category:"objects"},ballot_box:{keywords:["election","vote"],"char":"\ud83d\uddf3",fitzpatrick_scale:!1,category:"objects"},file_cabinet:{keywords:["filing","organizing"],"char":"\ud83d\uddc4",fitzpatrick_scale:!1,category:"objects"},clipboard:{keywords:["stationery","documents"],"char":"\ud83d\udccb",fitzpatrick_scale:!1,category:"objects"},spiral_notepad:{keywords:["memo","stationery"],"char":"\ud83d\uddd2",fitzpatrick_scale:!1,category:"objects"},file_folder:{keywords:["documents","business","office"],"char":"\ud83d\udcc1",fitzpatrick_scale:!1,category:"objects"},open_file_folder:{keywords:["documents","load"],"char":"\ud83d\udcc2",fitzpatrick_scale:!1,category:"objects"},card_index_dividers:{keywords:["organizing","business","stationery"],"char":"\ud83d\uddc2",fitzpatrick_scale:!1,category:"objects"},newspaper_roll:{keywords:["press","headline"],"char":"\ud83d\uddde",fitzpatrick_scale:!1,category:"objects"},newspaper:{keywords:["press","headline"],"char":"\ud83d\udcf0",fitzpatrick_scale:!1,category:"objects"},notebook:{keywords:["stationery","record","notes","paper","study"],"char":"\ud83d\udcd3",fitzpatrick_scale:!1,category:"objects"},closed_book:{keywords:["read","library","knowledge","textbook","learn"],"char":"\ud83d\udcd5",fitzpatrick_scale:!1,category:"objects"},green_book:{keywords:["read","library","knowledge","study"],"char":"\ud83d\udcd7",fitzpatrick_scale:!1,category:"objects"},blue_book:{keywords:["read","library","knowledge","learn","study"],"char":"\ud83d\udcd8",fitzpatrick_scale:!1,category:"objects"},orange_book:{keywords:["read","library","knowledge","textbook","study"],"char":"\ud83d\udcd9",fitzpatrick_scale:!1,category:"objects"},notebook_with_decorative_cover:{keywords:["classroom","notes","record","paper","study"],"char":"\ud83d\udcd4",fitzpatrick_scale:!1,category:"objects"},ledger:{keywords:["notes","paper"],"char":"\ud83d\udcd2",fitzpatrick_scale:!1,category:"objects"},books:{keywords:["literature","library","study"],"char":"\ud83d\udcda",fitzpatrick_scale:!1,category:"objects"},open_book:{keywords:["book","read","library","knowledge","literature","learn","study"],"char":"\ud83d\udcd6",fitzpatrick_scale:!1,category:"objects"},link:{keywords:["rings","url"],"char":"\ud83d\udd17",fitzpatrick_scale:!1,category:"objects"},paperclip:{keywords:["documents","stationery"],"char":"\ud83d\udcce",fitzpatrick_scale:!1,category:"objects"},paperclips:{keywords:["documents","stationery"],"char":"\ud83d\udd87",fitzpatrick_scale:!1,category:"objects"},scissors:{keywords:["stationery","cut"],"char":"\u2702\ufe0f",fitzpatrick_scale:!1,category:"objects"},triangular_ruler:{keywords:["stationery","math","architect","sketch"],"char":"\ud83d\udcd0",fitzpatrick_scale:!1,category:"objects"},straight_ruler:{keywords:["stationery","calculate","length","math","school","drawing","architect","sketch"],"char":"\ud83d\udccf",fitzpatrick_scale:!1,category:"objects"},pushpin:{keywords:["stationery","mark","here"],"char":"\ud83d\udccc",fitzpatrick_scale:!1,category:"objects"},round_pushpin:{keywords:["stationery","location","map","here"],"char":"\ud83d\udccd",fitzpatrick_scale:!1,category:"objects"},triangular_flag_on_post:{keywords:["mark","milestone","place"],"char":"\ud83d\udea9",fitzpatrick_scale:!1,category:"objects"},white_flag:{keywords:["losing","loser","lost","surrender","give up","fail"],"char":"\ud83c\udff3",fitzpatrick_scale:!1,category:"objects"},black_flag:{keywords:["pirate"],"char":"\ud83c\udff4",fitzpatrick_scale:!1,category:"objects"},rainbow_flag:{keywords:["flag","rainbow","pride","gay","lgbt","glbt","queer","homosexual","lesbian","bisexual","transgender"],"char":"\ud83c\udff3\ufe0f\u200d\ud83c\udf08",fitzpatrick_scale:!1,category:"objects"},closed_lock_with_key:{keywords:["security","privacy"],"char":"\ud83d\udd10",fitzpatrick_scale:!1,category:"objects"},lock:{keywords:["security","password","padlock"],"char":"\ud83d\udd12",fitzpatrick_scale:!1,category:"objects"},unlock:{keywords:["privacy","security"],"char":"\ud83d\udd13",fitzpatrick_scale:!1,category:"objects"},lock_with_ink_pen:{keywords:["security","secret"],"char":"\ud83d\udd0f",fitzpatrick_scale:!1,category:"objects"},pen:{keywords:["stationery","writing","write"],"char":"\ud83d\udd8a",fitzpatrick_scale:!1,category:"objects"},fountain_pen:{keywords:["stationery","writing","write"],"char":"\ud83d\udd8b",fitzpatrick_scale:!1,category:"objects"},black_nib:{keywords:["pen","stationery","writing","write"],"char":"\u2712\ufe0f",fitzpatrick_scale:!1,category:"objects"},memo:{keywords:["write","documents","stationery","pencil","paper","writing","legal","exam","quiz","test","study","compose"],"char":"\ud83d\udcdd",fitzpatrick_scale:!1,category:"objects"},pencil2:{keywords:["stationery","write","paper","writing","school","study"],"char":"\u270f\ufe0f",fitzpatrick_scale:!1,category:"objects"},crayon:{keywords:["drawing","creativity"],"char":"\ud83d\udd8d",fitzpatrick_scale:!1,category:"objects"},paintbrush:{keywords:["drawing","creativity","art"],"char":"\ud83d\udd8c",fitzpatrick_scale:!1,category:"objects"},mag:{keywords:["search","zoom","find","detective"],"char":"\ud83d\udd0d",fitzpatrick_scale:!1,category:"objects"},mag_right:{keywords:["search","zoom","find","detective"],"char":"\ud83d\udd0e",fitzpatrick_scale:!1,category:"objects"},heart:{keywords:["love","like","valentines"],"char":"\u2764\ufe0f",fitzpatrick_scale:!1,category:"symbols"},orange_heart:{keywords:["love","like","affection","valentines"],"char":"\ud83e\udde1",fitzpatrick_scale:!1,category:"symbols"},yellow_heart:{keywords:["love","like","affection","valentines"],"char":"\ud83d\udc9b",fitzpatrick_scale:!1,category:"symbols"},green_heart:{keywords:["love","like","affection","valentines"],"char":"\ud83d\udc9a",fitzpatrick_scale:!1,category:"symbols"},blue_heart:{keywords:["love","like","affection","valentines"],"char":"\ud83d\udc99",fitzpatrick_scale:!1,category:"symbols"},purple_heart:{keywords:["love","like","affection","valentines"],"char":"\ud83d\udc9c",fitzpatrick_scale:!1,category:"symbols"},black_heart:{keywords:["evil"],"char":"\ud83d\udda4",fitzpatrick_scale:!1,category:"symbols"},broken_heart:{keywords:["sad","sorry","break","heart","heartbreak"],"char":"\ud83d\udc94",fitzpatrick_scale:!1,category:"symbols"},heavy_heart_exclamation:{keywords:["decoration","love"],"char":"\u2763",fitzpatrick_scale:!1,category:"symbols"},two_hearts:{keywords:["love","like","affection","valentines","heart"],"char":"\ud83d\udc95",fitzpatrick_scale:!1,category:"symbols"},revolving_hearts:{keywords:["love","like","affection","valentines"],"char":"\ud83d\udc9e",fitzpatrick_scale:!1,category:"symbols"},heartbeat:{keywords:["love","like","affection","valentines","pink","heart"],"char":"\ud83d\udc93",fitzpatrick_scale:!1,category:"symbols"},heartpulse:{keywords:["like","love","affection","valentines","pink"],"char":"\ud83d\udc97",fitzpatrick_scale:!1,category:"symbols"},sparkling_heart:{keywords:["love","like","affection","valentines"],"char":"\ud83d\udc96",fitzpatrick_scale:!1,category:"symbols"},cupid:{keywords:["love","like","heart","affection","valentines"],"char":"\ud83d\udc98",fitzpatrick_scale:!1,category:"symbols"},gift_heart:{keywords:["love","valentines"],"char":"\ud83d\udc9d",fitzpatrick_scale:!1,category:"symbols"},heart_decoration:{keywords:["purple-square","love","like"],"char":"\ud83d\udc9f",fitzpatrick_scale:!1,category:"symbols"},peace_symbol:{keywords:["hippie"],"char":"\u262e",fitzpatrick_scale:!1,category:"symbols"},latin_cross:{keywords:["christianity"],"char":"\u271d",fitzpatrick_scale:!1,category:"symbols"},star_and_crescent:{keywords:["islam"],"char":"\u262a",fitzpatrick_scale:!1,category:"symbols"},om:{keywords:["hinduism","buddhism","sikhism","jainism"],"char":"\ud83d\udd49",fitzpatrick_scale:!1,category:"symbols"},wheel_of_dharma:{keywords:["hinduism","buddhism","sikhism","jainism"],"char":"\u2638",fitzpatrick_scale:!1,category:"symbols"},star_of_david:{keywords:["judaism"],"char":"\u2721",fitzpatrick_scale:!1,category:"symbols"},six_pointed_star:{keywords:["purple-square","religion","jewish","hexagram"],"char":"\ud83d\udd2f",fitzpatrick_scale:!1,category:"symbols"},menorah:{keywords:["hanukkah","candles","jewish"],"char":"\ud83d\udd4e",fitzpatrick_scale:!1,category:"symbols"},yin_yang:{keywords:["balance"],"char":"\u262f",fitzpatrick_scale:!1,category:"symbols"},orthodox_cross:{keywords:["suppedaneum","religion"],"char":"\u2626",fitzpatrick_scale:!1,category:"symbols"},place_of_worship:{keywords:["religion","church","temple","prayer"],"char":"\ud83d\uded0",fitzpatrick_scale:!1,category:"symbols"},ophiuchus:{keywords:["sign","purple-square","constellation","astrology"],"char":"\u26ce",fitzpatrick_scale:!1,category:"symbols"},aries:{keywords:["sign","purple-square","zodiac","astrology"],"char":"\u2648",fitzpatrick_scale:!1,category:"symbols"},taurus:{keywords:["purple-square","sign","zodiac","astrology"],"char":"\u2649",fitzpatrick_scale:!1,category:"symbols"},gemini:{keywords:["sign","zodiac","purple-square","astrology"],"char":"\u264a",fitzpatrick_scale:!1,category:"symbols"},cancer:{keywords:["sign","zodiac","purple-square","astrology"],"char":"\u264b",fitzpatrick_scale:!1,category:"symbols"},leo:{keywords:["sign","purple-square","zodiac","astrology"],"char":"\u264c",fitzpatrick_scale:!1,category:"symbols"},virgo:{keywords:["sign","zodiac","purple-square","astrology"],"char":"\u264d",fitzpatrick_scale:!1,category:"symbols"},libra:{keywords:["sign","purple-square","zodiac","astrology"],"char":"\u264e",fitzpatrick_scale:!1,category:"symbols"},scorpius:{keywords:["sign","zodiac","purple-square","astrology","scorpio"],"char":"\u264f",fitzpatrick_scale:!1,category:"symbols"},sagittarius:{keywords:["sign","zodiac","purple-square","astrology"],"char":"\u2650",fitzpatrick_scale:!1,category:"symbols"},capricorn:{keywords:["sign","zodiac","purple-square","astrology"],"char":"\u2651",fitzpatrick_scale:!1,category:"symbols"},aquarius:{keywords:["sign","purple-square","zodiac","astrology"],"char":"\u2652",fitzpatrick_scale:!1,category:"symbols"},pisces:{keywords:["purple-square","sign","zodiac","astrology"],"char":"\u2653",fitzpatrick_scale:!1,category:"symbols"},id:{keywords:["purple-square","words"],"char":"\ud83c\udd94",fitzpatrick_scale:!1,category:"symbols"},atom_symbol:{keywords:["science","physics","chemistry"],"char":"\u269b",fitzpatrick_scale:!1,category:"symbols"},u7a7a:{keywords:["kanji","japanese","chinese","empty","sky","blue-square"],"char":"\ud83c\ude33",fitzpatrick_scale:!1,category:"symbols"},u5272:{keywords:["cut","divide","chinese","kanji","pink-square"],"char":"\ud83c\ude39",fitzpatrick_scale:!1,category:"symbols"},radioactive:{keywords:["nuclear","danger"],"char":"\u2622",fitzpatrick_scale:!1,category:"symbols"},biohazard:{keywords:["danger"],"char":"\u2623",fitzpatrick_scale:!1,category:"symbols"},mobile_phone_off:{keywords:["mute","orange-square","silence","quiet"],"char":"\ud83d\udcf4",fitzpatrick_scale:!1,category:"symbols"},vibration_mode:{keywords:["orange-square","phone"],"char":"\ud83d\udcf3",fitzpatrick_scale:!1,category:"symbols"},u6709:{keywords:["orange-square","chinese","have","kanji"],"char":"\ud83c\ude36",fitzpatrick_scale:!1,category:"symbols"},u7121:{keywords:["nothing","chinese","kanji","japanese","orange-square"],"char":"\ud83c\ude1a",fitzpatrick_scale:!1,category:"symbols"},u7533:{keywords:["chinese","japanese","kanji","orange-square"],"char":"\ud83c\ude38",fitzpatrick_scale:!1,category:"symbols"},u55b6:{keywords:["japanese","opening hours","orange-square"],"char":"\ud83c\ude3a",fitzpatrick_scale:!1,category:"symbols"},u6708:{keywords:["chinese","month","moon","japanese","orange-square","kanji"],"char":"\ud83c\ude37\ufe0f",fitzpatrick_scale:!1,category:"symbols"},eight_pointed_black_star:{keywords:["orange-square","shape","polygon"],"char":"\u2734\ufe0f",fitzpatrick_scale:!1,category:"symbols"},vs:{keywords:["words","orange-square"],"char":"\ud83c\udd9a",fitzpatrick_scale:!1,category:"symbols"},accept:{keywords:["ok","good","chinese","kanji","agree","yes","orange-circle"],"char":"\ud83c\ude51",fitzpatrick_scale:!1,category:"symbols"},white_flower:{keywords:["japanese","spring"],"char":"\ud83d\udcae",fitzpatrick_scale:!1,category:"symbols"},ideograph_advantage:{keywords:["chinese","kanji","obtain","get","circle"],"char":"\ud83c\ude50",fitzpatrick_scale:!1,category:"symbols"},secret:{keywords:["privacy","chinese","sshh","kanji","red-circle"],"char":"\u3299\ufe0f",fitzpatrick_scale:!1,category:"symbols"},congratulations:{keywords:["chinese","kanji","japanese","red-circle"],"char":"\u3297\ufe0f",fitzpatrick_scale:!1,category:"symbols"},u5408:{keywords:["japanese","chinese","join","kanji","red-square"],"char":"\ud83c\ude34",fitzpatrick_scale:!1,category:"symbols"},u6e80:{keywords:["full","chinese","japanese","red-square","kanji"],"char":"\ud83c\ude35",fitzpatrick_scale:!1,category:"symbols"},u7981:{keywords:["kanji","japanese","chinese","forbidden","limit","restricted","red-square"],"char":"\ud83c\ude32",fitzpatrick_scale:!1,category:"symbols"},a:{keywords:["red-square","alphabet","letter"],"char":"\ud83c\udd70\ufe0f",fitzpatrick_scale:!1,category:"symbols"},b:{keywords:["red-square","alphabet","letter"],"char":"\ud83c\udd71\ufe0f",fitzpatrick_scale:!1,category:"symbols"},ab:{keywords:["red-square","alphabet"],"char":"\ud83c\udd8e",fitzpatrick_scale:!1,category:"symbols"},cl:{keywords:["alphabet","words","red-square"],"char":"\ud83c\udd91",fitzpatrick_scale:!1,category:"symbols"},o2:{keywords:["alphabet","red-square","letter"],"char":"\ud83c\udd7e\ufe0f",fitzpatrick_scale:!1,category:"symbols"},sos:{keywords:["help","red-square","words","emergency","911"],"char":"\ud83c\udd98",fitzpatrick_scale:!1,category:"symbols"},no_entry:{keywords:["limit","security","privacy","bad","denied","stop","circle"],"char":"\u26d4",fitzpatrick_scale:!1,category:"symbols"},name_badge:{keywords:["fire","forbid"],"char":"\ud83d\udcdb",fitzpatrick_scale:!1,category:"symbols"},no_entry_sign:{keywords:["forbid","stop","limit","denied","disallow","circle"],"char":"\ud83d\udeab",fitzpatrick_scale:!1,category:"symbols"},x:{keywords:["no","delete","remove","cancel"],"char":"\u274c",fitzpatrick_scale:!1,category:"symbols"},o:{keywords:["circle","round"],"char":"\u2b55",fitzpatrick_scale:!1,category:"symbols"},stop_sign:{keywords:["stop"],"char":"\ud83d\uded1",fitzpatrick_scale:!1,category:"symbols"},anger:{keywords:["angry","mad"],"char":"\ud83d\udca2",fitzpatrick_scale:!1,category:"symbols"},hotsprings:{keywords:["bath","warm","relax"],"char":"\u2668\ufe0f",fitzpatrick_scale:!1,category:"symbols"},no_pedestrians:{keywords:["rules","crossing","walking","circle"],"char":"\ud83d\udeb7",fitzpatrick_scale:!1,category:"symbols"},do_not_litter:{keywords:["trash","bin","garbage","circle"],"char":"\ud83d\udeaf",fitzpatrick_scale:!1,category:"symbols"},no_bicycles:{keywords:["cyclist","prohibited","circle"],"char":"\ud83d\udeb3",fitzpatrick_scale:!1,category:"symbols"},"non-potable_water":{keywords:["drink","faucet","tap","circle"],"char":"\ud83d\udeb1",fitzpatrick_scale:!1,category:"symbols"},underage:{keywords:["18","drink","pub","night","minor","circle"],"char":"\ud83d\udd1e",fitzpatrick_scale:!1,category:"symbols"},no_mobile_phones:{keywords:["iphone","mute","circle"],"char":"\ud83d\udcf5",fitzpatrick_scale:!1,category:"symbols"},exclamation:{keywords:["heavy_exclamation_mark","danger","surprise","punctuation","wow","warning"],"char":"\u2757",fitzpatrick_scale:!1,category:"symbols"},grey_exclamation:{keywords:["surprise","punctuation","gray","wow","warning"],"char":"\u2755",fitzpatrick_scale:!1,category:"symbols"},question:{keywords:["doubt","confused"],"char":"\u2753",fitzpatrick_scale:!1,category:"symbols"},grey_question:{keywords:["doubts","gray","huh","confused"],"char":"\u2754",fitzpatrick_scale:!1,category:"symbols"},bangbang:{keywords:["exclamation","surprise"],"char":"\u203c\ufe0f",fitzpatrick_scale:!1,category:"symbols"},interrobang:{keywords:["wat","punctuation","surprise"],"char":"\u2049\ufe0f",fitzpatrick_scale:!1,category:"symbols"},100:{keywords:["score","perfect","numbers","century","exam","quiz","test","pass","hundred"],"char":"\ud83d\udcaf",fitzpatrick_scale:!1,category:"symbols"},low_brightness:{keywords:["sun","afternoon","warm","summer"],"char":"\ud83d\udd05",fitzpatrick_scale:!1,category:"symbols"},high_brightness:{keywords:["sun","light"],"char":"\ud83d\udd06",fitzpatrick_scale:!1,category:"symbols"},trident:{keywords:["weapon","spear"],"char":"\ud83d\udd31",fitzpatrick_scale:!1,category:"symbols"},fleur_de_lis:{keywords:["decorative","scout"],"char":"\u269c",fitzpatrick_scale:!1,category:"symbols"},part_alternation_mark:{keywords:["graph","presentation","stats","business","economics","bad"],"char":"\u303d\ufe0f",fitzpatrick_scale:!1,category:"symbols"},warning:{keywords:["exclamation","wip","alert","error","problem","issue"],"char":"\u26a0\ufe0f",fitzpatrick_scale:!1,category:"symbols"},children_crossing:{keywords:["school","warning","danger","sign","driving","yellow-diamond"],"char":"\ud83d\udeb8",fitzpatrick_scale:!1,category:"symbols"},beginner:{keywords:["badge","shield"],"char":"\ud83d\udd30",fitzpatrick_scale:!1,category:"symbols"},recycle:{keywords:["arrow","environment","garbage","trash"],"char":"\u267b\ufe0f",fitzpatrick_scale:!1,category:"symbols"},u6307:{keywords:["chinese","point","green-square","kanji"],"char":"\ud83c\ude2f",fitzpatrick_scale:!1,category:"symbols"},chart:{keywords:["green-square","graph","presentation","stats"],"char":"\ud83d\udcb9",fitzpatrick_scale:!1,category:"symbols"},sparkle:{keywords:["stars","green-square","awesome","good","fireworks"],"char":"\u2747\ufe0f",fitzpatrick_scale:!1,category:"symbols"},eight_spoked_asterisk:{keywords:["star","sparkle","green-square"],"char":"\u2733\ufe0f",fitzpatrick_scale:!1,category:"symbols"},negative_squared_cross_mark:{keywords:["x","green-square","no","deny"],"char":"\u274e",fitzpatrick_scale:!1,category:"symbols"},white_check_mark:{keywords:["green-square","ok","agree","vote","election","answer","tick"],"char":"\u2705",fitzpatrick_scale:!1,category:"symbols"},diamond_shape_with_a_dot_inside:{keywords:["jewel","blue","gem","crystal","fancy"],"char":"\ud83d\udca0",fitzpatrick_scale:!1,category:"symbols"},cyclone:{keywords:["weather","swirl","blue","cloud","vortex","spiral","whirlpool","spin","tornado","hurricane","typhoon"],"char":"\ud83c\udf00",fitzpatrick_scale:!1,category:"symbols"},loop:{keywords:["tape","cassette"],"char":"\u27bf",fitzpatrick_scale:!1,category:"symbols"},globe_with_meridians:{keywords:["earth","international","world","internet","interweb","i18n"],"char":"\ud83c\udf10",fitzpatrick_scale:!1,category:"symbols"},m:{keywords:["alphabet","blue-circle","letter"],"char":"\u24c2\ufe0f",fitzpatrick_scale:!1,category:"symbols"},atm:{keywords:["money","sales","cash","blue-square","payment","bank"],"char":"\ud83c\udfe7",fitzpatrick_scale:!1,category:"symbols"},sa:{keywords:["japanese","blue-square","katakana"],"char":"\ud83c\ude02\ufe0f",fitzpatrick_scale:!1,category:"symbols"},passport_control:{keywords:["custom","blue-square"],"char":"\ud83d\udec2",fitzpatrick_scale:!1,category:"symbols"},customs:{keywords:["passport","border","blue-square"],"char":"\ud83d\udec3",fitzpatrick_scale:!1,category:"symbols"},baggage_claim:{keywords:["blue-square","airport","transport"],"char":"\ud83d\udec4",fitzpatrick_scale:!1,category:"symbols"},left_luggage:{keywords:["blue-square","travel"],"char":"\ud83d\udec5",fitzpatrick_scale:!1,category:"symbols"},wheelchair:{keywords:["blue-square","disabled","a11y","accessibility"],"char":"\u267f",fitzpatrick_scale:!1,category:"symbols"},no_smoking:{keywords:["cigarette","blue-square","smell","smoke"],"char":"\ud83d\udead",fitzpatrick_scale:!1,category:"symbols"},wc:{keywords:["toilet","restroom","blue-square"],"char":"\ud83d\udebe",fitzpatrick_scale:!1,category:"symbols"},parking:{keywords:["cars","blue-square","alphabet","letter"],"char":"\ud83c\udd7f\ufe0f",fitzpatrick_scale:!1,category:"symbols"},potable_water:{keywords:["blue-square","liquid","restroom","cleaning","faucet"],"char":"\ud83d\udeb0",fitzpatrick_scale:!1,category:"symbols"},mens:{keywords:["toilet","restroom","wc","blue-square","gender","male"],"char":"\ud83d\udeb9",fitzpatrick_scale:!1,category:"symbols"},womens:{keywords:["purple-square","woman","female","toilet","loo","restroom","gender"],"char":"\ud83d\udeba",fitzpatrick_scale:!1,category:"symbols"},baby_symbol:{keywords:["orange-square","child"],"char":"\ud83d\udebc",fitzpatrick_scale:!1,category:"symbols"},restroom:{keywords:["blue-square","toilet","refresh","wc","gender"],"char":"\ud83d\udebb",fitzpatrick_scale:!1,category:"symbols"},put_litter_in_its_place:{keywords:["blue-square","sign","human","info"],"char":"\ud83d\udeae",fitzpatrick_scale:!1,category:"symbols"},cinema:{keywords:["blue-square","record","film","movie","curtain","stage","theater"],"char":"\ud83c\udfa6",fitzpatrick_scale:!1,category:"symbols"},signal_strength:{keywords:["blue-square","reception","phone","internet","connection","wifi","bluetooth","bars"],"char":"\ud83d\udcf6",fitzpatrick_scale:!1,category:"symbols"},koko:{keywords:["blue-square","here","katakana","japanese","destination"],"char":"\ud83c\ude01",fitzpatrick_scale:!1,category:"symbols"},ng:{keywords:["blue-square","words","shape","icon"],"char":"\ud83c\udd96",fitzpatrick_scale:!1,category:"symbols"},ok:{keywords:["good","agree","yes","blue-square"],"char":"\ud83c\udd97",fitzpatrick_scale:!1,category:"symbols"},up:{keywords:["blue-square","above","high"],"char":"\ud83c\udd99",fitzpatrick_scale:!1,category:"symbols"},cool:{keywords:["words","blue-square"],"char":"\ud83c\udd92",fitzpatrick_scale:!1,category:"symbols"},"new":{keywords:["blue-square","words","start"],"char":"\ud83c\udd95",fitzpatrick_scale:!1,category:"symbols"},free:{keywords:["blue-square","words"],"char":"\ud83c\udd93",fitzpatrick_scale:!1,category:"symbols"},zero:{keywords:["0","numbers","blue-square","null"],"char":"0\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},one:{keywords:["blue-square","numbers","1"],"char":"1\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},two:{keywords:["numbers","2","prime","blue-square"],"char":"2\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},three:{keywords:["3","numbers","prime","blue-square"],"char":"3\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},four:{keywords:["4","numbers","blue-square"],"char":"4\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},five:{keywords:["5","numbers","blue-square","prime"],"char":"5\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},six:{keywords:["6","numbers","blue-square"],"char":"6\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},seven:{keywords:["7","numbers","blue-square","prime"],"char":"7\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},eight:{keywords:["8","blue-square","numbers"],"char":"8\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},nine:{keywords:["blue-square","numbers","9"],"char":"9\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},keycap_ten:{keywords:["numbers","10","blue-square"],"char":"\ud83d\udd1f",fitzpatrick_scale:!1,category:"symbols"},asterisk:{keywords:["star","keycap"],"char":"*\u20e3",fitzpatrick_scale:!1,category:"symbols"},1234:{keywords:["numbers","blue-square"],"char":"\ud83d\udd22",fitzpatrick_scale:!1,category:"symbols"},eject_button:{keywords:["blue-square"],"char":"\u23cf\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_forward:{keywords:["blue-square","right","direction","play"],"char":"\u25b6\ufe0f",fitzpatrick_scale:!1,category:"symbols"},pause_button:{keywords:["pause","blue-square"],"char":"\u23f8",fitzpatrick_scale:!1,category:"symbols"},next_track_button:{keywords:["forward","next","blue-square"],"char":"\u23ed",fitzpatrick_scale:!1,category:"symbols"},stop_button:{keywords:["blue-square"],"char":"\u23f9",fitzpatrick_scale:!1,category:"symbols"},record_button:{keywords:["blue-square"],"char":"\u23fa",fitzpatrick_scale:!1,category:"symbols"},play_or_pause_button:{keywords:["blue-square","play","pause"],"char":"\u23ef",fitzpatrick_scale:!1,category:"symbols"},previous_track_button:{keywords:["backward"],"char":"\u23ee",fitzpatrick_scale:!1,category:"symbols"},fast_forward:{keywords:["blue-square","play","speed","continue"],"char":"\u23e9",fitzpatrick_scale:!1,category:"symbols"},rewind:{keywords:["play","blue-square"],"char":"\u23ea",fitzpatrick_scale:!1,category:"symbols"},twisted_rightwards_arrows:{keywords:["blue-square","shuffle","music","random"],"char":"\ud83d\udd00",fitzpatrick_scale:!1,category:"symbols"},repeat:{keywords:["loop","record"],"char":"\ud83d\udd01",fitzpatrick_scale:!1,category:"symbols"},repeat_one:{keywords:["blue-square","loop"],"char":"\ud83d\udd02",fitzpatrick_scale:!1,category:"symbols"},arrow_backward:{keywords:["blue-square","left","direction"],"char":"\u25c0\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_up_small:{keywords:["blue-square","triangle","direction","point","forward","top"],"char":"\ud83d\udd3c",fitzpatrick_scale:!1,category:"symbols"},arrow_down_small:{keywords:["blue-square","direction","bottom"],"char":"\ud83d\udd3d",fitzpatrick_scale:!1,category:"symbols"},arrow_double_up:{keywords:["blue-square","direction","top"],"char":"\u23eb",fitzpatrick_scale:!1,category:"symbols"},arrow_double_down:{keywords:["blue-square","direction","bottom"],"char":"\u23ec",fitzpatrick_scale:!1,category:"symbols"},arrow_right:{keywords:["blue-square","next"],"char":"\u27a1\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_left:{keywords:["blue-square","previous","back"],"char":"\u2b05\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_up:{keywords:["blue-square","continue","top","direction"],"char":"\u2b06\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_down:{keywords:["blue-square","direction","bottom"],"char":"\u2b07\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_upper_right:{keywords:["blue-square","point","direction","diagonal","northeast"],"char":"\u2197\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_lower_right:{keywords:["blue-square","direction","diagonal","southeast"],"char":"\u2198\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_lower_left:{keywords:["blue-square","direction","diagonal","southwest"],"char":"\u2199\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_upper_left:{keywords:["blue-square","point","direction","diagonal","northwest"],"char":"\u2196\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_up_down:{keywords:["blue-square","direction","way","vertical"],"char":"\u2195\ufe0f",fitzpatrick_scale:!1,category:"symbols"},left_right_arrow:{keywords:["shape","direction","horizontal","sideways"],"char":"\u2194\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrows_counterclockwise:{keywords:["blue-square","sync","cycle"],"char":"\ud83d\udd04",fitzpatrick_scale:!1,category:"symbols"},arrow_right_hook:{keywords:["blue-square","return","rotate","direction"],"char":"\u21aa\ufe0f",fitzpatrick_scale:!1,category:"symbols"},leftwards_arrow_with_hook:{keywords:["back","return","blue-square","undo","enter"],"char":"\u21a9\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_heading_up:{keywords:["blue-square","direction","top"],"char":"\u2934\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrow_heading_down:{keywords:["blue-square","direction","bottom"],"char":"\u2935\ufe0f",fitzpatrick_scale:!1,category:"symbols"},hash:{keywords:["symbol","blue-square","twitter"],"char":"#\ufe0f\u20e3",fitzpatrick_scale:!1,category:"symbols"},information_source:{keywords:["blue-square","alphabet","letter"],"char":"\u2139\ufe0f",fitzpatrick_scale:!1,category:"symbols"},abc:{keywords:["blue-square","alphabet"],"char":"\ud83d\udd24",fitzpatrick_scale:!1,category:"symbols"},abcd:{keywords:["blue-square","alphabet"],"char":"\ud83d\udd21",fitzpatrick_scale:!1,category:"symbols"},capital_abcd:{keywords:["alphabet","words","blue-square"],"char":"\ud83d\udd20",fitzpatrick_scale:!1,category:"symbols"},symbols:{keywords:["blue-square","music","note","ampersand","percent","glyphs","characters"],"char":"\ud83d\udd23",fitzpatrick_scale:!1,category:"symbols"},musical_note:{keywords:["score","tone","sound"],"char":"\ud83c\udfb5",fitzpatrick_scale:!1,category:"symbols"},notes:{keywords:["music","score"],"char":"\ud83c\udfb6",fitzpatrick_scale:!1,category:"symbols"},wavy_dash:{keywords:["draw","line","moustache","mustache","squiggle","scribble"],"char":"\u3030\ufe0f",fitzpatrick_scale:!1,category:"symbols"},curly_loop:{keywords:["scribble","draw","shape","squiggle"],"char":"\u27b0",fitzpatrick_scale:!1,category:"symbols"},heavy_check_mark:{keywords:["ok","nike","answer","yes","tick"],"char":"\u2714\ufe0f",fitzpatrick_scale:!1,category:"symbols"},arrows_clockwise:{keywords:["sync","cycle","round","repeat"],"char":"\ud83d\udd03",fitzpatrick_scale:!1,category:"symbols"},heavy_plus_sign:{keywords:["math","calculation","addition","more","increase"],"char":"\u2795",fitzpatrick_scale:!1,category:"symbols"},heavy_minus_sign:{keywords:["math","calculation","subtract","less"],"char":"\u2796",fitzpatrick_scale:!1,category:"symbols"},heavy_division_sign:{keywords:["divide","math","calculation"],"char":"\u2797",fitzpatrick_scale:!1,category:"symbols"},heavy_multiplication_x:{keywords:["math","calculation"],"char":"\u2716\ufe0f",fitzpatrick_scale:!1,category:"symbols"},heavy_dollar_sign:{keywords:["money","sales","payment","currency","buck"],"char":"\ud83d\udcb2",fitzpatrick_scale:!1,category:"symbols"},currency_exchange:{keywords:["money","sales","dollar","travel"],"char":"\ud83d\udcb1",fitzpatrick_scale:!1,category:"symbols"},copyright:{keywords:["ip","license","circle","law","legal"],"char":"\xa9\ufe0f",fitzpatrick_scale:!1,category:"symbols"},registered:{keywords:["alphabet","circle"],"char":"\xae\ufe0f",fitzpatrick_scale:!1,category:"symbols"},tm:{keywords:["trademark","brand","law","legal"],"char":"\u2122\ufe0f",fitzpatrick_scale:!1,category:"symbols"},end:{keywords:["words","arrow"],"char":"\ud83d\udd1a",fitzpatrick_scale:!1,category:"symbols"},back:{keywords:["arrow","words","return"],"char":"\ud83d\udd19",fitzpatrick_scale:!1,category:"symbols"},on:{keywords:["arrow","words"],"char":"\ud83d\udd1b",fitzpatrick_scale:!1,category:"symbols"},top:{keywords:["words","blue-square"],"char":"\ud83d\udd1d",fitzpatrick_scale:!1,category:"symbols"},soon:{keywords:["arrow","words"],"char":"\ud83d\udd1c",fitzpatrick_scale:!1,category:"symbols"},ballot_box_with_check:{keywords:["ok","agree","confirm","black-square","vote","election","yes","tick"],"char":"\u2611\ufe0f",fitzpatrick_scale:!1,category:"symbols"},radio_button:{keywords:["input","old","music","circle"],"char":"\ud83d\udd18",fitzpatrick_scale:!1,category:"symbols"},white_circle:{keywords:["shape","round"],"char":"\u26aa",fitzpatrick_scale:!1,category:"symbols"},black_circle:{keywords:["shape","button","round"],"char":"\u26ab",fitzpatrick_scale:!1,category:"symbols"},red_circle:{keywords:["shape","error","danger"],"char":"\ud83d\udd34",fitzpatrick_scale:!1,category:"symbols"},large_blue_circle:{keywords:["shape","icon","button"],"char":"\ud83d\udd35",fitzpatrick_scale:!1,category:"symbols"},small_orange_diamond:{keywords:["shape","jewel","gem"],"char":"\ud83d\udd38",fitzpatrick_scale:!1,category:"symbols"},small_blue_diamond:{keywords:["shape","jewel","gem"],"char":"\ud83d\udd39",fitzpatrick_scale:!1,category:"symbols"},large_orange_diamond:{keywords:["shape","jewel","gem"],"char":"\ud83d\udd36",fitzpatrick_scale:!1,category:"symbols"},large_blue_diamond:{keywords:["shape","jewel","gem"],"char":"\ud83d\udd37",fitzpatrick_scale:!1,category:"symbols"},small_red_triangle:{keywords:["shape","direction","up","top"],"char":"\ud83d\udd3a",fitzpatrick_scale:!1,category:"symbols"},black_small_square:{keywords:["shape","icon"],"char":"\u25aa\ufe0f",fitzpatrick_scale:!1,category:"symbols"},white_small_square:{keywords:["shape","icon"],"char":"\u25ab\ufe0f",fitzpatrick_scale:!1,category:"symbols"},black_large_square:{keywords:["shape","icon","button"],"char":"\u2b1b",fitzpatrick_scale:!1,category:"symbols"},white_large_square:{keywords:["shape","icon","stone","button"],"char":"\u2b1c",fitzpatrick_scale:!1,category:"symbols"},small_red_triangle_down:{keywords:["shape","direction","bottom"],"char":"\ud83d\udd3b",fitzpatrick_scale:!1,category:"symbols"},black_medium_square:{keywords:["shape","button","icon"],"char":"\u25fc\ufe0f",fitzpatrick_scale:!1,category:"symbols"},white_medium_square:{keywords:["shape","stone","icon"],"char":"\u25fb\ufe0f",fitzpatrick_scale:!1,category:"symbols"},black_medium_small_square:{keywords:["icon","shape","button"],"char":"\u25fe",fitzpatrick_scale:!1,category:"symbols"},white_medium_small_square:{keywords:["shape","stone","icon","button"],"char":"\u25fd",fitzpatrick_scale:!1,category:"symbols"},black_square_button:{keywords:["shape","input","frame"],"char":"\ud83d\udd32",fitzpatrick_scale:!1,category:"symbols"},white_square_button:{keywords:["shape","input"],"char":"\ud83d\udd33",fitzpatrick_scale:!1,category:"symbols"},speaker:{keywords:["sound","volume","silence","broadcast"],"char":"\ud83d\udd08",fitzpatrick_scale:!1,category:"symbols"},sound:{keywords:["volume","speaker","broadcast"],"char":"\ud83d\udd09",fitzpatrick_scale:!1,category:"symbols"},loud_sound:{keywords:["volume","noise","noisy","speaker","broadcast"],"char":"\ud83d\udd0a",fitzpatrick_scale:!1,category:"symbols"},mute:{keywords:["sound","volume","silence","quiet"],"char":"\ud83d\udd07",fitzpatrick_scale:!1,category:"symbols"},mega:{keywords:["sound","speaker","volume"],"char":"\ud83d\udce3",fitzpatrick_scale:!1,category:"symbols"},loudspeaker:{keywords:["volume","sound"],"char":"\ud83d\udce2",fitzpatrick_scale:!1,category:"symbols"},bell:{keywords:["sound","notification","christmas","xmas","chime"],"char":"\ud83d\udd14",fitzpatrick_scale:!1,category:"symbols"},no_bell:{keywords:["sound","volume","mute","quiet","silent"],"char":"\ud83d\udd15",fitzpatrick_scale:!1,category:"symbols"},black_joker:{keywords:["poker","cards","game","play","magic"],"char":"\ud83c\udccf",fitzpatrick_scale:!1,category:"symbols"},mahjong:{keywords:["game","play","chinese","kanji"],"char":"\ud83c\udc04",fitzpatrick_scale:!1,category:"symbols"},spades:{keywords:["poker","cards","suits","magic"],"char":"\u2660\ufe0f",fitzpatrick_scale:!1,category:"symbols"},clubs:{keywords:["poker","cards","magic","suits"],"char":"\u2663\ufe0f",fitzpatrick_scale:!1,category:"symbols"},hearts:{keywords:["poker","cards","magic","suits"],"char":"\u2665\ufe0f",fitzpatrick_scale:!1,category:"symbols"},diamonds:{keywords:["poker","cards","magic","suits"],"char":"\u2666\ufe0f",fitzpatrick_scale:!1,category:"symbols"},flower_playing_cards:{keywords:["game","sunset","red"],"char":"\ud83c\udfb4",fitzpatrick_scale:!1,category:"symbols"},thought_balloon:{keywords:["bubble","cloud","speech","thinking","dream"],"char":"\ud83d\udcad",fitzpatrick_scale:!1,category:"symbols"},right_anger_bubble:{keywords:["caption","speech","thinking","mad"],"char":"\ud83d\uddef",fitzpatrick_scale:!1,category:"symbols"},speech_balloon:{keywords:["bubble","words","message","talk","chatting"],"char":"\ud83d\udcac",fitzpatrick_scale:!1,category:"symbols"},left_speech_bubble:{keywords:["words","message","talk","chatting"],"char":"\ud83d\udde8",fitzpatrick_scale:!1,category:"symbols"},clock1:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd50",fitzpatrick_scale:!1,category:"symbols"},clock2:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd51",fitzpatrick_scale:!1,category:"symbols"},clock3:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd52",fitzpatrick_scale:!1,category:"symbols"},clock4:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd53",fitzpatrick_scale:!1,category:"symbols"},clock5:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd54",fitzpatrick_scale:!1,category:"symbols"},clock6:{keywords:["time","late","early","schedule","dawn","dusk"],"char":"\ud83d\udd55",fitzpatrick_scale:!1,category:"symbols"},clock7:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd56",fitzpatrick_scale:!1,category:"symbols"},clock8:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd57",fitzpatrick_scale:!1,category:"symbols"},clock9:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd58",fitzpatrick_scale:!1,category:"symbols"},clock10:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd59",fitzpatrick_scale:!1,category:"symbols"},clock11:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd5a",fitzpatrick_scale:!1,category:"symbols"},clock12:{keywords:["time","noon","midnight","midday","late","early","schedule"],"char":"\ud83d\udd5b",fitzpatrick_scale:!1,category:"symbols"},clock130:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd5c",fitzpatrick_scale:!1,category:"symbols"},clock230:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd5d",fitzpatrick_scale:!1,category:"symbols"},clock330:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd5e",fitzpatrick_scale:!1,category:"symbols"},clock430:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd5f",fitzpatrick_scale:!1,category:"symbols"},clock530:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd60",fitzpatrick_scale:!1,category:"symbols"},clock630:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd61",fitzpatrick_scale:!1,category:"symbols"},clock730:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd62",fitzpatrick_scale:!1,category:"symbols"},clock830:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd63",fitzpatrick_scale:!1,category:"symbols"},clock930:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd64",fitzpatrick_scale:!1,category:"symbols"},clock1030:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd65",fitzpatrick_scale:!1,category:"symbols"},clock1130:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd66",fitzpatrick_scale:!1,category:"symbols"},clock1230:{keywords:["time","late","early","schedule"],"char":"\ud83d\udd67",fitzpatrick_scale:!1,category:"symbols"},afghanistan:{keywords:["af","flag","nation","country","banner"],"char":"\ud83c\udde6\ud83c\uddeb",fitzpatrick_scale:!1,category:"flags"},aland_islands:{keywords:["\xc5land","islands","flag","nation","country","banner"],"char":"\ud83c\udde6\ud83c\uddfd",fitzpatrick_scale:!1,category:"flags"},albania:{keywords:["al","flag","nation","country","banner"],"char":"\ud83c\udde6\ud83c\uddf1",fitzpatrick_scale:!1,category:"flags"},algeria:{keywords:["dz","flag","nation","country","banner"],"char":"\ud83c\udde9\ud83c\uddff",fitzpatrick_scale:!1,category:"flags"},american_samoa:{keywords:["american","ws","flag","nation","country","banner"],"char":"\ud83c\udde6\ud83c\uddf8",fitzpatrick_scale:!1,category:"flags"},andorra:{keywords:["ad","flag","nation","country","banner"],"char":"\ud83c\udde6\ud83c\udde9",fitzpatrick_scale:!1,category:"flags"},angola:{keywords:["ao","flag","nation","country","banner"],"char":"\ud83c\udde6\ud83c\uddf4",fitzpatrick_scale:!1,category:"flags"},anguilla:{keywords:["ai","flag","nation","country","banner"],"char":"\ud83c\udde6\ud83c\uddee",fitzpatrick_scale:!1,category:"flags"},antarctica:{keywords:["aq","flag","nation","country","banner"],"char":"\ud83c\udde6\ud83c\uddf6",fitzpatrick_scale:!1,category:"flags"},antigua_barbuda:{keywords:["antigua","barbuda","flag","nation","country","banner"],"char":"\ud83c\udde6\ud83c\uddec",fitzpatrick_scale:!1,category:"flags"},argentina:{keywords:["ar","flag","nation","country","banner"],"char":"\ud83c\udde6\ud83c\uddf7",fitzpatrick_scale:!1,category:"flags"},armenia:{keywords:["am","flag","nation","country","banner"],"char":"\ud83c\udde6\ud83c\uddf2",fitzpatrick_scale:!1,category:"flags"},aruba:{keywords:["aw","flag","nation","country","banner"],"char":"\ud83c\udde6\ud83c\uddfc",fitzpatrick_scale:!1,category:"flags"},australia:{keywords:["au","flag","nation","country","banner"],"char":"\ud83c\udde6\ud83c\uddfa",fitzpatrick_scale:!1,category:"flags"},austria:{keywords:["at","flag","nation","country","banner"],"char":"\ud83c\udde6\ud83c\uddf9",fitzpatrick_scale:!1,category:"flags"},azerbaijan:{keywords:["az","flag","nation","country","banner"],"char":"\ud83c\udde6\ud83c\uddff",fitzpatrick_scale:!1,category:"flags"},bahamas:{keywords:["bs","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\uddf8",fitzpatrick_scale:!1,category:"flags"},bahrain:{keywords:["bh","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\udded",fitzpatrick_scale:!1,category:"flags"},bangladesh:{keywords:["bd","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\udde9",fitzpatrick_scale:!1,category:"flags"},barbados:{keywords:["bb","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\udde7",fitzpatrick_scale:!1,category:"flags"},belarus:{keywords:["by","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\uddfe",fitzpatrick_scale:!1,category:"flags"},belgium:{keywords:["be","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\uddea",fitzpatrick_scale:!1,category:"flags"},belize:{keywords:["bz","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\uddff",fitzpatrick_scale:!1,category:"flags"},benin:{keywords:["bj","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\uddef",fitzpatrick_scale:!1,category:"flags"},bermuda:{keywords:["bm","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\uddf2",fitzpatrick_scale:!1,category:"flags"},bhutan:{keywords:["bt","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\uddf9",fitzpatrick_scale:!1,category:"flags"},bolivia:{keywords:["bo","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\uddf4",fitzpatrick_scale:!1,category:"flags"},caribbean_netherlands:{keywords:["bonaire","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\uddf6",fitzpatrick_scale:!1,category:"flags"},bosnia_herzegovina:{keywords:["bosnia","herzegovina","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\udde6",fitzpatrick_scale:!1,category:"flags"},botswana:{keywords:["bw","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\uddfc",fitzpatrick_scale:!1,category:"flags"},brazil:{keywords:["br","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\uddf7",fitzpatrick_scale:!1,category:"flags"},british_indian_ocean_territory:{keywords:["british","indian","ocean","territory","flag","nation","country","banner"],"char":"\ud83c\uddee\ud83c\uddf4",fitzpatrick_scale:!1,category:"flags"},british_virgin_islands:{keywords:["british","virgin","islands","bvi","flag","nation","country","banner"],"char":"\ud83c\uddfb\ud83c\uddec",fitzpatrick_scale:!1,category:"flags"},brunei:{keywords:["bn","darussalam","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\uddf3",fitzpatrick_scale:!1,category:"flags"},bulgaria:{keywords:["bg","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\uddec",fitzpatrick_scale:!1,category:"flags"},burkina_faso:{keywords:["burkina","faso","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\uddeb",fitzpatrick_scale:!1,category:"flags"},burundi:{keywords:["bi","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\uddee",fitzpatrick_scale:!1,category:"flags"},cape_verde:{keywords:["cabo","verde","flag","nation","country","banner"],"char":"\ud83c\udde8\ud83c\uddfb",fitzpatrick_scale:!1,category:"flags"},cambodia:{keywords:["kh","flag","nation","country","banner"],"char":"\ud83c\uddf0\ud83c\udded",fitzpatrick_scale:!1,category:"flags"},cameroon:{keywords:["cm","flag","nation","country","banner"],"char":"\ud83c\udde8\ud83c\uddf2",fitzpatrick_scale:!1,category:"flags"},canada:{keywords:["ca","flag","nation","country","banner"],"char":"\ud83c\udde8\ud83c\udde6",fitzpatrick_scale:!1,category:"flags"},canary_islands:{keywords:["canary","islands","flag","nation","country","banner"],"char":"\ud83c\uddee\ud83c\udde8",fitzpatrick_scale:!1,category:"flags"},cayman_islands:{keywords:["cayman","islands","flag","nation","country","banner"],"char":"\ud83c\uddf0\ud83c\uddfe",fitzpatrick_scale:!1,category:"flags"},central_african_republic:{keywords:["central","african","republic","flag","nation","country","banner"],"char":"\ud83c\udde8\ud83c\uddeb",fitzpatrick_scale:!1,category:"flags"},chad:{keywords:["td","flag","nation","country","banner"],"char":"\ud83c\uddf9\ud83c\udde9",fitzpatrick_scale:!1,category:"flags"},chile:{keywords:["flag","nation","country","banner"],"char":"\ud83c\udde8\ud83c\uddf1",fitzpatrick_scale:!1,category:"flags"},cn:{keywords:["china","chinese","prc","flag","country","nation","banner"],"char":"\ud83c\udde8\ud83c\uddf3",fitzpatrick_scale:!1,category:"flags"},christmas_island:{keywords:["christmas","island","flag","nation","country","banner"],"char":"\ud83c\udde8\ud83c\uddfd",fitzpatrick_scale:!1,category:"flags"},cocos_islands:{keywords:["cocos","keeling","islands","flag","nation","country","banner"],"char":"\ud83c\udde8\ud83c\udde8",fitzpatrick_scale:!1,category:"flags"},colombia:{keywords:["co","flag","nation","country","banner"],"char":"\ud83c\udde8\ud83c\uddf4",fitzpatrick_scale:!1,category:"flags"},comoros:{keywords:["km","flag","nation","country","banner"],"char":"\ud83c\uddf0\ud83c\uddf2",fitzpatrick_scale:!1,category:"flags"},congo_brazzaville:{keywords:["congo","flag","nation","country","banner"],"char":"\ud83c\udde8\ud83c\uddec",fitzpatrick_scale:!1,category:"flags"},congo_kinshasa:{keywords:["congo","democratic","republic","flag","nation","country","banner"],"char":"\ud83c\udde8\ud83c\udde9",fitzpatrick_scale:!1,category:"flags"},cook_islands:{keywords:["cook","islands","flag","nation","country","banner"],"char":"\ud83c\udde8\ud83c\uddf0",fitzpatrick_scale:!1,category:"flags"},costa_rica:{keywords:["costa","rica","flag","nation","country","banner"],"char":"\ud83c\udde8\ud83c\uddf7",fitzpatrick_scale:!1,category:"flags"},croatia:{keywords:["hr","flag","nation","country","banner"],"char":"\ud83c\udded\ud83c\uddf7",fitzpatrick_scale:!1,category:"flags"},cuba:{keywords:["cu","flag","nation","country","banner"],"char":"\ud83c\udde8\ud83c\uddfa",fitzpatrick_scale:!1,category:"flags"},curacao:{keywords:["cura\xe7ao","flag","nation","country","banner"],"char":"\ud83c\udde8\ud83c\uddfc",fitzpatrick_scale:!1,category:"flags"},cyprus:{keywords:["cy","flag","nation","country","banner"],"char":"\ud83c\udde8\ud83c\uddfe",fitzpatrick_scale:!1,category:"flags"},czech_republic:{keywords:["cz","flag","nation","country","banner"],"char":"\ud83c\udde8\ud83c\uddff",fitzpatrick_scale:!1,category:"flags"},denmark:{keywords:["dk","flag","nation","country","banner"],"char":"\ud83c\udde9\ud83c\uddf0",fitzpatrick_scale:!1,category:"flags"},djibouti:{keywords:["dj","flag","nation","country","banner"],"char":"\ud83c\udde9\ud83c\uddef",fitzpatrick_scale:!1,category:"flags"},dominica:{keywords:["dm","flag","nation","country","banner"],"char":"\ud83c\udde9\ud83c\uddf2",fitzpatrick_scale:!1,category:"flags"},dominican_republic:{keywords:["dominican","republic","flag","nation","country","banner"],"char":"\ud83c\udde9\ud83c\uddf4",fitzpatrick_scale:!1,category:"flags"},ecuador:{keywords:["ec","flag","nation","country","banner"],"char":"\ud83c\uddea\ud83c\udde8",fitzpatrick_scale:!1,category:"flags"},egypt:{keywords:["eg","flag","nation","country","banner"],"char":"\ud83c\uddea\ud83c\uddec",fitzpatrick_scale:!1,category:"flags"},el_salvador:{keywords:["el","salvador","flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\uddfb",fitzpatrick_scale:!1,category:"flags"},equatorial_guinea:{keywords:["equatorial","gn","flag","nation","country","banner"],"char":"\ud83c\uddec\ud83c\uddf6",fitzpatrick_scale:!1,category:"flags"},eritrea:{keywords:["er","flag","nation","country","banner"],"char":"\ud83c\uddea\ud83c\uddf7",fitzpatrick_scale:!1,category:"flags"},estonia:{keywords:["ee","flag","nation","country","banner"],"char":"\ud83c\uddea\ud83c\uddea",fitzpatrick_scale:!1,category:"flags"},ethiopia:{keywords:["et","flag","nation","country","banner"],"char":"\ud83c\uddea\ud83c\uddf9",fitzpatrick_scale:!1,category:"flags"},eu:{keywords:["european","union","flag","banner"],"char":"\ud83c\uddea\ud83c\uddfa",fitzpatrick_scale:!1,category:"flags"},falkland_islands:{keywords:["falkland","islands","malvinas","flag","nation","country","banner"],"char":"\ud83c\uddeb\ud83c\uddf0",fitzpatrick_scale:!1,category:"flags"},faroe_islands:{keywords:["faroe","islands","flag","nation","country","banner"],"char":"\ud83c\uddeb\ud83c\uddf4",fitzpatrick_scale:!1,category:"flags"},fiji:{keywords:["fj","flag","nation","country","banner"],"char":"\ud83c\uddeb\ud83c\uddef",fitzpatrick_scale:!1,category:"flags"},finland:{keywords:["fi","flag","nation","country","banner"],"char":"\ud83c\uddeb\ud83c\uddee",fitzpatrick_scale:!1,category:"flags"},fr:{keywords:["banner","flag","nation","france","french","country"],"char":"\ud83c\uddeb\ud83c\uddf7",fitzpatrick_scale:!1,category:"flags"},french_guiana:{keywords:["french","guiana","flag","nation","country","banner"],"char":"\ud83c\uddec\ud83c\uddeb",fitzpatrick_scale:!1,category:"flags"},french_polynesia:{keywords:["french","polynesia","flag","nation","country","banner"],"char":"\ud83c\uddf5\ud83c\uddeb",fitzpatrick_scale:!1,category:"flags"},french_southern_territories:{keywords:["french","southern","territories","flag","nation","country","banner"],"char":"\ud83c\uddf9\ud83c\uddeb",fitzpatrick_scale:!1,category:"flags"},gabon:{keywords:["ga","flag","nation","country","banner"],"char":"\ud83c\uddec\ud83c\udde6",fitzpatrick_scale:!1,category:"flags"},gambia:{keywords:["gm","flag","nation","country","banner"],"char":"\ud83c\uddec\ud83c\uddf2",fitzpatrick_scale:!1,category:"flags"},georgia:{keywords:["ge","flag","nation","country","banner"],"char":"\ud83c\uddec\ud83c\uddea",fitzpatrick_scale:!1,category:"flags"},de:{keywords:["german","nation","flag","country","banner"],"char":"\ud83c\udde9\ud83c\uddea",fitzpatrick_scale:!1,category:"flags"},ghana:{keywords:["gh","flag","nation","country","banner"],"char":"\ud83c\uddec\ud83c\udded",fitzpatrick_scale:!1,category:"flags"},gibraltar:{keywords:["gi","flag","nation","country","banner"],"char":"\ud83c\uddec\ud83c\uddee",fitzpatrick_scale:!1,category:"flags"},greece:{keywords:["gr","flag","nation","country","banner"],"char":"\ud83c\uddec\ud83c\uddf7",fitzpatrick_scale:!1,category:"flags"},greenland:{keywords:["gl","flag","nation","country","banner"],"char":"\ud83c\uddec\ud83c\uddf1",fitzpatrick_scale:!1,category:"flags"},grenada:{keywords:["gd","flag","nation","country","banner"],"char":"\ud83c\uddec\ud83c\udde9",fitzpatrick_scale:!1,category:"flags"},guadeloupe:{keywords:["gp","flag","nation","country","banner"],"char":"\ud83c\uddec\ud83c\uddf5",fitzpatrick_scale:!1,category:"flags"},guam:{keywords:["gu","flag","nation","country","banner"],"char":"\ud83c\uddec\ud83c\uddfa",fitzpatrick_scale:!1,category:"flags"},guatemala:{keywords:["gt","flag","nation","country","banner"],"char":"\ud83c\uddec\ud83c\uddf9",fitzpatrick_scale:!1,category:"flags"},guernsey:{keywords:["gg","flag","nation","country","banner"],"char":"\ud83c\uddec\ud83c\uddec",fitzpatrick_scale:!1,category:"flags"},guinea:{keywords:["gn","flag","nation","country","banner"],"char":"\ud83c\uddec\ud83c\uddf3",fitzpatrick_scale:!1,category:"flags"},guinea_bissau:{keywords:["gw","bissau","flag","nation","country","banner"],"char":"\ud83c\uddec\ud83c\uddfc",fitzpatrick_scale:!1,category:"flags"},guyana:{keywords:["gy","flag","nation","country","banner"],"char":"\ud83c\uddec\ud83c\uddfe",fitzpatrick_scale:!1,category:"flags"},haiti:{keywords:["ht","flag","nation","country","banner"],"char":"\ud83c\udded\ud83c\uddf9",fitzpatrick_scale:!1,category:"flags"},honduras:{keywords:["hn","flag","nation","country","banner"],"char":"\ud83c\udded\ud83c\uddf3",fitzpatrick_scale:!1,category:"flags"},hong_kong:{keywords:["hong","kong","flag","nation","country","banner"],"char":"\ud83c\udded\ud83c\uddf0",fitzpatrick_scale:!1,category:"flags"},hungary:{keywords:["hu","flag","nation","country","banner"],"char":"\ud83c\udded\ud83c\uddfa",fitzpatrick_scale:!1,category:"flags"},iceland:{keywords:["is","flag","nation","country","banner"],"char":"\ud83c\uddee\ud83c\uddf8",fitzpatrick_scale:!1,category:"flags"},india:{keywords:["in","flag","nation","country","banner"],"char":"\ud83c\uddee\ud83c\uddf3",fitzpatrick_scale:!1,category:"flags"},indonesia:{keywords:["flag","nation","country","banner"],"char":"\ud83c\uddee\ud83c\udde9",fitzpatrick_scale:!1,category:"flags"},iran:{keywords:["iran,","islamic","republic","flag","nation","country","banner"],"char":"\ud83c\uddee\ud83c\uddf7",fitzpatrick_scale:!1,category:"flags"},iraq:{keywords:["iq","flag","nation","country","banner"],"char":"\ud83c\uddee\ud83c\uddf6",fitzpatrick_scale:!1,category:"flags"},ireland:{keywords:["ie","flag","nation","country","banner"],"char":"\ud83c\uddee\ud83c\uddea",fitzpatrick_scale:!1,category:"flags"},isle_of_man:{keywords:["isle","man","flag","nation","country","banner"],"char":"\ud83c\uddee\ud83c\uddf2",fitzpatrick_scale:!1,category:"flags"},israel:{keywords:["il","flag","nation","country","banner"],"char":"\ud83c\uddee\ud83c\uddf1",fitzpatrick_scale:!1,category:"flags"},it:{keywords:["italy","flag","nation","country","banner"],"char":"\ud83c\uddee\ud83c\uddf9",fitzpatrick_scale:!1,category:"flags"},cote_divoire:{keywords:["ivory","coast","flag","nation","country","banner"],"char":"\ud83c\udde8\ud83c\uddee",fitzpatrick_scale:!1,category:"flags"},jamaica:{keywords:["jm","flag","nation","country","banner"],"char":"\ud83c\uddef\ud83c\uddf2",fitzpatrick_scale:!1,category:"flags"},jp:{keywords:["japanese","nation","flag","country","banner"],"char":"\ud83c\uddef\ud83c\uddf5",fitzpatrick_scale:!1,category:"flags"},jersey:{keywords:["je","flag","nation","country","banner"],"char":"\ud83c\uddef\ud83c\uddea",fitzpatrick_scale:!1,category:"flags"},jordan:{keywords:["jo","flag","nation","country","banner"],"char":"\ud83c\uddef\ud83c\uddf4",fitzpatrick_scale:!1,category:"flags"},kazakhstan:{keywords:["kz","flag","nation","country","banner"],"char":"\ud83c\uddf0\ud83c\uddff",fitzpatrick_scale:!1,category:"flags"},kenya:{keywords:["ke","flag","nation","country","banner"],"char":"\ud83c\uddf0\ud83c\uddea",fitzpatrick_scale:!1,category:"flags"},kiribati:{keywords:["ki","flag","nation","country","banner"],"char":"\ud83c\uddf0\ud83c\uddee",fitzpatrick_scale:!1,category:"flags"},kosovo:{keywords:["xk","flag","nation","country","banner"],"char":"\ud83c\uddfd\ud83c\uddf0",fitzpatrick_scale:!1,category:"flags"},kuwait:{keywords:["kw","flag","nation","country","banner"],"char":"\ud83c\uddf0\ud83c\uddfc",fitzpatrick_scale:!1,category:"flags"},kyrgyzstan:{keywords:["kg","flag","nation","country","banner"],"char":"\ud83c\uddf0\ud83c\uddec",fitzpatrick_scale:!1,category:"flags"},laos:{keywords:["lao","democratic","republic","flag","nation","country","banner"],"char":"\ud83c\uddf1\ud83c\udde6",fitzpatrick_scale:!1,category:"flags"},latvia:{keywords:["lv","flag","nation","country","banner"],"char":"\ud83c\uddf1\ud83c\uddfb",fitzpatrick_scale:!1,category:"flags"},lebanon:{keywords:["lb","flag","nation","country","banner"],"char":"\ud83c\uddf1\ud83c\udde7",fitzpatrick_scale:!1,category:"flags"},lesotho:{keywords:["ls","flag","nation","country","banner"],"char":"\ud83c\uddf1\ud83c\uddf8",fitzpatrick_scale:!1,category:"flags"},liberia:{keywords:["lr","flag","nation","country","banner"],"char":"\ud83c\uddf1\ud83c\uddf7",fitzpatrick_scale:!1,category:"flags"},libya:{keywords:["ly","flag","nation","country","banner"],"char":"\ud83c\uddf1\ud83c\uddfe",fitzpatrick_scale:!1,category:"flags"},liechtenstein:{keywords:["li","flag","nation","country","banner"],"char":"\ud83c\uddf1\ud83c\uddee",fitzpatrick_scale:!1,category:"flags"},lithuania:{keywords:["lt","flag","nation","country","banner"],"char":"\ud83c\uddf1\ud83c\uddf9",fitzpatrick_scale:!1,category:"flags"},luxembourg:{keywords:["lu","flag","nation","country","banner"],"char":"\ud83c\uddf1\ud83c\uddfa",fitzpatrick_scale:!1,category:"flags"},macau:{keywords:["macao","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\uddf4",fitzpatrick_scale:!1,category:"flags"},macedonia:{keywords:["macedonia,","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\uddf0",fitzpatrick_scale:!1,category:"flags"},madagascar:{keywords:["mg","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\uddec",fitzpatrick_scale:!1,category:"flags"},malawi:{keywords:["mw","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\uddfc",fitzpatrick_scale:!1,category:"flags"},malaysia:{keywords:["my","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\uddfe",fitzpatrick_scale:!1,category:"flags"},maldives:{keywords:["mv","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\uddfb",fitzpatrick_scale:!1,category:"flags"},mali:{keywords:["ml","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\uddf1",fitzpatrick_scale:!1,category:"flags"},malta:{keywords:["mt","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\uddf9",fitzpatrick_scale:!1,category:"flags"},marshall_islands:{keywords:["marshall","islands","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\udded",fitzpatrick_scale:!1,category:"flags"},martinique:{keywords:["mq","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\uddf6",fitzpatrick_scale:!1,category:"flags"},mauritania:{keywords:["mr","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\uddf7",fitzpatrick_scale:!1,category:"flags"},mauritius:{keywords:["mu","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\uddfa",fitzpatrick_scale:!1,category:"flags"},mayotte:{keywords:["yt","flag","nation","country","banner"],"char":"\ud83c\uddfe\ud83c\uddf9",fitzpatrick_scale:!1,category:"flags"},mexico:{keywords:["mx","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\uddfd",fitzpatrick_scale:!1,category:"flags"},micronesia:{keywords:["micronesia,","federated","states","flag","nation","country","banner"],"char":"\ud83c\uddeb\ud83c\uddf2",fitzpatrick_scale:!1,category:"flags"},moldova:{keywords:["moldova,","republic","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\udde9",fitzpatrick_scale:!1,category:"flags"},monaco:{keywords:["mc","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\udde8",fitzpatrick_scale:!1,category:"flags"},mongolia:{keywords:["mn","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\uddf3",fitzpatrick_scale:!1,category:"flags"},montenegro:{keywords:["me","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\uddea",fitzpatrick_scale:!1,category:"flags"},montserrat:{keywords:["ms","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\uddf8",fitzpatrick_scale:!1,category:"flags"},morocco:{keywords:["ma","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\udde6",fitzpatrick_scale:!1,category:"flags"},mozambique:{keywords:["mz","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\uddff",fitzpatrick_scale:!1,category:"flags"},myanmar:{keywords:["mm","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\uddf2",fitzpatrick_scale:!1,category:"flags"},namibia:{keywords:["na","flag","nation","country","banner"],"char":"\ud83c\uddf3\ud83c\udde6",fitzpatrick_scale:!1,category:"flags"},nauru:{keywords:["nr","flag","nation","country","banner"],"char":"\ud83c\uddf3\ud83c\uddf7",fitzpatrick_scale:!1,category:"flags"},nepal:{keywords:["np","flag","nation","country","banner"],"char":"\ud83c\uddf3\ud83c\uddf5",fitzpatrick_scale:!1,category:"flags"},netherlands:{keywords:["nl","flag","nation","country","banner"],"char":"\ud83c\uddf3\ud83c\uddf1",fitzpatrick_scale:!1,category:"flags"},new_caledonia:{keywords:["new","caledonia","flag","nation","country","banner"],"char":"\ud83c\uddf3\ud83c\udde8",fitzpatrick_scale:!1,category:"flags"},new_zealand:{keywords:["new","zealand","flag","nation","country","banner"],"char":"\ud83c\uddf3\ud83c\uddff",fitzpatrick_scale:!1,category:"flags"},nicaragua:{keywords:["ni","flag","nation","country","banner"],"char":"\ud83c\uddf3\ud83c\uddee",fitzpatrick_scale:!1,category:"flags"},niger:{keywords:["ne","flag","nation","country","banner"],"char":"\ud83c\uddf3\ud83c\uddea",fitzpatrick_scale:!1,category:"flags"},nigeria:{keywords:["flag","nation","country","banner"],"char":"\ud83c\uddf3\ud83c\uddec",fitzpatrick_scale:!1,category:"flags"},niue:{keywords:["nu","flag","nation","country","banner"],"char":"\ud83c\uddf3\ud83c\uddfa",fitzpatrick_scale:!1,category:"flags"},norfolk_island:{keywords:["norfolk","island","flag","nation","country","banner"],"char":"\ud83c\uddf3\ud83c\uddeb",fitzpatrick_scale:!1,category:"flags"},northern_mariana_islands:{keywords:["northern","mariana","islands","flag","nation","country","banner"],"char":"\ud83c\uddf2\ud83c\uddf5",fitzpatrick_scale:!1,category:"flags"},north_korea:{keywords:["north","korea","nation","flag","country","banner"],"char":"\ud83c\uddf0\ud83c\uddf5",fitzpatrick_scale:!1,category:"flags"},norway:{keywords:["no","flag","nation","country","banner"],"char":"\ud83c\uddf3\ud83c\uddf4",fitzpatrick_scale:!1,category:"flags"},oman:{keywords:["om_symbol","flag","nation","country","banner"],"char":"\ud83c\uddf4\ud83c\uddf2",fitzpatrick_scale:!1,category:"flags"},pakistan:{keywords:["pk","flag","nation","country","banner"],"char":"\ud83c\uddf5\ud83c\uddf0",fitzpatrick_scale:!1,category:"flags"},palau:{keywords:["pw","flag","nation","country","banner"],"char":"\ud83c\uddf5\ud83c\uddfc",fitzpatrick_scale:!1,category:"flags"},palestinian_territories:{keywords:["palestine","palestinian","territories","flag","nation","country","banner"],"char":"\ud83c\uddf5\ud83c\uddf8",fitzpatrick_scale:!1,category:"flags"},panama:{keywords:["pa","flag","nation","country","banner"],"char":"\ud83c\uddf5\ud83c\udde6",fitzpatrick_scale:!1,category:"flags"},papua_new_guinea:{keywords:["papua","new","guinea","flag","nation","country","banner"],"char":"\ud83c\uddf5\ud83c\uddec",fitzpatrick_scale:!1,category:"flags"},paraguay:{keywords:["py","flag","nation","country","banner"],"char":"\ud83c\uddf5\ud83c\uddfe",fitzpatrick_scale:!1,category:"flags"},peru:{keywords:["pe","flag","nation","country","banner"],"char":"\ud83c\uddf5\ud83c\uddea",fitzpatrick_scale:!1,category:"flags"},philippines:{keywords:["ph","flag","nation","country","banner"],"char":"\ud83c\uddf5\ud83c\udded",fitzpatrick_scale:!1,category:"flags"},pitcairn_islands:{keywords:["pitcairn","flag","nation","country","banner"],"char":"\ud83c\uddf5\ud83c\uddf3",fitzpatrick_scale:!1,category:"flags"},poland:{keywords:["pl","flag","nation","country","banner"],"char":"\ud83c\uddf5\ud83c\uddf1",fitzpatrick_scale:!1,category:"flags"},portugal:{keywords:["pt","flag","nation","country","banner"],"char":"\ud83c\uddf5\ud83c\uddf9",fitzpatrick_scale:!1,category:"flags"},puerto_rico:{keywords:["puerto","rico","flag","nation","country","banner"],"char":"\ud83c\uddf5\ud83c\uddf7",fitzpatrick_scale:!1,category:"flags"},qatar:{keywords:["qa","flag","nation","country","banner"],"char":"\ud83c\uddf6\ud83c\udde6",fitzpatrick_scale:!1,category:"flags"},reunion:{keywords:["r\xe9union","flag","nation","country","banner"],"char":"\ud83c\uddf7\ud83c\uddea",fitzpatrick_scale:!1,category:"flags"},romania:{keywords:["ro","flag","nation","country","banner"],"char":"\ud83c\uddf7\ud83c\uddf4",fitzpatrick_scale:!1,category:"flags"},ru:{keywords:["russian","federation","flag","nation","country","banner"],"char":"\ud83c\uddf7\ud83c\uddfa",fitzpatrick_scale:!1,category:"flags"},rwanda:{keywords:["rw","flag","nation","country","banner"],"char":"\ud83c\uddf7\ud83c\uddfc",fitzpatrick_scale:!1,category:"flags"},st_barthelemy:{keywords:["saint","barth\xe9lemy","flag","nation","country","banner"],"char":"\ud83c\udde7\ud83c\uddf1",fitzpatrick_scale:!1,category:"flags"},st_helena:{keywords:["saint","helena","ascension","tristan","cunha","flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\udded",fitzpatrick_scale:!1,category:"flags"},st_kitts_nevis:{keywords:["saint","kitts","nevis","flag","nation","country","banner"],"char":"\ud83c\uddf0\ud83c\uddf3",fitzpatrick_scale:!1,category:"flags"},st_lucia:{keywords:["saint","lucia","flag","nation","country","banner"],"char":"\ud83c\uddf1\ud83c\udde8",fitzpatrick_scale:!1,category:"flags"},st_pierre_miquelon:{keywords:["saint","pierre","miquelon","flag","nation","country","banner"],"char":"\ud83c\uddf5\ud83c\uddf2",fitzpatrick_scale:!1,category:"flags"},st_vincent_grenadines:{keywords:["saint","vincent","grenadines","flag","nation","country","banner"],"char":"\ud83c\uddfb\ud83c\udde8",fitzpatrick_scale:!1,category:"flags"},samoa:{keywords:["ws","flag","nation","country","banner"],"char":"\ud83c\uddfc\ud83c\uddf8",fitzpatrick_scale:!1,category:"flags"},san_marino:{keywords:["san","marino","flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\uddf2",fitzpatrick_scale:!1,category:"flags"},sao_tome_principe:{keywords:["sao","tome","principe","flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\uddf9",fitzpatrick_scale:!1,category:"flags"},saudi_arabia:{keywords:["flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\udde6",fitzpatrick_scale:!1,category:"flags"},senegal:{keywords:["sn","flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\uddf3",fitzpatrick_scale:!1,category:"flags"},serbia:{keywords:["rs","flag","nation","country","banner"],"char":"\ud83c\uddf7\ud83c\uddf8",fitzpatrick_scale:!1,category:"flags"},seychelles:{keywords:["sc","flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\udde8",fitzpatrick_scale:!1,category:"flags"},sierra_leone:{keywords:["sierra","leone","flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\uddf1",fitzpatrick_scale:!1,category:"flags"},singapore:{keywords:["sg","flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\uddec",fitzpatrick_scale:!1,category:"flags"},sint_maarten:{keywords:["sint","maarten","dutch","flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\uddfd",fitzpatrick_scale:!1,category:"flags"},slovakia:{keywords:["sk","flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\uddf0",fitzpatrick_scale:!1,category:"flags"},slovenia:{keywords:["si","flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\uddee",fitzpatrick_scale:!1,category:"flags"},solomon_islands:{keywords:["solomon","islands","flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\udde7",fitzpatrick_scale:!1,category:"flags"},somalia:{keywords:["so","flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\uddf4",fitzpatrick_scale:!1,category:"flags"},south_africa:{keywords:["south","africa","flag","nation","country","banner"],"char":"\ud83c\uddff\ud83c\udde6",fitzpatrick_scale:!1,category:"flags"},south_georgia_south_sandwich_islands:{keywords:["south","georgia","sandwich","islands","flag","nation","country","banner"],"char":"\ud83c\uddec\ud83c\uddf8",fitzpatrick_scale:!1,category:"flags"},kr:{keywords:["south","korea","nation","flag","country","banner"],"char":"\ud83c\uddf0\ud83c\uddf7",fitzpatrick_scale:!1,category:"flags"},south_sudan:{keywords:["south","sd","flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\uddf8",fitzpatrick_scale:!1,category:"flags"},es:{keywords:["spain","flag","nation","country","banner"],"char":"\ud83c\uddea\ud83c\uddf8",fitzpatrick_scale:!1,category:"flags"},sri_lanka:{keywords:["sri","lanka","flag","nation","country","banner"],"char":"\ud83c\uddf1\ud83c\uddf0",fitzpatrick_scale:!1,category:"flags"},sudan:{keywords:["sd","flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\udde9",fitzpatrick_scale:!1,category:"flags"},suriname:{keywords:["sr","flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\uddf7",fitzpatrick_scale:!1,category:"flags"},swaziland:{keywords:["sz","flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\uddff",fitzpatrick_scale:!1,category:"flags"},sweden:{keywords:["se","flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\uddea",fitzpatrick_scale:!1,category:"flags"},switzerland:{keywords:["ch","flag","nation","country","banner"],"char":"\ud83c\udde8\ud83c\udded",fitzpatrick_scale:!1,category:"flags"},syria:{keywords:["syrian","arab","republic","flag","nation","country","banner"],"char":"\ud83c\uddf8\ud83c\uddfe",fitzpatrick_scale:!1,category:"flags"},taiwan:{keywords:["tw","flag","nation","country","banner"],"char":"\ud83c\uddf9\ud83c\uddfc",fitzpatrick_scale:!1,category:"flags"},tajikistan:{keywords:["tj","flag","nation","country","banner"],"char":"\ud83c\uddf9\ud83c\uddef",fitzpatrick_scale:!1,category:"flags"},tanzania:{keywords:["tanzania,","united","republic","flag","nation","country","banner"],"char":"\ud83c\uddf9\ud83c\uddff",fitzpatrick_scale:!1,category:"flags"},thailand:{keywords:["th","flag","nation","country","banner"],"char":"\ud83c\uddf9\ud83c\udded",fitzpatrick_scale:!1,category:"flags"},timor_leste:{keywords:["timor","leste","flag","nation","country","banner"],"char":"\ud83c\uddf9\ud83c\uddf1",fitzpatrick_scale:!1,category:"flags"},togo:{keywords:["tg","flag","nation","country","banner"],"char":"\ud83c\uddf9\ud83c\uddec",fitzpatrick_scale:!1,category:"flags"},tokelau:{keywords:["tk","flag","nation","country","banner"],"char":"\ud83c\uddf9\ud83c\uddf0",fitzpatrick_scale:!1,category:"flags"},tonga:{keywords:["to","flag","nation","country","banner"],"char":"\ud83c\uddf9\ud83c\uddf4",fitzpatrick_scale:!1,category:"flags"},trinidad_tobago:{keywords:["trinidad","tobago","flag","nation","country","banner"],"char":"\ud83c\uddf9\ud83c\uddf9",fitzpatrick_scale:!1,category:"flags"},tunisia:{keywords:["tn","flag","nation","country","banner"],"char":"\ud83c\uddf9\ud83c\uddf3",fitzpatrick_scale:!1,category:"flags"},tr:{keywords:["turkey","flag","nation","country","banner"],"char":"\ud83c\uddf9\ud83c\uddf7",fitzpatrick_scale:!1,category:"flags"},turkmenistan:{keywords:["flag","nation","country","banner"],"char":"\ud83c\uddf9\ud83c\uddf2",fitzpatrick_scale:!1,category:"flags"},turks_caicos_islands:{keywords:["turks","caicos","islands","flag","nation","country","banner"],"char":"\ud83c\uddf9\ud83c\udde8",fitzpatrick_scale:!1,category:"flags"},tuvalu:{keywords:["flag","nation","country","banner"],"char":"\ud83c\uddf9\ud83c\uddfb",fitzpatrick_scale:!1,category:"flags"},uganda:{keywords:["ug","flag","nation","country","banner"],"char":"\ud83c\uddfa\ud83c\uddec",fitzpatrick_scale:!1,category:"flags"},ukraine:{keywords:["ua","flag","nation","country","banner"],"char":"\ud83c\uddfa\ud83c\udde6",fitzpatrick_scale:!1,category:"flags"},united_arab_emirates:{keywords:["united","arab","emirates","flag","nation","country","banner"],"char":"\ud83c\udde6\ud83c\uddea",fitzpatrick_scale:!1,category:"flags"},uk:{keywords:["united","kingdom","great","britain","northern","ireland","flag","nation","country","banner","british","UK","english","england","union jack"],"char":"\ud83c\uddec\ud83c\udde7",fitzpatrick_scale:!1,category:"flags"},england:{keywords:["flag","english"],"char":"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f",fitzpatrick_scale:!1,category:"flags"},scotland:{keywords:["flag","scottish"],"char":"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc73\udb40\udc63\udb40\udc74\udb40\udc7f",fitzpatrick_scale:!1,category:"flags"},wales:{keywords:["flag","welsh"],"char":"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc77\udb40\udc6c\udb40\udc73\udb40\udc7f",fitzpatrick_scale:!1,category:"flags"},us:{keywords:["united","states","america","flag","nation","country","banner"],"char":"\ud83c\uddfa\ud83c\uddf8",fitzpatrick_scale:!1,category:"flags"},us_virgin_islands:{keywords:["virgin","islands","us","flag","nation","country","banner"],"char":"\ud83c\uddfb\ud83c\uddee",fitzpatrick_scale:!1,category:"flags"},uruguay:{keywords:["uy","flag","nation","country","banner"],"char":"\ud83c\uddfa\ud83c\uddfe",fitzpatrick_scale:!1,category:"flags"},uzbekistan:{keywords:["uz","flag","nation","country","banner"],"char":"\ud83c\uddfa\ud83c\uddff",fitzpatrick_scale:!1,category:"flags"},vanuatu:{keywords:["vu","flag","nation","country","banner"],"char":"\ud83c\uddfb\ud83c\uddfa",fitzpatrick_scale:!1,category:"flags"},vatican_city:{keywords:["vatican","city","flag","nation","country","banner"],"char":"\ud83c\uddfb\ud83c\udde6",fitzpatrick_scale:!1,category:"flags"},venezuela:{keywords:["ve","bolivarian","republic","flag","nation","country","banner"],"char":"\ud83c\uddfb\ud83c\uddea",fitzpatrick_scale:!1,category:"flags"},vietnam:{keywords:["viet","nam","flag","nation","country","banner"],"char":"\ud83c\uddfb\ud83c\uddf3",fitzpatrick_scale:!1,category:"flags"},wallis_futuna:{keywords:["wallis","futuna","flag","nation","country","banner"],"char":"\ud83c\uddfc\ud83c\uddeb",fitzpatrick_scale:!1,category:"flags"},western_sahara:{keywords:["western","sahara","flag","nation","country","banner"],"char":"\ud83c\uddea\ud83c\udded",fitzpatrick_scale:!1,category:"flags"},yemen:{keywords:["ye","flag","nation","country","banner"],"char":"\ud83c\uddfe\ud83c\uddea",fitzpatrick_scale:!1,category:"flags"},zambia:{keywords:["zm","flag","nation","country","banner"],"char":"\ud83c\uddff\ud83c\uddf2",fitzpatrick_scale:!1,category:"flags"},zimbabwe:{keywords:["zw","flag","nation","country","banner"],"char":"\ud83c\uddff\ud83c\uddfc",fitzpatrick_scale:!1,category:"flags"}}); \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/tinymce/plugins/emoticons/plugin.min.js b/app/system/modules/editor/app/assets/tinymce/plugins/emoticons/plugin.min.js deleted file mode 100755 index 451bfa49..00000000 --- a/app/system/modules/editor/app/assets/tinymce/plugins/emoticons/plugin.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Copyright (c) Tiny Technologies, Inc. All rights reserved. - * Licensed under the LGPL or a commercial license. - * For LGPL see License.txt in the project root for license information. - * For commercial licenses see https://www.tiny.cloud/ - * - * Version: 5.0.13 (2019-08-06) - */ -!function(m){"use strict";var n,t,e,r,o,u,i=tinymce.util.Tools.resolve("tinymce.PluginManager"),c=function(n){return function(){return n}},a=c(!1),l=c(!0),s=a,f=l,g=function(){return d},d=(r={fold:function(n,t){return n()},is:s,isSome:s,isNone:f,getOr:e=function(n){return n},getOrThunk:t=function(n){return n()},getOrDie:function(n){throw new Error(n||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:e,orThunk:t,map:g,ap:g,each:function(){},bind:g,flatten:g,exists:s,forall:f,filter:g,equals:n=function(n){return n.isNone()},equals_:n,toArray:function(){return[]},toString:c("none()")},Object.freeze&&Object.freeze(r),r),y=function(e){var n=function(){return e},t=function(){return o},r=function(n){return n(e)},o={fold:function(n,t){return t(e)},is:function(n){return e===n},isSome:f,isNone:s,getOr:n,getOrThunk:n,getOrDie:n,getOrNull:n,getOrUndefined:n,or:t,orThunk:t,map:function(n){return y(n(e))},ap:function(n){return n.fold(g,function(n){return y(n(e))})},each:function(n){n(e)},bind:r,flatten:n,exists:r,forall:r,filter:function(n){return n(e)?o:d},equals:function(n){return n.is(e)},equals_:function(n,t){return n.fold(s,function(n){return t(e,n)})},toArray:function(){return[e]},toString:function(){return"some("+e+")"}};return o},p={some:y,none:g,from:function(n){return null===n||n===undefined?d:y(n)}},v=(o="function",function(n){return function(n){if(null===n)return"null";var t=typeof n;return"object"===t&&(Array.prototype.isPrototypeOf(n)||n.constructor&&"Array"===n.constructor.name)?"array":"object"===t&&(String.prototype.isPrototypeOf(n)||n.constructor&&"String"===n.constructor.name)?"string":t}(n)===o}),h=Array.prototype.slice,b=function(n,t){for(var e=0,r=n.length;e<r;e++){if(t(n[e],e,n))return p.some(e)}return p.none()},w=(v(Array.from)&&Array.from,function(n,t){return-1!==n.indexOf(t)}),O=function(n,t){return w(n.title.toLowerCase(),t)||(e=n.keywords,b(e,function(n){return w(n.toLowerCase(),t)}).isSome());var e},A=function(n,t,e){for(var r=[],o=t.toLowerCase(),i=e.fold(function(){return a},function(t){return function(n){return t<=n}}),u=0;u<n.length&&(0!==t.length&&!O(n[u],o)||(r.push({value:n[u]["char"],text:n[u].title,icon:n[u]["char"]}),!i(r.length)));u++);return r},j=function(n){var t=n,e=function(){return t};return{get:e,set:function(n){t=n},clone:function(){return j(e())}}},C=Object.prototype.hasOwnProperty,k=(u=function(n,t){return t},function(){for(var n=new Array(arguments.length),t=0;t<n.length;t++)n[t]=arguments[t];if(0===n.length)throw new Error("Can't merge zero objects");for(var e={},r=0;r<n.length;r++){var o=n[r];for(var i in o)C.call(o,i)&&(e[i]=u(e[i],o[i]))}return e}),T=Object.keys,_=Object.hasOwnProperty,P=function(n,t){for(var e=T(n),r=0,o=e.length;r<o;r++){var i=e[r];t(n[i],i,n)}},S=function(r,o){var i={};return P(r,function(n,t){var e=o(n,t,r);i[e.k]=e.v}),i},D=tinymce.util.Tools.resolve("tinymce.Resource"),x=tinymce.util.Tools.resolve("tinymce.util.Delay"),L=tinymce.util.Tools.resolve("tinymce.util.Promise"),N=function(n,t){return n.getParam("emoticons_database_url",t+"/js/emojis"+n.suffix+".js")},E=function(n){return n.getParam("emoticons_database_id","tinymce.plugins.emoticons","string")},F=function(n){return n.getParam("emoticons_append",{},"object")},q="All",z={symbols:"Symbols",people:"People",animals_and_nature:"Animals and Nature",food_and_drink:"Food and Drink",activity:"Activity",travel_and_places:"Travel and Places",objects:"Objects",flags:"Flags",user:"User Defined"},I=function(n,t){return e=n,r=t,_.call(e,r)?n[t]:t;var e,r},M=function(n){var r,t=F(n);return r=function(n){return k({keywords:[],category:"user"},n)},S(t,function(n,t,e){return{k:t,v:r(n,t,e)}})},U=function(r,o,n){var u=j(p.none()),c=j(p.none());r.on("init",function(){D.load(n,o).then(function(n){var t,o,i,e=M(r);t=k(n,e),o={},i=[],P(t,function(n,t){var e={title:t,keywords:n.keywords,"char":n["char"],category:I(z,n.category)},r=o[e.category]!==undefined?o[e.category]:[];o[e.category]=r.concat([e]),i.push(e)}),u.set(p.some(o)),c.set(p.some(i))},function(n){m.console.log("Failed to load emoticons: "+n),u.set(p.some({})),c.set(p.some([]))})});var e=function(){return c.get().getOr([])},i=function(){return u.get().isSome()&&c.get().isSome()};return{listCategories:function(){return[q].concat(T(u.get().getOr({})))},hasLoaded:i,waitForLoad:function(){return i()?L.resolve(!0):new L(function(n,t){var e=3,r=x.setInterval(function(){i()?(x.clearInterval(r),n(!0)):--e<0&&(m.console.log("Could not load emojis from url: "+o),x.clearInterval(r),t(!1))},500)})},listAll:e,listCategory:function(t){return t===q?e():u.get().bind(function(n){return p.from(n[t])}).getOr([])}}},R="pattern",B=function(o,u){var e,r,i,n={pattern:"",results:A(u.listAll(),"",p.some(300))},c=j(q),a=(e=function(n){var t,e,r,o,i;e=(t=n).getData(),r=c.get(),o=u.listCategory(r),i=A(o,e[R],r===q?p.some(300):p.none()),t.setData({results:i})},r=200,i=null,{cancel:function(){null!==i&&(m.clearTimeout(i),i=null)},throttle:function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];null!==i&&m.clearTimeout(i),i=m.setTimeout(function(){e.apply(null,n),i=null},r)}}),t={label:"Search",type:"input",name:R},l={type:"collection",name:"results"},s=function(){return{title:"Emoticons",size:"normal",body:{type:"tabpanel",tabs:function(n,t){for(var e=n.length,r=new Array(e),o=0;o<e;o++){var i=n[o];r[o]=t(i,o,n)}return r}(u.listCategories(),function(n){return{title:n,name:n,items:[t,l]}})},initialData:n,onTabChange:function(n,t){c.set(t.newTabName),a.throttle(n)},onChange:a.throttle,onAction:function(n,t){var e,r;"results"===t.name&&(e=o,r=t.value,e.insertContent(r),n.close())},buttons:[{type:"cancel",text:"Close",primary:!0}]}},f=o.windowManager.open(s());f.focus(R),u.hasLoaded()||(f.block("Loading emoticons..."),u.waitForLoad().then(function(){f.redial(s()),a.throttle(f),f.focus(R),f.unblock()})["catch"](function(n){f.redial({title:"Emoticons",body:{type:"panel",items:[{type:"alertbanner",level:"error",icon:"warning",text:"<p>Could not load emoticons</p>"}]},buttons:[{type:"cancel",text:"Close",primary:!0}],initialData:{pattern:"",results:[]}}),f.focus(R),f.unblock()}))},G=function(n,t){var e=function(){return B(n,t)};n.ui.registry.addButton("emoticons",{tooltip:"Emoticons",icon:"emoji",onAction:e}),n.ui.registry.addMenuItem("emoticons",{text:"Emoticons...",icon:"emoji",onAction:e})};!function H(){i.add("emoticons",function(n,t){var r,o,e=N(n,t),i=E(n),u=U(n,e,i);G(n,u),o=u,(r=n).ui.registry.addAutocompleter("emoticons",{ch:":",columns:"auto",minChars:2,fetch:function(t,e){return o.waitForLoad().then(function(){var n=o.listAll();return A(n,t,p.some(e))})},onAction:function(n,t,e){r.selection.setRng(t),r.insertContent(e),n.hide()}})})}()}(window); \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/tinymce/plugins/fullpage/plugin.min.js b/app/system/modules/editor/app/assets/tinymce/plugins/fullpage/plugin.min.js deleted file mode 100755 index a239f3b3..00000000 --- a/app/system/modules/editor/app/assets/tinymce/plugins/fullpage/plugin.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Copyright (c) Tiny Technologies, Inc. All rights reserved. - * Licensed under the LGPL or a commercial license. - * For LGPL see License.txt in the project root for license information. - * For commercial licenses see https://www.tiny.cloud/ - * - * Version: 5.0.13 (2019-08-06) - */ -!function(m){"use strict";var o,i=function(e){var t=e,n=function(){return t};return{get:n,set:function(e){t=e},clone:function(){return i(n())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),g=tinymce.util.Tools.resolve("tinymce.util.Tools"),t=tinymce.util.Tools.resolve("tinymce.html.DomParser"),f=tinymce.util.Tools.resolve("tinymce.html.Node"),p=tinymce.util.Tools.resolve("tinymce.html.Serializer"),h=function(e){return e.getParam("fullpage_hide_in_source_view")},l=function(e){return e.getParam("fullpage_default_xml_pi")},a=function(e){return e.getParam("fullpage_default_encoding")},c=function(e){return e.getParam("fullpage_default_font_family")},s=function(e){return e.getParam("fullpage_default_font_size")},u=function(e){return e.getParam("fullpage_default_text_color")},d=function(e){return e.getParam("fullpage_default_title")},y=function(e){return e.getParam("fullpage_default_doctype","<!DOCTYPE html>")},v=function(e){return t({validate:!1,root_name:"#document"}).parse(e)},_=v,n=function(e,t){var n,i,r=v(t),l={};function o(e,t){return e.attr(t)||""}return l.fontface=c(e),l.fontsize=s(e),7===(n=r.firstChild).type&&(l.xml_pi=!0,(i=/encoding="([^"]+)"/.exec(n.value))&&(l.docencoding=i[1])),(n=r.getAll("#doctype")[0])&&(l.doctype="<!DOCTYPE"+n.value+">"),(n=r.getAll("title")[0])&&n.firstChild&&(l.title=n.firstChild.value),g.each(r.getAll("meta"),function(e){var t,n=e.attr("name"),i=e.attr("http-equiv");n?l[n.toLowerCase()]=e.attr("content"):"Content-Type"===i&&(t=/charset\s*=\s*(.*)\s*/gi.exec(e.attr("content")))&&(l.docencoding=t[1])}),(n=r.getAll("html")[0])&&(l.langcode=o(n,"lang")||o(n,"xml:lang")),l.stylesheets=[],g.each(r.getAll("link"),function(e){"stylesheet"===e.attr("rel")&&l.stylesheets.push(e.attr("href"))}),(n=r.getAll("body")[0])&&(l.langdir=o(n,"dir"),l.style=o(n,"style"),l.visited_color=o(n,"vlink"),l.link_color=o(n,"link"),l.active_color=o(n,"alink")),l},b=function(e,l,t){var o,n,i,a,r,c=e.dom;function s(e,t,n){e.attr(t,n||undefined)}function u(e){n.firstChild?n.insert(e,n.firstChild):n.append(e)}o=v(t),(n=o.getAll("head")[0])||(a=o.getAll("html")[0],n=new f("head",1),a.firstChild?a.insert(n,a.firstChild,!0):a.append(n)),a=o.firstChild,l.xml_pi?(r='version="1.0"',l.docencoding&&(r+=' encoding="'+l.docencoding+'"'),7!==a.type&&(a=new f("xml",7),o.insert(a,o.firstChild,!0)),a.value=r):a&&7===a.type&&a.remove(),a=o.getAll("#doctype")[0],l.doctype?(a||(a=new f("#doctype",10),l.xml_pi?o.insert(a,o.firstChild):u(a)),a.value=l.doctype.substring(9,l.doctype.length-1)):a&&a.remove(),a=null,g.each(o.getAll("meta"),function(e){"Content-Type"===e.attr("http-equiv")&&(a=e)}),l.docencoding?(a||((a=new f("meta",1)).attr("http-equiv","Content-Type"),a.shortEnded=!0,u(a)),a.attr("content","text/html; charset="+l.docencoding)):a&&a.remove(),a=o.getAll("title")[0],l.title?(a?a.empty():u(a=new f("title",1)),a.append(new f("#text",3)).value=l.title):a&&a.remove(),g.each("keywords,description,author,copyright,robots".split(","),function(e){var t,n,i=o.getAll("meta"),r=l[e];for(t=0;t<i.length;t++)if((n=i[t]).attr("name")===e)return void(r?n.attr("content",r):n.remove());r&&((a=new f("meta",1)).attr("name",e),a.attr("content",r),a.shortEnded=!0,u(a))});var d={};return g.each(o.getAll("link"),function(e){"stylesheet"===e.attr("rel")&&(d[e.attr("href")]=e)}),g.each(l.stylesheets,function(e){d[e]||((a=new f("link",1)).attr({rel:"stylesheet",text:"text/css",href:e}),a.shortEnded=!0,u(a)),delete d[e]}),g.each(d,function(e){e.remove()}),(a=o.getAll("body")[0])&&(s(a,"dir",l.langdir),s(a,"style",l.style),s(a,"vlink",l.visited_color),s(a,"link",l.link_color),s(a,"alink",l.active_color),c.setAttribs(e.getBody(),{style:l.style,dir:l.dir,vLink:l.visited_color,link:l.link_color,aLink:l.active_color})),(a=o.getAll("html")[0])&&(s(a,"lang",l.langcode),s(a,"xml:lang",l.langcode)),n.firstChild||n.remove(),(i=p({validate:!1,indent:!0,indent_before:"head,html,body,meta,title,script,link,style",indent_after:"head,html,body,meta,title,script,link,style"}).serialize(o)).substring(0,i.indexOf("</body>"))},x=Object.prototype.hasOwnProperty,C=(o=function(e,t){return t},function(){for(var e=new Array(arguments.length),t=0;t<e.length;t++)e[t]=arguments[t];if(0===e.length)throw new Error("Can't merge zero objects");for(var n={},i=0;i<e.length;i++){var r=e[i];for(var l in r)x.call(r,l)&&(n[l]=o(n[l],r[l]))}return n}),r=function(i,r){var l=n(i,r.get()),e=C({title:"",keywords:"",description:"",robots:"",author:"",docencoding:""},l);i.windowManager.open({title:"Metadata and Document Properties",size:"normal",body:{type:"panel",items:[{name:"title",type:"input",label:"Title"},{name:"keywords",type:"input",label:"Keywords"},{name:"description",type:"input",label:"Description"},{name:"robots",type:"input",label:"Robots"},{name:"author",type:"input",label:"Author"},{name:"docencoding",type:"input",label:"Encoding"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:e,onSubmit:function(e){var t=e.getData(),n=b(i,g.extend(l,t),r.get());r.set(n),e.close()}})},k=function(e,t){e.addCommand("mceFullPageProperties",function(){r(e,t)})},w=function(e,t){return g.each(e,function(e){t=t.replace(e,function(e){return"\x3c!--mce:protected "+escape(e)+"--\x3e"})}),t},A=function(e){return e.replace(/<!--mce:protected ([\s\S]*?)-->/g,function(e,t){return unescape(t)})},P=g.each,T=function(e){return e.replace(/<\/?[A-Z]+/g,function(e){return e.toLowerCase()})},O=function(e){var t,n="",i="";if(l(e)){var r=a(e);n+='<?xml version="1.0" encoding="'+(r||"ISO-8859-1")+'" ?>\n'}return n+=y(e),n+="\n<html>\n<head>\n",(t=d(e))&&(n+="<title>"+t+"\n"),(t=a(e))&&(n+='\n'),(t=c(e))&&(i+="font-family: "+t+";"),(t=s(e))&&(i+="font-size: "+t+";"),(t=u(e))&&(i+="color: "+t+";"),n+="\n\n"},D=function(l,o,a){l.on("BeforeSetContent",function(e){!function(e,t,n,i){var r,l,o,a,c="",s=e.dom;if(!(i.selection||(o=w(e.settings.protect,i.content),"raw"===i.format&&t.get()||i.source_view&&h(e)))){0!==o.length||i.source_view||(o=g.trim(t.get())+"\n"+g.trim(o)+"\n"+g.trim(n.get())),-1!==(r=(o=o.replace(/<(\/?)BODY/gi,"<$1body")).indexOf("",r),t.set(T(o.substring(0,r+1))),-1===(l=o.indexOf("\n")),a=_(t.get()),P(a.getAll("style"),function(e){e.firstChild&&(c+=e.firstChild.value)});var u=a.getAll("body")[0];u&&s.setAttribs(e.getBody(),{style:u.attr("style")||"",dir:u.attr("dir")||"",vLink:u.attr("vlink")||"",link:u.attr("link")||"",aLink:u.attr("alink")||""}),s.remove("fullpage_styles");var d=e.getDoc().getElementsByTagName("head")[0];c&&s.add(d,"style",{id:"fullpage_styles"}).appendChild(m.document.createTextNode(c));var f={};g.each(d.getElementsByTagName("link"),function(e){"stylesheet"===e.rel&&e.getAttribute("data-mce-fullpage")&&(f[e.href]=e)}),g.each(a.getAll("link"),function(e){var t=e.attr("href");if(!t)return!0;f[t]||"stylesheet"!==e.attr("rel")||s.add(d,"link",{rel:"stylesheet",text:"text/css",href:t,"data-mce-fullpage":"1"}),delete f[t]}),g.each(f,function(e){e.parentNode.removeChild(e)})}}(l,o,a,e)}),l.on("GetContent",function(e){var t,n,i,r;t=l,n=o.get(),i=a.get(),(r=e).selection||r.source_view&&h(t)||(r.content=A(g.trim(n)+"\n"+g.trim(r.content)+"\n"+g.trim(i)))})},E=function(e){e.ui.registry.addButton("fullpage",{tooltip:"Metadata and document properties",icon:"document-properties",onAction:function(){e.execCommand("mceFullPageProperties")}}),e.ui.registry.addMenuItem("fullpage",{text:"Metadata and document properties",icon:"document-properties",onAction:function(){e.execCommand("mceFullPageProperties")}})};!function z(){e.add("fullpage",function(e){var t=i(""),n=i("");k(e,t),E(e),D(e,t,n)})}()}(window); \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/tinymce/plugins/fullscreen/plugin.min.js b/app/system/modules/editor/app/assets/tinymce/plugins/fullscreen/plugin.min.js deleted file mode 100755 index 74378fa8..00000000 --- a/app/system/modules/editor/app/assets/tinymce/plugins/fullscreen/plugin.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Copyright (c) Tiny Technologies, Inc. All rights reserved. - * Licensed under the LGPL or a commercial license. - * For LGPL see License.txt in the project root for license information. - * For commercial licenses see https://www.tiny.cloud/ - * - * Version: 5.0.13 (2019-08-06) - */ -!function(d){"use strict";var e,n,r,t,o,i,u,s,c,a,f=function(e){var n=e,r=function(){return n};return{get:r,set:function(e){n=e},clone:function(){return f(r())}}},l=tinymce.util.Tools.resolve("tinymce.PluginManager"),m=function(e){return{isFullscreen:function(){return null!==e.get()}}},h=function(){},v=function(e){return function(){return e}},g=v(!1),O=v(!0),S=g,p=O,x=function(){return E},E=(t={fold:function(e,n){return e()},is:S,isSome:S,isNone:p,getOr:r=function(e){return e},getOrThunk:n=function(e){return e()},getOrDie:function(e){throw new Error(e||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:r,orThunk:n,map:x,ap:x,each:function(){},bind:x,flatten:x,exists:S,forall:p,filter:x,equals:e=function(e){return e.isNone()},equals_:e,toArray:function(){return[]},toString:v("none()")},Object.freeze&&Object.freeze(t),t),w=function(r){var e=function(){return r},n=function(){return o},t=function(e){return e(r)},o={fold:function(e,n){return n(r)},is:function(e){return r===e},isSome:p,isNone:S,getOr:e,getOrThunk:e,getOrDie:e,getOrNull:e,getOrUndefined:e,or:n,orThunk:n,map:function(e){return w(e(r))},ap:function(e){return e.fold(x,function(e){return w(e(r))})},each:function(e){e(r)},bind:t,flatten:e,exists:t,forall:t,filter:function(e){return e(r)?o:E},equals:function(e){return e.is(r)},equals_:function(e,n){return e.fold(S,function(e){return n(r,e)})},toArray:function(){return[r]},toString:function(){return"some("+r+")"}};return o},N={some:w,none:x,from:function(e){return null===e||e===undefined?E:w(e)}},T=function(n){return function(e){return function(e){if(null===e)return"null";var n=typeof e;return"object"===n&&(Array.prototype.isPrototypeOf(e)||e.constructor&&"Array"===e.constructor.name)?"array":"object"===n&&(String.prototype.isPrototypeOf(e)||e.constructor&&"String"===e.constructor.name)?"string":n}(e)===n}},y=T("string"),C=T("function"),b=Array.prototype.slice,A=(C(Array.from)&&Array.from,Object.keys),D=function(e,n){return-1!==e.indexOf(n)},_=function(e){if(null===e||e===undefined)throw new Error("Node cannot be null or undefined");return{dom:v(e)}},F={fromHtml:function(e,n){var r=(n||d.document).createElement("div");if(r.innerHTML=e,!r.hasChildNodes()||1${name}'),a=function(t,n){return function(e,t){for(var n=0,o=e.length;n'+(r=n,c=M((i=r).plugins),l=i.settings.forced_plugins===undefined?c:function(e,t){for(var n=[],o=0,a=e.length;o"+a(r,e)+""}),h=u.length,m=u.join(""),"

    "+H.translate(["Plugins installed ({0}):",h])+"

      "+m+"
    ")+"
    "),(t=x(["Accessibility Checker","Advanced Code Editor","Case Change","Checklist","Tiny Comments","Tiny Drive","Enhanced Media Embed","Format Painter","Link Checker","Mentions","MoxieManager","Page Embed","Permanent Pen","PowerPaste","Spell Checker Pro"],function(e){return"
  • "+H.translate(e)+"
  • "}).join(""),'

    '+H.translate("Premium plugins:")+"

    ")].join("")}]};var r,i,s,c,l,u,h,m},D=tinymce.util.Tools.resolve("tinymce.EditorManager"),N=function(){var e,t,n='TinyMCE '+(e=D.majorVersion,t=D.minorVersion,0===e.indexOf("@")?"X.X.X":e+"."+t)+"";return{name:"versions",title:"Version",items:[{type:"htmlpanel",html:"

    "+H.translate(["You are using {0}",n])+"

    ",presets:"document"}]}},L=function(){return{name:"keyboardnav",title:"Keyboard Navigation",items:[{type:"htmlpanel",html:"

    Editor UI keyboard navigation

    \n\n

    Activating keyboard navigation

    \n\n

    The sections of the outer UI of the editor - the menubar, toolbar, sidebar and footer - are all keyboard navigable. As such, there are multiple ways to activate keyboard navigation:

    \n
      \n
    • Focus the menubar: Alt + F9 (Windows) or ⌥F9 (MacOS)
    • \n
    • Focus the toolbar: Alt + F10 (Windows) or ⌥F10 (MacOS)
    • \n
    • Focus the footer: Alt + F11 (Windows) or ⌥F11 (MacOS)
    • \n
    \n\n

    Focusing the menubar or toolbar will start keyboard navigation at the first item in the menubar or toolbar, which will be highlighted with a gray background. Focusing the footer will start keyboard navigation at the first item in the element path, which will be highlighted with an underline.

    \n\n

    Moving between UI sections

    \n\n

    When keyboard navigation is active, pressing tab will move the focus to the next major section of the UI, where applicable. These sections are:

    \n
      \n
    • the menubar
    • \n
    • each group of the toolbar
    • \n
    • the sidebar
    • \n
    • the element path in the footer
    • \n
    • the wordcount toggle button in the footer
    • \n
    • the branding link in the footer
    • \n
    \n\n

    Pressing shift + tab will move backwards through the same sections, except when moving from the footer to the toolbar. Focusing the element path then pressing shift + tab will move focus to the first toolbar group, not the last.

    \n\n

    Moving within UI sections

    \n\n

    Keyboard navigation within UI sections can usually be achieved using the left and right arrow keys. This includes:

    \n
      \n
    • moving between menus in the menubar
    • \n
    • moving between buttons in a toolbar group
    • \n
    • moving between items in the element path
    • \n
    \n\n

    In all these UI sections, keyboard navigation will cycle within the section. For example, focusing the last button in a toolbar group then pressing right arrow will move focus to the first item in the same toolbar group.

    \n\n

    Executing buttons

    \n\n

    To execute a button, navigate the selection to the desired button and hit space or enter.

    \n\n

    Opening, navigating and closing menus

    \n\n

    When focusing a menubar button or a toolbar button with a menu, pressing space, enter or down arrow will open the menu. When the menu opens the first item will be selected. To move up or down the menu, press the up or down arrow key respectively. This is the same for submenus, which can also be opened and closed using the left and right arrow keys.

    \n\n

    To close any active menu, hit the escape key. When a menu is closed the selection will be restored to its previous selection. This also works for closing submenus.

    \n\n

    Context toolbars and menus

    \n\n

    To focus an open context toolbar such as the table context toolbar, press Ctrl + F9 (Windows) or ⌃F9 (MacOS).

    \n\n

    Context toolbar navigation is the same as toolbar navigation, and context menu navigation is the same as standard menu navigation.

    \n\n

    Dialog navigation

    \n\n

    There are two types of dialog UIs in TinyMCE: tabbed dialogs and non-tabbed dialogs.

    \n\n

    When a non-tabbed dialog is opened, the first interactive component in the dialog will be focused. Users can navigate between interactive components by pressing tab. This includes any footer buttons. Navigation will cycle back to the first dialog component if tab is pressed while focusing the last component in the dialog. Pressing shift + tab will navigate backwards.

    \n\n

    When a tabbed dialog is opened, the first button in the tab menu is focused. Pressing tab will navigate to the first interactive component in that tab, and will cycle through the tab\u2019s components, the footer buttons, then back to the tab button. To switch to another tab, focus the tab button for the current tab, then use the arrow keys to cycle through the tab buttons.

    "}]}},B=function(e){var t,n=M(e);return(-1===(t=C(n,"versions"))?v.none():v.some(t)).each(function(e){n.splice(e,1),n.push("versions")}),{tabs:e,names:n}},z=function(e,t){var n,o,a=_(),r=L(),i=W(e),s=N(),c=l(((n={})[a.name]=a,n[r.name]=r,n[i.name]=i,n[s.name]=s,n),t.get());return(o=e,v.from(o.getParam("help_tabs"))).fold(function(){return B(c)},function(e){return t=c,n={},o=x(e,function(e){return"string"==typeof e?(F(t,e)&&(n[e]=t[e]),e):(n[e.name]=e).name}),{tabs:n,names:o};var t,n,o})},V=function(a,r){return function(){var e=z(a,r),o=e.tabs,t=e.names,n={type:"tabpanel",tabs:function(e){for(var t=[],n=function(e){t.push(e)},o=0;o")})},t=function(n){n.ui.registry.addButton("hr",{icon:"horizontal-rule",tooltip:"Horizontal line",onAction:function(){return n.execCommand("InsertHorizontalRule")}}),n.ui.registry.addMenuItem("hr",{icon:"horizontal-rule",text:"Horizontal line",onAction:function(){return n.execCommand("InsertHorizontalRule")}})};!function e(){n.add("hr",function(n){o(n),t(n)})}()}(); \ No newline at end of file diff --git a/app/system/modules/editor/app/assets/tinymce/plugins/image/plugin.min.js b/app/system/modules/editor/app/assets/tinymce/plugins/image/plugin.min.js deleted file mode 100755 index 083ebb3e..00000000 --- a/app/system/modules/editor/app/assets/tinymce/plugins/image/plugin.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Copyright (c) Tiny Technologies, Inc. All rights reserved. - * Licensed under the LGPL or a commercial license. - * For LGPL see License.txt in the project root for license information. - * For commercial licenses see https://www.tiny.cloud/ - * - * Version: 5.0.13 (2019-08-06) - */ -!function(s){"use strict";var t,e,n,r,i,o,a,f,u=tinymce.util.Tools.resolve("tinymce.PluginManager"),c=function(){},l=function(t){return function(){return t}},d=function(t){return t},m=l(!1),p=l(!0),g=m,h=p,y=function(){return v},v=(r={fold:function(t,e){return t()},is:g,isSome:g,isNone:h,getOr:n=function(t){return t},getOrThunk:e=function(t){return t()},getOrDie:function(t){throw new Error(t||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:n,orThunk:e,map:y,ap:y,each:function(){},bind:y,flatten:y,exists:g,forall:h,filter:y,equals:t=function(t){return t.isNone()},equals_:t,toArray:function(){return[]},toString:l("none()")},Object.freeze&&Object.freeze(r),r),b=function(n){var t=function(){return n},e=function(){return i},r=function(t){return t(n)},i={fold:function(t,e){return e(n)},is:function(t){return n===t},isSome:h,isNone:g,getOr:t,getOrThunk:t,getOrDie:t,getOrNull:t,getOrUndefined:t,or:e,orThunk:e,map:function(t){return b(t(n))},ap:function(t){return t.fold(y,function(t){return b(t(n))})},each:function(t){t(n)},bind:r,flatten:t,exists:r,forall:r,filter:function(t){return t(n)?i:v},equals:function(t){return t.is(n)},equals_:function(t,e){return t.fold(g,function(t){return e(n,t)})},toArray:function(){return[n]},toString:function(){return"some("+n+")"}};return i},w={some:b,none:y,from:function(t){return null===t||t===undefined?v:b(t)}},T=function(e){return function(t){return function(t){if(null===t)return"null";var e=typeof t;return"object"===e&&(Array.prototype.isPrototypeOf(t)||t.constructor&&"Array"===t.constructor.name)?"array":"object"===e&&(String.prototype.isPrototypeOf(t)||t.constructor&&"String"===t.constructor.name)?"string":e}(t)===e}},_=T("string"),U=T("object"),x=T("array"),A=T("boolean"),I=T("function"),S=Array.prototype.slice,D=Array.prototype.push,O=function(t){for(var e=[],n=0,r=t.length;n'+n+"")}else e.insertContent(f(e,t));var i,o,u,c,m},g=f,y=function(e){e.addCommand("mceInsertDate",function(){p(e,t(e))}),e.addCommand("mceInsertTime",function(){p(e,a(e))})},M=tinymce.util.Tools.resolve("tinymce.util.Tools"),S=function(e){var t=e,n=function(){return t};return{get:n,set:function(e){t=e},clone:function(){return S(n())}}},v=function(n){var t=i(n),r=S(o(n));n.ui.registry.addSplitButton("insertdatetime",{icon:"insert-time",tooltip:"Insert date/time",select:function(e){return e===r.get()},fetch:function(e){e(M.map(t,function(e){return{type:"choiceitem",text:g(n,e),value:e}}))},onAction:function(){for(var e=[],t=0;t'),o.close()}}var i,u},E=function(){},I=function(n){return function(){return n}},j=I(!1),S=I(!0),F=j,L=S,R=function(){return D},D=(r={fold:function(n,t){return n()},is:F,isSome:F,isNone:L,getOr:e=function(n){return n},getOrThunk:t=function(n){return n()},getOrDie:function(n){throw new Error(n||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:e,orThunk:t,map:R,ap:R,each:function(){},bind:R,flatten:R,exists:F,forall:L,filter:R,equals:n=function(n){return n.isNone()},equals_:n,toArray:function(){return[]},toString:I("none()")},Object.freeze&&Object.freeze(r),r),U=function(e){var n=function(){return e},t=function(){return o},r=function(n){return n(e)},o={fold:function(n,t){return t(e)},is:function(n){return e===n},isSome:L,isNone:F,getOr:n,getOrThunk:n,getOrDie:n,getOrNull:n,getOrUndefined:n,or:t,orThunk:t,map:function(n){return U(n(e))},ap:function(n){return n.fold(R,function(n){return U(n(e))})},each:function(n){n(e)},bind:r,flatten:n,exists:r,forall:r,filter:function(n){return n(e)?o:D},equals:function(n){return n.is(e)},equals_:function(n,t){return n.fold(F,function(n){return t(e,n)})},toArray:function(){return[e]},toString:function(){return"some("+e+")"}};return o},M={some:U,none:R,from:function(n){return null===n||n===undefined?D:U(n)}},z=Array.prototype.slice,q=(o=Array.prototype.indexOf)===undefined?function(n,t){return B(n,t)}:function(n,t){return o.call(n,t)},K=function(n,t){for(var e=0,r=n.length;e]+>[^<]+<\/a>$/.test(n)||-1===n.indexOf("href=")))},an=X,ln=function(n,t){var e=t?t.innerText||t.textContent:n.getContent({format:"text"});return e.replace(/\uFEFF/g,"")},fn=J,sn=G,dn=function(n,t){for(var e=0;ee.length?Nn(t,e,n):yn(t,e,n)},[]),_(o).map(function(e){return e.list})).toArray();var t,r,o},In=function(e){var n,t,r=E(sn.getSelectedListItems(e),pe.fromDom);return Le([x(r,f(On)),x((n=r,t=D.call(n,0),t.reverse(),t),f(On))],function(e,n){return{start:e,end:n}})},_n=function(a,e,s){var n,t,r,o=(n=e,t=In(a),r=wn(!1),E(n,function(e){return{sourceList:e,entries:An(0,t,r,e)}}));w(o,function(e){var n,t;n=e.entries,t=s,w(k(n,bn),function(e){return function(e,n){switch(e){case"Indent":n.depth++;break;case"Outdent":n.depth--;break;case"Flatten":n.depth=0}}(t,e)});var r,o,i,u=(r=a,o=e.entries,I(function(e,n){if(0===e.length)return[];for(var t=n(e[0]),r=[],o=[],i=0,u=e.length;i=e.childNodes.length?t.data.length:0}:t.previousSibling&&qe(t.previousSibling)?{container:t.previousSibling,offset:t.previousSibling.data.length}:t.nextSibling&&qe(t.nextSibling)?{container:t.nextSibling,offset:0}:{container:e,offset:n}},Hn=function(e){var n=e.cloneRange(),t=jn(e.startContainer,e.startOffset);n.setStart(t.container,t.offset);var r=jn(e.endContainer,e.endOffset);return n.setEnd(r.container,r.offset),n},$n=function(e,n){var t=E(sn.getSelectedListRoots(e),pe.fromDom),r=E(sn.getSelectedDlItems(e),pe.fromDom),o=!1;if(t.length||r.length){var i=e.selection.getBookmark();_n(e,t,n),Fn(e,n,r),e.selection.moveToBookmark(i),e.selection.setRng(Hn(e.selection.getRng())),e.nodeChanged(),o=!0}return o},qn=function(e){return $n(e,"Indent")},Wn=function(e){return $n(e,"Outdent")},Vn=function(e){return $n(e,"Flatten")},zn=tinymce.util.Tools.resolve("tinymce.dom.BookmarkManager"),Kn=Bn.DOM,Xn=function(o){var i={},e=function(e){var n,t,r;t=o[e?"startContainer":"endContainer"],r=o[e?"startOffset":"endOffset"],1===t.nodeType&&(n=Kn.create("span",{"data-mce-type":"bookmark"}),t.hasChildNodes()?(r=Math.min(r,t.childNodes.length-1),e?t.insertBefore(n,t.childNodes[r]):Kn.insertAfter(n,t.childNodes[r])):t.appendChild(n),t=n,r=0),i[e?"startContainer":"endContainer"]=t,i[e?"startOffset":"endOffset"]=r};return e(!0),o.collapsed||e(),i},Qn=function(o){function e(e){var n,t,r;n=r=o[e?"startContainer":"endContainer"],t=o[e?"startOffset":"endOffset"],n&&(1===n.nodeType&&(t=function(e){for(var n=e.parentNode.firstChild,t=0;n;){if(n===e)return t;1===n.nodeType&&"bookmark"===n.getAttribute("data-mce-type")||t++,n=n.nextSibling}return-1}(n),n=n.parentNode,Kn.remove(r),!n.hasChildNodes()&&Kn.isBlock(n)&&n.appendChild(Kn.create("br"))),o[e?"startContainer":"endContainer"]=n,o[e?"startOffset":"endOffset"]=t)}e(!0),e();var n=Kn.createRng();return n.setStart(o.startContainer,o.startOffset),o.endContainer&&n.setEnd(o.endContainer,o.endOffset),Hn(n)},Yn=function(e){return/\btox\-/.test(e.className)},Gn=function(e){switch(e){case"UL":return"ToggleUlList";case"OL":return"ToggleOlList";case"DL":return"ToggleDLList"}},Jn=function(t,e){He.each(e,function(e,n){t.setAttribute(n,e)})},Zn=function(e,n,t){var r,o,i,u,a,s,c;r=e,o=n,u=(i=t)["list-style-type"]?i["list-style-type"]:null,r.setStyle(o,"list-style-type",u),a=e,Jn(s=n,(c=t)["list-attributes"]),He.each(a.select("li",s),function(e){Jn(e,c["list-item-attributes"])})},et=function(e,n,t,r){var o,i;for(o=n[t?"startContainer":"endContainer"],i=n[t?"startOffset":"endOffset"],1===o.nodeType&&(o=o.childNodes[Math.min(i,o.childNodes.length-1)]||o),!t&&Qe(o.nextSibling)&&(o=o.nextSibling);o.parentNode!==r;){if(Ge(e,o))return o;if(/^(TD|TH)$/.test(o.parentNode.nodeName))return o;o=o.parentNode}return o},nt=function(f,d,l){void 0===l&&(l={});var e,n=f.selection.getRng(!0),m="LI",t=sn.getClosestListRootElm(f,f.selection.getStart(!0)),g=f.dom;"false"!==g.getContentEditable(f.selection.getNode())&&("DL"===(d=d.toUpperCase())&&(m="DT"),e=Xn(n),He.each(function(t,e,r){for(var o,i=[],u=t.dom,n=et(t,e,!0,r),a=et(t,e,!1,r),s=[],c=n;c&&(s.push(c),c!==a);c=c.nextSibling);return He.each(s,function(e){if(Ge(t,e))return i.push(e),void(o=null);if(u.isBlock(e)||Qe(e))return Qe(e)&&u.remove(e),void(o=null);var n=e.nextSibling;zn.isBookmarkNode(e)&&(Ge(t,n)||!n&&e.parentNode===r)?o=null:(o||(o=u.create("p"),e.parentNode.insertBefore(o,e),i.push(o)),o.appendChild(e))}),i}(f,n,t),function(e){var n,t,r,o,i,u,a,s,c;(t=e.previousSibling)&&We(t)&&t.nodeName===d&&(r=t,o=l,i=g.getStyle(r,"list-style-type"),u=o?o["list-style-type"]:"",i===(u=null===u?"":u))?(n=t,e=g.rename(e,m),t.appendChild(e)):(n=g.create(d),e.parentNode.insertBefore(n,e),n.appendChild(e),e=g.rename(e,m)),a=g,s=e,c=["margin","margin-right","margin-bottom","margin-left","margin-top","padding","padding-right","padding-bottom","padding-left","padding-top"],He.each(c,function(e){var n;return a.setStyle(s,((n={})[e]="",n))}),Zn(g,n,l),rt(f.dom,n)}),f.selection.setRng(Qn(e)))},tt=function(e,n,t){return s=t,(a=n)&&s&&We(a)&&a.nodeName===s.nodeName&&(i=n,u=t,(o=e).getStyle(i,"list-style-type",!0)===o.getStyle(u,"list-style-type",!0))&&(r=t,n.className===r.className);var r,o,i,u,a,s},rt=function(e,n){var t,r;if(t=n.nextSibling,tt(e,n,t)){for(;r=t.firstChild;)n.appendChild(r);e.remove(t)}if(t=n.previousSibling,tt(e,n,t)){for(;r=t.lastChild;)n.insertBefore(r,n.firstChild);e.remove(t)}},ot=function(n,e,t,r,o){if(e.nodeName!==r||it(o)){var i=Xn(n.selection.getRng(!0));He.each([e].concat(t),function(e){!function(e,n,t,r){if(n.nodeName!==t){var o=e.dom.rename(n,t);Zn(e.dom,o,r),Be(e,Gn(t),o)}else Zn(e.dom,n,r),Be(e,Gn(t),n)}(n,e,r,o)}),n.selection.setRng(Qn(i))}else Vn(n)},it=function(e){return"list-style-type"in e},ut={toggleList:function(e,n,t){var r=sn.getParentList(e),o=sn.getSelectedSubLists(e);t=t||{},r&&0"):"application/x-shockwave-flash"===n.source1mime?(d='',m.poster&&(d+=''),d+=""):-1!==n.source1mime.indexOf("audio")?(s=n,(l=p)?l(s):'"):"script"===n.type?' diff --git a/app/system/modules/editor/app/components/htmleditor/editor-html.js b/app/system/modules/editor/app/components/htmleditor/editor-html.js index 4db15c3f..b49e6a93 100644 --- a/app/system/modules/editor/app/components/htmleditor/editor-html.js +++ b/app/system/modules/editor/app/components/htmleditor/editor-html.js @@ -1,6 +1,6 @@ -var { on, removeClass, trigger } = UIkit.util; +import { on, trigger } from 'uikit-util'; -module.exports = { +export default { name: 'editor-html', diff --git a/app/system/modules/editor/app/components/htmleditor/image-preview.vue b/app/system/modules/editor/app/components/htmleditor/image-preview.vue index 05da55de..9346f693 100644 --- a/app/system/modules/editor/app/components/htmleditor/image-preview.vue +++ b/app/system/modules/editor/app/components/htmleditor/image-preview.vue @@ -35,30 +35,30 @@ diff --git a/app/system/modules/editor/app/components/htmleditor/image.js b/app/system/modules/editor/app/components/htmleditor/image.js index 7e2bfc32..11febd7d 100644 --- a/app/system/modules/editor/app/components/htmleditor/image.js +++ b/app/system/modules/editor/app/components/htmleditor/image.js @@ -2,9 +2,10 @@ * Editor Image plugin. */ -var { on, attr, findAll } = UIkit.util; +import { on, attr, findAll } from 'uikit-util'; +import ImagePreview from './image-preview.vue'; -module.exports = { +export default { name: 'image-plugin', @@ -124,9 +125,7 @@ module.exports = { }, components: { - - 'image-preview': require('./image-preview.vue').default - + 'image-preview': ImagePreview } }; diff --git a/app/system/modules/editor/app/components/htmleditor/link-preview.vue b/app/system/modules/editor/app/components/htmleditor/link-preview.vue index 7199748d..423460c3 100644 --- a/app/system/modules/editor/app/components/htmleditor/link-preview.vue +++ b/app/system/modules/editor/app/components/htmleditor/link-preview.vue @@ -10,20 +10,20 @@ diff --git a/app/system/modules/editor/app/components/htmleditor/link.js b/app/system/modules/editor/app/components/htmleditor/link.js index f297e7cc..a2f02513 100644 --- a/app/system/modules/editor/app/components/htmleditor/link.js +++ b/app/system/modules/editor/app/components/htmleditor/link.js @@ -2,9 +2,10 @@ * Editor Link plugin. */ -var { on, attr, findAll } = UIkit.util; +import { on, attr, findAll } from 'uikit-util'; +import LinkPreview from './link-preview.vue'; -module.exports = { +export default { name: 'link-plugin', @@ -116,9 +117,7 @@ module.exports = { }, components: { - - 'link-preview': require('./link-preview.vue').default - + 'link-preview': LinkPreview } }; diff --git a/app/system/modules/editor/app/components/htmleditor/url.js b/app/system/modules/editor/app/components/htmleditor/url.js index 0a1f7a5a..0799eebb 100644 --- a/app/system/modules/editor/app/components/htmleditor/url.js +++ b/app/system/modules/editor/app/components/htmleditor/url.js @@ -2,9 +2,9 @@ * URL resolver plugin */ -var { on } = UIkit.util; +import { on } from 'uikit-util'; -module.exports = { +export default { name: 'url-plugin', diff --git a/app/system/modules/editor/app/components/htmleditor/video-preview.vue b/app/system/modules/editor/app/components/htmleditor/video-preview.vue index 95f29115..aaf696b2 100644 --- a/app/system/modules/editor/app/components/htmleditor/video-preview.vue +++ b/app/system/modules/editor/app/components/htmleditor/video-preview.vue @@ -37,70 +37,70 @@ diff --git a/app/system/modules/editor/app/components/htmleditor/video.js b/app/system/modules/editor/app/components/htmleditor/video.js index 20045c22..7d0295c3 100644 --- a/app/system/modules/editor/app/components/htmleditor/video.js +++ b/app/system/modules/editor/app/components/htmleditor/video.js @@ -2,9 +2,10 @@ * Editor Video plugin. */ -var { on, attr, findAll } = UIkit.util; +import { on, attr, findAll } from 'uikit-util'; +import VideoPreview from './video-preview.vue'; -module.exports = { +export default { name: 'video-plugin', @@ -12,7 +13,7 @@ module.exports = { plugin: true, - created: function () { + created() { var vm = this, editor = this.$parent.editor; @@ -210,9 +211,7 @@ module.exports = { }, components: { - - 'video-preview': require('./video-preview.vue').default - + 'video-preview': VideoPreview } }; diff --git a/app/system/modules/editor/app/components/image-picker.vue b/app/system/modules/editor/app/components/image-picker.vue index 3fc311d7..341d92ed 100644 --- a/app/system/modules/editor/app/components/image-picker.vue +++ b/app/system/modules/editor/app/components/image-picker.vue @@ -1,86 +1,86 @@ diff --git a/app/system/modules/editor/app/components/link-picker.vue b/app/system/modules/editor/app/components/link-picker.vue index 1bb6120e..0cd962bb 100644 --- a/app/system/modules/editor/app/components/link-picker.vue +++ b/app/system/modules/editor/app/components/link-picker.vue @@ -18,7 +18,7 @@
    - +
    @@ -35,31 +35,31 @@ diff --git a/app/system/modules/editor/app/components/tinymce/editor-tinymce.js b/app/system/modules/editor/app/components/tinymce/editor-tinymce.js index d077dc9c..e3f1034b 100644 --- a/app/system/modules/editor/app/components/tinymce/editor-tinymce.js +++ b/app/system/modules/editor/app/components/tinymce/editor-tinymce.js @@ -1,6 +1,6 @@ -var { $, on, attr, css, removeClass, removeAttr, find } = UIkit.util; +import { $, attr, css, removeAttr } from 'uikit-util'; -module.exports = { +export default { name: "editor-tinymce", diff --git a/app/system/modules/editor/app/components/tinymce/image.js b/app/system/modules/editor/app/components/tinymce/image.js index d531c359..7d341f43 100644 --- a/app/system/modules/editor/app/components/tinymce/image.js +++ b/app/system/modules/editor/app/components/tinymce/image.js @@ -2,13 +2,13 @@ * Editor Image plugin. */ -module.exports = { +export default { name: "plugin-image", plugin: true, - created: function () { + created() { if (typeof tinyMCE === 'undefined') { return; diff --git a/app/system/modules/editor/app/components/tinymce/link.js b/app/system/modules/editor/app/components/tinymce/link.js index 9afbd9ed..fec3fb03 100644 --- a/app/system/modules/editor/app/components/tinymce/link.js +++ b/app/system/modules/editor/app/components/tinymce/link.js @@ -2,13 +2,13 @@ * Editor Link plugin. */ -module.exports = { +export default { name: "plugin-link", plugin: true, - created: function () { + created() { if (typeof tinyMCE === 'undefined') { return; diff --git a/app/system/modules/editor/app/components/tinymce/video.js b/app/system/modules/editor/app/components/tinymce/video.js index 04a76921..83f6df2f 100644 --- a/app/system/modules/editor/app/components/tinymce/video.js +++ b/app/system/modules/editor/app/components/tinymce/video.js @@ -3,13 +3,13 @@ */ -module.exports = { +export default { name: "plugin-video", plugin: true, - created: function () { + created() { if (typeof tinyMCE === 'undefined') { return; @@ -129,19 +129,6 @@ module.exports = { }); }; - // editor.addButton('media', { - // tooltip: 'Insert/edit video', - // onclick: showDialog, - // stateSelector: ['img[data-mce-object]', 'span[data-mce-object]'] - // }); - - // editor.addMenuItem('media', { - // text: 'Insert/edit video', - // icon: 'media', - // context: 'insert', - // onclick: showDialog - // }); - editor.ui.registry.addIcon('media', ''); editor.ui.registry.addToggleButton('media', { diff --git a/app/system/modules/editor/app/components/video-picker.vue b/app/system/modules/editor/app/components/video-picker.vue index 9244ad93..4ff6ef38 100644 --- a/app/system/modules/editor/app/components/video-picker.vue +++ b/app/system/modules/editor/app/components/video-picker.vue @@ -65,45 +65,45 @@ diff --git a/app/system/modules/finder/app/components/link-storage.vue b/app/system/modules/finder/app/components/link-storage.vue index 94496fff..2ff96126 100644 --- a/app/system/modules/finder/app/components/link-storage.vue +++ b/app/system/modules/finder/app/components/link-storage.vue @@ -37,7 +37,7 @@ diff --git a/app/system/modules/finder/app/components/panel-finder.vue b/app/system/modules/finder/app/components/panel-finder.vue index 445cc5af..f7972501 100644 --- a/app/system/modules/finder/app/components/panel-finder.vue +++ b/app/system/modules/finder/app/components/panel-finder.vue @@ -137,7 +137,7 @@ diff --git a/app/system/modules/finder/app/templates/table.html b/app/system/modules/finder/app/templates/table.html index 4d661488..0e880d1a 100644 --- a/app/system/modules/finder/app/templates/table.html +++ b/app/system/modules/finder/app/templates/table.html @@ -1,4 +1,5 @@ + - + - @@ -46,12 +46,11 @@ {{ file.name }} - - +
    @@ -15,8 +16,8 @@
    @@ -25,7 +26,6 @@ {{ folder.name }}
    {{ file.size }} {{ file.lastmodified | relativeDate }}
    diff --git a/app/system/modules/finder/app/views/index.js b/app/system/modules/finder/app/views/index.js index cde7709e..5987069c 100644 --- a/app/system/modules/finder/app/views/index.js +++ b/app/system/modules/finder/app/views/index.js @@ -4,7 +4,5 @@ Vue.ready({ name: 'storage', - el: '#storage', - - mounted() {}, + el: '#storage' }); diff --git a/app/system/modules/finder/webpack.config.js b/app/system/modules/finder/webpack.config.js index d1203082..5344d2e9 100644 --- a/app/system/modules/finder/webpack.config.js +++ b/app/system/modules/finder/webpack.config.js @@ -11,7 +11,7 @@ module.exports = [ }, module: { rules: [ - { test: /\.html$/, use: 'vue-loader' }, + { test: /\.html$/, use: 'html-loader' }, { test: /\.vue$/, use: 'vue-loader' }, ], }, diff --git a/app/system/modules/info/app/views/info.js b/app/system/modules/info/app/views/info.js index 9e56a95c..2550cad2 100644 --- a/app/system/modules/info/app/views/info.js +++ b/app/system/modules/info/app/views/info.js @@ -1,4 +1,4 @@ -module.exports = { +var Info = { name: 'info', @@ -19,4 +19,6 @@ module.exports = { }; -Vue.ready(module.exports); +export default Info; + +Vue.ready(Info); diff --git a/app/system/modules/mail/app/components/settings.vue b/app/system/modules/mail/app/components/settings.vue index 27adaf7f..20a36155 100644 --- a/app/system/modules/mail/app/components/settings.vue +++ b/app/system/modules/mail/app/components/settings.vue @@ -109,7 +109,7 @@ diff --git a/app/system/modules/settings/app/components/locale.vue b/app/system/modules/settings/app/components/locale.vue index 9d5293b6..1ca87e16 100644 --- a/app/system/modules/settings/app/components/locale.vue +++ b/app/system/modules/settings/app/components/locale.vue @@ -41,7 +41,7 @@ diff --git a/app/system/modules/site/app/components/input-tree.vue b/app/system/modules/site/app/components/input-tree.vue index d7cc9d6f..2dcee455 100644 --- a/app/system/modules/site/app/components/input-tree.vue +++ b/app/system/modules/site/app/components/input-tree.vue @@ -15,9 +15,9 @@ + \ No newline at end of file diff --git a/app/system/modules/site/app/components/link-page.vue b/app/system/modules/site/app/components/link-page.vue index d6049017..7b45518c 100644 --- a/app/system/modules/site/app/components/link-page.vue +++ b/app/system/modules/site/app/components/link-page.vue @@ -13,7 +13,7 @@ diff --git a/app/system/modules/site/app/components/node-link.vue b/app/system/modules/site/app/components/node-link.vue index 4f8aeb10..990784f6 100644 --- a/app/system/modules/site/app/components/node-link.vue +++ b/app/system/modules/site/app/components/node-link.vue @@ -3,10 +3,7 @@
    - -
    - {{ 'Invalid url.' | trans }} -
    +
    @@ -28,7 +25,7 @@
    - +
    @@ -42,10 +39,10 @@ export default { active: 'link', }, - inject: ['$validator'], - props: ['node', 'roles', 'form'], + inject: ['$components'], + computed: { behavior: { @@ -72,8 +69,7 @@ export default { }, created() { - // this.$options.partials = this.$parent.$options.partials; - this.$options.components['template-settings'] = this.$root.$options.components['template-settings']; + _.extend(this.$options.components, this.$components); if (this.behavior === 'redirect') { this.node.link = this.node.data.redirect; diff --git a/app/system/modules/site/app/components/node-meta.vue b/app/system/modules/site/app/components/node-meta.vue index 71369788..0d39b417 100644 --- a/app/system/modules/site/app/components/node-meta.vue +++ b/app/system/modules/site/app/components/node-meta.vue @@ -29,7 +29,7 @@ diff --git a/app/system/modules/site/app/components/node-page.vue b/app/system/modules/site/app/components/node-page.vue index 535c9a7f..ac8b54c6 100644 --- a/app/system/modules/site/app/components/node-page.vue +++ b/app/system/modules/site/app/components/node-page.vue @@ -3,10 +3,7 @@
    - -
    - {{ 'Title cannot be blank.' | trans }} -
    +
    @@ -78,13 +75,13 @@ diff --git a/app/system/modules/site/app/components/node-settings.vue b/app/system/modules/site/app/components/node-settings.vue index 0e0846f1..2faaa332 100644 --- a/app/system/modules/site/app/components/node-settings.vue +++ b/app/system/modules/site/app/components/node-settings.vue @@ -14,8 +14,10 @@ export default { label: 'Settings', }, + inject: ['$components'], + created() { - this.$options.components['template-settings'] = this.$root.$options.components['template-settings']; + _.extend(this.$options.components, this.$components); }, }; diff --git a/app/system/modules/site/app/components/panel-link.vue b/app/system/modules/site/app/components/panel-link.vue index b8d933a6..b2a29011 100644 --- a/app/system/modules/site/app/components/panel-link.vue +++ b/app/system/modules/site/app/components/panel-link.vue @@ -17,7 +17,7 @@ diff --git a/app/system/modules/site/app/components/site-code.vue b/app/system/modules/site/app/components/site-code.vue index 6d025f48..b8b74e39 100644 --- a/app/system/modules/site/app/components/site-code.vue +++ b/app/system/modules/site/app/components/site-code.vue @@ -35,7 +35,7 @@ diff --git a/app/system/modules/site/app/components/site-maintenance.vue b/app/system/modules/site/app/components/site-maintenance.vue index 21a0c6a2..de662268 100644 --- a/app/system/modules/site/app/components/site-maintenance.vue +++ b/app/system/modules/site/app/components/site-maintenance.vue @@ -40,7 +40,7 @@ diff --git a/app/system/modules/site/app/components/widget-text.vue b/app/system/modules/site/app/components/widget-text.vue index efead97d..5d8f41b4 100644 --- a/app/system/modules/site/app/components/widget-text.vue +++ b/app/system/modules/site/app/components/widget-text.vue @@ -3,19 +3,7 @@
    -
    - -
    - {{ 'Title cannot be blank.' | trans }} -
    -
    +
    @@ -34,7 +22,7 @@ diff --git a/app/system/modules/site/app/templates/settings.html b/app/system/modules/site/app/templates/settings.html index 595ee4dd..a0928e1a 100644 --- a/app/system/modules/site/app/templates/settings.html +++ b/app/system/modules/site/app/templates/settings.html @@ -1,10 +1,7 @@
    -
    - -
    {{ 'Invalid name.' | trans }}
    -
    +
    diff --git a/app/system/modules/site/app/views/edit.js b/app/system/modules/site/app/views/edit.js index 56440200..7a8706f7 100644 --- a/app/system/modules/site/app/views/edit.js +++ b/app/system/modules/site/app/views/edit.js @@ -1,13 +1,24 @@ import NodeSettings from '../components/node-settings.vue'; import NodeLink from '../components/node-link.vue'; -import TemplateSettings from '../templates/settings.html'; +import TemplateSettings from '../components/template-settings'; -window.Site = { +import { ValidationObserver, VInput } from 'SystemApp/components/validation.vue'; + +var Site = { name: 'page', el: '#site-edit', + provide: { + '$components': { + 'v-input': VInput, + 'template-settings': _.extend(TemplateSettings, { + components: { VInput } + }) + } + }, + mixins: [Theme.Mixins.Helper], data() { @@ -63,15 +74,17 @@ window.Site = { } }); - sections = _.sortBy(sections.filter((section) => { - active = section.name.match('(.+)--(.+)'); + sections = _.sortBy(sections.filter(section => { + // active = section.name.match('(.+).(.+)'); + let name = section.name; + active = (name.match(/\.[^.]/) && !name.match(/\s/)) ? name.match(/(.*(?=\.))\.(.*)/) : null; if (active === null) { - return !_.find(sections, { name: `${type}--${section.name}` }); + return !_.find(sections, { name: `${type}.${section.name}` }); } return active[1] == type; - }, this), 'priority'); + }), 'priority'); this.$set(this, 'sections', sections); }, @@ -81,7 +94,6 @@ window.Site = { this.Nodes = this.$resource('api/site/node{/id}'); - // this.tab = UIkit.tab(this.$els.tab, {connect: this.$els.content}); this.tab = UIkit.tab('#page-tab', { connect: '#page-content' }); UIkit.util.on(this.tab.connects, 'show', (e, tab) => { @@ -115,20 +127,16 @@ window.Site = { methods: { - submit() { - const vm = this; - - this.$validator.validateAll().then((res) => { - if (res) { - vm.processing = true; - vm.save(); - } - }); + async submit() { + const isValid = await this.$refs.observer.validate(); + if (isValid) { + this.processing = true; + this.save(); + } }, save() { - const data = { node: this.node }; const - vm = this; + const data = { node: this.node }; this.$trigger('save:node', data); @@ -139,25 +147,28 @@ window.Site = { } this.$set(this, 'node', data.node); - this.$notify(this.$trans('%type% saved.', { type: this.type.label })); - setTimeout(() => { - vm.processing = false; - }, 500); }, function (res) { - this.processing = false; this.$notify(res.data, 'danger'); + }).then(()=>{ + setTimeout(() => { + this.processing = false; + }, 500); }); }, }, components: { - settings: NodeSettings, - 'link--settings': NodeLink, - 'template-settings': { inject: ['$validator'], props: ['node', 'roles'], template: TemplateSettings }, + 'validation-observer': ValidationObserver, + 'settings': NodeSettings, + 'link.settings': NodeLink }, }; +export default Site; + +window.Site = Site; + Vue.ready(window.Site); diff --git a/app/system/modules/site/app/views/index.js b/app/system/modules/site/app/views/index.js index 33ed012c..f535529a 100644 --- a/app/system/modules/site/app/views/index.js +++ b/app/system/modules/site/app/views/index.js @@ -1,5 +1,8 @@ import { $, on, css, addClass, removeClass, hasClass, toNodes } from 'uikit-util'; import { VueNestable, VueNestableHandle } from 'vue-nestable'; +import { ValidationObserver, VInput } from 'SystemApp/components/validation.vue'; + +import isMobile from 'ismobilejs'; Vue.ready({ @@ -59,7 +62,7 @@ Vue.ready({ type: 'button', caption: 'Add Menu', class: 'uk-button uk-button-primary', - on: {click: () => vm.editMenu()}, + on: {click: () => vm.editMenu}, priority: 0, }, 'actions': { @@ -99,44 +102,9 @@ Vue.ready({ } } }, - // disabled:() => vm.menu.id === 'trash', priority: 2, - // vif: () => vm.selected.length, disabled: () => !vm.selected.length, }, - // menuitems: { - // scope: 'topmenu-center', - // type: 'iconnav', - // class: '', - // items: () => { - // return { - // publish: { - // on: {click: () => vm.status(1)}, - // // icon: {internal: true}, - // }, - // unpublish: {on: { click: () => vm.status(0)} }, - // move: { - // type: 'dropdown', - // dropdown: { options: () => 'mode: click' }, - // items: () => vm.trash(vm.menus).map((item) => { - // let props = { - // caption: item.label, - // on: {click: () => vm.moveNodes(item.id)}, - // class: item.id === vm.menu.id ? 'uk-disabled uk-text-muted': '' - // } - // return Object.assign({}, item, props); - // }), - // vif: () => vm.showMove - // }, - // trash: { - // on: {click: () => vm.removeNodes}, - // vif: () => vm.showDelete - // } - // } - // }, - // vif: () => vm.selected.length, - // priority: 99 - // } } } }, @@ -454,13 +422,15 @@ Vue.ready({ }, isMobile() { - return window.isMobile; + return isMobile(navigator.userAgent).any; }, }, components: { VueNestable, VueNestableHandle, + ValidationObserver, + VInput }, }); diff --git a/app/system/modules/site/app/views/settings.js b/app/system/modules/site/app/views/settings.js index d9e7a2a7..7460a71e 100644 --- a/app/system/modules/site/app/views/settings.js +++ b/app/system/modules/site/app/views/settings.js @@ -1,3 +1,10 @@ +import SiteCode from '../components/site-code.vue'; +import SiteMeta from '../components/site-meta.vue'; +import SiteGeneral from '../components/site-general.vue'; +import SiteMaintenance from '../components/site-maintenance.vue'; + +import { ValidationObserver, VInput } from 'SystemApp/components/validation.vue'; + window.Site = { name: 'site-settings', @@ -6,6 +13,12 @@ window.Site = { mixins: [Theme.Mixins.Helper, Theme.Mixins.Elements], + provide: { + '$components': { + 'v-input': VInput + } + }, + theme: { hiddenHtmlElements: ['.pk-width-content li > div > div.uk-flex'], elements() { @@ -18,7 +31,6 @@ window.Site = { let trans = vm.$options.filters.trans, activeTab = vm.$theme.activeTab('leftTab', vm), section = vm.sections.filter((section)=>section.name === activeTab)[0]; - return vm.$trans(section.label); } }, @@ -69,14 +81,11 @@ window.Site = { methods: { - submit() { - const vm = this; - - this.$validator.validateAll().then((res) => { - if (res) { - vm.save(); - } - }); + async submit() { + const isValid = await this.$refs.observer.validate(); + if (isValid) { + this.save(); + } }, save() { @@ -92,12 +101,11 @@ window.Site = { }, components: { - - 'site-code': require('../components/site-code.vue').default, - 'site-meta': require('../components/site-meta.vue').default, - 'site-general': require('../components/site-general.vue').default, - 'site-maintenance': require('../components/site-maintenance.vue').default, - + 'site-code': SiteCode, + 'site-meta': SiteMeta, + 'site-general': SiteGeneral, + 'site-maintenance': SiteMaintenance, + 'validation-observer': ValidationObserver }, }; diff --git a/app/system/modules/site/views/admin/edit.php b/app/system/modules/site/views/admin/edit.php index d52b7e0e..8f4ef439 100644 --- a/app/system/modules/site/views/admin/edit.php +++ b/app/system/modules/site/views/admin/edit.php @@ -1,6 +1,6 @@ script('site-edit', 'system/site:app/bundle/edit.js', ['vue', 'editor', 'uikit']); ?> -
    +
    @@ -26,8 +26,8 @@
    - +
    - + \ No newline at end of file diff --git a/app/system/modules/site/views/admin/index.php b/app/system/modules/site/views/admin/index.php index b0c378a3..1f39504a 100644 --- a/app/system/modules/site/views/admin/index.php +++ b/app/system/modules/site/views/admin/index.php @@ -148,8 +148,10 @@
    + +
    - +

    {{ 'Add Menu' | trans }}

    @@ -157,10 +159,7 @@
    -
    - -
    {{ 'Invalid name.' | trans }}
    -
    +
    @@ -176,10 +175,12 @@ - +
    + + \ No newline at end of file diff --git a/app/system/modules/site/views/admin/settings.php b/app/system/modules/site/views/admin/settings.php index 64d028b9..6eaeb6b1 100644 --- a/app/system/modules/site/views/admin/settings.php +++ b/app/system/modules/site/views/admin/settings.php @@ -1,6 +1,6 @@ script('site-settings', 'system/site:app/bundle/settings.js', ['vue', 'editor']) ?> -
    +
    @@ -27,4 +27,4 @@
    - +
    diff --git a/app/system/modules/site/webpack.config.js b/app/system/modules/site/webpack.config.js index 38f0bdc3..2a97bab2 100644 --- a/app/system/modules/site/webpack.config.js +++ b/app/system/modules/site/webpack.config.js @@ -33,7 +33,7 @@ module.exports = [ }, module: { rules: [ - { test: /\.html$/, use: 'vue-loader' }, + { test: /\.html$/, use: 'html-loader' }, { test: /\.vue$/, use: 'vue-loader' }, ], }, diff --git a/app/system/modules/theme/js/components/autocomplete.js b/app/system/modules/theme/js/components/autocomplete.js index a4f669f8..33ddb6bd 100644 --- a/app/system/modules/theme/js/components/autocomplete.js +++ b/app/system/modules/theme/js/components/autocomplete.js @@ -1,7 +1,5 @@ import UIkit from 'uikit'; -import { - $, on, css, attr, addClass, removeClass, hasClass, toNodes, append, find, findAll, empty, getIndex, trigger, -} from 'uikit-util'; +import { $, on, css, attr, addClass, removeClass, hasClass, toNodes, append, find, findAll, empty, getIndex, trigger } from 'uikit-util'; let active; diff --git a/app/system/modules/theme/js/components/pagination.js b/app/system/modules/theme/js/components/pagination.js index d178c040..4a378ed4 100644 --- a/app/system/modules/theme/js/components/pagination.js +++ b/app/system/modules/theme/js/components/pagination.js @@ -1,7 +1,5 @@ import UIkit from 'uikit'; -import { - $, on, css, attr, addClass, data, removeClass, hasClass, toNodes, append, find, findAll, empty, getIndex, trigger, closest -} from 'uikit-util'; +import { $, on, css, attr, addClass, data, removeClass, hasClass, toNodes, append, find, findAll, empty, getIndex, trigger, closest } from 'uikit-util'; let active; diff --git a/app/system/modules/theme/js/sidebar.js b/app/system/modules/theme/js/sidebar.js index 317e3293..bbb0bcdd 100644 --- a/app/system/modules/theme/js/sidebar.js +++ b/app/system/modules/theme/js/sidebar.js @@ -84,76 +84,6 @@ export default { } }, - // theme() { - // const vm = this; - // return { - // 'sidemenu': { - // additem: { - // type: 'dropdown', - // dropdown: { - // options: () => { - // if (!vm.sb || !vm.breakpoint) { - // return 'pos: right-top; mode: hover; offset: 0; delayHide: 0' - // } - // return 'pos: bottom-right; mode: click; offset: 0;' - // }, - // class: () => { - // if (!vm.sb || !vm.breakpoint) { - // return {'tm-dropdown-parent-items uk-position-fixed': true} - // } - // return {'tm-dropdown-parent-items uk-position-fixed tm-left': true} - // }, - // style: () => { - // if (vm.sb) return { width: vm.size } - // } - // }, - // icon: { - // class: () => 'tm-menu-image', - // attrs: { - // 'uk-icon': 'icon: plus; ratio: 1.2', - // } - // }, - // items: () => vm.sidemenu.additem - // }, - // menuitem: { - // type: 'dropdown', - // dropdown: { - // options: () => { - // if (!vm.sb || !vm.breakpoint) { - // return 'pos: right-top; mode: hover; offset: 0; delayHide: 0' - // } - // return 'pos: bottom-right; mode: click; offset: 0;' - // }, - // class: () => { - // if (!vm.sb || !vm.breakpoint) { - // return {'tm-dropdown-parent-items uk-position-fixed': true} - // } - // return {'tm-dropdown-parent-items uk-position-fixed tm-left': true} - // }, - // style: () => { - // if (vm.sb) return { width: vm.size } - // } - // }, - // icon: { - // // options: () => 'icon: menu; ratio: 1.4', - // class: () => 'tm-menu-image', - // attrs: { - // 'uk-navbar-toggle-icon': true - // } - // }, - // items: () => [],//vm.sidemenu.additem, - // priority:0 - // } - // }, - // extend: () => { - // return { - // // 'sidemenu.additem': () => [{},{}], - // 'topmenu.addpage': () => [{},{}] - // } - // } - // } - // }, - computed: { sbStyle() { return (this.sb) ? { width: this.size } : {} @@ -205,11 +135,6 @@ export default { return false }, - // getChild(item, check) { - // const menu = _(this.menu).sortBy('priority').groupBy('parent').value(); - // return check ? !!menu[item] : menu[item]; - // }, - setStyle() { if (!hasClass(this.page, 'transition')) addClass(this.page, 'transition'); diff --git a/app/system/modules/theme/webpack.config.js b/app/system/modules/theme/webpack.config.js index 79422db8..94131c07 100644 --- a/app/system/modules/theme/webpack.config.js +++ b/app/system/modules/theme/webpack.config.js @@ -9,7 +9,7 @@ module.exports = [ }, module: { rules: [ - { test: /\.html$/, use: 'vue-html-loader' }, + { test: /\.html$/, use: 'html-loader' }, { test: /\.vue$/, use: 'vue-loader' }, ], }, diff --git a/app/system/modules/user/app/components/link-user.vue b/app/system/modules/user/app/components/link-user.vue index 7f0e2082..e994a169 100644 --- a/app/system/modules/user/app/components/link-user.vue +++ b/app/system/modules/user/app/components/link-user.vue @@ -25,7 +25,7 @@ diff --git a/app/system/modules/user/app/components/user-settings.vue b/app/system/modules/user/app/components/user-settings.vue index 0e535c97..4fa32d4c 100644 --- a/app/system/modules/user/app/components/user-settings.vue +++ b/app/system/modules/user/app/components/user-settings.vue @@ -3,67 +3,50 @@
    -
    - -
    - {{ 'Username cannot be blank and may only contain alphanumeric characters (A-Z, 0-9) and some special characters ("._-")' | trans }} -
    -
    +
    -
    - -
    - {{ 'Name cannot be blank.' | trans }} -
    -
    +
    -
    - -
    - {{ 'Field must be a valid email address.' | trans }} -
    -
    +
    @@ -136,7 +119,7 @@ diff --git a/app/system/modules/user/app/lib/permissions.js b/app/system/modules/user/app/lib/permissions.js index 82ad0343..42d48d52 100644 --- a/app/system/modules/user/app/lib/permissions.js +++ b/app/system/modules/user/app/lib/permissions.js @@ -1,4 +1,4 @@ -module.exports = { +export default { data() { return window.$data; diff --git a/app/system/modules/user/app/views/admin/permission-index.js b/app/system/modules/user/app/views/admin/permission-index.js index c9d4ba71..f3ae564c 100644 --- a/app/system/modules/user/app/views/admin/permission-index.js +++ b/app/system/modules/user/app/views/admin/permission-index.js @@ -1 +1 @@ -Vue.ready(_.merge(require('../../lib/permissions'), { name: 'user-permissions', el: '#permissions' })); +Vue.ready(_.merge(require('../../lib/permissions').default, { name: 'user-permissions', el: '#permissions' })); diff --git a/app/system/modules/user/app/views/admin/role-index.js b/app/system/modules/user/app/views/admin/role-index.js index 7ab382b9..710e03f9 100644 --- a/app/system/modules/user/app/views/admin/role-index.js +++ b/app/system/modules/user/app/views/admin/role-index.js @@ -1,13 +1,15 @@ -const { util } = UIkit; +import util from 'uikit-util'; +import Permissions from '../../lib/permissions'; +import { ValidationObserver, VInput } from 'SystemApp/components/validation.vue'; -module.exports = { +var UserRoles = { name: 'user-roles', el: '#roles', mixins: [ - require('../../lib/permissions'), + Permissions, Theme.Mixins.Helper ], @@ -63,27 +65,23 @@ module.exports = { return; } - this.$validator.validateAll().then((res) => { - if (res) { - this.Roles.save({ id: this.role.id }, { role: this.role }).then(function (res) { - const { data } = res; - - if (this.role.id) { - const role = _.findIndex(this.roles, 'id', this.role.id); - this.roles.splice(role, 1, data.role); - - this.$notify('Role saved'); - } else { - this.roles.push(data.role); - this.$notify('Role added'); - } - }, function (res) { - this.$notify(res.data, 'danger'); - }); - - this.$refs.modal.close(); + this.Roles.save({ id: this.role.id }, { role: this.role }).then(function (res) { + const { data } = res; + + if (this.role.id) { + const role = _.findIndex(this.roles, 'id', this.role.id); + this.roles.splice(role, 1, data.role); + + this.$notify('Role saved'); + } else { + this.roles.push(data.role); + this.$notify('Role added'); } + }, function (res) { + this.$notify(res.data, 'danger'); }); + + this.$refs.modal.close(); }, remove(role) { @@ -115,6 +113,13 @@ module.exports = { }, + components: { + ValidationObserver, + VInput + } + }; -Vue.ready(module.exports); +export default UserRoles; + +Vue.ready(UserRoles); diff --git a/app/system/modules/user/app/views/admin/settings.js b/app/system/modules/user/app/views/admin/settings.js index b3dec8b9..b795ccc0 100644 --- a/app/system/modules/user/app/views/admin/settings.js +++ b/app/system/modules/user/app/views/admin/settings.js @@ -1,4 +1,4 @@ -module.exports = { +var Settings = { el: '#settings', @@ -36,4 +36,6 @@ module.exports = { }; -Vue.ready(module.exports); +export default Settings; + +Vue.ready(Settings); diff --git a/app/system/modules/user/app/views/admin/user-edit.js b/app/system/modules/user/app/views/admin/user-edit.js index 4068734c..257e4642 100644 --- a/app/system/modules/user/app/views/admin/user-edit.js +++ b/app/system/modules/user/app/views/admin/user-edit.js @@ -1,3 +1,6 @@ +import { ValidationObserver, VInput } from 'SystemApp/components/validation.vue'; +import UserSettings from '../../components/user-settings.vue'; + window.User = { name: 'user-edit', @@ -10,6 +13,12 @@ window.User = { return _.extend({ sections: [], form: {}, processing: false }, window.$data); }, + provide: { + '$components': { + 'v-input': VInput + } + }, + theme: { hiddenHtmlElements: ['#user-edit > div:first-child'], elements() { @@ -65,15 +74,12 @@ window.User = { methods: { - submit() { - const vm = this; - - this.$validator.validateAll().then((res) => { - if (res) { - vm.processing = true; - vm.save(); - } - }); + async submit() { + const isValid = await this.$refs.observer.validate(); + if (isValid) { + this.processing = true; + this.save(); + } }, save() { @@ -104,10 +110,11 @@ window.User = { components: { - settings: require('../../components/user-settings.vue').default, + ValidationObserver, + settings: UserSettings, }, }; -Vue.ready(window.User); +Vue.ready(window.User); \ No newline at end of file diff --git a/app/system/modules/user/app/views/admin/user-index.js b/app/system/modules/user/app/views/admin/user-index.js index d8b3124c..49d80878 100644 --- a/app/system/modules/user/app/views/admin/user-index.js +++ b/app/system/modules/user/app/views/admin/user-index.js @@ -1,4 +1,4 @@ -module.exports = { +var UserIndex = { name: 'user-index', @@ -236,14 +236,10 @@ module.exports = { }, this); }, - }, - - // events: { - // 'select:pagination': function (e, page) { - // this.config.page = Number(page); - // }, - // }, + } }; -Vue.ready(module.exports); +export default UserIndex; + +Vue.ready(UserIndex); diff --git a/app/system/modules/user/app/views/profile.js b/app/system/modules/user/app/views/profile.js index 151b48b5..2202fd6c 100644 --- a/app/system/modules/user/app/views/profile.js +++ b/app/system/modules/user/app/views/profile.js @@ -1,4 +1,6 @@ -module.exports = { +import { ValidationObserver, VInput } from 'SystemApp/components/validation.vue'; + +var UserProfile = { el: '#user-profile', @@ -7,18 +9,39 @@ module.exports = { user: { password: {} }, hidePassword: true, changePassword: false, + view: { + type: 'icon', + containerClass: 'uk-margin', + class: 'uk-input uk-form-width-large', + icon: () => this.hidePassword ? 'lock' : 'unlock', + iconClick: () => { this.hidePassword = !this.hidePassword }, + iconTag: 'a', + iconDir: 'right', + } }, window.$data); }, + watch: { + changePassword(val) { + if (val) { + this.$nextTick(()=>{ + var icons = this.$el.querySelectorAll('a.uk-form-icon'), + height = this.$el.getElementsByClassName('uk-input')[0].offsetHeight; + if (icons.length && height) { + icons.forEach((icon) => { icon.style.height = height + 'px' }) + } + }) + } + } + }, + methods: { - submit() { - const vm = this; - this.$validator.validateAll().then((res) => { - if (res) { - vm.save(); - } - }); + async submit() { + const isValid = await this.$refs.observer.validate(); + if (isValid) { + this.save(); + } }, save() { @@ -31,6 +54,13 @@ module.exports = { }, + components: { + ValidationObserver, + VInput + } + }; -Vue.ready(module.exports); +export default UserProfile; + +Vue.ready(UserProfile); diff --git a/app/system/modules/user/app/views/registration.js b/app/system/modules/user/app/views/registration.js index 2339a470..85e505a2 100644 --- a/app/system/modules/user/app/views/registration.js +++ b/app/system/modules/user/app/views/registration.js @@ -1,4 +1,6 @@ -module.exports = { +import { ValidationObserver, VInput } from 'SystemApp/components/validation.vue'; + +var Registration = { name: 'registration', @@ -8,26 +10,26 @@ module.exports = { return { user: {}, error: null, - hidePassword: true + hidePassword: true, + view: { + type: 'icon', + containerClass: 'uk-margin', + class: 'uk-input uk-form-width-large', + icon: () => this.hidePassword ? 'lock' : 'unlock', + iconClick: () => { this.hidePassword = !this.hidePassword }, + iconTag: 'a', + iconDir: 'right', + } } }, - mounted() { - this.$nextTick(function(){ - UIkit.util.removeAttr(this.$el, 'hidden'); - }.bind(this)) - }, - methods: { - valid() { - const vm = this; - - this.$validator.validateAll().then((res) => { - if (res) { - vm.submit(); - } - }) + async valid() { + const isValid = await this.$refs.observer.validate(); + if (isValid) { + this.submit(); + } }, submit() { @@ -42,6 +44,13 @@ module.exports = { }, + components: { + ValidationObserver, + VInput + } + }; -Vue.ready(module.exports); +export default Registration; + +Vue.ready(Registration); diff --git a/app/system/modules/user/app/views/reset-confirm.js b/app/system/modules/user/app/views/reset-confirm.js index 666ccd83..268ed98b 100644 --- a/app/system/modules/user/app/views/reset-confirm.js +++ b/app/system/modules/user/app/views/reset-confirm.js @@ -1,35 +1,42 @@ -var util = UIkit.util, - $ = util.$, - on = util.on, - html = util.html, - append = util.append; +import { ValidationObserver, VInput } from 'SystemApp/components/validation.vue'; -module.exports = { +var ResetConfirm = { el: '#reset-confirm', data() { return { error: null, - hidePassword: true + hidePassword: true, + view: { + type: 'icon', + containerClass: 'uk-margin', + class: 'uk-input uk-form-width-large', + icon: () => this.hidePassword ? 'lock' : 'unlock', + iconClick: () => { this.hidePassword = !this.hidePassword }, + iconTag: 'a', + iconDir: 'right', + } } }, methods: { - submit() { - - const vm = this; + async valid() { + const isValid = await this.$refs.resetform.validate(); + if (isValid) { + this.$el.submit() + } + } - this.$validator.validateAll().then((res) => { - if (res) { - vm.$refs.resetform.submit() - } - }) + }, - } + components: { + ValidationObserver, + VInput } - }; -Vue.ready(module.exports); \ No newline at end of file +export default ResetConfirm; + +Vue.ready(ResetConfirm); \ No newline at end of file diff --git a/app/system/modules/user/views/admin/role-index.php b/app/system/modules/user/views/admin/role-index.php index 79b3ab26..ef0c0050 100644 --- a/app/system/modules/user/views/admin/role-index.php +++ b/app/system/modules/user/views/admin/role-index.php @@ -63,9 +63,11 @@
    - -
    - + + + +
    +

    {{ (role.id ? 'Edit Role':'Add Role') | trans }}

    @@ -74,20 +76,19 @@
    -
    - -
    {{ 'Name cannot be blank.' | trans }}
    -
    +
    - - + +
    +
    +
    diff --git a/app/system/modules/user/views/admin/settings.php b/app/system/modules/user/views/admin/settings.php index 70b6e9ae..b639782a 100644 --- a/app/system/modules/user/views/admin/settings.php +++ b/app/system/modules/user/views/admin/settings.php @@ -45,7 +45,7 @@
    - +
    diff --git a/app/system/modules/user/views/admin/user-edit.php b/app/system/modules/user/views/admin/user-edit.php index b94c993d..3b2b35b4 100644 --- a/app/system/modules/user/views/admin/user-edit.php +++ b/app/system/modules/user/views/admin/user-edit.php @@ -1,6 +1,6 @@ script('user-edit', 'system/user:app/bundle/user-edit.js', ['vue']) ?> -
    +
    @@ -29,4 +29,4 @@
    - +
    diff --git a/app/system/modules/user/views/admin/user-index.php b/app/system/modules/user/views/admin/user-index.php index d677b7e3..b2775c68 100644 --- a/app/system/modules/user/views/admin/user-index.php +++ b/app/system/modules/user/views/admin/user-index.php @@ -38,7 +38,6 @@ - diff --git a/packages/pagekit/blog/views/admin/post-edit.php b/packages/pagekit/blog/views/admin/post-edit.php index a5ad51a5..4f860b44 100644 --- a/packages/pagekit/blog/views/admin/post-edit.php +++ b/packages/pagekit/blog/views/admin/post-edit.php @@ -1,7 +1,6 @@ script('post-edit', 'blog:app/bundle/post-edit.js', ['vue', 'editor', 'uikit']) ?> - - +
    @@ -31,4 +30,4 @@
    - +
    diff --git a/packages/pagekit/theme-one/app/components/node-theme.vue b/packages/pagekit/theme-one/app/components/node-theme.vue index 6fa9e9b3..d70235e4 100644 --- a/packages/pagekit/theme-one/app/components/node-theme.vue +++ b/packages/pagekit/theme-one/app/components/node-theme.vue @@ -110,7 +110,7 @@ diff --git a/packages/pagekit/theme-one/app/components/site-theme.vue b/packages/pagekit/theme-one/app/components/site-theme.vue index 3cfb1967..9d42e273 100644 --- a/packages/pagekit/theme-one/app/components/site-theme.vue +++ b/packages/pagekit/theme-one/app/components/site-theme.vue @@ -39,7 +39,7 @@ diff --git a/packages/pagekit/theme-one/app/components/widget-theme.vue b/packages/pagekit/theme-one/app/components/widget-theme.vue index 2507a989..2ee31e72 100644 --- a/packages/pagekit/theme-one/app/components/widget-theme.vue +++ b/packages/pagekit/theme-one/app/components/widget-theme.vue @@ -71,7 +71,7 @@ diff --git a/webpack.config.js b/webpack.config.js index a3b65700..03a9b257 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -9,9 +9,14 @@ const common = { module: { rules: [ {test: /\.js$/, exclude: [/node_modules/, /assets/, /vendor/], use: ["babel-loader"]} - ] + ], }, - externals: {"Vue": "Vue", "uikit": "UIkit", "uikit-util": "UIkit.util"} + resolve: { + alias: { + SystemApp: path.resolve(__dirname, 'app/system/app'), + } + }, + externals: {"vue": "Vue", "uikit": "UIkit", "uikit-util": "UIkit.util"} }; // Define process mode and paths to ignore when processed @@ -29,7 +34,7 @@ glob.sync('{app/modules/**,app/installer/**,app/system/**,packages/**}/webpack.c let pkg = path.join(path.basename(path.dirname(dir)), path.basename(dir)); exports = exports.concat(require('./' + file).map((config) => { - config = _.merge({mode: mode, context: dir, output: {path: dir}, externals: common.externals}, config); + config = _.merge({mode: mode, context: dir, output: {path: dir}, externals: common.externals, resolve: common.resolve}, config); return build(config); }));
    {{ 'User' | trans }} @@ -84,6 +83,5 @@

    {{ 'No user found.' | trans }}

    - diff --git a/app/system/modules/user/views/profile.php b/app/system/modules/user/views/profile.php index cf494a93..3b36d9e6 100644 --- a/app/system/modules/user/views/profile.php +++ b/app/system/modules/user/views/profile.php @@ -1,41 +1,41 @@ script('profile', 'system/user:app/bundle/profile.js', ['vue']) ?> -
    - -
    + + + +
    -
    - -
    {{ 'Author cannot be blank.' | trans }}
    -
    +
    -
    - -
    {{ 'Field must be a valid email address.' | trans }}
    -
    +
    @@ -145,20 +140,18 @@
    -
    - -
    {{ 'Content cannot be blank.' | trans }}
    -
    +
    -
    - +
    +
    +