mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-27 15:42:01 +00:00
fix: chapters in PDF again (#2606)
* fix: chapters in PDF again * fix: sections in README
This commit is contained in:
parent
bed9080c7f
commit
0b9acc4009
@ -1,8 +1,7 @@
|
||||
.. figure:: https://github.com/pybind/pybind11/raw/master/docs/pybind11-logo.png
|
||||
:alt: pybind11 logo
|
||||
|
||||
pybind11 — Seamless operability between C++11 and Python
|
||||
========================================================
|
||||
**pybind11 — Seamless operability between C++11 and Python**
|
||||
|
||||
|Latest Documentation Status| |Stable Documentation Status| |Gitter chat| |CI| |Build status|
|
||||
|
||||
@ -53,9 +52,11 @@ A PDF version of the manual is available
|
||||
And the source code is always available at
|
||||
`github.com/pybind/pybind11 <https://github.com/pybind/pybind11>`_.
|
||||
|
||||
|
||||
Core features
|
||||
-------------
|
||||
|
||||
|
||||
pybind11 can map the following core C++ features to Python:
|
||||
|
||||
- Functions accepting and returning custom data structures per value,
|
||||
|
29
docs/conf.py
29
docs/conf.py
@ -17,6 +17,10 @@ import sys
|
||||
import os
|
||||
import shlex
|
||||
import subprocess
|
||||
from pathlib import Path
|
||||
import re
|
||||
|
||||
DIR = Path(__file__).parent.resolve()
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
@ -345,6 +349,29 @@ def generate_doxygen_xml(app):
|
||||
sys.stderr.write("doxygen execution failed: {}\n".format(e))
|
||||
|
||||
|
||||
def prepare(app):
|
||||
with open(DIR.parent / "README.rst") as f:
|
||||
contents = f.read()
|
||||
|
||||
# Filter out section titles for index.rst for LaTeX
|
||||
if app.builder.name == "latex":
|
||||
contents = re.sub(r"^(.*)\n[-~]{3,}$", r"**\1**", contents, flags=re.MULTILINE)
|
||||
|
||||
with open(DIR / "readme.rst", "w") as f:
|
||||
f.write(contents)
|
||||
|
||||
|
||||
def clean_up(app, exception):
|
||||
(DIR / "readme.rst").unlink()
|
||||
|
||||
|
||||
def setup(app):
|
||||
"""Add hook for building doxygen xml when needed"""
|
||||
|
||||
# Add hook for building doxygen xml when needed
|
||||
app.connect("builder-inited", generate_doxygen_xml)
|
||||
|
||||
# Copy the readme in
|
||||
app.connect("builder-inited", prepare)
|
||||
|
||||
# Clean up the generated readme
|
||||
app.connect("build-finished", clean_up)
|
||||
|
@ -3,7 +3,7 @@
|
||||
Intro
|
||||
=====
|
||||
|
||||
.. include:: ../README.rst
|
||||
.. include:: readme.rst
|
||||
|
||||
.. only:: not latex
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user