You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(site): compressHTML whitespace mode; contributing example link to a real map
compressHTML: true restores pre-7 whitespace collapse (space preserved
between text and inline elements) — the systemic fix for the glue bug
hand-patched across pages; the source-level vitest guard stays as a
second layer. The old Map_Format.adoc reference no longer exists —
point step 03 at a fully-worked map in the corpus instead (resolves
once interscript/maps#180 lands the .isc migration).
Copy file name to clipboardExpand all lines: src/pages/contributing.astro
+55-64Lines changed: 55 additions & 64 deletions
Original file line number
Diff line number
Diff line change
@@ -11,10 +11,9 @@ import Base from "../layouts/Base.astro"
11
11
<pclass="eyebrow eyebrow-accent">Contributing</p>
12
12
<h1>Add a transliteration system.</h1>
13
13
<pclass="hero-deck">
14
-
Interscript grows when contributors encode romanization systems
15
-
from authority documents into the open-source corpus. This page
16
-
walks through the process — it's more straightforward than it
17
-
looks.
14
+
Interscript grows when contributors encode romanization systems from authority documents
15
+
into the open-source corpus. This page walks through the process — it's more straightforward
16
+
than it looks.
18
17
</p>
19
18
</div>
20
19
</section>
@@ -26,10 +25,11 @@ import Base from "../layouts/Base.astro"
26
25
<h2>Find a system to add</h2>
27
26
</header>
28
27
<p>
29
-
Browse the <ahref="/maps">catalogue</a> to see what's already
30
-
covered. Then check the <ahref="https://github.com/interscript/maps/issues"rel="noreferrer">issue tracker</a> for requested systems. If the system you want isn't listed
31
-
anywhere, open a new issue describing the authority document so
32
-
maintainers can confirm scope.
28
+
Browse the <ahref="/maps">catalogue</a> to see what's already covered. Then check the <a
29
+
href="https://github.com/interscript/maps/issues"
30
+
rel="noreferrer">issue tracker</a
31
+
> for requested systems. If the system you want isn't listed anywhere, open a new issue describing
32
+
the authority document so maintainers can confirm scope.
33
33
</p>
34
34
</article>
35
35
@@ -39,63 +39,59 @@ import Base from "../layouts/Base.astro"
39
39
<h2>Read the authority document</h2>
40
40
</header>
41
41
<p>
42
-
Most authority romanization tables are published as PDFs.
43
-
Read carefully — the rules include edge cases (word-initial vs
44
-
word-medial, before/after context, special characters). Note
45
-
every rule with its source page number; you'll cite it in the
46
-
map metadata.
42
+
Most authority romanization tables are published as PDFs. Read carefully — the rules include
43
+
edge cases (word-initial vs word-medial, before/after context, special characters). Note
44
+
every rule with its source page number; you'll cite it in the map metadata.
47
45
</p>
48
46
<p>
49
-
If the authority document isn't freely available, look for
50
-
secondary sources (Wikipedia, library science journals) that
51
-
describe the rules. Cite the secondary source in those cases.
47
+
If the authority document isn't freely available, look for secondary sources (Wikipedia,
48
+
library science journals) that describe the rules. Cite the secondary source in those cases.
52
49
</p>
53
50
</article>
54
51
55
52
<articleclass="step">
56
53
<header>
57
54
<spanclass="step-num tnum">03</span>
58
-
<h2>Write the map in the Ruby DSL</h2>
55
+
<h2>Write the map in ISC</h2>
59
56
</header>
60
57
<p>
61
-
Maps live in <ahref="https://github.com/interscript/maps"rel="noreferrer">github.com/interscript/maps</a>,
62
-
named <code>{"{authority}-{lang}-{source_script}-{dest_script}-{year}.imp"}</code> (e.g. <code>bgnpcgn-ukr-Cyrl-Latn-2019.imp</code>).
58
+
Maps live in <ahref="https://github.com/interscript/maps"rel="noreferrer"
59
+
>github.com/interscript/maps</a
60
+
>, named <code>{"{authority}-{lang}-{source_script}-{dest_script}-{year}.isc"}</code> (e.g. <code
The DSL has more options (capture groups, before/after
98
-
constraints, run rules that compose stages) — see the <ahref="https://github.com/interscript/interscript-ruby/blob/main/docs/Map_Format.adoc"rel="noreferrer">Map Format guide</a> for the full reference.
90
+
The format has more options (capture groups, before/after constraints, run rules that
91
+
compose stages) — the corpus itself is the reference; see <a
@@ -105,16 +101,13 @@ test "Київ", "Kyiv"`} /></pre>
105
101
<h2>Add test vectors</h2>
106
102
</header>
107
103
<p>
108
-
Every map ships with <code>test</code> directives — input →
109
-
expected output pairs pulled from the authority document or
110
-
real-world examples. These run against the Ruby interpreter
111
-
and, via the JSON IR, against the TypeScript runtime. Failures
112
-
block merge.
104
+
Every map ships with <code>test</code> directives — input → expected output pairs pulled from
105
+
the authority document or real-world examples. These run against every engine — the Ruby interpreter
106
+
and the TypeScript ISC runtime. Failures block merge.
113
107
</p>
114
108
<p>
115
-
Aim for at least 10 test vectors covering common cases,
116
-
diacritics, edge cases, and (where applicable) word-boundary
117
-
behavior. Cite source pages in code comments.
109
+
Aim for at least 10 test vectors covering common cases, diacritics, edge cases, and (where
110
+
applicable) word-boundary behavior. Cite source pages in code comments.
118
111
</p>
119
112
</article>
120
113
@@ -124,18 +117,15 @@ test "Київ", "Kyiv"`} /></pre>
124
117
<h2>Open a pull request</h2>
125
118
</header>
126
119
<p>
127
-
Fork <code>interscript/maps</code>, push your branch, open a PR.
128
-
The CI pipeline runs the Ruby test suite, regenerates the JSON
129
-
IR, and re-checks the parity suite. Maintainers review the map
130
-
against the source document; if rules are missing or wrong,
131
-
they'll point out specific page numbers.
132
-
</p>
133
-
<p>
134
-
Once merged, the new system is automatically:
120
+
Fork <code>interscript/maps</code>, push your branch, open a PR. The CI pipeline runs the
121
+
test suite against every engine and re-checks the parity suite. Maintainers review the map
122
+
against the source document; if rules are missing or wrong, they'll point out specific page
123
+
numbers.
135
124
</p>
125
+
<p>Once merged, the new system is automatically:</p>
136
126
<ul>
137
127
<li>Available in the Ruby gem (next release)</li>
138
-
<li>Available in <code>interscript-ts</code> via the JSON IR</li>
128
+
<li>Available in <code>interscript-ts</code> via the ISC runtime</li>
139
129
<li>Live on <ahref="/">interscript.org</a> (next site build)</li>
140
130
<li>Available through the <ahref="/api-docs">REST API</a></li>
141
131
</ul>
@@ -144,8 +134,9 @@ test "Київ", "Kyiv"`} /></pre>
144
134
<sectionclass="contrib-cta">
145
135
<h2>Need help?</h2>
146
136
<p>
147
-
Open a <ahref="https://github.com/interscript/maps/issues"rel="noreferrer">GitHub issue</a> with the authority document and what you've tried. The community
148
-
is friendly and the maintainers are responsive.
137
+
Open a <ahref="https://github.com/interscript/maps/issues"rel="noreferrer">GitHub issue</a
138
+
> with the authority document and what you've tried. The community is friendly and the maintainers
0 commit comments