Merge branch 'stable'
@@ -0,0 +1,57 @@
|
||||
\label{\detokenize{complex:complex-spanning-cell}}
|
||||
table having …
|
||||
\begin{itemize}
|
||||
\item {}
|
||||
consecutive multirow at top of row (1-1 and 1-2)
|
||||
|
||||
\item {}
|
||||
consecutive multirow at end of row (1-4 and 1-5)
|
||||
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\begin{savenotes}\sphinxattablestart
|
||||
\centering
|
||||
\begin{tabulary}{\linewidth}[t]{|T|T|T|T|T|}
|
||||
\hline
|
||||
\sphinxmultirow{3}{1}{%
|
||||
\begin{varwidth}[t]{\sphinxcolwidth{1}{5}}
|
||||
cell1-1
|
||||
\par
|
||||
\vskip-\baselineskip\strut\end{varwidth}%
|
||||
}%
|
||||
&\sphinxmultirow{3}{2}{%
|
||||
\begin{varwidth}[t]{\sphinxcolwidth{1}{5}}
|
||||
cell1-2
|
||||
\par
|
||||
\vskip-\baselineskip\strut\end{varwidth}%
|
||||
}%
|
||||
&
|
||||
cell1-3
|
||||
&\sphinxmultirow{3}{4}{%
|
||||
\begin{varwidth}[t]{\sphinxcolwidth{1}{5}}
|
||||
cell1-4
|
||||
\par
|
||||
\vskip-\baselineskip\strut\end{varwidth}%
|
||||
}%
|
||||
&\sphinxmultirow{2}{5}{%
|
||||
\begin{varwidth}[t]{\sphinxcolwidth{1}{5}}
|
||||
cell1-5
|
||||
\par
|
||||
\vskip-\baselineskip\strut\end{varwidth}%
|
||||
}%
|
||||
\\
|
||||
\cline{3-3}\sphinxtablestrut{1}&\sphinxtablestrut{2}&\sphinxmultirow{2}{6}{%
|
||||
\begin{varwidth}[t]{\sphinxcolwidth{1}{5}}
|
||||
cell2-3
|
||||
\par
|
||||
\vskip-\baselineskip\strut\end{varwidth}%
|
||||
}%
|
||||
&\sphinxtablestrut{4}&\sphinxtablestrut{5}\\
|
||||
\cline{5-5}\sphinxtablestrut{1}&\sphinxtablestrut{2}&\sphinxtablestrut{6}&\sphinxtablestrut{4}&
|
||||
cell3-5
|
||||
\\
|
||||
\hline
|
||||
\end{tabulary}
|
||||
\par
|
||||
\sphinxattableend\end{savenotes}
|
||||
56
tests/roots/test-latex-table/expects/gridtable.tex
Normal file
@@ -0,0 +1,56 @@
|
||||
\label{\detokenize{complex:grid-table}}
|
||||
|
||||
\begin{savenotes}\sphinxattablestart
|
||||
\centering
|
||||
\begin{tabulary}{\linewidth}[t]{|T|T|T|}
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
&\sphinxstyletheadfamily
|
||||
header3
|
||||
\\
|
||||
\hline
|
||||
cell1-1
|
||||
&\sphinxmultirow{2}{5}{%
|
||||
\begin{varwidth}[t]{\sphinxcolwidth{1}{3}}
|
||||
cell1-2
|
||||
\par
|
||||
\vskip-\baselineskip\strut\end{varwidth}%
|
||||
}%
|
||||
&
|
||||
cell1-3
|
||||
\\
|
||||
\cline{1-1}\cline{3-3}\sphinxmultirow{2}{7}{%
|
||||
\begin{varwidth}[t]{\sphinxcolwidth{1}{3}}
|
||||
cell2-1
|
||||
\par
|
||||
\vskip-\baselineskip\strut\end{varwidth}%
|
||||
}%
|
||||
&\sphinxtablestrut{5}&
|
||||
cell2-3
|
||||
\\
|
||||
\cline{2-3}\sphinxtablestrut{7}&\sphinxstartmulticolumn{2}%
|
||||
\sphinxmultirow{2}{9}{%
|
||||
\begin{varwidth}[t]{\sphinxcolwidth{2}{3}}
|
||||
cell3-2
|
||||
\par
|
||||
\vskip-\baselineskip\strut\end{varwidth}%
|
||||
}%
|
||||
\sphinxstopmulticolumn
|
||||
\\
|
||||
\cline{1-1}
|
||||
cell4-1
|
||||
&\multicolumn{2}{l|}{\sphinxtablestrut{9}}\\
|
||||
\hline\sphinxstartmulticolumn{3}%
|
||||
\begin{varwidth}[t]{\sphinxcolwidth{3}{3}}
|
||||
cell5-1
|
||||
\par
|
||||
\vskip-\baselineskip\strut\end{varwidth}%
|
||||
\sphinxstopmulticolumn
|
||||
\\
|
||||
\hline
|
||||
\end{tabulary}
|
||||
\par
|
||||
\sphinxattableend\end{savenotes}
|
||||
45
tests/roots/test-latex-table/expects/longtable.tex
Normal file
@@ -0,0 +1,45 @@
|
||||
\label{\detokenize{longtable:longtable}}
|
||||
|
||||
\begin{savenotes}\sphinxatlongtablestart\begin{longtable}{|l|l|}
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
\endfirsthead
|
||||
|
||||
\multicolumn{2}{c}%
|
||||
{\makebox[0pt]{\sphinxtablecontinued{\tablename\ \thetable{} -- continued from previous page}}}\\
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
\endhead
|
||||
|
||||
\hline
|
||||
\multicolumn{2}{r}{\makebox[0pt][r]{\sphinxtablecontinued{Continued on next page}}}\\
|
||||
\endfoot
|
||||
|
||||
\endlastfoot
|
||||
|
||||
cell1-1
|
||||
&
|
||||
cell1-2
|
||||
\\
|
||||
\hline
|
||||
cell2-1
|
||||
&
|
||||
cell2-2
|
||||
\\
|
||||
\hline
|
||||
cell3-1
|
||||
&
|
||||
cell3-2
|
||||
\\
|
||||
\hline
|
||||
\end{longtable}\sphinxatlongtableend\end{savenotes}
|
||||
@@ -0,0 +1,45 @@
|
||||
\label{\detokenize{longtable:longtable-having-align-option}}
|
||||
|
||||
\begin{savenotes}\sphinxatlongtablestart\begin{longtable}[r]{|l|l|}
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
\endfirsthead
|
||||
|
||||
\multicolumn{2}{c}%
|
||||
{\makebox[0pt]{\sphinxtablecontinued{\tablename\ \thetable{} -- continued from previous page}}}\\
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
\endhead
|
||||
|
||||
\hline
|
||||
\multicolumn{2}{r}{\makebox[0pt][r]{\sphinxtablecontinued{Continued on next page}}}\\
|
||||
\endfoot
|
||||
|
||||
\endlastfoot
|
||||
|
||||
cell1-1
|
||||
&
|
||||
cell1-2
|
||||
\\
|
||||
\hline
|
||||
cell2-1
|
||||
&
|
||||
cell2-2
|
||||
\\
|
||||
\hline
|
||||
cell3-1
|
||||
&
|
||||
cell3-2
|
||||
\\
|
||||
\hline
|
||||
\end{longtable}\sphinxatlongtableend\end{savenotes}
|
||||
@@ -0,0 +1,46 @@
|
||||
\label{\detokenize{longtable:longtable-having-caption}}
|
||||
|
||||
\begin{savenotes}\sphinxatlongtablestart\begin{longtable}{|l|l|}
|
||||
\caption{caption for longtable\strut}\label{\detokenize{longtable:id1}}\\*[\sphinxlongtablecapskipadjust]
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
\endfirsthead
|
||||
|
||||
\multicolumn{2}{c}%
|
||||
{\makebox[0pt]{\sphinxtablecontinued{\tablename\ \thetable{} -- continued from previous page}}}\\
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
\endhead
|
||||
|
||||
\hline
|
||||
\multicolumn{2}{r}{\makebox[0pt][r]{\sphinxtablecontinued{Continued on next page}}}\\
|
||||
\endfoot
|
||||
|
||||
\endlastfoot
|
||||
|
||||
cell1-1
|
||||
&
|
||||
cell1-2
|
||||
\\
|
||||
\hline
|
||||
cell2-1
|
||||
&
|
||||
cell2-2
|
||||
\\
|
||||
\hline
|
||||
cell3-1
|
||||
&
|
||||
cell3-2
|
||||
\\
|
||||
\hline
|
||||
\end{longtable}\sphinxatlongtableend\end{savenotes}
|
||||
@@ -0,0 +1,51 @@
|
||||
\label{\detokenize{longtable:longtable-having-problematic-cell}}
|
||||
|
||||
\begin{savenotes}\sphinxatlongtablestart\begin{longtable}{|*{2}{\X{1}{2}|}}
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
\endfirsthead
|
||||
|
||||
\multicolumn{2}{c}%
|
||||
{\makebox[0pt]{\sphinxtablecontinued{\tablename\ \thetable{} -- continued from previous page}}}\\
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
\endhead
|
||||
|
||||
\hline
|
||||
\multicolumn{2}{r}{\makebox[0pt][r]{\sphinxtablecontinued{Continued on next page}}}\\
|
||||
\endfoot
|
||||
|
||||
\endlastfoot
|
||||
\begin{itemize}
|
||||
\item {}
|
||||
item1
|
||||
|
||||
\item {}
|
||||
item2
|
||||
|
||||
\end{itemize}
|
||||
&
|
||||
cell1-2
|
||||
\\
|
||||
\hline
|
||||
cell2-1
|
||||
&
|
||||
cell2-2
|
||||
\\
|
||||
\hline
|
||||
cell3-1
|
||||
&
|
||||
cell3-2
|
||||
\\
|
||||
\hline
|
||||
\end{longtable}\sphinxatlongtableend\end{savenotes}
|
||||
@@ -0,0 +1,54 @@
|
||||
\label{\detokenize{longtable:longtable-having-both-stub-columns-and-problematic-cell}}
|
||||
|
||||
\begin{savenotes}\sphinxatlongtablestart\begin{longtable}{|*{3}{\X{1}{3}|}}
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
&\sphinxstyletheadfamily
|
||||
header3
|
||||
\\
|
||||
\hline
|
||||
\endfirsthead
|
||||
|
||||
\multicolumn{3}{c}%
|
||||
{\makebox[0pt]{\sphinxtablecontinued{\tablename\ \thetable{} -- continued from previous page}}}\\
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
&\sphinxstyletheadfamily
|
||||
header3
|
||||
\\
|
||||
\hline
|
||||
\endhead
|
||||
|
||||
\hline
|
||||
\multicolumn{3}{r}{\makebox[0pt][r]{\sphinxtablecontinued{Continued on next page}}}\\
|
||||
\endfoot
|
||||
|
||||
\endlastfoot
|
||||
\sphinxstyletheadfamily \begin{itemize}
|
||||
\item {}
|
||||
instub1-1a
|
||||
|
||||
\item {}
|
||||
instub1-1b
|
||||
|
||||
\end{itemize}
|
||||
&\sphinxstyletheadfamily
|
||||
instub1-2
|
||||
&
|
||||
notinstub1-3
|
||||
\\
|
||||
\hline\sphinxstyletheadfamily
|
||||
cell2-1
|
||||
&\sphinxstyletheadfamily
|
||||
cell2-2
|
||||
&
|
||||
cell2-3
|
||||
\\
|
||||
\hline
|
||||
\end{longtable}\sphinxatlongtableend\end{savenotes}
|
||||
@@ -0,0 +1,47 @@
|
||||
\label{\detokenize{longtable:longtable-having-verbatim}}
|
||||
|
||||
\begin{savenotes}\sphinxatlongtablestart\begin{longtable}{|*{2}{\X{1}{2}|}}
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
\endfirsthead
|
||||
|
||||
\multicolumn{2}{c}%
|
||||
{\makebox[0pt]{\sphinxtablecontinued{\tablename\ \thetable{} -- continued from previous page}}}\\
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
\endhead
|
||||
|
||||
\hline
|
||||
\multicolumn{2}{r}{\makebox[0pt][r]{\sphinxtablecontinued{Continued on next page}}}\\
|
||||
\endfoot
|
||||
|
||||
\endlastfoot
|
||||
|
||||
\begin{sphinxVerbatimintable}[commandchars=\\\{\}]
|
||||
\PYG{n}{hello} \PYG{n}{world}
|
||||
\end{sphinxVerbatimintable}
|
||||
&
|
||||
cell1-2
|
||||
\\
|
||||
\hline
|
||||
cell2-1
|
||||
&
|
||||
cell2-2
|
||||
\\
|
||||
\hline
|
||||
cell3-1
|
||||
&
|
||||
cell3-2
|
||||
\\
|
||||
\hline
|
||||
\end{longtable}\sphinxatlongtableend\end{savenotes}
|
||||
@@ -0,0 +1,45 @@
|
||||
\label{\detokenize{longtable:longtable-having-widths-option}}
|
||||
|
||||
\begin{savenotes}\sphinxatlongtablestart\begin{longtable}{|\X{30}{100}|\X{70}{100}|}
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
\endfirsthead
|
||||
|
||||
\multicolumn{2}{c}%
|
||||
{\makebox[0pt]{\sphinxtablecontinued{\tablename\ \thetable{} -- continued from previous page}}}\\
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
\endhead
|
||||
|
||||
\hline
|
||||
\multicolumn{2}{r}{\makebox[0pt][r]{\sphinxtablecontinued{Continued on next page}}}\\
|
||||
\endfoot
|
||||
|
||||
\endlastfoot
|
||||
|
||||
cell1-1
|
||||
&
|
||||
cell1-2
|
||||
\\
|
||||
\hline
|
||||
cell2-1
|
||||
&
|
||||
cell2-2
|
||||
\\
|
||||
\hline
|
||||
cell3-1
|
||||
&
|
||||
cell3-2
|
||||
\\
|
||||
\hline
|
||||
\end{longtable}\sphinxatlongtableend\end{savenotes}
|
||||
@@ -0,0 +1,51 @@
|
||||
\label{\detokenize{longtable:longtable-having-both-widths-and-problematic-cell}}
|
||||
|
||||
\begin{savenotes}\sphinxatlongtablestart\begin{longtable}{|\X{30}{100}|\X{70}{100}|}
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
\endfirsthead
|
||||
|
||||
\multicolumn{2}{c}%
|
||||
{\makebox[0pt]{\sphinxtablecontinued{\tablename\ \thetable{} -- continued from previous page}}}\\
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
\endhead
|
||||
|
||||
\hline
|
||||
\multicolumn{2}{r}{\makebox[0pt][r]{\sphinxtablecontinued{Continued on next page}}}\\
|
||||
\endfoot
|
||||
|
||||
\endlastfoot
|
||||
\begin{itemize}
|
||||
\item {}
|
||||
item1
|
||||
|
||||
\item {}
|
||||
item2
|
||||
|
||||
\end{itemize}
|
||||
&
|
||||
cell1-2
|
||||
\\
|
||||
\hline
|
||||
cell2-1
|
||||
&
|
||||
cell2-2
|
||||
\\
|
||||
\hline
|
||||
cell3-1
|
||||
&
|
||||
cell3-2
|
||||
\\
|
||||
\hline
|
||||
\end{longtable}\sphinxatlongtableend\end{savenotes}
|
||||
@@ -0,0 +1,45 @@
|
||||
\label{\detokenize{longtable:longtable-with-tabularcolumn}}
|
||||
|
||||
\begin{savenotes}\sphinxatlongtablestart\begin{longtable}{|c|c|}
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
\endfirsthead
|
||||
|
||||
\multicolumn{2}{c}%
|
||||
{\makebox[0pt]{\sphinxtablecontinued{\tablename\ \thetable{} -- continued from previous page}}}\\
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
\endhead
|
||||
|
||||
\hline
|
||||
\multicolumn{2}{r}{\makebox[0pt][r]{\sphinxtablecontinued{Continued on next page}}}\\
|
||||
\endfoot
|
||||
|
||||
\endlastfoot
|
||||
|
||||
cell1-1
|
||||
&
|
||||
cell1-2
|
||||
\\
|
||||
\hline
|
||||
cell2-1
|
||||
&
|
||||
cell2-2
|
||||
\\
|
||||
\hline
|
||||
cell3-1
|
||||
&
|
||||
cell3-2
|
||||
\\
|
||||
\hline
|
||||
\end{longtable}\sphinxatlongtableend\end{savenotes}
|
||||
30
tests/roots/test-latex-table/expects/simple_table.tex
Normal file
@@ -0,0 +1,30 @@
|
||||
\label{\detokenize{tabular:simple-table}}
|
||||
|
||||
\begin{savenotes}\sphinxattablestart
|
||||
\centering
|
||||
\begin{tabulary}{\linewidth}[t]{|T|T|}
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
cell1-1
|
||||
&
|
||||
cell1-2
|
||||
\\
|
||||
\hline
|
||||
cell2-1
|
||||
&
|
||||
cell2-2
|
||||
\\
|
||||
\hline
|
||||
cell3-1
|
||||
&
|
||||
cell3-2
|
||||
\\
|
||||
\hline
|
||||
\end{tabulary}
|
||||
\par
|
||||
\sphinxattableend\end{savenotes}
|
||||
@@ -0,0 +1,33 @@
|
||||
\label{\detokenize{tabular:table-having-caption}}
|
||||
|
||||
\begin{savenotes}\sphinxattablestart
|
||||
\centering
|
||||
\sphinxcapstartof{table}
|
||||
\sphinxcaption{caption for table}\label{\detokenize{tabular:id1}}
|
||||
\sphinxaftercaption
|
||||
\begin{tabulary}{\linewidth}[t]{|T|T|}
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
cell1-1
|
||||
&
|
||||
cell1-2
|
||||
\\
|
||||
\hline
|
||||
cell2-1
|
||||
&
|
||||
cell2-2
|
||||
\\
|
||||
\hline
|
||||
cell3-1
|
||||
&
|
||||
cell3-2
|
||||
\\
|
||||
\hline
|
||||
\end{tabulary}
|
||||
\par
|
||||
\sphinxattableend\end{savenotes}
|
||||
@@ -0,0 +1,36 @@
|
||||
\label{\detokenize{tabular:table-having-problematic-cell}}
|
||||
|
||||
\begin{savenotes}\sphinxattablestart
|
||||
\centering
|
||||
\begin{tabular}[t]{|*{2}{\X{1}{2}|}}
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline\begin{itemize}
|
||||
\item {}
|
||||
item1
|
||||
|
||||
\item {}
|
||||
item2
|
||||
|
||||
\end{itemize}
|
||||
&
|
||||
cell1-2
|
||||
\\
|
||||
\hline
|
||||
cell2-1
|
||||
&
|
||||
cell2-2
|
||||
\\
|
||||
\hline
|
||||
cell3-1
|
||||
&
|
||||
cell3-2
|
||||
\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\par
|
||||
\sphinxattableend\end{savenotes}
|
||||
@@ -0,0 +1,37 @@
|
||||
\label{\detokenize{tabular:table-having-both-stub-columns-and-problematic-cell}}
|
||||
|
||||
\begin{savenotes}\sphinxattablestart
|
||||
\centering
|
||||
\begin{tabular}[t]{|*{3}{\X{1}{3}|}}
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
&\sphinxstyletheadfamily
|
||||
header3
|
||||
\\
|
||||
\hline\sphinxstyletheadfamily \begin{itemize}
|
||||
\item {}
|
||||
instub1-1a
|
||||
|
||||
\item {}
|
||||
instub1-1b
|
||||
|
||||
\end{itemize}
|
||||
&\sphinxstyletheadfamily
|
||||
instub1-2
|
||||
&
|
||||
notinstub1-3
|
||||
\\
|
||||
\hline\sphinxstyletheadfamily
|
||||
cell2-1
|
||||
&\sphinxstyletheadfamily
|
||||
cell2-2
|
||||
&
|
||||
cell2-3
|
||||
\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\par
|
||||
\sphinxattableend\end{savenotes}
|
||||
@@ -0,0 +1,32 @@
|
||||
\label{\detokenize{tabular:table-having-verbatim}}
|
||||
|
||||
\begin{savenotes}\sphinxattablestart
|
||||
\centering
|
||||
\begin{tabular}[t]{|*{2}{\X{1}{2}|}}
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
\begin{sphinxVerbatimintable}[commandchars=\\\{\}]
|
||||
\PYG{n}{hello} \PYG{n}{world}
|
||||
\end{sphinxVerbatimintable}
|
||||
&
|
||||
cell1-2
|
||||
\\
|
||||
\hline
|
||||
cell2-1
|
||||
&
|
||||
cell2-2
|
||||
\\
|
||||
\hline
|
||||
cell3-1
|
||||
&
|
||||
cell3-2
|
||||
\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\par
|
||||
\sphinxattableend\end{savenotes}
|
||||
30
tests/roots/test-latex-table/expects/table_having_widths.tex
Normal file
@@ -0,0 +1,30 @@
|
||||
\label{\detokenize{tabular:table-having-widths-option}}
|
||||
|
||||
\begin{savenotes}\sphinxattablestart
|
||||
\centering
|
||||
\begin{tabular}[t]{|\X{30}{100}|\X{70}{100}|}
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
cell1-1
|
||||
&
|
||||
cell1-2
|
||||
\\
|
||||
\hline
|
||||
cell2-1
|
||||
&
|
||||
cell2-2
|
||||
\\
|
||||
\hline
|
||||
cell3-1
|
||||
&
|
||||
cell3-2
|
||||
\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\par
|
||||
\sphinxattableend\end{savenotes}
|
||||
@@ -0,0 +1,36 @@
|
||||
\label{\detokenize{tabular:table-having-both-widths-and-problematic-cell}}
|
||||
|
||||
\begin{savenotes}\sphinxattablestart
|
||||
\centering
|
||||
\begin{tabular}[t]{|\X{30}{100}|\X{70}{100}|}
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline\begin{itemize}
|
||||
\item {}
|
||||
item1
|
||||
|
||||
\item {}
|
||||
item2
|
||||
|
||||
\end{itemize}
|
||||
&
|
||||
cell1-2
|
||||
\\
|
||||
\hline
|
||||
cell2-1
|
||||
&
|
||||
cell2-2
|
||||
\\
|
||||
\hline
|
||||
cell3-1
|
||||
&
|
||||
cell3-2
|
||||
\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\par
|
||||
\sphinxattableend\end{savenotes}
|
||||
@@ -0,0 +1,30 @@
|
||||
\label{\detokenize{tabular:table-having-align-option-tabular}}
|
||||
|
||||
\begin{savenotes}\sphinxattablestart
|
||||
\raggedright
|
||||
\begin{tabular}[t]{|\X{30}{100}|\X{70}{100}|}
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
cell1-1
|
||||
&
|
||||
cell1-2
|
||||
\\
|
||||
\hline
|
||||
cell2-1
|
||||
&
|
||||
cell2-2
|
||||
\\
|
||||
\hline
|
||||
cell3-1
|
||||
&
|
||||
cell3-2
|
||||
\\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\par
|
||||
\sphinxattableend\end{savenotes}
|
||||
30
tests/roots/test-latex-table/expects/tabularcolumn.tex
Normal file
@@ -0,0 +1,30 @@
|
||||
\label{\detokenize{tabular:table-with-tabularcolumn}}
|
||||
|
||||
\begin{savenotes}\sphinxattablestart
|
||||
\centering
|
||||
\begin{tabulary}{\linewidth}[t]{|c|c|}
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
cell1-1
|
||||
&
|
||||
cell1-2
|
||||
\\
|
||||
\hline
|
||||
cell2-1
|
||||
&
|
||||
cell2-2
|
||||
\\
|
||||
\hline
|
||||
cell3-1
|
||||
&
|
||||
cell3-2
|
||||
\\
|
||||
\hline
|
||||
\end{tabulary}
|
||||
\par
|
||||
\sphinxattableend\end{savenotes}
|
||||
@@ -0,0 +1,30 @@
|
||||
\label{\detokenize{tabular:table-having-align-option-tabulary}}
|
||||
|
||||
\begin{savenotes}\sphinxattablestart
|
||||
\raggedleft
|
||||
\begin{tabulary}{\linewidth}[t]{|T|T|}
|
||||
\hline
|
||||
\sphinxstyletheadfamily
|
||||
header1
|
||||
&\sphinxstyletheadfamily
|
||||
header2
|
||||
\\
|
||||
\hline
|
||||
cell1-1
|
||||
&
|
||||
cell1-2
|
||||
\\
|
||||
\hline
|
||||
cell2-1
|
||||
&
|
||||
cell2-2
|
||||
\\
|
||||
\hline
|
||||
cell3-1
|
||||
&
|
||||
cell3-2
|
||||
\\
|
||||
\hline
|
||||
\end{tabulary}
|
||||
\par
|
||||
\sphinxattableend\end{savenotes}
|
||||
67
tests/roots/test-root/Makefile
Normal file
@@ -0,0 +1,67 @@
|
||||
# Makefile for Sphinx documentation
|
||||
#
|
||||
|
||||
# You can set these variables from the command line.
|
||||
SPHINXOPTS =
|
||||
SPHINXBUILD = sphinx-build
|
||||
|
||||
# Internal variables.
|
||||
ALLSPHINXOPTS = -d _build/doctrees $(SPHINXOPTS) .
|
||||
|
||||
.PHONY: help clean html web pickle htmlhelp latex changes linkcheck
|
||||
|
||||
help:
|
||||
@echo "Please use \`make <target>' where <target> is one of"
|
||||
@echo " html to make standalone HTML files"
|
||||
@echo " pickle to make pickle files (usable by e.g. sphinx-web)"
|
||||
@echo " htmlhelp to make HTML files and an HTML help project"
|
||||
@echo " latex to make LaTeX files"
|
||||
@echo " changes to make an overview over all changed/added/deprecated items"
|
||||
@echo " linkcheck to check all external links for integrity"
|
||||
|
||||
clean:
|
||||
rm -rf _build/*
|
||||
|
||||
html:
|
||||
mkdir -p _build/html _build/doctrees
|
||||
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) _build/html
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in _build/html."
|
||||
|
||||
pickle:
|
||||
mkdir -p _build/pickle _build/doctrees
|
||||
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) _build/pickle
|
||||
@echo
|
||||
@echo "Build finished; now you can process the pickle files or run"
|
||||
@echo " sphinx-web _build/pickle"
|
||||
@echo "to start the sphinx-web server."
|
||||
|
||||
web: pickle
|
||||
|
||||
htmlhelp:
|
||||
mkdir -p _build/htmlhelp _build/doctrees
|
||||
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) _build/htmlhelp
|
||||
@echo
|
||||
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
||||
".hhp project file in _build/htmlhelp."
|
||||
|
||||
latex:
|
||||
mkdir -p _build/latex _build/doctrees
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) _build/latex
|
||||
@echo
|
||||
@echo "Build finished; the LaTeX files are in _build/latex."
|
||||
@echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
|
||||
"run these through (pdf)latex."
|
||||
|
||||
changes:
|
||||
mkdir -p _build/changes _build/doctrees
|
||||
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) _build/changes
|
||||
@echo
|
||||
@echo "The overview file is in _build/changes."
|
||||
|
||||
linkcheck:
|
||||
mkdir -p _build/linkcheck _build/doctrees
|
||||
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) _build/linkcheck
|
||||
@echo
|
||||
@echo "Link check complete; look for any errors in the above output " \
|
||||
"or in _build/linkcheck/output.txt."
|
||||
1
tests/roots/test-root/_static/README
Normal file
@@ -0,0 +1 @@
|
||||
This whole directory is there to test html_static_path.
|
||||
1
tests/roots/test-root/_static/excluded.css
Normal file
@@ -0,0 +1 @@
|
||||
/* This file should be excluded from being copied over */
|
||||
1
tests/roots/test-root/_static/subdir/foo.css
Normal file
@@ -0,0 +1 @@
|
||||
/* Stub file */
|
||||
2
tests/roots/test-root/_templates/contentssb.html
Normal file
@@ -0,0 +1,2 @@
|
||||
{# sidebar only for contents document #}
|
||||
<h4>Contents sidebar</h4>
|
||||
4
tests/roots/test-root/_templates/customsb.html
Normal file
@@ -0,0 +1,4 @@
|
||||
{# custom sidebar template #}
|
||||
<h4>Custom sidebar</h4>
|
||||
|
||||
{{ toctree(titles_only=True, maxdepth=1) }}
|
||||
15
tests/roots/test-root/_templates/layout.html
Normal file
@@ -0,0 +1,15 @@
|
||||
{% extends "!layout.html" %}
|
||||
|
||||
{% block extrahead %}
|
||||
{# html_context variable from conf.py #}
|
||||
<meta name="hc" content="{{ hckey }}" />
|
||||
{# html_context variable from confoverrides (as if given on cmdline) #}
|
||||
<meta name="hc_co" content="{{ hckey_co }}" />
|
||||
{{ super() }}
|
||||
{% endblock %}
|
||||
|
||||
{% block sidebartoc %}
|
||||
{# display global TOC in addition to local TOC #}
|
||||
{{ super() }}
|
||||
{{ toctree(collapse=False, maxdepth=-1) }}
|
||||
{% endblock %}
|
||||
49
tests/roots/test-root/autodoc.txt
Normal file
@@ -0,0 +1,49 @@
|
||||
Autodoc tests
|
||||
=============
|
||||
|
||||
Just testing a few autodoc possibilities...
|
||||
|
||||
.. automodule:: util
|
||||
|
||||
.. automodule:: test_autodoc
|
||||
:members:
|
||||
|
||||
.. autofunction:: function
|
||||
|
||||
.. autoclass:: Class
|
||||
:inherited-members:
|
||||
|
||||
Additional content.
|
||||
|
||||
.. autoclass:: Outer
|
||||
:members: Inner
|
||||
|
||||
.. autoattribute:: Class.docattr
|
||||
|
||||
.. autoexception:: CustomEx
|
||||
:members: f
|
||||
|
||||
.. autoclass:: CustomDict
|
||||
:show-inheritance:
|
||||
:members:
|
||||
|
||||
|
||||
.. automodule:: autodoc_fodder
|
||||
:noindex:
|
||||
|
||||
.. autoclass:: MarkupError
|
||||
|
||||
|
||||
.. currentmodule:: test_autodoc
|
||||
|
||||
.. autoclass:: InstAttCls
|
||||
:members:
|
||||
|
||||
All members (5 total)
|
||||
|
||||
.. autoclass:: InstAttCls
|
||||
:members: ca1, ia1
|
||||
|
||||
Specific members (2 total)
|
||||
|
||||
.. automodule:: autodoc_missing_imports
|
||||
7
tests/roots/test-root/autodoc_fodder.py
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
class MarkupError(object):
|
||||
"""
|
||||
.. note:: This is a docstring with a
|
||||
small markup error which should have
|
||||
correct location information.
|
||||
"""
|
||||
18
tests/roots/test-root/autodoc_missing_imports.py
Normal file
@@ -0,0 +1,18 @@
|
||||
|
||||
import missing_module
|
||||
from missing_module import missing_name
|
||||
import missing_package1.missing_module1
|
||||
from missing_package2 import missing_module2
|
||||
from missing_package3.missing_module3 import missing_name
|
||||
|
||||
@missing_name
|
||||
def decoratedFunction():
|
||||
"""decoratedFunction docstring"""
|
||||
return None
|
||||
|
||||
class TestAutodoc(object):
|
||||
"""TestAutodoc docstring."""
|
||||
@missing_name
|
||||
def decoratedMethod(self):
|
||||
"""TestAutodoc::decoratedMethod docstring"""
|
||||
return None
|
||||
12
tests/roots/test-root/bom.po
Normal file
@@ -0,0 +1,12 @@
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
msgid "File with UTF-8 BOM"
|
||||
msgstr "Datei mit UTF-8"
|
||||
|
||||
msgid "This file has a UTF-8 \"BOM\"."
|
||||
msgstr "This file has umlauts: äöü."
|
||||
5
tests/roots/test-root/bom.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
File with UTF-8 BOM
|
||||
===================
|
||||
|
||||
This file has a UTF-8 "BOM".
|
||||
|
||||
117
tests/roots/test-root/conf.py
Normal file
@@ -0,0 +1,117 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import sys, os
|
||||
|
||||
sys.path.append(os.path.abspath('.'))
|
||||
|
||||
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.jsmath', 'sphinx.ext.todo',
|
||||
'sphinx.ext.coverage', 'sphinx.ext.extlinks', 'ext']
|
||||
|
||||
jsmath_path = 'dummy.js'
|
||||
|
||||
templates_path = ['_templates']
|
||||
|
||||
master_doc = 'contents'
|
||||
source_suffix = ['.txt', '.add', '.foo']
|
||||
source_parsers = {'.foo': 'parsermod.Parser'}
|
||||
|
||||
project = 'Sphinx <Tests>'
|
||||
copyright = '2010-2016, Georg Brandl & Team'
|
||||
# If this is changed, remember to update the versionchanges!
|
||||
version = '0.6'
|
||||
release = '0.6alpha1'
|
||||
today_fmt = '%B %d, %Y'
|
||||
exclude_patterns = ['_build', '**/excluded.*']
|
||||
keep_warnings = True
|
||||
pygments_style = 'sphinx'
|
||||
show_authors = True
|
||||
numfig = True
|
||||
|
||||
rst_epilog = '.. |subst| replace:: global substitution'
|
||||
|
||||
html_theme = 'testtheme'
|
||||
html_theme_path = ['.']
|
||||
html_theme_options = {'testopt': 'testoverride'}
|
||||
html_sidebars = {'**': 'customsb.html',
|
||||
'contents': ['contentssb.html', 'localtoc.html',
|
||||
'globaltoc.html']}
|
||||
html_style = 'default.css'
|
||||
html_static_path = ['_static', 'templated.css_t']
|
||||
html_extra_path = ['robots.txt']
|
||||
html_last_updated_fmt = '%b %d, %Y'
|
||||
html_context = {'hckey': 'hcval', 'hckey_co': 'wrong_hcval_co'}
|
||||
|
||||
htmlhelp_basename = 'SphinxTestsdoc'
|
||||
|
||||
applehelp_bundle_id = 'org.sphinx-doc.Sphinx.help'
|
||||
applehelp_disable_external_tools = True
|
||||
|
||||
latex_documents = [
|
||||
('contents', 'SphinxTests.tex', 'Sphinx Tests Documentation',
|
||||
'Georg Brandl \\and someone else', 'manual'),
|
||||
]
|
||||
|
||||
latex_additional_files = ['svgimg.svg']
|
||||
|
||||
texinfo_documents = [
|
||||
('contents', 'SphinxTests', 'Sphinx Tests',
|
||||
'Georg Brandl \\and someone else', 'Sphinx Testing', 'Miscellaneous'),
|
||||
]
|
||||
|
||||
man_pages = [
|
||||
('contents', 'SphinxTests', 'Sphinx Tests Documentation',
|
||||
'Georg Brandl and someone else', 1),
|
||||
]
|
||||
|
||||
value_from_conf_py = 84
|
||||
|
||||
coverage_c_path = ['special/*.h']
|
||||
coverage_c_regexes = {'function': r'^PyAPI_FUNC\(.*\)\s+([^_][\w_]+)'}
|
||||
|
||||
extlinks = {'issue': ('http://bugs.python.org/issue%s', 'issue '),
|
||||
'pyurl': ('http://python.org/%s', None)}
|
||||
|
||||
autodoc_mock_imports = [
|
||||
'missing_module',
|
||||
'missing_package1.missing_module1',
|
||||
'missing_package2.missing_module2',
|
||||
'missing_package3.missing_module3',
|
||||
]
|
||||
|
||||
# modify tags from conf.py
|
||||
tags.add('confpytag')
|
||||
|
||||
# -- extension API
|
||||
|
||||
from docutils import nodes
|
||||
from docutils.parsers.rst import Directive
|
||||
from sphinx import addnodes
|
||||
|
||||
|
||||
def userdesc_parse(env, sig, signode):
|
||||
x, y = sig.split(':')
|
||||
signode += addnodes.desc_name(x, x)
|
||||
signode += addnodes.desc_parameterlist()
|
||||
signode[-1] += addnodes.desc_parameter(y, y)
|
||||
return x
|
||||
|
||||
|
||||
def functional_directive(name, arguments, options, content, lineno,
|
||||
content_offset, block_text, state, state_machine):
|
||||
return [nodes.strong(text='from function: %s' % options['opt'])]
|
||||
|
||||
|
||||
class ClassDirective(Directive):
|
||||
option_spec = {'opt': lambda x: x}
|
||||
|
||||
def run(self):
|
||||
return [nodes.strong(text='from class: %s' % self.options['opt'])]
|
||||
|
||||
|
||||
def setup(app):
|
||||
app.add_config_value('value_from_conf_py', 42, False)
|
||||
app.add_directive('funcdir', functional_directive, opt=lambda x: x)
|
||||
app.add_directive('clsdir', ClassDirective)
|
||||
app.add_object_type('userdesc', 'userdescrole', '%s (userdesc)',
|
||||
userdesc_parse, objname='user desc')
|
||||
app.add_javascript('file://moo.js')
|
||||
70
tests/roots/test-root/contents.txt
Normal file
@@ -0,0 +1,70 @@
|
||||
.. Sphinx Tests documentation master file, created by sphinx-quickstart on Wed Jun 4 23:49:58 2008.
|
||||
You can adapt this file completely to your liking, but it should at least
|
||||
contain the root `toctree` directive.
|
||||
|
||||
Welcome to Sphinx Tests's documentation!
|
||||
========================================
|
||||
|
||||
Contents:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:numbered:
|
||||
:caption: Table of Contents
|
||||
:name: mastertoc
|
||||
|
||||
extapi
|
||||
images
|
||||
subdir/images
|
||||
subdir/includes
|
||||
includes
|
||||
markup
|
||||
objects
|
||||
bom
|
||||
math
|
||||
autodoc
|
||||
metadata
|
||||
extensions
|
||||
extensions
|
||||
footnote
|
||||
lists
|
||||
otherext
|
||||
|
||||
http://sphinx-doc.org/
|
||||
Latest reference <http://sphinx-doc.org/latest/>
|
||||
Python <http://python.org/>
|
||||
|
||||
self
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
||||
* :ref:`genindex`
|
||||
* :ref:`modindex`
|
||||
* :ref:`search`
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
.. [Ref1] Reference target.
|
||||
.. [Ref_1] Reference target 2.
|
||||
|
||||
Test for issue #1157
|
||||
====================
|
||||
|
||||
This used to crash:
|
||||
|
||||
.. toctree::
|
||||
|
||||
.. toctree::
|
||||
:hidden:
|
||||
|
||||
Test for issue #1700
|
||||
====================
|
||||
|
||||
:ref:`mastertoc`
|
||||
|
||||
Test for indirect hyperlink targets
|
||||
===================================
|
||||
|
||||
:ref:`indirect hyperref <other-label>`
|
||||
2
tests/roots/test-root/en.lproj/localized.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
This file should be included in the final bundle by the applehelp builder.
|
||||
It should be ignored by other builders.
|
||||
4
tests/roots/test-root/ext.py
Normal file
@@ -0,0 +1,4 @@
|
||||
# Test extension module
|
||||
|
||||
def setup(app):
|
||||
app.add_config_value('value_from_ext', [], False)
|
||||
10
tests/roots/test-root/extapi.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Extension API tests
|
||||
===================
|
||||
|
||||
Testing directives:
|
||||
|
||||
.. funcdir::
|
||||
:opt: Foo
|
||||
|
||||
.. clsdir::
|
||||
:opt: Bar
|
||||
28
tests/roots/test-root/extensions.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
Test for diverse extensions
|
||||
===========================
|
||||
|
||||
extlinks
|
||||
--------
|
||||
|
||||
Test diverse links: :issue:`1000` and :pyurl:`dev/`, also with
|
||||
:issue:`explicit caption <1042>`.
|
||||
|
||||
|
||||
todo
|
||||
----
|
||||
|
||||
.. todo::
|
||||
|
||||
Test the todo extension.
|
||||
|
||||
.. todo::
|
||||
|
||||
Test with |sub| (see #286).
|
||||
|
||||
.. |sub| replace:: substitution references
|
||||
|
||||
|
||||
list of all todos
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. todolist::
|
||||
57
tests/roots/test-root/footnote.txt
Normal file
@@ -0,0 +1,57 @@
|
||||
:tocdepth: 2
|
||||
|
||||
Testing footnote and citation
|
||||
================================
|
||||
.. #1058 footnote-backlinks-do-not-work
|
||||
|
||||
numbered footnote
|
||||
--------------------
|
||||
|
||||
[1]_
|
||||
|
||||
auto-numbered footnote
|
||||
------------------------------
|
||||
|
||||
[#]_
|
||||
|
||||
named footnote
|
||||
--------------------
|
||||
|
||||
[#foo]_
|
||||
|
||||
citation
|
||||
--------------------
|
||||
|
||||
[bar]_
|
||||
|
||||
footnotes in table
|
||||
--------------------
|
||||
|
||||
.. list-table:: Table caption [#]_
|
||||
:header-rows: 1
|
||||
|
||||
* - name [#]_
|
||||
- desription
|
||||
* - VIDIOC_CROPCAP
|
||||
- Information about VIDIOC_CROPCAP [#]_
|
||||
|
||||
footenotes
|
||||
--------------------
|
||||
|
||||
.. rubric:: Footnotes
|
||||
|
||||
.. [1] numbered
|
||||
|
||||
.. [#] auto numbered
|
||||
|
||||
.. [#foo] named
|
||||
|
||||
.. rubric:: Citations
|
||||
|
||||
.. [bar] cite
|
||||
|
||||
.. [#] footnote in table caption
|
||||
|
||||
.. [#] footnote in table header
|
||||
|
||||
.. [#] footnote in table not in header
|
||||
28
tests/roots/test-root/images.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
Sphinx image handling
|
||||
=====================
|
||||
|
||||
.. first, a simple test with direct filename
|
||||
.. image:: img.png
|
||||
|
||||
.. a non-existing image with direct filename
|
||||
.. image:: foo.png
|
||||
|
||||
.. an image with path name (relative to this directory!)
|
||||
.. image:: subdir/img.png
|
||||
:height: 100
|
||||
:width: 200
|
||||
|
||||
.. an image with unspecified extension
|
||||
.. image:: img.*
|
||||
|
||||
.. a non-local image URI
|
||||
.. image:: https://www.python.org/static/img/python-logo.png
|
||||
|
||||
.. an image with subdir and unspecified extension
|
||||
.. image:: subdir/simg.*
|
||||
|
||||
.. an SVG image (for HTML at least)
|
||||
.. image:: svgimg.*
|
||||
|
||||
.. an image with more than 1 dot in its file name
|
||||
.. image:: img.foo.png
|
||||
BIN
tests/roots/test-root/img.foo.png
Normal file
|
After Width: | Height: | Size: 65 KiB |
BIN
tests/roots/test-root/img.gif
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
tests/roots/test-root/img.pdf
Normal file
BIN
tests/roots/test-root/img.png
Normal file
|
After Width: | Height: | Size: 65 KiB |
102
tests/roots/test-root/includes.txt
Normal file
@@ -0,0 +1,102 @@
|
||||
Testing downloadable files
|
||||
==========================
|
||||
|
||||
Download :download:`img.png` here.
|
||||
Download :download:`this <subdir/img.png>` there.
|
||||
Don't download :download:`this <nonexisting.png>`.
|
||||
|
||||
Test file and literal inclusion
|
||||
===============================
|
||||
|
||||
.. include:: subdir/include.inc
|
||||
|
||||
.. include:: /subdir/include.inc
|
||||
|
||||
.. literalinclude:: literal.inc
|
||||
:language: python
|
||||
|
||||
.. should succeed
|
||||
.. literalinclude:: wrongenc.inc
|
||||
:encoding: latin-1
|
||||
:language: none
|
||||
.. include:: wrongenc.inc
|
||||
:encoding: latin-1
|
||||
|
||||
Literalinclude options
|
||||
======================
|
||||
|
||||
.. highlight:: text
|
||||
|
||||
.. cssclass:: inc-pyobj1
|
||||
.. literalinclude:: literal.inc
|
||||
:pyobject: Foo
|
||||
|
||||
.. cssclass:: inc-pyobj2
|
||||
.. literalinclude:: literal.inc
|
||||
:pyobject: Bar.baz
|
||||
|
||||
.. cssclass:: inc-lines
|
||||
.. literalinclude:: literal.inc
|
||||
:lines: 6-7,9
|
||||
:lineno-start: 6
|
||||
|
||||
.. cssclass:: inc-startend
|
||||
.. literalinclude:: literal.inc
|
||||
:start-after: coding: utf-8
|
||||
:end-before: class Foo
|
||||
|
||||
.. cssclass:: inc-preappend
|
||||
.. literalinclude:: literal.inc
|
||||
:prepend: START CODE
|
||||
:append: END CODE
|
||||
|
||||
.. literalinclude:: literal.inc
|
||||
:start-after: utf-8
|
||||
|
||||
.. literalinclude:: literal.inc
|
||||
:end-before: class Foo
|
||||
|
||||
.. literalinclude:: literal.inc
|
||||
:diff: literal_orig.inc
|
||||
|
||||
.. cssclass:: inc-tab3
|
||||
.. literalinclude:: tabs.inc
|
||||
:tab-width: 3
|
||||
:language: text
|
||||
|
||||
.. cssclass:: inc-tab8
|
||||
.. literalinclude:: tabs.inc
|
||||
:tab-width: 8
|
||||
:language: python
|
||||
|
||||
.. cssclass:: inc-pyobj-lines-match
|
||||
.. literalinclude:: literal.inc
|
||||
:pyobject: Foo
|
||||
:lineno-match:
|
||||
|
||||
.. cssclass:: inc-lines-match
|
||||
.. literalinclude:: literal.inc
|
||||
:lines: 6-7,8
|
||||
:lineno-match:
|
||||
|
||||
.. cssclass:: inc-startend-match
|
||||
.. literalinclude:: literal.inc
|
||||
:start-after: coding: utf-8
|
||||
:end-before: class Foo
|
||||
:lineno-match:
|
||||
|
||||
Test if dedenting before parsing works.
|
||||
|
||||
.. highlight:: python
|
||||
|
||||
.. cssclass:: inc-pyobj-dedent
|
||||
.. literalinclude:: literal.inc
|
||||
:pyobject: Bar.baz
|
||||
|
||||
Docutils include with "literal"
|
||||
===============================
|
||||
|
||||
While not recommended, it should work (and leave quotes alone).
|
||||
|
||||
.. include:: quotes.inc
|
||||
:literal:
|
||||
63
tests/roots/test-root/lists.txt
Normal file
@@ -0,0 +1,63 @@
|
||||
Various kinds of lists
|
||||
======================
|
||||
|
||||
|
||||
nested enumerated lists
|
||||
-----------------------
|
||||
|
||||
#. one
|
||||
|
||||
#. two
|
||||
|
||||
#. two.1
|
||||
#. two.2
|
||||
|
||||
#. three
|
||||
|
||||
|
||||
enumerated lists with non-default start values
|
||||
----------------------------------------------
|
||||
|
||||
0. zero
|
||||
#. one
|
||||
|
||||
----------------------------------------
|
||||
|
||||
1. one
|
||||
#. two
|
||||
|
||||
----------------------------------------
|
||||
|
||||
2. two
|
||||
#. three
|
||||
|
||||
|
||||
enumerated lists using letters
|
||||
------------------------------
|
||||
|
||||
a. a
|
||||
|
||||
b. b
|
||||
|
||||
#. c
|
||||
|
||||
#. d
|
||||
|
||||
----------------------------------------
|
||||
|
||||
x. x
|
||||
|
||||
y. y
|
||||
|
||||
#. z
|
||||
|
||||
#. {
|
||||
|
||||
definition lists
|
||||
-----------------
|
||||
|
||||
term1
|
||||
description
|
||||
|
||||
term2 (**stronged partially**)
|
||||
description
|
||||
13
tests/roots/test-root/literal.inc
Normal file
@@ -0,0 +1,13 @@
|
||||
# Literally included file using Python highlighting
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
foo = "Including Unicode characters: üöä"
|
||||
|
||||
class Foo:
|
||||
pass
|
||||
|
||||
class Bar:
|
||||
def baz():
|
||||
pass
|
||||
|
||||
def bar(): pass
|
||||
13
tests/roots/test-root/literal_orig.inc
Normal file
@@ -0,0 +1,13 @@
|
||||
# Literally included file using Python highlighting
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
foo = "Including Unicode characters: üöä" # This will be changed
|
||||
|
||||
class FooOrig:
|
||||
pass
|
||||
|
||||
class BarOrig:
|
||||
def baz():
|
||||
pass
|
||||
|
||||
def bar(): pass
|
||||
452
tests/roots/test-root/markup.txt
Normal file
@@ -0,0 +1,452 @@
|
||||
:tocdepth: 2
|
||||
|
||||
.. title:: set by title directive
|
||||
|
||||
Testing various markup
|
||||
======================
|
||||
|
||||
Meta markup
|
||||
-----------
|
||||
|
||||
.. sectionauthor:: Georg Brandl
|
||||
.. moduleauthor:: Georg Brandl
|
||||
|
||||
.. contents:: TOC
|
||||
|
||||
.. meta::
|
||||
:author: Me
|
||||
:keywords: docs, sphinx
|
||||
|
||||
|
||||
Generic reST
|
||||
------------
|
||||
|
||||
A |subst| (the definition is in rst_epilog).
|
||||
|
||||
.. highlight:: none
|
||||
|
||||
.. _label:
|
||||
|
||||
::
|
||||
|
||||
some code
|
||||
|
||||
Option list:
|
||||
|
||||
-h help
|
||||
--help also help
|
||||
|
||||
Line block:
|
||||
|
||||
| line1
|
||||
| line2
|
||||
| line3
|
||||
| line4
|
||||
| line5
|
||||
| line6
|
||||
| line7
|
||||
|
||||
|
||||
Body directives
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
.. topic:: Title
|
||||
|
||||
Topic body.
|
||||
|
||||
.. sidebar:: Sidebar
|
||||
:subtitle: Sidebar subtitle
|
||||
|
||||
Sidebar body.
|
||||
|
||||
.. rubric:: Test rubric
|
||||
|
||||
.. epigraph:: Epigraph title
|
||||
|
||||
Epigraph body.
|
||||
|
||||
-- Author
|
||||
|
||||
.. highlights:: Highlights
|
||||
|
||||
Highlights body.
|
||||
|
||||
.. pull-quote:: Pull-quote
|
||||
|
||||
Pull quote body.
|
||||
|
||||
.. compound::
|
||||
|
||||
a
|
||||
|
||||
b
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
with some *markup* inside
|
||||
|
||||
|
||||
.. _admonition-section:
|
||||
|
||||
Admonitions
|
||||
^^^^^^^^^^^
|
||||
|
||||
.. admonition:: My Admonition
|
||||
|
||||
Admonition text.
|
||||
|
||||
.. note::
|
||||
Note text.
|
||||
|
||||
.. warning::
|
||||
|
||||
Warning text.
|
||||
|
||||
.. _some-label:
|
||||
|
||||
.. tip::
|
||||
Tip text.
|
||||
|
||||
Indirect hyperlink targets
|
||||
|
||||
.. _other-label: some-label_
|
||||
|
||||
Inline markup
|
||||
-------------
|
||||
|
||||
*Generic inline markup*
|
||||
|
||||
Adding \n to test unescaping.
|
||||
|
||||
* :command:`command\\n`
|
||||
* :dfn:`dfn\\n`
|
||||
* :guilabel:`guilabel with &accelerator and \\n`
|
||||
* :kbd:`kbd\\n`
|
||||
* :mailheader:`mailheader\\n`
|
||||
* :makevar:`makevar\\n`
|
||||
* :manpage:`manpage\\n`
|
||||
* :mimetype:`mimetype\\n`
|
||||
* :newsgroup:`newsgroup\\n`
|
||||
* :program:`program\\n`
|
||||
* :regexp:`regexp\\n`
|
||||
* :menuselection:`File --> Close\\n`
|
||||
* :menuselection:`&File --> &Print`
|
||||
* :file:`a/{varpart}/b\\n`
|
||||
* :samp:`print {i}\\n`
|
||||
|
||||
*Linking inline markup*
|
||||
|
||||
* :pep:`8`
|
||||
* :pep:`Python Enhancement Proposal #8 <8>`
|
||||
* :rfc:`1`
|
||||
* :rfc:`Request for Comments #1 <1>`
|
||||
* :envvar:`HOME`
|
||||
* :keyword:`with`
|
||||
* :token:`try statement <try_stmt>`
|
||||
* :ref:`admonition-section`
|
||||
* :ref:`here <some-label>`
|
||||
* :ref:`there <other-label>`
|
||||
* :ref:`my-figure`
|
||||
* :ref:`my-figure-name`
|
||||
* :ref:`my-table`
|
||||
* :ref:`my-table-name`
|
||||
* :ref:`my-code-block`
|
||||
* :ref:`my-code-block-name`
|
||||
* :numref:`my-figure`
|
||||
* :numref:`my-figure-name`
|
||||
* :numref:`my-table`
|
||||
* :numref:`my-table-name`
|
||||
* :numref:`my-code-block`
|
||||
* :numref:`my-code-block-name`
|
||||
* :doc:`subdir/includes`
|
||||
* ``:download:`` is tested in includes.txt
|
||||
* :option:`Python -c option <python -c>`
|
||||
|
||||
Test :abbr:`abbr (abbreviation)` and another :abbr:`abbr (abbreviation)`.
|
||||
|
||||
Testing the :index:`index` role, also available with
|
||||
:index:`explicit <pair: title; explicit>` title.
|
||||
|
||||
.. _with:
|
||||
|
||||
With
|
||||
----
|
||||
|
||||
(Empty section.)
|
||||
|
||||
|
||||
Tables
|
||||
------
|
||||
|
||||
.. tabularcolumns:: |L|p{5cm}|R|
|
||||
|
||||
.. _my-table:
|
||||
|
||||
.. table:: my table
|
||||
:name: my-table-name
|
||||
|
||||
+----+----------------+----+
|
||||
| 1 | * Block elems | x |
|
||||
| | * In table | |
|
||||
+----+----------------+----+
|
||||
| 2 | Empty cells: | |
|
||||
+----+----------------+----+
|
||||
|
||||
.. table:: empty cell in table header
|
||||
|
||||
===== ======
|
||||
\
|
||||
===== ======
|
||||
1 2
|
||||
3 4
|
||||
===== ======
|
||||
|
||||
Tables with multirow and multicol:
|
||||
|
||||
.. only:: latex
|
||||
|
||||
+----+----------------+---------+
|
||||
| 1 | test! | c |
|
||||
+----+---------+------+ |
|
||||
| 2 | col | col | |
|
||||
| y +---------+------+----+----+
|
||||
| x | multi-column cell | x |
|
||||
+----+---------------------+----+
|
||||
|
||||
+----+
|
||||
| 1 |
|
||||
+ +
|
||||
| |
|
||||
+----+
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 0
|
||||
|
||||
* - .. figure:: img.png
|
||||
|
||||
figure in table
|
||||
|
||||
|
||||
Figures
|
||||
-------
|
||||
|
||||
.. _my-figure:
|
||||
|
||||
.. figure:: img.png
|
||||
:name: my-figure-name
|
||||
|
||||
My caption of the figure
|
||||
|
||||
My description paragraph of the figure.
|
||||
|
||||
Description paragraph is wraped with legend node.
|
||||
|
||||
.. figure:: rimg.png
|
||||
:align: right
|
||||
|
||||
figure with align option
|
||||
|
||||
.. figure:: rimg.png
|
||||
:align: right
|
||||
:figwidth: 50%
|
||||
|
||||
figure with align & figwidth option
|
||||
|
||||
.. figure:: rimg.png
|
||||
:align: right
|
||||
:width: 3cm
|
||||
|
||||
figure with align & width option
|
||||
|
||||
Version markup
|
||||
--------------
|
||||
|
||||
.. versionadded:: 0.6
|
||||
Some funny **stuff**.
|
||||
|
||||
.. versionchanged:: 0.6
|
||||
Even more funny stuff.
|
||||
|
||||
.. deprecated:: 0.6
|
||||
Boring stuff.
|
||||
|
||||
.. versionadded:: 1.2
|
||||
|
||||
First paragraph of versionadded.
|
||||
|
||||
.. versionchanged:: 1.2
|
||||
First paragraph of versionchanged.
|
||||
|
||||
Second paragraph of versionchanged.
|
||||
|
||||
|
||||
Code blocks
|
||||
-----------
|
||||
|
||||
.. _my-code-block:
|
||||
|
||||
.. code-block:: ruby
|
||||
:linenos:
|
||||
:caption: my ruby code
|
||||
:name: my-code-block-name
|
||||
|
||||
def ruby?
|
||||
false
|
||||
end
|
||||
|
||||
Misc stuff
|
||||
----------
|
||||
|
||||
Stuff [#]_
|
||||
|
||||
Reference lookup: [Ref1]_ (defined in another file).
|
||||
Reference lookup underscore: [Ref_1]_
|
||||
|
||||
.. seealso:: something, something else, something more
|
||||
|
||||
`Google <http://www.google.com>`_
|
||||
For everything.
|
||||
|
||||
.. hlist::
|
||||
:columns: 4
|
||||
|
||||
* This
|
||||
* is
|
||||
* a horizontal
|
||||
* list
|
||||
* with several
|
||||
* items
|
||||
|
||||
.. rubric:: Side note
|
||||
|
||||
This is a side note.
|
||||
|
||||
This tests :CLASS:`role names in uppercase`.
|
||||
|
||||
.. centered:: LICENSE AGREEMENT
|
||||
|
||||
.. acks::
|
||||
|
||||
* Terry Pratchett
|
||||
* J. R. R. Tolkien
|
||||
* Monty Python
|
||||
|
||||
.. glossary::
|
||||
:sorted:
|
||||
|
||||
boson
|
||||
Particle with integer spin.
|
||||
|
||||
*fermion*
|
||||
Particle with half-integer spin.
|
||||
|
||||
tauon
|
||||
myon
|
||||
electron
|
||||
Examples for fermions.
|
||||
|
||||
über
|
||||
Gewisse
|
||||
|
||||
änhlich
|
||||
Dinge
|
||||
|
||||
.. productionlist::
|
||||
try_stmt: `try1_stmt` | `try2_stmt`
|
||||
try1_stmt: "try" ":" `suite`
|
||||
: ("except" [`expression` ["," `target`]] ":" `suite`)+
|
||||
: ["else" ":" `suite`]
|
||||
: ["finally" ":" `suite`]
|
||||
try2_stmt: "try" ":" `suite`
|
||||
: "finally" ":" `suite`
|
||||
|
||||
|
||||
Index markup
|
||||
------------
|
||||
|
||||
.. index::
|
||||
single: entry
|
||||
pair: entry; pair
|
||||
double: entry; double
|
||||
triple: index; entry; triple
|
||||
keyword: with
|
||||
see: from; to
|
||||
seealso: fromalso; toalso
|
||||
|
||||
.. index::
|
||||
!Main, !Other
|
||||
!single: entry; pair
|
||||
|
||||
:index:`!Main`
|
||||
|
||||
.. _ölabel:
|
||||
|
||||
Ö... Some strange characters
|
||||
----------------------------
|
||||
|
||||
Testing öäü...
|
||||
|
||||
|
||||
Only directive
|
||||
--------------
|
||||
|
||||
.. only:: html
|
||||
|
||||
In HTML.
|
||||
|
||||
.. only:: latex
|
||||
|
||||
In LaTeX.
|
||||
|
||||
.. only:: html or latex
|
||||
|
||||
In both.
|
||||
|
||||
.. only:: confpytag and (testtag or nonexisting_tag)
|
||||
|
||||
Always present, because set through conf.py/command line.
|
||||
|
||||
|
||||
Any role
|
||||
--------
|
||||
|
||||
.. default-role:: any
|
||||
|
||||
Test referencing to `headings <with>` and `objects <func_without_body>`.
|
||||
Also `modules <mod>` and `classes <Time>`.
|
||||
|
||||
More domains:
|
||||
|
||||
* `JS <bar.baz>`
|
||||
* `C <SphinxType>`
|
||||
* `myobj` (user markup)
|
||||
* `n::Array`
|
||||
* `perl -c`
|
||||
|
||||
.. default-role::
|
||||
|
||||
|
||||
Smart quotes
|
||||
------------
|
||||
|
||||
* Smart "quotes" in English 'text'.
|
||||
* Smart --- long and -- short dashes.
|
||||
* Ellipsis...
|
||||
* No smartypants in literal blocks: ``foo--"bar"...``.
|
||||
|
||||
.. only:: html
|
||||
|
||||
.. LaTeX does not like Cyrillic letters in this test, so it is HTML only.
|
||||
|
||||
.. rst-class:: language-ru
|
||||
|
||||
Этот "абзац" должен использовать 'русские' кавычки.
|
||||
|
||||
.. rst-class:: language-fr
|
||||
|
||||
Il dit : "C'est 'super' !"
|
||||
|
||||
.. rubric:: Footnotes
|
||||
|
||||
.. [#] Like footnotes.
|
||||
|
||||
31
tests/roots/test-root/math.txt
Normal file
@@ -0,0 +1,31 @@
|
||||
Test math extensions :math:`E = m c^2`
|
||||
======================================
|
||||
|
||||
This is inline math: :math:`a^2 + b^2 = c^2`.
|
||||
|
||||
.. math:: a^2 + b^2 = c^2
|
||||
|
||||
.. math::
|
||||
|
||||
a + 1 < b
|
||||
|
||||
.. math::
|
||||
:label: foo
|
||||
|
||||
e^{i\pi} = 1
|
||||
|
||||
.. math::
|
||||
:label:
|
||||
|
||||
e^{ix} = \cos x + i\sin x
|
||||
|
||||
.. math::
|
||||
|
||||
n \in \mathbb N
|
||||
|
||||
.. math::
|
||||
:nowrap:
|
||||
|
||||
a + 1 < b
|
||||
|
||||
Referencing equation :eq:`foo`.
|
||||
57
tests/roots/test-root/metadata.add
Normal file
@@ -0,0 +1,57 @@
|
||||
:Author: David Goodger
|
||||
:Address: 123 Example Street
|
||||
Example, EX Canada
|
||||
A1B 2C3
|
||||
:Contact: goodger@python.org
|
||||
:Authors: Me; Myself; I
|
||||
:organization: humankind
|
||||
:date: $Date: 2006-05-21 22:44:42 +0200 (Son, 21 Mai 2006) $
|
||||
:status: This is a "work in progress"
|
||||
:revision: $Revision: 4564 $
|
||||
:version: 1
|
||||
:copyright: This document has been placed in the public domain. You
|
||||
may do with it as you wish. You may copy, modify,
|
||||
redistribute, reattribute, sell, buy, rent, lease,
|
||||
destroy, or improve it, quote it at length, excerpt,
|
||||
incorporate, collate, fold, staple, or mutilate it, or do
|
||||
anything else to it that your or anyone else's heart
|
||||
desires.
|
||||
:field name: This is a generic bibliographic field.
|
||||
:field name 2:
|
||||
Generic bibliographic fields may contain multiple body elements.
|
||||
|
||||
Like this.
|
||||
|
||||
:Dedication:
|
||||
|
||||
For Docutils users & co-developers.
|
||||
|
||||
:abstract:
|
||||
|
||||
This document is a demonstration of the reStructuredText markup
|
||||
language, containing examples of all basic reStructuredText
|
||||
constructs and many advanced constructs.
|
||||
|
||||
:nocomments:
|
||||
:orphan:
|
||||
:tocdepth: 1
|
||||
|
||||
.. meta::
|
||||
:keywords: reStructuredText, demonstration, demo, parser
|
||||
:description lang=en: A demonstration of the reStructuredText
|
||||
markup language, containing examples of all basic
|
||||
constructs and many advanced constructs.
|
||||
|
||||
================================
|
||||
reStructuredText Demonstration
|
||||
================================
|
||||
|
||||
.. Above is the document title, and below is the subtitle.
|
||||
They are transformed from section titles after parsing.
|
||||
|
||||
--------------------------------
|
||||
Examples of Syntax Constructs
|
||||
--------------------------------
|
||||
|
||||
.. bibliographic fields (which also require a transform):
|
||||
|
||||
213
tests/roots/test-root/objects.txt
Normal file
@@ -0,0 +1,213 @@
|
||||
Testing object descriptions
|
||||
===========================
|
||||
|
||||
.. function:: func_without_module(a, b, *c[, d])
|
||||
|
||||
Does something.
|
||||
|
||||
.. function:: func_without_body()
|
||||
|
||||
.. function:: func_with_unknown_field()
|
||||
|
||||
: :
|
||||
|
||||
: empty field name:
|
||||
|
||||
:field_name:
|
||||
|
||||
:field_name all lower:
|
||||
|
||||
:FIELD_NAME:
|
||||
|
||||
:FIELD_NAME ALL CAPS:
|
||||
|
||||
:Field_Name:
|
||||
|
||||
:Field_Name All Word Caps:
|
||||
|
||||
:Field_name:
|
||||
|
||||
:Field_name First word cap:
|
||||
|
||||
:FIELd_name:
|
||||
|
||||
:FIELd_name PARTial caps:
|
||||
|
||||
.. function:: func_noindex
|
||||
:noindex:
|
||||
|
||||
.. function:: func_with_module
|
||||
:module: foolib
|
||||
|
||||
Referring to :func:`func with no index <func_noindex>`.
|
||||
Referring to :func:`nothing <>`.
|
||||
|
||||
.. module:: mod
|
||||
:synopsis: Module synopsis.
|
||||
:platform: UNIX
|
||||
|
||||
.. function:: func_in_module
|
||||
|
||||
.. class:: Cls
|
||||
|
||||
.. method:: meth1
|
||||
|
||||
.. staticmethod:: meths
|
||||
|
||||
.. attribute:: attr
|
||||
|
||||
.. explicit class given
|
||||
.. method:: Cls.meth2
|
||||
|
||||
.. explicit module given
|
||||
.. exception:: Error(arg1, arg2)
|
||||
:module: errmod
|
||||
|
||||
.. data:: var
|
||||
|
||||
|
||||
.. currentmodule:: None
|
||||
|
||||
.. function:: func_without_module2() -> annotation
|
||||
|
||||
.. object:: long(parameter, \
|
||||
list)
|
||||
another one
|
||||
|
||||
.. class:: TimeInt
|
||||
|
||||
Has only one parameter (triggers special behavior...)
|
||||
|
||||
:param moo: |test|
|
||||
:type moo: |test|
|
||||
|
||||
.. |test| replace:: Moo
|
||||
|
||||
.. class:: Time(hour, minute, isdst)
|
||||
|
||||
:param year: The year.
|
||||
:type year: TimeInt
|
||||
:param TimeInt minute: The minute.
|
||||
:param isdst: whether it's DST
|
||||
:type isdst: * some complex
|
||||
* expression
|
||||
:returns: a new :class:`Time` instance
|
||||
:rtype: Time
|
||||
:raises Error: if the values are out of range
|
||||
:ivar int hour: like *hour*
|
||||
:ivar minute: like *minute*
|
||||
:vartype minute: int
|
||||
:param hour: Some parameter
|
||||
:type hour: DuplicateType
|
||||
:param hour: Duplicate param. Should not lead to crashes.
|
||||
:type hour: DuplicateType
|
||||
:param .Cls extcls: A class from another module.
|
||||
|
||||
|
||||
C items
|
||||
=======
|
||||
|
||||
.. c:function:: Sphinx_DoSomething()
|
||||
|
||||
.. c:member:: SphinxStruct.member
|
||||
|
||||
.. c:macro:: SPHINX_USE_PYTHON
|
||||
|
||||
.. c:type:: SphinxType
|
||||
|
||||
.. c:var:: sphinx_global
|
||||
|
||||
|
||||
Javascript items
|
||||
================
|
||||
|
||||
.. js:function:: foo()
|
||||
|
||||
.. js:data:: bar
|
||||
|
||||
.. documenting the method of any object
|
||||
.. js:function:: bar.baz(href, callback[, errback])
|
||||
|
||||
:param string href: The location of the resource.
|
||||
:param callback: Get's called with the data returned by the resource.
|
||||
:throws InvalidHref: If the `href` is invalid.
|
||||
:returns: `undefined`
|
||||
|
||||
.. js:attribute:: bar.spam
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
Referencing :class:`mod.Cls` or :Class:`mod.Cls` should be the same.
|
||||
|
||||
With target: :c:func:`Sphinx_DoSomething()` (parentheses are handled),
|
||||
:c:member:`SphinxStruct.member`, :c:macro:`SPHINX_USE_PYTHON`,
|
||||
:c:type:`SphinxType *` (pointer is handled), :c:data:`sphinx_global`.
|
||||
|
||||
Without target: :c:func:`CFunction`. :c:func:`!malloc`.
|
||||
|
||||
:js:func:`foo()`
|
||||
:js:func:`foo`
|
||||
|
||||
:js:data:`bar`
|
||||
:js:func:`bar.baz()`
|
||||
:js:func:`bar.baz`
|
||||
:js:func:`~bar.baz()`
|
||||
|
||||
:js:attr:`bar.baz`
|
||||
|
||||
|
||||
Others
|
||||
======
|
||||
|
||||
.. envvar:: HOME
|
||||
|
||||
.. program:: python
|
||||
|
||||
.. cmdoption:: -c command
|
||||
|
||||
.. program:: perl
|
||||
|
||||
.. cmdoption:: -c
|
||||
|
||||
.. option:: +p
|
||||
|
||||
.. option:: --ObjC++
|
||||
|
||||
.. option:: --plugin.option
|
||||
|
||||
.. option:: create-auth-token
|
||||
|
||||
.. option:: arg
|
||||
|
||||
Link to :option:`perl +p`, :option:`--ObjC++`, :option:`--plugin.option`, :option:`create-auth-token` and :option:`arg`
|
||||
|
||||
.. program:: hg
|
||||
|
||||
.. option:: commit
|
||||
|
||||
.. program:: git commit
|
||||
|
||||
.. option:: -p
|
||||
|
||||
Link to :option:`hg commit` and :option:`git commit -p`.
|
||||
|
||||
|
||||
User markup
|
||||
===========
|
||||
|
||||
.. userdesc:: myobj:parameter
|
||||
|
||||
Description of userdesc.
|
||||
|
||||
|
||||
Referencing :userdescrole:`myobj`.
|
||||
|
||||
|
||||
CPP domain
|
||||
==========
|
||||
|
||||
.. cpp:class:: n::Array
|
||||
|
||||
.. cpp:function:: T& operator[]( unsigned j )
|
||||
const T& operator[]( unsigned j ) const
|
||||
2
tests/roots/test-root/otherext.foo
Normal file
@@ -0,0 +1,2 @@
|
||||
The contents of this file are ignored.
|
||||
The file is "parsed" using Parser in the tests/root/parsermod.py file.
|
||||
12
tests/roots/test-root/parsermod.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from docutils.parsers import Parser
|
||||
from docutils import nodes
|
||||
|
||||
|
||||
class Parser(Parser):
|
||||
def parse(self, input, document):
|
||||
section = nodes.section(ids=['id1'])
|
||||
section += nodes.title('Generated section', 'Generated section')
|
||||
document += section
|
||||
|
||||
def get_transforms(self):
|
||||
return []
|
||||
1
tests/roots/test-root/quotes.inc
Normal file
@@ -0,0 +1 @@
|
||||
Testing "quotes" in literal 'included' text.
|
||||
BIN
tests/roots/test-root/rimg.png
Normal file
|
After Width: | Height: | Size: 120 B |
2
tests/roots/test-root/robots.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
User-agent: *
|
||||
Disallow: /cgi-bin/
|
||||
1
tests/roots/test-root/special/api.h
Normal file
@@ -0,0 +1 @@
|
||||
PyAPI_FUNC(PyObject *) Py_SphinxTest();
|
||||
2
tests/roots/test-root/special/code.py
Normal file
@@ -0,0 +1,2 @@
|
||||
print("line 1")
|
||||
print("line 2")
|
||||
9
tests/roots/test-root/subdir.po
Normal file
@@ -0,0 +1,9 @@
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
msgid "Including in subdir"
|
||||
msgstr "translation"
|
||||
2
tests/roots/test-root/subdir/excluded.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Excluded file -- should *not* be read as source
|
||||
-----------------------------------------------
|
||||
6
tests/roots/test-root/subdir/images.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
Image including source in subdir
|
||||
================================
|
||||
|
||||
.. image:: img.*
|
||||
|
||||
.. image:: /rimg.png
|
||||
BIN
tests/roots/test-root/subdir/img.png
Normal file
|
After Width: | Height: | Size: 65 KiB |
5
tests/roots/test-root/subdir/include.inc
Normal file
@@ -0,0 +1,5 @@
|
||||
.. This file is included by contents.txt.
|
||||
|
||||
.. Paths in included files are relative to the file that
|
||||
includes them
|
||||
.. image:: ../root/img.png
|
||||
18
tests/roots/test-root/subdir/includes.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
Including in subdir
|
||||
===================
|
||||
|
||||
.. absolute filename
|
||||
.. literalinclude:: /special/code.py
|
||||
:lines: 1
|
||||
|
||||
.. relative filename
|
||||
.. literalinclude:: ../special/code.py
|
||||
:lines: 2
|
||||
|
||||
Absolute :download:`/img.png` download.
|
||||
|
||||
.. absolute image filename
|
||||
.. image:: /img.png
|
||||
|
||||
.. absolute include filename
|
||||
.. include:: /test.inc
|
||||
BIN
tests/roots/test-root/subdir/simg.png
Normal file
|
After Width: | Height: | Size: 65 KiB |
BIN
tests/roots/test-root/svgimg.pdf
Normal file
158
tests/roots/test-root/svgimg.svg
Normal file
@@ -0,0 +1,158 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://web.resource.org/cc/"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="60"
|
||||
width="60"
|
||||
_SVGFile__filename="oldscale/apps/warning.svg"
|
||||
version="1.0"
|
||||
y="0"
|
||||
x="0"
|
||||
id="svg1"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.41"
|
||||
sodipodi:docname="exclamation.svg"
|
||||
sodipodi:docbase="/home/danny/work/icons/primary/scalable/actions">
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0000000"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="7.5136000"
|
||||
inkscape:cx="42.825186"
|
||||
inkscape:cy="24.316071"
|
||||
inkscape:window-width="1020"
|
||||
inkscape:window-height="691"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:current-layer="svg1" />
|
||||
<defs
|
||||
id="defs3">
|
||||
<linearGradient
|
||||
id="linearGradient1160">
|
||||
<stop
|
||||
style="stop-color: #000000;stop-opacity: 1.0;"
|
||||
id="stop1161"
|
||||
offset="0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
id="stop1162"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
xlink:href="#linearGradient1160"
|
||||
id="linearGradient1163" />
|
||||
</defs>
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<RDF
|
||||
id="RDF13">
|
||||
<Work
|
||||
about=""
|
||||
id="Work14">
|
||||
<title
|
||||
id="title15">Part of the Flat Icon Collection (Thu Aug 26 14:31:40 2004)</title>
|
||||
<description
|
||||
id="description17" />
|
||||
<subject
|
||||
id="subject18">
|
||||
<Bag
|
||||
id="Bag19">
|
||||
<li
|
||||
id="li20" />
|
||||
</Bag>
|
||||
</subject>
|
||||
<publisher
|
||||
id="publisher21">
|
||||
<Agent
|
||||
about=""
|
||||
id="Agent22">
|
||||
<title
|
||||
id="title23" />
|
||||
</Agent>
|
||||
</publisher>
|
||||
<creator
|
||||
id="creator24">
|
||||
<Agent
|
||||
about=""
|
||||
id="Agent25">
|
||||
<title
|
||||
id="title26">Danny Allen</title>
|
||||
</Agent>
|
||||
</creator>
|
||||
<rights
|
||||
id="rights28">
|
||||
<Agent
|
||||
about=""
|
||||
id="Agent29">
|
||||
<title
|
||||
id="title30">Danny Allen</title>
|
||||
</Agent>
|
||||
</rights>
|
||||
<date
|
||||
id="date32" />
|
||||
<format
|
||||
id="format33">image/svg+xml</format>
|
||||
<type
|
||||
id="type35"
|
||||
resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<license
|
||||
id="license36"
|
||||
resource="http://creativecommons.org/licenses/LGPL/2.1/">
|
||||
<date
|
||||
id="date37" />
|
||||
</license>
|
||||
<language
|
||||
id="language38">en</language>
|
||||
</Work>
|
||||
</RDF>
|
||||
<rdf:RDF
|
||||
id="RDF40">
|
||||
<cc:Work
|
||||
rdf:about=""
|
||||
id="Work41">
|
||||
<dc:format
|
||||
id="format42">image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
id="type44"
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="g2099">
|
||||
<path
|
||||
style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:8.1250000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none"
|
||||
d="M 55.311891,51.920745 L 4.6880989,51.920744 L 29.999995,8.0792542 L 55.311891,51.920745 z "
|
||||
id="path1724" />
|
||||
<path
|
||||
style="color:#000000;fill:#ffe940;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:3.1250010;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none"
|
||||
d="M 55.311891,51.920745 L 4.6880989,51.920744 L 29.999995,8.0792542 L 55.311891,51.920745 z "
|
||||
id="path1722" />
|
||||
<path
|
||||
style="font-size:12.000000;font-weight:900;fill:none;fill-opacity:1.0000000;stroke:#ffffff;stroke-width:8.1250000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
|
||||
d="M 34.944960,10.779626 L 34.944960,33.186510 C 34.944960,34.752415 34.501979,36.081368 33.616007,37.173380 C 32.750636,38.265402 31.545298,38.811408 29.999995,38.811408 C 28.475302,38.811408 27.269965,38.265402 26.383993,37.173380 C 25.498020,36.060767 25.055030,34.731804 25.055030,33.186510 L 25.055030,10.779626 C 25.055030,9.1931155 25.498020,7.8641562 26.383993,6.7927462 C 27.269965,5.7007332 28.475302,5.1547262 29.999995,5.1547262 C 31.009593,5.1547262 31.885265,5.4019740 32.627010,5.8964706 C 33.389356,6.3909681 33.966274,7.0709005 34.357752,7.9362696 C 34.749221,8.7810349 34.944960,9.7288200 34.944960,10.779626 z "
|
||||
id="path1099" />
|
||||
<path
|
||||
style="font-size:12.000000;font-weight:900;fill:#e71c02;fill-opacity:1.0000000;stroke:none;stroke-width:3.1249981;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1.0000000"
|
||||
d="M 29.999995,3.5986440 C 28.102272,3.5986440 26.318514,4.3848272 25.156245,5.8173940 C 24.028906,7.1806889 23.499995,8.9087770 23.499995,10.786144 L 23.499995,33.192394 C 23.499995,35.036302 24.050685,36.772771 25.156245,38.161144 C 26.318514,39.593721 28.102273,40.379893 29.999995,40.379894 C 31.913354,40.379894 33.697195,39.576736 34.843745,38.129894 C 35.959941,36.754118 36.499995,35.052976 36.499995,33.192394 L 36.499995,10.786144 C 36.499995,9.5413010 36.276626,8.3551469 35.781245,7.2861440 C 35.278844,6.1755772 34.477762,5.2531440 33.468745,4.5986440 C 32.454761,3.9226545 31.264694,3.5986439 29.999995,3.5986440 z "
|
||||
id="path835"
|
||||
sodipodi:nodetypes="cccccccccccc" />
|
||||
<path
|
||||
style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:5.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none"
|
||||
d="M 36.506243,49.901522 C 36.506243,53.492972 33.591442,56.407773 29.999991,56.407773 C 26.408541,56.407773 23.493739,53.492972 23.493739,49.901522 C 23.493739,46.310071 26.408541,43.395270 29.999991,43.395270 C 33.591442,43.395270 36.506243,46.310071 36.506243,49.901522 z "
|
||||
id="path1727" />
|
||||
<path
|
||||
style="color:#000000;fill:#e71c02;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:3.1250000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none"
|
||||
d="M 36.506243,49.901522 C 36.506243,53.492972 33.591442,56.407773 29.999991,56.407773 C 26.408541,56.407773 23.493739,53.492972 23.493739,49.901522 C 23.493739,46.310071 26.408541,43.395270 29.999991,43.395270 C 33.591442,43.395270 36.506243,46.310071 36.506243,49.901522 z "
|
||||
id="path1725" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.2 KiB |
5
tests/roots/test-root/tabs.inc
Normal file
@@ -0,0 +1,5 @@
|
||||
Tabs include file test
|
||||
----------------------
|
||||
|
||||
The next line has a tab:
|
||||
-| |-
|
||||
2
tests/roots/test-root/templated.css_t
Normal file
@@ -0,0 +1,2 @@
|
||||
/* Stub file, templated */
|
||||
{{ sphinx_version }}
|
||||
3
tests/roots/test-root/test.inc
Normal file
@@ -0,0 +1,3 @@
|
||||
.. This file is included from subdir/includes.txt.
|
||||
|
||||
This is an include file.
|
||||
5
tests/roots/test-root/testtheme/layout.html
Normal file
@@ -0,0 +1,5 @@
|
||||
{% extends "basic/layout.html" %}
|
||||
{% block extrahead %}
|
||||
<meta name="testopt" content="{{ theme_testopt }}" />
|
||||
{{ super() }}
|
||||
{% endblock %}
|
||||
BIN
tests/roots/test-root/testtheme/static/staticimg.png
Normal file
|
After Width: | Height: | Size: 120 B |
2
tests/roots/test-root/testtheme/static/statictmpl.html_t
Normal file
@@ -0,0 +1,2 @@
|
||||
<!-- testing static templates -->
|
||||
<html><project>{{ project|e }}</project></html>
|
||||
7
tests/roots/test-root/testtheme/theme.conf
Normal file
@@ -0,0 +1,7 @@
|
||||
[theme]
|
||||
inherit = basic
|
||||
stylesheet = default.css
|
||||
pygments_style = emacs
|
||||
|
||||
[options]
|
||||
testopt = optdefault
|
||||
3
tests/roots/test-root/wrongenc.inc
Normal file
@@ -0,0 +1,3 @@
|
||||
This file is encoded in latin-1 but at first read as utf-8.
|
||||
|
||||
Max Strau<EFBFBD> a<EFBFBD> in M<EFBFBD>nchen eine Leberk<EFBFBD>ssemmel.
|
||||