Initial commit
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
import { Window } from 'happy-dom';
|
||||
import * as fs from 'fs';
|
||||
|
||||
const window = new Window();
|
||||
|
||||
function testFile(filePath: string) {
|
||||
console.log(`\n--- Testing file: ${filePath} ---`);
|
||||
let content = fs.readFileSync(filePath, 'utf8');
|
||||
|
||||
// Basic Handlebars comments and blocks stripping to leave clean HTML
|
||||
content = content.replace(/\{\{!--[\s\S]*?--\}\}/g, '');
|
||||
content = content.replace(/\{\{[\s\S]*?\}\}/g, '');
|
||||
|
||||
const parser = new window.DOMParser();
|
||||
const doc = parser.parseFromString(content, 'text/html');
|
||||
const body = doc.body;
|
||||
|
||||
const children = Array.from(body.childNodes).filter(node => {
|
||||
// Mimic the likely behavior of Foundry: filter out empty text nodes
|
||||
if (node.nodeType === 3 && !node.textContent.trim()) return false;
|
||||
return true;
|
||||
});
|
||||
|
||||
console.log(`Parsed children count: ${children.length}`);
|
||||
children.forEach((node, i) => {
|
||||
console.log(`Child ${i}: type=${node.nodeType} (${node.nodeName}), textLength=${node.textContent.trim().length}`);
|
||||
if (children.length > 1) {
|
||||
console.log(`OuterHTML snippet:`, (node as any).outerHTML || node.textContent.slice(0, 100));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const characterPath = './templates/actor/character.hbs';
|
||||
const npcPath = './templates/actor/npc.hbs';
|
||||
|
||||
testFile(characterPath);
|
||||
testFile(npcPath);
|
||||
Reference in New Issue
Block a user