/samples/scalate-sample-sitegen/src/highlight/export.html

http://github.com/scalate/scalate · HTML · 115 lines · 104 code · 4 blank · 7 comment · 0 complexity · a71e36e983a2076f08be84ed00bc42bd MD5 · raw file

  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.js"></script>
  19. <script src="languages/cs.js"></script>
  20. <script src="languages/python.js"></script>
  21. <script src="languages/mel.js"></script>
  22. <script src="languages/perl.js"></script>
  23. <script src="languages/axapta.js"></script>
  24. <script src="languages/cpp.js"></script>
  25. <script src="languages/sql.js"></script>
  26. <script src="languages/smalltalk.js"></script>
  27. <script src="languages/profile.js"></script>
  28. <script src="languages/bash.js"></script>
  29. <script src="languages/html-xml.js"></script>
  30. <script src="languages/renderman.js"></script>
  31. <script src="languages/1c.js"></script>
  32. <script src="languages/delphi.js"></script>
  33. <script src="languages/dos.js"></script>
  34. <script src="languages/django.js"></script>
  35. <script src="languages/vbscript.js"></script>
  36. <script src="languages/ini.js"></script>
  37. <script src="languages/apache.js"></script>
  38. <script src="languages/ruby.js"></script>
  39. <script src="languages/css.js"></script>
  40. <script src="languages/lisp.js"></script>
  41. <script src="languages/java.js"></script>
  42. <script src="languages/javascript.js"></script>
  43. <script src="languages/php.js"></script>
  44. <script src="languages/diff.js"></script>
  45. <script src="languages/avrasm.js"></script>
  46. <script src="languages/parser3.js"></script>
  47. <script>hljs.initHighlightingOnLoad();</script>
  48. </head>
  49. <body>
  50. <script type="text/javascript">
  51. String.prototype.escape = function() {
  52. return this.replace(/&/gm, '&amp;').replace(/</gm, '&lt;').replace(/>/gm, '&gt;');
  53. }
  54. function doIt() {
  55. var viewDiv = document.getElementById("highlight-view");
  56. var t1 = document.getElementById("t1");
  57. var t2 = document.getElementById("t2");
  58. var selector = document.getElementById("langSelector");
  59. var selectedLang = selector.options[selector.selectedIndex].value.toLowerCase();
  60. if(selectedLang) {
  61. viewDiv.innerHTML = '<pre><code class="'+selectedLang+'">'+t1.value.escape()+"</code></pre>";
  62. } else { // try auto
  63. viewDiv.innerHTML = '<pre><code>' + t1.value.escape() + "</code></pre>";
  64. }
  65. hljs.highlightBlock(viewDiv.firstChild.firstChild);
  66. t2.value = viewDiv.innerHTML;
  67. }
  68. function copyToBuffer(textToCopy) {
  69. if (window.clipboardData) { // IE
  70. window.clipboardData.setData("Text", textToCopy);
  71. } else if (window.netscape) { // FF
  72. // from http://developer.mozilla.org/en/docs/Using_the_Clipboard
  73. netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
  74. var gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
  75. gClipboardHelper.copyString(textToCopy);
  76. }
  77. }
  78. </script>
  79. <script type="text/javascript">
  80. var langSelectorHtml = '<label>Language <select id="langSelector">';
  81. langSelectorHtml += '<option value="">Auto</option>';
  82. for (var i in hljs.LANGUAGES) {
  83. if (hljs.LANGUAGES.hasOwnProperty(i))
  84. langSelectorHtml += '<option value=\"'+i+'\">'+i.charAt(0).toUpperCase()+i.substr(1)+'</option>';
  85. }
  86. langSelectorHtml += '</select></label>';
  87. document.write(langSelectorHtml);
  88. </script>
  89. <table width="100%">
  90. <tr>
  91. <td><textarea rows="20" cols="50" id="t1"></textarea></td>
  92. <td><textarea rows="20" cols="50" id="t2"></textarea></td>
  93. </tr>
  94. <tr>
  95. <td>Write a code snippet</td>
  96. <td>Get HTML to paste anywhere (for actual styles and colors see sample.css)</td>
  97. </tr>
  98. </table>
  99. <table width="98%">
  100. <tr>
  101. <td><input type="button" value="Export &rarr;" onclick="doIt()"/></td>
  102. <td align="right"><input type="button" value="Copy to buffer" onclick="copyToBuffer(document.getElementById('t2').value);"/></td>
  103. </tr>
  104. </table>
  105. <div id="highlight-view"></div>
  106. <address>
  107. Export script: <a href="mailto:xonixx@gmail.com">Vladimir Gubarkov</a><br>
  108. Highlighting: <a href="http://softwaremaniacs.org/soft/highlight/">highlight.js</a>
  109. </address>
  110. </body>
  111. </html>