@jx3box/jx3box-editor 1.0.8 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/assets/css/article.less +32 -25
  2. package/assets/css/article_markdown.less +14 -10
  3. package/assets/css/markdown/_.less +2 -0
  4. package/assets/css/markdown/macro.less +45 -0
  5. package/assets/css/markdown/talent.less +42 -0
  6. package/assets/css/markdown/video.less +25 -0
  7. package/assets/css/markdown.less +67 -24
  8. package/assets/css/module/buff.less +1 -1
  9. package/assets/css/module/item.less +0 -1
  10. package/assets/css/module/item_simple.less +43 -41
  11. package/assets/css/module/macro.less +71 -38
  12. package/assets/css/module/npc.less +224 -0
  13. package/assets/css/module/skill.less +1 -1
  14. package/assets/css/module/talent.less +424 -0
  15. package/assets/css/resource.less +4 -0
  16. package/assets/css/{module → tinymce}/_.less +1 -1
  17. package/assets/css/{module → tinymce}/a.less +1 -1
  18. package/assets/css/{module → tinymce}/code.less +1 -1
  19. package/assets/css/{module → tinymce}/fold.less +1 -1
  20. package/assets/css/{module → tinymce}/h.less +1 -1
  21. package/assets/css/{module → tinymce}/hr.less +1 -1
  22. package/assets/css/{module → tinymce}/img.less +1 -1
  23. package/assets/css/{module → tinymce}/imgpreview.less +0 -0
  24. package/assets/css/{module → tinymce}/latex.less +1 -1
  25. package/assets/css/{module → tinymce}/list.less +1 -1
  26. package/assets/css/tinymce/macro.less +40 -0
  27. package/assets/css/{module → tinymce}/nextpage.less +5 -0
  28. package/assets/css/{module → tinymce}/p.less +1 -1
  29. package/assets/css/{module → tinymce}/plugin.less +0 -0
  30. package/assets/css/{module → tinymce}/qixue.less +2 -1
  31. package/assets/css/{module → tinymce}/quote.less +1 -1
  32. package/assets/css/{module → tinymce}/table.less +2 -2
  33. package/assets/css/{module → tinymce}/video.less +2 -2
  34. package/assets/data/markdown_whitelist.json +6 -2
  35. package/assets/img/npc/attack.svg +69 -0
  36. package/assets/img/npc/buff.svg +20 -0
  37. package/assets/img/npc/energy.svg +1 -0
  38. package/assets/img/npc/miss.svg +1 -0
  39. package/assets/img/npc/npc.svg +1 -0
  40. package/assets/img/npc/radar.svg +45 -0
  41. package/assets/img/npc/shield.svg +1 -0
  42. package/assets/img/npc/sight.svg +1 -0
  43. package/assets/img/npc/skull.svg +15 -0
  44. package/assets/img/npc/target.svg +55 -0
  45. package/assets/js/macro.js +0 -1
  46. package/assets/js/qixue.js +0 -1
  47. package/package.json +1 -1
  48. package/service/database.js +12 -1
  49. package/src/Article.vue +1 -1
  50. package/src/ArticleMarkdown.vue +9 -1
  51. package/src/Markdown.vue +55 -15
  52. package/src/Npc.vue +214 -0
  53. package/src/Resource.vue +35 -0
  54. package/src/components/markdown/katex.vue +58 -0
  55. package/src/components/markdown/macro.vue +3 -5
  56. package/src/components/markdown/pz.vue +4 -6
  57. package/src/components/markdown/talent.vue +49 -0
  58. package/src/components/markdown/talent2.vue +48 -0
  59. package/src/components/markdown/video.vue +49 -0
  60. package/assets/css/markdown/common.less +0 -13
