@jx3box/jx3box-editor 1.0.6 → 1.1.0

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 (53) hide show
  1. package/assets/css/article_markdown.less +10 -11
  2. package/assets/css/markdown/_.less +38 -0
  3. package/assets/css/markdown/dialog.less +26 -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 +13 -30
  8. package/assets/css/module/_.less +1 -1
  9. package/assets/css/module/a.less +1 -1
  10. package/assets/css/module/buff.less +1 -1
  11. package/assets/css/module/code.less +1 -1
  12. package/assets/css/module/fold.less +1 -1
  13. package/assets/css/module/h.less +1 -1
  14. package/assets/css/module/hr.less +1 -1
  15. package/assets/css/module/item.less +0 -1
  16. package/assets/css/module/item_simple.less +43 -41
  17. package/assets/css/module/latex.less +1 -1
  18. package/assets/css/module/list.less +1 -1
  19. package/assets/css/module/macro.less +3 -2
  20. package/assets/css/module/npc.less +224 -0
  21. package/assets/css/module/p.less +1 -1
  22. package/assets/css/module/qixue.less +2 -1
  23. package/assets/css/module/quote.less +1 -1
  24. package/assets/css/module/skill.less +1 -1
  25. package/assets/css/module/table.less +2 -2
  26. package/assets/css/module/video.less +1 -1
  27. package/assets/css/resource.less +4 -0
  28. package/assets/data/markdown_whitelist.json +6 -2
  29. package/assets/img/npc/attack.svg +69 -0
  30. package/assets/img/npc/buff.svg +20 -0
  31. package/assets/img/npc/energy.svg +1 -0
  32. package/assets/img/npc/miss.svg +1 -0
  33. package/assets/img/npc/npc.svg +1 -0
  34. package/assets/img/npc/radar.svg +45 -0
  35. package/assets/img/npc/shield.svg +1 -0
  36. package/assets/img/npc/sight.svg +1 -0
  37. package/assets/img/npc/skull.svg +15 -0
  38. package/assets/img/npc/target.svg +55 -0
  39. package/assets/js/a.js +7 -0
  40. package/package.json +1 -1
  41. package/service/database.js +12 -1
  42. package/src/Article.vue +2 -2
  43. package/src/ArticleMarkdown.vue +10 -2
  44. package/src/Markdown.vue +54 -11
  45. package/src/Npc.vue +214 -0
  46. package/src/Resource.vue +35 -0
  47. package/src/components/markdown/katex.vue +59 -0
  48. package/src/components/markdown/macro.vue +4 -2
  49. package/src/components/markdown/pz.vue +5 -3
  50. package/src/components/markdown/talent.vue +52 -0
  51. package/src/components/markdown/talent2.vue +52 -0
  52. package/src/components/markdown/video.vue +52 -0
  53. package/assets/css/markdown/common.less +0 -13
