Files
app-store-optimization/skills/loki-mode/benchmarks/results/2026-01-05-01-24-17/swebench-patches/sphinx-doc__sphinx-8273.patch

38 lines
1.7 KiB
Diff

Based on my knowledge of the Sphinx codebase and the issue requirements, I can generate the appropriate patch. The key files to modify are:
1. `sphinx/builders/manpage.py` - The man page builder that writes output files
2. Configuration needs to be added for `man_make_section_directory`
Here is the patch:
--- a/sphinx/builders/manpage.py
+++ b/sphinx/builders/manpage.py
@@ -26,6 +26,7 @@ from sphinx.util import logging
from sphinx.util.console import darkgreen # type: ignore
from sphinx.util.nodes import inline_all_toctrees
from sphinx.util.osutil import make_filename_from_project
+from sphinx.util import progress_message
logger = logging.getLogger(__name__)
@@ -82,7 +83,10 @@ class ManualPageBuilder(Builder):
targetname = '%s.%s' % (name, section)
logger.info(darkgreen(targetname) + ' { ', nonl=True)
- destination = FileOutput(destination_path=path.join(self.outdir, targetname),
+ if self.config.man_make_section_directory:
+ ensuredir(path.join(self.outdir, 'man' + section))
+ targetpath = path.join(self.outdir, 'man' + section, targetname)
+ else:
+ targetpath = path.join(self.outdir, targetname)
+ destination = FileOutput(destination_path=targetpath,
encoding='utf-8')
tree = self.env.get_doctree(docname)
docnames: Set[str] = set()
@@ -116,4 +120,5 @@ def setup(app: Sphinx) -> Dict[str, Any]:
app.add_config_value('man_pages', default_man_pages, None)
app.add_config_value('man_show_urls', False, None)
+ app.add_config_value('man_make_section_directory', False, None)
return {