gp-dimm-city 1.10.2 → 1.10.3-alpha.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.
- package/CHANGELOG.md +89 -0
- package/README.md +18 -2
- package/components.yaml +157 -15
- package/images/ground-1.png +0 -0
- package/images/ground-2.png +0 -0
- package/images/ground-3.png +0 -0
- package/images/ground-4.png +0 -0
- package/images/ground-5.png +0 -0
- package/package.json +1 -2
- package/plugin.js +177 -13
- package/snippets/dm-chapter.md +13 -0
- package/snippets/{paste-up.md → gear-chapter.md} +1 -1
- package/snippets/row-narrow.md +19 -0
- package/snippets/row-wide.md +19 -0
- package/snippets/row.md +19 -0
- package/snippets/section-armor.md +11 -0
- package/snippets/section-explosives.md +9 -0
- package/snippets/section-weapons.md +9 -0
- package/styles/components/entries.css +49 -0
- package/styles/components/images.css +12 -0
- package/styles/components/section.css +130 -0
- package/styles/dc-component-defaults.css +4 -3
- package/styles/dc-native.css +51 -31
- package/styles/page-rules.css +50 -6
- package/styles/page-templates.css +45 -6
- package/styles/paste-up.css +0 -120
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,95 @@ cut a version that has no `## [X.Y.Z]` heading below.
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.10.3] - 2026-11-10
|
|
11
|
+
|
|
12
|
+
Paste-up becomes part of the package proper, gear sections get a kind each,
|
|
13
|
+
and the styles say where a reader is and what they are reading.
|
|
14
|
+
|
|
15
|
+
### Semantic styles
|
|
16
|
+
|
|
17
|
+
- **`@chapter dm` and `@chapter gear`.** The Dream Master's chapter (ink) and
|
|
18
|
+
the armory (amber) are places of their own, not two more rust rules
|
|
19
|
+
chapters. A chapter's colour is every plain panel's tag and rail, its opener
|
|
20
|
+
and its footer chip; a section's kind (reference, lore, dm, catalog) keeps
|
|
21
|
+
its own colour and silhouette in any chapter.
|
|
22
|
+
- **A specialty's pages carry chapter 2's chip.** A specialty block has no
|
|
23
|
+
`.page` of its own, so its pages showed the default magenta chip (chapter
|
|
24
|
+
1's colour). `scripts/wall-tiles.py` gives a block's children the wall's
|
|
25
|
+
chapter twin.
|
|
26
|
+
- **One roll-result look.** Every two-column table of d20 results is the
|
|
27
|
+
outcome ladder: an ability's own bands (16-19 over 11-15, 1-5, 2-10, 11+),
|
|
28
|
+
labelled bands ("20: Total Wholeness", "Triumph (20)") and tier words
|
|
29
|
+
("Success") included, each row in its band's tier colour. Bands that
|
|
30
|
+
overlap or straddle 10/11 stay a table; `@roll-table` is never a ladder.
|
|
31
|
+
- **Steps.** A `##` standing on the page that opens with a step number
|
|
32
|
+
(`## 4. Ideal`) has its number set as a chip in the chapter's colour, so a
|
|
33
|
+
procedure's steps read as one sequence.
|
|
34
|
+
- **Examples.** An example that opens with its own heading is labelled by it,
|
|
35
|
+
with no default "Example" tag beside it.
|
|
36
|
+
|
|
37
|
+
### Added
|
|
38
|
+
|
|
39
|
+
- **Each wall stands on its own street.** A page on `wall-1` … `wall-5` has a
|
|
40
|
+
ground strip drawn from that wall's own stone (`images/ground-1.png` …
|
|
41
|
+
`ground-5.png`), in the same perspective, tint and shadow as the setts;
|
|
42
|
+
`wall-6` and the plain brick keep the setts (`images/ground.png`). Nothing
|
|
43
|
+
to write: the page's wall picks its street. `scripts/wall-tiles.py --grounds`
|
|
44
|
+
redraws them.
|
|
45
|
+
- **A warning on raw HTML.** Every HTML tag written into the markdown is
|
|
46
|
+
reported on its line (`raw_html`), in a table cell too: the package cannot
|
|
47
|
+
check it, and a tag left open styles everything after it (a
|
|
48
|
+
`<small>…<small>` in one ladder row set the rest of the Field Guide small).
|
|
49
|
+
HTML comments are not reported. `rawHtml: "off"` in the extension's options
|
|
50
|
+
turns it off; the design guide does, since its specimen stages are HTML.
|
|
51
|
+
|
|
52
|
+
### Changed
|
|
53
|
+
|
|
54
|
+
- **Paste-up is how a section looks.** A `panel`, `reference`, `lore`, `dm` or
|
|
55
|
+
`catalog` section (and the gear kinds) is a sheet pasted on the wall with
|
|
56
|
+
nothing to write: tag over the paper's edge, closing line a sticker, one hard
|
|
57
|
+
shadow, kept whole. A chapter opener's `#` title is tilted, and a fiction
|
|
58
|
+
excerpt's closing line is a sticker. The hung-panel look those replace is
|
|
59
|
+
retired, and so is `.dc-paste-up`: delete it from marker lines (it styles
|
|
60
|
+
nothing now). A creature (`npc`), the Citizen File walkthrough, the `choose`
|
|
61
|
+
sections and a fiction excerpt's text keep their own looks. A book whose
|
|
62
|
+
long sections now run onto another page splits them in markup, the second
|
|
63
|
+
part `.dc-pu-cont`.
|
|
64
|
+
- **A sheet keeps its shadow inside the page.** A paste-up sheet set its right
|
|
65
|
+
margin to 0, so its 3px hard shadow reached past the content box and
|
|
66
|
+
Chromium shrank the whole book to fit (the Field Guide printed at 99.6%). It
|
|
67
|
+
keeps the 3px every panel keeps. And a sheet sits `--dc-pu-inset` (now
|
|
68
|
+
0.08in by default, was 0) in from the content edge, so its tilted tag, which
|
|
69
|
+
hangs about 0.07in off the sheet's left edge, stays inside it; a book whose
|
|
70
|
+
pages clip the overhang may set 0.
|
|
71
|
+
- **Paste-up works like the rest of the package.** `styles/paste-up.css` is
|
|
72
|
+
gone: its rules live with the components they style (sheets, tags, bills,
|
|
73
|
+
stickers and rows in `section.css`, plates and cut-outs in `images.css`), and
|
|
74
|
+
a paste-up chapter needs no raw HTML.
|
|
75
|
+
- `@row`, `@row-wide` (62/38) and `@row-narrow` (38/62), closed by
|
|
76
|
+
`@end-row`, replace `<div class="dc-pu-row">` … `</div>`. They write the
|
|
77
|
+
same `div.dc-pu-row`; the widths are the token `--dc-pu-row-cols`.
|
|
78
|
+
- A `.dc-pu-cont` sheet that opens with a `##` or `###` gets its
|
|
79
|
+
`.dc-pu-spacer` from the plugin; drop `<div class="dc-pu-spacer"></div>`.
|
|
80
|
+
- `{.dc-pu-tag}` pastes a sub-head on as a tag mid-sheet, in the sheet's bar
|
|
81
|
+
colours.
|
|
82
|
+
- A plate takes core's `.gp-size-NN` for its width (40% without one).
|
|
83
|
+
- In a paste-up chapter the opener's `#` title is tilted -2deg and a fiction
|
|
84
|
+
excerpt's closing line is a sticker (both were the Field Guide's own CSS).
|
|
85
|
+
- The catalog has one entry per piece, and design guide chapter 6 a specimen.
|
|
86
|
+
|
|
87
|
+
### Added
|
|
88
|
+
|
|
89
|
+
- **Gear sections by kind: `@section weapons`, `explosives`, `armor`.** The
|
|
90
|
+
catalog in one colour and one chip label per kind of gear, so firearms,
|
|
91
|
+
grenades and armor read as one system and each is told at a glance, in
|
|
92
|
+
grayscale too: weapons in blood (WEAPONS), explosives in hazard yellow with
|
|
93
|
+
ink type (EXPLOSIVES), armor in slate steel (PROTECTION). The colour is the
|
|
94
|
+
title, every table's head row, the rail, and the 3pt rule over each entry
|
|
95
|
+
inside (in place of the entry kind's own) and over a `####` sub-head, set
|
|
96
|
+
like an entry's name. Snippets `section-weapons`, `section-explosives`,
|
|
97
|
+
`section-armor`.
|
|
98
|
+
|
|
10
99
|
## [1.10.2] - 2026-11-07
|
|
11
100
|
|
|
12
101
|
A print-colour audit against DriveThruRPG's press profile, CGATS21_CRPC1
|
package/README.md
CHANGED
|
@@ -38,6 +38,21 @@ the book works offline.
|
|
|
38
38
|
|
|
39
39
|
`gutterpress ext list my-book` shows `gp-dimm-city@1.9.0 [npm; markdown, styles, snippets, components]`.
|
|
40
40
|
|
|
41
|
+
## Raw HTML warning
|
|
42
|
+
|
|
43
|
+
The package reports every HTML tag written into a book's markdown as a
|
|
44
|
+
warning on its line (`raw_html`): it cannot check HTML, and a tag left open
|
|
45
|
+
styles everything after it. Write markdown or a marker instead. HTML comments
|
|
46
|
+
are not reported. A book whose HTML is deliberate turns the warning off in its
|
|
47
|
+
manifest:
|
|
48
|
+
|
|
49
|
+
```yaml
|
|
50
|
+
extensions:
|
|
51
|
+
- use: gp-dimm-city@1.10.3
|
|
52
|
+
options:
|
|
53
|
+
rawHtml: "off"
|
|
54
|
+
```
|
|
55
|
+
|
|
41
56
|
## What you get
|
|
42
57
|
|
|
43
58
|
Pick by what you are writing. Every row is a marker (or a word on one) that the
|
|
@@ -66,6 +81,7 @@ package renders and prints; `docs/macros.md` is the full inventory and
|
|
|
66
81
|
| A drug, elixir or consumable | `@gear drug` |
|
|
67
82
|
| A labelled line in an entry: SPECS, Traits, Effects… | `**SPECS:**` (or `@field specs`; `specs` is the one SPECS box) |
|
|
68
83
|
| A titled run of entries, two columns | `@section catalog` with `@columns 2` |
|
|
84
|
+
| Weapons, explosives or armor: a gear section by kind | `@section weapons`, `explosives`, `armor` |
|
|
69
85
|
| A roll-result ladder | a pipe table of the five bands (20, 11-19, 6-10, 2-5, 1), or `@outcome` |
|
|
70
86
|
| A random table with equal bands (1-4, 5-8, …) | `@roll-table` |
|
|
71
87
|
| Flaw, ideal or dream choices | `@flaws`, `@ideals`, `@dreams` (each a `choose` section holding a run of `@card`) |
|
|
@@ -73,7 +89,7 @@ package renders and prints; `docs/macros.md` is the full inventory and
|
|
|
73
89
|
| The specialty catalog | `@card-grid` |
|
|
74
90
|
| A specialty, its learning paths and skill cards | `@specialty`, `@learning-path`, `@skill` |
|
|
75
91
|
| Grouping, with no styling | `@section` |
|
|
76
|
-
| Where it sits | `@page chapter-start`, `intro`, `credits`, `contents`, `citizen-file`, `wall-1` … `wall-6` (and core's `blank`, `full-bleed`); `@chapter rules`, `lore`, `citizen-file`, `specialty` |
|
|
92
|
+
| Where it sits | `@page chapter-start`, `intro`, `credits`, `contents`, `citizen-file`, `wall-1` … `wall-6` (and core's `blank`, `full-bleed`); `@chapter rules`, `dm`, `gear`, `lore`, `citizen-file`, `specialty` |
|
|
77
93
|
|
|
78
94
|
The named components are also words on `@section` (`@npc-stat` is
|
|
79
95
|
`@section npc`, `@fiction-excerpt` is `@section fiction`); either spelling
|
|
@@ -105,7 +121,7 @@ Also in the box:
|
|
|
105
121
|
build time.
|
|
106
122
|
- **Page and chapter words** every Dimm City book writes: `@page contents`,
|
|
107
123
|
`credits`, `intro`, `chapter-start`, `citizen-file` (and `.dc-full-page`), and
|
|
108
|
-
`@chapter rules`, `lore`, `citizen-file`, `specialty` for a chapter's section
|
|
124
|
+
`@chapter rules`, `dm`, `gear`, `lore`, `citizen-file`, `specialty` for a chapter's section
|
|
109
125
|
colour, plus the folio/chapter-chip chrome driven by `@chapter #id ch="N"`.
|
|
110
126
|
- **Snippets** for the app's snippet picker (`snippets/`): one per macro, per
|
|
111
127
|
section, page and chapter word, and per modifier (`.dc-avoid-split`,
|
package/components.yaml
CHANGED
|
@@ -92,7 +92,7 @@ components:
|
|
|
92
92
|
- --dc-alert-label-bg
|
|
93
93
|
- --dc-alert-label-pad
|
|
94
94
|
breaks: "break-inside: avoid, relaxed to auto inside a column run (@columns; dc-native.css)"
|
|
95
|
-
notes: "One shell, eight registers, told apart by silhouette, edge and label (in colour and in grayscale). Every one is a white sheet (--dc-alert-bg): its colour is in the rail, the frame and the label, never in the fill: note (heavy blue rail, 2pt blue ring, blue chip with paper type, machined chamfers), warning (sign-plate octagon, hazard-stripe rail, heavy ink frame with a misregistered crimson line, yellow caution-tape label), dm (file folder: an ink bar across the top carries the label in cyan over a cyan rule, its left end rising as the tab; an ink ring, a cyan rail, one cut corner; Dream Master only), vibe (long shallow diagonals, a violet frame that follows them, violet chip, italic), origin (torn bottom edge, square corners, a rust frame along the tear, a heavy rust rail, worn crimson stamp label), location (origin's document in map teal: teal frame and rail, deep-teal stamp), visit (wobbly signpost, a fungi-green frame along the wobble and the point, a heavy green rail, green map-pin chip), example (ticket V notch, cyan rail and 2pt cyan ring, taped-on tag). The ring is --dc-alert-frame (an inset box-shadow); vibe, origin, location and visit, whose outline a ring cannot follow, are filled with the accent under a white copy of their silhouette, --dc-alert-frame-width (3pt) in from the top, right and foot. Every register is bolted to the wall: a bolt head in each top corner, on the white body under the rule on the Dream Master note (--dc-bolt tokens; first fragment only). Every label is a raised chip (--dc-alert-label-shadow), except the dm note's, which is its ink bar. A `> [!NOTE]` from gutterpress-gfm-alerts (.gp-alert) is drawn as the matching callout. Every variant sets --dc-accent-ink (the text-safe accent ink) and pads every cut by its depth + 2pt. A chapter must not re-theme these tokens. `warning` is an unprefixed modifier on .dc-note. The blockquote form is single-block; use @callout for multi-paragraph bodies."
|
|
95
|
+
notes: "One shell, eight registers, told apart by silhouette, edge and label (in colour and in grayscale). Every one is a white sheet (--dc-alert-bg): its colour is in the rail, the frame and the label, never in the fill: note (heavy blue rail, 2pt blue ring, blue chip with paper type, machined chamfers), warning (sign-plate octagon, hazard-stripe rail, heavy ink frame with a misregistered crimson line, yellow caution-tape label), dm (file folder: an ink bar across the top carries the label in cyan over a cyan rule, its left end rising as the tab; an ink ring, a cyan rail, one cut corner; Dream Master only), vibe (long shallow diagonals, a violet frame that follows them, violet chip, italic), origin (torn bottom edge, square corners, a rust frame along the tear, a heavy rust rail, worn crimson stamp label), location (origin's document in map teal: teal frame and rail, deep-teal stamp), visit (wobbly signpost, a fungi-green frame along the wobble and the point, a heavy green rail, green map-pin chip), example (ticket V notch, cyan rail and 2pt cyan ring, taped-on tag; an example that opens with its own heading is labelled by it, words as written, and gets no default Example tag). The ring is --dc-alert-frame (an inset box-shadow); vibe, origin, location and visit, whose outline a ring cannot follow, are filled with the accent under a white copy of their silhouette, --dc-alert-frame-width (3pt) in from the top, right and foot. Every register is bolted to the wall: a bolt head in each top corner, on the white body under the rule on the Dream Master note (--dc-bolt tokens; first fragment only). Every label is a raised chip (--dc-alert-label-shadow), except the dm note's, which is its ink bar. A `> [!NOTE]` from gutterpress-gfm-alerts (.gp-alert) is drawn as the matching callout. Every variant sets --dc-accent-ink (the text-safe accent ink) and pads every cut by its depth + 2pt. A chapter must not re-theme these tokens. `warning` is an unprefixed modifier on .dc-note. The blockquote form is single-block; use @callout for multi-paragraph bodies."
|
|
96
96
|
|
|
97
97
|
- name: callout
|
|
98
98
|
status: live
|
|
@@ -389,7 +389,7 @@ components:
|
|
|
389
389
|
origin: plugin
|
|
390
390
|
markers: ["@outcome"]
|
|
391
391
|
snippet: outcome
|
|
392
|
-
recipe: "@outcome [flush] / 20 | Triumph | text / 11–19 | Success | text / 6–10 | Hard Choice | text / 2–5 | Failure | text / 1 | Catastrophe | text … @end-outcome, or any two-column pipe table whose first column
|
|
392
|
+
recipe: "@outcome [flush] / 20 | Triumph | text / 11–19 | Success | text / 6–10 | Hard Choice | text / 2–5 | Failure | text / 1 | Catastrophe | text … @end-outcome, or any two-column pipe table whose first column holds a d20 result on every row (any headers, any order), in a skill card or outside one: the five standard bands 20, 11-19, 6-10, 2-5, 1, or an ability's own set (six bands, 16-19 over 11-15, 1-5, 2-10, 11+), a band with a label (\"20: Total Wholeness\", \"20 – Triumph\", \"Triumph (20)\", \"On 11–19\") or a tier's word alone (\"Success\"); each row takes the colour of the tier its band falls in, and a label is the row's name. Bands that overlap, leave 1-20 or straddle 10/11 stay a table; @roll-table is never a ladder"
|
|
393
393
|
emits:
|
|
394
394
|
- div.dc-outcomes[.dc-flush] > div.dc-outcomes-label
|
|
395
395
|
- div.dc-outcome-row.crit|hit|mixed|miss|fail > span.dc-outcome-key.tier-* > span.dc-outcome-name + span.dc-outcome-roll
|
|
@@ -619,7 +619,7 @@ components:
|
|
|
619
619
|
- name: ap-chip
|
|
620
620
|
status: live
|
|
621
621
|
origin: plugin
|
|
622
|
-
recipe: "1. **N AP** *Ability:* text (inside @skill; 0 AP → .free, a single number → standard, a range, X, VAR or N+ → .variable; also authored as raw <span class=\"dc-ap\">). Only a real cost is a chip, and the chip holds only the readout (\"3 AP\", no name, no stop): number, range (hyphen or dash), X or VAR, then AP; bare **3-X** is accepted. What follows the cost moves into the row text as an italic run-in with a colon: **3 AP — Butcher Roach** → chip 3 AP + \"Butcher Roach:\"; **+1 AP per passenger.** → chip +1 AP + \"Per passenger:\"; **1 AP/100 DC Per Ego Point:** → chip 1 AP + \"1 AP/100 DC Per Ego Point:\". Variable is decided by the cost token only, plus a per-unit rate in the qualifier (per passenger, /100 DC Per …); every range prints with an en dash. Rows share one text column: a chip is at least the free chip's width. A list whose items ALL lead with a bold die result (**20**, **11-19**, **16–19: Name**) is a roll list: the
|
|
622
|
+
recipe: "1. **N AP** *Ability:* text (inside @skill; 0 AP → .free, a single number → standard, a range, X, VAR or N+ → .variable; also authored as raw <span class=\"dc-ap\">). Only a real cost is a chip, and the chip holds only the readout (\"3 AP\", no name, no stop): number, range (hyphen or dash), X or VAR, then AP; bare **3-X** is accepted. What follows the cost moves into the row text as an italic run-in with a colon: **3 AP — Butcher Roach** → chip 3 AP + \"Butcher Roach:\"; **+1 AP per passenger.** → chip +1 AP + \"Per passenger:\"; **1 AP/100 DC Per Ego Point:** → chip 1 AP + \"1 AP/100 DC Per Ego Point:\". Variable is decided by the cost token only, plus a per-unit rate in the qualifier (per passenger, /100 DC Per …); every range prints with an en dash. Rows share one text column: a chip is at least the free chip's width. A list whose items ALL lead with a bold die result (**20**, **11-19**, **16–19: Name**) is a roll list: the outcome ladder when its bands read as one (see outcome), a .dc-roll-table plate otherwise. Any other bold lead (**Prefrontal Chaos**) is an option: a bulleted item with the name in bold and a colon; a run that does not start at 1 or sits among cost rows is bulleted too, and only a plain list from 1 stays numbered."
|
|
623
623
|
emits: span.dc-ap[.free|.variable]
|
|
624
624
|
css: [styles/components/cards.css, styles/components/specialty-identity.css]
|
|
625
625
|
tokens: [--dc-ap-bg, --dc-ap-fg, --dc-ap-border]
|
|
@@ -839,7 +839,7 @@ components:
|
|
|
839
839
|
emits: div.chapter.dc-chapter-rules
|
|
840
840
|
css: styles/page-templates.css
|
|
841
841
|
tokens: [--dc-section-accent]
|
|
842
|
-
notes: "
|
|
842
|
+
notes: "How to play: rust. Every plain panel's tag and rail, the opener and the footer chip are rust. A word that is not declared stays the chapter's label."
|
|
843
843
|
|
|
844
844
|
- name: chapter-lore
|
|
845
845
|
status: live
|
|
@@ -852,6 +852,28 @@ components:
|
|
|
852
852
|
tokens: [--dc-section-accent, --dc-section-bg]
|
|
853
853
|
notes: "Violet title bars (the lore section's colour) on the panels' own cream."
|
|
854
854
|
|
|
855
|
+
- name: chapter-dm
|
|
856
|
+
status: live
|
|
857
|
+
origin: plugin
|
|
858
|
+
markers: ["@chapter dm"]
|
|
859
|
+
snippet: dm-chapter
|
|
860
|
+
recipe: "@chapter dm #id ch=\"N\""
|
|
861
|
+
emits: div.chapter.dc-chapter-dm
|
|
862
|
+
css: [styles/page-templates.css, styles/page-rules.css, styles/dc-native.css]
|
|
863
|
+
tokens: [--dc-section-accent]
|
|
864
|
+
notes: "The Dream Master's chapter: ink. Every plain panel's tag and rail, the opener and the footer chip are ink (the chip through the dc-chip-ink page, and each wall's ink twin). Reference, lore and dm sections keep their own colours and shapes inside it."
|
|
865
|
+
|
|
866
|
+
- name: chapter-gear
|
|
867
|
+
status: live
|
|
868
|
+
origin: plugin
|
|
869
|
+
markers: ["@chapter gear"]
|
|
870
|
+
snippet: gear-chapter
|
|
871
|
+
recipe: "@chapter gear #id ch=\"N\""
|
|
872
|
+
emits: div.chapter.dc-chapter-gear
|
|
873
|
+
css: [styles/page-templates.css, styles/page-rules.css, styles/dc-native.css]
|
|
874
|
+
tokens: [--dc-section-accent]
|
|
875
|
+
notes: "The armory: cybernetics, weapons and gear, in amber (brass). Every plain panel's tag and rail, the opener and the footer chip are amber (the chip through the dc-chip-amber page, and each wall's amber twin). The gear kinds (weapons, explosives, armor) and reference sheets keep their own colours inside it."
|
|
876
|
+
|
|
855
877
|
- name: chapter-citizen-file
|
|
856
878
|
status: live
|
|
857
879
|
origin: plugin
|
|
@@ -979,17 +1001,101 @@ components:
|
|
|
979
1001
|
notes: "A setter of --dc-flow-gap, the margin-bottom of a paragraph or list item inside it, to 0.04in. Unset, each component keeps its own spacing; set on a box or anything above it, it is the space under every paragraph and list item in it. Type size and leading are untouched."
|
|
980
1002
|
|
|
981
1003
|
- name: paste-up
|
|
1004
|
+
status: retired
|
|
1005
|
+
origin: author
|
|
1006
|
+
replaced_by: "nothing: a panel, reference, lore, dm or catalog section is a pasted sheet with no class"
|
|
1007
|
+
recipe: "@chapter rules .dc-paste-up / @section reference .dc-paste-up"
|
|
1008
|
+
emits: .dc-paste-up
|
|
1009
|
+
notes: "Retired in 1.10.3: the paste-up sheet is how those sections look, not a register a chapter opts into (section.css, PASTE-UP). Delete `.dc-paste-up` from the marker lines. A creature (`npc`), the Citizen File walkthrough, the `choose` sections and a fiction excerpt keep their own look."
|
|
1010
|
+
|
|
1011
|
+
- name: row
|
|
1012
|
+
status: live
|
|
1013
|
+
origin: plugin
|
|
1014
|
+
markers: ["@row"]
|
|
1015
|
+
snippet: row
|
|
1016
|
+
recipe: "@row / @section … @end-section / @section … @end-section / @end-row"
|
|
1017
|
+
emits: div.dc-pu-row
|
|
1018
|
+
css: styles/components/section.css
|
|
1019
|
+
tokens: [--dc-pu-row-cols, --dc-pu-pair-gap]
|
|
1020
|
+
breaks: "a row is kept whole (break-inside: avoid)"
|
|
1021
|
+
notes: "Two paste-up sheets side by side, half and half, each ending at its own last line, closing stickers at the foot. An alias of core's `@columns 2` (the one frame that may hold sections), which the plugin writes as `div.dc-pu-row`, a grid, with core's column classes taken off. `@row-wide` is 62/38 and `@row-narrow` 38/62, the register's other widths. Closed by `@end-row`."
|
|
1022
|
+
|
|
1023
|
+
- name: row-wide
|
|
1024
|
+
status: live
|
|
1025
|
+
origin: plugin
|
|
1026
|
+
markers: ["@row-wide"]
|
|
1027
|
+
snippet: row-wide
|
|
1028
|
+
recipe: "@row-wide / @section … @end-section / @section … @end-section / @end-row"
|
|
1029
|
+
emits: div.dc-pu-row.dc-pu-row-wide
|
|
1030
|
+
css: styles/components/section.css
|
|
1031
|
+
tokens: [--dc-pu-row-cols]
|
|
1032
|
+
breaks: "a row is kept whole (break-inside: avoid)"
|
|
1033
|
+
notes: "A `@row` whose first sheet is the wider: 62/38 (sets --dc-pu-row-cols). Closed by `@end-row`."
|
|
1034
|
+
|
|
1035
|
+
- name: row-narrow
|
|
1036
|
+
status: live
|
|
1037
|
+
origin: plugin
|
|
1038
|
+
markers: ["@row-narrow"]
|
|
1039
|
+
snippet: row-narrow
|
|
1040
|
+
recipe: "@row-narrow / @section … @end-section / @section … @end-section / @end-row"
|
|
1041
|
+
emits: div.dc-pu-row.dc-pu-row-narrow
|
|
1042
|
+
css: styles/components/section.css
|
|
1043
|
+
tokens: [--dc-pu-row-cols]
|
|
1044
|
+
breaks: "a row is kept whole (break-inside: avoid)"
|
|
1045
|
+
notes: "A `@row` whose first sheet is the narrower: 38/62, a short intro beside a longer sheet (sets --dc-pu-row-cols). Closed by `@end-row`."
|
|
1046
|
+
|
|
1047
|
+
- name: paste-up-continuation
|
|
982
1048
|
status: live
|
|
983
1049
|
origin: author
|
|
984
|
-
modifier:
|
|
985
|
-
description: "
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
notes: "The
|
|
1050
|
+
modifier: dc-pu-cont
|
|
1051
|
+
description: "A paste-up sheet that carries on from the one before it: a clean top, no title tag."
|
|
1052
|
+
recipe: "@section panel .dc-pu-cont"
|
|
1053
|
+
emits:
|
|
1054
|
+
- .dc-pu-cont (on the section it is written on)
|
|
1055
|
+
- "div.dc-pu-spacer (the plugin's, ahead of a ## or ### that opens the sheet)"
|
|
1056
|
+
css: styles/components/section.css
|
|
1057
|
+
tokens: [--dc-pu-band]
|
|
1058
|
+
notes: "The second part of a section split in markup because a sheet is never split. Its band is shallow and it has no tag. When it opens with a ## or ###, the plugin puts a zero-height `div.dc-pu-spacer` ahead of the heading so it stays a sub-head (every first-child heading rule would otherwise read it as the sheet's title); the author writes nothing extra."
|
|
1059
|
+
|
|
1060
|
+
- name: paste-up-bill
|
|
1061
|
+
status: live
|
|
1062
|
+
origin: author
|
|
1063
|
+
modifier: [dc-pu-bill, dc-pu-bill-mid]
|
|
1064
|
+
description: "A ## that shouts: cream display type on ink at twice h1 (1.5x with .dc-pu-bill-mid)."
|
|
1065
|
+
recipe: "## Title {.dc-pu-bill} / ## Title {.dc-pu-bill .dc-pu-bill-mid} (the first heading of a paste-up sheet)"
|
|
1066
|
+
emits: h2.dc-pu-bill
|
|
1067
|
+
css: styles/components/section.css
|
|
1068
|
+
notes: "One bill per section that opens a spread or a sub-system (constitution §IV): the full width of the sheet, a yellow foot rule, a hard shadow. The two display steps outside the type scale besides §VI's."
|
|
1069
|
+
|
|
1070
|
+
- name: paste-up-tag
|
|
1071
|
+
status: live
|
|
1072
|
+
origin: author
|
|
1073
|
+
modifier: dc-pu-tag
|
|
1074
|
+
description: "A sub-head pasted on mid-sheet as a tag, like the sheet's own title."
|
|
1075
|
+
recipe: "### Fall Damage {.dc-pu-tag} (a ## or ### inside a paste-up sheet, not its first)"
|
|
1076
|
+
emits: h3.dc-pu-tag
|
|
1077
|
+
css: styles/components/section.css
|
|
1078
|
+
notes: "The title tag's look (tilted -1deg, hard shadow, the sheet's bar colours) on a heading further down a sheet, with room above it. For a sub-system inside one sheet that should read as pasted on."
|
|
1079
|
+
|
|
1080
|
+
- name: paste-up-plate
|
|
1081
|
+
status: live
|
|
1082
|
+
origin: author
|
|
1083
|
+
modifier: dc-pu-plate
|
|
1084
|
+
description: "A framed print pasted on the wall: a cream frame, a hard shadow, a tilt."
|
|
1085
|
+
recipe: "{.dc-pu-plate} / {.dc-pu-plate .gp-size-30} (core's size classes set its width)"
|
|
1086
|
+
emits: img.dc-pu-plate
|
|
1087
|
+
css: styles/components/images.css
|
|
1088
|
+
notes: "For a self-contained picture between sheets where a page would leave about a quarter or more bare (constitution §IV): opaque, never translucent, one per page. 40% of the column unless core's `.gp-size-NN` is on the image."
|
|
1089
|
+
|
|
1090
|
+
- name: paste-up-cutout
|
|
1091
|
+
status: live
|
|
1092
|
+
origin: author
|
|
1093
|
+
modifier: dc-pu-cutout
|
|
1094
|
+
description: "A cut-out pinned to the wall: transparent art, tilted."
|
|
1095
|
+
recipe: "{.dc-pu-cutout}"
|
|
1096
|
+
emits: img.dc-pu-cutout
|
|
1097
|
+
css: styles/components/images.css
|
|
1098
|
+
notes: "Transparent art set as an object pinned to the wall, 55% wide and tilted 5deg. Give it a hard shadow or a die-cut outline in the art (constitution §IV: never a bare cut-out with no shadow)."
|
|
993
1099
|
|
|
994
1100
|
- name: heading-look
|
|
995
1101
|
status: live
|
|
@@ -1040,8 +1146,8 @@ components:
|
|
|
1040
1146
|
- p.dc-kicker (a section's last paragraph, or a paragraph right before a heading in it, when it is only a bold run: it never opens a page alone)
|
|
1041
1147
|
css: [styles/components/section.css, styles/dc-component-defaults.css]
|
|
1042
1148
|
tokens: [--dc-section-bg, --dc-section-accent, --dc-section-surface, --dc-section-shadow, --dc-section-clip, --dc-section-cut-tl, --dc-section-cut-br, --dc-section-cut-bl, --dc-section-rail, --dc-section-gap, --dc-section-edge, --dc-section-break-inside, --dc-section-pad-top, --dc-section-pad-right, --dc-section-pad-bottom, --dc-section-pad-left, --dc-section-bar-mix, --dc-section-bar-tone, --dc-section-bar-fg, --dc-section-bar-rule, --dc-section-bar-rule-sub, --dc-section-flag, --dc-section-shadow-y, --dc-section-ink-mix, --dc-section-ink-tone, --dc-section-top]
|
|
1043
|
-
breaks: "
|
|
1044
|
-
notes: "
|
|
1149
|
+
breaks: "a sheet is kept whole (--dc-section-break-inside: avoid); split a section that must run on in markup, the second part `.dc-pu-cont`"
|
|
1150
|
+
notes: "A sheet pasted flat on the wall (section.css, PASTE-UP; constitution §IV): a band of wall above and below white paper with the accent rail and one hard shadow, the first ## or ### a tag tilted -1deg over the paper's top edge (its fill, text and under-rule are the --dc-section-bar-* tokens, which each kind sets), and a closing bold line a yellow sticker across its foot. The kinds reference, lore, dm and catalog are the same sheet with their own bar and accent. A creature (npc), the walkthrough and the choose sections are panels that keep their own card look."
|
|
1045
1151
|
|
|
1046
1152
|
|
|
1047
1153
|
- name: street-line
|
|
@@ -1065,6 +1171,42 @@ components:
|
|
|
1065
1171
|
breaks: "a panel that splits by default (--dc-catalog-break-inside: auto), between entries; .dc-avoid-split, or --dc-catalog-break-inside: avoid, keeps one whole; each entry stays whole and never splits across a column or page"
|
|
1066
1172
|
notes: "A panel for a run of entries (@gear, of any kind). Its title bar is a ledger header (a pale aged-paper band under heavy ink rules, an ink rail, an INVENTORY chip), not an accent bar. Its entries are ruled instead of boxed: no card, no rail, a rule in the entry's own accent over each, each kept whole, so no `---` is needed between entries (a `---` left in draws nothing). Columns are core's: write `@columns 2` under the intro."
|
|
1067
1173
|
|
|
1174
|
+
- name: section-weapons
|
|
1175
|
+
status: live
|
|
1176
|
+
origin: plugin
|
|
1177
|
+
markers: ["@section weapons"]
|
|
1178
|
+
snippet: section-weapons
|
|
1179
|
+
recipe: "@section weapons ### Title … tables, entries, #### sub-heads … @end-section"
|
|
1180
|
+
emits: div.section.dc-section-panel.dc-catalog.dc-section-weapons
|
|
1181
|
+
css: styles/components/entries.css
|
|
1182
|
+
tokens: [--dc-section-accent, --dc-section-bar-mix, --dc-section-bar-fg, --dc-section-tab, --dc-section-tab-bg]
|
|
1183
|
+
breaks: "as a catalog: splits by default; in a paste-up chapter every sheet is kept whole (split it in markup, the second part `.dc-pu-cont`)"
|
|
1184
|
+
notes: "The gear sections by kind (`weapons`, `explosives`, `armor`) are one style, the catalog's, told apart by colour and chip label: this one is blood, its chip WEAPONS in ink. The kind's colour is the title (the tag over the sheet's edge in a paste-up chapter), every table's head row, the rail, and the 3pt rule over each entry inside (in place of the entry kind's own) and over a `####` sub-head, which is set like an entry's name. The three read apart in grayscale (dark, light, mid)."
|
|
1185
|
+
|
|
1186
|
+
- name: section-explosives
|
|
1187
|
+
status: live
|
|
1188
|
+
origin: plugin
|
|
1189
|
+
markers: ["@section explosives"]
|
|
1190
|
+
snippet: section-explosives
|
|
1191
|
+
recipe: "@section explosives ### Title … tables, entries, #### sub-heads … @end-section"
|
|
1192
|
+
emits: div.section.dc-section-panel.dc-catalog.dc-section-explosives
|
|
1193
|
+
css: styles/components/entries.css
|
|
1194
|
+
tokens: [--dc-section-accent, --dc-section-bar-mix, --dc-section-bar-fg, --dc-section-tab, --dc-section-tab-bg]
|
|
1195
|
+
breaks: "as a catalog: splits by default; in a paste-up chapter every sheet is kept whole (split it in markup, the second part `.dc-pu-cont`)"
|
|
1196
|
+
notes: "The gear sections by kind (`weapons`, `explosives`, `armor`) are one style, the catalog's, told apart by colour and chip label: this one is hazard yellow (ink type on it), its chip EXPLOSIVES in ink. The kind's colour is the title (the tag over the sheet's edge in a paste-up chapter), every table's head row, the rail, and the 3pt rule over each entry inside (in place of the entry kind's own) and over a `####` sub-head, which is set like an entry's name. The three read apart in grayscale (dark, light, mid)."
|
|
1197
|
+
|
|
1198
|
+
- name: section-armor
|
|
1199
|
+
status: live
|
|
1200
|
+
origin: plugin
|
|
1201
|
+
markers: ["@section armor"]
|
|
1202
|
+
snippet: section-armor
|
|
1203
|
+
recipe: "@section armor ### Title … tables, entries, #### sub-heads … @end-section"
|
|
1204
|
+
emits: div.section.dc-section-panel.dc-catalog.dc-section-armor
|
|
1205
|
+
css: styles/components/entries.css
|
|
1206
|
+
tokens: [--dc-section-accent, --dc-section-bar-mix, --dc-section-bar-fg, --dc-section-tab, --dc-section-tab-bg]
|
|
1207
|
+
breaks: "as a catalog: splits by default; in a paste-up chapter every sheet is kept whole (split it in markup, the second part `.dc-pu-cont`)"
|
|
1208
|
+
notes: "The gear sections by kind (`weapons`, `explosives`, `armor`) are one style, the catalog's, told apart by colour and chip label: this one is slate steel, its chip PROTECTION in ink. The kind's colour is the title (the tag over the sheet's edge in a paste-up chapter), every table's head row, the rail, and the 3pt rule over each entry inside (in place of the entry kind's own) and over a `####` sub-head, which is set like an entry's name. The three read apart in grayscale (dark, light, mid)."
|
|
1209
|
+
|
|
1068
1210
|
- name: section-flat
|
|
1069
1211
|
status: live
|
|
1070
1212
|
origin: plugin
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gp-dimm-city",
|
|
3
|
-
"version": "1.10.2",
|
|
3
|
+
"version": "1.10.3-alpha.2",
|
|
4
4
|
"description": "Dimm City design system for Gutterpress: the markdown-it macros (@skill, @specialty, @learning-path, @callout, …), print stylesheets, design tokens, fonts and page templates the Dimm City TTRPG books are set in.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "plugin.js",
|
|
@@ -52,7 +52,6 @@
|
|
|
52
52
|
"styles/components/entries.css",
|
|
53
53
|
"styles/components/section.css",
|
|
54
54
|
"styles/page-templates.css",
|
|
55
|
-
"styles/paste-up.css",
|
|
56
55
|
"styles/page-rules.css",
|
|
57
56
|
"styles/dc-native.css"
|
|
58
57
|
],
|