Commit graph

115 commits

Author SHA1 Message Date
Pieter-Jan Briers
685dffb1d5 makerst.py refactor.
It's now smart and keeps track of every entity in the doc files. Now it can pick up on broken references and such inside the doc files.
Eventually we'll be able to run it on Travis and check for errors automatically.

General file cleanup.

References to elements of classes now have a prefix for their type. class_Control_minimum_size_changed becomes class_Control_method_minimum_size_changed, or signal_, because the reason I did this was to fix reference conflicts.

You can also reference constants now with BBCode.

Also made it use argparse, adding an --output and a --dry-run argument.

I did not fix all the errors it's reporting in the documentation files, there's about 150+ of them but that's outside of the scope of this commit.
2018-12-28 16:55:51 +01:00
Pieter-Jan Briers
15a3d16d08 Clean up & improve makerst.py
Man this file even had some semicolons in it.

I cleaned up the entire file, while it's still pretty ugly it's much better now.
I also added type checks so it passes mypy --strict.
make_type now throws a warning on unresolved type references, which there are a bunch of. I'm not responsible for fixing those though.
Also some more hardening against crashes. For example XML tags without content won't cause crashes now.
Functionality has not been modified as far as I can tell.

Update Makefile for Python 3

Fix ordering issues related to enums & constants
2018-12-27 13:57:08 +01:00
João Álvaro Ferreira
a720993cc8 Enabled rst files to escape for parentheses after brackets 2018-12-11 12:58:57 +00:00
Rémi Verschelde
5f8af252e8 doc: Use HTTPS for docs.godotengine.org and point to latest branch
Fixes #23509.
2018-11-05 08:46:27 +01:00
lupoDharkael
edcca5f7ad Dont use equality operators with None singleton in python files 2018-10-27 01:18:15 +02:00
LikeLakers2
0d6546ed44 Add extra newline after enum members and constants, to ensure they'll format properly after a multi-line description 2018-10-02 16:48:40 -04:00
Rémi Verschelde
0cc3aff8ed doc: Drop obsolete makemd.py, dates back to GitHub Wiki days
It has not been kept in sync with makerst.py, so it does not serve
much purpose nowadays.
2018-10-02 12:28:08 +02:00
Rémi Verschelde
d26c6b28a6 doc: Fixes to rst converter 2018-09-21 09:50:21 +02:00
LikeLakers2
268ae71fae Fix the weird method linking issue when the previous method's description ends with a code block 2018-09-20 18:14:47 -04:00
Rémi Verschelde
4e0f415c83 doc: Make property sections in rst similar to editor docs
There is now an overview table with hyperlinks, and further down a detailed
list of properties with their setter/getter and description.

Theme items are now also included in the rst output.

Refactored make_method() a bit.
2018-09-13 02:13:19 +02:00
Rémi Verschelde
a923eff9a4 Doc: Use PascalCase names in hyperlinks
We were not consistently applying .lower() every time we construct
an hyperlink, so there would be case mismatch. It works fine to keep
the natural case for those links.
2018-09-13 01:55:56 +02:00
Rémi Verschelde
ba64ea2283 Doc: Use same headers and order in-editor and online 2018-09-12 17:12:23 +02:00
robojumper
98b59cf2a3 Add support for tutorial links to makerst.py
Also change the <tutorials> structure to make use of individual <link> tags
2018-06-12 17:40:24 +02:00
Rémi Verschelde
819911d16e makerst.py: Properly escape \ for rst
Fixes godotengine/godot-docs#1486.
2018-05-31 15:38:33 +02:00
Pieter-Jan Briers
331b0e8526 Makes doc methods display enums. 2018-05-12 20:08:39 +02:00
Viktor Ferenczi
272ecddb28 Properly closing all files in Python code 2018-03-11 14:55:50 +01:00
Yan Pas
059221f123 fixed md script 2018-02-18 17:13:47 +03:00
Anish
84e8c49f5d Documentation tool does not add escapes to code and codeblocks
Instead of adding the escapes to all * and _ the tool now excludes
the characters inside [code] and [codeblock].