@@ -0,0 +1,224 @@
1
+ .w-npc {
2
+ padding: 1px;
3
+ border: 1px solid #0f2222;
4
+ .w-npc-wrapper {
5
+ @min-width: 200px;
6
+ min-width: @min-width;
7
+ padding: 9px 10px 10px;
8
+ background-color: rgba(15, 34, 34, 0.88);
9
+ box-sizing: border-box;
10
+ display: flex;
11
+
12
+ div {
13
+ margin: 2px 0;
14
+ }
15
+
16
+ .w-npc-content {
17
+ box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
18
+ margin-bottom: 10px;
19
+ padding: 10px;
20
+ .r(4px);
21
+ .clearfix;
22
+ .fz(13px);
23
+ color: #e7e7e7;
24
+ }
25
+
26
+ .u-icon {
27
+ .fl;
28
+ .mr(10px);
29
+ .r(4px);
30
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0.4);
31
+ }
32
+
33
+ .u-isBoss {
34
+ .pa;
35
+ .rt(10px, 40px);
36
+ .z(2);
37
+ svg {
38
+ .size(20px);
39
+ .y(top);
40
+ }
41
+ font-style: normal;
42
+ .lh(20px);
43
+ .bold;
44
+ }
45
+
46
+ .u-id {
47
+ .pa;
48
+ .rt(22px,28px);
49
+ .pointer;
50
+ color: #5df9eb;
51
+ }
52
+
53
+ .u-title {
54
+ min-height: 48px;
55
+ .u-name {
56
+ .fz(18px);
57
+ color: #ebeef5;
58
+ margin-right: 5px;
59
+ .bold;
60
+ font-weight: 300;
61
+ }
62
+ .u-name-add {
63
+ .fz(12px);
64
+ color: #aaa;
65
+ }
66
+ .u-level {
67
+ .fz(12px);
68
+ }
69
+ border-bottom: 1px solid #4a5056;
70
+ padding-bottom: 10px;
71
+ }
72
+
73
+ .u-base {
74
+ .fz(12px, 2);
75
+
76
+ span {
77
+ &:after {
78
+ content: "|";
79
+ color: #aaa;
80
+ padding: 0 5px;
81
+ }
82
+ &:last-child {
83
+ &:after {
84
+ .none;
85
+ }
86
+ }
87
+ }
88
+ }
89
+
90
+ .u-primary {
91
+ margin-top: 10px;
92
+ min-height: 23px;
93
+ em {
94
+ .none;
95
+ }
96
+ b {
97
+ padding: 2px 5px;
98
+ .mr(15px);
99
+ .y(top);
100
+ .h(20px);
101
+ .fz(13px);
102
+ font-weight: normal;
103
+ color: #aaa;
104
+ }
105
+ div {
106
+ .fz(12px, 23px);
107
+ white-space: nowrap;
108
+ overflow-x: auto;
109
+ }
110
+
111
+ strong {
112
+ // color:#0cf;
113
+ .fz(13px);
114
+ color: #eee;
115
+ }
116
+
117
+ .u-range {
118
+ transform: skewX(-15deg);
119
+ background-color: #ddd;
120
+ .r(2px);
121
+ .w(220px);
122
+ .dbi;
123
+ .y(top);
124
+ .h(19px);
125
+ margin: 2px 0;
126
+ .pr;
127
+
128
+ strong {
129
+ .h(100%);
130
+ .db;
131
+ .pa;
132
+ .lt(0);
133
+ font-weight: 400;
134
+ text-indent: 10px;
135
+ .r(2px);
136
+ .fz(12px, 18px);
137
+ color: #fff;
138
+ max-width: 300%;
139
+ }
140
+ }
141
+ }
142
+
143
+ .u-sitem {
144
+ color: #aaa;
145
+ }
146
+ .u-shield,
147
+ .u-critical,
148
+ .u-attack {
149
+ .u-sitem {
150
+ .mr(20px);
151
+ }
152
+ .u-value {
153
+ padding: 0 5px;
154
+ .bold;
155
+ .fz(13px);
156
+ color: #eee;
157
+ }
158
+ }
159
+
160
+ .u-misc {
161
+ .u-remark {
162
+ margin-right: 20px;
163
+ strong {
164
+ color: #f28f02;
165
+ color: #f00;
166
+ }
167
+ }
168
+ }
169
+ .u-misc-tip {
170
+ .x;
171
+ background-color: #444;
172
+ .r(2px);
173
+ color: #999;
174
+ padding: 5px 10px;
175
+ a {
176
+ color: #fff;
177
+ margin: 0 3px;
178
+ box-shadow: 0 1px 0 #fff;
179
+ }
180
+ a:hover {
181
+ color: #eee;
182
+ }
183
+ }
184
+
185
+ .u-descicon {
186
+ .size(14px);
187
+ .y(-2px);
188
+ .mr(5px);
189
+ }
190
+ .u-descicon-life {
191
+ fill: #ffacd5;
192
+ }
193
+ .u-descicon-mana {
194
+ fill: #77e3ff;
195
+ }
196
+ .u-descicon-speed {
197
+ fill: #c2f703;
198
+ }
199
+ .u-descicon-shield {
200
+ fill: #49c10f;
201
+ }
202
+ .u-descicon-touch {
203
+ fill: #f1c309;
204
+ }
205
+ .u-descicon-sense {
206
+ fill: #c0a3ff;
207
+ }
208
+ .u-descicon-dodge {
209
+ fill: #49c10f;
210
+ }
211
+ .u-descicon-attack {
212
+ fill: #fc3c3c;
213
+ }
214
+ }
215
+ .u-primary{
216
+ .pr;
217
+ }
218
+ }
219
+ .c-article .e-jx3-npc {
220
+ text-decoration: underline;
221
+ &:hover {
222
+ box-shadow: none !important;
223
+ }
224
+ }
@@ -38,7 +38,7 @@
38
38
 
