Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Built in documentation and tutorials #90

Open
HungryProton opened this issue Jul 26, 2020 · 3 comments
Open

Built in documentation and tutorials #90

HungryProton opened this issue Jul 26, 2020 · 3 comments
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@HungryProton
Copy link
Member

For the upcoming standalone version, the documentation should be available from inside the software without having to look it up online.

@HungryProton HungryProton added documentation Improvements or additions to documentation enhancement New feature or request labels Jul 26, 2020
@HungryProton HungryProton added this to the 0.6 - Standalone release milestone Jul 26, 2020
@YusufSuleman
Copy link

There are 2 ways to do this.

  • HTML Renderer
  • Hand Convert It

The second one is easier but needs more maintenance. Most project would go with the first one.

HTML Renderer

I can't find one in Godot itself. But I found Godot Firebase. The Database needs to be moved there for this but it requires internet for the first time. I found another solution which has the same problem as above, it is Google Spreadsheet.
We have to make our own. We have to make a Browser. I am weak in GDScript and can't make a Browser.

Hand Convert It

It is the most possible method. Godot and Unreal Engine partially do this by having an Offline Help which is less helpful than the Online Docs.

@HungryProton
Copy link
Member Author

HungryProton commented Jan 25, 2021

I ended up using the easiest approach. There's a new panel you can toggle on and off with all the information you need for a specific node.

image

This has the benefit of always having the documentation ready without having to open a new window and look for a specific page, but the drawback is that I can't extract this to generate the HTML automatically for an online documentation. This could be solved if I didn't hard-code the documentation in the node script itself, but I haven't looked into it yet.

What I could do is to write the nodes' documentation in JSON files. That's easy and there's already a JSON parser in Godot. Then I assume it would be easy to parse these from an external app to generate the online docs automatically.

@kilon
Copy link

kilon commented May 20, 2021

A potential solution is also the usage of Sphinx, Sphinx is the official documentation tool for Python which could make it a potential good fit for GDScript, the advantages of Sphinx are numerous

  1. Sphinx is customizable so it can work for multiple languages . it has been already ported to many language and it is very well documented so porting even partially to GDScript should not be difficult. Please note that because Sphinx is already used to generate the Godot manual as talked here ( https://docs.godotengine.org/en/latest/community/contributing/building_the_manual.html) you may not even need to port it at all. Sphinx already supports a ton of languages. You could even make those tools available for your users to document their own nodes.

  2. Sphix output is numerous , common output formats are markdown, html and pdf that means not only you can have pdf manual , online documentation but even update github wiki from exactly the same documentation files with just one click away

  3. Sphinx is incredibly efficient not just for your typical documentation but also for code documentation which means you can have very good code documentation which will improve the chance of getting more contributors.

  4. Sphinx is probably the easiest powerful documentation system out there, this is because it uses a language called "ReStructuredText" . this language is very similar to markdown but more powerful and able to extend, its far easier than even JSON. It also plays well with HTML, Markdown and even Latex which is the most powerful by far documentation system out there. It allows you to embed them , giving you full control on how your documentation is structured and looks.

  5. Popular, it wont be exaggeration to called Sphinx "the most popular documentation system" its ease of use made it an ideal candidate from the smallest to biggest projects no matter the language used. Any problem or issues you have , finding answers to question is very easy. Readthedocs is a website which basically people upload sphixn documentation.

  6. Final but not least its fully automatable, Sphinx has its own plugin system make it easy to extend but also is completely driven from command line. You will find tons upon tons of themes, configuration options, plugin support and various utilities. CI support means you can rebuild your documentation automagically with every commit you make, ensuring your user get the very latest of the documentation in a very polished format.

What you are waiting for , buy NOW your own copy of Sphinx for only 300 euros and get one free !!! Hurry UP While the Stonk LASTS !!!!

No I am joking , Sphinx is free and very much open source ---> https://www.sphinx-doc.org/en/master/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants