|
@@ -84,145 +84,97 @@ function card_data_split_params(value) {
|
84
|
84
|
|
85
|
85
|
function card_element_title(card_data, options) {
|
86
|
86
|
var title = card_data.title || "";
|
87
|
|
- var title_size = card_data.title_size || options.default_title_size || 'normal';
|
88
|
|
- return '<div class="card-title card-title-' + title_size + '">' + title + '</div>';
|
89
|
|
-}
|
90
|
|
-
|
91
|
|
-function card_element_icon(card_data, options) {
|
92
|
|
- var icon = card_data_icon_front(card_data, options);
|
93
|
|
- var classname = "icon";
|
94
|
|
- if (options.icon_inline) {
|
95
|
|
- classname = "inlineicon";
|
96
|
|
- }
|
|
87
|
+ var title_size = card_data.title_size || options.default_title_size || '13';
|
|
88
|
+ var icon = card_data_icon_front(card_data, options) + ".svg";
|
97
|
89
|
|
98
|
90
|
var result = "";
|
99
|
|
- result += '<div class="card-title-' + classname + '-container">';
|
100
|
|
- result += ' <div class="card-title-' + classname + ' icon-' + icon + '">';
|
101
|
|
- result += ' </div>';
|
102
|
|
- result += '</div>';
|
|
91
|
+ result += '<card-title size="' + title_size + '">';
|
|
92
|
+ result += ' <h1>' + title + '</h1>';
|
|
93
|
+ result += ' <h2>' + "" + '</h2>';
|
|
94
|
+ result += ' <card-icon src="/icons/' + icon + '"></card-icon>';
|
|
95
|
+ result += '</card-title>';
|
103
|
96
|
return result;
|
|
97
|
+
|
|
98
|
+ return '<div class="card-title card-title-' + title_size + '">' + title + '</div>';
|
104
|
99
|
}
|
105
|
100
|
|
106
|
101
|
function card_element_subtitle(params, card_data, options) {
|
107
|
|
- var subtitle = params[0] || "";
|
108
|
|
- return '<div class="card-element card-subtitle">' + subtitle + '</div>';
|
|
102
|
+ var text = params[0] || "";
|
|
103
|
+ return '<card-subtitle>' + text + '</card-subtitle>';
|
109
|
104
|
}
|
110
|
105
|
|
111
|
106
|
function card_element_ruler(params, card_data, options) {
|
112
|
|
- var color = card_data_color_front(card_data, options);
|
113
|
|
- var fill = 'fill="' + color + '"';
|
114
|
|
- var stroke = 'stroke="' + color + '"';
|
115
|
|
-
|
116
|
|
- var result = "";
|
117
|
|
- result += '<svg class="card-ruler" height="1" width="100" viewbox="0 0 100 1" preserveaspectratio="none" xmlns="http://www.w3.org/2000/svg">';
|
118
|
|
- result += ' <polyline points="0,0 100,0.5 0,1" ' + fill + '></polyline>';
|
119
|
|
- result += '</svg>';
|
120
|
|
- return result;
|
|
107
|
+ return '<card-rule></card-rule>';
|
121
|
108
|
}
|
122
|
109
|
|
123
|
110
|
function card_element_boxes(params, card_data, options) {
|
124
|
|
- var color = card_data_color_front(card_data, options);
|
125
|
|
- var fill = ' fill="none"';
|
126
|
|
- var stroke = ' stroke="' + color + '"';
|
127
|
111
|
var count = params[0] || 1;
|
128
|
112
|
var size = params[1] || 3;
|
129
|
|
- var style = 'style="width:' + size + 'em;height:' + size + 'em"';
|
130
|
|
-
|
131
|
|
- var result = "";
|
132
|
|
- result += '<div class="card-element card-description-line">';
|
133
|
|
- for (var i = 0; i < count; ++i) {
|
134
|
|
- result += '<svg class="card-box" height="100" width="100" viewbox="0 0 100 100" preserveaspectratio="none" xmlns="http://www.w3.org/2000/svg" ' + style + '>';
|
135
|
|
- result += ' <rect x="5" y="5" width="90" height="90" ' + fill + stroke + ' style="stroke-width:10">';
|
136
|
|
- result += '</svg>';
|
137
|
|
- }
|
138
|
|
- result += '</div>';
|
139
|
|
- return result;
|
|
113
|
+ return '<card-boxes size="' + size + '" count="' + count + '"></card-boxes>';
|
140
|
114
|
}
|
141
|
115
|
|
142
|
116
|
function card_element_property(params, card_data, options) {
|
|
117
|
+ var header = params[0] || "";
|
|
118
|
+ var text = params[1] || "";
|
143
|
119
|
var result = "";
|
144
|
|
- result += '<div class="card-element card-property-line">';
|
145
|
|
- result += ' <h4 class="card-property-name">' + params[0] + '</h4>';
|
146
|
|
- result += ' <p class="card-p card-property-text">' + params[1] + '</p>';
|
147
|
|
- result += '</div>';
|
|
120
|
+ result += '<card-property>';
|
|
121
|
+ result += ' <h4>' + header + '</h4>';
|
|
122
|
+ result += ' <p>' + text + '</p>';
|
|
123
|
+ result += '</card-property>';
|
148
|
124
|
return result;
|
149
|
125
|
}
|
150
|
126
|
|
151
|
127
|
function card_element_description(params, card_data, options) {
|
|
128
|
+ var header = params[0] || "";
|
|
129
|
+ var text = params[1] || "";
|
152
|
130
|
var result = "";
|
153
|
|
- result += '<div class="card-element card-description-line">';
|
154
|
|
- result += ' <h4 class="card-description-name">' + params[0] + '</h4>';
|
155
|
|
- result += ' <p class="card-p card-description-text">' + params[1] + '</p>';
|
156
|
|
- result += '</div>';
|
|
131
|
+ result += '<card-description>';
|
|
132
|
+ result += ' <h4>' + header + '</h4>';
|
|
133
|
+ result += ' <p>' + text + '</p>';
|
|
134
|
+ result += '</card-description>';
|
157
|
135
|
return result;
|
158
|
136
|
}
|
159
|
137
|
|
160
|
138
|
function card_element_text(params, card_data, options) {
|
|
139
|
+ var text = params[0] || "";
|
161
|
140
|
var result = "";
|
162
|
|
- result += '<div class="card-element card-description-line">';
|
163
|
|
- result += ' <p class="card-p card-description-text">' + params[0] + '</p>';
|
164
|
|
- result += '</div>';
|
|
141
|
+ result += '<card-description>';
|
|
142
|
+ result += ' <p>' + text + '</p>';
|
|
143
|
+ result += '</card-description>';
|
165
|
144
|
return result;
|
166
|
145
|
}
|
167
|
146
|
|
168
|
147
|
function card_element_dndstats(params, card_data, options) {
|
169
|
|
- var stats = [10, 10, 10, 10, 10, 10];
|
170
|
|
- var mods = [0,0,0,0,0,0];
|
171
|
|
- for (var i = 0; i < 6; ++i) {
|
172
|
|
- stats[i] = parseInt(params[i], 10) || 0;
|
173
|
|
- var mod = Math.floor(((stats[i] - 10) / 2));
|
174
|
|
- if (mod >= 0) {
|
175
|
|
- mod = "+" + mod;
|
176
|
|
- } else {
|
177
|
|
- mod = "" + mod;
|
178
|
|
- }
|
179
|
|
- mods[i] = " (" + mod + ")";
|
180
|
|
- }
|
181
|
|
-
|
182
|
148
|
var result = "";
|
183
|
|
- result += '<table class="card-stats">';
|
184
|
|
- result += ' <tbody><tr>';
|
185
|
|
- result += ' <th class="card-stats-header">STR</th>';
|
186
|
|
- result += ' <th class="card-stats-header">DEX</th>';
|
187
|
|
- result += ' <th class="card-stats-header">CON</th>';
|
188
|
|
- result += ' <th class="card-stats-header">INT</th>';
|
189
|
|
- result += ' <th class="card-stats-header">WIS</th>';
|
190
|
|
- result += ' <th class="card-stats-header">CHA</th>';
|
191
|
|
- result += ' </tr>';
|
192
|
|
- result += ' <tr>';
|
193
|
|
- result += ' <td class="card-stats-cell">' + stats[0] + mods[0] + '</td>';
|
194
|
|
- result += ' <td class="card-stats-cell">' + stats[1] + mods[1] + '</td>';
|
195
|
|
- result += ' <td class="card-stats-cell">' + stats[2] + mods[2] + '</td>';
|
196
|
|
- result += ' <td class="card-stats-cell">' + stats[3] + mods[3] + '</td>';
|
197
|
|
- result += ' <td class="card-stats-cell">' + stats[4] + mods[4] + '</td>';
|
198
|
|
- result += ' <td class="card-stats-cell">' + stats[5] + mods[5] + '</td>';
|
199
|
|
- result += ' </tr>';
|
200
|
|
- result += ' </tbody>';
|
201
|
|
- result += '</table>';
|
|
149
|
+ result += '<card-dndstats';
|
|
150
|
+ result += ' str="' + (parseInt(params[0], 10) || "") + '"';
|
|
151
|
+ result += ' dex="' + (parseInt(params[1], 10) || "") + '"';
|
|
152
|
+ result += ' con="' + (parseInt(params[2], 10) || "") + '"';
|
|
153
|
+ result += ' int="' + (parseInt(params[3], 10) || "") + '"';
|
|
154
|
+ result += ' wis="' + (parseInt(params[4], 10) || "") + '"';
|
|
155
|
+ result += ' cha="' + (parseInt(params[5], 10) || "") + '"';
|
|
156
|
+ result += '><card-dndstats>';
|
202
|
157
|
return result;
|
203
|
158
|
}
|
204
|
159
|
|
205
|
160
|
function card_element_bullet(params, card_data, options) {
|
206
|
|
- var result = "";
|
207
|
|
- result += '<ul class="card-element card-bullet-line">';
|
208
|
|
- result += ' <li class="card-bullet">' + params[0] + '</li>';
|
209
|
|
- result += '</ul>';
|
210
|
|
- return result;
|
|
161
|
+ var text = params[0] || "";
|
|
162
|
+ return '<card-bullet>' + text + '</card-bullet>';
|
211
|
163
|
}
|
212
|
164
|
|
213
|
165
|
function card_element_section(params, card_data, options) {
|
214
|
|
- var color = card_data_color_front(card_data, options);
|
215
|
|
- var section = params[0] || "";
|
216
|
|
- return '<h3 class="card-section" style="color:' + color + '">' + section + '</h3>';
|
|
166
|
+ var text = params[0] || "";
|
|
167
|
+ return '<card-section>' + text + '</card-section>';
|
217
|
168
|
}
|
218
|
169
|
|
219
|
170
|
function card_element_fill(params, card_data, options) {
|
220
|
|
- var flex = params[0] || "1";
|
221
|
|
- return '<span class="card-fill" style="flex:' + flex + '"></span>';
|
|
171
|
+ var size = params[0] || "1";
|
|
172
|
+ return '<card-fill size="' + size + '"></card-fill>';
|
222
|
173
|
}
|
223
|
174
|
|
224
|
175
|
function card_element_unknown(params, card_data, options) {
|
225
|
|
- return '<div>Unknown element: ' + params.join('<br />') + '</div>';
|
|
176
|
+ var text = params.join('|');
|
|
177
|
+ return '<card-description><p>' + text + '</p></card-description>';
|
226
|
178
|
}
|
227
|
179
|
|
228
|
180
|
function card_element_empty(params, card_data, options) {
|
|
@@ -250,7 +202,7 @@ var card_element_generators = {
|
250
|
202
|
|
251
|
203
|
function card_generate_contents(contents, card_data, options) {
|
252
|
204
|
var result = "";
|
253
|
|
- result += '<div class="card-content-container">';
|
|
205
|
+ result += '<card-contents>';
|
254
|
206
|
result += contents.map(function (value) {
|
255
|
207
|
var parts = card_data_split_params(value);
|
256
|
208
|
var element_name = parts[0];
|
|
@@ -262,7 +214,7 @@ function card_generate_contents(contents, card_data, options) {
|
262
|
214
|
return card_element_unknown(element_params, card_data, options);
|
263
|
215
|
}
|
264
|
216
|
}).join("\n");
|
265
|
|
- result += '</div>';
|
|
217
|
+ result += '</card-contents>';
|
266
|
218
|
return result;
|
267
|
219
|
}
|
268
|
220
|
|
|
@@ -274,43 +226,27 @@ function card_repeat(card, count) {
|
274
|
226
|
return result;
|
275
|
227
|
}
|
276
|
228
|
|
277
|
|
-function card_generate_color_style(color, options) {
|
278
|
|
- return 'style="color:' + color + '; border-color:' + color + '; background-color:' + color + '"';
|
279
|
|
-}
|
280
|
|
-
|
281
|
|
-function card_generate_color_gradient_style(color, options) {
|
282
|
|
- return 'style="background: radial-gradient(ellipse at center, white 20%, ' + color + ' 120%)"';
|
283
|
|
-}
|
284
|
|
-
|
285
|
229
|
function card_generate_front(data, options) {
|
286
|
230
|
var color = card_data_color_front(data, options);
|
287
|
|
- var style_color = card_generate_color_style(color, options);
|
288
|
231
|
|
289
|
232
|
var result = "";
|
290
|
|
- result += '<div class="card card-size-' + options.card_size + '" ' + style_color + '>';
|
291
|
|
- result += card_element_icon(data, options);
|
|
233
|
+ result += '<rpg-card color="' + color + '" class="card-size-' + options.card_size + '">';
|
292
|
234
|
result += card_element_title(data, options);
|
293
|
235
|
result += card_generate_contents(data.contents, data, options);
|
294
|
|
- result += '</div>';
|
295
|
|
-
|
|
236
|
+ result += '</rpg-card>';
|
296
|
237
|
return result;
|
297
|
238
|
}
|
298
|
239
|
|
299
|
240
|
function card_generate_back(data, options) {
|
300
|
241
|
var color = card_data_color_back(data, options)
|
301
|
|
- var style_color = card_generate_color_style(color, options);
|
302
|
|
- var style_gradient = card_generate_color_gradient_style(color, options);
|
303
|
|
- var icon = card_data_icon_back(data, options);
|
|
242
|
+ var icon = card_data_icon_back(data, options) + ".svg";
|
304
|
243
|
|
305
|
244
|
var result = "";
|
306
|
|
- result += '<div class="card card-size-' + options.card_size + '" ' + style_color + '>';
|
307
|
|
- result += ' <div class="card-back" ' + style_gradient + '>';
|
308
|
|
- result += ' <div class="card-back-inner">';
|
309
|
|
- result += ' <div class="card-back-icon icon-' + icon + '" ' + style_color + '></div>';
|
310
|
|
- result += ' </div>';
|
311
|
|
- result += ' </div>';
|
312
|
|
- result += '</div>';
|
313
|
|
-
|
|
245
|
+ result += '<rpg-card color="' + color + '">';
|
|
246
|
+ result += ' <card-back>';
|
|
247
|
+ result += ' <card-icon src="/icons/' + icon + '"></card-icon>';
|
|
248
|
+ result += ' </card-back>';
|
|
249
|
+ result += '</rpg-card>';
|
314
|
250
|
return result;
|
315
|
251
|
}
|
316
|
252
|
|
|
@@ -318,9 +254,8 @@ function card_generate_empty(count, options) {
|
318
|
254
|
var style_color = card_generate_color_style("white");
|
319
|
255
|
|
320
|
256
|
var result = "";
|
321
|
|
- result += '<div class="card card-size-' + options.card_size + '" ' + style_color + '>';
|
322
|
|
- result += '</div>';
|
323
|
|
-
|
|
257
|
+ result += '<rpg-card color="' + color + '">';
|
|
258
|
+ result += '</rpg-card>';
|
324
|
259
|
return card_repeat(result, count);
|
325
|
260
|
}
|
326
|
261
|
|