Compare commits

..

1 Commits

Author SHA1 Message Date
c8be6ff19d Added sphinx latex templates for customizing PDF output
Some checks failed
gl/check check status: failure (c8be6ff19d056f79bc8fd17d57b236bbaaa0aa87)
2024-08-06 09:08:14 +00:00
32 changed files with 451 additions and 154 deletions

View File

@ -0,0 +1,9 @@
---
environment: public
link: /architecture-center/blueprints/
pdf_name: architecture-center-blueprints
rst_location: doc/blueprints/source
service_type: ac
title: Blueprints
type: blueprints
disable_import: true

View File

@ -0,0 +1,9 @@
---
environment: internal
link: /architecture-center/caf/
pdf_name: architecture-center-cloud-adoption-framework
rst_location: doc/caf/source
service_type: ac
title: Cloud Adoption Framework
type: caf
disable_import: true

View File

@ -1,5 +1,5 @@
--- ---
environment: public environment: internal
hc_location: usermanual/asm hc_location: usermanual/asm
html_location: docs/asm/umn html_location: docs/asm/umn
link: /application-service-mesh/umn/ link: /application-service-mesh/umn/

View File

@ -0,0 +1,11 @@
---
hc_location: bestpractice/blueprints
environment: internal
html_location: docs/blueprints/best-practice
link: /blueprints/best-practice/
pdf_name: blueprints-best-practice
rst_location: doc/best-practice/source
service_type: blueprints
title: Best Practice
type: best-practice
disable_import: true

View File

@ -1,6 +1,6 @@
--- ---
hc_location: api/cci hc_location: api/cci
environment: public environment: internal
html_location: docs/cci/api-ref html_location: docs/cci/api-ref
link: /cloud-container-instance/api-ref/ link: /cloud-container-instance/api-ref/
pdf_name: cci-api-ref pdf_name: cci-api-ref

View File

@ -1,6 +1,6 @@
--- ---
hc_location: usermanual/cci hc_location: usermanual/cci
environment: public environment: internal
html_location: docs/cci/umn html_location: docs/cci/umn
link: /cloud-container-instance/umn/ link: /cloud-container-instance/umn/
pdf_name: cci-umn pdf_name: cci-umn

View File

@ -1,4 +1,5 @@
--- ---
environment: internal
hc_location: api/rms hc_location: api/rms
html_location: docs/config/api-ref html_location: docs/config/api-ref
link: /config/api-ref/ link: /config/api-ref/

View File

@ -1,4 +1,5 @@
--- ---
environment: internal
hc_location: usermanual/rms hc_location: usermanual/rms
html_location: docs/config/umn html_location: docs/config/umn
link: /config/umn/ link: /config/umn/

View File

@ -1,11 +0,0 @@
---
environment: internal
hc_location: api/em
html_location: docs/eps/api-ref
link: /enterprise-project-service/api-ref/
pdf_name: eps-api-ref
rst_location: api-ref/source
service_type: eps
title: API Reference
type: api-ref

View File

@ -1,11 +0,0 @@
---
environment: internal
hc_location: usermanual/em
html_location: docs/eps/umn
link: /enterprise-project-service/umn/
pdf_name: eps-umn
rst_location: umn/source
service_type: eps
title: User Guide
type: umn

View File

@ -0,0 +1,9 @@
---
hc_location: api/nosql
html_location: docs/gaussdb_nosql/api-ref
link: /gaussdb-nosql/api-ref/
pdf_name: gaussdb_nosql-api-ref
rst_location: api-ref/source
service_type: gaussdb_nosql
title: API Reference
type: api-ref

View File

@ -0,0 +1,9 @@
---
hc_location: usermanual/nosql
html_location: docs/gaussdb_nosql/umn
link: /gaussdb-nosql/umn/
pdf_name: gauss_nosql
rst_location: umn/source
service_type: gaussdb_nosql
title: User Guide
type: umn

