@gannochenko/staticstripes 0.0.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.
- package/.prettierrc +8 -0
- package/Makefile +69 -0
- package/dist/asset-manager.d.ts +16 -0
- package/dist/asset-manager.d.ts.map +1 -0
- package/dist/asset-manager.js +50 -0
- package/dist/asset-manager.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +257 -0
- package/dist/cli.js.map +1 -0
- package/dist/container-renderer.d.ts +21 -0
- package/dist/container-renderer.d.ts.map +1 -0
- package/dist/container-renderer.js +149 -0
- package/dist/container-renderer.js.map +1 -0
- package/dist/expression-parser.d.ts +63 -0
- package/dist/expression-parser.d.ts.map +1 -0
- package/dist/expression-parser.js +145 -0
- package/dist/expression-parser.js.map +1 -0
- package/dist/ffmpeg.d.ts +375 -0
- package/dist/ffmpeg.d.ts.map +1 -0
- package/dist/ffmpeg.js +997 -0
- package/dist/ffmpeg.js.map +1 -0
- package/dist/ffprobe.d.ts +2 -0
- package/dist/ffprobe.d.ts.map +1 -0
- package/dist/ffprobe.js +31 -0
- package/dist/ffprobe.js.map +1 -0
- package/dist/html-parser.d.ts +56 -0
- package/dist/html-parser.d.ts.map +1 -0
- package/dist/html-parser.js +208 -0
- package/dist/html-parser.js.map +1 -0
- package/dist/html-project-parser.d.ts +169 -0
- package/dist/html-project-parser.d.ts.map +1 -0
- package/dist/html-project-parser.js +954 -0
- package/dist/html-project-parser.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/label-generator.d.ts +35 -0
- package/dist/label-generator.d.ts.map +1 -0
- package/dist/label-generator.js +69 -0
- package/dist/label-generator.js.map +1 -0
- package/dist/project.d.ts +29 -0
- package/dist/project.d.ts.map +1 -0
- package/dist/project.js +137 -0
- package/dist/project.js.map +1 -0
- package/dist/sample-sequences.d.ts +5 -0
- package/dist/sample-sequences.d.ts.map +1 -0
- package/dist/sample-sequences.js +199 -0
- package/dist/sample-sequences.js.map +1 -0
- package/dist/sample-streams.d.ts +2 -0
- package/dist/sample-streams.d.ts.map +1 -0
- package/dist/sample-streams.js +109 -0
- package/dist/sample-streams.js.map +1 -0
- package/dist/sequence.d.ts +21 -0
- package/dist/sequence.d.ts.map +1 -0
- package/dist/sequence.js +269 -0
- package/dist/sequence.js.map +1 -0
- package/dist/stream.d.ts +135 -0
- package/dist/stream.d.ts.map +1 -0
- package/dist/stream.js +779 -0
- package/dist/stream.js.map +1 -0
- package/dist/type.d.ts +73 -0
- package/dist/type.d.ts.map +1 -0
- package/dist/type.js +3 -0
- package/dist/type.js.map +1 -0
- package/eslint.config.js +44 -0
- package/package.json +50 -0
- package/src/asset-manager.ts +55 -0
- package/src/cli.ts +306 -0
- package/src/container-renderer.ts +190 -0
- package/src/expression-parser.test.ts +459 -0
- package/src/expression-parser.ts +199 -0
- package/src/ffmpeg.ts +1403 -0
- package/src/ffprobe.ts +29 -0
- package/src/html-parser.ts +221 -0
- package/src/html-project-parser.ts +1195 -0
- package/src/index.ts +9 -0
- package/src/label-generator.ts +74 -0
- package/src/project.ts +180 -0
- package/src/sample-sequences.ts +225 -0
- package/src/sample-streams.ts +142 -0
- package/src/sequence.ts +330 -0
- package/src/stream.ts +1012 -0
- package/src/type.ts +81 -0
- package/tsconfig.json +24 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ffmpeg.js","sourceRoot":"","sources":["../src/ffmpeg.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ffprobe.d.ts","sourceRoot":"","sources":["../src/ffprobe.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,MAAM,CAuBnE,CAAC"}
|
package/dist/ffprobe.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAssetDuration = void 0;
|
|
4
|
+
const child_process_1 = require("child_process");
|
|
5
|
+
const util_1 = require("util");
|
|
6
|
+
const execFileAsync = (0, util_1.promisify)(child_process_1.execFile);
|
|
7
|
+
const getAssetDuration = async (path) => {
|
|
8
|
+
try {
|
|
9
|
+
const { stdout } = await execFileAsync('ffprobe', [
|
|
10
|
+
'-v',
|
|
11
|
+
'error',
|
|
12
|
+
'-show_entries',
|
|
13
|
+
'format=duration',
|
|
14
|
+
'-of',
|
|
15
|
+
'default=noprint_wrappers=1:nokey=1',
|
|
16
|
+
path,
|
|
17
|
+
]);
|
|
18
|
+
const durationSeconds = parseFloat(stdout.trim());
|
|
19
|
+
if (isNaN(durationSeconds)) {
|
|
20
|
+
console.warn(`Could not parse duration for asset: ${path}`);
|
|
21
|
+
return 0;
|
|
22
|
+
}
|
|
23
|
+
return Math.round(durationSeconds * 1000);
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
console.error(`Failed to get duration for asset: ${path}`, error);
|
|
27
|
+
return 0;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
exports.getAssetDuration = getAssetDuration;
|
|
31
|
+
//# sourceMappingURL=ffprobe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ffprobe.js","sourceRoot":"","sources":["../src/ffprobe.ts"],"names":[],"mappings":";;;AAAA,iDAAyC;AACzC,+BAAiC;AAEjC,MAAM,aAAa,GAAG,IAAA,gBAAS,EAAC,wBAAQ,CAAC,CAAC;AAEnC,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAAY,EAAmB,EAAE;IACtE,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE;YAChD,IAAI;YACJ,OAAO;YACP,eAAe;YACf,iBAAiB;YACjB,KAAK;YACL,oCAAoC;YACpC,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,CAAC;QACX,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QAClE,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC,CAAC;AAvBW,QAAA,gBAAgB,oBAuB3B"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { type DefaultTreeAdapterMap } from 'parse5';
|
|
2
|
+
import { CSSProperties, ParsedHtml } from './type';
|
|
3
|
+
export type ASTNode = DefaultTreeAdapterMap['node'];
|
|
4
|
+
export type Document = DefaultTreeAdapterMap['document'];
|
|
5
|
+
export type Element = DefaultTreeAdapterMap['element'];
|
|
6
|
+
export interface EnhancedElement extends Element {
|
|
7
|
+
computedStyles?: CSSProperties;
|
|
8
|
+
}
|
|
9
|
+
export declare class HTMLParser {
|
|
10
|
+
/**
|
|
11
|
+
* Parses an HTML file into an AST with computed CSS using parse5 and css-tree
|
|
12
|
+
* @param filePath - Absolute or relative path to the HTML file
|
|
13
|
+
* @returns Promise resolving to the parsed project with AST and computed styles
|
|
14
|
+
*/
|
|
15
|
+
parseFile(filePath: string): Promise<ParsedHtml>;
|
|
16
|
+
/**
|
|
17
|
+
* Parses HTML string into an AST with computed CSS
|
|
18
|
+
* @param html - HTML string to parse
|
|
19
|
+
* @returns The parsed project with AST and computed styles
|
|
20
|
+
*/
|
|
21
|
+
parse(html: string): ParsedHtml;
|
|
22
|
+
/**
|
|
23
|
+
* Extracts CSS text from <style> elements in the document
|
|
24
|
+
*/
|
|
25
|
+
private extractCSS;
|
|
26
|
+
/**
|
|
27
|
+
* Builds a map of CSS rules from the parsed CSS AST
|
|
28
|
+
*/
|
|
29
|
+
private buildStyleRules;
|
|
30
|
+
/**
|
|
31
|
+
* Gets the class attribute value from an element
|
|
32
|
+
*/
|
|
33
|
+
private getClassNames;
|
|
34
|
+
/**
|
|
35
|
+
* Checks if an element matches a CSS selector (simplified implementation)
|
|
36
|
+
*/
|
|
37
|
+
private matchesSelector;
|
|
38
|
+
/**
|
|
39
|
+
* Applies CSS rules to all elements in the AST
|
|
40
|
+
*/
|
|
41
|
+
private traverseAndApplyStyles;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Helper to find elements by tag name in the AST
|
|
45
|
+
* @param node - Starting node to search from
|
|
46
|
+
* @param tagName - Tag name to search for
|
|
47
|
+
* @returns Array of matching element nodes
|
|
48
|
+
*/
|
|
49
|
+
export declare function findElementsByTagName(node: ASTNode, tagName: string): Element[];
|
|
50
|
+
/**
|
|
51
|
+
* Helper to get text content from a node
|
|
52
|
+
* @param node - Node to extract text from
|
|
53
|
+
* @returns Concatenated text content
|
|
54
|
+
*/
|
|
55
|
+
export declare function getTextContent(node: ASTNode): string;
|
|
56
|
+
//# sourceMappingURL=html-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-parser.d.ts","sourceRoot":"","sources":["../src/html-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEnD,MAAM,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACpD,MAAM,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;AACzD,MAAM,MAAM,OAAO,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;AAGvD,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC9C,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAOD,qBAAa,UAAU;IACrB;;;;OAIG;IACU,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAK7D;;;;OAIG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;IAetC;;OAEG;IACH,OAAO,CAAC,UAAU;IAKlB;;OAEG;IACH,OAAO,CAAC,eAAe;IA2BvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAwBvB;;OAEG;IACH,OAAO,CAAC,sBAAsB;CA6B/B;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,MAAM,GACd,OAAO,EAAE,CAiBX;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAiBpD"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.HTMLParser = void 0;
|
|
37
|
+
exports.findElementsByTagName = findElementsByTagName;
|
|
38
|
+
exports.getTextContent = getTextContent;
|
|
39
|
+
const parse5_1 = require("parse5");
|
|
40
|
+
const promises_1 = require("fs/promises");
|
|
41
|
+
const csstree = __importStar(require("css-tree"));
|
|
42
|
+
class HTMLParser {
|
|
43
|
+
/**
|
|
44
|
+
* Parses an HTML file into an AST with computed CSS using parse5 and css-tree
|
|
45
|
+
* @param filePath - Absolute or relative path to the HTML file
|
|
46
|
+
* @returns Promise resolving to the parsed project with AST and computed styles
|
|
47
|
+
*/
|
|
48
|
+
async parseFile(filePath) {
|
|
49
|
+
const content = await (0, promises_1.readFile)(filePath, 'utf-8');
|
|
50
|
+
return this.parse(content);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Parses HTML string into an AST with computed CSS
|
|
54
|
+
* @param html - HTML string to parse
|
|
55
|
+
* @returns The parsed project with AST and computed styles
|
|
56
|
+
*/
|
|
57
|
+
parse(html) {
|
|
58
|
+
const ast = (0, parse5_1.parse)(html);
|
|
59
|
+
const cssText = this.extractCSS(ast);
|
|
60
|
+
const cssRules = csstree.parse(cssText);
|
|
61
|
+
const elements = new Map();
|
|
62
|
+
// Build the CSS rule map
|
|
63
|
+
const styleRules = this.buildStyleRules(cssRules);
|
|
64
|
+
// Apply styles to all elements
|
|
65
|
+
this.traverseAndApplyStyles(ast, styleRules, elements);
|
|
66
|
+
return { ast, css: elements, cssText };
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Extracts CSS text from <style> elements in the document
|
|
70
|
+
*/
|
|
71
|
+
extractCSS(ast) {
|
|
72
|
+
const styleElements = findElementsByTagName(ast, 'style');
|
|
73
|
+
return styleElements.map((el) => getTextContent(el)).join('\n');
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Builds a map of CSS rules from the parsed CSS AST
|
|
77
|
+
*/
|
|
78
|
+
buildStyleRules(cssAst) {
|
|
79
|
+
const rules = [];
|
|
80
|
+
csstree.walk(cssAst, {
|
|
81
|
+
visit: 'Rule',
|
|
82
|
+
enter: (node) => {
|
|
83
|
+
const rule = node;
|
|
84
|
+
const selector = csstree.generate(rule.prelude);
|
|
85
|
+
const properties = {};
|
|
86
|
+
csstree.walk(rule.block, {
|
|
87
|
+
visit: 'Declaration',
|
|
88
|
+
enter: (declNode) => {
|
|
89
|
+
const decl = declNode;
|
|
90
|
+
const property = decl.property;
|
|
91
|
+
const value = csstree.generate(decl.value);
|
|
92
|
+
properties[property] = value;
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
rules.push({ selector, properties });
|
|
96
|
+
},
|
|
97
|
+
});
|
|
98
|
+
return rules;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Gets the class attribute value from an element
|
|
102
|
+
*/
|
|
103
|
+
getClassNames(element) {
|
|
104
|
+
const classAttr = element.attrs.find((attr) => attr.name === 'class');
|
|
105
|
+
return classAttr ? classAttr.value.split(/\s+/).filter(Boolean) : [];
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Checks if an element matches a CSS selector (simplified implementation)
|
|
109
|
+
*/
|
|
110
|
+
matchesSelector(element, selector) {
|
|
111
|
+
const trimmedSelector = selector.trim();
|
|
112
|
+
// Class selector
|
|
113
|
+
if (trimmedSelector.startsWith('.')) {
|
|
114
|
+
const className = trimmedSelector.slice(1);
|
|
115
|
+
return this.getClassNames(element).includes(className);
|
|
116
|
+
}
|
|
117
|
+
// Tag selector
|
|
118
|
+
if (/^[a-z]+$/i.test(trimmedSelector)) {
|
|
119
|
+
return element.tagName === trimmedSelector;
|
|
120
|
+
}
|
|
121
|
+
// ID selector (basic support)
|
|
122
|
+
if (trimmedSelector.startsWith('#')) {
|
|
123
|
+
const id = trimmedSelector.slice(1);
|
|
124
|
+
const idAttr = element.attrs.find((attr) => attr.name === 'id');
|
|
125
|
+
return idAttr?.value === id;
|
|
126
|
+
}
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Applies CSS rules to all elements in the AST
|
|
131
|
+
*/
|
|
132
|
+
traverseAndApplyStyles(node, styleRules, elementsMap) {
|
|
133
|
+
const traverse = (currentNode) => {
|
|
134
|
+
if ('tagName' in currentNode) {
|
|
135
|
+
const element = currentNode;
|
|
136
|
+
const computedStyles = {};
|
|
137
|
+
// Apply matching rules
|
|
138
|
+
for (const rule of styleRules) {
|
|
139
|
+
if (this.matchesSelector(element, rule.selector)) {
|
|
140
|
+
Object.assign(computedStyles, rule.properties);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
elementsMap.set(element, computedStyles);
|
|
144
|
+
}
|
|
145
|
+
if ('childNodes' in currentNode && currentNode.childNodes) {
|
|
146
|
+
for (const child of currentNode.childNodes) {
|
|
147
|
+
traverse(child);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
traverse(node);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
exports.HTMLParser = HTMLParser;
|
|
155
|
+
/**
|
|
156
|
+
* Helper to find elements by tag name in the AST
|
|
157
|
+
* @param node - Starting node to search from
|
|
158
|
+
* @param tagName - Tag name to search for
|
|
159
|
+
* @returns Array of matching element nodes
|
|
160
|
+
*/
|
|
161
|
+
function findElementsByTagName(node, tagName) {
|
|
162
|
+
const results = [];
|
|
163
|
+
function traverse(currentNode) {
|
|
164
|
+
if ('tagName' in currentNode && currentNode.tagName === tagName) {
|
|
165
|
+
results.push(currentNode);
|
|
166
|
+
}
|
|
167
|
+
if ('childNodes' in currentNode && currentNode.childNodes) {
|
|
168
|
+
for (const child of currentNode.childNodes) {
|
|
169
|
+
traverse(child);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
traverse(node);
|
|
174
|
+
return results;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Helper to get text content from a node
|
|
178
|
+
* @param node - Node to extract text from
|
|
179
|
+
* @returns Concatenated text content
|
|
180
|
+
*/
|
|
181
|
+
function getTextContent(node) {
|
|
182
|
+
let text = '';
|
|
183
|
+
function traverse(currentNode) {
|
|
184
|
+
if ('value' in currentNode && typeof currentNode.value === 'string') {
|
|
185
|
+
text += currentNode.value;
|
|
186
|
+
}
|
|
187
|
+
if ('childNodes' in currentNode && currentNode.childNodes) {
|
|
188
|
+
for (const child of currentNode.childNodes) {
|
|
189
|
+
traverse(child);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
traverse(node);
|
|
194
|
+
return text;
|
|
195
|
+
}
|
|
196
|
+
// /**
|
|
197
|
+
// * Helper to get computed styles for an element
|
|
198
|
+
// * @param element - Element to get styles for
|
|
199
|
+
// * @param elementsMap - Map of elements to their computed styles
|
|
200
|
+
// * @returns Computed styles for the element
|
|
201
|
+
// */
|
|
202
|
+
// export function getComputedStyles(
|
|
203
|
+
// element: Element,
|
|
204
|
+
// elementsMap: Map<Element, CSSProperties>,
|
|
205
|
+
// ): CSSProperties {
|
|
206
|
+
// return elementsMap.get(element) || {};
|
|
207
|
+
// }
|
|
208
|
+
//# sourceMappingURL=html-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-parser.js","sourceRoot":"","sources":["../src/html-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { ParsedHtml } from './type';
|
|
2
|
+
import { Project } from './project';
|
|
3
|
+
export declare class HTMLProjectParser {
|
|
4
|
+
private html;
|
|
5
|
+
private projectPath;
|
|
6
|
+
private projectDir;
|
|
7
|
+
constructor(html: ParsedHtml, projectPath: string);
|
|
8
|
+
parse(): Promise<Project>;
|
|
9
|
+
/**
|
|
10
|
+
* Processes asset elements from the parsed HTML and builds an assets map
|
|
11
|
+
*/
|
|
12
|
+
private processAssets;
|
|
13
|
+
/**
|
|
14
|
+
* Finds all asset elements in the HTML
|
|
15
|
+
*/
|
|
16
|
+
private findAssetElements;
|
|
17
|
+
/**
|
|
18
|
+
* Extracts asset information from an element
|
|
19
|
+
*/
|
|
20
|
+
private extractAssetFromElement;
|
|
21
|
+
/**
|
|
22
|
+
* Infers asset type from tag name or file path
|
|
23
|
+
*/
|
|
24
|
+
private inferAssetType;
|
|
25
|
+
/**
|
|
26
|
+
* Gets the duration of an asset file using ffprobe
|
|
27
|
+
* @param path - Path to the asset file
|
|
28
|
+
* @param type - Asset type (video, audio, or image)
|
|
29
|
+
* @returns Duration in milliseconds
|
|
30
|
+
*/
|
|
31
|
+
private getAssetDuration;
|
|
32
|
+
/**
|
|
33
|
+
* Gets the rotation of an asset file using ffprobe
|
|
34
|
+
* @param path - Path to the asset file
|
|
35
|
+
* @param type - Asset type (video, audio, or image)
|
|
36
|
+
* @returns Rotation in degrees (0, 90, 180, 270)
|
|
37
|
+
*/
|
|
38
|
+
private getAssetRotation;
|
|
39
|
+
/**
|
|
40
|
+
* Gets the dimensions of an asset file using ffprobe
|
|
41
|
+
* @param path - Path to the asset file
|
|
42
|
+
* @param type - Asset type (video, audio, or image)
|
|
43
|
+
* @returns Object with width and height in pixels
|
|
44
|
+
*/
|
|
45
|
+
private getAssetDimensions;
|
|
46
|
+
/**
|
|
47
|
+
* Checks if an asset file has a video stream using ffprobe
|
|
48
|
+
* @param _path - Path to the asset file (unused for now, type-based check)
|
|
49
|
+
* @param type - Asset type (video, audio, or image)
|
|
50
|
+
* @returns True if the asset has a video stream
|
|
51
|
+
*/
|
|
52
|
+
private getHasVideo;
|
|
53
|
+
/**
|
|
54
|
+
* Checks if an asset file has an audio stream using ffprobe
|
|
55
|
+
* @param path - Path to the asset file
|
|
56
|
+
* @param type - Asset type (video, audio, or image)
|
|
57
|
+
* @returns True if the asset has an audio stream
|
|
58
|
+
*/
|
|
59
|
+
private getHasAudio;
|
|
60
|
+
/**
|
|
61
|
+
* Processes all output configurations from the parsed HTML
|
|
62
|
+
* Returns a map of output name => Output definition
|
|
63
|
+
*/
|
|
64
|
+
private processOutputs;
|
|
65
|
+
/**
|
|
66
|
+
* Finds all output elements in the HTML
|
|
67
|
+
*/
|
|
68
|
+
private findOutputElements;
|
|
69
|
+
/**
|
|
70
|
+
* Processes sequences and fragments from the parsed HTML
|
|
71
|
+
*/
|
|
72
|
+
private processSequences;
|
|
73
|
+
/**
|
|
74
|
+
* Finds all sequence elements that are direct children of <project>
|
|
75
|
+
*/
|
|
76
|
+
private findSequenceElements;
|
|
77
|
+
/**
|
|
78
|
+
* Finds the <project> root element
|
|
79
|
+
*/
|
|
80
|
+
private findProjectElement;
|
|
81
|
+
/**
|
|
82
|
+
* Finds all fragment descendants of a sequence element (not just direct children)
|
|
83
|
+
* Parse5 treats self-closing custom tags as opening tags, nesting subsequent elements
|
|
84
|
+
*/
|
|
85
|
+
private findFragmentChildren;
|
|
86
|
+
/**
|
|
87
|
+
* Processes a single fragment element according to Parser.md specification
|
|
88
|
+
* Returns fragment with temporary overlayRight and overlayZIndexRight for normalization
|
|
89
|
+
*/
|
|
90
|
+
private processFragment;
|
|
91
|
+
/**
|
|
92
|
+
* Parses filter property (for visual filters)
|
|
93
|
+
* Format: "<filter-name>"
|
|
94
|
+
* Example: "instagram-nashville", "instagram-moon"
|
|
95
|
+
*/
|
|
96
|
+
private parseVisualFilterProperty;
|
|
97
|
+
/**
|
|
98
|
+
* Extracts the first <container> child from a fragment element
|
|
99
|
+
*/
|
|
100
|
+
private extractFragmentContainer;
|
|
101
|
+
/**
|
|
102
|
+
* Serializes an element's children to HTML string
|
|
103
|
+
*/
|
|
104
|
+
private serializeElement;
|
|
105
|
+
/**
|
|
106
|
+
* Splits a string by whitespace, handling CSS-tree's various number formatting quirks:
|
|
107
|
+
* - Recombines standalone minus signs: "- 0.1" → "-0.1"
|
|
108
|
+
* - Splits concatenated numbers: "25-0.1" → ["25", "-0.1"]
|
|
109
|
+
*/
|
|
110
|
+
private splitCssValue;
|
|
111
|
+
/**
|
|
112
|
+
* Parses the 'display' CSS property for the enabled flag
|
|
113
|
+
* display: none -> false, anything else -> true
|
|
114
|
+
*/
|
|
115
|
+
private parseEnabled;
|
|
116
|
+
/**
|
|
117
|
+
* Parses -trim-start property into trimLeft
|
|
118
|
+
* Cannot be negative
|
|
119
|
+
*/
|
|
120
|
+
private parseTrimStart;
|
|
121
|
+
/**
|
|
122
|
+
* Parses the -duration CSS property
|
|
123
|
+
* Can be: "auto", percentage (e.g. "100%", "50%"), or time value (e.g. "5000ms", "5s")
|
|
124
|
+
*/
|
|
125
|
+
private parseDurationProperty;
|
|
126
|
+
/**
|
|
127
|
+
* Parses time value into milliseconds
|
|
128
|
+
* Supports: "5s", "5000ms", "1.5s", etc.
|
|
129
|
+
*/
|
|
130
|
+
private parseMilliseconds;
|
|
131
|
+
/**
|
|
132
|
+
* Parses -offset-start into overlayLeft
|
|
133
|
+
* Can be a time value or a calc() expression
|
|
134
|
+
*/
|
|
135
|
+
private parseOffsetStart;
|
|
136
|
+
/**
|
|
137
|
+
* Parses -offset-end into overlayRight (for next fragment)
|
|
138
|
+
* Can be a time value or a calc() expression
|
|
139
|
+
*/
|
|
140
|
+
private parseOffsetEnd;
|
|
141
|
+
/**
|
|
142
|
+
* Parses z-index values (-overlay-start-z-index, -overlay-end-z-index)
|
|
143
|
+
*/
|
|
144
|
+
private parseZIndex;
|
|
145
|
+
/**
|
|
146
|
+
* Parses -transition-start or -transition-end
|
|
147
|
+
* Format: "<transition-name> <duration>"
|
|
148
|
+
* Example: "fade-in 5s", "fade-out 500ms"
|
|
149
|
+
*/
|
|
150
|
+
private parseTransitionProperty;
|
|
151
|
+
/**
|
|
152
|
+
* Parses -object-fit property
|
|
153
|
+
* Format: "<type> <settings>"
|
|
154
|
+
* Examples:
|
|
155
|
+
* - "contain ambient 25 -0.1 0.7"
|
|
156
|
+
* - "contain pillarbox #000000"
|
|
157
|
+
* - "cover"
|
|
158
|
+
*/
|
|
159
|
+
private parseObjectFitProperty;
|
|
160
|
+
/**
|
|
161
|
+
* Parses -chromakey property
|
|
162
|
+
* Format: "<blend> <similarity> <color>"
|
|
163
|
+
* Example: "0.1 0.3 #00FF00", "hard good #00FF00", "soft loose #123abc45"
|
|
164
|
+
* Blend: hard=0.0, smooth=0.1, soft=0.2
|
|
165
|
+
* Similarity: strict=0.1, good=0.3, forgiving=0.5, loose=0.7
|
|
166
|
+
*/
|
|
167
|
+
private parseChromakeyProperty;
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=html-project-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-project-parser.d.ts","sourceRoot":"","sources":["../src/html-project-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAQX,MAAM,QAAQ,CAAC;AAIhB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,WAAW;IAJrB,OAAO,CAAC,UAAU,CAAS;gBAGjB,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,MAAM;IAKhB,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAStC;;OAEG;YACW,aAAa;IAgB3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAwBzB;;OAEG;YACW,uBAAuB;IAoErC;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;;;;OAKG;YACW,gBAAgB;IAiC9B;;;;;OAKG;YACW,gBAAgB;IAsC9B;;;;;OAKG;YACW,kBAAkB;IAuChC;;;;;OAKG;YACW,WAAW;IAiBzB;;;;;OAKG;YACW,WAAW;IAoCzB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAqDtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+ExB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAwB5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAkGvB;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAcjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA4BhC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0CxB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IA6BrB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAIpB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAUtB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAmC7B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAuBtB;;OAEG;IACH,OAAO,CAAC,WAAW;IASnB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAuB/B;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;IAiF9B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;CA2D/B"}
|