wax_theme 0.1.0.beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +50 -0
  4. data/_includes/wax/collection/gallery.html +33 -0
  5. data/_includes/wax/collection/interactive_metadata.html +53 -0
  6. data/_includes/wax/footer.html +35 -0
  7. data/_includes/wax/head.html +16 -0
  8. data/_includes/wax/header.html +35 -0
  9. data/_includes/wax/image_viewer/leaflet.html +11 -0
  10. data/_includes/wax/image_viewer/mirador.html +8 -0
  11. data/_includes/wax/image_viewer/simple.html +5 -0
  12. data/_includes/wax/inline_image.html +12 -0
  13. data/_includes/wax/item/metadata.html +23 -0
  14. data/_includes/wax/item/pagination.html +23 -0
  15. data/_includes/wax/mirador_compare.html +11 -0
  16. data/_includes/wax/parallax.html +23 -0
  17. data/_includes/wax/search.html +12 -0
  18. data/_layouts/wax/collection_item.html +41 -0
  19. data/_layouts/wax/default.html +20 -0
  20. data/_layouts/wax/exhibit.html +15 -0
  21. data/_layouts/wax/page.html +13 -0
  22. data/_layouts/wax/reuse_page.html +7 -0
  23. data/_sass/_bootstrap.scss +9030 -0
  24. data/_sass/_syntax.scss +129 -0
  25. data/_sass/_wax.scss +482 -0
  26. data/assets/css/datatables.css +24 -0
  27. data/assets/css/leaflet.css +636 -0
  28. data/assets/js/bootstrap.min.js +7 -0
  29. data/assets/js/datatables.min.js +325 -0
  30. data/assets/js/elasticlunr.min.js +10 -0
  31. data/assets/js/jquery-3.2.1.min.js +4 -0
  32. data/assets/js/leaflet-iiif.min.js +8 -0
  33. data/assets/js/leaflet.js +5 -0
  34. data/assets/js/popper.min.js +5 -0
  35. data/assets/js/wax.js +91 -0
  36. data/assets/logo.png +0 -0
  37. data/assets/mirador/css/mirador-combined.css +4107 -0
  38. data/assets/mirador/fonts/FontAwesome.otf +0 -0
  39. data/assets/mirador/fonts/MaterialIcons-Regular.eot +0 -0
  40. data/assets/mirador/fonts/MaterialIcons-Regular.ijmap +1 -0
  41. data/assets/mirador/fonts/MaterialIcons-Regular.svg +2373 -0
  42. data/assets/mirador/fonts/MaterialIcons-Regular.ttf +0 -0
  43. data/assets/mirador/fonts/MaterialIcons-Regular.woff +0 -0
  44. data/assets/mirador/fonts/MaterialIcons-Regular.woff2 +0 -0
  45. data/assets/mirador/fonts/fontawesome-webfont.eot +0 -0
  46. data/assets/mirador/fonts/fontawesome-webfont.svg +2671 -0
  47. data/assets/mirador/fonts/fontawesome-webfont.ttf +0 -0
  48. data/assets/mirador/fonts/fontawesome-webfont.woff +0 -0
  49. data/assets/mirador/fonts/fontawesome-webfont.woff2 +0 -0
  50. data/assets/mirador/images/border_type_1.png +0 -0
  51. data/assets/mirador/images/border_type_2.png +0 -0
  52. data/assets/mirador/images/border_type_3.png +0 -0
  53. data/assets/mirador/images/border_type_4.png +0 -0
  54. data/assets/mirador/images/border_type_5.png +0 -0
  55. data/assets/mirador/images/debut_dark.png +0 -0
  56. data/assets/mirador/locales/ar/translation.json +42 -0
  57. data/assets/mirador/locales/de/translation.json +103 -0
  58. data/assets/mirador/locales/en/translation.json +106 -0
  59. data/assets/mirador/locales/es/translation.json +86 -0
  60. data/assets/mirador/locales/fr/translation.json +103 -0
  61. data/assets/mirador/locales/ga/translation.json +97 -0
  62. data/assets/mirador/locales/ja/translation.json +82 -0
  63. data/assets/mirador/locales/ko/translation.json +83 -0
  64. data/assets/mirador/locales/nl/translation.json +39 -0
  65. data/assets/mirador/locales/zh-CN/translation.json +76 -0
  66. data/assets/mirador/locales/zh-TW/translation.json +76 -0
  67. data/assets/mirador/locales/zh/translation.json +74 -0
  68. data/assets/mirador/mirador.js +49145 -0
  69. data/assets/mirador/plugins/advlist/index.js +7 -0
  70. data/assets/mirador/plugins/advlist/plugin.js +160 -0
  71. data/assets/mirador/plugins/advlist/plugin.min.js +1 -0
  72. data/assets/mirador/plugins/anchor/index.js +7 -0
  73. data/assets/mirador/plugins/anchor/plugin.js +118 -0
  74. data/assets/mirador/plugins/anchor/plugin.min.js +1 -0
  75. data/assets/mirador/plugins/autolink/index.js +7 -0
  76. data/assets/mirador/plugins/autolink/plugin.js +180 -0
  77. data/assets/mirador/plugins/autolink/plugin.min.js +1 -0
  78. data/assets/mirador/plugins/autoresize/index.js +7 -0
  79. data/assets/mirador/plugins/autoresize/plugin.js +169 -0
  80. data/assets/mirador/plugins/autoresize/plugin.min.js +1 -0
  81. data/assets/mirador/plugins/autosave/index.js +7 -0
  82. data/assets/mirador/plugins/autosave/plugin.js +226 -0
  83. data/assets/mirador/plugins/autosave/plugin.min.js +1 -0
  84. data/assets/mirador/plugins/bbcode/index.js +7 -0
  85. data/assets/mirador/plugins/bbcode/plugin.js +101 -0
  86. data/assets/mirador/plugins/bbcode/plugin.min.js +1 -0
  87. data/assets/mirador/plugins/charmap/index.js +7 -0
  88. data/assets/mirador/plugins/charmap/plugin.js +1275 -0
  89. data/assets/mirador/plugins/charmap/plugin.min.js +1 -0
  90. data/assets/mirador/plugins/code/index.js +7 -0
  91. data/assets/mirador/plugins/code/plugin.js +94 -0
  92. data/assets/mirador/plugins/code/plugin.min.js +1 -0
  93. data/assets/mirador/plugins/codesample/css/prism.css +138 -0
  94. data/assets/mirador/plugins/codesample/index.js +7 -0
  95. data/assets/mirador/plugins/codesample/plugin.js +967 -0
  96. data/assets/mirador/plugins/codesample/plugin.min.js +1 -0
  97. data/assets/mirador/plugins/colorpicker/index.js +7 -0
  98. data/assets/mirador/plugins/colorpicker/plugin.js +126 -0
  99. data/assets/mirador/plugins/colorpicker/plugin.min.js +1 -0
  100. data/assets/mirador/plugins/contextmenu/index.js +7 -0
  101. data/assets/mirador/plugins/contextmenu/plugin.js +168 -0
  102. data/assets/mirador/plugins/contextmenu/plugin.min.js +1 -0
  103. data/assets/mirador/plugins/directionality/index.js +7 -0
  104. data/assets/mirador/plugins/directionality/plugin.js +66 -0
  105. data/assets/mirador/plugins/directionality/plugin.min.js +1 -0
  106. data/assets/mirador/plugins/emoticons/img/smiley-cool.gif +0 -0
  107. data/assets/mirador/plugins/emoticons/img/smiley-cry.gif +0 -0
  108. data/assets/mirador/plugins/emoticons/img/smiley-embarassed.gif +0 -0
  109. data/assets/mirador/plugins/emoticons/img/smiley-foot-in-mouth.gif +0 -0
  110. data/assets/mirador/plugins/emoticons/img/smiley-frown.gif +0 -0
  111. data/assets/mirador/plugins/emoticons/img/smiley-innocent.gif +0 -0
  112. data/assets/mirador/plugins/emoticons/img/smiley-kiss.gif +0 -0
  113. data/assets/mirador/plugins/emoticons/img/smiley-laughing.gif +0 -0
  114. data/assets/mirador/plugins/emoticons/img/smiley-money-mouth.gif +0 -0
  115. data/assets/mirador/plugins/emoticons/img/smiley-sealed.gif +0 -0
  116. data/assets/mirador/plugins/emoticons/img/smiley-smile.gif +0 -0
  117. data/assets/mirador/plugins/emoticons/img/smiley-surprised.gif +0 -0
  118. data/assets/mirador/plugins/emoticons/img/smiley-tongue-out.gif +0 -0
  119. data/assets/mirador/plugins/emoticons/img/smiley-undecided.gif +0 -0
  120. data/assets/mirador/plugins/emoticons/img/smiley-wink.gif +0 -0
  121. data/assets/mirador/plugins/emoticons/img/smiley-yell.gif +0 -0
  122. data/assets/mirador/plugins/emoticons/index.js +7 -0
  123. data/assets/mirador/plugins/emoticons/plugin.js +87 -0
  124. data/assets/mirador/plugins/emoticons/plugin.min.js +1 -0
  125. data/assets/mirador/plugins/fullpage/index.js +7 -0
  126. data/assets/mirador/plugins/fullpage/plugin.js +519 -0
  127. data/assets/mirador/plugins/fullpage/plugin.min.js +1 -0
  128. data/assets/mirador/plugins/fullscreen/index.js +7 -0
  129. data/assets/mirador/plugins/fullscreen/plugin.js +177 -0
  130. data/assets/mirador/plugins/fullscreen/plugin.min.js +1 -0
  131. data/assets/mirador/plugins/help/img/logo.png +0 -0
  132. data/assets/mirador/plugins/help/index.js +7 -0
  133. data/assets/mirador/plugins/help/plugin.js +727 -0
  134. data/assets/mirador/plugins/help/plugin.min.js +1 -0
  135. data/assets/mirador/plugins/hr/index.js +7 -0
  136. data/assets/mirador/plugins/hr/plugin.js +39 -0
  137. data/assets/mirador/plugins/hr/plugin.min.js +1 -0
  138. data/assets/mirador/plugins/image/index.js +7 -0
  139. data/assets/mirador/plugins/image/plugin.js +1211 -0
  140. data/assets/mirador/plugins/image/plugin.min.js +1 -0
  141. data/assets/mirador/plugins/imagetools/index.js +7 -0
  142. data/assets/mirador/plugins/imagetools/plugin.js +3684 -0
  143. data/assets/mirador/plugins/imagetools/plugin.min.js +1 -0
  144. data/assets/mirador/plugins/importcss/index.js +7 -0
  145. data/assets/mirador/plugins/importcss/plugin.js +264 -0
  146. data/assets/mirador/plugins/importcss/plugin.min.js +1 -0
  147. data/assets/mirador/plugins/insertdatetime/index.js +7 -0
  148. data/assets/mirador/plugins/insertdatetime/plugin.js +173 -0
  149. data/assets/mirador/plugins/insertdatetime/plugin.min.js +1 -0
  150. data/assets/mirador/plugins/legacyoutput/index.js +7 -0
  151. data/assets/mirador/plugins/legacyoutput/plugin.js +220 -0
  152. data/assets/mirador/plugins/legacyoutput/plugin.min.js +1 -0
  153. data/assets/mirador/plugins/link/index.js +7 -0
  154. data/assets/mirador/plugins/link/plugin.js +713 -0
  155. data/assets/mirador/plugins/link/plugin.min.js +1 -0
  156. data/assets/mirador/plugins/lists/index.js +7 -0
  157. data/assets/mirador/plugins/lists/plugin.js +1115 -0
  158. data/assets/mirador/plugins/lists/plugin.min.js +1 -0
  159. data/assets/mirador/plugins/media/index.js +7 -0
  160. data/assets/mirador/plugins/media/plugin.js +1166 -0
  161. data/assets/mirador/plugins/media/plugin.min.js +1 -0
  162. data/assets/mirador/plugins/nonbreaking/index.js +7 -0
  163. data/assets/mirador/plugins/nonbreaking/plugin.js +85 -0
  164. data/assets/mirador/plugins/nonbreaking/plugin.min.js +1 -0
  165. data/assets/mirador/plugins/noneditable/index.js +7 -0
  166. data/assets/mirador/plugins/noneditable/plugin.js +118 -0
  167. data/assets/mirador/plugins/noneditable/plugin.min.js +1 -0
  168. data/assets/mirador/plugins/pagebreak/index.js +7 -0
  169. data/assets/mirador/plugins/pagebreak/plugin.js +109 -0
  170. data/assets/mirador/plugins/pagebreak/plugin.min.js +1 -0
  171. data/assets/mirador/plugins/paste/index.js +7 -0
  172. data/assets/mirador/plugins/paste/plugin.js +1497 -0
  173. data/assets/mirador/plugins/paste/plugin.min.js +1 -0
  174. data/assets/mirador/plugins/preview/index.js +7 -0
  175. data/assets/mirador/plugins/preview/plugin.js +123 -0
  176. data/assets/mirador/plugins/preview/plugin.min.js +1 -0
  177. data/assets/mirador/plugins/print/index.js +7 -0
  178. data/assets/mirador/plugins/print/plugin.js +38 -0
  179. data/assets/mirador/plugins/print/plugin.min.js +1 -0
  180. data/assets/mirador/plugins/save/index.js +7 -0
  181. data/assets/mirador/plugins/save/plugin.js +120 -0
  182. data/assets/mirador/plugins/save/plugin.min.js +1 -0
  183. data/assets/mirador/plugins/searchreplace/index.js +7 -0
  184. data/assets/mirador/plugins/searchreplace/plugin.js +603 -0
  185. data/assets/mirador/plugins/searchreplace/plugin.min.js +1 -0
  186. data/assets/mirador/plugins/spellchecker/index.js +7 -0
  187. data/assets/mirador/plugins/spellchecker/plugin.js +757 -0
  188. data/assets/mirador/plugins/spellchecker/plugin.min.js +1 -0
  189. data/assets/mirador/plugins/tabfocus/index.js +7 -0
  190. data/assets/mirador/plugins/tabfocus/plugin.js +124 -0
  191. data/assets/mirador/plugins/tabfocus/plugin.min.js +1 -0
  192. data/assets/mirador/plugins/table/index.js +7 -0
  193. data/assets/mirador/plugins/table/plugin.js +10144 -0
  194. data/assets/mirador/plugins/table/plugin.min.js +1 -0
  195. data/assets/mirador/plugins/template/index.js +7 -0
  196. data/assets/mirador/plugins/template/plugin.js +345 -0
  197. data/assets/mirador/plugins/template/plugin.min.js +1 -0
  198. data/assets/mirador/plugins/textcolor/index.js +7 -0
  199. data/assets/mirador/plugins/textcolor/plugin.js +346 -0
  200. data/assets/mirador/plugins/textcolor/plugin.min.js +1 -0
  201. data/assets/mirador/plugins/textpattern/index.js +7 -0
  202. data/assets/mirador/plugins/textpattern/plugin.js +370 -0
  203. data/assets/mirador/plugins/textpattern/plugin.min.js +1 -0
  204. data/assets/mirador/plugins/toc/index.js +7 -0
  205. data/assets/mirador/plugins/toc/plugin.js +228 -0
  206. data/assets/mirador/plugins/toc/plugin.min.js +1 -0
  207. data/assets/mirador/plugins/visualblocks/css/visualblocks.css +154 -0
  208. data/assets/mirador/plugins/visualblocks/index.js +7 -0
  209. data/assets/mirador/plugins/visualblocks/plugin.js +135 -0
  210. data/assets/mirador/plugins/visualblocks/plugin.min.js +1 -0
  211. data/assets/mirador/plugins/visualchars/index.js +7 -0
  212. data/assets/mirador/plugins/visualchars/plugin.js +505 -0
  213. data/assets/mirador/plugins/visualchars/plugin.min.js +1 -0
  214. data/assets/mirador/plugins/wordcount/index.js +7 -0
  215. data/assets/mirador/plugins/wordcount/plugin.js +343 -0
  216. data/assets/mirador/plugins/wordcount/plugin.min.js +1 -0
  217. data/assets/mirador/skins/lightgray/content.inline.min.css +1 -0
  218. data/assets/mirador/skins/lightgray/content.min.css +1 -0
  219. data/assets/mirador/skins/lightgray/content.mobile.min.css +1 -0
  220. data/assets/mirador/skins/lightgray/fonts/tinymce-mobile.woff +0 -0
  221. data/assets/mirador/skins/lightgray/fonts/tinymce-small.eot +0 -0
  222. data/assets/mirador/skins/lightgray/fonts/tinymce-small.svg +63 -0
  223. data/assets/mirador/skins/lightgray/fonts/tinymce-small.ttf +0 -0
  224. data/assets/mirador/skins/lightgray/fonts/tinymce-small.woff +0 -0
  225. data/assets/mirador/skins/lightgray/fonts/tinymce.eot +0 -0
  226. data/assets/mirador/skins/lightgray/fonts/tinymce.svg +131 -0
  227. data/assets/mirador/skins/lightgray/fonts/tinymce.ttf +0 -0
  228. data/assets/mirador/skins/lightgray/fonts/tinymce.woff +0 -0
  229. data/assets/mirador/skins/lightgray/img/anchor.gif +0 -0
  230. data/assets/mirador/skins/lightgray/img/loader.gif +0 -0
  231. data/assets/mirador/skins/lightgray/img/object.gif +0 -0
  232. data/assets/mirador/skins/lightgray/img/trans.gif +0 -0
  233. data/assets/mirador/skins/lightgray/skin.min.css +1 -0
  234. data/assets/mirador/skins/lightgray/skin.mobile.min.css +2 -0
  235. data/assets/mirador/themes/inlite/index.js +7 -0
  236. data/assets/mirador/themes/inlite/theme.js +10235 -0
  237. data/assets/mirador/themes/inlite/theme.min.js +1 -0
  238. data/assets/mirador/themes/mobile/index.js +7 -0
  239. data/assets/mirador/themes/mobile/theme.js +13546 -0
  240. data/assets/mirador/themes/mobile/theme.min.js +1 -0
  241. data/assets/mirador/themes/modern/index.js +7 -0
  242. data/assets/mirador/themes/modern/theme.js +10041 -0
  243. data/assets/mirador/themes/modern/theme.min.js +1 -0
  244. data/assets/styles.scss +51 -0
  245. metadata +343 -0
