├── tests
├── __init__.py
├── validation-sets
│ ├── base
│ │ ├── config.py
│ │ ├── left.png
│ │ ├── right.png
│ │ ├── editor_v2.rst
│ │ └── editor_v1.rst
│ ├── extensions
│ │ ├── config.py
│ │ ├── src
│ │ │ └── func.py
│ │ ├── index.rst
│ │ ├── inheritance_diagram.rst
│ │ └── autosummary.rst
│ ├── markdown
│ │ ├── config.py
│ │ ├── code.md
│ │ ├── table.md
│ │ └── index.md
│ ├── requirements.txt
│ ├── sphinx
│ │ ├── assets
│ │ │ ├── .gitattributes
│ │ │ ├── example.py
│ │ │ ├── example.py.orig
│ │ │ └── example.pdf
│ │ ├── conf.py
│ │ ├── deprecated.rst
│ │ ├── versionadded.rst
│ │ ├── versionchanged.rst
│ │ ├── manpage.rst
│ │ ├── index.rst
│ │ └── seealso.rst
│ └── restructuredtext
│ │ ├── assets
│ │ ├── .gitattributes
│ │ ├── github.png
│ │ ├── sphinx.png
│ │ └── confluence.png
│ │ ├── conf.py
│ │ ├── build
│ │ ├── rubric.rst
│ │ ├── doctest.rst
│ │ ├── epigraph.rst
│ │ ├── highlights.rst
│ │ ├── pull-quote.rst
│ │ ├── transition.rst
│ │ ├── index.rst
│ │ ├── topic.rst
│ │ ├── block-quotes.rst
│ │ ├── line-block.rst
│ │ ├── markup.rst
│ │ └── list-table.rst
├── sample-sets
│ ├── example-doc-mdn
│ │ ├── .gitignore
│ │ ├── fetch.sh
│ │ ├── conf.py.in
│ │ └── tox.ini
│ ├── kroki
│ │ ├── assets
│ │ │ ├── diagram.puml
│ │ │ ├── graph.dot
│ │ │ └── diagram.ditaa
│ │ ├── conf.py
│ │ ├── tox.ini
│ │ └── index.rst
│ ├── plantuml
│ │ ├── .gitignore
│ │ ├── tox.ini
│ │ ├── index.rst
│ │ └── conf.py
│ ├── example-doc-sphinx
│ │ ├── .gitignore
│ │ ├── fetch.sh
│ │ └── tox.ini
│ ├── numfig
│ │ ├── assets
│ │ │ ├── .gitattributes
│ │ │ ├── github.png
│ │ │ ├── sphinx.png
│ │ │ └── confluence.png
│ │ ├── index.rst
│ │ ├── conf.py
│ │ └── tox.ini
│ ├── sphinx-toolbox
│ │ ├── assets
│ │ │ └── hello_world.txt
│ │ ├── tox.ini
│ │ └── conf.py
│ ├── cleanup
│ │ ├── index.rst
│ │ ├── tox.ini
│ │ └── conf.py
│ ├── i8n
│ │ ├── index.rst
│ │ ├── tox.ini
│ │ └── conf.py
│ ├── image
│ │ ├── assets
│ │ │ ├── .gitattributes
│ │ │ ├── github.png
│ │ │ ├── sphinx.png
│ │ │ └── confluence.png
│ │ ├── conf.py
│ │ └── tox.ini
│ ├── mermaid
│ │ ├── .gitignore
│ │ ├── conf.py
│ │ ├── tox.ini
│ │ └── index.rst
│ ├── openapi
│ │ ├── index.rst
│ │ ├── conf.py
│ │ └── tox.ini
│ ├── tables
│ │ ├── conf.py
│ │ ├── tox.ini
│ │ └── index.rst
│ ├── orphan
│ │ ├── index.rst
│ │ ├── conf.py
│ │ ├── tox.ini
│ │ └── pagea.rst
│ ├── strikethrough
│ │ ├── _static
│ │ │ └── test.css
│ │ ├── second.md
│ │ ├── index.rst
│ │ ├── conf.py
│ │ └── tox.ini
│ ├── confluence-excerpt
│ │ ├── conf.py
│ │ ├── tox.ini
│ │ ├── second.rst
│ │ └── index.rst
│ ├── confluence-status
│ │ ├── conf.py
│ │ ├── index.rst
│ │ └── tox.ini
│ ├── single-confluence-refs
│ │ ├── conf.py
│ │ ├── index.rst
│ │ └── tox.ini
│ ├── sphinx-tabs
│ │ ├── README.md
│ │ ├── index.rst
│ │ ├── tox.ini
│ │ └── conf.py
│ ├── drawio
│ │ ├── conf.py
│ │ ├── index.rst
│ │ └── tox.ini
│ ├── markdown-myst
│ │ ├── conf.py
│ │ ├── index.md
│ │ └── tox.ini
│ ├── sphinx-panels
│ │ ├── conf.py
│ │ ├── tox.ini
│ │ └── index.rst
│ ├── svg
│ │ ├── conf.py
│ │ ├── svg-doctype.svg
│ │ ├── svg-none.svg
│ │ ├── svg-viewbox.svg
│ │ ├── svg.svg
│ │ └── tox.ini
│ ├── svgbob
│ │ ├── conf.py
│ │ ├── tox.ini
│ │ └── index.rst
│ ├── link-check
│ │ ├── conf.py
│ │ ├── tox.ini
│ │ └── index.rst
│ ├── sphinx-diagrams
│ │ ├── conf.py
│ │ └── tox.ini
│ ├── sphinx-video
│ │ ├── conf.py
│ │ ├── spbtv_sample_bipbop_av1_960x540_25fps.mp4
│ │ ├── index.rst
│ │ └── tox.ini
│ ├── sphinxnotes-strike
│ │ ├── index.rst
│ │ ├── conf.py
│ │ └── tox.ini
│ ├── youtube
│ │ ├── conf.py
│ │ ├── tox.ini
│ │ └── index.rst
│ ├── confluence-card
│ │ ├── conf.py
│ │ ├── tox.ini
│ │ └── second.rst
│ ├── httpdomain
│ │ ├── conf.py
│ │ └── tox.ini
│ ├── sphinx-inline-tabs
│ │ ├── README.md
│ │ ├── conf.py
│ │ ├── tox.ini
│ │ └── index.rst
│ ├── autodocs
│ │ ├── index.rst
│ │ ├── src
│ │ │ └── func.py
│ │ ├── tox.ini
│ │ ├── conf.py
│ │ ├── autosummary.rst
│ │ └── autodocs.rst
│ ├── program-output
│ │ ├── conf.py
│ │ ├── index.rst
│ │ └── tox.ini
│ ├── linkcode
│ │ ├── index.rst
│ │ ├── tox.ini
│ │ └── conf.py
│ ├── next-prev
│ │ ├── index.rst
│ │ ├── conf.py
│ │ └── tox.ini
│ ├── sphinx-needs
│ │ ├── _images
│ │ │ └── daniel.png
│ │ ├── tox.ini
│ │ └── conf.py
│ ├── confluence-code-block-theme
│ │ ├── conf.py
│ │ ├── tox.ini
│ │ └── index.rst
│ ├── inheritance-diagram
│ │ ├── conf.py
│ │ ├── index.rst
│ │ └── tox.ini
│ ├── aafig
│ │ ├── conf.py
│ │ ├── index.rst
│ │ └── tox.ini
│ ├── ipython
│ │ ├── conf.py
│ │ ├── README.md
│ │ └── tox.ini
│ ├── mentions
│ │ ├── conf.py
│ │ ├── tox.ini
│ │ └── index.rst
│ ├── math
│ │ ├── conf.py
│ │ ├── tox.ini
│ │ └── index.rst
│ ├── sphinx-click
│ │ ├── index.rst
│ │ ├── conf.py
│ │ ├── tox.ini
│ │ └── hello_world.py
│ ├── header-links
│ │ ├── conf.py
│ │ ├── index.rst
│ │ └── tox.ini
│ ├── raw-html
│ │ ├── second.md
│ │ ├── conf.py
│ │ ├── index.rst
│ │ └── tox.ini
│ ├── sphinx-data-viewer
│ │ ├── README.md
│ │ ├── conf.py
│ │ ├── tox.ini
│ │ └── index.rst
│ ├── latex
│ │ ├── tox.ini
│ │ ├── conf.py
│ │ └── index.rst
│ ├── sphinx-prompt
│ │ ├── README.md
│ │ ├── tox.ini
│ │ ├── index.rst
│ │ └── conf.py
│ ├── jinja
│ │ ├── tox.ini
│ │ ├── index.rst
│ │ └── conf.py
│ ├── blockdiag
│ │ ├── conf.py
│ │ └── tox.ini
│ └── config.py
└── unit-tests
│ ├── datasets
│ ├── publish-list
│ │ ├── publish-list-empty
│ │ ├── page-a.rst
│ │ ├── publish-list-default
│ │ ├── folder
│ │ │ └── page-b.rst
│ │ └── index.rst
│ ├── common
│ │ └── index.rst
│ ├── minimal
│ │ └── index.rst
│ ├── orphan
│ │ ├── pagea.rst
│ │ ├── pageb.rst
│ │ └── index.rst
│ ├── prevnext
│ │ ├── final.rst
│ │ ├── middle.rst
│ │ └── index.rst
│ ├── toctree-caption
│ │ ├── doc.rst
│ │ └── index.rst
│ ├── toctree-hidden
│ │ ├── doc-a.rst
│ │ ├── doc-b.rst
│ │ ├── doc-c.rst
│ │ └── index.rst
│ ├── toctree-maxdepth
│ │ ├── child.rst
│ │ ├── doc.rst
│ │ └── index.rst
│ ├── toctree-numbered
│ │ ├── child.rst
│ │ ├── index.rst
│ │ └── doc.rst
│ ├── postfix_formatting
│ │ ├── readme.rst
│ │ ├── submodule
│ │ │ └── readme.rst
│ │ └── index.rst
│ ├── singlepage-docref
│ │ ├── pagea.rst
│ │ ├── pageb.rst
│ │ └── index.rst
│ ├── toctree-default
│ │ ├── doc-a1.rst
│ │ ├── doc-b1.rst
│ │ ├── doc-a2.rst
│ │ ├── index.rst
│ │ ├── doc-a.rst
│ │ └── doc-b.rst
│ ├── toctree-numbered-depth
│ │ ├── child.rst
│ │ ├── doc.rst
│ │ └── index.rst
│ ├── sdoc
│ │ ├── py-modindex
│ │ │ └── index.rst
│ │ ├── search-placeholder
│ │ │ ├── search.rst
│ │ │ └── index.rst
│ │ ├── genindex-placeholder
│ │ │ ├── genindex.rst
│ │ │ └── index.rst
│ │ └── genindex
│ │ │ └── index.rst
│ ├── assets
│ │ ├── doc-a.rst
│ │ ├── doc-b.rst
│ │ └── index.rst
│ ├── publish-set
│ │ ├── doc-a.rst
│ │ ├── doc-c.rst
│ │ └── sub
│ │ │ └── doc-b.rst
│ ├── unknown
│ │ └── index.rst
│ ├── domains
│ │ ├── domains-c.rst
│ │ ├── domains-rst.rst
│ │ ├── domains-py.rst
│ │ ├── domains-cpp.rst
│ │ └── domains-js.rst
│ ├── confluence-doc
│ │ ├── third.rst
│ │ ├── second.rst
│ │ └── index.rst
│ ├── emoticon
│ │ └── index.rst
│ ├── newline
│ │ └── index.rst
│ ├── strikethrough
│ │ └── index.rst
│ ├── titlefix
│ │ ├── titlefix-child.rst
│ │ └── titlefix.rst
│ ├── header-footer
│ │ └── index.rst
│ ├── local-toc
│ │ ├── index.rst
│ │ ├── rst-v1.rst
│ │ └── rst-v2.rst
│ ├── hierarchy
│ │ ├── index.rst
│ │ ├── toctree-doc2aaa.rst
│ │ ├── toctree-doc1.rst
│ │ ├── toctree-doc3.rst
│ │ ├── toctree-doc2b.rst
│ │ ├── toctree-doc2.rst
│ │ ├── toctree-doc2aa.rst
│ │ ├── toctree-doc2a.rst
│ │ └── toctree-doc2c.rst
│ ├── metadata-legacy
│ │ └── index.rst
│ ├── collapse
│ │ └── index.rst
│ ├── rst
│ │ ├── contents-multipage
│ │ │ ├── index.rst
│ │ │ ├── page-a.rst
│ │ │ └── page-b.rst
│ │ ├── math
│ │ │ └── index.rst
│ │ ├── attribution
│ │ │ └── index.rst
│ │ ├── epigraph
│ │ │ └── index.rst
│ │ ├── transitions
│ │ │ └── index.rst
│ │ ├── highlights
│ │ │ └── index.rst
│ │ ├── pull-quote
│ │ │ └── index.rst
│ │ ├── raw-storage
│ │ │ └── index.rst
│ │ ├── parsed-literal
│ │ │ └── index.rst
│ │ ├── targets
│ │ │ └── index.rst
│ │ ├── doctest-block
│ │ │ └── index.rst
│ │ ├── citations
│ │ │ └── index.rst
│ │ ├── contents
│ │ │ ├── contents.rst
│ │ │ ├── contents-caption.rst
│ │ │ ├── contents-local.rst
│ │ │ ├── contents-backlinks-none.rst
│ │ │ ├── contents-backlinks-top.rst
│ │ │ └── contents-backlinks-entry.rst
│ │ ├── footnotes
│ │ │ └── index.rst
│ │ ├── figure-caption
│ │ │ └── index.rst
│ │ ├── block-quotes
│ │ │ └── index.rst
│ │ ├── literal
│ │ │ ├── literal-blocks.rst
│ │ │ └── literal-includes.rst
│ │ ├── markup
│ │ │ └── index.rst
│ │ ├── references
│ │ │ └── references-ref.rst
│ │ ├── definition-lists
│ │ │ └── index.rst
│ │ ├── option-lists
│ │ │ └── index.rst
│ │ ├── headings
│ │ │ └── index.rst
│ │ ├── bibliographic
│ │ │ └── index.rst
│ │ ├── admonitions
│ │ │ └── index.rst
│ │ ├── list-table
│ │ │ └── index.rst
│ │ ├── figure
│ │ │ └── index.rst
│ │ ├── tables
│ │ │ └── index.rst
│ │ ├── image
│ │ │ └── index.rst
│ │ └── lists
│ │ │ └── index.rst
│ ├── alignment
│ │ └── index.rst
│ ├── html
│ │ └── index.rst
│ ├── jira
│ │ ├── valid-role
│ │ │ └── index.rst
│ │ ├── missing-server-name
│ │ │ └── index.rst
│ │ ├── bad-sid
│ │ │ └── index.rst
│ │ ├── missing-server-entry
│ │ │ └── index.rst
│ │ ├── missing-server-id
│ │ │ └── index.rst
│ │ ├── conflicting-server-id
│ │ │ └── index.rst
│ │ ├── conflicting-server-name
│ │ │ └── index.rst
│ │ ├── valid-substitution
│ │ │ └── index.rst
│ │ └── valid
│ │ │ └── index.rst
│ ├── download
│ │ ├── files
│ │ │ └── example.pdf
│ │ └── index.rst
│ ├── code-block-theme
│ │ └── index.rst
│ ├── confluence-doc-invalid-doc
│ │ └── index.rst
│ ├── references
│ │ ├── md-v1-first.md
│ │ ├── md-v2-first.md
│ │ ├── index.rst
│ │ ├── rst-v1-second.rst
│ │ ├── rst-v2-second.rst
│ │ ├── rst-v1-first.rst
│ │ ├── rst-v2-first.rst
│ │ ├── md-v1-second.md
│ │ └── md-v2-second.md
│ ├── metadata
│ │ └── index.rst
│ ├── todo
│ │ └── index.rst
│ ├── svg
│ │ ├── svg-doctype.svg
│ │ ├── svg-none.svg
│ │ ├── svg-viewbox.svg
│ │ ├── svg.svg
│ │ └── index.rst
│ ├── confluence-doc-invalid-width
│ │ └── index.rst
│ ├── confluence-doc-invalid-layout
│ │ └── index.rst
│ ├── manpage
│ │ └── index.rst
│ ├── confluence-link-invalid-width
│ │ └── index.rst
│ ├── confluence-link-invalid-layout
│ │ └── index.rst
│ ├── use-cases
│ │ ├── nested-ref-external.rst
│ │ └── nested-ref-contents.rst
│ ├── expand
│ │ └── index.rst
│ ├── deprecated
│ │ └── index.rst
│ ├── panel-missing-title-with-title-color
│ │ └── index.rst
│ ├── versionadded
│ │ └── index.rst
│ ├── glossary
│ │ ├── glossary-ref.rst
│ │ └── glossary.rst
│ ├── panel-missing-title-with-title-bg-color
│ │ └── index.rst
│ ├── versionchanged
│ │ └── index.rst
│ ├── code-block-params
│ │ └── code-block-collapse.rst
│ ├── confluence-toc
│ │ └── index.rst
│ ├── code-block
│ │ ├── code-block.rst
│ │ ├── code-block-caption.rst
│ │ ├── code-block-linenothreshold.rst
│ │ └── code-block-highlight.rst
│ ├── code-block-fallback
│ │ └── index.rst
│ ├── status
│ │ └── index.rst
│ ├── mentions
│ │ └── index.rst
│ ├── confluence-link
│ │ └── index.rst
│ ├── excerpt
│ │ ├── index.rst
│ │ └── second.rst
│ ├── production-list
│ │ └── index.rst
│ ├── table-width
│ │ └── index.rst
│ └── panel
│ │ └── index.rst
│ ├── templates
│ ├── sample-footer.tpl
│ ├── sample-header.tpl
│ ├── sample-footer-with-jinja.tpl
│ └── sample-header-with-jinja.tpl
│ ├── assets
│ ├── .gitattributes
│ ├── dummy
│ ├── test.png
│ ├── example.pdf
│ ├── image01.png
│ ├── image02.png
│ ├── image03.png
│ ├── sample-valid-publish-list
│ ├── example.c
│ ├── example.cpp
│ ├── sample-invalid-publish-list
│ ├── example.java
│ ├── example.py
│ ├── httpd
│ │ └── README.md
│ └── example.html
│ ├── test_extension.py
│ ├── test_util_detect_cloud.py
│ ├── test_report_builder.py
│ ├── test_rst_transitions.py
│ ├── test_rst_raw.py
│ ├── test_sphinx_productionlist.py
│ ├── test_rst_parsed_literal.py
│ └── test_confluence_strikethough.py
├── doc
├── requirements.txt
├── _templates
│ └── ethical-ads.html
├── changelog.rst
├── _static
│ └── logo.png
├── _themes
│ └── sphinx13b
│ │ └── theme.conf
├── open
├── advanced.rst
├── guides.rst
├── Makefile
├── build
├── .fresh-start
├── guide-highlight-default.rst
├── .spelling
├── make.bat
└── contents.rst
├── sphinxcontrib
└── confluencebuilder
│ ├── cmd
│ └── __init__.py
│ ├── std
│ ├── __init__.py
│ └── sphinx.py
│ ├── storage
│ └── templates
│ │ └── __init__.py
│ ├── locale
│ ├── ar
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── bg
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── bn
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── ca
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── cs
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── cy
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── da
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── de
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── el
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── eo
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── es
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── et
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── eu
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── fi
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── fr
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── he
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── hi
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── hr
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── hu
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── id
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── it
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── ja
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── ko
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── lt
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── lv
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── mk
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── nb
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── ne
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── nl
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── pl
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── ro
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── ru
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── si
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── sk
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── sl
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── sq
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── sr
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── sv
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── ta
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── te
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── tr
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── uk
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── vi
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── hi_IN
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── pt_BR
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── pt_PT
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── sr_CS
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── uk_UA
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ ├── zh_TW
│ │ └── LC_MESSAGES
│ │ │ └── sphinxcontrib.confluencebuilder.mo
│ └── __init__.py
│ ├── compat.py
│ ├── reportbuilder.py
│ └── writer.py
├── requirements_types.txt
├── .pylintrc
├── requirements_dev.txt
├── sandbox
├── .gitignore
└── README.rst
├── validation
├── MANIFEST.in
├── lint
├── babel.cfg
├── check
├── .coveragerc
├── .readthedocs.yaml
├── .gitignore
├── crowdin.yml
└── mypy.ini
/tests/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/doc/requirements.txt:
--------------------------------------------------------------------------------
1 | sphinx>=6.0
2 |
--------------------------------------------------------------------------------
/tests/validation-sets/base/config.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/validation-sets/extensions/config.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/validation-sets/markdown/config.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/cmd/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/std/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/sample-sets/example-doc-mdn/.gitignore:
--------------------------------------------------------------------------------
1 | content/
2 |
--------------------------------------------------------------------------------
/tests/sample-sets/kroki/assets/diagram.puml:
--------------------------------------------------------------------------------
1 | foo -> bar
2 |
--------------------------------------------------------------------------------
/tests/sample-sets/plantuml/.gitignore:
--------------------------------------------------------------------------------
1 | plantuml.jar
2 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/publish-list/publish-list-empty:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/requirements_types.txt:
--------------------------------------------------------------------------------
1 | types-docutils
2 | types-requests
3 |
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/storage/templates/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/sample-sets/example-doc-sphinx/.gitignore:
--------------------------------------------------------------------------------
1 | sphinx/
2 |
--------------------------------------------------------------------------------
/tests/sample-sets/numfig/assets/.gitattributes:
--------------------------------------------------------------------------------
1 | *.png binary
2 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/common/index.rst:
--------------------------------------------------------------------------------
1 | dummy
2 | =====
3 |
--------------------------------------------------------------------------------
/tests/unit-tests/templates/sample-footer.tpl:
--------------------------------------------------------------------------------
1 | footer content
2 |
--------------------------------------------------------------------------------
/tests/unit-tests/templates/sample-header.tpl:
--------------------------------------------------------------------------------
1 | header content
2 |
--------------------------------------------------------------------------------
/tests/validation-sets/requirements.txt:
--------------------------------------------------------------------------------
1 | breathe
2 | myst_parser
3 |
--------------------------------------------------------------------------------
/.pylintrc:
--------------------------------------------------------------------------------
1 | [pylint]
2 | disable =
3 | C,
4 | R,
5 | W,
6 |
--------------------------------------------------------------------------------
/tests/unit-tests/assets/.gitattributes:
--------------------------------------------------------------------------------
1 | *.pdf binary
2 | *.png binary
3 |
--------------------------------------------------------------------------------
/doc/_templates/ethical-ads.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-toolbox/assets/hello_world.txt:
--------------------------------------------------------------------------------
1 | this is a test
2 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/minimal/index.rst:
--------------------------------------------------------------------------------
1 | root
2 | ====
3 |
4 | test
5 |
--------------------------------------------------------------------------------
/doc/changelog.rst:
--------------------------------------------------------------------------------
1 | Changelog
2 | ---------
3 |
4 | .. include:: ../CHANGES.rst
5 |
--------------------------------------------------------------------------------
/tests/sample-sets/cleanup/index.rst:
--------------------------------------------------------------------------------
1 | cleanup
2 | =======
3 |
4 | Dummy page.
5 |
--------------------------------------------------------------------------------
/tests/sample-sets/i8n/index.rst:
--------------------------------------------------------------------------------
1 | language
2 | ========
3 |
4 | language test
5 |
--------------------------------------------------------------------------------
/tests/sample-sets/image/assets/.gitattributes:
--------------------------------------------------------------------------------
1 | *.pdf binary
2 | *.png binary
3 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/orphan/pagea.rst:
--------------------------------------------------------------------------------
1 | pagea
2 | =====
3 |
4 | content
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/prevnext/final.rst:
--------------------------------------------------------------------------------
1 | final
2 | -----
3 |
4 | content
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-caption/doc.rst:
--------------------------------------------------------------------------------
1 | doc
2 | ---
3 |
4 | content
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/prevnext/middle.rst:
--------------------------------------------------------------------------------
1 | middle
2 | ------
3 |
4 | content
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/publish-list/page-a.rst:
--------------------------------------------------------------------------------
1 | page-a
2 | ------
3 |
4 | content
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/publish-list/publish-list-default:
--------------------------------------------------------------------------------
1 | page-a
2 | folder/page-b
3 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-hidden/doc-a.rst:
--------------------------------------------------------------------------------
1 | doc-a
2 | -----
3 |
4 | content
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-hidden/doc-b.rst:
--------------------------------------------------------------------------------
1 | doc-b
2 | -----
3 |
4 | content
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-hidden/doc-c.rst:
--------------------------------------------------------------------------------
1 | doc-c
2 | -----
3 |
4 | content
5 |
--------------------------------------------------------------------------------
/tests/validation-sets/sphinx/assets/.gitattributes:
--------------------------------------------------------------------------------
1 | *.pdf binary
2 | *.png binary
3 |
--------------------------------------------------------------------------------
/tests/sample-sets/mermaid/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | package.json
3 | package-lock.json
4 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-maxdepth/child.rst:
--------------------------------------------------------------------------------
1 | child
2 | -----
3 |
4 | content
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-numbered/child.rst:
--------------------------------------------------------------------------------
1 | child
2 | -----
3 |
4 | content
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/templates/sample-footer-with-jinja.tpl:
--------------------------------------------------------------------------------
1 | footer content {{ variable }}
2 |
--------------------------------------------------------------------------------
/tests/unit-tests/templates/sample-header-with-jinja.tpl:
--------------------------------------------------------------------------------
1 | header content {{ variable }}
2 |
--------------------------------------------------------------------------------
/tests/validation-sets/sphinx/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinx.ext.ifconfig',
3 | ]
4 |
--------------------------------------------------------------------------------
/tests/unit-tests/assets/dummy:
--------------------------------------------------------------------------------
1 | dummy file to represent a valid file for file existence checks
2 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/orphan/pageb.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | pageb
4 | =====
5 |
6 | content
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/postfix_formatting/readme.rst:
--------------------------------------------------------------------------------
1 | readme
2 | ======
3 |
4 | Top level readme
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/publish-list/folder/page-b.rst:
--------------------------------------------------------------------------------
1 | page-b
2 | ------
3 |
4 | content
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/singlepage-docref/pagea.rst:
--------------------------------------------------------------------------------
1 | pagea2
2 | ======
3 |
4 | :doc:`pageb`
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/singlepage-docref/pageb.rst:
--------------------------------------------------------------------------------
1 | pageb2
2 | ======
3 |
4 | :doc:`index`
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-default/doc-a1.rst:
--------------------------------------------------------------------------------
1 | doc-a1
2 | ------
3 |
4 | content a1
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-default/doc-b1.rst:
--------------------------------------------------------------------------------
1 | doc-b1
2 | ------
3 |
4 | content b1
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-numbered-depth/child.rst:
--------------------------------------------------------------------------------
1 | child
2 | -----
3 |
4 | content
5 |
--------------------------------------------------------------------------------
/tests/validation-sets/restructuredtext/assets/.gitattributes:
--------------------------------------------------------------------------------
1 | *.pdf binary
2 | *.png binary
3 |
--------------------------------------------------------------------------------
/tests/validation-sets/sphinx/assets/example.py:
--------------------------------------------------------------------------------
1 | # hello world
2 |
3 | print('hello world')
4 |
--------------------------------------------------------------------------------
/tests/sample-sets/image/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | ]
4 |
--------------------------------------------------------------------------------
/tests/sample-sets/openapi/index.rst:
--------------------------------------------------------------------------------
1 | openapi
2 | =======
3 |
4 | .. openapi:: specs/openapi.yml
5 |
--------------------------------------------------------------------------------
/tests/sample-sets/tables/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | ]
4 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/orphan/index.rst:
--------------------------------------------------------------------------------
1 | root
2 | ====
3 |
4 | .. toctree::
5 |
6 | pagea
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/sdoc/py-modindex/index.rst:
--------------------------------------------------------------------------------
1 | root
2 | ====
3 |
4 | .. py:module:: Timer
5 |
--------------------------------------------------------------------------------
/tests/validation-sets/restructuredtext/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinx.ext.ifconfig',
3 | ]
4 |
--------------------------------------------------------------------------------
/doc/_static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/doc/_static/logo.png
--------------------------------------------------------------------------------
/tests/sample-sets/orphan/index.rst:
--------------------------------------------------------------------------------
1 | orphan test
2 | ===========
3 |
4 | .. toctree::
5 |
6 | pagea
7 |
--------------------------------------------------------------------------------
/tests/sample-sets/strikethrough/_static/test.css:
--------------------------------------------------------------------------------
1 | .strike {
2 | text-decoration: line-through;
3 | }
4 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/assets/doc-a.rst:
--------------------------------------------------------------------------------
1 | doc-a
2 | -----
3 |
4 | .. image:: ../../assets/image03.png
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/assets/doc-b.rst:
--------------------------------------------------------------------------------
1 | doc-b
2 | -----
3 |
4 | .. image:: ../../assets/image03.png
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/postfix_formatting/submodule/readme.rst:
--------------------------------------------------------------------------------
1 | readme
2 | ======
3 |
4 | Inner readme
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/publish-set/doc-a.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | doc-a
4 | =====
5 |
6 | content a
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/publish-set/doc-c.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | doc-c
4 | =====
5 |
6 | content c
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/publish-set/sub/doc-b.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | doc-b
4 | =====
5 |
6 | content b
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-maxdepth/doc.rst:
--------------------------------------------------------------------------------
1 | doc
2 | ---
3 |
4 | .. toctree::
5 |
6 | child
7 |
--------------------------------------------------------------------------------
/tests/sample-sets/confluence-excerpt/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | ]
4 |
--------------------------------------------------------------------------------
/tests/sample-sets/confluence-status/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | ]
4 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-numbered-depth/doc.rst:
--------------------------------------------------------------------------------
1 | doc
2 | ---
3 |
4 | .. toctree::
5 |
6 | child
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/unknown/index.rst:
--------------------------------------------------------------------------------
1 | unknown node
2 | ------------
3 |
4 | .. confluence_test_dir::
5 |
--------------------------------------------------------------------------------
/tests/sample-sets/single-confluence-refs/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | ]
4 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/domains/domains-c.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | .. c:function:: void* my_func(void *context)
4 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/domains/domains-rst.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | .. rst:directive:: directive
4 |
5 | desc
6 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/sdoc/search-placeholder/search.rst:
--------------------------------------------------------------------------------
1 | custom search
2 | -------------
3 |
4 | placeholder
5 |
--------------------------------------------------------------------------------
/doc/_themes/sphinx13b/theme.conf:
--------------------------------------------------------------------------------
1 | [theme]
2 | inherit = basic
3 | stylesheet = sphinx13b.css
4 | pygments_style = trac
5 |
--------------------------------------------------------------------------------
/requirements_dev.txt:
--------------------------------------------------------------------------------
1 | beautifulsoup4
2 | # temporarily disable myst_parser until sphinx v9.x support
3 | #myst_parser
4 |
--------------------------------------------------------------------------------
/sandbox/.gitignore:
--------------------------------------------------------------------------------
1 | # ignore all in sandbox
2 | *
3 |
4 | # with the exceptions below
5 | !.gitignore
6 | !README.rst
7 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-tabs/README.md:
--------------------------------------------------------------------------------
1 | # sphinx-tabs
2 |
3 | The following checks the use of sphinx-tabs directives.
4 |
--------------------------------------------------------------------------------
/tests/sample-sets/strikethrough/second.md:
--------------------------------------------------------------------------------
1 | strikethrough2
2 | ==============
3 |
4 | This is an {strike}`example`.
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/confluence-doc/third.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | third page
4 | ==========
5 |
6 | Another page.
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/sdoc/genindex-placeholder/genindex.rst:
--------------------------------------------------------------------------------
1 | custom index
2 | ------------
3 |
4 | placeholder
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/sdoc/search-placeholder/index.rst:
--------------------------------------------------------------------------------
1 | root
2 | ====
3 |
4 | .. toctree::
5 |
6 | search
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/confluence-doc/second.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | second page
4 | ===========
5 |
6 | Another page.
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/domains/domains-py.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | .. py:function:: Timer.repeat(repeat=3, number=1000000)
4 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/emoticon/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | emoticon
4 | --------
5 |
6 | :confluence_emoticon:`tick`
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/prevnext/index.rst:
--------------------------------------------------------------------------------
1 | prevnext
2 | ========
3 |
4 | .. toctree::
5 |
6 | middle
7 | final
8 |
--------------------------------------------------------------------------------
/tests/validation-sets/sphinx/assets/example.py.orig:
--------------------------------------------------------------------------------
1 | 3c3
2 | < print('hello world')
3 | ---
4 | > print('hello world legacy')
5 |
--------------------------------------------------------------------------------
/tests/sample-sets/drawio/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | 'sphinxcontrib.drawio',
4 | ]
5 |
--------------------------------------------------------------------------------
/tests/sample-sets/kroki/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | 'sphinxcontrib.kroki',
4 | ]
5 |
--------------------------------------------------------------------------------
/tests/sample-sets/markdown-myst/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'myst_parser',
3 | 'sphinxcontrib.confluencebuilder',
4 | ]
5 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-panels/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinx_panels',
3 | 'sphinxcontrib.confluencebuilder',
4 | ]
5 |
--------------------------------------------------------------------------------
/tests/sample-sets/svg/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | ]
4 |
5 | # confluence_editor = 'v2'
6 |
--------------------------------------------------------------------------------
/tests/sample-sets/svgbob/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | 'sphinxcontrib.svgbob',
4 | ]
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/assets/test.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/unit-tests/assets/test.png
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/assets/index.rst:
--------------------------------------------------------------------------------
1 | shared asset
2 | ============
3 |
4 | .. toctree::
5 |
6 | doc-a
7 | doc-b
8 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/newline/index.rst:
--------------------------------------------------------------------------------
1 | newline
2 | =======
3 |
4 | line1
5 |
6 | .. confluence_newline::
7 |
8 | line2
9 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/publish-list/index.rst:
--------------------------------------------------------------------------------
1 | index
2 | =====
3 |
4 | .. toctree::
5 |
6 | page-a
7 | folder/page-b
8 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/singlepage-docref/index.rst:
--------------------------------------------------------------------------------
1 | index2
2 | ======
3 |
4 | .. toctree::
5 |
6 | pagea
7 | pageb
8 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-default/doc-a2.rst:
--------------------------------------------------------------------------------
1 | doc-a2
2 | ------
3 |
4 | content a2
5 |
6 | :doc:`custom doc `
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-default/index.rst:
--------------------------------------------------------------------------------
1 | toctree
2 | =======
3 |
4 | .. toctree::
5 |
6 | doc-a
7 | doc-b
8 |
--------------------------------------------------------------------------------
/tests/sample-sets/link-check/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | ]
4 |
5 | confluence_editor = 'v2'
6 |
--------------------------------------------------------------------------------
/tests/sample-sets/openapi/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | 'sphinxcontrib.openapi',
4 | ]
5 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-diagrams/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | 'sphinx_diagrams',
4 | ]
5 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-video/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | 'sphinxcontrib.video',
4 | ]
5 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinxnotes-strike/index.rst:
--------------------------------------------------------------------------------
1 | sphinxnotes-strike
2 | ==================
3 |
4 | This is a :strike:`strike` example.
5 |
--------------------------------------------------------------------------------
/tests/sample-sets/youtube/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | 'sphinxcontrib.youtube',
4 | ]
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/assets/example.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/unit-tests/assets/example.pdf
--------------------------------------------------------------------------------
/tests/unit-tests/assets/image01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/unit-tests/assets/image01.png
--------------------------------------------------------------------------------
/tests/unit-tests/assets/image02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/unit-tests/assets/image02.png
--------------------------------------------------------------------------------
/tests/unit-tests/assets/image03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/unit-tests/assets/image03.png
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/strikethrough/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | strikethrough
4 | -------------
5 |
6 | :confluence_strike:`test`
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/titlefix/titlefix-child.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | titlefix-child
4 | ==============
5 |
6 | :doc:`titlefix`
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/titlefix/titlefix.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | titlefix
4 | ========
5 |
6 | .. toctree::
7 | titlefix-child
8 |
--------------------------------------------------------------------------------
/tests/validation-sets/base/left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/validation-sets/base/left.png
--------------------------------------------------------------------------------
/tests/sample-sets/confluence-card/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | ]
4 |
5 | confluence_editor = 'v2'
6 |
--------------------------------------------------------------------------------
/tests/sample-sets/httpdomain/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | 'sphinxcontrib.httpdomain',
4 | ]
5 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-inline-tabs/README.md:
--------------------------------------------------------------------------------
1 | # sphinx-inline-tabs
2 |
3 | The following checks the use of sphinx-inline-tabs directives.
4 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinxnotes-strike/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | 'sphinxnotes.strike',
4 | ]
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/assets/sample-valid-publish-list:
--------------------------------------------------------------------------------
1 | # example allow/deny list with valid document names
2 | doc-a
3 | sub/doc-b
4 | doc-c
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/domains/domains-cpp.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | .. cpp:class:: template<> \
4 | std::array
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/header-footer/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | header footer sample
4 | --------------------
5 |
6 | body content
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/local-toc/index.rst:
--------------------------------------------------------------------------------
1 | Index
2 | =====
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 |
7 | rst-v1
8 | rst-v2
9 |
--------------------------------------------------------------------------------
/tests/validation-sets/base/right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/validation-sets/base/right.png
--------------------------------------------------------------------------------
/tests/validation-sets/markdown/code.md:
--------------------------------------------------------------------------------
1 | # Markdown Code
2 |
3 | Code block example:
4 |
5 | ```python
6 | print('this is python')
7 | ```
8 |
--------------------------------------------------------------------------------
/tests/sample-sets/autodocs/index.rst:
--------------------------------------------------------------------------------
1 | Autodocs
2 | ========
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 |
7 | autodocs
8 | autosummary
9 |
--------------------------------------------------------------------------------
/tests/sample-sets/numfig/index.rst:
--------------------------------------------------------------------------------
1 | home
2 | ====
3 |
4 | .. toctree::
5 | :caption: Table of Contents
6 | :numbered:
7 |
8 | data
9 |
--------------------------------------------------------------------------------
/tests/sample-sets/program-output/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | 'sphinxcontrib.programoutput',
4 | ]
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/assets/example.c:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | int main(void) {
4 | printf("this is an example");
5 | return 0;
6 | }
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/assets/example.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | int main() {
4 | std::cout << "this is an example";
5 | return 0;
6 | }
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/assets/sample-invalid-publish-list:
--------------------------------------------------------------------------------
1 | # example allow/deny list with an incorrect document name
2 | doc-a
3 | sub/doc-b
4 | doc-c2
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/postfix_formatting/index.rst:
--------------------------------------------------------------------------------
1 | Index page
2 | ==========
3 |
4 | .. toctree::
5 |
6 | readme
7 | submodule/readme
--------------------------------------------------------------------------------
/tests/sample-sets/image/assets/github.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/sample-sets/image/assets/github.png
--------------------------------------------------------------------------------
/tests/sample-sets/image/assets/sphinx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/sample-sets/image/assets/sphinx.png
--------------------------------------------------------------------------------
/tests/sample-sets/numfig/assets/github.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/sample-sets/numfig/assets/github.png
--------------------------------------------------------------------------------
/tests/sample-sets/numfig/assets/sphinx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/sample-sets/numfig/assets/sphinx.png
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/hierarchy/index.rst:
--------------------------------------------------------------------------------
1 | root
2 | ----
3 |
4 | .. toctree::
5 |
6 | toctree-doc1
7 | toctree-doc2
8 | toctree-doc3
9 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/metadata-legacy/index.rst:
--------------------------------------------------------------------------------
1 | confluence metadata
2 | -------------------
3 |
4 | .. confluence_metadata::
5 | :editor: v2
6 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-default/doc-a.rst:
--------------------------------------------------------------------------------
1 | doc-a
2 | -----
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 |
7 | doc-a1
8 | doc-a2
9 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-numbered/index.rst:
--------------------------------------------------------------------------------
1 | toctree numbered
2 | ================
3 |
4 | .. toctree::
5 | :numbered:
6 |
7 | doc
8 |
--------------------------------------------------------------------------------
/validation:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | #
3 | # This is a helper script used to easily trigger validation publishing.
4 |
5 | exec tox -e validation $@
6 |
--------------------------------------------------------------------------------
/tests/sample-sets/image/assets/confluence.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/sample-sets/image/assets/confluence.png
--------------------------------------------------------------------------------
/tests/sample-sets/linkcode/index.rst:
--------------------------------------------------------------------------------
1 | linkcode
2 | ========
3 |
4 | .. module:: example
5 |
6 | .. class:: ExampleModule
7 |
8 | This is an example.
9 |
--------------------------------------------------------------------------------
/tests/sample-sets/next-prev/index.rst:
--------------------------------------------------------------------------------
1 | main
2 | ====
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 |
7 | page-1
8 | page-2
9 | page-3
10 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/collapse/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | collapse
4 | --------
5 |
6 | .. container:: collapse
7 |
8 | collapsed paragraph
9 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/hierarchy/toctree-doc2aaa.rst:
--------------------------------------------------------------------------------
1 | treedoc2aaa
2 | -----------
3 |
4 | More page content that should be squashed into a parent page.
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/contents-multipage/index.rst:
--------------------------------------------------------------------------------
1 | index
2 | =====
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 |
7 | page-a
8 | page-b
9 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-default/doc-b.rst:
--------------------------------------------------------------------------------
1 | doc-b
2 | -----
3 |
4 | subheader
5 | ~~~~~~~~~
6 |
7 | .. toctree::
8 |
9 | doc-b1
10 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-maxdepth/index.rst:
--------------------------------------------------------------------------------
1 | toctree maxdepth
2 | ================
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 |
7 | doc
8 |
--------------------------------------------------------------------------------
/MANIFEST.in:
--------------------------------------------------------------------------------
1 | recursive-include sphinxcontrib/confluencebuilder/locale *.pot *.po *.mo
2 | recursive-include sphinxcontrib/confluencebuilder/storage/templates *
3 |
--------------------------------------------------------------------------------
/tests/sample-sets/next-prev/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | ]
4 |
5 | confluence_prev_next_buttons_location = 'both'
6 |
--------------------------------------------------------------------------------
/tests/sample-sets/numfig/assets/confluence.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/sample-sets/numfig/assets/confluence.png
--------------------------------------------------------------------------------
/tests/sample-sets/numfig/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | ]
4 |
5 | numfig = True
6 | confluence_add_secnumbers = True
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/alignment/index.rst:
--------------------------------------------------------------------------------
1 | default alignment
2 | -----------------
3 |
4 | .. figure:: https://example.com/image.png
5 |
6 | caption
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/hierarchy/toctree-doc1.rst:
--------------------------------------------------------------------------------
1 | treedoc1
2 | --------
3 |
4 | .. _example-doc1-label:
5 |
6 | Go to :ref:`doc2c`.
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/hierarchy/toctree-doc3.rst:
--------------------------------------------------------------------------------
1 | treedoc3
2 | --------
3 |
4 | .. _example-doc3-label:
5 |
6 | Go to :ref:`doc2a`.
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/html/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | html macro
4 | ----------
5 |
6 | .. confluence_html::
7 |
8 | strong text
9 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/jira/valid-role/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | jira
4 | ----
5 |
6 | .. jira role in a paragraph
7 |
8 | before :jira:`TEST-456` after
9 |
--------------------------------------------------------------------------------
/tests/validation-sets/sphinx/assets/example.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/validation-sets/sphinx/assets/example.pdf
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-needs/_images/daniel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/sample-sets/sphinx-needs/_images/daniel.png
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-caption/index.rst:
--------------------------------------------------------------------------------
1 | toctree caption
2 | ===============
3 |
4 | .. toctree::
5 | :caption: toctree caption
6 |
7 | doc
8 |
--------------------------------------------------------------------------------
/tests/sample-sets/confluence-code-block-theme/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | ]
4 |
5 | confluence_code_block_theme = 'Midnight'
6 |
--------------------------------------------------------------------------------
/tests/sample-sets/example-doc-mdn/fetch.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | git clone https://github.com/mdn/content.git
4 | cp conf.py.in content/files/en-us/mdn/conf.py
5 |
--------------------------------------------------------------------------------
/tests/sample-sets/single-confluence-refs/index.rst:
--------------------------------------------------------------------------------
1 | Index
2 | =====
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 |
7 | page-a
8 | page-b
9 | page-c
10 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/download/files/example.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/unit-tests/datasets/download/files/example.pdf
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-numbered-depth/index.rst:
--------------------------------------------------------------------------------
1 | toctree numbered depth
2 | ======================
3 |
4 | .. toctree::
5 | :numbered: 1
6 |
7 | doc
8 |
--------------------------------------------------------------------------------
/tests/sample-sets/markdown-myst/index.md:
--------------------------------------------------------------------------------
1 | # Test
2 |
3 | ## Nested
4 |
5 | PATH to be explained \
6 | PYTHONPATH to be explained \
7 | GRUB to be explained
8 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/code-block-theme/index.rst:
--------------------------------------------------------------------------------
1 | .. code-block:: python
2 | :class: confluence-theme-eclipse
3 |
4 | import myexample
5 | myexample.invoke()
6 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/confluence-doc-invalid-doc/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | confluence doc
4 | ==============
5 |
6 | .. confluence_doc:: missing
7 | :card: block
8 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/references/md-v1-first.md:
--------------------------------------------------------------------------------
1 | :::{confluence_metadata}
2 | :editor: v1
3 | :::
4 |
5 | # Markdown v1 First
6 |
7 | ## Markdown v1 First sub-heading
8 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/references/md-v2-first.md:
--------------------------------------------------------------------------------
1 | :::{confluence_metadata}
2 | :editor: v2
3 | :::
4 |
5 | # Markdown v2 First
6 |
7 | ## Markdown v2 First sub-heading
8 |
--------------------------------------------------------------------------------
/tests/sample-sets/example-doc-mdn/conf.py.in:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'myst_parser',
3 | 'sphinxcontrib.confluencebuilder',
4 | ]
5 |
6 | source_suffix = [
7 | '.md',
8 | ]
9 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/hierarchy/toctree-doc2b.rst:
--------------------------------------------------------------------------------
1 | treedoc2b
2 | ---------
3 |
4 | | Jump to either :ref:`doc1` or
5 | :ref:`doc2`.
6 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/metadata/index.rst:
--------------------------------------------------------------------------------
1 | confluence metadata
2 | -------------------
3 |
4 | .. confluence_metadata::
5 | :full-width: true
6 | :labels: tag-a tag-c
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/todo/index.rst:
--------------------------------------------------------------------------------
1 | .. https://www.sphinx-doc.org/en/master/usage/extensions/todo.html
2 |
3 | todo
4 | ----
5 |
6 | .. todo::
7 |
8 | example message
9 |
--------------------------------------------------------------------------------
/tests/validation-sets/restructuredtext/assets/github.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/validation-sets/restructuredtext/assets/github.png
--------------------------------------------------------------------------------
/tests/validation-sets/restructuredtext/assets/sphinx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/validation-sets/restructuredtext/assets/sphinx.png
--------------------------------------------------------------------------------
/lint:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | #
3 | # This is a helper script used to only invoke a subset of test environments
4 | # associated to linting.
5 |
6 | exec tox -e ruff,pylint,doc-spelling
7 |
--------------------------------------------------------------------------------
/tests/sample-sets/svg/svg-doctype.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/tests/unit-tests/assets/example.java:
--------------------------------------------------------------------------------
1 | public class MyExample {
2 | public static void main(String[] args) {
3 | System.out.println("this is an example");
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/tests/unit-tests/assets/example.py:
--------------------------------------------------------------------------------
1 | import sys
2 |
3 |
4 | def main():
5 | print('this is an example')
6 |
7 |
8 | if __name__ == "__main__":
9 | sys.exit(main())
10 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-hidden/index.rst:
--------------------------------------------------------------------------------
1 | toctree hidden
2 | ==============
3 |
4 | .. toctree::
5 | :hidden:
6 |
7 | doc-a
8 | doc-b
9 | doc-c
10 |
--------------------------------------------------------------------------------
/tests/validation-sets/restructuredtext/assets/confluence.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/validation-sets/restructuredtext/assets/confluence.png
--------------------------------------------------------------------------------
/doc/open:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | if command -v xdg-open 2>&1 >/dev/null; then
4 | exec xdg-open _build/html/index.html
5 | else
6 | exec start _build/html/index.html
7 | fi
8 |
--------------------------------------------------------------------------------
/tests/sample-sets/orphan/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | ]
4 |
5 | # confluence_publish_orphan = False
6 | # confluence_publish_orphan_container = 0
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/svg/svg-doctype.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/doc/advanced.rst:
--------------------------------------------------------------------------------
1 | Advanced
2 | ========
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 |
7 | advanced-extensions
8 | advanced-publish-permissions
9 | advanced-wiping-space
10 |
--------------------------------------------------------------------------------
/tests/sample-sets/autodocs/src/func.py:
--------------------------------------------------------------------------------
1 |
2 | def my_custom_function(obj):
3 | """
4 | A function's docstring with a parameter.
5 |
6 | :param obj: the function argument
7 | """
8 |
--------------------------------------------------------------------------------
/tests/sample-sets/inheritance-diagram/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinx.ext.inheritance_diagram',
3 | 'sphinxcontrib.confluencebuilder',
4 | ]
5 |
6 | graphviz_output_format = 'svg'
7 |
--------------------------------------------------------------------------------
/tests/sample-sets/inheritance-diagram/index.rst:
--------------------------------------------------------------------------------
1 | inheritance-diagram
2 | ===================
3 |
4 | .. inheritance-diagram:: sphinx.ext.inheritance_diagram.InheritanceDiagram
5 | :parts: 1
6 |
--------------------------------------------------------------------------------
/tests/sample-sets/svg/svg-none.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/confluence-doc-invalid-width/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | confluence doc
4 | ==============
5 |
6 | .. confluence_doc:: second
7 | :card: block
8 | :width: 80
9 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/math/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/directives.html#math
2 |
3 | math
4 | ----
5 |
6 | .. math:: e^{i\pi} + 1 = 0
7 | :label: euler
8 |
--------------------------------------------------------------------------------
/tests/sample-sets/aafig/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.aafig',
3 | 'sphinxcontrib.confluencebuilder',
4 | ]
5 |
6 | aafig_format = {
7 | 'confluence_storage': 'svg',
8 | }
9 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/hierarchy/toctree-doc2.rst:
--------------------------------------------------------------------------------
1 | treedoc2
2 | --------
3 |
4 | .. toctree::
5 | :maxdepth: 2
6 |
7 | toctree-doc2a
8 | toctree-doc2b
9 | toctree-doc2c
10 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/hierarchy/toctree-doc2aa.rst:
--------------------------------------------------------------------------------
1 | treedoc2aa
2 | ----------
3 |
4 | Page content that should be squashed into a parent page.
5 |
6 | .. toctree::
7 |
8 | toctree-doc2aaa
9 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/sdoc/genindex/index.rst:
--------------------------------------------------------------------------------
1 | root
2 | ====
3 |
4 | .. add a glossary entry to have an entry in the index
5 |
6 | .. glossary::
7 |
8 | test
9 | entry
10 |
--------------------------------------------------------------------------------
/tests/validation-sets/extensions/src/func.py:
--------------------------------------------------------------------------------
1 |
2 | def my_custom_function(obj):
3 | """
4 | A function's docstring with a parameter.
5 |
6 | :param obj: the function argument
7 | """
8 |
--------------------------------------------------------------------------------
/tests/sample-sets/ipython/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'IPython.sphinxext.ipython_console_highlighting',
3 | 'IPython.sphinxext.ipython_directive',
4 | 'sphinxcontrib.confluencebuilder',
5 | ]
6 |
--------------------------------------------------------------------------------
/tests/sample-sets/strikethrough/index.rst:
--------------------------------------------------------------------------------
1 | strikethrough
2 | =============
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 |
7 | second
8 |
9 | ----
10 |
11 | This is an :strike:`example`.
12 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/confluence-doc-invalid-layout/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | confluence doc
4 | ==============
5 |
6 | .. confluence_doc:: second
7 | :card: block
8 | :layout: align-end
9 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/manpage/index.rst:
--------------------------------------------------------------------------------
1 | .. https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html?highlight=manpage#role-manpage
2 |
3 | manpage
4 | -------
5 |
6 | :manpage:`ls(1)`
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/svg/svg-none.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/tests/sample-sets/mentions/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | ]
4 |
5 | confluence_mentions = {
6 | 'jdknight': '557058:2d0a38b2-b4d8-45fa-978c-f6d556f24205',
7 | }
8 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-video/spbtv_sample_bipbop_av1_960x540_25fps.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/tests/sample-sets/sphinx-video/spbtv_sample_bipbop_av1_960x540_25fps.mp4
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/confluence-link-invalid-width/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | confluence link
4 | ===============
5 |
6 | .. confluence_link:: https://example.com
7 | :card: block
8 | :width: 80
9 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/attribution/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#block-quotes
2 |
3 | attribution
4 | -----------
5 |
6 | quote
7 |
8 | -- source
9 |
--------------------------------------------------------------------------------
/tests/sample-sets/svg/svg-viewbox.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/confluence-link-invalid-layout/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | confluence link
4 | ===============
5 |
6 | .. confluence_link:: https://example.org
7 | :card: block
8 | :layout: align-end
9 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/use-cases/nested-ref-external.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | nested ref external
4 | ===================
5 |
6 | .. _ref1:
7 |
8 | section
9 | =======
10 |
11 | .. _ref2:
12 |
13 | content
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/ipython/README.md:
--------------------------------------------------------------------------------
1 | # IPython
2 |
3 | Confluence does not support a means to make text unselectable; however,
4 | users may want to still render the contents inside IPython directive on
5 | Confluence pages.
6 |
--------------------------------------------------------------------------------
/tests/sample-sets/math/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | 'sphinx.ext.imgmath',
4 | ]
5 |
6 | imgmath_font_size = 14
7 | imgmath_image_format = 'svg'
8 | imgmath_use_preview = True
9 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/expand/index.rst:
--------------------------------------------------------------------------------
1 | expand
2 | ======
3 |
4 | .. confluence_expand::
5 |
6 | no title content
7 |
8 | .. confluence_expand::
9 | :title: my title
10 |
11 | with title content
12 |
--------------------------------------------------------------------------------
/babel.cfg:
--------------------------------------------------------------------------------
1 | # Babel configuration file
2 |
3 | # python sources
4 | [python: **.py]
5 | encoding = utf-8
6 |
7 | # jinja2 template files
8 | [jinja2: **/templates/**.html]
9 | encoding = utf-8
10 | ignore_tags = style
11 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/epigraph/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/directives.html#epigraph
2 |
3 | epigraph
4 | --------
5 |
6 | .. epigraph::
7 |
8 | quote
9 |
10 | -- source
11 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/svg/svg-viewbox.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/tests/sample-sets/confluence-status/index.rst:
--------------------------------------------------------------------------------
1 | confluence-status
2 | =================
3 |
4 | :confluence_status:`First status`
5 |
6 | :confluence_status:`Another status `
7 |
8 | :confluence_status:`Let's go! [green]`
9 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-click/index.rst:
--------------------------------------------------------------------------------
1 | click
2 | =====
3 |
4 | .. click:: hello_world:test
5 | :prog: hello-world
6 | :nested: full
7 |
8 | .. click:: hello_world:test2
9 | :prog: hello-world
10 | :nested: full
11 |
--------------------------------------------------------------------------------
/tests/sample-sets/svg/svg.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/tests/unit-tests/assets/httpd/README.md:
--------------------------------------------------------------------------------
1 | The following holds test keys to validate a Confluence instance over a
2 | "secure" connection. This includes public and "private" keys for unit
3 | testing preparing a local https instance.
4 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/transitions/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#transitions
2 |
3 | transitions
4 | -----------
5 |
6 | content
7 |
8 | --------
9 |
10 | content
11 |
--------------------------------------------------------------------------------
/tests/sample-sets/header-links/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'myst_parser',
3 | 'sphinxcontrib.confluencebuilder',
4 | ]
5 |
6 | myst_enable_extensions = [
7 | 'colon_fence',
8 | ]
9 |
10 | myst_heading_anchors = 7
11 |
--------------------------------------------------------------------------------
/tests/sample-sets/raw-html/second.md:
--------------------------------------------------------------------------------
1 | second
2 | ======
3 |
4 | Some more HTML in Markdown:
5 |
6 | ----
7 |
8 |
9 | My nifty title
10 | Some text!
11 |
12 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/domains/domains-js.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | .. js:function:: $.func(param1[, param2])
4 |
5 | :param type param1: desc1
6 | :param param2: desc2
7 | :throws SomeError: desc3
8 | :returns: returns
9 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/jira/missing-server-name/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | jira
4 | ----
5 |
6 | .. provided "server-name" without "server-id"
7 |
8 | .. jira_issue:: TEST-1
9 | :server-name: overwritten-server-name
10 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/highlights/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/directives.html#highlights
2 |
3 | highlights
4 | ----------
5 |
6 | .. highlights::
7 |
8 | quote
9 |
10 | -- source
11 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/pull-quote/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/directives.html#pull-quote
2 |
3 | pull-quote
4 | ----------
5 |
6 | .. pull-quote::
7 |
8 | quote
9 |
10 | -- source
11 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/raw-storage/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/directives.html#raw-data-pass-through
2 |
3 | raw
4 | ---
5 |
6 | .. raw:: confluence_storage
7 |
8 | raw content
9 |
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/ar/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/ar/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/bg/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/bg/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/bn/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/bn/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/ca/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/ca/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/cs/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/cs/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/cy/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/cy/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/da/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/da/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/de/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/de/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/el/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/el/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/eo/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/eo/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/es/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/es/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/et/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/et/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/eu/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/eu/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/fi/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/fi/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/fr/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/fr/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/he/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/he/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/hi/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/hi/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/hr/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/hr/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/hu/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/hu/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/id/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/id/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/it/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/it/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/ja/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/ja/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/ko/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/ko/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/lt/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/lt/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/lv/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/lv/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/mk/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/mk/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/nb/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/nb/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/ne/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/ne/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/nl/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/nl/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/pl/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/pl/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/ro/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/ro/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/ru/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/ru/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/si/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/si/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/sk/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/sk/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/sl/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/sl/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/sq/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/sq/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/sr/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/sr/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/sv/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/sv/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/ta/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/ta/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/te/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/te/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/tr/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/tr/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/uk/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/uk/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/vi/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/vi/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/tests/sample-sets/example-doc-sphinx/fetch.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | git clone https://github.com/sphinx-doc/sphinx.git
4 | cd sphinx
5 | echo "" >>doc/conf.py
6 | echo "extensions.append('sphinxcontrib.confluencebuilder')" >>doc/conf.py
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/jira/bad-sid/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | jira
4 | ----
5 |
6 | .. invalid "server-id" with non-uuid value
7 |
8 | .. jira_issue:: TEST-1
9 | :server-id: invalid-id
10 | :server-name: server-name
11 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/jira/missing-server-entry/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | jira
4 | ----
5 |
6 | .. provided "server" that is not registered in configuration
7 |
8 | .. jira_issue:: TEST-1
9 | :server: missing-server-ref
10 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/jira/missing-server-id/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | jira
4 | ----
5 |
6 | .. provided "server-id" without "server-name"
7 |
8 | .. jira_issue:: TEST-1
9 | :server-id: 00000000-0000-0000-0000-000000000000
10 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/parsed-literal/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/directives.html#parsed-literal-block
2 |
3 | parsed literal
4 | --------------
5 |
6 | .. parsed-literal::
7 |
8 | **markup** content
9 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/targets/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#inline-internal-targets
2 |
3 | targets
4 | -------
5 |
6 | .. inline internal targets
7 |
8 | An _`inline target` example.
9 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/svg/svg.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/hi_IN/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/hi_IN/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/pt_BR/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/pt_BR/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/pt_PT/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/pt_PT/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/sr_CS/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/sr_CS/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/uk_UA/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/uk_UA/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/zh_TW/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sphinx-contrib/confluencebuilder/HEAD/sphinxcontrib/confluencebuilder/locale/zh_TW/LC_MESSAGES/sphinxcontrib.confluencebuilder.mo
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-video/index.rst:
--------------------------------------------------------------------------------
1 | video
2 | =======
3 |
4 | .. video:: spbtv_sample_bipbop_av1_960x540_25fps.mp4
5 | :width: 700
6 | :height: 394
7 |
8 | .. video:: spbtv_sample_bipbop_av1_960x540_25fps.mp4
9 | :autoplay:
10 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/doctest-block/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#doctest-blocks
2 |
3 | doctest-block
4 | -------------
5 |
6 | >>> print 'this is a Doctest block'
7 | this is a Doctest block
8 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/deprecated/index.rst:
--------------------------------------------------------------------------------
1 | .. https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html?highlight=deprecated#directive-deprecated
2 |
3 | deprecated
4 | ----------
5 |
6 | .. deprecated:: 1.9
7 | deprecated message
8 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/local-toc/rst-v1.rst:
--------------------------------------------------------------------------------
1 | .. confluence_metadata::
2 | :editor: v1
3 |
4 | reStructuredText v1
5 | ===================
6 |
7 | .. contents::
8 | :local:
9 |
10 | An Extra Header
11 | ---------------
12 |
13 | content
14 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/local-toc/rst-v2.rst:
--------------------------------------------------------------------------------
1 | .. confluence_metadata::
2 | :editor: v2
3 |
4 | reStructuredText v2
5 | ===================
6 |
7 | .. contents::
8 | :local:
9 |
10 | An Extra Header
11 | ---------------
12 |
13 | content
14 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/panel-missing-title-with-title-color/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | missing-title-with-title-color
4 | ==============================
5 |
6 | .. confluence_panel::
7 | :title-color: #ee00ee
8 |
9 | with title color
10 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/sdoc/genindex-placeholder/index.rst:
--------------------------------------------------------------------------------
1 | root
2 | ====
3 |
4 | .. toctree::
5 |
6 | genindex
7 |
8 | .. add a glossary entry to have an entry in the index
9 |
10 | .. glossary::
11 |
12 | test
13 | entry
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/mermaid/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | 'sphinxcontrib.mermaid',
4 | ]
5 |
6 | # npm install @mermaid-js/mermaid-cli
7 | mermaid_cmd = 'node_modules\\.bin\\mmdc.cmd'
8 | mermaid_output_format = 'svg'
9 |
--------------------------------------------------------------------------------
/tests/sample-sets/program-output/index.rst:
--------------------------------------------------------------------------------
1 | Program output
2 | ==============
3 |
4 | .. program-output:: python --help
5 |
6 | .. program-output:: python --help
7 | :ellipsis: 2,-2
8 |
9 | .. command-output:: python --help
10 | :ellipsis: 2
11 |
--------------------------------------------------------------------------------
/tests/sample-sets/raw-html/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'myst_parser',
3 | 'sphinxcontrib.confluencebuilder',
4 | ]
5 |
6 | # Raw injection:
7 | confluence_permit_raw_html = True
8 |
9 | # Using macro:
10 | # confluence_permit_raw_html = 'html'
11 |
--------------------------------------------------------------------------------
/tests/sample-sets/raw-html/index.rst:
--------------------------------------------------------------------------------
1 | raw-html
2 | ========
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 |
7 | second
8 |
9 | ----
10 |
11 | Some raw HTML:
12 |
13 | .. raw:: html
14 |
15 | sphinx-doc.org
16 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/jira/conflicting-server-id/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | jira
4 | ----
5 |
6 | .. conflicting "server" and "server-name"
7 |
8 | .. jira_issue:: TEST-1
9 | :server: test-jira-server
10 | :server-name: overwritten-server-name
11 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/citations/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#citations
2 |
3 | citations
4 | ---------
5 |
6 | [CIT01]_
7 |
8 | [CIT02]_
9 |
10 | .. [CIT01] citation 1
11 | .. [CIT02] citation 2
12 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/versionadded/index.rst:
--------------------------------------------------------------------------------
1 | .. https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html?highlight=deprecated#directive-versionadded
2 |
3 | versionadded
4 | ------------
5 |
6 | .. versionadded:: 2.4
7 | versionadded message
8 |
--------------------------------------------------------------------------------
/check:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 | #
3 | # This is a helper script used to only invoke a single tox environment.
4 | # Solely used for a quick way to run a supported environment without
5 | # having to try to form one on the command line.
6 |
7 | exec tox -e py313-sphinx81 $@
8 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/glossary/glossary-ref.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | .. verify glossary items can be referenced from another document
4 |
5 | glossary-ref
6 | ------------
7 |
8 | :term:`glossary 1`
9 |
10 | :term:`glossary 2`
11 |
12 | :term:`glossary 3`
13 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/contents/contents.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | contents
4 | ========
5 |
6 | section
7 | -------
8 |
9 | subsection
10 | ~~~~~~~~~~
11 |
12 | .. contents::
13 |
14 | subsubsection
15 | !!!!!!!!!!!!!
16 |
17 | newsection
18 | ----------
19 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/jira/conflicting-server-name/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | jira
4 | ----
5 |
6 | .. conflicting "server" and "server-id"
7 |
8 | .. jira_issue:: TEST-1
9 | :server: test-jira-server
10 | :server-id: 00000000-0000-0000-0000-000000000000
11 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-click/conf.py:
--------------------------------------------------------------------------------
1 | from pathlib import Path
2 | import sys
3 |
4 |
5 | extensions = [
6 | 'sphinx_click',
7 | 'sphinxcontrib.confluencebuilder',
8 | ]
9 |
10 |
11 | test_dir = Path(__file__).parent.resolve()
12 | sys.path.insert(0, test_dir)
13 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/panel-missing-title-with-title-bg-color/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | missing-title-with-title-bg-color
4 | =================================
5 |
6 | .. confluence_panel::
7 | :title-bg-color: #0000ee
8 |
9 | with title background color
10 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/contents-multipage/page-a.rst:
--------------------------------------------------------------------------------
1 | page-a
2 | ======
3 |
4 | .. contents::
5 | :local:
6 |
7 | section-a
8 | ^^^^^^^^^
9 |
10 | data
11 |
12 | section-b
13 | ^^^^^^^^^
14 |
15 | data
16 |
17 | sub-section
18 | ~~~~~~~~~~~
19 |
20 | data
21 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/contents-multipage/page-b.rst:
--------------------------------------------------------------------------------
1 | page-b
2 | ======
3 |
4 | .. contents::
5 | :local:
6 |
7 | section-b
8 | ^^^^^^^^^
9 |
10 | data
11 |
12 | section-c
13 | ^^^^^^^^^
14 |
15 | data
16 |
17 | sub-section
18 | ~~~~~~~~~~~
19 |
20 | data
21 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/versionchanged/index.rst:
--------------------------------------------------------------------------------
1 | .. https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html?highlight=deprecated#directive-versionchanged
2 |
3 | versionchanged
4 | --------------
5 |
6 | .. versionchanged:: 5.6
7 | versionchanged message
8 |
--------------------------------------------------------------------------------
/tests/validation-sets/base/editor_v2.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | Fabric editor
4 | =============
5 |
6 | .. raw:: confluence_storage
7 |
8 |
9 | true
10 |
11 |
--------------------------------------------------------------------------------
/tests/validation-sets/markdown/table.md:
--------------------------------------------------------------------------------
1 | # Markdown Table
2 |
3 | Table example:
4 |
5 | | Header row, column 1 | Header 2 | Header 3 | Header 4 |
6 | | :--------------------- | :--------: | -------: | -------- |
7 | | body row 1, column 1 | 2 | 3 | 4 |
8 |
--------------------------------------------------------------------------------
/tests/sample-sets/aafig/index.rst:
--------------------------------------------------------------------------------
1 | aafig
2 | =====
3 |
4 | .. aafig::
5 | :aspect: 60
6 | :scale: 150
7 | :proportional:
8 | :textual:
9 |
10 | +-------+ +-----------+
11 | | Hello +-------->+ aafigure! |
12 | +-------+ +-----------+
13 |
--------------------------------------------------------------------------------
/tests/sample-sets/header-links/index.rst:
--------------------------------------------------------------------------------
1 | Index
2 | =====
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 |
7 | rst-v1-first
8 | rst-v1-second
9 | rst-v2-first
10 | rst-v2-second
11 | md-v1-first
12 | md-v1-second
13 | md-v2-first
14 | md-v2-second
15 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/code-block-params/code-block-collapse.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | .. code-block:: python
4 |
5 | import example
6 | example.method1()
7 |
8 | .. code-block:: python
9 | :class: collapse
10 |
11 | import example
12 | example.method2()
13 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/confluence-toc/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | confluence toc
4 | --------------
5 |
6 | .. basic
7 |
8 | .. confluence_toc::
9 |
10 | .. options
11 |
12 | .. confluence_toc::
13 | :type: flat
14 | :absolute-url: true
15 | :printable: false
16 |
--------------------------------------------------------------------------------
/tests/validation-sets/base/editor_v1.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | Default editor
4 | ==============
5 |
6 | .. raw:: confluence_storage
7 |
8 |
9 | true
10 |
11 |
--------------------------------------------------------------------------------
/tests/sample-sets/i8n/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | commands =
6 | {envpython} -m tests.test_sample {posargs}
7 | setenv =
8 | PYTHONDONTWRITEBYTECODE=1
9 | TOX_INI_DIR={toxinidir}
10 | passenv = *
11 | use_develop = true
12 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-data-viewer/README.md:
--------------------------------------------------------------------------------
1 | # Sphinx-Data-Viewer
2 |
3 | For users using Sphinx-Data-Viewer, we can at least render JSON data into
4 | code blocks and have the content collapsed by default. We will be unable
5 | to support collapsing specific sections of a JSON dictionary.
6 |
--------------------------------------------------------------------------------
/tests/sample-sets/svg/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | commands =
6 | {envpython} -m tests.test_sample {posargs}
7 | setenv =
8 | PYTHONDONTWRITEBYTECODE=1
9 | TOX_INI_DIR={toxinidir}
10 | passenv = *
11 | use_develop = true
12 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/references/index.rst:
--------------------------------------------------------------------------------
1 | Index
2 | =====
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 |
7 | rst-v1-first
8 | rst-v1-second
9 | rst-v2-first
10 | rst-v2-second
11 | md-v1-first
12 | md-v1-second
13 | md-v2-first
14 | md-v2-second
15 |
--------------------------------------------------------------------------------
/tests/sample-sets/autodocs/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | commands =
6 | {envpython} -m tests.test_sample {posargs}
7 | setenv =
8 | PYTHONDONTWRITEBYTECODE=1
9 | TOX_INI_DIR={toxinidir}
10 | passenv = *
11 | use_develop = true
12 |
--------------------------------------------------------------------------------
/tests/sample-sets/cleanup/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | commands =
6 | {envpython} -m tests.test_sample {posargs}
7 | setenv =
8 | PYTHONDONTWRITEBYTECODE=1
9 | TOX_INI_DIR={toxinidir}
10 | passenv = *
11 | use_develop = true
12 |
--------------------------------------------------------------------------------
/tests/sample-sets/image/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | commands =
6 | {envpython} -m tests.test_sample {posargs}
7 | setenv =
8 | PYTHONDONTWRITEBYTECODE=1
9 | TOX_INI_DIR={toxinidir}
10 | passenv = *
11 | use_develop = true
12 |
--------------------------------------------------------------------------------
/tests/sample-sets/latex/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | commands =
6 | {envpython} -m tests.test_sample {posargs}
7 | setenv =
8 | PYTHONDONTWRITEBYTECODE=1
9 | TOX_INI_DIR={toxinidir}
10 | passenv = *
11 | use_develop = true
12 |
--------------------------------------------------------------------------------
/tests/sample-sets/linkcode/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | commands =
6 | {envpython} -m tests.test_sample {posargs}
7 | setenv =
8 | PYTHONDONTWRITEBYTECODE=1
9 | TOX_INI_DIR={toxinidir}
10 | passenv = *
11 | use_develop = true
12 |
--------------------------------------------------------------------------------
/tests/sample-sets/math/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | commands =
6 | {envpython} -m tests.test_sample {posargs}
7 | setenv =
8 | PYTHONDONTWRITEBYTECODE=1
9 | TOX_INI_DIR={toxinidir}
10 | passenv = *
11 | use_develop = true
12 |
--------------------------------------------------------------------------------
/tests/sample-sets/mentions/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | commands =
6 | {envpython} -m tests.test_sample {posargs}
7 | setenv =
8 | PYTHONDONTWRITEBYTECODE=1
9 | TOX_INI_DIR={toxinidir}
10 | passenv = *
11 | use_develop = true
12 |
--------------------------------------------------------------------------------
/tests/sample-sets/numfig/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | commands =
6 | {envpython} -m tests.test_sample {posargs}
7 | setenv =
8 | PYTHONDONTWRITEBYTECODE=1
9 | TOX_INI_DIR={toxinidir}
10 | passenv = *
11 | use_develop = true
12 |
--------------------------------------------------------------------------------
/tests/sample-sets/orphan/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | commands =
6 | {envpython} -m tests.test_sample {posargs}
7 | setenv =
8 | PYTHONDONTWRITEBYTECODE=1
9 | TOX_INI_DIR={toxinidir}
10 | passenv = *
11 | use_develop = true
12 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/contents/contents-caption.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | contents
4 | ========
5 |
6 | section
7 | -------
8 |
9 | subsection
10 | ~~~~~~~~~~
11 |
12 | .. contents:: table of contents
13 |
14 | subsubsection
15 | !!!!!!!!!!!!!
16 |
17 | newsection
18 | ----------
19 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/contents/contents-local.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | contents
4 | ========
5 |
6 | section
7 | -------
8 |
9 | subsection
10 | ~~~~~~~~~~
11 |
12 | .. contents::
13 | :local:
14 |
15 | subsubsection
16 | !!!!!!!!!!!!!
17 |
18 | newsection
19 | ----------
20 |
--------------------------------------------------------------------------------
/tests/sample-sets/link-check/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | commands =
6 | {envpython} -m tests.test_sample {posargs}
7 | setenv =
8 | PYTHONDONTWRITEBYTECODE=1
9 | TOX_INI_DIR={toxinidir}
10 | passenv = *
11 | use_develop = true
12 |
--------------------------------------------------------------------------------
/tests/sample-sets/next-prev/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | commands =
6 | {envpython} -m tests.test_sample {posargs}
7 | setenv =
8 | PYTHONDONTWRITEBYTECODE=1
9 | TOX_INI_DIR={toxinidir}
10 | passenv = *
11 | use_develop = true
12 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-prompt/README.md:
--------------------------------------------------------------------------------
1 | # sphinx-prompt
2 |
3 | The following checks the use of sphinx-prompt directives. Confluence does
4 | not support a means to make text unselectable; however, users may want to
5 | still render the content inside sphinx-prompt directive on Confluence
6 | pages.
7 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/footnotes/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#footnotes
2 |
3 | footnotes
4 | ---------
5 |
6 | [#]_
7 |
8 | [#note]_
9 |
10 | [2]_
11 |
12 | .. [2] footnote 2
13 | .. [#] footnote num
14 | .. [#note] footnote note
15 |
--------------------------------------------------------------------------------
/tests/sample-sets/confluence-card/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | commands =
6 | {envpython} -m tests.test_sample {posargs}
7 | setenv =
8 | PYTHONDONTWRITEBYTECODE=1
9 | TOX_INI_DIR={toxinidir}
10 | passenv = *
11 | use_develop = true
12 |
--------------------------------------------------------------------------------
/tests/sample-sets/confluence-excerpt/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | commands =
6 | {envpython} -m tests.test_sample {posargs}
7 | setenv =
8 | PYTHONDONTWRITEBYTECODE=1
9 | TOX_INI_DIR={toxinidir}
10 | passenv = *
11 | use_develop = true
12 |
--------------------------------------------------------------------------------
/tests/sample-sets/confluence-status/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | commands =
6 | {envpython} -m tests.test_sample {posargs}
7 | setenv =
8 | PYTHONDONTWRITEBYTECODE=1
9 | TOX_INI_DIR={toxinidir}
10 | passenv = *
11 | use_develop = true
12 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-tabs/index.rst:
--------------------------------------------------------------------------------
1 | sphinx-tabs
2 | ===========
3 |
4 | .. tabs::
5 |
6 | .. tab:: Apples
7 |
8 | Apples are green, or sometimes red.
9 |
10 | .. tab:: Pears
11 |
12 | Pears are green.
13 |
14 | .. tab:: Oranges
15 |
16 | Oranges are orange.
17 |
--------------------------------------------------------------------------------
/tests/sample-sets/tables/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | commands =
7 | {envpython} -m tests.test_sample {posargs}
8 | setenv =
9 | PYTHONDONTWRITEBYTECODE=1
10 | TOX_INI_DIR={toxinidir}
11 | passenv = *
12 | use_develop = true
13 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/figure-caption/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/directives.html#figure
2 |
3 | figure
4 | ------
5 |
6 | .. figure with caption
7 |
8 | .. figure:: ../../../assets/image03.png
9 |
10 | **caption** with *markup*
11 |
12 | legend
13 |
--------------------------------------------------------------------------------
/tests/sample-sets/inheritance-diagram/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | commands =
6 | {envpython} -m tests.test_sample {posargs}
7 | setenv =
8 | PYTHONDONTWRITEBYTECODE=1
9 | TOX_INI_DIR={toxinidir}
10 | passenv = *
11 | use_develop = true
12 |
--------------------------------------------------------------------------------
/tests/unit-tests/assets/example.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | my-example
4 |
9 |
10 |
11 | this is an example
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/confluence-code-block-theme/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | commands =
6 | {envpython} -m tests.test_sample {posargs}
7 | setenv =
8 | PYTHONDONTWRITEBYTECODE=1
9 | TOX_INI_DIR={toxinidir}
10 | passenv = *
11 | use_develop = true
12 |
--------------------------------------------------------------------------------
/tests/sample-sets/mentions/index.rst:
--------------------------------------------------------------------------------
1 | mentions
2 | ========
3 |
4 | Hash: :confluence_mention:`ff8080815b651146015b65117b240001`
5 |
6 | UUID: :confluence_mention:`557058:2d0a38b2-b4d8-45fa-978c-f6d556f24205`
7 |
8 | Unknown: :confluence_mention:`unknown`
9 |
10 | Mapped: :confluence_mention:`jdknight`
11 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/contents/contents-backlinks-none.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | contents
4 | ========
5 |
6 | section
7 | -------
8 |
9 | subsection
10 | ~~~~~~~~~~
11 |
12 | .. contents:: toc
13 | :backlinks: none
14 |
15 | subsubsection
16 | !!!!!!!!!!!!!
17 |
18 | newsection
19 | ----------
20 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/contents/contents-backlinks-top.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | contents
4 | ========
5 |
6 | section
7 | -------
8 |
9 | subsection
10 | ~~~~~~~~~~
11 |
12 | .. contents:: toc
13 | :backlinks: top
14 |
15 | subsubsection
16 | !!!!!!!!!!!!!
17 |
18 | newsection
19 | ----------
20 |
--------------------------------------------------------------------------------
/sandbox/README.rst:
--------------------------------------------------------------------------------
1 | test sandbox
2 | ============
3 |
4 | The following folder provides an easy setup to dump a fresh ``conf.py``,
5 | ``requirements.txt`` and documentation to test against this extension when
6 | invoking with the following command:
7 |
8 | .. code-block:: shell
9 |
10 | tox -e sandbox
11 |
--------------------------------------------------------------------------------
/tests/sample-sets/drawio/index.rst:
--------------------------------------------------------------------------------
1 | drawio
2 | ======
3 |
4 | .. drawio-figure:: box.drawio
5 | :align: left
6 |
7 | ----
8 |
9 | .. drawio-image:: box.drawio
10 | :format: png
11 | :align: center
12 |
13 | ----
14 |
15 | .. drawio-figure:: box.drawio
16 | :format: svg
17 | :align: right
18 |
--------------------------------------------------------------------------------
/tests/sample-sets/linkcode/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | 'sphinx.ext.linkcode',
4 | ]
5 |
6 | def linkcode_resolve(domain, info):
7 | name = info.get('fullname', None)
8 | if not name:
9 | return None
10 | return f'https://example.org/src/{name}'
11 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/contents/contents-backlinks-entry.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | contents
4 | ========
5 |
6 | section
7 | -------
8 |
9 | subsection
10 | ~~~~~~~~~~
11 |
12 | .. contents:: toc
13 | :backlinks: entry
14 |
15 | subsubsection
16 | !!!!!!!!!!!!!
17 |
18 | newsection
19 | ----------
20 |
--------------------------------------------------------------------------------
/tests/sample-sets/ipython/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | ipython
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/code-block/code-block.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | .. code-block:: python
4 | :linenos:
5 |
6 | import myexample
7 | myexample.invoke()
8 |
9 | .. code-block:: sql
10 |
11 | SELECT * FROM table_name;
12 |
13 | .. sourcecode:: ruby
14 |
15 | puts 'this is a print statement!'
16 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/block-quotes/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#block-quotes
2 |
3 | block quotes
4 | ------------
5 |
6 | root
7 |
8 | first-level
9 |
10 | second-level
11 |
12 | root
13 |
14 | second-level
15 |
16 | first-level
17 |
--------------------------------------------------------------------------------
/tests/sample-sets/jinja/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinx-jinja
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/raw-html/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | myst-parser
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/strikethrough/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'myst_parser',
3 | 'sphinxcontrib.confluencebuilder',
4 | ]
5 |
6 | rst_prolog = '''
7 |
8 | .. role:: strike
9 | :class: strike
10 |
11 | '''
12 |
13 | html_static_path = ['_static']
14 |
15 | def setup(app):
16 | app.add_css_file('test.css')
17 |
--------------------------------------------------------------------------------
/tests/sample-sets/aafig/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinxcontrib-aafig
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/drawio/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinxcontrib-drawio
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/header-links/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | myst-parser
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/kroki/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinxcontrib-kroki
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/markdown-myst/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | myst-parser
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-click/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinx-click
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-inline-tabs/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinx_inline_tabs',
3 | 'sphinxcontrib.confluencebuilder',
4 | ]
5 |
6 | confluence_tab_macro = {
7 | 'macro-name': 'cfm-tabs-page',
8 | 'primary-id': 'primaryTab',
9 | 'primary-value': 'true',
10 | 'title-id': 'tabsPageTitle',
11 | }
12 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-panels/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinx-panels
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-prompt/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinx-prompt
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-tabs/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinx-tabs
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/strikethrough/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | myst-parser
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/svgbob/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinxcontrib-svgbob
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/literal/literal-blocks.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | literal block tests
4 | -------------------
5 |
6 | Expanded:
7 |
8 | ::
9 |
10 | example 01
11 |
12 | Partially minimized: ::
13 |
14 | example 02
15 |
16 | Minimized::
17 |
18 | example 03
19 |
20 | Quoted::
21 |
22 | > example 04
23 |
--------------------------------------------------------------------------------
/tests/sample-sets/example-doc-sphinx/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | commands =
6 | {envpython} -m tests.test_sample {posargs}
7 | setenv =
8 | PYTHONDONTWRITEBYTECODE=1
9 | SAMPLE_DIR=sphinx/doc
10 | TOX_INI_DIR={toxinidir}
11 | passenv = *
12 | use_develop = true
13 |
--------------------------------------------------------------------------------
/tests/sample-sets/mermaid/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinxcontrib-mermaid
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/openapi/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinxcontrib-openapi
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/plantuml/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinxcontrib-plantuml
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-diagrams/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinx-diagrams
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-video/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinxcontrib-video
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/youtube/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinxcontrib-youtube
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/code-block/code-block-caption.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | .. code-block:: python
4 | :caption: code caption test
5 |
6 | import myexample
7 | myexample.invoke()
8 |
9 | .. code-block:: python
10 | :caption: code caption test "two"
11 |
12 | import myexample2
13 | myexample2.invoke()
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/httpdomain/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinxcontrib-httpdomain
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/single-confluence-refs/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | myst-parser
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-inline-tabs/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinx-inline-tabs
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinxnotes-strike/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinxnotes-strike
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/program-output/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinxcontrib-programoutput
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | TOX_INI_DIR={toxinidir}
12 | passenv = *
13 | use_develop = true
14 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/markup/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#inline-markup
2 |
3 | markup
4 | ------
5 |
6 | *emphasis*
7 |
8 | **strong emphasis**
9 |
10 | `interpreted`
11 |
12 | ``inline``
13 |
14 | :sub:`subscript`
15 |
16 | :sup:`superscript`
17 |
18 | :guilabel:`&guilabel`
19 |
--------------------------------------------------------------------------------
/tests/sample-sets/autodocs/conf.py:
--------------------------------------------------------------------------------
1 | from pathlib import Path
2 | import sys
3 |
4 |
5 | extensions = [
6 | 'sphinx.ext.autodoc',
7 | 'sphinx.ext.autosummary',
8 | 'sphinxcontrib.confluencebuilder',
9 | ]
10 |
11 |
12 | test_dir = Path(__file__).parent.resolve()
13 | src_dir = test_dir / 'src'
14 | sys.path.insert(0, str(src_dir))
15 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-data-viewer/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | 'sphinxcontrib.jquery',
4 | 'sphinx_data_viewer',
5 | ]
6 |
7 | data_viewer_data = {
8 | "my_data": {
9 | "name": "Mario",
10 | "job": "plumber",
11 | "magic_tubes": [2, 7, 23, 43.5],
12 | },
13 | }
14 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/code-block-fallback/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | .. code-block:: omg-idl
4 |
5 | module MyAwesomeModule
6 | {
7 | typedef string AnotherVar;
8 | typedef float SomeVaR;
9 |
10 | interface MyAwesomrInterface
11 | {
12 | void fetch(in int amount);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/.coveragerc:
--------------------------------------------------------------------------------
1 | [coverage:run]
2 | parallel = 1
3 |
4 | [coverage:report]
5 | ignore_errors = 1
6 | omit =
7 | # ignore publishing related implementation
8 | sphinxcontrib/confluencebuilder/publisher.py
9 | sphinxcontrib/confluencebuilder/rest.py
10 | # ignore mainlines
11 | *__main__.py*
12 | show_missing = 1
13 | skip_covered = 1
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/cleanup/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | ]
4 |
5 | confluence_cleanup_purge = True
6 | # confluence_cleanup_search_mode = 'direct'
7 | # confluence_cleanup_search_mode = 'direct-aggressive'
8 | # confluence_cleanup_search_mode = 'search'
9 | # confluence_cleanup_search_mode = 'search-aggressive'
10 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/hierarchy/toctree-doc2a.rst:
--------------------------------------------------------------------------------
1 | treedoc2a
2 | ---------
3 |
4 | .. _example-doc2a-label:
5 |
6 | hyperlink references (part a)
7 | +++++++++++++++++++++++++++++
8 |
9 | Validate `anonymous`__ hyperlink references.
10 |
11 | __ http://www.example.com/static/first-link.txt
12 |
13 | .. toctree::
14 |
15 | toctree-doc2aa
16 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/status/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | status
4 | ------
5 |
6 | .. default
7 |
8 | :confluence_status:`status a`
9 |
10 | .. color
11 |
12 | :confluence_status:`status b `
13 |
14 | .. outlined
15 |
16 | :confluence_status:`status c []`
17 |
18 | .. outlined, color
19 |
20 | :confluence_status:`status d [green]`
21 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-needs/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinx-needs
7 | sphinxcontrib-plantuml
8 | commands =
9 | {envpython} -m tests.test_sample {posargs}
10 | setenv =
11 | PYTHONDONTWRITEBYTECODE=1
12 | TOX_INI_DIR={toxinidir}
13 | passenv = *
14 | use_develop = true
15 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-toolbox/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | flake8-dunder-all
7 | sphinx-toolbox
8 | commands =
9 | {envpython} -m tests.test_sample {posargs}
10 | setenv =
11 | PYTHONDONTWRITEBYTECODE=1
12 | TOX_INI_DIR={toxinidir}
13 | passenv = *
14 | use_develop = true
15 |
--------------------------------------------------------------------------------
/.readthedocs.yaml:
--------------------------------------------------------------------------------
1 | # readthedocs configuration script
2 | version: 2
3 |
4 | build:
5 | os: ubuntu-22.04
6 | tools:
7 | python: "3.11"
8 |
9 | sphinx:
10 | builder: dirhtml
11 | configuration: doc/conf.py
12 |
13 | python:
14 | install:
15 | - method: pip
16 | path: .
17 | - requirements: doc/requirements.txt
18 |
19 | formats: all
20 |
--------------------------------------------------------------------------------
/tests/sample-sets/plantuml/index.rst:
--------------------------------------------------------------------------------
1 | plantuml
2 | ========
3 |
4 | .. uml::
5 |
6 | Alice -> Bob: Hi!
7 | Alice <- Bob: How are you?
8 |
9 |
10 | .. uml::
11 | :scale: 50 %
12 | :align: center
13 |
14 | Foo <|-- Bar
15 |
16 |
17 | .. uml::
18 | :caption: Caption with **bold** and *italic*
19 | :width: 50mm
20 |
21 | Foo <|-- Bar
22 |
--------------------------------------------------------------------------------
/tests/validation-sets/extensions/index.rst:
--------------------------------------------------------------------------------
1 | Extensions
2 | ==========
3 |
4 | The following is a base page to show an example of Sphinx's auto-based extension
5 | found inside the internal tree.
6 |
7 | .. toctree::
8 | :maxdepth: 1
9 |
10 | autodocs
11 | autosummary
12 | graphviz
13 | inheritance_diagram
14 | linkcode
15 | todo
16 |
--------------------------------------------------------------------------------
/tests/sample-sets/autodocs/autosummary.rst:
--------------------------------------------------------------------------------
1 | sphinx.ext.autosummary
2 | ======================
3 |
4 | An example of a local docstring:
5 |
6 | .. autosummary::
7 |
8 | Hello
9 |
10 | An example of an external module docstring:
11 |
12 | .. currentmodule:: sphinx
13 |
14 | .. autosummary::
15 |
16 | environment.BuildEnvironment
17 | util.relative_uri
18 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-data-viewer/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinx-data-viewer
7 | sphinxcontrib-jquery
8 | commands =
9 | {envpython} -m tests.test_sample {posargs}
10 | setenv =
11 | PYTHONDONTWRITEBYTECODE=1
12 | TOX_INI_DIR={toxinidir}
13 | passenv = *
14 | use_develop = true
15 |
--------------------------------------------------------------------------------
/tests/sample-sets/example-doc-mdn/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | myst-parser
7 | commands =
8 | {envpython} -m tests.test_sample {posargs}
9 | setenv =
10 | PYTHONDONTWRITEBYTECODE=1
11 | SAMPLE_DIR=content/files/en-us/mdn
12 | TOX_INI_DIR={toxinidir}
13 | passenv = *
14 | use_develop = true
15 |
--------------------------------------------------------------------------------
/tests/sample-sets/plantuml/conf.py:
--------------------------------------------------------------------------------
1 | from pathlib import Path
2 |
3 |
4 | extensions = [
5 | 'sphinxcontrib.confluencebuilder',
6 | 'sphinxcontrib.plantuml',
7 | ]
8 |
9 |
10 | plantuml_output_format = 'svg'
11 |
12 |
13 | dir_path = Path(__file__).parent.resolve()
14 | plantuml_jar = dir_path / 'plantuml.jar'
15 | plantuml = 'java -jar ' + str(plantuml_jar)
16 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/references/references-ref.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | .. verify references can point from another document
4 |
5 | references-ref
6 | --------------
7 |
8 | document link :doc:`references`
9 |
10 | :doc:`custom name `
11 |
12 | :ref:`references anchor `
13 |
14 | :ref:`references section `
15 |
--------------------------------------------------------------------------------
/tests/sample-sets/blockdiag/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | # blockdiag extensions
4 | 'sphinxcontrib.actdiag',
5 | 'sphinxcontrib.blockdiag',
6 | 'sphinxcontrib.nwdiag',
7 | 'sphinxcontrib.packetdiag',
8 | 'sphinxcontrib.rackdiag',
9 | 'sphinxcontrib.seqdiag',
10 | ]
11 |
12 | blockdiag_image_format = 'svg'
13 |
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/std/sphinx.py:
--------------------------------------------------------------------------------
1 | # SPDX-License-Identifier: BSD-2-Clause
2 | # Copyright Sphinx Confluence Builder Contributors (AUTHORS)
3 |
4 | # sphinx's default highlight style
5 | # http://www.sphinx-doc.org/en/stable/config.html#confval-highlight_language
6 | DEFAULT_HIGHLIGHT_STYLE = 'default'
7 |
8 | # sphinx's default alignment
9 | DEFAULT_ALIGNMENT = 'center'
10 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-tabs/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinx_tabs.tabs',
3 | 'sphinxcontrib.confluencebuilder',
4 | ]
5 |
6 | confluence_tab_macro = {
7 | 'macro-name': 'cfm-tabs-page',
8 | 'primary-id': 'primaryTab',
9 | 'primary-value': 'true',
10 | 'title-id': 'tabsPageTitle',
11 | }
12 |
13 | sphinx_tabs_valid_builders = [
14 | 'confluence',
15 | ]
16 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/mentions/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | mentions
4 | --------
5 |
6 | .. Confluence Server (username) mention
7 |
8 | :confluence_mention:`myuser`
9 |
10 | .. Confluence Server (key) mention
11 |
12 | :confluence_mention:`b9aaf35e80441f415c3a3d3c53695d0e`
13 |
14 | .. Confluence Cloud mention
15 |
16 | :confluence_mention:`3c5369:fa8b5c24-17f8-4340-b73e-50d383307c59`
17 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/use-cases/nested-ref-contents.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | nested ref contents
4 | ===================
5 |
6 | .. contents::
7 | :local:
8 |
9 | :doc:`custom_name `
10 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
11 |
12 | :ref:`custom_name2 `
13 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
14 |
15 | :ref:`custom_name3 `
16 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
17 |
--------------------------------------------------------------------------------
/tests/sample-sets/jinja/index.rst:
--------------------------------------------------------------------------------
1 | jinja
2 | =====
3 |
4 | .. jinja:: ctx
5 |
6 | {% for feature in features %}
7 |
8 | {{ feature.properties.title }}
9 | -----------------------------------------------
10 |
11 | Event: {{ feature.properties.time_str }}
12 |
13 | {{ feature.properties.url }}
14 |
15 | ----
16 |
17 | {% endfor %}
18 |
19 | See also: https://earthquake.usgs.gov/
20 |
--------------------------------------------------------------------------------
/tests/sample-sets/blockdiag/tox.ini:
--------------------------------------------------------------------------------
1 | [tox]
2 | package_root={toxinidir}{/}..{/}..{/}..
3 |
4 | [testenv]
5 | deps =
6 | sphinxcontrib-actdiag
7 | sphinxcontrib-blockdiag
8 | sphinxcontrib-nwdiag
9 | sphinxcontrib-seqdiag
10 | commands =
11 | {envpython} -m tests.test_sample {posargs}
12 | setenv =
13 | PYTHONDONTWRITEBYTECODE=1
14 | TOX_INI_DIR={toxinidir}
15 | passenv = *
16 | use_develop = true
17 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/code-block/code-block-linenothreshold.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | .. highlight:: python
4 | :linenothreshold: 3
5 |
6 | .. code-block:: python
7 |
8 | import anothersmallexample
9 | anothersmallexample.invoke()
10 |
11 | .. code-block:: python
12 |
13 | import anotherbigexample
14 | anotherbigexample.method1()
15 | anotherbigexample.method2()
16 | anotherbigexample.method3()
17 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/confluence-doc/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | confluence doc
4 | ==============
5 |
6 | An :confluence_doc:`second` inlined card.
7 |
8 | .. confluence_doc:: second
9 | :card: embed
10 |
11 | .. confluence_doc:: second
12 | :card: embed
13 | :width: 30
14 |
15 | .. confluence_doc:: second
16 | :card: embed
17 | :layout: align-end
18 |
19 | .. confluence_doc:: third
20 | :card: block
21 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/definition-lists/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#definition-lists
2 |
3 | definition lists
4 | ----------------
5 |
6 | term 1
7 | definition 1
8 |
9 | term 2
10 | definition 2, paragraph 1
11 |
12 | definition 2, paragraph 2
13 |
14 | term 3 : classifier
15 | definition 3
16 |
17 | term 4 : classifier one : classifier two
18 | definition 4
19 |
--------------------------------------------------------------------------------
/doc/guides.rst:
--------------------------------------------------------------------------------
1 | Guides
2 | ======
3 |
4 | The following contains a series of guides which may help a user using
5 | the Confluence Builder extension in a Sphinx-enabled environment.
6 |
7 | .. toctree::
8 | :maxdepth: 1
9 |
10 | guide-class-hints
11 | guide-collapse
12 | guide-confluence-macros
13 | guide-highlight-default
14 | guide-math
15 | guide-scope-token
16 | guide-strike
17 | guide-ci
18 | guide-sso
19 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-prompt/index.rst:
--------------------------------------------------------------------------------
1 | sphinx-prompt
2 | =============
3 |
4 | .. prompt:: bash
5 |
6 | cd
7 | cp \
8 |
9 | cd -
10 |
11 | .. prompt:: bash #
12 |
13 | cd
14 | cd -
15 |
16 | .. prompt:: bash $,# auto
17 |
18 | $ sudo
19 | # exit2
20 | $
21 |
22 | .. prompt:: bash $,(env)...$ auto
23 |
24 | $ source env/bin/activate
25 | (env)...$ deactivate
26 | $
27 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # byte-compiled, optimized, etc.
2 | __pycache__/
3 | *.py[cod]
4 |
5 | # building, packaging, etc.
6 | /*.egg-info/
7 | /build/
8 | /dist/
9 |
10 | # documentation
11 | /doc/_build/
12 |
13 | # platform-specific
14 | .DS_Store
15 |
16 | # testing
17 | /_build/
18 | /htmlcov*/
19 | /output*/
20 | /sandbox*/
21 | /venv*/
22 | /.coverage*
23 | .tox*
24 | validation_test_overrides.py
25 | !.coveragerc
26 |
27 | # misc
28 | .idea/
29 | trace.log
30 |
--------------------------------------------------------------------------------
/crowdin.yml:
--------------------------------------------------------------------------------
1 | # https://crowdin.com/project/sphinxcontrib-confluencebuilder
2 | project_id: 558685
3 |
4 | files:
5 | - source: /sphinxcontrib/confluencebuilder/locale/*.pot
6 | translation: /sphinxcontrib/confluencebuilder/locale/%two_letters_code%/LC_MESSAGES/%file_name%.po
7 | languages_mapping:
8 | two_letters_code:
9 | pt-BR: pt_BR
10 | pt-PT: pt_PT
11 | sr-CS: sr_CS
12 | zh-CN: zh_CH
13 | zh-TW: zh_TW
14 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/download/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | .. https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html?highlight=role%20download#role-download
4 |
5 | download
6 | --------
7 |
8 | :download:`../../assets/example.pdf`
9 |
10 | :download:`label<../../assets/example.pdf>`
11 |
12 | :download:`files/example.pdf`
13 |
14 | .. Absolute filename taken as relative to the top source directory
15 |
16 | :download:`/files/example.pdf`
17 |
--------------------------------------------------------------------------------
/tests/sample-sets/mermaid/index.rst:
--------------------------------------------------------------------------------
1 | mermaid
2 | =======
3 |
4 | .. mermaid::
5 |
6 | sequenceDiagram
7 | participant Alice
8 | participant Bob
9 | Alice->John: Hello John, how are you?
10 | loop Healthcheck
11 | John->John: Fight against hypochondria
12 | end
13 | Note right of John: Rational thoughts
prevail...
14 | John-->Alice: Great!
15 | John->Bob: How about you?
16 | Bob-->John: Jolly good!
17 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/hierarchy/toctree-doc2c.rst:
--------------------------------------------------------------------------------
1 | treedoc2c
2 | ---------
3 |
4 | .. _example-doc2c-label:
5 |
6 | check citations
7 | +++++++++++++++
8 |
9 | Validate citation support with squashed document [CIT2001]_.
10 |
11 | .. [CIT2001] This is an example citation.
12 |
13 | hyperlink references (part b)
14 | +++++++++++++++++++++++++++++
15 |
16 | Validate `anonymous`__ hyperlink references.
17 |
18 | __ http://www.example.com/static/second-link.txt
19 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/references/rst-v1-second.rst:
--------------------------------------------------------------------------------
1 | .. confluence_metadata::
2 | :editor: v1
3 |
4 | reStructuredText v1 Second
5 | ==========================
6 |
7 | :ref:`main-rst-v1`
8 |
9 | :ref:`main-rst-v1-extra`
10 |
11 | :ref:`content 1 `
12 |
13 | :ref:`main-rst-v1-extra2`
14 |
15 | :ref:`main-rst-v2`
16 |
17 | :ref:`main-rst-v2-extra`
18 |
19 | :ref:`content 2 `
20 |
21 | :ref:`main-rst-v2-extra2`
22 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/references/rst-v2-second.rst:
--------------------------------------------------------------------------------
1 | .. confluence_metadata::
2 | :editor: v2
3 |
4 | reStructuredText v2 Second
5 | ==========================
6 |
7 | :ref:`main-rst-v1`
8 |
9 | :ref:`main-rst-v1-extra`
10 |
11 | :ref:`content a `
12 |
13 | :ref:`main-rst-v1-extra2`
14 |
15 | :ref:`main-rst-v2`
16 |
17 | :ref:`main-rst-v2-extra`
18 |
19 | :ref:`content b `
20 |
21 | :ref:`main-rst-v2-extra2`
22 |
--------------------------------------------------------------------------------
/tests/sample-sets/youtube/index.rst:
--------------------------------------------------------------------------------
1 | youtube
2 | =======
3 |
4 | .. youtube:: KOOhPfMbuIQ
5 | :align: center
6 |
7 | ----
8 |
9 | .. vimeo:: 486106801
10 |
11 | ----
12 |
13 | .. youtube:: KOOhPfMbuIQ
14 | :width: 640
15 | :height: 480
16 |
17 | ----
18 |
19 | .. youtube:: KOOhPfMbuIQ
20 | :aspect: 4:3
21 |
22 | ----
23 |
24 | .. youtube:: KOOhPfMbuIQ
25 | :width: 100%
26 |
27 | ----
28 |
29 | .. youtube:: KOOhPfMbuIQ
30 | :height: 200px
31 |
--------------------------------------------------------------------------------
/doc/Makefile:
--------------------------------------------------------------------------------
1 | # Copyright Sphinx Confluence Builder Contributors (AUTHORS)
2 |
3 | DOC_DIR := $(dir $(realpath $(lastword $(MAKEFILE_LIST))))
4 | BASE_DIR := $(abspath $(DOC_DIR)/..)
5 | BUILDER := $(firstword $(MAKECMDGOALS))
6 |
7 | # default html builder
8 | ifeq ($(BUILDER),)
9 | BUILDER := html
10 | endif
11 |
12 | .PHONY: all
13 | all:
14 | @cd $(BASE_DIR) >/dev/null && \
15 | python -m sphinx -M $(BUILDER) $(DOC_DIR) $(DOC_DIR)_build/ -E -a -W
16 |
17 | $(eval $(BUILDER):all)
18 |
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/compat.py:
--------------------------------------------------------------------------------
1 | # SPDX-License-Identifier: BSD-2-Clause
2 | # Copyright Sphinx Confluence Builder Contributors (AUTHORS)
3 |
4 | from docutils import __version_info__ as docutils_version_info
5 |
6 |
7 | # use docutil's findall call over traverse (obsolete)
8 | def docutils_findall(doctree, *args, **kwargs):
9 | if docutils_version_info >= (0, 18, 1):
10 | return doctree.findall(*args, **kwargs)
11 |
12 | return doctree.traverse(*args, **kwargs)
13 |
--------------------------------------------------------------------------------
/tests/sample-sets/link-check/index.rst:
--------------------------------------------------------------------------------
1 | link-check
2 | ==========
3 |
4 | https://sphinxcontrib-confluencebuilder.readthedocs.io/broken-link-0
5 |
6 | An :confluence_link:`https://sphinxcontrib-confluencebuilder.readthedocs.io/broken-link-1` inlined card.
7 |
8 | .. confluence_link:: https://sphinxcontrib-confluencebuilder.readthedocs.io/broken-link-2
9 | :card: block
10 |
11 | .. confluence_link:: https://sphinxcontrib-confluencebuilder.readthedocs.io/broken-link-3
12 | :card: embed
13 |
--------------------------------------------------------------------------------
/tests/sample-sets/math/index.rst:
--------------------------------------------------------------------------------
1 | math
2 | ====
3 |
4 | Since Pythagoras, we know that :math:`a^2 + b^2 = c^2`.
5 |
6 | The area of a circle is :math:`A_\text{c} = (\pi/4) d^2`.
7 |
8 | The mass–energy equivalence formula:
9 |
10 | .. math::
11 |
12 | E = mc^2
13 |
14 | ----
15 |
16 | .. math::
17 | :name: eq.1
18 |
19 | E = mc^2
20 |
21 | ----
22 |
23 | Euler's identity is outline in :math:numref:`euler` below:
24 |
25 | .. math:: e^{i\pi} + 1 = 0
26 | :label: euler
27 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/glossary/glossary.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | .. https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html?highlight=glossary#directive-glossary
4 |
5 | glossary
6 | --------
7 |
8 | .. glossary::
9 |
10 | glossary 1
11 | content
12 |
13 | glossary 2
14 | glossary 3
15 | content
16 |
17 | - content one
18 | - content two
19 |
20 | :term:`glossary 1`
21 |
22 | :term:`glossary 2`
23 |
24 | :term:`glossary 3`
25 |
--------------------------------------------------------------------------------
/tests/validation-sets/markdown/index.md:
--------------------------------------------------------------------------------
1 | # Markdown
2 |
3 | Demonstration that Markdown documents can be generated and published to
4 | Confluence using [MyST-Parser][MyST-Parser]
5 |
6 | ```{note}
7 | This is not an extensive demonstration of Markdown capabilities; only a simple
8 | sanity check that Markdown content can be created and linked across multiple
9 | pages.
10 | ```
11 |
12 | ```{toctree}
13 | code
14 | table
15 | ```
16 |
17 | [MyST-Parser]: https://myst-parser.readthedocs.io/
18 |
--------------------------------------------------------------------------------
/doc/build:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | DOC_DIR="$(cd -- "$(dirname "$0")" >/dev/null 2>&1; pwd -P)"
4 | BASE_DIR=$(dirname $DOC_DIR)
5 |
6 | builder=
7 | while [[ $# -gt 0 ]]; do
8 | case $1 in
9 | -*)
10 | shift
11 | ;;
12 | *)
13 | [[ -z "$builder" ]] && builder=$1
14 | shift
15 | ;;
16 | esac
17 | done
18 | [[ -z "$builder" ]] && builder=html
19 |
20 | cd $BASE_DIR
21 | exec python -m sphinx -M $builder $DOC_DIR $DOC_DIR/_build/ -E -a -W
22 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-panels/index.rst:
--------------------------------------------------------------------------------
1 | sphinx-panels
2 | =============
3 |
4 | .. panels::
5 |
6 | Content of the top-left panel
7 |
8 | ---
9 |
10 | Content of the top-right panel
11 |
12 | :badge:`example,badge-primary`
13 |
14 | ---
15 |
16 | .. dropdown:: :fa:`eye,mr-1` Bottom-left panel
17 |
18 | Hidden content
19 |
20 | ---
21 |
22 | .. link-button:: https://example.com
23 | :text: Clickable Panel
24 | :classes: stretched-link
25 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-toolbox/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | # sphinx_toolbox extensions
4 | 'sphinx_toolbox.assets',
5 | 'sphinx_toolbox.code',
6 | 'sphinx_toolbox.collapse',
7 | 'sphinx_toolbox.flake8',
8 | 'sphinx_toolbox.formatting',
9 | 'sphinx_toolbox.issues',
10 | 'sphinx_toolbox.shields',
11 | 'sphinx_toolbox.wikipedia',
12 | ]
13 |
14 | github_username = 'sphinx-contrib'
15 | github_repository = 'confluencebuilder'
16 |
--------------------------------------------------------------------------------
/tests/unit-tests/test_extension.py:
--------------------------------------------------------------------------------
1 | # SPDX-License-Identifier: BSD-2-Clause
2 | # Copyright Sphinx Confluence Builder Contributors (AUTHORS)
3 |
4 | from tests.lib.testcase import ConfluenceTestCase
5 | from tests.lib import EXT_NAME
6 |
7 |
8 | class TestConfluenceExtension(ConfluenceTestCase):
9 | def test_extension_registration(self):
10 | mock_ds = self.datasets / 'common'
11 |
12 | with self.prepare(mock_ds) as app:
13 | self.assertTrue(EXT_NAME in app.extensions)
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-inline-tabs/index.rst:
--------------------------------------------------------------------------------
1 | sphinx-inline-tabs
2 | ==================
3 |
4 | .. tab:: One
5 |
6 | One is an interesting number.
7 |
8 | .. tab:: Two
9 |
10 | Two is the even prime.
11 |
12 | This will break the tab set!
13 |
14 | .. tab:: Three
15 |
16 | Three is an odd prime.
17 |
18 | .. tab:: Four
19 |
20 | Four is not a perfect number.
21 |
22 | .. tab:: Five
23 | :new-set:
24 |
25 | Five is a nice number.
26 |
27 | .. tab:: Six
28 |
29 | Six is also nice.
30 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/confluence-link/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | confluence link
4 | ===============
5 |
6 | An :confluence_link:`https://example.com` inlined card.
7 |
8 | .. confluence_link:: https://www.example.org
9 | :card: embed
10 |
11 | .. confluence_link:: https://example.com
12 | :card: embed
13 | :width: 80
14 |
15 | .. confluence_link:: https://example.org
16 | :card: embed
17 | :layout: align-end
18 |
19 | .. confluence_link:: https://www.example.com
20 | :card: block
21 |
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/locale/__init__.py:
--------------------------------------------------------------------------------
1 | # SPDX-License-Identifier: BSD-2-Clause
2 | # Copyright Sphinx Confluence Builder Contributors (AUTHORS)
3 |
4 | from sphinx.locale import get_translation
5 |
6 | # name of this extension's gettext catalog
7 | MESSAGE_CATALOG_NAME = 'sphinxcontrib.confluencebuilder'
8 |
9 | # translator for messages in documentation
10 | L = get_translation(MESSAGE_CATALOG_NAME)
11 |
12 | # translator for console messages
13 | C = get_translation(MESSAGE_CATALOG_NAME, 'console')
14 |
--------------------------------------------------------------------------------
/tests/sample-sets/i8n/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | ]
4 |
5 | # language override
6 | language = 'cs'
7 |
8 | # use options which generate text
9 | confluence_include_search = True
10 | confluence_page_generation_notice = True
11 | confluence_sourcelink = {
12 | 'type': 'github',
13 | 'owner': 'sphinx-contrib',
14 | 'repo': 'confluencebuilder',
15 | 'container': 'doc/',
16 | 'version': 'main',
17 | 'view': 'edit',
18 | }
19 | confluence_use_index = True
20 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/excerpt/index.rst:
--------------------------------------------------------------------------------
1 | index
2 | =====
3 |
4 | .. confluence_excerpt::
5 |
6 | no options
7 |
8 | .. confluence_excerpt::
9 | :name: test
10 |
11 | excerpt with name
12 |
13 | .. confluence_excerpt::
14 | :hidden: true
15 |
16 | hidden excerpt
17 |
18 | .. confluence_excerpt::
19 | :atlassian-macro-output-type: block
20 |
21 | explicit block excerpt
22 |
23 | .. confluence_excerpt::
24 | :atlassian-macro-output-type: inline
25 |
26 | explicit inline excerpt
27 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/jira/valid-substitution/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | jira
4 | ----
5 |
6 | .. substitution for single jira issue
7 |
8 | .. |TEST-1| jira_issue:: TEST-1
9 |
10 | |TEST-1|
11 |
12 | .. substitution for jira search
13 |
14 | .. |MY_JIRA_LIST| jira:: project = "TESTPRJ"
15 | :columns: key,summary,status,resolution
16 | :count: false
17 | :maximum-issues: 8
18 |
19 | |MY_JIRA_LIST|
20 |
21 | .. substitution for jira role
22 |
23 | .. |TEST-2| replace:: :jira:`TEST-2`
24 |
25 | |TEST-2|
26 |
--------------------------------------------------------------------------------
/tests/validation-sets/restructuredtext/build:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | DOC_DIR="$(cd -- "$(dirname "$0")" >/dev/null 2>&1; pwd -P)"
4 | BASE_DIR=$(dirname $DOC_DIR)
5 |
6 | builder=
7 | while [[ $# -gt 0 ]]; do
8 | case $1 in
9 | -*)
10 | shift
11 | ;;
12 | *)
13 | [[ -z "$builder" ]] && builder=$1
14 | shift
15 | ;;
16 | esac
17 | done
18 | [[ -z "$builder" ]] && builder=html
19 |
20 | cd $BASE_DIR
21 | exec python -m sphinx -M $builder $DOC_DIR $DOC_DIR/_build/ -E -a -W
22 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/option-lists/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#option-lists
2 |
3 | option lists
4 | ------------
5 |
6 | -a description 1
7 | -b description 2
8 | -c arg description 3
9 |
10 | -d description 4 1
11 |
12 | - description 4 point 1
13 |
14 | - description 4 point 2
15 |
16 | description 4 2
17 |
18 | --long-option
19 | description 5
20 |
21 | --long-option=value
22 | description 6
23 |
--------------------------------------------------------------------------------
/tests/sample-sets/confluence-excerpt/second.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | except-second
4 | =============
5 |
6 | unnamed
7 | ~~~~~~~
8 |
9 | .. confluence_excerpt_include:: !index
10 | :nopanel: true
11 |
12 | alpha
13 | ~~~~~~
14 |
15 | .. confluence_excerpt_include:: except-main
16 | :name: alpha
17 | :nopanel: true
18 |
19 | beta
20 | ~~~~~
21 |
22 | .. confluence_excerpt_include:: !index
23 | :name: beta
24 |
25 | charlie
26 | ~~~~~~~
27 |
28 | .. confluence_excerpt_include:: !index
29 | :name: charlie
30 | :nopanel: true
31 |
--------------------------------------------------------------------------------
/tests/sample-sets/kroki/assets/graph.dot:
--------------------------------------------------------------------------------
1 | digraph D {
2 | subgraph cluster_p {
3 | label = "Kroki";
4 | subgraph cluster_c1 {
5 | label = "Server";
6 | Filebeat;
7 | subgraph cluster_gc_1 {
8 | label = "Docker/Server";
9 | Java;
10 | }
11 | subgraph cluster_gc_2 {
12 | label = "Docker/Mermaid";
13 | "Node.js";
14 | "Puppeteer";
15 | "Chrome";
16 | }
17 | }
18 | subgraph cluster_c2 {
19 | label = "CLI";
20 | Golang;
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/tests/validation-sets/restructuredtext/rubric.rst:
--------------------------------------------------------------------------------
1 | Rubric
2 | ======
3 |
4 | reStructuredText defines a `rubric directive`_. Example markup is as follows:
5 |
6 | .. code-block:: none
7 |
8 | .. rubric:: Title
9 |
10 | Output
11 | ------
12 |
13 | The paragraph before rubric.
14 |
15 | .. rubric:: Rubric
16 |
17 | The paragraph following a rubric.
18 |
19 |
20 | .. references ------------------------------------------------------------------
21 |
22 | .. _rubric directive: https://docutils.sourceforge.io/docs/ref/rst/directives.html#rubric
23 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/production-list/index.rst:
--------------------------------------------------------------------------------
1 | .. https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html?highlight=production%20list#directive-productionlist
2 |
3 | production list
4 | ---------------
5 |
6 | .. productionlist::
7 | try_stmt: try1_stmt | try2_stmt
8 | try1_stmt: "try" ":" `suite`
9 | : ("except" [`expression` ["," `target`]] ":" `suite`)+
10 | : ["else" ":" `suite`]
11 | : ["finally" ":" `suite`]
12 | try2_stmt: "try" ":" `suite`
13 | : "finally" ":" `suite`
14 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/headings/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#sections
2 |
3 | ==========
4 | header 1
5 | ==========
6 |
7 | ----------
8 | header 2
9 | ----------
10 |
11 | header 3
12 | ========
13 |
14 | header 4
15 | --------
16 |
17 | header 5
18 | ````````
19 |
20 | header 6
21 | ''''''''
22 |
23 | header 7
24 | ........
25 |
26 | header 8
27 | ~~~~~~~~
28 |
29 | header 9
30 | ********
31 |
32 | header 10
33 | +++++++++
34 |
35 | header 11
36 | ^^^^^^^^^
37 |
38 | header 12
39 | =========
40 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/table-width/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | table-width
4 | -----------
5 |
6 | = = =
7 | a b c
8 | = = =
9 | d e f
10 | = = =
11 |
12 | .. confluence_table_width:: 200px
13 |
14 | = = =
15 | a b c
16 | = = =
17 | d e f
18 | = = =
19 |
20 | .. confluence_table_width:: default
21 |
22 | = = =
23 | a b c
24 | = = =
25 | d e f
26 | = = =
27 |
28 | .. confluence_table_width:: 400px
29 |
30 | = = =
31 | a b c
32 | = = =
33 | d e f
34 | = = =
35 |
36 | .. confluence_table_width:: unset
37 |
38 | = = =
39 | a b c
40 | = = =
41 | d e f
42 | = = =
43 |
--------------------------------------------------------------------------------
/tests/validation-sets/sphinx/deprecated.rst:
--------------------------------------------------------------------------------
1 | Deprecated
2 | ==========
3 |
4 | Sphinx defines a `deprecated directive`_. Example markup is as follows:
5 |
6 | .. code-block:: none
7 |
8 | .. deprecated:: 3.1
9 | Use :func:`spam` instead.
10 |
11 | Output
12 | ------
13 |
14 | .. deprecated:: 3.1
15 | Use :func:`spam` instead.
16 |
17 |
18 | .. references ------------------------------------------------------------------
19 |
20 | .. _deprecated directive: https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-deprecated
21 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/excerpt/second.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | second
4 | ======
5 |
6 | .. plain include (first excerpt)
7 |
8 | .. confluence_excerpt_include:: !index
9 |
10 | .. named excerpt
11 |
12 | .. confluence_excerpt_include:: !index
13 | :name: test
14 |
15 | .. excerpt with no panel
16 |
17 | .. confluence_excerpt_include:: !index
18 | :nopanel: true
19 |
20 | .. external page (inside space)
21 |
22 | .. confluence_excerpt_include:: My excerpt page
23 |
24 | .. external page (outside space)
25 |
26 | .. confluence_excerpt_include:: TEST:My excerpt page2
27 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/bibliographic/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#bibliographic-fields
2 |
3 | bibliographic fields
4 | --------------------
5 |
6 | :author: author
7 | :address: 123 address
8 | :contact: example@example.com
9 | :authors: author
10 | :organization: organization
11 | :date: 2016-07-06 13:21:00
12 | :status: alpha
13 | :revision: 7302
14 | :version: 8
15 | :copyright: copyright
16 | :field name: field 01
17 | :field name 2:
18 | field 02
19 |
20 | - test 1
21 | - test 2
22 | :field name: field 03
23 |
--------------------------------------------------------------------------------
/tests/validation-sets/sphinx/versionadded.rst:
--------------------------------------------------------------------------------
1 | Version added
2 | =============
3 |
4 | Sphinx defines a `versionadded directive`_. Example markup is as follows:
5 |
6 | .. code-block:: none
7 |
8 | .. versionadded:: 2.5
9 | The *spam* parameter.
10 |
11 | Output
12 | ------
13 |
14 | .. versionadded:: 2.5
15 | The *spam* parameter.
16 |
17 |
18 | .. references ------------------------------------------------------------------
19 |
20 | .. _versionadded directive: https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-versionadded
21 |
--------------------------------------------------------------------------------
/tests/sample-sets/confluence-card/second.rst:
--------------------------------------------------------------------------------
1 | second page 📇
2 | ==============
3 |
4 | A second page.
5 |
6 |
7 | .. confluence_link:: https://jdknight.atlassian.net/wiki/spaces/TEST/pages/2701230351/confluence-card
8 | :card: block
9 |
10 |
11 | .. confluence_link:: https://jdknight.atlassian.net/wiki/spaces/TEST/pages/2701230351
12 | :card: block
13 |
14 | .. confluence_link:: https://jdknight.atlassian.net/wiki/pages/viewinfo.action?pageId=2703294477
15 | :card: block
16 |
17 | .. confluence_link:: https://jdknight.atlassian.net/wiki/x/DQAhoQ
18 | :card: block
19 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/jira/valid/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | jira
4 | ----
5 |
6 | .. single jira issue; no explicit server
7 |
8 | .. jira_issue:: TEST-123
9 |
10 | .. jira search; multiple options with server mapping
11 |
12 | .. jira:: project = "TEST"
13 | :columns: key,summary,updated,status,resolution
14 | :count: false
15 | :maximum-issues: 5
16 | :server: test-jira-server
17 |
18 | .. single jira issue; with explicit server override
19 |
20 | .. jira_issue:: TEST-1
21 | :server-id: 00000000-0000-9876-0000-000000000000
22 | :server-name: overwritten-server-name
23 |
--------------------------------------------------------------------------------
/tests/validation-sets/sphinx/versionchanged.rst:
--------------------------------------------------------------------------------
1 | Version changed
2 | ===============
3 |
4 | Sphinx defines a `versionchanged directive`_. Example markup is as follows:
5 |
6 | .. code-block:: none
7 |
8 | .. versionchanged:: 2.5
9 | The *spam* parameter.
10 |
11 | Output
12 | ------
13 |
14 | .. versionchanged:: 2.5
15 | The *spam* parameter.
16 |
17 |
18 | .. references ------------------------------------------------------------------
19 |
20 | .. _versionchanged directive: https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-versionchanged
21 |
--------------------------------------------------------------------------------
/tests/sample-sets/latex/conf.py:
--------------------------------------------------------------------------------
1 | extensions = [
2 | 'sphinxcontrib.confluencebuilder',
3 | 'sphinx.ext.imgmath',
4 | ]
5 |
6 | imgmath_font_size = 14
7 | imgmath_image_format = 'svg'
8 | imgmath_use_preview = True
9 |
10 | # Various Marketplace LaTeX addons:
11 | #
12 | # confluence_latex_macro = {
13 | # 'block-macro': 'mathblock',
14 | # 'inline-macro': 'mathinline',
15 | # 'inline-macro-param': 'body',
16 | # }
17 | # confluence_latex_macro = 'latex-formatting'
18 | # confluence_latex_macro = 'mathblock'
19 | # confluence_latex_macro = 'orah-latex'
20 | # confluence_latex_macro = None
21 |
--------------------------------------------------------------------------------
/tests/sample-sets/kroki/assets/diagram.ditaa:
--------------------------------------------------------------------------------
1 | +--------+
2 | | |
3 | | User |
4 | | |
5 | +--------+
6 | ^
7 | request |
8 | v
9 | +-------------+
10 | | |
11 | | Kroki |
12 | | |---+
13 | +-------------+ |
14 | ^ ^ | inflate
15 | | | |
16 | v +---------+
17 | +-------------+
18 | | |
19 | | Ditaa |
20 | | |----+
21 | +-------------+ |
22 | ^ | process
23 | | |
24 | +-------+
25 |
--------------------------------------------------------------------------------
/doc/.fresh-start:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | #
4 | # provides a fresh/clean initial documentation files
5 | #
6 | args=()
7 | args+=(--project="Sphinx Confluence Builder")
8 | args+=(--author="Anthony Shaw and Contributors")
9 |
10 | # other options
11 | args+=(--batchfile)
12 | args+=(--makefile)
13 | args+=(--quiet)
14 |
15 | ##
16 |
17 | if [ -z "$SPHINX_QUICKSTART" ]; then
18 | SPHINX_QUICKSTART=sphinx-quickstart
19 | fi
20 |
21 | echo "Generating initial documentation structure..."
22 | if ! $SPHINX_QUICKSTART "${args[@]}"; then
23 | echo "error: unable to perform sphinx-quickstart"
24 | exit 1
25 | fi
26 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/references/rst-v1-first.rst:
--------------------------------------------------------------------------------
1 | .. confluence_metadata::
2 | :editor: v1
3 |
4 | .. _main-rst-v1:
5 |
6 | reStructuredText v1 First
7 | =========================
8 |
9 | .. contents::
10 | :local:
11 |
12 | .. _main-rst-v1-extra:
13 |
14 | An Extra Header
15 | ---------------
16 |
17 | pre-content
18 |
19 | .. _main-rst-v1-subcontent:
20 |
21 | post-content
22 |
23 | .. _main-rst-v1-extra2:
24 |
25 | An Extra Header
26 | ---------------
27 |
28 | :ref:`main-rst-v1`
29 |
30 | :ref:`main-rst-v1-extra`
31 |
32 | :ref:`content `
33 |
34 | :ref:`main-rst-v1-extra2`
35 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/references/rst-v2-first.rst:
--------------------------------------------------------------------------------
1 | .. confluence_metadata::
2 | :editor: v2
3 |
4 | .. _main-rst-v2:
5 |
6 | reStructuredText v2 First
7 | =========================
8 |
9 | .. contents::
10 | :local:
11 |
12 | .. _main-rst-v2-extra:
13 |
14 | An Extra Header
15 | ---------------
16 |
17 | pre-content
18 |
19 | .. _main-rst-v2-subcontent:
20 |
21 | post-content
22 |
23 | .. _main-rst-v2-extra2:
24 |
25 | An Extra Header
26 | ---------------
27 |
28 | :ref:`main-rst-v2`
29 |
30 | :ref:`main-rst-v2-extra`
31 |
32 | :ref:`content `
33 |
34 | :ref:`main-rst-v2-extra2`
35 |
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/reportbuilder.py:
--------------------------------------------------------------------------------
1 | # SPDX-License-Identifier: BSD-2-Clause
2 | # Copyright Sphinx Confluence Builder Contributors (AUTHORS)
3 |
4 | from sphinx.builders import Builder
5 | from sphinxcontrib.confluencebuilder.config.checks import validate_configuration
6 |
7 |
8 | class ConfluenceReportBuilder(Builder):
9 | name = 'internal-confluence-report'
10 |
11 | def __init__(self, app, env):
12 | super().__init__(app, env)
13 | self._verbose = app.verbosity
14 |
15 | def init(self):
16 | validate_configuration(self)
17 | self.config.sphinx_verbosity = self._verbose
18 |
--------------------------------------------------------------------------------
/doc/guide-highlight-default.rst:
--------------------------------------------------------------------------------
1 | Configuring the default highlighter
2 | ===================================
3 |
4 | Sphinx's default highlight language is ``python``. For any documentation
5 | processed by this extension that does not have an explicit language type
6 | provided will fallback to Sphinx's default.
7 |
8 | Users wishing to override the default highlight language can use the
9 | :lref:`confluence_lang_overrides` configuration. For example, adding the
10 | following option inside a project's ``conf.py`` file:
11 |
12 | .. code-block:: python
13 |
14 | confluence_lang_overrides = {
15 | 'default': 'none',
16 | }
17 |
--------------------------------------------------------------------------------
/tests/validation-sets/restructuredtext/doctest.rst:
--------------------------------------------------------------------------------
1 | Doctest Blocks
2 | ==============
3 |
4 | reStructuredText provide `doctest blocks`_ are interactive Python sessions
5 | cut-and-pasted into docstrings. Example markup is as follows:
6 |
7 | .. code-block:: none
8 |
9 | >>> print 'this is a Doctest block'
10 | this is a Doctest block
11 |
12 | Output
13 | ------
14 |
15 | >>> print 'this is a Doctest block'
16 | this is a Doctest block
17 |
18 | .. references ------------------------------------------------------------------
19 |
20 | .. _doctest blocks: https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#doctest-blocks
21 |
--------------------------------------------------------------------------------
/tests/validation-sets/sphinx/manpage.rst:
--------------------------------------------------------------------------------
1 | Manual Page
2 | ===========
3 |
4 | Sphinx's `manpage`_ should build off a configured ``manpages_url`` value:
5 |
6 | .. code-block:: none
7 | :caption: conf.py
8 |
9 | manpages_url = 'https://example.org/{path}'
10 |
11 | Example markup to reference a manpage is as follows:
12 |
13 | .. code-block:: none
14 |
15 | :manpage:`ls(1)`
16 |
17 | Output
18 | ------
19 |
20 | :manpage:`ls(1)`
21 |
22 |
23 | .. references ------------------------------------------------------------------
24 |
25 | .. _manpage: https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-manpage
26 |
--------------------------------------------------------------------------------
/tests/validation-sets/restructuredtext/epigraph.rst:
--------------------------------------------------------------------------------
1 | Epigraph
2 | ========
3 |
4 | reStructuredText defines a `epigraph directive`_. Example markup is as follows:
5 |
6 | .. code-block:: none
7 |
8 | .. epigraph::
9 |
10 | No matter where you go, there you are.
11 |
12 | -- Buckaroo Banzai
13 |
14 | Output
15 | ------
16 |
17 | .. epigraph::
18 |
19 | No matter where you go, there you are.
20 |
21 | -- Buckaroo Banzai
22 |
23 |
24 | .. references ------------------------------------------------------------------
25 |
26 | .. _epigraph directive: https://docutils.sourceforge.io/docs/ref/rst/directives.html#epigraph
27 |
--------------------------------------------------------------------------------
/tests/sample-sets/confluence-code-block-theme/index.rst:
--------------------------------------------------------------------------------
1 | confluence-code-block-theme
2 | ===========================
3 |
4 | .. code-block:: python
5 |
6 | def main():
7 | print 'Hello, world!'
8 |
9 | if __name__ == '__main__':
10 | main()
11 |
12 | .. code-block:: python
13 | :class: confluence-theme-FadeToGrey
14 |
15 | def main():
16 | print 'Hello, world!'
17 |
18 | if __name__ == '__main__':
19 | main()
20 |
21 | .. code-block:: python
22 | :class: confluence-theme-eclipse
23 |
24 | def main():
25 | print 'Hello, world!'
26 |
27 | if __name__ == '__main__':
28 | main()
29 |
--------------------------------------------------------------------------------
/tests/unit-tests/test_util_detect_cloud.py:
--------------------------------------------------------------------------------
1 | # SPDX-License-Identifier: BSD-2-Clause
2 | # Copyright Sphinx Confluence Builder Contributors (AUTHORS)
3 |
4 | from sphinxcontrib.confluencebuilder.util import detect_cloud
5 | import unittest
6 |
7 |
8 | class TestConfluenceUtilDetectCloud(unittest.TestCase):
9 | def test_util_detect_cloud(self):
10 | self.assertTrue(detect_cloud('https://ex.atlassian.net/wiki/'))
11 | self.assertTrue(detect_cloud('https://ex.atlassian.net:443/wiki/'))
12 | self.assertFalse(detect_cloud('https://www.example.org/wiki/'))
13 | self.assertFalse(detect_cloud('https://www.example.org:443/wiki/'))
14 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/references/md-v1-second.md:
--------------------------------------------------------------------------------
1 | :::{confluence_metadata}
2 | :editor: v1
3 | :::
4 |
5 | # Markdown v1 Second
6 |
7 | ## Markdown v1 Second sub-heading
8 |
9 | ## Markdown v1 Second sub-heading [(jump above)](#markdown-v1-second-sub-heading)
10 |
11 | [](#markdown-v1-second)
12 |
13 | [](#markdown-v1-second-sub-heading)
14 |
15 | [](#markdown-v1-second-sub-heading-jump-above)
16 |
17 | [link text 1](./md-v1-first.md#markdown-v1-first)
18 |
19 | [link text 2](./md-v1-first.md#markdown-v1-first-sub-heading)
20 |
21 | [link text 3](./md-v2-first.md#markdown-v2-first)
22 |
23 | [link text 4](./md-v2-first.md#markdown-v2-first-sub-heading)
24 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/references/md-v2-second.md:
--------------------------------------------------------------------------------
1 | :::{confluence_metadata}
2 | :editor: v2
3 | :::
4 |
5 | # Markdown v2 Second
6 |
7 | ## Markdown v2 Second sub-heading
8 |
9 | ## Markdown v2 Second sub-heading [(jump above)](#markdown-v2-second-sub-heading)
10 |
11 | [](#markdown-v2-second)
12 |
13 | [](#markdown-v2-second-sub-heading)
14 |
15 | [](#markdown-v2-second-sub-heading-jump-above)
16 |
17 | [link text a](./md-v2-first.md#markdown-v2-first)
18 |
19 | [link text b](./md-v2-first.md#markdown-v2-first-sub-heading)
20 |
21 | [link text c](./md-v1-first.md#markdown-v1-first)
22 |
23 | [link text d](./md-v1-first.md#markdown-v1-first-sub-heading)
24 |
--------------------------------------------------------------------------------
/tests/validation-sets/restructuredtext/highlights.rst:
--------------------------------------------------------------------------------
1 | Highlights
2 | ==========
3 |
4 | reStructuredText defines a `highlights directive`_. Example markup is as follows:
5 |
6 | .. code-block:: none
7 |
8 | .. highlights::
9 |
10 | No matter where you go, there you are.
11 |
12 | -- Buckaroo Banzai
13 |
14 | Output
15 | ------
16 |
17 | .. highlights::
18 |
19 | No matter where you go, there you are.
20 |
21 | -- Buckaroo Banzai
22 |
23 |
24 | .. references ------------------------------------------------------------------
25 |
26 | .. _highlights directive: https://docutils.sourceforge.io/docs/ref/rst/directives.html#highlights
27 |
--------------------------------------------------------------------------------
/tests/validation-sets/restructuredtext/pull-quote.rst:
--------------------------------------------------------------------------------
1 | Pull-quote
2 | ==========
3 |
4 | reStructuredText defines a `pull-quote directive`_. Example markup is as follows:
5 |
6 | .. code-block:: none
7 |
8 | .. pull-quote::
9 |
10 | No matter where you go, there you are.
11 |
12 | -- Buckaroo Banzai
13 |
14 | Output
15 | ------
16 |
17 | .. pull-quote::
18 |
19 | No matter where you go, there you are.
20 |
21 | -- Buckaroo Banzai
22 |
23 |
24 | .. references ------------------------------------------------------------------
25 |
26 | .. _pull-quote directive: https://docutils.sourceforge.io/docs/ref/rst/directives.html#pull-quote
27 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/literal/literal-includes.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | literal include tests
4 | ---------------------
5 |
6 | .. highlight:: c
7 |
8 | .. literalinclude:: ../../../assets/example.c
9 |
10 | .. highlight:: cpp
11 |
12 | .. literalinclude:: ../../../assets/example.cpp
13 |
14 | .. literalinclude:: ../../../assets/example.html
15 | :language: html
16 | :linenos:
17 |
18 | .. highlight:: java
19 |
20 | .. literalinclude:: ../../../assets/example.java
21 |
22 | .. highlight:: py
23 |
24 | .. literalinclude:: ../../../assets/example.py
25 |
26 | .. literalinclude:: ../../../assets/example.py
27 | :pyobject: main
28 | :lineno-match:
29 |
--------------------------------------------------------------------------------
/tests/unit-tests/test_report_builder.py:
--------------------------------------------------------------------------------
1 | # SPDX-License-Identifier: BSD-2-Clause
2 | # Copyright Sphinx Confluence Builder Contributors (AUTHORS)
3 |
4 | from sphinxcontrib.confluencebuilder.reportbuilder import ConfluenceReportBuilder
5 | from tests.lib.testcase import ConfluenceTestCase
6 | from tests.lib.testcase import setup_builder
7 |
8 |
9 | class TestReportBuilder(ConfluenceTestCase):
10 | @setup_builder(ConfluenceReportBuilder.name)
11 | def test_report_builder(self):
12 | # sanity check that this builder can be prepared
13 | with self.prepare(self.datasets / 'minimal') as app:
14 | self.assertIsInstance(app.builder, ConfluenceReportBuilder)
15 |
--------------------------------------------------------------------------------
/mypy.ini:
--------------------------------------------------------------------------------
1 | [mypy]
2 |
3 | # ignore optional jupyter_sphinx module
4 | [mypy-jupyter_sphinx.*]
5 | ignore_missing_imports = True
6 |
7 | # ignore optional nbsphinx module
8 | [mypy-nbsphinx.*]
9 | ignore_missing_imports = True
10 |
11 | # ignore optional sphinx_diagrams module
12 | [mypy-sphinx_diagrams.*]
13 | ignore_missing_imports = True
14 |
15 | # ignore optional sphinx_gallery module
16 | [mypy-sphinx_gallery.*]
17 | ignore_missing_imports = True
18 |
19 | # ignore optional sphinx_toolbox module
20 | [mypy-sphinx_toolbox.*]
21 | ignore_missing_imports = True
22 |
23 | # ignore optional sphinxcontrib.mermaid module
24 | [mypy-sphinxcontrib.mermaid.*]
25 | ignore_missing_imports = True
26 |
--------------------------------------------------------------------------------
/tests/sample-sets/autodocs/autodocs.rst:
--------------------------------------------------------------------------------
1 | sphinx.ext.autodocs
2 | ===================
3 |
4 | This page shows an example of various autodoc capabilities.
5 |
6 | autodocs - automodule
7 | ---------------------
8 |
9 | The automodule directive:
10 |
11 | .. automodule:: Hello
12 | :members:
13 |
14 | ----
15 |
16 | The autoclass directive:
17 |
18 | .. autoclass:: Hello
19 | :members: say_hello
20 | :noindex:
21 |
22 | .. method:: foo(arg1, arg2)
23 | :noindex:
24 |
25 | An overwritten description of the method ``foo``.
26 |
27 | ----
28 |
29 | The autofunction directive:
30 |
31 | .. currentmodule:: func
32 |
33 | .. autofunction:: my_custom_function
34 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/admonitions/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/directives.html#admonitions
2 |
3 | admonitions
4 | -----------
5 |
6 | .. admonition:: my-title
7 |
8 | admonition content
9 |
10 | .. attention::
11 |
12 | attention content
13 |
14 | .. caution::
15 |
16 | caution content
17 |
18 | .. danger::
19 |
20 | danger content
21 |
22 | .. error::
23 |
24 | error content
25 |
26 | .. hint::
27 |
28 | hint content
29 |
30 | .. important::
31 |
32 | important content
33 |
34 | .. note::
35 |
36 | note content
37 |
38 | .. tip::
39 |
40 | tip content
41 |
42 | .. warning::
43 |
44 | warning content
45 |
--------------------------------------------------------------------------------
/tests/validation-sets/restructuredtext/transition.rst:
--------------------------------------------------------------------------------
1 | Transition
2 | ==========
3 |
4 | reStructuredText supports documents with `transitions`_. Example markup
5 | is as follows:
6 |
7 | .. code-block:: none
8 |
9 | A transition (or horizontal rule) can be used to seperate content.
10 |
11 | ----
12 |
13 | This is more content.
14 |
15 | Output
16 | ------
17 |
18 | A transition (or horizontal rule) can be used to seperate content.
19 |
20 | ----
21 |
22 | This is more content.
23 |
24 |
25 | .. references ------------------------------------------------------------------
26 |
27 | .. _transitions: https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#transitions
28 |
--------------------------------------------------------------------------------
/doc/.spelling:
--------------------------------------------------------------------------------
1 | Atlassian
2 | Bitbucket
3 | Changelog
4 | Codeberg
5 | Cygwin
6 | Dropdowns
7 | Jira
8 | MiKTeX
9 | MinGW
10 | OAuth
11 | SSO
12 | SVG
13 | TOC
14 | addons
15 | adf
16 | api
17 | atlassian
18 | bgColor
19 | boolean
20 | borderColor
21 | borderStyle
22 | borderWidth
23 | customizable
24 | docname
25 | docutils
26 | dryrun
27 | dvipng
28 | dvisvgm
29 | enablement
30 | hlist
31 | hostname
32 | inlined
33 | intersphinx
34 | minimalistic
35 | passthrough
36 | plaintext
37 | plantuml
38 | pre
39 | reStructuredText
40 | renderable
41 | singlebuilder
42 | sphinxcontrib
43 | sphinxnotes
44 | striked
45 | strikethrough
46 | strikethroughs
47 | titleBGColor
48 | titleColor
49 | unitless
50 | virtualenv
51 | yaml
52 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-click/hello_world.py:
--------------------------------------------------------------------------------
1 | import click
2 |
3 |
4 | @click.group()
5 | def greet():
6 | """A sample command group."""
7 |
8 |
9 | @greet.command()
10 | def test():
11 | """test command
12 |
13 | \b
14 | a: line one
15 | b: line two
16 |
17 | .. code-block:: text
18 |
19 | \b
20 | {
21 | "field1": "value1",
22 | "field2": "value2"
23 | }
24 | """
25 |
26 |
27 | @greet.command()
28 | def test2():
29 | """test command
30 |
31 | \b
32 | zzz
33 | a: line one
34 | aaa
35 | b: line two
36 | sub_b: line three
37 | aasf
38 | """
39 |
--------------------------------------------------------------------------------
/tests/validation-sets/restructuredtext/index.rst:
--------------------------------------------------------------------------------
1 | reStructuredText
2 | ================
3 |
4 | .. toctree::
5 | :maxdepth: 1
6 |
7 | admonitions
8 | bibliographic
9 | block-quotes
10 | bullet-list
11 | citation
12 | code
13 | csv-table
14 | definition-list
15 | doctest
16 | enumerated-list
17 | epigraph
18 | footnote
19 | highlights
20 | images
21 | indentation
22 | line-block
23 | list-table
24 | literal-blocks
25 | markup
26 | math
27 | option-list
28 | parsed-literal-block
29 | pull-quote
30 | references
31 | rubric
32 | sections
33 | sidebar
34 | table
35 | toc
36 | topic
37 | transition
38 |
--------------------------------------------------------------------------------
/tests/sample-sets/confluence-excerpt/index.rst:
--------------------------------------------------------------------------------
1 | except-main
2 | ===========
3 |
4 | unnamed
5 | ~~~~~~~
6 |
7 | .. confluence_excerpt::
8 | :atlassian-macro-output-type: inline
9 |
10 | This is **unnamed**.
11 |
12 | alpha
13 | ~~~~~
14 |
15 | .. confluence_excerpt::
16 | :name: alpha
17 | :atlassian-macro-output-type: inline
18 |
19 | This is **alpha**.
20 |
21 | beta
22 | ~~~~
23 |
24 | .. confluence_excerpt::
25 | :name: beta
26 | :atlassian-macro-output-type: block
27 |
28 | This is **beta**.
29 |
30 | charlie
31 | ~~~~~~~
32 |
33 | .. confluence_excerpt::
34 | :name: charlie
35 | :hidden: true
36 | :atlassian-macro-output-type: block
37 |
38 | This is **charlie**.
39 |
--------------------------------------------------------------------------------
/doc/make.bat:
--------------------------------------------------------------------------------
1 | @echo OFF
2 | setlocal
3 | REM Copyright Sphinx Confluence Builder Contributors (AUTHORS)
4 |
5 | REM find python
6 | where /q python
7 | if errorlevel 1 (
8 | echo.Python cannot be found. Ensure it is installed and placed in your PATH.
9 | exit /b
10 | )
11 |
12 | REM find root directory to invoke in, to ensure the version of the project can
13 | REM be extracted from the source
14 | for %%i in ("%~dp0..") do set "root_dir=%%~fi"
15 |
16 | REM default html builder
17 | set builder=%1
18 | if "%builder%" == "" (
19 | set builder=html
20 | )
21 |
22 | REM invoke build
23 | pushd %root_dir%
24 | set errorlevel=
25 | python -m sphinx -M %builder% %~dp0 %~dp0_build -E -a -W
26 | popd
27 |
28 | exit /b %errorlevel%
29 |
--------------------------------------------------------------------------------
/tests/validation-sets/restructuredtext/topic.rst:
--------------------------------------------------------------------------------
1 | Topic
2 | =====
3 |
4 | reStructuredText defines a `topic directive`_. Example markup is as follows:
5 |
6 | .. code-block:: none
7 |
8 | .. topic:: Topic Title
9 |
10 | Subsequent indented lines comprise
11 | the body of the topic, and are
12 | interpreted as body elements.
13 |
14 | Output
15 | ------
16 |
17 | .. topic:: Topic Title
18 |
19 | Subsequent indented lines comprise
20 | the body of the topic, and are
21 | interpreted as body elements.
22 |
23 |
24 | .. references ------------------------------------------------------------------
25 |
26 | .. _topic directive: https://docutils.sourceforge.io/docs/ref/rst/directives.html#topic
27 |
--------------------------------------------------------------------------------
/tests/sample-sets/config.py:
--------------------------------------------------------------------------------
1 | # Base sample set configuration
2 | #
3 | # Developers can add configuration items to be used for a given sample
4 | # project. This is primarily to help add authentication information,
5 | # allow various sample projects to be published to a given Confluence
6 | # instance (without having to copy/paste authentication across multiple
7 | # sample `conf.py` files).
8 | #
9 | # (developer Git helper)
10 | # git update-index --assume-unchanged tests/sample-sets/config.py
11 |
12 | # (quick reference of common options)
13 | # confluence_publish = True
14 | # confluence_publish_token = ''
15 | # confluence_server_pass = ''
16 | # confluence_server_url = ''
17 | # confluence_server_user = ''
18 | # confluence_space_key = ''
19 |
--------------------------------------------------------------------------------
/tests/validation-sets/extensions/inheritance_diagram.rst:
--------------------------------------------------------------------------------
1 | sphinx.ext.inheritance_diagram
2 | ==============================
3 |
4 | .. hint::
5 |
6 | This requires registering the ``sphinx.ext.inheritance_diagram`` extension
7 | in the documentation's configuration file.
8 |
9 | This page shows an example of various inheritance_diagram_ capabilities.
10 |
11 | Output
12 | ------
13 |
14 | An example of an inheritance diagram is as follows:
15 |
16 | .. inheritance-diagram:: sphinx.ext.inheritance_diagram.InheritanceDiagram
17 | :parts: 1
18 |
19 |
20 | .. references ------------------------------------------------------------------
21 |
22 | .. _inheritance_diagram: https://www.sphinx-doc.org/en/master/usage/extensions/inheritance.html
23 |
--------------------------------------------------------------------------------
/tests/sample-sets/jinja/conf.py:
--------------------------------------------------------------------------------
1 | from datetime import datetime
2 | from datetime import timezone
3 | from pathlib import Path
4 | import json
5 |
6 |
7 | extensions = [
8 | 'sphinx_jinja',
9 | 'sphinxcontrib.confluencebuilder',
10 | ]
11 |
12 |
13 | # load sample data
14 | test_dir = Path(__file__).parent.resolve()
15 | data = test_dir / 'test.json'
16 |
17 | with data.open('rb') as f:
18 | data = json.load(f)
19 |
20 | for feature in data['features']:
21 | raw_sec = float(feature['properties']['time'])/1000
22 | ts = datetime.fromtimestamp(raw_sec, tz=timezone.utc)
23 | feature['properties']['time_str'] = ts.strftime('%Y-%m-%dT%H:%M:%SZ')
24 |
25 | # inject data for our directive
26 | jinja_contexts = {
27 | 'ctx': data,
28 | }
29 |
--------------------------------------------------------------------------------
/tests/sample-sets/orphan/pagea.rst:
--------------------------------------------------------------------------------
1 | non-orphan page
2 | ===============
3 |
4 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sit
5 | amet condimentum libero. Sed at mollis turpis, ac sagittis nisi. Curabitur
6 | fringilla tortor at metus aliquet finibus. Vivamus rhoncus vitae velit non
7 | vulputate. Nulla dictum diam eget volutpat vestibulum. Etiam leo tellus,
8 | mollis vel venenatis sit amet, efficitur nec justo. Duis congue lacus leo,
9 | sit amet cursus tellus pharetra non. Curabitur quis eros nisi. Vivamus ac
10 | mi et ante facilisis pretium. Suspendisse dui nulla, bibendum non varius nec,
11 | semper ut tellus. Phasellus purus lorem, sagittis vel ipsum sed, volutpat
12 | imperdiet lorem. Nulla ac enim feugiat, iaculis nunc ac, sodales magna.
13 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/list-table/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/directives.html#list-table
2 |
3 | list table
4 | ----------
5 |
6 | .. list-table:: name1
7 | :header-rows: 1
8 |
9 | * - key
10 | - value
11 | * - 1
12 | - 2
13 | * - 3
14 | - 4
15 |
16 | .. list-table:: name2
17 | :header-rows: 2
18 |
19 | * - key1
20 | - value1
21 | - description1
22 | * - key2
23 | - value2
24 | - description2
25 | * - 1
26 | - 2
27 | - 3
28 | * - 4
29 | - 5
30 | - 6
31 |
32 | .. list-table:: name3
33 | :header-rows: 1
34 | :stub-columns: 1
35 |
36 | * - key
37 | - value
38 | * - a
39 | - 4
40 | * - b
41 | - 8
42 |
--------------------------------------------------------------------------------
/tests/validation-sets/restructuredtext/block-quotes.rst:
--------------------------------------------------------------------------------
1 | Block Quotes
2 | ============
3 |
4 | reStructuredText defines a `block quote`, a text block that is indented
5 | relative to the preceding text, without preceding markup indicating it
6 | to be a literal block or other content. Example markup is as follows:
7 |
8 | .. code-block:: none
9 |
10 | "It is my business to know things. That is my trade."
11 |
12 | -- Sherlock Holmes
13 |
14 | Output
15 | ------
16 |
17 | "It is my business to know things. That is my trade."
18 |
19 | -- Sherlock Holmes
20 |
21 |
22 | .. references ------------------------------------------------------------------
23 |
24 | .. _block quote: https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#block-quotes
25 |
--------------------------------------------------------------------------------
/tests/unit-tests/test_rst_transitions.py:
--------------------------------------------------------------------------------
1 | # SPDX-License-Identifier: BSD-2-Clause
2 | # Copyright Sphinx Confluence Builder Contributors (AUTHORS)
3 |
4 | from tests.lib.parse import parse
5 | from tests.lib.testcase import ConfluenceTestCase
6 | from tests.lib.testcase import setup_builder
7 |
8 |
9 | class TestConfluenceRstTransitions(ConfluenceTestCase):
10 | @classmethod
11 | def setUpClass(cls):
12 | super().setUpClass()
13 |
14 | cls.dataset = cls.datasets / 'rst' / 'transitions'
15 |
16 | @setup_builder('confluence')
17 | def test_storage_rst_transitions_default(self):
18 | out_dir = self.build(self.dataset)
19 |
20 | with parse('index', out_dir) as data:
21 | hr = data.find('hr')
22 | self.assertIsNotNone(hr)
23 |
--------------------------------------------------------------------------------
/tests/validation-sets/extensions/autosummary.rst:
--------------------------------------------------------------------------------
1 | sphinx.ext.autosummary
2 | ======================
3 |
4 | .. hint::
5 |
6 | This requires registering the ``sphinx.ext.autosummary`` extension in the
7 | documentation's configuration file.
8 |
9 | This page shows an example of various autosummary_ capabilities.
10 |
11 | An example of a local docstring:
12 |
13 | .. autosummary::
14 |
15 | Hello
16 |
17 | An example of an external module docstring:
18 |
19 | .. currentmodule:: sphinx
20 |
21 | .. autosummary::
22 |
23 | environment.BuildEnvironment
24 | util.relative_uri
25 |
26 |
27 | .. references ------------------------------------------------------------------
28 |
29 | .. _autosummary: https://www.sphinx-doc.org/en/master/usage/extensions/autosummary.html
30 |
--------------------------------------------------------------------------------
/doc/contents.rst:
--------------------------------------------------------------------------------
1 | Documentation contents
2 | ======================
3 |
4 | .. only:: latex
5 |
6 | .. toctree::
7 | :maxdepth: 1
8 |
9 | introduction
10 |
11 | .. toctree::
12 | :maxdepth: 1
13 |
14 | install
15 |
16 | .. toctree::
17 | :maxdepth: 2
18 |
19 | tutorial
20 | configuration
21 |
22 | .. toctree::
23 | :maxdepth: 1
24 |
25 | builders
26 | directives
27 | roles
28 | events
29 |
30 | .. toctree::
31 | :maxdepth: 2
32 |
33 | features
34 | tips
35 | guides
36 | advanced
37 |
38 | .. toctree::
39 | :maxdepth: 1
40 |
41 | changelog
42 |
43 | .. only:: builder_html or builder_dirhtml
44 |
45 | Indices and tables
46 | ==================
47 |
48 | * :ref:`genindex`
49 | * :ref:`search`
50 |
--------------------------------------------------------------------------------
/tests/validation-sets/sphinx/index.rst:
--------------------------------------------------------------------------------
1 | Sphinx
2 | ======
3 |
4 | This page shows the usage of Sphinx's `table of contents`_. Example markup is
5 | as follows:
6 |
7 | .. code-block:: none
8 |
9 | .. toctree::
10 | :maxdepth: 1
11 |
12 | doca
13 | docb
14 | docc
15 |
16 | Output
17 | ------
18 |
19 | .. toctree::
20 | :caption: Table of Contents
21 | :maxdepth: 1
22 |
23 | code
24 | deprecated
25 | download
26 | glossary
27 | hlist
28 | manpage
29 | production-list
30 | seealso
31 | versionadded
32 | versionchanged
33 |
34 |
35 | .. references ------------------------------------------------------------------
36 |
37 | .. _table of contents: https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#table-of-contents
38 |
--------------------------------------------------------------------------------
/tests/validation-sets/restructuredtext/line-block.rst:
--------------------------------------------------------------------------------
1 | Line block
2 | ==========
3 |
4 | reStructuredText supports documents with `line blocks`_. Example markup
5 | is as follows:
6 |
7 | .. code-block:: none
8 |
9 | | Lend us a couple of bob till Thursday.
10 | | I'm absolutely skint.
11 | | But I'm expecting a postal order and I can pay you back
12 | as soon as it comes.
13 | | Love, Ewan.
14 |
15 | Output
16 | ------
17 |
18 | | Lend us a couple of bob till Thursday.
19 | | I'm absolutely skint.
20 | | But I'm expecting a postal order and I can pay you back
21 | as soon as it comes.
22 | | Love, Ewan.
23 |
24 |
25 | .. references ------------------------------------------------------------------
26 |
27 | .. _line blocks: https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#line-blocks
28 |
--------------------------------------------------------------------------------
/tests/unit-tests/test_rst_raw.py:
--------------------------------------------------------------------------------
1 | # SPDX-License-Identifier: BSD-2-Clause
2 | # Copyright Sphinx Confluence Builder Contributors (AUTHORS)
3 |
4 | from tests.lib.parse import parse
5 | from tests.lib.testcase import ConfluenceTestCase
6 | from tests.lib.testcase import setup_builder
7 |
8 |
9 | class TestConfluenceRstRaw(ConfluenceTestCase):
10 | @classmethod
11 | def setUpClass(cls):
12 | super().setUpClass()
13 |
14 | cls.dataset = cls.datasets / 'rst' / 'raw-storage'
15 |
16 | @setup_builder('confluence')
17 | def test_storage_rst_raw_default(self):
18 | out_dir = self.build(self.dataset)
19 |
20 | with parse('index', out_dir) as data:
21 | strong = data.find('strong')
22 | self.assertIsNotNone(strong)
23 | self.assertEqual(strong.text, 'raw content')
24 |
--------------------------------------------------------------------------------
/tests/validation-sets/restructuredtext/markup.rst:
--------------------------------------------------------------------------------
1 | Markup
2 | ======
3 |
4 | This extension supports a series of `inline markup`_ defined in reStructuredText
5 | and handled by the Sphinx engine. Example markup is as follows:
6 |
7 | .. code-block:: none
8 |
9 | This is **strong emphasis** text.
10 |
11 | Output
12 | ------
13 |
14 | This is *emphasized* text.
15 |
16 | This is **strong emphasis** text.
17 |
18 | This is `interpreted` text.
19 |
20 | This text is an example of ``inline literals``.
21 |
22 | This is :sub:`subscript` text.
23 |
24 | This is :sup:`superscript` text.
25 |
26 | This is an :guilabel:`&example` guilabel.
27 |
28 |
29 | .. references ------------------------------------------------------------------
30 |
31 | .. _inline markup: https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#inline-markup
32 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/svg/index.rst:
--------------------------------------------------------------------------------
1 | svgs
2 | ====
3 |
4 | .. normal image processing
5 |
6 | .. image:: svg.svg
7 |
8 | .. image:: svg-none.svg
9 |
10 |
11 | .. doctype should be injected into this document
12 |
13 | .. image:: svg-doctype.svg
14 |
15 |
16 | .. viewbox sizes should be added into height/width
17 |
18 | .. image:: svg-viewbox.svg
19 |
20 |
21 | .. applying length/scale options into the svgs
22 |
23 | .. image:: svg.svg
24 | :width: 75px
25 |
26 | .. image:: svg.svg
27 | :height: 2in
28 |
29 | .. image:: svg.svg
30 | :height: 50px
31 | :width: 100pc
32 |
33 | .. image:: svg.svg
34 | :scale: 200%
35 | :width: 100px
36 |
37 |
38 | .. applying length/scale options based on viewbox
39 |
40 | .. image:: svg-viewbox.svg
41 | :width: 50px
42 |
43 | .. image:: svg-viewbox.svg
44 | :height: 200px
45 |
--------------------------------------------------------------------------------
/tests/sample-sets/kroki/index.rst:
--------------------------------------------------------------------------------
1 | kroki
2 | =====
3 |
4 | Examples using kroki:
5 |
6 | ----
7 |
8 | .. kroki::
9 | :type: plantuml
10 | :caption: caption of diagram
11 |
12 | bar -> baz
13 |
14 | ----
15 |
16 | .. |diagram| kroki:: plantuml svg
17 |
18 | bar -> baz
19 |
20 | Hello |diagram| kroki world
21 |
22 | ----
23 |
24 | .. kroki:: svg
25 | :type: mermaid
26 | :class: graph
27 |
28 | graph TD
29 | A[ Anyone ]
30 |
31 | ----
32 |
33 | .. kroki:: graphviz assets/graph.dot png
34 | :options:
35 | layout: neato
36 | graph-attribute-label: My favorite graph
37 | node-attribute-shape: rect
38 |
39 | ----
40 |
41 | .. kroki:: png assets/diagram.puml
42 | :align: center
43 | :caption: on *center*
44 |
45 | ----
46 |
47 | .. kroki:: assets/diagram.ditaa
48 | :align: right
49 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/panel/index.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | panel
4 | =====
5 |
6 | .. confluence_panel::
7 |
8 | plain content
9 |
10 | .. confluence_panel::
11 | :bg-color: #ee0000
12 |
13 | with background color
14 |
15 | .. confluence_panel::
16 | :border-color: #00ee00
17 |
18 | with border color
19 |
20 | .. confluence_panel::
21 | :border-style: dashed
22 |
23 | with border style
24 |
25 | .. confluence_panel::
26 | :border-width: 12
27 |
28 | with border width content
29 |
30 | .. confluence_panel::
31 | :title: my title
32 |
33 | with title content
34 |
35 | .. confluence_panel::
36 | :title: dummy
37 | :title-bg-color: #0000ee
38 |
39 | with title background color
40 |
41 | .. confluence_panel::
42 | :title: dummy
43 | :title-color: #ee00ee
44 |
45 | with title color
46 |
--------------------------------------------------------------------------------
/tests/validation-sets/restructuredtext/list-table.rst:
--------------------------------------------------------------------------------
1 | List Table
2 | ==========
3 |
4 | reStructuredText defines a `list-table`_. Example markup is as follows:
5 |
6 | .. code-block:: none
7 |
8 | .. list-table::
9 | :header-rows: 1
10 | :stub-columns: 1
11 |
12 | * - key
13 | - value
14 | * - 1
15 | - 2
16 | * - 3
17 | - 4
18 | * - 5
19 | - 6
20 |
21 | Output
22 | ------
23 |
24 | .. list-table::
25 | :header-rows: 1
26 | :stub-columns: 1
27 |
28 | * - key
29 | - value
30 | * - 1
31 | - 2
32 | * - 3
33 | - 4
34 | * - 5
35 | - 6
36 |
37 |
38 | .. references ------------------------------------------------------------------
39 |
40 | .. _list-table: https://docutils.sourceforge.io/docs/ref/rst/directives.html#list-table
41 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-prompt/conf.py:
--------------------------------------------------------------------------------
1 | from docutils import nodes
2 | import importlib
3 |
4 |
5 | extensions = [
6 | 'sphinxcontrib.confluencebuilder',
7 | 'sphinx-prompt',
8 | ]
9 |
10 |
11 | sphinx_prompt = importlib.import_module('sphinx-prompt')
12 |
13 |
14 | class PromptDirectiveOverride(sphinx_prompt.PromptDirective):
15 | def run(self):
16 | text = '\n'.join(self.content)
17 | lang = self.options.get('language') or 'text'
18 |
19 | new_node = nodes.literal_block(text, text)
20 | new_node['language'] = lang
21 | return [ new_node ]
22 |
23 |
24 | def setup(app):
25 | app.connect('builder-inited', builder_inited)
26 |
27 |
28 | def builder_inited(app):
29 | if app.builder.name in ('html', 'latex'):
30 | return
31 |
32 | app.add_directive('prompt', PromptDirectiveOverride, override=True)
33 |
--------------------------------------------------------------------------------
/tests/validation-sets/sphinx/seealso.rst:
--------------------------------------------------------------------------------
1 | See also
2 | ========
3 |
4 | Sphinx defines a `seealso directive`_. Example markup is as follows:
5 |
6 | .. code-block:: none
7 |
8 | .. seealso::
9 | Module `other`
10 | Documentation of the `other` module.
11 |
12 | `Other Manual `_
13 | Manual for another reference related to this content.
14 |
15 | Output
16 | ------
17 |
18 | .. seealso::
19 | Module `other`
20 | Documentation of the `other` module.
21 |
22 | `Other Manual `_
23 | Manual for another reference related to this content.
24 |
25 |
26 | .. references ------------------------------------------------------------------
27 |
28 | .. _seealso directive: https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-seealso
29 |
--------------------------------------------------------------------------------
/tests/unit-tests/test_sphinx_productionlist.py:
--------------------------------------------------------------------------------
1 | # SPDX-License-Identifier: BSD-2-Clause
2 | # Copyright Sphinx Confluence Builder Contributors (AUTHORS)
3 |
4 | from tests.lib.parse import parse
5 | from tests.lib.testcase import ConfluenceTestCase
6 | from tests.lib.testcase import setup_builder
7 |
8 |
9 | class TestConfluenceSphinxProductionList(ConfluenceTestCase):
10 | @classmethod
11 | def setUpClass(cls):
12 | super().setUpClass()
13 |
14 | cls.dataset = cls.datasets / 'production-list'
15 |
16 | @setup_builder('confluence')
17 | def test_storage_sphinx_productionlist_defaults(self):
18 | out_dir = self.build(self.dataset)
19 |
20 | with parse('index', out_dir) as data:
21 | container = data.find('pre')
22 | self.assertIsNotNone(container)
23 | self.assertTrue(container.text.strip())
24 |
--------------------------------------------------------------------------------
/sphinxcontrib/confluencebuilder/writer.py:
--------------------------------------------------------------------------------
1 | # SPDX-License-Identifier: BSD-2-Clause
2 | # Copyright Sphinx Confluence Builder Contributors (AUTHORS)
3 |
4 | from __future__ import annotations
5 | from docutils import writers
6 | from typing import Any
7 | from typing import ClassVar
8 |
9 |
10 | class ConfluenceWriter(writers.Writer):
11 | supported = ('text',)
12 | settings_spec = ('No options here.', '', ())
13 | settings_defaults: ClassVar[dict[str, Any]] = {}
14 |
15 | def __init__(self, builder):
16 | writers.Writer.__init__(self)
17 | self.builder = builder
18 | self.output = None
19 |
20 | def translate(self):
21 | visitor = self.builder.create_translator(self.document, self.builder)
22 | self.document.walkabout(visitor)
23 | if hasattr(visitor, 'body_final'):
24 | self.output = visitor.body_final
25 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-data-viewer/index.rst:
--------------------------------------------------------------------------------
1 | Sphinx-Data-Viewer
2 | ==================
3 |
4 | .. data-viewer::
5 | :title: My first data viewer example
6 |
7 | ["apple", "orange", "banana"]
8 |
9 | ----
10 |
11 | .. data-viewer::
12 | :expand:
13 |
14 | {
15 | "Peter Meister": {
16 | "firstname": "Peter",
17 | "surname": "Meister",
18 | "city": "Munich",
19 | "age": 26,
20 | "height_m": 1.86,
21 | "nicknames": ["Peti", "Pet", "Bomber"]
22 | },
23 | "Sandra Wilson": {
24 | "firstname": "Sandra",
25 | "surname": "Wilson",
26 | "city": "London",
27 | "age": 32,
28 | "height_m": 1.67,
29 | "nicknames": ["Sandy", "Wilma"]
30 | }
31 | }
32 |
33 | ----
34 |
35 | .. data-viewer::
36 | :data: my_data
37 |
--------------------------------------------------------------------------------
/tests/sample-sets/tables/index.rst:
--------------------------------------------------------------------------------
1 | tables
2 | ======
3 |
4 | .. confluence_table_width:: 200px
5 |
6 | +----+----+----+----+
7 | | 00 | 01 | 02 | 03 |
8 | +====+====+====+====+
9 | | 10 | 11 | 12 | 13 |
10 | +----+----+----+----+
11 | | 20 | 2[1-3] |
12 | +----+----+---------+
13 | | 30 | | - one |
14 | +----+ ZZ | - two |
15 | | 40 | | - three |
16 | +----+----+---------+
17 |
18 | .. confluence_table_width:: 100%
19 |
20 | == == ==
21 | a1 a2 a3
22 | b1 b2 b3
23 | == == ==
24 | c1 c2 c3
25 | d1 d2 d3
26 | == == ==
27 |
28 | .. confluence_table_width:: default
29 |
30 | +--------+--------+
31 | | cell 1 | cell 2 |
32 | +========+========+
33 | | cell 3 | cell 4 |
34 | | | |
35 | | | +-+-+ |
36 | | | |a|b| |
37 | | | +=+=+ |
38 | | | |c|d| |
39 | | | +-+-+ |
40 | | | |e|f| |
41 | | | +-+-+ |
42 | +--------+--------+
43 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/code-block/code-block-highlight.rst:
--------------------------------------------------------------------------------
1 | :orphan:
2 |
3 | ::
4 |
5 | import myexample
6 | myexample.invoke()
7 |
8 | .. highlight:: bash
9 |
10 | ::
11 |
12 | #!/bin/bash
13 | echo this is an example
14 |
15 | .. code-block:: csharp
16 |
17 | using System;
18 | using System.Collections.Generic;
19 | using System.Text;
20 |
21 | namespace ConsoleApplication1
22 | {
23 | class Program
24 | {
25 | static void Main(string[] args)
26 | {
27 | Console.WriteLine("this is an example");
28 | }
29 | }
30 | }
31 |
32 | .. code-block:: python
33 |
34 | import myexample
35 | myexample.invoke()
36 |
37 | .. highlight:: html
38 |
39 | .. literalinclude:: ../../assets/example.html
40 |
41 | .. highlight:: python
42 |
43 | .. literalinclude:: ../../assets/example.py
44 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/figure/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/directives.html#figure
2 |
3 | figure
4 | ------
5 |
6 | .. external image (default align; no caption)
7 |
8 | .. figure:: https://www.example.com/image.png
9 | :alt: alt text
10 |
11 | .. external image (default align)
12 |
13 | .. figure:: https://www.example.org/image.png
14 |
15 | caption 2
16 |
17 | legend 2
18 |
19 | .. external image (left align)
20 |
21 | .. figure:: https://www.example.com/image.png
22 | :align: left
23 | :alt: alt text
24 |
25 | caption 3
26 |
27 | legend 3
28 |
29 | .. internal image (center align)
30 |
31 | .. figure:: ../../../assets/image02.png
32 | :align: center
33 |
34 | caption 4
35 |
36 | legend 4
37 |
38 | .. internal image (right align)
39 |
40 | .. figure:: ../../../assets/image02.png
41 | :align: right
42 |
43 | caption 5
44 |
45 | legend 5
46 |
--------------------------------------------------------------------------------
/tests/unit-tests/test_rst_parsed_literal.py:
--------------------------------------------------------------------------------
1 | # SPDX-License-Identifier: BSD-2-Clause
2 | # Copyright Sphinx Confluence Builder Contributors (AUTHORS)
3 |
4 | from tests.lib.parse import parse
5 | from tests.lib.testcase import ConfluenceTestCase
6 | from tests.lib.testcase import setup_builder
7 |
8 |
9 | class TestConfluenceRstParsedLiteral(ConfluenceTestCase):
10 | @classmethod
11 | def setUpClass(cls):
12 | super().setUpClass()
13 |
14 | cls.dataset = cls.datasets / 'rst' / 'parsed-literal'
15 |
16 | @setup_builder('confluence')
17 | def test_storage_rst_parsedliteral_defaults(self):
18 | out_dir = self.build(self.dataset)
19 |
20 | with parse('index', out_dir) as data:
21 | container_block = data.find('pre')
22 | self.assertIsNotNone(container_block)
23 |
24 | styled_markup = container_block.find('strong')
25 | self.assertIsNotNone(styled_markup)
26 |
--------------------------------------------------------------------------------
/tests/sample-sets/sphinx-needs/conf.py:
--------------------------------------------------------------------------------
1 | from docutils.parsers.rst import directives
2 |
3 | extensions = [
4 | 'sphinx_needs',
5 | 'sphinxcontrib.confluencebuilder',
6 | ]
7 |
8 | # confluence_editor = 'v2'
9 | # confluence_full_width = False
10 |
11 | needs_extra_options = {
12 | 'author': directives.unchanged,
13 | }
14 |
15 | needs_layouts = {
16 | 'example': {
17 | 'grid': 'simple_side_right_partial',
18 | 'layout': {
19 | 'head': ['**<>** for *<>*'],
20 | 'meta': ['**status**: <>',
21 | '**author**: <>'],
22 | 'side': ['<>'],
23 | },
24 | },
25 | }
26 |
27 | # html builder options (to compare)
28 | html_static_path = ['_static']
29 |
30 | def setup(app):
31 | app.require_sphinx('6.0')
32 | app.add_js_file('jquery-3.6.3.min.js')
33 |
--------------------------------------------------------------------------------
/tests/unit-tests/test_confluence_strikethough.py:
--------------------------------------------------------------------------------
1 | # SPDX-License-Identifier: BSD-2-Clause
2 | # Copyright Sphinx Confluence Builder Contributors (AUTHORS)
3 |
4 | from tests.lib.parse import parse
5 | from tests.lib.testcase import ConfluenceTestCase
6 | from tests.lib.testcase import setup_builder
7 |
8 |
9 | class TestConfluenceStrikethrough(ConfluenceTestCase):
10 | @classmethod
11 | def setUpClass(cls):
12 | super().setUpClass()
13 |
14 | cls.dataset = cls.datasets / 'strikethrough'
15 |
16 | @setup_builder('confluence')
17 | def test_html_confluence_strikethrough(self):
18 | out_dir = self.build(self.dataset)
19 |
20 | with parse('index', out_dir) as data:
21 | strikethrough_elements = data.find_all('s')
22 | self.assertEqual(len(strikethrough_elements), 1)
23 |
24 | element = strikethrough_elements.pop(0)
25 | self.assertEqual(element.text, 'test')
26 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/tables/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#tables
2 |
3 | tables
4 | ------
5 |
6 | .. spanning table
7 |
8 | +----+----+----+----+
9 | | 00 | 01 | 02 | 03 |
10 | +====+====+====+====+
11 | | 10 | 11 | 12 | 13 |
12 | +----+----+----+----+
13 | | 20 | 2[1-3] |
14 | +----+----+---------+
15 | | 30 | | - one |
16 | +----+ ZZ | - two |
17 | | 40 | | - three |
18 | +----+----+---------+
19 |
20 | .. multi-header table
21 |
22 | == == ==
23 | a1 a2 a3
24 | b1 b2 b3
25 | == == ==
26 | c1 c2 c3
27 | d1 d2 d3
28 | == == ==
29 |
30 | .. nested table
31 |
32 | +--------+--------+
33 | | cell 1 | cell 2 |
34 | +========+========+
35 | | cell 3 | cell 4 |
36 | | | |
37 | | | +-+-+ |
38 | | | |a|b| |
39 | | | +=+=+ |
40 | | | |c|d| |
41 | | | +-+-+ |
42 | | | |e|f| |
43 | | | +-+-+ |
44 | +--------+--------+
45 |
--------------------------------------------------------------------------------
/tests/sample-sets/svgbob/index.rst:
--------------------------------------------------------------------------------
1 | Svgbob
2 | ======
3 |
4 | .. svgbob::
5 | :font-family: Arial
6 | :font-size: 12
7 |
8 | +-------+ +--------+
9 | | Hello |------>| World! |
10 | +-------+ +--------+
11 |
12 | Hamming distance between two strings of equal length is the number of
13 | positions at which the corresponding symbols are different. For instance,
14 | Hamming distance for a 3-bit string can be computed visually using a
15 | 3-bit binary cube:
16 |
17 | .. svgbob::
18 | :align: center
19 |
20 | 110 111
21 | *-----------*
22 | /| /|
23 | / | 011 / |
24 | 010 *--+--------* |
25 | | | 100 | |
26 | | *--------+--* 101
27 | | / | /
28 | |/ |/
29 | 000 *-----------* 001
30 |
31 | The minimum distance between any two vertices is the Hamming distance
32 | between the two bit vectors (e.g. 100→011 has distance 3).
33 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/image/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/directives.html#image
2 |
3 | image
4 | -----
5 |
6 | .. external image
7 |
8 | .. image:: https://www.example.com/image.png
9 |
10 | .. external image with options
11 |
12 | .. image:: https://www.example.org/image.png?a=1&b=2
13 |
14 | .. internal image using a series of attributes
15 |
16 | .. image:: ../../../assets/image01.png
17 | :width: 200px
18 | :alt: alt text
19 |
20 | .. internal image with alignment
21 |
22 | .. image:: ../../../assets/image01.png
23 | :align: right
24 |
25 | .. internal image with no length units (assumed pixel size)
26 |
27 | .. image:: ../../../assets/image01.png
28 | :width: 123
29 |
30 | .. internal image with scaling
31 |
32 | .. image:: ../../../assets/image01.png
33 | :scale: 50%
34 | :width: 100px
35 |
36 | .. internal image with non-pixel units
37 |
38 | .. image:: ../../../assets/image01.png
39 | :width: 2in
40 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/toctree-numbered/doc.rst:
--------------------------------------------------------------------------------
1 | doc
2 | ---
3 |
4 | .. toctree::
5 |
6 | child
7 |
8 |
9 | section with spaces
10 | -------------------
11 |
12 | section_with_underscores
13 | ------------------------
14 |
15 | section with a large name - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent vitae volutpat ipsum, quis sodales eros. Aenean quis nunc quis leo aliquam gravida. Fusce accumsan nibh vitae enim ullamcorper iaculis. Duis eget augue dolor. Curabitur at enim elit. Nullam luctus mollis magna. Pellentesque pellentesque, leo quis suscipit finibus, diam justo convallis.
16 | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
17 |
--------------------------------------------------------------------------------
/tests/unit-tests/datasets/rst/lists/index.rst:
--------------------------------------------------------------------------------
1 | .. https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#bullet-lists
2 | .. https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#enumerated-lists
3 |
4 | lists
5 | -----
6 |
7 | .. bullet lists (complex and condensed)
8 |
9 | * first bullet
10 |
11 | * second item
12 |
13 | second paragraph in the second item
14 |
15 | third paragraph in the second item
16 |
17 | * sublist 1
18 | * sublist 2
19 | * sublist 3
20 |
21 | * third item
22 | * forth item
23 |
24 | .. enumerated list
25 |
26 | #. enumerated a1
27 | #. enumerated a2
28 |
29 | .. enumerated list with various style checks
30 |
31 | 1. enumerated b
32 |
33 | a) enumerated b1
34 | b) enumerated b2
35 |
36 | 2. enumerated c
37 |
38 | A) enumerated c1
39 | B) enumerated c2
40 |
41 | 3. enumerated d
42 |
43 | 1) enumerated d1
44 | 2) enumerated d2
45 |
46 | 4. enumerated e
47 |
48 | i) enumerated e1
49 | ii) enumerated e2
50 |
--------------------------------------------------------------------------------
/tests/sample-sets/latex/index.rst:
--------------------------------------------------------------------------------
1 | latex
2 | =====
3 |
4 | The equation :confluence_latex:`$a^2 + b^2 = c^2$` is inlined.
5 |
6 | ----
7 |
8 | .. confluence_latex::
9 | :align: left
10 |
11 | \begin{equation*}
12 | \begin{split}e^{i\pi} + 1 = 0\end{split}
13 | \end{equation*}
14 |
15 | ----
16 |
17 | .. confluence_latex::
18 |
19 | Lists are easy to create:
20 | \begin{itemize}
21 | \item List entries start with the \verb|\item| command.
22 | \item Individual entries are indicated with a black dot, a so-called bullet.
23 | \item The text in the entries may be of any length.
24 | \end{itemize}
25 |
26 | ----
27 |
28 | .. confluence_latex::
29 |
30 | Hello, World!
31 |
32 | $\mathfrak{H}$ello world!
33 |
34 | ----
35 |
36 | .. confluence_latex::
37 |
38 | $\mathfrak{H}$ello world!
39 |
40 | ----
41 |
42 | This is a :confluence_latex:`$\\mathfrak{t}$est`.
43 |
44 | ----
45 |
46 | This is a :confluence_latex:`$\\mathfrak{H}$ello world!`.
47 |
--------------------------------------------------------------------------------