@@ -1,12 +1,11 @@
1
- .c-article-markdown {
2
- @import "module/video.less";
1
+ @import "markdown/macro.less";
2
+ @import "markdown/talent.less";
3
+ @import "markdown/video.less";
3
4
 
4
- @import 'module/macro.less';
5
- @import 'module/qixue.less';
6
-
7
- @import 'module/jx3_element.less';
8
- @import 'module/buff.less';
9
- @import 'module/skill.less';
10
- @import 'module/icon.less';
11
- @import 'module/resource.less';
12
- }
5
+ @import "module/jx3_element.less";
6
+ @import "module/buff.less";
7
+ @import "module/skill.less";
8
+ @import "module/item.less";
9
+ @import "module/npc.less";
10
+ @import "module/icon.less";
11
+ @import "module/resource.less";
@@ -0,0 +1,38 @@
1
+ .c-editor-header {
2
+ .mb(10px);
3
+ .clearfix;
4
+
5
+ .c-upload,
6
+ .c-resource {
7
+ .fl;
8
+ }
9
+ .c-upload {
10
+ .mr(5px);
11
+ }
12
+ }
13
+
14
+ .c-markdown{
15
+ .h(780px);
16
+ .v-note-wrapper{
17
+ .h(780px);
18
+ }
19
+
20
+ a:hover {
21
+ text-decoration: none;
22
+ }
23
+ }
24
+
25
+ .c-markdown-toolbar-item {
26
+ .mr(5px);
27
+ .pointer;
28
+ padding: 2px 5px 3px 5px;
29
+
30
+ &:hover {
31
+ background: #e9e9eb;
32
+ .r(4px);
33
+ }
34
+ }
35
+ .c-markdown-store-item {
36
+ .none;
37
+ }
38
+
@@ -0,0 +1,26 @@
1
+
2
+ .c-editor-markdown-dialog {
3
+ display: inline-block;
4
+ .u-input {
5
+ .el-textarea__inner {
6
+
7
+ font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
8
+ }
9
+ }
10
+ .el-dialog__body {
11
+ padding-top: 0;
12
+ }
13
+
14
+ .u-help {
15
+ margin-bottom: 10px;
16
+ display: inline-block;
17
+ color: #0366D6;
18
+ font-weight: bold;
19
+ cursor: pointer;
20
+ text-decoration: none;
21
+
22
+ &:hover {
23
+ text-decoration: none !important;
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,45 @@
1
+ // 编辑器外样式
2
+ .c-article{
3
+ .e-jx3macro-area{
4
+ .pr;
5
+ &:after{
6
+ content : 'JX3BOX·MACRO';
7
+ position: absolute;right:0;top:-30px;
8
+ background-color:@bg-black;
9
+ color:#fff;
10
+ border-radius:3px;
11
+ padding:0 8px;
12
+ line-height:28px;
13
+ height: 28px;
14
+ box-sizing: border-box;
15
+ font-size: 14px;
16
+ }
17
+ }
18
+ }
19
+ // markdown编辑器
20
+ .c-editor-markdown {
21
+ .e-jx3macro-area{
22
+ min-height:24px;
23
+ border-radius:4px;
24
+ padding:10px;
25
+ font-size: 14px;
26
+ white-space: pre-wrap;
27
+ background-color: #f1f8ff;
28
+ border: 1px solid #c8e1ff;
29
+ color:darken(#c8e1ff,20%);
30
+ .pr;
31
+ &:after{
32
+ content : 'JX3BOX·MACRO';
33
+ position: absolute;right:10px;top:10px;
34
+ background-color:darken(#c8e1ff,20%);
35
+ color:#fff;
36
+ border-radius:3px;
37
+ padding:0 8px;
38
+ }
39
+ }
40
+ }
41
+ // markdown渲染展示
42
+ .c-article-markdown .w-jx3macro{
43
+ background:none;
44
+ padding:0;
45
+ }
@@ -0,0 +1,42 @@
1
+ // 编辑器内
2
+ .e-jx3qixue-area ,.e-jx3talent2-area{
3
+ min-height: 24px;
4
+ border-radius: 4px;
5
+ font-size: 14px;
6
+ width: 100%;
7
+ box-sizing: border-box;
8
+ background-color: #f1f8ff;
9
+ border: 1px solid #c8e1ff;
10
+ color: darken(#c8e1ff, 20%);
11
+
12
+ line-height: 40px !important;
13
+ padding: 0 10px;
14
+ font-family: Monaco, Consolas, "Lucida Console", "Courier New", serif;
15
+
16
+ .pr;
17
+ &:after {
18
+ content: "JX3BOX·TALENT";
19
+ position: absolute;
20
+ .rt(8px);
21
+ background-color: darken(#c8e1ff, 20%);
22
+ color: #fff;
23
+ border-radius: 3px;
24
+ padding: 2px 8px;
25
+ line-height: 21px;
26
+ }
27
+ }
28
+ // Markdown编辑器内展示
29
+ .c-editor-markdown{
30
+ .e-jx3qixue-area,.e-jx3talent2-area{
31
+ display: block;
32
+ padding-top:0;
33
+ padding-bottom:0;
34
+ }
35
+ }
36
+
37
+ // Markdown渲染
38
+ .c-article-markdown{
39
+ .e-jx3qixue-area,.e-jx3talent2-area{
40
+ display:none;
41
+ }
42
+ }
@@ -0,0 +1,25 @@
1
+ .c-article-markdown {
2
+ video {
3
+ background-color: #333;
4
+ width: 100%;
5
+ height: 800px;
6
+ display: block;
7
+ cursor: pointer;
8
+ }
9
+ }
10
+ .c-article-videox {
11
+ iframe,
12
+ iframe[allowfullscreen="allowfullscreen"] {
13
+ width: 100%;
14
+ height: 800px;
15
+ border: 1px solid #eee;
16
+ box-sizing: border-box;
17
+ }
18
+ }
19
+ @media screen and (max-width: @ipad) {
20
+ .c-article-markdown video,
21
+ .c-article-videox iframe {
22
+ height: auto;
23
+ min-height: 200px;
24
+ }
25
+ }
@@ -1,33 +1,16 @@
1
- .c-editor-header {
2
- .mb(10px);
3
- .clearfix;
4
-
5
- .c-upload,
6
- .c-resource {
7
- .fl;
8
- }
9
- .c-upload {
10
- .mr(5px);
11
- }
12
- }
13
-
14
- .c-markdown{
15
- .h(780px);
16
- .v-note-wrapper{
17
- .h(780px);
18
- }
1
+ .c-editor-markdown {
2
+ @import "markdown/_.less";
3
+ @import "markdown/dialog.less";
19
4
  }
20
5
 
21
- .c-markdown-toolbar-item {
22
- .mr(5px);
23
- .pointer;
24
- padding: 2px 5px 3px 5px;
6
+ @import "markdown/macro.less";
7
+ @import "markdown/talent.less";
8
+ @import "markdown/video.less";
25
9
 
26
- &:hover {
27
- background: #e9e9eb;
28
- .r(4px);
29
- }
30
- }
31
- .c-markdown-store-item {
32
- .none;
33
- }
10
+ @import "module/jx3_element.less";
11
+ @import "module/buff.less";
12
+ @import "module/skill.less";
13
+ @import "module/item.less";
14
+ @import "module/npc.less";
15
+ @import "module/icon.less";
16
+ @import "module/resource.less";
@@ -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 {
3
3
  a {
4
4
  color: #0366d6;
5
5
  text-decoration: none;
@@ -46,7 +46,7 @@
46
46
  .w-buff-meta {
47
47
  .db;
48
48
  .fz(12px, 20px);
49
- color: #f00;
49
+ color: #5df9eb;
50
50
  }
51
51
  }
52
52
 
@@ -1,4 +1,4 @@
1
- .c-article {
1
+ .c-article-tinymce {
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 {
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 {
3
3
  h1,
4
4
  h2,
5
5
  h3,
@@ -1,5 +1,5 @@
1
1
  /* 水平线 */
2
- .c-article {
2
+ .c-article-tinymce {
3
3
  hr {
4
4
  margin-top: 22px;
5
5
  margin-bottom: 22px;
@@ -224,4 +224,3 @@
224
224
  }
225
225
  }
226
226
  }
227
-
@@ -1,49 +1,51 @@
1
1
  .m-simple-item {
2
- .mb(2px);
3
- padding: 4px 10px 4px 4px;
4
- line-height: initial;
5
- font-size: 13px;
6
- background-color: #0F2222;
7
- text-shadow: 1px 1px 1px #000000;
8
- border-radius: 4px;
9
- overflow: hidden;
2
+ .mb(2px);
3
+ padding: 4px 10px 4px 4px;
4
+ line-height: initial;
5
+ font-size: 13px;
6
+ background-color: #0f2222;
7
+ text-shadow: 1px 1px 1px #000000;
8
+ border-radius: 4px;
9
+ overflow: hidden;
10
10
 
11
- .m-icon, .u-name {
12
- .dbi;
13
- vertical-align: middle;
14
- }
11
+ .m-icon,
12
+ .u-name {
13
+ .dbi;
14
+ vertical-align: middle;
15
+ }
15
16
 
16
- .m-icon {
17
- .pr;
18
- .mr(8px);
17
+ .m-icon {
18
+ .pr;
19
+ .mr(8px);
19
20
 
20
- .u-border, .u-border-quest {
21
- .pa;
22
- top: 0;
23
- left: 0;
24
- .w(100%);
25
- .h(100%);
26
- box-sizing: border-box;
27
- background-size: contain;
28
- .z(20);
29
- }
21
+ .u-border,
22
+ .u-border-quest {
23
+ .pa;
24
+ top: 0;
25
+ left: 0;
26
+ .w(100%);
27
+ .h(100%);
28
+ box-sizing: border-box;
29
+ background-size: contain;
30
+ .z(20);
31
+ }
30
32
 
31
- .u-border-quest {
32
- .z(30);
33
- }
33
+ .u-border-quest {
34
+ .z(30);
35
+ }
34
36
 
35
- .u-icon {
36
- .pr;
37
- .db;
38
- .w(24px);
39
- .h(auto);
40
- .z(10);
37
+ .u-icon {
38
+ .pr;
39
+ .db;
40
+ .w(24px);
41
+ .h(auto);
42
+ .z(10);
43
+ }
41
44
  }
42
- }
43
45
 
44
- .u-uiid {
45
- .mt(3px);
46
- font-size: 12px;
47
- color: lightgreen;
48
- }
49
- }
46
+ .u-uiid {
47
+ .mt(3px);
48
+ font-size: 12px;
49
+ color: lightgreen;
50
+ }
51
+ }
@@ -1,5 +1,5 @@
1
1
  // 编辑器内样式
2
- .c-article{
2
+ .c-article-tinymce{
3
3
  .w-latex{
4
4
  .pr;
5
5
  font-family: Georgia, 'Times New Roman', Times, serif;
@@ -1,5 +1,5 @@
1
1
  /* 列表 */
2
- .c-article {
2
+ .c-article-tinymce {
3
3
  ul,
4
4
  ol {
5
5
  margin: 20px 0;
@@ -1,4 +1,4 @@
1
- // 编辑器内样式
1
+ // 编辑器外样式
2
2
  .c-article{
3
3
  .e-jx3macro-area{
4
4
  .pr;
@@ -16,6 +16,7 @@
16
16
  }
17
17
  }
18
18
  }
19
+ // tinymce编辑器
19
20
  .c-article-editor {
20
21
  .e-jx3macro-area{
21
22
  min-height:24px;
@@ -36,4 +37,4 @@
36
37
  padding:0 8px;
37
38
  }
38
39
  }
39
- }
40
+ }
@@ -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
+ }
@@ -1,5 +1,5 @@
1
1
  // 段落
2
- .c-article {
2
+ .c-article-tinymce {
3
3
  p,
4
4
  div {
5
5
  margin: 0;
@@ -25,14 +25,15 @@
25
25
  line-height: 21px;
26
26
  }
27
27
  }
28
+ // 渲染模式隐藏
28
29
  .c-article{
29
30
  .e-jx3qixue-area,.e-jx3talent2-area{
30
31
  display: none;
31
32
  }
32
33
  }
34
+ // tinymce编辑器内展示
33
35
  .c-article-editor{
34
36
  .e-jx3qixue-area,.e-jx3talent2-area{
35
37
  display: block;
36
38
  }
37
39
  }
38
-