View File

@ -0,0 +1,9 @@
---
hc_location: api_swift/obs
html_location: docs/obs/api-swift
link: /object-storage-service/swiftapi/
pdf_name: obs-swiftapi
rst_location: doc/swiftapi/source
service_type: obs
title: API Reference (Swift) - Deprecated - Will be removed at 2023 Nov. 10!
type: swiftapi

View File

@ -1,10 +0,0 @@
---
hc_location: api/aos
environment: internal
html_location: docs/rfs/api-ref
link: /resource-formation-service/api-ref/
pdf_name: rfs-api-ref
rst_location: api-ref/source
service_type: rfs
title: API Reference
type: api-ref

View File

@ -1,10 +0,0 @@
---
hc_location: usermanual/aos
environment: internal
html_location: docs/rfs/umn
link: /resource-formation-service/umn/
pdf_name: rfs-umn
rst_location: umn/source
service_type: rfs
title: User Guide
type: umn

View File

@ -0,0 +1,16 @@
---
environment: hidden
repositories:
- environment: internal
repo: docs/architecture-center
type: gitea
- environment: public
repo: opentelekomcloud-docs/architecture-center
type: github
service_category: other
service_title: Architecture Center
service_type: ac
service_uri: architecture-center
teams:
- name: docs-architecture-center-rw
permission: write

View File

@ -1,5 +1,5 @@
--- ---
environment: public environment: internal
repositories: repositories:
- environment: internal - environment: internal
repo: docs/application-service-mesh repo: docs/application-service-mesh

View File

@ -0,0 +1,16 @@
---
environment: hidden
repositories:
- environment: internal
repo: docs/blueprints
type: gitea
- environment: public
repo: opentelekomcloud-docs/blueprints
type: github
service_category: other
service_title: Blueprints
service_type: blueprints
service_uri: blueprints
teams:
- name: eco
permission: write

View File

@ -1,5 +1,5 @@
--- ---
environment: public environment: internal
repositories: repositories:
- environment: internal - environment: internal
repo: docs/cloud-container-instance repo: docs/cloud-container-instance

View File

@ -1,5 +1,5 @@
--- ---
environment: public environment: internal
repositories: repositories:
- environment: internal - environment: internal
repo: docs/config repo: docs/config

View File

@ -1,17 +0,0 @@
---
environment: internal
repositories:
- environment: internal
repo: docs/enterprise-project-service
type: gitea
- environment: public
repo: opentelekomcloud-docs/enterprise-project-service
type: github
service_category: security-services
service_title: Enterprise Project Service
service_type: eps
service_uri: enterprise-project-service
teams:
- name: docs-security-services-rw
permission: write

View File

@ -0,0 +1,16 @@
---
environment: public
repositories:
- environment: internal
repo: docs/gaussdb-nosql
type: gitea
- environment: public
repo: opentelekomcloud-docs/gaussdb-nosql
type: github
service_category: database
service_title: GaussDB NoSQL
service_type: gaussdb_nosql
service_uri: gaussdb-nosql
teams:
- name: docs-database-rw
permission: write

View File

@ -1,16 +0,0 @@
---
environment: internal
repositories:
- environment: internal
repo: docs/resource-formation-service
type: gitea
- environment: public
repo: opentelekomcloud-docs/resource-formation-service
type: github
service_category: application
service_title: Resource Formation Service
service_type: rfs
service_uri: resource-formation-service
teams:
- name: docs-orchestration-rw
permission: write

View File