Resolves: #15156
2018-02-16 02:24:05 +05:30
Joachim Meyer
3ca84df551 Enums get listed in the docs and enum members now also link to the
corresponding enum in the webdocs
Fixes #13254
2017-12-22 00:38:03 +01:00
Rémi Verschelde
f5c513ca7b doc status: Partial revert of e23454d, setgets are no longer listed 2017-11-24 18:25:56 +01:00
Martin Capitanio
7c3ba6f72b Fix the class docs for the rst-syntax errors.
- Generate a correkt rst-syntax for the [/code] inline markup.
  (http://www.sphinx-doc.org/en/1.6.5/rest.html#inline-markup)
- Fix xml souce bugs

for the sphinx's rst syntax werrors:

class_area.rst:319: WARNING: Inline literal start-string without end-string.
class_area2d.rst:287: WARNING: Inline literal start-string without end-string.
class_audioserver.rst:287: WARNING: Inline literal start-string without end-string.
class_control.rst:509: WARNING: Inline literal start-string without end-string.
class_image.rst:422: WARNING: Inline literal start-string without end-string.
class_image.rst:434: WARNING: Inline literal start-string without end-string.
class_inputevent.rst:74: WARNING: Inline literal start-string without end-string.
class_inputeventaction.rst:45: WARNING: Inline literal start-string without end-string.
class_inputmap.rst:47: WARNING: Inline literal start-string without end-string.
class_kinematicbody.rst:80: WARNING: Inline interpreted text or phrase reference start-string without end-string.
class_kinematicbody2d.rst:80: WARNING: Inline interpreted text or phrase reference start-string without end-string.
class_line2d.rst:182: WARNING: Inline literal start-string without end-string.
class_thread.rst:51: WARNING: Inline literal start-string without end-string.
class_treeitem.rst:160: WARNING: Inline literal start-string without end-string.
2017-11-19 20:47:36 +01:00
Martin Capitanio
ade4f3084c Fix class docs, improve error handling of the rst generator.
The rst-generator gives you now a hint what's going on:
Bad reference: 'method.RegEx.search_all' in file: ../modules/regex/doc_classes/RegExMatch.xml

grep 'method.RegEx.search_all' ../modules/regex/doc_classes/RegExMatch.xml
	Contains the results of a single regex match returned by [method RegEx.search]
	and [method.RegEx.search_all]. It can be used to find the position and range of the match
	and its capturing groups, and it can extract its sub-string for you.
2017-11-18 01:41:32 +01:00
Rémi Verschelde
2e212a2cfd makerst: Remove stray spaces in method signatures 2017-10-21 14:01:05 +02:00
Rémi Verschelde
2cd044e89b makerst: Add support for [member] and [signal]
Part of #11137. [enum] is still missing, and none are implemented in the engine itself yet.
2017-10-21 13:53:59 +02:00
Rémi Verschelde
b302084395 makerst: Fix rst-ization of members and escaping of [Class]s
Fixes #11517.
2017-10-21 12:33:52 +02:00
Rémi Verschelde
f85d428b56 Merge pull request #12053 from Grosskopf/audiodocs-fix
filtering getters&setters over strings works for AudioStreamPlayer*
2017-10-19 16:17:41 +02:00
Grosskopf
b4b632a37e filtering getters&setters over strings works for AudioStreamPlayer* 2017-10-15 09:28:29 +02:00
Rémi Verschelde
deefc2a63d makerst: Fix support for module classes
Previous code expected only one XML per module, which is not the case for
e.g. mono or gdnative.
Also add newline after signal description to fix rst warning, and make the
script Python 3-compatible.

[ci skip]
2017-10-14 15:22:06 +02:00
mhilbrunner
b772f5adc9 doc_status.py: Error message for unknown CLI flag, switch shebang to python 2017-10-07 14:57:04 +02:00
mhilbrunner
328b78a0b9 doc_status.py: Add -e (--empty) option to hide items with nothing left to do 2017-10-03 21:58:38 +02:00
Andreas Haas
a4cfec4e21 Merge pull request #11757 from mhilbrunner/doc_status_py27
doc_status.py Python 2.7 backwards compatibility & Windows support
2017-10-02 22:24:38 +02:00
Poommetee Ketson
5005818798 Merge pull request #11654 from bojidar-bg/docstatus-fnmatch
Allow using wildcards to filter docstatus class names
2017-10-02 23:31:52 +07:00
mhilbrunner
2d46ee36cc doc_status.py Python 2.7 backwards compatibility 2017-10-01 21:47:54 +02:00
Bojidar Marinov
1f60d0c23f
Allow using wildcards to filter docstatus class names
[ci skip]
2017-09-28 13:13:32 +03:00
Alexander Meerhoff
a11a9ddffc makerst.py: Support split classes XML and use folders and/or single files as input
The new syntax is (from `doc/`): `tools/makerst.py classes/ ../modules/`.
Also adapted `make rst` target accordingly.

[ci skip]
2017-09-23 10:34:35 +02:00
Bojidar Marinov
ca72a4806f
Make doc_status output a bit more markdown-friendly, hide some prints 2017-09-16 13:47:44 +03:00
Daniel J. Ramirez
e23454d5c3 Update doc status generator.
[ciskip]
2017-09-15 12:12:22 -05:00
Poommetee Ketson
5bbbecc315 Docs: ignore tags inside code,codeblock tag 2017-07-22 21:22:38 +07:00
Julian Murgia
9c7b4c82a7 Add Signals descriptions when they exist. 2017-06-14 15:48:50 +02:00
Rémi Verschelde
5d10b8fabd Doc: Drop unmainted converters for html, textile, dokuwiki 2017-05-06 23:43:02 +02:00
Rémi Verschelde
091b30d4cb Doc: Remove unused tool translation 2017-05-06 22:55:20 +02:00
Rémi Verschelde
df61dc4b2b Add "Godot Engine contributors" copyright line 2017-04-08 00:11:42 +02:00
Rémi Verschelde
4989cc3617 Fix URLs to moved docs pages
Closes #8266.
2017-04-05 07:34:27 +02:00
Bojidar Marinov
669956849a
Update classes.xml to master version, add a small feature to doc_status 2017-03-29 22:27:59 +03:00
Rémi Verschelde
c7bc44d5ad Welcome in 2017, dear changelog reader!
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer
with state-of-the-art rendering techniques tuned to work as low as middle
end handheld devices - without compromising with the possibilities given
for higher end desktop games of course. Great times ahead for the Godot
community and the gamers that will play our games!
2017-01-01 22:03:33 +01:00
Rémi Verschelde
f34151ff0f style: Various other PEP8 fixes in Python files
Done with `autopep8 --select=E7`, fixes:

- E701 - Put colon-separated compound statement on separate lines.
- E702 - Put semicolon-separated compound statement on separate lines.
- E703 - Put semicolon-separated compound statement on separate lines.
- E711 - Fix comparison with None.
- E712 - Fix (trivial case of) comparison with boolean.
- E713 - Fix (trivial case of) non-membership check.
- E721 - Fix various deprecated code (via lib2to3).
2016-11-01 00:35:16 +01:00
Rémi Verschelde
817dd7ccbb style: Fix PEP8 blank lines issues in Python files
Done with `autopep8 --select=E3,W3`, fixes:

- E301 - Add missing blank line.
- E302 - Add missing 2 blank lines.
- E303 - Remove extra blank lines.
- E304 - Remove blank line following function decorator.
- E309 - Add missing blank line.
- W391 - Remove trailing blank lines.
2016-11-01 00:35:16 +01:00
Rémi Verschelde
d4c17700aa style: Fix PEP8 whitespace issues in Python files
Done with `autopep8 --select=E2,W2`, fixes:

- E201 - Remove extraneous whitespace.
- E202 - Remove extraneous whitespace.
- E203 - Remove extraneous whitespace.
- E211 - Remove extraneous whitespace.
- E221 - Fix extraneous whitespace around keywords.
- E222 - Fix extraneous whitespace around keywords.
- E223 - Fix extraneous whitespace around keywords.
- E224 - Remove extraneous whitespace around operator.
- E225 - Fix missing whitespace around operator.
- E226 - Fix missing whitespace around operator.
- E227 - Fix missing whitespace around operator.
- E228 - Fix missing whitespace around operator.
- E231 - Add missing whitespace.
- E231 - Fix various deprecated code (via lib2to3).
- E241 - Fix extraneous whitespace around keywords.
- E242 - Remove extraneous whitespace around operator.
- E251 - Remove whitespace around parameter '=' sign.
- E261 - Fix spacing after comment hash.
- E262 - Fix spacing after comment hash.
- E265 - Format block comments.
- E271 - Fix extraneous whitespace around keywords.
- E272 - Fix extraneous whitespace around keywords.
- E273 - Fix extraneous whitespace around keywords.
- E274 - Fix extraneous whitespace around keywords.
- W291 - Remove trailing whitespace.
- W293 - Remove trailing whitespace.
2016-11-01 00:35:16 +01:00
Rémi Verschelde
97c8508f5e style: Start applying PEP8 to Python files, indentation issues
Done with `autopep8 --select=E1`, fixes:

- E101 - Reindent all lines.
- E112 - Fix under-indented comments.
- E113 - Fix over-indented comments.
- E115 - Fix under-indented comments.
- E116 - Fix over-indented comments.
- E121 - Fix a badly indented line.
- E122 - Fix a badly indented line.
- E123 - Fix a badly indented line.
- E124 - Fix a badly indented line.
- E125 - Fix indentation undistinguish from the next logical line.
- E126 - Fix a badly indented line.
- E127 - Fix a badly indented line.
- E128 - Fix a badly indented line.
- E129 - Fix a badly indented line.
2016-11-01 00:33:51 +01:00
Rémi Verschelde
fc8ccd5b8c SCsub: Add python shebang as a hint for syntax highlighting
Also switch existing shebangs to "better" /usr/bin/env python.
2016-10-17 20:10:46 +02:00
Rémi Verschelde
5e082d583b classref: Fix UTF-8 parsing in makerst 2016-06-22 00:32:29 +02:00
Rémi Verschelde
034d6e811f Various improvements to doc_status.py
- Make comments opt-in (smaller table in width)
- Reduce length of Brief Description and Description (also smaller table as output)
- Make names cyan (blue is too dark on black terminal)
- Drop some redundant synonyms for the flags
2016-04-26 21:35:06 +02:00
Bojidar Marinov
c9340cdcc6 Add a python script to check the current doc status 2016-04-22 18:32:15 +03:00
Rémi Verschelde
0a5472e697 Remove trailing spaces 2016-04-02 20:26:12 +02:00
Rémi Verschelde
e5389288dd Add a warning header to each rst file
To tell potential contributors that they should direct their work to the XML template and not the auto-generated reST
2016-02-17 22:02:55 +01:00
Rémi Verschelde
9e4532d689 Implement support for [codeblock] tag in help
It allows to define a multiline space-indented code block that will be properly parsed by the reST converter for the online docs.
The in-editor help understand the [codeblock] tag as it supposedly understand [code] already (i.e. it just seems to discard it, though the code was supposed to switch it to a monospace font, but that's likely another issue.
2016-02-17 21:17:08 +01:00
Rémi Verschelde
0f11b322b3 Improve parsing of [method ...] tags
Also improve some code display.
2016-02-07 18:30:18 +01:00
Rémi Verschelde
1af65aff44 Fix badly formatted tags in XML
Also add parsing of [code] tags in RST converter
2016-02-07 17:19:12 +01:00
Juan Linietsky
b766e9c79b Display better inheritance info in doc 2016-02-07 13:05:16 -03:00
Rémi Verschelde
2fabb3e892 Small makerst improvements 2016-02-07 14:43:09 +01:00
Rémi Verschelde
47e5a5fd74 Enhance xml to rst converter
Fixes a number of issues:
- Headings underliners now have the correct length
- Newline+Tabs in descriptions are replaced by two newlines to make a proper paragraph
- [br] are replaced by two newlines, making a proper paragraph
- Properly parse internal hyperlinks in constants description
- Fix broken internal links due to missing newlines
- Show method header even when it has no description, to have something to reference in hyperlinks
2016-02-07 12:13:19 +01:00
Juan Linietsky
3ee4f4f19a -Added RST generator for class reference 2016-02-06 20:23:39 -03:00
George Marques
5be9ff7b67 Update copyright to 2016 in headers 2016-01-01 11:50:53 -02:00
Rémi Verschelde
410e418aea Add a Makefile to generate classes doc in various formats
All the generated documentation is put in doc/_build.
2015-12-13 00:01:04 +01:00
Rémi Verschelde
aeb5ea5934 Move documentation python tools to doc/tools folder 2015-12-12 23:30:45 +01:00