39
39
  .w-skill-meta{
40
40
  .db;.fz(12px,20px);
41
- color:#f00;
41
+ color:#5df9eb;
42
42
  }
43
43
  }
44
44
 
@@ -0,0 +1,424 @@
1
+ // 输出样式
2
+ .w-qixue-box {
3
+ @url: "https://img.jx3box.com/img/";
4
+
5
+ zoom: 1;
6
+
7
+ @color: #2e4946;
8
+ @gray: #6f888a;
9
+ @xf-l: 10px;
10
+ @xf-r: 5px;
11
+ @xf: 23px;
12
+ @out-bo: 2px;
13
+ @lp:@xf-l + @xf-r + @xf + @out-bo;
14
+ @space: 10px;
15
+ @bo: 2px;
16
+
17
+ //局部z级别
18
+ @icon-decorate: 5; //装饰框
19
+ @item-description: 999; //描述
20
+
21
+ .white() {
22
+ color: #fff;
23
+ text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.9);
24
+ }
25
+ // .dbi;
26
+ display:inline-flex;
27
+
28
+ background-color: @color;
29
+ .r(5px);
30
+ border: @out-bo solid @gray;
31
+ box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);
32
+ //padding-right:5px;
33
+ padding-top: 8px;
34
+ padding-bottom: 8px;
35
+ padding-right: 20px;
36
+ // padding-left: 10px;
37
+ white-space: nowrap;
38
+ font-size: 0;
39
+ // width:860px;
40
+ // overflow-x: auto;
41
+ // display: block;
42
+
43
+ &.isQQBrowser{
44
+ padding-right: 30px !important; //fix
45
+ }
46
+
47
+ //单项
48
+ li {
49
+ list-style: none;
50
+ }
51
+
52
+ //图片
53
+ img {
54
+ .db;
55
+ .size(48px);
56
+ .r(5px);
57
+ .auto(x);
58
+ box-sizing: border-box;
59
+ filter: saturate(110%) brightness(110%);
60
+ box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
61
+ user-select: none;
62
+ }
63
+
64
+ //心法label
65
+ .w-qixue-xf {
66
+ // .dbi;
67
+ .y(top);
68
+ .fz(14px);
69
+ .white;
70
+ .x;
71
+
72
+ box-sizing: border-box;
73
+ .retext(y);
74
+ background: url("@{url}qixue/label.png") no-repeat 0 0;
75
+ .size(@xf,86px);
76
+ .mr(@xf-r);
77
+ .ml(@xf-l);
78
+ user-select: none;
79
+ //针对正文覆写
80
+ border: none;
81
+ font-weight: normal;
82
+ margin-top: 0;
83
+ margin-bottom: 0;
84
+ line-height: 1.1;
85
+ padding-right:5px;
86
+ letter-spacing:1px;
87
+
88
+ // word-wrap: break-word;
89
+ // padding-left:26px;
90
+ // white-space: wrap;
91
+ }
92
+
93
+ .w-qixue-clist {
94
+ margin: 0;
95
+ }
96
+
97
+ //公共单项
98
+ .w-qixue-clist-item,
99
+ .w-qixue-olist-item {
100
+ .u-pic {
101
+ .db;
102
+ .pr;
103
+ &:before,
104
+ &:after {
105
+ content: "";
106
+ .db;
107
+ }
108
+ &:after {
109
+ .size(52px);
110
+ .pa;
111
+ .lt(-2px,-2px);
112
+ background: url("@{url}qixue/bg.png") no-repeat 0 0;
113
+ .z(@icon-decorate + 1);
114
+ }
115
+ }
116
+ img {
117
+ .r(48px);
118
+ //针对正文覆写
119
+ padding: 0;
120
+ margin: 0;
121
+ border: none;
122
+ }
123
+ .u-title {
124
+ .white;
125
+ .fz(13px,14px);
126
+ .x;
127
+ .db;
128
+ .auto(x);
129
+ .mt(6px);
130
+ .w(48px);
131
+ }
132
+ }
133
+
134
+ //当前盒子
135
+ .w-qixue-clist {
136
+ .dbi;
137
+ .y(top);
138
+ font-size: 0;
139
+ white-space: nowrap;
140
+ margin-top: 8px;
141
+ .pr;
142
+ .z(2);
143
+
144
+ //针对正文覆写
145
+ padding-left: 0;
146
+ }
147
+ //当前单项
148
+ .w-qixue-clist-item {
149
+ .dbi;
150
+ .y;
151
+ padding-left: @space;
152
+ padding-right: @space;
153
+ .pr;
154
+
155
+ &:last-child {
156
+ margin-right: 0;
157
+ }
158
+
159
+ /* &.w-qixue-isskill .u-pic{
160
+ &:before{
161
+ .pa;.lt(0);
162
+ .full;
163
+ border:2px solid @color-cyan;
164
+ }
165
+ } */
166
+
167
+ &:before {
168
+ content: "";
169
+ .size(44px,11px);
170
+ background: url("@{url}qixue/fold.png") no-repeat 0 0;
171
+ margin: 0 2px;
172
+
173
+ .none;
174
+ }
175
+
176
+ &.on {
177
+ &:before {
178
+ background-image: url("@{url}qixue/unfold.png");
179
+ }
180
+ }
181
+ }
182
+
183
+ .pr;
184
+ .w-qixue-obox,
185
+ .w-qixue-olist,
186
+ .w-qixue-item-pop {
187
+ .none;
188
+ }
189
+ //全部扩展列表容器
190
+ .w-qixue-obox {
191
+ .pa;
192
+ .lb(@lp,100%);
193
+ white-space: nowrap;
194
+ font-size: 0;
195
+ &.on {
196
+ .db;
197
+ }
198
+ }
199
+ //单个扩展列表
200
+ .w-qixue-olist {
201
+ .pr;
202
+ .z(1000);
203
+ .dbi;
204
+ .y(bottom);
205
+ background-color: @color;
206
+ padding: @space - @bo;
207
+ border-top-left-radius: 5px;
208
+ border-top-right-radius: 5px;
209
+ border: @bo solid @gray;
210
+ border-bottom: none;
211
+ box-shadow: 3px -3px 3px rgba(0, 0, 0, 0.4);
212
+
213
+ &:last-child {
214
+ margin-right: 0;
215
+ }
216
+
217
+ transform: scale(0);
218
+ &.on {
219
+ transform: scale(1);
220
+ }
221
+ }
222
+ .w-qixue-olist-item {
223
+ margin-bottom: 8px;
224
+ .pr;
225
+
226
+ .u-pic {
227
+ &:before {
228
+ .full;
229
+ .pa;
230
+ .lt(0);
231
+ background-color: rgba(0, 0, 0, 0.6);
232
+ .r(48px);
233
+ .z(@icon-decorate);
234
+ }
235
+ }
236
+
237
+ &:hover {
238
+ .u-pic {
239
+ &:before {
240
+ .tm(0);
241
+ }
242
+ }
243
+ }
244
+
245
+ &:last-child {
246
+ margin-bottom: 0;
247
+ }
248
+ }
249
+
250
+ //特殊技能
251
+ .w-qixue-is_skill {
252
+ .u-pic {
253
+ &:before,
254
+ img {
255
+ .r(0);
256
+ }
257
+ &:after {
258
+ .none;
259
+ }
260
+ }
261
+ }
262
+
263
+ //单个浮层描述
264
+ .w-qixue-item-pop {
265
+ .pa;
266
+ .lt(100%,0);
267
+ .z(@item-description);
268
+ background-color: rgba(0, 0, 0, 0.8);
269
+ margin-left: 4px;
270
+ .r(3px);
271
+ padding: 10px;
272
+ width: 320px;
273
+ max-width:none;
274
+
275
+ * {
276
+ .db;
277
+ white-space: normal;
278
+ word-wrap: break-word;
279
+ word-break: break-all;
280
+ }
281
+ .u-name,
282
+ .u-desc {
283
+ color: #ffff00;
284
+ }
285
+ .u-name {
286
+ .fz(14px,2);
287
+ }
288
+ .u-desc {
289
+ .fz(12px,20px);
290
+ }
291
+ .u-skill {
292
+ color: #fff;
293
+ .fz(13px,20px);
294
+ }
295
+ .u-meta,
296
+ .u-extend {
297
+ color: #ff9600;
298
+ .fz(13px,2);
299
+ font-style: normal;
300
+ }
301
+ &.on {
302
+ .db;
303
+ }
304
+ }
305
+ //展示版奇穴的pop显示位置
306
+ .w-qixue-clist-item .w-qixue-item-pop {
307
+ left: 0;
308
+ top: auto;
309
+ bottom: 100%;
310
+ .mb(10px);
311
+ }
312
+ }
313
+ @media screen and (max-width: @ipad) {
314
+ .w-qixue-box {
315
+ // zoom: 0.8;
316
+ .clearfix;
317
+
318
+ .db;
319
+ .w(auto);
320
+ li,
321
+ .w-qixue-xf {
322
+ .fl;
323
+ margin-bottom: 10px;
324
+ }
325
+ .w-qixue-xf {
326
+ .none;
327
+ }
328
+ .w-qixue-clist{
329
+ // .w(100%);
330
+ // overflow-x: auto;
331
+ .db;
332
+ .clearfix;
333
+ margin-top:0;
334
+ }
335
+ }
336
+ }
337
+
338
+ .w-qixue-editable {
339
+ .w-qixue-xf{
340
+ margin-top: 5px;
341
+ }
342
+ li {
343
+ .pointer;
344
+ }
345
+ .w-qixue-clist-item {
346
+ user-select: none;
347
+ }
348
+ .w-qixue-clist-item:before {
349
+ .db;
350
+ }
351
+
352
+ &.disabled:after {
353
+ content: "";
354
+ .db;
355
+ .full;
356
+ .pa;
357
+ .lt(0);
358
+ .z(10);
359
+ background-color: rgba(0, 0, 0, 0.5);
360
+ }
361
+
362
+ &.active {
363
+ &:after {
364
+ .none;
365
+ }
366
+ }
367
+ //编辑模式下当前版不加载pop
368
+ .w-qixue-clist-item .w-qixue-item-pop {
369
+ .none !important;
370
+ }
371
+ }
372
+
373
+ @media screen and (max-width: @ipad) {
374
+ .w-qixue-editable {
375
+ // zoom: 0.8;
376
+
377
+ .db;
378
+ .w(auto);
379
+ //overflow-x:auto;
380
+ //overflow-y:visible;
381
+ li,
382
+ .w-qixue-xf {
383
+ .fl;
384
+ margin-bottom: 10px;
385
+ }
386
+ .w-qixue-obox {
387
+ left: 0;
388
+ }
389
+ .w-qixue-olist {
390
+ .clearfix;
391
+ .none;
392
+ &.on {
393
+ .db;
394
+ }
395
+
396
+ li {
397
+ .mr(10px);
398
+ &:last-child {
399
+ .mr(0);
400
+ }
401
+ transform: scale(1);
402
+ }
403
+ }
404
+
405
+ .w-qixue-item-pop {
406
+ left: 0;
407
+ top: auto;
408
+ bottom: 100%;
409
+ }
410
+ }
411
+ }
412
+
413
+ // 打印样式
414
+ @media print{
415
+ .w-qixue-box{
416
+ page-break-inside: avoid !important;
417
+ padding-right:40px;
418
+ .w-qixue-clist-item{
419
+ padding-left:5px;
420
+ padding-right:0;
421
+ transform: scale(0.85);
422
+ }
423
+ }
424
+ }
@@ -94,6 +94,10 @@
94
94
  .fz(13px, 1.8);
