def documentation(self):
        r"""
        Configuration documentation in reStructuredText_ syntax (a string).

        The purpose of the :attr:`documentation` property is to provide
        documentation on the integration of :class:`ConfigLoader` into other
        projects without denormalizing the required knowledge via copy/paste.

        .. _reStructuredText: https://en.wikipedia.org/wiki/ReStructuredText
        """
        from humanfriendly.tables import format_rst_table
        formatted_table = format_rst_table([
            (directory,
             self.get_main_pattern(directory).replace('*', r'\*'),
             self.get_modular_pattern(directory).replace('*', r'\*'))
            for directory in self.base_directories
        ], [
            "Directory",
            "Main configuration file",
            "Modular configuration files",
        ])
        return format(DOCUMENTATION_TEMPLATE, table=formatted_table).strip()