@stratusagent/tool-web 0.14.7 → 0.14.9
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/README.md +8 -1
- package/dist/readability.d.ts +1 -1
- package/dist/readability.d.ts.map +1 -1
- package/dist/readability.js +304 -127
- package/dist/readability.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -60,10 +60,17 @@ stylesheet, a class, or a zero font size still comes through, which is
|
|
|
60
60
|
why every result is labelled `external`. `raw: true` returns the body as
|
|
61
61
|
received.
|
|
62
62
|
|
|
63
|
+
Markup the page ends inside is dropped as a browser drops it, not
|
|
64
|
+
returned as text: a tag, comment, script or style that `maxBytes` cut
|
|
65
|
+
off, or that never ends. The one exception is a page that leaves `svg`
|
|
66
|
+
or `math` for HTML before that point (a `p` inside an `svg`, say). Telling
|
|
67
|
+
where that happens means rebuilding the parser's tree, so the page is kept
|
|
68
|
+
whole there, script included, rather than risk cutting it short.
|
|
69
|
+
|
|
63
70
|
Each element is judged where a browser's parser puts it, misnested and
|
|
64
71
|
unclosed markup included, so text moved out of a hidden element is kept
|
|
65
72
|
and text moved into one is not. The tests hold this to Chromium: some
|
|
66
|
-
1,
|
|
73
|
+
1,800 pages, hand-written and generated, with what Chromium shows of each
|
|
67
74
|
recorded in [`test/rendered-in-chromium.json`](test/rendered-in-chromium.json)
|
|
68
75
|
by [`scripts/render-in-chromium.ts`](scripts/render-in-chromium.ts).
|
|
69
76
|
|
package/dist/readability.d.ts
CHANGED
|
@@ -19,5 +19,5 @@
|
|
|
19
19
|
*/
|
|
20
20
|
export declare const decodeEntities: (value: string) => string;
|
|
21
21
|
export declare const extractTitle: (html: string) => string | undefined;
|
|
22
|
-
export declare const htmlToText: (
|
|
22
|
+
export declare const htmlToText: (page: string) => string;
|
|
23
23
|
//# sourceMappingURL=readability.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readability.d.ts","sourceRoot":"","sources":["../src/readability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"readability.d.ts","sourceRoot":"","sources":["../src/readability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAssDH;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,MAO3C,CAAC;AAqDL,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,SAcpD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAsFzC,CAAC"}
|
package/dist/readability.js
CHANGED
|
@@ -796,137 +796,286 @@ const TABLE_CONTENT = new Set([
|
|
|
796
796
|
'input', 'table',
|
|
797
797
|
]);
|
|
798
798
|
/**
|
|
799
|
-
* The
|
|
799
|
+
* The tag that starts at `start`, read the way the HTML tokenizer reads it
|
|
800
800
|
* rather than up to the first `>`. Attributes go through the tokenizer's
|
|
801
801
|
* own states, because each shortcut is a page the browser reads one way
|
|
802
802
|
* and this read another: a quote opens a value only where a value starts,
|
|
803
803
|
* so `<div title="1>0" hidden>` is hidden; an `=` or a quote inside an
|
|
804
804
|
* unquoted value is a character of it, so `<div x=a=">` ends at its `>`
|
|
805
|
-
* rather than swallowing the page.
|
|
806
|
-
*
|
|
807
|
-
*
|
|
808
|
-
* character is visited a bounded number of times, so a hostile page costs
|
|
809
|
-
* its length.
|
|
805
|
+
* rather than swallowing the page. `undefined` when the `<` there opens no
|
|
806
|
+
* tag, and `'unterminated'` when the page ends before the tag does. Every
|
|
807
|
+
* character of the tag is visited a bounded number of times.
|
|
810
808
|
*/
|
|
811
|
-
const
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
809
|
+
const readTag = (html, start) => {
|
|
810
|
+
let cursor = start + 1;
|
|
811
|
+
const closing = html[cursor] === '/';
|
|
812
|
+
if (closing)
|
|
813
|
+
cursor += 1;
|
|
814
|
+
if (!/[a-zA-Z]/.test(html[cursor] ?? ''))
|
|
815
|
+
return undefined;
|
|
816
|
+
const nameStart = cursor;
|
|
817
|
+
while (cursor < html.length && !isAsciiWhitespace(html[cursor] ?? '') && html[cursor] !== '/' && html[cursor] !== '>') {
|
|
818
|
+
cursor += 1;
|
|
819
|
+
}
|
|
820
|
+
const name = asciiLower(html.slice(nameStart, cursor));
|
|
821
|
+
const attributes = new Map();
|
|
822
|
+
const keep = (attribute, value) => {
|
|
823
|
+
if (!attributes.has(attribute))
|
|
824
|
+
attributes.set(attribute, value);
|
|
825
|
+
};
|
|
826
|
+
let state = 'beforeName';
|
|
827
|
+
let attribute = '';
|
|
828
|
+
let mark = cursor;
|
|
829
|
+
while (cursor < html.length) {
|
|
830
|
+
const char = html[cursor] ?? '';
|
|
831
|
+
if (state === 'beforeValue' && (char === '"' || char === "'")) {
|
|
832
|
+
const close = html.indexOf(char, cursor + 1);
|
|
833
|
+
if (close === -1)
|
|
834
|
+
return 'unterminated';
|
|
835
|
+
keep(attribute, html.slice(cursor + 1, close));
|
|
836
|
+
cursor = close + 1;
|
|
837
|
+
state = 'beforeName';
|
|
824
838
|
continue;
|
|
825
839
|
}
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
840
|
+
if (char === '>') {
|
|
841
|
+
if (state === 'name')
|
|
842
|
+
keep(asciiLower(html.slice(mark, cursor)), '');
|
|
843
|
+
else if (state === 'afterName' || state === 'beforeValue')
|
|
844
|
+
keep(attribute, '');
|
|
845
|
+
else if (state === 'unquoted')
|
|
846
|
+
keep(attribute, html.slice(mark, cursor));
|
|
847
|
+
// A `/` in an unquoted value is part of it; anywhere else it is
|
|
848
|
+
// read in the before-name state.
|
|
849
|
+
const selfClosing = state === 'beforeName' && html[cursor - 1] === '/';
|
|
850
|
+
return { start, end: cursor + 1, closing, name, attributes, selfClosing };
|
|
829
851
|
}
|
|
830
|
-
const
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
};
|
|
836
|
-
let state = 'beforeName';
|
|
837
|
-
let attribute = '';
|
|
838
|
-
let mark = cursor;
|
|
839
|
-
let end = -1;
|
|
840
|
-
while (cursor < html.length) {
|
|
841
|
-
const char = html[cursor] ?? '';
|
|
842
|
-
if (state === 'beforeValue' && (char === '"' || char === "'")) {
|
|
843
|
-
const close = html.indexOf(char, cursor + 1);
|
|
844
|
-
if (close === -1) {
|
|
845
|
-
cursor = html.length;
|
|
846
|
-
break;
|
|
847
|
-
}
|
|
848
|
-
keep(attribute, html.slice(cursor + 1, close));
|
|
849
|
-
cursor = close + 1;
|
|
850
|
-
state = 'beforeName';
|
|
851
|
-
continue;
|
|
852
|
-
}
|
|
853
|
-
if (char === '>') {
|
|
854
|
-
if (state === 'name')
|
|
855
|
-
keep(asciiLower(html.slice(mark, cursor)), '');
|
|
856
|
-
else if (state === 'afterName' || state === 'beforeValue')
|
|
857
|
-
keep(attribute, '');
|
|
858
|
-
else if (state === 'unquoted')
|
|
859
|
-
keep(attribute, html.slice(mark, cursor));
|
|
860
|
-
end = cursor;
|
|
861
|
-
break;
|
|
862
|
-
}
|
|
863
|
-
const space = isAsciiWhitespace(char);
|
|
864
|
-
if (state === 'beforeName') {
|
|
865
|
-
if (!space && char !== '/') {
|
|
866
|
-
state = 'name';
|
|
867
|
-
mark = cursor;
|
|
868
|
-
}
|
|
852
|
+
const space = isAsciiWhitespace(char);
|
|
853
|
+
if (state === 'beforeName') {
|
|
854
|
+
if (!space && char !== '/') {
|
|
855
|
+
state = 'name';
|
|
856
|
+
mark = cursor;
|
|
869
857
|
}
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
state = 'beforeValue';
|
|
875
|
-
}
|
|
876
|
-
else if (space) {
|
|
877
|
-
state = 'afterName';
|
|
878
|
-
}
|
|
879
|
-
else {
|
|
880
|
-
keep(attribute, '');
|
|
881
|
-
state = 'beforeName';
|
|
882
|
-
}
|
|
883
|
-
}
|
|
884
|
-
}
|
|
885
|
-
else if (state === 'afterName') {
|
|
858
|
+
}
|
|
859
|
+
else if (state === 'name') {
|
|
860
|
+
if (space || char === '/' || char === '=') {
|
|
861
|
+
attribute = asciiLower(html.slice(mark, cursor));
|
|
886
862
|
if (char === '=') {
|
|
887
863
|
state = 'beforeValue';
|
|
888
864
|
}
|
|
889
|
-
else if (
|
|
890
|
-
|
|
891
|
-
state = 'beforeName';
|
|
865
|
+
else if (space) {
|
|
866
|
+
state = 'afterName';
|
|
892
867
|
}
|
|
893
|
-
else
|
|
868
|
+
else {
|
|
894
869
|
keep(attribute, '');
|
|
895
|
-
state = '
|
|
896
|
-
mark = cursor;
|
|
870
|
+
state = 'beforeName';
|
|
897
871
|
}
|
|
898
872
|
}
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
}
|
|
873
|
+
}
|
|
874
|
+
else if (state === 'afterName') {
|
|
875
|
+
if (char === '=') {
|
|
876
|
+
state = 'beforeValue';
|
|
904
877
|
}
|
|
905
|
-
else if (
|
|
906
|
-
keep(attribute,
|
|
878
|
+
else if (char === '/') {
|
|
879
|
+
keep(attribute, '');
|
|
907
880
|
state = 'beforeName';
|
|
908
881
|
}
|
|
909
|
-
|
|
882
|
+
else if (!space) {
|
|
883
|
+
keep(attribute, '');
|
|
884
|
+
state = 'name';
|
|
885
|
+
mark = cursor;
|
|
886
|
+
}
|
|
910
887
|
}
|
|
911
|
-
if (
|
|
888
|
+
else if (state === 'beforeValue') {
|
|
889
|
+
if (!space) {
|
|
890
|
+
state = 'unquoted';
|
|
891
|
+
mark = cursor;
|
|
892
|
+
}
|
|
893
|
+
}
|
|
894
|
+
else if (space) {
|
|
895
|
+
keep(attribute, html.slice(mark, cursor));
|
|
896
|
+
state = 'beforeName';
|
|
897
|
+
}
|
|
898
|
+
cursor += 1;
|
|
899
|
+
}
|
|
900
|
+
return 'unterminated';
|
|
901
|
+
};
|
|
902
|
+
/** Where the end tag of the raw-text element `name` begins, from `from`; -1 if the page has none. */
|
|
903
|
+
const rawTextEnd = (html, name, from) => {
|
|
904
|
+
const endTag = new RegExp(`</${name}[ \\t\\n\\f\\r/>]`, 'gi');
|
|
905
|
+
endTag.lastIndex = from;
|
|
906
|
+
return endTag.exec(html)?.index ?? -1;
|
|
907
|
+
};
|
|
908
|
+
/**
|
|
909
|
+
* The page's tags, in one pass, each read by `readTag`. A tag still open
|
|
910
|
+
* at the end of the page is dropped, as a browser drops it, and nothing
|
|
911
|
+
* after it is a tag; nor is anything after `<plaintext>`, which has no end
|
|
912
|
+
* tag at all. Every character is visited a bounded number of times, so a
|
|
913
|
+
* hostile page costs its length.
|
|
914
|
+
*/
|
|
915
|
+
const scanTags = (html) => {
|
|
916
|
+
const tags = [];
|
|
917
|
+
let index = 0;
|
|
918
|
+
for (;;) {
|
|
919
|
+
const start = html.indexOf('<', index);
|
|
920
|
+
if (start === -1)
|
|
921
|
+
break;
|
|
922
|
+
const tag = readTag(html, start);
|
|
923
|
+
if (tag === undefined) {
|
|
924
|
+
index = start + 1;
|
|
925
|
+
continue;
|
|
926
|
+
}
|
|
927
|
+
if (tag === 'unterminated')
|
|
912
928
|
break;
|
|
913
|
-
tags.push(
|
|
914
|
-
index = end
|
|
915
|
-
if (closing)
|
|
929
|
+
tags.push(tag);
|
|
930
|
+
index = tag.end;
|
|
931
|
+
if (tag.closing)
|
|
916
932
|
continue;
|
|
917
|
-
if (name === 'plaintext')
|
|
933
|
+
if (tag.name === 'plaintext')
|
|
918
934
|
break;
|
|
919
|
-
if (RAW_TEXT_ELEMENTS.has(name)) {
|
|
920
|
-
const
|
|
921
|
-
|
|
922
|
-
const found = endTag.exec(html);
|
|
923
|
-
if (found === null)
|
|
935
|
+
if (RAW_TEXT_ELEMENTS.has(tag.name)) {
|
|
936
|
+
const found = rawTextEnd(html, tag.name, index);
|
|
937
|
+
if (found === -1)
|
|
924
938
|
break;
|
|
925
|
-
index = found
|
|
939
|
+
index = found;
|
|
926
940
|
}
|
|
927
941
|
}
|
|
928
942
|
return tags;
|
|
929
943
|
};
|
|
944
|
+
/** The elements that start foreign content. */
|
|
945
|
+
const FOREIGN_ROOTS = new Set(['svg', 'math']);
|
|
946
|
+
/**
|
|
947
|
+
* The svg and MathML elements inside which the tree builder may read HTML
|
|
948
|
+
* again: `foreignObject`, an svg `title` or `desc`, MathML's text elements
|
|
949
|
+
* and an `annotation-xml`. Named without regard to which of svg or math
|
|
950
|
+
* they are in, which can only make the walk more careful.
|
|
951
|
+
*/
|
|
952
|
+
const INTEGRATION_POINTS = new Set(['foreignobject', 'desc', 'title', 'mi', 'mo', 'mn', 'ms', 'mtext', 'annotation-xml']);
|
|
953
|
+
/**
|
|
954
|
+
* Start tags that end foreign content, from the tree builder's rules for
|
|
955
|
+
* parsing tokens in foreign content (a `font` does with a color, face or
|
|
956
|
+
* size); so do the end tags `</p>` and `</br>`.
|
|
957
|
+
*/
|
|
958
|
+
const FOREIGN_BREAKOUT = new Set([
|
|
959
|
+
'b', 'big', 'blockquote', 'body', 'br', 'center', 'code', 'dd', 'div', 'dl', 'dt', 'em', 'embed', 'h1', 'h2', 'h3',
|
|
960
|
+
'h4', 'h5', 'h6', 'head', 'hr', 'i', 'img', 'li', 'listing', 'menu', 'meta', 'nobr', 'ol', 'p', 'pre', 'ruby', 's',
|
|
961
|
+
'small', 'span', 'strong', 'strike', 'sub', 'sup', 'table', 'tt', 'u', 'ul', 'var',
|
|
962
|
+
]);
|
|
963
|
+
/**
|
|
964
|
+
* Where a comment ends, as the HTML tokenizer ends one: at `-->`, at
|
|
965
|
+
* `--!>`, or at once in `<!-->` and `<!--->`. Global, searched from just
|
|
966
|
+
* after the `<!--`.
|
|
967
|
+
*/
|
|
968
|
+
const COMMENT_END = /(?<=<!--)-?>|--!?>/g;
|
|
969
|
+
/**
|
|
970
|
+
* Where the page ends inside markup: the `<` of a tag, comment, doctype
|
|
971
|
+
* or processing instruction with no end, or of a script, style or other
|
|
972
|
+
* dropped element whose end tag never arrives — or the page's length when
|
|
973
|
+
* it ends in text. A browser that reaches the end of the page in any of
|
|
974
|
+
* these drops what it was reading, so none of it is text. A page cut by
|
|
975
|
+
* the download cap usually ends this way: inside a tag, or a long script.
|
|
976
|
+
*
|
|
977
|
+
* The page is walked as the tokenizer walks it, so a `<` inside a comment,
|
|
978
|
+
* a quoted value or a script is not mistaken for the start of markup, and
|
|
979
|
+
* `5 < 10` is prose: only a `<` followed by a letter, `/`, `!` or `?`
|
|
980
|
+
* opens anything. Each character is visited a bounded number of times.
|
|
981
|
+
*
|
|
982
|
+
* In svg or math a script or style is not raw text but an element like
|
|
983
|
+
* any other, and `<![CDATA[` is character data up to `]]>`, so the walk
|
|
984
|
+
* keeps the elements open there as the tree builder does: an end tag
|
|
985
|
+
* closes the last one of its name and everything opened inside it, and a
|
|
986
|
+
* `/>` opens nothing. It does not follow the tree builder back into HTML
|
|
987
|
+
* from inside svg or math. Where the page would go there — a tag such as
|
|
988
|
+
* `p` that breaks out, a start tag inside an integration point such as
|
|
989
|
+
* `foreignObject`, an end tag that closes nothing open in svg or math —
|
|
990
|
+
* the walk stops and the page is kept whole, as this extractor kept every
|
|
991
|
+
* page before the walk existed: a script left in is a lesser fault than
|
|
992
|
+
* an article cut short.
|
|
993
|
+
*/
|
|
994
|
+
const openAtEnd = (html) => {
|
|
995
|
+
let index = 0;
|
|
996
|
+
// The svg and math elements open, outermost first; empty in HTML.
|
|
997
|
+
const foreign = [];
|
|
998
|
+
for (;;) {
|
|
999
|
+
const start = html.indexOf('<', index);
|
|
1000
|
+
if (start === -1)
|
|
1001
|
+
return html.length;
|
|
1002
|
+
const next = html[start + 1] ?? '';
|
|
1003
|
+
// A comment; or `<!`, `<?` or `</` before anything but a letter, `>`
|
|
1004
|
+
// or the end, which the tokenizer reads as a comment to the next `>`.
|
|
1005
|
+
if (next === '!' || next === '?' || (next === '/' && start + 2 < html.length && !/[a-zA-Z>]/.test(html[start + 2] ?? ''))) {
|
|
1006
|
+
let close = -1;
|
|
1007
|
+
if (foreign.length > 0 && html.startsWith('<![CDATA[', start)) {
|
|
1008
|
+
// Character data in svg or math, through `]]>`; to the end of the
|
|
1009
|
+
// page if that never comes, and text either way, never markup.
|
|
1010
|
+
const cdataEnd = html.indexOf(']]>', start + 9);
|
|
1011
|
+
if (cdataEnd === -1)
|
|
1012
|
+
return html.length;
|
|
1013
|
+
close = cdataEnd + 3;
|
|
1014
|
+
}
|
|
1015
|
+
else if (html.startsWith('<!--', start)) {
|
|
1016
|
+
COMMENT_END.lastIndex = start + 4;
|
|
1017
|
+
const found = COMMENT_END.exec(html);
|
|
1018
|
+
if (found !== null)
|
|
1019
|
+
close = found.index + found[0].length;
|
|
1020
|
+
}
|
|
1021
|
+
else {
|
|
1022
|
+
const gt = html.indexOf('>', start + 2);
|
|
1023
|
+
if (gt !== -1)
|
|
1024
|
+
close = gt + 1;
|
|
1025
|
+
}
|
|
1026
|
+
if (close === -1)
|
|
1027
|
+
return start;
|
|
1028
|
+
index = close;
|
|
1029
|
+
continue;
|
|
1030
|
+
}
|
|
1031
|
+
const tag = readTag(html, start);
|
|
1032
|
+
if (tag === undefined) {
|
|
1033
|
+
index = start + 1;
|
|
1034
|
+
continue;
|
|
1035
|
+
}
|
|
1036
|
+
if (tag === 'unterminated')
|
|
1037
|
+
return start;
|
|
1038
|
+
index = tag.end;
|
|
1039
|
+
if (foreign.length > 0) {
|
|
1040
|
+
if (tag.closing) {
|
|
1041
|
+
const opened = foreign.lastIndexOf(tag.name);
|
|
1042
|
+
if (opened === -1)
|
|
1043
|
+
return html.length;
|
|
1044
|
+
foreign.length = opened;
|
|
1045
|
+
continue;
|
|
1046
|
+
}
|
|
1047
|
+
const font = tag.name === 'font' && ['color', 'face', 'size'].some((name) => tag.attributes.has(name));
|
|
1048
|
+
if (FOREIGN_BREAKOUT.has(tag.name) || font || INTEGRATION_POINTS.has(foreign.at(-1) ?? ''))
|
|
1049
|
+
return html.length;
|
|
1050
|
+
// Unbounded, and still linear: an end tag searches the list only as
|
|
1051
|
+
// far as it then closes, or ends the walk.
|
|
1052
|
+
if (!tag.selfClosing)
|
|
1053
|
+
foreign.push(tag.name);
|
|
1054
|
+
continue;
|
|
1055
|
+
}
|
|
1056
|
+
if (tag.closing)
|
|
1057
|
+
continue;
|
|
1058
|
+
if (FOREIGN_ROOTS.has(tag.name)) {
|
|
1059
|
+
if (!tag.selfClosing)
|
|
1060
|
+
foreign.push(tag.name);
|
|
1061
|
+
continue;
|
|
1062
|
+
}
|
|
1063
|
+
if (tag.name === 'plaintext')
|
|
1064
|
+
return html.length;
|
|
1065
|
+
if (RAW_TEXT_ELEMENTS.has(tag.name)) {
|
|
1066
|
+
// Raw text runs to its end tag, and the page may end before that end
|
|
1067
|
+
// tag does. A dropped element's text is dropped either way; a
|
|
1068
|
+
// textarea's is shown, up to an end tag the page cut short.
|
|
1069
|
+
const found = rawTextEnd(html, tag.name, index);
|
|
1070
|
+
if (found === -1 || readTag(html, found) === 'unterminated') {
|
|
1071
|
+
if (DROPPED_ELEMENTS.includes(tag.name))
|
|
1072
|
+
return start;
|
|
1073
|
+
return found === -1 ? html.length : found;
|
|
1074
|
+
}
|
|
1075
|
+
index = found;
|
|
1076
|
+
}
|
|
1077
|
+
}
|
|
1078
|
+
};
|
|
930
1079
|
/**
|
|
931
1080
|
* Drops the elements a browser would not show: the `hidden` attribute, an
|
|
932
1081
|
* inline `display: none`, `visibility: hidden`, or `content-visibility:
|
|
@@ -960,6 +1109,10 @@ const scanTags = (html) => {
|
|
|
960
1109
|
* end of the page keeps its text: a closing rule this pass does not model
|
|
961
1110
|
* must not erase the article behind it, and keeping is what this extractor
|
|
962
1111
|
* did before it read visibility at all.
|
|
1112
|
+
*
|
|
1113
|
+
* Every tag it keeps comes back as its name alone, `<div>` or `</div>`,
|
|
1114
|
+
* attributes gone, so the patterns after it end each tag where the
|
|
1115
|
+
* tokenizer did.
|
|
963
1116
|
*/
|
|
964
1117
|
const dropHiddenElements = (html, tail) => {
|
|
965
1118
|
// One stack of open elements, as the tree builder keeps, rather than one
|
|
@@ -979,8 +1132,9 @@ const dropHiddenElements = (html, tail) => {
|
|
|
979
1132
|
// Every element closed before the end of the page, by id: a copy shares
|
|
980
1133
|
// its original's, so closing either closes both.
|
|
981
1134
|
const closed = new Set();
|
|
982
|
-
// Whether any element could hide anything; a page with none is
|
|
1135
|
+
// Whether any element could hide anything; on a page with none, nothing is dropped.
|
|
983
1136
|
let mayHide = false;
|
|
1137
|
+
// A run of text between tags, or one tag, and the node it lands in.
|
|
984
1138
|
const segments = [];
|
|
985
1139
|
let nextId = 0;
|
|
986
1140
|
const active = [];
|
|
@@ -1213,7 +1367,7 @@ const dropHiddenElements = (html, tail) => {
|
|
|
1213
1367
|
}
|
|
1214
1368
|
cursor = tag.end;
|
|
1215
1369
|
const ignore = () => {
|
|
1216
|
-
segments.push({ start: tag.start, end: tag.end, node: parentFor(false) });
|
|
1370
|
+
segments.push({ start: tag.start, end: tag.end, node: parentFor(false), tag });
|
|
1217
1371
|
};
|
|
1218
1372
|
// The document's own elements are never hidden or closed here: an
|
|
1219
1373
|
// `html` or `body` hidden until a script reveals it is the whole page,
|
|
@@ -1322,7 +1476,7 @@ const dropHiddenElements = (html, tail) => {
|
|
|
1322
1476
|
if (!INSERTED_WITHOUT_REBUILDING.has(tag.name))
|
|
1323
1477
|
rebuild(fostered);
|
|
1324
1478
|
const opened = element(tag.name, tag.attributes, parentFor(fostered));
|
|
1325
|
-
segments.push({ start: tag.start, end: tag.end, node: opened.node });
|
|
1479
|
+
segments.push({ start: tag.start, end: tag.end, node: opened.node, tag });
|
|
1326
1480
|
// A void element holds no text, but a hidden one still has an
|
|
1327
1481
|
// effect to withhold — `one<br hidden>two` is one line — so its tag
|
|
1328
1482
|
// is dropped, and it is closed the moment it opens.
|
|
@@ -1363,7 +1517,7 @@ const dropHiddenElements = (html, tail) => {
|
|
|
1363
1517
|
// the form in scope there, and the document's pointer stays set.
|
|
1364
1518
|
if (tag.name === 'form' && nearest(['template'], []) !== -1) {
|
|
1365
1519
|
const index = nearest(['form'], SCOPE_BOUNDARIES);
|
|
1366
|
-
segments.push({ start: tag.start, end: tag.end, node: stack[index]?.node ?? parentFor(false) });
|
|
1520
|
+
segments.push({ start: tag.start, end: tag.end, node: stack[index]?.node ?? parentFor(false), tag });
|
|
1367
1521
|
if (index !== -1)
|
|
1368
1522
|
closeFrom(index);
|
|
1369
1523
|
continue;
|
|
@@ -1372,7 +1526,7 @@ const dropHiddenElements = (html, tail) => {
|
|
|
1372
1526
|
const pointer = form;
|
|
1373
1527
|
form = undefined;
|
|
1374
1528
|
const index = pointer === undefined ? -1 : stack.lastIndexOf(pointer);
|
|
1375
|
-
segments.push({ start: tag.start, end: tag.end, node: pointer?.node ?? parentFor(false) });
|
|
1529
|
+
segments.push({ start: tag.start, end: tag.end, node: pointer?.node ?? parentFor(false), tag });
|
|
1376
1530
|
if (pointer !== undefined && index !== -1 && inScope(index)) {
|
|
1377
1531
|
impliedEnds();
|
|
1378
1532
|
const [left] = stack.splice(stack.lastIndexOf(pointer), 1);
|
|
@@ -1404,7 +1558,7 @@ const dropHiddenElements = (html, tail) => {
|
|
|
1404
1558
|
ignore();
|
|
1405
1559
|
continue;
|
|
1406
1560
|
}
|
|
1407
|
-
segments.push({ start: tag.start, end: tag.end, node: stack[index]?.node });
|
|
1561
|
+
segments.push({ start: tag.start, end: tag.end, node: stack[index]?.node, tag });
|
|
1408
1562
|
closeFrom(index);
|
|
1409
1563
|
if (MARKER_ELEMENTS.has(tag.name) && !CLEARED_ON_CLOSE.has(tag.name))
|
|
1410
1564
|
clearToMarker();
|
|
@@ -1421,8 +1575,6 @@ const dropHiddenElements = (html, tail) => {
|
|
|
1421
1575
|
if (tail !== '')
|
|
1422
1576
|
rebuild(tailFostered);
|
|
1423
1577
|
const tailNode = parentFor(tailFostered);
|
|
1424
|
-
if (!mayHide)
|
|
1425
|
-
return { text: html, tail };
|
|
1426
1578
|
// Each node's style in the finished tree, parents first, remembered so
|
|
1427
1579
|
// a page costs its nodes once.
|
|
1428
1580
|
const judged = new Map();
|
|
@@ -1455,21 +1607,27 @@ const dropHiddenElements = (html, tail) => {
|
|
|
1455
1607
|
}
|
|
1456
1608
|
return result;
|
|
1457
1609
|
};
|
|
1458
|
-
// A dropped stretch, however many segments, becomes one space.
|
|
1610
|
+
// A dropped stretch, however many segments, becomes one space. A tag
|
|
1611
|
+
// that stays is written with its name alone: the passes after this one
|
|
1612
|
+
// find tags by pattern, and a pattern ends a tag at its first `>`, which
|
|
1613
|
+
// in `<div title="x>y">` is inside a value and would leave `y">` as
|
|
1614
|
+
// text. Nothing after this reads an attribute.
|
|
1615
|
+
const drops = (node) => mayHide && isDropped(node);
|
|
1459
1616
|
let text = '';
|
|
1460
1617
|
let dropping = false;
|
|
1461
1618
|
for (const segment of segments) {
|
|
1462
|
-
if (
|
|
1619
|
+
if (drops(segment.node)) {
|
|
1463
1620
|
if (!dropping)
|
|
1464
1621
|
text += ' ';
|
|
1465
1622
|
dropping = true;
|
|
1466
1623
|
}
|
|
1467
1624
|
else {
|
|
1468
|
-
|
|
1625
|
+
const { tag } = segment;
|
|
1626
|
+
text += tag === undefined ? html.slice(segment.start, segment.end) : `<${tag.closing ? '/' : ''}${tag.name}>`;
|
|
1469
1627
|
dropping = false;
|
|
1470
1628
|
}
|
|
1471
1629
|
}
|
|
1472
|
-
return { text, tail: tail !== '' &&
|
|
1630
|
+
return { text, tail: tail !== '' && drops(tailNode) ? ' ' : tail };
|
|
1473
1631
|
};
|
|
1474
1632
|
/**
|
|
1475
1633
|
* Formatting that wraps text which was already adjacent, so removing it
|
|
@@ -1614,6 +1772,21 @@ const removeSpans = (text, opener, closer, replacement) => {
|
|
|
1614
1772
|
}
|
|
1615
1773
|
return kept + text.slice(cursor);
|
|
1616
1774
|
};
|
|
1775
|
+
/**
|
|
1776
|
+
* `pass` run on the text before its last `>`, the rest kept as it is. Every
|
|
1777
|
+
* pattern `htmlToText` removes tags with ends in `>`, so none can match
|
|
1778
|
+
* past the last one, and the result is the same; but from every `<` after
|
|
1779
|
+
* it a `[^>]*` scans to the end of the text and fails, and the final
|
|
1780
|
+
* sweep's two quantifiers side by side then try every split as well. A
|
|
1781
|
+
* pass that removes a tag can take the last `>` with it — the comment in
|
|
1782
|
+
* `<a<a<a…<!---->`, read as markup only after the comments have gone —
|
|
1783
|
+
* which left four thousand characters of `<a` taking fifty seconds. So
|
|
1784
|
+
* each pass finds the last `>` again.
|
|
1785
|
+
*/
|
|
1786
|
+
const beforeLastGt = (text, pass) => {
|
|
1787
|
+
const end = text.lastIndexOf('>') + 1;
|
|
1788
|
+
return pass(text.slice(0, end)) + text.slice(end);
|
|
1789
|
+
};
|
|
1617
1790
|
export const extractTitle = (html) => {
|
|
1618
1791
|
// Two searches rather than one lazy regex, for the reason `removeSpans`
|
|
1619
1792
|
// gives: a page of `<title>` with no `</title>` made the regex rescan the
|
|
@@ -1629,7 +1802,11 @@ export const extractTitle = (html) => {
|
|
|
1629
1802
|
const title = end === null ? undefined : html.slice(open.index + open[0].length, end.index);
|
|
1630
1803
|
return title ? decodeEntities(title).trim() : undefined;
|
|
1631
1804
|
};
|
|
1632
|
-
export const htmlToText = (
|
|
1805
|
+
export const htmlToText = (page) => {
|
|
1806
|
+
// Markup the page ends inside — a tag, comment or script the download
|
|
1807
|
+
// cap cut short — is dropped first, as a browser drops it. Left in, the
|
|
1808
|
+
// patterns below have no `>` to end it at, and pass it on as text.
|
|
1809
|
+
const html = page.slice(0, openAtEnd(page));
|
|
1633
1810
|
// Every pattern below ends in `>`, so nothing after the page's last `>`
|
|
1634
1811
|
// can be part of one — and that tail is where they turned from linear to
|
|
1635
1812
|
// worse. A `[^>]*` with no `>` ahead of it scans to the end of the page
|
|
@@ -1645,11 +1822,11 @@ export const htmlToText = (html) => {
|
|
|
1645
1822
|
// that sweep reads `5 < 10 and 20 > 15` as a tag and deletes the middle
|
|
1646
1823
|
// of the sentence — prose about arbitrary subjects is exactly what a
|
|
1647
1824
|
// fetched page is.
|
|
1648
|
-
// A comment ends where the HTML tokenizer ends it
|
|
1649
|
-
//
|
|
1650
|
-
//
|
|
1651
|
-
let text = removeSpans(html.slice(0, end), /<!--/g,
|
|
1652
|
-
text = text.replace(/<[!?][^>]*>/g, ' ');
|
|
1825
|
+
// A comment ends where the HTML tokenizer ends it (COMMENT_END). Read
|
|
1826
|
+
// only to `-->`, a `--!>` comment ran on and the markup inside it
|
|
1827
|
+
// reached the visibility pass.
|
|
1828
|
+
let text = removeSpans(html.slice(0, end), /<!--/g, COMMENT_END, '');
|
|
1829
|
+
text = beforeLastGt(text, (head) => head.replace(/<[!?][^>]*>/g, ' '));
|
|
1653
1830
|
// Before the dropped elements, which are cut out by name with no regard
|
|
1654
1831
|
// for the tree: an end tag inside a `nav` closes its ancestors as much as
|
|
1655
1832
|
// one anywhere, and in `<div hidden>a<nav></div></nav>b` cutting the nav
|
|
@@ -1659,14 +1836,14 @@ export const htmlToText = (html) => {
|
|
|
1659
1836
|
const visible = dropHiddenElements(text, tail);
|
|
1660
1837
|
text = visible.text;
|
|
1661
1838
|
for (const element of DROPPED_ELEMENTS) {
|
|
1662
|
-
text =
|
|
1839
|
+
text = beforeLastGt(text, (head) => removeSpans(head, new RegExp(`<${element}\\b[^>]*>`, 'gi'), new RegExp(`</${element}>`, 'gi'), ' '));
|
|
1663
1840
|
// Unclosed or self-closing forms of the same elements.
|
|
1664
|
-
text = text.replace(new RegExp(`<${element}\\b[^>]*/?>`, 'gi'), ' ');
|
|
1841
|
+
text = beforeLastGt(text, (head) => head.replace(new RegExp(`<${element}\\b[^>]*/?>`, 'gi'), ' '));
|
|
1665
1842
|
}
|
|
1666
|
-
text =
|
|
1667
|
-
text = text.replace(/<li\b[^>]*>/gi, '\n- ');
|
|
1843
|
+
text = beforeLastGt(text, (head) => removeSpans(head, /<head\b[^>]*>/gi, /<\/head>/gi, ' '));
|
|
1844
|
+
text = beforeLastGt(text, (head) => head.replace(/<li\b[^>]*>/gi, '\n- '));
|
|
1668
1845
|
for (const element of BLOCK_ELEMENTS) {
|
|
1669
|
-
text = text.replace(new RegExp(`</?${element}\\b[^>]*>`, 'gi'), '\n');
|
|
1846
|
+
text = beforeLastGt(text, (head) => head.replace(new RegExp(`</?${element}\\b[^>]*>`, 'gi'), '\n'));
|
|
1670
1847
|
}
|
|
1671
1848
|
// Inline formatting is removed; every other tag becomes a space.
|
|
1672
1849
|
//
|
|
@@ -1689,12 +1866,12 @@ export const htmlToText = (html) => {
|
|
|
1689
1866
|
// character outside `[a-zA-Z0-9-]` reads `<a:widget>` as the inline `a`
|
|
1690
1867
|
// and deletes it — and a namespaced element is precisely the unknown tag
|
|
1691
1868
|
// this default exists for.
|
|
1692
|
-
text = text.replace(/<\/?([a-zA-Z][^\s/>]*)[^>]*>/g, (_tag, rawName) => {
|
|
1869
|
+
text = beforeLastGt(text, (head) => head.replace(/<\/?([a-zA-Z][^\s/>]*)[^>]*>/g, (_tag, rawName) => {
|
|
1693
1870
|
const name = rawName.toLowerCase();
|
|
1694
1871
|
if (name === QUOTE_ELEMENT)
|
|
1695
1872
|
return '"';
|
|
1696
1873
|
return INLINE_ELEMENTS.has(name) ? '' : ' ';
|
|
1697
|
-
});
|
|
1874
|
+
}));
|
|
1698
1875
|
text = decodeEntities(text + visible.tail);
|
|
1699
1876
|
return text
|
|
1700
1877
|
.split('\n')
|
package/dist/readability.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readability.js","sourceRoot":"","sources":["../src/readability.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"readability.js","sourceRoot":"","sources":["../src/readability.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stratusagent/tool-web",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
"node": ">=22.16 <23 || >=24"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@stratusagent/core": "0.14.
|
|
23
|
-
"@stratusagent/egress": "0.14.
|
|
24
|
-
"@stratusagent/plugins": "0.14.
|
|
22
|
+
"@stratusagent/core": "0.14.9",
|
|
23
|
+
"@stratusagent/egress": "0.14.9",
|
|
24
|
+
"@stratusagent/plugins": "0.14.9"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "^24.6.0",
|