commit b00d0efa9d0c834b1a1adc4a493bca4f0c0bf047 Author: Dimitry Ivanov Date: Tue Jan 12 12:50:41 2021 +0300 deploy diff --git a/404.html b/404.html new file mode 100644 index 00000000..889041e2 --- /dev/null +++ b/404.html @@ -0,0 +1,22 @@ + + + + + + Markwon + + + + + + + + + + + + +

404

That's a Four-Oh-Four.
Take me home.
+ + + diff --git a/android-chrome-192x192.png b/android-chrome-192x192.png new file mode 100644 index 00000000..004d02b8 Binary files /dev/null and b/android-chrome-192x192.png differ diff --git a/android-chrome-512x512.png b/android-chrome-512x512.png new file mode 100644 index 00000000..41927093 Binary files /dev/null and b/android-chrome-512x512.png differ diff --git a/apple-touch-icon.png b/apple-touch-icon.png new file mode 100644 index 00000000..14e254fc Binary files /dev/null and b/apple-touch-icon.png differ diff --git a/art/favicon.svg b/art/favicon.svg new file mode 100644 index 00000000..6f893c61 --- /dev/null +++ b/art/favicon.svg @@ -0,0 +1,109 @@ + + + + + + + + + + image/svg+xml + + + + + + + + M + ** + ** + + diff --git a/art/ic_hash_white_24dp.svg b/art/ic_hash_white_24dp.svg new file mode 100644 index 00000000..a0c06ae2 --- /dev/null +++ b/art/ic_hash_white_24dp.svg @@ -0,0 +1,64 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/art/markwon-icon-foreground-stroked.svg b/art/markwon-icon-foreground-stroked.svg new file mode 100644 index 00000000..4bf8e70c --- /dev/null +++ b/art/markwon-icon-foreground-stroked.svg @@ -0,0 +1,95 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/art/markwon-icon-foreground.svg b/art/markwon-icon-foreground.svg new file mode 100644 index 00000000..64cf269b --- /dev/null +++ b/art/markwon-icon-foreground.svg @@ -0,0 +1,97 @@ + + + + + + + + + + image/svg+xml + + + + + + + M + ** + ** + + diff --git a/art/markwon-syntax-darkula.png b/art/markwon-syntax-darkula.png new file mode 100644 index 00000000..e9cde95e Binary files /dev/null and b/art/markwon-syntax-darkula.png differ diff --git a/art/markwon-syntax-default.png b/art/markwon-syntax-default.png new file mode 100644 index 00000000..5cae944f Binary files /dev/null and b/art/markwon-syntax-default.png differ diff --git a/art/markwon_logo.png b/art/markwon_logo.png new file mode 100644 index 00000000..817bacb4 Binary files /dev/null and b/art/markwon_logo.png differ diff --git a/art/mw_dark_01.png b/art/mw_dark_01.png new file mode 100644 index 00000000..2b7071e4 Binary files /dev/null and b/art/mw_dark_01.png differ diff --git a/art/mw_light_01.png b/art/mw_light_01.png new file mode 100644 index 00000000..bbf1a601 Binary files /dev/null and b/art/mw_light_01.png differ diff --git a/art/mw_light_02.png b/art/mw_light_02.png new file mode 100644 index 00000000..6439ca8e Binary files /dev/null and b/art/mw_light_02.png differ diff --git a/art/mw_light_03.png b/art/mw_light_03.png new file mode 100644 index 00000000..1a855c42 Binary files /dev/null and b/art/mw_light_03.png differ diff --git a/art/sample-app.epgz b/art/sample-app.epgz new file mode 100644 index 00000000..9f471d6f Binary files /dev/null and b/art/sample-app.epgz differ diff --git a/art/sample-icon-foreground.svg b/art/sample-icon-foreground.svg new file mode 100644 index 00000000..ae284cf4 --- /dev/null +++ b/art/sample-icon-foreground.svg @@ -0,0 +1,97 @@ + + + + + + + + + + image/svg+xml + + + + + + + M + ** + ** + + diff --git a/art/sample-screen-01.png b/art/sample-screen-01.png new file mode 100644 index 00000000..796c0945 Binary files /dev/null and b/art/sample-screen-01.png differ diff --git a/art/sample-screen-02.png b/art/sample-screen-02.png new file mode 100644 index 00000000..93bdc452 Binary files /dev/null and b/art/sample-screen-02.png differ diff --git a/art/sample-screen-03.png b/art/sample-screen-03.png new file mode 100644 index 00000000..2f862c0c Binary files /dev/null and b/art/sample-screen-03.png differ diff --git a/art/sample-screen-04.png b/art/sample-screen-04.png new file mode 100644 index 00000000..a978465a Binary files /dev/null and b/art/sample-screen-04.png differ diff --git a/assets/apps/cinopsys.png b/assets/apps/cinopsys.png new file mode 100644 index 00000000..e5630510 Binary files /dev/null and b/assets/apps/cinopsys.png differ diff --git a/assets/apps/habitica.png b/assets/apps/habitica.png new file mode 100644 index 00000000..797b452c Binary files /dev/null and b/assets/apps/habitica.png differ diff --git a/assets/apps/infinity.webp b/assets/apps/infinity.webp new file mode 100644 index 00000000..50ea5feb Binary files /dev/null and b/assets/apps/infinity.webp differ diff --git a/assets/apps/nextcloud.png b/assets/apps/nextcloud.png new file mode 100644 index 00000000..3664da8a Binary files /dev/null and b/assets/apps/nextcloud.png differ diff --git a/assets/apps/purewriter.png b/assets/apps/purewriter.png new file mode 100644 index 00000000..aab5623d Binary files /dev/null and b/assets/apps/purewriter.png differ diff --git a/assets/apps/stack.png b/assets/apps/stack.png new file mode 100644 index 00000000..642f11b3 Binary files /dev/null and b/assets/apps/stack.png differ diff --git a/assets/css/0.styles.3fbbce9e.css b/assets/css/0.styles.3fbbce9e.css new file mode 100644 index 00000000..e16c8a5f --- /dev/null +++ b/assets/css/0.styles.3fbbce9e.css @@ -0,0 +1 @@ +.home{padding:3.6rem 2rem 0;max-width:960px;margin:0 auto}.home .hero{text-align:center}.home .hero img{max-height:280px;display:block;margin:3rem auto 1.5rem}.home .hero h1{font-size:3rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.8rem auto}.home .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:#6a8bad}.home .hero .action-button{display:inline-block;font-size:1.2rem;color:#fff;background-color:#3eaf7c;padding:.8rem 1.6rem;border-radius:4px;transition:background-color .1s ease;box-sizing:border-box;border-bottom:1px solid #389d70}.home .hero .action-button:hover{background-color:#4abf8a}.home .features{border-top:1px solid #eaecef;padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:stretch;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%}.home .feature h2{font-size:1.4rem;font-weight:500;border-bottom:none;padding-bottom:0;color:#3a5169}.home .feature p{color:#4e6e8e}.home .footer{padding:2.5rem;border-top:1px solid #eaecef;text-align:center;color:#4e6e8e}@media (max-width:719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width:419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:210px;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}video{max-height:82vh}.search-box{display:inline-block;position:relative;margin-right:1rem}.search-box input{cursor:text;width:10rem;color:#4e6e8e;display:inline-block;border:1px solid #cfd4db;border-radius:2rem;font-size:.9rem;line-height:2rem;padding:0 .5rem 0 2rem;outline:none;transition:all .2s ease;background:#fff url(/Markwon/assets/img/search.83621669.svg) .6rem .5rem no-repeat;background-size:1rem}.search-box input:focus{cursor:auto;border-color:#3eaf7c}.search-box .suggestions{background:#fff;width:20rem;position:absolute;top:1.5rem;border:1px solid #cfd4db;border-radius:6px;padding:.4rem;list-style-type:none}.search-box .suggestions.align-right{right:0}.search-box .suggestion{line-height:1.4;padding:.4rem .6rem;border-radius:4px;cursor:pointer}.search-box .suggestion a{white-space:normal;color:#5d82a6}.search-box .suggestion a .page-title{font-weight:600}.search-box .suggestion a .header{font-size:.9em;margin-left:.25em}.search-box .suggestion.focused{background-color:#f3f4f5}.search-box .suggestion.focused a{color:#3eaf7c}@media (max-width:959px){.search-box input{cursor:pointer;width:0;border-color:transparent;position:relative}.search-box input:focus{cursor:text;left:0;width:10rem}}@media (max-width:959px) and (min-width:719px){.search-box .suggestions{left:0}}@media (max-width:719px){.search-box{margin-right:0}.search-box input{left:1rem}.search-box .suggestions{right:0}}@media (max-width:419px){.search-box .suggestions{width:calc(100vw - 4rem)}.search-box input:focus{width:8rem}}.dropdown-enter,.dropdown-leave-to{height:0!important}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper .dropdown-title{display:block}.dropdown-wrapper .dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.dropdown-wrapper .nav-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .nav-dropdown .dropdown-item h4{margin:.45rem 0 0;border-top:1px solid #eee;padding:.45rem 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper{padding:0;list-style:none}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper .dropdown-subitem{font-size:.9em}.dropdown-wrapper .nav-dropdown .dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active,.dropdown-wrapper .nav-dropdown .dropdown-item a:hover{color:#3eaf7c}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid #3eaf7c;border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.dropdown-wrapper .nav-dropdown .dropdown-item:first-child h4{margin-top:0;padding-top:0;border-top:0}@media (max-width:719px){.dropdown-wrapper.open .dropdown-title{margin-bottom:.5rem}.dropdown-wrapper .nav-dropdown{transition:height .1s ease-out;overflow:hidden}.dropdown-wrapper .nav-dropdown .dropdown-item h4{border-top:0;margin-top:0;padding-top:0}.dropdown-wrapper .nav-dropdown .dropdown-item>a,.dropdown-wrapper .nav-dropdown .dropdown-item h4{font-size:15px;line-height:2rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem{font-size:14px;padding-left:1rem}}@media (min-width:719px){.dropdown-wrapper{height:1.8rem}.dropdown-wrapper:hover .nav-dropdown{display:block!important}.dropdown-wrapper .dropdown-title .arrow{border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #ccc;border-bottom:0}.dropdown-wrapper .nav-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:#fff;padding:.6rem 0;border:1px solid #ddd;border-bottom-color:#ccc;text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}}.nav-links{display:inline-block}.nav-links a{line-height:1.4rem;color:inherit}.nav-links a.router-link-active,.nav-links a:hover{color:#3eaf7c}.nav-links .nav-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:2rem}.nav-links .nav-item:first-child{margin-left:0}.nav-links .repo-link{margin-left:1.5rem}@media (max-width:719px){.nav-links .nav-item,.nav-links .repo-link{margin-left:0}}@media (min-width:719px){.nav-links a.router-link-active,.nav-links a:hover{color:#2c3e50}.nav-item>a:not(.external).router-link-active,.nav-item>a:not(.external):hover{margin-bottom:-2px;border-bottom:2px solid #46bd87}}.navbar{padding:.7rem 1.5rem;line-height:2.2rem;position:relative}.navbar a,.navbar img,.navbar span{display:inline-block}.navbar .logo{height:2.2rem;min-width:2.2rem;margin-right:.8rem;vertical-align:top}.navbar .site-name{font-size:1.3rem;font-weight:600;color:#2c3e50;position:relative}.navbar .links{padding-left:1.5rem;box-sizing:border-box;background-color:#fff;white-space:nowrap;font-size:.9rem;position:absolute;right:1.5rem;top:.7rem;display:flex}.navbar .links .search-box{flex:0 0 auto;vertical-align:top}.navbar .links .nav-links{flex:1}@media (max-width:719px){.navbar{padding-left:4rem}.navbar .can-hide{display:none}.navbar .links{padding-left:1.5rem}}.page-edit,.page-nav{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-edit,.page-nav{padding:2rem}}@media (max-width:419px){.page-edit,.page-nav{padding:1.5rem}}.page{padding-bottom:2rem}.page-edit{padding-top:1rem;padding-bottom:1rem;overflow:auto}.page-edit .edit-link{display:inline-block}.page-edit .edit-link a{color:#4e6e8e;margin-right:.25rem}.page-edit .last-updated{float:right;font-size:.9em}.page-edit .last-updated .prefix{font-weight:500;color:#4e6e8e}.page-edit .last-updated .time{font-weight:400;color:#aaa}.page-nav{padding-top:1rem;padding-bottom:0}.page-nav .inner{min-height:2rem;margin-top:0;border-top:1px solid #eaecef;padding-top:1rem;overflow:auto}.page-nav .next{float:right}@media (max-width:719px){.page-edit .edit-link{margin-bottom:.5rem}.page-edit .last-updated{font-size:.8em;float:none;text-align:left}}.sidebar .sidebar-sub-headers{padding-left:1rem;font-size:.95em}a.sidebar-link{font-weight:400;display:inline-block;color:#2c3e50;border-left:.25rem solid transparent;padding:.35rem 1rem .35rem 1.25rem;line-height:1.4;width:100%;box-sizing:border-box}a.sidebar-link:hover{color:#3eaf7c}a.sidebar-link.active{font-weight:600;color:#3eaf7c;border-left-color:#3eaf7c}.sidebar-group a.sidebar-link{padding-left:2rem}.sidebar-sub-headers a.sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-left:none}.sidebar-sub-headers a.sidebar-link.active{font-weight:500}.sidebar-group:not(.first){margin-top:1em}.sidebar-group .sidebar-group{padding-left:.5em}.sidebar-group:not(.collapsable) .sidebar-heading{cursor:auto;color:inherit}.sidebar-heading{color:#999;transition:color .15s ease;cursor:pointer;font-size:1.1em;font-weight:700;padding:0 1.5rem;margin-top:0;margin-bottom:.5rem}.sidebar-heading.open,.sidebar-heading:hover{color:inherit}.sidebar-heading .arrow{position:relative;top:-.12em;left:.5em}.sidebar-heading:.open .arrow{top:-.18em}.sidebar-group-items{transition:height .1s ease-out;overflow:hidden}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .nav-links{display:none;border-bottom:1px solid #eaecef;padding:.5rem 0 .75rem 0}.sidebar .nav-links a{font-weight:600}.sidebar .nav-links .nav-item,.sidebar .nav-links .repo-link{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar .sidebar-links{padding:1.5rem 0}@media (max-width:719px){.sidebar .nav-links{display:block}.sidebar .nav-links .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{top:calc(1rem - 2px)}.sidebar .sidebar-links{padding:1rem 0}}.sidebar-button{display:none;width:1.25rem;height:1.25rem;position:absolute;padding:.6rem;top:.6rem;left:1rem}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media (max-width:719px){.sidebar-button{display:block}}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;tab-size:4;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}#nprogress{pointer-events:none}#nprogress .bar{background:#3eaf7c;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #3eaf7c,0 0 5px #3eaf7c;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#3eaf7c;border-left-color:#3eaf7c;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.content code{color:#476582;padding:.25rem .5rem;margin:0;font-size:.85em;background-color:rgba(27,31,35,.05);border-radius:3px}.content pre,.content pre[class*=language-]{line-height:1.4;padding:1.25rem 1.5rem;margin:.85rem 0;background-color:#282c34;border-radius:6px;overflow:auto}.content pre[class*=language-] code,.content pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}div[class*=language-]{position:relative;background-color:#282c34;border-radius:6px}div[class*=language-] .highlight-lines{user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.4}div[class*=language-] .highlight-lines .highlighted{background-color:rgba(0,0,0,.66)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent;position:relative;z-index:1}div[class*=language-]:before{position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:hsla(0,0%,100%,.4)}div[class*=language-]:not(.line-numbers-mode) .line-numbers-wrapper{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlighted{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlighted:before{content:" ";position:absolute;z-index:3;left:0;top:0;display:block;width:3.5rem;height:100%;background-color:rgba(0,0,0,.66)}div[class*=language-].line-numbers-mode pre{padding-left:4.5rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers-wrapper{position:absolute;top:0;width:3.5rem;text-align:center;color:hsla(0,0%,100%,.3);padding:1.25rem 0;line-height:1.4}div[class*=language-].line-numbers-mode .line-numbers-wrapper br{user-select:none}div[class*=language-].line-numbers-mode .line-numbers-wrapper .line-number{position:relative;z-index:4;user-select:none;font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;z-index:2;top:0;left:0;width:3.5rem;height:100%;border-radius:6px 0 0 6px;border-right:1px solid rgba(0,0,0,.66);background-color:#282c34}div[class~=language-js]:before{content:"js"}div[class~=language-ts]:before{content:"ts"}div[class~=language-html]:before{content:"html"}div[class~=language-md]:before{content:"md"}div[class~=language-vue]:before{content:"vue"}div[class~=language-css]:before{content:"css"}div[class~=language-sass]:before{content:"sass"}div[class~=language-scss]:before{content:"scss"}div[class~=language-less]:before{content:"less"}div[class~=language-stylus]:before{content:"stylus"}div[class~=language-go]:before{content:"go"}div[class~=language-java]:before{content:"java"}div[class~=language-c]:before{content:"c"}div[class~=language-sh]:before{content:"sh"}div[class~=language-yaml]:before{content:"yaml"}div[class~=language-py]:before{content:"py"}div[class~=language-javascript]:before{content:"js"}div[class~=language-typescript]:before{content:"ts"}div[class~=language-markup]:before{content:"html"}div[class~=language-markdown]:before{content:"md"}div[class~=language-json]:before{content:"json"}div[class~=language-ruby]:before{content:"rb"}div[class~=language-python]:before{content:"py"}div[class~=language-bash]:before{content:"sh"}.custom-block .custom-block-title{font-weight:600;margin-bottom:-.4rem}.custom-block.danger,.custom-block.tip,.custom-block.warning{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-block.tip{background-color:#f3f5f7;border-color:#42b983}.custom-block.warning{background-color:rgba(255,229,100,.3);border-color:#e7c000;color:#6b5900}.custom-block.warning .custom-block-title{color:#b29400}.custom-block.warning a{color:#2c3e50}.custom-block.danger{background-color:#ffe6e6;border-color:#c00;color:#4d0000}.custom-block.danger .custom-block-title{color:#900}.custom-block.danger a{color:#2c3e50}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-bottom:6px solid #ccc}.arrow.down,.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent}.arrow.down{border-top:6px solid #ccc}.arrow.right{border-left:6px solid #ccc}.arrow.left,.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent}.arrow.left{border-right:6px solid #ccc}.content:not(.custom){max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.content:not(.custom){padding:2rem}}@media (max-width:419px){.content:not(.custom){padding:1.5rem}}.table-of-contents .badge{vertical-align:middle}body,html{padding:0;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;color:#2c3e50}.page{padding-left:20rem}.navbar{z-index:20;right:0;height:3.6rem;background-color:#fff;box-sizing:border-box;border-bottom:1px solid #eaecef}.navbar,.sidebar-mask{position:fixed;top:0;left:0}.sidebar-mask{z-index:9;width:100vw;height:100vh;display:none}.sidebar{font-size:15px;background-color:#fff;width:20rem;position:fixed;z-index:10;margin:0;top:3.6rem;left:0;bottom:0;box-sizing:border-box;border-right:1px solid #eaecef;overflow-y:auto}.content:not(.custom)>:first-child{margin-top:3.6rem}.content:not(.custom) a:hover{text-decoration:underline}.content:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #ddd;border-radius:4px}.content:not(.custom) img{max-width:100%}.content.custom{padding:0;margin:0}.content.custom img{max-width:100%}a{font-weight:500;text-decoration:none}a,p a code{color:#3eaf7c}p a code{font-weight:400}kbd{background:#eee;border:.15rem solid #ddd;border-bottom:.25rem solid #ddd;border-radius:.15rem;padding:0 .15em}blockquote{font-size:1.2rem;color:#999;border-left:.25rem solid #dfe2e5;margin-left:0;padding-left:1rem}ol,ul{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}.content:not(.custom)>h1,.content:not(.custom)>h2,.content:not(.custom)>h3,.content:not(.custom)>h4,.content:not(.custom)>h5,.content:not(.custom)>h6{margin-top:-3.1rem;padding-top:4.6rem;margin-bottom:0}.content:not(.custom)>h1:first-child,.content:not(.custom)>h2:first-child,.content:not(.custom)>h3:first-child,.content:not(.custom)>h4:first-child,.content:not(.custom)>h5:first-child,.content:not(.custom)>h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.content:not(.custom)>h1:first-child+.custom-block,.content:not(.custom)>h1:first-child+p,.content:not(.custom)>h1:first-child+pre,.content:not(.custom)>h2:first-child+.custom-block,.content:not(.custom)>h2:first-child+p,.content:not(.custom)>h2:first-child+pre,.content:not(.custom)>h3:first-child+.custom-block,.content:not(.custom)>h3:first-child+p,.content:not(.custom)>h3:first-child+pre,.content:not(.custom)>h4:first-child+.custom-block,.content:not(.custom)>h4:first-child+p,.content:not(.custom)>h4:first-child+pre,.content:not(.custom)>h5:first-child+.custom-block,.content:not(.custom)>h5:first-child+p,.content:not(.custom)>h5:first-child+pre,.content:not(.custom)>h6:first-child+.custom-block,.content:not(.custom)>h6:first-child+p,.content:not(.custom)>h6:first-child+pre{margin-top:2rem}h1:hover .header-anchor,h2:hover .header-anchor,h3:hover .header-anchor,h4:hover .header-anchor,h5:hover .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:1px solid #eaecef}h3{font-size:1.35rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;opacity:0}a.header-anchor:hover{text-decoration:none}.line-number,code,kbd{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,ul{line-height:1.7}hr{border:0;border-top:1px solid #eaecef}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto}tr{border-top:1px solid #dfe2e5}tr:nth-child(2n){background-color:#f6f8fa}td,th{border:1px solid #dfe2e5;padding:.6em 1em}.custom-layout{padding-top:3.6rem}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.no-navbar .content:not(.custom)>h1,.theme-container.no-navbar h2,.theme-container.no-navbar h3,.theme-container.no-navbar h4,.theme-container.no-navbar h5,.theme-container.no-navbar h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .sidebar{top:0}.theme-container.no-navbar .custom-layout{padding-top:0}@media (min-width:720px){.theme-container.no-sidebar .sidebar{display:none}.theme-container.no-sidebar .page{padding-left:0}}@media (max-width:959px){.sidebar{font-size:15px;width:16.4rem}.page{padding-left:16.4rem}}@media (max-width:719px){.sidebar{top:0;padding-top:3.6rem;transform:translateX(-100%);transition:transform .2s ease}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translateX(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width:419px){h1{font-size:1.9rem}.content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}.icon.outbound{color:#aaa;display:inline-block}.awesome-group[data-v-520ddaa8]{display:flex;flex-wrap:wrap}.awesome-app[data-v-520ddaa8]{padding:1em;background-color:#fff;margin:.25em;border-radius:.25em;box-shadow:0 0 .1em .1em #eee;max-width:25%;min-width:25%;display:flex;align-items:center;flex-direction:column}.awesome-app-name[data-v-520ddaa8]{font-size:1em;font-weight:500;margin-bottom:.5em}.awesome-app-image[data-v-520ddaa8]{width:96px;height:96px;display:block}.awesome-app-description[data-v-520ddaa8]{margin-top:1em;font-size:.85em}div[class~=language-gradle]:before{content:"gradle"}div[class~=language-proguard]:before{content:"proguard"}div[class~=language-groovy]:before{content:"gradle"}div[class*=language-]{background-color:#2d2d2d}.token.cdata,.token.comment,.token.prolog{color:gray}.token.atrule,.token.boolean,.token.delimiter,.token.important,.token.keyword,.token.selector{color:#cc7832}.token.attr-name,.token.operator,.token.punctuation{color:#a9b7c6}.token.builtin,.token.doctype,.token.tag{color:#e8bf6a}.token.entity,.token.number,.token.symbol{color:#6897bb}.token.constant,.token.property,.token.variable{color:#9876aa}.token.char,.token.string{color:#6a8759}.token.annotation{color:#bbb438}.token.attr-value{color:#a5c261}.token.url{color:#287bde}.token.function{color:#ffc66d}.token.regex{color:#364135}.token.inserted{color:#294436}.token.deleted{color:#484a4a}a.sidebar-link[data-v-099ab69c]{font-weight:500}.sidebar-group a.sidebar-link[data-v-099ab69c],.sidebar-sub-headers a.sidebar-link[data-v-099ab69c]{font-weight:400}.sidebar-heading[data-v-099ab69c]{color:#000;font-weight:600}.sidebar-heading.open[data-v-099ab69c],.sidebar-heading[data-v-099ab69c]:hover{color:#4caf50}.badge[data-v-099ab69c]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:#fff;margin-right:5px;background-color:#42b983}.badge.middle[data-v-099ab69c]{vertical-align:middle}.badge.top[data-v-099ab69c]{vertical-align:top}.badge.green[data-v-099ab69c],.badge.tip[data-v-099ab69c]{background-color:#42b983}.badge.error[data-v-099ab69c]{background-color:#da5961}.badge.warn[data-v-099ab69c],.badge.warning[data-v-099ab69c],.badge.yellow[data-v-099ab69c]{background-color:#e7c000}.artifact-container[data-v-72a7bd30]{display:flex;flex-wrap:wrap;flex-direction:row;margin-top:.5em}.artifact[data-v-72a7bd30]{flex:1;border:1px solid #ccc;background-color:#fafafa;padding:.5em;margin:.2em;border-radius:.25em;min-width:10em;max-width:10em}.artifact-description[data-v-72a7bd30]{font-size:.85em;margin-top:.5em}.selected-artifacts[data-v-72a7bd30]{color:#fff;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;padding:16px;text-align:left;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;hyphens:none;font-size:.85em;margin-top:.5em}.selected-artifact-script[data-v-72a7bd30]{display:flex;flex-wrap:wrap}.artifact-container[data-v-75c88dcd]{display:flex;flex-wrap:wrap;flex-direction:row;margin-top:.5em}.artifact[data-v-75c88dcd]{flex:1;border:1px solid #ccc;background-color:#fafafa;padding:.5em;margin:.2em;border-radius:.25em;min-width:10em;max-width:10em}.artifact-description[data-v-75c88dcd]{font-size:.85em;margin-top:.5em}.selected-artifacts[data-v-75c88dcd]{color:#fff;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;padding:16px;text-align:left;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;hyphens:none;font-size:.85em;margin-top:.5em}.selected-artifact-script[data-v-75c88dcd]{display:flex;flex-wrap:wrap}.container[data-v-7db9e800]{display:flex;flex-wrap:nowrap;box-sizing:border-box}.container-item[data-v-7db9e800]{flex:4;padding:.5em}.container textarea[data-v-7db9e800]{width:100%;height:100%;resize:vertical;min-height:20em;padding:0;margin:0}.display[data-v-7db9e800]{flex:5;background-color:rgba(0,0,0,.05)}.footer[data-v-7db9e800]{color:#666;font-size:.85em}.awesome-block{background-color:#4caf50;height:7rem;display:flex;justify-content:center;align-items:center}.awesome-block *{border:0}.sw-update-popup{position:fixed;right:1em;bottom:1em;padding:1em;border:1px solid #3eaf7c;border-radius:3px;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.5);text-align:center}.sw-update-popup button{margin-top:.5em;padding:.25em 2em}.sw-update-popup-enter-active,.sw-update-popup-leave-active{transition:opacity .3s,transform .3s}.sw-update-popup-enter,.sw-update-popup-leave-to{opacity:0;transform:translateY(50%) scale(.5)} \ No newline at end of file diff --git a/assets/img/search.83621669.svg b/assets/img/search.83621669.svg new file mode 100644 index 00000000..03d83913 --- /dev/null +++ b/assets/img/search.83621669.svg @@ -0,0 +1 @@ + diff --git a/assets/js/10.99fc608c.js b/assets/js/10.99fc608c.js new file mode 100644 index 00000000..9523973e --- /dev/null +++ b/assets/js/10.99fc608c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{217:function(t,e,n){"use strict";n.r(e);var i={name:"GithubPull",props:{id:{required:!0},user:{default:"noties"},repo:{default:"Markwon"}},computed:{githubPullHref:function(){return"https://github.com/"+this.user+"/"+this.repo+"/pull/"+this.id},linkContent:function(){return"#"+this.id}}},u=n(0),r=Object(u.a)(i,function(){var t=this.$createElement,e=this._self._c||t;return e("a",{attrs:{href:this.githubPullHref,target:"_blank",rel:"noopener noreferrer"}},[this._v(this._s(this.linkContent)),e("OutboundLink")],1)},[],!1,null,null,null);r.options.__file="GithubPull.vue";e.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/11.cdc173e9.js b/assets/js/11.cdc173e9.js new file mode 100644 index 00000000..b47a6777 --- /dev/null +++ b/assets/js/11.cdc173e9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{212:function(e,t,n){"use strict";n.r(t);n(51);var r={name:"GithubUser",props:{name:{required:!0}},computed:{githubUserProfileHref:function(){return"https://github.com/"+this.name},linkContent:function(){return"@"+this.name}}},i=n(0),s=Object(i.a)(r,function(){var e=this.$createElement,t=this._self._c||e;return t("a",{attrs:{href:this.githubUserProfileHref,target:"_blank",rel:"noopener noreferrer"}},[t("b",[this._v(this._s(this.linkContent))]),t("OutboundLink")],1)},[],!1,null,null,null);s.options.__file="GithubUser.vue";t.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/12.98308542.js b/assets/js/12.98308542.js new file mode 100644 index 00000000..2c565cb4 --- /dev/null +++ b/assets/js/12.98308542.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{213:function(t,s,i){"use strict";i.r(s);var e={name:"LegacyWarning"},n=i(0),a=Object(n.a)(e,function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[this._v("WARNING")]),this._v(" "),s("p",[this._v("This is documentation for "),s("u",[this._v("legacy")]),this._v(" versions. For the most current version "),s("a",{attrs:{href:this.$withBase("/")}},[this._v("click here.")])])])},[],!1,null,null,null);a.options.__file="LegacyWarning.vue";s.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/13.83b81b01.js b/assets/js/13.83b81b01.js new file mode 100644 index 00000000..9eac0301 --- /dev/null +++ b/assets/js/13.83b81b01.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{34:function(e,o,m){"use strict";m.r(o);m(51);var n={"commonmark-spec":{displayName:"commonmark spec",href:"https://spec.commonmark.org/0.28/"},"commonmark-spec#inline":{href:"https://spec.commonmark.org/0.28/#raw-html"},"commonmark-spec#block":{href:"https://spec.commonmark.org/0.28/#html-blocks"},"commonmark-spec#soft-break":{href:"https://spec.commonmark.org/0.28/#soft-line-breaks"},"commonmark-dingus":{displayName:"commonmark dingus",href:"https://spec.commonmark.org/dingus/"},"html-inlines":{href:"https://developer.mozilla.org/en-US/docs/Web/HTML/Inline_elements"},"html-blocks":{href:"https://developer.mozilla.org/en-US/docs/Web/HTML/Block-level_elements"},jsoup:{displayName:"Jsoup",href:"https://github.com/jhy/jsoup/"},"markwon-jsoup":{href:"https://github.com/noties/Markwon/tree/master/markwon-html-parser-impl/src/main/java/ru/noties/markwon/html/impl/jsoup"},"commonmark-java":{href:"https://github.com/atlassian/commonmark-java/",displayName:"commonmark-java"}},r={name:"Link",props:["name","displayName","href"],methods:{linkHref:function(){return this.href||n[this.name].href},linkText:function(){return this.displayName||n[this.name].displayName}}},s=m(0),t=Object(s.a)(r,function(){var e=this.$createElement,o=this._self._c||e;return o("a",{attrs:{href:this.linkHref(),target:"_blank",rel:"noopener noreferrer"}},[this._v("\n "+this._s(this.linkText())+"\n "),o("OutboundLink")],1)},[],!1,null,null,null);t.options.__file="Link.vue";o.default=t.exports}}]); \ No newline at end of file diff --git a/assets/js/14.0e5fe31e.js b/assets/js/14.0e5fe31e.js new file mode 100644 index 00000000..936dad6b --- /dev/null +++ b/assets/js/14.0e5fe31e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{89:function(t,a,e){"use strict";e.r(a);var n={name:"MavenBadge",props:["artifact","label"],methods:{mavenSearchUrl:function(){return"http://search.maven.org/#search|ga|1|g%3A%22ru.noties.markwon%22%20AND%20a%3A%22".concat(this.artifact,"%22")},shieldImgageUrl:function(){return"https://img.shields.io/maven-central/v/ru.noties.markwon/".concat(this.artifact,".svg?label=").concat(this.displayLabel)}},computed:{displayLabel:function(){return this.label||this.artifact}}},r=e(0),s=Object(r.a)(n,function(){var t=this.$createElement,a=this._self._c||t;return a("a",{attrs:{href:this.mavenSearchUrl()}},[a("img",{attrs:{src:this.shieldImgageUrl(),alt:this.displayLabel}})])},[],!1,null,null,null);s.options.__file="MavenBadge.vue";a.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/15.724f3dc4.js b/assets/js/15.724f3dc4.js new file mode 100644 index 00000000..beafa96c --- /dev/null +++ b/assets/js/15.724f3dc4.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{90:function(t,a,e){"use strict";e.r(a);var n={name:"MavenBadge2xx",props:["artifact","label"],methods:{mavenSearchUrl:function(){return"http://search.maven.org/#search|ga|1|g%3A%22ru.noties%22%20AND%20a%3A%22".concat(this.artifact,"%22")},shieldImgageUrl:function(){return"https://img.shields.io/maven-central/v/ru.noties/".concat(this.artifact,".svg?label=").concat(this.displayLabel)}},computed:{displayLabel:function(){return this.label||this.artifact}}},s=e(0),i=Object(s.a)(n,function(){var t=this.$createElement,a=this._self._c||t;return a("a",{attrs:{href:this.mavenSearchUrl()}},[a("img",{attrs:{src:this.shieldImgageUrl(),alt:this.displayLabel}})])},[],!1,null,null,null);i.options.__file="MavenBadge2xx.vue";a.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/16.076204be.js b/assets/js/16.076204be.js new file mode 100644 index 00000000..ccc828ec --- /dev/null +++ b/assets/js/16.076204be.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{214:function(t,a,e){"use strict";e.r(a);var n={name:"MavenBadge",props:["artifact","label"],methods:{mavenSearchUrl:function(){return"http://search.maven.org/#search|ga|1|g%3A%22io.noties.markwon%22%20AND%20a%3A%22".concat(this.artifact,"%22")},shieldImgageUrl:function(){return"https://img.shields.io/maven-central/v/io.noties.markwon/".concat(this.artifact,".svg?label=").concat(this.displayLabel)}},computed:{displayLabel:function(){return this.label||this.artifact}}},i=e(0),s=Object(i.a)(n,function(){var t=this.$createElement,a=this._self._c||t;return a("a",{attrs:{href:this.mavenSearchUrl()}},[a("img",{attrs:{src:this.shieldImgageUrl(),alt:this.displayLabel}})])},[],!1,null,null,null);s.options.__file="MavenBadge4.vue";a.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/17.9412daf3.js b/assets/js/17.9412daf3.js new file mode 100644 index 00000000..29aef43e --- /dev/null +++ b/assets/js/17.9412daf3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[17,14],{215:function(a,t,e){"use strict";e.r(t);var n={name:"MavenBadges",components:{MavenBadge:e(89).default}},r=e(0),i=Object(r.a)(n,function(){var a=this.$createElement,t=this._self._c||a;return t("div",[t("MavenBadge",{attrs:{artifact:"markwon"}}),this._v(" "),t("MavenBadge",{attrs:{artifact:"markwon-image-loader"}}),this._v(" "),t("MavenBadge",{attrs:{artifact:"markwon-syntax-highlight"}}),this._v(" "),t("MavenBadge",{attrs:{artifact:"markwon-view"}})],1)},[],!1,null,null,null);i.options.__file="MavenBadges.vue";t.default=i.exports},89:function(a,t,e){"use strict";e.r(t);var n={name:"MavenBadge",props:["artifact","label"],methods:{mavenSearchUrl:function(){return"http://search.maven.org/#search|ga|1|g%3A%22ru.noties.markwon%22%20AND%20a%3A%22".concat(this.artifact,"%22")},shieldImgageUrl:function(){return"https://img.shields.io/maven-central/v/ru.noties.markwon/".concat(this.artifact,".svg?label=").concat(this.displayLabel)}},computed:{displayLabel:function(){return this.label||this.artifact}}},r=e(0),i=Object(r.a)(n,function(){var a=this.$createElement,t=this._self._c||a;return t("a",{attrs:{href:this.mavenSearchUrl()}},[t("img",{attrs:{src:this.shieldImgageUrl(),alt:this.displayLabel}})])},[],!1,null,null,null);i.options.__file="MavenBadge.vue";t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/18.187f0167.js b/assets/js/18.187f0167.js new file mode 100644 index 00000000..fdd1e0ea --- /dev/null +++ b/assets/js/18.187f0167.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[18,15],{216:function(a,t,e){"use strict";e.r(t);var n={name:"MavenBadges2xx",components:{MavenBadge2xx:e(90).default}},r=e(0),i=Object(r.a)(n,function(){var a=this.$createElement,t=this._self._c||a;return t("div",[t("MavenBadge2xx",{attrs:{artifact:"markwon"}}),this._v(" "),t("MavenBadge2xx",{attrs:{artifact:"markwon-image-loader"}}),this._v(" "),t("MavenBadge2xx",{attrs:{artifact:"markwon-syntax-highlight"}}),this._v(" "),t("MavenBadge2xx",{attrs:{artifact:"markwon-view"}})],1)},[],!1,null,null,null);i.options.__file="MavenBadges2xx.vue";t.default=i.exports},90:function(a,t,e){"use strict";e.r(t);var n={name:"MavenBadge2xx",props:["artifact","label"],methods:{mavenSearchUrl:function(){return"http://search.maven.org/#search|ga|1|g%3A%22ru.noties%22%20AND%20a%3A%22".concat(this.artifact,"%22")},shieldImgageUrl:function(){return"https://img.shields.io/maven-central/v/ru.noties/".concat(this.artifact,".svg?label=").concat(this.displayLabel)}},computed:{displayLabel:function(){return this.label||this.artifact}}},r=e(0),i=Object(r.a)(n,function(){var a=this.$createElement,t=this._self._c||a;return t("a",{attrs:{href:this.mavenSearchUrl()}},[t("img",{attrs:{src:this.shieldImgageUrl(),alt:this.displayLabel}})])},[],!1,null,null,null);i.options.__file="MavenBadge2xx.vue";t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/19.af3507a7.js b/assets/js/19.af3507a7.js new file mode 100644 index 00000000..4eacff7a --- /dev/null +++ b/assets/js/19.af3507a7.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{211:function(e,t,n){"use strict";n.r(t);var r={name:"ThemeProperty",props:["name","type","defaults"]},s=n(0),_=Object(s.a)(r,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("table",[n("tr",[e._m(0),n("td",[n("code",[e._v(e._s(e.name))])])]),e._v(" "),n("tr",[e._m(1),n("td",[n("code",[e._v(e._s(e.type))])])]),e._v(" "),n("tr",[e._m(2),n("td",{domProps:{innerHTML:e._s(e.defaults)}})])])},[function(){var e=this.$createElement,t=this._self._c||e;return t("td",[t("b",[this._v("name")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("td",[t("b",[this._v("type")])])},function(){var e=this.$createElement,t=this._self._c||e;return t("td",[t("b",[this._v("default")])])}],!1,null,null,null);_.options.__file="ThemeProperty.vue";t.default=_.exports}}]); \ No newline at end of file diff --git a/assets/js/2.81714ae9.js b/assets/js/2.81714ae9.js new file mode 100644 index 00000000..2eebc705 --- /dev/null +++ b/assets/js/2.81714ae9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{205:function(n,w,o){}}]); \ No newline at end of file diff --git a/assets/js/20.dc11e22f.js b/assets/js/20.dc11e22f.js new file mode 100644 index 00000000..d50952cf --- /dev/null +++ b/assets/js/20.dc11e22f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{178:function(t,e,s){},203:function(t,e,s){"use strict";var r=s(178);s.n(r).a},271:function(t,e,s){"use strict";s.r(e);s(203);var r=s(0),i=Object(r.a)({},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"content"},[s("img",{attrs:{src:t.$withBase("/art/markwon_logo.png"),alt:"Markwon Logo",width:"50%"}}),t._v(" "),s("p",[s("br"),s("br"),t._v(" "),s("a",{attrs:{href:"http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22io.noties.markwon%22%20",target:"_blank",rel:"noopener noreferrer"}},[s("img",{attrs:{src:"https://img.shields.io/maven-central/v/io.noties.markwon/core.svg?label=markwon",alt:"markwon"}}),s("OutboundLink")],1),t._v(" "),s("a",{attrs:{href:"https://github.com/noties/Markwon/actions",target:"_blank",rel:"noopener noreferrer"}},[s("img",{attrs:{src:"https://github.com/noties/Markwon/workflows/Build/badge.svg",alt:"Build"}}),s("OutboundLink")],1)]),t._v(" "),s("p",[s("strong",[t._v("Markwon")]),t._v(" is a markdown library for Android. It parses markdown following\n"),s("Link",{attrs:{name:"commonmark-spec"}}),t._v(" with the help of amazing "),s("Link",{attrs:{name:"commonmark-java"}}),t._v(" library\nand renders result as "),s("em",[t._v("Android-native")]),t._v(" Spannables. "),s("strong",[t._v("No HTML")]),t._v(" is involved\nas an intermediate step. "),t._m(0),t._v(". It's extremely fast,\nfeature-rich and extensible.")],1),t._v(" "),s("p",[t._v("It gives ability to display markdown in all TextView widgets ("),s("strong",[t._v("TextView")]),t._v(",\n"),s("strong",[t._v("Button")]),t._v(", "),s("strong",[t._v("Switch")]),t._v(", "),s("strong",[t._v("CheckBox")]),t._v(", etc), "),s("strong",[t._v("Toasts")]),t._v(" and all other places that accept\n"),s("strong",[t._v("Spanned content")]),t._v(". Library provides reasonable defaults to display style of a markdown content\nbut also gives all the means to tweak the appearance if desired. All markdown features\nlisted in "),s("Link",{attrs:{name:"commonmark-spec"}}),t._v(" are supported (including support for "),s("strong",[t._v("inlined/block HTML code")]),t._v(",\n"),s("strong",[t._v("markdown tables")]),t._v(", "),s("strong",[t._v("images")]),t._v(" and "),s("strong",[t._v("syntax highlight")]),t._v(").")],1),t._v(" "),s("p",[t._v("Since version "),s("Badge",{attrs:{text:"4.2.0"}}),t._v(" "),s("strong",[t._v("Markwon")]),t._v(" comes with an "),s("router-link",{attrs:{to:"/docs/v4/editor/"}},[t._v("editor")]),t._v(" to "),s("em",[t._v("highlight")]),t._v(" markdown input\nas user types (for example in "),s("strong",[t._v("EditText")]),t._v(").")],1),t._v(" "),t._m(1),t._v(" "),s("ul",[t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),s("li",[s("router-link",{attrs:{to:"/docs/v4/image/"}},[t._v("Images")])],1),t._v(" "),t._m(6),t._v(" "),t._m(7),t._v(" "),s("li",[t._v("Ordered & non-ordered lists & nested ones")]),t._v(" "),s("li",[t._v("Inline code")]),t._v(" "),s("li",[t._v("Code blocks")]),t._v(" "),s("li",[s("router-link",{attrs:{to:"/docs/v4/ext-strikethrough/"}},[t._v("Strike-through")]),t._v(" ("),s("code",[t._v("~~")]),t._v(")")],1),t._v(" "),s("li",[s("router-link",{attrs:{to:"/docs/v4/ext-tables/"}},[t._v("Tables")]),t._v(" ("),s("em",[t._v("with limitations")]),t._v(")")],1),t._v(" "),s("li",[s("router-link",{attrs:{to:"/docs/v4/syntax-highlight/"}},[t._v("Syntax highlight")])],1),t._v(" "),s("li",[s("router-link",{attrs:{to:"/docs/v4/ext-latex/"}},[t._v("LaTeX")]),t._v(" formulas")],1),t._v(" "),s("li",[s("router-link",{attrs:{to:"/docs/v4/html/"}},[t._v("HTML")]),t._v(" "),s("ul",[t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15),t._v(" "),t._m(16),t._v(" "),t._m(17),t._v(" "),t._m(18),t._v(" "),s("li",[t._v("there is support to render any HTML/XML tag, but it will require to create a special "),s("code",[t._v("TagHandler")]),t._v(",\nmore information can be found in "),s("router-link",{attrs:{to:"/docs/v4/html/#taghandler"}},[t._v("HTML section")])],1)])],1),t._v(" "),s("li",[s("router-link",{attrs:{to:"/docs/v4/ext-tasklist/"}},[t._v("Task lists")]),t._v(":\n"),t._m(19)],1)]),t._v(" "),t._m(20),t._v(" "),s("img",{attrs:{src:t.$withBase("/art/mw_light_01.png"),alt:"screenshot light #1",width:"30%"}}),t._v(" "),s("img",{attrs:{src:t.$withBase("/art/mw_light_02.png"),alt:"screenshot light #2",width:"30%"}}),t._v(" "),s("img",{attrs:{src:t.$withBase("/art/mw_light_03.png"),alt:"screenshot light #3",width:"30%"}}),t._v(" "),s("img",{attrs:{src:t.$withBase("/art/mw_dark_01.png"),alt:"screenshot dark #2",width:"30%"}}),t._v(" "),t._m(21),t._v(" "),t._m(22),t._v(" "),s("br"),t._v(" "),s("AwesomeSection"),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://partiko.app/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Partico"),s("OutboundLink")],1),t._v(" - Partiko is a censorship free social network.")]),t._v(" "),s("li",[s("a",{attrs:{href:"https://play.google.com/store/apps/details?id=com.rgiskard.fairnote",target:"_blank",rel:"noopener noreferrer"}},[t._v("FairNote"),s("OutboundLink")],1),t._v(" - simple and intuitive notepad app. It gives you speed and efficiency when you write notes, to-do lists, e-mails, or jot down quick ideas.")]),t._v(" "),s("li",[s("a",{attrs:{href:"https://www.boxcryptor.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("Boxcryptor"),s("OutboundLink")],1),t._v(" - A software that adds AES-256 and RSA encryption to Dropbox, Google Drive, OneDrive and many other clouds.")]),t._v(" "),s("li",[s("a",{attrs:{href:"https://play.google.com/store/apps/details?id=com.senstone",target:"_blank",rel:"noopener noreferrer"}},[t._v("Senstone Portable Voice Assistant"),s("OutboundLink")],1),t._v(" - Senstone is a tiny wearable personal assistant powered by this App. It lets you capture your ideas, notes and reminders handsfree without pulling out your phone.")])]),t._v(" "),t._m(23),t._v(" "),s("ul",[s("li",[s("a",{attrs:{href:"https://github.com/kingideayou/MarkwonCodeEx",target:"_blank",rel:"noopener noreferrer"}},[t._v("MarkwonCodeEx"),s("OutboundLink")],1),t._v(" - Markwon extension support elegant code background.")])]),t._v(" "),s("hr"),t._v(" "),s("p",[s("a",{attrs:{href:"https://github.com/noties/Markwon/issues/new?labels=awesome&body=Please%20provide%20the%20following%3A%0A*%20Project%20name%0A*%20Project%20URL%20(repository%2C%20store%20listing%2C%20web%20page)%0A*%20Optionally%20_brand_%20image%20URL%0A%0APlease%20make%20sure%20that%20there%20is%20the%20**awesome**%20label%20selected%20for%20this%20issue.%0A%0A%F0%9F%99%8C%20",target:"_blank",rel:"noopener noreferrer"}},[t._v("Help to improve"),s("OutboundLink")],1),t._v(" this section by submitting your application or library\nthat is using "),s("code",[t._v("Markwon")])])],1)},[function(){var t=this.$createElement,e=this._self._c||t;return e("u",[e("strong",[this._v("No WebView")]),this._v(" is required")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"supported-markdown-features"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#supported-markdown-features","aria-hidden":"true"}},[this._v("#")]),this._v(" Supported markdown features")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Emphasis ("),e("code",[this._v("*")]),this._v(", "),e("code",[this._v("_")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Strong emphasis ("),e("code",[this._v("**")]),this._v(", "),e("code",[this._v("__")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Headers ("),e("code",[this._v("#{1,6}")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Links ("),e("code",[this._v("[]()")]),this._v(" && "),e("code",[this._v("[][]")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Thematic break ("),e("code",[this._v("---")]),this._v(", "),e("code",[this._v("***")]),this._v(", "),e("code",[this._v("___")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Quotes & nested quotes ("),e("code",[this._v(">{1,}")]),this._v(")")])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("li",[t._v("Emphasis ("),s("code",[t._v("")]),t._v(", "),s("code",[t._v("")]),t._v(", "),s("code",[t._v("")]),t._v(", "),s("code",[t._v("")]),t._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Strong emphasis ("),e("code",[this._v("")]),this._v(", "),e("code",[this._v("")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("SuperScript ("),e("code",[this._v("")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("SubScript ("),e("code",[this._v("")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Underline ("),e("code",[this._v("")]),this._v(", "),e("code",[this._v("ins")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Strike-through ("),e("code",[this._v("")]),this._v(", "),e("code",[this._v("")]),this._v(", "),e("code",[this._v("")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Link ("),e("code",[this._v("a")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Lists ("),e("code",[this._v("ul")]),this._v(", "),e("code",[this._v("ol")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Images ("),e("code",[this._v("img")]),this._v(" will require configured image loader)")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Blockquote ("),e("code",[this._v("blockquote")]),this._v(")")])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("li",[t._v("Heading ("),s("code",[t._v("h1")]),t._v(", "),s("code",[t._v("h2")]),t._v(", "),s("code",[t._v("h3")]),t._v(", "),s("code",[t._v("h4")]),t._v(", "),s("code",[t._v("h5")]),t._v(", "),s("code",[t._v("h6")]),t._v(")")])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ul",{staticStyle:{"list-style-type":"none",margin:"0",padding:"0"}},[s("li",[s("input",{attrs:{type:"checkbox",disabled:""}}),t._v("Not "),s("i",[t._v("done")])]),t._v(" "),s("li",[s("input",{attrs:{type:"checkbox",disabled:"",checked:""}}),s("strong",[t._v("Done")]),t._v(" with "),s("code",[t._v("X")])]),t._v(" "),s("li",[s("input",{attrs:{type:"checkbox",disabled:"",checked:""}}),s("del",[t._v("and")]),t._v(" "),s("strong",[t._v("or")]),t._v(" small "),s("code",[t._v("x")])]),s("br")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"screenshots"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#screenshots","aria-hidden":"true"}},[this._v("#")]),this._v(" Screenshots")])},function(){var t=this.$createElement,e=this._self._c||t;return e("p",[this._v("By default configuration uses TextView textColor for styling, so changing textColor changes style\n"),e("br"),e("br"),e("br")])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"awesome-block"},[e("h2",{attrs:{id:"awesome-markwon"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#awesome-markwon","aria-hidden":"true"}},[this._v("#")]),this._v(" # Awesome Markwon")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("p",[e("u",[this._v("Extension/plugins")]),this._v(":")])}],!1,null,null,null);i.options.__file="README.md";e.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/21.393a507f.js b/assets/js/21.393a507f.js new file mode 100644 index 00000000..bac9a8c9 --- /dev/null +++ b/assets/js/21.393a507f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{273:function(t,e,s){"use strict";s.r(e);var i=s(0),_=Object(i.a)({},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"content"},[s("img",{attrs:{src:t.$withBase("/art/markwon_logo.png"),alt:"Markwon Logo",width:"50%"}}),t._v(" "),s("p",[s("br"),s("br"),t._v(" "),s("MavenBadges2xx")],1),t._v(" "),s("LegacyWarning"),t._v(" "),s("p",[s("strong",[t._v("Markwon")]),t._v(" is a markdown library for Android. It parses markdown following\n"),s("Link",{attrs:{name:"commonmark-spec"}}),t._v(" with the help of amazing "),s("Link",{attrs:{name:"commonmark-java"}}),t._v(" library\nand renders result as "),s("em",[t._v("Android-native")]),t._v(" Spannables. "),s("strong",[t._v("No HTML")]),t._v(" is involved\nas an intermediate step. "),t._m(0),t._v(". It's extremely fast,\nfeature-rich and extensible.")],1),t._v(" "),s("p",[t._v("It gives ability to display markdown in all TextView widgets ("),s("strong",[t._v("TextView")]),t._v(",\n"),s("strong",[t._v("Button")]),t._v(", "),s("strong",[t._v("Switch")]),t._v(", "),s("strong",[t._v("CheckBox")]),t._v(", etc), "),s("strong",[t._v("Toasts")]),t._v(" and all other places that accept\n"),s("strong",[t._v("Spanned content")]),t._v(". Library provides reasonable defaults to display style of a markdown content\nbut also gives all the means to tweak the appearance if desired. All markdown features\nlisted in "),s("Link",{attrs:{name:"commonmark-spec"}}),t._v(" are supported (including support for "),s("strong",[t._v("inlined/block HTML code")]),t._v(",\n"),s("strong",[t._v("markdown tables")]),t._v(", "),s("strong",[t._v("images")]),t._v(" and "),s("strong",[t._v("syntax highlight")]),t._v(").")],1),t._v(" "),t._m(1),t._v(" "),s("ul",[t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),s("li",[s("router-link",{attrs:{to:"/docs/v2/image-loader.html"}},[t._v("Images")])],1),t._v(" "),t._m(7),t._v(" "),t._m(8),t._v(" "),s("li",[t._v("Ordered & non-ordered lists & nested ones")]),t._v(" "),s("li",[t._v("Inline code")]),t._v(" "),s("li",[t._v("Code blocks")]),t._v(" "),t._m(9),t._v(" "),s("li",[s("router-link",{attrs:{to:"/docs/v2/syntax-highlight.html"}},[t._v("Syntax highlight")])],1),t._v(" "),s("li",[s("router-link",{attrs:{to:"/docs/v2/html.html"}},[t._v("HTML")]),t._v(" "),s("ul",[t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15),t._v(" "),t._m(16),t._v(" "),t._m(17),t._v(" "),t._m(18),t._v(" "),t._m(19),t._v(" "),t._m(20),t._v(" "),s("li",[t._v("there is support to render any HTML tag, but it will require to create a special "),s("code",[t._v("TagHandler")]),t._v(",\nmore information can be found in "),s("router-link",{attrs:{to:"/docs/v2/html.html#custom-tag-handler"}},[t._v("HTML section")])],1)])],1),t._v(" "),s("li",[t._v("Task lists:")])]),t._v(" "),t._m(21),t._v(" "),t._m(22),t._v(" "),s("img",{attrs:{src:t.$withBase("/art/mw_light_01.png"),alt:"screenshot light #1",width:"30%"}}),t._v(" "),s("img",{attrs:{src:t.$withBase("/art/mw_light_02.png"),alt:"screenshot light #2",width:"30%"}}),t._v(" "),s("img",{attrs:{src:t.$withBase("/art/mw_light_03.png"),alt:"screenshot light #3",width:"30%"}}),t._v(" "),s("img",{attrs:{src:t.$withBase("/art/mw_dark_01.png"),alt:"screenshot dark #2",width:"30%"}}),t._v(" "),s("p",[t._v("By default configuration uses TextView textColor for styling, so changing textColor changes style")]),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("Sample application")]),t._v(" "),s("p",[t._v("Screenshots are taken from sample application. It is a generic markdown viewer\nwith support to display markdown content via "),s("code",[t._v("http")]),t._v(", "),s("code",[t._v("https")]),t._v(" & "),s("code",[t._v("file")]),t._v(" schemes\nand 2 themes included: Light & Dark. It can be downloaded from "),s("a",{attrs:{href:"https://github.com/noties/Markwon/releases",target:"_blank",rel:"noopener noreferrer"}},[t._v("releases"),s("OutboundLink")],1)])])],1)},[function(){var t=this.$createElement,e=this._self._c||t;return e("u",[e("strong",[this._v("No WebView")]),this._v(" is required")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"supported-markdown-features"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#supported-markdown-features","aria-hidden":"true"}},[this._v("#")]),this._v(" Supported markdown features:")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Emphasis ("),e("code",[this._v("*")]),this._v(", "),e("code",[this._v("_")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Strong emphasis ("),e("code",[this._v("**")]),this._v(", "),e("code",[this._v("__")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Strike-through ("),e("code",[this._v("~~")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Headers ("),e("code",[this._v("#{1,6}")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Links ("),e("code",[this._v("[]()")]),this._v(" && "),e("code",[this._v("[][]")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Thematic break ("),e("code",[this._v("---")]),this._v(", "),e("code",[this._v("***")]),this._v(", "),e("code",[this._v("___")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Quotes & nested quotes ("),e("code",[this._v(">{1,}")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Tables ("),e("em",[this._v("with limitations")]),this._v(")")])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("li",[t._v("Emphasis ("),s("code",[t._v("")]),t._v(", "),s("code",[t._v("")]),t._v(", "),s("code",[t._v("")]),t._v(", "),s("code",[t._v("")]),t._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Strong emphasis ("),e("code",[this._v("")]),this._v(", "),e("code",[this._v("")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("SuperScript ("),e("code",[this._v("")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("SubScript ("),e("code",[this._v("")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Underline ("),e("code",[this._v("")]),this._v(", "),e("code",[this._v("ins")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Strike-through ("),e("code",[this._v("")]),this._v(", "),e("code",[this._v("")]),this._v(", "),e("code",[this._v("")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Link ("),e("code",[this._v("a")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Lists ("),e("code",[this._v("ul")]),this._v(", "),e("code",[this._v("ol")]),this._v(")")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Images ("),e("code",[this._v("img")]),this._v(" will require configured image loader)")])},function(){var t=this.$createElement,e=this._self._c||t;return e("li",[this._v("Blockquote ("),e("code",[this._v("blockquote")]),this._v(")")])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("li",[t._v("Heading ("),s("code",[t._v("h1")]),t._v(", "),s("code",[t._v("h2")]),t._v(", "),s("code",[t._v("h3")]),t._v(", "),s("code",[t._v("h4")]),t._v(", "),s("code",[t._v("h5")]),t._v(", "),s("code",[t._v("h6")]),t._v(")")])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("ul",[s("li",[t._v("[ ] Not "),s("em",[t._v("done")]),t._v(" "),s("ul",[s("li",[t._v("[X] "),s("strong",[t._v("Done")]),t._v(" with "),s("code",[t._v("X")])]),t._v(" "),s("li",[t._v("[x] "),s("s",[t._v("and")]),t._v(" "),s("strong",[t._v("or")]),t._v(" small "),s("code",[t._v("x")])])])])])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"screenshots"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#screenshots","aria-hidden":"true"}},[this._v("#")]),this._v(" Screenshots")])}],!1,null,null,null);_.options.__file="README.md";e.default=_.exports}}]); \ No newline at end of file diff --git a/assets/js/22.a6ac92c5.js b/assets/js/22.a6ac92c5.js new file mode 100644 index 00000000..90754073 --- /dev/null +++ b/assets/js/22.a6ac92c5.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{274:function(t,a,s){"use strict";s.r(a);var n=s(0),e=Object(n.a)({},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"content"},[t._m(0),t._v(" "),s("LegacyWarning"),t._v(" "),t._m(1),t._v(" "),t._m(2),t._m(3),t._m(4),t._v(" "),s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("Images")]),t._v(" "),s("p",[t._v("If you plan on using images inside your markdown/HTML, you will have to "),s("strong",[t._v("explicitly")]),t._v("\nregister an implementation of "),s("code",[t._v("AsyncDrawable.Loader")]),t._v(" via "),s("code",[t._v("#asyncDrawableLoader")]),t._v(" builder method.\n"),s("code",[t._v("Markwon")]),t._v(" comes with ready implementation for that and it can be found in\n"),s("code",[t._v("markwon-image-loader")]),t._v(" module. Refer to module "),s("router-link",{attrs:{to:"/docs/v2/image-loader.html"}},[t._v("documentation")])],1)]),t._v(" "),t._m(5),t._v(" "),s("p",[s("code",[t._v("SpannableTheme")]),t._v(" controls how markdown is rendered. It has pretty extensive number of\noptions that can be found "),s("router-link",{attrs:{to:"/docs/v2/theme.html"}},[t._v("here")])],1),t._v(" "),t._m(6),t._m(7),t._v(" "),t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._m(12),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("Implementation")]),t._v(" "),s("p",[t._v("There are no restrictions on what implementation to use, but "),s("code",[t._v("Markwon")]),t._v(" has artifact that can\nanswer the most common needs of displaying SVG, GIF and other image formats. It can be found "),s("router-link",{attrs:{to:"/docs/v2/image-loader.html"}},[t._v("here")])],1)]),t._v(" "),s("h3",{attrs:{id:"size-resolver"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#size-resolver","aria-hidden":"true"}},[t._v("#")]),t._v(" Size resolver "),s("Badge",{attrs:{text:"1.0.1"}})],1),t._v(" "),t._m(13),t._v(" "),t._m(14),t._m(15),t._v(" "),t._m(16),t._v(" "),t._m(17),t._m(18),t._v(" "),t._m(19),t._v(" "),t._m(20),t._v(" "),t._m(21),t._v(" "),t._m(22),t._m(23),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("Syntax highlight")]),t._v(" "),s("p",[t._v("Although "),s("code",[t._v("SyntaxHighlight")]),t._v(" interface was included with the very first version\nof "),s("code",[t._v("Markwon")]),t._v(" there were no ready-to-use implementations. But starting with "),s("Badge",{attrs:{text:"1.1.0"}}),t._v(" "),s("code",[t._v("Markwon")]),t._v(" provides one. It can be found in "),s("code",[t._v("markwon-syntax-highlight")]),t._v(" artifact. Refer\nto module "),s("router-link",{attrs:{to:"/docs/v2/syntax-highlight.html"}},[t._v("documentation")])],1)]),t._v(" "),t._m(24),t._v(" "),t._m(25),t._v(" "),t._m(26),t._m(27),t._v(" "),t._m(28),t._v(" "),t._m(29),t._v(" "),t._m(30),t._m(31),t._v(" "),t._m(32),t._v(" "),t._m(33),t._v(" "),t._m(34),t._v(" "),t._m(35),t._v(" "),t._m(36),t._v(" "),t._m(37),t._v(" "),s("h2",{attrs:{id:"factory"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#factory","aria-hidden":"true"}},[t._v("#")]),t._v(" Factory "),s("Badge",{attrs:{text:"1.1.0"}})],1),t._v(" "),t._m(38),t._v(" "),t._m(39),s("p",[t._v("If not provided explicitly, default "),s("code",[t._v("SpannableFactoryDef")]),t._v(" implementation will be used. It is documented\nin "),s("router-link",{attrs:{to:"/docs/v2/factory.html"}},[t._v("this section")])],1),t._v(" "),s("h2",{attrs:{id:"soft-line-break"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#soft-line-break","aria-hidden":"true"}},[t._v("#")]),t._v(" Soft line break "),s("Badge",{attrs:{text:"1.1.1"}})],1),t._v(" "),t._m(40),t._v(" "),t._m(41),t._m(42),t._v(" "),s("Link",{attrs:{name:"commonmark-spec#soft-break",displayName:"Commonmark specification"}}),t._v(" "),s("h2",{attrs:{id:"html"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#html","aria-hidden":"true"}},[t._v("#")]),t._v(" HTML "),s("Badge",{attrs:{text:"2.0.0"}})],1),t._v(" "),t._m(43),t._v(" "),t._m(44),t._v(" "),t._m(45),s("p",[t._v("if not provided explicitly, default "),s("code",[t._v("MarkwonHtmlParserImpl")]),t._v(" will be used\n"),s("strong",[t._v("if")]),t._v(" it can be found in classpath, otherwise default "),s("strong",[t._v("no-op")]),t._v(" implementation\nwiil be used. Refer to "),s("router-link",{attrs:{to:"/docs/v2/html.html#parser"}},[t._v("HTML")]),t._v(" document for more information about this behavior.")],1),t._v(" "),t._m(46),t._v(" "),t._m(47),t._v(" "),t._m(48),s("p",[t._v("If not provided explicitly, default "),s("code",[t._v("MarkwonHtmlRenderer")]),t._v(" implementation will be used.\nIt is documented "),s("router-link",{attrs:{to:"/docs/v2/html.html#renderer"}},[t._v("here")])],1),t._v(" "),t._m(49),t._v(" "),t._m(50),t._v(" "),t._m(51),t._m(52)],1)},[function(){var t=this.$createElement,a=this._self._c||t;return a("h1",{attrs:{id:"configuration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configuration","aria-hidden":"true"}},[this._v("#")]),this._v(" Configuration")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("SpannableConfiguration")]),this._v(" is the core component that controls how markdown is parsed and rendered.\nIt can be obtained via factory methods:")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// creates default implementation")]),t._v("\n"),s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" SpannableConfiguration configuration "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" SpannableConfiguration"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token comment"}},[t._v("// creates configurablable instance via `#builder` method")]),t._v("\n"),s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" SpannableConfiguration configuration "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" SpannableConfiguration"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("asyncDrawableLoader")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[this._v("Note")]),this._v(" "),a("p",[this._v("If "),a("code",[this._v("#builder")]),this._v(" factory method is used, you do not need to specify default\nvalues as they will be applied automatically")])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"theme"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#theme","aria-hidden":"true"}},[this._v("#")]),this._v(" Theme")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("SpannableConfiguration"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("theme")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("SpannableTheme"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("If "),a("code",[this._v("SpannableTheme")]),this._v(" is not provided explicitly, "),a("code",[this._v("SpannableTheme.create(context)")]),this._v(" will be used")])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"images"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#images","aria-hidden":"true"}},[this._v("#")]),this._v(" Images")])},function(){var t=this.$createElement,a=this._self._c||t;return a("h3",{attrs:{id:"async-loader"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#async-loader","aria-hidden":"true"}},[this._v("#")]),this._v(" Async loader")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("AsyncDrawable.Loader")]),this._v(" handles images in your markdown and HTML")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("SpannableConfiguration"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("asyncDrawableLoader")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("AsyncDrawable"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Loader"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("If "),a("code",[this._v("AsyncDrawable.Loader")]),this._v(" is not provided explicitly, default "),a("strong",[this._v("no-op")]),this._v(" implementation will be used.")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("ImageSizeResolver")]),this._v(" controls the size of an image to be displayed. Currently it\nhandles only HTML images (specified via "),a("code",[this._v("img")]),this._v(" tag).")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("SpannableConfiguration"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("imageSizeResolver")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ImageSizeResolver"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("If not provided explicitly, default "),a("code",[this._v("ImageSizeResolverDef")]),this._v(" implementation will be used.\nIt handles 3 dimention units:")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ul",[s("li",[s("code",[t._v("%")]),t._v(" (percent)")]),t._v(" "),s("li",[s("code",[t._v("em")]),t._v(" (relative to text size)")]),t._v(" "),s("li",[s("code",[t._v("px")]),t._v(" (absolute size, every dimention that is not "),s("code",[t._v("%")]),t._v(" or "),s("code",[t._v("em")]),t._v(" is considered to be "),s("em",[t._v("absolute")]),t._v(")")])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-html extra-class"},[s("pre",{pre:!0,attrs:{class:"language-html"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("img")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("width")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("100%"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("img")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("width")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("2em"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("height")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("10px"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("img")]),s("span",{attrs:{class:"token style-attr language-css"}},[s("span",{attrs:{class:"token attr-name"}},[t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("style")])]),s("span",{attrs:{class:"token punctuation"}},[t._v('="')]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{attrs:{class:"token property"}},[t._v("width")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 100%"),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),s("span",{attrs:{class:"token property"}},[t._v("height")]),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 8em"),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),s("span",{attrs:{class:"token punctuation"}},[t._v("}")])]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("ImageSizeResolverDef")]),this._v(" keeps the ratio of original image if one of the dimentions is missing.")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("Height%")]),t._v(" "),s("p",[t._v("There is no support for "),s("code",[t._v("%")]),t._v(" units for "),s("code",[t._v("height")]),t._v(" dimention. This is due to the fact that\nheight of an TextView in which markdown is displayed is non-stable and changes with time\n(for example when image is loaded and applied to a TextView it will "),s("em",[t._v("increase")]),t._v(" TextView's height),\nso we will have no point-of-refence from which to "),s("em",[t._v("calculate")]),t._v(" image height.")])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"syntax-highlight"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#syntax-highlight","aria-hidden":"true"}},[this._v("#")]),this._v(" Syntax highlight")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("SyntaxHighlight")]),this._v(" controls the syntax highlight for code blocks (in markdown).")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("SpannableConfiguration"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("syntaxHighlight")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("SyntaxHighlight"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("If not provided explicitly, default "),a("strong",[this._v("no-op")]),this._v(" implementation will be used.")])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"link-resolver"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#link-resolver","aria-hidden":"true"}},[this._v("#")]),this._v(" Link resolver")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("LinkSpan.Resolver")]),this._v(" is triggered when a link is clicked in markdown/HTML.")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("SpannableConfiguration"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("linkResolver")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("LinkSpan"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Resolver"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("If not provided explicitly, default "),a("code",[this._v("LinkResolverDef")]),this._v(" implementation will be used.\nUnderneath it constructs an "),a("code",[this._v("Intent")]),this._v(" and "),a("em",[this._v("tries")]),this._v(" to start an Activity associated with it.\nIt no Activity is found, it will silently fail (no runtime exceptions)")])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"url-processor"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#url-processor","aria-hidden":"true"}},[this._v("#")]),this._v(" URL processor")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("UrlProcessor")]),this._v(" is used to process found URLs in markdown/HTML.")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("SpannableConfiguration"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("urlProcessor")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("UrlProcessor"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("If not provided explicitly, default "),a("strong",[this._v("no-op")]),this._v(" implementation will be used.")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("Markwon")]),this._v(" provides 2 implementations of "),a("code",[this._v("UrlProcessor")]),this._v(":")])},function(){var t=this.$createElement,a=this._self._c||t;return a("ul",[a("li",[a("code",[this._v("UrlProcessorRelativeToAbsolute")])]),this._v(" "),a("li",[a("code",[this._v("UrlProcessorAndroidAssets")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h3",{attrs:{id:"urlprocessorrelativetoabsolute"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#urlprocessorrelativetoabsolute","aria-hidden":"true"}},[this._v("#")]),this._v(" UrlProcessorRelativeToAbsolute")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("p",[s("code",[t._v("UrlProcessorRelativeToAbsolute")]),t._v(" can be used to make relative URL absolute. For example if an image is\ndefined like this: "),s("code",[t._v("![img](./art/image.JPG)")]),t._v(" and "),s("code",[t._v("UrlProcessorRelativeToAbsolute")]),t._v("\nis created with "),s("code",[t._v("https://github.com/noties/Markwon/raw/master/")]),t._v(" as the base:\n"),s("code",[t._v('new UrlProcessorRelativeToAbsolute("https://github.com/noties/Markwon/raw/master/")')]),t._v(",\nthen final image will have "),s("code",[t._v("https://github.com/noties/Markwon/raw/master/art/image.JPG")]),t._v("\nas the destination.")])},function(){var t=this.$createElement,a=this._self._c||t;return a("h3",{attrs:{id:"urlprocessorandroidassets"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#urlprocessorandroidassets","aria-hidden":"true"}},[this._v("#")]),this._v(" UrlProcessorAndroidAssets")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("UrlProcessorAndroidAssets")]),this._v(" can be used to make processed links to point to Android assets folder.\nSo an image: "),a("code",[this._v("![img](./art/image.JPG)")]),this._v(" will have "),a("code",[this._v("file:///android_asset/art/image.JPG")]),this._v(" as the\ndestination")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("SpannableFactory")]),this._v(" is used to control "),a("em",[this._v("what")]),this._v(" span implementations to be used")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("SpannableConfiguration"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("factory")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("SpannableFactory"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("softBreakAddsNewLine")]),this._v(" option controls how "),a("em",[this._v("soft breaks")]),this._v(" are treated in the final result.\nIf "),a("code",[this._v("true")]),this._v(" -> soft break will add a new line, else it will add a "),a("code"),this._v(" (space) char.")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("SpannableConfiguration"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("softBreakAddsNewLine")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("boolean")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("If not provided explicitly, default "),a("code",[this._v("false")]),this._v(" value will be used.")])},function(){var t=this.$createElement,a=this._self._c||t;return a("h3",{attrs:{id:"parser"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parser","aria-hidden":"true"}},[this._v("#")]),this._v(" Parser")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("MarkwonHtmlParser")]),this._v(" is used to parse HTML content")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("SpannableConfiguration"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("htmlParser")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("MarkwonHtmlParser"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h3",{attrs:{id:"renderer"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#renderer","aria-hidden":"true"}},[this._v("#")]),this._v(" Renderer")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("MarkwonHtmlRenderer")]),this._v(" controls how parsed HTML content will be rendered.")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("SpannableConfiguration"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("htmlRenderer")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("MarkwonHtmlRenderer"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h3",{attrs:{id:"html-allow-non-closed-tags"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#html-allow-non-closed-tags","aria-hidden":"true"}},[this._v("#")]),this._v(" HTML allow non-closed tags")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("htmlAllowNonClosedTags")]),this._v(" option is used to control whether or not to\nrender non-closed HTML tags")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("SpannableConfiguration"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("htmlAllowNonClosedTags")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("boolean")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("If not provided explicitly, default value "),a("code",[this._v("false")]),this._v(" will be used (non-closed tags "),a("strong",[this._v("won't")]),this._v(" be rendered).")])}],!1,null,null,null);e.options.__file="configure.md";a.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/23.9edcc0b3.js b/assets/js/23.9edcc0b3.js new file mode 100644 index 00000000..b6d6da55 --- /dev/null +++ b/assets/js/23.9edcc0b3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{276:function(t,s,n){"use strict";n.r(s);var a=n(0),e=Object(a.a)({},function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("div",{staticClass:"content"},[n("h1",{attrs:{id:"factory"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#factory","aria-hidden":"true"}},[t._v("#")]),t._v(" Factory "),n("Badge",{attrs:{text:"1.1.0"}})],1),t._v(" "),n("LegacyWarning"),t._v(" "),t._m(0),t._v(" "),t._m(1),t._m(2),t._v(" "),n("p",[t._v("Spans:")]),t._v(" "),n("ul",[t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7),t._v(" "),t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),n("li",[n("code",[t._v("paragraph")]),t._v(" "),n("Badge",{attrs:{text:"1.1.1"}})],1),t._v(" "),t._m(14),t._v(" "),t._m(15),t._v(" "),t._m(16),t._v(" "),t._m(17),t._v(" "),t._m(18)]),t._v(" "),t._m(19),t._v(" "),n("div",{staticClass:"tip custom-block"},[n("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),n("p",[t._v("All factory methods in "),n("code",[t._v("SpannableFactory")]),t._v(" return an "),n("code",[t._v("Object")]),t._v(", but you can actually\nreturn an "),n("strong",[t._v("array of Objects")]),t._v(" if you wish to apply multiple Spans to a single styling node.\nFor example, let's make all "),n("em",[t._v("emphasis")]),t._v(" also "),n("span",{style:{color:"#F00"}},[t._v("red")]),t._v(":")]),t._v(" "),t._m(20)])],1)},[function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("code",[this._v("SpannableFactory")]),this._v(" is used to create Span implementations.")])},function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("div",{staticClass:"language-java extra-class"},[n("pre",{pre:!0,attrs:{class:"language-java"}},[n("code",[t._v("SpannableConfiguration"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("builder")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("factory")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("SpannableFactory"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("build")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("code",[this._v("Markwon")]),this._v(" provides default "),s("code",[this._v("SpannableFactoryDef")]),this._v(" implementation that is\nused by default.")])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("code",[this._v("strongEmphasis")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("code",[this._v("emphasis")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("code",[this._v("blockQuote")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("code",[this._v("code")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("code",[this._v("orderedListItem")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("code",[this._v("bulletListItem")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("code",[this._v("thematicBreak")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("code",[this._v("heading")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("code",[this._v("strikethrough")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("code",[this._v("taskListItem")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("code",[this._v("tableRow")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("code",[this._v("image")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("code",[this._v("link")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("code",[this._v("superScript")]),this._v(" (HTML content only)")])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("code",[this._v("subScript")]),this._v(" (HTML content only)")])},function(){var t=this.$createElement,s=this._self._c||t;return s("li",[s("code",[this._v("underline")]),this._v(" (HTML content only)")])},function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("div",{staticClass:"tip custom-block"},[n("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),n("p",[n("code",[t._v("SpannableFactory")]),t._v(" can be used to ignore some kinds of text markup. If, for example,\nyou do not wish to apply "),n("em",[t._v("emphasis")]),t._v(" styling to your final result, just return "),n("code",[t._v("null")]),t._v("\nfrom "),n("code",[t._v("emphasis")]),t._v(" factory method:")]),t._v(" "),n("div",{staticClass:"language-java extra-class"},[n("pre",{pre:!0,attrs:{class:"language-java"}},[n("code",[n("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Nullable")]),t._v("\n"),n("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n"),n("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Object "),n("span",{attrs:{class:"token function"}},[t._v("emphasis")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" null"),n("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])},function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("div",{staticClass:"language-java extra-class"},[n("pre",{pre:!0,attrs:{class:"language-java"}},[n("code",[n("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Nullable")]),t._v("\n"),n("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n"),n("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Object "),n("span",{attrs:{class:"token function"}},[t._v("emphasis")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),n("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{attrs:{class:"token class-name"}},[t._v("Object")]),n("span",{attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{attrs:{class:"token keyword"}},[t._v("super")]),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("emphasis")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{attrs:{class:"token class-name"}},[t._v("ForegroundColorSpan")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Color"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("RED"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])}],!1,null,null,null);e.options.__file="factory.md";s.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/24.073942b3.js b/assets/js/24.073942b3.js new file mode 100644 index 00000000..898fc20d --- /dev/null +++ b/assets/js/24.073942b3.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{277:function(t,n,a){"use strict";a.r(n);var s=a(0),e=Object(s.a)({},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"content"},[t._m(0),t._v(" "),a("LegacyWarning"),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._m(4),t._v(" "),t._m(5),t._m(6),t._v(" "),a("p",[t._v("When you need to customize markdown parsing/rendering you can use "),a("router-link",{attrs:{to:"/docs/v2/configure.html"}},[t._v("SpannableConfiguration")]),t._v(":")],1),t._v(" "),t._m(7),t._m(8),t._v(" "),a("p",[t._v("In order to understand how previous examples work, let's break them down:")]),t._v(" "),a("ul",[a("li",[t._v("construct a "),a("code",[t._v("Parser")]),t._v(" (see: "),a("Link",{attrs:{name:"commonmark-java"}}),t._v(") and parse markdown")],1),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),a("li",[t._v("prepares TextView to display images, tables and links")]),t._v(" "),a("li",[t._v("sets text")])]),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),a("p",[t._v("If you are having trouble with "),a("code",[t._v("LinkMovementMethod")]),t._v(" you can use\n"),a("code",[t._v("Markwon.setText(textView, markdown, movementMethod)")]),t._v(" method "),a("Badge",{attrs:{text:"1.0.6"}}),t._v(" to specify "),a("em",[t._v("no")]),t._v(" movement\nmethod (aka "),a("code",[t._v("null")]),t._v(") or own implementation. As an alternative to the system "),a("code",[t._v("LinkMovementMethod")]),t._v("\nyou can use "),a("a",{attrs:{href:"https://github.com/saket/Better-Link-Movement-Method",target:"_blank",rel:"noopener noreferrer"}},[t._v("Better-Link-Movement-Method"),a("OutboundLink")],1),t._v(".\nPlease note that "),a("code",[t._v("Markwon.setText")]),t._v(" method expects "),a("em",[t._v("parsed")]),t._v(" markdown as the second argument.")],1)])],1)},[function(){var t=this.$createElement,n=this._self._c||t;return n("h1",{attrs:{id:"getting-started"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#getting-started","aria-hidden":"true"}},[this._v("#")]),this._v(" Getting started")])},function(){var t=this.$createElement,n=this._self._c||t;return n("h2",{attrs:{id:"quick-one"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#quick-one","aria-hidden":"true"}},[this._v("#")]),this._v(" Quick one")])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("This is the most simple way to set markdown to a "),n("code",[this._v("TextView")]),this._v(" or any of its siblings:")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[t._v("Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("setMarkdown")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("textView"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"**Hello there!**"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("The most simple way to obtain markdown to be applied "),n("em",[this._v("somewhere")]),this._v(" else:")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// parsed and styled markdown")]),t._v("\n"),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" CharSequence markdown "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("markdown")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"**Hello there!**"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("// use it")]),t._v("\nToast"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("makeText")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" markdown"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" Toast"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("LENGTH_LONG"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("show")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("h2",{attrs:{id:"longer-one"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#longer-one","aria-hidden":"true"}},[this._v("#")]),this._v(" Longer one")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" SpannableConfiguration configuration "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" SpannableConfiguration"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("asyncDrawableLoader")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("AsyncDrawableLoader"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("create")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\nMarkwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("setMarkdown")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("textView"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"Are **you** still there?"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" CharSequence markdown "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("markdown")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"Are **you** still there?"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nToast"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("makeText")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" markdown"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" Toast"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("LENGTH_LONG"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("show")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("h2",{attrs:{id:"no-magic-one"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#no-magic-one","aria-hidden":"true"}},[this._v("#")]),this._v(" No magic one")])},function(){var t=this.$createElement,n=this._self._c||t;return n("li",[this._v("construct a "),n("code",[this._v("SpannableConfiguration")]),this._v(" (if it's not provided)")])},function(){var t=this.$createElement,n=this._self._c||t;return n("li",[n("em",[this._v("render")]),this._v(" parsed markdown to Spannable (via "),n("code",[this._v("SpannableRenderer")]),this._v(")")])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("This flow answers the most simple usage of displaying markdown: one shot parsing\n& configuration of relatively small markdown chunks. If your markdown contains\na lot of text or you plan to display multiple UI widgets with markdown you might\nconsider "),n("em",[this._v("stepping in")]),this._v(" and taking control of this flow.")])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("The candidate requirements to "),n("em",[this._v("step in")]),this._v(":")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ul",[a("li",[t._v("parsing and processing of parsed markdown in a background thread")]),t._v(" "),a("li",[t._v("reusing "),a("code",[t._v("Parser")]),t._v(" and/or "),a("code",[t._v("SpannableConfiguration")]),t._v(" between multiple calls")]),t._v(" "),a("li",[t._v("ignore images or tables specific logic (you know that markdown won't contain them)")])])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("So, if we expand "),n("code",[this._v("Markwon.setMarkdown(textView, markdown)")]),this._v(" method we will see the following:")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// create a Parser instance (can be done manually)")]),t._v("\n"),a("span",{attrs:{class:"token comment"}},[t._v("// internally creates default Parser instance & registers `strike-through` & `tables` extension")]),t._v("\n"),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Parser parser "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("createParser")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("// core class to display markdown, can be obtained via this method,")]),t._v("\n"),a("span",{attrs:{class:"token comment"}},[t._v("// which creates default instance (no images handling though),")]),t._v("\n"),a("span",{attrs:{class:"token comment"}},[t._v("// or via `builder` method, which lets you to configure this instance")]),t._v("\n"),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" SpannableConfiguration configuration "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" SpannableConfiguration"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("create")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" SpannableRenderer renderer "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("SpannableRenderer")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Node node "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" parser"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("parse")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("markdown"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" CharSequence text "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" renderer"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("render")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" node"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("// for links in markdown to be clickable")]),t._v("\ntextView"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("setMovementMethod")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("LinkMovementMethod"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("getInstance")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("// we need these due to the limited nature of Spannables to invalidate TextView")]),t._v("\nMarkwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("unscheduleDrawables")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("textView"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nMarkwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("unscheduleTableRows")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("textView"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("// @since 2.0.1 we must measure ordered list items _before_ they are rendered")]),t._v("\nOrderedListItemSpan"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("measure")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("view"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" text"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\ntextView"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("setText")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("text"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\nMarkwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("scheduleDrawables")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("textView"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nMarkwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("scheduleTableRows")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("textView"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])}],!1,null,null,null);e.options.__file="getting-started.md";n.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/25.507307eb.js b/assets/js/25.507307eb.js new file mode 100644 index 00000000..fb4c3b7f --- /dev/null +++ b/assets/js/25.507307eb.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{279:function(t,a,s){"use strict";s.r(a);var n=s(0),e=Object(n.a)({},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"content"},[s("h1",{attrs:{id:"html"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#html","aria-hidden":"true"}},[t._v("#")]),t._v(" HTML "),s("Badge",{attrs:{text:"2.0.0"}})],1),t._v(" "),s("LegacyWarning"),t._v(" "),s("p",[t._v("Starting with version "),s("code",[t._v("2.0.0")]),t._v(" "),s("code",[t._v("Markwon")]),t._v(" brings the whole HTML parsing/rendering\nstack "),s("em",[t._v("on-site")]),t._v(". The main reason for this are "),s("em",[t._v("special")]),t._v(" definitions of HTML nodes\nby "),s("Link",{attrs:{name:"commonmark-spec"}}),t._v(". More specifically: "),s("Link",{attrs:{name:"commonmark-spec#inline",displayName:"inline"}}),t._v("\nand "),s("Link",{attrs:{name:"commonmark-spec#block",displayName:"block"}}),t._v(".\nThese two are "),s("em",[t._v("a bit")]),t._v(" different from "),s("em",[t._v("native")]),t._v(" HTML understanding.\nWell, they are "),s("em",[t._v("completely")]),t._v(" different and share only the same names as\n"),s("Link",{attrs:{name:"html-inlines",displayName:"HTML-inline"}}),t._v(" and "),s("Link",{attrs:{name:"html-blocks",displayName:"HTML-block"}}),t._v("\nelements. This leads to situations when for example an "),s("code",[t._v("")]),t._v(" tag is considered\na block when it's used like this:")],1),t._v(" "),t._m(0),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("A bit of background")]),t._v(" "),s("br"),t._v(" "),s("GithubIssue",{attrs:{id:"52",displayName:"This issue"}}),t._v(" had brought attention to differences between HTML & commonmark implementations. "),s("br"),s("br")],1),t._v(" "),t._m(1),t._v(" "),t._m(2),s("p",[t._v("We have just added a "),s("code",[t._v("new-line")]),t._v(" before closing "),s("code",[t._v("")]),t._v(" tag. And this\nchanges everything as now, according to the "),s("Link",{attrs:{name:"commonmark-dingus"}}),t._v(",\nwe have 2 HtmlBlocks: one before "),s("code",[t._v("new-line")]),t._v(" (containing open "),s("code",[t._v("")]),t._v(" tag and text content)\nand one after (containing as little as closing "),s("code",[t._v("")]),t._v(" tag).")],1),t._v(" "),t._m(3),t._v(" "),t._m(4),s("p",[t._v("We will have 1 HtmlBlock (from previous snippet) and a bunch of HtmlInlines:")]),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7),t._v(" "),t._m(8),t._v(" "),s("p",[t._v("We will get:")]),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),s("p",[t._v("Which will be rendered in a final document:")]),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),s("p",[t._v("We, on the other hand, do not posess HTML heritage ("),s("em",[t._v("thank 🤖!")]),t._v("), but still\nwant to display some HTML to style resulting markdown a bit. That's why "),s("code",[t._v("Markwon")]),t._v("\nincorporated own HTML parsing logic. It is based on the "),s("Link",{attrs:{name:"jsoup"}}),t._v(" project.\nAnd makes usage of the "),s("code",[t._v("Tokekiser")]),t._v(" class that allows to "),s("em",[t._v("tokenise")]),t._v(" input HTML.\nAll other code that doesn't follow this purpose was removed. It's safe to use\nin projects that already have "),s("code",[t._v("jsoup")]),t._v(" dependency as "),s("code",[t._v("Markwon")]),t._v(" repackaged "),s("strong",[t._v("jsoup")]),t._v(" source classes\n(which could be found "),s("Link",{attrs:{name:"markwon-jsoup",displayName:"here"}}),t._v(")")],1),t._v(" "),t._m(14),t._v(" "),t._m(15),t._v(" "),t._m(16),t._v(" "),t._m(17),t._v(" "),t._m(18),t._m(19),t._v(" "),t._m(20),t._m(21),t._v(" "),t._m(22),t._v(" "),s("p",[t._v("Consider this:")]),t._v(" "),t._m(23),t._v(" "),t._m(24),t._v(" "),t._m(25),t._v(" "),t._m(26),t._v(" "),t._m(27),t._m(28),t._v(" "),t._m(29),t._v(" "),s("p",[s("code",[t._v("MarkwonHtmlParserImpl")]),t._v(" does not create a unified HTML node. Instead it creates\n2 collections: inline tags and block tags. Inline tags are represented as a "),s("code",[t._v("List")]),t._v("\nof inline tags ("),s("Link",{attrs:{name:"html-inlines",displayName:"reference"}}),t._v("). And\nblock tags are structured in a tree. This helps to achieve "),s("em",[t._v("browser")]),t._v("-like behaviour,\nwhen open inline tag is applied to all content (even if inside blocks) until closing tag.\nAll tags that are not "),s("em",[t._v("inline")]),t._v(" are considered to be "),s("em",[t._v("block")]),t._v(" ones.")],1),t._v(" "),t._m(30),t._v(" "),t._m(31),t._v(" "),s("p",[t._v("Default implementation can be obtain like this:")]),t._v(" "),t._m(32),t._m(33),t._v(" "),t._m(34),t._v(" "),t._m(35),t._v(" "),t._m(36),t._m(37),t._v(" "),t._m(38),t._m(39),t._v(" "),t._m(40),t._v(" "),t._m(41),t._m(42),t._v(" "),t._m(43),t._m(44),t._v(" "),t._m(45),t._m(46),t._v(" "),t._m(47),t._v(" "),t._m(48),t._v(" "),t._m(49),t._v(" "),t._m(50),t._m(51),t._v(" "),t._m(52),t._v(" "),s("MavenBadge",{attrs:{artifact:"markwon"}}),t._v(" "),t._m(53),t._m(54),t._v(" "),t._m(55)],1)},[function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-markdown extra-class"},[s("pre",{pre:!0,attrs:{class:"language-markdown"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("i")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\nHello from italics tag\n"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("Let's modify code snippet above "),a("em",[this._v("a bit")]),this._v(":")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-markdown extra-class"},[s("div",{staticClass:"highlight-lines"},[s("br"),s("br"),s("div",{staticClass:"highlighted"},[t._v(" ")]),s("br"),s("br")]),s("pre",{pre:!0,attrs:{class:"language-markdown"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("i")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\nHello from italics tag\n\n"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("If we modify code snippet "),a("em",[this._v("a bit")]),this._v(" again:")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-markdown extra-class"},[s("div",{staticClass:"highlight-lines"},[s("br"),s("br"),s("br"),s("div",{staticClass:"highlighted"},[t._v(" ")]),s("br")]),s("pre",{pre:!0,attrs:{class:"language-markdown"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("i")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\nHello from italics tag\n\n"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("")])]),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("b")]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("bold>"),s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ul",[s("li",[t._v("HtmlInline ("),s("code",[t._v("")]),t._v(")")]),t._v(" "),s("li",[t._v("HtmlInline ("),s("code",[t._v("")]),t._v(")")]),t._v(" "),s("li",[t._v("Text ("),s("code",[t._v("bold")]),t._v(")")]),t._v(" "),s("li",[t._v("HtmlInline ("),s("code",[t._v("")]),t._v(")")])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("p",[t._v("Those "),s("em",[t._v("little")]),t._v(" differences render "),s("code",[t._v("Html.fromHtml")]),t._v(" (which was used in "),s("code",[t._v("1.x.x")]),t._v(" versions)\nuseless. And actually it renders most of the HTML parsers implementations useless,\nas most of them do not allow processing of HTML fragments in a raw fashion\nwithout "),s("em",[t._v("fixing")]),t._v(" content on-the-fly.")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("p",[t._v("Both "),s("code",[t._v("TagSoup")]),t._v(" and "),s("code",[t._v("Jsoup")]),t._v(" HTML parsers (that were considered for this project) are built to deal with\n"),s("em",[t._v("malicious")]),t._v(" HTML code ("),s("em",[t._v("all HTML code")]),t._v("? 😶). So, when supplied\nwith a "),s("code",[t._v("italic")]),t._v(" fragment they will make it "),s("code",[t._v("italic")]),t._v(".\nAnd it's a good thing, but consider these fragments for the sake of markdown:")])},function(){var t=this.$createElement,a=this._self._c||t;return a("ul",[a("li",[a("code",[this._v("italic")])]),this._v(" "),a("li",[a("code",[this._v("bold italic")])]),this._v(" "),a("li",[a("code",[this._v("")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("ul",[a("li",[a("code",[this._v("italic ")])]),this._v(" "),a("li",[a("code",[this._v("bold italic")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("em",[a("sup",[this._v("*")]),this._v(" Or to be precise: "),a("code",[this._v("italic ")]),this._v(" &\n"),a("code",[this._v("bold italic")])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("table",[s("thead",[s("tr",[s("th",[t._v("expected")]),t._v(" "),s("th",[t._v("actual")])])]),t._v(" "),s("tbody",[s("tr",[s("td",[s("i",[t._v("italic "),s("b",[t._v("bold italic")])])]),t._v(" "),s("td",[s("i",[t._v("italic ")]),s("b",[t._v("bold italic")])])])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("This might seem like a minor problem, but add more tags to a document,\nintroduce some deeply nested structures, spice openning and closing tags up\nby adding markdown markup between them and finally write "),a("em",[this._v("malicious")]),this._v(" HTML code 😆!")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("There is no such problem on the "),a("em",[this._v("frontend")]),this._v(" for which commonmark specification is mostly\naimed as "),a("em",[this._v("frontend")]),this._v(" runs in a web-browser environment. After all "),a("em",[this._v("parsed")]),this._v(" markdown\nwill become HTML tags (most common usage). And web-browser will know how to render final result.")])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"parser"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#parser","aria-hidden":"true"}},[this._v("#")]),this._v(" Parser")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("There are no additional steps to configure HTML parsing. It's enabled by default.\nIf you wish to "),a("em",[this._v("exclude")]),this._v(" it, please follow the "),a("a",{attrs:{href:"#exclude-html-parsing"}},[this._v("exclude")]),this._v(" section below.")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("The key class here is: "),a("code",[this._v("MarkwonHtmlParser")]),this._v(" that is defined in "),a("code",[this._v("markwon-html-parser-api")]),this._v(" module.\n"),a("code",[this._v("markwon-html-parser-api")]),this._v(" is a simple module that defines HTML parsing contract and\ndoes not provide implementation.")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("To change what implementation "),a("code",[this._v("Markwon")]),this._v(" should use, "),a("code",[this._v("SpannableConfiguration")]),this._v(" can be used:")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("div",{staticClass:"highlight-lines"},[s("br"),s("div",{staticClass:"highlighted"},[t._v(" ")]),s("br"),s("br")]),s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("SpannableConfiguration"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("htmlParser")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("MarkwonHtmlParser"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("markwon-html-parser-impl")]),this._v(" on the other hand provides "),a("code",[this._v("MarkwonHtmlParser")]),this._v(" implementation.\nIt's called "),a("code",[this._v("MarkwonHtmlParserImpl")]),this._v(". It can be created like this:")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" MarkwonHtmlParser htmlParser "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" MarkwonHtmlParserImpl"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{attrs:{class:"token comment"}},[t._v("// or")]),t._v("\n"),s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" MarkwonHtmlParser htmlParser "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" MarkwonHtmlParserImpl"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("HtmlEmptyTagReplacement"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h3",{attrs:{id:"empty-tag-replacement"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#empty-tag-replacement","aria-hidden":"true"}},[this._v("#")]),this._v(" Empty tag replacement")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("In order to append text content for self-closing, void or just "),a("em",[this._v("empty")]),this._v(" HTML tags,\n"),a("code",[this._v("HtmlEmptyTagReplacement")]),this._v(" can be used. As we cannot set Span for empty content,\nwe must represent empty tag with text during parsing stage (if we want it to be represented).")])},function(){var t=this.$createElement,a=this._self._c||t;return a("ul",[a("li",[a("code",[this._v('')])]),this._v(" "),a("li",[a("code",[this._v("
")])]),this._v(" "),a("li",[a("code",[this._v("")])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("p",[t._v("By default ("),s("code",[t._v("HtmlEmptyTagReplacement.create()")]),t._v(") will handle "),s("code",[t._v("img")]),t._v(" and "),s("code",[t._v("br")]),t._v(" tags.\n"),s("code",[t._v("img")]),t._v(" will be replaced with "),s("code",[t._v("alt")]),t._v(" property if it is present and "),s("code",[t._v("\\uFFFC")]),t._v(" if it is not.\nAnd "),s("code",[t._v("br")]),t._v(" will insert a new line.")])},function(){var t=this.$createElement,a=this._self._c||t;return a("h3",{attrs:{id:"non-closed-tags"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#non-closed-tags","aria-hidden":"true"}},[this._v("#")]),this._v(" Non-closed tags")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("It's possible that your HTML can contain non-closed tags. By default "),a("code",[this._v("Markwon")]),this._v(" will ignore them,\nbut if you wish to get a bit closer to a web-browser experience, you can allow this behaviour:")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("div",{staticClass:"highlight-lines"},[s("br"),s("div",{staticClass:"highlighted"},[t._v(" ")]),s("br"),s("br")]),s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("SpannableConfiguration"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("htmlAllowNonClosedTags")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token boolean"}},[t._v("true")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),s("p",[t._v("If there is (for example) an "),s("code",[t._v("")]),t._v(" tag at the start of a document and it's not closed\nand "),s("code",[t._v("Markwon")]),t._v(" is configured to "),s("strong",[t._v("not")]),t._v(" ignore non-closed tags ("),s("code",[t._v(".htmlAllowNonClosedTags(true)")]),t._v("),\nit will make the whole document in italics")])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h3",{attrs:{id:"implementation-note"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#implementation-note","aria-hidden":"true"}},[this._v("#")]),this._v(" Implementation note")])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"renderer"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#renderer","aria-hidden":"true"}},[this._v("#")]),this._v(" Renderer")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("Unlike "),a("code",[this._v("MarkwonHtmlParser")]),this._v(" "),a("code",[this._v("Markwon")]),this._v(" comes with a "),a("code",[this._v("MarkwonHtmlRenderer")]),this._v(" by default.")])},function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[this._v("MarkwonHtmlRenderer"),a("span",{attrs:{class:"token punctuation"}},[this._v(".")]),a("span",{attrs:{class:"token function"}},[this._v("create")]),a("span",{attrs:{class:"token punctuation"}},[this._v("(")]),a("span",{attrs:{class:"token punctuation"}},[this._v(")")]),a("span",{attrs:{class:"token punctuation"}},[this._v(";")]),this._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("Default instance have these tags "),a("em",[this._v("handled")]),this._v(":")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ul",[s("li",[t._v("emphasis\n"),s("ul",[s("li",[s("code",[t._v("i")])]),t._v(" "),s("li",[s("code",[t._v("em")])]),t._v(" "),s("li",[s("code",[t._v("cite")])]),t._v(" "),s("li",[s("code",[t._v("dfn")])])])]),t._v(" "),s("li",[t._v("strong emphasis\n"),s("ul",[s("li",[s("code",[t._v("b")])]),t._v(" "),s("li",[s("code",[t._v("strong")])])])]),t._v(" "),s("li",[s("code",[t._v("sup")]),t._v(" (super script)")]),t._v(" "),s("li",[s("code",[t._v("sub")]),t._v(" (sub script)")]),t._v(" "),s("li",[t._v("underline\n"),s("ul",[s("li",[s("code",[t._v("u")])]),t._v(" "),s("li",[s("code",[t._v("ins")])])])]),t._v(" "),s("li",[t._v("strike through\n"),s("ul",[s("li",[s("code",[t._v("del")])]),t._v(" "),s("li",[s("code",[t._v("s")])]),t._v(" "),s("li",[s("code",[t._v("strike")])])])]),t._v(" "),s("li",[s("code",[t._v("a")]),t._v(" (link)")]),t._v(" "),s("li",[s("code",[t._v("ul")]),t._v(" (unordered list)")]),t._v(" "),s("li",[s("code",[t._v("ol")]),t._v(" (ordered list)")]),t._v(" "),s("li",[s("code",[t._v("img")]),t._v(" (image)")]),t._v(" "),s("li",[s("code",[t._v("blockquote")]),t._v(" (block quote)")]),t._v(" "),s("li",[s("code",[t._v("h{1-6}")]),t._v(" (heading)")])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("If you wish to "),a("em",[this._v("extend")]),this._v(" default handling (or override existing),\n"),a("code",[this._v("#builderWithDefaults")]),this._v(" factory method can be used:")])},function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[this._v("MarkwonHtmlRenderer"),a("span",{attrs:{class:"token punctuation"}},[this._v(".")]),a("span",{attrs:{class:"token function"}},[this._v("builderWithDefaults")]),a("span",{attrs:{class:"token punctuation"}},[this._v("(")]),a("span",{attrs:{class:"token punctuation"}},[this._v(")")]),a("span",{attrs:{class:"token punctuation"}},[this._v(";")]),this._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("For a completely "),a("em",[this._v("clean")]),this._v(" configurable instance "),a("code",[this._v("#builder")]),this._v(" method can be used:")])},function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[this._v("MarkwonHtmlRenderer"),a("span",{attrs:{class:"token punctuation"}},[this._v(".")]),a("span",{attrs:{class:"token function"}},[this._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[this._v("(")]),a("span",{attrs:{class:"token punctuation"}},[this._v(")")]),a("span",{attrs:{class:"token punctuation"}},[this._v(";")]),this._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h3",{attrs:{id:"custom-tag-handler"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#custom-tag-handler","aria-hidden":"true"}},[this._v("#")]),this._v(" Custom tag handler")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("To configure "),a("code",[this._v("MarkwonHtmlRenderer")]),this._v(" to handle tags differently or\ncreate a new tag handler - "),a("code",[this._v("TagHandler")]),this._v(" can be used")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("abstract")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("TagHandler")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("abstract")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("handle")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" SpannableConfiguration configuration"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" SpannableBuilder builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" HtmlTag tag\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("For the most simple "),a("em",[this._v("inline")]),this._v(" tag handler a "),a("code",[this._v("SimpleTagHandler")]),this._v(" can be used:")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("abstract")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("SimpleTagHandler")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("extends")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("TagHandler")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Nullable")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("abstract")]),t._v(" Object "),s("span",{attrs:{class:"token function"}},[t._v("getSpans")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" SpannableConfiguration configuration"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" HtmlTag tag"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("For example, "),a("code",[this._v("EmphasisHandler")]),this._v(":")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("EmphasisHandler")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("extends")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("SimpleTagHandler")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Nullable")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Object "),s("span",{attrs:{class:"token function"}},[t._v("getSpans")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" SpannableConfiguration configuration"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" HtmlTag tag"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" configuration"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("factory")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("emphasis")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("If you wish to handle a "),a("em",[this._v("block")]),this._v(" HTML node (for example "),a("code",[this._v("
  • First
  • Second
")]),this._v(") refer\nto "),a("code",[this._v("ListHandler")]),this._v(" source code for reference.")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("The most important thing when implementing custom "),s("code",[t._v("TagHandler")]),t._v(" is to know\nwhat type of "),s("code",[t._v("HtmlTag")]),t._v(" we are dealing with. There are 2: inline & block.\nInline tag cannot contain children. Block "),s("em",[t._v("can")]),t._v(" contain children. And they\n"),s("em",[t._v("most likely")]),t._v(" should also be visited and "),s("em",[t._v("handled")]),t._v(" by registered "),s("code",[t._v("TagHandler")]),t._v(" (if any)\naccordingly. See "),s("code",[t._v("TagHandler#visitChildren(configuration, builder, child);")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h4",{attrs:{id:"css-inline-style-parser"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#css-inline-style-parser","aria-hidden":"true"}},[this._v("#")]),this._v(" Css inline style parser")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("When implementing own "),a("code",[this._v("TagHandler")]),this._v(" you might want to inspect inline CSS styles\nof a HTML element. "),a("code",[this._v("Markwon")]),this._v(" provides an utility parser for that purpose:")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" CssInlineStyleParser inlineStyleParser "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" CssInlineStyleParser"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{attrs:{class:"token keyword"}},[t._v("for")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("CssProperty property"),s("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" inlineStyleParser"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("parse")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token string"}},[t._v('"width: 100%; height: 100%;"')]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// [0] = CssProperty({width=100%}),")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// [1] = CssProperty({height=100%})")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"exclude-html-parsing"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#exclude-html-parsing","aria-hidden":"true"}},[this._v("#")]),this._v(" Exclude HTML parsing")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("p",[t._v("If you wish to exclude HTML parsing altogether, you can manually\nexclude "),s("code",[t._v("markwon-html-parser-impl")]),t._v(" artifact from your projects compile classpath.\nThis can be beneficial if you know that markdown input won't contain\nHTML and/or you wish to ignore it. Excluding HTML parsing\ncan speed up "),s("code",[t._v("Markwon")]),t._v(" parsing and will decrease final size of\n"),s("code",[t._v("Markwon")]),t._v(" dependency by around "),s("code",[t._v("100kb")]),t._v(".")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-groovy extra-class"},[s("pre",{pre:!0,attrs:{class:"language-groovy"}},[s("code",[t._v("dependencies "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token function"}},[t._v("implementation")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token string gstring"}},[t._v('"ru.noties:markwon:'),s("span",{attrs:{class:"token expression"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("$")]),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("markwonVersion"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")])]),t._v('"')]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n exclude module"),s("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),s("span",{attrs:{class:"token string"}},[t._v("'markwon-html-parser-impl'")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("Excluding "),a("code",[this._v("markwon-html-parser-impl")]),this._v(" this way will result in\n"),a("code",[this._v("MarkwonHtmlParser#noOp")]),this._v(" implementation. No further steps are\nrequired.")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("Note")]),t._v(" "),s("p",[t._v("Excluding "),s("code",[t._v("markwon-html-parser-impl")]),t._v(" won't remove "),s("em",[t._v("all")]),t._v(" the content between\nHTML tags. It will if "),s("code",[t._v("commonmark")]),t._v(" decides that a specific fragment is a\n"),s("code",[t._v("HtmlBlock")]),t._v(", but it won't if fragment is considered a "),s("code",[t._v("HtmlInline")]),t._v(" as "),s("code",[t._v("HtmlInline")]),t._v("\ndoes not contain content (just a tag definition).")])])}],!1,null,null,null);e.options.__file="html.md";a.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/26.87c7e366.js b/assets/js/26.87c7e366.js new file mode 100644 index 00000000..63691c54 --- /dev/null +++ b/assets/js/26.87c7e366.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{280:function(t,a,s){"use strict";s.r(a);var e=s(0),n=Object(e.a)({},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"content"},[t._m(0),t._v(" "),s("LegacyWarning"),t._v(" "),t._m(1),t._v(" "),s("p",[t._v("The interface is pretty simple:")]),t._v(" "),t._m(2),t._m(3),t._v(" "),s("MavenBadge2xx",{attrs:{artifact:"markwon-image-loader"}}),t._v(" "),t._m(4),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("Install")]),t._v(" "),s("p",[s("router-link",{attrs:{to:"/docs/v2/install.html#image-loader"}},[t._v("Learn how to add")]),t._v(" "),s("code",[t._v("markwon-image-loader")]),t._v(" to your project")],1)]),t._v(" "),t._m(5),t._v(" "),t._m(6),t._m(7),t._v(" "),t._m(8),t._v(" "),s("ul",[t._m(9),t._v(" "),s("li",[s("code",[t._v("data")]),t._v(" "),s("Badge",{attrs:{text:"2.0.0"}}),t._v(" ("),s("a",{attrs:{href:"https://en.wikipedia.org/wiki/Data_URI_scheme",target:"_blank",rel:"noopener noreferrer"}},[t._v("wiki"),s("OutboundLink")],1),t._v(")\nfor inline image references")],1),t._v(" "),s("li",[t._v("all other schemes are considered to be network related and will be tried to obtain\nfrom network")])]),t._v(" "),s("h4",{attrs:{id:"data"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#data","aria-hidden":"true"}},[t._v("#")]),t._v(" Data "),s("Badge",{attrs:{text:"2.0.0"}})],1),t._v(" "),t._m(10),t._v(" "),t._m(11),t._m(12),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15),t._v(" "),t._m(16),t._m(17),t._v(" "),t._m(18),t._m(19),t._v(" "),t._m(20),t._v(" "),t._m(21),t._v(" "),t._m(22),t._v(" "),t._m(23),t._m(24),t._v(" "),t._m(25),t._v(" "),t._m(26),t._v(" "),t._m(27),t._v(" "),t._m(28),t._v(" "),t._m(29),t._m(30),t._v(" "),t._m(31),t._v(" "),t._m(32),t._v(" "),t._m(33),t._m(34),t._v(" "),s("h3",{attrs:{id:"media-decoder"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#media-decoder","aria-hidden":"true"}},[t._v("#")]),t._v(" Media decoder "),s("Badge",{attrs:{text:"1.1.0"}})],1),t._v(" "),t._m(35),t._v(" "),t._m(36),t._m(37),t._v(" "),t._m(38),t._v(" "),s("ul",[s("li",[s("code",[t._v("SvgMediaDecoder")]),t._v(" (based on "),s("a",{attrs:{href:"https://github.com/BigBadaboom/androidsvg",target:"_blank",rel:"noopener noreferrer"}},[t._v("androidsvg"),s("OutboundLink")],1),t._v(")")]),t._v(" "),s("li",[s("code",[t._v("GifMediaDecoder")]),t._v(" (based on "),s("a",{attrs:{href:"https://github.com/koral--/android-gif-drawable",target:"_blank",rel:"noopener noreferrer"}},[t._v("android-gif-drawable"),s("OutboundLink")],1),t._v(")")]),t._v(" "),t._m(39)]),t._v(" "),t._m(40),t._v(" "),t._m(41),t._v(" "),t._m(42),t._m(43),t._v(" "),t._m(44),t._m(45),t._v(" "),t._m(46),t._v(" "),t._m(47),s("h3",{attrs:{id:"scheme-handler"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#scheme-handler","aria-hidden":"true"}},[t._v("#")]),t._v(" Scheme handler "),s("Badge",{attrs:{text:"2.0.0"}})],1),t._v(" "),t._m(48),t._v(" "),t._m(49),t._m(50),t._v(" "),t._m(51),t._v(" "),s("h4",{attrs:{id:"networkschemehandler"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#networkschemehandler","aria-hidden":"true"}},[t._v("#")]),t._v(" NetworkSchemeHandler "),s("Badge",{attrs:{text:"2.0.0"}})],1),t._v(" "),t._m(52),s("h4",{attrs:{id:"fileschemehandler"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#fileschemehandler","aria-hidden":"true"}},[t._v("#")]),t._v(" FileSchemeHandler "),s("Badge",{attrs:{text:"2.0.0"}})],1),t._v(" "),s("p",[t._v("Simple file handler")]),t._v(" "),t._m(53),t._m(54),t._v(" "),t._m(55),s("h4",{attrs:{id:"dataurischemehandler"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#dataurischemehandler","aria-hidden":"true"}},[t._v("#")]),t._v(" DataUriSchemeHandler "),s("Badge",{attrs:{text:"2.0.0"}})],1),t._v(" "),t._m(56),s("hr"),t._v(" "),t._m(57)],1)},[function(){var t=this.$createElement,a=this._self._c||t;return a("h1",{attrs:{id:"images"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#images","aria-hidden":"true"}},[this._v("#")]),this._v(" Images")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("By default "),a("code",[this._v("Markwon")]),this._v(" doesn't handle images. Although "),a("code",[this._v("AsyncDrawable.Loader")]),this._v(" is\ndefined in main artifact, it does not provide implementation.")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("interface")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("Loader")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\n "),s("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("load")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" String destination"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" AsyncDrawable drawable"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("cancel")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" String destination"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"asyncdrawableloader"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#asyncdrawableloader","aria-hidden":"true"}},[this._v("#")]),this._v(" AsyncDrawableLoader")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("AsyncDrawableLoader")]),this._v(" from "),a("code",[this._v("markwon-image-loader")]),this._v(" artifact can be used.")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("Default instance of "),a("code",[this._v("AsyncDrawableLoader")]),this._v(" can be obtain like this:")])},function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[this._v("AsyncDrawableLoader"),a("span",{attrs:{class:"token punctuation"}},[this._v(".")]),a("span",{attrs:{class:"token function"}},[this._v("create")]),a("span",{attrs:{class:"token punctuation"}},[this._v("(")]),a("span",{attrs:{class:"token punctuation"}},[this._v(")")]),a("span",{attrs:{class:"token punctuation"}},[this._v(";")]),this._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h3",{attrs:{id:"scheme-support"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#scheme-support","aria-hidden":"true"}},[this._v("#")]),this._v(" Scheme support")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("By default "),a("code",[this._v("AsyncDrawableLoader")]),this._v(" handles these URL schemes:")])},function(){var t=this.$createElement,a=this._self._c||t;return a("li",[a("code",[this._v("file")]),this._v(" (including reference to "),a("code",[this._v("android_assets")]),this._v(")")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("data")]),this._v(" scheme handler supports both "),a("code",[this._v("base64")]),this._v(" encoded content and "),a("code",[this._v("plain")]),this._v(":")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-html extra-class"},[s("pre",{pre:!0,attrs:{class:"language-html"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("img")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("src")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("alt")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Red dot"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n")])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-html extra-class"},[s("pre",{pre:!0,attrs:{class:"language-html"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("img")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("src")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v("'")]),t._v("data:image/svg+xml, "),s("span",{attrs:{class:"token punctuation"}},[t._v("'")])]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[this._v("Note")]),this._v(" "),a("p",[this._v("Data uri works with native markdown images, but only in base64 mode:")]),this._v(" "),a("div",{staticClass:"language-markdown extra-class"},[a("pre",{pre:!0,attrs:{class:"language-markdown"}},[a("code",[a("span",{attrs:{class:"token url"}},[this._v("![svg](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGFyaWEtaGlkZGVuPSJ0cnVlIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgY2xhc3M9Imljb24gb3V0Ym91bmQiPjxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTE4LjgsODUuMWg1NmwwLDBjMi4yLDAsNC0xLjgsNC00di0zMmgtOHYyOGgtNDh2LTQ4aDI4di04aC0zMmwwLDBjLTIuMiwwLTQsMS44LTQsNHY1NkMxNC44LDgzLjMsMTYuNiw4NS4xLDE4LjgsODUuMXoiPjwvcGF0aD4gPHBvbHlnb24gZmlsbD0iY3VycmVudENvbG9yIiBwb2ludHM9IjQ1LjcsNDguNyA1MS4zLDU0LjMgNzcuMiwyOC41IDc3LjIsMzcuMiA4NS4yLDM3LjIgODUuMiwxNC45IDYyLjgsMTQuOSA2Mi44LDIyLjkgNzEuNSwyMi45Ij48L3BvbHlnb24+PC9zdmc+)")]),this._v("\n")])])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"configuration"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#configuration","aria-hidden":"true"}},[this._v("#")]),this._v(" Configuration")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("If you wish to configure "),a("code",[this._v("AsyncDrawableLoader")]),this._v(" "),a("code",[this._v("#builder")]),this._v(" factory method can be used:")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h3",{attrs:{id:"okhttp-client"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#okhttp-client","aria-hidden":"true"}},[this._v("#")]),this._v(" OkHttp client")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("client")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("OkHttpClient"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("If not provided explicitly, default "),a("code",[this._v("new OkHttpClient()")]),this._v(" will be used")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("This configuration option is scheduled to be removed in "),s("code",[t._v("3.0.0")]),t._v(" version,\nuse "),s("code",[t._v("NetworkSchemeHandler.create(OkHttpClient)")]),t._v(" directly by calling\n"),s("code",[t._v("build.addSchemeHandler()")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h3",{attrs:{id:"resources"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#resources","aria-hidden":"true"}},[this._v("#")]),this._v(" Resources")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("android.content.res.Resources")]),this._v(" to be used when obtaining an image\nfrom Android assets folder "),a("strong",[this._v("and")]),this._v(" to create Bitmaps.")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("resources")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Resources"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("If not provided explicitly, default "),a("code",[this._v("Resources.getSystem()")]),this._v(" will be used.")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[s("code",[t._v("Resources.getSystem()")]),t._v(" can have unexpected side-effects (plus loading from\nassets won't work). As a rule of thumb\nalways provide "),s("code",[t._v("AsyncDrawableLoader")]),t._v(" with your Application's "),s("code",[t._v("Resources")]),t._v(".\nTo quote Android documentation for "),s("code",[t._v("#getSystem")]),t._v(" method:")]),t._v(" "),s("blockquote",[s("p",[t._v("Return a global shared Resources object that provides access to only\nsystem resources (no application resources), and is not configured\nfor the current screen (can not use dimension units, does not\nchange based on orientation, etc).")])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("This configuration option is scheduled to be removed in "),s("code",[t._v("3.0.0")]),t._v(". Construct\nyour "),s("code",[t._v("MediaDecoder")]),t._v("s and "),s("code",[t._v("SchemeHandler")]),t._v("s appropriately and add them via\n"),s("code",[t._v("build.addMediaDecoder()")]),t._v(" and "),s("code",[t._v("builder.addSchemeHandler")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h3",{attrs:{id:"executor-service"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#executor-service","aria-hidden":"true"}},[this._v("#")]),this._v(" Executor service")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("ExecutorService")]),this._v(" to be used to download images in background thread")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("executorService")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ExecutorService"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("If not provided explicitly, default "),a("code",[this._v("Executors.newCachedThreadPool()")]),this._v(" will be used")])},function(){var t=this.$createElement,a=this._self._c||t;return a("h3",{attrs:{id:"error-drawable"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#error-drawable","aria-hidden":"true"}},[this._v("#")]),this._v(" Error drawable")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("errorDrawable")]),this._v(" to be used when image loader encountered an error loading image")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("errorDrawable")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Drawable"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("if not provided explicitly, default "),a("code",[this._v("null")]),this._v(" value will be used.")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("MediaDecoder")]),this._v(" is a simple asbtraction that encapsulates handling\nof a specific image type.")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("addMediaDecoder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("MediaDecoder"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("addMediaDecoders")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("MediaDecoder"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("addMediaDecoders")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Iterable"),s("span",{attrs:{class:"token generics function"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("MediaDecoder"),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("If not provided explicitly, default "),a("code",[this._v("MediaDecoder")]),this._v("s will be used (SVG, GIF, plain) with\nprovided "),a("code",[this._v("Resources")]),this._v(" and "),a("code",[this._v("gif-autoplay=true")])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("markwon-image-loader")]),this._v(" comes with 3 "),a("code",[this._v("MediaDecoder")]),this._v(" implementations:")])},function(){var t=this.$createElement,a=this._self._c||t;return a("li",[a("code",[this._v("ImageMediaDecoder")]),this._v(" (handling all "),a("em",[this._v("plain")]),this._v(" images)")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("Always add a "),s("em",[t._v("generic")]),t._v(" "),s("code",[t._v("MediaDecoder")]),t._v(" instance at the end of the list.\nOrder does matter. For example:")]),t._v(" "),s("div",{staticClass:"language-java extra-class"},[s("div",{staticClass:"highlight-lines"},[s("br"),s("br"),s("br"),s("br"),s("div",{staticClass:"highlighted"},[t._v(" ")]),s("br"),s("br"),s("br")]),s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("mediaDecoders")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n SvgMediaDecoder"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Resources"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n GifMediaDecoder"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("boolean")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n ImageMediaDecoder"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Resources"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h4",{attrs:{id:"svgmediadecoder"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#svgmediadecoder","aria-hidden":"true"}},[this._v("#")]),this._v(" SvgMediaDecoder")])},function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[this._v("SvgMediaDecoder"),a("span",{attrs:{class:"token punctuation"}},[this._v(".")]),a("span",{attrs:{class:"token function"}},[this._v("create")]),a("span",{attrs:{class:"token punctuation"}},[this._v("(")]),this._v("Resources"),a("span",{attrs:{class:"token punctuation"}},[this._v(")")]),this._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h4",{attrs:{id:"gifmediadecoder"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#gifmediadecoder","aria-hidden":"true"}},[this._v("#")]),this._v(" GifMediaDecoder")])},function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[this._v("GifMediaDecoder"),a("span",{attrs:{class:"token punctuation"}},[this._v(".")]),a("span",{attrs:{class:"token function"}},[this._v("create")]),a("span",{attrs:{class:"token punctuation"}},[this._v("(")]),a("span",{attrs:{class:"token keyword"}},[this._v("boolean")]),a("span",{attrs:{class:"token punctuation"}},[this._v(")")]),this._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("boolean")]),this._v(" argument stands for "),a("code",[this._v("autoPlayGif")])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h4",{attrs:{id:"imagemediadecoder"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#imagemediadecoder","aria-hidden":"true"}},[this._v("#")]),this._v(" ImageMediaDecoder")])},function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[this._v("ImageMediaDecoder"),a("span",{attrs:{class:"token punctuation"}},[this._v(".")]),a("span",{attrs:{class:"token function"}},[this._v("create")]),a("span",{attrs:{class:"token punctuation"}},[this._v("(")]),this._v("Resources"),a("span",{attrs:{class:"token punctuation"}},[this._v(")")]),this._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("Starting with "),a("code",[this._v("2.0.0")]),this._v(" "),a("code",[this._v("image-loader")]),this._v(" module introduced\n"),a("code",[this._v("SchemeHandler")]),this._v(" abstraction")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("addSchemeHandler")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("SchemeHandler"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("Currently there are 3 "),a("code",[this._v("SchemeHandler")]),this._v("s that are bundled with this module:")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ul",[s("li",[s("code",[t._v("NetworkSchemeHandler")]),t._v(" ("),s("code",[t._v("http")]),t._v(" and "),s("code",[t._v("https")]),t._v(")")]),t._v(" "),s("li",[s("code",[t._v("FileSchemeHandler")]),t._v(" ("),s("code",[t._v("file")]),t._v(")")]),t._v(" "),s("li",[s("code",[t._v("DataUriSchemeHandler")]),t._v(" ("),s("code",[t._v("data")]),t._v(")")])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("NetworkSchemeHandler"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("OkHttpClient"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[this._v("FileSchemeHandler"),a("span",{attrs:{class:"token punctuation"}},[this._v(".")]),a("span",{attrs:{class:"token function"}},[this._v("create")]),a("span",{attrs:{class:"token punctuation"}},[this._v("(")]),a("span",{attrs:{class:"token punctuation"}},[this._v(")")]),a("span",{attrs:{class:"token punctuation"}},[this._v(";")]),this._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("File handler that additionally allows access to Android "),a("code",[this._v("assets")]),this._v(" folder")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("FileSchemeHandler"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("createWithAssets")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("AssetManager"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[this._v("DataUriSchemeHandler"),a("span",{attrs:{class:"token punctuation"}},[this._v(".")]),a("span",{attrs:{class:"token function"}},[this._v("create")]),a("span",{attrs:{class:"token punctuation"}},[this._v("(")]),a("span",{attrs:{class:"token punctuation"}},[this._v(")")]),a("span",{attrs:{class:"token punctuation"}},[this._v(";")]),this._v("\n")])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("Note that currently if no "),s("code",[t._v("SchemeHandler")]),t._v("s were provided via "),s("code",[t._v("builder.addSchemeHandler()")]),t._v("\ncall then all 3 default scheme handlers will be added. The same goes for "),s("code",[t._v("MediaDecoder")]),t._v("s\n("),s("code",[t._v("builder.addMediaDecoder")]),t._v("). This behavior is scheduled to be removed in "),s("code",[t._v("3.0.0")])])])}],!1,null,null,null);n.options.__file="image-loader.md";a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/27.a6f7a96f.js b/assets/js/27.a6f7a96f.js new file mode 100644 index 00000000..7f333316 --- /dev/null +++ b/assets/js/27.a6f7a96f.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{282:function(t,s,a){"use strict";a.r(s);var n=a(0),e=Object(n.a)({},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"content"},[t._m(0),t._v(" "),a("LegacyWarning"),t._v(" "),a("MavenBadges2xx"),t._v(" "),t._m(1),t._v(" "),t._m(2),a("p",[t._v("This is core artifact that is sufficient to start displaying markdown in your Android applications.")]),t._v(" "),t._m(3),t._v(" "),t._m(4),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7),t._m(8),t._v(" "),t._m(9),t._v(" "),a("p",[t._v("Please refer to documentation for "),a("router-link",{attrs:{to:"/docs/v2/image-loader.html"}},[t._v("image loader")]),t._v(" module")],1),t._v(" "),t._m(10),t._v(" "),t._m(11),a("p",[t._v("Provides implementation of "),a("code",[t._v("SyntaxHighlight")]),t._v(" and allows various syntax highlighting\nin your markdown based Android applications. Comes with 2 ready-to-be-used themes: "),a("code",[t._v("light")]),t._v(" and "),a("code",[t._v("dark")]),t._v(".\nPlease refer to documentation for "),a("router-link",{attrs:{to:"/docs/v2/syntax-highlight.html"}},[t._v("syntax highlight")]),t._v(" module")],1),t._v(" "),t._m(12),t._v(" "),t._m(13),a("p",[t._v("Provides 2 widgets to display markdown: "),a("code",[t._v("MarkwonView")]),t._v(" and "),a("code",[t._v("MarkwonViewCompat")]),t._v(" (subclasses\nof "),a("code",[t._v("TextView")]),t._v(" and "),a("code",[t._v("AppCompatTextView")]),t._v(" respectively).\nPlease refer to documentation for "),a("router-link",{attrs:{to:"/docs/v2/view.html"}},[t._v("view")]),t._v(" module")],1),t._v(" "),t._m(14),t._v(" "),t._m(15),t._v(" "),t._m(16),t._m(17),t._v(" "),t._m(18),t._v(" "),t._m(19),t._v(" "),t._m(20),t._v(" "),t._m(21),t._v(" "),t._m(22),t._m(23),t._v(" "),t._m(24),t._m(25)],1)},[function(){var t=this.$createElement,s=this._self._c||t;return s("h1",{attrs:{id:"installation"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#installation","aria-hidden":"true"}},[this._v("#")]),this._v(" Installation")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("In order to start using "),s("code",[this._v("Markwon")]),this._v(" add this to your dependencies block\nin your projects "),s("code",[this._v("build.gradle")]),this._v(":")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-groovy extra-class"},[a("pre",{pre:!0,attrs:{class:"language-groovy"}},[a("code",[t._v("implementation "),a("span",{attrs:{class:"token string gstring"}},[t._v('"ru.noties:markwon:'),a("span",{attrs:{class:"token expression"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("$")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("markwonVersion"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")])]),t._v('"')]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("code",[this._v("Markwon")]),this._v(" comes with more artifacts that cover additional functionality, but they are\n"),s("strong",[this._v("not")]),this._v(" required to be used, as most of them provide implementations for functionality\nthat is "),s("em",[this._v("interfaced")]),this._v(" in the core artifact")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-groovy extra-class"},[a("pre",{pre:!0,attrs:{class:"language-groovy"}},[a("code",[t._v("implementation "),a("span",{attrs:{class:"token string gstring"}},[t._v('"ru.noties:markwon-image-loader:'),a("span",{attrs:{class:"token expression"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("$")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("markwonVersion"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")])]),t._v('"')]),t._v("\nimplementation "),a("span",{attrs:{class:"token string gstring"}},[t._v('"ru.noties:markwon-syntax-highlight:'),a("span",{attrs:{class:"token expression"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("$")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("markwonVersion"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")])]),t._v('"')]),t._v("\nimplementation "),a("span",{attrs:{class:"token string gstring"}},[t._v('"ru.noties:markwon-view:'),a("span",{attrs:{class:"token expression"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("$")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("markwonVersion"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")])]),t._v('"')]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("These artifacts share the same "),s("em",[this._v("version")]),this._v(" as the core artifact")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"image-loader"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#image-loader","aria-hidden":"true"}},[this._v("#")]),this._v(" Image loader")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-groovy extra-class"},[a("pre",{pre:!0,attrs:{class:"language-groovy"}},[a("code",[t._v("implementation "),a("span",{attrs:{class:"token string gstring"}},[t._v('"ru.noties:markwon-image-loader:'),a("span",{attrs:{class:"token expression"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("$")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("markwonVersion"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")])]),t._v('"')]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("Provides implementation of "),s("code",[this._v("AsyncDrawable.Loader")]),this._v(" and comes with support for:")])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[this._v("SVG")]),this._v(" "),s("li",[this._v("GIF")]),this._v(" "),s("li",[this._v("Other image formats")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"syntax-highlight"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#syntax-highlight","aria-hidden":"true"}},[this._v("#")]),this._v(" Syntax highlight")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-groovy extra-class"},[a("pre",{pre:!0,attrs:{class:"language-groovy"}},[a("code",[t._v("implementation "),a("span",{attrs:{class:"token string gstring"}},[t._v('"ru.noties:markwon-syntax-highlight:'),a("span",{attrs:{class:"token expression"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("$")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("markwonVersion"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")])]),t._v('"')]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"view"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#view","aria-hidden":"true"}},[this._v("#")]),this._v(" View")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-groovy extra-class"},[a("pre",{pre:!0,attrs:{class:"language-groovy"}},[a("code",[t._v("implementation "),a("span",{attrs:{class:"token string gstring"}},[t._v('"ru.noties:markwon-view:'),a("span",{attrs:{class:"token expression"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("$")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("markwonVersion"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")])]),t._v('"')]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"proguard"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#proguard","aria-hidden":"true"}},[this._v("#")]),this._v(" Proguard")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("When using "),s("code",[this._v("markwon-image-loader")]),this._v(" artifact and Proguard is enabled, add these rules\nto your proguard configuration:")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"language-proguard extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[this._v("-dontwarn okhttp3.**\n-dontwarn okio.**\n\n-keep class com.caverock.androidsvg.** { *; }\n-dontwarn com.caverock.androidsvg.**\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("They come from dependencies that "),s("code",[this._v("markwon-image-loader")]),this._v(" is using.")])},function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[this._v("Other artifacts")]),this._v(" "),s("p",[this._v("Other artifacts do not require special Proguard rules")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"snapshot"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#snapshot","aria-hidden":"true"}},[this._v("#")]),this._v(" Snapshot")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("img",{attrs:{src:"https://img.shields.io/nexus/s/https/oss.sonatype.org/ru.noties/markwon.svg?label=markwon",alt:"markwon-snapshot"}})])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("In order to use latest "),s("code",[this._v("SNAPSHOT")]),this._v(" version add snapshot repository\nto your root project's "),s("code",[this._v("build.gradle")]),this._v(" file:")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-groovy extra-class"},[a("pre",{pre:!0,attrs:{class:"language-groovy"}},[a("code",[t._v("allprojects "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n repositories "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("jcenter")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("google")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n maven "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" url "),a("span",{attrs:{class:"token string"}},[t._v("'https://oss.sonatype.org/content/repositories/snapshots/'")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("and then in your module "),s("code",[this._v("build.gradle")]),this._v(":")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-groovy extra-class"},[a("pre",{pre:!0,attrs:{class:"language-groovy"}},[a("code",[t._v("implementation "),a("span",{attrs:{class:"token string gstring"}},[t._v('"ru.noties:markwon:'),a("span",{attrs:{class:"token expression"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("$")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("markwonSnapshotVersion"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")])]),t._v('"')]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("p",[t._v("Please note that "),a("code",[t._v("markwon-image-loader")]),t._v(", "),a("code",[t._v("markwon-syntax-highlight")]),t._v("\nand "),a("code",[t._v("markwon-view")]),t._v(" are also present in "),a("code",[t._v("SNAPSHOT")]),t._v(" repository and\nshare the same version as main "),a("code",[t._v("markwon")]),t._v(" artifact.")])}],!1,null,null,null);e.options.__file="install.md";s.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/28.c0caacb4.js b/assets/js/28.c0caacb4.js new file mode 100644 index 00000000..7a07ca63 --- /dev/null +++ b/assets/js/28.c0caacb4.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{238:function(t,a,s){"use strict";s.r(a);var n=s(0),e=Object(n.a)({},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"content"},[t._m(0),t._v(" "),s("LegacyWarning"),t._v(" "),s("MavenBadge2xx",{attrs:{artifact:"markwon-syntax-highlight"}}),t._v(" "),s("p",[t._v("This is a simple module to add "),s("strong",[t._v("syntax highlight")]),t._v(" functionality to your markdown rendered with "),s("code",[t._v("Markwon")]),t._v(" library. It is based on "),s("a",{attrs:{href:"https://github.com/noties/Prism4j",target:"_blank",rel:"noopener noreferrer"}},[t._v("Prism4j"),s("OutboundLink")],1),t._v(" so lead there to understand how to configure "),s("code",[t._v("Prism4j")]),t._v(" instance.")]),t._v(" "),s("img",{attrs:{src:t.$withBase("/art/markwon-syntax-default.png"),alt:"theme-default",width:"80%"}}),t._v(" "),s("img",{attrs:{src:t.$withBase("/art/markwon-syntax-darkula.png"),alt:"theme-darkula",width:"80%"}}),t._v(" "),s("hr"),t._v(" "),t._m(1),t._v(" "),t._m(2),t._m(3),t._v(" "),t._m(4),t._m(5),t._v(" "),t._m(6),t._m(7),t._v(" "),t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),s("p",[t._v("But of cause nothing is stopping you from defining your own theme:")]),t._v(" "),t._m(12),t._m(13)],1)},[function(){var t=this.$createElement,a=this._self._c||t;return a("h1",{attrs:{id:"syntax-highlight"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#syntax-highlight","aria-hidden":"true"}},[this._v("#")]),this._v(" Syntax highlight")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("First, we need to obtain an instance of "),a("code",[this._v("Prism4jSyntaxHighlight")]),this._v(" which implements Markwon's "),a("code",[this._v("SyntaxHighlight")]),this._v(":")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" SyntaxHighlight highlight "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" \n Prism4jSyntaxHighlight"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Prism4j"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" Prism4jTheme"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("we also can obtain an instance of "),a("code",[this._v("Prism4jSyntaxHighlight")]),this._v(" that has a "),a("em",[this._v("fallback")]),this._v(" option (if a language is not defined in "),a("code",[this._v("Prism4j")]),this._v(" instance, fallback language can be used):")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" SyntaxHighlight highlight "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" \n Prism4jSyntaxHighlight"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Prism4j"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" Prism4jTheme"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" String"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("Generally obtaining a "),a("code",[this._v("Prism4j")]),this._v(" instance is pretty easy:")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Prism4j prism4j "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("Prism4j")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("GrammarLocatorDef")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("Where "),a("code",[this._v("GrammarLocatorDef")]),this._v(" is a generated grammar locator (if you use "),a("code",[this._v("prism4j-bundler")]),this._v(" annotation processor)")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("Prism4jTheme")]),this._v(" is a specific type that is defined in this module ("),a("code",[this._v("prism4j")]),this._v(" doesn't know anything about rendering). It has 2 implementations:")])},function(){var t=this.$createElement,a=this._self._c||t;return a("ul",[a("li",[a("code",[this._v("Prism4jThemeDefault")])]),this._v(" "),a("li",[a("code",[this._v("Prism4jThemeDarkula")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("Both of them can be obtained via factory method "),a("code",[this._v("create")]),this._v(":")])},function(){var t=this.$createElement,a=this._self._c||t;return a("ul",[a("li",[a("code",[this._v("Prism4jThemeDefault.create()")])]),this._v(" "),a("li",[a("code",[this._v("Prism4jThemeDarkula.create()")])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("interface")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("Prism4jTheme")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@ColorInt")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("int")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("background")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@ColorInt")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("int")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("textColor")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("apply")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" String language"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" Prism4j"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Syntax syntax"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" SpannableStringBuilder builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("int")]),t._v(" start"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("int")]),t._v(" end\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[this._v("TIP")]),this._v(" "),a("p",[this._v("You can extend "),a("code",[this._v("Prism4jThemeBase")]),this._v(" which has some helper methods")])])}],!1,null,null,null);e.options.__file="syntax-highlight.md";a.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/29.230c7321.js b/assets/js/29.230c7321.js new file mode 100644 index 00000000..fb662537 --- /dev/null +++ b/assets/js/29.230c7321.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{281:function(t,e,r){"use strict";r.r(e);var a=r(0),i=Object(a.a)({},function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"content"},[t._m(0),t._v(" "),r("LegacyWarning"),t._v(" "),r("p",[t._v("Here is the list of properties that can be configured via "),r("code",[t._v("SpannableTheme")]),t._v(". If you wish to control what\nis out of this list, you can use "),r("router-link",{attrs:{to:"/docs/v2/factory.html"}},[t._v("SpannableFactory")]),t._v("\nabstraction which lets you to gather full control of Spans that are used to display markdown.")],1),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),r("ThemeProperty",{attrs:{name:"linkColor",type:"@ColorInt int",defaults:"Default link color of a context where markdown is displayed *"}}),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),r("p",[t._v("Starting margin before text content for the:")]),t._v(" "),t._m(7),t._v(" "),r("ThemeProperty",{attrs:{name:"blockMargin",type:"@Px int",defaults:"24dp"}}),t._v(" "),t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),r("p",[t._v("Width of a blockquote stripe")]),t._v(" "),r("ThemeProperty",{attrs:{name:"blockQuoteWidth",type:"@Px int",defaults:"1/4 of the block margin"}}),t._v(" "),t._m(12),t._v(" "),r("p",[t._v("Color of a blockquote stripe")]),t._v(" "),r("ThemeProperty",{attrs:{name:"blockQuoteColor",type:"@ColorInt int",defaults:"textColor with 25 (0-255) alpha value"}}),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),r("p",[t._v("Controls the color of a list item. For ordered list: leading number,\nfor unordered list: bullet.")]),t._v(" "),t._m(15),t._v(" "),t._m(16),t._v(" "),r("ThemeProperty",{attrs:{name:"listItemColor",type:"@ColorInt int",defaults:"Text color"}}),t._v(" "),t._m(17),t._v(" "),r("p",[t._v("Border width of a bullet list item (level 2)")]),t._v(" "),t._m(18),t._v(" "),r("ThemeProperty",{attrs:{name:"bulletListItemStrokeWidth",type:"@Px int",defaults:"Stroke width of TextPaint"}}),t._v(" "),t._m(19),t._v(" "),r("p",[t._v("The width of the bullet item")]),t._v(" "),t._m(20),t._v(" "),r("ThemeProperty",{attrs:{name:"bulletWidth",type:"@Px int",defaults:"min(blockMargin, lineHeight) / 2"}}),t._v(" "),t._m(21),t._v(" "),t._m(22),t._v(" "),t._m(23),t._v(" "),r("ThemeProperty",{attrs:{name:"codeTextColor",type:"@ColorInt int",defaults:"Content text color"}}),t._v(" "),t._m(24),t._v(" "),t._m(25),t._v(" "),r("ThemeProperty",{attrs:{name:"codeBackgroundColor",type:"@ColorInt int",defaults:"inline code text color with 25 (0-255) alpha"}}),t._v(" "),t._m(26),t._v(" "),t._m(27),r("ThemeProperty",{attrs:{name:"codeBlockTextColor",type:"@ColorInt int",defaults:"inline code text color"}}),t._v(" "),t._m(28),t._v(" "),t._m(29),r("ThemeProperty",{attrs:{name:"codeBlockBackgroundColor",type:"@ColorInt int",defaults:"inline code background color"}}),t._v(" "),t._m(30),t._v(" "),r("p",[t._v("Leading margin for the block code content")]),t._v(" "),r("ThemeProperty",{attrs:{name:"codeMultilineMargin",type:"@Px int",defaults:"8dip"}}),t._v(" "),t._m(31),t._v(" "),r("p",[t._v("Typeface of code content")]),t._v(" "),r("ThemeProperty",{attrs:{name:"codeTypeface",type:"android.graphics.Typeface",defaults:"Typeface.MONOSPACE"}}),t._v(" "),t._m(32),t._v(" "),r("p",[t._v("Text size of code content")]),t._v(" "),r("ThemeProperty",{attrs:{name:"codeTextSize",type:"@Px int",defaults:"(Content text size) * 0.87 if no custom Typeface was set, otherwise (content text size)"}}),t._v(" "),t._m(33),t._v(" "),t._m(34),t._v(" "),r("p",[t._v("The height of a brake under H1 & H2")]),t._v(" "),r("ThemeProperty",{attrs:{name:"headingBreakHeight",type:"@Px int",defaults:"Stroke width of context TextPaint"}}),t._v(" "),t._m(35),t._v(" "),r("p",[t._v("The color of a brake under H1 & H2")]),t._v(" "),r("ThemeProperty",{attrs:{name:"headingBreakColor",type:"@ColorInt int",defaults:"(text color) with 75 (0-255) alpha"}}),t._v(" "),r("h3",{attrs:{id:"typeface"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#typeface","aria-hidden":"true"}},[t._v("#")]),t._v(" Typeface "),r("Badge",{attrs:{text:"1.1.0"}})],1),t._v(" "),r("p",[t._v("The typeface of heading elements")]),t._v(" "),r("ThemeProperty",{attrs:{name:"headingTypeface",type:"android.graphics.Typeface",defaults:"default text Typeface"}}),t._v(" "),r("h3",{attrs:{id:"text-size"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#text-size","aria-hidden":"true"}},[t._v("#")]),t._v(" Text size "),r("Badge",{attrs:{text:"1.1.0"}})],1),t._v(" "),t._m(36),t._v(" "),r("ThemeProperty",{attrs:{name:"headingTextSizeMultipliers",type:"float[]",defaults:"{2.F, 1.5F, 1.17F, 1.F, .83F, .67F} (HTML spec)"}}),t._v(" "),t._m(37),t._v(" "),t._m(38),t._v(" "),r("ThemeProperty",{attrs:{name:"scriptTextSizeRatio",type:"float",defaults:"0.75F"}}),t._v(" "),t._m(39),t._v(" "),t._m(40),t._v(" "),r("p",[t._v("Color of a thematic break")]),t._v(" "),r("ThemeProperty",{attrs:{name:"thematicBreakColor",type:"@ColorInt int",defaults:"(text color) with 25 (0-255) alpha"}}),t._v(" "),t._m(41),t._v(" "),r("p",[t._v("Height of a thematic break")]),t._v(" "),r("ThemeProperty",{attrs:{name:"thematicBreakHeight",type:"@Px int",defaults:"Stroke width of context TextPaint"}}),t._v(" "),t._m(42),t._v(" "),t._m(43),t._v(" "),r("p",[t._v("Padding inside a table cell")]),t._v(" "),r("ThemeProperty",{attrs:{name:"tableCellPadding",type:"@Px int",defaults:"0"}}),t._v(" "),t._m(44),t._v(" "),r("p",[t._v("The color of table borders")]),t._v(" "),r("ThemeProperty",{attrs:{name:"tableBorderColor",type:"@ColorInt int",defaults:"(text color) with 75 (0-255) alpha"}}),t._v(" "),t._m(45),t._v(" "),r("p",[t._v("The width of table borders")]),t._v(" "),r("ThemeProperty",{attrs:{name:"tableBorderWidth",type:"@Px int",defaults:"Stroke with of context TextPaint"}}),t._v(" "),t._m(46),t._v(" "),r("p",[t._v("Background of an odd table row")]),t._v(" "),r("ThemeProperty",{attrs:{name:"tableOddRowBackgroundColor",type:"@ColorInt int",defaults:"(text color) with 22 (0-255) alpha"}}),t._v(" "),r("h3",{attrs:{id:"even-row-background"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#even-row-background","aria-hidden":"true"}},[t._v("#")]),t._v(" Even row background "),r("Badge",{attrs:{text:"1.1.1"}})],1),t._v(" "),r("p",[t._v("Background of an even table row")]),t._v(" "),r("ThemeProperty",{attrs:{name:"tableEventRowBackgroundColor",type:"@ColorInt int",defaults:"0"}}),t._v(" "),r("h3",{attrs:{id:"header-row-background"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#header-row-background","aria-hidden":"true"}},[t._v("#")]),t._v(" Header row background "),r("Badge",{attrs:{text:"1.1.1"}})],1),t._v(" "),r("p",[t._v("Background of header table row")]),t._v(" "),r("ThemeProperty",{attrs:{name:"tableHeaderRowBackgroundColor",type:"@ColorInt int",defaults:"0"}}),t._v(" "),r("h2",{attrs:{id:"task-list-drawable"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#task-list-drawable","aria-hidden":"true"}},[t._v("#")]),t._v(" Task list drawable "),r("Badge",{attrs:{text:"1.0.1"}})],1),t._v(" "),r("p",[t._v("Drawable of task list item")]),t._v(" "),r("ThemeProperty",{attrs:{name:"taskListDrawable",type:"android.graphics.drawable.Drawable",defaults:"ru.noties.markwon.spans.TaskListDrawable"}})],1)},[function(){var t=this.$createElement,e=this._self._c||t;return e("h1",{attrs:{id:"theme"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#theme","aria-hidden":"true"}},[this._v("#")]),this._v(" Theme")])},function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ul",[r("li",[r("code",[t._v("SpannableTheme#create(Context)")]),t._v(" - creates a "),r("strong",[t._v("default")]),t._v(" instance of `SpannableBuilder (with "),r("em",[t._v("defaults")]),t._v(" registered)")]),t._v(" "),r("li",[r("code",[t._v("SpannableTheme#builder")]),t._v(" - creates "),r("strong",[t._v("empty")]),t._v(" builder with "),r("strong",[t._v("no defaults registered")])]),t._v(" "),r("li",[r("code",[t._v("SpannableTheme#builderWithDefaults(Context)")]),t._v(" - create a "),r("strong",[t._v("default")]),t._v(" instance of builder (with default values registered)")])])},function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"warning custom-block"},[r("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),r("p",[r("code",[t._v("SpannbleTheme#builder")]),t._v(" method has an unfortunate naming. It should've been "),r("code",[t._v("emptyBuilder")]),t._v("\nor "),r("code",[t._v("builderNoDefaults")]),t._v(" because "),r("code",[t._v("#builder")]),t._v(" method returns a builder with "),r("strong",[t._v("no default\ntheme values registered")]),t._v(". To create a builder "),r("strong",[t._v("with")]),t._v(" default values registered\nuse "),r("code",[t._v("SpannableBuilder#builderWithDefaults(Context)")])])])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"link-color"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#link-color","aria-hidden":"true"}},[this._v("#")]),this._v(" Link color")])},function(){var t=this.$createElement,e=this._self._c||t;return e("p",[this._v("Controls the color of a "),e("a",{attrs:{href:"#"}},[this._v("link")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("p",[e("sup",[this._v("*")]),this._v(" "),e("code",[this._v("TextPaint#linkColor")]),this._v(" will be used to determine linkColor of a context")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"block-margin"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#block-margin","aria-hidden":"true"}},[this._v("#")]),this._v(" Block margin")])},function(){var t=this.$createElement,e=this._self._c||t;return e("ul",[e("li",[this._v("lists")]),this._v(" "),e("li",[this._v("blockquotes")]),this._v(" "),e("li",[this._v("task lists")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"block-quote"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#block-quote","aria-hidden":"true"}},[this._v("#")]),this._v(" Block quote")])},function(){var t=this.$createElement,e=this._self._c||t;return e("p",[this._v("Customizations for the "),e("code",[this._v("blockquote")]),this._v(" stripe")])},function(){var t=this.$createElement,e=this._self._c||t;return e("blockquote",[e("p",[this._v("Quote")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"stripe-width"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#stripe-width","aria-hidden":"true"}},[this._v("#")]),this._v(" Stripe width")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"stripe-color"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#stripe-color","aria-hidden":"true"}},[this._v("#")]),this._v(" Stripe color")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"list"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#list","aria-hidden":"true"}},[this._v("#")]),this._v(" List")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"list-item-color"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#list-item-color","aria-hidden":"true"}},[this._v("#")]),this._v(" List item color")])},function(){var t=this.$createElement,e=this._self._c||t;return e("ul",[e("li",[this._v("UL")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("ol",[e("li",[this._v("OL")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"bullet-item-stroke-width"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#bullet-item-stroke-width","aria-hidden":"true"}},[this._v("#")]),this._v(" Bullet item stroke width")])},function(){var t=this.$createElement,e=this._self._c||t;return e("ul",[e("li",[this._v("First")]),this._v(" "),e("li",[e("ul",[e("li",[this._v("Second")])])]),this._v(" "),e("li",[e("ul",[e("li",[e("ul",[e("li",[this._v("Third")])])])])])])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"bullet-width"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#bullet-width","aria-hidden":"true"}},[this._v("#")]),this._v(" Bullet width")])},function(){var t=this.$createElement,e=this._self._c||t;return e("ul",[e("li",[this._v("First\n"),e("ul",[e("li",[this._v("Second\n"),e("ul",[e("li",[this._v("Third")])])])])])])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"code"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#code","aria-hidden":"true"}},[this._v("#")]),this._v(" Code")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"inline-code-text-color"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#inline-code-text-color","aria-hidden":"true"}},[this._v("#")]),this._v(" Inline code text color")])},function(){var t=this.$createElement,e=this._self._c||t;return e("p",[this._v("The color of the "),e("code",[this._v("code")]),this._v(" content")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"inline-code-background-color"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#inline-code-background-color","aria-hidden":"true"}},[this._v("#")]),this._v(" Inline code background color")])},function(){var t=this.$createElement,e=this._self._c||t;return e("p",[this._v("The color of "),e("code",[this._v("background")]),this._v(" of a code content")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"block-code-text-color"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#block-code-text-color","aria-hidden":"true"}},[this._v("#")]),this._v(" Block code text color")])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[this._v("The color of code block text\n")])])])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"block-code-background-color"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#block-code-background-color","aria-hidden":"true"}},[this._v("#")]),this._v(" Block code background color")])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[this._v("The color of background of code block text\n")])])])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"block-code-leading-margin"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#block-code-leading-margin","aria-hidden":"true"}},[this._v("#")]),this._v(" Block code leading margin")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"code-typeface"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#code-typeface","aria-hidden":"true"}},[this._v("#")]),this._v(" Code typeface")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"code-text-size"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#code-text-size","aria-hidden":"true"}},[this._v("#")]),this._v(" Code text size")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"heading"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#heading","aria-hidden":"true"}},[this._v("#")]),this._v(" Heading")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"break-height"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#break-height","aria-hidden":"true"}},[this._v("#")]),this._v(" Break height")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"break-color"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#break-color","aria-hidden":"true"}},[this._v("#")]),this._v(" Break color")])},function(){var t=this.$createElement,e=this._self._c||t;return e("p",[this._v("Array of heading text sizes "),e("em",[this._v("ratio")]),this._v(" that is applied to text size")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"script-ratio"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#script-ratio","aria-hidden":"true"}},[this._v("#")]),this._v(" Script ratio")])},function(){var t=this.$createElement,e=this._self._c||t;return e("p",[this._v("Ratio to be applied for "),e("code",[this._v("sup")]),this._v(" (super script) & "),e("code",[this._v("sub")]),this._v(" (sub script)")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"thematic-break"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#thematic-break","aria-hidden":"true"}},[this._v("#")]),this._v(" Thematic break")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"color"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#color","aria-hidden":"true"}},[this._v("#")]),this._v(" Color")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"height"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#height","aria-hidden":"true"}},[this._v("#")]),this._v(" Height")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"table"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#table","aria-hidden":"true"}},[this._v("#")]),this._v(" Table")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"cell-padding"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#cell-padding","aria-hidden":"true"}},[this._v("#")]),this._v(" Cell padding")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"border-color"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#border-color","aria-hidden":"true"}},[this._v("#")]),this._v(" Border color")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"border-width"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#border-width","aria-hidden":"true"}},[this._v("#")]),this._v(" Border width")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"odd-row-background"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#odd-row-background","aria-hidden":"true"}},[this._v("#")]),this._v(" Odd row background")])}],!1,null,null,null);i.options.__file="theme.md";e.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/3.eaac0903.js b/assets/js/3.eaac0903.js new file mode 100644 index 00000000..45702d6e --- /dev/null +++ b/assets/js/3.eaac0903.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{172:function(t,e,n){},184:function(t,e,n){"use strict";var a=n(172);n.n(a).a},242:function(t,e,n){"use strict";n.r(e);var a={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:function(t,e){var n=e.props,a=e.slots;return t("span",{class:["badge",n.type,n.vertical]},n.text||a().default)}},i=(n(184),n(0)),o=Object(i.a)(a,void 0,void 0,!1,null,"099ab69c",null);o.options.__file="Badge.vue";e.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/30.45e92827.js b/assets/js/30.45e92827.js new file mode 100644 index 00000000..f97ae208 --- /dev/null +++ b/assets/js/30.45e92827.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{278:function(t,n,a){"use strict";a.r(n);var s=a(0),e=Object(s.a)({},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"content"},[t._m(0),t._v(" "),a("LegacyWarning"),t._v(" "),a("MavenBadge2xx",{attrs:{artifact:"markwon-view"}}),t._v(" "),a("p",[t._v("This is simple library containing 2 views that are able to display markdown:")]),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),a("p",[t._v("Both views support layout-preview in Android Studio (with some exceptions, for example, bold span is not rendered due to some limitations of layout preview).\nThese are XML attributes:")]),t._v(" "),t._m(4),t._m(5),t._v(" "),t._m(6),t._v(" "),a("p",[t._v("Please note that those views parse markdown in main thread, so their usage must be for relatively small markdown portions only")])],1)},[function(){var t=this.$createElement,n=this._self._c||t;return n("h1",{attrs:{id:"markwonview"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#markwonview","aria-hidden":"true"}},[this._v("#")]),this._v(" MarkwonView")])},function(){var t=this.$createElement,n=this._self._c||t;return n("ul",[n("li",[this._v("MarkwonView - extends "),n("code",[this._v("android.view.TextView")])]),this._v(" "),n("li",[this._v("MarkwonViewCompat - extends "),n("code",[this._v("android.support.v7.widget.AppCompatTextView")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("Both of them implement common "),n("code",[this._v("IMarkwonView")]),this._v(" interface:")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("interface")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("IMarkwonView")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\n "),a("span",{attrs:{class:"token keyword"}},[t._v("interface")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("ConfigurationProvider")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v("\n SpannableConfiguration "),a("span",{attrs:{class:"token function"}},[t._v("provide")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" Context context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("setConfigurationProvider")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" ConfigurationProvider provider"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("setMarkdown")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Nullable")]),t._v(" String markdown"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("setMarkdown")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Nullable")]),t._v(" SpannableConfiguration configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Nullable")]),t._v(" String markdown"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Nullable")]),t._v("\n String "),a("span",{attrs:{class:"token function"}},[t._v("getMarkdown")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("div",{staticClass:"language-xml extra-class"},[n("pre",{pre:!0,attrs:{class:"language-xml"}},[n("code",[this._v('app:mv_markdown="string"\napp:mv_configurationProvider="string"\n')])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[n("code",[this._v("mv_markdown")]),this._v(" accepts a string and represents raw markdown")])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[n("code",[this._v("mv_configurationProvider")]),this._v(" accepts a string and represents a full class name of a class of type "),n("code",[this._v("ConfigurationProvider")]),this._v(",\nfor example: "),n("code",[this._v("com.example.my.package.MyConfigurationProvider")]),this._v(" (this class must have an empty constructor\nin order to be instantiated via reflection).")])}],!1,null,null,null);e.options.__file="view.md";n.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/31.3a2ff699.js b/assets/js/31.3a2ff699.js new file mode 100644 index 00000000..ec544824 --- /dev/null +++ b/assets/js/31.3a2ff699.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{275:function(t,s,a){"use strict";a.r(s);var n=a(0),e=Object(n.a)({},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"content"},[t._m(0),t._v(" "),a("LegacyWarning"),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("Use "),a("router-link",{attrs:{to:"/docs/v3/syntax-highlight/"}},[t._v("syntax-highlight")]),t._v(" to add syntax highlighting\nto your application")],1)]),t._v(" "),t._m(6),t._v(" "),t._m(7),t._v(" "),t._m(8),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("Please note that "),a("code",[t._v("Markwon")]),t._v(" will apply "),a("code",[t._v("LinkMovementMethod")]),t._v(" to a resulting TextView\nif there is none registered. if you wish to register own instance of a "),a("code",[t._v("MovementMethod")]),t._v("\napply it directly to a TextView or use "),a("router-link",{attrs:{to:"/docs/v3/core/movement-method-plugin.html"}},[t._v("MovementMethodPlugin")])],1)]),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),t._m(15),t._v(" "),t._m(16),t._v(" "),t._m(17),t._v(" "),t._m(18),t._v(" "),t._m(19),t._v(" "),t._m(20),t._v(" "),t._m(21),t._m(22),t._v(" "),t._m(23),t._v(" "),t._m(24),t._m(25),t._v(" "),t._m(26),t._v(" "),t._m(27),t._v(" "),t._m(28),t._v(" "),t._m(29),t._v(" "),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),a("p",[t._v("One must explicitly use "),a("router-link",{attrs:{to:"/docs/v3/html/"}},[t._v("HtmlPlugin")]),t._v(" in order to display\nHTML content in markdown. Without specified HTML parser "),a("strong",[t._v("no HTML content\nwill be rendered")]),t._v(".")],1),t._v(" "),t._m(30),t._m(31)])],1)},[function(){var t=this.$createElement,s=this._self._c||t;return s("h1",{attrs:{id:"configuration"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#configuration","aria-hidden":"true"}},[this._v("#")]),this._v(" Configuration")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("code",[this._v("MarkwonConfiguration")]),this._v(" class holds common Markwon functionality.\nThese are "),s("em",[this._v("configurable")]),this._v(" properties:")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("code",[t._v("SyntaxHighlight")])]),t._v(" "),a("li",[a("code",[t._v("LinkSpan.Resolver")])]),t._v(" "),a("li",[a("code",[t._v("UrlProcessor")])]),t._v(" "),a("li",[a("code",[t._v("ImageSizeResolver")])]),t._v(" "),a("li",[a("code",[t._v("MarkwonHtmlParser")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("Additionally "),a("code",[t._v("MarkwonConfiguration")]),t._v(" holds:")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("MarkwonTheme")])]),t._v(" "),a("li",[a("code",[t._v("AsyncDrawableLoader")])]),t._v(" "),a("li",[a("code",[t._v("MarkwonHtmlRenderer")])]),t._v(" "),a("li",[a("code",[t._v("MarkwonSpansFactory")])])]),t._v(" "),a("p",[t._v("Please note that these values can be retrieved from "),a("code",[t._v("MarkwonConfiguration")]),t._v("\ninstance, but their "),a("em",[t._v("configuration")]),t._v(" must be done by a "),a("code",[t._v("Plugin")]),t._v(" by overriding\none of the methods:")]),t._v(" "),a("ul",[a("li",[a("code",[t._v("Plugin#configureTheme")])]),t._v(" "),a("li",[a("code",[t._v("Plugin#configureImages")])]),t._v(" "),a("li",[a("code",[t._v("Plugin#configureHtmlRenderer")])]),t._v(" "),a("li",[a("code",[t._v("Plugin#configureSpansFactory")])])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"syntaxhighlight"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#syntaxhighlight","aria-hidden":"true"}},[this._v("#")]),this._v(" SyntaxHighlight")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("this")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("configureConfiguration")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonConfiguration"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("syntaxHighlight")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("SyntaxHighlightNoOp")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"linkspan-resolver"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#linkspan-resolver","aria-hidden":"true"}},[this._v("#")]),this._v(" LinkSpan.Resolver")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("p",[t._v("React to a link click event. By default "),a("code",[t._v("LinkResolverDef")]),t._v(" is used,\nwhich tries to start an Activity given the "),a("code",[t._v("link")]),t._v(" argument. If no\nActivity can handle "),a("code",[t._v("link")]),t._v(" "),a("code",[t._v("LinkResolverDef")]),t._v(" silently ignores click event")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("this")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("configureConfiguration")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonConfiguration"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("linkResolver")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("LinkSpan"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Resolver")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("resolve")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("View view"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" String link"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// react to link click here")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"urlprocessor"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#urlprocessor","aria-hidden":"true"}},[this._v("#")]),this._v(" UrlProcessor")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("Process URLs in your markdown (for links and images). If not provided explicitly,\ndefault "),s("strong",[this._v("no-op")]),this._v(" implementation will be used, which does not modify URLs (keeping them as-is).")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("code",[this._v("Markwon")]),this._v(" provides 2 implementations of "),s("code",[this._v("UrlProcessor")]),this._v(":")])},function(){var t=this.$createElement,s=this._self._c||t;return s("ul",[s("li",[s("code",[this._v("UrlProcessorRelativeToAbsolute")])]),this._v(" "),s("li",[s("code",[this._v("UrlProcessorAndroidAssets")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"urlprocessorrelativetoabsolute"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#urlprocessorrelativetoabsolute","aria-hidden":"true"}},[this._v("#")]),this._v(" UrlProcessorRelativeToAbsolute")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("p",[a("code",[t._v("UrlProcessorRelativeToAbsolute")]),t._v(" can be used to make relative URL absolute. For example if an image is\ndefined like this: "),a("code",[t._v("![img](./art/image.JPG)")]),t._v(" and "),a("code",[t._v("UrlProcessorRelativeToAbsolute")]),t._v("\nis created with "),a("code",[t._v("https://github.com/noties/Markwon/raw/master/")]),t._v(" as the base:\n"),a("code",[t._v('new UrlProcessorRelativeToAbsolute("https://github.com/noties/Markwon/raw/master/")')]),t._v(",\nthen final image will have "),a("code",[t._v("https://github.com/noties/Markwon/raw/master/art/image.JPG")]),t._v("\nas the destination.")])},function(){var t=this.$createElement,s=this._self._c||t;return s("h3",{attrs:{id:"urlprocessorandroidassets"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#urlprocessorandroidassets","aria-hidden":"true"}},[this._v("#")]),this._v(" UrlProcessorAndroidAssets")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("code",[this._v("UrlProcessorAndroidAssets")]),this._v(" can be used to make processed links to point to Android assets folder.\nSo an image: "),s("code",[this._v("![img](./art/image.JPG)")]),this._v(" will have "),s("code",[this._v("file:///android_asset/art/image.JPG")]),this._v(" as the\ndestination.")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("Please note that "),a("code",[t._v("UrlProcessorAndroidAssets")]),t._v(" will process only URLs that have no "),a("code",[t._v("scheme")]),t._v(" information,\nso a "),a("code",[t._v("./art/image.png")]),t._v(" will become "),a("code",[t._v("file:///android_asset/art/image.JPG")]),t._v(" whilst "),a("code",[t._v("https://so.me/where.png")]),t._v("\nwill be kept as-is.")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),a("p",[t._v("In order to display an image from assets you still need to register "),a("code",[t._v("ImagesPlugin#createWithAssets(Context)")]),t._v("\nplugin in resulting "),a("code",[t._v("Markwon")]),t._v(" instance. As "),a("code",[t._v("UrlProcessorAndroidAssets")]),t._v(" only\n"),a("em",[t._v("processes")]),t._v(" URLs and doesn't take any part in displaying an image.")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"imagesizeresolver"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#imagesizeresolver","aria-hidden":"true"}},[this._v("#")]),this._v(" ImageSizeResolver")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("code",[this._v("ImageSizeResolver")]),this._v(" controls the size of an image to be displayed. Currently it\nhandles only HTML images (specified via "),s("code",[this._v("img")]),this._v(" tag).")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("this")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("configureConfiguration")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonConfiguration"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("imageSizeResolver")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("ImageSizeResolver")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Rect "),a("span",{attrs:{class:"token function"}},[t._v("resolveImageSize")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Nullable")]),t._v(" ImageSize imageSize"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" Rect imageBounds"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("int")]),t._v(" canvasWidth"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("float")]),t._v(" textSize"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" null"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("If not provided explicitly, default "),s("code",[this._v("ImageSizeResolverDef")]),this._v(" implementation will be used.\nIt handles 3 dimension units:")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("code",[t._v("%")]),t._v(" (percent, relative to Canvas width)")]),t._v(" "),a("li",[a("code",[t._v("em")]),t._v(" (relative to text size)")]),t._v(" "),a("li",[a("code",[t._v("px")]),t._v(" (absolute size, every dimension that is not "),a("code",[t._v("%")]),t._v(" or "),a("code",[t._v("em")]),t._v(" is considered to be "),a("em",[t._v("absolute")]),t._v(")")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-html extra-class"},[a("pre",{pre:!0,attrs:{class:"language-html"}},[a("code",[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("img")]),t._v(" "),a("span",{attrs:{class:"token attr-name"}},[t._v("width")]),a("span",{attrs:{class:"token attr-value"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("100%"),a("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n"),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("img")]),t._v(" "),a("span",{attrs:{class:"token attr-name"}},[t._v("width")]),a("span",{attrs:{class:"token attr-value"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("2em"),a("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),a("span",{attrs:{class:"token attr-name"}},[t._v("height")]),a("span",{attrs:{class:"token attr-value"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("=")]),a("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("10px"),a("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n"),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("img")]),a("span",{attrs:{class:"token style-attr language-css"}},[a("span",{attrs:{class:"token attr-name"}},[t._v(" "),a("span",{attrs:{class:"token attr-name"}},[t._v("style")])]),a("span",{attrs:{class:"token punctuation"}},[t._v('="')]),a("span",{attrs:{class:"token attr-value"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{attrs:{class:"token property"}},[t._v("width")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 100%"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v(" "),a("span",{attrs:{class:"token property"}},[t._v("height")]),a("span",{attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" 8em"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),a("span",{attrs:{class:"token punctuation"}},[t._v("}")])]),a("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("code",[this._v("ImageSizeResolverDef")]),this._v(" keeps the ratio of original image if one of the dimensions is missing.")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("Height%")]),t._v(" "),a("p",[t._v("There is no support for "),a("code",[t._v("%")]),t._v(" units for "),a("code",[t._v("height")]),t._v(" dimension. This is due to the fact that\nheight of an TextView in which markdown is displayed is non-stable and changes with time\n(for example when image is loaded and applied to a TextView it will "),a("em",[t._v("increase")]),t._v(" TextView's height),\nso we will have no point-of-reference from which to "),a("em",[t._v("calculate")]),t._v(" image height.")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[a("code",[t._v("ImageSizeResolverDef")]),t._v(" also takes care for an image to "),a("strong",[t._v("not")]),t._v(" exceed\ncanvas width. If an image has greater width than a TextView Canvas, then\nimage will be "),a("em",[t._v("scaled-down")]),t._v(" to fit the canvas. Please note that this rule\napplies only if image has no absolute sizes (for example width is specified\nin pixels).")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"markwonhtmlparser"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#markwonhtmlparser","aria-hidden":"true"}},[this._v("#")]),this._v(" MarkwonHtmlParser")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("Specify which HTML parser to use. Default implementation is "),s("strong",[this._v("no-op")]),this._v(".")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[t._v("Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("HtmlPlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("create")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("Please note that adding "),s("code",[this._v("HtmlPlugin")]),this._v(" will take care of initializing parser,\nso after "),s("code",[this._v("HtmlPlugin")]),this._v(" is used, no additional configuration steps are required.")])}],!1,null,null,null);e.options.__file="configuration.md";s.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/32.662e2ab9.js b/assets/js/32.662e2ab9.js new file mode 100644 index 00000000..f53688d4 --- /dev/null +++ b/assets/js/32.662e2ab9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{272:function(t,s,a){"use strict";a.r(s);var n=a(0),e=Object(n.a)({},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"content"},[a("h1",{attrs:{id:"core-plugin"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#core-plugin","aria-hidden":"true"}},[t._v("#")]),t._v(" Core plugin "),a("Badge",{attrs:{text:"3.0.0"}})],1),t._v(" "),a("LegacyWarning"),t._v(" "),a("p",[t._v("Since "),a("Badge",{attrs:{text:"3.0.0"}}),t._v(" with introduction of "),a("em",[t._v("plugins")]),t._v(", Markwon\n"),a("strong",[t._v("core")]),t._v(" functionality was moved to a dedicated plugin.")],1),t._v(" "),t._m(0),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7),t._v(" "),t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("List item type")]),t._v(" "),a("p",[t._v("Before "),a("Badge",{attrs:{text:"3.0.0"}}),t._v(" "),a("code",[t._v("Markwon")]),t._v(" had 2 distinct lists (bullet and ordered).\nSince "),a("Badge",{attrs:{text:"3.0.0"}}),t._v(" a single "),a("code",[t._v("SpanFactory")]),t._v(" is used, which internally checks\nfor "),a("code",[t._v("Prop LIST_ITEM_TYPE")]),t._v(".\nBeware of this if you would like to override only one of the list types. This is\ndone to correspond to "),a("code",[t._v("commonmark-java")]),t._v(" implementation.")],1)]),t._v(" "),a("p",[t._v("More information about props can be found "),a("router-link",{attrs:{to:"/docs/v3/core/render-props.html"}},[t._v("here")])],1),t._v(" "),a("hr"),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("Soft line break")]),t._v(" "),a("p",[t._v("Since "),a("Badge",{attrs:{text:"3.0.0"}}),t._v(" Markwon core does not give an option to\ninsert a new line when there is a soft line break in markdown. Instead a\ncustom plugin can be used:")],1),t._v(" "),t._m(11)]),t._v(" "),a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),a("p",[t._v("Please note that "),a("code",[t._v("CorePlugin")]),t._v(" will implicitly set a "),a("code",[t._v("LinkMovementMethod")]),t._v(" on a TextView\nif one is not present. If you wish to customize a MovementMethod that is used, apply\none manually to a TextView (before applying markdown) or use the "),a("router-link",{attrs:{to:"/docs/v3/core/movement-method-plugin.html"}},[t._v("MovementMethodPlugin")]),t._v("\nwhich accepts a MovementMethod as an argument.")],1)])],1)},[function(){var t=this.$createElement,s=this._self._c||t;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[this._v("CorePlugin"),s("span",{attrs:{class:"token punctuation"}},[this._v(".")]),s("span",{attrs:{class:"token function"}},[this._v("create")]),s("span",{attrs:{class:"token punctuation"}},[this._v("(")]),s("span",{attrs:{class:"token punctuation"}},[this._v(")")]),s("span",{attrs:{class:"token punctuation"}},[this._v(";")]),this._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"node-visitors"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#node-visitors","aria-hidden":"true"}},[this._v("#")]),this._v(" Node visitors")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("code",[this._v("CorePlugin")]),this._v(" registers these "),s("code",[this._v("commonmark-java")]),this._v(" node visitors:")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("code",[t._v("Text")])]),t._v(" "),a("li",[a("code",[t._v("StrongEmphasis")])]),t._v(" "),a("li",[a("code",[t._v("Emphasis")])]),t._v(" "),a("li",[a("code",[t._v("BlockQuote")])]),t._v(" "),a("li",[a("code",[t._v("Code")])]),t._v(" "),a("li",[a("code",[t._v("FencedCodeBlock")])]),t._v(" "),a("li",[a("code",[t._v("IndentedCodeBlock")])]),t._v(" "),a("li",[a("code",[t._v("BulletList")])]),t._v(" "),a("li",[a("code",[t._v("OrderedList")])]),t._v(" "),a("li",[a("code",[t._v("ListItem")])]),t._v(" "),a("li",[a("code",[t._v("ThematicBreak")])]),t._v(" "),a("li",[a("code",[t._v("Heading")])]),t._v(" "),a("li",[a("code",[t._v("SoftLineBreak")])]),t._v(" "),a("li",[a("code",[t._v("HardLineBreak")])]),t._v(" "),a("li",[a("code",[t._v("Paragraph")])]),t._v(" "),a("li",[a("code",[t._v("Link")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"span-factories"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#span-factories","aria-hidden":"true"}},[this._v("#")]),this._v(" Span factories")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[s("code",[this._v("CorePlugin")]),this._v(" adds these "),s("code",[this._v("SpanFactory")]),this._v("s:")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("code",[t._v("StrongEmphasis")])]),t._v(" "),a("li",[a("code",[t._v("Emphasis")])]),t._v(" "),a("li",[a("code",[t._v("BlockQuote")])]),t._v(" "),a("li",[a("code",[t._v("Code")])]),t._v(" "),a("li",[a("code",[t._v("FencedCodeBlock")])]),t._v(" "),a("li",[a("code",[t._v("IndentedCodeBlock")])]),t._v(" "),a("li",[a("code",[t._v("ListItem")])]),t._v(" "),a("li",[a("code",[t._v("Heading")])]),t._v(" "),a("li",[a("code",[t._v("Link")])]),t._v(" "),a("li",[a("code",[t._v("ThematicBreak")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("By default "),a("code",[t._v("CorePlugin")]),t._v(" does not register a "),a("code",[t._v("Paragraph")]),t._v(" "),a("code",[t._v("SpanFactory")]),t._v(" but\nthis can be done in your custom plugin:")]),t._v(" "),a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[t._v("Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("configureSpansFactory")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonSpansFactory"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("setFactory")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Paragraph"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" props"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("-")]),a("span",{attrs:{class:"token operator"}},[t._v(">")]),t._v(" \n "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("ForegroundColorSpan")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Color"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("RED"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"props"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#props","aria-hidden":"true"}},[this._v("#")]),this._v(" Props")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("These props are exported by "),s("code",[this._v("CorePlugin")]),this._v(" and can be found in "),s("code",[this._v("CoreProps")]),this._v(":")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("code",[t._v("Prop LIST_ITEM_TYPE")]),t._v(" (BULLET | ORDERED)")]),t._v(" "),a("li",[a("code",[t._v("Prop BULLET_LIST_ITEM_LEVEL")])]),t._v(" "),a("li",[a("code",[t._v("Prop ORDERED_LIST_ITEM_NUMBER")])]),t._v(" "),a("li",[a("code",[t._v("Prop HEADING_LEVEL")])]),t._v(" "),a("li",[a("code",[t._v("Prop LINK_DESTINATION")])]),t._v(" "),a("li",[a("code",[t._v("Prop PARAGRAPH_IS_IN_TIGHT_LIST")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("this")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("configureVisitor")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonVisitor"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("on")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("SoftLineBreak"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("visitor"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" softLineBreak"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("-")]),a("span",{attrs:{class:"token operator"}},[t._v(">")]),t._v("\n visitor"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("forceNewLine")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])}],!1,null,null,null);e.options.__file="core-plugin.md";s.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/33.d83b2cb7.js b/assets/js/33.d83b2cb7.js new file mode 100644 index 00000000..3f00da31 --- /dev/null +++ b/assets/js/33.d83b2cb7.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{270:function(t,a,n){"use strict";n.r(a);var s=n(0),e=Object(s.a)({},function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("div",{staticClass:"content"},[t._m(0),t._v(" "),n("LegacyWarning"),t._v(" "),n("div",{staticClass:"tip custom-block"},[n("p",{staticClass:"custom-block-title"},[t._v("Installation")]),t._v(" "),n("p",[t._v("Please follow "),n("router-link",{attrs:{to:"/docs/v3/install.html"}},[t._v("installation")]),t._v(" instructions\nto learn how to add "),n("code",[t._v("Markwon")]),t._v(" to your project")],1)]),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._m(4),t._v(" "),t._m(5),n("div",{staticClass:"warning custom-block"},[n("p",{staticClass:"custom-block-title"},[t._v("3.x.x migration")]),t._v(" "),n("p",[t._v("Starting with "),n("Badge",{attrs:{text:"3.0.0"}}),t._v(" version Markwon no longer relies on static\nutility methods. To learn more about migrating existing applications\nrefer to "),n("router-link",{attrs:{to:"/docs/v3/migration-2-3.html"}},[t._v("migration")]),t._v(" section.")],1)]),t._v(" "),t._m(6),t._v(" "),t._m(7),t._v(" "),t._m(8),t._m(9),t._v(" "),n("p",[t._v("This section is kept due to historical reasons. Starting with version "),n("Badge",{attrs:{text:"3.0.0"}}),t._v("\nthe amount of magic is reduced. To leverage your "),n("code",[t._v("Markwon")]),t._v(" usage a concept of "),n("code",[t._v("Plugin")]),t._v("\nis introduced which helps to extend default behavior in a simple and "),n("em",[t._v("no-breaking-the-flow")]),t._v(" manner.\nHead to the "),n("router-link",{attrs:{to:"/docs/v3/core/plugins.html"}},[t._v("next section")]),t._v(" to know more.")],1)],1)},[function(){var t=this.$createElement,a=this._self._c||t;return a("h1",{attrs:{id:"getting-started"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getting-started","aria-hidden":"true"}},[this._v("#")]),this._v(" Getting started")])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"quick-one"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#quick-one","aria-hidden":"true"}},[this._v("#")]),this._v(" Quick one")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("This is the most simple way to set markdown to a "),a("code",[this._v("TextView")]),this._v(" or any of its siblings:")])},function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("div",{staticClass:"language-java extra-class"},[n("pre",{pre:!0,attrs:{class:"language-java"}},[n("code",[n("span",{attrs:{class:"token comment"}},[t._v("// obtain an instance of Markwon")]),t._v("\n"),n("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("create")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),n("span",{attrs:{class:"token comment"}},[t._v("// set markdown")]),t._v("\nmarkwon"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("setMarkdown")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("textView"),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{attrs:{class:"token string"}},[t._v('"**Hello there!**"')]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("The most simple way to obtain markdown to be applied "),a("em",[this._v("somewhere")]),this._v(" else:")])},function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("div",{staticClass:"language-java extra-class"},[n("pre",{pre:!0,attrs:{class:"language-java"}},[n("code",[n("span",{attrs:{class:"token comment"}},[t._v("// obtain an instance of Markwon")]),t._v("\n"),n("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("create")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),n("span",{attrs:{class:"token comment"}},[t._v("// parse markdown and create styled text")]),t._v("\n"),n("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Spanned markdown "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" markwon"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("toMarkdown")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token string"}},[t._v('"**Hello there!**"')]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),n("span",{attrs:{class:"token comment"}},[t._v("// use it")]),t._v("\nToast"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("makeText")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" markdown"),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" Toast"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("LENGTH_LONG"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("show")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"longer-one"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#longer-one","aria-hidden":"true"}},[this._v("#")]),this._v(" Longer one")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("With explicit "),a("code",[this._v("parse")]),this._v(" and "),a("code",[this._v("render")]),this._v(" methods:")])},function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("div",{staticClass:"language-java extra-class"},[n("pre",{pre:!0,attrs:{class:"language-java"}},[n("code",[n("span",{attrs:{class:"token comment"}},[t._v("// obtain an instance of Markwon")]),t._v("\n"),n("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("create")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),n("span",{attrs:{class:"token comment"}},[t._v("// parse markdown to commonmark-java Node")]),t._v("\n"),n("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Node node "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" markwon"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("parse")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token string"}},[t._v('"Are **you** still there?"')]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),n("span",{attrs:{class:"token comment"}},[t._v("// create styled text from parsed Node")]),t._v("\n"),n("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Spanned markdown "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" markwon"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("render")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("node"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),n("span",{attrs:{class:"token comment"}},[t._v("// use it on a TextView")]),t._v("\nmarkwon"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("setParsedMarkdown")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("textView"),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" markdown"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),n("span",{attrs:{class:"token comment"}},[t._v("// or a Toast")]),t._v("\nToast"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("makeText")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" markdown"),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" Toast"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("LENGTH_LONG"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("show")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"no-magic-one"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#no-magic-one","aria-hidden":"true"}},[this._v("#")]),this._v(" No magic one")])}],!1,null,null,null);e.options.__file="getting-started.md";a.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/34.4b19ef85.js b/assets/js/34.4b19ef85.js new file mode 100644 index 00000000..0d89bebe --- /dev/null +++ b/assets/js/34.4b19ef85.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[34],{268:function(t,n,a){"use strict";a.r(n);var s=a(0),o=Object(s.a)({},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"content"},[t._m(0),t._v(" "),a("LegacyWarning"),t._v(" "),a("p",[t._v("Starting with "),a("Badge",{attrs:{text:"3.0.0"}}),t._v(" "),a("code",[t._v("MarkwonHtmlRenderer")]),t._v(" controls how HTML\nis rendered:")],1),t._v(" "),t._m(1),a("div",{staticClass:"danger custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),a("p",[t._v("Customizing "),a("code",[t._v("MarkwonHtmlRenderer")]),t._v(" is not enough to include HTML content in your application.\nYou must explicitly include "),a("router-link",{attrs:{to:"/docs/v3/html/"}},[t._v("markwon-html")]),t._v(" artifact (includes HtmlParser)\nto your project and register "),a("code",[t._v("HtmlPlugin")]),t._v(":")],1),t._v(" "),t._m(2)]),t._v(" "),t._m(3),t._v(" "),t._m(4),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7),t._v(" "),t._m(8),t._m(9)],1)},[function(){var t=this.$createElement,n=this._self._c||t;return n("h1",{attrs:{id:"html-renderer"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#html-renderer","aria-hidden":"true"}},[this._v("#")]),this._v(" HTML Renderer")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[t._v("Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("configureHtmlRenderer")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonHtmlRenderer"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("setHandler")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v('"a"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("MyTagHandler")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[t._v("Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("HtmlPlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("create")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("For example, to create an "),n("code",[this._v("")]),this._v(" HTML tag handler:")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[t._v("builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("setHandler")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v('"a"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("SimpleTagHandler")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Object "),a("span",{attrs:{class:"token function"}},[t._v("getSpans")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonConfiguration configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" RenderProps renderProps"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" HtmlTag tag"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("LinkSpan")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("theme")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" \n tag"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("attributes")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("get")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v('"href"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" \n configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("linkResolver")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[n("code",[this._v("SimpleTagHandler")]),this._v(" can be used for simple cases when a tag does not require any special\nhandling (like visiting it's children)")])},function(){var t=this.$createElement,n=this._self._c||t;return n("div",{staticClass:"tip custom-block"},[n("p",{staticClass:"custom-block-title"},[this._v("TIP")]),this._v(" "),n("p",[this._v("One can return "),n("code",[this._v("null")]),this._v(" a single span or an array of spans from "),n("code",[this._v("getSpans")]),this._v(" method")])])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("For a more advanced usage "),n("code",[this._v("TagHandler")]),this._v(" can be used directly:")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[t._v("builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("setHandler")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v('"a"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("TagHandler")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("handle")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonVisitor visitor"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonHtmlRenderer renderer"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" HtmlTag tag"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n \n "),a("span",{attrs:{class:"token comment"}},[t._v("// obtain default spanFactory for Link node")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" SpanFactory factory "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" visitor"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("configuration")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("spansFactory")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("get")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Link"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \n "),a("span",{attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("factory "),a("span",{attrs:{class:"token operator"}},[t._v("!=")]),t._v(" null"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n \n "),a("span",{attrs:{class:"token comment"}},[t._v("// set destination property")]),t._v("\n CoreProps"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("LINK_DESTINATION"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("set")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n visitor"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("renderProps")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" \n tag"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("attributes")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("get")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v('"href"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \n "),a("span",{attrs:{class:"token comment"}},[t._v("// Obtain spans from the factory")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Object spans "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" factory"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("getSpans")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n visitor"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("configuration")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" \n visitor"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("renderProps")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \n "),a("span",{attrs:{class:"token comment"}},[t._v("// apply spans to SpannableBuilder")]),t._v("\n SpannableBuilder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("setSpans")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n visitor"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" \n spans"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" \n tag"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("start")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" \n tag"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("end")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("Sometimes HTML content might include tags that are not closed (although\nthey are required to be by the spec, for example a "),a("code",[t._v("div")]),t._v(").\nMarkwon by default disallows such tags and ignores them. Still,\nthere is an option to allow them "),a("em",[t._v("explicitly")]),t._v(" via builder method:")]),t._v(" "),a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("configureHtmlRenderer")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonHtmlRenderer"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("allowNonClosedTags")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token boolean"}},[t._v("true")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[t._v("Please note that if "),a("code",[t._v("allowNonClosedTags=true")]),t._v(" then all non-closed tags will be closed\nat the end of a document.")])])}],!1,null,null,null);o.options.__file="html-renderer.md";n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/35.1684da38.js b/assets/js/35.1684da38.js new file mode 100644 index 00000000..d3fb407a --- /dev/null +++ b/assets/js/35.1684da38.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[35],{266:function(t,a,s){"use strict";s.r(a);var n=s(0),e=Object(n.a)({},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"content"},[t._m(0),t._v(" "),s("LegacyWarning"),t._v(" "),s("p",[t._v("Starting with "),s("Badge",{attrs:{text:"3.0.0"}}),t._v(" "),s("code",[t._v("Markwon")]),t._v(" comes with "),s("code",[t._v("ImagesPlugin")]),t._v("\nwhich supports "),s("code",[t._v("http(s)")]),t._v(", "),s("code",[t._v("file")]),t._v(" and "),s("code",[t._v("data")]),t._v(" schemes and default media\ndecoder (for simple images, no "),s("router-link",{attrs:{to:"/docs/v3/image/svg.html"}},[t._v("SVG")]),t._v(" or "),s("router-link",{attrs:{to:"/docs/v3/image/gif.html"}},[t._v("GIF")]),t._v(" which\nare defined in standalone modules).")],1),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7),t._v(" "),t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),t._m(12),t._v(" "),t._m(13),t._m(14),t._v(" "),t._m(15),t._m(16),t._v(" "),t._m(17),t._m(18),t._v(" "),t._m(19),t._v(" "),t._m(20),t._v(" "),t._m(21),t._m(22),t._v(" "),t._m(23),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("If you want to display GIF or SVG images also, you can use "),s("router-link",{attrs:{to:"/docs/v3/image/gif.html"}},[t._v("image-gif")]),t._v("\nand "),s("router-link",{attrs:{to:"/docs/v3/image/svg.html"}},[t._v("image-svg")]),t._v(" modules.")],1)]),t._v(" "),s("div",{staticClass:"tip custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),s("p",[t._v("If you are using "),s("router-link",{attrs:{to:"/docs/v3/html/"}},[t._v("html")]),t._v(" you do not have to additionally setup\nimages displayed via "),s("code",[t._v("")]),t._v(" tag, as "),s("code",[t._v("HtmlPlugin")]),t._v(" automatically uses configured\nimage loader. But images referenced in HTML come with additional support for\nsizes, which is not supported natively by markdown, allowing absolute or relative sizes:")],1),t._v(" "),t._m(24)]),t._v(" "),s("h2",{attrs:{id:"placeholder-drawable"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#placeholder-drawable","aria-hidden":"true"}},[t._v("#")]),t._v(" Placeholder drawable "),s("Badge",{attrs:{text:"3.0.0"}})],1),t._v(" "),s("p",[t._v("It's possible to provide a custom placeholder for an image (whilst it's loading).")]),t._v(" "),t._m(25),s("h2",{attrs:{id:"error-drawable"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#error-drawable","aria-hidden":"true"}},[t._v("#")]),t._v(" Error drawable "),s("Badge",{attrs:{text:"3.0.0"}})],1),t._v(" "),t._m(26),t._v(" "),t._m(27),t._m(28)],1)},[function(){var t=this.$createElement,a=this._self._c||t;return a("h1",{attrs:{id:"images"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#images","aria-hidden":"true"}},[this._v("#")]),this._v(" Images")])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"imagesplugin"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#imagesplugin","aria-hidden":"true"}},[this._v("#")]),this._v(" ImagesPlugin")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("ImagePlugin")]),this._v(" takes care of "),a("em",[this._v("obtaining")]),this._v(" image resource, decoding it and displaying it in a "),a("code",[this._v("TextView")]),this._v(".")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("Although "),s("code",[t._v("core")]),t._v(" artifact contains "),s("code",[t._v("ImagesPlugin")]),t._v(" one must\nstill "),s("strong",[t._v("explicitly")]),t._v(" register the "),s("code",[t._v("ImagesPlugin")]),t._v(" on resulting "),s("code",[t._v("Markwon")]),t._v("\ninstance.")]),t._v(" "),s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ImagesPlugin"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("There are 2 factory methods to obtain "),a("code",[this._v("ImagesPlugin")]),this._v(":")])},function(){var t=this.$createElement,a=this._self._c||t;return a("ul",[a("li",[a("code",[this._v("ImagesPlugin#create(Context)")])]),this._v(" "),a("li",[a("code",[this._v("ImagesPlugin#createWithAssets(Context)")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("The first one "),a("code",[this._v("#create(Context)")]),this._v(" configures:")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ul",[s("li",[s("code",[t._v("FileSchemeHandler")]),t._v(" that allows obtaining images from "),s("code",[t._v("file://")]),t._v(" uris")]),t._v(" "),s("li",[s("code",[t._v("DataUriSchemeHandler")]),t._v(" that allows "),s("em",[t._v("inlining")]),t._v(" images with "),s("code",[t._v("data:")]),t._v("\nscheme ("),s("code",[t._v("data:image/svg+xml;base64,MTIz")]),t._v(")")]),t._v(" "),s("li",[s("code",[t._v("NetworkSchemeHandler")]),t._v(" that allows obtaining images from "),s("code",[t._v("http://")]),t._v(" and "),s("code",[t._v("https://")]),t._v(" uris\n(internally it uses "),s("code",[t._v("HttpURLConnection")]),t._v(")")]),t._v(" "),s("li",[s("code",[t._v("ImageMediaDecoder")]),t._v(" which "),s("em",[t._v("tries")]),t._v(" to decode all encountered images as regular ones (png, jpg, etc)")])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("The second one "),a("code",[this._v("#createWithAssets(Context)")]),this._v(" does the same but also adds support\nfor images that reside in "),a("code",[this._v("assets")]),this._v(" folder of your application and\nreferenced by "),a("code",[this._v("file:///android_asset/{path}")]),this._v(" uri.")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("ImagesPlugin")]),this._v(" also "),a("em",[this._v("prepares")]),this._v(" a TextView to display images. Due to asynchronous\nnature of image loading, there must be a way to invalidate resulting Spanned\ncontent after an image is loaded.")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("Images come with few limitations. For of all, they work with a "),s("strong",[t._v("TextView only")]),t._v(".\nThis is due to the fact that there is no way to invalidate a "),s("code",[t._v("Spanned")]),t._v(" content\nby itself (without context in which it is displayed). So, if "),s("code",[t._v("Markwon")]),t._v(" is used,\nfor example, to display a "),s("code",[t._v("Toast")]),t._v(" with an image:")]),t._v(" "),s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Spanned spanned "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" markwon"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("toMarkdown")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token string"}},[t._v('"Hello ![alt](https://my.image/1.JPG)"')]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nToast"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("makeText")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" spanned"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" Toast"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("LENGTH_LONG"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("show")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("p",[t._v("Image "),s("em",[t._v("probably")]),t._v(" won't be displayed. As a workaround for "),s("code",[t._v("Toast")]),t._v(" a custom "),s("code",[t._v("View")]),t._v("\ncan be used:")]),t._v(" "),s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Spanned spanned "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" markwon"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("toMarkdown")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token string"}},[t._v('"Hello ![alt](https://my.image/1.JPG)"')]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" View view "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("createToastView")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" TextView textView "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" view"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("findViewById")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("R"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("id"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("text_view"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nmarkwon"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("setParsedMarkdown")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("textView"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" spanned"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Toast toast "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("Toast")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\ntoast"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("setView")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("view"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{attrs:{class:"token comment"}},[t._v("// other Toast configurations")]),t._v("\ntoast"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("show")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"schemehandler"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#schemehandler","aria-hidden":"true"}},[this._v("#")]),this._v(" SchemeHandler")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("To add support for different schemes (or customize provided) a "),a("code",[this._v("SchemeHandler")]),this._v(" must be used.")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ImagesPlugin"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("configureImages")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// example only, Markwon doesn't come with a ftp scheme handler")]),t._v("\n builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("addSchemeHandler")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token string"}},[t._v('"ftp"')]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("FtpSchemeHandler")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("It's a class to "),a("em",[this._v("convert")]),this._v(" an URI into an "),a("code",[this._v("InputStream")]),this._v(":")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("abstract")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("SchemeHandler")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Nullable")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("abstract")]),t._v(" ImageItem "),s("span",{attrs:{class:"token function"}},[t._v("handle")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" String raw"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" Uri uri"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("ImageItem")]),this._v(" is a holder class for resulting "),a("code",[this._v("InputStream")]),this._v(" and (optional)\ncontent type:")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("ImageItem")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\n "),s("span",{attrs:{class:"token keyword"}},[t._v("private")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" String contentType"),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("private")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" InputStream inputStream"),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{attrs:{class:"token comment"}},[t._v("/* rest omitted */")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("p",[t._v("Based on "),s("code",[t._v("contentType")]),t._v(" returned a corresponding "),s("code",[t._v("MediaDecoder")]),t._v(" will be matched.\nIf no "),s("code",[t._v("MediaDecoder")]),t._v(" can handle given "),s("code",[t._v("contentType")]),t._v(" then a default media decoder will\nbe used.")])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"mediadecoder"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#mediadecoder","aria-hidden":"true"}},[this._v("#")]),this._v(" MediaDecoder")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("p",[t._v("By default "),s("code",[t._v("core")]),t._v(" artifact comes with "),s("em",[t._v("default image decoder")]),t._v(" only. It's called\n"),s("code",[t._v("ImageMediaDecoder")]),t._v(" and it can decode all the formats that "),s("code",[t._v("BitmapFactory#decodeStream(InputStream)")]),t._v("\ncan.")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("this")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ImagesPlugin"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("this")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("configureImages")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("addMediaDecoder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token string"}},[t._v('"text/plain"')]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("TextPlainMediaDecoder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("build")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[a("code",[this._v("MediaDecoder")]),this._v(" is a class to turn "),a("code",[this._v("InputStream")]),this._v(" into a "),a("code",[this._v("Drawable")]),this._v(":")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("abstract")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("MediaDecoder")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Nullable")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("abstract")]),t._v(" Drawable "),s("span",{attrs:{class:"token function"}},[t._v("decode")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" InputStream inputStream"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-html extra-class"},[s("pre",{pre:!0,attrs:{class:"language-html"}},[s("code",[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token tag"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("img")]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("src")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("./assets/my-image"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{attrs:{class:"token attr-name"}},[t._v("width")]),s("span",{attrs:{class:"token attr-value"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("=")]),s("span",{attrs:{class:"token punctuation"}},[t._v('"')]),t._v("100%"),s("span",{attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ImagesPlugin"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("configureImages")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("placeholderDrawableProvider")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("DrawableProvider")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Drawable "),s("span",{attrs:{class:"token function"}},[t._v("provide")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// your custom placeholder drawable")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("PlaceholderDrawable")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("To fallback in case of error whilst loading an image, an "),a("code",[this._v("error drawable")]),this._v(" can be used:")])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ImagesPlugin"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("configureImages")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("errorDrawableProvider")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("AsyncDrawableLoader"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("DrawableProvider")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Drawable "),s("span",{attrs:{class:"token function"}},[t._v("provide")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// your custom error drawable")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("MyErrorDrawable")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"warning custom-block"},[s("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),s("p",[t._v("Before "),s("code",[t._v("3.0.0")]),t._v(" "),s("code",[t._v("AsyncDrawableLoader")]),t._v(" accepted a simple "),s("code",[t._v("Drawable")]),t._v(" as error drawable\nargument. Starting "),s("code",[t._v("3.0.0")]),t._v(" it accepts a "),s("code",[t._v("DrawableProvider")]),t._v(" instead.")])])}],!1,null,null,null);e.options.__file="images.md";a.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/36.9852715d.js b/assets/js/36.9852715d.js new file mode 100644 index 00000000..2d1fc06e --- /dev/null +++ b/assets/js/36.9852715d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[36],{264:function(t,e,n){"use strict";n.r(e);var a=n(0),s=Object(a.a)({},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"content"},[t._m(0),t._v(" "),n("LegacyWarning"),t._v(" "),t._m(1),t._v(" "),t._m(2),n("div",{staticClass:"tip custom-block"},[n("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),n("p",[t._v("If you are having trouble with system "),n("code",[t._v("LinkMovementMethod")]),t._v(" as an alternative\n"),n("a",{attrs:{href:"https://github.com/saket/Better-Link-Movement-Method",target:"_blank",rel:"noopener noreferrer"}},[t._v("BetterLinkMovementMethod"),n("OutboundLink")],1),t._v(" library can be used.")])])],1)},[function(){var t=this.$createElement,e=this._self._c||t;return e("h1",{attrs:{id:"movement-method-plugin"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#movement-method-plugin","aria-hidden":"true"}},[this._v("#")]),this._v(" Movement method plugin")])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("p",[n("code",[t._v("MovementMethodPlugin")]),t._v(" can be used to apply a "),n("code",[t._v("MovementMethod")]),t._v(" to a TextView\n(important if you have links inside your markdown). By default "),n("code",[t._v("CorePlugin")]),t._v("\nwill set a "),n("code",[t._v("LinkMovementMethod")]),t._v(" on a TextView if one is missing. If you have\nspecific needs for a "),n("code",[t._v("MovementMethod")]),t._v(" and "),n("code",[t._v("LinkMovementMethod")]),t._v(" doesn't answer\nyour needs use "),n("code",[t._v("MovementMethodPlugin")]),t._v(":")])},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"language-java extra-class"},[n("pre",{pre:!0,attrs:{class:"language-java"}},[n("code",[t._v("Markwon"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("builder")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("MovementMethodPlugin"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("create")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ScrollingMovementMethod"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("getInstance")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])])}],!1,null,null,null);s.options.__file="movement-method-plugin.md";e.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/37.e98b3352.js b/assets/js/37.e98b3352.js new file mode 100644 index 00000000..8da4af85 --- /dev/null +++ b/assets/js/37.e98b3352.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{262:function(t,n,a){"use strict";a.r(n);var s=a(0),e=Object(s.a)({},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"content"},[a("h1",{attrs:{id:"plugins"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#plugins","aria-hidden":"true"}},[t._v("#")]),t._v(" Plugins "),a("Badge",{attrs:{text:"3.0.0"}})],1),t._v(" "),a("LegacyWarning"),t._v(" "),a("p",[t._v("Since "),a("Badge",{attrs:{text:"3.0.0"}}),t._v(" "),a("code",[t._v("MarkwonPlugin")]),t._v(" takes the key role in\nprocessing and rendering markdown. Even "),a("strong",[t._v("core")]),t._v(" functionaly is abstracted\ninto a "),a("code",[t._v("CorePlugin")]),t._v(". So it's still possible to use "),a("code",[t._v("Markwon")]),t._v(" with a completely\nown set of plugins.")],1),t._v(" "),t._m(0),t._v(" "),t._m(1),t._m(2),t._v(" "),t._m(3),t._v(" "),a("hr"),t._v(" "),t._m(4),t._v(" "),a("hr"),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7),t._v(" "),a("p",[t._v("For example, let's register a new commonmark-java Parser extension:")]),t._v(" "),t._m(8),a("p",[t._v("There are no limitations on what to do with commonmark-java Parser. For more info\n"),a("em",[t._v("what")]),t._v(" can be done please refer to "),a("Link",{attrs:{name:"commonmark-java",displayName:"commonmark-java documentation"}}),t._v(".")],1),t._v(" "),t._m(9),t._v(" "),a("p",[t._v("Starting "),a("Badge",{attrs:{text:"3.0.0"}}),t._v(" "),a("code",[t._v("MarkwonTheme")]),t._v(" represents "),a("em",[t._v("core")]),t._v(" theme. Aka theme for\nthings core module knows of. For example it doesn't know anything about "),a("code",[t._v("strikethrough")]),t._v("\nor "),a("code",[t._v("tables")]),t._v(" (as they belong to different modules).")],1),t._v(" "),t._m(10),t._m(11),t._v(" "),a("p",[t._v("More information about "),a("code",[t._v("MarkwonTheme")]),t._v(" can be found "),a("router-link",{attrs:{to:"/docs/v3/core/theme.html"}},[t._v("here")]),t._v(".")],1),t._v(" "),t._m(12),t._v(" "),a("p",[t._v("Since "),a("Badge",{attrs:{text:"3.0.0"}}),t._v(" core images functionality moved to the "),a("code",[t._v("core")]),t._v(" module.\nNow "),a("code",[t._v("Markwon")]),t._v(" comes bundled with support for regular images (no "),a("code",[t._v("SVG")]),t._v(" or "),a("code",[t._v("GIF")]),t._v(", they\ndefined in standalone modules now). And 3(4) schemes supported by default:")],1),t._v(" "),t._m(13),t._v(" "),t._m(14),t._m(15),t._v(" "),a("p",[t._v("More information about dealing with images can be found "),a("router-link",{attrs:{to:"/docs/v3/core/images.html"}},[t._v("here")])],1),t._v(" "),t._m(16),t._v(" "),t._m(17),t._v(" "),t._m(18),t._v(" "),t._m(19),a("p",[t._v("More information about "),a("code",[t._v("MarkwonConfiguration")]),t._v(" can be found "),a("router-link",{attrs:{to:"/docs/v3/core/configuration.html"}},[t._v("here")])],1),t._v(" "),t._m(20),t._v(" "),a("p",[a("code",[t._v("MarkwonVisitor")]),t._v(" "),a("Badge",{attrs:{text:"3.0.0"}}),t._v(" is commonmark-java Visitor that allows\nconfiguration of how each Node is visited. There is no longer need to create\nown subclass of Visitor and override required methods (like in "),a("code",[t._v("2.x.x")]),t._v(" versions).\n"),a("code",[t._v("MarkwonVisitor")]),t._v(" also allows registration of Nodes, that "),a("code",[t._v("core")]),t._v(" module knows\nnothing about (instead of relying on "),a("code",[t._v("visit(CustomNode)")]),t._v(" method)).")],1),t._v(" "),t._m(21),t._v(" "),t._m(22),t._m(23),t._v(" "),a("p",[t._v("More information about "),a("code",[t._v("MarkwonVisitor")]),t._v(" can be found "),a("router-link",{attrs:{to:"/docs/v3/core/visitor.html"}},[t._v("here")])],1),t._v(" "),t._m(24),t._v(" "),a("p",[a("code",[t._v("MarkwonSpansFactory")]),t._v(" "),a("Badge",{attrs:{text:"3.0.0"}}),t._v(" is an abstract factory (factory that produces other factories)\nfor spans that "),a("code",[t._v("Markwon")]),t._v(" uses. It controls what spans to use for certain Nodes.")],1),t._v(" "),t._m(25),t._m(26),t._v(" "),a("p",[t._v("More information about spans factory can be found "),a("router-link",{attrs:{to:"/docs/v3/core/spans-factory.html"}},[t._v("here")])],1),t._v(" "),t._m(27),t._v(" "),t._m(28),t._v(" "),t._m(29),t._m(30),t._v(" "),a("p",[t._v("More information about HTML rendering can be found "),a("router-link",{attrs:{to:"/docs/v3/core/html-renderer.html"}},[t._v("here")])],1),t._v(" "),t._m(31),t._v(" "),t._m(32),t._v(" "),t._m(33),t._m(34),t._v(" "),t._m(35),t._v(" "),t._m(36),t._m(37),t._v(" "),t._m(38),t._v(" "),t._m(39),t._m(40),t._v(" "),t._m(41),t._v(" "),t._m(42),t._m(43),t._v(" "),a("p",[t._v("A plugin can inspect commonmark-java Node after it's been rendered.\nModifying Node at this point makes not much sense (it's already been\nrendered and all modifications won't change anything). But this method can be used,\nfor example, to clean-up some internal state (after rendering). Generally\nspeaking, a plugin must be stateless, but if it cannot, then this method is\nthe best place to clean-up.")]),t._v(" "),t._m(44),t._m(45),t._v(" "),t._m(46),t._v(" "),t._m(47),t._m(48),t._v(" "),t._m(49),t._v(" "),t._m(50),t._m(51),t._v(" "),t._m(52),t._v(" "),t._m(53),t._v(" "),t._m(54)],1)},[function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("To register a plugin "),n("code",[this._v("Markwon.Builder")]),this._v(" must be used:")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[t._v("Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("CorePlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("create")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("All the process of transforming "),n("em",[this._v("raw")]),this._v(" markdown into a styled text (Spanned)\nwill go through plugins. A plugin can:")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ul",[a("li",[a("a",{attrs:{href:"#parser"}},[t._v("configure commonmark-java "),a("code",[t._v("Parser")])])]),t._v(" "),a("li",[a("a",{attrs:{href:"#markwontheme"}},[t._v("configure "),a("code",[t._v("MarkwonTheme")])])]),t._v(" "),a("li",[a("a",{attrs:{href:"#images"}},[t._v("configure "),a("code",[t._v("AsyncDrawableLoader")]),t._v(" (used to display images in markdown)")])]),t._v(" "),a("li",[a("a",{attrs:{href:"#configuration"}},[t._v("configure "),a("code",[t._v("MarkwonConfiguration")])])]),t._v(" "),a("li",[a("a",{attrs:{href:"#visitor"}},[t._v("configure "),a("code",[t._v("MarkwonVisitor")]),t._v(" (extensible commonmark-java Node visitor)")])]),t._v(" "),a("li",[a("a",{attrs:{href:"#spans-factory"}},[t._v("configure "),a("code",[t._v("MarkwonSpansFactory")]),t._v(" (factory to hold spans information for each Node)")])]),t._v(" "),a("li",[a("a",{attrs:{href:"#html-renderer"}},[t._v("configure "),a("code",[t._v("MarkwonHtmlRenderer")]),t._v(" (utility to properly display HTML in markdown)")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("ul",[n("li",[n("a",{attrs:{href:"#priority"}},[this._v("declare a dependency on another plugin (will be used as a runtime validator)")])])])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ul",[a("li",[a("a",{attrs:{href:"#process-markdown"}},[t._v("process raw input markdown before parsing it")])]),t._v(" "),a("li",[a("a",{attrs:{href:"#inspect-modify-node"}},[t._v("inspect/modify commonmark-java Node after it's been parsed, but before rendering")])]),t._v(" "),a("li",[a("a",{attrs:{href:"#inspect-node-after-render"}},[t._v("inspect commonmark-java Node after it's been rendered")])]),t._v(" "),a("li",[a("a",{attrs:{href:"#prepare-textview"}},[t._v("prepare TextView to display markdown "),a("em",[t._v("before")]),t._v(" markdown is applied to a TextView")])]),t._v(" "),a("li",[a("a",{attrs:{href:"#textview-after-markdown-applied"}},[t._v("post-process TextView "),a("em",[t._v("after")]),t._v(" markdown was applied")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("div",{staticClass:"tip custom-block"},[n("p",{staticClass:"custom-block-title"},[this._v("TIP")]),this._v(" "),n("p",[this._v("if you need to override only few methods of "),n("code",[this._v("MarkwonPlugin")]),this._v(" (since it is an interface),\n"),n("code",[this._v("AbstractMarkwonPlugin")]),this._v(" can be used.")])])},function(){var t=this.$createElement,n=this._self._c||t;return n("h2",{attrs:{id:"parser"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#parser","aria-hidden":"true"}},[this._v("#")]),this._v(" Parser")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("CorePlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("create")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("configureParser")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" Parser"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// no need to call `super.configureParser(builder)`")]),t._v("\n builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("extensions")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Collections"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("singleton")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("StrikethroughExtension"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("create")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("h2",{attrs:{id:"markwontheme"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#markwontheme","aria-hidden":"true"}},[this._v("#")]),this._v(" MarkwonTheme")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("configureTheme")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonTheme"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("codeTextColor")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Color"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("BLACK"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("codeBackgroundColor")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Color"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("GREEN"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),a("p",[a("code",[t._v("CorePlugin")]),t._v(" has special handling - it will be "),a("strong",[t._v("implicitly")]),t._v(" added\nif a plugin declares dependency on it. This is why in previous example we haven't\nadded CorePlugin "),a("em",[t._v("explicitly")]),t._v(" as "),a("code",[t._v("AbstractMarkwonPlugin")]),t._v(" declares a dependency on it.\nIf it's not desireable override "),a("code",[t._v("AbstractMarkwonPlugin#priority")]),t._v(" method to specify own rules.")])])},function(){var t=this.$createElement,n=this._self._c||t;return n("h2",{attrs:{id:"images"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#images","aria-hidden":"true"}},[this._v("#")]),this._v(" Images")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ul",[a("li",[t._v("http (+https; using system built-in "),a("code",[t._v("HttpURLConnection")]),t._v(")")]),t._v(" "),a("li",[t._v("file (including Android assets)")]),t._v(" "),a("li",[t._v("data (image inline, "),a("code",[t._v("data:image/svg+xml;base64,!@#$%^&*(")]),t._v(")")])])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ImagesPlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("create")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("configureImages")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" AsyncDrawableLoader"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// sorry, these are not bundled with the library")]),t._v("\n builder\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("addSchemeHandler")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v('"ftp"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("FtpSchemeHandler")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v('"root"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('""')]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("addMediaDecoder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v('"text/plain"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AnsiiMediaDecoder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),a("p",[t._v("Although "),a("code",[t._v("ImagesPlugin")]),t._v(" is bundled with the "),a("code",[t._v("core")]),t._v(" artifact, it is "),a("strong",[t._v("not")]),t._v(" used by default\nand one must "),a("strong",[t._v("explicitly")]),t._v(" add it:")]),t._v(" "),a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[t._v("Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ImagesPlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("create")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[t._v("Without explicit usage of "),a("code",[t._v("ImagesPlugin")]),t._v(" all image configuration will be ignored (no-op'ed)")])])},function(){var t=this.$createElement,n=this._self._c||t;return n("h2",{attrs:{id:"configuration"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#configuration","aria-hidden":"true"}},[this._v("#")]),this._v(" Configuration")])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[n("code",[this._v("MarkwonConfiguration")]),this._v(" is a set of common tools that are used by different parts\nof "),n("code",[this._v("Markwon")]),this._v(". It allows configurations of these:")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("ul",[a("li",[a("code",[t._v("SyntaxHighlight")]),t._v(" (highlighting code blocks)")]),t._v(" "),a("li",[a("code",[t._v("LinkResolver")]),t._v(" (opens links in markdown)")]),t._v(" "),a("li",[a("code",[t._v("UrlProcessor")]),t._v(" (process URLs in markdown for both links and images)")]),t._v(" "),a("li",[a("code",[t._v("MarkwonHtmlParser")]),t._v(" (HTML parser)")]),t._v(" "),a("li",[a("code",[t._v("ImageSizeResolver")]),t._v(" (resolve image sizes, like "),a("code",[t._v("fit-to-canvas")]),t._v(", etc)")])])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("configureConfiguration")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonConfiguration"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// MarkwonHtmlParserImpl is defined in `markwon-html` artifact")]),t._v("\n builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("htmlParser")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("MarkwonHtmlParserImpl"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("create")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("h2",{attrs:{id:"visitor"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#visitor","aria-hidden":"true"}},[this._v("#")]),this._v(" Visitor")])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("For example, let's add "),n("code",[this._v("strikethrough")]),this._v(" Node visitor:")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("configureVisitor")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonVisitor"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("on")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Strikethrough"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("MarkwonVisitor"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("NodeVisitor")]),a("span",{attrs:{class:"token generics function"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Strikethrough"),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("visit")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonVisitor visitor"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" Strikethrough strikethrough"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("int")]),t._v(" length "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" visitor"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("length")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n visitor"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("visitChildren")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("strikethrough"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n visitor"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("setSpansForNodeOptional")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("strikethrough"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" length"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[a("code",[t._v("MarkwonVisitor")]),t._v(" also allows "),a("em",[t._v("overriding")]),t._v(" already registered nodes. For example,\nwe can disable "),a("code",[t._v("Heading")]),t._v(" Node rendering:")]),t._v(" "),a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[t._v("builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("on")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Heading"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" null"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[t._v("Please note that "),a("code",[t._v("Priority")]),t._v(" plays nicely here to ensure that your\ncustom Node override/disable happens "),a("em",[t._v("after")]),t._v(" some plugin defines it.")])])},function(){var t=this.$createElement,n=this._self._c||t;return n("h2",{attrs:{id:"spans-factory"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#spans-factory","aria-hidden":"true"}},[this._v("#")]),this._v(" Spans Factory")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("configureSpansFactory")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonSpansFactory"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// override emphasis factory to make all emphasis nodes underlined")]),t._v("\n builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("setFactory")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Emphasis"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("SpanFactory")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Object "),a("span",{attrs:{class:"token function"}},[t._v("getSpans")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonConfiguration configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" RenderProps props"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("UnderlineSpan")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[a("code",[t._v("SpanFactory")]),t._v(" allows to return an "),a("em",[t._v("array")]),t._v(" of spans to apply multiple spans\nfor a Node:")]),t._v(" "),a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n"),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Object "),a("span",{attrs:{class:"token function"}},[t._v("getSpans")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonConfiguration configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" RenderProps props"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// make underlined and set text color to red")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("Object")]),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("UnderlineSpan")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("ForegroundColorSpan")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Color"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("RED"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("h2",{attrs:{id:"html-renderer"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#html-renderer","aria-hidden":"true"}},[this._v("#")]),this._v(" HTML Renderer")])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[n("code",[this._v("MarkwonHtmlRenderer")]),this._v(" controls how HTML is rendered in markdown.")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("HtmlPlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("create")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("configureHtmlRenderer")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonHtmlRenderer"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("//
tag handling (deprecated but valid in our case)")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// can be any tag name, there is no connection with _real_ HTML tags,")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// ")]),t._v("\n builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("addHandler")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v('"center"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("SimpleTagHandler")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Object "),a("span",{attrs:{class:"token function"}},[t._v("getSpans")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonConfiguration configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" RenderProps renderProps"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" HtmlTag tag"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AlignmentSpan")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Layout"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Alignment "),a("span",{attrs:{class:"token function"}},[t._v("getAlignment")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" Layout"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Alignment"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ALIGN_CENTER"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"danger custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),a("p",[t._v("Although "),a("code",[t._v("MarkwonHtmlRenderer")]),t._v(" is bundled with "),a("code",[t._v("core")]),t._v(" artifact, actual\nHTML parser is placed in a standalone artifact and must be added to your\nproject "),a("strong",[t._v("explicitly")]),t._v(" and then registered via "),a("code",[t._v("Markwon.Builder#usePlugin(HtmlPlugin.create())")]),t._v(".\nIf not done so, no HTML will be parsed nor rendered.")])])},function(){var t=this.$createElement,n=this._self._c||t;return n("h2",{attrs:{id:"priority"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#priority","aria-hidden":"true"}},[this._v("#")]),this._v(" Priority")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("p",[a("code",[t._v("Priority")]),t._v(" is an abstraction to "),a("em",[t._v("state")]),t._v(" dependency connection between plugins. It is\nalso used as a runtime graph validator. If a plugin defines a dependency on other, but\n"),a("em",[t._v("other")]),t._v(" is not in resulting "),a("code",[t._v("Markwon")]),t._v(" instance, then a runtime exception will be thrown.\n"),a("code",[t._v("Priority")]),t._v(" is also defines the order in which plugins will be placed. So, if a plugin "),a("code",[t._v("A")]),t._v("\nstates a plugin "),a("code",[t._v("B")]),t._v(" as a dependency, then plugin "),a("code",[t._v("A")]),t._v(" will come "),a("strong",[t._v("after")]),t._v(" plugin "),a("code",[t._v("B")]),t._v(".")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Priority "),a("span",{attrs:{class:"token function"}},[t._v("priority")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" Priority"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("after")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("CorePlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),a("p",[t._v("Please note that "),a("code",[t._v("AbstractMarkwonPlugin")]),t._v(" "),a("em",[t._v("implicitly")]),t._v(" defines "),a("code",[t._v("CorePlugin")]),t._v("\nas a dependency ("),a("code",[t._v("return Priority.after(CorePlugin.class);")]),t._v("). This will\nalso add "),a("code",[t._v("CorePlugin")]),t._v(" to a "),a("code",[t._v("Markwon")]),t._v(" instance, because it will be added\n"),a("em",[t._v("implicitly")]),t._v(" if a plugin defines it as a dependency.")])])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("Use one of the factory methods to create a "),n("code",[this._v("Priority")]),this._v(" instance:")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// none")]),t._v("\nPriority"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("none")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("// single dependency")]),t._v("\nPriority"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("after")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("CorePlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("// 2 dependencies")]),t._v("\nPriority"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("after")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("CorePlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" ImagesPlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("// for a number >2, use #builder")]),t._v("\nPriority"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("after")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("CorePlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("after")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ImagesPlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("after")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("StrikethroughPlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("h2",{attrs:{id:"process-markdown"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#process-markdown","aria-hidden":"true"}},[this._v("#")]),this._v(" Process markdown")])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("A plugin can be used to "),n("em",[this._v("pre-process")]),this._v(" input markdown (this will be called before "),n("em",[this._v("parsing")]),this._v("):")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" String "),a("span",{attrs:{class:"token function"}},[t._v("processMarkdown")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" String markdown"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" markdown"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("replaceAll")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v('"foo"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token string"}},[t._v('"bar"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("h2",{attrs:{id:"inspect-modify-node"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#inspect-modify-node","aria-hidden":"true"}},[this._v("#")]),this._v(" Inspect/modify Node")])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("A plugin can inspect/modify commonmark-java Node "),n("em",[this._v("before")]),this._v(" it's being rendered.")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("beforeRender")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" Node node"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// for example inspect it with custom visitor")]),t._v("\n node"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("accept")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("MyVisitor")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// or modify (you know what you are doing, right?)")]),t._v("\n node"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("appendChild")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("Text")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token string"}},[t._v('"Appended"')]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("h2",{attrs:{id:"inspect-node-after-render"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#inspect-node-after-render","aria-hidden":"true"}},[this._v("#")]),this._v(" Inspect Node after render")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("afterRender")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" Node node"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonVisitor visitor"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token function"}},[t._v("cleanUp")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("h2",{attrs:{id:"prepare-textview"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#prepare-textview","aria-hidden":"true"}},[this._v("#")]),this._v(" Prepare TextView")])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("A plugin can "),n("em",[this._v("prepare")]),this._v(" a TextView before markdown is applied. For example "),n("code",[this._v("images")]),this._v("\nunschedules all previously scheduled "),n("code",[this._v("AsyncDrawableSpans")]),this._v(" (if any) here. This way\nwhen new markdown (and set of Spannables) arrives, previous set won't be kept in\nmemory and could be garbage-collected.")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("beforeSetText")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" TextView textView"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" Spanned markdown"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// clean-up previous")]),t._v("\n AsyncDrawableScheduler"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("unschedule")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("textView"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("h2",{attrs:{id:"textview-after-markdown-applied"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#textview-after-markdown-applied","aria-hidden":"true"}},[this._v("#")]),this._v(" TextView after markdown applied")])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("A plugin will receive a callback "),n("em",[this._v("after")]),this._v(" markdown is applied to a TextView.\nFor example "),n("code",[this._v("images")]),this._v(" uses this callback to schedule new set of Spannables.")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("afterSetText")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" TextView textView"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n AsyncDrawableScheduler"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("schedule")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("textView"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("Please note that unlike "),a("code",[t._v("#beforeSetText")]),t._v(", "),a("code",[t._v("#afterSetText")]),t._v(" won't receive\n"),a("code",[t._v("Spanned")]),t._v(" markdown. This happens because at this point spans must be\nqueried directly from a TextView.")])])},function(){var t=this.$createElement,n=this._self._c||t;return n("h2",{attrs:{id:"what-happens-underneath"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#what-happens-underneath","aria-hidden":"true"}},[this._v("#")]),this._v(" What happens underneath")])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("Here is what happens inside "),n("code",[this._v("Markwon")]),this._v(" when "),n("code",[this._v("setMarkdown")]),this._v(" method is called:")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// `Markwon#create` implicitly uses CorePlugin")]),t._v("\n"),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("CorePlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("create")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("// warning: pseudo-code")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("// 0. each plugin will be called to _pre-process_ raw input markdown")]),t._v("\nrawInput "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" plugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("reduce")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("rawInput"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("input"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" plugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token operator"}},[t._v("-")]),a("span",{attrs:{class:"token operator"}},[t._v(">")]),t._v(" plugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("processMarkdown")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("input"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("// 1. after input is processed it's being parsed to a Node")]),t._v("\nnode "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" parser"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("parse")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("rawInput"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("// 2. each plugin will be able to inspect or manipulate resulting Node")]),t._v("\n"),a("span",{attrs:{class:"token comment"}},[t._v("// before rendering")]),t._v("\nplugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("forEach")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("plugin "),a("span",{attrs:{class:"token operator"}},[t._v("-")]),a("span",{attrs:{class:"token operator"}},[t._v(">")]),t._v(" plugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("beforeRender")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("node"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("// 3. node is being visited by a visitor")]),t._v("\nnode"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("accept")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("visitor"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("// 4. each plugin will be called after node is being visited (aka rendered)")]),t._v("\nplugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("forEach")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("plugin "),a("span",{attrs:{class:"token operator"}},[t._v("-")]),a("span",{attrs:{class:"token operator"}},[t._v(">")]),t._v(" plugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("afterRender")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("node"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" visitor"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("// 5. styled markdown ready at this point")]),t._v("\n"),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Spanned markdown "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" visitor"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("markdown")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("// NB, points 6-8 are applied **only** if markdown is set to a TextView")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("// 6. each plugin will be called before styled markdown is applied to a TextView")]),t._v("\nplugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("forEach")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("plugin "),a("span",{attrs:{class:"token operator"}},[t._v("-")]),a("span",{attrs:{class:"token operator"}},[t._v(">")]),t._v(" plugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("beforeSetText")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("textView"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" markdown"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("// 7. markdown is applied to a TextView")]),t._v("\ntextView"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("setText")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("markdown"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{attrs:{class:"token comment"}},[t._v("// 8. each plugin will be called after markdown is applied to a TextView")]),t._v("\nplugins"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("forEach")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("plugin "),a("span",{attrs:{class:"token operator"}},[t._v("-")]),a("span",{attrs:{class:"token operator"}},[t._v(">")]),t._v(" plugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("afterSetText")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("textView"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])}],!1,null,null,null);e.options.__file="plugins.md";n.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/38.09771599.js b/assets/js/38.09771599.js new file mode 100644 index 00000000..6eb65f6e --- /dev/null +++ b/assets/js/38.09771599.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{260:function(t,n,s){"use strict";s.r(n);var a=s(0),e=Object(a.a)({},function(){var t=this,n=t.$createElement,s=t._self._c||n;return s("div",{staticClass:"content"},[s("h1",{attrs:{id:"renderprops"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#renderprops","aria-hidden":"true"}},[t._v("#")]),t._v(" RenderProps "),s("Badge",{attrs:{text:"3.0.0"}})],1),t._v(" "),s("LegacyWarning"),t._v(" "),t._m(0),t._v(" "),t._m(1),t._v(" "),t._m(2),t._m(3),t._v(" "),t._m(4),t._m(5),t._v(" "),t._m(6),t._m(7),t._v(" "),t._m(8),s("hr"),t._v(" "),t._m(9),t._v(" "),t._m(10)],1)},[function(){var t=this.$createElement,n=this._self._c||t;return n("p",[n("code",[this._v("RenderProps")]),this._v(" encapsulates passing arguments from a node visitor to a node renderer.\nWithout hardcoding arguments into an API method calls.")])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[n("code",[this._v("RenderProps")]),this._v(" is the state collection for "),n("code",[this._v("Props")]),this._v(" that are set by a node visitor and\nretrieved by a node renderer.")])},function(){var t=this,n=t.$createElement,s=t._self._c||n;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("Prop")]),s("span",{attrs:{class:"token generics function"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("T"),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("static")]),t._v(" "),s("span",{attrs:{class:"token generics function"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("T"),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v(" Prop"),s("span",{attrs:{class:"token generics function"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("T"),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("of")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" String name"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("Prop")]),s("span",{attrs:{class:"token operator"}},[t._v("<")]),s("span",{attrs:{class:"token operator"}},[t._v(">")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("name"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),s("span",{attrs:{class:"token comment"}},[t._v("/* ... */")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("For example "),n("code",[this._v("CorePlugin")]),this._v(" defines a "),n("em",[this._v("Heading level")]),this._v(" prop (inside "),n("code",[this._v("CoreProps")]),this._v(" class):")])},function(){var t=this,n=t.$createElement,s=t._self._c||n;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("static")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Prop"),s("span",{attrs:{class:"token generics function"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Integer"),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v(" HEADING_LEVEL "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Prop"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("of")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token string"}},[t._v('"heading-level"')]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("Then CorePlugin registers a "),n("code",[this._v("Heading")]),this._v(" node visitor and applies heading value:")])},function(){var t=this,n=t.$createElement,s=t._self._c||n;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n"),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("configureVisitor")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonVisitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("on")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Heading"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token keyword"}},[t._v("class")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("MarkwonVisitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("NodeVisitor")]),s("span",{attrs:{class:"token generics function"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Heading"),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("visit")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonVisitor visitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" Heading heading"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n \n "),s("span",{attrs:{class:"token comment"}},[t._v("/* Heading node handling logic */")]),t._v("\n\n "),s("span",{attrs:{class:"token comment"}},[t._v("// set heading level")]),t._v("\n CoreProps"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("HEADING_LEVEL"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("set")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("visitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("renderProps")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" heading"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("getLevel")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n \n "),s("span",{attrs:{class:"token comment"}},[t._v("// a helper method to apply span(s) for a node ")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// (internally obtains a SpanFactory for Heading or silently ignores")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// this call if no factory for a Heading is registered)")]),t._v("\n visitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("setSpansForNodeOptional")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("heading"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" start"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{attrs:{class:"token comment"}},[t._v("/* Heading node handling logic */")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("And finally "),n("code",[this._v("HeadingSpanFactory")]),this._v(" (which is also registered by "),n("code",[this._v("CorePlugin")]),this._v("):")])},function(){var t=this,n=t.$createElement,s=t._self._c||n;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("HeadingSpanFactory")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("implements")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("SpanFactory")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Nullable")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Object "),s("span",{attrs:{class:"token function"}},[t._v("getSpans")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonConfiguration configuration"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" RenderProps props"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("HeadingSpan")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n configuration"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("theme")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n CoreProps"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("HEADING_LEVEL"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("require")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("props"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[n("code",[this._v("Prop")]),this._v(" has these methods:")])},function(){var t=this,n=t.$createElement,s=t._self._c||n;return s("ul",[s("li",[s("code",[t._v("@Nullable T get(RenderProps)")]),t._v(" - returns value stored in RenderProps or "),s("code",[t._v("null")]),t._v(" if none is present")]),t._v(" "),s("li",[s("code",[t._v("@NonNull T get(RenderProps, @NonNull T defValue)")]),t._v(" - returns value stored in RenderProps or default value (this method always return non-null value)")]),t._v(" "),s("li",[s("code",[t._v("@NonNull T require(RenderProps)")]),t._v(" - returns value stored in RenderProps or "),s("em",[t._v("throws an exception")]),t._v(" if none is present")]),t._v(" "),s("li",[s("code",[t._v("void set(RenderProps, @Nullable T value)")]),t._v(" - updates value stored in RenderProps, passing "),s("code",[t._v("null")]),t._v(" as value is the same as calling "),s("code",[t._v("clear")])]),t._v(" "),s("li",[s("code",[t._v("void clear(RenderProps)")]),t._v(" - clears value stored in RenderProps")])])}],!1,null,null,null);e.options.__file="render-props.md";n.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/39.37003a65.js b/assets/js/39.37003a65.js new file mode 100644 index 00000000..aac913a5 --- /dev/null +++ b/assets/js/39.37003a65.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{258:function(t,n,a){"use strict";a.r(n);var s=a(0),o=Object(s.a)({},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"content"},[t._m(0),t._v(" "),a("LegacyWarning"),t._v(" "),a("p",[t._v("Starting with "),a("Badge",{attrs:{text:"3.0.0"}}),t._v(" "),a("code",[t._v("MarkwonSpansFactory")]),t._v(" controls what spans are displayed\nfor markdown nodes.")],1),t._v(" "),t._m(1),t._m(2),t._v(" "),t._m(3),t._v(" "),t._m(4),a("p",[t._v("All possible arguments are passed via "),a("router-link",{attrs:{to:"/docs/v3/core/render-props.html"}},[t._v("RenderProps")]),t._v(":")],1),t._v(" "),t._m(5),t._m(6),t._v(" "),t._m(7)],1)},[function(){var t=this.$createElement,n=this._self._c||t;return n("h1",{attrs:{id:"spans-factory"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#spans-factory","aria-hidden":"true"}},[this._v("#")]),this._v(" Spans Factory")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[t._v("Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("configureSpansFactory")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonSpansFactory"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// passing null as second argument will remove previously added ")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// factory for the Link node")]),t._v("\n builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("setFactory")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Link"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" null"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("h2",{attrs:{id:"spanfactory"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#spanfactory","aria-hidden":"true"}},[this._v("#")]),this._v(" SpanFactory")])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("In order to create a "),n("em",[this._v("generic")]),this._v(" interface for all possible Nodes, a "),n("code",[this._v("SpanFactory")]),this._v("\nwas added:")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[t._v("builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("setFactory")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Link"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("SpanFactory")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Nullable")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Object "),a("span",{attrs:{class:"token function"}},[t._v("getSpans")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonConfiguration configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" RenderProps props"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" null"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[t._v("builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("setFactory")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Link"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("SpanFactory")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Object "),a("span",{attrs:{class:"token function"}},[t._v("getSpans")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonConfiguration configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" RenderProps props"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" String href "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" CoreProps"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("LINK_DESTINATION"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("props"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("LinkSpan")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("theme")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" href"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("linkResolver")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[n("code",[this._v("SpanFactory")]),this._v(" allows returning "),n("code",[this._v("null")]),this._v(" for a certain span (no span will be applied).\nOr an array of spans:")])},function(){var t=this,n=t.$createElement,a=t._self._c||n;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[t._v("builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("setFactory")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Link"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("SpanFactory")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Object "),a("span",{attrs:{class:"token function"}},[t._v("getSpans")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonConfiguration configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" RenderProps props"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("Object")]),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("LinkSpan")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("theme")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n CoreProps"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("LINK_DESTINATION"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("require")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("props"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("linkResolver")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("ForegroundColorSpan")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Color"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("RED"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])}],!1,null,null,null);o.options.__file="spans-factory.md";n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/4.31fa5321.js b/assets/js/4.31fa5321.js new file mode 100644 index 00000000..e4843ffb --- /dev/null +++ b/assets/js/4.31fa5321.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{173:function(t,e,i){},185:function(t,e,i){"use strict";var a=i(173);i.n(a).a},206:function(t,e,i){"use strict";i.r(e);i(21),i(52);var a=[{id:"core",name:"Core",group:"ru.noties.markwon",description:"Core Markwon artifact that includes basic markdown parsing and rendering"},{id:"ext-latex",name:"LaTeX",group:"ru.noties.markwon",description:"Extension to add LaTeX formulas to Markwon markdown"},{id:"ext-strikethrough",name:"Strikethrough",group:"ru.noties.markwon",description:"Extension to add strikethrough markup to Markwon markdown"},{id:"ext-tables",name:"Tables",group:"ru.noties.markwon",description:"Extension to add tables markup (GFM) to Markwon markdown"},{id:"ext-tasklist",name:"Task List",group:"ru.noties.markwon",description:"Extension to add task lists (GFM) to Markwon markdown"},{id:"html",name:"HTML",group:"ru.noties.markwon",description:"Provides HTML parsing functionality"},{id:"image-gif",name:"Image GIF",group:"ru.noties.markwon",description:"Adds GIF media support to Markwon markdown"},{id:"image-okhttp",name:"Image OkHttp",group:"ru.noties.markwon",description:"Adds OkHttp client to retrieve images data from network"},{id:"image-svg",name:"Image SVG",group:"ru.noties.markwon",description:"Adds SVG media support to Markwon markdown"},{id:"recycler",name:"Recycler",group:"ru.noties.markwon",description:"Provides RecyclerView.Adapter to display Markwon markdown"},{id:"recycler-table",name:"Recycler Table",group:"ru.noties.markwon",description:"Provides MarkwonAdapter.Entry to render TableBlocks inside Android-native TableLayout widget"},{id:"syntax-highlight",name:"Syntax Highlight",group:"ru.noties.markwon",description:"Add syntax highlight to Markwon markdown via Prism4j library"}];if(!a)throw"Artifacts not found. Use `collectArtifacts.js` script to obtain artifacts metadata.";var r={name:"ArtifactPicker",data:function(){return{artifacts:a,selected:["core"],latestVersion:"latest_version"}},methods:{toggleSelection:function(t){var e=this.selected.indexOf(t.id);e<0?this.selected.push(t.id):this.selected.splice(e,1)}},computed:{selectedArtifacts:function(){var t=this;return this.artifacts.filter(function(e){return t.selected.indexOf(e.id)>=0})}}},s=(i(185),i(0)),n=Object(s.a)(r,function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("div",{staticClass:"artifact-container"},t._l(t.artifacts,function(e){return i("div",{staticClass:"artifact",on:{click:function(i){t.toggleSelection(e)}}},[i("div",{staticClass:"artifact-header"},[i("input",{directives:[{name:"model",rawName:"v-model",value:t.selected,expression:"selected"}],attrs:{type:"checkbox",id:e.id},domProps:{value:e.id,checked:Array.isArray(t.selected)?t._i(t.selected,e.id)>-1:t.selected},on:{change:function(i){var a=t.selected,r=i.target,s=!!r.checked;if(Array.isArray(a)){var n=e.id,o=t._i(a,n);r.checked?o<0&&(t.selected=a.concat([n])):o>-1&&(t.selected=a.slice(0,o).concat(a.slice(o+1)))}else t.selected=s}}}),t._v(" "),i("strong",[i("label",{attrs:{for:e.id}},[t._v(t._s(e.name))])])]),t._v(" "),e.description?i("div",{staticClass:"artifact-description"},[t._v(t._s(e.description))]):t._e()])})),t._v(" "),t.selected.length>0?i("div",{staticClass:"extra-class language-gradle selected-artifacts"},[i("div",{staticClass:"selected-artifact-script"},[i("span",{staticClass:"token keyword"},[t._v("final def")]),t._v(" "),i("span",[t._v(" markwon_version = ")]),t._v(" "),i("span",{staticClass:"token string"},[t._v("'"+t._s(t.latestVersion)+"'")])]),t._v(" "),i("br"),t._v(" "),t._l(t.selectedArtifacts,function(e){return i("div",{staticClass:"selected-artifact-script"},[i("span",[t._v("implementation ")]),t._v(" "),i("span",{staticClass:"token string"},[t._v('"'+t._s(e.group)+":"+t._s(e.id)+":")]),t._v(" "),i("span",[t._v("$markwon_version")]),t._v(" "),i("span",{staticClass:"token string"},[t._v('"')])])})],2):t._e()])},[],!1,null,"72a7bd30",null);n.options.__file="ArtifactPicker.vue";e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/40.bf595a01.js b/assets/js/40.bf595a01.js new file mode 100644 index 00000000..009c9c96 --- /dev/null +++ b/assets/js/40.bf595a01.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{256:function(t,e,a){"use strict";a.r(e);var r=a(0),s=Object(r.a)({},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"content"},[t._m(0),t._v(" "),a("LegacyWarning"),t._v(" "),t._m(1),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),a("p",[t._v("Starting with "),a("Badge",{attrs:{text:"3.0.0"}}),t._v(" there is no need to manually construct a "),a("code",[t._v("MarkwonTheme")]),t._v(".\nInstead a "),a("code",[t._v("Plugin")]),t._v(" should be used:")],1),t._v(" "),t._m(2)]),t._v(" "),t._m(3),t._v(" "),t._m(4),t._v(" "),a("ThemeProperty",{attrs:{name:"linkColor",type:"@ColorInt int",defaults:"Default link color of a context where markdown is displayed *"}}),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),a("p",[t._v("Starting margin before text content for the:")]),t._v(" "),t._m(7),t._v(" "),a("ThemeProperty",{attrs:{name:"blockMargin",type:"@Px int",defaults:"24dp"}}),t._v(" "),t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10),t._v(" "),t._m(11),t._v(" "),a("p",[t._v("Width of a blockquote stripe")]),t._v(" "),a("ThemeProperty",{attrs:{name:"blockQuoteWidth",type:"@Px int",defaults:"1/4 of the block margin"}}),t._v(" "),t._m(12),t._v(" "),a("p",[t._v("Color of a blockquote stripe")]),t._v(" "),a("ThemeProperty",{attrs:{name:"blockQuoteColor",type:"@ColorInt int",defaults:"textColor with 25 (0-255) alpha value"}}),t._v(" "),t._m(13),t._v(" "),t._m(14),t._v(" "),a("p",[t._v("Controls the color of a list item. For ordered list: leading number,\nfor unordered list: bullet.")]),t._v(" "),t._m(15),t._v(" "),t._m(16),t._v(" "),a("ThemeProperty",{attrs:{name:"listItemColor",type:"@ColorInt int",defaults:"Text color"}}),t._v(" "),t._m(17),t._v(" "),a("p",[t._v("Border width of a bullet list item (level 2)")]),t._v(" "),t._m(18),t._v(" "),a("ThemeProperty",{attrs:{name:"bulletListItemStrokeWidth",type:"@Px int",defaults:"Stroke width of TextPaint"}}),t._v(" "),t._m(19),t._v(" "),a("p",[t._v("The width of the bullet item")]),t._v(" "),t._m(20),t._v(" "),a("ThemeProperty",{attrs:{name:"bulletWidth",type:"@Px int",defaults:"min(blockMargin, lineHeight) / 2"}}),t._v(" "),t._m(21),t._v(" "),t._m(22),t._v(" "),t._m(23),t._v(" "),a("ThemeProperty",{attrs:{name:"codeTextColor",type:"@ColorInt int",defaults:"Content text color"}}),t._v(" "),t._m(24),t._v(" "),t._m(25),t._v(" "),a("ThemeProperty",{attrs:{name:"codeBackgroundColor",type:"@ColorInt int",defaults:"inline code text color with 25 (0-255) alpha"}}),t._v(" "),t._m(26),t._v(" "),t._m(27),a("ThemeProperty",{attrs:{name:"codeBlockTextColor",type:"@ColorInt int",defaults:"inline code text color"}}),t._v(" "),t._m(28),t._v(" "),t._m(29),a("ThemeProperty",{attrs:{name:"codeBlockBackgroundColor",type:"@ColorInt int",defaults:"inline code background color"}}),t._v(" "),t._m(30),t._v(" "),a("p",[t._v("Leading margin for the block code content")]),t._v(" "),a("ThemeProperty",{attrs:{name:"codeMultilineMargin",type:"@Px int",defaults:"8dip"}}),t._v(" "),t._m(31),t._v(" "),a("p",[t._v("Typeface of code content")]),t._v(" "),a("ThemeProperty",{attrs:{name:"codeTypeface",type:"android.graphics.Typeface",defaults:"Typeface.MONOSPACE"}}),t._v(" "),a("h3",{attrs:{id:"block-code-typeface"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#block-code-typeface","aria-hidden":"true"}},[t._v("#")]),t._v(" Block code typeface "),a("Badge",{attrs:{text:"3.0.0"}})],1),t._v(" "),a("p",[t._v("Typeface of block code content")]),t._v(" "),a("ThemeProperty",{attrs:{name:"codeBlockTypeface",type:"android.graphics.Typeface",defaults:"codeTypeface if set or Typeface.MONOSPACE"}}),t._v(" "),t._m(32),t._v(" "),a("p",[t._v("Text size of code content")]),t._v(" "),a("ThemeProperty",{attrs:{name:"codeTextSize",type:"@Px int",defaults:"(Content text size) * 0.87 if no custom Typeface was set, otherwise (content text size)"}}),t._v(" "),a("h3",{attrs:{id:"block-code-text-size"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#block-code-text-size","aria-hidden":"true"}},[t._v("#")]),t._v(" Block code text size "),a("Badge",{attrs:{text:"3.0.0"}})],1),t._v(" "),a("p",[t._v("Text size of block code content")]),t._v(" "),a("ThemeProperty",{attrs:{name:"codeBlockTextSize",type:"@Px int",defaults:"codeTextSize if set or (content text size) * 0.87 if no custom Typeface was set, otherwise (content text size)"}}),t._v(" "),t._m(33),t._v(" "),t._m(34),t._v(" "),a("p",[t._v("The height of a brake under H1 & H2")]),t._v(" "),a("ThemeProperty",{attrs:{name:"headingBreakHeight",type:"@Px int",defaults:"Stroke width of context TextPaint"}}),t._v(" "),t._m(35),t._v(" "),a("p",[t._v("The color of a brake under H1 & H2")]),t._v(" "),a("ThemeProperty",{attrs:{name:"headingBreakColor",type:"@ColorInt int",defaults:"(text color) with 75 (0-255) alpha"}}),t._v(" "),a("h3",{attrs:{id:"typeface"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#typeface","aria-hidden":"true"}},[t._v("#")]),t._v(" Typeface "),a("Badge",{attrs:{text:"1.1.0"}})],1),t._v(" "),a("p",[t._v("The typeface of heading elements")]),t._v(" "),a("ThemeProperty",{attrs:{name:"headingTypeface",type:"android.graphics.Typeface",defaults:"default text Typeface"}}),t._v(" "),a("h3",{attrs:{id:"text-size"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#text-size","aria-hidden":"true"}},[t._v("#")]),t._v(" Text size "),a("Badge",{attrs:{text:"1.1.0"}})],1),t._v(" "),t._m(36),t._v(" "),a("ThemeProperty",{attrs:{name:"headingTextSizeMultipliers",type:"float[]",defaults:"{2.F, 1.5F, 1.17F, 1.F, .83F, .67F} (HTML spec)"}}),t._v(" "),t._m(37),t._v(" "),t._m(38),t._v(" "),a("p",[t._v("Color of a thematic break")]),t._v(" "),a("ThemeProperty",{attrs:{name:"thematicBreakColor",type:"@ColorInt int",defaults:"(text color) with 25 (0-255) alpha"}}),t._v(" "),t._m(39),t._v(" "),a("p",[t._v("Height of a thematic break")]),t._v(" "),a("ThemeProperty",{attrs:{name:"thematicBreakHeight",type:"@Px int",defaults:"Stroke width of context TextPaint"}})],1)},[function(){var t=this.$createElement,e=this._self._c||t;return e("h1",{attrs:{id:"theme"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#theme","aria-hidden":"true"}},[this._v("#")]),this._v(" Theme")])},function(){var t=this.$createElement,e=this._self._c||t;return e("p",[this._v("Here is the list of properties that can be configured via "),e("code",[this._v("MarkwonTheme.Builder")]),this._v(" class.")])},function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("configureTheme")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonTheme"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("codeTextColor")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Color"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("BLACK"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("codeBackgroundColor")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Color"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("GREEN"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"link-color"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#link-color","aria-hidden":"true"}},[this._v("#")]),this._v(" Link color")])},function(){var t=this.$createElement,e=this._self._c||t;return e("p",[this._v("Controls the color of a "),e("a",{attrs:{href:"#"}},[this._v("link")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("p",[e("sup",[this._v("*")]),this._v(" "),e("code",[this._v("TextPaint#linkColor")]),this._v(" will be used to determine linkColor of a context")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"block-margin"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#block-margin","aria-hidden":"true"}},[this._v("#")]),this._v(" Block margin")])},function(){var t=this.$createElement,e=this._self._c||t;return e("ul",[e("li",[this._v("lists")]),this._v(" "),e("li",[this._v("blockquotes")]),this._v(" "),e("li",[this._v("task lists")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"block-quote"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#block-quote","aria-hidden":"true"}},[this._v("#")]),this._v(" Block quote")])},function(){var t=this.$createElement,e=this._self._c||t;return e("p",[this._v("Customizations for the "),e("code",[this._v("blockquote")]),this._v(" stripe")])},function(){var t=this.$createElement,e=this._self._c||t;return e("blockquote",[e("p",[this._v("Quote")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"stripe-width"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#stripe-width","aria-hidden":"true"}},[this._v("#")]),this._v(" Stripe width")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"stripe-color"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#stripe-color","aria-hidden":"true"}},[this._v("#")]),this._v(" Stripe color")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"list"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#list","aria-hidden":"true"}},[this._v("#")]),this._v(" List")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"list-item-color"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#list-item-color","aria-hidden":"true"}},[this._v("#")]),this._v(" List item color")])},function(){var t=this.$createElement,e=this._self._c||t;return e("ul",[e("li",[this._v("UL")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("ol",[e("li",[this._v("OL")])])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"bullet-item-stroke-width"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#bullet-item-stroke-width","aria-hidden":"true"}},[this._v("#")]),this._v(" Bullet item stroke width")])},function(){var t=this.$createElement,e=this._self._c||t;return e("ul",[e("li",[this._v("First")]),this._v(" "),e("li",[e("ul",[e("li",[this._v("Second")])])]),this._v(" "),e("li",[e("ul",[e("li",[e("ul",[e("li",[this._v("Third")])])])])])])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"bullet-width"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#bullet-width","aria-hidden":"true"}},[this._v("#")]),this._v(" Bullet width")])},function(){var t=this.$createElement,e=this._self._c||t;return e("ul",[e("li",[this._v("First\n"),e("ul",[e("li",[this._v("Second\n"),e("ul",[e("li",[this._v("Third")])])])])])])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"code"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#code","aria-hidden":"true"}},[this._v("#")]),this._v(" Code")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"inline-code-text-color"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#inline-code-text-color","aria-hidden":"true"}},[this._v("#")]),this._v(" Inline code text color")])},function(){var t=this.$createElement,e=this._self._c||t;return e("p",[this._v("The color of the "),e("code",[this._v("code")]),this._v(" content")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"inline-code-background-color"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#inline-code-background-color","aria-hidden":"true"}},[this._v("#")]),this._v(" Inline code background color")])},function(){var t=this.$createElement,e=this._self._c||t;return e("p",[this._v("The color of "),e("code",[this._v("background")]),this._v(" of a code content")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"block-code-text-color"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#block-code-text-color","aria-hidden":"true"}},[this._v("#")]),this._v(" Block code text color")])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[this._v("The color of code block text\n")])])])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"block-code-background-color"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#block-code-background-color","aria-hidden":"true"}},[this._v("#")]),this._v(" Block code background color")])},function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"language- extra-class"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[this._v("The color of background of code block text\n")])])])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"block-code-leading-margin"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#block-code-leading-margin","aria-hidden":"true"}},[this._v("#")]),this._v(" Block code leading margin")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"code-typeface"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#code-typeface","aria-hidden":"true"}},[this._v("#")]),this._v(" Code typeface")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"code-text-size"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#code-text-size","aria-hidden":"true"}},[this._v("#")]),this._v(" Code text size")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"heading"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#heading","aria-hidden":"true"}},[this._v("#")]),this._v(" Heading")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"break-height"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#break-height","aria-hidden":"true"}},[this._v("#")]),this._v(" Break height")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"break-color"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#break-color","aria-hidden":"true"}},[this._v("#")]),this._v(" Break color")])},function(){var t=this.$createElement,e=this._self._c||t;return e("p",[this._v("Array of heading text sizes "),e("em",[this._v("ratio")]),this._v(" that is applied to text size")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h2",{attrs:{id:"thematic-break"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#thematic-break","aria-hidden":"true"}},[this._v("#")]),this._v(" Thematic break")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"color"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#color","aria-hidden":"true"}},[this._v("#")]),this._v(" Color")])},function(){var t=this.$createElement,e=this._self._c||t;return e("h3",{attrs:{id:"height"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#height","aria-hidden":"true"}},[this._v("#")]),this._v(" Height")])}],!1,null,null,null);s.options.__file="theme.md";e.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/41.db50f781.js b/assets/js/41.db50f781.js new file mode 100644 index 00000000..21f3c8f2 --- /dev/null +++ b/assets/js/41.db50f781.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{254:function(t,n,s){"use strict";s.r(n);var a=s(0),o=Object(a.a)({},function(){var t=this,n=t.$createElement,s=t._self._c||n;return s("div",{staticClass:"content"},[t._m(0),t._v(" "),s("LegacyWarning"),t._v(" "),s("p",[t._v("Starting with "),s("Badge",{attrs:{text:"3.0.0"}}),t._v(" "),s("em",[t._v("visiting")]),t._v(" of parsed markdown\nnodes does not require creating own instance of commonmark-java "),s("code",[t._v("Visitor")]),t._v(",\ninstead a composable/configurable "),s("code",[t._v("MarkwonVisitor")]),t._v(" is used.")],1),t._v(" "),t._m(1),t._v(" "),t._m(2),t._v(" "),t._m(3),s("hr"),t._v(" "),t._m(4),t._v(" "),s("p",[t._v("It holds rendering configuration:")]),t._v(" "),s("ul",[s("li",[s("code",[t._v("MarkwonVisitor#configuration")]),t._v(" - getter for current "),s("router-link",{attrs:{to:"/docs/v3/core/configuration.html"}},[t._v("MarkwonConfiguration")])],1),t._v(" "),s("li",[s("code",[t._v("MarkwonVisitor#renderProps")]),t._v(" - getter for current "),s("router-link",{attrs:{to:"/docs/v3/core/render-props.html"}},[t._v("RenderProps")])],1),t._v(" "),t._m(5)]),t._v(" "),s("p",[t._v("It contains also a number of utility functions:")]),t._v(" "),t._m(6),t._v(" "),s("p",[t._v("And some utility functions to control the spans:")]),t._v(" "),t._m(7),t._v(" "),t._m(8)],1)},[function(){var t=this.$createElement,n=this._self._c||t;return n("h1",{attrs:{id:"visitor"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#visitor","aria-hidden":"true"}},[this._v("#")]),this._v(" Visitor")])},function(){var t=this.$createElement,n=this._self._c||t;return n("h2",{attrs:{id:"visitor-builder"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#visitor-builder","aria-hidden":"true"}},[this._v("#")]),this._v(" Visitor.Builder")])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("There is no need to create own instance of "),n("code",[this._v("MarkwonVisitor.Builder")]),this._v(" as\nit is done by "),n("code",[this._v("Markwon")]),this._v(" itself. One still can configure it as one wishes:")])},function(){var t=this,n=t.$createElement,s=t._self._c||n;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("contex"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("configureVisitor")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonVisitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("on")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("SoftLineBreak"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token keyword"}},[t._v("class")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("MarkwonVisitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("NodeVisitor")]),s("span",{attrs:{class:"token generics function"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("SoftLineBreak"),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("visit")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonVisitor visitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" SoftLineBreak softLineBreak"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n visitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("forceNewLine")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[n("code",[this._v("MarkwonVisitor")]),this._v(" encapsulates most of the functionality of rendering parsed markdown.")])},function(){var t=this.$createElement,n=this._self._c||t;return n("li",[n("code",[this._v("MarkwonVisitor#builder")]),this._v(" - getter for current "),n("code",[this._v("SpannableBuilder")])])},function(){var t=this,n=t.$createElement,s=t._self._c||n;return s("ul",[s("li",[s("code",[t._v("visitChildren(Node)")]),t._v(" - will visit all children of supplied Node")]),t._v(" "),s("li",[s("code",[t._v("hasNext(Node)")]),t._v(" - utility function to check if supplied Node has a Node after it (useful for white-space management, so there should be no blank new line after last BlockNode)")]),t._v(" "),s("li",[s("code",[t._v("ensureNewLine")]),t._v(" - will insert a new line at current "),s("code",[t._v("SpannableBuilder")]),t._v(" position only if current (last) character is not a new-line")]),t._v(" "),s("li",[s("code",[t._v("forceNewLine")]),t._v(" - will insert a new line character without any condition checking")]),t._v(" "),s("li",[s("code",[t._v("length")]),t._v(" - helper function to call "),s("code",[t._v("visitor.builder().length()")]),t._v(", returns current length of "),s("code",[t._v("SpannableBuilder")])]),t._v(" "),s("li",[s("code",[t._v("clear")]),t._v(" - will clear state for "),s("code",[t._v("RenderProps")]),t._v(" and "),s("code",[t._v("SpannableBuilder")]),t._v(", this is done by "),s("code",[t._v("Markwon")]),t._v(" automatically after each render call")])])},function(){var t=this,n=t.$createElement,s=t._self._c||n;return s("ul",[s("li",[s("code",[t._v("setSpans(int start, Object spans)")]),t._v(" - will apply supplied "),s("code",[t._v("spans")]),t._v(" on "),s("code",[t._v("SpannableBuilder")]),t._v(" starting at "),s("code",[t._v("start")]),t._v(" position and ending at "),s("code",[t._v("SpannableBuilder#length")]),t._v(". "),s("code",[t._v("spans")]),t._v(" can be "),s("code",[t._v("null")]),t._v(" (no spans will be applied) or an array of spans (each span of this array will be applied)")]),t._v(" "),s("li",[s("code",[t._v("setSpansForNodeOptional(N node, int start)")]),t._v(" - helper method to set spans for specified "),s("code",[t._v("node")]),t._v(" (internally obtains "),s("code",[t._v("SpanFactory")]),t._v(" for that node and uses it to apply spans)")]),t._v(" "),s("li",[s("code",[t._v("setSpansForNode(N node, int start)")]),t._v(" - almost the same as "),s("code",[t._v("setSpansForNodeOptional")]),t._v(" but instead of silently ignoring call if none "),s("code",[t._v("SpanFactory")]),t._v(" is registered, this method will throw an exception.")])])},function(){var t=this,n=t.$createElement,s=t._self._c||n;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n"),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("configureVisitor")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonVisitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("on")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Heading"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token keyword"}},[t._v("class")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("MarkwonVisitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("NodeVisitor")]),s("span",{attrs:{class:"token generics function"}},[s("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("Heading"),s("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("visit")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonVisitor visitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" Heading heading"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\n "),s("span",{attrs:{class:"token comment"}},[t._v("// or just `visitor.length()`")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("int")]),t._v(" start "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" visitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("length")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n visitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("visitChildren")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("heading"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{attrs:{class:"token comment"}},[t._v("// or just `visitor.setSpansForNodeOptional(heading, start)`")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" SpanFactory factory "),s("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" visitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("configuration")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("spansFactory")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("get")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("heading"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("getClass")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("factory "),s("span",{attrs:{class:"token operator"}},[t._v("!=")]),t._v(" null"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n visitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("setSpans")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("start"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" factory"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("getSpans")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("visitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("configuration")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" visitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("renderProps")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n "),s("span",{attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("visitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("hasNext")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("heading"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n visitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("ensureNewLine")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n visitor"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("forceNewLine")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])}],!1,null,null,null);o.options.__file="visitor.md";n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/42.d7ca0851.js b/assets/js/42.d7ca0851.js new file mode 100644 index 00000000..101e83ed --- /dev/null +++ b/assets/js/42.d7ca0851.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{252:function(t,a,n){"use strict";n.r(a);var s=n(0),e=Object(s.a)({},function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("div",{staticClass:"content"},[t._m(0),t._v(" "),n("LegacyWarning"),t._v(" "),n("MavenBadge",{attrs:{artifact:"ext-latex"}}),t._v(" "),t._m(1),t._v(" "),t._m(2),t._m(3),t._m(4),n("p",[t._v("This extension uses "),n("a",{attrs:{href:"https://github.com/noties/jlatexmath-android",target:"_blank",rel:"noopener noreferrer"}},[t._v("jlatexmath-android"),n("OutboundLink")],1),t._v(" artifact to create LaTeX drawable. Then it\nregisters special "),n("code",[t._v("latex")]),t._v(" image scheme handler and uses "),n("code",[t._v("AsyncDrawableLoader")]),t._v(" to display\nfinal result")]),t._v(" "),t._m(5),t._v(" "),t._m(6)],1)},[function(){var t=this.$createElement,a=this._self._c||t;return a("h1",{attrs:{id:"latex-extension"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#latex-extension","aria-hidden":"true"}},[this._v("#")]),this._v(" LaTeX extension")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("This is an extension that will help you display LaTeX formulas in your markdown.\nSyntax is pretty simple: pre-fix and post-fix your latex with "),a("code",[this._v("$$")]),this._v(" (double dollar sign).\n"),a("code",[this._v("$$")]),this._v(" should be the first characters in a line.")])},function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"language-markdown extra-class"},[a("pre",{pre:!0,attrs:{class:"language-markdown"}},[a("code",[this._v("$$\n\\\\text{A long division \\\\longdiv{12345}{13}\n$$\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"language-markdown extra-class"},[a("pre",{pre:!0,attrs:{class:"language-markdown"}},[a("code",[this._v("$$\\\\text{A long division \\\\longdiv{12345}{13}$$\n")])])])},function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("div",{staticClass:"language-java extra-class"},[n("pre",{pre:!0,attrs:{class:"language-java"}},[n("code",[t._v("Markwon"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("builder")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("use")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ImagesPlugin"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("create")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("use")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("JLatexMathPlugin"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("create")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("textSize"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("build")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"config"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#config","aria-hidden":"true"}},[this._v("#")]),this._v(" Config")])},function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("div",{staticClass:"language-java extra-class"},[n("pre",{pre:!0,attrs:{class:"language-java"}},[n("code",[n("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("builder")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("ImagesPlugin"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("create")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("JLatexMathPlugin"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("create")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("textSize"),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),n("span",{attrs:{class:"token class-name"}},[t._v("BuilderConfigure")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),n("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),n("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),n("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),n("span",{attrs:{class:"token function"}},[t._v("configureBuilder")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" Builder builder"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),n("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("background")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("backgroundDrawable"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("align")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("JLatexMathDrawable"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("ALIGN_CENTER"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("fitCanvas")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token boolean"}},[t._v("true")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("padding")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("paddingPx"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("build")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])}],!1,null,null,null);e.options.__file="README.md";a.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/43.78500964.js b/assets/js/43.78500964.js new file mode 100644 index 00000000..c29bba48 --- /dev/null +++ b/assets/js/43.78500964.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{250:function(t,n,s){"use strict";s.r(n);var a=s(0),o=Object(a.a)({},function(){var t=this,n=t.$createElement,s=t._self._c||n;return s("div",{staticClass:"content"},[t._m(0),t._v(" "),s("LegacyWarning"),t._v(" "),s("MavenBadge",{attrs:{artifact:"ext-strikethrough"}}),t._v(" "),t._m(1),t._v(" "),t._m(2),t._m(3),t._v(" "),t._m(4)],1)},[function(){var t=this.$createElement,n=this._self._c||t;return n("h1",{attrs:{id:"strikethrough-extension"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#strikethrough-extension","aria-hidden":"true"}},[this._v("#")]),this._v(" Strikethrough extension")])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("This module adds "),n("code",[this._v("strikethrough")]),this._v(" functionality to "),n("code",[this._v("Markwon")]),this._v(" via "),n("code",[this._v("StrikethroughPlugin")]),this._v(":")])},function(){var t=this,n=t.$createElement,s=t._self._c||n;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("Markwon"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("StrikethroughPlugin"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])])},function(){var t=this.$createElement,n=this._self._c||t;return n("p",[this._v("This plugin registers "),n("code",[this._v("SpanFactory")]),this._v(" for "),n("code",[this._v("Strikethrough")]),this._v(" node, so it's possible to customize Strikethrough Span that is used in rendering:")])},function(){var t=this,n=t.$createElement,s=t._self._c||n;return s("div",{staticClass:"language-java extra-class"},[s("pre",{pre:!0,attrs:{class:"language-java"}},[s("code",[t._v("Markwon"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("builder")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("StrikethroughPlugin"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("create")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),s("span",{attrs:{class:"token function"}},[t._v("configureSpansFactory")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonSpansFactory"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n builder"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token function"}},[t._v("setFactory")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Strikethrough"),s("span",{attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{attrs:{class:"token keyword"}},[t._v("class")]),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("SpanFactory")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Object "),s("span",{attrs:{class:"token function"}},[t._v("getSpans")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonConfiguration configuration"),s("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" RenderProps props"),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{attrs:{class:"token comment"}},[t._v("// will use Underline span instead of Strikethrough")]),t._v("\n "),s("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),s("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),s("span",{attrs:{class:"token class-name"}},[t._v("UnderlineSpan")]),s("span",{attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),s("span",{attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])])}],!1,null,null,null);o.options.__file="README.md";n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/44.60fec7f9.js b/assets/js/44.60fec7f9.js new file mode 100644 index 00000000..b9da38e6 --- /dev/null +++ b/assets/js/44.60fec7f9.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{248:function(t,a,n){"use strict";n.r(a);var s=n(0),e=Object(s.a)({},function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("div",{staticClass:"content"},[t._m(0),t._v(" "),n("LegacyWarning"),t._v(" "),n("MavenBadge",{attrs:{artifact:"ext-tables"}}),t._v(" "),n("p",[t._v("This extension adds support for GFM tables.")]),t._v(" "),t._m(1),t._m(2),t._m(3),t._m(4),t._v(" "),t._m(5),t._v(" "),t._m(6),n("div",{staticClass:"tip custom-block"},[n("p",{staticClass:"custom-block-title"},[t._v("TIP")]),t._v(" "),n("p",[t._v("To take advantage of this functionality and render tables without limitations (including\nhorizontally scrollable layout when its contents exceed screen width), refer to "),n("router-link",{attrs:{to:"/docs/v4/recycler-table/"}},[t._v("recycler-table")]),t._v("\nmodule documentation that adds support for rendering "),n("code",[t._v("TableBlock")]),t._v(" markdown node inside Android-native "),n("code",[t._v("TableLayout")]),t._v(" widget.")],1)]),t._v(" "),t._m(7),t._v(" "),t._m(8),t._v(" "),n("p",[t._v("Padding inside a table cell")]),t._v(" "),n("ThemeProperty",{attrs:{name:"tableCellPadding",type:"@Px int",defaults:"0"}}),t._v(" "),t._m(9),t._v(" "),n("p",[t._v("The color of table borders")]),t._v(" "),n("ThemeProperty",{attrs:{name:"tableBorderColor",type:"@ColorInt int",defaults:"(text color) with 75 (0-255) alpha"}}),t._v(" "),t._m(10),t._v(" "),n("p",[t._v("The width of table borders")]),t._v(" "),n("ThemeProperty",{attrs:{name:"tableBorderWidth",type:"@Px int",defaults:"Stroke with of context TextPaint"}}),t._v(" "),t._m(11),t._v(" "),n("p",[t._v("Background of an odd table row")]),t._v(" "),n("ThemeProperty",{attrs:{name:"tableOddRowBackgroundColor",type:"@ColorInt int",defaults:"(text color) with 22 (0-255) alpha"}}),t._v(" "),n("h3",{attrs:{id:"even-row-background"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#even-row-background","aria-hidden":"true"}},[t._v("#")]),t._v(" Even row background "),n("Badge",{attrs:{text:"1.1.1"}})],1),t._v(" "),n("p",[t._v("Background of an even table row")]),t._v(" "),n("ThemeProperty",{attrs:{name:"tableEventRowBackgroundColor",type:"@ColorInt int",defaults:"0"}}),t._v(" "),n("h3",{attrs:{id:"header-row-background"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#header-row-background","aria-hidden":"true"}},[t._v("#")]),t._v(" Header row background "),n("Badge",{attrs:{text:"1.1.1"}})],1),t._v(" "),n("p",[t._v("Background of header table row")]),t._v(" "),n("ThemeProperty",{attrs:{name:"tableHeaderRowBackgroundColor",type:"@ColorInt int",defaults:"0"}})],1)},[function(){var t=this.$createElement,a=this._self._c||t;return a("h1",{attrs:{id:"tables-extension"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#tables-extension","aria-hidden":"true"}},[this._v("#")]),this._v(" Tables extension")])},function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("div",{staticClass:"language-java extra-class"},[n("pre",{pre:!0,attrs:{class:"language-java"}},[n("code",[n("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("builder")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token comment"}},[t._v("// create default instance of TablePlugin")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("TablePlugin"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("create")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])])},function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("div",{staticClass:"language-java extra-class"},[n("pre",{pre:!0,attrs:{class:"language-java"}},[n("code",[n("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" TableTheme tableTheme "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" TableTheme"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("builder")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("tableBorderColor")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Color"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("RED"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("tableBorderWidth")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token number"}},[t._v("0")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("tableCellPadding")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token number"}},[t._v("0")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("tableHeaderRowBackgroundColor")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Color"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("BLACK"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("tableEvenRowBackgroundColor")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Color"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("GREEN"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("tableOddRowBackgroundColor")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Color"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("YELLOW"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("build")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),n("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("builder")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("TablePlugin"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("create")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("tableTheme"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])])},function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("div",{staticClass:"language-java extra-class"},[n("pre",{pre:!0,attrs:{class:"language-java"}},[n("code",[t._v("Markwon"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("builder")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("TablePlugin"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("create")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("builder "),n("span",{attrs:{class:"token operator"}},[t._v("-")]),n("span",{attrs:{class:"token operator"}},[t._v(">")]),t._v("\n builder\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("tableBorderColor")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Color"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("RED"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("tableBorderWidth")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token number"}},[t._v("0")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("tableCellPadding")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),n("span",{attrs:{class:"token number"}},[t._v("0")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("tableHeaderRowBackgroundColor")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Color"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("BLACK"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("tableEvenRowBackgroundColor")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Color"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("GREEN"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("tableOddRowBackgroundColor")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Color"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("YELLOW"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("Please note, that "),a("em",[this._v("by default")]),this._v(" tables have limitations. For example, there is no support\nfor images inside table cells. And table contents won't be copied to clipboard if a TextView\nhas such functionality. Table will always take full width of a TextView in which it is displayed.\nAll columns will always be the of the same width. So, "),a("em",[this._v("default")]),this._v(" implementation provides basic\nfunctionality which can answer some needs. These all come from the limited nature of the TextView\nto display such content.")])},function(){var t=this.$createElement,a=this._self._c||t;return a("p",[this._v("In order to provide full-fledged experience, tables must be displayed in a special widget.\nSince version "),a("code",[this._v("3.0.0")]),this._v(" Markwon provides a special artifact "),a("code",[this._v("markwon-recycler")]),this._v(" that allows\nto render markdown in a set of widgets in a RecyclerView. It also gives ability to change\ndisplay widget form TextView to any other.")])},function(){var t=this,a=t.$createElement,n=t._self._c||a;return n("div",{staticClass:"language-java extra-class"},[n("pre",{pre:!0,attrs:{class:"language-java"}},[n("code",[n("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Table table "),n("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Table"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("parse")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("Markwon"),n("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" TableBlock"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nmyTableWidget"),n("span",{attrs:{class:"token punctuation"}},[t._v(".")]),n("span",{attrs:{class:"token function"}},[t._v("setTable")]),n("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("table"),n("span",{attrs:{class:"token punctuation"}},[t._v(")")]),n("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,a=this._self._c||t;return a("h2",{attrs:{id:"theme"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#theme","aria-hidden":"true"}},[this._v("#")]),this._v(" Theme")])},function(){var t=this.$createElement,a=this._self._c||t;return a("h3",{attrs:{id:"cell-padding"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#cell-padding","aria-hidden":"true"}},[this._v("#")]),this._v(" Cell padding")])},function(){var t=this.$createElement,a=this._self._c||t;return a("h3",{attrs:{id:"border-color"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#border-color","aria-hidden":"true"}},[this._v("#")]),this._v(" Border color")])},function(){var t=this.$createElement,a=this._self._c||t;return a("h3",{attrs:{id:"border-width"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#border-width","aria-hidden":"true"}},[this._v("#")]),this._v(" Border width")])},function(){var t=this.$createElement,a=this._self._c||t;return a("h3",{attrs:{id:"odd-row-background"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#odd-row-background","aria-hidden":"true"}},[this._v("#")]),this._v(" Odd row background")])}],!1,null,null,null);e.options.__file="README.md";a.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/45.78224b99.js b/assets/js/45.78224b99.js new file mode 100644 index 00000000..fb6210f4 --- /dev/null +++ b/assets/js/45.78224b99.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{246:function(t,s,a){"use strict";a.r(s);var n=a(0),o=Object(n.a)({},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"content"},[t._m(0),t._v(" "),a("LegacyWarning"),t._v(" "),a("MavenBadge",{attrs:{artifact:"ext-tasklist"}}),t._v(" "),a("p",[t._v("Adds support for GFM (Github-flavored markdown) task-lists:")]),t._v(" "),t._m(1),a("hr"),t._v(" "),t._m(2),t._v(" "),t._m(3),a("hr"),t._v(" "),t._m(4),t._v(" "),t._m(5),a("hr"),t._v(" "),a("p",[t._v("Specify own drawable for a task list item:")]),t._v(" "),t._m(6),t._m(7),t._v(" "),t._m(8),t._v(" "),t._m(9),t._v(" "),t._m(10)],1)},[function(){var t=this.$createElement,s=this._self._c||t;return s("h1",{attrs:{id:"task-list-extension"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#task-list-extension","aria-hidden":"true"}},[this._v("#")]),this._v(" Task list extension")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[t._v("Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("TaskListPlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("create")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("p",[t._v("Create a default instance of "),a("code",[t._v("TaskListPlugin")]),t._v(" with "),a("code",[t._v("TaskListDrawable")]),t._v(" initialized to use\n"),a("code",[t._v("android.R.attr.textColorLink")]),t._v(" as primary color and "),a("code",[t._v("android.R.attr.colorBackground")]),t._v(" as background")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[t._v("TaskListPlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("create")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("Create an instance of "),s("code",[this._v("TaskListPlugin")]),this._v(" with exact color values to use:")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// obtain color values")]),t._v("\n"),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("int")]),t._v(" checkedFillColor "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("/* */")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("int")]),t._v(" normalOutlineColor "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("/* */")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("int")]),t._v(" checkMarkColor "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("/* */")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\nTaskListPlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("create")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("checkedFillColor"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" normalOutlineColor"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" checkMarkColor"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token comment"}},[t._v("// obtain drawable")]),t._v("\n"),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Drawable drawable "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token comment"}},[t._v("/* */")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\nTaskListPlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("create")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("drawable"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"warning custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),a("p",[t._v("Please note that custom drawable for a task list item must correctly handle state\nin order to display done/not-done:")]),t._v(" "),a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("MyTaskListDrawable")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("extends")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("Drawable")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\n "),a("span",{attrs:{class:"token keyword"}},[t._v("private")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("boolean")]),t._v(" isChecked"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("draw")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" Canvas canvas"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// draw accordingly to the isChecked value")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n \n "),a("span",{attrs:{class:"token comment"}},[t._v("/* implementation omitted */")]),t._v("\n\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("protected")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("boolean")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("onStateChange")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("int")]),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" state"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("boolean")]),t._v(" isChecked "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("contains")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("state"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" android"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("R"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("attr"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("state_checked"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("boolean")]),t._v(" result "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("this")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("isChecked "),a("span",{attrs:{class:"token operator"}},[t._v("!=")]),t._v(" isChecked"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("result"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("this")]),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("isChecked "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" isChecked"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" result"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{attrs:{class:"token keyword"}},[t._v("private")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("static")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("boolean")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("contains")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Nullable")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("int")]),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" states"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("int")]),t._v(" value"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("states "),a("span",{attrs:{class:"token operator"}},[t._v("!=")]),t._v(" null"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("for")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("int")]),t._v(" state "),a("span",{attrs:{class:"token operator"}},[t._v(":")]),t._v(" states"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("state "),a("span",{attrs:{class:"token operator"}},[t._v("==")]),t._v(" value"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// NB return here")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token boolean"}},[t._v("true")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token boolean"}},[t._v("false")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"task-list-mutation"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#task-list-mutation","aria-hidden":"true"}},[this._v("#")]),this._v(" Task list mutation")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("It is possible to mutate task list item state (toggle done/not-done). But note\nthat "),s("code",[this._v("Markwon")]),this._v(" won't handle state change internally by any means and this change\nis merely a visual one. If you need to persist state of a task list\nitem change you have to implement it yourself. This should get your started:")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("TaskListPlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("create")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("AbstractMarkwonPlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("configureSpansFactory")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonSpansFactory"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Builder builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// obtain original SpanFactory set by TaskListPlugin")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" SpanFactory origin "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("getFactory")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("TaskListItem"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("origin "),a("span",{attrs:{class:"token operator"}},[t._v("==")]),t._v(" null"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// or throw, as it's a bit weird state and we expect")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// this factory to be present")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n builder"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("setFactory")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("TaskListItem"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token keyword"}},[t._v("class")]),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("SpanFactory")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" Object "),a("span",{attrs:{class:"token function"}},[t._v("getSpans")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" MarkwonConfiguration configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" RenderProps props"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// it's a bit non-secure behavior and we should validate")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// the type of returned span first, but for the sake of brevity")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// we skip this step")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" TaskListSpan span "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("TaskListSpan"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" origin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("getSpans")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("configuration"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" props"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{attrs:{class:"token keyword"}},[t._v("if")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("span "),a("span",{attrs:{class:"token operator"}},[t._v("==")]),t._v(" null"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// or throw")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" null"),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// return an array of spans")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("Object")]),a("span",{attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n span"),a("span",{attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("new")]),t._v(" "),a("span",{attrs:{class:"token class-name"}},[t._v("ClickableSpan")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("onClick")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" View widget"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// toggle VISUAL state")]),t._v("\n span"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("setDone")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token operator"}},[t._v("!")]),t._v("span"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("isDone")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// do not forget to invalidate widget")]),t._v("\n widget"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("invalidate")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),a("span",{attrs:{class:"token comment"}},[t._v("// execute your persistence logic")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@Override")]),t._v("\n "),a("span",{attrs:{class:"token keyword"}},[t._v("public")]),t._v(" "),a("span",{attrs:{class:"token keyword"}},[t._v("void")]),t._v(" "),a("span",{attrs:{class:"token function"}},[t._v("updateDrawState")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token annotation punctuation"}},[t._v("@NonNull")]),t._v(" TextPaint ds"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// no-op, so appearance is not changed (otherwise")]),t._v("\n "),a("span",{attrs:{class:"token comment"}},[t._v("// task list item will look like a link)")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])}],!1,null,null,null);o.options.__file="README.md";s.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/46.9a7f306b.js b/assets/js/46.9a7f306b.js new file mode 100644 index 00000000..b31c536f --- /dev/null +++ b/assets/js/46.9a7f306b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{244:function(t,s,a){"use strict";a.r(s);var n=a(0),e=Object(n.a)({},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"content"},[t._m(0),t._v(" "),a("LegacyWarning"),t._v(" "),t._m(1),t._v(" "),t._m(2),a("p",[t._v("As this artifact brings modified "),a("a",{attrs:{href:"https://github.com/jhy/jsoup",target:"_blank",rel:"noopener noreferrer"}},[t._v("jsoup"),a("OutboundLink")],1),t._v(" library\nit was moved to a standalone module in order to minimize dependencies and unused code\nin applications that does not require HTML render capabilities.")]),t._v(" "),a("p",[t._v("Before "),a("Badge",{attrs:{text:"2.0.0"}}),t._v(" "),a("code",[t._v("Markwon")]),t._v(" used android "),a("code",[t._v("Html")]),t._v(" class for parsing and\nrendering. Unfortunately, according to markdown specification, markdown can contain\nHTML in "),a("em",[t._v("unpredictable")]),t._v(" way if rendered "),a("em",[t._v("outside")]),t._v(" of browser. For example:")],1),t._v(" "),t._m(3),a("p",[t._v("This snippet could be represented as:")]),t._v(" "),t._m(4),t._v(" "),a("div",{staticClass:"tip custom-block"},[a("p",{staticClass:"custom-block-title"},[t._v("A bit of background")]),t._v(" "),a("br"),t._v(" "),a("GithubIssue",{attrs:{id:"52",displayName:"This issue"}}),t._v(" had brought attention to differences between HTML & commonmark implementations. "),a("br"),a("br")],1),t._v(" "),t._m(5),t._v(" "),t._m(6),t._v(" "),t._m(7),t._v(" "),t._m(8),t._v(" "),a("p",[t._v("To learn more about defining own TagHandlers, please refer to "),a("router-link",{attrs:{to:"/docs/v3/core/html-renderer.html"}},[t._v("html-renderer docs")])],1)],1)},[function(){var t=this.$createElement,s=this._self._c||t;return s("h1",{attrs:{id:"html"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#html","aria-hidden":"true"}},[this._v("#")]),this._v(" HTML")])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("This artifact encapsulates HTML parsing from the core artifact and provides\nfew predefined "),s("code",[this._v("TagHandlers")])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-java extra-class"},[a("pre",{pre:!0,attrs:{class:"language-java"}},[a("code",[a("span",{attrs:{class:"token keyword"}},[t._v("final")]),t._v(" Markwon markwon "),a("span",{attrs:{class:"token operator"}},[t._v("=")]),t._v(" Markwon"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("builder")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("context"),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("usePlugin")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),t._v("HtmlPlugin"),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("create")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n "),a("span",{attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{attrs:{class:"token function"}},[t._v("build")]),a("span",{attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"language-markdown extra-class"},[a("div",{staticClass:"highlight-lines"},[a("br"),a("br"),a("br"),a("div",{staticClass:"highlighted"},[t._v(" ")]),a("br")]),a("pre",{pre:!0,attrs:{class:"language-markdown"}},[a("code",[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("i")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\nHello from italics tag\n\n"),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("<")]),t._v("b")]),a("span",{attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("bold>"),a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token tag"}},[a("span",{attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[t._v("HtmlBlock ("),a("code",[t._v("\\nHello from italics tag")]),t._v(")")]),t._v(" "),a("li",[t._v("HtmlInline ("),a("code",[t._v("")]),t._v(")")]),t._v(" "),a("li",[t._v("HtmlInline ("),a("code",[t._v("")]),t._v(")")]),t._v(" "),a("li",[t._v("Text ("),a("code",[t._v("bold")]),t._v(")")]),t._v(" "),a("li",[t._v("HtmlInline ("),a("code",[t._v("")]),t._v(")")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("p",[this._v("Unfortunately Android "),s("code",[this._v("HTML")]),this._v(" class cannot parse a "),s("em",[this._v("fragment")]),this._v(" of HTML to later\nbe included in a bigger set of content. This is why the decision was made to bring\nHTML parsing "),s("em",[this._v("in-markwon-house")])])},function(){var t=this.$createElement,s=this._self._c||t;return s("h2",{attrs:{id:"predefined-taghandlers"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#predefined-taghandlers","aria-hidden":"true"}},[this._v("#")]),this._v(" Predefined TagHandlers")])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ul",[a("li",[a("code",[t._v("")])]),t._v(" "),a("li",[a("code",[t._v("")])]),t._v(" "),a("li",[a("code",[t._v("
")])]),t._v(" "),a("li",[a("code",[t._v("")])]),t._v(" "),a("li",[a("code",[t._v("")])]),t._v(" "),a("li",[a("code",[t._v(", ")])]),t._v(" "),a("li",[a("code",[t._v(", ")])]),t._v(" "),a("li",[a("code",[t._v(", ")])]),t._v(" "),a("li",[a("code",[t._v("