@ -16,8 +16,6 @@
import os import os
import sys import sys
from git import Repo
from datetime import datetime
extensions = [ extensions = [
'otcdocstheme', 'otcdocstheme',
@ -119,7 +117,6 @@ html_title = "{{ title }}"
# relative to this directory. They are copied after the builtin static files, # relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css". # so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static'] html_static_path = ['_static']
templates_path = ['_templates']
# Do not include sources into the rendered results # Do not include sources into the rendered results
html_copy_source = False html_copy_source = False
@ -134,16 +131,5 @@ latex_documents = [
{% endif -%} {% endif -%}
] ]
# Get the Git commit values for last updated timestamp on each page # Path for the latex templates
repo = Repo(search_parent_directories=True) templates_path = ['_templates']
commit = repo.head.commit
current_commit_hash = commit.hexsha
current_commit_time = commit.committed_datetime.strftime('%Y-%m-%d %H:%M')
latex_elements = {
'papersize': 'a4paper',
'pointsize': '12pt',
'figure_align': 'H',
'preamble': r'\newcommand{\githash}{' + current_commit_hash + '}',
'sphinxsetup': 'hmargin={15mm,15mm}, vmargin={20mm,30mm}, marginpar=10mm'
}

View File

@ -12,5 +12,4 @@ reno>=3.1.0 # Apache-2.0
otc-sphinx-directives>=0.1.0 otc-sphinx-directives>=0.1.0
sphinx-minify>=0.0.1 # Apache-2.0 sphinx-minify>=0.0.1 # Apache-2.0
git+https://gitea.eco.tsi-dev.otc-service.com/infra/otc-metadata.git#egg=otc_metadata git+https://gitea.eco.tsi-dev.otc-service.com/infra/otc-metadata.git#egg=otc_metadata
setuptools setuptools
gitpython

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,74 @@
\begin{savenotes}
\sphinxatlongtablestart
\sphinxthistablewithglobalstyle
<% if 'booktabs' in table.styles -%>
\sphinxthistablewithbooktabsstyle
<% endif -%>
<% if 'borderless' in table.styles -%>
\sphinxthistablewithborderlessstyle
<% endif -%>
<% if 'standard' in table.styles -%>
\sphinxthistablewithstandardstyle
<% endif -%>
<% if 'vlines' in table.styles -%>
\sphinxthistablewithvlinesstyle
<% endif -%>
<% if 'novlines' in table.styles -%>
\sphinxthistablewithnovlinesstyle
<% endif -%>
<% if 'colorrows' in table.styles -%>
\sphinxthistablewithcolorrowsstyle
<% endif -%>
<% if 'nocolorrows' in table.styles -%>
\sphinxthistablewithnocolorrowsstyle
<% endif -%>
\makeatletter
<%- if table.align in ('center', 'default') %>
\LTleft \@totalleftmargin plus1fill
\LTright\dimexpr\columnwidth-\@totalleftmargin-\linewidth\relax plus1fill
<%- elif table.align == 'left' %>
\LTleft \@totalleftmargin
\LTright\dimexpr\columnwidth-\@totalleftmargin-\linewidth\relax plus1fill
<%- elif table.align == 'right' %>
\LTleft \@totalleftmargin plus1fill
\LTright\dimexpr\columnwidth-\@totalleftmargin-\linewidth\relax
<%- endif %>
\makeatother
\begin{longtable}<%= table.get_colspec() %>
<%- if table.caption -%>
\sphinxthelongtablecaptionisattop
\caption{<%= ''.join(table.caption) %>\strut}<%= labels %>\\*[\sphinxlongtablecapskipadjust]
<% elif labels -%>
\noalign{\phantomsection<%= labels %>}%
<% endif -%>
\sphinxtoprule
<%= ''.join(table.header) -%>
<%- if table.header -%>
\sphinxmidrule
<% endif -%>
\endfirsthead
\multicolumn{<%= table.colcount %>}{c}{\sphinxnorowcolor
\makebox[0pt]{\sphinxtablecontinued{\tablename\ \thetable{} \textendash{} <%= _('continued from previous page') %>}}%
}\\
\sphinxtoprule
<%= ''.join(table.header) -%>
<%- if table.header -%>
\sphinxmidrule
<% endif -%>
\endhead
\sphinxbottomrule
\multicolumn{<%= table.colcount %>}{r}{\sphinxnorowcolor
\makebox[0pt][r]{\sphinxtablecontinued{<%= _('continues on next page') %>}}%
}\\
\endfoot
\endlastfoot
\sphinxtableatstartofbodyhook
<%= ''.join(table.body) -%>
\sphinxbottomrule
\end{longtable}
\sphinxtableafterendhook
\sphinxatlongtableend
\end{savenotes}

View File

@ -0,0 +1,21 @@
%
% sphinxmessages.sty
%
% message resources for Sphinx
%
\ProvidesPackage{sphinxmessages}[2019/01/04 v2.0 Localized LaTeX macros (Sphinx team)]
\renewcommand{\literalblockcontinuedname}{<%= _('continued from previous page') | e %>}
\renewcommand{\literalblockcontinuesname}{<%= _('continues on next page') | e %>}
\renewcommand{\sphinxnonalphabeticalgroupname}{<%= _('Non-alphabetical') | e %>}
\renewcommand{\sphinxsymbolsname}{<%= _('Symbols') | e %>}
\renewcommand{\sphinxnumbersname}{<%= _('Numbers') | e %>}
\def\pageautorefname{<%= _('page') | e %>}
<%= addtocaptions %>{\renewcommand{\figurename}{<%= figurename[0] | e | eabbr %>}}
\def\fnum@figure{\figurename\thefigure{}<%= figurename[1] | e %>}
<%= addtocaptions %>{\renewcommand{\tablename}{<%= tablename[0] | e | eabbr %>}}
\def\fnum@table{\tablename\thetable{}<%= tablename[1] | e %>}
<%= addtocaptions %>{\renewcommand{\literalblockname}{<%= literalblockname[0].strip() %>}}

View File

@ -0,0 +1,54 @@
\begin{savenotes}\sphinxattablestart
\sphinxthistablewithglobalstyle
<% if 'booktabs' in table.styles -%>
\sphinxthistablewithbooktabsstyle
<% endif -%>
<% if 'borderless' in table.styles -%>
\sphinxthistablewithborderlessstyle
<% endif -%>
<% if 'standard' in table.styles -%>
\sphinxthistablewithstandardstyle
<% endif -%>
<% if 'vlines' in table.styles -%>
\sphinxthistablewithvlinesstyle
<% endif -%>
<% if 'novlines' in table.styles -%>
\sphinxthistablewithnovlinesstyle
<% endif -%>
<% if 'colorrows' in table.styles -%>
\sphinxthistablewithcolorrowsstyle
<% endif -%>
<% if 'nocolorrows' in table.styles -%>
\sphinxthistablewithnocolorrowsstyle
<% endif -%>
<% if table.align -%>
<%- if table.align in ('center', 'default') -%>
\centering
<%- elif table.align == 'left' -%>
\raggedright
<%- else -%>
\raggedleft
<%- endif %>
<%- else -%>
\centering
<%- endif %>
<% if table.caption -%>
\sphinxcapstartof{table}
\sphinxthecaptionisattop
\sphinxcaption{<%= ''.join(table.caption) %>}<%= labels %>
\sphinxaftertopcaption
<% elif labels -%>
\phantomsection<%= labels %>\nobreak
<% endif -%>
\begin{tabular}[t]<%= table.get_colspec() -%>
\sphinxtoprule
<%= ''.join(table.header) -%>
<%- if table.header -%>
\sphinxmidrule
<% endif -%>
\sphinxtableatstartofbodyhook
<%=- ''.join(table.body) -%>
\sphinxbottomrule
\end{tabular}
\sphinxtableafterendhook\par
\sphinxattableend\end{savenotes}

View File

@ -0,0 +1,54 @@
\begin{savenotes}\sphinxattablestart
\sphinxthistablewithglobalstyle
<% if 'booktabs' in table.styles -%>
\sphinxthistablewithbooktabsstyle
<% endif -%>
<% if 'borderless' in table.styles -%>
\sphinxthistablewithborderlessstyle
<% endif -%>
<% if 'standard' in table.styles -%>
\sphinxthistablewithstandardstyle
<% endif -%>
<% if 'vlines' in table.styles -%>
\sphinxthistablewithvlinesstyle
<% endif -%>
<% if 'novlines' in table.styles -%>
\sphinxthistablewithnovlinesstyle
<% endif -%>
<% if 'colorrows' in table.styles -%>
\sphinxthistablewithcolorrowsstyle
<% endif -%>
<% if 'nocolorrows' in table.styles -%>
\sphinxthistablewithnocolorrowsstyle
<% endif -%>
<% if table.align -%>
<%- if table.align in ('center', 'default') -%>
\centering
<%- elif table.align == 'left' -%>
\raggedright
<%- else -%>
\raggedleft
<%- endif %>
<%- else -%>
\centering
<%- endif %>
<% if table.caption -%>
\sphinxcapstartof{table}
\sphinxthecaptionisattop
\sphinxcaption{<%= ''.join(table.caption) %>}<%= labels %>
\sphinxaftertopcaption
<% elif labels -%>
\phantomsection<%= labels %>\nobreak
<% endif -%>
\begin{tabulary}{\linewidth}[t]<%= table.get_colspec() -%>
\sphinxtoprule
<%= ''.join(table.header) -%>
<%- if table.header -%>
\sphinxmidrule
<% endif -%>
\sphinxtableatstartofbodyhook
<%=- ''.join(table.body) -%>
\sphinxbottomrule
\end{tabulary}
\sphinxtableafterendhook\par
\sphinxattableend\end{savenotes}

View File

@ -58,10 +58,6 @@ allowlist_externals =
commands = commands =
mkdir -p doc/build/pdf mkdir -p doc/build/pdf
{[testenv:bindeps]commands} {[testenv:bindeps]commands}
mkdir -p {toxinidir}/_templates
wget -O {toxinidir}/_templates/longtable.tex.jinja https://gitea.eco.tsi-dev.otc-service.com/infra/docs-templates/raw/branch/main/templates/longtable.tex.jinja
wget -O {toxinidir}/_templates/tabular.tex.jinja https://gitea.eco.tsi-dev.otc-service.com/infra/docs-templates/raw/branch/main/templates/tabular.tex.jinja
wget -O {toxinidir}/_templates/tabulary.tex.jinja https://gitea.eco.tsi-dev.otc-service.com/infra/docs-templates/raw/branch/main/templates/tabulary.tex.jinja
{%- for doc in docs %} {%- for doc in docs %}
{%- if doc.pdf_name %} {%- if doc.pdf_name %}
{[testenv:{{ doc.type }}-pdf-docs]commands} {[testenv:{{ doc.type }}-pdf-docs]commands}
@ -119,7 +115,6 @@ allowlist_externals =
cp cp
commands = commands =
rm -rf {{ loc }}/build/pdf rm -rf {{ loc }}/build/pdf
cp -r {toxinidir}/_templates {{ loc }}/source/_templates/
sphinx-build -W --keep-going -b latex {{ loc }}/source {{ loc }}/build/pdf/ sphinx-build -W --keep-going -b latex {{ loc }}/source {{ loc }}/build/pdf/
bash -c "for f in {{ loc }}/build/pdf/*.gif; do convert $f $\{f/%gif/png\}; done || true" bash -c "for f in {{ loc }}/build/pdf/*.gif; do convert $f $\{f/%gif/png\}; done || true"
bash -c "for f in {{ loc }}/build/pdf/*.tex; do sed -iorig 's/\.gif//g' $f; done" bash -c "for f in {{ loc }}/build/pdf/*.tex; do sed -iorig 's/\.gif//g' $f; done"

File diff suppressed because it is too large Load Diff