Previously we'd `append` the extensions and odoo parent directories to
sys.path, however this means if an `odoo` is already installed in a
sys.path (e.g. global installation, or setup.py develop in a venv,
...) *that* will be used as the source of Python code (for autodoc)
instead of the Python source being synchronised with the rst, which
can lead to very odd behaviour.
Prepend the doc's stuff to the PYTHONPATH instead, to ensure they get
priority and the code matching the rst gets loaded.
ea6e7379a3 removed the few intersphinx
refs to sqlalchemy & django, so these mappings have not been necessary
in a year. This is especially annoying as the currently configured
sqlalchemy mapping has been very flaky / regularly failing.
Remove the mappings entirely.
closesodoo/odoo#30397
* fix Sphinx 1.6 compatibility leading to the "tiles" on the home page
not working anymore: 1.6 replaces BuildEnvironment.reolve_toctree by
TocTree().resolve(), while the method still exists it's not actually
called anymore
* rejigger some CSS as the second section went from one big tile to 3
smaller tiles, and got laid out as a row rather than a second 2x2
block. Recode the entire mess with flexbox, remove some stuff which
conflicted with boostrap (this screen should probably be
de-boostrapped and completely converted to flexbox or grid)
* add building CSS from LESS to the makefile, all Odoo devs should
have less installed locally (for assets)
Use python 3.5
Refer to correct page of the doc
Remove old bazar to git (was intended for the 8.0)
Remove outdated setup_dev script: it was intended for odoo developers but if you
are not able to make a git clone, you are going to have a bad time later.
* Fix a bunch of ill-documented/incomplete/incorrect method docs
* add start of Sphinx extension to extract & integrate jsdoc into
Sphinx documentation:
- parse JS files (and don't blow up), uses a fork of pyjsparser as
the project currently does not parse comments
- extract cross-module dependency information
- parse JsDoc comments using pyjsdoc and infer structure from code &
jsdoc
- ``ast`` CLI printing a simplified AST of the input files
- ``dependencies`` creating a dependency graph of either all modules
in the provided input files or the modules matching the specified
filters (warning: will not work if missing dependencies),
generates a .dot file
- ``extractor`` generating a plain text module documentation (mix of
rst and markdown styles, not anything formal)
* sphinx extension with an "automodule" directive taking a module name
and generating the documentation for it
* fix handling of no banner (and no default banner) on documents:
- don't try to build a banner URL at the top of document
- don't build a mini-banner in cards
* fix compatibility between custom HTML translator and domains creating
new nodes (and their rendering): hook translator via
app.add_translator so app.add_node can do the job correctly: with
html_translator_class the application is not aware of the new HTML
translator and add_node can't add the relevant rendering methods
* add translation for line_block and line (classes not used, point is
just to have a div for each line so "newlines" are kept
Pretty much completely rewritten theme with custom HTML translator and a
few parts of the old theme extracted to their own extensions.
Banner images thought not to be that huge after all, and not worth the
hassle of them living in a different repository.
co-authored with @stefanorigano
* rename functional -> business
* fix navbarification of main toctree: would stop processing after it
hit the first toc item without children, and the business links (with
children) follow the web service toc item (without children)
* add latex support for exercise admonition
* latex freezes/crashes on {HEAVY WIDE-HEADED RIGHTWARDS ARROW} so
replace them by more manual arrows
* add some preamble configuration, may not even be necessary
* generate WS setup code only in HTML output. WS doc in latex still
isn't great as it displays all 4 languages one after the other,
ideally they should be tagged or something, so only one language at a
time is generated in non-HTML outputs
The project name automatically gets the release and the literal string
"documentation" appended by default (and "html_title" can be set to generate a
title differently), so having "documentation" set in the project variable
duplicates it in the page title.
The branch name is used in the version switcher, so the master branch should have a version of "master".
Maybe the release could be the revision hash? Not sure how to extract it from the repo.
The branch name is used in the version switcher, so the master branch should have a version of "master".
Maybe the release could be the revision hash? Not sure how to extract it from the repo.
* canonical_root setting is the path to the root of the canonical sphinx doc,
if not set no canonical link is generated, must end with "/"
* canonical_branch defines the canonical branch to which to redirect, defaults
to master
also various side-fixes:
* disabled permalinks in sphinx instead of hiding them via CSS
* improved generation of github links, removed _app global and setting of
linkcode_resolve in conf.py
blocked at introducing qweb template, ir.qweb lives in the registry but nodb -> no database
with --db-filter there's a database in the session (kinda) but need to fetch it and manually get the corresponding registry...