xmt_froala 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +28 -0
- data/Rakefile +2 -0
- data/app/assets/javascripts/xmt_froala.js +31 -0
- data/app/assets/stylesheets/xmt_froala.css +17 -0
- data/app/controllers/xmt_froala/application_controller.rb +5 -0
- data/app/controllers/xmt_froala/assets_controller.rb +94 -0
- data/app/models/xmt_froala/asset_uploader.rb +107 -0
- data/app/models/xmt_froala/file_uploader.rb +10 -0
- data/app/models/xmt_froala/flash_uploader.rb +10 -0
- data/app/models/xmt_froala/image_uploader.rb +10 -0
- data/app/models/xmt_froala/media_uploader.rb +10 -0
- data/config/routes.rb +6 -0
- data/lib/generators/xmt_froala/install/USAGE +10 -0
- data/lib/generators/xmt_froala/install/install_generator.rb +23 -0
- data/lib/generators/xmt_froala/install/templates/application.js +17 -0
- data/lib/generators/xmt_froala/install/templates/xmt_froala.rb +29 -0
- data/lib/generators/xmt_froala/migration/USAGE +14 -0
- data/lib/generators/xmt_froala/migration/migration_generator.rb +36 -0
- data/lib/generators/xmt_froala/migration/templates/migration/migration.rb +18 -0
- data/lib/generators/xmt_froala/migration/templates/models/active_record/xmt_froala/asset.rb +14 -0
- data/lib/generators/xmt_froala/migration/templates/models/active_record/xmt_froala/file.rb +3 -0
- data/lib/generators/xmt_froala/migration/templates/models/active_record/xmt_froala/flash.rb +3 -0
- data/lib/generators/xmt_froala/migration/templates/models/active_record/xmt_froala/image.rb +3 -0
- data/lib/generators/xmt_froala/migration/templates/models/active_record/xmt_froala/media.rb +3 -0
- data/lib/generators/xmt_froala/migration/templates/models/mongoid/xmt_froala/asset.rb +27 -0
- data/lib/generators/xmt_froala/migration/templates/models/mongoid/xmt_froala/file.rb +3 -0
- data/lib/generators/xmt_froala/migration/templates/models/mongoid/xmt_froala/flash.rb +3 -0
- data/lib/generators/xmt_froala/migration/templates/models/mongoid/xmt_froala/image.rb +3 -0
- data/lib/generators/xmt_froala/migration/templates/models/mongoid/xmt_froala/media.rb +3 -0
- data/lib/tasks/xmt_froala_tasks.rake +9 -0
- data/lib/xmt_froala.rb +65 -0
- data/lib/xmt_froala/active_record.rb +14 -0
- data/lib/xmt_froala/engine.rb +32 -0
- data/lib/xmt_froala/formtastic.rb +12 -0
- data/lib/xmt_froala/helper.rb +105 -0
- data/lib/xmt_froala/simple_form.rb +11 -0
- data/lib/xmt_froala/version.rb +3 -0
- data/vendor/assets/javascripts/xmt_froala/froala_editor.js +0 -0
- data/vendor/assets/javascripts/xmt_froala/languages/ar.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/bs.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/cs.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/da.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/de.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/en_ca.js +262 -0
- data/vendor/assets/javascripts/xmt_froala/languages/en_gb.js +262 -0
- data/vendor/assets/javascripts/xmt_froala/languages/es.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/et.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/fa.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/fi.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/fr.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/he.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/hr.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/hu.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/id.js +319 -0
- data/vendor/assets/javascripts/xmt_froala/languages/it.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/ja.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/ko.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/me.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/nb.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/nl.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/pl.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/pt_br.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/pt_pt.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/ro.js +319 -0
- data/vendor/assets/javascripts/xmt_froala/languages/ru.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/sk.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/sr.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/sv.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/th.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/tr.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/uk.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/vi.js +258 -0
- data/vendor/assets/javascripts/xmt_froala/languages/zh_cn.js +320 -0
- data/vendor/assets/javascripts/xmt_froala/languages/zh_tw.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/align.js +139 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/align.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/char_counter.js +154 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/char_counter.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/code_beautifier.js +3270 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/code_beautifier.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/code_view.js +393 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/code_view.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/colors.js +492 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/colors.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/draggable.js +459 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/draggable.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/emoticons.js +509 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/emoticons.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/entities.js +121 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/entities.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/file.js +736 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/file.min.js +239 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/font_family.js +182 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/font_family.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/font_size.js +118 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/font_size.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/forms.js +430 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/forms.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/fullscreen.js +274 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/fullscreen.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/help.js +216 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/help.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/image.js +3323 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/image.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/image_manager.js +1056 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/image_manager.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/inline_style.js +94 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/inline_style.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/line_breaker.js +537 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/line_breaker.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/link.js +1157 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/link.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/lists.js +462 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/lists.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/paragraph_format.js +290 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/paragraph_format.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/paragraph_style.js +144 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/paragraph_style.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/plain_paste.js +96 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/print.js +137 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/print.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/quick_format.js +89 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/quick_insert.js +478 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/quick_insert.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/quote.js +141 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/quote.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/save.js +189 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/save.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/special_characters.js +781 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/special_characters.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/table.js +4194 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/table.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/url.js +194 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/url.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/video.js +2342 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/video.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/word_paste.js +1403 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/word_paste.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/third_party/embedly.js +543 -0
- data/vendor/assets/javascripts/xmt_froala/third_party/embedly.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/third_party/image_aviary.js +163 -0
- data/vendor/assets/javascripts/xmt_froala/third_party/image_aviary.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/third_party/spell_checker.js +222 -0
- data/vendor/assets/javascripts/xmt_froala/third_party/spell_checker.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/xmt_froala.js +15172 -0
- data/vendor/assets/stylesheets/xmt_froala/css/font-awesome.css +2546 -0
- data/vendor/assets/stylesheets/xmt_froala/css/froala_editor.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/froala_editor.pkgd.css +2902 -0
- data/vendor/assets/stylesheets/xmt_froala/css/froala_editor.pkgd.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/froala_style.css +413 -0
- data/vendor/assets/stylesheets/xmt_froala/css/froala_style.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/char_counter.css +57 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/char_counter.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/code_view.css +112 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/code_view.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/colors.css +155 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/colors.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/draggable.css +43 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/draggable.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/emoticons.css +42 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/emoticons.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/file.css +146 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/file.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/fullscreen.css +28 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/fullscreen.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/help.css +52 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/help.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/image.css +244 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/image.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/image_manager.css +266 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/image_manager.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/line_breaker.css +37 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/line_breaker.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/quick_insert.css +70 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/quick_insert.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/special_characters.css +51 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/special_characters.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/table.css +181 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/table.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/video.css +231 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/video.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/themes/dark.css +1281 -0
- data/vendor/assets/stylesheets/xmt_froala/css/themes/dark.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/themes/gray.css +1281 -0
- data/vendor/assets/stylesheets/xmt_froala/css/themes/gray.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/themes/red.css +1281 -0
- data/vendor/assets/stylesheets/xmt_froala/css/themes/red.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/themes/royal.css +1281 -0
- data/vendor/assets/stylesheets/xmt_froala/css/themes/royal.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/third_party/embedly.css +64 -0
- data/vendor/assets/stylesheets/xmt_froala/css/third_party/embedly.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/third_party/spell_checker.css +72 -0
- data/vendor/assets/stylesheets/xmt_froala/css/third_party/spell_checker.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/xmt_froala.css +1423 -0
- data/vendor/assets/stylesheets/xmt_froala/fonts/FontAwesome.otf +0 -0
- data/vendor/assets/stylesheets/xmt_froala/fonts/fontawesome-webfont.eot +0 -0
- data/vendor/assets/stylesheets/xmt_froala/fonts/fontawesome-webfont.svg +2671 -0
- data/vendor/assets/stylesheets/xmt_froala/fonts/fontawesome-webfont.ttf +0 -0
- data/vendor/assets/stylesheets/xmt_froala/fonts/fontawesome-webfont.woff +0 -0
- data/vendor/assets/stylesheets/xmt_froala/fonts/fontawesome-webfont.woff2 +0 -0
- metadata +273 -0
@@ -0,0 +1,318 @@
|
|
1
|
+
/*!
|
2
|
+
* froala_editor v2.8.1 (https://www.froala.com/wysiwyg-editor)
|
3
|
+
* License https://froala.com/wysiwyg-editor/terms/
|
4
|
+
* Copyright 2014-2018 Froala Labs
|
5
|
+
*/
|
6
|
+
|
7
|
+
(function (factory) {
|
8
|
+
if (typeof define === 'function' && define.amd) {
|
9
|
+
// AMD. Register as an anonymous module.
|
10
|
+
define(['jquery'], factory);
|
11
|
+
} else if (typeof module === 'object' && module.exports) {
|
12
|
+
// Node/CommonJS
|
13
|
+
module.exports = function( root, jQuery ) {
|
14
|
+
if ( jQuery === undefined ) {
|
15
|
+
// require('jQuery') returns a factory that requires window to
|
16
|
+
// build a jQuery instance, we normalize how we use modules
|
17
|
+
// that require this pattern but the window provided is a noop
|
18
|
+
// if it's defined (how jquery works)
|
19
|
+
if ( typeof window !== 'undefined' ) {
|
20
|
+
jQuery = require('jquery');
|
21
|
+
}
|
22
|
+
else {
|
23
|
+
jQuery = require('jquery')(root);
|
24
|
+
}
|
25
|
+
}
|
26
|
+
return factory(jQuery);
|
27
|
+
};
|
28
|
+
} else {
|
29
|
+
// Browser globals
|
30
|
+
factory(window.jQuery);
|
31
|
+
}
|
32
|
+
}(function ($) {
|
33
|
+
/**
|
34
|
+
* Traditional Chinese spoken in Taiwan.
|
35
|
+
*/
|
36
|
+
|
37
|
+
$.FE.LANGUAGE['zh_tw'] = {
|
38
|
+
translation: {
|
39
|
+
// Place holder
|
40
|
+
"Type something": "\u8f38\u5165\u4e00\u4e9b\u5167\u5bb9",
|
41
|
+
|
42
|
+
// Basic formatting
|
43
|
+
"Bold": "\u7c97\u9ad4",
|
44
|
+
"Italic": "\u659c\u9ad4",
|
45
|
+
"Underline": "\u5e95\u7dda",
|
46
|
+
"Strikethrough": "\u522a\u9664\u7dda",
|
47
|
+
|
48
|
+
// Main buttons
|
49
|
+
"Insert": "\u63d2\u5165",
|
50
|
+
"Delete": "\u522a\u9664",
|
51
|
+
"Cancel": "\u53d6\u6d88",
|
52
|
+
"OK": "\u78ba\u5b9a",
|
53
|
+
"Back": "\u5f8c",
|
54
|
+
"Remove": "\u79fb\u9664",
|
55
|
+
"More": "\u66f4\u591a",
|
56
|
+
"Update": "\u66f4\u65b0",
|
57
|
+
"Style": "\u6a23\u5f0f",
|
58
|
+
|
59
|
+
// Font
|
60
|
+
"Font Family": "\u5b57\u9ad4",
|
61
|
+
"Font Size": "\u5b57\u578b\u5927\u5c0f",
|
62
|
+
|
63
|
+
// Colors
|
64
|
+
"Colors": "\u984f\u8272",
|
65
|
+
"Background": "\u80cc\u666f",
|
66
|
+
"Text": "\u6587\u5b57",
|
67
|
+
"HEX Color": "十六進制顏色",
|
68
|
+
|
69
|
+
// Paragraphs
|
70
|
+
"Paragraph Format": "\u683c\u5f0f",
|
71
|
+
"Normal": "\u6b63\u5e38",
|
72
|
+
"Code": "\u7a0b\u5f0f\u78bc",
|
73
|
+
"Heading 1": "\u6a19\u984c 1",
|
74
|
+
"Heading 2": "\u6a19\u984c 2",
|
75
|
+
"Heading 3": "\u6a19\u984c 3",
|
76
|
+
"Heading 4": "\u6a19\u984c 4",
|
77
|
+
|
78
|
+
// Style
|
79
|
+
"Paragraph Style": "\u6bb5\u843d\u6a23\u5f0f",
|
80
|
+
"Inline Style": "\u5167\u806f\u6a23\u5f0f",
|
81
|
+
|
82
|
+
// Alignment
|
83
|
+
"Align": "\u5c0d\u9f4a",
|
84
|
+
"Align Left": "\u7f6e\u5de6\u5c0d\u9f4a",
|
85
|
+
"Align Center": "\u7f6e\u4e2d\u5c0d\u9f4a",
|
86
|
+
"Align Right": "\u7f6e\u53f3\u5c0d\u9f4a",
|
87
|
+
"Align Justify": "\u5de6\u53f3\u5c0d\u9f4a",
|
88
|
+
"None": "\u7121",
|
89
|
+
|
90
|
+
// Lists
|
91
|
+
"Ordered List": "\u6578\u5b57\u6e05\u55ae",
|
92
|
+
"Unordered List": "\u9805\u76ee\u6e05\u55ae",
|
93
|
+
|
94
|
+
// Indent
|
95
|
+
"Decrease Indent": "\u6e1b\u5c11\u7e2e\u6392",
|
96
|
+
"Increase Indent": "\u589e\u52a0\u7e2e\u6392",
|
97
|
+
|
98
|
+
// Links
|
99
|
+
"Insert Link": "\u63d2\u5165\u9023\u7d50",
|
100
|
+
"Open in new tab": "\u5728\u65b0\u5206\u9801\u958b\u555f",
|
101
|
+
"Open Link": "\u958b\u555f\u9023\u7d50",
|
102
|
+
"Edit Link": "\u7de8\u8f2f\u9023\u7d50",
|
103
|
+
"Unlink": "\u79fb\u9664\u9023\u7d50",
|
104
|
+
"Choose Link": "\u9078\u64c7\u9023\u7d50",
|
105
|
+
|
106
|
+
// Images
|
107
|
+
"Insert Image": "\u63d2\u5165\u5716\u7247",
|
108
|
+
"Upload Image": "\u4e0a\u50b3\u5716\u7247",
|
109
|
+
"By URL": "\u7db2\u5740\u4e0a\u50b3",
|
110
|
+
"Browse": "\u700f\u89bd",
|
111
|
+
"Drop image": "\u5716\u7247\u62d6\u66f3",
|
112
|
+
"or click": "\u6216\u9ede\u64ca",
|
113
|
+
"Manage Images": "\u7ba1\u7406\u5716\u7247",
|
114
|
+
"Loading": "\u8f09\u5165\u4e2d",
|
115
|
+
"Deleting": "\u522a\u9664",
|
116
|
+
"Tags": "\u6a19\u7c64",
|
117
|
+
"Are you sure? Image will be deleted.": "\u78ba\u5b9a\u522a\u9664\u5716\u7247\uff1f",
|
118
|
+
"Replace": "\u66f4\u63db",
|
119
|
+
"Uploading": "\u4e0a\u50b3",
|
120
|
+
"Loading image": "\u4e0a\u50b3\u4e2d",
|
121
|
+
"Display": "\u986f\u793a",
|
122
|
+
"Inline": "\u5d4c\u5165",
|
123
|
+
"Break Text": "\u8207\u6587\u5b57\u5206\u96e2",
|
124
|
+
"Alternate Text": "\u6587\u5b57\u74b0\u7e5e",
|
125
|
+
"Change Size": "\u8abf\u6574\u5927\u5c0f",
|
126
|
+
"Width": "\u5bec\u5ea6",
|
127
|
+
"Height": "\u9ad8\u5ea6",
|
128
|
+
"Something went wrong. Please try again.": "\u932f\u8aa4\uff0c\u8acb\u518d\u8a66\u4e00\u6b21\u3002",
|
129
|
+
"Image Caption": "圖片說明",
|
130
|
+
"Advanced Edit": "高級編輯",
|
131
|
+
|
132
|
+
// Video
|
133
|
+
"Insert Video": "\u63d2\u5165\u5f71\u7247",
|
134
|
+
"Embedded Code": "\u5d4c\u5165\u7a0b\u5f0f\u78bc",
|
135
|
+
"Paste in a video URL": "粘貼在視頻網址",
|
136
|
+
"Drop video": "放下視頻",
|
137
|
+
"Your browser does not support HTML5 video.": "您的瀏覽器不支持html5視頻。",
|
138
|
+
"Upload Video": "上傳視頻",
|
139
|
+
|
140
|
+
// Tables
|
141
|
+
"Insert Table": "\u63d2\u5165\u8868\u683c",
|
142
|
+
"Table Header": "\u8868\u982d",
|
143
|
+
"Remove Table": "\u522a\u9664\u8868",
|
144
|
+
"Table Style": "\u8868\u6a23\u5f0f",
|
145
|
+
"Horizontal Align": "\u6c34\u6e96\u5c0d\u9f4a\u65b9\u5f0f",
|
146
|
+
"Row": "\u884c",
|
147
|
+
"Insert row above": "\u5411\u4e0a\u63d2\u5165\u4e00\u884c",
|
148
|
+
"Insert row below": "\u5411\u4e0b\u63d2\u5165\u4e00\u884c",
|
149
|
+
"Delete row": "\u522a\u9664\u884c",
|
150
|
+
"Column": "\u5217",
|
151
|
+
"Insert column before": "\u5411\u5de6\u63d2\u5165\u4e00\u5217",
|
152
|
+
"Insert column after": "\u5411\u53f3\u63d2\u5165\u4e00\u5217",
|
153
|
+
"Delete column": "\u522a\u9664\u884c",
|
154
|
+
"Cell": "\u5132\u5b58\u683c",
|
155
|
+
"Merge cells": "\u5408\u4f75\u5132\u5b58\u683c",
|
156
|
+
"Horizontal split": "\u6c34\u5e73\u5206\u5272",
|
157
|
+
"Vertical split": "\u5782\u76f4\u5206\u5272",
|
158
|
+
"Cell Background": "\u5132\u5b58\u683c\u80cc\u666f",
|
159
|
+
"Vertical Align": "\u5782\u76f4\u5c0d\u9f4a\u65b9\u5f0f",
|
160
|
+
"Top": "\u4e0a",
|
161
|
+
"Middle": "\u4e2d",
|
162
|
+
"Bottom": "\u4e0b",
|
163
|
+
"Align Top": "\u5411\u4e0a\u5c0d\u9f4a",
|
164
|
+
"Align Middle": "\u4e2d\u9593\u5c0d\u9f4a",
|
165
|
+
"Align Bottom": "\u5e95\u90e8\u5c0d\u9f4a",
|
166
|
+
"Cell Style": "\u5132\u5b58\u683c\u6a23\u5f0f",
|
167
|
+
|
168
|
+
// Files
|
169
|
+
"Upload File": "\u4e0a\u50b3\u6587\u4ef6",
|
170
|
+
"Drop file": "\u6587\u4ef6\u62d6\u66f3",
|
171
|
+
|
172
|
+
// Emoticons
|
173
|
+
"Emoticons": "\u8868\u60c5",
|
174
|
+
"Grinning face": "\u81c9\u4e0a\u7b11\u563b\u563b",
|
175
|
+
"Grinning face with smiling eyes": "\u7b11\u563b\u563b\u7684\u81c9\uff0c\u542b\u7b11\u7684\u773c\u775b",
|
176
|
+
"Face with tears of joy": "\u81c9\u4e0a\u5e36\u8457\u559c\u6085\u7684\u6dda\u6c34",
|
177
|
+
"Smiling face with open mouth": "\u7b11\u81c9\u5f35\u958b\u5634",
|
178
|
+
"Smiling face with open mouth and smiling eyes": "\u7b11\u81c9\u5f35\u958b\u5634\u5fae\u7b11\u7684\u773c\u775b",
|
179
|
+
"Smiling face with open mouth and cold sweat": "\u7b11\u81c9\u5f35\u958b\u5634\uff0c\u4e00\u8eab\u51b7\u6c57",
|
180
|
+
"Smiling face with open mouth and tightly-closed eyes": "\u7b11\u81c9\u5f35\u958b\u5634\uff0c\u7dca\u7dca\u9589\u8457\u773c\u775b",
|
181
|
+
"Smiling face with halo": "\u7b11\u81c9\u6688",
|
182
|
+
"Smiling face with horns": "\u5fae\u7b11\u7684\u81c9\u89d2",
|
183
|
+
"Winking face": "\u7728\u773c\u8868\u60c5",
|
184
|
+
"Smiling face with smiling eyes": "\u9762\u5e36\u5fae\u7b11\u7684\u773c\u775b",
|
185
|
+
"Face savoring delicious food": "\u9762\u5c0d\u54c1\u5690\u7f8e\u5473\u7684\u98df\u7269",
|
186
|
+
"Relieved face": "\u9762\u5c0d\u5982\u91cb\u91cd\u8ca0",
|
187
|
+
"Smiling face with heart-shaped eyes": "\u5fae\u7b11\u7684\u81c9\uff0c\u5fc3\u81df\u5f62\u7684\u773c\u775b",
|
188
|
+
"Smiling face with sunglasses": "\u7b11\u81c9\u592a\u967d\u93e1",
|
189
|
+
"Smirking face": "\u9762\u5c0d\u9762\u5e36\u7b11\u5bb9",
|
190
|
+
"Neutral face": "\u4e2d\u6027\u9762",
|
191
|
+
"Expressionless face": "\u9762\u7121\u8868\u60c5",
|
192
|
+
"Unamused face": "\u4e00\u81c9\u4e0d\u5feb\u7684\u81c9",
|
193
|
+
"Face with cold sweat": "\u9762\u5c0d\u51b7\u6c57",
|
194
|
+
"Pensive face": "\u6c89\u601d\u7684\u81c9",
|
195
|
+
"Confused face": "\u9762\u5c0d\u56f0\u60d1",
|
196
|
+
"Confounded face": "\u8a72\u6b7b\u7684\u81c9",
|
197
|
+
"Kissing face": "\u9762\u5c0d\u63a5\u543b",
|
198
|
+
"Face throwing a kiss": "\u9762\u5c0d\u6295\u64f2\u4e00\u500b\u543b",
|
199
|
+
"Kissing face with smiling eyes": "\u63a5\u543b\u81c9\uff0c\u542b\u7b11\u7684\u773c\u775b",
|
200
|
+
"Kissing face with closed eyes": "\u63a5\u543b\u7684\u81c9\u9589\u8457\u773c\u775b",
|
201
|
+
"Face with stuck out tongue": "\u9762\u5c0d\u4f38\u51fa\u820c\u982d",
|
202
|
+
"Face with stuck out tongue and winking eye": "\u9762\u5c0d\u4f38\u51fa\u820c\u982d\u548c\u7728\u52d5\u7684\u773c\u775b",
|
203
|
+
"Face with stuck out tongue and tightly-closed eyes": "\u9762\u5c0d\u4f38\u51fa\u820c\u982d\u548c\u7dca\u9589\u7684\u773c\u775b",
|
204
|
+
"Disappointed face": "\u9762\u5c0d\u5931\u671b",
|
205
|
+
"Worried face": "\u9762\u5c0d\u64d4\u5fc3",
|
206
|
+
"Angry face": "\u61a4\u6012\u7684\u81c9",
|
207
|
+
"Pouting face": "\u9762\u5c0d\u5658\u5634",
|
208
|
+
"Crying face": "\u54ed\u6ce3\u7684\u81c9",
|
209
|
+
"Persevering face": "\u600e\u5948\u81c9",
|
210
|
+
"Face with look of triumph": "\u9762\u5e36\u770b\u7684\u52dd\u5229",
|
211
|
+
"Disappointed but relieved face": "\u5931\u671b\uff0c\u4f46\u81c9\u4e0a\u91cb\u7136",
|
212
|
+
"Frowning face with open mouth": "\u9762\u5c0d\u76ba\u8457\u7709\u982d\u5f35\u53e3",
|
213
|
+
"Anguished face": "\u9762\u5c0d\u75db\u82e6",
|
214
|
+
"Fearful face": "\u53ef\u6015\u7684\u81c9",
|
215
|
+
"Weary face": "\u9762\u5c0d\u53ad\u5026",
|
216
|
+
"Sleepy face": "\u9762\u5c0d\u56f0",
|
217
|
+
"Tired face": "\u75b2\u618a\u7684\u81c9",
|
218
|
+
"Grimacing face": "\u7319\u7370\u7684\u81c9",
|
219
|
+
"Loudly crying face": "\u5927\u8072\u54ed\u81c9",
|
220
|
+
"Face with open mouth": "\u9762\u5c0d\u5f35\u958b\u5634",
|
221
|
+
"Hushed face": "\u5b89\u975c\u7684\u81c9",
|
222
|
+
"Face with open mouth and cold sweat": "\u9762\u5c0d\u5f35\u958b\u5634\uff0c\u4e00\u8eab\u51b7\u6c57",
|
223
|
+
"Face screaming in fear": "\u9762\u5c0d\u5c16\u53eb\u5728\u6050\u61fc\u4e2d",
|
224
|
+
"Astonished face": "\u9762\u5c0d\u9a5a\u8a1d",
|
225
|
+
"Flushed face": "\u7d05\u64b2\u64b2\u7684\u81c9\u86cb",
|
226
|
+
"Sleeping face": "\u719f\u7761\u7684\u81c9",
|
227
|
+
"Dizzy face": "\u9762\u5c0d\u7729",
|
228
|
+
"Face without mouth": "\u81c9\u4e0a\u6c92\u6709\u5634",
|
229
|
+
"Face with medical mask": "\u9762\u5c0d\u91ab\u7642\u53e3\u7f69",
|
230
|
+
|
231
|
+
// Line breaker
|
232
|
+
"Break": "\u63db\u884c",
|
233
|
+
|
234
|
+
// Math
|
235
|
+
"Subscript": "\u4e0b\u6a19",
|
236
|
+
"Superscript": "\u4e0a\u6a19",
|
237
|
+
|
238
|
+
// Full screen
|
239
|
+
"Fullscreen": "\u5168\u87a2\u5e55",
|
240
|
+
|
241
|
+
// Horizontal line
|
242
|
+
"Insert Horizontal Line": "\u63d2\u5165\u6c34\u5e73\u7dda",
|
243
|
+
|
244
|
+
// Clear formatting
|
245
|
+
"Clear Formatting": "\u6e05\u9664\u683c\u5f0f",
|
246
|
+
|
247
|
+
// Undo, redo
|
248
|
+
"Undo": "\u5fa9\u539f",
|
249
|
+
"Redo": "\u53d6\u6d88\u5fa9\u539f",
|
250
|
+
|
251
|
+
// Select all
|
252
|
+
"Select All": "\u5168\u9078",
|
253
|
+
|
254
|
+
// Code view
|
255
|
+
"Code View": "\u539f\u59cb\u78bc",
|
256
|
+
|
257
|
+
// Quote
|
258
|
+
"Quote": "\u5f15\u6587",
|
259
|
+
"Increase": "\u7e2e\u6392",
|
260
|
+
"Decrease": "\u53bb\u9664\u7e2e\u6392",
|
261
|
+
|
262
|
+
// Quick Insert
|
263
|
+
"Quick Insert": "\u5feb\u63d2",
|
264
|
+
|
265
|
+
// Spcial Characters
|
266
|
+
"Special Characters": "特殊字符",
|
267
|
+
"Latin": "拉丁",
|
268
|
+
"Greek": "希臘語",
|
269
|
+
"Cyrillic": "西里爾",
|
270
|
+
"Punctuation": "標點",
|
271
|
+
"Currency": "貨幣",
|
272
|
+
"Arrows": "箭頭",
|
273
|
+
"Math": "數學",
|
274
|
+
"Misc": "雜項",
|
275
|
+
|
276
|
+
// Print.
|
277
|
+
"Print": "打印",
|
278
|
+
|
279
|
+
// Spell Checker.
|
280
|
+
"Spell Checker": "拼寫檢查器",
|
281
|
+
|
282
|
+
// Help
|
283
|
+
"Help": "幫幫我",
|
284
|
+
"Shortcuts": "快捷鍵",
|
285
|
+
"Inline Editor": "內聯編輯器",
|
286
|
+
"Show the editor": "顯示編輯",
|
287
|
+
"Common actions": "共同行動",
|
288
|
+
"Copy": "複製",
|
289
|
+
"Cut": "切",
|
290
|
+
"Paste": "糊",
|
291
|
+
"Basic Formatting": "基本格式",
|
292
|
+
"Increase quote level": "提高報價水平",
|
293
|
+
"Decrease quote level": "降低報價水平",
|
294
|
+
"Image / Video": "圖像/視頻",
|
295
|
+
"Resize larger": "調整大小更大",
|
296
|
+
"Resize smaller": "調整大小更小",
|
297
|
+
"Table": "表",
|
298
|
+
"Select table cell": "選擇表單元格",
|
299
|
+
"Extend selection one cell": "擴展選擇一個單元格",
|
300
|
+
"Extend selection one row": "擴展選擇一行",
|
301
|
+
"Navigation": "導航",
|
302
|
+
"Focus popup / toolbar": "焦點彈出/工具欄",
|
303
|
+
"Return focus to previous position": "將焦點返回到上一個位置",
|
304
|
+
|
305
|
+
// Embed.ly
|
306
|
+
"Embed URL": "嵌入網址",
|
307
|
+
"Paste in a URL to embed": "粘貼在一個網址中嵌入",
|
308
|
+
|
309
|
+
// Word Paste.
|
310
|
+
"The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "粘貼的內容來自微軟Word文檔。你想保留格式還是清理它?",
|
311
|
+
"Keep": "保持",
|
312
|
+
"Clean": "清潔",
|
313
|
+
"Word Paste Detected": "檢測到字貼"
|
314
|
+
},
|
315
|
+
direction: "ltr"
|
316
|
+
};
|
317
|
+
|
318
|
+
}));
|
@@ -0,0 +1,139 @@
|
|
1
|
+
/*!
|
2
|
+
* froala_editor v2.8.1 (https://www.froala.com/wysiwyg-editor)
|
3
|
+
* License https://froala.com/wysiwyg-editor/terms/
|
4
|
+
* Copyright 2014-2018 Froala Labs
|
5
|
+
*/
|
6
|
+
|
7
|
+
(function (factory) {
|
8
|
+
if (typeof define === 'function' && define.amd) {
|
9
|
+
// AMD. Register as an anonymous module.
|
10
|
+
define(['jquery'], factory);
|
11
|
+
} else if (typeof module === 'object' && module.exports) {
|
12
|
+
// Node/CommonJS
|
13
|
+
module.exports = function( root, jQuery ) {
|
14
|
+
if ( jQuery === undefined ) {
|
15
|
+
// require('jQuery') returns a factory that requires window to
|
16
|
+
// build a jQuery instance, we normalize how we use modules
|
17
|
+
// that require this pattern but the window provided is a noop
|
18
|
+
// if it's defined (how jquery works)
|
19
|
+
if ( typeof window !== 'undefined' ) {
|
20
|
+
jQuery = require('jquery');
|
21
|
+
}
|
22
|
+
else {
|
23
|
+
jQuery = require('jquery')(root);
|
24
|
+
}
|
25
|
+
}
|
26
|
+
return factory(jQuery);
|
27
|
+
};
|
28
|
+
} else {
|
29
|
+
// Browser globals
|
30
|
+
factory(window.jQuery);
|
31
|
+
}
|
32
|
+
}(function ($) {
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
$.FE.PLUGINS.align = function (editor) {
|
37
|
+
function apply (val) {
|
38
|
+
|
39
|
+
var el = editor.selection.element();
|
40
|
+
|
41
|
+
if ($(el).parents('.fr-img-caption').length) {
|
42
|
+
$(el).css('text-align', val);
|
43
|
+
}
|
44
|
+
else {
|
45
|
+
// Wrap.
|
46
|
+
editor.selection.save();
|
47
|
+
editor.html.wrap(true, true, true, true);
|
48
|
+
editor.selection.restore();
|
49
|
+
|
50
|
+
var blocks = editor.selection.blocks();
|
51
|
+
|
52
|
+
for (var i = 0; i < blocks.length; i++) {
|
53
|
+
|
54
|
+
// Check if we should reset to default value.
|
55
|
+
if (editor.helpers.getAlignment($(blocks[i].parentNode)) == val) {
|
56
|
+
$(blocks[i]).css('text-align', '').removeClass('fr-temp-div');
|
57
|
+
}
|
58
|
+
else {
|
59
|
+
$(blocks[i]).css('text-align', val).removeClass('fr-temp-div');
|
60
|
+
}
|
61
|
+
|
62
|
+
if ($(blocks[i]).attr('class') === '') $(blocks[i]).removeAttr('class');
|
63
|
+
|
64
|
+
if ($(blocks[i]).attr('style') === '') $(blocks[i]).removeAttr('style');
|
65
|
+
}
|
66
|
+
|
67
|
+
editor.selection.save();
|
68
|
+
editor.html.unwrap();
|
69
|
+
editor.selection.restore();
|
70
|
+
}
|
71
|
+
}
|
72
|
+
|
73
|
+
function refresh ($btn) {
|
74
|
+
var blocks = editor.selection.blocks();
|
75
|
+
|
76
|
+
if (blocks.length) {
|
77
|
+
var alignment = editor.helpers.getAlignment($(blocks[0]));
|
78
|
+
|
79
|
+
$btn.find('> *:first').replaceWith(editor.icon.create('align-' + alignment));
|
80
|
+
}
|
81
|
+
}
|
82
|
+
|
83
|
+
function refreshOnShow($btn, $dropdown) {
|
84
|
+
var blocks = editor.selection.blocks();
|
85
|
+
|
86
|
+
if (blocks.length) {
|
87
|
+
var alignment = editor.helpers.getAlignment($(blocks[0]));
|
88
|
+
|
89
|
+
$dropdown.find('a.fr-command[data-param1="' + alignment + '"]').addClass('fr-active').attr('aria-selected', true);
|
90
|
+
}
|
91
|
+
}
|
92
|
+
|
93
|
+
return {
|
94
|
+
apply: apply,
|
95
|
+
refresh: refresh,
|
96
|
+
refreshOnShow: refreshOnShow
|
97
|
+
}
|
98
|
+
}
|
99
|
+
|
100
|
+
$.FE.DefineIcon('align', { NAME: 'align-left' });
|
101
|
+
$.FE.DefineIcon('align-left', { NAME: 'align-left' });
|
102
|
+
$.FE.DefineIcon('align-right', { NAME: 'align-right' });
|
103
|
+
$.FE.DefineIcon('align-center', { NAME: 'align-center' });
|
104
|
+
$.FE.DefineIcon('align-justify', { NAME: 'align-justify' });
|
105
|
+
$.FE.RegisterCommand('align', {
|
106
|
+
type: 'dropdown',
|
107
|
+
title: 'Align',
|
108
|
+
options: {
|
109
|
+
left: 'Align Left',
|
110
|
+
center: 'Align Center',
|
111
|
+
right: 'Align Right',
|
112
|
+
justify: 'Align Justify'
|
113
|
+
},
|
114
|
+
html: function () {
|
115
|
+
var c = '<ul class="fr-dropdown-list" role="presentation">';
|
116
|
+
var options = $.FE.COMMANDS.align.options;
|
117
|
+
|
118
|
+
for (var val in options) {
|
119
|
+
if (options.hasOwnProperty(val)) {
|
120
|
+
c += '<li role="presentation"><a class="fr-command fr-title" tabIndex="-1" role="option" data-cmd="align" data-param1="' + val + '" title="' + this.language.translate(options[val]) + '">' + this.icon.create('align-' + val) + '<span class="fr-sr-only">' + this.language.translate(options[val]) + '</span></a></li>';
|
121
|
+
}
|
122
|
+
}
|
123
|
+
c += '</ul>';
|
124
|
+
|
125
|
+
return c;
|
126
|
+
},
|
127
|
+
callback: function (cmd, val) {
|
128
|
+
this.align.apply(val);
|
129
|
+
},
|
130
|
+
refresh: function ($btn) {
|
131
|
+
this.align.refresh($btn);
|
132
|
+
},
|
133
|
+
refreshOnShow: function ($btn, $dropdown) {
|
134
|
+
this.align.refreshOnShow($btn, $dropdown);
|
135
|
+
},
|
136
|
+
plugin: 'align'
|
137
|
+
})
|
138
|
+
|
139
|
+
}));
|