def initializePageObject(pageObject)
      @pageObject = pageObject
      pathDepth = @pathComponents.length-1
      rootLinkPath = "../" * pathDepth
      setPageObjectInstanceVar("@fileName", @fileName)
      setPageObjectInstanceVar("@baseDir", File.dirname(@fileName))
      setPageObjectInstanceVar("@baseFileName", File.basename(@fileName))
      setPageObjectInstanceVar("@pathDepth", pathDepth)
      setPageObjectInstanceVar("@pathComponents", @pathComponents)
      setPageObjectInstanceVar("@rootLinkPath", rootLinkPath)
      setPageObjectInstanceVar("@baseUrl", rootLinkPath)
      setPageObjectInstanceVar("@site", @site)
      @initialInstanceVariables = Set.new(@pageObject.instance_variables)
      pageObject.postInitialize
    end
def initializePageObject(pageObject)
      @pageObject = pageObject
      pathDepth = @pathComponents.length-1
      rootLinkPath = "../" * pathDepth
      setPageObjectInstanceVar("@fileName", @fileName)
      setPageObjectInstanceVar("@baseDir", File.dirname(@fileName))
      setPageObjectInstanceVar("@baseFileName", File.basename(@fileName))
      setPageObjectInstanceVar("@pathDepth", pathDepth)
      setPageObjectInstanceVar("@pathComponents", @pathComponents)
      setPageObjectInstanceVar("@rootLinkPath", rootLinkPath)
      setPageObjectInstanceVar("@baseUrl", rootLinkPath)
      setPageObjectInstanceVar("@site", @site)
      @initialInstanceVariables = Set.new(@pageObject.instance_variables)
      pageObject.postInitialize
    end
The absolute name of the source file
 initialise the "page object", which is the object that "owns" the defined instance variables,
 and the object in whose context the Ruby components are evaluated
 Three special instance variable values are set - @fileName, @baseDir, @baseFileName,
 so that they can be accessed, if necessary, by Ruby code in the Ruby code components.
 (if this is called a second time, it overrides whatever was set the first time)
 Notes on special instance variables -
  @fileName and @baseDir are the absolute paths of the source file and it's containing directory.
  They would be used in Ruby code that looked for other files with names or locations relative to these two.
  They would generally not be expected to appear in the output content.
  @baseFileName is the name of the file without any directory path components. In some cases it might be
  used within output content.