mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-24 06:05:10 +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
|
.. figure:: https://github.com/pybind/pybind11/raw/master/docs/pybind11-logo.png
|
||||||
:alt: pybind11 logo
|
: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|
|
|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
|
And the source code is always available at
|
||||||
`github.com/pybind/pybind11 <https://github.com/pybind/pybind11>`_.
|
`github.com/pybind/pybind11 <https://github.com/pybind/pybind11>`_.
|
||||||
|
|
||||||
|
|
||||||
Core features
|
Core features
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
|
||||||
pybind11 can map the following core C++ features to Python:
|
pybind11 can map the following core C++ features to Python:
|
||||||
|
|
||||||
- Functions accepting and returning custom data structures per value,
|
- 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 os
|
||||||
import shlex
|
import shlex
|
||||||
import subprocess
|
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,
|
# 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
|
# 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))
|
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):
|
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)
|
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
|
Intro
|
||||||
=====
|
=====
|
||||||
|
|
||||||
.. include:: ../README.rst
|
.. include:: readme.rst
|
||||||
|
|
||||||
.. only:: not latex
|
.. only:: not latex
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user