@@ -0,0 +1 @@
1
+ !function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),i=function(e,t){return e.fire("insertCustomChar",{chr:t})},l=function(e,t){var a=i(e,t).chr;e.execCommand("mceInsertContent",!1,a)},a=tinymce.util.Tools.resolve("tinymce.util.Tools"),r=function(e){return e.settings.charmap},n=function(e){return e.settings.charmap_append},o=a.isArray,c=function(e){return o(e)?[].concat((t=e,a.grep(t,function(e){return o(e)&&2===e.length}))):"function"==typeof e?e():[];var t},s=function(e){return function(e,t){var a=r(e);a&&(t=c(a));var i=n(e);return i?[].concat(t).concat(c(i)):t}(e,[["160","no-break space"],["173","soft hyphen"],["34","quotation mark"],["162","cent sign"],["8364","euro sign"],["163","pound sign"],["165","yen sign"],["169","copyright sign"],["174","registered sign"],["8482","trade mark sign"],["8240","per mille sign"],["181","micro sign"],["183","middle dot"],["8226","bullet"],["8230","three dot leader"],["8242","minutes / feet"],["8243","seconds / inches"],["167","section sign"],["182","paragraph sign"],["223","sharp s / ess-zed"],["8249","single left-pointing angle quotation mark"],["8250","single right-pointing angle quotation mark"],["171","left pointing guillemet"],["187","right pointing guillemet"],["8216","left single quotation mark"],["8217","right single quotation mark"],["8220","left double quotation mark"],["8221","right double quotation mark"],["8218","single low-9 quotation mark"],["8222","double low-9 quotation mark"],["60","less-than sign"],["62","greater-than sign"],["8804","less-than or equal to"],["8805","greater-than or equal to"],["8211","en dash"],["8212","em dash"],["175","macron"],["8254","overline"],["164","currency sign"],["166","broken bar"],["168","diaeresis"],["161","inverted exclamation mark"],["191","turned question mark"],["710","circumflex accent"],["732","small tilde"],["176","degree sign"],["8722","minus sign"],["177","plus-minus sign"],["247","division sign"],["8260","fraction slash"],["215","multiplication sign"],["185","superscript one"],["178","superscript two"],["179","superscript three"],["188","fraction one quarter"],["189","fraction one half"],["190","fraction three quarters"],["402","function / florin"],["8747","integral"],["8721","n-ary sumation"],["8734","infinity"],["8730","square root"],["8764","similar to"],["8773","approximately equal to"],["8776","almost equal to"],["8800","not equal to"],["8801","identical to"],["8712","element of"],["8713","not an element of"],["8715","contains as member"],["8719","n-ary product"],["8743","logical and"],["8744","logical or"],["172","not sign"],["8745","intersection"],["8746","union"],["8706","partial differential"],["8704","for all"],["8707","there exists"],["8709","diameter"],["8711","backward difference"],["8727","asterisk operator"],["8733","proportional to"],["8736","angle"],["180","acute accent"],["184","cedilla"],["170","feminine ordinal indicator"],["186","masculine ordinal indicator"],["8224","dagger"],["8225","double dagger"],["192","A - grave"],["193","A - acute"],["194","A - circumflex"],["195","A - tilde"],["196","A - diaeresis"],["197","A - ring above"],["256","A - macron"],["198","ligature AE"],["199","C - cedilla"],["200","E - grave"],["201","E - acute"],["202","E - circumflex"],["203","E - diaeresis"],["274","E - macron"],["204","I - grave"],["205","I - acute"],["206","I - circumflex"],["207","I - diaeresis"],["298","I - macron"],["208","ETH"],["209","N - tilde"],["210","O - grave"],["211","O - acute"],["212","O - circumflex"],["213","O - tilde"],["214","O - diaeresis"],["216","O - slash"],["332","O - macron"],["338","ligature OE"],["352","S - caron"],["217","U - grave"],["218","U - acute"],["219","U - circumflex"],["220","U - diaeresis"],["362","U - macron"],["221","Y - acute"],["376","Y - diaeresis"],["562","Y - macron"],["222","THORN"],["224","a - grave"],["225","a - acute"],["226","a - circumflex"],["227","a - tilde"],["228","a - diaeresis"],["229","a - ring above"],["257","a - macron"],["230","ligature ae"],["231","c - cedilla"],["232","e - grave"],["233","e - acute"],["234","e - circumflex"],["235","e - diaeresis"],["275","e - macron"],["236","i - grave"],["237","i - acute"],["238","i - circumflex"],["239","i - diaeresis"],["299","i - macron"],["240","eth"],["241","n - tilde"],["242","o - grave"],["243","o - acute"],["244","o - circumflex"],["245","o - tilde"],["246","o - diaeresis"],["248","o slash"],["333","o macron"],["339","ligature oe"],["353","s - caron"],["249","u - grave"],["250","u - acute"],["251","u - circumflex"],["252","u - diaeresis"],["363","u - macron"],["253","y - acute"],["254","thorn"],["255","y - diaeresis"],["563","y - macron"],["913","Alpha"],["914","Beta"],["915","Gamma"],["916","Delta"],["917","Epsilon"],["918","Zeta"],["919","Eta"],["920","Theta"],["921","Iota"],["922","Kappa"],["923","Lambda"],["924","Mu"],["925","Nu"],["926","Xi"],["927","Omicron"],["928","Pi"],["929","Rho"],["931","Sigma"],["932","Tau"],["933","Upsilon"],["934","Phi"],["935","Chi"],["936","Psi"],["937","Omega"],["945","alpha"],["946","beta"],["947","gamma"],["948","delta"],["949","epsilon"],["950","zeta"],["951","eta"],["952","theta"],["953","iota"],["954","kappa"],["955","lambda"],["956","mu"],["957","nu"],["958","xi"],["959","omicron"],["960","pi"],["961","rho"],["962","final sigma"],["963","sigma"],["964","tau"],["965","upsilon"],["966","phi"],["967","chi"],["968","psi"],["969","omega"],["8501","alef symbol"],["982","pi symbol"],["8476","real part symbol"],["978","upsilon - hook symbol"],["8472","Weierstrass p"],["8465","imaginary part"],["8592","leftwards arrow"],["8593","upwards arrow"],["8594","rightwards arrow"],["8595","downwards arrow"],["8596","left right arrow"],["8629","carriage return"],["8656","leftwards double arrow"],["8657","upwards double arrow"],["8658","rightwards double arrow"],["8659","downwards double arrow"],["8660","left right double arrow"],["8756","therefore"],["8834","subset of"],["8835","superset of"],["8836","not a subset of"],["8838","subset of or equal to"],["8839","superset of or equal to"],["8853","circled plus"],["8855","circled times"],["8869","perpendicular"],["8901","dot operator"],["8968","left ceiling"],["8969","right ceiling"],["8970","left floor"],["8971","right floor"],["9001","left-pointing angle bracket"],["9002","right-pointing angle bracket"],["9674","lozenge"],["9824","black spade suit"],["9827","black club suit"],["9829","black heart suit"],["9830","black diamond suit"],["8194","en space"],["8195","em space"],["8201","thin space"],["8204","zero width non-joiner"],["8205","zero width joiner"],["8206","left-to-right mark"],["8207","right-to-left mark"]])},t=function(t){return{getCharMap:function(){return s(t)},insertChar:function(e){l(t,e)}}},u=function(e){var t,a,i,r=Math.min(e.length,25),n=Math.ceil(e.length/r);for(t='<table role="presentation" cellspacing="0" class="mce-charmap"><tbody>',i=0;i<n;i++){for(t+="<tr>",a=0;a<r;a++){var o=i*r+a;if(o<e.length){var l=e[o],c=parseInt(l[0],10),s=l?String.fromCharCode(c):"&nbsp;";t+='<td title="'+l[1]+'"><div tabindex="-1" title="'+l[1]+'" role="button" data-chr="'+c+'">'+s+"</div></td>"}else t+="<td />"}t+="</tr>"}return t+="</tbody></table>"},d=function(e){for(;e;){if("TD"===e.nodeName)return e;e=e.parentNode}},m=function(n){var o,e={type:"container",html:u(s(n)),onclick:function(e){var t=e.target;if(/^(TD|DIV)$/.test(t.nodeName)){var a=d(t).firstChild;if(a&&a.hasAttribute("data-chr")){var i=a.getAttribute("data-chr"),r=parseInt(i,10);isNaN(r)||l(n,String.fromCharCode(r)),e.ctrlKey||o.close()}}},onmouseover:function(e){var t=d(e.target);t&&t.firstChild?(o.find("#preview").text(t.firstChild.firstChild.data),o.find("#previewTitle").text(t.title)):(o.find("#preview").text(" "),o.find("#previewTitle").text(" "))}};o=n.windowManager.open({title:"Special character",spacing:10,padding:10,items:[e,{type:"container",layout:"flex",direction:"column",align:"center",spacing:5,minWidth:160,minHeight:160,items:[{type:"label",name:"preview",text:" ",style:"font-size: 40px; text-align: center",border:1,minWidth:140,minHeight:80},{type:"spacer",minHeight:20},{type:"label",name:"previewTitle",text:" ",style:"white-space: pre-wrap;",border:1,minWidth:140}]}],buttons:[{text:"Close",onclick:function(){o.close()}}]})},g=function(e){e.addCommand("mceShowCharmap",function(){m(e)})},p=function(e){e.addButton("charmap",{icon:"charmap",tooltip:"Special character",cmd:"mceShowCharmap"}),e.addMenuItem("charmap",{icon:"charmap",text:"Special character",cmd:"mceShowCharmap",context:"insert"})};e.add("charmap",function(e){return g(e),p(e),t(e)})}();
@@ -0,0 +1,7 @@
1
+ // Exports the "code" plugin for usage with module loaders
2
+ // Usage:
3
+ // CommonJS:
4
+ // require('tinymce/plugins/code')
5
+ // ES2015:
6
+ // import 'tinymce/plugins/code'
7
+ require('./plugin.js');
@@ -0,0 +1,94 @@
1
+ (function () {
2
+ var code = (function () {
3
+ 'use strict';
4
+
5
+ var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
6
+
7
+ var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
8
+
9
+ var getMinWidth = function (editor) {
10
+ return editor.getParam('code_dialog_width', 600);
11
+ };
12
+ var getMinHeight = function (editor) {
13
+ return editor.getParam('code_dialog_height', Math.min(global$1.DOM.getViewPort().h - 200, 500));
14
+ };
15
+ var $_e90paoa1jm0ofy6v = {
16
+ getMinWidth: getMinWidth,
17
+ getMinHeight: getMinHeight
18
+ };
19
+
20
+ var setContent = function (editor, html) {
21
+ editor.focus();
22
+ editor.undoManager.transact(function () {
23
+ editor.setContent(html);
24
+ });
25
+ editor.selection.setCursorLocation();
26
+ editor.nodeChanged();
27
+ };
28
+ var getContent = function (editor) {
29
+ return editor.getContent({ source_view: true });
30
+ };
31
+ var $_6f8nd4a3jm0ofy6w = {
32
+ setContent: setContent,
33
+ getContent: getContent
34
+ };
35
+
36
+ var open = function (editor) {
37
+ var minWidth = $_e90paoa1jm0ofy6v.getMinWidth(editor);
38
+ var minHeight = $_e90paoa1jm0ofy6v.getMinHeight(editor);
39
+ var win = editor.windowManager.open({
40
+ title: 'Source code',
41
+ body: {
42
+ type: 'textbox',
43
+ name: 'code',
44
+ multiline: true,
45
+ minWidth: minWidth,
46
+ minHeight: minHeight,
47
+ spellcheck: false,
48
+ style: 'direction: ltr; text-align: left'
49
+ },
50
+ onSubmit: function (e) {
51
+ $_6f8nd4a3jm0ofy6w.setContent(editor, e.data.code);
52
+ }
53
+ });
54
+ win.find('#code').value($_6f8nd4a3jm0ofy6w.getContent(editor));
55
+ };
56
+ var $_6ohe8ba0jm0ofy6t = { open: open };
57
+
58
+ var register = function (editor) {
59
+ editor.addCommand('mceCodeEditor', function () {
60
+ $_6ohe8ba0jm0ofy6t.open(editor);
61
+ });
62
+ };
63
+ var $_fvwfr9zjm0ofy6s = { register: register };
64
+
65
+ var register$1 = function (editor) {
66
+ editor.addButton('code', {
67
+ icon: 'code',
68
+ tooltip: 'Source code',
69
+ onclick: function () {
70
+ $_6ohe8ba0jm0ofy6t.open(editor);
71
+ }
72
+ });
73
+ editor.addMenuItem('code', {
74
+ icon: 'code',
75
+ text: 'Source code',
76
+ onclick: function () {
77
+ $_6ohe8ba0jm0ofy6t.open(editor);
78
+ }
79
+ });
80
+ };
81
+ var $_h5j0na4jm0ofy6x = { register: register$1 };
82
+
83
+ global.add('code', function (editor) {
84
+ $_fvwfr9zjm0ofy6s.register(editor);
85
+ $_h5j0na4jm0ofy6x.register(editor);
86
+ return {};
87
+ });
88
+ function Plugin () {
89
+ }
90
+
91
+ return Plugin;
92
+
93
+ }());
94
+ })();
@@ -0,0 +1 @@
1
+ !function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),o=function(t){return t.getParam("code_dialog_width",600)},i=function(t){return t.getParam("code_dialog_height",Math.min(n.DOM.getViewPort().h-200,500))},c=function(t,n){t.focus(),t.undoManager.transact(function(){t.setContent(n)}),t.selection.setCursorLocation(),t.nodeChanged()},d=function(t){return t.getContent({source_view:!0})},e=function(n){var t=o(n),e=i(n);n.windowManager.open({title:"Source code",body:{type:"textbox",name:"code",multiline:!0,minWidth:t,minHeight:e,spellcheck:!1,style:"direction: ltr; text-align: left"},onSubmit:function(t){c(n,t.data.code)}}).find("#code").value(d(n))},u=function(t){t.addCommand("mceCodeEditor",function(){e(t)})},a=function(t){t.addButton("code",{icon:"code",tooltip:"Source code",onclick:function(){e(t)}}),t.addMenuItem("code",{icon:"code",text:"Source code",onclick:function(){e(t)}})};t.add("code",function(t){return u(t),a(t),{}})}();
@@ -0,0 +1,138 @@
1
+ /* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript */
2
+ /**
3
+ * prism.js default theme for JavaScript, CSS and HTML
4
+ * Based on dabblet (http://dabblet.com)
5
+ * @author Lea Verou
6
+ */
7
+
8
+ code[class*="language-"],
9
+ pre[class*="language-"] {
10
+ color: black;
11
+ text-shadow: 0 1px white;
12
+ font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
13
+ direction: ltr;
14
+ text-align: left;
15
+ white-space: pre;
16
+ word-spacing: normal;
17
+ word-break: normal;
18
+ word-wrap: normal;
19
+ line-height: 1.5;
20
+
21
+ -moz-tab-size: 4;
22
+ -o-tab-size: 4;
23
+ tab-size: 4;
24
+
25
+ -webkit-hyphens: none;
26
+ -moz-hyphens: none;
27
+ -ms-hyphens: none;
28
+ hyphens: none;
29
+ }
30
+
31
+ pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
32
+ code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
33
+ text-shadow: none;
34
+ background: #b3d4fc;
35
+ }
36
+
37
+ pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
38
+ code[class*="language-"]::selection, code[class*="language-"] ::selection {
39
+ text-shadow: none;
40
+ background: #b3d4fc;
41
+ }
42
+
43
+ @media print {
44
+ code[class*="language-"],
45
+ pre[class*="language-"] {
46
+ text-shadow: none;
47
+ }
48
+ }
49
+
50
+ /* Code blocks */
51
+ pre[class*="language-"] {
52
+ padding: 1em;
53
+ margin: .5em 0;
54
+ overflow: auto;
55
+ }
56
+
57
+ :not(pre) > code[class*="language-"],
58
+ pre[class*="language-"] {
59
+ background: #f5f2f0;
60
+ }
61
+
62
+ /* Inline code */
63
+ :not(pre) > code[class*="language-"] {
64
+ padding: .1em;
65
+ border-radius: .3em;
66
+ }
67
+
68
+ .token.comment,
69
+ .token.prolog,
70
+ .token.doctype,
71
+ .token.cdata {
72
+ color: slategray;
73
+ }
74
+
75
+ .token.punctuation {
76
+ color: #999;
77
+ }
78
+
79
+ .namespace {
80
+ opacity: .7;
81
+ }
82
+
83
+ .token.property,
84
+ .token.tag,
85
+ .token.boolean,
86
+ .token.number,
87
+ .token.constant,
88
+ .token.symbol,
89
+ .token.deleted {
90
+ color: #905;
91
+ }
92
+
93
+ .token.selector,
94
+ .token.attr-name,
95
+ .token.string,
96
+ .token.char,
97
+ .token.builtin,
98
+ .token.inserted {
99
+ color: #690;
100
+ }
101
+
102
+ .token.operator,
103
+ .token.entity,
104
+ .token.url,
105
+ .language-css .token.string,
106
+ .style .token.string {
107
+ color: #a67f59;
108
+ background: hsla(0, 0%, 100%, .5);
109
+ }
110
+
111
+ .token.atrule,
112
+ .token.attr-value,
113
+ .token.keyword {
114
+ color: #07a;
115
+ }
116
+
117
+ .token.function {
118
+ color: #DD4A68;
119
+ }
120
+
121
+ .token.regex,
122
+ .token.important,
123
+ .token.variable {
124
+ color: #e90;
125
+ }
126
+
127
+ .token.important,
128
+ .token.bold {
129
+ font-weight: bold;
130
+ }
131
+ .token.italic {
132
+ font-style: italic;
133
+ }
134
+
135
+ .token.entity {
136
+ cursor: help;
137
+ }
138
+
@@ -0,0 +1,7 @@
1
+ // Exports the "codesample" plugin for usage with module loaders
2
+ // Usage:
3
+ // CommonJS:
4
+ // require('tinymce/plugins/codesample')
5
+ // ES2015:
6
+ // import 'tinymce/plugins/codesample'
7
+ require('./plugin.js');
@@ -0,0 +1,967 @@
1
+ (function () {
2
+ var codesample = (function () {
3
+ 'use strict';
4
+
5
+ var Cell = function (initial) {
6
+ var value = initial;
7
+ var get = function () {
8
+ return value;
9
+ };
10
+ var set = function (v) {
11
+ value = v;
12
+ };
13
+ var clone = function () {
14
+ return Cell(get());
15
+ };
16
+ return {
17
+ get: get,
18
+ set: set,
19
+ clone: clone
20
+ };
21
+ };
22
+
23
+ var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
24
+
25
+ var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
26
+
27
+ var getContentCss = function (editor) {
28
+ return editor.settings.codesample_content_css;
29
+ };
30
+ var getLanguages = function (editor) {
31
+ return editor.settings.codesample_languages;
32
+ };
33
+ var getDialogMinWidth = function (editor) {
34
+ return Math.min(global$1.DOM.getViewPort().w, editor.getParam('codesample_dialog_width', 800));
35
+ };
36
+ var getDialogMinHeight = function (editor) {
37
+ return Math.min(global$1.DOM.getViewPort().w, editor.getParam('codesample_dialog_height', 650));
38
+ };
39
+ var $_6tgxjgaajm0ofy7e = {
40
+ getContentCss: getContentCss,
41
+ getLanguages: getLanguages,
42
+ getDialogMinWidth: getDialogMinWidth,
43
+ getDialogMinHeight: getDialogMinHeight
44
+ };
45
+
46
+ var window$$1 = {};
47
+ var global$2 = window$$1;
48
+ var _self = typeof window$$1 !== 'undefined' ? window$$1 : typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope ? self : {};
49
+ var Prism = function () {
50
+ var lang = /\blang(?:uage)?-(?!\*)(\w+)\b/i;
51
+ var _ = _self.Prism = {
52
+ util: {
53
+ encode: function (tokens) {
54
+ if (tokens instanceof Token) {
55
+ return new Token(tokens.type, _.util.encode(tokens.content), tokens.alias);
56
+ } else if (_.util.type(tokens) === 'Array') {
57
+ return tokens.map(_.util.encode);
58
+ } else {
59
+ return tokens.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/\u00a0/g, ' ');
60
+ }
61
+ },
62
+ type: function (o) {
63
+ return Object.prototype.toString.call(o).match(/\[object (\w+)\]/)[1];
64
+ },
65
+ clone: function (o) {
66
+ var type = _.util.type(o);
67
+ switch (type) {
68
+ case 'Object':
69
+ var clone = {};
70
+ for (var key in o) {
71
+ if (o.hasOwnProperty(key)) {
72
+ clone[key] = _.util.clone(o[key]);
73
+ }
74
+ }
75
+ return clone;
76
+ case 'Array':
77
+ return o.map && o.map(function (v) {
78
+ return _.util.clone(v);
79
+ });
80
+ }
81
+ return o;
82
+ }
83
+ },
84
+ languages: {
85
+ extend: function (id, redef) {
86
+ var lang = _.util.clone(_.languages[id]);
87
+ for (var key in redef) {
88
+ lang[key] = redef[key];
89
+ }
90
+ return lang;
91
+ },
92
+ insertBefore: function (inside, before, insert, root) {
93
+ root = root || _.languages;
94
+ var grammar = root[inside];
95
+ if (arguments.length === 2) {
96
+ insert = arguments[1];
97
+ for (var newToken in insert) {
98
+ if (insert.hasOwnProperty(newToken)) {
99
+ grammar[newToken] = insert[newToken];
100
+ }
101
+ }
102
+ return grammar;
103
+ }
104
+ var ret = {};
105
+ for (var token in grammar) {
106
+ if (grammar.hasOwnProperty(token)) {
107
+ if (token === before) {
108
+ for (var newToken in insert) {
109
+ if (insert.hasOwnProperty(newToken)) {
110
+ ret[newToken] = insert[newToken];
111
+ }
112
+ }
113
+ }
114
+ ret[token] = grammar[token];
115
+ }
116
+ }
117
+ _.languages.DFS(_.languages, function (key, value) {
118
+ if (value === root[inside] && key !== inside) {
119
+ this[key] = ret;
120
+ }
121
+ });
122
+ return root[inside] = ret;
123
+ },
124
+ DFS: function (o, callback, type) {
125
+ for (var i in o) {
126
+ if (o.hasOwnProperty(i)) {
127
+ callback.call(o, i, o[i], type || i);
128
+ if (_.util.type(o[i]) === 'Object') {
129
+ _.languages.DFS(o[i], callback);
130
+ } else if (_.util.type(o[i]) === 'Array') {
131
+ _.languages.DFS(o[i], callback, i);
132
+ }
133
+ }
134
+ }
135
+ }
136
+ },
137
+ plugins: {},
138
+ highlightAll: function (async, callback) {
139
+ var elements = document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code');
140
+ for (var i = 0, element = void 0; element = elements[i++];) {
141
+ _.highlightElement(element, async === true, callback);
142
+ }
143
+ },
144
+ highlightElement: function (element, async, callback) {
145
+ var language, grammar, parent$$1 = element;
146
+ while (parent$$1 && !lang.test(parent$$1.className)) {
147
+ parent$$1 = parent$$1.parentNode;
148
+ }
149
+ if (parent$$1) {
150
+ language = (parent$$1.className.match(lang) || [
151
+ ,
152
+ ''
153
+ ])[1];
154
+ grammar = _.languages[language];
155
+ }
156
+ element.className = element.className.replace(lang, '').replace(/\s+/g, ' ') + ' language-' + language;
157
+ parent$$1 = element.parentNode;
158
+ if (/pre/i.test(parent$$1.nodeName)) {
159
+ parent$$1.className = parent$$1.className.replace(lang, '').replace(/\s+/g, ' ') + ' language-' + language;
160
+ }
161
+ var code = element.textContent;
162
+ var env = {
163
+ element: element,
164
+ language: language,
165
+ grammar: grammar,
166
+ code: code
167
+ };
168
+ if (!code || !grammar) {
169
+ _.hooks.run('complete', env);
170
+ return;
171
+ }
172
+ _.hooks.run('before-highlight', env);
173
+ if (async && _self.Worker) {
174
+ var worker = new Worker(_.filename);
175
+ worker.onmessage = function (evt) {
176
+ env.highlightedCode = evt.data;
177
+ _.hooks.run('before-insert', env);
178
+ env.element.innerHTML = env.highlightedCode;
179
+ if (callback) {
180
+ callback.call(env.element);
181
+ }
182
+ _.hooks.run('after-highlight', env);
183
+ _.hooks.run('complete', env);
184
+ };
185
+ worker.postMessage(JSON.stringify({
186
+ language: env.language,
187
+ code: env.code,
188
+ immediateClose: true
189
+ }));
190
+ } else {
191
+ env.highlightedCode = _.highlight(env.code, env.grammar, env.language);
192
+ _.hooks.run('before-insert', env);
193
+ env.element.innerHTML = env.highlightedCode;
194
+ if (callback) {
195
+ callback.call(element);
196
+ }
197
+ _.hooks.run('after-highlight', env);
198
+ _.hooks.run('complete', env);
199
+ }
200
+ },
201
+ highlight: function (text, grammar, language) {
202
+ var tokens = _.tokenize(text, grammar);
203
+ return Token.stringify(_.util.encode(tokens), language);
204
+ },
205
+ tokenize: function (text, grammar, language) {
206
+ var Token = _.Token;
207
+ var strarr = [text];
208
+ var rest = grammar.rest;
209
+ if (rest) {
210
+ for (var token in rest) {
211
+ grammar[token] = rest[token];
212
+ }
213
+ delete grammar.rest;
214
+ }
215
+ tokenloop:
216
+ for (var token in grammar) {
217
+ if (!grammar.hasOwnProperty(token) || !grammar[token]) {
218
+ continue;
219
+ }
220
+ var patterns = grammar[token];
221
+ patterns = _.util.type(patterns) === 'Array' ? patterns : [patterns];
222
+ for (var j = 0; j < patterns.length; ++j) {
223
+ var pattern = patterns[j];
224
+ var inside = pattern.inside;
225
+ var lookbehind = !!pattern.lookbehind;
226
+ var lookbehindLength = 0;
227
+ var alias = pattern.alias;
228
+ pattern = pattern.pattern || pattern;
229
+ for (var i = 0; i < strarr.length; i++) {
230
+ var str = strarr[i];
231
+ if (strarr.length > text.length) {
232
+ break tokenloop;
233
+ }
234
+ if (str instanceof Token) {
235
+ continue;
236
+ }
237
+ pattern.lastIndex = 0;
238
+ var match = pattern.exec(str);
239
+ if (match) {
240
+ if (lookbehind) {
241
+ lookbehindLength = match[1].length;
242
+ }
243
+ var from = match.index - 1 + lookbehindLength;
244
+ match = match[0].slice(lookbehindLength);
245
+ var len = match.length, to = from + len, before = str.slice(0, from + 1), after = str.slice(to + 1);
246
+ var args = [
247
+ i,
248
+ 1
249
+ ];
250
+ if (before) {
251
+ args.push(before);
252
+ }
253
+ var wrapped = new Token(token, inside ? _.tokenize(match, inside) : match, alias);
254
+ args.push(wrapped);
255
+ if (after) {
256
+ args.push(after);
257
+ }
258
+ Array.prototype.splice.apply(strarr, args);
259
+ }
260
+ }
261
+ }
262
+ }
263
+ return strarr;
264
+ },
265
+ hooks: {
266
+ all: {},
267
+ add: function (name$$1, callback) {
268
+ var hooks = _.hooks.all;
269
+ hooks[name$$1] = hooks[name$$1] || [];
270
+ hooks[name$$1].push(callback);
271
+ },
272
+ run: function (name$$1, env) {
273
+ var callbacks = _.hooks.all[name$$1];
274
+ if (!callbacks || !callbacks.length) {
275
+ return;
276
+ }
277
+ for (var i = 0, callback = void 0; callback = callbacks[i++];) {
278
+ callback(env);
279
+ }
280
+ }
281
+ }
282
+ };
283
+ var Token = _.Token = function (type, content, alias) {
284
+ this.type = type;
285
+ this.content = content;
286
+ this.alias = alias;
287
+ };
288
+ Token.stringify = function (o, language, parent$$1) {
289
+ if (typeof o === 'string') {
290
+ return o;
291
+ }
292
+ if (_.util.type(o) === 'Array') {
293
+ return o.map(function (element) {
294
+ return Token.stringify(element, language, o);
295
+ }).join('');
296
+ }
297
+ var env = {
298
+ type: o.type,
299
+ content: Token.stringify(o.content, language, parent$$1),
300
+ tag: 'span',
301
+ classes: [
302
+ 'token',
303
+ o.type
304
+ ],
305
+ attributes: {},
306
+ language: language,
307
+ parent: parent$$1
308
+ };
309
+ if (env.type === 'comment') {
310
+ env.attributes.spellcheck = 'true';
311
+ }
312
+ if (o.alias) {
313
+ var aliases = _.util.type(o.alias) === 'Array' ? o.alias : [o.alias];
314
+ Array.prototype.push.apply(env.classes, aliases);
315
+ }
316
+ _.hooks.run('wrap', env);
317
+ var attributes = '';
318
+ for (var name$$1 in env.attributes) {
319
+ attributes += (attributes ? ' ' : '') + name$$1 + '="' + (env.attributes[name$$1] || '') + '"';
320
+ }
321
+ return '<' + env.tag + ' class="' + env.classes.join(' ') + '" ' + attributes + '>' + env.content + '</' + env.tag + '>';
322
+ };
323
+ if (!_self.document) {
324
+ if (!_self.addEventListener) {
325
+ return _self.Prism;
326
+ }
327
+ _self.addEventListener('message', function (evt) {
328
+ var message = JSON.parse(evt.data), lang = message.language, code = message.code, immediateClose = message.immediateClose;
329
+ _self.postMessage(_.highlight(code, _.languages[lang], lang));
330
+ if (immediateClose) {
331
+ _self.close();
332
+ }
333
+ }, false);
334
+ return _self.Prism;
335
+ }
336
+ }();
337
+ if (typeof global$2 !== 'undefined') {
338
+ global$2.Prism = Prism;
339
+ }
340
+ Prism.languages.markup = {
341
+ comment: /<!--[\w\W]*?-->/,
342
+ prolog: /<\?[\w\W]+?\?>/,
343
+ doctype: /<!DOCTYPE[\w\W]+?>/,
344
+ cdata: /<!\[CDATA\[[\w\W]*?]]>/i,
345
+ tag: {
346
+ pattern: /<\/?[^\s>\/=.]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,
347
+ inside: {
348
+ 'tag': {
349
+ pattern: /^<\/?[^\s>\/]+/i,
350
+ inside: {
351
+ punctuation: /^<\/?/,
352
+ namespace: /^[^\s>\/:]+:/
353
+ }
354
+ },
355
+ 'attr-value': {
356
+ pattern: /=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,
357
+ inside: { punctuation: /[=>"']/ }
358
+ },
359
+ 'punctuation': /\/?>/,
360
+ 'attr-name': {
361
+ pattern: /[^\s>\/]+/,
362
+ inside: { namespace: /^[^\s>\/:]+:/ }
363
+ }
364
+ }
365
+ },
366
+ entity: /&#?[\da-z]{1,8};/i
367
+ };
368
+ Prism.hooks.add('wrap', function (env) {
369
+ if (env.type === 'entity') {
370
+ env.attributes.title = env.content.replace(/&amp;/, '&');
371
+ }
372
+ });
373
+ Prism.languages.xml = Prism.languages.markup;
374
+ Prism.languages.html = Prism.languages.markup;
375
+ Prism.languages.mathml = Prism.languages.markup;
376
+ Prism.languages.svg = Prism.languages.markup;
377
+ Prism.languages.css = {
378
+ comment: /\/\*[\w\W]*?\*\//,
379
+ atrule: {
380
+ pattern: /@[\w-]+?.*?(;|(?=\s*\{))/i,
381
+ inside: { rule: /@[\w-]+/ }
382
+ },
383
+ url: /url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,
384
+ selector: /[^\{\}\s][^\{\};]*?(?=\s*\{)/,
385
+ string: /("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,
386
+ property: /(\b|\B)[\w-]+(?=\s*:)/i,
387
+ important: /\B!important\b/i,
388
+ function: /[-a-z0-9]+(?=\()/i,
389
+ punctuation: /[(){};:]/
390
+ };
391
+ Prism.languages.css.atrule.inside.rest = Prism.util.clone(Prism.languages.css);
392
+ if (Prism.languages.markup) {
393
+ Prism.languages.insertBefore('markup', 'tag', {
394
+ style: {
395
+ pattern: /<style[\w\W]*?>[\w\W]*?<\/style>/i,
396
+ inside: {
397
+ tag: {
398
+ pattern: /<style[\w\W]*?>|<\/style>/i,
399
+ inside: Prism.languages.markup.tag.inside
400
+ },
401
+ rest: Prism.languages.css
402
+ },
403
+ alias: 'language-css'
404
+ }
405
+ });
406
+ Prism.languages.insertBefore('inside', 'attr-value', {
407
+ 'style-attr': {
408
+ pattern: /\s*style=("|').*?\1/i,
409
+ inside: {
410
+ 'attr-name': {
411
+ pattern: /^\s*style/i,
412
+ inside: Prism.languages.markup.tag.inside
413
+ },
414
+ 'punctuation': /^\s*=\s*['"]|['"]\s*$/,
415
+ 'attr-value': {
416
+ pattern: /.+/i,
417
+ inside: Prism.languages.css
418
+ }
419
+ },
420
+ alias: 'language-css'
421
+ }
422
+ }, Prism.languages.markup.tag);
423
+ }
424
+ Prism.languages.clike = {
425
+ 'comment': [
426
+ {
427
+ pattern: /(^|[^\\])\/\*[\w\W]*?\*\//,
428
+ lookbehind: true
429
+ },
430
+ {
431
+ pattern: /(^|[^\\:])\/\/.*/,
432
+ lookbehind: true
433
+ }
434
+ ],
435
+ 'string': /(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
436
+ 'class-name': {
437
+ pattern: /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,
438
+ lookbehind: true,
439
+ inside: { punctuation: /(\.|\\)/ }
440
+ },
441
+ 'keyword': /\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,
442
+ 'boolean': /\b(true|false)\b/,
443
+ 'function': /[a-z0-9_]+(?=\()/i,
444
+ 'number': /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,
445
+ 'operator': /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,
446
+ 'punctuation': /[{}[\];(),.:]/
447
+ };
448
+ Prism.languages.javascript = Prism.languages.extend('clike', {
449
+ keyword: /\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/,
450
+ number: /\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,
451
+ function: /[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i
452
+ });
453
+ Prism.languages.insertBefore('javascript', 'keyword', {
454
+ regex: {
455
+ pattern: /(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,
456
+ lookbehind: true
457
+ }
458
+ });
459
+ Prism.languages.insertBefore('javascript', 'class-name', {
460
+ 'template-string': {
461
+ pattern: /`(?:\\`|\\?[^`])*`/,
462
+ inside: {
463
+ interpolation: {
464
+ pattern: /\$\{[^}]+\}/,
465
+ inside: {
466
+ 'interpolation-punctuation': {
467
+ pattern: /^\$\{|\}$/,
468
+ alias: 'punctuation'
469
+ },
470
+ 'rest': Prism.languages.javascript
471
+ }
472
+ },
473
+ string: /[\s\S]+/
474
+ }
475
+ }
476
+ });
477
+ if (Prism.languages.markup) {
478
+ Prism.languages.insertBefore('markup', 'tag', {
479
+ script: {
480
+ pattern: /<script[\w\W]*?>[\w\W]*?<\/script>/i,
481
+ inside: {
482
+ tag: {
483
+ pattern: /<script[\w\W]*?>|<\/script>/i,
484
+ inside: Prism.languages.markup.tag.inside
485
+ },
486
+ rest: Prism.languages.javascript
487
+ },
488
+ alias: 'language-javascript'
489
+ }
490
+ });
491
+ }
492
+ Prism.languages.js = Prism.languages.javascript;
493
+ Prism.languages.c = Prism.languages.extend('clike', {
494
+ keyword: /\b(asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,
495
+ operator: /\-[>-]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[~^%?*\/]/,
496
+ number: /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)[ful]*\b/i
497
+ });
498
+ Prism.languages.insertBefore('c', 'string', {
499
+ macro: {
500
+ pattern: /(^\s*)#\s*[a-z]+([^\r\n\\]|\\.|\\(?:\r\n?|\n))*/im,
501
+ lookbehind: true,
502
+ alias: 'property',
503
+ inside: {
504
+ string: {
505
+ pattern: /(#\s*include\s*)(<.+?>|("|')(\\?.)+?\3)/,
506
+ lookbehind: true
507
+ }
508
+ }
509
+ }
510
+ });
511
+ delete Prism.languages.c['class-name'];
512
+ delete Prism.languages.c.boolean;
513
+ Prism.languages.csharp = Prism.languages.extend('clike', {
514
+ keyword: /\b(abstract|as|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|do|double|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|goto|if|implicit|in|int|interface|internal|is|lock|long|namespace|new|null|object|operator|out|override|params|private|protected|public|readonly|ref|return|sbyte|sealed|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|virtual|void|volatile|while|add|alias|ascending|async|await|descending|dynamic|from|get|global|group|into|join|let|orderby|partial|remove|select|set|value|var|where|yield)\b/,
515
+ string: [
516
+ /@("|')(\1\1|\\\1|\\?(?!\1)[\s\S])*\1/,
517
+ /("|')(\\?.)*?\1/
518
+ ],
519
+ number: /\b-?(0x[\da-f]+|\d*\.?\d+)\b/i
520
+ });
521
+ Prism.languages.insertBefore('csharp', 'keyword', {
522
+ preprocessor: {
523
+ pattern: /(^\s*)#.*/m,
524
+ lookbehind: true
525
+ }
526
+ });
527
+ Prism.languages.cpp = Prism.languages.extend('c', {
528
+ keyword: /\b(alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,
529
+ boolean: /\b(true|false)\b/,
530
+ operator: /[-+]{1,2}|!=?|<{1,2}=?|>{1,2}=?|\->|:{1,2}|={1,2}|\^|~|%|&{1,2}|\|?\||\?|\*|\/|\b(and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/
531
+ });
532
+ Prism.languages.insertBefore('cpp', 'keyword', {
533
+ 'class-name': {
534
+ pattern: /(class\s+)[a-z0-9_]+/i,
535
+ lookbehind: true
536
+ }
537
+ });
538
+ Prism.languages.java = Prism.languages.extend('clike', {
539
+ keyword: /\b(abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/,
540
+ number: /\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp\-]+\b|\b\d*\.?\d+(?:e[+-]?\d+)?[df]?\b/i,
541
+ operator: {
542
+ pattern: /(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m,
543
+ lookbehind: true
544
+ }
545
+ });
546
+ Prism.languages.php = Prism.languages.extend('clike', {
547
+ keyword: /\b(and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\b/i,
548
+ constant: /\b[A-Z0-9_]{2,}\b/,
549
+ comment: {
550
+ pattern: /(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/,
551
+ lookbehind: true
552
+ }
553
+ });
554
+ Prism.languages.insertBefore('php', 'class-name', {
555
+ 'shell-comment': {
556
+ pattern: /(^|[^\\])#.*/,
557
+ lookbehind: true,
558
+ alias: 'comment'
559
+ }
560
+ });
561
+ Prism.languages.insertBefore('php', 'keyword', {
562
+ delimiter: /\?>|<\?(?:php)?/i,
563
+ variable: /\$\w+\b/i,
564
+ package: {
565
+ pattern: /(\\|namespace\s+|use\s+)[\w\\]+/,
566
+ lookbehind: true,
567
+ inside: { punctuation: /\\/ }
568
+ }
569
+ });
570
+ Prism.languages.insertBefore('php', 'operator', {
571
+ property: {
572
+ pattern: /(->)[\w]+/,
573
+ lookbehind: true
574
+ }
575
+ });
576
+ if (Prism.languages.markup) {
577
+ Prism.hooks.add('before-highlight', function (env) {
578
+ if (env.language !== 'php') {
579
+ return;
580
+ }
581
+ env.tokenStack = [];
582
+ env.backupCode = env.code;
583
+ env.code = env.code.replace(/(?:<\?php|<\?)[\w\W]*?(?:\?>)/ig, function (match) {
584
+ env.tokenStack.push(match);
585
+ return '{{{PHP' + env.tokenStack.length + '}}}';
586
+ });
587
+ });
588
+ Prism.hooks.add('before-insert', function (env) {
589
+ if (env.language === 'php') {
590
+ env.code = env.backupCode;
591
+ delete env.backupCode;
592
+ }
593
+ });
594
+ Prism.hooks.add('after-highlight', function (env) {
595
+ if (env.language !== 'php') {
596
+ return;
597
+ }
598
+ for (var i = 0, t = void 0; t = env.tokenStack[i]; i++) {
599
+ env.highlightedCode = env.highlightedCode.replace('{{{PHP' + (i + 1) + '}}}', Prism.highlight(t, env.grammar, 'php').replace(/\$/g, '$$$$'));
600
+ }
601
+ env.element.innerHTML = env.highlightedCode;
602
+ });
603
+ Prism.hooks.add('wrap', function (env) {
604
+ if (env.language === 'php' && env.type === 'markup') {
605
+ env.content = env.content.replace(/(\{\{\{PHP[0-9]+\}\}\})/g, '<span class="token php">$1</span>');
606
+ }
607
+ });
608
+ Prism.languages.insertBefore('php', 'comment', {
609
+ markup: {
610
+ pattern: /<[^?]\/?(.*?)>/,
611
+ inside: Prism.languages.markup
612
+ },
613
+ php: /\{\{\{PHP[0-9]+\}\}\}/
614
+ });
615
+ }
616
+ Prism.languages.python = {
617
+ 'comment': {
618
+ pattern: /(^|[^\\])#.*/,
619
+ lookbehind: true
620
+ },
621
+ 'string': /"""[\s\S]+?"""|'''[\s\S]+?'''|("|')(?:\\?.)*?\1/,
622
+ 'function': {
623
+ pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_][a-zA-Z0-9_]*(?=\()/g,
624
+ lookbehind: true
625
+ },
626
+ 'class-name': {
627
+ pattern: /(\bclass\s+)[a-z0-9_]+/i,
628
+ lookbehind: true
629
+ },
630
+ 'keyword': /\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|with|yield)\b/,
631
+ 'boolean': /\b(?:True|False)\b/,
632
+ 'number': /\b-?(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,
633
+ 'operator': /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/,
634
+ 'punctuation': /[{}[\];(),.:]/
635
+ };
636
+ (function (Prism) {
637
+ Prism.languages.ruby = Prism.languages.extend('clike', {
638
+ comment: /#(?!\{[^\r\n]*?\}).*/,
639
+ keyword: /\b(alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/
640
+ });
641
+ var interpolation = {
642
+ pattern: /#\{[^}]+\}/,
643
+ inside: {
644
+ delimiter: {
645
+ pattern: /^#\{|\}$/,
646
+ alias: 'tag'
647
+ },
648
+ rest: Prism.util.clone(Prism.languages.ruby)
649
+ }
650
+ };
651
+ Prism.languages.insertBefore('ruby', 'keyword', {
652
+ regex: [
653
+ {
654
+ pattern: /%r([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1[gim]{0,3}/,
655
+ inside: { interpolation: interpolation }
656
+ },
657
+ {
658
+ pattern: /%r\((?:[^()\\]|\\[\s\S])*\)[gim]{0,3}/,
659
+ inside: { interpolation: interpolation }
660
+ },
661
+ {
662
+ pattern: /%r\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}[gim]{0,3}/,
663
+ inside: { interpolation: interpolation }
664
+ },
665
+ {
666
+ pattern: /%r\[(?:[^\[\]\\]|\\[\s\S])*\][gim]{0,3}/,
667
+ inside: { interpolation: interpolation }
668
+ },
669
+ {
670
+ pattern: /%r<(?:[^<>\\]|\\[\s\S])*>[gim]{0,3}/,
671
+ inside: { interpolation: interpolation }
672
+ },
673
+ {
674
+ pattern: /(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/,
675
+ lookbehind: true
676
+ }
677
+ ],
678
+ variable: /[@$]+[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/,
679
+ symbol: /:[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/
680
+ });
681
+ Prism.languages.insertBefore('ruby', 'number', {
682
+ builtin: /\b(Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|File|Fixnum|Fload|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,
683
+ constant: /\b[A-Z][a-zA-Z_0-9]*(?:[?!]|\b)/
684
+ });
685
+ Prism.languages.ruby.string = [
686
+ {
687
+ pattern: /%[qQiIwWxs]?([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1/,
688
+ inside: { interpolation: interpolation }
689
+ },
690
+ {
691
+ pattern: /%[qQiIwWxs]?\((?:[^()\\]|\\[\s\S])*\)/,
692
+ inside: { interpolation: interpolation }
693
+ },
694
+ {
695
+ pattern: /%[qQiIwWxs]?\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/,
696
+ inside: { interpolation: interpolation }
697
+ },
698
+ {
699
+ pattern: /%[qQiIwWxs]?\[(?:[^\[\]\\]|\\[\s\S])*\]/,
700
+ inside: { interpolation: interpolation }
701
+ },
702
+ {
703
+ pattern: /%[qQiIwWxs]?<(?:[^<>\\]|\\[\s\S])*>/,
704
+ inside: { interpolation: interpolation }
705
+ },
706
+ {
707
+ pattern: /("|')(#\{[^}]+\}|\\(?:\r?\n|\r)|\\?.)*?\1/,
708
+ inside: { interpolation: interpolation }
709
+ }
710
+ ];
711
+ }(Prism));
712
+
713
+ function isCodeSample(elm) {
714
+ return elm && elm.nodeName === 'PRE' && elm.className.indexOf('language-') !== -1;
715
+ }
716
+ function trimArg(predicateFn) {
717
+ return function (arg1, arg2) {
718
+ return predicateFn(arg2);
719
+ };
720
+ }
721
+ var $_agtlhafjm0ofy90 = {
722
+ isCodeSample: isCodeSample,
723
+ trimArg: trimArg
724
+ };
725
+
726
+ var getSelectedCodeSample = function (editor) {
727
+ var node = editor.selection.getNode();
728
+ if ($_agtlhafjm0ofy90.isCodeSample(node)) {
729
+ return node;
730
+ }
731
+ return null;
732
+ };
733
+ var insertCodeSample = function (editor, language, code) {
734
+ editor.undoManager.transact(function () {
735
+ var node = getSelectedCodeSample(editor);
736
+ code = global$1.DOM.encode(code);
737
+ if (node) {
738
+ editor.dom.setAttrib(node, 'class', 'language-' + language);
739
+ node.innerHTML = code;
740
+ Prism.highlightElement(node);
741
+ editor.selection.select(node);
742
+ } else {
743
+ editor.insertContent('<pre id="__new" class="language-' + language + '">' + code + '</pre>');
744
+ editor.selection.select(editor.$('#__new').removeAttr('id')[0]);
745
+ }
746
+ });
747
+ };
748
+ var getCurrentCode = function (editor) {
749
+ var node = getSelectedCodeSample(editor);
750
+ if (node) {
751
+ return node.textContent;
752
+ }
753
+ return '';
754
+ };
755
+ var $_gsi01acjm0ofy7m = {
756
+ getSelectedCodeSample: getSelectedCodeSample,
757
+ insertCodeSample: insertCodeSample,
758
+ getCurrentCode: getCurrentCode
759
+ };
760
+
761
+ var getLanguages$1 = function (editor) {
762
+ var defaultLanguages = [
763
+ {
764
+ text: 'HTML/XML',
765
+ value: 'markup'
766
+ },
767
+ {
768
+ text: 'JavaScript',
769
+ value: 'javascript'
770
+ },
771
+ {
772
+ text: 'CSS',
773
+ value: 'css'
774
+ },
775
+ {
776
+ text: 'PHP',
777
+ value: 'php'
778
+ },
779
+ {
780
+ text: 'Ruby',
781
+ value: 'ruby'
782
+ },
783
+ {
784
+ text: 'Python',
785
+ value: 'python'
786
+ },
787
+ {
788
+ text: 'Java',
789
+ value: 'java'
790
+ },
791
+ {
792
+ text: 'C',
793
+ value: 'c'
794
+ },
795
+ {
796
+ text: 'C#',
797
+ value: 'csharp'
798
+ },
799
+ {
800
+ text: 'C++',
801
+ value: 'cpp'
802
+ }
803
+ ];
804
+ var customLanguages = $_6tgxjgaajm0ofy7e.getLanguages(editor);
805
+ return customLanguages ? customLanguages : defaultLanguages;
806
+ };
807
+ var getCurrentLanguage = function (editor) {
808
+ var matches;
809
+ var node = $_gsi01acjm0ofy7m.getSelectedCodeSample(editor);
810
+ if (node) {
811
+ matches = node.className.match(/language-(\w+)/);
812
+ return matches ? matches[1] : '';
813
+ }
814
+ return '';
815
+ };
816
+ var $_87mfk3agjm0ofy92 = {
817
+ getLanguages: getLanguages$1,
818
+ getCurrentLanguage: getCurrentLanguage
819
+ };
820
+
821
+ var $_47ybdma9jm0ofy7d = {
822
+ open: function (editor) {
823
+ var minWidth = $_6tgxjgaajm0ofy7e.getDialogMinWidth(editor);
824
+ var minHeight = $_6tgxjgaajm0ofy7e.getDialogMinHeight(editor);
825
+ var currentLanguage = $_87mfk3agjm0ofy92.getCurrentLanguage(editor);
826
+ var currentLanguages = $_87mfk3agjm0ofy92.getLanguages(editor);
827
+ var currentCode = $_gsi01acjm0ofy7m.getCurrentCode(editor);
828
+ editor.windowManager.open({
829
+ title: 'Insert/Edit code sample',
830
+ minWidth: minWidth,
831
+ minHeight: minHeight,
832
+ layout: 'flex',
833
+ direction: 'column',
834
+ align: 'stretch',
835
+ body: [
836
+ {
837
+ type: 'listbox',
838
+ name: 'language',
839
+ label: 'Language',
840
+ maxWidth: 200,
841
+ value: currentLanguage,
842
+ values: currentLanguages
843
+ },
844
+ {
845
+ type: 'textbox',
846
+ name: 'code',
847
+ multiline: true,
848
+ spellcheck: false,
849
+ ariaLabel: 'Code view',
850
+ flex: 1,
851
+ style: 'direction: ltr; text-align: left',
852
+ classes: 'monospace',
853
+ value: currentCode,
854
+ autofocus: true
855
+ }
856
+ ],
857
+ onSubmit: function (e) {
858
+ $_gsi01acjm0ofy7m.insertCodeSample(editor, e.data.language, e.data.code);
859
+ }
860
+ });
861
+ }
862
+ };
863
+
864
+ var register = function (editor) {
865
+ editor.addCommand('codesample', function () {
866
+ var node = editor.selection.getNode();
867
+ if (editor.selection.isCollapsed() || $_agtlhafjm0ofy90.isCodeSample(node)) {
868
+ $_47ybdma9jm0ofy7d.open(editor);
869
+ } else {
870
+ editor.formatter.toggle('code');
871
+ }
872
+ });
873
+ };
874
+ var $_dve9fsa8jm0ofy7c = { register: register };
875
+
876
+ var setup = function (editor) {
877
+ var $ = editor.$;
878
+ editor.on('PreProcess', function (e) {
879
+ $('pre[contenteditable=false]', e.node).filter($_agtlhafjm0ofy90.trimArg($_agtlhafjm0ofy90.isCodeSample)).each(function (idx, elm) {
880
+ var $elm = $(elm), code = elm.textContent;
881
+ $elm.attr('class', $.trim($elm.attr('class')));
882
+ $elm.removeAttr('contentEditable');
883
+ $elm.empty().append($('<code></code>').each(function () {
884
+ this.textContent = code;
885
+ }));
886
+ });
887
+ });
888
+ editor.on('SetContent', function () {
889
+ var unprocessedCodeSamples = $('pre').filter($_agtlhafjm0ofy90.trimArg($_agtlhafjm0ofy90.isCodeSample)).filter(function (idx, elm) {
890
+ return elm.contentEditable !== 'false';
891
+ });
892
+ if (unprocessedCodeSamples.length) {
893
+ editor.undoManager.transact(function () {
894
+ unprocessedCodeSamples.each(function (idx, elm) {
895
+ $(elm).find('br').each(function (idx, elm) {
896
+ elm.parentNode.replaceChild(editor.getDoc().createTextNode('\n'), elm);
897
+ });
898
+ elm.contentEditable = false;
899
+ elm.innerHTML = editor.dom.encode(elm.textContent);
900
+ Prism.highlightElement(elm);
901
+ elm.className = $.trim(elm.className);
902
+ });
903
+ });
904
+ }
905
+ });
906
+ };
907
+ var $_7swko9ahjm0ofy94 = { setup: setup };
908
+
909
+ var loadCss = function (editor, pluginUrl, addedInlineCss, addedCss) {
910
+ var linkElm;
911
+ var contentCss = $_6tgxjgaajm0ofy7e.getContentCss(editor);
912
+ if (editor.inline && addedInlineCss.get()) {
913
+ return;
914
+ }
915
+ if (!editor.inline && addedCss.get()) {
916
+ return;
917
+ }
918
+ if (editor.inline) {
919
+ addedInlineCss.set(true);
920
+ } else {
921
+ addedCss.set(true);
922
+ }
923
+ if (contentCss !== false) {
924
+ linkElm = editor.dom.create('link', {
925
+ rel: 'stylesheet',
926
+ href: contentCss ? contentCss : pluginUrl + '/css/prism.css'
927
+ });
928
+ editor.getDoc().getElementsByTagName('head')[0].appendChild(linkElm);
929
+ }
930
+ };
931
+ var $_7f0gvpaijm0ofy96 = { loadCss: loadCss };
932
+
933
+ var register$1 = function (editor) {
934
+ editor.addButton('codesample', {
935
+ cmd: 'codesample',
936
+ title: 'Insert/Edit code sample'
937
+ });
938
+ editor.addMenuItem('codesample', {
939
+ cmd: 'codesample',
940
+ text: 'Code sample',
941
+ icon: 'codesample'
942
+ });
943
+ };
944
+ var $_3p6ti4ajjm0ofy97 = { register: register$1 };
945
+
946
+ var addedInlineCss = Cell(false);
947
+ global.add('codesample', function (editor, pluginUrl) {
948
+ var addedCss = Cell(false);
949
+ $_7swko9ahjm0ofy94.setup(editor);
950
+ $_3p6ti4ajjm0ofy97.register(editor);
951
+ $_dve9fsa8jm0ofy7c.register(editor);
952
+ editor.on('init', function () {
953
+ $_7f0gvpaijm0ofy96.loadCss(editor, pluginUrl, addedInlineCss, addedCss);
954
+ });
955
+ editor.on('dblclick', function (ev) {
956
+ if ($_agtlhafjm0ofy90.isCodeSample(ev.target)) {
957
+ $_47ybdma9jm0ofy7d.open(editor);
958
+ }
959
+ });
960
+ });
961
+ function Plugin () {
962
+ }
963
+
964
+ return Plugin;
965
+
966
+ }());
967
+ })();