File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -13,14 +13,20 @@ const decode = (value) =>
1313 . replace ( / & # (?: 3 9 | x 2 7 ) ; / g, "'" )
1414 . trim ( ) ;
1515
16+ const escapeRegExp = ( value ) => value . replace ( / [ . * + ? ^ $ { } ( ) | [ \] \\ ] / g, '\\$&' ) ;
17+
1618const metaOf = ( html , name ) =>
17- new RegExp ( `<meta[^>]+name="${ name } "[^>]+content="([^"]*)"` , 'i' ) . exec (
18- html ,
19- ) ?. [ 1 ] ?? '' ;
19+ new RegExp (
20+ `<meta[^>]+name="${ escapeRegExp ( name ) } "[^>]+content="([^"]*)"` ,
21+ 'i' ,
22+ ) . exec ( html ) ?. [ 1 ] ?? '' ;
2023
2124function describe ( html , siteTitle ) {
2225 const raw = / < t i t l e [ ^ > ] * > ( [ \s \S ] * ?) < \/ t i t l e > / i. exec ( html ) ?. [ 1 ] ?? '' ;
23- const title = decode ( raw ) . replace ( new RegExp ( `\\s*\\|\\s*${ siteTitle } $` ) , '' ) ;
26+ const title = decode ( raw ) . replace (
27+ new RegExp ( `\\s*\\|\\s*${ escapeRegExp ( siteTitle ) } $` ) ,
28+ '' ,
29+ ) ;
2430 return { title, description : decode ( metaOf ( html , 'description' ) ) } ;
2531}
2632
You can’t perform that action at this time.
0 commit comments