export.html 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <!-- saved from url=(0013)about:internet -->
  2. <!-- ^^^ This is for IE not to show security warning for local files,
  3. see http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/sp2brows.mspx-->
  4. <!--
  5. Highlighted code export
  6. Copyright (c) Vladimir Gubarkov <xonixx@gmail.com>
  7. -->
  8. <html>
  9. <head>
  10. <title>Highlited code export</title>
  11. <link rel="stylesheet" href="styles/default.css">
  12. <meta charset="utf-8">
  13. <style type="text/css">
  14. #t1, #t2 { width: 100%;}
  15. tr { vertical-align: top; }
  16. address { margin-top: 4em; }
  17. </style>
  18. <script src="highlight.pack.js"></script>
  19. <script>hljs.initHighlightingOnLoad();</script>
  20. </head>
  21. <body>
  22. <script type="text/javascript">
  23. String.prototype.escape = function() {
  24. return this.replace(/&/gm, '&amp;').replace(/</gm, '&lt;').replace(/>/gm, '&gt;');
  25. }
  26. function doIt() {
  27. var viewDiv = document.getElementById("highlight-view");
  28. var t1 = document.getElementById("t1");
  29. var t2 = document.getElementById("t2");
  30. var selector = document.getElementById("langSelector");
  31. var selectedLang = selector.options[selector.selectedIndex].value.toLowerCase();
  32. if(selectedLang) {
  33. viewDiv.innerHTML = '<pre><code class="'+selectedLang+'">'+t1.value.escape()+"</code></pre>";
  34. } else { // try auto
  35. viewDiv.innerHTML = '<pre><code>' + t1.value.escape() + "</code></pre>";
  36. }
  37. hljs.highlightBlock(viewDiv.firstChild.firstChild);
  38. t2.value = viewDiv.innerHTML;
  39. }
  40. function copyToBuffer(textToCopy) {
  41. if (window.clipboardData) { // IE
  42. window.clipboardData.setData("Text", textToCopy);
  43. } else if (window.netscape) { // FF
  44. // from http://developer.mozilla.org/en/docs/Using_the_Clipboard
  45. netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
  46. var gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
  47. gClipboardHelper.copyString(textToCopy);
  48. }
  49. }
  50. </script>
  51. <script type="text/javascript">
  52. var langSelectorHtml = '<label>Language <select id="langSelector">';
  53. langSelectorHtml += '<option value="">Auto</option>';
  54. for (var i in hljs.LANGUAGES) {
  55. if (hljs.LANGUAGES.hasOwnProperty(i))
  56. langSelectorHtml += '<option value=\"'+i+'\">'+i.charAt(0).toUpperCase()+i.substr(1)+'</option>';
  57. }
  58. langSelectorHtml += '</select></label>';
  59. document.write(langSelectorHtml);
  60. </script>
  61. <table width="100%">
  62. <tr>
  63. <td><textarea rows="20" cols="50" id="t1"></textarea></td>
  64. <td><textarea rows="20" cols="50" id="t2"></textarea></td>
  65. </tr>
  66. <tr>
  67. <td>Write a code snippet</td>
  68. <td>Get HTML to paste anywhere (for actual styles and colors see sample.css)</td>
  69. </tr>
  70. </table>
  71. <table width="98%">
  72. <tr>
  73. <td><input type="button" value="Export &rarr;" onclick="doIt()"/></td>
  74. <td align="right"><input type="button" value="Copy to buffer" onclick="copyToBuffer(document.getElementById('t2').value);"/></td>
  75. </tr>
  76. </table>
  77. <div id="highlight-view"></div>
  78. <address>
  79. Export script: <a href="mailto:xonixx@gmail.com">Vladimir Gubarkov</a><br>
  80. Highlighting: <a href="http://softwaremaniacs.org/soft/highlight/">highlight.js</a>
  81. </address>
  82. </body>
  83. </html>