docs: def init_app(self, app, **kwargs):
          """Initialize application object.
  
          :param app: An instance of :class:`~flask.Flask`.
          """
          self.init_config(app)
  
          # Initialize extensions
          self.menu_ext.init_app(app)
          self.menu = app.extensions['menu']
          self.breadcrumbs.init_app(app)
  
          # Register blueprint in order to register template and static folder.
          app.register_blueprint(Blueprint(
              'invenio_theme',
              __name__,
              template_folder='templates',
              static_folder='static',
          ))
  
          # Register frontpage blueprint if enabled.
          if app.config['THEME_FRONTPAGE']:
              app.register_blueprint(blueprint)
  
          # Initialize breadcrumbs.
          item = self.menu.submenu('breadcrumbs')
          item.register(app.config['THEME_BREADCRUMB_ROOT_ENDPOINT'], _('Home'))
  
          # Register errors handlers.
          app.register_error_handler(401, unauthorized)
          app.register_error_handler(403, insufficient_permissions)
          app.register_error_handler(404, page_not_found)
          app.register_error_handler(500, internal_error)
  
          # Save reference to self on object
          app.extensions['invenio-theme'] = self