95
95
  .mb(5px);
96
96
  .db;
97
+
98
+ .u-map, .u-life, {
99
+ .mr(20px)
100
+ }
97
101
  }
98
102
  .u-remark {
99
103
  .fz(12px, 1.8);
@@ -1,4 +1,4 @@
1
- .c-article{
1
+ .c-article-tinymce{
2
2
  font-size: 1em;
3
3
  line-height: 1.8;
4
4
  color: #3d454d;
@@ -1,5 +1,5 @@
1
1
  /* 链接 */
2
- .c-article {
2
+ .c-article-tinymce .c-article{
3
3
  a {
4
4
  color: #0366d6;
5
5
  text-decoration: none;
@@ -1,4 +1,4 @@
1
- .c-article {
1
+ .c-article-tinymce .c-article {
2
2
  //兼容旧代码
3
3
  code {
4
4
  font-family: Consolas, monospace, serif;
@@ -1,5 +1,5 @@
1
1
  // 折叠文本
2
- .c-article {
2
+ .c-article-tinymce .c-article {
3
3
  .e-details,
4
4
  .e-summary {
5
5
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica,
@@ -1,5 +1,5 @@
1
1
  //标题
2
- .c-article {
2
+ .c-article-tinymce .c-article {
3
3
  h1,
4
4
  h2,
5
5
  h3,
@@ -1,5 +1,5 @@
1
1
  /* 水平线 */
2
- .c-article {
2
+ .c-article-tinymce .c-article{
3
3
  hr {
4
4
  margin-top: 22px;
5
5
  margin-bottom: 22px;
@@ -1,5 +1,5 @@
1
1
  //图片
2
- .c-article {
2
+ .c-article-tinymce .c-article {
3
3
  img {
4
4
  height: auto;
5
5
  padding: 5px;
File without changes