@heroiclands/package-build 24.0.3 → 24.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,58 @@
1
1
  # @heroiclands/package-build
2
2
 
3
+ ## 24.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ **Languages and scripts**
8
+
9
+ - Language-only text and linked names retain Roman spelling and surrounding
10
+ fonts; request native script with `.nativefont` and explicit `lang=` on the
11
+ same construct.
12
+ - Native fonts and maps require that opt-in; `map=` and `font=` override
13
+ defaults independently, with explicit `font=` needed when no font default
14
+ exists.
15
+ - Remove or escape bold and italic markup inside non-English spans.
16
+
17
+ **Verse**
18
+
19
+ - For `cols=N` above one, prefix each reading with its column number and spaces;
20
+ keep numbers nondecreasing within blank-separated logical rows, leaving
21
+ omitted columns empty.
22
+ - Repeat readings explicitly; each column’s first is foreground and later
23
+ readings grey, while numbering counts logical rows.
24
+ - Use leading periods for indentation and `***` for stanza breaks; leading
25
+ spaces do not indent.
26
+
27
+ ### Patch Changes
28
+
29
+ **Languages and scripts**
30
+
31
+ - Language-marked links preserve destinations, spoilers, draft cues and
32
+ surrounding spacing.
33
+
34
+ **Verse**
35
+
36
+ - Mixed marked and unmarked runs in multiple languages retain spelling, spacing
37
+ and each run’s language, font and mapping.
38
+
39
+ ## 24.0.4
40
+
41
+ ### Patch Changes
42
+
43
+ **Languages**
44
+
45
+ - Core vocabulary coverage uses only the nearest definition when a language
46
+ redefines an inherited expression.
47
+
48
+ - Inherited dictionary words appear in a daughter language’s script with the
49
+ applicable native spelling.
50
+
51
+ **Verse**
52
+
53
+ - Parallel verse keeps its Roman reading beside the native script, with
54
+ gaps between stanzas.
55
+
3
56
  ## 24.0.3
4
57
 
5
58
  ### Patch Changes
package/README.md CHANGED
@@ -18,6 +18,12 @@ The generated project includes a homepage, website and book targets, npm scripts
18
18
 
19
19
  Run selected content operations together with `package-build content run index lint links compile`. The [shared content command](docs/commands.md#package-build-content-run-targets) captures one source tree for the selected checks and outputs; standalone commands remain available.
20
20
 
21
+ Language annotations keep authored spelling: `[Zaron]{lang=vyl}` stays Roman.
22
+ Add `.nativefont` with an explicit `lang=` to use native script defaults;
23
+ see [writing in invented scripts](docs/guides/writing-in-invented-scripts.md).
24
+ Parallel verse sets `cols=N`, then prefixes each reading with its column
25
+ number; blank lines divide logical rows.
26
+
21
27
  ## Working on this repository
22
28
 
23
29
  Run `npm ci` in each fresh clone or worktree. Its `prepare` step installs the
@@ -124,7 +124,7 @@
124
124
  * the two markers are also the editor preview's stylesheet, with the content
125
125
  * roots replaced by the preview's own. */
126
126
 
127
- /* Each verse line breaks in the markup; each paragraph is a stanza. */
127
+ /* Verse groups are paragraphs; explicit stanza separators add their own gap. */
128
128
  :is(.journal-entry-page, .journal-entry-content, .editor-content, .prosemirror) .verse {
129
129
  margin: 1.5rem 0;
130
130
  line-height: 1.7;
@@ -144,31 +144,36 @@
144
144
  white-space: pre-wrap;
145
145
  }
146
146
 
147
- .verse .verse-line.i1 {
147
+ .verse :is(.verse-line, .verse-part).i1 {
148
148
  --verse-indent: 1.25em;
149
149
  }
150
- .verse .verse-line.i2 {
150
+ .verse :is(.verse-line, .verse-part).i2 {
151
151
  --verse-indent: 2.5em;
152
152
  }
153
- .verse .verse-line.i3 {
153
+ .verse :is(.verse-line, .verse-part).i3 {
154
154
  --verse-indent: 3.75em;
155
155
  }
156
- .verse .verse-line.i4 {
156
+ .verse :is(.verse-line, .verse-part).i4 {
157
157
  --verse-indent: 5em;
158
158
  }
159
- .verse .verse-line.i5 {
159
+ .verse :is(.verse-line, .verse-part).i5 {
160
160
  --verse-indent: 6.25em;
161
161
  }
162
- .verse .verse-line.i6 {
162
+ .verse :is(.verse-line, .verse-part).i6 {
163
163
  --verse-indent: 7.5em;
164
164
  }
165
- .verse .verse-line.i7 {
165
+ .verse :is(.verse-line, .verse-part).i7 {
166
166
  --verse-indent: 8.75em;
167
167
  }
168
- .verse .verse-line.i8 {
168
+ .verse :is(.verse-line, .verse-part).i8 {
169
169
  --verse-indent: 10em;
170
170
  }
171
171
 
172
+ .verse .verse-stanza-break {
173
+ display: block;
174
+ height: 0.5em;
175
+ }
176
+
172
177
  /* Numbered verse carries its numbers in a margin. A verse in columns is one
173
178
  * grid per verse line: its number, then each column's parts stacked, the
174
179
  * first in the normal tone and the rest muted, every part in the serif unless
@@ -212,6 +217,8 @@
212
217
  display: grid;
213
218
  grid-auto-flow: column;
214
219
  grid-auto-columns: 1fr;
220
+ direction: ltr;
221
+ grid-template-columns: repeat(var(--verse-columns, 2), minmax(0, 1fr));
215
222
  column-gap: 1.5rem;
216
223
  margin-bottom: 0.5em;
217
224
  }
@@ -219,7 +226,7 @@
219
226
  :is(.journal-entry-page, .journal-entry-content, .editor-content, .prosemirror)
220
227
  .verse-numbered.verse-columns
221
228
  .verse-row {
222
- grid-template-columns: 2.5em;
229
+ grid-template-columns: 2.5em repeat(var(--verse-columns, 2), minmax(0, 1fr));
223
230
  }
224
231
 
225
232
  :is(.journal-entry-page, .journal-entry-content, .editor-content, .prosemirror)
@@ -240,6 +247,7 @@
240
247
  .verse-columns
241
248
  .verse-part {
242
249
  font-family: serif;
250
+ padding-inline-start: var(--verse-indent, 0em);
243
251
  }
244
252
 
245
253
  :is(.journal-entry-page, .journal-entry-content, .editor-content, .prosemirror)
@@ -248,6 +256,13 @@
248
256
  color: color-mix(in srgb, currentColor 60%, transparent);
249
257
  }
250
258
 
259
+ :is(.journal-entry-page, .journal-entry-content, .editor-content, .prosemirror)
260
+ .verse-columns
261
+ .verse-secondary
262
+ * {
263
+ color: inherit;
264
+ }
265
+
251
266
  :is(.journal-entry-page, .journal-entry-content, .editor-content, .prosemirror)
252
267
  .verse-columns
253
268
  .verse-part[dir="rtl"] {