@iwonz/ywtc 3.5.0 → 4.0.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 +31 -0
- package/README.md +14 -11
- package/dist/adapters/confluence.d.ts +0 -2
- package/dist/adapters/confluence.js +42 -23
- package/dist/adapters/confluence.js.map +1 -1
- package/dist/adapters/yandex.d.ts +0 -1
- package/dist/adapters/yandex.js +1 -6
- package/dist/adapters/yandex.js.map +1 -1
- package/dist/clients/confluence-cloud.d.ts +1 -0
- package/dist/clients/confluence-cloud.js +2 -2
- package/dist/clients/confluence-cloud.js.map +1 -1
- package/dist/clients/confluence.d.ts +1 -0
- package/dist/clients/confluence.js +4 -3
- package/dist/clients/confluence.js.map +1 -1
- package/dist/content-model.js +315 -24
- package/dist/content-model.js.map +1 -1
- package/dist/conversion.js +46 -10
- package/dist/conversion.js.map +1 -1
- package/dist/domain.d.ts +12 -3
- package/dist/domain.js +10 -0
- package/dist/domain.js.map +1 -1
- package/dist/filesystem-export.js +1 -1
- package/dist/filesystem-export.js.map +1 -1
- package/dist/layout.d.ts +18 -0
- package/dist/layout.js +134 -0
- package/dist/layout.js.map +1 -0
- package/dist/migrator.js +170 -59
- package/dist/migrator.js.map +1 -1
- package/dist/report-ui/index.html +6 -6
- package/dist/report.js +1 -1
- package/dist/report.js.map +1 -1
- package/dist/state.d.ts +2 -0
- package/dist/state.js +2 -0
- package/dist/state.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/package.json +1 -1
|
@@ -208,8 +208,9 @@ export class DataCenterConfluenceClient {
|
|
|
208
208
|
}
|
|
209
209
|
async updatePage(input) {
|
|
210
210
|
return this.writeLimit(async () => {
|
|
211
|
-
const current = await this.getPage(input.pageId);
|
|
212
|
-
|
|
211
|
+
const current = input.version ? undefined : await this.getPage(input.pageId);
|
|
212
|
+
const version = input.version ?? current?.version?.number;
|
|
213
|
+
if (!version)
|
|
213
214
|
throw new Error(`Confluence page ${input.pageId} has no version information`);
|
|
214
215
|
const response = await this.http.request({
|
|
215
216
|
method: 'PUT',
|
|
@@ -220,7 +221,7 @@ export class DataCenterConfluenceClient {
|
|
|
220
221
|
type: 'page',
|
|
221
222
|
title: input.title,
|
|
222
223
|
version: {
|
|
223
|
-
number:
|
|
224
|
+
number: version + 1,
|
|
224
225
|
minorEdit: true,
|
|
225
226
|
message: 'Transferred by ywtc',
|
|
226
227
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confluence.js","sourceRoot":"","sources":["../../src/clients/confluence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"confluence.js","sourceRoot":"","sources":["../../src/clients/confluence.ts"],"names":[],"mappings":"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"}
|
package/dist/content-model.js
CHANGED
|
@@ -12,6 +12,7 @@ import remarkStringify from 'remark-stringify';
|
|
|
12
12
|
import { unified } from 'unified';
|
|
13
13
|
import { convertYfmToStorage } from './conversion.js';
|
|
14
14
|
import { normalizeWikiSlug, resolveRelativeWikiSlug } from './input.js';
|
|
15
|
+
import { hasYfmLayouts, parseYfmDocumentSegments } from './layout.js';
|
|
15
16
|
const linkifier = new LinkifyIt();
|
|
16
17
|
function sha256(value) {
|
|
17
18
|
return createHash('sha256').update(value).digest('hex');
|
|
@@ -201,31 +202,76 @@ export function extractPageReferences(content, format) {
|
|
|
201
202
|
}
|
|
202
203
|
return uniqueReferences(references);
|
|
203
204
|
}
|
|
205
|
+
const confluenceLayoutCellCounts = new Map([
|
|
206
|
+
['single', 1],
|
|
207
|
+
['two_equal', 2],
|
|
208
|
+
['two_left_sidebar', 2],
|
|
209
|
+
['two_right_sidebar', 2],
|
|
210
|
+
['three_equal', 3],
|
|
211
|
+
['three_with_sidebars', 3],
|
|
212
|
+
]);
|
|
204
213
|
function storageToSemanticHtml(storage, warnings) {
|
|
205
214
|
const $ = load(`<main data-ywtc-root>${storage}</main>`, { xmlMode: false }, false);
|
|
206
215
|
$('script, iframe, object, embed, form').each((_index, element) => {
|
|
207
216
|
warnings.push(`Active or embedded element <${element.tagName}> was replaced by a safe fallback`);
|
|
208
217
|
$(element).replaceWith(`<pre data-ywtc-fallback>${escapeHtml($.html(element))}</pre>`);
|
|
209
218
|
});
|
|
219
|
+
$('ac\\:layout').toArray().reverse().forEach((element) => {
|
|
220
|
+
const layout = $(element);
|
|
221
|
+
if (layout.parents('ac\\:layout').length > 0)
|
|
222
|
+
warnings.push('Nested Confluence layout was preserved as a readable layout fallback');
|
|
223
|
+
const sections = layout.children('ac\\:layout-section').toArray().map((section) => {
|
|
224
|
+
const item = $(section);
|
|
225
|
+
const requestedType = item.attr('ac:type') ?? 'unsupported';
|
|
226
|
+
const expectedCells = confluenceLayoutCellCounts.get(requestedType);
|
|
227
|
+
const cells = item.children('ac\\:layout-cell').toArray();
|
|
228
|
+
const sectionType = expectedCells === cells.length ? requestedType : 'unsupported';
|
|
229
|
+
if (sectionType === 'unsupported') {
|
|
230
|
+
warnings.push(`Confluence layout section "${requestedType}" with ${cells.length} cells was preserved as an unsupported-width layout fallback`);
|
|
231
|
+
}
|
|
232
|
+
const body = cells.map((cell) => `<div class="ywtc-layout-cell">${$(cell).html() ?? ''}</div>`).join('');
|
|
233
|
+
return `<section class="ywtc-layout-section ywtc-layout-${escapeHtml(sectionType)} ywtc-layout-columns-${cells.length}" data-ywtc-layout-type="${escapeHtml(sectionType)}">${body}</section>`;
|
|
234
|
+
}).join('');
|
|
235
|
+
layout.replaceWith(`<section class="ywtc-layout" data-ywtc-layout-source="confluence">${sections}</section>`);
|
|
236
|
+
});
|
|
210
237
|
$('ac\\:structured-macro').toArray().reverse().forEach((element) => {
|
|
211
238
|
const macro = $(element);
|
|
212
239
|
const name = macro.attr('ac:name') ?? 'unknown';
|
|
213
240
|
const richBody = macro.children('ac\\:rich-text-body').html() ?? '';
|
|
214
241
|
const plainBody = macro.children('ac\\:plain-text-body').text();
|
|
215
|
-
const
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
macro.replaceWith(`<
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
242
|
+
const parameters = new Map(macro.children('ac\\:parameter').toArray().map((item) => [$(item).attr('ac:name') ?? '', $(item).text().trim()]));
|
|
243
|
+
const title = parameters.get('title') ?? '';
|
|
244
|
+
if (name === 'code') {
|
|
245
|
+
const language = parameters.get('language');
|
|
246
|
+
macro.replaceWith(`<pre><code${language ? ` class="language-${escapeHtml(language)}"` : ''}>${escapeHtml(plainBody)}</code></pre>`);
|
|
247
|
+
}
|
|
248
|
+
else if (name === 'expand') {
|
|
249
|
+
macro.replaceWith(`<details class="ywtc-expand" data-ywtc-title="${escapeHtml(title || 'Details')}" open><summary>${escapeHtml(title || 'Details')}</summary>${richBody}</details>`);
|
|
250
|
+
}
|
|
251
|
+
else if (['info', 'tip', 'warning', 'note'].includes(name)) {
|
|
252
|
+
macro.replaceWith(`<aside class="ywtc-note ywtc-${name}" data-ywtc-note-type="${name}" data-ywtc-title="${escapeHtml(title)}">${richBody}</aside>`);
|
|
253
|
+
}
|
|
254
|
+
else if (name === 'anchor') {
|
|
255
|
+
macro.replaceWith(`<span class="ywtc-anchor" id="${escapeHtml(macro.children('ac\\:parameter').first().text())}"></span>`);
|
|
256
|
+
}
|
|
257
|
+
else if (name === 'children' && !parameters.get('page')) {
|
|
258
|
+
const depth = Number(parameters.get('depth'));
|
|
259
|
+
macro.replaceWith(`<nav class="ywtc-children" data-ywtc-depth="${Number.isInteger(depth) && depth > 0 ? depth : ''}" data-ywtc-sort="${escapeHtml(parameters.get('sort') ?? '')}" data-ywtc-reverse="${parameters.get('reverse') === 'true' ? 'true' : 'false'}"></nav>`);
|
|
260
|
+
}
|
|
224
261
|
else {
|
|
225
262
|
warnings.push(`Confluence macro "${name}" was converted to a static fallback`);
|
|
226
263
|
macro.replaceWith(`<aside class="ywtc-fallback"><strong>${escapeHtml(name)}</strong>${richBody || `<pre>${escapeHtml(plainBody)}</pre>`}</aside>`);
|
|
227
264
|
}
|
|
228
265
|
});
|
|
266
|
+
$('ac\\:task-list').toArray().reverse().forEach((element) => {
|
|
267
|
+
const tasks = $(element).children('ac\\:task').toArray().map((task) => {
|
|
268
|
+
const item = $(task);
|
|
269
|
+
const status = item.children('ac\\:task-status').text().trim() === 'complete' ? 'complete' : 'incomplete';
|
|
270
|
+
const body = item.children('ac\\:task-body').html() ?? '';
|
|
271
|
+
return `<li class="ywtc-task" data-ywtc-task-status="${status}">${body}</li>`;
|
|
272
|
+
}).join('');
|
|
273
|
+
$(element).replaceWith(`<ul class="ywtc-task-list">${tasks}</ul>`);
|
|
274
|
+
});
|
|
229
275
|
$('ac\\:image').each((_index, element) => {
|
|
230
276
|
const image = $(element);
|
|
231
277
|
const attachment = image.children('ri\\:attachment').attr('ri:filename');
|
|
@@ -319,7 +365,7 @@ function extractTreeDirectives(content) {
|
|
|
319
365
|
function containsEmptyYfmHeading(content) {
|
|
320
366
|
return /^\s{0,3}#{1,6}\s*$/m.test(content);
|
|
321
367
|
}
|
|
322
|
-
function
|
|
368
|
+
function yfmFragmentToHtml(content, warnings, normalizations) {
|
|
323
369
|
try {
|
|
324
370
|
const result = transform(content || '', {
|
|
325
371
|
allowHTML: true,
|
|
@@ -361,10 +407,65 @@ function yfmToHtml(content, warnings, normalizations = []) {
|
|
|
361
407
|
return `<pre data-ywtc-fallback><code>${escapeHtml(content)}</code></pre>`;
|
|
362
408
|
}
|
|
363
409
|
}
|
|
410
|
+
function yfmToHtml(content, warnings, normalizations = []) {
|
|
411
|
+
const segments = parseYfmDocumentSegments(content);
|
|
412
|
+
if (!hasYfmLayouts(segments))
|
|
413
|
+
return yfmFragmentToHtml(content, warnings, normalizations);
|
|
414
|
+
return segments.map((segment) => {
|
|
415
|
+
if (segment.type === 'content') {
|
|
416
|
+
return segment.raw.trim() ? yfmFragmentToHtml(segment.raw, warnings, normalizations) : '';
|
|
417
|
+
}
|
|
418
|
+
const gap = segment.gap?.replace(/[^a-z0-9_-]/gi, '') || 'default';
|
|
419
|
+
const cells = segment.cells.map((cell) => `<div class="ywtc-layout-cell">${yfmFragmentToHtml(cell, warnings, normalizations)}</div>`).join('');
|
|
420
|
+
return `<section class="ywtc-layout" data-ywtc-layout-source="yandex-wiki"><section class="ywtc-layout-section ywtc-layout-columns-${segment.cells.length} ywtc-layout-gap-${gap}" data-ywtc-layout-type="${segment.cells.length === 1 ? 'single' : segment.cells.length === 2 ? 'two_equal' : segment.cells.length === 3 ? 'three_equal' : 'unsupported'}">${cells}</section></section>`;
|
|
421
|
+
}).join('');
|
|
422
|
+
}
|
|
364
423
|
function metrics(html) {
|
|
365
424
|
const $ = load(html, null, false);
|
|
366
425
|
return { links: $('a').length, images: $('img').length, tables: $('table').length, codeBlocks: $('pre').length };
|
|
367
426
|
}
|
|
427
|
+
function normalizedNodesFromHtml(html, provider) {
|
|
428
|
+
const $ = load(`<main data-ywtc-nodes>${html}</main>`, null, false);
|
|
429
|
+
const nodes = [];
|
|
430
|
+
let pending = '';
|
|
431
|
+
const flush = () => {
|
|
432
|
+
if (!pending)
|
|
433
|
+
return;
|
|
434
|
+
nodes.push({ type: 'html', value: pending });
|
|
435
|
+
pending = '';
|
|
436
|
+
};
|
|
437
|
+
for (const element of $('main[data-ywtc-nodes]').contents().toArray()) {
|
|
438
|
+
const item = $(element);
|
|
439
|
+
if (!item.is('section.ywtc-layout')) {
|
|
440
|
+
pending += $.html(element);
|
|
441
|
+
continue;
|
|
442
|
+
}
|
|
443
|
+
flush();
|
|
444
|
+
const sections = item.children('section.ywtc-layout-section').toArray().map((section) => {
|
|
445
|
+
const sectionItem = $(section);
|
|
446
|
+
const rawType = sectionItem.attr('data-ywtc-layout-type') ?? 'unsupported';
|
|
447
|
+
const sectionType = confluenceLayoutCellCounts.has(rawType) || rawType === 'unsupported'
|
|
448
|
+
? rawType
|
|
449
|
+
: 'unsupported';
|
|
450
|
+
const gap = String(sectionItem.attr('class') ?? '').split(/\s+/).find((value) => value.startsWith('ywtc-layout-gap-'))?.slice('ywtc-layout-gap-'.length);
|
|
451
|
+
const cells = sectionItem.children('.ywtc-layout-cell').toArray().map((cell) => ({
|
|
452
|
+
type: 'layout-cell',
|
|
453
|
+
children: [{ type: 'html', value: $(cell).html() ?? '' }],
|
|
454
|
+
}));
|
|
455
|
+
return { type: 'layout-section', layout: { source: provider, sectionType, ...(gap ? { gap } : {}) }, children: cells };
|
|
456
|
+
});
|
|
457
|
+
nodes.push({ type: 'layout', layout: { source: provider }, children: sections });
|
|
458
|
+
}
|
|
459
|
+
flush();
|
|
460
|
+
return nodes.length > 0 ? nodes : [{ type: 'html', value: '<p></p>' }];
|
|
461
|
+
}
|
|
462
|
+
function semanticallyEmptyHtml(html) {
|
|
463
|
+
const $ = load(html, null, false);
|
|
464
|
+
$('script,style').remove();
|
|
465
|
+
if (semanticText($.root().text()))
|
|
466
|
+
return false;
|
|
467
|
+
return $('a[href],a[name],[id],img,video,audio,table,pre,code,hr,blockquote,ul,ol,.ywtc-note,.ywtc-expand,.ywtc-children,.ywtc-task-list,.ywtc-fallback').length === 0;
|
|
468
|
+
}
|
|
368
469
|
export function normalizePageContent(page) {
|
|
369
470
|
const warnings = [];
|
|
370
471
|
const normalizations = [];
|
|
@@ -378,7 +479,7 @@ export function normalizePageContent(page) {
|
|
|
378
479
|
label: reference.pageTitle ?? reference.href ?? reference.raw,
|
|
379
480
|
...(reference.anchor ? { anchor: reference.anchor } : {}),
|
|
380
481
|
}));
|
|
381
|
-
const children =
|
|
482
|
+
const children = normalizedNodesFromHtml(html, page.provider);
|
|
382
483
|
children.push(...tree.directives.map((directive) => ({
|
|
383
484
|
type: 'tree-directive',
|
|
384
485
|
value: directive.raw,
|
|
@@ -398,6 +499,7 @@ export function normalizePageContent(page) {
|
|
|
398
499
|
warnings,
|
|
399
500
|
normalizations,
|
|
400
501
|
degraded: warnings.length > 0,
|
|
502
|
+
semanticallyEmpty: tree.directives.length === 0 && semanticallyEmptyHtml(html),
|
|
401
503
|
metrics: metrics(html),
|
|
402
504
|
};
|
|
403
505
|
}
|
|
@@ -429,10 +531,13 @@ export function appendGridSnapshots(document, resources) {
|
|
|
429
531
|
const htmlNode = document.root.children?.find((node) => node.type === 'html');
|
|
430
532
|
if (htmlNode)
|
|
431
533
|
htmlNode.value = `${htmlNode.value ?? ''}${html}`;
|
|
534
|
+
else
|
|
535
|
+
document.root.children?.push({ type: 'html', value: html });
|
|
432
536
|
return {
|
|
433
537
|
...document,
|
|
434
538
|
warnings: [...document.warnings, ...grids.map((resource) => `Dynamic table "${resource.name}" was converted to a static table`)],
|
|
435
539
|
degraded: true,
|
|
540
|
+
semanticallyEmpty: false,
|
|
436
541
|
metrics: { ...document.metrics, tables: document.metrics.tables + grids.length },
|
|
437
542
|
};
|
|
438
543
|
}
|
|
@@ -445,20 +550,138 @@ async function htmlToMarkdown(html) {
|
|
|
445
550
|
.process(html);
|
|
446
551
|
return `${String(result).trimEnd()}\n`;
|
|
447
552
|
}
|
|
553
|
+
function linearizeLayoutsForMarkdown(html) {
|
|
554
|
+
const $ = load(html, null, false);
|
|
555
|
+
let layouts = 0;
|
|
556
|
+
$('section.ywtc-layout').toArray().reverse().forEach((layout) => {
|
|
557
|
+
const sourceSections = $(layout).children('section.ywtc-layout-section').toArray();
|
|
558
|
+
if (sourceSections.some((section) => $(section).children('.ywtc-layout-cell').length > 1))
|
|
559
|
+
layouts += 1;
|
|
560
|
+
const sections = sourceSections.map((section) => {
|
|
561
|
+
const cells = $(section).children('.ywtc-layout-cell').toArray();
|
|
562
|
+
if (cells.length <= 1)
|
|
563
|
+
return cells.map((cell) => $(cell).html() ?? '').join('');
|
|
564
|
+
return cells.map((cell, index) => `<section class="ywtc-layout-linear-cell"><h3>Column ${index + 1}</h3>${$(cell).html() ?? ''}</section>`).join('');
|
|
565
|
+
}).join('');
|
|
566
|
+
$(layout).replaceWith(sections);
|
|
567
|
+
});
|
|
568
|
+
return { html: $.html(), layouts };
|
|
569
|
+
}
|
|
570
|
+
async function semanticHtmlToYfm(html) {
|
|
571
|
+
const warnings = new Set();
|
|
572
|
+
let tokenSequence = 0;
|
|
573
|
+
const convert = async (fragment) => {
|
|
574
|
+
const $ = load(fragment, null, false);
|
|
575
|
+
const tokens = new Map();
|
|
576
|
+
const selector = 'section.ywtc-layout,details.ywtc-expand,aside.ywtc-note,nav.ywtc-children,ul.ywtc-task-list,span.ywtc-anchor';
|
|
577
|
+
const elements = $(selector).filter((_index, element) => $(element).parents(selector).length === 0).toArray().reverse();
|
|
578
|
+
for (const element of elements) {
|
|
579
|
+
const item = $(element);
|
|
580
|
+
let rendered = '';
|
|
581
|
+
if (item.is('section.ywtc-layout')) {
|
|
582
|
+
const sections = [];
|
|
583
|
+
for (const section of item.children('section.ywtc-layout-section').toArray()) {
|
|
584
|
+
const sectionItem = $(section);
|
|
585
|
+
const sectionType = sectionItem.attr('data-ywtc-layout-type') ?? 'unsupported';
|
|
586
|
+
if (['two_left_sidebar', 'two_right_sidebar', 'three_with_sidebars', 'unsupported'].includes(sectionType)) {
|
|
587
|
+
warnings.add(`Confluence ${sectionType} layout widths were converted to equal YFM columns`);
|
|
588
|
+
}
|
|
589
|
+
const blocks = [];
|
|
590
|
+
for (const cell of sectionItem.children('.ywtc-layout-cell').toArray()) {
|
|
591
|
+
const body = (await convert($(cell).html() ?? '')).trim();
|
|
592
|
+
blocks.push(`{% block %}\n\n${body}\n\n{% endblock %}`);
|
|
593
|
+
}
|
|
594
|
+
sections.push(`{% layout %}\n\n${blocks.join('\n\n')}\n\n{% endlayout %}`);
|
|
595
|
+
}
|
|
596
|
+
rendered = sections.join('\n\n');
|
|
597
|
+
}
|
|
598
|
+
else if (item.is('details.ywtc-expand')) {
|
|
599
|
+
const title = item.attr('data-ywtc-title') ?? (item.children('summary').first().text().trim() || 'Details');
|
|
600
|
+
const clone = item.clone();
|
|
601
|
+
clone.children('summary').first().remove();
|
|
602
|
+
rendered = `{% cut "${title.replaceAll('"', '\\"')}" %}\n\n${(await convert(clone.html() ?? '')).trim()}\n\n{% endcut %}`;
|
|
603
|
+
}
|
|
604
|
+
else if (item.is('aside.ywtc-note')) {
|
|
605
|
+
const rawType = item.attr('data-ywtc-note-type') ?? 'info';
|
|
606
|
+
const type = rawType === 'note' ? 'info' : rawType;
|
|
607
|
+
const title = item.attr('data-ywtc-title')?.trim();
|
|
608
|
+
rendered = `{% note ${type}${title ? ` "${title.replaceAll('"', '\\"')}"` : ''} %}\n\n${(await convert(item.html() ?? '')).trim()}\n\n{% endnote %}`;
|
|
609
|
+
}
|
|
610
|
+
else if (item.is('nav.ywtc-children')) {
|
|
611
|
+
const depth = item.attr('data-ywtc-depth');
|
|
612
|
+
const sort = item.attr('data-ywtc-sort');
|
|
613
|
+
const reverse = item.attr('data-ywtc-reverse') === 'true';
|
|
614
|
+
const attributes = [
|
|
615
|
+
depth ? `depth="${depth}"` : '',
|
|
616
|
+
sort === 'title' ? 'sort_by="title"' : '',
|
|
617
|
+
sort === 'title' ? `sort="${reverse ? 'desc' : 'asc'}"` : '',
|
|
618
|
+
].filter(Boolean).join(' ');
|
|
619
|
+
rendered = `{% tree${attributes ? ` ${attributes}` : ''} %}`;
|
|
620
|
+
}
|
|
621
|
+
else if (item.is('ul.ywtc-task-list')) {
|
|
622
|
+
const tasks = [];
|
|
623
|
+
for (const task of item.children('li.ywtc-task').toArray()) {
|
|
624
|
+
const marker = $(task).attr('data-ywtc-task-status') === 'complete' ? 'x' : ' ';
|
|
625
|
+
const body = (await convert($(task).html() ?? '')).trim().replace(/\n/g, '\n ');
|
|
626
|
+
tasks.push(`- [${marker}] ${body}`);
|
|
627
|
+
}
|
|
628
|
+
rendered = tasks.join('\n');
|
|
629
|
+
}
|
|
630
|
+
else if (item.is('span.ywtc-anchor')) {
|
|
631
|
+
const id = item.attr('id');
|
|
632
|
+
rendered = id ? `<a id="${escapeHtml(id)}"></a>` : '';
|
|
633
|
+
}
|
|
634
|
+
const token = `YWTCBLOCKTOKEN${tokenSequence++}END`;
|
|
635
|
+
tokens.set(token, rendered);
|
|
636
|
+
item.replaceWith(`<p>${token}</p>`);
|
|
637
|
+
}
|
|
638
|
+
let markdown = await htmlToMarkdown($.html());
|
|
639
|
+
for (const [token, rendered] of tokens)
|
|
640
|
+
markdown = markdown.replaceAll(token, rendered);
|
|
641
|
+
return markdown.trim();
|
|
642
|
+
};
|
|
643
|
+
return { body: `${await convert(html)}\n`, warnings: [...warnings] };
|
|
644
|
+
}
|
|
448
645
|
async function sanitizeHtml(html) {
|
|
646
|
+
const parsed = load(html, null, false);
|
|
647
|
+
parsed('[class]').each((_index, element) => {
|
|
648
|
+
const safeClasses = String(parsed(element).attr('class') ?? '').split(/\s+/).filter((value) => /^ywtc-[\w-]+$/.test(value));
|
|
649
|
+
if (safeClasses.length > 0)
|
|
650
|
+
parsed(element).attr('class', safeClasses.join(' '));
|
|
651
|
+
else
|
|
652
|
+
parsed(element).removeAttr('class');
|
|
653
|
+
});
|
|
449
654
|
const schema = {
|
|
450
655
|
...defaultSchema,
|
|
451
656
|
tagNames: [...(defaultSchema.tagNames ?? []), 'aside', 'details', 'summary'],
|
|
452
657
|
attributes: {
|
|
453
658
|
...defaultSchema.attributes,
|
|
454
|
-
'*': [...(defaultSchema.attributes?.['*'] ?? []),
|
|
659
|
+
'*': [...(defaultSchema.attributes?.['*'] ?? []), 'className'],
|
|
660
|
+
section: [...(defaultSchema.attributes?.section ?? []).filter((attribute) => !(Array.isArray(attribute) && attribute[0] === 'className')), 'className'],
|
|
455
661
|
},
|
|
456
662
|
};
|
|
457
|
-
const result = await unified().use(rehypeParse, { fragment: true }).use(rehypeSanitize, schema).use(rehypeStringify).process(html);
|
|
663
|
+
const result = await unified().use(rehypeParse, { fragment: true }).use(rehypeSanitize, schema).use(rehypeStringify).process(parsed.html());
|
|
458
664
|
return String(result);
|
|
459
665
|
}
|
|
666
|
+
function normalizedNodeHtml(node) {
|
|
667
|
+
if (node.type === 'html')
|
|
668
|
+
return node.value ?? '';
|
|
669
|
+
if (node.type === 'layout-cell')
|
|
670
|
+
return `<div class="ywtc-layout-cell">${(node.children ?? []).map(normalizedNodeHtml).join('')}</div>`;
|
|
671
|
+
if (node.type === 'layout-section') {
|
|
672
|
+
const cells = node.children ?? [];
|
|
673
|
+
const type = node.layout?.sectionType ?? 'unsupported';
|
|
674
|
+
const gap = node.layout?.gap ? ` ywtc-layout-gap-${node.layout.gap.replace(/[^a-z0-9_-]/gi, '')}` : '';
|
|
675
|
+
return `<section class="ywtc-layout-section ywtc-layout-${type} ywtc-layout-columns-${cells.length}${gap}" data-ywtc-layout-type="${type}">${cells.map(normalizedNodeHtml).join('')}</section>`;
|
|
676
|
+
}
|
|
677
|
+
if (node.type === 'layout') {
|
|
678
|
+
return `<section class="ywtc-layout" data-ywtc-layout-source="${node.layout?.source ?? 'yandex-wiki'}">${(node.children ?? []).map(normalizedNodeHtml).join('')}</section>`;
|
|
679
|
+
}
|
|
680
|
+
return '';
|
|
681
|
+
}
|
|
460
682
|
function htmlFromDocument(document) {
|
|
461
|
-
|
|
683
|
+
const html = document.root.children?.map(normalizedNodeHtml).join('') ?? '';
|
|
684
|
+
return html || '<p></p>';
|
|
462
685
|
}
|
|
463
686
|
export function normalizedPreviewHtml(document) {
|
|
464
687
|
return htmlFromDocument(document);
|
|
@@ -526,7 +749,7 @@ function semanticContent(body, provider) {
|
|
|
526
749
|
$('script,style').remove();
|
|
527
750
|
$('h1,h2,h3,h4,h5,h6,p,div,span').each((_index, element) => {
|
|
528
751
|
const node = $(element);
|
|
529
|
-
if (!semanticText(node.text()) && node.find('img,table,pre,code,a[href]').length === 0)
|
|
752
|
+
if (!semanticText(node.text()) && node.find('img,table,pre,code,a[href],[id],a[name]').length === 0 && !node.is('[id],a[name]'))
|
|
530
753
|
node.remove();
|
|
531
754
|
});
|
|
532
755
|
const textValues = (selector) => $(selector).toArray().map((element) => semanticText($(element).text()));
|
|
@@ -540,6 +763,24 @@ function semanticContent(body, provider) {
|
|
|
540
763
|
macroNames.push(`${name}[${parameters.join(',')}]`);
|
|
541
764
|
});
|
|
542
765
|
}
|
|
766
|
+
const layouts = $('.ywtc-layout').toArray().flatMap((layout, layoutIndex) => $(layout).children('.ywtc-layout-section').toArray().flatMap((section, sectionIndex) => {
|
|
767
|
+
const item = $(section);
|
|
768
|
+
const cells = item.children('.ywtc-layout-cell').toArray().map((cell) => {
|
|
769
|
+
const value = $(cell);
|
|
770
|
+
const signature = [
|
|
771
|
+
semanticText(value.text()),
|
|
772
|
+
`links=${value.find('a[href]').length}`,
|
|
773
|
+
`images=${value.find('img').length}`,
|
|
774
|
+
`tables=${value.find('table').length}`,
|
|
775
|
+
`code=${value.find('pre,code').length}`,
|
|
776
|
+
`anchors=${value.find('[id],a[name]').length}`,
|
|
777
|
+
].join('|');
|
|
778
|
+
return signature === '|links=0|images=0|tables=0|code=0|anchors=0' ? '' : signature;
|
|
779
|
+
});
|
|
780
|
+
if (cells.every((cell) => !cell))
|
|
781
|
+
return [];
|
|
782
|
+
return [`${layoutIndex}:${sectionIndex}:${item.attr('data-ywtc-layout-type') ?? 'unsupported'}:${cells.join('::')}`];
|
|
783
|
+
}));
|
|
543
784
|
return {
|
|
544
785
|
text: semanticText($.root().text()),
|
|
545
786
|
headings: $('h1,h2,h3,h4,h5,h6').toArray().map((element) => `${element.tagName}:${semanticText($(element).text())}`),
|
|
@@ -558,21 +799,42 @@ function semanticContent(body, provider) {
|
|
|
558
799
|
codeBlocks: $('pre').length,
|
|
559
800
|
},
|
|
560
801
|
macros: macroNames.sort(),
|
|
802
|
+
layouts,
|
|
561
803
|
};
|
|
562
804
|
}
|
|
805
|
+
function semanticContentIsEmpty(content) {
|
|
806
|
+
return !content.text
|
|
807
|
+
&& content.headings.length === 0
|
|
808
|
+
&& content.listItems.length === 0
|
|
809
|
+
&& content.tableCells.length === 0
|
|
810
|
+
&& content.code.length === 0
|
|
811
|
+
&& content.links.length === 0
|
|
812
|
+
&& content.images.length === 0
|
|
813
|
+
&& content.anchors.length === 0
|
|
814
|
+
&& content.macros.length === 0
|
|
815
|
+
&& content.layouts.length === 0
|
|
816
|
+
&& Object.values(content.structure).every((count) => count === 0);
|
|
817
|
+
}
|
|
563
818
|
export function semanticContentFingerprint(body, provider) {
|
|
564
819
|
return sha256(JSON.stringify(semanticContent(body, provider)));
|
|
565
820
|
}
|
|
566
821
|
export function verifyDestinationContent(expectedBody, actualBody, provider, page) {
|
|
567
822
|
if (actualBody === undefined)
|
|
568
823
|
return { status: 'failed', differences: [`Verification could not read destination content for ${page.title}`] };
|
|
569
|
-
if (actualBody.trim().length === 0)
|
|
570
|
-
return { status: 'failed', differences: [`Verification found empty destination content for ${page.title}`] };
|
|
571
824
|
if (isLegacyTransferPlaceholder(actualBody, provider, page)) {
|
|
572
825
|
return { status: 'failed', differences: [`Verification found a transfer placeholder instead of source content for ${page.title}`] };
|
|
573
826
|
}
|
|
574
827
|
const expected = semanticContent(expectedBody, provider);
|
|
575
828
|
const actual = semanticContent(actualBody, provider);
|
|
829
|
+
const expectedEmpty = semanticContentIsEmpty(expected);
|
|
830
|
+
const actualEmpty = semanticContentIsEmpty(actual);
|
|
831
|
+
if (expectedEmpty && actualEmpty)
|
|
832
|
+
return { status: 'complete', differences: [] };
|
|
833
|
+
if (!expectedEmpty && actualEmpty)
|
|
834
|
+
return { status: 'failed', differences: [`Verification found empty destination content for ${page.title}`] };
|
|
835
|
+
if (expectedEmpty && !actualEmpty) {
|
|
836
|
+
return { status: 'failed', differences: [`Verification found unexpected destination content for semantically empty source page ${page.title}`] };
|
|
837
|
+
}
|
|
576
838
|
const differs = (key) => JSON.stringify(expected[key]) !== JSON.stringify(actual[key]);
|
|
577
839
|
const missingData = ['text', 'tableCells', 'code', 'links', 'images', 'anchors', 'macros'].filter(differs);
|
|
578
840
|
if (missingData.length > 0) {
|
|
@@ -581,7 +843,7 @@ export function verifyDestinationContent(expectedBody, actualBody, provider, pag
|
|
|
581
843
|
differences: [`Verification found destination content that differs from the rendered source for ${page.title}: ${missingData.join(', ')}`],
|
|
582
844
|
};
|
|
583
845
|
}
|
|
584
|
-
const simplifiedFormatting = ['headings', 'listItems', 'imageLabels', 'structure'].filter(differs);
|
|
846
|
+
const simplifiedFormatting = ['headings', 'listItems', 'imageLabels', 'structure', 'layouts'].filter(differs);
|
|
585
847
|
if (simplifiedFormatting.length > 0) {
|
|
586
848
|
return {
|
|
587
849
|
status: 'partial',
|
|
@@ -681,20 +943,40 @@ function renderTreeHtml(context, directive) {
|
|
|
681
943
|
return tree ? `<nav class="ywtc-tree" aria-label="Child pages">${tree}</nav>` : '';
|
|
682
944
|
}
|
|
683
945
|
export async function renderMarkdown(document, context) {
|
|
684
|
-
|
|
946
|
+
if (document.semanticallyEmpty) {
|
|
947
|
+
return { body: '', warnings: [...document.warnings], normalizations: [...document.normalizations], degraded: document.degraded, representedReferences: document.references.length };
|
|
948
|
+
}
|
|
949
|
+
const portable = rewritePortableHtml(htmlFromDocument(document), context);
|
|
950
|
+
const linearized = linearizeLayoutsForMarkdown(portable);
|
|
685
951
|
const tree = treeDirectiveNodes(document).map((node) => renderTreeMarkdown(context, node.tree ?? {})).filter(Boolean).join('\n\n');
|
|
686
|
-
const content = await htmlToMarkdown(html);
|
|
952
|
+
const content = await htmlToMarkdown(linearized.html);
|
|
687
953
|
const body = tree ? `${content.trimEnd()}\n\n${tree}\n` : content;
|
|
688
|
-
|
|
954
|
+
const layoutWarnings = linearized.layouts > 0 ? [`${linearized.layouts} column layout${linearized.layouts === 1 ? ' was' : 's were'} linearized for portable Markdown`] : [];
|
|
955
|
+
return { body, warnings: [...document.warnings, ...layoutWarnings], normalizations: [...(document.normalizations ?? [])], degraded: document.degraded || layoutWarnings.length > 0, representedReferences: document.references.length };
|
|
689
956
|
}
|
|
690
957
|
export async function renderStaticHtml(document, context) {
|
|
958
|
+
if (document.semanticallyEmpty) {
|
|
959
|
+
return { body: '', warnings: [...document.warnings], normalizations: [...document.normalizations], degraded: document.degraded, representedReferences: document.references.length };
|
|
960
|
+
}
|
|
691
961
|
const rewritten = rewritePortableHtml(htmlFromDocument(document), context);
|
|
692
962
|
const content = await sanitizeHtml(rewritten);
|
|
693
963
|
const tree = treeDirectiveNodes(document).map((node) => renderTreeHtml(context, node.tree ?? {})).filter(Boolean).join('');
|
|
694
964
|
const body = `${content}${tree}`;
|
|
695
|
-
|
|
965
|
+
const unsupportedLayouts = [];
|
|
966
|
+
const visit = (node) => {
|
|
967
|
+
if (node.type === 'layout-section' && node.layout?.sectionType === 'unsupported')
|
|
968
|
+
unsupportedLayouts.push(node.children?.length ?? 0);
|
|
969
|
+
for (const child of node.children ?? [])
|
|
970
|
+
visit(child);
|
|
971
|
+
};
|
|
972
|
+
visit(document.root);
|
|
973
|
+
const layoutWarnings = unsupportedLayouts.map((cells) => `Unsupported ${cells}-cell layout was stacked in static HTML without losing cell content`);
|
|
974
|
+
return { body, warnings: [...document.warnings, ...layoutWarnings], normalizations: [...(document.normalizations ?? [])], degraded: document.degraded || layoutWarnings.length > 0, representedReferences: document.references.length };
|
|
696
975
|
}
|
|
697
976
|
export async function renderYfm(document, context) {
|
|
977
|
+
if (document.semanticallyEmpty) {
|
|
978
|
+
return { body: '', warnings: [...document.warnings], normalizations: [...document.normalizations], degraded: document.degraded, representedReferences: document.references.length };
|
|
979
|
+
}
|
|
698
980
|
if (document.rawFormat === 'yfm') {
|
|
699
981
|
let body = document.raw;
|
|
700
982
|
const resourceWarnings = new Set();
|
|
@@ -739,10 +1021,19 @@ export async function renderYfm(document, context) {
|
|
|
739
1021
|
representedReferences: document.references.length,
|
|
740
1022
|
};
|
|
741
1023
|
}
|
|
742
|
-
const
|
|
743
|
-
return {
|
|
1024
|
+
const converted = await semanticHtmlToYfm(rewritePortableHtml(htmlFromDocument(document), context));
|
|
1025
|
+
return {
|
|
1026
|
+
body: converted.body,
|
|
1027
|
+
warnings: [...document.warnings, ...converted.warnings],
|
|
1028
|
+
normalizations: [...(document.normalizations ?? []), 'Converted supported Confluence Storage Format constructs to native YFM equivalents'],
|
|
1029
|
+
degraded: document.degraded || converted.warnings.length > 0,
|
|
1030
|
+
representedReferences: document.references.length,
|
|
1031
|
+
};
|
|
744
1032
|
}
|
|
745
1033
|
export async function renderConfluenceStorage(document, page, context, spaceKey) {
|
|
1034
|
+
if (document.semanticallyEmpty) {
|
|
1035
|
+
return { body: '<p></p>', warnings: [...document.warnings], normalizations: [...document.normalizations], degraded: document.degraded, representedReferences: document.references.length };
|
|
1036
|
+
}
|
|
746
1037
|
if (document.rawFormat === 'confluence-storage') {
|
|
747
1038
|
const $ = load(`<main data-root>${document.raw}</main>`, { xmlMode: true }, false);
|
|
748
1039
|
const warnings = [...document.warnings];
|