Skip to content

Commit 62d8fcb

Browse files
authored
[demo] Add rendering playground (#792)
1 parent 7f0013c commit 62d8fcb

File tree

4 files changed

+1512
-0
lines changed

4 files changed

+1512
-0
lines changed

demo/demo.css

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff 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+
}

demo/demo.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff 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+
134155
document.addEventListener('DOMContentLoaded', () => {
135156
bootstrapEditor()
136157
bootstrapSimpleDemo()
137158
bootstrapToolbarEditor()
138159
bootstrapCardEditor()
160+
bootstrapRenderer()
139161
})

demo/index.html

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
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>

0 commit comments

Comments
 (0)