UNPKG

tipograph

Version:

A little javascript library and command line tool that makes your written content more typographically correct.

100 lines (86 loc) 3.23 kB
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Try tipograph</title> <link rel="stylesheet" href="https://unpkg.com/hydrogen-css/dist/hydrogen.min.css"/> <style media="screen"> body { background-color: #dbcb90; color: #3c3a36; } a { color: #a03a38; } .page { margin-top: 16px; width: 1000px; } .center-block { position: relative; margin-left: auto; margin-right: auto; } #input, #output { font-family: serif; font-size: 16px; line-height: 1.5; border: solid 1px #807659; width: 95%; height: 400px; padding: 8px; } #input { background-color: #ffffff; resize: none; } #output { background-color: #3c3a36; color: #ffffff; margin: 0; white-space: pre-wrap; } </style> </head> <body> <div class="page center-block"> <div class="center-block h-text-center"> <h1><a href="https://github.com/pnevyk/tipograph" target="_blank">tipograph</a> demo</h1> <p> <strong>Write something and see the result</strong> </p> </div> <div class="h-g"> <div class="h-u h-u-6-12" class="center-block"> <textarea id="input">"When you ig­nore ty­pog­ra­phy, you're ig­nor­ing an op­por­tu­nity to im­prove the ef­fec­tive­ness of your writing." - Matthew Butterick</textarea> </div> <div class="h-u h-u-6-12" class="center-block"> <div id="output"></div> </div> </div> </div> <script src="https://unpkg.com/tipograph" charset="utf-8"></script> <script type="text/javascript"> var typo = tipograph(); var input = document.getElementById('input'); var output = document.getElementById('output'); function highlight(converted, changes) { var highlighted = ''; var last = 0; for (var i = 0; i < changes.length; i++) { highlighted += converted.slice(last, changes[i][1][0]); highlighted += '<span style="background-color: #a03a38;">'; highlighted += converted.slice(changes[i][1][0], changes[i][1][1]); highlighted += '</span>'; last = changes[i][1][1]; } highlighted += converted.slice(last); return highlighted; } output.innerHTML = typo(input.value, highlight); input.addEventListener('input', function (e) { output.innerHTML = typo(e.target.value, highlight); }); </script> </body> </html>