File tree Expand file tree Collapse file tree 4 files changed +1512
-0
lines changed
Expand file tree Collapse file tree 4 files changed +1512
-0
lines changed Original file line number Diff line number Diff line change @@ -172,3 +172,28 @@ table tr {
172172 background-color : # ffffff ;
173173 border : 2px solid # cccccc ;
174174}
175+
176+ # md-render-input {
177+ width : 100% ;
178+ height : 300px ;
179+ }
180+
181+ # md-render-output {
182+ padding : 1rem ;
183+ background-color : # ffffff ;
184+ border : 2px solid # cccccc ;
185+ }
186+
187+ .md-render-label {
188+ margin : 0 0 0.5rem ;
189+ font-size : 0.8rem ;
190+ color : # 5c5c5c ;
191+ text-transform : uppercase;
192+ font-weight : 700 ;
193+ }
194+
195+ .md-output-error {
196+ color : red;
197+ opacity : 0.6 ;
198+ font-size : 0.8rem ;
199+ }
Original file line number Diff line number Diff line change @@ -131,9 +131,31 @@ const bootstrapCardEditor = () => {
131131 activateButtons ( '#editor-card-wrapper' , editor )
132132}
133133
134+ const bootstrapRenderer = ( ) => {
135+ const inputEl = document . querySelector ( '#md-render-input' )
136+ const outputEl = document . querySelector ( '#md-render-output' )
137+ const renderer = new window . MobiledocDOMRenderer ( )
138+ inputEl . addEventListener ( 'input' , e => {
139+ const text = e . target . value . trim ( )
140+ if ( ! text ) {
141+ outputEl . innerHTML = ''
142+ } else {
143+ try {
144+ const text = e . target . value . trim ( )
145+ const json = JSON . parse ( text )
146+ outputEl . innerHTML = ''
147+ outputEl . append ( renderer . render ( json ) . result )
148+ } catch ( e ) {
149+ outputEl . innerHTML = `<span class="md-output-error">${ e . toString ( ) } </span>`
150+ }
151+ }
152+ } )
153+ }
154+
134155document . addEventListener ( 'DOMContentLoaded' , ( ) => {
135156 bootstrapEditor ( )
136157 bootstrapSimpleDemo ( )
137158 bootstrapToolbarEditor ( )
138159 bootstrapCardEditor ( )
160+ bootstrapRenderer ( )
139161} )
Original file line number Diff line number Diff line change 99 </ head >
1010 < body >
1111 < script src ="./vendor/mobiledoc-pretty-json-renderer.js "> </ script >
12+ < script src ="./vendor/mobiledoc-dom-renderer.js "> </ script >
1213 < script type ="module " src ="./demo.js "> </ script >
1314 < script src ="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.8.0/highlight.min.js "> </ script >
1415 < script >
@@ -392,5 +393,21 @@ <h2>Cards and Atoms</h2>
392393 </ div >
393394 </ div >
394395 </ section >
396+
397+ < section >
398+ < h2 > Render Mobiledoc</ h2 >
399+ < p > Enter some mobiledoc json and see it rendered to html</ p >
400+
401+ < div class ="two-column ">
402+ < div class ="column left tall ">
403+ < div class ="md-render-label "> Input:</ div >
404+ < textarea id ="md-render-input " class ="mobiledoc-output " placeholder ="Enter mobiledoc... "> </ textarea >
405+ </ div >
406+ < div class ="column right tall ">
407+ < div class ="md-render-label "> Output:</ div >
408+ < div id ="md-render-output "> </ div >
409+ </ div >
410+ </ div >
411+ </ section >
395412 </ body >
396413</ html >
You can’t perform that action at this time.
0 commit comments