wax_theme 0.1.0.beta

Sign up to get free protection for your applications and to get access to all the features.
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,87 @@
1
+ (function () {
2
+ var emoticons = (function () {
3
+ 'use strict';
4
+
5
+ var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
6
+
7
+ var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
8
+
9
+ var emoticons = [
10
+ [
11
+ 'cool',
12
+ 'cry',
13
+ 'embarassed',
14
+ 'foot-in-mouth'
15
+ ],
16
+ [
17
+ 'frown',
18
+ 'innocent',
19
+ 'kiss',
20
+ 'laughing'
21
+ ],
22
+ [
23
+ 'money-mouth',
24
+ 'sealed',
25
+ 'smile',
26
+ 'surprised'
27
+ ],
28
+ [
29
+ 'tongue-out',
30
+ 'undecided',
31
+ 'wink',
32
+ 'yell'
33
+ ]
34
+ ];
35
+ var getHtml = function (pluginUrl) {
36
+ var emoticonsHtml;
37
+ emoticonsHtml = '<table role="list" class="mce-grid">';
38
+ global$1.each(emoticons, function (row) {
39
+ emoticonsHtml += '<tr>';
40
+ global$1.each(row, function (icon) {
41
+ var emoticonUrl = pluginUrl + '/img/smiley-' + icon + '.gif';
42
+ emoticonsHtml += '<td><a href="#" data-mce-url="' + emoticonUrl + '" data-mce-alt="' + icon + '" tabindex="-1" ' + 'role="option" aria-label="' + icon + '"><img src="' + emoticonUrl + '" style="width: 18px; height: 18px" role="presentation" /></a></td>';
43
+ });
44
+ emoticonsHtml += '</tr>';
45
+ });
46
+ emoticonsHtml += '</table>';
47
+ return emoticonsHtml;
48
+ };
49
+ var $_68b84bb9jm0ofycn = { getHtml: getHtml };
50
+
51
+ var insertEmoticon = function (editor, src, alt) {
52
+ editor.insertContent(editor.dom.createHTML('img', {
53
+ src: src,
54
+ alt: alt
55
+ }));
56
+ };
57
+ var register = function (editor, pluginUrl) {
58
+ var panelHtml = $_68b84bb9jm0ofycn.getHtml(pluginUrl);
59
+ editor.addButton('emoticons', {
60
+ type: 'panelbutton',
61
+ panel: {
62
+ role: 'application',
63
+ autohide: true,
64
+ html: panelHtml,
65
+ onclick: function (e) {
66
+ var linkElm = editor.dom.getParent(e.target, 'a');
67
+ if (linkElm) {
68
+ insertEmoticon(editor, linkElm.getAttribute('data-mce-url'), linkElm.getAttribute('data-mce-alt'));
69
+ this.hide();
70
+ }
71
+ }
72
+ },
73
+ tooltip: 'Emoticons'
74
+ });
75
+ };
76
+ var $_3oxa7pb8jm0ofycm = { register: register };
77
+
78
+ global.add('emoticons', function (editor, pluginUrl) {
79
+ $_3oxa7pb8jm0ofycm.register(editor, pluginUrl);
80
+ });
81
+ function Plugin () {
82
+ }
83
+
84
+ return Plugin;
85
+
86
+ }());
87
+ })();
@@ -0,0 +1 @@
1
+ !function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),e=tinymce.util.Tools.resolve("tinymce.util.Tools"),n=[["cool","cry","embarassed","foot-in-mouth"],["frown","innocent","kiss","laughing"],["money-mouth","sealed","smile","surprised"],["tongue-out","undecided","wink","yell"]],i=function(i){var o;return o='<table role="list" class="mce-grid">',e.each(n,function(t){o+="<tr>",e.each(t,function(t){var e=i+"/img/smiley-"+t+".gif";o+='<td><a href="#" data-mce-url="'+e+'" data-mce-alt="'+t+'" tabindex="-1" role="option" aria-label="'+t+'"><img src="'+e+'" style="width: 18px; height: 18px" role="presentation" /></a></td>'}),o+="</tr>"}),o+="</table>"},o=function(a,t){var e=i(t);a.addButton("emoticons",{type:"panelbutton",panel:{role:"application",autohide:!0,html:e,onclick:function(t){var e,i,o,n=a.dom.getParent(t.target,"a");n&&(e=a,i=n.getAttribute("data-mce-url"),o=n.getAttribute("data-mce-alt"),e.insertContent(e.dom.createHTML("img",{src:i,alt:o})),this.hide())}},tooltip:"Emoticons"})};t.add("emoticons",function(t,e){o(t,e)})}();
@@ -0,0 +1,7 @@
1
+ // Exports the "fullpage" plugin for usage with module loaders
2
+ // Usage:
3
+ // CommonJS:
4
+ // require('tinymce/plugins/fullpage')
5
+ // ES2015:
6
+ // import 'tinymce/plugins/fullpage'
7
+ require('./plugin.js');
@@ -0,0 +1,519 @@
1
+ (function () {
2
+ var fullpage = (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.util.Tools');
26
+
27
+ var global$2 = tinymce.util.Tools.resolve('tinymce.html.DomParser');
28
+
29
+ var global$3 = tinymce.util.Tools.resolve('tinymce.html.Node');
30
+
31
+ var global$4 = tinymce.util.Tools.resolve('tinymce.html.Serializer');
32
+
33
+ var shouldHideInSourceView = function (editor) {
34
+ return editor.getParam('fullpage_hide_in_source_view');
35
+ };
36
+ var getDefaultXmlPi = function (editor) {
37
+ return editor.getParam('fullpage_default_xml_pi');
38
+ };
39
+ var getDefaultEncoding = function (editor) {
40
+ return editor.getParam('fullpage_default_encoding');
41
+ };
42
+ var getDefaultFontFamily = function (editor) {
43
+ return editor.getParam('fullpage_default_font_family');
44
+ };
45
+ var getDefaultFontSize = function (editor) {
46
+ return editor.getParam('fullpage_default_font_size');
47
+ };
48
+ var getDefaultTextColor = function (editor) {
49
+ return editor.getParam('fullpage_default_text_color');
50
+ };
51
+ var getDefaultTitle = function (editor) {
52
+ return editor.getParam('fullpage_default_title');
53
+ };
54
+ var getDefaultDocType = function (editor) {
55
+ return editor.getParam('fullpage_default_doctype', '<!DOCTYPE html>');
56
+ };
57
+ var $_62m00kc6jm0ofygy = {
58
+ shouldHideInSourceView: shouldHideInSourceView,
59
+ getDefaultXmlPi: getDefaultXmlPi,
60
+ getDefaultEncoding: getDefaultEncoding,
61
+ getDefaultFontFamily: getDefaultFontFamily,
62
+ getDefaultFontSize: getDefaultFontSize,
63
+ getDefaultTextColor: getDefaultTextColor,
64
+ getDefaultTitle: getDefaultTitle,
65
+ getDefaultDocType: getDefaultDocType
66
+ };
67
+
68
+ var parseHeader = function (head) {
69
+ return global$2({
70
+ validate: false,
71
+ root_name: '#document'
72
+ }).parse(head);
73
+ };
74
+ var htmlToData = function (editor, head) {
75
+ var headerFragment = parseHeader(head);
76
+ var data = {};
77
+ var elm, matches;
78
+ function getAttr(elm, name) {
79
+ var value = elm.attr(name);
80
+ return value || '';
81
+ }
82
+ data.fontface = $_62m00kc6jm0ofygy.getDefaultFontFamily(editor);
83
+ data.fontsize = $_62m00kc6jm0ofygy.getDefaultFontSize(editor);
84
+ elm = headerFragment.firstChild;
85
+ if (elm.type === 7) {
86
+ data.xml_pi = true;
87
+ matches = /encoding="([^"]+)"/.exec(elm.value);
88
+ if (matches) {
89
+ data.docencoding = matches[1];
90
+ }
91
+ }
92
+ elm = headerFragment.getAll('#doctype')[0];
93
+ if (elm) {
94
+ data.doctype = '<!DOCTYPE' + elm.value + '>';
95
+ }
96
+ elm = headerFragment.getAll('title')[0];
97
+ if (elm && elm.firstChild) {
98
+ data.title = elm.firstChild.value;
99
+ }
100
+ global$1.each(headerFragment.getAll('meta'), function (meta) {
101
+ var name = meta.attr('name');
102
+ var httpEquiv = meta.attr('http-equiv');
103
+ var matches;
104
+ if (name) {
105
+ data[name.toLowerCase()] = meta.attr('content');
106
+ } else if (httpEquiv === 'Content-Type') {
107
+ matches = /charset\s*=\s*(.*)\s*/gi.exec(meta.attr('content'));
108
+ if (matches) {
109
+ data.docencoding = matches[1];
110
+ }
111
+ }
112
+ });
113
+ elm = headerFragment.getAll('html')[0];
114
+ if (elm) {
115
+ data.langcode = getAttr(elm, 'lang') || getAttr(elm, 'xml:lang');
116
+ }
117
+ data.stylesheets = [];
118
+ global$1.each(headerFragment.getAll('link'), function (link) {
119
+ if (link.attr('rel') === 'stylesheet') {
120
+ data.stylesheets.push(link.attr('href'));
121
+ }
122
+ });
123
+ elm = headerFragment.getAll('body')[0];
124
+ if (elm) {
125
+ data.langdir = getAttr(elm, 'dir');
126
+ data.style = getAttr(elm, 'style');
127
+ data.visited_color = getAttr(elm, 'vlink');
128
+ data.link_color = getAttr(elm, 'link');
129
+ data.active_color = getAttr(elm, 'alink');
130
+ }
131
+ return data;
132
+ };
133
+ var dataToHtml = function (editor, data, head) {
134
+ var headerFragment, headElement, html, elm, value;
135
+ var dom = editor.dom;
136
+ function setAttr(elm, name, value) {
137
+ elm.attr(name, value ? value : undefined);
138
+ }
139
+ function addHeadNode(node) {
140
+ if (headElement.firstChild) {
141
+ headElement.insert(node, headElement.firstChild);
142
+ } else {
143
+ headElement.append(node);
144
+ }
145
+ }
146
+ headerFragment = parseHeader(head);
147
+ headElement = headerFragment.getAll('head')[0];
148
+ if (!headElement) {
149
+ elm = headerFragment.getAll('html')[0];
150
+ headElement = new global$3('head', 1);
151
+ if (elm.firstChild) {
152
+ elm.insert(headElement, elm.firstChild, true);
153
+ } else {
154
+ elm.append(headElement);
155
+ }
156
+ }
157
+ elm = headerFragment.firstChild;
158
+ if (data.xml_pi) {
159
+ value = 'version="1.0"';
160
+ if (data.docencoding) {
161
+ value += ' encoding="' + data.docencoding + '"';
162
+ }
163
+ if (elm.type !== 7) {
164
+ elm = new global$3('xml', 7);
165
+ headerFragment.insert(elm, headerFragment.firstChild, true);
166
+ }
167
+ elm.value = value;
168
+ } else if (elm && elm.type === 7) {
169
+ elm.remove();
170
+ }
171
+ elm = headerFragment.getAll('#doctype')[0];
172
+ if (data.doctype) {
173
+ if (!elm) {
174
+ elm = new global$3('#doctype', 10);
175
+ if (data.xml_pi) {
176
+ headerFragment.insert(elm, headerFragment.firstChild);
177
+ } else {
178
+ addHeadNode(elm);
179
+ }
180
+ }
181
+ elm.value = data.doctype.substring(9, data.doctype.length - 1);
182
+ } else if (elm) {
183
+ elm.remove();
184
+ }
185
+ elm = null;
186
+ global$1.each(headerFragment.getAll('meta'), function (meta) {
187
+ if (meta.attr('http-equiv') === 'Content-Type') {
188
+ elm = meta;
189
+ }
190
+ });
191
+ if (data.docencoding) {
192
+ if (!elm) {
193
+ elm = new global$3('meta', 1);
194
+ elm.attr('http-equiv', 'Content-Type');
195
+ elm.shortEnded = true;
196
+ addHeadNode(elm);
197
+ }
198
+ elm.attr('content', 'text/html; charset=' + data.docencoding);
199
+ } else if (elm) {
200
+ elm.remove();
201
+ }
202
+ elm = headerFragment.getAll('title')[0];
203
+ if (data.title) {
204
+ if (!elm) {
205
+ elm = new global$3('title', 1);
206
+ addHeadNode(elm);
207
+ } else {
208
+ elm.empty();
209
+ }
210
+ elm.append(new global$3('#text', 3)).value = data.title;
211
+ } else if (elm) {
212
+ elm.remove();
213
+ }
214
+ global$1.each('keywords,description,author,copyright,robots'.split(','), function (name) {
215
+ var nodes = headerFragment.getAll('meta');
216
+ var i, meta;
217
+ var value = data[name];
218
+ for (i = 0; i < nodes.length; i++) {
219
+ meta = nodes[i];
220
+ if (meta.attr('name') === name) {
221
+ if (value) {
222
+ meta.attr('content', value);
223
+ } else {
224
+ meta.remove();
225
+ }
226
+ return;
227
+ }
228
+ }
229
+ if (value) {
230
+ elm = new global$3('meta', 1);
231
+ elm.attr('name', name);
232
+ elm.attr('content', value);
233
+ elm.shortEnded = true;
234
+ addHeadNode(elm);
235
+ }
236
+ });
237
+ var currentStyleSheetsMap = {};
238
+ global$1.each(headerFragment.getAll('link'), function (stylesheet) {
239
+ if (stylesheet.attr('rel') === 'stylesheet') {
240
+ currentStyleSheetsMap[stylesheet.attr('href')] = stylesheet;
241
+ }
242
+ });
243
+ global$1.each(data.stylesheets, function (stylesheet) {
244
+ if (!currentStyleSheetsMap[stylesheet]) {
245
+ elm = new global$3('link', 1);
246
+ elm.attr({
247
+ rel: 'stylesheet',
248
+ text: 'text/css',
249
+ href: stylesheet
250
+ });
251
+ elm.shortEnded = true;
252
+ addHeadNode(elm);
253
+ }
254
+ delete currentStyleSheetsMap[stylesheet];
255
+ });
256
+ global$1.each(currentStyleSheetsMap, function (stylesheet) {
257
+ stylesheet.remove();
258
+ });
259
+ elm = headerFragment.getAll('body')[0];
260
+ if (elm) {
261
+ setAttr(elm, 'dir', data.langdir);
262
+ setAttr(elm, 'style', data.style);
263
+ setAttr(elm, 'vlink', data.visited_color);
264
+ setAttr(elm, 'link', data.link_color);
265
+ setAttr(elm, 'alink', data.active_color);
266
+ dom.setAttribs(editor.getBody(), {
267
+ style: data.style,
268
+ dir: data.dir,
269
+ vLink: data.visited_color,
270
+ link: data.link_color,
271
+ aLink: data.active_color
272
+ });
273
+ }
274
+ elm = headerFragment.getAll('html')[0];
275
+ if (elm) {
276
+ setAttr(elm, 'lang', data.langcode);
277
+ setAttr(elm, 'xml:lang', data.langcode);
278
+ }
279
+ if (!headElement.firstChild) {
280
+ headElement.remove();
281
+ }
282
+ html = global$4({
283
+ validate: false,
284
+ indent: true,
285
+ apply_source_formatting: true,
286
+ indent_before: 'head,html,body,meta,title,script,link,style',
287
+ indent_after: 'head,html,body,meta,title,script,link,style'
288
+ }).serialize(headerFragment);
289
+ return html.substring(0, html.indexOf('</body>'));
290
+ };
291
+ var $_6vv02yc2jm0ofygr = {
292
+ parseHeader: parseHeader,
293
+ htmlToData: htmlToData,
294
+ dataToHtml: dataToHtml
295
+ };
296
+
297
+ var open = function (editor, headState) {
298
+ var data = $_6vv02yc2jm0ofygr.htmlToData(editor, headState.get());
299
+ editor.windowManager.open({
300
+ title: 'Document properties',
301
+ data: data,
302
+ defaults: {
303
+ type: 'textbox',
304
+ size: 40
305
+ },
306
+ body: [
307
+ {
308
+ name: 'title',
309
+ label: 'Title'
310
+ },
311
+ {
312
+ name: 'keywords',
313
+ label: 'Keywords'
314
+ },
315
+ {
316
+ name: 'description',
317
+ label: 'Description'
318
+ },
319
+ {
320
+ name: 'robots',
321
+ label: 'Robots'
322
+ },
323
+ {
324
+ name: 'author',
325
+ label: 'Author'
326
+ },
327
+ {
328
+ name: 'docencoding',
329
+ label: 'Encoding'
330
+ }
331
+ ],
332
+ onSubmit: function (e) {
333
+ var headHtml = $_6vv02yc2jm0ofygr.dataToHtml(editor, global$1.extend(data, e.data), headState.get());
334
+ headState.set(headHtml);
335
+ }
336
+ });
337
+ };
338
+ var $_9bctdhc0jm0ofygo = { open: open };
339
+
340
+ var register = function (editor, headState) {
341
+ editor.addCommand('mceFullPageProperties', function () {
342
+ $_9bctdhc0jm0ofygo.open(editor, headState);
343
+ });
344
+ };
345
+ var $_9gnfslbzjm0ofygn = { register: register };
346
+
347
+ var protectHtml = function (protect, html) {
348
+ global$1.each(protect, function (pattern) {
349
+ html = html.replace(pattern, function (str) {
350
+ return '<!--mce:protected ' + escape(str) + '-->';
351
+ });
352
+ });
353
+ return html;
354
+ };
355
+ var unprotectHtml = function (html) {
356
+ return html.replace(/<!--mce:protected ([\s\S]*?)-->/g, function (a, m) {
357
+ return unescape(m);
358
+ });
359
+ };
360
+ var $_37ey1pc8jm0ofyh7 = {
361
+ protectHtml: protectHtml,
362
+ unprotectHtml: unprotectHtml
363
+ };
364
+
365
+ var each = global$1.each;
366
+ var low = function (s) {
367
+ return s.replace(/<\/?[A-Z]+/g, function (a) {
368
+ return a.toLowerCase();
369
+ });
370
+ };
371
+ var handleSetContent = function (editor, headState, footState, evt) {
372
+ var startPos, endPos, content, headerFragment, styles = '';
373
+ var dom = editor.dom;
374
+ var elm;
375
+ if (evt.selection) {
376
+ return;
377
+ }
378
+ content = $_37ey1pc8jm0ofyh7.protectHtml(editor.settings.protect, evt.content);
379
+ if (evt.format === 'raw' && headState.get()) {
380
+ return;
381
+ }
382
+ if (evt.source_view && $_62m00kc6jm0ofygy.shouldHideInSourceView(editor)) {
383
+ return;
384
+ }
385
+ if (content.length === 0 && !evt.source_view) {
386
+ content = global$1.trim(headState.get()) + '\n' + global$1.trim(content) + '\n' + global$1.trim(footState.get());
387
+ }
388
+ content = content.replace(/<(\/?)BODY/gi, '<$1body');
389
+ startPos = content.indexOf('<body');
390
+ if (startPos !== -1) {
391
+ startPos = content.indexOf('>', startPos);
392
+ headState.set(low(content.substring(0, startPos + 1)));
393
+ endPos = content.indexOf('</body', startPos);
394
+ if (endPos === -1) {
395
+ endPos = content.length;
396
+ }
397
+ evt.content = global$1.trim(content.substring(startPos + 1, endPos));
398
+ footState.set(low(content.substring(endPos)));
399
+ } else {
400
+ headState.set(getDefaultHeader(editor));
401
+ footState.set('\n</body>\n</html>');
402
+ }
403
+ headerFragment = $_6vv02yc2jm0ofygr.parseHeader(headState.get());
404
+ each(headerFragment.getAll('style'), function (node) {
405
+ if (node.firstChild) {
406
+ styles += node.firstChild.value;
407
+ }
408
+ });
409
+ elm = headerFragment.getAll('body')[0];
410
+ if (elm) {
411
+ dom.setAttribs(editor.getBody(), {
412
+ style: elm.attr('style') || '',
413
+ dir: elm.attr('dir') || '',
414
+ vLink: elm.attr('vlink') || '',
415
+ link: elm.attr('link') || '',
416
+ aLink: elm.attr('alink') || ''
417
+ });
418
+ }
419
+ dom.remove('fullpage_styles');
420
+ var headElm = editor.getDoc().getElementsByTagName('head')[0];
421
+ if (styles) {
422
+ dom.add(headElm, 'style', { id: 'fullpage_styles' }, styles);
423
+ elm = dom.get('fullpage_styles');
424
+ if (elm.styleSheet) {
425
+ elm.styleSheet.cssText = styles;
426
+ }
427
+ }
428
+ var currentStyleSheetsMap = {};
429
+ global$1.each(headElm.getElementsByTagName('link'), function (stylesheet) {
430
+ if (stylesheet.rel === 'stylesheet' && stylesheet.getAttribute('data-mce-fullpage')) {
431
+ currentStyleSheetsMap[stylesheet.href] = stylesheet;
432
+ }
433
+ });
434
+ global$1.each(headerFragment.getAll('link'), function (stylesheet) {
435
+ var href = stylesheet.attr('href');
436
+ if (!href) {
437
+ return true;
438
+ }
439
+ if (!currentStyleSheetsMap[href] && stylesheet.attr('rel') === 'stylesheet') {
440
+ dom.add(headElm, 'link', {
441
+ 'rel': 'stylesheet',
442
+ 'text': 'text/css',
443
+ 'href': href,
444
+ 'data-mce-fullpage': '1'
445
+ });
446
+ }
447
+ delete currentStyleSheetsMap[href];
448
+ });
449
+ global$1.each(currentStyleSheetsMap, function (stylesheet) {
450
+ stylesheet.parentNode.removeChild(stylesheet);
451
+ });
452
+ };
453
+ var getDefaultHeader = function (editor) {
454
+ var header = '', value, styles = '';
455
+ if ($_62m00kc6jm0ofygy.getDefaultXmlPi(editor)) {
456
+ var piEncoding = $_62m00kc6jm0ofygy.getDefaultEncoding(editor);
457
+ header += '<?xml version="1.0" encoding="' + (piEncoding ? piEncoding : 'ISO-8859-1') + '" ?>\n';
458
+ }
459
+ header += $_62m00kc6jm0ofygy.getDefaultDocType(editor);
460
+ header += '\n<html>\n<head>\n';
461
+ if (value = $_62m00kc6jm0ofygy.getDefaultTitle(editor)) {
462
+ header += '<title>' + value + '</title>\n';
463
+ }
464
+ if (value = $_62m00kc6jm0ofygy.getDefaultEncoding(editor)) {
465
+ header += '<meta http-equiv="Content-Type" content="text/html; charset=' + value + '" />\n';
466
+ }
467
+ if (value = $_62m00kc6jm0ofygy.getDefaultFontFamily(editor)) {
468
+ styles += 'font-family: ' + value + ';';
469
+ }
470
+ if (value = $_62m00kc6jm0ofygy.getDefaultFontSize(editor)) {
471
+ styles += 'font-size: ' + value + ';';
472
+ }
473
+ if (value = $_62m00kc6jm0ofygy.getDefaultTextColor(editor)) {
474
+ styles += 'color: ' + value + ';';
475
+ }
476
+ header += '</head>\n<body' + (styles ? ' style="' + styles + '"' : '') + '>\n';
477
+ return header;
478
+ };
479
+ var handleGetContent = function (editor, head, foot, evt) {
480
+ if (!evt.selection && (!evt.source_view || !$_62m00kc6jm0ofygy.shouldHideInSourceView(editor))) {
481
+ evt.content = $_37ey1pc8jm0ofyh7.unprotectHtml(global$1.trim(head) + '\n' + global$1.trim(evt.content) + '\n' + global$1.trim(foot));
482
+ }
483
+ };
484
+ var setup = function (editor, headState, footState) {
485
+ editor.on('BeforeSetContent', function (evt) {
486
+ handleSetContent(editor, headState, footState, evt);
487
+ });
488
+ editor.on('GetContent', function (evt) {
489
+ handleGetContent(editor, headState.get(), footState.get(), evt);
490
+ });
491
+ };
492
+ var $_a4b7gfc7jm0ofyh1 = { setup: setup };
493
+
494
+ var register$1 = function (editor) {
495
+ editor.addButton('fullpage', {
496
+ title: 'Document properties',
497
+ cmd: 'mceFullPageProperties'
498
+ });
499
+ editor.addMenuItem('fullpage', {
500
+ text: 'Document properties',
501
+ cmd: 'mceFullPageProperties',
502
+ context: 'file'
503
+ });
504
+ };
505
+ var $_7y4hkbc9jm0ofyh8 = { register: register$1 };
506
+
507
+ global.add('fullpage', function (editor) {
508
+ var headState = Cell(''), footState = Cell('');
509
+ $_9gnfslbzjm0ofygn.register(editor, headState);
510
+ $_7y4hkbc9jm0ofyh8.register(editor);
511
+ $_a4b7gfc7jm0ofyh1.setup(editor, headState, footState);
512
+ });
513
+ function Plugin () {
514
+ }
515
+
516
+ return Plugin;
517
+
518
+ }());
519
+ })();