115 lines
2.5 KiB
Python
115 lines
2.5 KiB
Python
#!/usr/bin/env python3
|
|
|
|
from .weasyprint_builder import WeasyPrintPDFBuilder
|
|
from typing import Dict, Any
|
|
from sphinx.application import Sphinx
|
|
from sphinx.util.osutil import make_filename
|
|
from sphinx.locale import __
|
|
|
|
|
|
version = (0, 1, 0)
|
|
|
|
|
|
def setup(app: Sphinx) -> Dict[str, Any]:
|
|
app.setup_extension('sphinx.builders.html')
|
|
|
|
app.add_builder(WeasyPrintPDFBuilder)
|
|
app.add_config_value(
|
|
'weasyprint_theme_options',
|
|
lambda self: self.html_theme_options,
|
|
'weasyprint'
|
|
)
|
|
app.add_config_value(
|
|
'weasyprint_basename',
|
|
lambda self: make_filename(self.project),
|
|
'weasyprint'
|
|
)
|
|
app.add_config_value(
|
|
'weasyprint_theme',
|
|
lambda self: self.html_theme,
|
|
'weasyprint'
|
|
)
|
|
app.add_config_value(
|
|
'weasyprint_title',
|
|
lambda self: self.html_title,
|
|
'weasyprint'
|
|
)
|
|
app.add_config_value(
|
|
'weasyprint_theme_path',
|
|
lambda self: self.html_theme_path,
|
|
'weasyprint'
|
|
)
|
|
app.add_config_value(
|
|
'weasyprint_short_title',
|
|
lambda self: self.html_short_title,
|
|
'weasyprint'
|
|
)
|
|
app.add_config_value(
|
|
'weasyprint_style',
|
|
None,
|
|
'weasyprint',
|
|
[str]
|
|
)
|
|
app.add_config_value(
|
|
'weasyprint_css_files',
|
|
[],
|
|
'weasyprint'
|
|
)
|
|
app.add_config_value(
|
|
'weasyprint_show_copyright',
|
|
True,
|
|
'weasyprint'
|
|
)
|
|
app.add_config_value(
|
|
'weasyprint_show_sphinx',
|
|
True,
|
|
'weasyprint'
|
|
)
|
|
|
|
app.add_config_value(
|
|
'weasyprint_sign_method',
|
|
'none',
|
|
'weasyprint'
|
|
)
|
|
app.add_config_value(
|
|
'weasyprint_sign_certid',
|
|
'',
|
|
'weasyprint'
|
|
)
|
|
app.add_config_value(
|
|
'weasyprint_sign_reason',
|
|
'',
|
|
'weasyprint'
|
|
)
|
|
app.add_config_value(
|
|
'weasyprint_sign_contact',
|
|
'',
|
|
'weasyprint'
|
|
)
|
|
app.add_config_value(
|
|
'weasyprint_sign_location',
|
|
'',
|
|
'weasyprint'
|
|
)
|
|
app.add_config_value(
|
|
'weasyprint_sign_image',
|
|
None,
|
|
'weasyprint'
|
|
)
|
|
app.add_config_value(
|
|
'weasyprint_sign_position',
|
|
None,
|
|
'weasyprint'
|
|
)
|
|
app.add_config_value(
|
|
'weasyprint_sign_text',
|
|
__('Signed on {sign_date}\nat {sign_location}\nby {sign_contact}\nfor {sign_reason}'),
|
|
'weasyprint'
|
|
)
|
|
|
|
return {
|
|
'version': version,
|
|
'parallel_read_safe': True,
|
|
'parallel_write_safe': True,
|
|
}
|