docs: function isUptodate( sourceHTML ) {
    console.info("[compiler-html2] sourceHTML=", sourceHTML.name());
    if ( !sourceHTML.isUptodate() ) return false;
  
    const output = sourceHTML.tag( 'output' );
    if ( !output || !Array.isArray( output.include ) ) return false;
    // Modification time for the current HTML file.
    const currentFileModificationTime = sourceHTML.modificationTime();
    // `includeFilename` is the File name relative to `sourceHTML`.
    for ( const includeFilename of output.include ) {
      // Source object of the included file.
      const includeSource = new Source(
        Project,
        sourceHTML.getPathRelativeToSource( includeFilename )
      );
      const stats = FS.statSync( includeSource.getAbsoluteFilePath() );
      if ( stats.mtime > currentFileModificationTime ) {
        // An included file if more recent. We must recompile.
        return false;
      }
    }
    return true;
  }