ropegeo-common 1.23.0 → 1.24.1

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.
@@ -1,6 +1,18 @@
1
1
  import { FetchType } from '../fetchType';
2
2
  import { BetaSectionExcerpt } from './betaSectionExcerpt';
3
3
  import { BetaSectionImage } from './betaSectionImage';
4
+ /**
5
+ * An excerpt split into its verbatim `body` and the surrounding section
6
+ * context. Each of `before`, `body`, and `after` is independently well-formed
7
+ * HTML, so consumers can render them as separate (e.g. stacked) blocks and
8
+ * de-emphasize the context relative to the body. `before`/`after` are omitted
9
+ * when there is no surrounding context (or it would be empty/whitespace).
10
+ */
11
+ export type ExcerptHtml = {
12
+ before?: string;
13
+ body: string;
14
+ after?: string;
15
+ };
4
16
  export declare function registerBetaSectionParser(fetchType: FetchType, parse: (body: unknown) => BetaSection): void;
5
17
  export declare abstract class BetaSection {
6
18
  abstract readonly fetchType: FetchType;
@@ -20,7 +32,7 @@ export declare abstract class BetaSection {
20
32
  * Renders an excerpt with nearby section context when its offsets still
21
33
  * match this section, otherwise falls back to the excerpt alone.
22
34
  */
23
- toExcerptHtml(excerpt: BetaSectionExcerpt): string;
35
+ toExcerptHtml(excerpt: BetaSectionExcerpt): ExcerptHtml;
24
36
  static fromResponseBody(body: unknown, fetchType?: FetchType): BetaSection;
25
37
  protected static assertNumber(obj: Record<string, unknown>, key: string): void;
26
38
  protected static assertString(obj: Record<string, unknown>, key: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"betaSection.d.ts","sourceRoot":"","sources":["../../../src/models/betaSections/betaSection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAatD,wBAAgB,yBAAyB,CACrC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,WAAW,GACtC,IAAI,CAEN;AAED,8BAAsB,WAAW;IAC7B,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,IAAI,CAAC;IACzB,mEAAmE;IACnE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAElB,SAAS,aACL,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,kBAAkB,EAAE,IAAI,EACxB,EAAE,GAAE,MAAM,GAAG,IAAW;IAS5B;;;OAGG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,kBAAkB;IAWtE;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM;IAwClD,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,WAAW;IA0B1E,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAS9E,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAS9E,SAAS,CAAC,MAAM,CAAC,uBAAuB,CACpC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,EAAE,MAAM,GACZ,IAAI;IAeP,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAClC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,SAAS,GAC7B,IAAI;IAcP,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAgB3C,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,EAAE,MAAM,EACX,iBAAiB,EAAE,SAAS,GAC7B,gBAAgB,EAAE;IAYrB,SAAS,CAAC,MAAM,CAAC,oBAAoB,CACjC,MAAM,EAAE,gBAAgB,EAAE,EAC1B,SAAS,EAAE,OAAO,GACnB,IAAI;CAeV"}
1
+ {"version":3,"file":"betaSection.d.ts","sourceRoot":"","sources":["../../../src/models/betaSections/betaSection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAUtD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAIF,wBAAgB,yBAAyB,CACrC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,WAAW,GACtC,IAAI,CAEN;AAED,8BAAsB,WAAW;IAC7B,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,IAAI,CAAC;IACzB,mEAAmE;IACnE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAElB,SAAS,aACL,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,kBAAkB,EAAE,IAAI,EACxB,EAAE,GAAE,MAAM,GAAG,IAAW;IAS5B;;;OAGG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,kBAAkB;IAWtE;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW;IA8CvD,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,WAAW;IA0B1E,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAS9E,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAS9E,SAAS,CAAC,MAAM,CAAC,uBAAuB,CACpC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,EAAE,MAAM,GACZ,IAAI;IAeP,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAClC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,SAAS,GAC7B,IAAI;IAcP,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAgB3C,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,EAAE,MAAM,EACX,iBAAiB,EAAE,SAAS,GAC7B,gBAAgB,EAAE;IAYrB,SAAS,CAAC,MAAM,CAAC,oBAAoB,CACjC,MAAM,EAAE,gBAAgB,EAAE,EAC1B,SAAS,EAAE,OAAO,GACnB,IAAI;CAeV"}
@@ -47,16 +47,31 @@ class BetaSection {
47
47
  (0, formatExcerptHtml_1.isSafeTextBoundary)(this.text, excerpt.start) &&
48
48
  (0, formatExcerptHtml_1.isSafeTextBoundary)(this.text, excerpt.end);
49
49
  if (!validOffsets)
50
- return excerpt.toHtml();
50
+ return { body: excerpt.toHtml() };
51
51
  const excerptStart = excerpt.start;
52
52
  const excerptEnd = excerpt.end;
53
53
  const characters = (0, formatExcerptHtml_1.visibleCharacters)(this.text);
54
54
  const structuredContext = (0, formatExcerptHtml_1.listContext)(this.text, excerptStart, excerptEnd, characters);
55
- const before = structuredContext?.before ??
56
- this.text.slice((0, formatExcerptHtml_1.previousSentenceStart)(this.text, excerptStart, characters), excerptStart);
57
- const after = structuredContext?.after ??
58
- this.text.slice(excerptEnd, (0, formatExcerptHtml_1.nextSentenceEnd)(this.text, excerptEnd, characters));
59
- return (0, normalizeExcerptHtml_1.normalizeExcerptListHtml)(`${(0, formatExcerptHtml_1.fadeText)(before, 'toward-end')}${excerpt.text}${(0, formatExcerptHtml_1.fadeText)(after, 'toward-start')}`);
55
+ const parts = structuredContext ?? {
56
+ before: this.text
57
+ .slice((0, formatExcerptHtml_1.previousSentenceStart)(this.text, excerptStart, characters), excerptStart)
58
+ .trim(),
59
+ body: excerpt.text,
60
+ after: this.text
61
+ .slice(excerptEnd, (0, formatExcerptHtml_1.nextSentenceEnd)(this.text, excerptEnd, characters))
62
+ .trim(),
63
+ };
64
+ // We have the source list here, so keep ordered lists ordered; their
65
+ // `start` ordinals are already aligned to the source by `listContext`.
66
+ const options = { preserveOrderedLists: true };
67
+ const result = { body: (0, normalizeExcerptHtml_1.normalizeExcerptListHtml)(parts.body, options) };
68
+ const before = (0, normalizeExcerptHtml_1.normalizeExcerptListHtml)(parts.before, options);
69
+ if (before.trim().length > 0)
70
+ result.before = before;
71
+ const after = (0, normalizeExcerptHtml_1.normalizeExcerptListHtml)(parts.after, options);
72
+ if (after.trim().length > 0)
73
+ result.after = after;
74
+ return result;
60
75
  }
61
76
  static fromResponseBody(body, fetchType) {
62
77
  if (body == null || typeof body !== 'object') {
@@ -7,10 +7,17 @@ export declare function visibleCharacters(html: string): VisibleCharacter[];
7
7
  export declare function isSafeTextBoundary(html: string, offset: number): boolean;
8
8
  export declare function previousSentenceStart(html: string, anchor: number, characters: VisibleCharacter[]): number;
9
9
  export declare function nextSentenceEnd(html: string, anchor: number, characters: VisibleCharacter[]): number;
10
+ /**
11
+ * When an excerpt is a run of list items, returns the excerpt and its adjacent
12
+ * context split into three independently well-formed HTML fragments. Each
13
+ * fragment stands on its own: the surrounding list items (or the sentence
14
+ * before/after the list) become complete lists/prose so they can be rendered as
15
+ * separate stacked blocks.
16
+ */
10
17
  export declare function listContext(html: string, excerptStart: number, excerptEnd: number, characters: VisibleCharacter[]): {
11
18
  before: string;
19
+ body: string;
12
20
  after: string;
13
21
  } | null;
14
- export declare function fadeText(html: string, direction: 'toward-end' | 'toward-start'): string;
15
22
  export {};
16
23
  //# sourceMappingURL=formatExcerptHtml.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatExcerptHtml.d.ts","sourceRoot":"","sources":["../../../src/models/betaSections/formatExcerptHtml.ts"],"names":[],"mappings":"AAAA,KAAK,gBAAgB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAsBzD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAuBlE;AAYD,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAsCxE;AAuCD,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,gBAAgB,EAAE,GAC/B,MAAM,CAkBR;AAED,wBAAgB,eAAe,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,gBAAgB,EAAE,GAC/B,MAAM,CAuBR;AAyCD,wBAAgB,WAAW,CACvB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,gBAAgB,EAAE,GAC/B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA0C1C;AAED,wBAAgB,QAAQ,CACpB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,YAAY,GAAG,cAAc,GACzC,MAAM,CA8BR"}
1
+ {"version":3,"file":"formatExcerptHtml.d.ts","sourceRoot":"","sources":["../../../src/models/betaSections/formatExcerptHtml.ts"],"names":[],"mappings":"AAAA,KAAK,gBAAgB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAsBzD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAuBlE;AAYD,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAsCxE;AAuCD,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,gBAAgB,EAAE,GAC/B,MAAM,CAkBR;AAED,wBAAgB,eAAe,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,gBAAgB,EAAE,GAC/B,MAAM,CAuBR;AAoED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACvB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,gBAAgB,EAAE,GAC/B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAwDxD"}
@@ -5,7 +5,6 @@ exports.isSafeTextBoundary = isSafeTextBoundary;
5
5
  exports.previousSentenceStart = previousSentenceStart;
6
6
  exports.nextSentenceEnd = nextSentenceEnd;
7
7
  exports.listContext = listContext;
8
- exports.fadeText = fadeText;
9
8
  const HEADER_TAG = /^<\s*(\/?)h[1-6]\b/i;
10
9
  const NON_TERMINAL_ABBREVIATIONS = new Set([
11
10
  'dr',
@@ -184,6 +183,33 @@ function findContainingList(html, excerptStart, excerptEnd) {
184
183
  }
185
184
  return (ranges.sort((a, b) => b.openStart - a.openStart || a.closeEnd - b.closeEnd)[0] ?? null);
186
185
  }
186
+ /** `ul` or `ol`, parsed from a list's opening tag. */
187
+ function listContainerTag(openTag) {
188
+ return /^<\s*ol\b/i.test(openTag) ? 'ol' : 'ul';
189
+ }
190
+ /** The 1-based ordinal an ordered list's first item renders as (`start`, default 1). */
191
+ function listStartIndex(openTag) {
192
+ const match = openTag.match(/\bstart\s*=\s*["']?\s*(-?\d+)/i);
193
+ const parsed = match != null ? Number.parseInt(match[1], 10) : Number.NaN;
194
+ return Number.isFinite(parsed) ? parsed : 1;
195
+ }
196
+ /**
197
+ * Wraps list items in a standalone `<ul>`/`<ol>`. Ordered lists carry a `start`
198
+ * attribute (whenever the first item is not ordinal 1) so numbering lines up
199
+ * with the source list even when the excerpt parts are rendered as separate
200
+ * blocks.
201
+ */
202
+ function wrapListItems(tag, itemsHtml, startOrdinal) {
203
+ const startAttr = tag === 'ol' && startOrdinal !== 1 ? ` start="${startOrdinal}"` : '';
204
+ return `<${tag}${startAttr}>${itemsHtml}</${tag}>`;
205
+ }
206
+ /**
207
+ * When an excerpt is a run of list items, returns the excerpt and its adjacent
208
+ * context split into three independently well-formed HTML fragments. Each
209
+ * fragment stands on its own: the surrounding list items (or the sentence
210
+ * before/after the list) become complete lists/prose so they can be rendered as
211
+ * separate stacked blocks.
212
+ */
187
213
  function listContext(html, excerptStart, excerptEnd, characters) {
188
214
  const excerpt = html.slice(excerptStart, excerptEnd).trim();
189
215
  if (!/^<li\b/i.test(excerpt) || !/<\/li\s*>$/i.test(excerpt)) {
@@ -192,6 +218,10 @@ function listContext(html, excerptStart, excerptEnd, characters) {
192
218
  const range = findContainingList(html, excerptStart, excerptEnd);
193
219
  if (range == null)
194
220
  return null;
221
+ const openTag = html.slice(range.openStart, range.openEnd);
222
+ const tag = listContainerTag(openTag);
223
+ // Ordinal of the list's first item so ordered excerpts line up with the source.
224
+ const baseOrdinal = tag === 'ol' ? listStartIndex(openTag) : 1;
195
225
  const listBody = html.slice(range.openEnd, range.closeStart);
196
226
  const items = [...listBody.matchAll(/<li\b[^>]*>[\s\S]*?<\/li\s*>/gi)].map((match) => ({
197
227
  start: range.openEnd + match.index,
@@ -199,40 +229,17 @@ function listContext(html, excerptStart, excerptEnd, characters) {
199
229
  }));
200
230
  const previous = items.filter(({ end }) => end <= excerptStart).at(-1);
201
231
  const next = items.find(({ start }) => start >= excerptEnd);
232
+ const firstBodyIndex = items.findIndex(({ start }) => start >= excerptStart);
233
+ const body = wrapListItems(tag, html.slice(excerptStart, excerptEnd), baseOrdinal + firstBodyIndex);
202
234
  const before = previous != null
203
- ? html.slice(range.openStart, range.openEnd) +
204
- html.slice(previous.start, previous.end)
205
- : html.slice(previousSentenceStart(html, range.openStart, characters), range.openEnd);
235
+ ? wrapListItems(tag, html.slice(previous.start, previous.end), baseOrdinal + items.indexOf(previous))
236
+ : html
237
+ .slice(previousSentenceStart(html, range.openStart, characters), range.openStart)
238
+ .trim();
206
239
  const after = next != null
207
- ? html.slice(next.start, next.end) +
208
- html.slice(range.closeStart, range.closeEnd)
209
- : html.slice(range.closeStart, nextSentenceEnd(html, range.closeEnd, characters));
210
- return { before, after };
211
- }
212
- function fadeText(html, direction) {
213
- const parts = html.split(/(<[^>]+>)/g);
214
- const wordCount = parts.reduce((count, part) => part.startsWith('<')
215
- ? count
216
- : count + (part.match(/\S+/g)?.length ?? 0), 0);
217
- if (wordCount === 0)
218
- return html;
219
- let wordIndex = 0;
220
- return parts
221
- .map((part) => {
222
- if (part.startsWith('<'))
223
- return part;
224
- return part
225
- .split(/(\s+)/)
226
- .map((token) => {
227
- if (token.length === 0 || /^\s+$/.test(token))
228
- return token;
229
- const progress = wordCount === 1 ? 1 : wordIndex / (wordCount - 1);
230
- const proximity = direction === 'toward-end' ? progress : 1 - progress;
231
- const opacity = (0.3 + proximity * 0.4).toFixed(2);
232
- wordIndex += 1;
233
- return `<span style="opacity: ${opacity}">${token}</span>`;
234
- })
235
- .join('');
236
- })
237
- .join('');
240
+ ? wrapListItems(tag, html.slice(next.start, next.end), baseOrdinal + items.indexOf(next))
241
+ : html
242
+ .slice(range.closeEnd, nextSentenceEnd(html, range.closeEnd, characters))
243
+ .trim();
244
+ return { before, body, after };
238
245
  }
@@ -1,6 +1,15 @@
1
+ export type NormalizeExcerptListOptions = {
2
+ /**
3
+ * When true, an unpaired closing `</ol>` is repaired by prepending an
4
+ * opening `<ol>` (preserving the ordered list). When false (the default,
5
+ * used for excerpt-only text with no known source order), it is converted
6
+ * to `</ul>` and an opening `<ul>` is prepended instead.
7
+ */
8
+ preserveOrderedLists?: boolean;
9
+ };
1
10
  /**
2
11
  * Repairs the list fragments Ropewiki excerpts commonly produce without
3
- * otherwise rewriting the source HTML.
12
+ * otherwise rewriting the source HTML, so the result is well-formed on its own.
4
13
  */
5
- export declare function normalizeExcerptListHtml(html: string): string;
14
+ export declare function normalizeExcerptListHtml(html: string, { preserveOrderedLists }?: NormalizeExcerptListOptions): string;
6
15
  //# sourceMappingURL=normalizeExcerptHtml.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeExcerptHtml.d.ts","sourceRoot":"","sources":["../../../src/models/betaSections/normalizeExcerptHtml.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgC7D"}
1
+ {"version":3,"file":"normalizeExcerptHtml.d.ts","sourceRoot":"","sources":["../../../src/models/betaSections/normalizeExcerptHtml.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,2BAA2B,GAAG;IACtC;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,wBAAwB,CACpC,IAAI,EAAE,MAAM,EACZ,EAAE,oBAA4B,EAAE,GAAE,2BAAgC,GACnE,MAAM,CA+BR"}
@@ -6,18 +6,17 @@ function countTags(html, pattern) {
6
6
  }
7
7
  /**
8
8
  * Repairs the list fragments Ropewiki excerpts commonly produce without
9
- * otherwise rewriting the source HTML.
9
+ * otherwise rewriting the source HTML, so the result is well-formed on its own.
10
10
  */
11
- function normalizeExcerptListHtml(html) {
11
+ function normalizeExcerptListHtml(html, { preserveOrderedLists = false } = {}) {
12
12
  if (html.length === 0)
13
13
  return html;
14
14
  let normalized = html;
15
- let olOpenCount = countTags(normalized, /<ol\b[^>]*>/gi);
16
- let olCloseCount = countTags(normalized, /<\/ol\s*>/gi);
17
- if (olOpenCount === 0 && olCloseCount > 0) {
15
+ const olOpenCount = countTags(normalized, /<ol\b[^>]*>/gi);
16
+ const olCloseCount = countTags(normalized, /<\/ol\s*>/gi);
17
+ if (!preserveOrderedLists && olOpenCount === 0 && olCloseCount > 0) {
18
18
  normalized = normalized.replace(/<\/ol\s*>/gi, '</ul>');
19
19
  normalized = '<ul>'.repeat(olCloseCount) + normalized;
20
- olCloseCount = 0;
21
20
  }
22
21
  else if (olOpenCount > olCloseCount) {
23
22
  normalized += '</ol>'.repeat(olOpenCount - olCloseCount);
@@ -55,7 +55,7 @@ export { BetaSectionImage } from './betaSections/betaSectionImage';
55
55
  export { OnlineBetaSectionImage } from './betaSections/onlineBetaSectionImage';
56
56
  export { OfflineBetaSectionImage } from './betaSections/offlineBetaSectionImage';
57
57
  export { DownloadBytes } from './betaSections/downloadBytes';
58
- export { BetaSection } from './betaSections/betaSection';
58
+ export { BetaSection, type ExcerptHtml } from './betaSections/betaSection';
59
59
  export { BetaSectionExcerpt } from './betaSections/betaSectionExcerpt';
60
60
  export { OnlineBetaSection } from './betaSections/onlineBetaSection';
61
61
  export { OfflineBetaSection } from './betaSections/offlineBetaSection';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,wCAAwC,CAAC;AAChD,OAAO,8CAA8C,CAAC;AACtD,OAAO,kDAAkD,CAAC;AAC1D,OAAO,8CAA8C,CAAC;AACtD,OAAO,2CAA2C,CAAC;AACnD,OAAO,mCAAmC,CAAC;AAC3C,OAAO,kCAAkC,CAAC;AAC1C,OAAO,qCAAqC,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACH,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,iCAAiC,GACpC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,GACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,4CAA4C;AAC5C,OAAO,EAAE,qBAAqB,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,wCAAwC;AACxC,OAAO,EAAE,iBAAiB,IAAI,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClF,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAChF,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAChF,6CAA6C;AAC7C,OAAO,EAAE,sBAAsB,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACzF,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,IAAI,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC/E,0CAA0C;AAC1C,OAAO,EAAE,mBAAmB,IAAI,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACxF,4CAA4C;AAC5C,OAAO,EAAE,qBAAqB,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACzF,wCAAwC;AACxC,OAAO,EAAE,iBAAiB,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjF,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC/E,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EACH,gBAAgB,EAChB,KAAK,2BAA2B,EAChC,sCAAsC,EACtC,mCAAmC,EACnC,wBAAwB,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,UAAU,EACV,UAAU,GACb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACH,uBAAuB,EACvB,qCAAqC,GACxC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACH,0BAA0B,EAC1B,eAAe,EACf,WAAW,EACX,UAAU,EACV,UAAU,GACb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACtG,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,YAAY,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,YAAY,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,YAAY,EACR,cAAc,EACd,uBAAuB,EACvB,4BAA4B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACR,eAAe,EACf,wBAAwB,EACxB,6BAA6B,GAChC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACrF,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AAClF,YAAY,EACR,cAAc,EACd,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,uBAAuB,GAC1B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACvF,YAAY,EACR,cAAc,EACd,mBAAmB,EACnB,qBAAqB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,MAAM,MAAM,iBAAiB,GAAG,OAAO,iCAAiC,EAAE,gBAAgB,CAAC;AAC3F,MAAM,MAAM,uBAAuB,GAAG,OAAO,4BAA4B,EAAE,WAAW,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EACH,uBAAuB,EACvB,KAAK,iCAAiC,EACtC,0BAA0B,EAC1B,8BAA8B,GACjC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACH,iBAAiB,EACjB,KAAK,2BAA2B,EAChC,oBAAoB,EACpB,wBAAwB,GAC3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,YAAY,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EACH,SAAS,EACT,uBAAuB,EACvB,qCAAqC,EACrC,KAAK,oBAAoB,EACzB,KAAK,iCAAiC,GACzC,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ropegeo-common",
3
- "version": "1.23.0",
3
+ "version": "1.24.1",
4
4
  "description": "Shared domain models and helpers for RopeGeo and WebScraper",
5
5
  "license": "ISC",
6
6
  "repository": {