@@ -28,16 +28,20 @@ export function getHtmlMetaData(htmlFilePath) {
2828 const  metaData  =  { 
2929 // headlinesWithId: [], 
3030 } ; 
31- 
3231 /** @type  {string | undefined } */ 
3332 let  capturedHeadlineText  =  undefined ; 
33+  let  withinHTMLHead  =  false ; 
3434 parser . eventHandler  =  ( ev ,  _data )  =>  { 
3535 if  ( ev  ===  SaxEventType . OpenTag )  { 
3636 const  data  =  /** @type  {Tag } */  ( /** @type  {any } */  ( _data ) ) ; 
3737 if  ( isHeadline ( data ) )  { 
3838 capturedHeadlineText  =  '' ; 
3939 } 
40+  if  ( data . name  ===  'head' )  { 
41+  withinHTMLHead  =  true ; 
42+  } 
4043 } 
44+ 
4145 if  ( capturedHeadlineText  !==  undefined  &&  ev  ===  SaxEventType . Text )  { 
4246 const  data  =  /** @type  {Text } */  ( /** @type  {any } */  ( _data ) ) ; 
4347 capturedHeadlineText  +=  data . value ; 
@@ -74,7 +78,7 @@ export function getHtmlMetaData(htmlFilePath) {
7478 metaData . menuNoLink  =  getAttribute ( data ,  'content' )  !==  'false' ; 
7579 } 
7680 } 
77-  if  ( ! metaData . title  &&  data . name  ===  'title' )  { 
81+  if  ( withinHTMLHead  &&  data . name  ===  'title' )  { 
7882 metaData . title  =  getText ( data ) ; 
7983 } 
8084
@@ -87,7 +91,7 @@ export function getHtmlMetaData(htmlFilePath) {
8791 . replace ( / & # x 2 6 ; / g,  '&' ) 
8892 . trim ( ) ; 
8993 const  text  =  linkText  ||  processedCapturedHeadlineText  ||  '' ; 
90-  if  ( data . name  ===  'h1' )  { 
94+  if  ( ! metaData . h1   &&   data . name  ===  'h1' )  { 
9195 metaData . h1  =  text ; 
9296 } 
9397 if  ( id  &&  text )  { 
@@ -104,6 +108,10 @@ export function getHtmlMetaData(htmlFilePath) {
104108 } 
105109 capturedHeadlineText  =  undefined ; 
106110 } 
111+ 
112+  if  ( data . name  ===  'head' )  { 
113+  withinHTMLHead  =  false ; 
114+  } 
107115 } 
108116 } ; 
109117
0 commit comments