|
146
|
+ }
|
|
|
147
|
+ }
|
|
|
148
|
+
|
|
|
149
|
+ return { leading: leading, trailing: trailing }
|
|
|
150
|
+}
|
|
|
151
|
+
|
|
|
152
|
+/*
|
|
|
153
|
+ * Finds a Markdown converter, gets the replacement, and sets it on
|
|
|
154
|
+ * `_replacement`
|
|
|
155
|
+ */
|
|
|
156
|
+
|
|
|
157
|
+function process (node) {
|
|
|
158
|
+ var replacement
|
|
|
159
|
+ var content = getContent(node)
|
|
|
160
|
+
|
|
|
161
|
+ // Remove blank nodes
|
|
|
162
|
+ if (!isVoid(node) && !/A|TH|TD/.test(node.nodeName) && /^\s*$/i.test(content)) {
|
|
|
163
|
+ node._replacement = ''
|
|
|
164
|
+ return
|
|
|
165
|
+ }
|
|
|
166
|
+
|
|
|
167
|
+ for (var i = 0; i < converters.length; i++) {
|
|
|
168
|
+ var converter = converters[i]
|
|
|
169
|
+
|
|
|
170
|
+ if (canConvert(node, converter.filter)) {
|
|
|
171
|
+ if (typeof converter.replacement !== 'function') {
|
|
|
172
|
+ throw new TypeError(
|
|
|
173
|
+ '`replacement` needs to be a function that returns a string'
|
|
|
174
|
+ )
|
|
|
175
|
+ }
|
|
|
176
|
+
|
|
|
177
|
+ var whitespace = flankingWhitespace(node, content)
|
|
|
178
|
+
|
|
|
179
|
+ if (whitespace.leading || whitespace.trailing) {
|
|
|
180
|
+ content = content.trim()
|
|
|
181
|
+ }
|
|
|
182
|
+ replacement = whitespace.leading +
|
|
|
183
|
+ converter.replacement.call(toMarkdown, content, node) +
|
|
|
184
|
+ whitespace.trailing
|
|
|
185
|
+ break
|
|
|
186
|
+ }
|
|
|
187
|
+ }
|
|
|
188
|
+
|
|
|
189
|
+ node._replacement = replacement
|
|
|
190
|
+}
|
|
|
191
|
+
|
|
|
192
|
+toMarkdown = function (input, options) {
|
|
|
193
|
+ options = options || {}
|
|
|
194
|
+
|
|
|
195
|
+ if (typeof input !== 'string') {
|
|
|
196
|
+ throw new TypeError(input + ' is not a string')
|
|
|
197
|
+ }
|
|
|
198
|
+
|
|
|
199
|
+ if (input === '') {
|
|
|
200
|
+ return ''
|
|
|
201
|
+ }
|
|
|
202
|
+
|
|
|
203
|
+ // Escape potential ol triggers
|
|
|
204
|
+ input = input.replace(/(\d+)\. /g, '$1\\. ')
|
|
|
205
|
+
|
|
|
206
|
+ var clone = htmlToDom(input).body
|
|
|
207
|
+ var nodes = bfsOrder(clone)
|
|
|
208
|
+ var output
|
|
|
209
|
+
|
|
|
210
|
+ converters = mdConverters.slice(0)
|
|
|
211
|
+ if (options.gfm) {
|
|
|
212
|
+ converters = gfmConverters.concat(converters)
|
|
|
213
|
+ }
|
|
|
214
|
+
|
|
|
215
|
+ if (options.converters) {
|
|
|
216
|
+ converters = options.converters.concat(converters)
|
|
|
217
|
+ }
|
|
|
218
|
+
|
|
|
219
|
+ // Process through nodes in reverse (so deepest child elements are first).
|
|
|
220
|
+ for (var i = nodes.length - 1; i >= 0; i--) {
|
|
|
221
|
+ process(nodes[i])
|
|
|
222
|
+ }
|
|
|
223
|
+ output = getContent(clone)
|
|
|
224
|
+
|
|
|
225
|
+ return output.replace(/^[\t\r\n]+|[\t\r\n\s]+$/g, '')
|
|
|
226
|
+ .replace(/\n\s+\n/g, '\n\n')
|
|
|
227
|
+ .replace(/\n{3,}/g, '\n\n')
|
|
|
228
|
+}
|
|
|
229
|
+
|
|
|
230
|
+toMarkdown.isBlock = isBlock
|
|
|
231
|
+toMarkdown.isVoid = isVoid
|
|
|
232
|
+toMarkdown.outer = outer
|
|
|
233
|
+
|
|
|
234
|
+module.exports = toMarkdown
|
|
|
235
|
+
|
|
|
236
|
+},{"./lib/gfm-converters":2,"./lib/html-parser":3,"./lib/md-converters":4,"collapse-whitespace":7}],2:[function(require,module,exports){
|
|
|
237
|
+'use strict'
|
|
|
238
|
+
|
|
|
239
|
+function cell (content, node) {
|
|
|
240
|
+ var index = Array.prototype.indexOf.call(node.parentNode.childNodes, node)
|
|
|
241
|
+ var prefix = ' '
|
|
|
242
|
+ if (index === 0) prefix = '| '
|
|
|
243
|
+ return prefix + content + ' |'
|
|
|
244
|
+}
|
|
|
245
|
+
|
|
|
246
|
+var highlightRegEx = /highlight highlight-(\S+)/
|
|
|
247
|
+
|
|
|
248
|
+module.exports = [
|
|
|
249
|
+ {
|
|
|
250
|
+ filter: 'br',
|
|
|
251
|
+ replacement: function () {
|
|
|
252
|
+ return '\n'
|
|
|
253
|
+ }
|
|
|
254
|
+ },
|
|
|
255
|
+ {
|
|
|
256
|
+ filter: ['del', 's', 'strike'],
|
|
|
257
|
+ replacement: function (content) {
|
|
|
258
|
+ return '~~' + content + '~~'
|
|
|
259
|
+ }
|
|
|
260
|
+ },
|
|
|
261
|
+
|
|
|
262
|
+ {
|
|
|
263
|
+ filter: function (node) {
|
|
|
264
|
+ return node.type === 'checkbox' && node.parentNode.nodeName === 'LI'
|
|
|
265
|
+ },
|
|
|
266
|
+ replacement: function (content, node) {
|
|
|
267
|
+ return (node.checked ? '[x]' : '[ ]') + ' '
|
|
|
268
|
+ }
|
|
|
269
|
+ },
|
|
|
270
|
+
|
|
|
271
|
+ {
|
|
|
272
|
+ filter: ['th', 'td'],
|
|
|
273
|
+ replacement: function (content, node) {
|
|
|
274
|
+ return cell(content, node)
|
|
|
275
|
+ }
|
|
|
276
|
+ },
|
|
|
277
|
+
|
|
|
278
|
+ {
|
|
|
279
|
+ filter: 'tr',
|
|
|
280
|
+ replacement: function (content, node) {
|
|
|
281
|
+ var borderCells = ''
|
|
|
282
|
+ var alignMap = { left: ':--', right: '--:', center: ':-:' }
|
|
|
283
|
+
|
|
|
284
|
+ if (node.parentNode.nodeName === 'THEAD') {
|
|
|
285
|
+ for (var i = 0; i < node.childNodes.length; i++) {
|
|
|
286
|
+ var align = node.childNodes[i].attributes.align
|
|
|
287
|
+ var border = '---'
|
|
|
288
|
+
|
|
|
289
|
+ if (align) border = alignMap[align.value] || border
|
|
|
290
|
+
|
|
|
291
|
+ borderCells += cell(border, node.childNodes[i])
|
|
|
292
|
+ }
|
|
|
293
|
+ }
|
|
|
294
|
+ return '\n' + content + (borderCells ? '\n' + borderCells : '')
|
|
|
295
|
+ }
|
|
|
296
|
+ },
|
|
|
297
|
+
|
|
|
298
|
+ {
|
|
|
299
|
+ filter: 'table',
|
|
|
300
|
+ replacement: function (content) {
|
|
|
301
|
+ return '\n\n' + content + '\n\n'
|
|
|
302
|
+ }
|
|
|
303
|
+ },
|
|
|
304
|
+
|
|
|
305
|
+ {
|
|
|
306
|
+ filter: ['thead', 'tbody', 'tfoot'],
|
|
|
307
|
+ replacement: function (content) {
|
|
|
308
|
+ return content
|
|
|
309
|
+ }
|
|
|
310
|
+ },
|
|
|
311
|
+
|
|
|
312
|
+ // Fenced code blocks
|
|
|
313
|
+ {
|
|
|
314
|
+ filter: function (node) {
|
|
|
315
|
+ return node.nodeName === 'PRE' &&
|
|
|
316
|
+ node.firstChild &&
|
|
|
317
|
+ node.firstChild.nodeName === 'CODE'
|
|
|
318
|
+ },
|
|
|
319
|
+ replacement: function (content, node) {
|
|
|
320
|
+ return '\n\n```\n' + node.firstChild.textContent + '\n```\n\n'
|
|
|
321
|
+ }
|
|
|
322
|
+ },
|
|
|
323
|
+
|
|
|
324
|
+ // Syntax-highlighted code blocks
|
|
|
325
|
+ {
|
|
|
326
|
+ filter: function (node) {
|
|
|
327
|
+ return node.nodeName === 'PRE' &&
|
|
|
328
|
+ node.parentNode.nodeName === 'DIV' &&
|
|
|
329
|
+ highlightRegEx.test(node.parentNode.className)
|
|
|
330
|
+ },
|
|
|
331
|
+ replacement: function (content, node) {
|
|
|
332
|
+ var language = node.parentNode.className.match(highlightRegEx)[1]
|
|
|
333
|
+ return '\n\n```' + language + '\n' + node.textContent + '\n```\n\n'
|
|
|
334
|
+ }
|
|
|
335
|
+ },
|
|
|
336
|
+
|
|
|
337
|
+ {
|
|
|
338
|
+ filter: function (node) {
|
|
|
339
|
+ return node.nodeName === 'DIV' &&
|
|
|
340
|
+ highlightRegEx.test(node.className)
|
|
|
341
|
+ },
|
|
|
342
|
+ replacement: function (content) {
|
|
|
343
|
+ return '\n\n' + content + '\n\n'
|
|
|
344
|
+ }
|
|
|
345
|
+ }
|
|
|
346
|
+]
|
|
|
347
|
+
|
|
|
348
|
+},{}],3:[function(require,module,exports){
|
|
|
349
|
+/*
|
|
|
350
|
+ * Set up window for Node.js
|
|
|
351
|
+ */
|
|
|
352
|
+
|
|
|
353
|
+var _window = (typeof window !== 'undefined' ? window : this)
|
|
|
354
|
+
|
|
|
355
|
+/*
|
|
|
356
|
+ * Parsing HTML strings
|
|
|
357
|
+ */
|
|
|
358
|
+
|
|
|
359
|
+function canParseHtmlNatively () {
|
|
|
360
|
+ var Parser = _window.DOMParser
|
|
|
361
|
+ var canParse = false
|
|
|
362
|
+
|
|
|
363
|
+ // Adapted from https://gist.github.com/1129031
|
|
|
364
|
+ // Firefox/Opera/IE throw errors on unsupported types
|
|
|
365
|
+ try {
|
|
|
366
|
+ // WebKit returns null on unsupported types
|
|
|
367
|
+ if (new Parser().parseFromString('', 'text/html')) {
|
|
|
368
|
+ canParse = true
|
|
|
369
|
+ }
|
|
|
370
|
+ } catch (e) {}
|
|
|
371
|
+
|
|
|
372
|
+ return canParse
|
|
|
373
|
+}
|
|
|
374
|
+
|
|
|
375
|
+function createHtmlParser () {
|
|
|
376
|
+ var Parser = function () {}
|
|
|
377
|
+
|
|
|
378
|
+ // For Node.js environments
|
|
|
379
|
+ if (typeof document === 'undefined') {
|
|
|
380
|
+ var jsdom = require('jsdom')
|
|
|
381
|
+ Parser.prototype.parseFromString = function (string) {
|
|
|
382
|
+ return jsdom.jsdom(string, {
|
|
|
383
|
+ features: {
|
|
|
384
|
+ FetchExternalResources: [],
|
|
|
385
|
+ ProcessExternalResources: false
|
|
|
386
|
+ }
|
|
|
387
|
+ })
|
|
|
388
|
+ }
|
|
|
389
|
+ } else {
|
|
|
390
|
+ if (!shouldUseActiveX()) {
|
|
|
391
|
+ Parser.prototype.parseFromString = function (string) {
|
|
|
392
|
+ var doc = document.implementation.createHTMLDocument('')
|
|
|
393
|
+ doc.open()
|
|
|
394
|
+ doc.write(string)
|
|
|
395
|
+ doc.close()
|
|
|
396
|
+ return doc
|
|
|
397
|
+ }
|
|
|
398
|
+ } else {
|
|
|
399
|
+ Parser.prototype.parseFromString = function (string) {
|
|
|
400
|
+ var doc = new window.ActiveXObject('htmlfile')
|
|
|
401
|
+ doc.designMode = 'on' // disable on-page scripts
|
|
|
402
|
+ doc.open()
|
|
|
403
|
+ doc.write(string)
|
|
|
404
|
+ doc.close()
|
|
|
405
|
+ return doc
|
|
|
406
|
+ }
|
|
|
407
|
+ }
|
|
|
408
|
+ }
|
|
|
409
|
+ return Parser
|
|
|
410
|
+}
|
|
|
411
|
+
|
|
|
412
|
+function shouldUseActiveX () {
|
|
|
413
|
+ var useActiveX = false
|
|
|
414
|
+
|
|
|
415
|
+ try {
|
|
|
416
|
+ document.implementation.createHTMLDocument('').open()
|
|
|
417
|
+ } catch (e) {
|
|
|
418
|
+ if (window.ActiveXObject) useActiveX = true
|
|
|
419
|
+ }
|
|
|
420
|
+
|
|
|
421
|
+ return useActiveX
|
|
|
422
|
+}
|
|
|
423
|
+
|
|
|
424
|
+module.exports = canParseHtmlNatively() ? _window.DOMParser : createHtmlParser()
|
|
|
425
|
+
|
|
|
426
|
+},{"jsdom":6}],4:[function(require,module,exports){
|
|
|
427
|
+'use strict'
|
|
|
428
|
+
|
|
|
429
|
+module.exports = [
|
|
|
430
|
+ {
|
|
|
431
|
+ filter: 'p',
|
|
|
432
|
+ replacement: function (content) {
|
|
|
433
|
+ return '\n\n' + content + '\n\n'
|
|
|
434
|
+ }
|
|
|
435
|
+ },
|
|
|
436
|
+
|
|
|
437
|
+ {
|
|
|
438
|
+ filter: 'br',
|
|
|
439
|
+ replacement: function () {
|
|
|
440
|
+ return ' \n'
|
|
|
441
|
+ }
|
|
|
442
|
+ },
|
|
|
443
|
+
|
|
|
444
|
+ {
|
|
|
445
|
+ filter: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'],
|
|
|
446
|
+ replacement: function (content, node) {
|
|
|
447
|
+ var hLevel = node.nodeName.charAt(1)
|
|
|
448
|
+ var hPrefix = ''
|
|
|
449
|
+ for (var i = 0; i < hLevel; i++) {
|
|
|
450
|
+ hPrefix += '#'
|
|
|
451
|
+ }
|
|
|
452
|
+ return '\n\n' + hPrefix + ' ' + content + '\n\n'
|
|
|
453
|
+ }
|
|
|
454
|
+ },
|
|
|
455
|
+
|
|
|
456
|
+ {
|
|
|
457
|
+ filter: 'hr',
|
|
|
458
|
+ replacement: function () {
|
|
|
459
|
+ return '\n\n* * *\n\n'
|
|
|
460
|
+ }
|
|
|
461
|
+ },
|
|
|
462
|
+
|
|
|
463
|
+ {
|
|
|
464
|
+ filter: ['em', 'i'],
|
|
|
465
|
+ replacement: function (content) {
|
|
|
466
|
+ return '_' + content + '_'
|
|
|
467
|
+ }
|
|
|
468
|
+ },
|
|
|
469
|
+
|
|
|
470
|
+ {
|
|
|
471
|
+ filter: ['strong', 'b'],
|
|
|
472
|
+ replacement: function (content) {
|
|
|
473
|
+ return '**' + content + '**'
|
|
|
474
|
+ }
|
|
|
475
|
+ },
|
|
|
476
|
+
|
|
|
477
|
+ // Inline code
|
|
|
478
|
+ {
|
|
|
479
|
+ filter: function (node) {
|
|
|
480
|
+ var hasSiblings = node.previousSibling || node.nextSibling
|
|
|
481
|
+ var isCodeBlock = node.parentNode.nodeName === 'PRE' && !hasSiblings
|
|
|
482
|
+
|
|
|
483
|
+ return node.nodeName === 'CODE' && !isCodeBlock
|
|
|
484
|
+ },
|
|
|
485
|
+ replacement: function (content) {
|
|
|
486
|
+ return '`' + content + '`'
|
|
|
487
|
+ }
|
|
|
488
|
+ },
|
|
|
489
|
+
|
|
|
490
|
+ {
|
|
|
491
|
+ filter: function (node) {
|
|
|
492
|
+ return node.nodeName === 'A' && node.getAttribute('href')
|
|
|
493
|
+ },
|
|
|
494
|
+ replacement: function (content, node) {
|
|
|
495
|
+ var titlePart = node.title ? ' "' + node.title + '"' : ''
|
|
|
496
|
+ return '[' + content + '](' + node.getAttribute('href') + titlePart + ')'
|
|
|
497
|
+ }
|
|
|
498
|
+ },
|
|
|
499
|
+
|
|
|
500
|
+ {
|
|
|
501
|
+ filter: 'img',
|
|
|
502
|
+ replacement: function (content, node) {
|
|
|
503
|
+ var alt = node.alt || ''
|
|
|
504
|
+ var src = node.getAttribute('src') || ''
|
|
|
505
|
+ var title = node.title || ''
|
|
|
506
|
+ var titlePart = title ? ' "' + title + '"' : ''
|
|
|
507
|
+ return src ? '![' + alt + ']' + '(' + src + titlePart + ')' : ''
|
|
|
508
|
+ }
|
|
|
509
|
+ },
|
|
|
510
|
+
|
|
|
511
|
+ // Code blocks
|
|
|
512
|
+ {
|
|
|
513
|
+ filter: function (node) {
|
|
|
514
|
+ return node.nodeName === 'PRE' && node.firstChild.nodeName === 'CODE'
|
|
|
515
|
+ },
|
|
|
516
|
+ replacement: function (content, node) {
|
|
|
517
|
+ return '\n\n ' + node.firstChild.textContent.replace(/\n/g, '\n ') + '\n\n'
|
|
|
518
|
+ }
|
|
|
519
|
+ },
|
|
|
520
|
+
|
|
|
521
|
+ {
|
|
|
522
|
+ filter: 'blockquote',
|
|
|
523
|
+ replacement: function (content) {
|
|
|
524
|
+ content = content.trim()
|
|
|
525
|
+ content = content.replace(/\n{3,}/g, '\n\n')
|
|
|
526
|
+ content = content.replace(/^/gm, '> ')
|
|
|
527
|
+ return '\n\n' + content + '\n\n'
|
|
|
528
|
+ }
|
|
|
529
|
+ },
|
|
|
530
|
+
|
|
|
531
|
+ {
|
|
|
532
|
+ filter: 'li',
|
|
|
533
|
+ replacement: function (content, node) {
|
|
|
534
|
+ content = content.replace(/^\s+/, '').replace(/\n/gm, '\n ')
|
|
|
535
|
+ var prefix = '* '
|
|
|
536
|
+ var parent = node.parentNode
|
|
|
537
|
+ var index = Array.prototype.indexOf.call(parent.children, node) + 1
|
|
|
538
|
+
|
|
|
539
|
+ prefix = /ol/i.test(parent.nodeName) ? index + '. ' : '* '
|
|
|
540
|
+ return prefix + content
|
|
|
541
|
+ }
|
|
|
542
|
+ },
|
|
|
543
|
+
|
|
|
544
|
+ {
|
|
|
545
|
+ filter: ['ul', 'ol'],
|
|
|
546
|
+ replacement: function (content, node) {
|
|
|
547
|
+ var strings = []
|
|
|
548
|
+ for (var i = 0; i < node.childNodes.length; i++) {
|
|
|
549
|
+ strings.push(node.childNodes[i]._replacement)
|
|
|
550
|
+ }
|
|
|
551
|
+
|
|
|
552
|
+ if (/li/i.test(node.parentNode.nodeName)) {
|
|
|
553
|
+ return '\n' + strings.join('\n')
|
|
|
554
|
+ }
|
|
|
555
|
+ return '\n\n' + strings.join('\n') + '\n\n'
|
|
|
556
|
+ }
|
|
|
557
|
+ },
|
|
|
558
|
+
|
|
|
559
|
+ {
|
|
|
560
|
+ filter: function (node) {
|
|
|
561
|
+ return this.isBlock(node)
|
|
|
562
|
+ },
|
|
|
563
|
+ replacement: function (content, node) {
|
|
|
564
|
+ return '\n\n' + this.outer(node, content) + '\n\n'
|
|
|
565
|
+ }
|
|
|
566
|
+ },
|
|
|
567
|
+
|
|
|
568
|
+ // Anything else!
|
|
|
569
|
+ {
|
|
|
570
|
+ filter: function () {
|
|
|
571
|
+ return true
|
|
|
572
|
+ },
|
|
|
573
|
+ replacement: function (content, node) {
|
|
|
574
|
+ return this.outer(node, content)
|
|
|
575
|
+ }
|
|
|
576
|
+ }
|
|
|
577
|
+]
|
|
|
578
|
+
|
|
|
579
|
+},{}],5:[function(require,module,exports){
|
|
|
580
|
+/**
|
|
|
581
|
+ * This file automatically generated from `build.js`.
|
|
|
582
|
+ * Do not manually edit.
|
|
|
583
|
+ */
|
|
|
584
|
+
|
|
|
585
|
+module.exports = [
|
|
|
586
|
+ "address",
|
|
|
587
|
+ "article",
|
|
|
588
|
+ "aside",
|
|
|
589
|
+ "audio",
|
|
|
590
|
+ "blockquote",
|
|
|
591
|
+ "canvas",
|
|
|
592
|
+ "dd",
|
|
|
593
|
+ "div",
|
|
|
594
|
+ "dl",
|
|
|
595
|
+ "fieldset",
|
|
|
596
|
+ "figcaption",
|
|
|
597
|
+ "figure",
|
|
|
598
|
+ "footer",
|
|
|
599
|
+ "form",
|
|
|
600
|
+ "h1",
|
|
|
601
|
+ "h2",
|
|
|
602
|
+ "h3",
|
|
|
603
|
+ "h4",
|
|
|
604
|
+ "h5",
|
|
|
605
|
+ "h6",
|
|
|
606
|
+ "header",
|
|
|
607
|
+ "hgroup",
|
|
|
608
|
+ "hr",
|
|
|
609
|
+ "main",
|
|
|
610
|
+ "nav",
|
|
|
611
|
+ "noscript",
|
|
|
612
|
+ "ol",
|
|
|
613
|
+ "output",
|
|
|
614
|
+ "p",
|
|
|
615
|
+ "pre",
|
|
|
616
|
+ "section",
|
|
|
617
|
+ "table",
|
|
|
618
|
+ "tfoot",
|
|
|
619
|
+ "ul",
|
|
|
620
|
+ "video"
|
|
|
621
|
+];
|
|
|
622
|
+
|
|
|
623
|
+},{}],6:[function(require,module,exports){
|
|
|
624
|
+
|
|
|
625
|
+},{}],7:[function(require,module,exports){
|
|
|
626
|
+'use strict';
|
|
|
627
|
+
|
|
|
628
|
+var voidElements = require('void-elements');
|
|
|
629
|
+Object.keys(voidElements).forEach(function (name) {
|
|
|
630
|
+ voidElements[name.toUpperCase()] = 1;
|
|
|
631
|
+});
|
|
|
632
|
+
|
|
|
633
|
+var blockElements = {};
|
|
|
634
|
+require('block-elements').forEach(function (name) {
|
|
|
635
|
+ blockElements[name.toUpperCase()] = 1;
|
|
|
636
|
+});
|
|
|
637
|
+
|
|
|
638
|
+/**
|
|
|
639
|
+ * isBlockElem(node) determines if the given node is a block element.
|
|
|
640
|
+ *
|
|
|
641
|
+ * @param {Node} node
|
|
|
642
|
+ * @return {Boolean}
|
|
|
643
|
+ */
|
|
|
644
|
+function isBlockElem(node) {
|
|
|
645
|
+ return !!(node && blockElements[node.nodeName]);
|
|
|
646
|
+}
|
|
|
647
|
+
|
|
|
648
|
+/**
|
|
|
649
|
+ * isVoid(node) determines if the given node is a void element.
|
|
|
650
|
+ *
|
|
|
651
|
+ * @param {Node} node
|
|
|
652
|
+ * @return {Boolean}
|
|
|
653
|
+ */
|
|
|
654
|
+function isVoid(node) {
|
|
|
655
|
+ return !!(node && voidElements[node.nodeName]);
|
|
|
656
|
+}
|
|
|
657
|
+
|
|
|
658
|
+/**
|
|
|
659
|
+ * whitespace(elem [, isBlock]) removes extraneous whitespace from an
|
|
|
660
|
+ * the given element. The function isBlock may optionally be passed in
|
|
|
661
|
+ * to determine whether or not an element is a block element; if none
|
|
|
662
|
+ * is provided, defaults to using the list of block elements provided
|
|
|
663
|
+ * by the `block-elements` module.
|
|
|
664
|
+ *
|
|
|
665
|
+ * @param {Node} elem
|
|
|
666
|
+ * @param {Function} blockTest
|
|
|
667
|
+ */
|
|
|
668
|
+function collapseWhitespace(elem, isBlock) {
|
|
|
669
|
+ if (!elem.firstChild || elem.nodeName === 'PRE') return;
|
|
|
670
|
+
|
|
|
671
|
+ if (typeof isBlock !== 'function') {
|
|
|
672
|
+ isBlock = isBlockElem;
|
|
|
673
|
+ }
|
|
|
674
|
+
|
|
|
675
|
+ var prevText = null;
|
|
|
676
|
+ var prevVoid = false;
|
|
|
677
|
+
|
|
|
678
|
+ var prev = null;
|
|
|
679
|
+ var node = next(prev, elem);
|
|
|
680
|
+
|
|
|
681
|
+ while (node !== elem) {
|
|
|
682
|
+ if (node.nodeType === 3) {
|
|
|
683
|
+ // Node.TEXT_NODE
|
|
|
684
|
+ var text = node.data.replace(/[ \r\n\t]+/g, ' ');
|
|
|
685
|
+
|
|
|
686
|
+ if ((!prevText || / $/.test(prevText.data)) && !prevVoid && text[0] === ' ') {
|
|
|
687
|
+ text = text.substr(1);
|
|
|
688
|
+ }
|
|
|
689
|
+
|
|
|
690
|
+ // `text` might be empty at this point.
|
|
|
691
|
+ if (!text) {
|
|
|
692
|
+ node = remove(node);
|
|
|
693
|
+ continue;
|
|
|
694
|
+ }
|
|
|
695
|
+
|
|
|
696
|
+ node.data = text;
|
|
|
697
|
+ prevText = node;
|
|
|
698
|
+ } else if (node.nodeType === 1) {
|
|
|
699
|
+ // Node.ELEMENT_NODE
|
|
|
700
|
+ if (isBlock(node) || node.nodeName === 'BR') {
|
|
|
701
|
+ if (prevText) {
|
|
|
702
|
+ prevText.data = prevText.data.replace(/ $/, '');
|
|
|
703
|
+ }
|
|
|
704
|
+
|
|
|
705
|
+ prevText = null;
|
|
|
706
|
+ prevVoid = false;
|
|
|
707
|
+ } else if (isVoid(node)) {
|
|
|
708
|
+ // Avoid trimming space around non-block, non-BR void elements.
|
|
|
709
|
+ prevText = null;
|
|
|
710
|
+ prevVoid = true;
|
|
|
711
|
+ }
|
|
|
712
|
+ } else {
|
|
|
713
|
+ node = remove(node);
|
|
|
714
|
+ continue;
|
|
|
715
|
+ }
|
|
|
716
|
+
|
|
|
717
|
+ var nextNode = next(prev, node);
|
|
|
718
|
+ prev = node;
|
|
|
719
|
+ node = nextNode;
|
|
|
720
|
+ }
|
|
|
721
|
+
|
|
|
722
|
+ if (prevText) {
|
|
|
723
|
+ prevText.data = prevText.data.replace(/ $/, '');
|
|
|
724
|
+ if (!prevText.data) {
|
|
|
725
|
+ remove(prevText);
|
|
|
726
|
+ }
|
|
|
727
|
+ }
|
|
|
728
|
+}
|
|
|
729
|
+
|
|
|
730
|
+/**
|
|
|
731
|
+ * remove(node) removes the given node from the DOM and returns the
|
|
|
732
|
+ * next node in the sequence.
|
|
|
733
|
+ *
|
|
|
734
|
+ * @param {Node} node
|
|
|
735
|
+ * @return {Node} node
|
|
|
736
|
+ */
|
|
|
737
|
+function remove(node) {
|
|
|
738
|
+ var next = node.nextSibling || node.parentNode;
|
|
|
739
|
+
|
|
|
740
|
+ node.parentNode.removeChild(node);
|
|
|
741
|
+
|
|
|
742
|
+ return next;
|
|
|
743
|
+}
|
|
|
744
|
+
|
|
|
745
|
+/**
|
|
|
746
|
+ * next(prev, current) returns the next node in the sequence, given the
|
|
|
747
|
+ * current and previous nodes.
|
|
|
748
|
+ *
|
|
|
749
|
+ * @param {Node} prev
|
|
|
750
|
+ * @param {Node} current
|
|
|
751
|
+ * @return {Node}
|
|
|
752
|
+ */
|
|
|
753
|
+function next(prev, current) {
|
|
|
754
|
+ if (prev && prev.parentNode === current || current.nodeName === 'PRE') {
|
|
|
755
|
+ return current.nextSibling || current.parentNode;
|
|
|
756
|
+ }
|
|
|
757
|
+
|
|
|
758
|
+ return current.firstChild || current.nextSibling || current.parentNode;
|
|
|
759
|
+}
|
|
|
760
|
+
|
|
|
761
|
+module.exports = collapseWhitespace;
|
|
|
762
|
+
|
|
|
763
|
+},{"block-elements":5,"void-elements":8}],8:[function(require,module,exports){
|
|
|
764
|
+/**
|
|
|
765
|
+ * This file automatically generated from `pre-publish.js`.
|
|
|
766
|
+ * Do not manually edit.
|
|
|
767
|
+ */
|
|
|
768
|
+
|
|
|
769
|
+module.exports = {
|
|
|
770
|
+ "area": true,
|
|
|
771
|
+ "base": true,
|
|
|
772
|
+ "br": true,
|
|
|
773
|
+ "col": true,
|
|
|
774
|
+ "embed": true,
|
|
|
775
|
+ "hr": true,
|
|
|
776
|
+ "img": true,
|
|
|
777
|
+ "input": true,
|
|
|
778
|
+ "keygen": true,
|
|
|
779
|
+ "link": true,
|
|
|
780
|
+ "menuitem": true,
|
|
|
781
|
+ "meta": true,
|
|
|
782
|
+ "param": true,
|
|
|
783
|
+ "source": true,
|
|
|
784
|
+ "track": true,
|
|
|
785
|
+ "wbr": true
|
|
|
786
|
+};
|
|
|
787
|
+
|
|
|
788
|
+},{}]},{},[1])(1)
|
|
|
789
|
+});
|
|
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else{if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else{if(typeof global!=="undefined"){g=global}else{if(typeof self!=="undefined"){g=self}else{g=this}}}g.toMarkdown=f()}}})(function(){var define,module,exports;return(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a){return a(o,!0)}if(i){return i(o,!0)}var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++){s(r[o])}return s})({1:[function(require,module,exports){var toMarkdown;var converters;var mdConverters=require("./lib/md-converters");var gfmConverters=require("./lib/gfm-converters");var HtmlParser=require("./lib/html-parser");var collapse=require("collapse-whitespace");var blocks=["address","article","aside","audio","blockquote","body","canvas","center","dd","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frameset","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","isindex","li","main","menu","nav","noframes","noscript","ol","output","p","pre","section","table","tbody","td","tfoot","th","thead","tr","ul"];function isBlock(node){return blocks.indexOf(node.nodeName.toLowerCase())!==-1}var voids=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"];function isVoid(node){return voids.indexOf(node.nodeName.toLowerCase())!==-1}function htmlToDom(string){var tree=new HtmlParser().parseFromString(string,"text/html");collapse(tree.documentElement,isBlock);return tree}function bfsOrder(node){var inqueue=[node];var outqueue=[];var elem;var children;var i;while(inqueue.length>0){elem=inqueue.shift();outqueue.push(elem);children=elem.childNodes;for(i=0;i<children.length;i++){if(children[i].nodeType===1){inqueue.push(children[i])}}}outqueue.shift();return outqueue}function getContent(node){var text="";for(var i=0;i<node.childNodes.length;i++){if(node.childNodes[i].nodeType===1){text+=node.childNodes[i]._replacement}else{if(node.childNodes[i].nodeType===3){text+=node.childNodes[i].data}else{continue}}}return text}function outer(node,content){return node.cloneNode(false).outerHTML.replace("><",">"+content+"<")}function canConvert(node,filter){if(typeof filter==="string"){return filter===node.nodeName.toLowerCase()}if(Array.isArray(filter)){return filter.indexOf(node.nodeName.toLowerCase())!==-1}else{if(typeof filter==="function"){return filter.call(toMarkdown,node)}else{throw new TypeError("`filter` needs to be a string, array, or function")}}}function isFlankedByWhitespace(side,node){var sibling;var regExp;var isFlanked;if(side==="left"){sibling=node.previousSibling;regExp=/ $/}else{sibling=node.nextSibling;regExp=/^ /}if(sibling){if(sibling.nodeType===3){isFlanked=regExp.test(sibling.nodeValue)}else{if(sibling.nodeType===1&&!isBlock(sibling)){isFlanked=regExp.test(sibling.textContent)}}}return isFlanked}function flankingWhitespace(node,content){var leading="";var trailing="";if(!isBlock(node)){var hasLeading=/^[ \r\n\t]/.test(content);var hasTrailing=/[ \r\n\t]$/.test(content);if(hasLeading&&!isFlankedByWhitespace("left",node)){leading=" "}if(hasTrailing&&!isFlankedByWhitespace("right",node)){trailing=" "}}return{leading:leading,trailing:trailing}}function process(node){var replacement;var content=getContent(node);if(!isVoid(node)&&!/A|TH|TD/.test(node.nodeName)&&/^\s*$/i.test(content)){node._replacement="";return}for(var i=0;i<converters.length;i++){var converter=converters[i];if(canConvert(node,converter.filter)){if(typeof converter.replacement!=="function"){throw new TypeError("`replacement` needs to be a function that returns a string")}var whitespace=flankingWhitespace(node,content);if(whitespace.leading||whitespace.trailing){content=content.trim()}replacement=whitespace.leading+converter.replacement.call(toMarkdown,content,node)+whitespace.trailing;break}}node._replacement=replacement}toMarkdown=function(input,options){options=options||{};if(typeof input!=="string"){throw new TypeError(input+" is not a string")}if(input===""){return""}input=input.replace(/(\d+)\. /g,"$1\\. ");var clone=htmlToDom(input).body;var nodes=bfsOrder(clone);var output;converters=mdConverters.slice(0);if(options.gfm){converters=gfmConverters.concat(converters)}if(options.converters){converters=options.converters.concat(converters)}for(var i=nodes.length-1;i>=0;i--){process(nodes[i])}output=getContent(clone);return output.replace(/^[\t\r\n]+|[\t\r\n\s]+$/g,"").replace(/\n\s+\n/g,"\n\n").replace(/\n{3,}/g,"\n\n")};toMarkdown.isBlock=isBlock;toMarkdown.isVoid=isVoid;toMarkdown.outer=outer;module.exports=toMarkdown},{"./lib/gfm-converters":2,"./lib/html-parser":3,"./lib/md-converters":4,"collapse-whitespace":7}],2:[function(require,module,exports){function cell(content,node){var index=Array.prototype.indexOf.call(node.parentNode.childNodes,node);
|
|
|
2
|
+var prefix=" ";if(index===0){prefix="| "}return prefix+content+" |"}var highlightRegEx=/highlight highlight-(\S+)/;module.exports=[{filter:"br",replacement:function(){return"\n"}},{filter:["del","s","strike"],replacement:function(content){return"~~"+content+"~~"}},{filter:function(node){return node.type==="checkbox"&&node.parentNode.nodeName==="LI"},replacement:function(content,node){return(node.checked?"[x]":"[ ]")+" "}},{filter:["th","td"],replacement:function(content,node){return cell(content,node)}},{filter:"tr",replacement:function(content,node){var borderCells="";var alignMap={left:":--",right:"--:",center:":-:"};if(node.parentNode.nodeName==="THEAD"){for(var i=0;i<node.childNodes.length;i++){var align=node.childNodes[i].attributes.align;var border="---";if(align){border=alignMap[align.value]||border}borderCells+=cell(border,node.childNodes[i])}}return"\n"+content+(borderCells?"\n"+borderCells:"")}},{filter:"table",replacement:function(content){return"\n\n"+content+"\n\n"}},{filter:["thead","tbody","tfoot"],replacement:function(content){return content}},{filter:function(node){return node.nodeName==="PRE"&&node.firstChild&&node.firstChild.nodeName==="CODE"},replacement:function(content,node){return"\n\n```\n"+node.firstChild.textContent+"\n```\n\n"}},{filter:function(node){return node.nodeName==="PRE"&&node.parentNode.nodeName==="DIV"&&highlightRegEx.test(node.parentNode.className)},replacement:function(content,node){var language=node.parentNode.className.match(highlightRegEx)[1];return"\n\n```"+language+"\n"+node.textContent+"\n```\n\n"}},{filter:function(node){return node.nodeName==="DIV"&&highlightRegEx.test(node.className)},replacement:function(content){return"\n\n"+content+"\n\n"}}]},{}],3:[function(require,module,exports){var _window=(typeof window!=="undefined"?window:this);function canParseHtmlNatively(){var Parser=_window.DOMParser;var canParse=false;try{if(new Parser().parseFromString("","text/html")){canParse=true}}catch(e){}return canParse}function createHtmlParser(){var Parser=function(){};if(typeof document==="undefined"){var jsdom=require("jsdom");Parser.prototype.parseFromString=function(string){return jsdom.jsdom(string,{features:{FetchExternalResources:[],ProcessExternalResources:false}})}}else{if(!shouldUseActiveX()){Parser.prototype.parseFromString=function(string){var doc=document.implementation.createHTMLDocument("");doc.open();doc.write(string);doc.close();return doc}}else{Parser.prototype.parseFromString=function(string){var doc=new window.ActiveXObject("htmlfile");doc.designMode="on";doc.open();doc.write(string);doc.close();return doc}}}return Parser}function shouldUseActiveX(){var useActiveX=false;try{document.implementation.createHTMLDocument("").open()}catch(e){if(window.ActiveXObject){useActiveX=true}}return useActiveX}module.exports=canParseHtmlNatively()?_window.DOMParser:createHtmlParser()},{"jsdom":6}],4:[function(require,module,exports){module.exports=[{filter:"p",replacement:function(content){return"\n\n"+content+"\n\n"}},{filter:"br",replacement:function(){return" \n"}},{filter:["h1","h2","h3","h4","h5","h6"],replacement:function(content,node){var hLevel=node.nodeName.charAt(1);var hPrefix="";for(var i=0;i<hLevel;i++){hPrefix+="#"}return"\n\n"+hPrefix+" "+content+"\n\n"}},{filter:"hr",replacement:function(){return"\n\n* * *\n\n"}},{filter:["em","i"],replacement:function(content){return"_"+content+"_"}},{filter:["strong","b"],replacement:function(content){return"**"+content+"**"}},{filter:function(node){var hasSiblings=node.previousSibling||node.nextSibling;var isCodeBlock=node.parentNode.nodeName==="PRE"&&!hasSiblings;return node.nodeName==="CODE"&&!isCodeBlock},replacement:function(content){return"`"+content+"`"}},{filter:function(node){return node.nodeName==="A"&&node.getAttribute("href")},replacement:function(content,node){var titlePart=node.title?' "'+node.title+'"':"";return"["+content+"]("+node.getAttribute("href")+titlePart+")"}},{filter:"img",replacement:function(content,node){var alt=node.alt||"";var src=node.getAttribute("src")||"";var title=node.title||"";var titlePart=title?' "'+title+'"':"";return src?"!["+alt+"]"+"("+src+titlePart+")":""}},{filter:function(node){return node.nodeName==="PRE"&&node.firstChild.nodeName==="CODE"},replacement:function(content,node){return"\n\n "+node.firstChild.textContent.replace(/\n/g,"\n ")+"\n\n"}},{filter:"blockquote",replacement:function(content){content=content.trim();content=content.replace(/\n{3,}/g,"\n\n");content=content.replace(/^/gm,"> ");return"\n\n"+content+"\n\n"}},{filter:"li",replacement:function(content,node){content=content.replace(/^\s+/,"").replace(/\n/gm,"\n ");var prefix="* ";var parent=node.parentNode;var index=Array.prototype.indexOf.call(parent.children,node)+1;prefix=/ol/i.test(parent.nodeName)?index+". ":"* ";return prefix+content}},{filter:["ul","ol"],replacement:function(content,node){var strings=[];for(var i=0;i<node.childNodes.length;i++){strings.push(node.childNodes[i]._replacement)
|
|
|
3
|
+}if(/li/i.test(node.parentNode.nodeName)){return"\n"+strings.join("\n")}return"\n\n"+strings.join("\n")+"\n\n"}},{filter:function(node){return this.isBlock(node)},replacement:function(content,node){return"\n\n"+this.outer(node,content)+"\n\n"}},{filter:function(){return true},replacement:function(content,node){return this.outer(node,content)}}]},{}],5:[function(require,module,exports){module.exports=["address","article","aside","audio","blockquote","canvas","dd","div","dl","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","noscript","ol","output","p","pre","section","table","tfoot","ul","video"]},{}],6:[function(require,module,exports){},{}],7:[function(require,module,exports){var voidElements=require("void-elements");Object.keys(voidElements).forEach(function(name){voidElements[name.toUpperCase()]=1});var blockElements={};require("block-elements").forEach(function(name){blockElements[name.toUpperCase()]=1});function isBlockElem(node){return !!(node&&blockElements[node.nodeName])}function isVoid(node){return !!(node&&voidElements[node.nodeName])}function collapseWhitespace(elem,isBlock){if(!elem.firstChild||elem.nodeName==="PRE"){return}if(typeof isBlock!=="function"){isBlock=isBlockElem}var prevText=null;var prevVoid=false;var prev=null;var node=next(prev,elem);while(node!==elem){if(node.nodeType===3){var text=node.data.replace(/[ \r\n\t]+/g," ");if((!prevText||/ $/.test(prevText.data))&&!prevVoid&&text[0]===" "){text=text.substr(1)}if(!text){node=remove(node);continue}node.data=text;prevText=node}else{if(node.nodeType===1){if(isBlock(node)||node.nodeName==="BR"){if(prevText){prevText.data=prevText.data.replace(/ $/,"")}prevText=null;prevVoid=false}else{if(isVoid(node)){prevText=null;prevVoid=true}}}else{node=remove(node);continue}}var nextNode=next(prev,node);prev=node;node=nextNode}if(prevText){prevText.data=prevText.data.replace(/ $/,"");if(!prevText.data){remove(prevText)}}}function remove(node){var next=node.nextSibling||node.parentNode;node.parentNode.removeChild(node);return next}function next(prev,current){if(prev&&prev.parentNode===current||current.nodeName==="PRE"){return current.nextSibling||current.parentNode}return current.firstChild||current.nextSibling||current.parentNode}module.exports=collapseWhitespace},{"block-elements":5,"void-elements":8}],8:[function(require,module,exports){module.exports={"area":true,"base":true,"br":true,"col":true,"embed":true,"hr":true,"img":true,"input":true,"keygen":true,"link":true,"menuitem":true,"meta":true,"param":true,"source":true,"track":true,"wbr":true}},{}]},{},[1])(1)});
|
|
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+(function (root, factory) {
|
|
|
2
|
+ if (typeof define === 'function' && define.amd) {
|
|
|
3
|
+ // AMD. Register as an anonymous module unless amdModuleId is set
|
|
|
4
|
+ define('simple-uploader', ["jquery","simple-module"], function ($, SimpleModule) {
|
|
|
5
|
+ return (root['uploader'] = factory($, SimpleModule));
|
|
|
6
|
+ });
|
|
|
7
|
+ } else if (typeof exports === 'object') {
|
|
|
8
|
+ // Node. Does not work with strict CommonJS, but
|
|
|
9
|
+ // only CommonJS-like environments that support module.exports,
|
|
|
10
|
+ // like Node.
|
|
|
11
|
+ module.exports = factory(require("jquery"),require("simple-module"));
|
|
|
12
|
+ } else {
|
|
|
13
|
+ root.simple = root.simple || {};
|
|
|
14
|
+ root.simple['uploader'] = factory(jQuery,SimpleModule);
|
|
|
15
|
+ }
|
|
|
16
|
+}(this, function ($, SimpleModule) {
|
|
|
17
|
+
|
|
|
18
|
+var Uploader, uploader,
|
|
|
19
|
+ extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
|
|
|
20
|
+ hasProp = {}.hasOwnProperty;
|
|
|
21
|
+
|
|
|
22
|
+Uploader = (function(superClass) {
|
|
|
23
|
+ extend(Uploader, superClass);
|
|
|
24
|
+
|
|
|
25
|
+ function Uploader() {
|
|
|
26
|
+ return Uploader.__super__.constructor.apply(this, arguments);
|
|
|
27
|
+ }
|
|
|
28
|
+
|
|
|
29
|
+ Uploader.count = 0;
|
|
|
30
|
+
|
|
|
31
|
+ Uploader.prototype.opts = {
|
|
|
32
|
+ url: '',
|
|
|
33
|
+ params: null,
|
|
|
34
|
+ fileKey: 'upload_file',
|
|
|
35
|
+ connectionCount: 3
|
|
|
36
|
+ };
|
|
|
37
|
+
|
|
|
38
|
+ Uploader.prototype._init = function() {
|
|
|
39
|
+ this.files = [];
|
|
|
40
|
+ this.queue = [];
|
|
|
41
|
+ this.id = ++Uploader.count;
|
|
|
42
|
+ this.on('uploadcomplete', (function(_this) {
|
|
|
43
|
+ return function(e, file) {
|
|
|
44
|
+ _this.files.splice($.inArray(file, _this.files), 1);
|
|
|
45
|
+ if (_this.queue.length > 0 && _this.files.length < _this.opts.connectionCount) {
|
|
|
46
|
+ return _this.upload(_this.queue.shift());
|
|
|
47
|
+ } else {
|
|
|
48
|
+ return _this.uploading = false;
|
|
|
49
|
+ }
|
|
|
50
|
+ };
|
|
|
51
|
+ })(this));
|
|
|
52
|
+ return $(window).on('beforeunload.uploader-' + this.id, (function(_this) {
|
|
|
53
|
+ return function(e) {
|
|
|
54
|
+ if (!_this.uploading) {
|
|
|
55
|
+ return;
|
|
|
56
|
+ }
|
|
|
57
|
+ e.originalEvent.returnValue = _this._t('leaveConfirm');
|
|
|
58
|
+ return _this._t('leaveConfirm');
|
|
|
59
|
+ };
|
|
|
60
|
+ })(this));
|
|
|
61
|
+ };
|
|
|
62
|
+
|
|
|
63
|
+ Uploader.prototype.generateId = (function() {
|
|
|
64
|
+ var id;
|
|
|
65
|
+ id = 0;
|
|
|
66
|
+ return function() {
|
|
|
67
|
+ return id += 1;
|
|
|
68
|
+ };
|
|
|
69
|
+ })();
|
|
|
70
|
+
|
|
|
71
|
+ Uploader.prototype.upload = function(file, opts) {
|
|
|
72
|
+ var f, i, key, len;
|
|
|
73
|
+ if (opts == null) {
|
|
|
74
|
+ opts = {};
|
|
|
75
|
+ }
|
|
|
76
|
+ if (file == null) {
|
|
|
77
|
+ return;
|
|
|
78
|
+ }
|
|
|
79
|
+ if ($.isArray(file) || file instanceof FileList) {
|
|
|
80
|
+ for (i = 0, len = file.length; i < len; i++) {
|
|
|
81
|
+ f = file[i];
|
|
|
82
|
+ this.upload(f, opts);
|
|
|
83
|
+ }
|
|
|
84
|
+ } else if ($(file).is('input:file')) {
|
|
|
85
|
+ key = $(file).attr('name');
|
|
|
86
|
+ if (key) {
|
|
|
87
|
+ opts.fileKey = key;
|
|
|
88
|
+ }
|
|
|
89
|
+ this.upload($.makeArray($(file)[0].files), opts);
|
|
|
90
|
+ } else if (!file.id || !file.obj) {
|
|
|
91
|
+ file = this.getFile(file);
|
|
|
92
|
+ }
|
|
|
93
|
+ if (!(file && file.obj)) {
|
|
|
94
|
+ return;
|
|
|
95
|
+ }
|
|
|
96
|
+ $.extend(file, opts);
|
|
|
97
|
+ if (this.files.length >= this.opts.connectionCount) {
|
|
|
98
|
+ this.queue.push(file);
|
|
|
99
|
+ return;
|
|
|
100
|
+ }
|
|
|
101
|
+ if (this.triggerHandler('beforeupload', [file]) === false) {
|
|
|
102
|
+ return;
|
|
|
103
|
+ }
|
|
|
104
|
+ this.files.push(file);
|
|
|
105
|
+ this._xhrUpload(file);
|
|
|
106
|
+ return this.uploading = true;
|
|
|
107
|
+ };
|
|
|
108
|
+
|
|
|
109
|
+ Uploader.prototype.getFile = function(fileObj) {
|
|
|
110
|
+ var name, ref, ref1;
|
|
|
111
|
+ if (fileObj instanceof window.File || fileObj instanceof window.Blob) {
|
|
|
112
|
+ name = (ref = fileObj.fileName) != null ? ref : fileObj.name;
|
|
|
113
|
+ } else {
|
|
|
114
|
+ return null;
|
|
|
115
|
+ }
|
|
|
116
|
+ return {
|
|
|
117
|
+ id: this.generateId(),
|
|
|
118
|
+ url: this.opts.url,
|
|
|
119
|
+ params: this.opts.params,
|
|
|
120
|
+ fileKey: this.opts.fileKey,
|
|
|
121
|
+ name: name,
|
|
|
122
|
+ size: (ref1 = fileObj.fileSize) != null ? ref1 : fileObj.size,
|
|
|
123
|
+ ext: name ? name.split('.').pop().toLowerCase() : '',
|
|
|
124
|
+ obj: fileObj
|
|
|
125
|
+ };
|
|
|
126
|
+ };
|
|
|
127
|
+
|
|
|
128
|
+ Uploader.prototype._xhrUpload = function(file) {
|
|
|
129
|
+ var formData, k, ref, v;
|
|
|
130
|
+ formData = new FormData();
|
|
|
131
|
+ formData.append(file.fileKey, file.obj);
|
|
|
132
|
+ formData.append("original_filename", file.name);
|
|
|
133
|
+ if (file.params) {
|
|
|
134
|
+ ref = file.params;
|
|
|
135
|
+ for (k in ref) {
|
|
|
136
|
+ v = ref[k];
|
|
|
137
|
+ formData.append(k, v);
|
|
|
138
|
+ }
|
|
|
139
|
+ }
|
|
|
140
|
+ return file.xhr = $.ajax({
|
|
|
141
|
+ url: file.url,
|
|
|
142
|
+ data: formData,
|
|
|
143
|
+ processData: false,
|
|
|
144
|
+ contentType: false,
|
|
|
145
|
+ type: 'POST',
|
|
|
146
|
+ headers: {
|
|
|
147
|
+ 'X-File-Name': encodeURIComponent(file.name)
|
|
|
148
|
+ },
|
|
|
149
|
+ xhr: function() {
|
|
|
150
|
+ var req;
|
|
|
151
|
+ req = $.ajaxSettings.xhr();
|
|
|
152
|
+ if (req) {
|
|
|
153
|
+ req.upload.onprogress = (function(_this) {
|
|
|
154
|
+ return function(e) {
|
|
|
155
|
+ return _this.progress(e);
|
|
|
156
|
+ };
|
|
|
157
|
+ })(this);
|
|
|
158
|
+ }
|
|
|
159
|
+ return req;
|
|
|
160
|
+ },
|
|
|
161
|
+ progress: (function(_this) {
|
|
|
162
|
+ return function(e) {
|
|
|
163
|
+ if (!e.lengthComputable) {
|
|
|
164
|
+ return;
|
|
|
165
|
+ }
|
|
|
166
|
+ return _this.trigger('uploadprogress', [file, e.loaded, e.total]);
|
|
|
167
|
+ };
|
|
|
168
|
+ })(this),
|
|
|
169
|
+ error: (function(_this) {
|
|
|
170
|
+ return function(xhr, status, err) {
|
|
|
171
|
+ return _this.trigger('uploaderror', [file, xhr, status]);
|
|
|
172
|
+ };
|
|
|
173
|
+ })(this),
|
|
|
174
|
+ success: (function(_this) {
|
|
|
175
|
+ return function(result) {
|
|
|
176
|
+ _this.trigger('uploadprogress', [file, file.size, file.size]);
|
|
|
177
|
+ _this.trigger('uploadsuccess', [file, result]);
|
|
|
178
|
+ return $(document).trigger('uploadsuccess', [file, result, _this]);
|
|
|
179
|
+ };
|
|
|
180
|
+ })(this),
|
|
|
181
|
+ complete: (function(_this) {
|
|
|
182
|
+ return function(xhr, status) {
|
|
|
183
|
+ return _this.trigger('uploadcomplete', [file, xhr.responseText]);
|
|
|
184
|
+ };
|
|
|
185
|
+ })(this)
|
|
|
186
|
+ });
|
|
|
187
|
+ };
|
|
|
188
|
+
|
|
|
189
|
+ Uploader.prototype.cancel = function(file) {
|
|
|
190
|
+ var f, i, len, ref;
|
|
|
191
|
+ if (!file.id) {
|
|
|
192
|
+ ref = this.files;
|
|
|
193
|
+ for (i = 0, len = ref.length; i < len; i++) {
|
|
|
194
|
+ f = ref[i];
|
|
|
195
|
+ if (f.id === file * 1) {
|
|
|
196
|
+ file = f;
|
|
|
197
|
+ break;
|
|
|
198
|
+ }
|
|
|
199
|
+ }
|
|
|
200
|
+ }
|
|
|
201
|
+ this.trigger('uploadcancel', [file]);
|
|
|
202
|
+ if (file.xhr) {
|
|
|
203
|
+ file.xhr.abort();
|
|
|
204
|
+ }
|
|
|
205
|
+ return file.xhr = null;
|
|
|
206
|
+ };
|
|
|
207
|
+
|
|
|
208
|
+ Uploader.prototype.readImageFile = function(fileObj, callback) {
|
|
|
209
|
+ var fileReader, img;
|
|
|
210
|
+ if (!$.isFunction(callback)) {
|
|
|
211
|
+ return;
|
|
|
212
|
+ }
|
|
|
213
|
+ img = new Image();
|
|
|
214
|
+ img.onload = function() {
|
|
|
215
|
+ return callback(img);
|
|
|
216
|
+ };
|
|
|
217
|
+ img.onerror = function() {
|
|
|
218
|
+ return callback();
|
|
|
219
|
+ };
|
|
|
220
|
+ if (window.FileReader && FileReader.prototype.readAsDataURL && /^image/.test(fileObj.type)) {
|
|
|
221
|
+ fileReader = new FileReader();
|
|
|
222
|
+ fileReader.onload = function(e) {
|
|
|
223
|
+ return img.src = e.target.result;
|
|
|
224
|
+ };
|
|
|
225
|
+ return fileReader.readAsDataURL(fileObj);
|
|
|
226
|
+ } else {
|
|
|
227
|
+ return callback();
|
|
|
228
|
+ }
|
|
|
229
|
+ };
|
|
|
230
|
+
|
|
|
231
|
+ Uploader.prototype.destroy = function() {
|
|
|
232
|
+ var file, i, len, ref;
|
|
|
233
|
+ this.queue.length = 0;
|
|
|
234
|
+ ref = this.files;
|
|
|
235
|
+ for (i = 0, len = ref.length; i < len; i++) {
|
|
|
236
|
+ file = ref[i];
|
|
|
237
|
+ this.cancel(file);
|
|
|
238
|
+ }
|
|
|
239
|
+ $(window).off('.uploader-' + this.id);
|
|
|
240
|
+ return $(document).off('.uploader-' + this.id);
|
|
|
241
|
+ };
|
|
|
242
|
+
|
|
|
243
|
+ Uploader.i18n = {
|
|
|
244
|
+ 'zh-CN': {
|
|
|
245
|
+ leaveConfirm: '正在上传文件,如果离开上传会自动取消'
|
|
|
246
|
+ }
|
|
|
247
|
+ };
|
|
|
248
|
+
|
|
|
249
|
+ Uploader.locale = 'zh-CN';
|
|
|
250
|
+
|
|
|
251
|
+ return Uploader;
|
|
|
252
|
+
|
|
|
253
|
+})(SimpleModule);
|
|
|
254
|
+
|
|
|
255
|
+uploader = function(opts) {
|
|
|
256
|
+ return new Uploader(opts);
|
|
|
257
|
+};
|
|
|
258
|
+
|
|
|
259
|
+return uploader;
|
|
|
260
|
+
|
|
|
261
|
+}));
|
|
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+!function(a,b){"function"==typeof define&&define.amd?
|
|
|
2
|
+// AMD. Register as an anonymous module unless amdModuleId is set
|
|
|
3
|
+define("simple-uploader",["jquery","simple-module"],function(c,d){return a.uploader=b(c,d)}):"object"==typeof exports?
|
|
|
4
|
+// Node. Does not work with strict CommonJS, but
|
|
|
5
|
+// only CommonJS-like environments that support module.exports,
|
|
|
6
|
+// like Node.
|
|
|
7
|
+module.exports=b(require("jquery"),require("simple-module")):(a.simple=a.simple||{},a.simple.uploader=b(jQuery,SimpleModule))}(this,function(a,b){var c,d,e=function(a,b){function c(){this.constructor=a}for(var d in b)f.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},f={}.hasOwnProperty;return c=function(b){function c(){return c.__super__.constructor.apply(this,arguments)}return e(c,b),c.count=0,c.prototype.opts={url:"",params:null,fileKey:"upload_file",connectionCount:3},c.prototype._init=function(){return this.files=[],this.queue=[],this.id=++c.count,this.on("uploadcomplete",function(b){return function(c,d){return b.files.splice(a.inArray(d,b.files),1),b.queue.length>0&&b.files.length<b.opts.connectionCount?b.upload(b.queue.shift()):b.uploading=!1}}(this)),a(window).on("beforeunload.uploader-"+this.id,function(a){return function(b){return a.uploading?(b.originalEvent.returnValue=a._t("leaveConfirm"),a._t("leaveConfirm")):void 0}}(this))},c.prototype.generateId=function(){var a;return a=0,function(){return a+=1}}(),c.prototype.upload=function(b,c){var d,e,f,g;if(null==c&&(c={}),null!=b){if(a.isArray(b)||b instanceof FileList)for(e=0,g=b.length;g>e;e++)d=b[e],this.upload(d,c);else a(b).is("input:file")?(f=a(b).attr("name"),f&&(c.fileKey=f),this.upload(a.makeArray(a(b)[0].files),c)):b.id&&b.obj||(b=this.getFile(b));if(b&&b.obj){if(a.extend(b,c),this.files.length>=this.opts.connectionCount)return void this.queue.push(b);if(this.triggerHandler("beforeupload",[b])!==!1)return this.files.push(b),this._xhrUpload(b),this.uploading=!0}}},c.prototype.getFile=function(a){var b,c,d;return a instanceof window.File||a instanceof window.Blob?(b=null!=(c=a.fileName)?c:a.name,{id:this.generateId(),url:this.opts.url,params:this.opts.params,fileKey:this.opts.fileKey,name:b,size:null!=(d=a.fileSize)?d:a.size,ext:b?b.split(".").pop().toLowerCase():"",obj:a}):null},c.prototype._xhrUpload=function(b){var c,d,e,f;if(c=new FormData,c.append(b.fileKey,b.obj),c.append("original_filename",b.name),b.params){e=b.params;for(d in e)f=e[d],c.append(d,f)}return b.xhr=a.ajax({url:b.url,data:c,processData:!1,contentType:!1,type:"POST",headers:{"X-File-Name":encodeURIComponent(b.name)},xhr:function(){var b;return b=a.ajaxSettings.xhr(),b&&(b.upload.onprogress=function(a){return function(b){return a.progress(b)}}(this)),b},progress:function(a){return function(c){return c.lengthComputable?a.trigger("uploadprogress",[b,c.loaded,c.total]):void 0}}(this),error:function(a){return function(c,d,e){return a.trigger("uploaderror",[b,c,d])}}(this),success:function(c){return function(d){return c.trigger("uploadprogress",[b,b.size,b.size]),c.trigger("uploadsuccess",[b,d]),a(document).trigger("uploadsuccess",[b,d,c])}}(this),complete:function(a){return function(c,d){return a.trigger("uploadcomplete",[b,c.responseText])}}(this)})},c.prototype.cancel=function(a){var b,c,d,e;if(!a.id)for(e=this.files,c=0,d=e.length;d>c;c++)if(b=e[c],b.id===1*a){a=b;break}return this.trigger("uploadcancel",[a]),a.xhr&&a.xhr.abort(),a.xhr=null},c.prototype.readImageFile=function(b,c){var d,e;if(a.isFunction(c))return e=new Image,e.onload=function(){return c(e)},e.onerror=function(){return c()},window.FileReader&&FileReader.prototype.readAsDataURL&&/^image/.test(b.type)?(d=new FileReader,d.onload=function(a){return e.src=a.target.result},d.readAsDataURL(b)):c()},c.prototype.destroy=function(){var b,c,d,e;for(this.queue.length=0,e=this.files,c=0,d=e.length;d>c;c++)b=e[c],this.cancel(b);return a(window).off(".uploader-"+this.id),a(document).off(".uploader-"+this.id)},c.i18n={"zh-CN":{leaveConfirm:"正在上传文件,如果离开上传会自动取消"}},c.locale="zh-CN",c}(b),d=function(a){return new c(a)}});
|
|
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+(function() {
|
|
|
2
|
+ var djangoJQuery;
|
|
|
3
|
+ if (typeof jQuery == 'undefined' && typeof django == 'undefined') {
|
|
|
4
|
+ console.error('ERROR django-simditor missing jQuery. Set SIMDITOR_JQUERY_URL or provide jQuery in the template.');
|
|
|
5
|
+ } else if (typeof django != 'undefined') {
|
|
|
6
|
+ djangoJQuery = django.jQuery;
|
|
|
7
|
+ }
|
|
|
8
|
+
|
|
|
9
|
+ var $ = jQuery || djangoJQuery;
|
|
|
10
|
+ $(function() {
|
|
|
11
|
+
|
|
|
12
|
+ initialiseSimditor();
|
|
|
13
|
+ function initialiseSimditor() {
|
|
|
14
|
+ $('textarea[data-type=simditortype]').each(function() {
|
|
|
15
|
+
|
|
|
16
|
+ if($(this).data('processed') == "0" && $(this).attr('data-id').indexOf('__prefix__') == -1){
|
|
|
17
|
+ $(this).data('processed', "1");
|
|
|
18
|
+ var dataConfig = $(this).data('config');
|
|
|
19
|
+ new Simditor({
|
|
|
20
|
+ textarea: $(this),
|
|
|
21
|
+ upload: dataConfig.upload,
|
|
|
22
|
+ cleanPaste: dataConfig.cleanPaste,
|
|
|
23
|
+ tabIndent: dataConfig.tabIndent,
|
|
|
24
|
+ pasteImage: dataConfig.pasteImage,
|
|
|
25
|
+ toolbar: dataConfig.toolbar,
|
|
|
26
|
+ emoji: dataConfig.emoji
|
|
|
27
|
+ });
|
|
|
28
|
+ }
|
|
|
29
|
+ });
|
|
|
30
|
+ }
|
|
|
31
|
+
|
|
|
32
|
+ });
|
|
|
33
|
+
|
|
|
34
|
+})();
|
|
|
|
@@ -0,0 +1,696 @@
|
|
|
1
|
+@charset "UTF-8";
|
|
|
2
|
+
|
|
|
3
|
+$simditor-button-height: 40px;
|
|
|
4
|
+$simditor-button-width: 46px;
|
|
|
5
|
+
|
|
|
6
|
+.simditor {
|
|
|
7
|
+ position: relative;
|
|
|
8
|
+ border: 1px solid #c9d8db;
|
|
|
9
|
+
|
|
|
10
|
+ .simditor-wrapper {
|
|
|
11
|
+ position: relative;
|
|
|
12
|
+ background: #ffffff;
|
|
|
13
|
+
|
|
|
14
|
+ & > textarea {
|
|
|
15
|
+ display: none !important;
|
|
|
16
|
+ width: 100%;
|
|
|
17
|
+ box-sizing: border-box;
|
|
|
18
|
+ font-family: monaco;
|
|
|
19
|
+ font-size: 16px;
|
|
|
20
|
+ line-height: 1.6;
|
|
|
21
|
+ border: none;
|
|
|
22
|
+ padding: 22px 15px 40px;
|
|
|
23
|
+ min-height: 300px;
|
|
|
24
|
+ outline: none;
|
|
|
25
|
+ background: transparent;
|
|
|
26
|
+ resize: none;
|
|
|
27
|
+ }
|
|
|
28
|
+
|
|
|
29
|
+ .simditor-placeholder {
|
|
|
30
|
+ display: none;
|
|
|
31
|
+ position: absolute;
|
|
|
32
|
+ left: 0;
|
|
|
33
|
+ z-index: 0;
|
|
|
34
|
+ padding: 22px 15px;
|
|
|
35
|
+ font-size: 16px;
|
|
|
36
|
+ font-family: arial, sans-serif;
|
|
|
37
|
+ line-height: 1.5;
|
|
|
38
|
+ color: #999999;
|
|
|
39
|
+ background: transparent;
|
|
|
40
|
+ }
|
|
|
41
|
+
|
|
|
42
|
+ &.toolbar-floating {
|
|
|
43
|
+ .simditor-toolbar {
|
|
|
44
|
+ position: fixed;
|
|
|
45
|
+ top: 0;
|
|
|
46
|
+ z-index: 10;
|
|
|
47
|
+ box-shadow: 0 0 6px rgba(0,0,0,0.1);
|
|
|
48
|
+ }
|
|
|
49
|
+ }
|
|
|
50
|
+
|
|
|
51
|
+ .simditor-image-loading {
|
|
|
52
|
+ width: 100%;
|
|
|
53
|
+ height: 100%;
|
|
|
54
|
+ position: absolute;
|
|
|
55
|
+ top: 0;
|
|
|
56
|
+ left: 0;
|
|
|
57
|
+ z-index: 2;
|
|
|
58
|
+
|
|
|
59
|
+ .progress {
|
|
|
60
|
+ width: 100%;
|
|
|
61
|
+ height: 100%;
|
|
|
62
|
+ background: rgba(0,0,0,0.4);
|
|
|
63
|
+ position: absolute;
|
|
|
64
|
+ bottom: 0;
|
|
|
65
|
+ left: 0;
|
|
|
66
|
+ }
|
|
|
67
|
+ }
|
|
|
68
|
+ }
|
|
|
69
|
+
|
|
|
70
|
+ .simditor-body {
|
|
|
71
|
+ padding: 22px 15px 40px;
|
|
|
72
|
+ min-height: 300px;
|
|
|
73
|
+ outline: none;
|
|
|
74
|
+ cursor: text;
|
|
|
75
|
+ position: relative;
|
|
|
76
|
+ z-index: 1;
|
|
|
77
|
+ background: transparent;
|
|
|
78
|
+
|
|
|
79
|
+ a.selected {
|
|
|
80
|
+ background: #b3d4fd;
|
|
|
81
|
+ }
|
|
|
82
|
+
|
|
|
83
|
+ a.simditor-mention {
|
|
|
84
|
+ cursor: pointer;
|
|
|
85
|
+ }
|
|
|
86
|
+
|
|
|
87
|
+ .simditor-table {
|
|
|
88
|
+ position: relative;
|
|
|
89
|
+
|
|
|
90
|
+ &.resizing {
|
|
|
91
|
+ cursor: col-resize;
|
|
|
92
|
+ }
|
|
|
93
|
+
|
|
|
94
|
+ .simditor-resize-handle {
|
|
|
95
|
+ position: absolute;
|
|
|
96
|
+ left: 0;
|
|
|
97
|
+ top: 0;
|
|
|
98
|
+ width: 10px;
|
|
|
99
|
+ height: 100%;
|
|
|
100
|
+ cursor: col-resize;
|
|
|
101
|
+ }
|
|
|
102
|
+ }
|
|
|
103
|
+
|
|
|
104
|
+ pre {
|
|
|
105
|
+ /*min-height: 28px;*/
|
|
|
106
|
+ box-sizing: border-box;
|
|
|
107
|
+ -moz-box-sizing: border-box;
|
|
|
108
|
+ word-wrap: break-word!important;
|
|
|
109
|
+ white-space: pre-wrap!important;
|
|
|
110
|
+ }
|
|
|
111
|
+
|
|
|
112
|
+ img {
|
|
|
113
|
+ cursor: pointer;
|
|
|
114
|
+
|
|
|
115
|
+ &.selected {
|
|
|
116
|
+ box-shadow: 0 0 0 4px #cccccc;
|
|
|
117
|
+ }
|
|
|
118
|
+ }
|
|
|
119
|
+ }
|
|
|
120
|
+
|
|
|
121
|
+ .simditor-paste-bin {
|
|
|
122
|
+ position: fixed;
|
|
|
123
|
+ bottom: 10px;
|
|
|
124
|
+ right: 10px;
|
|
|
125
|
+ width: 1px;
|
|
|
126
|
+ height: 20px;
|
|
|
127
|
+ font-size: 1px;
|
|
|
128
|
+ line-height: 1px;
|
|
|
129
|
+ overflow: hidden;
|
|
|
130
|
+ padding: 0;
|
|
|
131
|
+ margin: 0;
|
|
|
132
|
+ opacity: 0;
|
|
|
133
|
+ -webkit-user-select: text;
|
|
|
134
|
+ }
|
|
|
135
|
+
|
|
|
136
|
+ .simditor-toolbar {
|
|
|
137
|
+ border-bottom: 1px solid #eeeeee;
|
|
|
138
|
+ background: #ffffff;
|
|
|
139
|
+ width: 100%;
|
|
|
140
|
+
|
|
|
141
|
+ & > ul {
|
|
|
142
|
+ margin: 0;
|
|
|
143
|
+ padding: 0 0 0 6px;
|
|
|
144
|
+ list-style: none;
|
|
|
145
|
+
|
|
|
146
|
+ & > li {
|
|
|
147
|
+ position: relative;
|
|
|
148
|
+ display: inline-block;
|
|
|
149
|
+ font-size: 0;
|
|
|
150
|
+
|
|
|
151
|
+ & > span.separator {
|
|
|
152
|
+ display: inline-block;
|
|
|
153
|
+ background: #cfcfcf;
|
|
|
154
|
+ width: 1px;
|
|
|
155
|
+ height: 18px;
|
|
|
156
|
+ margin: ($simditor-button-height - 18px) / 2 15px;
|
|
|
157
|
+ vertical-align: middle;
|
|
|
158
|
+ }
|
|
|
159
|
+
|
|
|
160
|
+ & > .toolbar-item {
|
|
|
161
|
+ display: inline-block;
|
|
|
162
|
+ width: $simditor-button-width;
|
|
|
163
|
+ height: $simditor-button-height;
|
|
|
164
|
+ outline: none;
|
|
|
165
|
+ color: #333333;
|
|
|
166
|
+ font-size: 15px;
|
|
|
167
|
+ line-height: $simditor-button-height;
|
|
|
168
|
+ vertical-align: middle;
|
|
|
169
|
+ text-align: center;
|
|
|
170
|
+ text-decoration: none;
|
|
|
171
|
+
|
|
|
172
|
+ span {
|
|
|
173
|
+ opacity: 0.6;
|
|
|
174
|
+
|
|
|
175
|
+ &.simditor-icon {
|
|
|
176
|
+ display: inline;
|
|
|
177
|
+ line-height: normal;
|
|
|
178
|
+ }
|
|
|
179
|
+ }
|
|
|
180
|
+
|
|
|
181
|
+ &:hover span {
|
|
|
182
|
+ opacity: 1;
|
|
|
183
|
+ }
|
|
|
184
|
+
|
|
|
185
|
+ &.active {
|
|
|
186
|
+ background: #eeeeee;
|
|
|
187
|
+
|
|
|
188
|
+ span {
|
|
|
189
|
+ opacity: 1;
|
|
|
190
|
+ }
|
|
|
191
|
+ }
|
|
|
192
|
+
|
|
|
193
|
+ &.disabled {
|
|
|
194
|
+ cursor: default;
|
|
|
195
|
+
|
|
|
196
|
+ span {
|
|
|
197
|
+ opacity: 0.3;
|
|
|
198
|
+ }
|
|
|
199
|
+ }
|
|
|
200
|
+
|
|
|
201
|
+ &.toolbar-item-title {
|
|
|
202
|
+ span:before {
|
|
|
203
|
+ content: "H";
|
|
|
204
|
+ font-size: 19px;
|
|
|
205
|
+ font-weight: bold;
|
|
|
206
|
+ font-family: 'Times New Roman';
|
|
|
207
|
+ }
|
|
|
208
|
+
|
|
|
209
|
+ &.active-h1 span:before {
|
|
|
210
|
+ content: 'H1';
|
|
|
211
|
+ font-size: 18px;
|
|
|
212
|
+ }
|
|
|
213
|
+
|
|
|
214
|
+ &.active-h2 span:before {
|
|
|
215
|
+ content: 'H2';
|
|
|
216
|
+ font-size: 18px;
|
|
|
217
|
+ }
|
|
|
218
|
+
|
|
|
219
|
+ &.active-h3 span:before {
|
|
|
220
|
+ content: 'H3';
|
|
|
221
|
+ font-size: 18px;
|
|
|
222
|
+ }
|
|
|
223
|
+ }
|
|
|
224
|
+
|
|
|
225
|
+ &.toolbar-item-image {
|
|
|
226
|
+ position: relative;
|
|
|
227
|
+ overflow: hidden;
|
|
|
228
|
+
|
|
|
229
|
+ & > input[type=file] {
|
|
|
230
|
+ position: absolute;
|
|
|
231
|
+ right: 0px;
|
|
|
232
|
+ top: 0px;
|
|
|
233
|
+ opacity: 0;
|
|
|
234
|
+ font-size: 100px;
|
|
|
235
|
+ cursor: pointer;
|
|
|
236
|
+ }
|
|
|
237
|
+ }
|
|
|
238
|
+ }
|
|
|
239
|
+
|
|
|
240
|
+ &.menu-on {
|
|
|
241
|
+ .toolbar-item {
|
|
|
242
|
+ position: relative;
|
|
|
243
|
+ z-index: 20;
|
|
|
244
|
+ background: #ffffff;
|
|
|
245
|
+ box-shadow: 0 1px 4px rgba(0,0,0,0.3);
|
|
|
246
|
+
|
|
|
247
|
+ span {
|
|
|
248
|
+ opacity: 1;
|
|
|
249
|
+ }
|
|
|
250
|
+ }
|
|
|
251
|
+
|
|
|
252
|
+ .toolbar-menu {
|
|
|
253
|
+ display: block;
|
|
|
254
|
+ }
|
|
|
255
|
+ }
|
|
|
256
|
+ }
|
|
|
257
|
+ }
|
|
|
258
|
+
|
|
|
259
|
+ .toolbar-menu {
|
|
|
260
|
+ display: none;
|
|
|
261
|
+ position: absolute;
|
|
|
262
|
+ top: $simditor-button-height;
|
|
|
263
|
+ left: 0;
|
|
|
264
|
+ z-index: 21;
|
|
|
265
|
+ background: #ffffff;
|
|
|
266
|
+ text-align: left;
|
|
|
267
|
+ box-shadow: 0 0 4px rgba(0,0,0,0.3);
|
|
|
268
|
+
|
|
|
269
|
+ &:before {
|
|
|
270
|
+ content: '';
|
|
|
271
|
+ display: block;
|
|
|
272
|
+ width: $simditor-button-width;
|
|
|
273
|
+ height: 4px;
|
|
|
274
|
+ background: #ffffff;
|
|
|
275
|
+ position: absolute;
|
|
|
276
|
+ top: -3px;
|
|
|
277
|
+ left: 0;
|
|
|
278
|
+ }
|
|
|
279
|
+
|
|
|
280
|
+ ul {
|
|
|
281
|
+ min-width: 160px;
|
|
|
282
|
+ list-style: none;
|
|
|
283
|
+ margin: 0;
|
|
|
284
|
+ padding: 10px 1px;
|
|
|
285
|
+
|
|
|
286
|
+ & > li {
|
|
|
287
|
+
|
|
|
288
|
+ .menu-item {
|
|
|
289
|
+ display: block;
|
|
|
290
|
+ font-size:16px;
|
|
|
291
|
+ line-height: 2em;
|
|
|
292
|
+ padding: 0 10px;
|
|
|
293
|
+ text-decoration: none;
|
|
|
294
|
+ color: #666666;
|
|
|
295
|
+
|
|
|
296
|
+ &:hover {
|
|
|
297
|
+ background: #f6f6f6;
|
|
|
298
|
+ }
|
|
|
299
|
+
|
|
|
300
|
+ &.menu-item-h1 {
|
|
|
301
|
+ font-size: 24px;
|
|
|
302
|
+ color: #333333;
|
|
|
303
|
+ }
|
|
|
304
|
+
|
|
|
305
|
+ &.menu-item-h2 {
|
|
|
306
|
+ font-size: 22px;
|
|
|
307
|
+ color: #333333;
|
|
|
308
|
+ }
|
|
|
309
|
+
|
|
|
310
|
+ &.menu-item-h3 {
|
|
|
311
|
+ font-size: 20px;
|
|
|
312
|
+ color: #333333;
|
|
|
313
|
+ }
|
|
|
314
|
+
|
|
|
315
|
+ &.menu-item-h4 {
|
|
|
316
|
+ font-size: 18px;
|
|
|
317
|
+ color: #333333;
|
|
|
318
|
+ }
|
|
|
319
|
+
|
|
|
320
|
+ &.menu-item-h5 {
|
|
|
321
|
+ font-size: 16px;
|
|
|
322
|
+ color: #333333;
|
|
|
323
|
+ }
|
|
|
324
|
+ }
|
|
|
325
|
+
|
|
|
326
|
+ .separator {
|
|
|
327
|
+ display: block;
|
|
|
328
|
+ border-top: 1px solid #cccccc;
|
|
|
329
|
+ height: 0;
|
|
|
330
|
+ line-height: 0;
|
|
|
331
|
+ font-size: 0;
|
|
|
332
|
+ margin: 6px 0;
|
|
|
333
|
+ }
|
|
|
334
|
+ }
|
|
|
335
|
+
|
|
|
336
|
+ }
|
|
|
337
|
+
|
|
|
338
|
+ &.toolbar-menu-color {
|
|
|
339
|
+ width: 96px;
|
|
|
340
|
+
|
|
|
341
|
+ .color-list {
|
|
|
342
|
+ height: 40px;
|
|
|
343
|
+ margin: 10px 6px 6px 10px;
|
|
|
344
|
+ padding: 0;
|
|
|
345
|
+
|
|
|
346
|
+ min-width: 0;
|
|
|
347
|
+
|
|
|
348
|
+ li {
|
|
|
349
|
+ float: left;
|
|
|
350
|
+ margin: 0 4px 4px 0;
|
|
|
351
|
+
|
|
|
352
|
+ .font-color {
|
|
|
353
|
+ display: block;
|
|
|
354
|
+ width: 16px;
|
|
|
355
|
+ height: 16px;
|
|
|
356
|
+ background: #dfdfdf;
|
|
|
357
|
+ border-radius: 2px;
|
|
|
358
|
+
|
|
|
359
|
+ &:hover {
|
|
|
360
|
+ opacity: 0.8;
|
|
|
361
|
+ }
|
|
|
362
|
+
|
|
|
363
|
+ &.font-color-default {
|
|
|
364
|
+ background: #333333;
|
|
|
365
|
+ }
|
|
|
366
|
+ }
|
|
|
367
|
+
|
|
|
368
|
+ $font-colors: #E33737 #e28b41 #c8a732 #209361 #418caf #aa8773 #999999;
|
|
|
369
|
+ $i: 1;
|
|
|
370
|
+ @each $color in $font-colors {
|
|
|
371
|
+ .font-color-#{$i} {
|
|
|
372
|
+ background: $color;
|
|
|
373
|
+ }
|
|
|
374
|
+ $i: $i + 1;
|
|
|
375
|
+ }
|
|
|
376
|
+ }
|
|
|
377
|
+ }
|
|
|
378
|
+ }
|
|
|
379
|
+
|
|
|
380
|
+ &.toolbar-menu-table {
|
|
|
381
|
+ .menu-create-table {
|
|
|
382
|
+ background: #ffffff;
|
|
|
383
|
+ padding: 1px;
|
|
|
384
|
+
|
|
|
385
|
+ table {
|
|
|
386
|
+ border: none;
|
|
|
387
|
+ border-collapse: collapse;
|
|
|
388
|
+ border-spacing: 0;
|
|
|
389
|
+ table-layout: fixed;
|
|
|
390
|
+
|
|
|
391
|
+ td {
|
|
|
392
|
+ padding: 0;
|
|
|
393
|
+ cursor: pointer;
|
|
|
394
|
+
|
|
|
395
|
+ &:before {
|
|
|
396
|
+ width: 16px;
|
|
|
397
|
+ height: 16px;
|
|
|
398
|
+ border: 1px solid #ffffff;
|
|
|
399
|
+ background: #f3f3f3;
|
|
|
400
|
+ display: block;
|
|
|
401
|
+ content: ''
|
|
|
402
|
+ }
|
|
|
403
|
+
|
|
|
404
|
+ &.selected:before {
|
|
|
405
|
+ background: #cfcfcf;
|
|
|
406
|
+ }
|
|
|
407
|
+ }
|
|
|
408
|
+ }
|
|
|
409
|
+ }
|
|
|
410
|
+
|
|
|
411
|
+ .menu-edit-table {
|
|
|
412
|
+ display: none;
|
|
|
413
|
+
|
|
|
414
|
+ ul {
|
|
|
415
|
+ li {
|
|
|
416
|
+ white-space: nowrap;
|
|
|
417
|
+ }
|
|
|
418
|
+ }
|
|
|
419
|
+ }
|
|
|
420
|
+ }
|
|
|
421
|
+
|
|
|
422
|
+ &.toolbar-menu-image {
|
|
|
423
|
+ .menu-item-upload-image {
|
|
|
424
|
+ position: relative;
|
|
|
425
|
+ overflow: hidden;
|
|
|
426
|
+
|
|
|
427
|
+ input[type=file] {
|
|
|
428
|
+ position: absolute;
|
|
|
429
|
+ right: 0px;
|
|
|
430
|
+ top: 0px;
|
|
|
431
|
+ opacity: 0;
|
|
|
432
|
+ font-size: 100px;
|
|
|
433
|
+ cursor: pointer;
|
|
|
434
|
+ }
|
|
|
435
|
+ }
|
|
|
436
|
+ }
|
|
|
437
|
+
|
|
|
438
|
+ &.toolbar-menu-alignment {
|
|
|
439
|
+ width: 100%;
|
|
|
440
|
+ ul {
|
|
|
441
|
+ min-width: 100%;
|
|
|
442
|
+ }
|
|
|
443
|
+ .menu-item {
|
|
|
444
|
+ text-align: center;
|
|
|
445
|
+ }
|
|
|
446
|
+ }
|
|
|
447
|
+ }
|
|
|
448
|
+ }
|
|
|
449
|
+
|
|
|
450
|
+ .simditor-popover {
|
|
|
451
|
+ display: none;
|
|
|
452
|
+ padding: 5px 8px 0;
|
|
|
453
|
+ background: #ffffff;
|
|
|
454
|
+ box-shadow: 0 1px 4px rgba(0,0,0,0.4);
|
|
|
455
|
+ border-radius: 2px;
|
|
|
456
|
+ position: absolute;
|
|
|
457
|
+ z-index: 2;
|
|
|
458
|
+
|
|
|
459
|
+ .settings-field {
|
|
|
460
|
+ margin: 0 0 5px 0;
|
|
|
461
|
+ font-size: 12px;
|
|
|
462
|
+ height: 25px;
|
|
|
463
|
+ line-height: 25px;
|
|
|
464
|
+
|
|
|
465
|
+ label {
|
|
|
466
|
+ display: inline-block;
|
|
|
467
|
+ margin: 0 5px 0 0;
|
|
|
468
|
+ }
|
|
|
469
|
+
|
|
|
470
|
+ input[type=text] {
|
|
|
471
|
+ display: inline-block;
|
|
|
472
|
+ width: 200px;
|
|
|
473
|
+ box-sizing: border-box;
|
|
|
474
|
+ font-size: 12px;
|
|
|
475
|
+
|
|
|
476
|
+ &.image-size {
|
|
|
477
|
+ width: 83px;
|
|
|
478
|
+ }
|
|
|
479
|
+ }
|
|
|
480
|
+
|
|
|
481
|
+ .times {
|
|
|
482
|
+ display: inline-block;
|
|
|
483
|
+ width: 26px;
|
|
|
484
|
+ font-size: 12px;
|
|
|
485
|
+ text-align: center;
|
|
|
486
|
+ }
|
|
|
487
|
+ }
|
|
|
488
|
+
|
|
|
489
|
+ &.link-popover .btn-unlink,
|
|
|
490
|
+ &.image-popover .btn-upload,
|
|
|
491
|
+ &.image-popover .btn-restore {
|
|
|
492
|
+ display: inline-block;
|
|
|
493
|
+ margin: 0 0 0 5px;
|
|
|
494
|
+ color: #333333;
|
|
|
495
|
+ font-size: 14px;
|
|
|
496
|
+ outline: 0;
|
|
|
497
|
+
|
|
|
498
|
+ span {
|
|
|
499
|
+ opacity: 0.6;
|
|
|
500
|
+ }
|
|
|
501
|
+
|
|
|
502
|
+ &:hover span {
|
|
|
503
|
+ opacity: 1;
|
|
|
504
|
+ }
|
|
|
505
|
+ }
|
|
|
506
|
+
|
|
|
507
|
+ &.image-popover .btn-upload {
|
|
|
508
|
+ position: relative;
|
|
|
509
|
+ display: inline-block;
|
|
|
510
|
+ overflow: hidden;
|
|
|
511
|
+ vertical-align: middle;
|
|
|
512
|
+
|
|
|
513
|
+ input[type=file] {
|
|
|
514
|
+ position: absolute;
|
|
|
515
|
+ right: 0px;
|
|
|
516
|
+ top: 0px;
|
|
|
517
|
+ opacity: 0;
|
|
|
518
|
+ height: 100%;
|
|
|
519
|
+ width: 28px;
|
|
|
520
|
+ }
|
|
|
521
|
+ }
|
|
|
522
|
+ }
|
|
|
523
|
+
|
|
|
524
|
+ &.simditor-mobile {
|
|
|
525
|
+ .simditor-wrapper.toolbar-floating .simditor-toolbar {
|
|
|
526
|
+ position: absolute;
|
|
|
527
|
+ top: 0;
|
|
|
528
|
+ z-index: 10;
|
|
|
529
|
+ box-shadow: 0 0 6px rgba(0,0,0,0.1);
|
|
|
530
|
+ }
|
|
|
531
|
+ }
|
|
|
532
|
+}
|
|
|
533
|
+
|
|
|
534
|
+
|
|
|
535
|
+
|
|
|
536
|
+.simditor .simditor-body, .editor-style {
|
|
|
537
|
+ font-size: 16px;
|
|
|
538
|
+ font-family: arial, sans-serif;
|
|
|
539
|
+ line-height: 1.6;
|
|
|
540
|
+ color: #333;
|
|
|
541
|
+ outline: none;
|
|
|
542
|
+ word-wrap: break-word;
|
|
|
543
|
+
|
|
|
544
|
+ & > :first-child {
|
|
|
545
|
+ margin-top: 0!important;
|
|
|
546
|
+ }
|
|
|
547
|
+
|
|
|
548
|
+ a{ color: #4298BA; text-decoration: none; word-break: break-all;}
|
|
|
549
|
+ a:visited{ color: #4298BA; }
|
|
|
550
|
+ a:hover{ color: #0F769F; }
|
|
|
551
|
+ a:active{ color:#9E792E; }
|
|
|
552
|
+ a:hover, a:active{ outline: 0; }
|
|
|
553
|
+
|
|
|
554
|
+ h1,h2,h3,h4,h5,h6 {
|
|
|
555
|
+ font-weight: normal;
|
|
|
556
|
+ margin: 40px 0 20px;
|
|
|
557
|
+ color: #000000;
|
|
|
558
|
+ }
|
|
|
559
|
+
|
|
|
560
|
+ h1 { font-size: 24px; }
|
|
|
561
|
+ h2 { font-size: 22px; }
|
|
|
562
|
+ h3 { font-size: 20px; }
|
|
|
563
|
+ h4 { font-size: 18px; }
|
|
|
564
|
+ h5 { font-size: 16px; }
|
|
|
565
|
+ h6 { font-size: 16px; }
|
|
|
566
|
+
|
|
|
567
|
+ p, div {
|
|
|
568
|
+ word-wrap: break-word;
|
|
|
569
|
+ margin: 0 0 15px 0;
|
|
|
570
|
+ color: #333;
|
|
|
571
|
+ word-wrap: break-word;
|
|
|
572
|
+ }
|
|
|
573
|
+
|
|
|
574
|
+ b, strong {
|
|
|
575
|
+ font-weight: bold;
|
|
|
576
|
+ }
|
|
|
577
|
+
|
|
|
578
|
+ i, em {
|
|
|
579
|
+ font-style: italic;
|
|
|
580
|
+ }
|
|
|
581
|
+
|
|
|
582
|
+ u {
|
|
|
583
|
+ text-decoration: underline;
|
|
|
584
|
+ }
|
|
|
585
|
+
|
|
|
586
|
+ strike, del {
|
|
|
587
|
+ text-decoration: line-through;
|
|
|
588
|
+ }
|
|
|
589
|
+
|
|
|
590
|
+ ul, ol {
|
|
|
591
|
+ list-style:disc outside none;
|
|
|
592
|
+ margin: 15px 0;
|
|
|
593
|
+ padding: 0 0 0 40px;
|
|
|
594
|
+ line-height: 1.6;
|
|
|
595
|
+
|
|
|
596
|
+ ul, ol {
|
|
|
597
|
+ padding-left: 30px;
|
|
|
598
|
+ }
|
|
|
599
|
+
|
|
|
600
|
+ ul {
|
|
|
601
|
+ list-style: circle outside none;
|
|
|
602
|
+
|
|
|
603
|
+ ul {
|
|
|
604
|
+ list-style: square outside none;
|
|
|
605
|
+ }
|
|
|
606
|
+ }
|
|
|
607
|
+ }
|
|
|
608
|
+
|
|
|
609
|
+ ol {
|
|
|
610
|
+ list-style:decimal;
|
|
|
611
|
+ }
|
|
|
612
|
+
|
|
|
613
|
+ blockquote {
|
|
|
614
|
+ border-left: 6px solid #ddd;
|
|
|
615
|
+ padding: 5px 0 5px 10px;
|
|
|
616
|
+ margin: 15px 0 15px 15px;
|
|
|
617
|
+
|
|
|
618
|
+ & > :first-child {
|
|
|
619
|
+ margin-top: 0;
|
|
|
620
|
+ }
|
|
|
621
|
+ }
|
|
|
622
|
+
|
|
|
623
|
+ code {
|
|
|
624
|
+ display: inline-block;
|
|
|
625
|
+ padding: 0 4px;
|
|
|
626
|
+ margin: 0 5px;
|
|
|
627
|
+ background: #eeeeee;
|
|
|
628
|
+ border-radius: 3px;
|
|
|
629
|
+ font-size: 13px;
|
|
|
630
|
+ font-family: 'monaco', 'Consolas', "Liberation Mono", Courier, monospace;
|
|
|
631
|
+ }
|
|
|
632
|
+
|
|
|
633
|
+ pre {
|
|
|
634
|
+ padding: 10px 5px 10px 10px;
|
|
|
635
|
+ margin: 15px 0;
|
|
|
636
|
+ display: block;
|
|
|
637
|
+ line-height: 18px;
|
|
|
638
|
+ background: #F0F0F0;
|
|
|
639
|
+ border-radius: 3px;
|
|
|
640
|
+ font-size:13px;
|
|
|
641
|
+ font-family: 'monaco', 'Consolas', "Liberation Mono", Courier, monospace;
|
|
|
642
|
+ white-space: pre;
|
|
|
643
|
+ word-wrap: normal;
|
|
|
644
|
+ overflow-x: auto;
|
|
|
645
|
+
|
|
|
646
|
+ code {
|
|
|
647
|
+ display: block;
|
|
|
648
|
+ padding: 0;
|
|
|
649
|
+ margin: 0;
|
|
|
650
|
+ background: none;
|
|
|
651
|
+ border-radius: 0;
|
|
|
652
|
+ }
|
|
|
653
|
+ }
|
|
|
654
|
+
|
|
|
655
|
+ hr {
|
|
|
656
|
+ display: block;
|
|
|
657
|
+ height: 0px;
|
|
|
658
|
+ border: 0;
|
|
|
659
|
+ border-top: 1px solid #ccc;
|
|
|
660
|
+ margin: 15px 0;
|
|
|
661
|
+ padding: 0;
|
|
|
662
|
+ }
|
|
|
663
|
+
|
|
|
664
|
+ table {
|
|
|
665
|
+ width: 100%;
|
|
|
666
|
+ table-layout: fixed;
|
|
|
667
|
+ border-collapse: collapse;
|
|
|
668
|
+ border-spacing: 0;
|
|
|
669
|
+ margin: 15px 0;
|
|
|
670
|
+
|
|
|
671
|
+ thead {
|
|
|
672
|
+ background-color: #f9f9f9;
|
|
|
673
|
+ }
|
|
|
674
|
+
|
|
|
675
|
+ td, th {
|
|
|
676
|
+ min-width: 40px;
|
|
|
677
|
+ height: 30px;
|
|
|
678
|
+ border: 1px solid #ccc;
|
|
|
679
|
+ vertical-align: top;
|
|
|
680
|
+ padding: 2px 4px;
|
|
|
681
|
+ text-align: left;
|
|
|
682
|
+ box-sizing: border-box;
|
|
|
683
|
+
|
|
|
684
|
+ &.active {
|
|
|
685
|
+ background-color: #ffffee;
|
|
|
686
|
+ }
|
|
|
687
|
+ }
|
|
|
688
|
+ }
|
|
|
689
|
+
|
|
|
690
|
+
|
|
|
691
|
+ img {
|
|
|
692
|
+ margin: 0 5px;
|
|
|
693
|
+ vertical-align: middle;
|
|
|
694
|
+ }
|
|
|
695
|
+
|
|
|
696
|
+}
|
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+@font-face{font-family:'Simditor';src:url(data:application/font-woff;charset=utf-8;base64,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) format('woff');font-weight:normal;font-style:normal}.simditor-icon{display:inline-block;font:normal normal normal 14px/1 'Simditor';font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0,0)}.simditor-icon-code:before{content:'\f000'}.simditor-icon-bold:before{content:'\f001'}.simditor-icon-italic:before{content:'\f002'}.simditor-icon-underline:before{content:'\f003'}.simditor-icon-times:before{content:'\f004'}.simditor-icon-strikethrough:before{content:'\f005'}.simditor-icon-list-ol:before{content:'\f006'}.simditor-icon-list-ul:before{content:'\f007'}.simditor-icon-quote-left:before{content:'\f008'}.simditor-icon-table:before{content:'\f009'}.simditor-icon-link:before{content:'\f00a'}.simditor-icon-picture-o:before{content:'\f00b'}.simditor-icon-minus:before{content:'\f00c'}.simditor-icon-indent:before{content:'\f00d'}.simditor-icon-outdent:before{content:'\f00e'}.simditor-icon-unlink:before{content:'\f00f'}.simditor-icon-caret-down:before{content:'\f010'}.simditor-icon-caret-right:before{content:'\f011'}.simditor-icon-upload:before{content:'\f012'}.simditor-icon-undo:before{content:'\f013'}.simditor-icon-smile-o:before{content:'\f014'}.simditor-icon-tint:before{content:'\f015'}.simditor-icon-font:before{content:'\f016'}.simditor-icon-html5:before{content:'\f017'}.simditor-icon-mark:before{content:'\f018'}.simditor-icon-align-center:before{content:'\f019'}.simditor-icon-align-left:before{content:'\f01a'}.simditor-icon-align-right:before{content:'\f01b'}.simditor-icon-font-minus:before{content:'\f01c'}.simditor-icon-markdown:before{content:'\f01d'}.simditor-icon-checklist:before{content:'\f01e'}
|
|
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+.simditor .simditor-body .simditor-checklist {
|
|
|
2
|
+ margin: 15px 0;
|
|
|
3
|
+ padding: 0 0 0 40px;
|
|
|
4
|
+ line-height: 1.6;
|
|
|
5
|
+ list-style-type: none;
|
|
|
6
|
+}
|
|
|
7
|
+
|
|
|
8
|
+.simditor .simditor-body .simditor-checklist > li {
|
|
|
9
|
+ margin: 0;
|
|
|
10
|
+ pointer-events: none;
|
|
|
11
|
+}
|
|
|
12
|
+.simditor .simditor-body .simditor-checklist > li::before {
|
|
|
13
|
+ content: '';
|
|
|
14
|
+ pointer-events: all;
|
|
|
15
|
+ display: inline-block;
|
|
|
16
|
+ margin: 0 5px 0 -25px;
|
|
|
17
|
+ width: 20px;
|
|
|
18
|
+ height: 20px;
|
|
|
19
|
+ cursor: default;
|
|
|
20
|
+ vertical-align: middle;
|
|
|
21
|
+ background-image: url("data:image/gif;base64,R0lGODlhFAAUAPUAAP///9nZ2XV1dWNjY3Z2dv7+/mpqasbGxsPDw21tbfv7+2RkZM/Pz/X19crKymdnZ+/v725ubsvLy/Hx8XBwcO7u7nd3d83Nzezs7Hp6eoCAgNfX14SEhIqKitLS0uDg4I2NjZSUlNTU1Ojo6NXV1ZaWlp6entjY2J+fn6WlpeXl5ebm5qmpqY6OjvPz85CQkP39/Xt7e/Ly8t3d3dzc3P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAAA1ACwAAAAAFAAUAAAG/8BarVar1Wq1Wq1Wq9VqtVqtVqvVarVarVar1Wq1Wq1Wq9VqtVqtVqvVarVarVar1Wq1Wq1Wq9WAtVpAMBgMBoPBYEAI1Gq1Wq1WKxgOAAAAAAAAAIhEoVar1Wo1xYLRaDQajUaj4XgoarVarVaDACOSyWQymUwmEwkFUqvVarVaxXLBYDAYDAaDuWQqtVqtVqtVNIzNZrPZbDYbBqdSq9VqtVql4wF+Pp/P5/P5eECVWq1Wq9UqIdFoNBqNRqMRqVSp1Wq1Wq1i2kwmk8lkMpmcUJVarVar1SopFQAABAAAAABgxarUarVaraZoOVwul8vlcrkuL0WtVqvVajBHTGYgEAgEAoEg5oDVarVarVaDyWY0Gg1Io9FmMlitVqvVarVarVYoFAqFQqFQq9VqtVqtVqvVarVarVar1Wq1Wq1Wq9VqtVqtVqvVarUasFar1Wq1Wq1Wq9VqtVqtVqvVarVarVar1YIAOw==");
|
|
|
22
|
+}
|
|
|
23
|
+.simditor .simditor-body .simditor-checklist > li[checked]::before {
|
|
|
24
|
+ background-image: url("data:image/gif;base64,R0lGODlhFAAUAPYAAAAAAHeHkD9QYB8wSOjo6Haw6C1huLbn8MfY8Ja42I630Ia48NjY2IefoJbH6Ja44H648D9CkCVZsE9XWFWY2D5wqI+foH6gwE9fYHeIoF93iPj4+J7P+J7A4IegyE54sPDw8I+nuB5BmAAHCEdXWC9BiFaAuFdveF2g4F9veB5JoA8PD12Y4GWg4CZRqKbI6GWo4BcoOK7Q8Cc4SDVwwAcPEEdQYA8YIDc/QBYykC1pwD9IWGaY0C8/SE2Q0B84UF6QyFWY4E2Q2D5omAcIGA8gMEZoiEZvkC5ZsE9ZmP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAABKACwAAAAAFAAUAAAH/4BKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKEys4SkpKSkpKSkpKSkpKSkpKShYAIyBKSkpKSkpKIUkRERERERERNwA2SkpKSkpKShslHggICAgICAEANyUbSkpKSkpKGzkoMjIyMjIdKwAVORtKSkpKSkogIhSAOz0ZMjI2ADZBIiBKSkpKSkogKkEaACsJFwArHUEqIEpKSkpKSiAuQSgxAD8xAEMoQS4gSkpKSkpKIEgoMDw1AAADMDAoSCBKSkpKSkogBigFBUcANTwFBS0GIEpKSkpKSiA0MAsLCzNHCwsLLTQgSkpKSkpKICYLHBwcDhwcgJYcHAsmIEpKSkpKShspCgcHBwcHBwcHCikbSkpKSkpKGxYYGBgYGBgYGBgYFhtKSkpKSkpKGyAMDAwMDAwMDCAbSkpKSkpKSkpKShsbGxsbGxsbSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkqASkpKSkpKSkpKSkpKSkpKSkpKSkpKSoEAOw==");
|
|
|
25
|
+}
|
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+.simditor .simditor-body .simditor-checklist{margin:15px 0;padding:0 0 0 40px;line-height:1.6;list-style-type:none}.simditor .simditor-body .simditor-checklist>li{margin:0;pointer-events:none}.simditor .simditor-body .simditor-checklist>li::before{content:'';pointer-events:all;display:inline-block;margin:0 5px 0 -25px;width:20px;height:20px;cursor:default;vertical-align:middle;background-image:url("data:image/gif;base64,R0lGODlhFAAUAPUAAP///9nZ2XV1dWNjY3Z2dv7+/mpqasbGxsPDw21tbfv7+2RkZM/Pz/X19crKymdnZ+/v725ubsvLy/Hx8XBwcO7u7nd3d83Nzezs7Hp6eoCAgNfX14SEhIqKitLS0uDg4I2NjZSUlNTU1Ojo6NXV1ZaWlp6entjY2J+fn6WlpeXl5ebm5qmpqY6OjvPz85CQkP39/Xt7e/Ly8t3d3dzc3P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAAA1ACwAAAAAFAAUAAAG/8BarVar1Wq1Wq1Wq9VqtVqtVqvVarVarVar1Wq1Wq1Wq9VqtVqtVqvVarVarVar1Wq1Wq1Wq9WAtVpAMBgMBoPBYEAI1Gq1Wq1WKxgOAAAAAAAAAIhEoVar1Wo1xYLRaDQajUaj4XgoarVarVaDACOSyWQymUwmEwkFUqvVarVaxXLBYDAYDAaDuWQqtVqtVqtVNIzNZrPZbDYbBqdSq9VqtVql4wF+Pp/P5/P5eECVWq1Wq9UqIdFoNBqNRqMRqVSp1Wq1Wq1i2kwmk8lkMpmcUJVarVar1SopFQAABAAAAABgxarUarVaraZoOVwul8vlcrkuL0WtVqvVajBHTGYgEAgEAoEg5oDVarVarVaDyWY0Gg1Io9FmMlitVqvVarVarVYoFAqFQqFQq9VqtVqtVqvVarVarVar1Wq1Wq1Wq9VqtVqtVqvVarUasFar1Wq1Wq1Wq9VqtVqtVqvVarVarVar1YIAOw==")}.simditor .simditor-body .simditor-checklist>li[checked]::before{background-image:url("data:image/gif;base64,R0lGODlhFAAUAPYAAAAAAHeHkD9QYB8wSOjo6Haw6C1huLbn8MfY8Ja42I630Ia48NjY2IefoJbH6Ja44H648D9CkCVZsE9XWFWY2D5wqI+foH6gwE9fYHeIoF93iPj4+J7P+J7A4IegyE54sPDw8I+nuB5BmAAHCEdXWC9BiFaAuFdveF2g4F9veB5JoA8PD12Y4GWg4CZRqKbI6GWo4BcoOK7Q8Cc4SDVwwAcPEEdQYA8YIDc/QBYykC1pwD9IWGaY0C8/SE2Q0B84UF6QyFWY4E2Q2D5omAcIGA8gMEZoiEZvkC5ZsE9ZmP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAABKACwAAAAAFAAUAAAH/4BKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKEys4SkpKSkpKSkpKSkpKSkpKShYAIyBKSkpKSkpKIUkRERERERERNwA2SkpKSkpKShslHggICAgICAEANyUbSkpKSkpKGzkoMjIyMjIdKwAVORtKSkpKSkogIhSAOz0ZMjI2ADZBIiBKSkpKSkogKkEaACsJFwArHUEqIEpKSkpKSiAuQSgxAD8xAEMoQS4gSkpKSkpKIEgoMDw1AAADMDAoSCBKSkpKSkogBigFBUcANTwFBS0GIEpKSkpKSiA0MAsLCzNHCwsLLTQgSkpKSkpKICYLHBwcDhwcgJYcHAsmIEpKSkpKShspCgcHBwcHBwcHCikbSkpKSkpKGxYYGBgYGBgYGBgYFhtKSkpKSkpKGyAMDAwMDAwMDCAbSkpKSkpKSkpKShsbGxsbGxsbSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkqASkpKSkpKSkpKSkpKSkpKSkpKSkpKSoEAOw==")}
|
|
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+@font-face {
|
|
|
2
|
+ font-family: 'icomoon';
|
|
|
3
|
+ src: url("../fonts/icomoon.eot?4vkjot");
|
|
|
4
|
+ src: url("../fonts/icomoon.eot?#iefix4vkjot") format("embedded-opentype"), url("../fonts/icomoon.ttf?4vkjot") format("truetype"), url("../fonts/icomoon.woff?4vkjot") format("woff"), url("../fonts/icomoon.svg?4vkjot#icomoon") format("svg");
|
|
|
5
|
+ font-weight: normal;
|
|
|
6
|
+ font-style: normal;
|
|
|
7
|
+}
|
|
|
8
|
+[class^="icon-"], [class*=" icon-"] {
|
|
|
9
|
+ font-family: 'icomoon';
|
|
|
10
|
+ speak: none;
|
|
|
11
|
+ font-style: normal;
|
|
|
12
|
+ font-weight: normal;
|
|
|
13
|
+ font-variant: normal;
|
|
|
14
|
+ text-transform: none;
|
|
|
15
|
+ line-height: 1;
|
|
|
16
|
+ /* Better Font Rendering =========== */
|
|
|
17
|
+ -webkit-font-smoothing: antialiased;
|
|
|
18
|
+ -moz-osx-font-smoothing: grayscale;
|
|
|
19
|
+}
|
|
|
20
|
+
|
|
|
21
|
+.icon-fullscreen:before {
|
|
|
22
|
+ content: "\e600";
|
|
|
23
|
+}
|
|
|
24
|
+
|
|
|
25
|
+.simditor-fullscreen {
|
|
|
26
|
+ overflow: hidden;
|
|
|
27
|
+}
|
|
|
28
|
+.simditor-fullscreen .simditor {
|
|
|
29
|
+ position: fixed;
|
|
|
30
|
+ top: 0;
|
|
|
31
|
+ left: 0;
|
|
|
32
|
+ z-index: 9999;
|
|
|
33
|
+ width: 100%;
|
|
|
34
|
+}
|
|
|
35
|
+.simditor-fullscreen .simditor .simditor-body {
|
|
|
36
|
+ overflow: auto;
|
|
|
37
|
+}
|
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+@font-face{font-family:'icomoon';src:url("../fonts/icomoon.eot?4vkjot");src:url("../fonts/icomoon.eot?#iefix4vkjot") format("embedded-opentype"),url("../fonts/icomoon.ttf?4vkjot") format("truetype"),url("../fonts/icomoon.woff?4vkjot") format("woff"),url("../fonts/icomoon.svg?4vkjot#icomoon") format("svg");font-weight:normal;font-style:normal}[class^="icon-"],[class*=" icon-"]{font-family:'icomoon';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-fullscreen:before{content:"\e600"}.simditor-fullscreen{overflow:hidden}.simditor-fullscreen .simditor{position:fixed;top:0;left:0;z-index:9999;width:100%}.simditor-fullscreen .simditor .simditor-body{overflow:auto}
|
|
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+.simditor .markdown-editor {
|
|
|
2
|
+ display: none;
|
|
|
3
|
+}
|
|
|
4
|
+.simditor .markdown-editor textarea {
|
|
|
5
|
+ display: block;
|
|
|
6
|
+ width: 100%;
|
|
|
7
|
+ min-height: 200px;
|
|
|
8
|
+ box-sizing: border-box;
|
|
|
9
|
+ padding: 22px 15px 40px;
|
|
|
10
|
+ border: none;
|
|
|
11
|
+ border-bottom: 1px solid #dfdfdf;
|
|
|
12
|
+ resize: none;
|
|
|
13
|
+ outline: none;
|
|
|
14
|
+ font-size: 16px;
|
|
|
15
|
+}
|
|
|
16
|
+.simditor.simditor-markdown .markdown-editor {
|
|
|
17
|
+ display: block;
|
|
|
18
|
+}
|
|
|
19
|
+.simditor.simditor-markdown .simditor-body {
|
|
|
20
|
+ min-height: 100px;
|
|
|
21
|
+ background: #f3f3f3;
|
|
|
22
|
+}
|
|
|
23
|
+.simditor.simditor-markdown .simditor-placeholder {
|
|
|
24
|
+ display: none !important;
|
|
|
25
|
+}
|
|
|
26
|
+.simditor .simditor-toolbar .toolbar-item.toolbar-item-markdown .simditor-icon {
|
|
|
27
|
+ font-size: 18px;
|
|
|
28
|
+}
|
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+.simditor .markdown-editor{display:none}.simditor .markdown-editor textarea{display:block;width:100%;min-height:200px;box-sizing:border-box;padding:22px 15px 40px;border:0;border-bottom:1px solid #dfdfdf;resize:none;outline:0;font-size:16px}.simditor.simditor-markdown .markdown-editor{display:block}.simditor.simditor-markdown .simditor-body{min-height:100px;background:#f3f3f3}.simditor.simditor-markdown .simditor-placeholder{display:none!important}.simditor .simditor-toolbar .toolbar-item.toolbar-item-markdown .simditor-icon{font-size:18px}
|
|
|
|
@@ -0,0 +1,746 @@
|
|
|
1
|
+/*!
|
|
|
2
|
+* Simditor v2.3.6
|
|
|
3
|
+* http://simditor.tower.im/
|
|
|
4
|
+* 2015-12-21
|
|
|
5
|
+*/
|
|
|
6
|
+@font-face {
|
|
|
7
|
+ font-family: 'Simditor';
|
|
|
8
|
+ src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABp8AA4AAAAAKmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAaYAAAABoAAAAcdO8GE09TLzIAAAG0AAAARQAAAGAQ+ZFXY21hcAAAAkgAAABRAAABWuA2Gx9jdnQgAAAEgAAAAAoAAAAKAwQAxGZwZ20AAAKcAAABsQAAAmUPtC+nZ2x5ZgAABNgAABPeAAAgZG/p6QxoZWFkAAABRAAAADAAAAA2BvuCgGhoZWEAAAF0AAAAHgAAACQH9QTlaG10eAAAAfwAAABKAAAAlHv7AItsb2NhAAAEjAAAAEwAAABMi4qTXm1heHAAAAGUAAAAIAAAACABRwHNbmFtZQAAGLgAAAEFAAAB12vS/ulwb3N0AAAZwAAAAJ4AAAFsyCrvunByZXAAAARQAAAALgAAAC6w8isUeNpjYGRgYADiKAkPy3h+m68M8swfgCIMF0/IVyDo/84sFswJQC4HAxNIFAAZwAnyeNpjYGRgYE5gmMAQzWLBwPD/O5AEiqAAVQBa6wPkAAAAAQAAACUAoAAKAAAAAAACAAEAAgAWAAABAAEpAAAAAHjaY2BhnsA4gYGVgYGpn+kgAwNDL4RmfMxgxMgCFGVgZWaAAUYBBjTQwMDwQY454X8BQzRzAsMEIJcRSVaBgREAQ9oK6QAAAHjaY8xhUGQAAsYABgbmDwjMYsEgxCzBwMDkAOQnALEEgx1UjhNMr4BjTqBakDxC/wqIPsYMqJoEKIbpk0C1C4zXM3DA5AEzchbtAAB42mNgYGBmgGAZBkYGEAgB8hjBfBYGCyDNxcDBwASEDAy8DAof5P7/B6sCsRmAbOb/3/8/FWCD6oUCRjaIkWA2SCcLAyoAqmZlGN4AALmUC0kAAAB42l1Ru05bQRDdDQ8DgcTYIDnaFLOZkALvhTZIIK4uwsh2YzlC2o1c5GJcwAdQIFGD9msGaChTpE2DkAskPoFPiJSZNYmiNDs7s3POmTNLypGqd2m956lzFkjhboNmm34npNpFgAfS9Y1GRtrBIy02M3rlun2/j8FmNOVOGkB5z1vKQ0bTTqAW7bl/Mj+D4T7/yzwHg5Zmmp5aZyE9hMB8M25p8DWjWXf9QV+xOlwNBoYU01Tc9cdUyv+W5lxtGbY2M5p3cCEiP5gGaGqtjUDTnzqkej6OYgly+WysDSamrD/JRHBhMl3VVC0zvnZwn+wsOtikSnPgAQ6wVZ6Ch+OjCYX0LYkyS0OEg9gqMULEJIdCTjl3sj8pUD6ShDFvktLOuGGtgXHkNTCozdMcvsxmU9tbhzB+EUfw3S/Gkg4+sqE2RoTYjlgKYAKRkFFVvqHGcy+LAbnU/jMQJWB5+u1fJwKtOzYRL2VtnWOMFYKe3zbf+WXF3apc50Whu3dVNVTplOZDL2ff4xFPj4XhoLHgzed9f6NA7Q2LGw2aA8GQ3o3e/9FadcRV3gsf2W81s7EWAAAAuAH/hbABjQBLsAhQWLEBAY5ZsUYGK1ghsBBZS7AUUlghsIBZHbAGK1xYWbAUKwAAAAAAowCFACECfwAAAAAAKgAqACoAKgAqACoAfgEkAcAChAK+A2oElgU2BbQGxgeYCBgIPgjGCU4KZgqKCq4LQAuYDDoMcAzuDXINoA4MDngO4g86D6QQMnjazVl5cBvXeX9vF4tdXHsBuwBBEvdBAgQXxOIgRPGQSEkULcoJJds6Yku2Na6TKJXHsnx0XNptHcvNpLaSJpkczthV68Zu0ulbQE58qXXaHK3j7ThjD6PmmnQmaTydSaqkmdbxkFC/tyApinXiuP2jlcC37/vegX3f8fu+7wExKIkQLjCPIxbxaNjCyNja4l3sTyqWm/vu1hbLQBdZLGVzlN3i3a7lrS1M+aaSVPKmkk5iz+tf/zrz+MrRJHMDgp3US3/tyjEvIQn1oiJCWd6dx7kGrsexLuGwjlm3AXSQ0h5M+5M4D3/1MNbx4b5AoPNmIIDdgQB0v/e9AJ78JqemVLfT4uN0sDtAHzBtvvvYsIK5aqWgcF6XyizRR+f+K9cAhRB9T3TpGTbCRlAARdAEehiRCYNwNulNLCmkzyZ+g6g2GTSIaJKCTUo2JpMGSS0RZBOp0kohb7E9lerzFMlghSDZ4nGRbLGJRpdXbGsKFy2UUlRL7Gk2iaacYzlfeCITbhJeJY0msvycorZj8eYWylMV4JFBtaXlKs1mszyS5UNh3azUqvlhnOLZsAZEvZpLp9gU35jAjfo4lvM5GEzn6xkzXAnrWogXMR/DITfvTuMy9hSyr0XSx+6VXa6+1NFbTrwrPvD+v8OevSHFLzT9cYbZgqXZ+U9cVahEC7nrTo6ZN33w2fdsCykvTOaaCTc+/vn7XbOf27X840CNEYXYRJYp6gEOswb24YPlHbsHtIgSvO1Tt/aNgglRWTJTIMsB9FeIDIAcTZKzidsmIYNoNumpEE0mvSDCQcMqgKDq0ecmDv/sY0grekXil4n0opXCvyTxF4Foi34pWCQpuZ1IxYPFdpK2LWAmPpT4UNotKmqzBTx4kEQTPe0X44lkatj5h6+gyFQUI8s9AErADCghpxChSUIq6W9aWq+iEh0EzeVzKTffqK/+V2sg03wjXKk33FSeImbcYKhhN4/fd9OemVtlr18f6ZF5rjKH9R0+33cKp0KsIC1o7ti2EsbaPoaf9TE+XHZxvoCWEf8N39gvBlhmi0fAkSinC+Kfdr71j6KX8/f3IsaxwaMgt13oOvSHqDWPUJHst4lgUJPbYrSVYGw6EzbJmG2FpioVMiaTCDWwcZMkbLKjgskBgwSWSMZuZQLUIDMxT7EVyNBuIAi2mZGtEbDEg/A3kgGDi/RuGQODQ1aiABSWA3WgrMgWkMa2JhlTyCTIBLxUhbO706lhZhxXc/mUgetmuFGpm3xYc6d4dz+mQgGbBJFN4OowNjCYIp9vmGG9EdZDsFbEwRoYbDIFk0O6mazUmTcx5w8nC4c/c/3p7WF9p8ozvPRZIiZYjLPTXh4L3N6Rxs1jUZ8Wcgksy/T3NAXGODmw0+tiotqg/xavsPwVwesV2K2Cl/ly0tv5m+Nbkjur+2+/7oX3J1hmBPMc5rMcJ/LTyd/77O8O9A6F5NSO04195WQ+hpmymxFwMCDybv/ymxm6EW2o/U5c+g/m28xHURrwSg9J2A0n5mmTq1J0gqZeiYPXQUOHmZdkeY9cVJ94Qi1CR37iiU30Y7+Cv0av4c9F0L2EBtEcWkTENMiMo3vJJmmD6OAuVwEILZGs3Z7IqkKRTNokK1uz4EAl29oDOp2cAMXJTZJVqPpm1afj+kChYlJIKSnnIv3R4qCjbWEGtF0ojU5SbaclIGQ12k+n6QqJUJVXdFCTG9SVA43XzUauVm3UzUoYAEUC7eaom4RA5WHeBPWKbIpqnBoHIFEjhqktgCHkc+z3qVyXq7TtjF6156NX3+4OMLwh9MVGPrhn7u6bzQd+7Ar7hq87cLq0N+lnmKasspMnM/trJQXf2tUIbTKzV98yuyunv6/pYVhmf9zcfnhPKp4+ox3a2j88qgd0r9fDjw8N4giTLrtu7Js5MCBRXHcjz6XbQK6HURiV0RSaR9ejD+BB1KpT3xq3iatCxmXC2hTHAeNlm0QNMmyTsk32GeSQTVIGydvkZoNsN8n7bKqSbZXWzM3UpWau8hQx+W2DsEtkrkIYmzCytQPUMW8TvtLaMU8n7Zj2FNvq/A7QV8IkXruleilbpaFiXrYMX5FE6J7WCVAgwyoqgJYWy+ym2tihtEOl4V1OSFCfllE4lb+KEvOK5RsCCPOqbTc3WHB0KvsB2LwB4NaVtkcMhuhEVrV4DVhIIUCNq8TdtIajYCS9TbIP4lqTlFVSapJDyrlYojCUoWtSKsk2SV4hg2AIDV5L10zNCSSpfMOJQXy+Pom1dK4KCFmrplNAmxWdBhrerHHaBrNJVnRM19fSbgoG2uZBZRP9QH3r87X+5Ph7s4m+SHlMqgT2v8wOhKfi0WA5tnNwNBceZ3ax+73Cyn5qF8wXBO/y6+fHsSsyMD/GXrORv7F/iOm/ZmQbPzhXzVaiiSwX3+a/cFAyG2IuEksmx40Zw5+KJNvH6Xza4J81Gmc8WnHXD//pMi+y3u3aFbr0XfYi8wvIlCQUR3nUANQ+gVoatSvIF1iKyzwkCgap2sRHKfDjccen05TKgz/PQmhcsvwZgHJsW0KiUrF24yKy+jSKxi4OUf+sloDw+AMCJWbGgUhmsgkgyiN1UAqoobL2xJvkiX4Ff7PcL0wemlz7sNddKd63YG7sn3KW/bPTdv5iXUaMsZlzpQAZJ+l6EvAujibRAmpxVG4Zk4puK6QHIDWT+G0yBDFtyiDCEgiI9NitHoE6T48CzoNlawB8LWmTpt1qDlB+c8RTtLaBBAHB4IhFnMrVlGp9bBXOgHaiD6W5txmH9K50oTT51F0ZSdOkzNg1CX2xNInfeEvuDPAmS/jDdz2lSbOSds2Yqiecif+NSY/tXT87tRwDzn81OgK2cx96BD2GHkStj1NZ+G1r6D1gGJxhZfabVDDWnnsrVDTWzB1Ab7Wt4x8GumZYxx4A+lGwp8cN8skl4rGtyCiMeGQLAabIZegP2tbsrfQpWwngTR2F/kHbuvsh+pStdwHvtvuh/xHb+hNHflmI1hvkUafYvpHmNo3j2q8ff6fzN39fQ+maLNWXgysJr3COGtQVzUZu5wdvzf9N5lxuZmvZFX+2Vssyv8hVD62b8A/We69ctvBn3oL5NsOX93lh5VHna46B5Gk+4Ln0ZfYx9jqomhqQDT7u1CNRm+x0ckE3RZBrneC013ayvrklmmLnZCsGPrFgk+10hm6TBdlinFLESfq25yC+JPtmds7vpWiixyBmTO+DALGgWKH98GTUds/4xLVORNkJgeJphm9u2TZNJxfcMHmGTrpWsYp0UUpt53bPvduBomy9CmlBio8xkO+5U8Ns3h2C7KgClZ4zAElUlx5m8hSSYiy3llnlqo38WnLVTan4cL0SZtOyfEoaVlnFzXkTMUnkZVaV7pBLUuer3ec+mCCXNk7A3zfK+4wHyyeNSqV8euTUFdTDsOQUpBcyz/sHEi6fW2FVAzaS8He6zwV5SL5ywr+PPDi8YJTvGDkNTmScuoJCLpqzuUbBj3kkohgaRu9FrbCDY4D/BkV/2SBF0I8BOcQSCUH9I1scaMNL8b6FOYpZ2NPFsl7gJ2yrDFrCUAsSf5P0KiQAemDDgPkCRACnXFSICOK+jOzJWiOMs5BXa0o3rwYPyYU3e8utDowz9y2/fu4QTuDE8r1O4vwAtAu17PK91N3ZB3JVZncXt19YPk4nnt0I9erKfsdCv5CrVimEQZ2HE2wEvwE4piEAKgrYfjiubFjKOghvjDNsJKGv7NcTCZ35gp7Af3ucdmmDOAcTLzr1dz8qoXHI1OqoFaTSjDr5r8upuyEphqoa5DcNJg9ftdewrqYR0yzQsg7RWll1zMo5OhjT5leovUP6a9xZXvR6Rf4sa6wlsuzLTgx81BHMsc39y3PwR/38Wc4r4BnBy53t/OjXwsMrV+QXby8PdoM8fG8tD4Gn8giCLax7l/6/lccFKgrOEQobeacCYYY7L1BR8I5cOrO/uUAEpz56kj2KPGBrSdRE74ZM/r3oJPo2apWpVAbsFiQVxTY7UIZUe4DCH2TycZtca5DDNkVPipR3OEi5HfBRtmTwOB8IT7aOQe+ITY7IVhVT77VOUaycAxEyHOCcrHzRo4fHZ3bMUw/0qWRvkxxT2kMlp3gmR1Qy0CRV5UtGvt44cPD4CcrMqOQk+G60rKhfFELBzFCpStlxhaQBQNV2vTGzgzIOK2R3k0yoX9oytn3uxpuOf4Ay9yrkdif5hpyb3oXpYY36O9VBRc91ExcnbVmvTnN5qLMrkw7YNvRwns+vQS6f24Csrg1r8YY9w+vf9J9nQDmBwJlAdMEre+GzuB4LmbMAp6WHys97xdOfkoYp/H7aKyknLhOqeH5tCr59fV3nQnenH61v/fEzHOd0MuuxdtGZ0tNF2Be8uvfTFI9L0mdOe6Tfukz4/efXpow7K3BifYvr13btYhM6x0wBNgWQiojbcIBJNCzJASZ0OfaAVTNFzbfsSXiWfZqE38BvaHHoAieuOfvM4hnmIdgniJwdeKjYIFtf3ehKsJlxVtH1+O61/STYvBsrwH63OvVCHnK+21CLp3Yrmt3AQG9wIGh4TRo9+rppr7lEhiAHli0MZhmwSUC2PNBT7JZHobHDE+nmu9aQCbY6thVsFSuWKwPPgEomwf4yCRgwyhQHMlWnZqf3hs6zscGzx3AMO1kWFHIsmMhqcjyO012zoLbDvKLFNC32hNNen9CXv0LR+6JvNH0mPeq7qCe+JPSc0aQzknYGsnR12dfnW1adyaufs+foAtoMDCQS+Fp9mSbRy3pYptKWu/eGzv1XDlURFYbk3BjmQHN55+YDxD5A0S0kKeo5jLzRXuotOcVKZegJkexOp3KrHhPDzhVpig/r/Ophqo16HNcT7NFO68a/nPD5592Ka/Cu6bueeur1ffOqV+iBF4K32X0fvp6Jdh7tLMwFfPNuhquNPfXTp+b3ymEdXpeebfauVYxefd8gZGlpVEQm+ghqFalWDUeZoLKwQWIm6YVUrUIPYcJZqgYZWYKMnCbjPaBOzSaabCWh12+TftnKdi90aqBXrQdSMJ87XzAq9KRJpc0yAT/t9qtPS8Fccdh0UrVwAOYJSmawVKaDvUo7OzA04iRmWMRUJhOYiqRC7+dieC17cK0+VTmXcMt6AgSYyMn1BLOo3f7w7Ron9vW5xD037BFdfX1i50eFrYXCVjznPJ57tbP06qu4gHtXOp9eWcG3YHZm374ZsdcjiqXR0ZIoenoxR2eufjp/jAuv0kVMb3fBytq9+zTEORP8wgtZVA61/FR+gMuQT3hAWpJBgRpZnF9RW4ybd+7DsYnT+SSfxmwS15Ia/sZRvGtxrvOZubvwyT/C0ZV76ZYr/mefZe7s/NnKv54/j7o1p+ODEajeG2gvIl6jFUs2TCiefHarN12tQAEEzlc0wNAwGTWsJv1inxdciI+DT2WUViBqwguQotrWI8MGlTVWiOZcklbqZi5Pr0kbE2wDm0HIhGNMHIf4fIoH/KXgXAN0FnEoxgKe83j0SU7jyo3OT3rLW7BY6U8KOD17j7qQjhSjewUWL2l/z8xh3tu7sCI35EQk78J4gMGPnFh5zCWUXALfozE/7/xL4Rt7x09oMpv0cB5BjEkMK8jaeZz7RFT1cC6c9HKrZ/+Y8/uGgnT0eUQ8Br30gvxUMgFPCKoQBo5t0h85ggA+YcOKdC/mXxx/c5FezBN1WCT6i5zFML8UiffF5ya/8eYFOsARDCMijATpSOhFjohyG4k4WCSMDAbrDRbbHtpSvkT5LGp7xZDu3NFP+RFmWI9XlNRgl7X2j0xFaQ7ZSAaT9M4xHcdmrRFM5nGS5bLMvUJHjuID/hMn+Jv8LzMv9XU+4bmE2Mhs5/nOeUa+ufPq/bHY1Y828SgeuQULy986fHhVDmBvzEtgeSEaGVBX2VBV6w6ga2BOWUANiKCN/AQex9gMa+zFlWeDmd7snj/4UEIKM8K7m+cPHnwt0BPfw39wiNVEE3+nuYdi/GrOtlbX51bvNSAv1gx6tZE1KKDXDKjeKcCv3lVkN+VY+U10423G2YuASwcomLJPStoFTeoIlKChBwB5+XVnJNId+aQzcqukHZ+lPdr8w6/tof9H51opU4J5pXuux52Ro92Ru52Rh/5PzvVOc+grz7XxWBtP9T86FIuESyfZZ5ivQkSKoRTUDEQwWu6gTlHOY7c4NUxRLmBArMFQRlgZCnEegUJciKYNCmG6+KrHsZbna3VwPBGHIQPNSbg2gScxZs0gVJ34z3fjqbypLn3zHtfCG2bIJd3w+B2l2jjLYu3I157BLuary52g12X4vcNy9OWTh4WouyT6XEWfznGM2rmEv3XgAMV/qgPmTuf34RQ6hloC1YAO2OTcdSlxeHHJeVfiW6J8XabVJb33S3ZvO1ibnsJKKlA1p5ok5txrs/R3PWTpcDJKasq5YKQ/meqGxIqubSyQsZLm82nFrIUbGtdI19Jamv1cvFCIL5+lLf7p4g1HFheP3IC3PHZk8QbmzkK80+cM/DBe6Aj4dxYXOw+ev+ee8/HvOoHm8t1mEU2hQ6s2lbBbCVrwo0QBCv4ep1im59rm3G52Iz8cg+Y42+E0mX4o+pXhStOJ7z2QxrWH6036gw2RFCfVu1xer1b5EN8hGS1i51e2tdsAsDkIPGYliDdesazes7CRI9OdoekjR6bxa8mk4OL7XB7OJ3aGoMLP4ddyVS7j5kK/36mLGfHnojgBj4/h49BOiPiadnfd9BGRDfJ9nKua6657hIdVGMMiWEOnOmvoYoT+C93/Vj8AAHjafY+/asMwEIc/JU6aQhsyltJBQ6eCg20IgdCt1GTwlNJsHUJijCCxwHaeqVufpM/Qta/Ri31ZOkTipO9Ov/sjYMwXhm7d8qBsGPGs3OOKd+U+j3wqB6L5UR5wY4zykJGxojTBtXj3bdaJDROelHvS91W5z5IP5UA038oD7vhVHjIxY1I8JQ2ObUs1lkz2C6S+bNzWl7XNMnHfRHNgJ2cjykoC7rBzjRdakVNwZM/m9LDKi+N+I3AunrYJhagsCVMiuRdi/0t20Vg0IXOxRJQxs26U1FdFbpNpZBf23FowTsJ5mETx7OKEa+ldyedcO9GpRzcF67yqnS9tLHUvVfgDz/ZF8gAAAHjabc25DgFhGIXh/53B2Pd9J9HPN/bSWolC4iI0OjfgxhFO6SQnT/k6z333errI/dvkc5yHh+98YsRJEJAkRZoMWXLkKVCkRJkKVWrUadCkRZsOXXr0GTBkxDh2vp5O3u4SPO63YxiG0mQkp3Im53Ihl3Il13Ijt3In9/Igjz9NfVPf1Df1TX1T39Q39U19U9/UN/VNfVPfDm8tR0peAAB42mNgYGBkAIKLcceVwfQJ+XIoXQEARe8GegAA) format("woff");
|
|
|
9
|
+ font-weight: normal;
|
|
|
10
|
+ font-style: normal;
|
|
|
11
|
+}
|
|
|
12
|
+.simditor-icon {
|
|
|
13
|
+ display: inline-block;
|
|
|
14
|
+ font: normal normal normal 14px/1 'Simditor';
|
|
|
15
|
+ font-size: inherit;
|
|
|
16
|
+ text-rendering: auto;
|
|
|
17
|
+ -webkit-font-smoothing: antialiased;
|
|
|
18
|
+ -moz-osx-font-smoothing: grayscale;
|
|
|
19
|
+ transform: translate(0, 0);
|
|
|
20
|
+}
|
|
|
21
|
+
|
|
|
22
|
+.simditor-icon-code:before {
|
|
|
23
|
+ content: '\f000';
|
|
|
24
|
+}
|
|
|
25
|
+
|
|
|
26
|
+.simditor-icon-bold:before {
|
|
|
27
|
+ content: '\f001';
|
|
|
28
|
+}
|
|
|
29
|
+
|
|
|
30
|
+.simditor-icon-italic:before {
|
|
|
31
|
+ content: '\f002';
|
|
|
32
|
+}
|
|
|
33
|
+
|
|
|
34
|
+.simditor-icon-underline:before {
|
|
|
35
|
+ content: '\f003';
|
|
|
36
|
+}
|
|
|
37
|
+
|
|
|
38
|
+.simditor-icon-times:before {
|
|
|
39
|
+ content: '\f004';
|
|
|
40
|
+}
|
|
|
41
|
+
|
|
|
42
|
+.simditor-icon-strikethrough:before {
|
|
|
43
|
+ content: '\f005';
|
|
|
44
|
+}
|
|
|
45
|
+
|
|
|
46
|
+.simditor-icon-list-ol:before {
|
|
|
47
|
+ content: '\f006';
|
|
|
48
|
+}
|
|
|
49
|
+
|
|
|
50
|
+.simditor-icon-list-ul:before {
|
|
|
51
|
+ content: '\f007';
|
|
|
52
|
+}
|
|
|
53
|
+
|
|
|
54
|
+.simditor-icon-quote-left:before {
|
|
|
55
|
+ content: '\f008';
|
|
|
56
|
+}
|
|
|
57
|
+
|
|
|
58
|
+.simditor-icon-table:before {
|
|
|
59
|
+ content: '\f009';
|
|
|
60
|
+}
|
|
|
61
|
+
|
|
|
62
|
+.simditor-icon-link:before {
|
|
|
63
|
+ content: '\f00a';
|
|
|
64
|
+}
|
|
|
65
|
+
|
|
|
66
|
+.simditor-icon-picture-o:before {
|
|
|
67
|
+ content: '\f00b';
|
|
|
68
|
+}
|
|
|
69
|
+
|
|
|
70
|
+.simditor-icon-minus:before {
|
|
|
71
|
+ content: '\f00c';
|
|
|
72
|
+}
|
|
|
73
|
+
|
|
|
74
|
+.simditor-icon-indent:before {
|
|
|
75
|
+ content: '\f00d';
|
|
|
76
|
+}
|
|
|
77
|
+
|
|
|
78
|
+.simditor-icon-outdent:before {
|
|
|
79
|
+ content: '\f00e';
|
|
|
80
|
+}
|
|
|
81
|
+
|
|
|
82
|
+.simditor-icon-unlink:before {
|
|
|
83
|
+ content: '\f00f';
|
|
|
84
|
+}
|
|
|
85
|
+
|
|
|
86
|
+.simditor-icon-caret-down:before {
|
|
|
87
|
+ content: '\f010';
|
|
|
88
|
+}
|
|
|
89
|
+
|
|
|
90
|
+.simditor-icon-caret-right:before {
|
|
|
91
|
+ content: '\f011';
|
|
|
92
|
+}
|
|
|
93
|
+
|
|
|
94
|
+.simditor-icon-upload:before {
|
|
|
95
|
+ content: '\f012';
|
|
|
96
|
+}
|
|
|
97
|
+
|
|
|
98
|
+.simditor-icon-undo:before {
|
|
|
99
|
+ content: '\f013';
|
|
|
100
|
+}
|
|
|
101
|
+
|
|
|
102
|
+.simditor-icon-smile-o:before {
|
|
|
103
|
+ content: '\f014';
|
|
|
104
|
+}
|
|
|
105
|
+
|
|
|
106
|
+.simditor-icon-tint:before {
|
|
|
107
|
+ content: '\f015';
|
|
|
108
|
+}
|
|
|
109
|
+
|
|
|
110
|
+.simditor-icon-font:before {
|
|
|
111
|
+ content: '\f016';
|
|
|
112
|
+}
|
|
|
113
|
+
|
|
|
114
|
+.simditor-icon-html5:before {
|
|
|
115
|
+ content: '\f017';
|
|
|
116
|
+}
|
|
|
117
|
+
|
|
|
118
|
+.simditor-icon-mark:before {
|
|
|
119
|
+ content: '\f018';
|
|
|
120
|
+}
|
|
|
121
|
+
|
|
|
122
|
+.simditor-icon-align-center:before {
|
|
|
123
|
+ content: '\f019';
|
|
|
124
|
+}
|
|
|
125
|
+
|
|
|
126
|
+.simditor-icon-align-left:before {
|
|
|
127
|
+ content: '\f01a';
|
|
|
128
|
+}
|
|
|
129
|
+
|
|
|
130
|
+.simditor-icon-align-right:before {
|
|
|
131
|
+ content: '\f01b';
|
|
|
132
|
+}
|
|
|
133
|
+
|
|
|
134
|
+.simditor-icon-font-minus:before {
|
|
|
135
|
+ content: '\f01c';
|
|
|
136
|
+}
|
|
|
137
|
+
|
|
|
138
|
+.simditor-icon-markdown:before {
|
|
|
139
|
+ content: '\f01d';
|
|
|
140
|
+}
|
|
|
141
|
+
|
|
|
142
|
+.simditor-icon-checklist:before {
|
|
|
143
|
+ content: '\f01e';
|
|
|
144
|
+}
|
|
|
145
|
+
|
|
|
146
|
+.simditor {
|
|
|
147
|
+ position: relative;
|
|
|
148
|
+ border: 1px solid #c9d8db;
|
|
|
149
|
+}
|
|
|
150
|
+.simditor .simditor-wrapper {
|
|
|
151
|
+ position: relative;
|
|
|
152
|
+ background: #ffffff;
|
|
|
153
|
+}
|
|
|
154
|
+.simditor .simditor-wrapper > textarea {
|
|
|
155
|
+ display: none !important;
|
|
|
156
|
+ width: 100%;
|
|
|
157
|
+ box-sizing: border-box;
|
|
|
158
|
+ font-family: monaco;
|
|
|
159
|
+ font-size: 16px;
|
|
|
160
|
+ line-height: 1.6;
|
|
|
161
|
+ border: none;
|
|
|
162
|
+ padding: 22px 15px 40px;
|
|
|
163
|
+ min-height: 300px;
|
|
|
164
|
+ outline: none;
|
|
|
165
|
+ background: transparent;
|
|
|
166
|
+ resize: none;
|
|
|
167
|
+}
|
|
|
168
|
+.simditor .simditor-wrapper .simditor-placeholder {
|
|
|
169
|
+ display: none;
|
|
|
170
|
+ position: absolute;
|
|
|
171
|
+ left: 0;
|
|
|
172
|
+ z-index: 0;
|
|
|
173
|
+ padding: 22px 15px;
|
|
|
174
|
+ font-size: 16px;
|
|
|
175
|
+ font-family: arial, sans-serif;
|
|
|
176
|
+ line-height: 1.5;
|
|
|
177
|
+ color: #999999;
|
|
|
178
|
+ background: transparent;
|
|
|
179
|
+}
|
|
|
180
|
+.simditor .simditor-wrapper.toolbar-floating .simditor-toolbar {
|
|
|
181
|
+ position: fixed;
|
|
|
182
|
+ top: 0;
|
|
|
183
|
+ z-index: 10;
|
|
|
184
|
+ box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
|
|
|
185
|
+}
|
|
|
186
|
+.simditor .simditor-wrapper .simditor-image-loading {
|
|
|
187
|
+ width: 100%;
|
|
|
188
|
+ height: 100%;
|
|
|
189
|
+ position: absolute;
|
|
|
190
|
+ top: 0;
|
|
|
191
|
+ left: 0;
|
|
|
192
|
+ z-index: 2;
|
|
|
193
|
+}
|
|
|
194
|
+.simditor .simditor-wrapper .simditor-image-loading .progress {
|
|
|
195
|
+ width: 100%;
|
|
|
196
|
+ height: 100%;
|
|
|
197
|
+ background: rgba(0, 0, 0, 0.4);
|
|
|
198
|
+ position: absolute;
|
|
|
199
|
+ bottom: 0;
|
|
|
200
|
+ left: 0;
|
|
|
201
|
+}
|
|
|
202
|
+.simditor .simditor-body {
|
|
|
203
|
+ padding: 22px 15px 40px;
|
|
|
204
|
+ min-height: 300px;
|
|
|
205
|
+ outline: none;
|
|
|
206
|
+ cursor: text;
|
|
|
207
|
+ position: relative;
|
|
|
208
|
+ z-index: 1;
|
|
|
209
|
+ background: transparent;
|
|
|
210
|
+}
|
|
|
211
|
+.simditor .simditor-body a.selected {
|
|
|
212
|
+ background: #b3d4fd;
|
|
|
213
|
+}
|
|
|
214
|
+.simditor .simditor-body a.simditor-mention {
|
|
|
215
|
+ cursor: pointer;
|
|
|
216
|
+}
|
|
|
217
|
+.simditor .simditor-body .simditor-table {
|
|
|
218
|
+ position: relative;
|
|
|
219
|
+}
|
|
|
220
|
+.simditor .simditor-body .simditor-table.resizing {
|
|
|
221
|
+ cursor: col-resize;
|
|
|
222
|
+}
|
|
|
223
|
+.simditor .simditor-body .simditor-table .simditor-resize-handle {
|
|
|
224
|
+ position: absolute;
|
|
|
225
|
+ left: 0;
|
|
|
226
|
+ top: 0;
|
|
|
227
|
+ width: 10px;
|
|
|
228
|
+ height: 100%;
|
|
|
229
|
+ cursor: col-resize;
|
|
|
230
|
+}
|
|
|
231
|
+.simditor .simditor-body pre {
|
|
|
232
|
+ /*min-height: 28px;*/
|
|
|
233
|
+ box-sizing: border-box;
|
|
|
234
|
+ -moz-box-sizing: border-box;
|
|
|
235
|
+ word-wrap: break-word !important;
|
|
|
236
|
+ white-space: pre-wrap !important;
|
|
|
237
|
+}
|
|
|
238
|
+.simditor .simditor-body img {
|
|
|
239
|
+ cursor: pointer;
|
|
|
240
|
+}
|
|
|
241
|
+.simditor .simditor-body img.selected {
|
|
|
242
|
+ box-shadow: 0 0 0 4px #cccccc;
|
|
|
243
|
+}
|
|
|
244
|
+.simditor .simditor-paste-bin {
|
|
|
245
|
+ position: fixed;
|
|
|
246
|
+ bottom: 10px;
|
|
|
247
|
+ right: 10px;
|
|
|
248
|
+ width: 1px;
|
|
|
249
|
+ height: 20px;
|
|
|
250
|
+ font-size: 1px;
|
|
|
251
|
+ line-height: 1px;
|
|
|
252
|
+ overflow: hidden;
|
|
|
253
|
+ padding: 0;
|
|
|
254
|
+ margin: 0;
|
|
|
255
|
+ opacity: 0;
|
|
|
256
|
+ -webkit-user-select: text;
|
|
|
257
|
+}
|
|
|
258
|
+.simditor .simditor-toolbar {
|
|
|
259
|
+ border-bottom: 1px solid #eeeeee;
|
|
|
260
|
+ background: #ffffff;
|
|
|
261
|
+ width: 100%;
|
|
|
262
|
+}
|
|
|
263
|
+.simditor .simditor-toolbar > ul {
|
|
|
264
|
+ margin: 0;
|
|
|
265
|
+ padding: 0 0 0 6px;
|
|
|
266
|
+ list-style: none;
|
|
|
267
|
+}
|
|
|
268
|
+.simditor .simditor-toolbar > ul > li {
|
|
|
269
|
+ position: relative;
|
|
|
270
|
+ display: inline-block;
|
|
|
271
|
+ font-size: 0;
|
|
|
272
|
+}
|
|
|
273
|
+.simditor .simditor-toolbar > ul > li > span.separator {
|
|
|
274
|
+ display: inline-block;
|
|
|
275
|
+ background: #cfcfcf;
|
|
|
276
|
+ width: 1px;
|
|
|
277
|
+ height: 18px;
|
|
|
278
|
+ margin: 11px 15px;
|
|
|
279
|
+ vertical-align: middle;
|
|
|
280
|
+}
|
|
|
281
|
+.simditor .simditor-toolbar > ul > li > .toolbar-item {
|
|
|
282
|
+ display: inline-block;
|
|
|
283
|
+ width: 46px;
|
|
|
284
|
+ height: 40px;
|
|
|
285
|
+ outline: none;
|
|
|
286
|
+ color: #333333;
|
|
|
287
|
+ font-size: 15px;
|
|
|
288
|
+ line-height: 40px;
|
|
|
289
|
+ vertical-align: middle;
|
|
|
290
|
+ text-align: center;
|
|
|
291
|
+ text-decoration: none;
|
|
|
292
|
+}
|
|
|
293
|
+.simditor .simditor-toolbar > ul > li > .toolbar-item span {
|
|
|
294
|
+ opacity: 0.6;
|
|
|
295
|
+}
|
|
|
296
|
+.simditor .simditor-toolbar > ul > li > .toolbar-item span.simditor-icon {
|
|
|
297
|
+ display: inline;
|
|
|
298
|
+ line-height: normal;
|
|
|
299
|
+}
|
|
|
300
|
+.simditor .simditor-toolbar > ul > li > .toolbar-item:hover span {
|
|
|
301
|
+ opacity: 1;
|
|
|
302
|
+}
|
|
|
303
|
+.simditor .simditor-toolbar > ul > li > .toolbar-item.active {
|
|
|
304
|
+ background: #eeeeee;
|
|
|
305
|
+}
|
|
|
306
|
+.simditor .simditor-toolbar > ul > li > .toolbar-item.active span {
|
|
|
307
|
+ opacity: 1;
|
|
|
308
|
+}
|
|
|
309
|
+.simditor .simditor-toolbar > ul > li > .toolbar-item.disabled {
|
|
|
310
|
+ cursor: default;
|
|
|
311
|
+}
|
|
|
312
|
+.simditor .simditor-toolbar > ul > li > .toolbar-item.disabled span {
|
|
|
313
|
+ opacity: 0.3;
|
|
|
314
|
+}
|
|
|
315
|
+.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-title span:before {
|
|
|
316
|
+ content: "H";
|
|
|
317
|
+ font-size: 19px;
|
|
|
318
|
+ font-weight: bold;
|
|
|
319
|
+ font-family: 'Times New Roman';
|
|
|
320
|
+}
|
|
|
321
|
+.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-title.active-h1 span:before {
|
|
|
322
|
+ content: 'H1';
|
|
|
323
|
+ font-size: 18px;
|
|
|
324
|
+}
|
|
|
325
|
+.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-title.active-h2 span:before {
|
|
|
326
|
+ content: 'H2';
|
|
|
327
|
+ font-size: 18px;
|
|
|
328
|
+}
|
|
|
329
|
+.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-title.active-h3 span:before {
|
|
|
330
|
+ content: 'H3';
|
|
|
331
|
+ font-size: 18px;
|
|
|
332
|
+}
|
|
|
333
|
+.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-image {
|
|
|
334
|
+ position: relative;
|
|
|
335
|
+ overflow: hidden;
|
|
|
336
|
+}
|
|
|
337
|
+.simditor .simditor-toolbar > ul > li > .toolbar-item.toolbar-item-image > input[type=file] {
|
|
|
338
|
+ position: absolute;
|
|
|
339
|
+ right: 0px;
|
|
|
340
|
+ top: 0px;
|
|
|
341
|
+ opacity: 0;
|
|
|
342
|
+ font-size: 100px;
|
|
|
343
|
+ cursor: pointer;
|
|
|
344
|
+}
|
|
|
345
|
+.simditor .simditor-toolbar > ul > li.menu-on .toolbar-item {
|
|
|
346
|
+ position: relative;
|
|
|
347
|
+ z-index: 20;
|
|
|
348
|
+ background: #ffffff;
|
|
|
349
|
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
|
|
350
|
+}
|
|
|
351
|
+.simditor .simditor-toolbar > ul > li.menu-on .toolbar-item span {
|
|
|
352
|
+ opacity: 1;
|
|
|
353
|
+}
|
|
|
354
|
+.simditor .simditor-toolbar > ul > li.menu-on .toolbar-menu {
|
|
|
355
|
+ display: block;
|
|
|
356
|
+}
|
|
|
357
|
+.simditor .simditor-toolbar .toolbar-menu {
|
|
|
358
|
+ display: none;
|
|
|
359
|
+ position: absolute;
|
|
|
360
|
+ top: 40px;
|
|
|
361
|
+ left: 0;
|
|
|
362
|
+ z-index: 21;
|
|
|
363
|
+ background: #ffffff;
|
|
|
364
|
+ text-align: left;
|
|
|
365
|
+ box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
|
|
|
366
|
+}
|
|
|
367
|
+.simditor .simditor-toolbar .toolbar-menu:before {
|
|
|
368
|
+ content: '';
|
|
|
369
|
+ display: block;
|
|
|
370
|
+ width: 46px;
|
|
|
371
|
+ height: 4px;
|
|
|
372
|
+ background: #ffffff;
|
|
|
373
|
+ position: absolute;
|
|
|
374
|
+ top: -3px;
|
|
|
375
|
+ left: 0;
|
|
|
376
|
+}
|
|
|
377
|
+.simditor .simditor-toolbar .toolbar-menu ul {
|
|
|
378
|
+ min-width: 160px;
|
|
|
379
|
+ list-style: none;
|
|
|
380
|
+ margin: 0;
|
|
|
381
|
+ padding: 10px 1px;
|
|
|
382
|
+}
|
|
|
383
|
+.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item {
|
|
|
384
|
+ display: block;
|
|
|
385
|
+ font-size: 16px;
|
|
|
386
|
+ line-height: 2em;
|
|
|
387
|
+ padding: 0 10px;
|
|
|
388
|
+ text-decoration: none;
|
|
|
389
|
+ color: #666666;
|
|
|
390
|
+}
|
|
|
391
|
+.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item:hover {
|
|
|
392
|
+ background: #f6f6f6;
|
|
|
393
|
+}
|
|
|
394
|
+.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h1 {
|
|
|
395
|
+ font-size: 24px;
|
|
|
396
|
+ color: #333333;
|
|
|
397
|
+}
|
|
|
398
|
+.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h2 {
|
|
|
399
|
+ font-size: 22px;
|
|
|
400
|
+ color: #333333;
|
|
|
401
|
+}
|
|
|
402
|
+.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h3 {
|
|
|
403
|
+ font-size: 20px;
|
|
|
404
|
+ color: #333333;
|
|
|
405
|
+}
|
|
|
406
|
+.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h4 {
|
|
|
407
|
+ font-size: 18px;
|
|
|
408
|
+ color: #333333;
|
|
|
409
|
+}
|
|
|
410
|
+.simditor .simditor-toolbar .toolbar-menu ul > li .menu-item.menu-item-h5 {
|
|
|
411
|
+ font-size: 16px;
|
|
|
412
|
+ color: #333333;
|
|
|
413
|
+}
|
|
|
414
|
+.simditor .simditor-toolbar .toolbar-menu ul > li .separator {
|
|
|
415
|
+ display: block;
|
|
|
416
|
+ border-top: 1px solid #cccccc;
|
|
|
417
|
+ height: 0;
|
|
|
418
|
+ line-height: 0;
|
|
|
419
|
+ font-size: 0;
|
|
|
420
|
+ margin: 6px 0;
|
|
|
421
|
+}
|
|
|
422
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color {
|
|
|
423
|
+ width: 96px;
|
|
|
424
|
+}
|
|
|
425
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list {
|
|
|
426
|
+ height: 40px;
|
|
|
427
|
+ margin: 10px 6px 6px 10px;
|
|
|
428
|
+ padding: 0;
|
|
|
429
|
+ min-width: 0;
|
|
|
430
|
+}
|
|
|
431
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li {
|
|
|
432
|
+ float: left;
|
|
|
433
|
+ margin: 0 4px 4px 0;
|
|
|
434
|
+}
|
|
|
435
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color {
|
|
|
436
|
+ display: block;
|
|
|
437
|
+ width: 16px;
|
|
|
438
|
+ height: 16px;
|
|
|
439
|
+ background: #dfdfdf;
|
|
|
440
|
+ border-radius: 2px;
|
|
|
441
|
+}
|
|
|
442
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color:hover {
|
|
|
443
|
+ opacity: 0.8;
|
|
|
444
|
+}
|
|
|
445
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color.font-color-default {
|
|
|
446
|
+ background: #333333;
|
|
|
447
|
+}
|
|
|
448
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-1 {
|
|
|
449
|
+ background: #E33737;
|
|
|
450
|
+}
|
|
|
451
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-2 {
|
|
|
452
|
+ background: #e28b41;
|
|
|
453
|
+}
|
|
|
454
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-3 {
|
|
|
455
|
+ background: #c8a732;
|
|
|
456
|
+}
|
|
|
457
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-4 {
|
|
|
458
|
+ background: #209361;
|
|
|
459
|
+}
|
|
|
460
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-5 {
|
|
|
461
|
+ background: #418caf;
|
|
|
462
|
+}
|
|
|
463
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-6 {
|
|
|
464
|
+ background: #aa8773;
|
|
|
465
|
+}
|
|
|
466
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-7 {
|
|
|
467
|
+ background: #999999;
|
|
|
468
|
+}
|
|
|
469
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table {
|
|
|
470
|
+ background: #ffffff;
|
|
|
471
|
+ padding: 1px;
|
|
|
472
|
+}
|
|
|
473
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table {
|
|
|
474
|
+ border: none;
|
|
|
475
|
+ border-collapse: collapse;
|
|
|
476
|
+ border-spacing: 0;
|
|
|
477
|
+ table-layout: fixed;
|
|
|
478
|
+}
|
|
|
479
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table td {
|
|
|
480
|
+ padding: 0;
|
|
|
481
|
+ cursor: pointer;
|
|
|
482
|
+}
|
|
|
483
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table td:before {
|
|
|
484
|
+ width: 16px;
|
|
|
485
|
+ height: 16px;
|
|
|
486
|
+ border: 1px solid #ffffff;
|
|
|
487
|
+ background: #f3f3f3;
|
|
|
488
|
+ display: block;
|
|
|
489
|
+ content: "";
|
|
|
490
|
+}
|
|
|
491
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table td.selected:before {
|
|
|
492
|
+ background: #cfcfcf;
|
|
|
493
|
+}
|
|
|
494
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-edit-table {
|
|
|
495
|
+ display: none;
|
|
|
496
|
+}
|
|
|
497
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-edit-table ul li {
|
|
|
498
|
+ white-space: nowrap;
|
|
|
499
|
+}
|
|
|
500
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-image .menu-item-upload-image {
|
|
|
501
|
+ position: relative;
|
|
|
502
|
+ overflow: hidden;
|
|
|
503
|
+}
|
|
|
504
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-image .menu-item-upload-image input[type=file] {
|
|
|
505
|
+ position: absolute;
|
|
|
506
|
+ right: 0px;
|
|
|
507
|
+ top: 0px;
|
|
|
508
|
+ opacity: 0;
|
|
|
509
|
+ font-size: 100px;
|
|
|
510
|
+ cursor: pointer;
|
|
|
511
|
+}
|
|
|
512
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-alignment {
|
|
|
513
|
+ width: 100%;
|
|
|
514
|
+}
|
|
|
515
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-alignment ul {
|
|
|
516
|
+ min-width: 100%;
|
|
|
517
|
+}
|
|
|
518
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-alignment .menu-item {
|
|
|
519
|
+ text-align: center;
|
|
|
520
|
+}
|
|
|
521
|
+.simditor .simditor-popover {
|
|
|
522
|
+ display: none;
|
|
|
523
|
+ padding: 5px 8px 0;
|
|
|
524
|
+ background: #ffffff;
|
|
|
525
|
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
|
|
|
526
|
+ border-radius: 2px;
|
|
|
527
|
+ position: absolute;
|
|
|
528
|
+ z-index: 2;
|
|
|
529
|
+}
|
|
|
530
|
+.simditor .simditor-popover .settings-field {
|
|
|
531
|
+ margin: 0 0 5px 0;
|
|
|
532
|
+ font-size: 12px;
|
|
|
533
|
+ height: 25px;
|
|
|
534
|
+ line-height: 25px;
|
|
|
535
|
+}
|
|
|
536
|
+.simditor .simditor-popover .settings-field label {
|
|
|
537
|
+ display: inline-block;
|
|
|
538
|
+ margin: 0 5px 0 0;
|
|
|
539
|
+}
|
|
|
540
|
+.simditor .simditor-popover .settings-field input[type=text] {
|
|
|
541
|
+ display: inline-block;
|
|
|
542
|
+ width: 200px;
|
|
|
543
|
+ box-sizing: border-box;
|
|
|
544
|
+ font-size: 12px;
|
|
|
545
|
+}
|
|
|
546
|
+.simditor .simditor-popover .settings-field input[type=text].image-size {
|
|
|
547
|
+ width: 83px;
|
|
|
548
|
+}
|
|
|
549
|
+.simditor .simditor-popover .settings-field .times {
|
|
|
550
|
+ display: inline-block;
|
|
|
551
|
+ width: 26px;
|
|
|
552
|
+ font-size: 12px;
|
|
|
553
|
+ text-align: center;
|
|
|
554
|
+}
|
|
|
555
|
+.simditor .simditor-popover.link-popover .btn-unlink, .simditor .simditor-popover.image-popover .btn-upload, .simditor .simditor-popover.image-popover .btn-restore {
|
|
|
556
|
+ display: inline-block;
|
|
|
557
|
+ margin: 0 0 0 5px;
|
|
|
558
|
+ color: #333333;
|
|
|
559
|
+ font-size: 14px;
|
|
|
560
|
+ outline: 0;
|
|
|
561
|
+}
|
|
|
562
|
+.simditor .simditor-popover.link-popover .btn-unlink span, .simditor .simditor-popover.image-popover .btn-upload span, .simditor .simditor-popover.image-popover .btn-restore span {
|
|
|
563
|
+ opacity: 0.6;
|
|
|
564
|
+}
|
|
|
565
|
+.simditor .simditor-popover.link-popover .btn-unlink:hover span, .simditor .simditor-popover.image-popover .btn-upload:hover span, .simditor .simditor-popover.image-popover .btn-restore:hover span {
|
|
|
566
|
+ opacity: 1;
|
|
|
567
|
+}
|
|
|
568
|
+.simditor .simditor-popover.image-popover .btn-upload {
|
|
|
569
|
+ position: relative;
|
|
|
570
|
+ display: inline-block;
|
|
|
571
|
+ overflow: hidden;
|
|
|
572
|
+ vertical-align: middle;
|
|
|
573
|
+}
|
|
|
574
|
+.simditor .simditor-popover.image-popover .btn-upload input[type=file] {
|
|
|
575
|
+ position: absolute;
|
|
|
576
|
+ right: 0px;
|
|
|
577
|
+ top: 0px;
|
|
|
578
|
+ opacity: 0;
|
|
|
579
|
+ height: 100%;
|
|
|
580
|
+ width: 28px;
|
|
|
581
|
+}
|
|
|
582
|
+.simditor.simditor-mobile .simditor-wrapper.toolbar-floating .simditor-toolbar {
|
|
|
583
|
+ position: absolute;
|
|
|
584
|
+ top: 0;
|
|
|
585
|
+ z-index: 10;
|
|
|
586
|
+ box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
|
|
|
587
|
+}
|
|
|
588
|
+
|
|
|
589
|
+.simditor .simditor-body, .editor-style {
|
|
|
590
|
+ font-size: 16px;
|
|
|
591
|
+ font-family: arial, sans-serif;
|
|
|
592
|
+ line-height: 1.6;
|
|
|
593
|
+ color: #333;
|
|
|
594
|
+ outline: none;
|
|
|
595
|
+ word-wrap: break-word;
|
|
|
596
|
+}
|
|
|
597
|
+.simditor .simditor-body > :first-child, .editor-style > :first-child {
|
|
|
598
|
+ margin-top: 0 !important;
|
|
|
599
|
+}
|
|
|
600
|
+.simditor .simditor-body a, .editor-style a {
|
|
|
601
|
+ color: #4298BA;
|
|
|
602
|
+ text-decoration: none;
|
|
|
603
|
+ word-break: break-all;
|
|
|
604
|
+}
|
|
|
605
|
+.simditor .simditor-body a:visited, .editor-style a:visited {
|
|
|
606
|
+ color: #4298BA;
|
|
|
607
|
+}
|
|
|
608
|
+.simditor .simditor-body a:hover, .editor-style a:hover {
|
|
|
609
|
+ color: #0F769F;
|
|
|
610
|
+}
|
|
|
611
|
+.simditor .simditor-body a:active, .editor-style a:active {
|
|
|
612
|
+ color: #9E792E;
|
|
|
613
|
+}
|
|
|
614
|
+.simditor .simditor-body a:hover, .simditor .simditor-body a:active, .editor-style a:hover, .editor-style a:active {
|
|
|
615
|
+ outline: 0;
|
|
|
616
|
+}
|
|
|
617
|
+.simditor .simditor-body h1, .simditor .simditor-body h2, .simditor .simditor-body h3, .simditor .simditor-body h4, .simditor .simditor-body h5, .simditor .simditor-body h6, .editor-style h1, .editor-style h2, .editor-style h3, .editor-style h4, .editor-style h5, .editor-style h6 {
|
|
|
618
|
+ font-weight: normal;
|
|
|
619
|
+ margin: 40px 0 20px;
|
|
|
620
|
+ color: #000000;
|
|
|
621
|
+}
|
|
|
622
|
+.simditor .simditor-body h1, .editor-style h1 {
|
|
|
623
|
+ font-size: 24px;
|
|
|
624
|
+}
|
|
|
625
|
+.simditor .simditor-body h2, .editor-style h2 {
|
|
|
626
|
+ font-size: 22px;
|
|
|
627
|
+}
|
|
|
628
|
+.simditor .simditor-body h3, .editor-style h3 {
|
|
|
629
|
+ font-size: 20px;
|
|
|
630
|
+}
|
|
|
631
|
+.simditor .simditor-body h4, .editor-style h4 {
|
|
|
632
|
+ font-size: 18px;
|
|
|
633
|
+}
|
|
|
634
|
+.simditor .simditor-body h5, .editor-style h5 {
|
|
|
635
|
+ font-size: 16px;
|
|
|
636
|
+}
|
|
|
637
|
+.simditor .simditor-body h6, .editor-style h6 {
|
|
|
638
|
+ font-size: 16px;
|
|
|
639
|
+}
|
|
|
640
|
+.simditor .simditor-body p, .simditor .simditor-body div, .editor-style p, .editor-style div {
|
|
|
641
|
+ word-wrap: break-word;
|
|
|
642
|
+ margin: 0 0 15px 0;
|
|
|
643
|
+ color: #333;
|
|
|
644
|
+ word-wrap: break-word;
|
|
|
645
|
+}
|
|
|
646
|
+.simditor .simditor-body b, .simditor .simditor-body strong, .editor-style b, .editor-style strong {
|
|
|
647
|
+ font-weight: bold;
|
|
|
648
|
+}
|
|
|
649
|
+.simditor .simditor-body i, .simditor .simditor-body em, .editor-style i, .editor-style em {
|
|
|
650
|
+ font-style: italic;
|
|
|
651
|
+}
|
|
|
652
|
+.simditor .simditor-body u, .editor-style u {
|
|
|
653
|
+ text-decoration: underline;
|
|
|
654
|
+}
|
|
|
655
|
+.simditor .simditor-body strike, .simditor .simditor-body del, .editor-style strike, .editor-style del {
|
|
|
656
|
+ text-decoration: line-through;
|
|
|
657
|
+}
|
|
|
658
|
+.simditor .simditor-body ul, .simditor .simditor-body ol, .editor-style ul, .editor-style ol {
|
|
|
659
|
+ list-style: disc outside none;
|
|
|
660
|
+ margin: 15px 0;
|
|
|
661
|
+ padding: 0 0 0 40px;
|
|
|
662
|
+ line-height: 1.6;
|
|
|
663
|
+}
|
|
|
664
|
+.simditor .simditor-body ul ul, .simditor .simditor-body ul ol, .simditor .simditor-body ol ul, .simditor .simditor-body ol ol, .editor-style ul ul, .editor-style ul ol, .editor-style ol ul, .editor-style ol ol {
|
|
|
665
|
+ padding-left: 30px;
|
|
|
666
|
+}
|
|
|
667
|
+.simditor .simditor-body ul ul, .simditor .simditor-body ol ul, .editor-style ul ul, .editor-style ol ul {
|
|
|
668
|
+ list-style: circle outside none;
|
|
|
669
|
+}
|
|
|
670
|
+.simditor .simditor-body ul ul ul, .simditor .simditor-body ol ul ul, .editor-style ul ul ul, .editor-style ol ul ul {
|
|
|
671
|
+ list-style: square outside none;
|
|
|
672
|
+}
|
|
|
673
|
+.simditor .simditor-body ol, .editor-style ol {
|
|
|
674
|
+ list-style: decimal;
|
|
|
675
|
+}
|
|
|
676
|
+.simditor .simditor-body blockquote, .editor-style blockquote {
|
|
|
677
|
+ border-left: 6px solid #ddd;
|
|
|
678
|
+ padding: 5px 0 5px 10px;
|
|
|
679
|
+ margin: 15px 0 15px 15px;
|
|
|
680
|
+}
|
|
|
681
|
+.simditor .simditor-body blockquote > :first-child, .editor-style blockquote > :first-child {
|
|
|
682
|
+ margin-top: 0;
|
|
|
683
|
+}
|
|
|
684
|
+.simditor .simditor-body code, .editor-style code {
|
|
|
685
|
+ display: inline-block;
|
|
|
686
|
+ padding: 0 4px;
|
|
|
687
|
+ margin: 0 5px;
|
|
|
688
|
+ background: #eeeeee;
|
|
|
689
|
+ border-radius: 3px;
|
|
|
690
|
+ font-size: 13px;
|
|
|
691
|
+ font-family: 'monaco', 'Consolas', "Liberation Mono", Courier, monospace;
|
|
|
692
|
+}
|
|
|
693
|
+.simditor .simditor-body pre, .editor-style pre {
|
|
|
694
|
+ padding: 10px 5px 10px 10px;
|
|
|
695
|
+ margin: 15px 0;
|
|
|
696
|
+ display: block;
|
|
|
697
|
+ line-height: 18px;
|
|
|
698
|
+ background: #F0F0F0;
|
|
|
699
|
+ border-radius: 3px;
|
|
|
700
|
+ font-size: 13px;
|
|
|
701
|
+ font-family: 'monaco', 'Consolas', "Liberation Mono", Courier, monospace;
|
|
|
702
|
+ white-space: pre;
|
|
|
703
|
+ word-wrap: normal;
|
|
|
704
|
+ overflow-x: auto;
|
|
|
705
|
+}
|
|
|
706
|
+.simditor .simditor-body pre code, .editor-style pre code {
|
|
|
707
|
+ display: block;
|
|
|
708
|
+ padding: 0;
|
|
|
709
|
+ margin: 0;
|
|
|
710
|
+ background: none;
|
|
|
711
|
+ border-radius: 0;
|
|
|
712
|
+}
|
|
|
713
|
+.simditor .simditor-body hr, .editor-style hr {
|
|
|
714
|
+ display: block;
|
|
|
715
|
+ height: 0px;
|
|
|
716
|
+ border: 0;
|
|
|
717
|
+ border-top: 1px solid #ccc;
|
|
|
718
|
+ margin: 15px 0;
|
|
|
719
|
+ padding: 0;
|
|
|
720
|
+}
|
|
|
721
|
+.simditor .simditor-body table, .editor-style table {
|
|
|
722
|
+ width: 100%;
|
|
|
723
|
+ table-layout: fixed;
|
|
|
724
|
+ border-collapse: collapse;
|
|
|
725
|
+ border-spacing: 0;
|
|
|
726
|
+ margin: 15px 0;
|
|
|
727
|
+}
|
|
|
728
|
+.simditor .simditor-body table thead, .editor-style table thead {
|
|
|
729
|
+ background-color: #f9f9f9;
|
|
|
730
|
+}
|
|
|
731
|
+.simditor .simditor-body table td, .simditor .simditor-body table th, .editor-style table td, .editor-style table th {
|
|
|
732
|
+ min-width: 40px;
|
|
|
733
|
+ height: 30px;
|
|
|
734
|
+ border: 1px solid #ccc;
|
|
|
735
|
+ vertical-align: top;
|
|
|
736
|
+ padding: 2px 4px;
|
|
|
737
|
+ text-align: left;
|
|
|
738
|
+ box-sizing: border-box;
|
|
|
739
|
+}
|
|
|
740
|
+.simditor .simditor-body table td.active, .simditor .simditor-body table th.active, .editor-style table td.active, .editor-style table th.active {
|
|
|
741
|
+ background-color: #ffffee;
|
|
|
742
|
+}
|
|
|
743
|
+.simditor .simditor-body img, .editor-style img {
|
|
|
744
|
+ margin: 0 5px;
|
|
|
745
|
+ vertical-align: middle;
|
|
|
746
|
+}
|
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+/*!
|
|
|
2
|
+* Simditor v2.3.6
|
|
|
3
|
+* http://simditor.tower.im/
|
|
|
4
|
+* 2015-12-21
|
|
|
5
|
+*/@font-face{font-family:'Simditor';src:url(data:application/font-woff;charset=utf-8;base64,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) format("woff");font-weight:normal;font-style:normal}.simditor-icon{display:inline-block;font:normal normal normal 14px/1 'Simditor';font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0,0)}.simditor-icon-code:before{content:'\f000'}.simditor-icon-bold:before{content:'\f001'}.simditor-icon-italic:before{content:'\f002'}.simditor-icon-underline:before{content:'\f003'}.simditor-icon-times:before{content:'\f004'}.simditor-icon-strikethrough:before{content:'\f005'}.simditor-icon-list-ol:before{content:'\f006'}.simditor-icon-list-ul:before{content:'\f007'}.simditor-icon-quote-left:before{content:'\f008'}.simditor-icon-table:before{content:'\f009'}.simditor-icon-link:before{content:'\f00a'}.simditor-icon-picture-o:before{content:'\f00b'}.simditor-icon-minus:before{content:'\f00c'}.simditor-icon-indent:before{content:'\f00d'}.simditor-icon-outdent:before{content:'\f00e'}.simditor-icon-unlink:before{content:'\f00f'}.simditor-icon-caret-down:before{content:'\f010'}.simditor-icon-caret-right:before{content:'\f011'}.simditor-icon-upload:before{content:'\f012'}.simditor-icon-undo:before{content:'\f013'}.simditor-icon-smile-o:before{content:'\f014'}.simditor-icon-tint:before{content:'\f015'}.simditor-icon-font:before{content:'\f016'}.simditor-icon-html5:before{content:'\f017'}.simditor-icon-mark:before{content:'\f018'}.simditor-icon-align-center:before{content:'\f019'}.simditor-icon-align-left:before{content:'\f01a'}.simditor-icon-align-right:before{content:'\f01b'}.simditor-icon-font-minus:before{content:'\f01c'}.simditor-icon-markdown:before{content:'\f01d'}.simditor-icon-checklist:before{content:'\f01e'}.simditor{position:relative;border:1px solid #c9d8db}.simditor .simditor-wrapper{position:relative;background:#fff}.simditor .simditor-wrapper>textarea{display:none!important;width:100%;box-sizing:border-box;font-family:monaco;font-size:16px;line-height:1.6;border:0;padding:22px 15px 40px;min-height:300px;outline:0;background:transparent;resize:none}.simditor .simditor-wrapper .simditor-placeholder{display:none;position:absolute;left:0;z-index:0;padding:22px 15px;font-size:16px;font-family:arial,sans-serif;line-height:1.5;color:#999;background:transparent}.simditor .simditor-wrapper.toolbar-floating .simditor-toolbar{position:fixed;top:0;z-index:10;box-shadow:0 0 6px rgba(0,0,0,0.1)}.simditor .simditor-wrapper .simditor-image-loading{width:100%;height:100%;position:absolute;top:0;left:0;z-index:2}.simditor .simditor-wrapper .simditor-image-loading .progress{width:100%;height:100%;background:rgba(0,0,0,0.4);position:absolute;bottom:0;left:0}.simditor .simditor-body{padding:22px 15px 40px;min-height:300px;outline:0;cursor:text;position:relative;z-index:1;background:transparent}.simditor .simditor-body a.selected{background:#b3d4fd}.simditor .simditor-body a.simditor-mention{cursor:pointer}.simditor .simditor-body .simditor-table{position:relative}.simditor .simditor-body .simditor-table.resizing{cursor:col-resize}.simditor .simditor-body .simditor-table .simditor-resize-handle{position:absolute;left:0;top:0;width:10px;height:100%;cursor:col-resize}.simditor .simditor-body pre{box-sizing:border-box;-moz-box-sizing:border-box;word-wrap:break-word!important;white-space:pre-wrap!important}.simditor .simditor-body img{cursor:pointer}.simditor .simditor-body img.selected{box-shadow:0 0 0 4px #ccc}.simditor .simditor-paste-bin{position:fixed;bottom:10px;right:10px;width:1px;height:20px;font-size:1px;line-height:1px;overflow:hidden;padding:0;margin:0;opacity:0;-webkit-user-select:text}.simditor .simditor-toolbar{border-bottom:1px solid #eee;background:#fff;width:100%}.simditor .simditor-toolbar>ul{margin:0;padding:0 0 0 6px;list-style:none}.simditor .simditor-toolbar>ul>li{position:relative;display:inline-block;font-size:0}.simditor .simditor-toolbar>ul>li>span.separator{display:inline-block;background:#cfcfcf;width:1px;height:18px;margin:11px 15px;vertical-align:middle}
|
|
|
6
|
+.simditor .simditor-toolbar>ul>li>.toolbar-item{display:inline-block;width:46px;height:40px;outline:0;color:#333;font-size:15px;line-height:40px;vertical-align:middle;text-align:center;text-decoration:none}.simditor .simditor-toolbar>ul>li>.toolbar-item span{opacity:.6}.simditor .simditor-toolbar>ul>li>.toolbar-item span.simditor-icon{display:inline;line-height:normal}.simditor .simditor-toolbar>ul>li>.toolbar-item:hover span{opacity:1}.simditor .simditor-toolbar>ul>li>.toolbar-item.active{background:#eee}.simditor .simditor-toolbar>ul>li>.toolbar-item.active span{opacity:1}.simditor .simditor-toolbar>ul>li>.toolbar-item.disabled{cursor:default}.simditor .simditor-toolbar>ul>li>.toolbar-item.disabled span{opacity:.3}.simditor .simditor-toolbar>ul>li>.toolbar-item.toolbar-item-title span:before{content:"H";font-size:19px;font-weight:bold;font-family:'Times New Roman'}.simditor .simditor-toolbar>ul>li>.toolbar-item.toolbar-item-title.active-h1 span:before{content:'H1';font-size:18px}.simditor .simditor-toolbar>ul>li>.toolbar-item.toolbar-item-title.active-h2 span:before{content:'H2';font-size:18px}.simditor .simditor-toolbar>ul>li>.toolbar-item.toolbar-item-title.active-h3 span:before{content:'H3';font-size:18px}.simditor .simditor-toolbar>ul>li>.toolbar-item.toolbar-item-image{position:relative;overflow:hidden}.simditor .simditor-toolbar>ul>li>.toolbar-item.toolbar-item-image>input[type=file]{position:absolute;right:0;top:0;opacity:0;font-size:100px;cursor:pointer}.simditor .simditor-toolbar>ul>li.menu-on .toolbar-item{position:relative;z-index:20;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,0.3)}.simditor .simditor-toolbar>ul>li.menu-on .toolbar-item span{opacity:1}.simditor .simditor-toolbar>ul>li.menu-on .toolbar-menu{display:block}.simditor .simditor-toolbar .toolbar-menu{display:none;position:absolute;top:40px;left:0;z-index:21;background:#fff;text-align:left;box-shadow:0 0 4px rgba(0,0,0,0.3)}.simditor .simditor-toolbar .toolbar-menu:before{content:'';display:block;width:46px;height:4px;background:#fff;position:absolute;top:-3px;left:0}.simditor .simditor-toolbar .toolbar-menu ul{min-width:160px;list-style:none;margin:0;padding:10px 1px}.simditor .simditor-toolbar .toolbar-menu ul>li .menu-item{display:block;font-size:16px;line-height:2em;padding:0 10px;text-decoration:none;color:#666}.simditor .simditor-toolbar .toolbar-menu ul>li .menu-item:hover{background:#f6f6f6}.simditor .simditor-toolbar .toolbar-menu ul>li .menu-item.menu-item-h1{font-size:24px;color:#333}.simditor .simditor-toolbar .toolbar-menu ul>li .menu-item.menu-item-h2{font-size:22px;color:#333}.simditor .simditor-toolbar .toolbar-menu ul>li .menu-item.menu-item-h3{font-size:20px;color:#333}.simditor .simditor-toolbar .toolbar-menu ul>li .menu-item.menu-item-h4{font-size:18px;color:#333}.simditor .simditor-toolbar .toolbar-menu ul>li .menu-item.menu-item-h5{font-size:16px;color:#333}.simditor .simditor-toolbar .toolbar-menu ul>li .separator{display:block;border-top:1px solid #ccc;height:0;line-height:0;font-size:0;margin:6px 0}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color{width:96px}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list{height:40px;margin:10px 6px 6px 10px;padding:0;min-width:0}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li{float:left;margin:0 4px 4px 0}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color{display:block;width:16px;height:16px;background:#dfdfdf;border-radius:2px}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color:hover{opacity:.8}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color.font-color-default{background:#333}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-1{background:#e33737}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-2{background:#e28b41}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-3{background:#c8a732}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-4{background:#209361}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-5{background:#418caf}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-6{background:#aa8773}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-7{background:#999}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table{background:#fff;padding:1px}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table{border:0;border-collapse:collapse;border-spacing:0;table-layout:fixed}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table td{padding:0;cursor:pointer}
|
|
|
7
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table td:before{width:16px;height:16px;border:1px solid #fff;background:#f3f3f3;display:block;content:""}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table td.selected:before{background:#cfcfcf}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-edit-table{display:none}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-edit-table ul li{white-space:nowrap}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-image .menu-item-upload-image{position:relative;overflow:hidden}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-image .menu-item-upload-image input[type=file]{position:absolute;right:0;top:0;opacity:0;font-size:100px;cursor:pointer}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-alignment{width:100%}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-alignment ul{min-width:100%}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-alignment .menu-item{text-align:center}.simditor .simditor-popover{display:none;padding:5px 8px 0;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,0.4);border-radius:2px;position:absolute;z-index:2}.simditor .simditor-popover .settings-field{margin:0 0 5px 0;font-size:12px;height:25px;line-height:25px}.simditor .simditor-popover .settings-field label{display:inline-block;margin:0 5px 0 0}.simditor .simditor-popover .settings-field input[type=text]{display:inline-block;width:200px;box-sizing:border-box;font-size:12px}.simditor .simditor-popover .settings-field input[type=text].image-size{width:83px}.simditor .simditor-popover .settings-field .times{display:inline-block;width:26px;font-size:12px;text-align:center}.simditor .simditor-popover.link-popover .btn-unlink,.simditor .simditor-popover.image-popover .btn-upload,.simditor .simditor-popover.image-popover .btn-restore{display:inline-block;margin:0 0 0 5px;color:#333;font-size:14px;outline:0}.simditor .simditor-popover.link-popover .btn-unlink span,.simditor .simditor-popover.image-popover .btn-upload span,.simditor .simditor-popover.image-popover .btn-restore span{opacity:.6}.simditor .simditor-popover.link-popover .btn-unlink:hover span,.simditor .simditor-popover.image-popover .btn-upload:hover span,.simditor .simditor-popover.image-popover .btn-restore:hover span{opacity:1}.simditor .simditor-popover.image-popover .btn-upload{position:relative;display:inline-block;overflow:hidden;vertical-align:middle}.simditor .simditor-popover.image-popover .btn-upload input[type=file]{position:absolute;right:0;top:0;opacity:0;height:100%;width:28px}.simditor.simditor-mobile .simditor-wrapper.toolbar-floating .simditor-toolbar{position:absolute;top:0;z-index:10;box-shadow:0 0 6px rgba(0,0,0,0.1)}.simditor .simditor-body,.editor-style{font-size:16px;font-family:arial,sans-serif;line-height:1.6;color:#333;outline:0;word-wrap:break-word}.simditor .simditor-body>:first-child,.editor-style>:first-child{margin-top:0!important}.simditor .simditor-body a,.editor-style a{color:#4298ba;text-decoration:none;word-break:break-all}.simditor .simditor-body a:visited,.editor-style a:visited{color:#4298ba}.simditor .simditor-body a:hover,.editor-style a:hover{color:#0f769f}.simditor .simditor-body a:active,.editor-style a:active{color:#9e792e}.simditor .simditor-body a:hover,.simditor .simditor-body a:active,.editor-style a:hover,.editor-style a:active{outline:0}.simditor .simditor-body h1,.simditor .simditor-body h2,.simditor .simditor-body h3,.simditor .simditor-body h4,.simditor .simditor-body h5,.simditor .simditor-body h6,.editor-style h1,.editor-style h2,.editor-style h3,.editor-style h4,.editor-style h5,.editor-style h6{font-weight:normal;margin:40px 0 20px;color:#000}.simditor .simditor-body h1,.editor-style h1{font-size:24px}.simditor .simditor-body h2,.editor-style h2{font-size:22px}.simditor .simditor-body h3,.editor-style h3{font-size:20px}.simditor .simditor-body h4,.editor-style h4{font-size:18px}.simditor .simditor-body h5,.editor-style h5{font-size:16px}.simditor .simditor-body h6,.editor-style h6{font-size:16px}.simditor .simditor-body p,.simditor .simditor-body div,.editor-style p,.editor-style div{word-wrap:break-word;margin:0 0 15px 0;color:#333;word-wrap:break-word}.simditor .simditor-body b,.simditor .simditor-body strong,.editor-style b,.editor-style strong{font-weight:bold}.simditor .simditor-body i,.simditor .simditor-body em,.editor-style i,.editor-style em{font-style:italic}.simditor .simditor-body u,.editor-style u{text-decoration:underline}.simditor .simditor-body strike,.simditor .simditor-body del,.editor-style strike,.editor-style del{text-decoration:line-through}.simditor .simditor-body ul,.simditor .simditor-body ol,.editor-style ul,.editor-style ol{list-style:disc outside none;margin:15px 0;padding:0 0 0 40px;line-height:1.6}.simditor .simditor-body ul ul,.simditor .simditor-body ul ol,.simditor .simditor-body ol ul,.simditor .simditor-body ol ol,.editor-style ul ul,.editor-style ul ol,.editor-style ol ul,.editor-style ol ol{padding-left:30px}
|
|
|
8
|
+.simditor .simditor-body ul ul,.simditor .simditor-body ol ul,.editor-style ul ul,.editor-style ol ul{list-style:circle outside none}.simditor .simditor-body ul ul ul,.simditor .simditor-body ol ul ul,.editor-style ul ul ul,.editor-style ol ul ul{list-style:square outside none}.simditor .simditor-body ol,.editor-style ol{list-style:decimal}.simditor .simditor-body blockquote,.editor-style blockquote{border-left:6px solid #ddd;padding:5px 0 5px 10px;margin:15px 0 15px 15px}.simditor .simditor-body blockquote>:first-child,.editor-style blockquote>:first-child{margin-top:0}.simditor .simditor-body code,.editor-style code{display:inline-block;padding:0 4px;margin:0 5px;background:#eee;border-radius:3px;font-size:13px;font-family:'monaco','Consolas',"Liberation Mono",Courier,monospace}.simditor .simditor-body pre,.editor-style pre{padding:10px 5px 10px 10px;margin:15px 0;display:block;line-height:18px;background:#f0f0f0;border-radius:3px;font-size:13px;font-family:'monaco','Consolas',"Liberation Mono",Courier,monospace;white-space:pre;word-wrap:normal;overflow-x:auto}.simditor .simditor-body pre code,.editor-style pre code{display:block;padding:0;margin:0;background:0;border-radius:0}.simditor .simditor-body hr,.editor-style hr{display:block;height:0;border:0;border-top:1px solid #ccc;margin:15px 0;padding:0}.simditor .simditor-body table,.editor-style table{width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0;margin:15px 0}.simditor .simditor-body table thead,.editor-style table thead{background-color:#f9f9f9}.simditor .simditor-body table td,.simditor .simditor-body table th,.editor-style table td,.editor-style table th{min-width:40px;height:30px;border:1px solid #ccc;vertical-align:top;padding:2px 4px;text-align:left;box-sizing:border-box}.simditor .simditor-body table td.active,.simditor .simditor-body table th.active,.editor-style table td.active,.editor-style table th.active{background-color:#ffe}.simditor .simditor-body img,.editor-style img{margin:0 5px;vertical-align:middle}.simditor .markdown-editor{display:none}.simditor .markdown-editor textarea{display:block;width:100%;min-height:200px;box-sizing:border-box;padding:22px 15px 40px;border:0;border-bottom:1px solid #dfdfdf;resize:none;outline:0;font-size:16px}.simditor.simditor-markdown .markdown-editor{display:block}.simditor.simditor-markdown .simditor-body{min-height:100px;background:#f3f3f3}.simditor.simditor-markdown .simditor-placeholder{display:none!important}.simditor .simditor-toolbar .toolbar-item.toolbar-item-markdown .simditor-icon{font-size:18px}.simditor .simditor-body .simditor-checklist{margin:15px 0;padding:0 0 0 40px;line-height:1.6;list-style-type:none}.simditor .simditor-body .simditor-checklist>li{margin:0;pointer-events:none}.simditor .simditor-body .simditor-checklist>li::before{content:'';pointer-events:all;display:inline-block;margin:0 5px 0 -25px;width:20px;height:20px;cursor:default;vertical-align:middle;background-image:url("data:image/gif;base64,R0lGODlhFAAUAPUAAP///9nZ2XV1dWNjY3Z2dv7+/mpqasbGxsPDw21tbfv7+2RkZM/Pz/X19crKymdnZ+/v725ubsvLy/Hx8XBwcO7u7nd3d83Nzezs7Hp6eoCAgNfX14SEhIqKitLS0uDg4I2NjZSUlNTU1Ojo6NXV1ZaWlp6entjY2J+fn6WlpeXl5ebm5qmpqY6OjvPz85CQkP39/Xt7e/Ly8t3d3dzc3P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAAA1ACwAAAAAFAAUAAAG/8BarVar1Wq1Wq1Wq9VqtVqtVqvVarVarVar1Wq1Wq1Wq9VqtVqtVqvVarVarVar1Wq1Wq1Wq9WAtVpAMBgMBoPBYEAI1Gq1Wq1WKxgOAAAAAAAAAIhEoVar1Wo1xYLRaDQajUaj4XgoarVarVaDACOSyWQymUwmEwkFUqvVarVaxXLBYDAYDAaDuWQqtVqtVqtVNIzNZrPZbDYbBqdSq9VqtVql4wF+Pp/P5/P5eECVWq1Wq9UqIdFoNBqNRqMRqVSp1Wq1Wq1i2kwmk8lkMpmcUJVarVar1SopFQAABAAAAABgxarUarVaraZoOVwul8vlcrkuL0WtVqvVajBHTGYgEAgEAoEg5oDVarVarVaDyWY0Gg1Io9FmMlitVqvVarVarVYoFAqFQqFQq9VqtVqtVqvVarVarVar1Wq1Wq1Wq9VqtVqtVqvVarUasFar1Wq1Wq1Wq9VqtVqtVqvVarVarVar1YIAOw==")}.simditor .simditor-body .simditor-checklist>li[checked]::before{background-image:url("data:image/gif;base64,R0lGODlhFAAUAPYAAAAAAHeHkD9QYB8wSOjo6Haw6C1huLbn8MfY8Ja42I630Ia48NjY2IefoJbH6Ja44H648D9CkCVZsE9XWFWY2D5wqI+foH6gwE9fYHeIoF93iPj4+J7P+J7A4IegyE54sPDw8I+nuB5BmAAHCEdXWC9BiFaAuFdveF2g4F9veB5JoA8PD12Y4GWg4CZRqKbI6GWo4BcoOK7Q8Cc4SDVwwAcPEEdQYA8YIDc/QBYykC1pwD9IWGaY0C8/SE2Q0B84UF6QyFWY4E2Q2D5omAcIGA8gMEZoiEZvkC5ZsE9ZmP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAABKACwAAAAAFAAUAAAH/4BKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKEys4SkpKSkpKSkpKSkpKSkpKShYAIyBKSkpKSkpKIUkRERERERERNwA2SkpKSkpKShslHggICAgICAEANyUbSkpKSkpKGzkoMjIyMjIdKwAVORtKSkpKSkogIhSAOz0ZMjI2ADZBIiBKSkpKSkogKkEaACsJFwArHUEqIEpKSkpKSiAuQSgxAD8xAEMoQS4gSkpKSkpKIEgoMDw1AAADMDAoSCBKSkpKSkogBigFBUcANTwFBS0GIEpKSkpKSiA0MAsLCzNHCwsLLTQgSkpKSkpKICYLHBwcDhwcgJYcHAsmIEpKSkpKShspCgcHBwcHBwcHCikbSkpKSkpKGxYYGBgYGBgYGBgYFhtKSkpKSkpKGyAMDAwMDAwMDCAbSkpKSkpKSkpKShsbGxsbGxsbSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkqASkpKSkpKSkpKSkpKSkpKSkpKSkpKSoEAOw==")}@font-face{font-family:'icomoon';src:url("../fonts/icomoon.eot?4vkjot");src:url("../fonts/icomoon.eot?#iefix4vkjot") format("embedded-opentype"),url("../fonts/icomoon.ttf?4vkjot") format("truetype"),url("../fonts/icomoon.woff?4vkjot") format("woff"),url("../fonts/icomoon.svg?4vkjot#icomoon") format("svg");font-weight:normal;font-style:normal}[class^="icon-"],[class*=" icon-"]{font-family:'icomoon';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-fullscreen:before{content:"\e600"}.simditor-fullscreen{overflow:hidden}.simditor-fullscreen .simditor{position:fixed;top:0;left:0;z-index:9999;width:100%}.simditor-fullscreen .simditor .simditor-body{overflow:auto}
|
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+/*!
|
|
|
2
|
+* Simditor v2.3.6
|
|
|
3
|
+* http://simditor.tower.im/
|
|
|
4
|
+* 2015-12-21
|
|
|
5
|
+*/@font-face{font-family:'Simditor';src:url(data:application/font-woff;charset=utf-8;base64,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) format("woff");font-weight:normal;font-style:normal}.simditor-icon{display:inline-block;font:normal normal normal 14px/1 'Simditor';font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0,0)}.simditor-icon-code:before{content:'\f000'}.simditor-icon-bold:before{content:'\f001'}.simditor-icon-italic:before{content:'\f002'}.simditor-icon-underline:before{content:'\f003'}.simditor-icon-times:before{content:'\f004'}.simditor-icon-strikethrough:before{content:'\f005'}.simditor-icon-list-ol:before{content:'\f006'}.simditor-icon-list-ul:before{content:'\f007'}.simditor-icon-quote-left:before{content:'\f008'}.simditor-icon-table:before{content:'\f009'}.simditor-icon-link:before{content:'\f00a'}.simditor-icon-picture-o:before{content:'\f00b'}.simditor-icon-minus:before{content:'\f00c'}.simditor-icon-indent:before{content:'\f00d'}.simditor-icon-outdent:before{content:'\f00e'}.simditor-icon-unlink:before{content:'\f00f'}.simditor-icon-caret-down:before{content:'\f010'}.simditor-icon-caret-right:before{content:'\f011'}.simditor-icon-upload:before{content:'\f012'}.simditor-icon-undo:before{content:'\f013'}.simditor-icon-smile-o:before{content:'\f014'}.simditor-icon-tint:before{content:'\f015'}.simditor-icon-font:before{content:'\f016'}.simditor-icon-html5:before{content:'\f017'}.simditor-icon-mark:before{content:'\f018'}.simditor-icon-align-center:before{content:'\f019'}.simditor-icon-align-left:before{content:'\f01a'}.simditor-icon-align-right:before{content:'\f01b'}.simditor-icon-font-minus:before{content:'\f01c'}.simditor-icon-markdown:before{content:'\f01d'}.simditor-icon-checklist:before{content:'\f01e'}.simditor{position:relative;border:1px solid #c9d8db}.simditor .simditor-wrapper{position:relative;background:#fff}.simditor .simditor-wrapper>textarea{display:none!important;width:100%;box-sizing:border-box;font-family:monaco;font-size:16px;line-height:1.6;border:0;padding:22px 15px 40px;min-height:300px;outline:0;background:transparent;resize:none}.simditor .simditor-wrapper .simditor-placeholder{display:none;position:absolute;left:0;z-index:0;padding:22px 15px;font-size:16px;font-family:arial,sans-serif;line-height:1.5;color:#999;background:transparent}.simditor .simditor-wrapper.toolbar-floating .simditor-toolbar{position:fixed;top:0;z-index:10;box-shadow:0 0 6px rgba(0,0,0,0.1)}.simditor .simditor-wrapper .simditor-image-loading{width:100%;height:100%;position:absolute;top:0;left:0;z-index:2}.simditor .simditor-wrapper .simditor-image-loading .progress{width:100%;height:100%;background:rgba(0,0,0,0.4);position:absolute;bottom:0;left:0}.simditor .simditor-body{padding:22px 15px 40px;min-height:300px;outline:0;cursor:text;position:relative;z-index:1;background:transparent}.simditor .simditor-body a.selected{background:#b3d4fd}.simditor .simditor-body a.simditor-mention{cursor:pointer}.simditor .simditor-body .simditor-table{position:relative}.simditor .simditor-body .simditor-table.resizing{cursor:col-resize}.simditor .simditor-body .simditor-table .simditor-resize-handle{position:absolute;left:0;top:0;width:10px;height:100%;cursor:col-resize}.simditor .simditor-body pre{box-sizing:border-box;-moz-box-sizing:border-box;word-wrap:break-word!important;white-space:pre-wrap!important}.simditor .simditor-body img{cursor:pointer}.simditor .simditor-body img.selected{box-shadow:0 0 0 4px #ccc}.simditor .simditor-paste-bin{position:fixed;bottom:10px;right:10px;width:1px;height:20px;font-size:1px;line-height:1px;overflow:hidden;padding:0;margin:0;opacity:0;-webkit-user-select:text}.simditor .simditor-toolbar{border-bottom:1px solid #eee;background:#fff;width:100%}.simditor .simditor-toolbar>ul{margin:0;padding:0 0 0 6px;list-style:none}.simditor .simditor-toolbar>ul>li{position:relative;display:inline-block;font-size:0}.simditor .simditor-toolbar>ul>li>span.separator{display:inline-block;background:#cfcfcf;width:1px;height:18px;margin:11px 15px;vertical-align:middle}
|
|
|
6
|
+.simditor .simditor-toolbar>ul>li>.toolbar-item{display:inline-block;width:46px;height:40px;outline:0;color:#333;font-size:15px;line-height:40px;vertical-align:middle;text-align:center;text-decoration:none}.simditor .simditor-toolbar>ul>li>.toolbar-item span{opacity:.6}.simditor .simditor-toolbar>ul>li>.toolbar-item span.simditor-icon{display:inline;line-height:normal}.simditor .simditor-toolbar>ul>li>.toolbar-item:hover span{opacity:1}.simditor .simditor-toolbar>ul>li>.toolbar-item.active{background:#eee}.simditor .simditor-toolbar>ul>li>.toolbar-item.active span{opacity:1}.simditor .simditor-toolbar>ul>li>.toolbar-item.disabled{cursor:default}.simditor .simditor-toolbar>ul>li>.toolbar-item.disabled span{opacity:.3}.simditor .simditor-toolbar>ul>li>.toolbar-item.toolbar-item-title span:before{content:"H";font-size:19px;font-weight:bold;font-family:'Times New Roman'}.simditor .simditor-toolbar>ul>li>.toolbar-item.toolbar-item-title.active-h1 span:before{content:'H1';font-size:18px}.simditor .simditor-toolbar>ul>li>.toolbar-item.toolbar-item-title.active-h2 span:before{content:'H2';font-size:18px}.simditor .simditor-toolbar>ul>li>.toolbar-item.toolbar-item-title.active-h3 span:before{content:'H3';font-size:18px}.simditor .simditor-toolbar>ul>li>.toolbar-item.toolbar-item-image{position:relative;overflow:hidden}.simditor .simditor-toolbar>ul>li>.toolbar-item.toolbar-item-image>input[type=file]{position:absolute;right:0;top:0;opacity:0;font-size:100px;cursor:pointer}.simditor .simditor-toolbar>ul>li.menu-on .toolbar-item{position:relative;z-index:20;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,0.3)}.simditor .simditor-toolbar>ul>li.menu-on .toolbar-item span{opacity:1}.simditor .simditor-toolbar>ul>li.menu-on .toolbar-menu{display:block}.simditor .simditor-toolbar .toolbar-menu{display:none;position:absolute;top:40px;left:0;z-index:21;background:#fff;text-align:left;box-shadow:0 0 4px rgba(0,0,0,0.3)}.simditor .simditor-toolbar .toolbar-menu:before{content:'';display:block;width:46px;height:4px;background:#fff;position:absolute;top:-3px;left:0}.simditor .simditor-toolbar .toolbar-menu ul{min-width:160px;list-style:none;margin:0;padding:10px 1px}.simditor .simditor-toolbar .toolbar-menu ul>li .menu-item{display:block;font-size:16px;line-height:2em;padding:0 10px;text-decoration:none;color:#666}.simditor .simditor-toolbar .toolbar-menu ul>li .menu-item:hover{background:#f6f6f6}.simditor .simditor-toolbar .toolbar-menu ul>li .menu-item.menu-item-h1{font-size:24px;color:#333}.simditor .simditor-toolbar .toolbar-menu ul>li .menu-item.menu-item-h2{font-size:22px;color:#333}.simditor .simditor-toolbar .toolbar-menu ul>li .menu-item.menu-item-h3{font-size:20px;color:#333}.simditor .simditor-toolbar .toolbar-menu ul>li .menu-item.menu-item-h4{font-size:18px;color:#333}.simditor .simditor-toolbar .toolbar-menu ul>li .menu-item.menu-item-h5{font-size:16px;color:#333}.simditor .simditor-toolbar .toolbar-menu ul>li .separator{display:block;border-top:1px solid #ccc;height:0;line-height:0;font-size:0;margin:6px 0}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color{width:96px}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list{height:40px;margin:10px 6px 6px 10px;padding:0;min-width:0}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li{float:left;margin:0 4px 4px 0}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color{display:block;width:16px;height:16px;background:#dfdfdf;border-radius:2px}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color:hover{opacity:.8}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color.font-color-default{background:#333}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-1{background:#e33737}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-2{background:#e28b41}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-3{background:#c8a732}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-4{background:#209361}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-5{background:#418caf}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-6{background:#aa8773}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-color .color-list li .font-color-7{background:#999}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table{background:#fff;padding:1px}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table{border:0;border-collapse:collapse;border-spacing:0;table-layout:fixed}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table td{padding:0;cursor:pointer}
|
|
|
7
|
+.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table td:before{width:16px;height:16px;border:1px solid #fff;background:#f3f3f3;display:block;content:""}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-create-table table td.selected:before{background:#cfcfcf}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-edit-table{display:none}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-table .menu-edit-table ul li{white-space:nowrap}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-image .menu-item-upload-image{position:relative;overflow:hidden}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-image .menu-item-upload-image input[type=file]{position:absolute;right:0;top:0;opacity:0;font-size:100px;cursor:pointer}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-alignment{width:100%}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-alignment ul{min-width:100%}.simditor .simditor-toolbar .toolbar-menu.toolbar-menu-alignment .menu-item{text-align:center}.simditor .simditor-popover{display:none;padding:5px 8px 0;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,0.4);border-radius:2px;position:absolute;z-index:2}.simditor .simditor-popover .settings-field{margin:0 0 5px 0;font-size:12px;height:25px;line-height:25px}.simditor .simditor-popover .settings-field label{display:inline-block;margin:0 5px 0 0}.simditor .simditor-popover .settings-field input[type=text]{display:inline-block;width:200px;box-sizing:border-box;font-size:12px}.simditor .simditor-popover .settings-field input[type=text].image-size{width:83px}.simditor .simditor-popover .settings-field .times{display:inline-block;width:26px;font-size:12px;text-align:center}.simditor .simditor-popover.link-popover .btn-unlink,.simditor .simditor-popover.image-popover .btn-upload,.simditor .simditor-popover.image-popover .btn-restore{display:inline-block;margin:0 0 0 5px;color:#333;font-size:14px;outline:0}.simditor .simditor-popover.link-popover .btn-unlink span,.simditor .simditor-popover.image-popover .btn-upload span,.simditor .simditor-popover.image-popover .btn-restore span{opacity:.6}.simditor .simditor-popover.link-popover .btn-unlink:hover span,.simditor .simditor-popover.image-popover .btn-upload:hover span,.simditor .simditor-popover.image-popover .btn-restore:hover span{opacity:1}.simditor .simditor-popover.image-popover .btn-upload{position:relative;display:inline-block;overflow:hidden;vertical-align:middle}.simditor .simditor-popover.image-popover .btn-upload input[type=file]{position:absolute;right:0;top:0;opacity:0;height:100%;width:28px}.simditor.simditor-mobile .simditor-wrapper.toolbar-floating .simditor-toolbar{position:absolute;top:0;z-index:10;box-shadow:0 0 6px rgba(0,0,0,0.1)}.simditor .simditor-body,.editor-style{font-size:16px;font-family:arial,sans-serif;line-height:1.6;color:#333;outline:0;word-wrap:break-word}.simditor .simditor-body>:first-child,.editor-style>:first-child{margin-top:0!important}.simditor .simditor-body a,.editor-style a{color:#4298ba;text-decoration:none;word-break:break-all}.simditor .simditor-body a:visited,.editor-style a:visited{color:#4298ba}.simditor .simditor-body a:hover,.editor-style a:hover{color:#0f769f}.simditor .simditor-body a:active,.editor-style a:active{color:#9e792e}.simditor .simditor-body a:hover,.simditor .simditor-body a:active,.editor-style a:hover,.editor-style a:active{outline:0}.simditor .simditor-body h1,.simditor .simditor-body h2,.simditor .simditor-body h3,.simditor .simditor-body h4,.simditor .simditor-body h5,.simditor .simditor-body h6,.editor-style h1,.editor-style h2,.editor-style h3,.editor-style h4,.editor-style h5,.editor-style h6{font-weight:normal;margin:40px 0 20px;color:#000}.simditor .simditor-body h1,.editor-style h1{font-size:24px}.simditor .simditor-body h2,.editor-style h2{font-size:22px}.simditor .simditor-body h3,.editor-style h3{font-size:20px}.simditor .simditor-body h4,.editor-style h4{font-size:18px}.simditor .simditor-body h5,.editor-style h5{font-size:16px}.simditor .simditor-body h6,.editor-style h6{font-size:16px}.simditor .simditor-body p,.simditor .simditor-body div,.editor-style p,.editor-style div{word-wrap:break-word;margin:0 0 15px 0;color:#333;word-wrap:break-word}.simditor .simditor-body b,.simditor .simditor-body strong,.editor-style b,.editor-style strong{font-weight:bold}.simditor .simditor-body i,.simditor .simditor-body em,.editor-style i,.editor-style em{font-style:italic}.simditor .simditor-body u,.editor-style u{text-decoration:underline}.simditor .simditor-body strike,.simditor .simditor-body del,.editor-style strike,.editor-style del{text-decoration:line-through}.simditor .simditor-body ul,.simditor .simditor-body ol,.editor-style ul,.editor-style ol{list-style:disc outside none;margin:15px 0;padding:0 0 0 40px;line-height:1.6}.simditor .simditor-body ul ul,.simditor .simditor-body ul ol,.simditor .simditor-body ol ul,.simditor .simditor-body ol ol,.editor-style ul ul,.editor-style ul ol,.editor-style ol ul,.editor-style ol ol{padding-left:30px}
|
|
|
8
|
+.simditor .simditor-body ul ul,.simditor .simditor-body ol ul,.editor-style ul ul,.editor-style ol ul{list-style:circle outside none}.simditor .simditor-body ul ul ul,.simditor .simditor-body ol ul ul,.editor-style ul ul ul,.editor-style ol ul ul{list-style:square outside none}.simditor .simditor-body ol,.editor-style ol{list-style:decimal}.simditor .simditor-body blockquote,.editor-style blockquote{border-left:6px solid #ddd;padding:5px 0 5px 10px;margin:15px 0 15px 15px}.simditor .simditor-body blockquote>:first-child,.editor-style blockquote>:first-child{margin-top:0}.simditor .simditor-body code,.editor-style code{display:inline-block;padding:0 4px;margin:0 5px;background:#eee;border-radius:3px;font-size:13px;font-family:'monaco','Consolas',"Liberation Mono",Courier,monospace}.simditor .simditor-body pre,.editor-style pre{padding:10px 5px 10px 10px;margin:15px 0;display:block;line-height:18px;background:#f0f0f0;border-radius:3px;font-size:13px;font-family:'monaco','Consolas',"Liberation Mono",Courier,monospace;white-space:pre;word-wrap:normal;overflow-x:auto}.simditor .simditor-body pre code,.editor-style pre code{display:block;padding:0;margin:0;background:0;border-radius:0}.simditor .simditor-body hr,.editor-style hr{display:block;height:0;border:0;border-top:1px solid #ccc;margin:15px 0;padding:0}.simditor .simditor-body table,.editor-style table{width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0;margin:15px 0}.simditor .simditor-body table thead,.editor-style table thead{background-color:#f9f9f9}.simditor .simditor-body table td,.simditor .simditor-body table th,.editor-style table td,.editor-style table th{min-width:40px;height:30px;border:1px solid #ccc;vertical-align:top;padding:2px 4px;text-align:left;box-sizing:border-box}.simditor .simditor-body table td.active,.simditor .simditor-body table th.active,.editor-style table td.active,.editor-style table th.active{background-color:#ffe}.simditor .simditor-body img,.editor-style img{margin:0 5px;vertical-align:middle}
|
|
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+@charset "UTF-8";
|
|
|
2
|
+
|
|
|
3
|
+@import 'fonticon';
|
|
|
4
|
+@import 'editor';
|
|
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+<div class="django-simditor-widget" data-field-id="{{id}}" style="display: inline-block;">
|
|
|
2
|
+ <textarea{{ final_attrs|safe }} data-processed="0" data-config='{{config|safe}}' data-id="{{id}}" data-type="simditortype">{{ value }}</textarea>
|
|
|
3
|
+</div>
|
|
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+"""simditor urls."""
|
|
|
2
|
+from __future__ import absolute_import
|
|
|
3
|
+
|
|
|
4
|
+import django
|
|
|
5
|
+
|
|
|
6
|
+from django.conf import settings
|
|
|
7
|
+from django.conf.urls import url, static
|
|
|
8
|
+from django.contrib.admin.views.decorators import staff_member_required
|
|
|
9
|
+
|
|
|
10
|
+from . import views
|
|
|
11
|
+
|
|
|
12
|
+if django.VERSION >= (2, 0):
|
|
|
13
|
+ # pylint disable=C0103
|
|
|
14
|
+ from django.urls import path
|
|
|
15
|
+ urlpatterns = [
|
|
|
16
|
+ path('upload/', staff_member_required(views.UPLOAD),
|
|
|
17
|
+ name='simditor_upload'),
|
|
|
18
|
+ ]
|
|
|
19
|
+elif django.VERSION >= (1, 8):
|
|
|
20
|
+ # pylint disable=C0103
|
|
|
21
|
+ urlpatterns = [
|
|
|
22
|
+ url(r'^upload/', staff_member_required(views.UPLOAD),
|
|
|
23
|
+ name='simditor_upload'),
|
|
|
24
|
+ ]
|
|
|
25
|
+else:
|
|
|
26
|
+ from django.conf.urls import patterns # pylint disable=C0411
|
|
|
27
|
+
|
|
|
28
|
+ # pylint disable=C0103
|
|
|
29
|
+ urlpatterns = patterns(
|
|
|
30
|
+ '',
|
|
|
31
|
+ url(r'^upload/', staff_member_required(views.UPLOAD),
|
|
|
32
|
+ name='simditor_upload'),
|
|
|
33
|
+ )
|
|
|
34
|
+
|
|
|
35
|
+if settings.DEBUG:
|
|
|
36
|
+ urlpatterns += static.static(settings.MEDIA_URL,
|
|
|
37
|
+ document_root=settings.MEDIA_ROOT)
|
|
|
38
|
+ urlpatterns += static.static(settings.STATIC_URL,
|
|
|
39
|
+ document_root=settings.STATIC_ROOT)
|
|
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+"""simditor utils."""
|
|
|
2
|
+from __future__ import absolute_import
|
|
|
3
|
+
|
|
|
4
|
+import os.path
|
|
|
5
|
+import random
|
|
|
6
|
+
|
|
|
7
|
+import string
|
|
|
8
|
+
|
|
|
9
|
+from django.core.files.storage import default_storage
|
|
|
10
|
+from django.template.defaultfilters import slugify
|
|
|
11
|
+
|
|
|
12
|
+
|
|
|
13
|
+class NotAnImageException(Exception):
|
|
|
14
|
+ pass
|
|
|
15
|
+
|
|
|
16
|
+
|
|
|
17
|
+def get_random_string():
|
|
|
18
|
+ """Get random string."""
|
|
|
19
|
+ return ''.join(random.sample(string.ascii_lowercase * 6, 6))
|
|
|
20
|
+
|
|
|
21
|
+
|
|
|
22
|
+def get_slugified_name(filename):
|
|
|
23
|
+ """get_slugified_name."""
|
|
|
24
|
+ slugified = slugify(filename)
|
|
|
25
|
+ return slugified or get_random_string()
|
|
|
26
|
+
|
|
|
27
|
+
|
|
|
28
|
+def slugify_filename(filename):
|
|
|
29
|
+ """ Slugify filename """
|
|
|
30
|
+ name, ext = os.path.splitext(filename)
|
|
|
31
|
+ slugified = get_slugified_name(name)
|
|
|
32
|
+ return slugified + ext
|
|
|
33
|
+
|
|
|
34
|
+
|
|
|
35
|
+def get_media_url(path):
|
|
|
36
|
+ """
|
|
|
37
|
+ Determine system file's media URL.
|
|
|
38
|
+ """
|
|
|
39
|
+ return default_storage.url(path)
|
|
|
40
|
+
|
|
|
41
|
+
|
|
|
42
|
+def is_valid_image_extension(file_path):
|
|
|
43
|
+ """is_valid_image_extension."""
|
|
|
44
|
+ valid_extensions = ['.jpeg', '.jpg', '.gif', '.png']
|
|
|
45
|
+ _, extension = os.path.splitext(file_path)
|
|
|
46
|
+ return extension.lower() in valid_extensions
|
|
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+"""simditor views."""
|
|
|
2
|
+from __future__ import absolute_import
|
|
|
3
|
+
|
|
|
4
|
+import os
|
|
|
5
|
+from datetime import datetime
|
|
|
6
|
+
|
|
|
7
|
+from django.conf import settings
|
|
|
8
|
+from django.core.files.storage import default_storage
|
|
|
9
|
+
|
|
|
10
|
+from django.http import JsonResponse
|
|
|
11
|
+
|
|
|
12
|
+from django.views import generic
|
|
|
13
|
+from django.views.decorators.csrf import csrf_exempt
|
|
|
14
|
+
|
|
|
15
|
+from . import utils, image_processing
|
|
|
16
|
+
|
|
|
17
|
+
|
|
|
18
|
+def get_upload_filename(upload_name):
|
|
|
19
|
+ # Generate date based path to put uploaded file.
|
|
|
20
|
+ date_path = datetime.now().strftime('%Y/%m/%d')
|
|
|
21
|
+
|
|
|
22
|
+ # Complete upload path (upload_path + date_path).
|
|
|
23
|
+ upload_path = os.path.join(settings.SIMDITOR_UPLOAD_PATH, date_path)
|
|
|
24
|
+
|
|
|
25
|
+ if getattr(settings, 'SIMDITOR_UPLOAD_SLUGIFY_FILENAME', True):
|
|
|
26
|
+ upload_name = utils.slugify_filename(upload_name)
|
|
|
27
|
+
|
|
|
28
|
+ return default_storage.get_available_name(os.path.join(upload_path, upload_name))
|
|
|
29
|
+
|
|
|
30
|
+
|
|
|
31
|
+def upload_handler(request):
|
|
|
32
|
+ files = request.FILES
|
|
|
33
|
+
|
|
|
34
|
+ upload_config = settings.SIMDITOR_CONFIGS.get(
|
|
|
35
|
+ 'upload', {'fileKey': 'upload'})
|
|
|
36
|
+ filekey = upload_config.get('fileKey', 'upload')
|
|
|
37
|
+
|
|
|
38
|
+ uploaded_file = files.get(filekey)
|
|
|
39
|
+
|
|
|
40
|
+ if not uploaded_file:
|
|
|
41
|
+ retdata = {'file_path': '', 'success': False,
|
|
|
42
|
+ 'msg': '图片上传失败,无法获取到图片对象!'}
|
|
|
43
|
+ return JsonResponse(retdata)
|
|
|
44
|
+
|
|
|
45
|
+ image_size = upload_config.get('image_size')
|
|
|
46
|
+ if image_size and uploaded_file.size > image_size:
|
|
|
47
|
+ retdata = {'file_path': '', 'success': False,
|
|
|
48
|
+ 'msg': '上传失败,已超出图片最大限制!'}
|
|
|
49
|
+ return JsonResponse(retdata)
|
|
|
50
|
+
|
|
|
51
|
+ backend = image_processing.get_backend()
|
|
|
52
|
+
|
|
|
53
|
+ if not getattr(settings, 'SIMDITOR_ALLOW_NONIMAGE_FILES', True):
|
|
|
54
|
+ try:
|
|
|
55
|
+ backend.image_verify(uploaded_file)
|
|
|
56
|
+ except utils.NotAnImageException:
|
|
|
57
|
+ retdata = {'file_path': '', 'success': False,
|
|
|
58
|
+ 'msg': '图片格式错误!'}
|
|
|
59
|
+ return JsonResponse(retdata)
|
|
|
60
|
+
|
|
|
61
|
+ filename = get_upload_filename(uploaded_file.name)
|
|
|
62
|
+ saved_path = default_storage.save(filename, uploaded_file)
|
|
|
63
|
+
|
|
|
64
|
+ url = utils.get_media_url(saved_path)
|
|
|
65
|
+
|
|
|
66
|
+ is_api = settings.SIMDITOR_CONFIGS.get('is_api', False)
|
|
|
67
|
+ url = request.META.get('HTTP_ORIGIN') + url if is_api else url
|
|
|
68
|
+
|
|
|
69
|
+ retdata = {'file_path': url, 'success': True, 'msg': '上传成功!'}
|
|
|
70
|
+
|
|
|
71
|
+ return JsonResponse(retdata)
|
|
|
72
|
+
|
|
|
73
|
+
|
|
|
74
|
+class ImageUploadView(generic.View):
|
|
|
75
|
+ """ImageUploadView."""
|
|
|
76
|
+
|
|
|
77
|
+ http_method_names = ['post']
|
|
|
78
|
+
|
|
|
79
|
+ def post(self, request, **kwargs):
|
|
|
80
|
+ """Post."""
|
|
|
81
|
+ return upload_handler(request)
|
|
|
82
|
+
|
|
|
83
|
+
|
|
|
84
|
+UPLOAD = csrf_exempt(ImageUploadView.as_view())
|
|
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+"""simditor widgets."""
|
|
|
2
|
+from __future__ import absolute_import
|
|
|
3
|
+
|
|
|
4
|
+from django import forms
|
|
|
5
|
+from django.conf import settings
|
|
|
6
|
+from django.core.exceptions import ImproperlyConfigured
|
|
|
7
|
+from django.core.serializers.json import DjangoJSONEncoder
|
|
|
8
|
+
|
|
|
9
|
+from django.template.loader import render_to_string
|
|
|
10
|
+from django.utils.encoding import force_text
|
|
|
11
|
+from django.utils.safestring import mark_safe
|
|
|
12
|
+from django.utils.html import conditional_escape
|
|
|
13
|
+from django.utils.functional import Promise
|
|
|
14
|
+
|
|
|
15
|
+try:
|
|
|
16
|
+ # Django >=2.1
|
|
|
17
|
+ from django.forms.widgets import get_default_renderer
|
|
|
18
|
+ IS_NEW_WIDGET = True
|
|
|
19
|
+except ImportError:
|
|
|
20
|
+ IS_NEW_WIDGET = False
|
|
|
21
|
+
|
|
|
22
|
+try:
|
|
|
23
|
+ # Django >=1.7
|
|
|
24
|
+ from django.forms.utils import flatatt
|
|
|
25
|
+except ImportError:
|
|
|
26
|
+ # Django <1.7
|
|
|
27
|
+ from django.forms.util import flatatt # pylint disable=E0611, E0401
|
|
|
28
|
+
|
|
|
29
|
+
|
|
|
30
|
+class LazyEncoder(DjangoJSONEncoder):
|
|
|
31
|
+ """LazyEncoder."""
|
|
|
32
|
+
|
|
|
33
|
+ # pylint disable=E0202
|
|
|
34
|
+ def default(self, obj):
|
|
|
35
|
+ if isinstance(obj, Promise):
|
|
|
36
|
+ return force_text(obj)
|
|
|
37
|
+ return super(LazyEncoder, self).default(obj)
|
|
|
38
|
+
|
|
|
39
|
+
|
|
|
40
|
+JSON_ENCODE = LazyEncoder().encode
|
|
|
41
|
+
|
|
|
42
|
+
|
|
|
43
|
+FULL_TOOLBAR = [
|
|
|
44
|
+ 'title', 'bold', 'italic', 'underline', 'strikethrough', 'fontScale',
|
|
|
45
|
+ 'color', '|', 'ol', 'ul', 'blockquote', 'code', 'table', '|', 'link',
|
|
|
46
|
+ 'image', 'hr', '|', 'indent', 'outdent', 'alignment', 'checklist',
|
|
|
47
|
+ 'markdown', 'fullscreen'
|
|
|
48
|
+]
|
|
|
49
|
+
|
|
|
50
|
+DEFAULT_TOOLBAR = [
|
|
|
51
|
+ 'title', 'bold', 'italic', 'underline', 'strikethrough', 'fontScale',
|
|
|
52
|
+ 'color', '|', 'ol', 'ul', 'blockquote', 'table', '|', 'link',
|
|
|
53
|
+ 'image', 'hr', '|', 'indent', 'outdent', 'alignment'
|
|
|
54
|
+]
|
|
|
55
|
+
|
|
|
56
|
+DEFAULT_CONFIG = {
|
|
|
57
|
+ 'toolbar': DEFAULT_TOOLBAR,
|
|
|
58
|
+ 'cleanPaste': True,
|
|
|
59
|
+ 'tabIndent': True,
|
|
|
60
|
+ 'pasteImage': True,
|
|
|
61
|
+ 'upload': {
|
|
|
62
|
+ 'url': '/',
|
|
|
63
|
+ 'fileKey': 'file'
|
|
|
64
|
+ }
|
|
|
65
|
+}
|
|
|
66
|
+
|
|
|
67
|
+
|
|
|
68
|
+class SimditorWidget(forms.Textarea):
|
|
|
69
|
+ """
|
|
|
70
|
+ Widget providing Simditor for Rich Text Editing.abs
|
|
|
71
|
+ Supports direct image uploads and embed.
|
|
|
72
|
+ """
|
|
|
73
|
+ class Media:
|
|
|
74
|
+ """Media."""
|
|
|
75
|
+
|
|
|
76
|
+ css_list = [
|
|
|
77
|
+ 'simditor/styles/simditor.min.css'
|
|
|
78
|
+ ]
|
|
|
79
|
+
|
|
|
80
|
+ if 'emoji' in settings.SIMDITOR_TOOLBAR:
|
|
|
81
|
+ css_list.append('simditor/styles/simditor-emoji.css')
|
|
|
82
|
+
|
|
|
83
|
+ if 'fullscreen' in settings.SIMDITOR_TOOLBAR:
|
|
|
84
|
+ css_list.append('simditor/styles/simditor-fullscreen.min.css')
|
|
|
85
|
+
|
|
|
86
|
+ if 'checklist' in settings.SIMDITOR_TOOLBAR:
|
|
|
87
|
+ css_list.append('simditor/styles/simditor-checklist.min.css')
|
|
|
88
|
+
|
|
|
89
|
+ if 'markdown' in settings.SIMDITOR_TOOLBAR:
|
|
|
90
|
+ css_list.append('simditor/styles/simditor-markdown.min.css')
|
|
|
91
|
+
|
|
|
92
|
+ css = {'all': tuple(settings.STATIC_URL + url for url in css_list)}
|
|
|
93
|
+
|
|
|
94
|
+ jquery_list = ['simditor/scripts/jquery.min.js',
|
|
|
95
|
+ 'simditor/scripts/module.min.js',
|
|
|
96
|
+ 'simditor/scripts/hotkeys.min.js',
|
|
|
97
|
+ 'simditor/scripts/uploader.min.js',
|
|
|
98
|
+ 'simditor/scripts/simditor.min.js']
|
|
|
99
|
+
|
|
|
100
|
+ if 'fullscreen' in settings.SIMDITOR_TOOLBAR:
|
|
|
101
|
+ jquery_list.append('simditor/scripts/simditor-fullscreen.min.js')
|
|
|
102
|
+
|
|
|
103
|
+ if 'checklist' in settings.SIMDITOR_TOOLBAR:
|
|
|
104
|
+ jquery_list.append('simditor/scripts/simditor-checklist.min.js')
|
|
|
105
|
+
|
|
|
106
|
+ if 'markdown' in settings.SIMDITOR_TOOLBAR:
|
|
|
107
|
+ jquery_list.append('simditor/scripts/marked.min.js')
|
|
|
108
|
+ jquery_list.append('simditor/scripts/to-markdown.min.js')
|
|
|
109
|
+ jquery_list.append('simditor/scripts/simditor-markdown.min.js')
|
|
|
110
|
+
|
|
|
111
|
+ if 'image' in settings.SIMDITOR_TOOLBAR:
|
|
|
112
|
+ jquery_list.append('simditor/scripts/simditor-dropzone.min.js')
|
|
|
113
|
+
|
|
|
114
|
+ if 'emoji' in settings.SIMDITOR_TOOLBAR:
|
|
|
115
|
+ jquery_list.append('simditor/scripts/simditor-emoji.js')
|
|
|
116
|
+
|
|
|
117
|
+ js = tuple(settings.STATIC_URL + url for url in jquery_list)
|
|
|
118
|
+
|
|
|
119
|
+ try:
|
|
|
120
|
+
|
|
|
121
|
+ js += (settings.STATIC_URL + 'simditor/simditor-init.js',)
|
|
|
122
|
+ except AttributeError:
|
|
|
123
|
+ raise ImproperlyConfigured("django-simditor requires \
|
|
|
124
|
+ SIMDITOR_MEDIA_PREFIX setting. This setting specifies a \
|
|
|
125
|
+ URL prefix to the ckeditor JS and CSS media (not \
|
|
|
126
|
+ uploaded media). Make sure to use a trailing slash: \
|
|
|
127
|
+ SIMDITOR_MEDIA_PREFIX = '/media/simditor/'")
|
|
|
128
|
+
|
|
|
129
|
+ def __init__(self, *args, **kwargs):
|
|
|
130
|
+ super(SimditorWidget, self).__init__(*args, **kwargs)
|
|
|
131
|
+ # Setup config from defaults.
|
|
|
132
|
+ self.config = DEFAULT_CONFIG.copy()
|
|
|
133
|
+
|
|
|
134
|
+ # Try to get valid config from settings.
|
|
|
135
|
+ configs = getattr(settings, 'SIMDITOR_CONFIGS', None)
|
|
|
136
|
+ if configs:
|
|
|
137
|
+ if isinstance(configs, dict):
|
|
|
138
|
+ self.config.update(configs)
|
|
|
139
|
+ else:
|
|
|
140
|
+ raise ImproperlyConfigured(
|
|
|
141
|
+ 'SIMDITOR_CONFIGS setting must be a dictionary type.')
|
|
|
142
|
+
|
|
|
143
|
+ def build_attrs(self, base_attrs, extra_attrs=None, **kwargs):
|
|
|
144
|
+ """
|
|
|
145
|
+ Helper function for building an attribute dictionary.
|
|
|
146
|
+ This is combination of the same method from Django<=1.10 and Django1.11
|
|
|
147
|
+ """
|
|
|
148
|
+ attrs = dict(base_attrs, **kwargs)
|
|
|
149
|
+ if extra_attrs:
|
|
|
150
|
+ attrs.update(extra_attrs)
|
|
|
151
|
+ return attrs
|
|
|
152
|
+
|
|
|
153
|
+ def render(self, name, value, attrs=None, renderer=None):
|
|
|
154
|
+ if value is None:
|
|
|
155
|
+ value = ''
|
|
|
156
|
+ final_attrs = self.build_attrs(self.attrs, attrs, name=name)
|
|
|
157
|
+
|
|
|
158
|
+ params = ('simditor/widget.html', {
|
|
|
159
|
+ 'final_attrs': flatatt(final_attrs),
|
|
|
160
|
+ 'value': conditional_escape(force_text(value)),
|
|
|
161
|
+ 'id': final_attrs['id'],
|
|
|
162
|
+ 'config': JSON_ENCODE(self.config)
|
|
|
163
|
+ })
|
|
|
164
|
+
|
|
|
165
|
+ if renderer is None and IS_NEW_WIDGET:
|
|
|
166
|
+ renderer = get_default_renderer()
|
|
|
167
|
+
|
|
|
168
|
+ data = renderer.render(*params) if IS_NEW_WIDGET else render_to_string(*params)
|
|
|
169
|
+
|
|
|
170
|
+ return mark_safe(data)
|