lexxy 0.1.20.beta → 0.1.22.beta
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.
- checksums.yaml +4 -4
- data/README.md +6 -1
- data/app/assets/javascript/lexxy.js +1567 -388
- data/app/assets/javascript/lexxy.js.br +0 -0
- data/app/assets/javascript/lexxy.js.gz +0 -0
- data/app/assets/javascript/lexxy.min.js +2 -2
- data/app/assets/javascript/lexxy.min.js.br +0 -0
- data/app/assets/javascript/lexxy.min.js.gz +0 -0
- data/app/assets/stylesheets/lexxy-content.css +23 -5
- data/app/assets/stylesheets/lexxy-editor.css +103 -7
- data/app/assets/stylesheets/lexxy-variables.css +20 -0
- data/config/ci.rb +13 -0
- data/lib/lexxy/version.rb +1 -1
- metadata +4 -3
|
Binary file
|
|
Binary file
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
.lexxy-content__bold {
|
|
45
45
|
font-weight: bold;
|
|
46
46
|
}
|
|
47
|
-
|
|
47
|
+
|
|
48
48
|
.lexxy-content__strikethrough {
|
|
49
49
|
text-decoration: line-through;
|
|
50
50
|
}
|
|
@@ -53,6 +53,12 @@
|
|
|
53
53
|
text-decoration: underline;
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
+
mark,
|
|
57
|
+
.lexxy-content__highlight {
|
|
58
|
+
background-color: transparent;
|
|
59
|
+
color: inherit;
|
|
60
|
+
}
|
|
61
|
+
|
|
56
62
|
blockquote {
|
|
57
63
|
border-inline-start: 0.25em solid var(--lexxy-color-ink-lighter);
|
|
58
64
|
font-style: italic;
|
|
@@ -105,6 +111,14 @@
|
|
|
105
111
|
}
|
|
106
112
|
}
|
|
107
113
|
|
|
114
|
+
li.lexxy-nested-listitem {
|
|
115
|
+
list-style-type: none;
|
|
116
|
+
|
|
117
|
+
ol, ul {
|
|
118
|
+
margin: 0;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
108
122
|
> :last-child {
|
|
109
123
|
margin-block-end: 0;
|
|
110
124
|
}
|
|
@@ -121,7 +135,6 @@
|
|
|
121
135
|
.code-token__property,
|
|
122
136
|
.token.boolean,
|
|
123
137
|
.token.constant,
|
|
124
|
-
.token.deleted,
|
|
125
138
|
.token.number,
|
|
126
139
|
.token.property,
|
|
127
140
|
.token.symbol,
|
|
@@ -134,6 +147,7 @@
|
|
|
134
147
|
.token.builtin,
|
|
135
148
|
.token.char,
|
|
136
149
|
.token.inserted,
|
|
150
|
+
.token.line,
|
|
137
151
|
.token.selector,
|
|
138
152
|
.token.string {
|
|
139
153
|
color: var(--lexxy-color-code-token-selector);
|
|
@@ -151,9 +165,11 @@
|
|
|
151
165
|
|
|
152
166
|
/* Operators and symbolic entities */
|
|
153
167
|
.code-token__operator,
|
|
168
|
+
.token.deleted,
|
|
154
169
|
.token.entity,
|
|
155
170
|
.token.operator,
|
|
156
|
-
.token.url
|
|
171
|
+
.token.url,
|
|
172
|
+
code[data-language="diff"] .code-token__operator + .code-token__selector {
|
|
157
173
|
color: var(--lexxy-color-code-token-operator);
|
|
158
174
|
}
|
|
159
175
|
|
|
@@ -211,12 +227,14 @@
|
|
|
211
227
|
color: var(--lexxy-color-text-subtle);
|
|
212
228
|
font-size: var(--lexxy-text-small);
|
|
213
229
|
|
|
214
|
-
|
|
230
|
+
textarea {
|
|
215
231
|
background: var(--lexxy-color-canvas);
|
|
216
|
-
color: var(--lexxy-color-text);
|
|
217
232
|
border: none;
|
|
233
|
+
color: inherit;
|
|
234
|
+
font-family: inherit;
|
|
218
235
|
inline-size: 100%;
|
|
219
236
|
max-inline-size: 100%;
|
|
237
|
+
resize: none;
|
|
220
238
|
text-align: center;
|
|
221
239
|
|
|
222
240
|
&:focus {
|
|
@@ -163,29 +163,64 @@
|
|
|
163
163
|
background-color: var(--lexxy-color-canvas);
|
|
164
164
|
border-radius: calc(var(--lexxy-radius) + var(--lexxy-toolbar-gap));
|
|
165
165
|
box-shadow: var(--lexxy-shadow);
|
|
166
|
-
display:
|
|
166
|
+
display: grid;
|
|
167
|
+
grid-template-columns: repeat(4, 1fr);
|
|
168
|
+
gap: var(--lexxy-toolbar-gap);
|
|
167
169
|
inset-inline-end: 0;
|
|
168
170
|
padding: var(--lexxy-toolbar-gap);
|
|
169
171
|
position: absolute;
|
|
172
|
+
|
|
173
|
+
.lexxy-editor__toolbar-spacer {
|
|
174
|
+
display: none;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
* + .lexxy-editor__toolbar-spacer + button {
|
|
178
|
+
margin-left: 0.5lh;
|
|
179
|
+
}
|
|
170
180
|
}
|
|
171
181
|
|
|
172
|
-
/*
|
|
182
|
+
/* Dialog
|
|
173
183
|
/* -------------------------------------------------------------------------- */
|
|
174
184
|
|
|
175
|
-
:where(.lexxy-
|
|
185
|
+
:where(.lexxy-dialog) {
|
|
176
186
|
display: contents;
|
|
187
|
+
position: relative;
|
|
177
188
|
|
|
178
189
|
dialog {
|
|
179
190
|
background-color: var(--lexxy-color-canvas);
|
|
180
|
-
border:
|
|
191
|
+
border: 2px solid var(--lexxy-color-selected-hover);
|
|
181
192
|
border-radius: var(--lexxy-radius);
|
|
182
|
-
|
|
193
|
+
border-start-start-radius: 0;
|
|
194
|
+
box-sizing: border-box;
|
|
183
195
|
color: var(--lexxy-color-ink);
|
|
196
|
+
inset-block-start: 2lh;
|
|
197
|
+
inline-size: 100%;
|
|
198
|
+
max-inline-size: 38ch;
|
|
199
|
+
margin: 0;
|
|
184
200
|
padding: 1ch;
|
|
185
201
|
position: absolute;
|
|
186
|
-
z-index:
|
|
202
|
+
z-index: 3;
|
|
187
203
|
}
|
|
188
204
|
|
|
205
|
+
&:has(dialog[open]) + .lexxy-editor__toolbar-button {
|
|
206
|
+
background-color: var(--lexxy-color-selected-hover);
|
|
207
|
+
border-end-end-radius: 0;
|
|
208
|
+
border-end-start-radius: 0;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
:where(lexxy-toolbar[overflowing]) .lexxy-dialog dialog {
|
|
213
|
+
--dialog-padding: 0.5ch;
|
|
214
|
+
inset-inline-end: var(--dialog-padding);
|
|
215
|
+
inset-inline-start: var(--dialog-padding) !important;
|
|
216
|
+
inline-size: calc(100% - 2 * var(--dialog-padding));
|
|
217
|
+
margin: auto;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/* Link dialog
|
|
221
|
+
/* -------------------------------------------------------------------------- */
|
|
222
|
+
|
|
223
|
+
:where(.lexxy-link-dialog) {
|
|
189
224
|
.lexxy-dialog-actions {
|
|
190
225
|
display: flex;
|
|
191
226
|
font-size: var(--lexxy-text-small);
|
|
@@ -205,7 +240,8 @@
|
|
|
205
240
|
border: 1px solid var(--lexxy-color-ink-lighter);
|
|
206
241
|
border-radius: var(--lexxy-radius);
|
|
207
242
|
color: var(--lexxy-color-text);
|
|
208
|
-
|
|
243
|
+
box-sizing: border-box;
|
|
244
|
+
inline-size: 100%;
|
|
209
245
|
}
|
|
210
246
|
|
|
211
247
|
button {
|
|
@@ -221,6 +257,66 @@
|
|
|
221
257
|
}
|
|
222
258
|
}
|
|
223
259
|
|
|
260
|
+
/* Color dialog
|
|
261
|
+
/* -------------------------------------------------------------------------- */
|
|
262
|
+
|
|
263
|
+
:where(.lexxy-highlight-dialog) {
|
|
264
|
+
.lexxy-highlight-dialog-content {
|
|
265
|
+
display: flex;
|
|
266
|
+
flex-direction: column;
|
|
267
|
+
gap: 0.75ch;
|
|
268
|
+
|
|
269
|
+
[data-button-group] {
|
|
270
|
+
display: flex;
|
|
271
|
+
flex-direction: row;
|
|
272
|
+
flex-wrap: wrap;
|
|
273
|
+
gap: 0.5ch;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
button {
|
|
277
|
+
block-size: 3.5ch;
|
|
278
|
+
color: var(--lexxy-color-text);
|
|
279
|
+
inline-size: 3.5ch;
|
|
280
|
+
position: relative;
|
|
281
|
+
outline: none;
|
|
282
|
+
|
|
283
|
+
&:after {
|
|
284
|
+
align-self: center;
|
|
285
|
+
content: "Aa";
|
|
286
|
+
display: inline-block;
|
|
287
|
+
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
288
|
+
position: absolute;
|
|
289
|
+
inset-block-start: 0;
|
|
290
|
+
inset-block-end: 0;
|
|
291
|
+
inset-inline-end: 0;
|
|
292
|
+
inset-inline-start: 0;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
&:hover {
|
|
296
|
+
opacity: 0.8;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
&[aria-pressed="true"] {
|
|
300
|
+
box-shadow: 0 0 0 1px var(--lexxy-color-canvas), 0 0 0 3px var(--lexxy-color-accent-dark);
|
|
301
|
+
|
|
302
|
+
&:after {
|
|
303
|
+
content: "✓";
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
.lexxy-highlight-dialog-reset {
|
|
309
|
+
inline-size: 100%;
|
|
310
|
+
|
|
311
|
+
&[disabled] {
|
|
312
|
+
display: none;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
&:after { display: none; }
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
|
|
224
320
|
/* Language picker
|
|
225
321
|
/* -------------------------------------------------------------------------- */
|
|
226
322
|
|
|
@@ -35,6 +35,26 @@
|
|
|
35
35
|
--lexxy-color-selected-dark: var(--lexxy-color-blue);
|
|
36
36
|
--lexxy-color-code-bg: var(--lexxy-color-ink-lightest);
|
|
37
37
|
|
|
38
|
+
--highlight-1: rgb(136, 118, 38);
|
|
39
|
+
--highlight-2: rgb(185, 94, 6);
|
|
40
|
+
--highlight-3: rgb(207, 0, 0);
|
|
41
|
+
--highlight-4: rgb(216, 28, 170);
|
|
42
|
+
--highlight-5: rgb(144, 19, 254);
|
|
43
|
+
--highlight-6: rgb(5, 98, 185);
|
|
44
|
+
--highlight-7: rgb(17, 138, 15);
|
|
45
|
+
--highlight-8: rgb(148, 82, 22);
|
|
46
|
+
--highlight-9: rgb(102, 102, 102);
|
|
47
|
+
|
|
48
|
+
--highlight-bg-1: rgba(229, 223, 6, 0.3);
|
|
49
|
+
--highlight-bg-2: rgba(255, 185, 87, 0.3);
|
|
50
|
+
--highlight-bg-3: rgba(255, 118, 118, 0.3);
|
|
51
|
+
--highlight-bg-4: rgba(248, 137, 216, 0.3);
|
|
52
|
+
--highlight-bg-5: rgba(190, 165, 255, 0.3);
|
|
53
|
+
--highlight-bg-6: rgba(124, 192, 252, 0.3);
|
|
54
|
+
--highlight-bg-7: rgba(140, 255, 129, 0.3);
|
|
55
|
+
--highlight-bg-8: rgba(221, 170, 123, 0.3);
|
|
56
|
+
--highlight-bg-9: rgba(200, 200, 200, 0.3);
|
|
57
|
+
|
|
38
58
|
/* Typography */
|
|
39
59
|
--lexxy-font-base: system-ui, sans-serif;
|
|
40
60
|
--lexxy-font-mono: ui-monospace, "Menlo", "Monaco", Consolas, monospace;
|
data/config/ci.rb
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Run using bin/ci
|
|
2
|
+
|
|
3
|
+
CI.run do
|
|
4
|
+
step "Style: Ruby", "bin/rubocop -f github"
|
|
5
|
+
step "Style: JavaScript", "yarn lint"
|
|
6
|
+
|
|
7
|
+
step "Tests: prepare", "env RAILS_ENV=test bin/rails db:test:prepare"
|
|
8
|
+
step "Tests: run", "env RAILS_ENV=test bin/rails test:all -d"
|
|
9
|
+
|
|
10
|
+
unless success?
|
|
11
|
+
failure "Signoff: CI failed.", "Fix the issues and try again."
|
|
12
|
+
end
|
|
13
|
+
end
|
data/lib/lexxy/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lexxy
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.22.beta
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jorge Manrubia
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: rails
|
|
@@ -136,6 +136,7 @@ files:
|
|
|
136
136
|
- app/views/people/_person.html.erb
|
|
137
137
|
- app/views/people/_prompt_item.html.erb
|
|
138
138
|
- app/views/people/index.html.erb
|
|
139
|
+
- config/ci.rb
|
|
139
140
|
- config/routes.rb
|
|
140
141
|
- lib/action_text/attachables/remote_video.rb
|
|
141
142
|
- lib/active_storage/blob_with_preview_url.rb
|
|
@@ -169,7 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
169
170
|
- !ruby/object:Gem::Version
|
|
170
171
|
version: '0'
|
|
171
172
|
requirements: []
|
|
172
|
-
rubygems_version: 3.6.
|
|
173
|
+
rubygems_version: 3.6.9
|
|
173
174
|
specification_version: 4
|
|
174
175
|
summary: A new editor for Action Text based on Meta's Lexical framework.
|
|
175
176
|
test_files: []
|