Compare commits
	
		
			10 Commits
		
	
	
		
			404
			...
			add-latex-
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| c8be6ff19d | |||
| 5773230496 | |||
| 42855482cf | |||
| 1b97e9d76a | |||
| 09c2e869d0 | |||
| 63eb1b715e | |||
| a9ae65958d | |||
| 3ae8e7a8be | |||
| 9746bb1892 | |||
| 2105405796 | 
@ -1,6 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
hc_location: api/nosql
 | 
			
		||||
environment: internal
 | 
			
		||||
html_location: docs/geminidb/api-ref
 | 
			
		||||
link: /geminidb/api-ref/
 | 
			
		||||
pdf_name: geminidb-api-ref
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,4 @@
 | 
			
		||||
---
 | 
			
		||||
environment: internal
 | 
			
		||||
hc_location: usermanual/nosql
 | 
			
		||||
html_location: docs/geminidb/umn
 | 
			
		||||
link: /geminidb/umn/
 | 
			
		||||
 | 
			
		||||
@ -6,3 +6,4 @@ rst_location: doc/mycredential/source
 | 
			
		||||
service_type: iam
 | 
			
		||||
title: My Credential
 | 
			
		||||
type: mycredential
 | 
			
		||||
disable_import: true
 | 
			
		||||
@ -7,5 +7,4 @@ rst_location: umn/source
 | 
			
		||||
service_type: mkp
 | 
			
		||||
title: User Guide
 | 
			
		||||
type: umn
 | 
			
		||||
environment: internal
 | 
			
		||||
disable_import: true
 | 
			
		||||
@ -6,3 +6,4 @@ rst_location: umn/source
 | 
			
		||||
service_type: smg
 | 
			
		||||
title: User Guide
 | 
			
		||||
type: umn
 | 
			
		||||
disable_import: true
 | 
			
		||||
 | 
			
		||||
@ -8,7 +8,7 @@ repositories:
 | 
			
		||||
  repo: opentelekomcloud-docs/anti-ddos
 | 
			
		||||
  type: github
 | 
			
		||||
service_category: security-services
 | 
			
		||||
service_title: Anti DDoS
 | 
			
		||||
service_title: Anti-DDoS
 | 
			
		||||
service_type: antiddos
 | 
			
		||||
service_uri: anti-ddos
 | 
			
		||||
teams:
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
environment: internal
 | 
			
		||||
environment: public
 | 
			
		||||
repositories:
 | 
			
		||||
- environment: internal
 | 
			
		||||
  repo: docs/geminidb
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
---
 | 
			
		||||
environment: internal
 | 
			
		||||
environment: public
 | 
			
		||||
repositories:
 | 
			
		||||
- environment: internal
 | 
			
		||||
  repo: docs/marketplace
 | 
			
		||||
 | 
			
		||||
@ -131,3 +131,5 @@ latex_documents = [
 | 
			
		||||
{% endif -%}
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
# Path for the latex templates
 | 
			
		||||
templates_path = ['_templates']
 | 
			
		||||
 | 
			
		||||
@ -5,3 +5,4 @@
 | 
			
		||||
 | 
			
		||||
   .. service_card::
 | 
			
		||||
      :service_type: {{ service_type }}
 | 
			
		||||
      :environment: {{ environment }}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										108
									
								
								otc_metadata/templates/latex_templates/latex.tex.jinja
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								otc_metadata/templates/latex_templates/latex.tex.jinja
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										74
									
								
								otc_metadata/templates/latex_templates/longtable.tex.jinja
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								otc_metadata/templates/latex_templates/longtable.tex.jinja
									
									
									
									
									
										Normal 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}
 | 
			
		||||
@ -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() %>}}
 | 
			
		||||
							
								
								
									
										54
									
								
								otc_metadata/templates/latex_templates/tabular.tex.jinja
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								otc_metadata/templates/latex_templates/tabular.tex.jinja
									
									
									
									
									
										Normal 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}
 | 
			
		||||
							
								
								
									
										54
									
								
								otc_metadata/templates/latex_templates/tabulary.tex.jinja
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								otc_metadata/templates/latex_templates/tabulary.tex.jinja
									
									
									
									
									
										Normal 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}
 | 
			
		||||
@ -15,8 +15,10 @@
 | 
			
		||||
 | 
			
		||||
import argparse
 | 
			
		||||
import logging
 | 
			
		||||
import os.path
 | 
			
		||||
import pathlib
 | 
			
		||||
import requests
 | 
			
		||||
import shutil
 | 
			
		||||
import subprocess
 | 
			
		||||
 | 
			
		||||
from git import exc
 | 
			
		||||
@ -48,6 +50,7 @@ def process_repositories(args, service):
 | 
			
		||||
    env = Environment(
 | 
			
		||||
        loader=PackageLoader("otc_metadata"), autoescape=select_autoescape()
 | 
			
		||||
    )
 | 
			
		||||
    metadata_path = os.path.dirname(os.path.abspath(os.path.dirname(__file__)))
 | 
			
		||||
    conf_py_template = env.get_template("conf.py.j2")
 | 
			
		||||
    tox_ini_template = env.get_template("tox.ini.j2")
 | 
			
		||||
    zuul_yaml_template = env.get_template("zuul.yaml.j2")
 | 
			
		||||
@ -130,6 +133,23 @@ def process_repositories(args, service):
 | 
			
		||||
        logging.debug(f"Analyzing document {doc}")
 | 
			
		||||
 | 
			
		||||
        conf_py_path = pathlib.Path(copy_to, doc["rst_location"], "conf.py")
 | 
			
		||||
        latex_templates_src_path = pathlib.Path(metadata_path, "otc_metadata", "templates", "latex_templates")
 | 
			
		||||
        latex_templates_dest_path = pathlib.Path(copy_to, doc["rst_location"], "_templates")
 | 
			
		||||
 | 
			
		||||
        # Check if the latex destination path exists and is a directory
 | 
			
		||||
        if not latex_templates_dest_path.exists():
 | 
			
		||||
            logging.info(f"Path for latex templates in {doc['title']} does not exist")
 | 
			
		||||
            latex_templates_dest_path.mkdir(parents=True, exist_ok=True)
 | 
			
		||||
        
 | 
			
		||||
        # Delete all files in the latex destination directory
 | 
			
		||||
        for file in latex_templates_dest_path.iterdir():
 | 
			
		||||
            if file.is_file():
 | 
			
		||||
                file.unlink()
 | 
			
		||||
        
 | 
			
		||||
        # Add the new templates
 | 
			
		||||
        for file in latex_templates_src_path.iterdir():
 | 
			
		||||
            shutil.copy2(file, latex_templates_dest_path)
 | 
			
		||||
 | 
			
		||||
        if not conf_py_path.exists():
 | 
			
		||||
            logging.info(f"Path for document {doc['title']} does not exist")
 | 
			
		||||
            conf_py_path.parent.mkdir(parents=True, exist_ok=True)
 | 
			
		||||
@ -201,6 +221,7 @@ def process_repositories(args, service):
 | 
			
		||||
                site_name="Internal Documentation Portal",
 | 
			
		||||
                logo_url="https://docs-int.otc-service.com",
 | 
			
		||||
            )
 | 
			
		||||
        context["environment"] = args.target_environment
 | 
			
		||||
        sbv_title = (service["service_title"] + "\n"
 | 
			
		||||
                     + ('=' * len(service["service_title"])))
 | 
			
		||||
        context["sbv_title"] = sbv_title
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user