other.Within the application development area, documentation generation is a task which, if done correctly, can boost the use of the application or library that has been created. With this, you can link to other markdown pages by referencing the labels for their pages/sections. Page and section labels for creating doxygen style references.Different format for fenced code blocks.There are a few doxygen extensions that go beyond regular markdown support, see the official document in the Markdown Extensions section. If you use git, mark generated files and folders so they don't get pushed to your repository, e.g. Point your browser at /path/to/my_catkin_package/doc/html/index.html to see the results. From the root of your catkin package, run.doc/other.md, this page will automatically be listed under doxygen's *Related Pages* tab. Switch to the root directory of an existing, or new catkin packageĬreate rosdoc.yaml if not already createdĬreate and fill in doc/mainpage.md, this will form the front page of your doxygen documentationĬreate another markdown file, e.g.If you use markdown a lot, it can be more convenient to create non-api pages of documentation for your package using markdown syntax instead of the regular doxygen syntax.ĭoxygen Markdown Support - official documentation For example, IMAGE_PATH is set to the root of the project.įor more information on customizing these settings, please see rosdoc_lite. You can " roscd rosdoc" and look at the templates/doxy.template to see the many of the default settings used with Doxygen. By default, this is:įILE_PATTERNS: *.c *.cpp *.h *.cc *.hh *.py *.dox The most important is FILE_PATTERNS: these are the files that Doxygen will look inside of for documentation. Rosdoc comes with default settings that generally work well with packages in ROS. Please use the \todo tag wherever applicable. This is better than using //TODO or //FIXME or whatever other comments you might normally use, because it makes the todo-ness externally visible. ** Make the value externally configurable */ĭoxygen collects these tags into a "related page," providing a nice reference for remaining work. */ĭoxygen provides a \todo tag, that can be used in any Doxygen-style comment block, e.g.: String* name /**< A variable that is the coolest. Int error_number /**< A variable that can be confused with the other variable. * \param junk This is a cool junk varible * This description is displayed lower in the doxygen as an extended description along with * \brief This description shows up at the top of the doxygen so you don't have to scroll. Here is an example geared toward a class that is likely compiled into a library: The \htmlinclude line inputs a nicely formatted version of the package's manifest.xml file.ĭoxygen's main strength is that you can include documentation inline with your code. NOTE: you have to use C++ comment syntax in this file, e.g., : Also, if you use the roscreate-pkg tool to create your package, a mainpage.dox will be generated for you. To make things easier, we have created a default template in the rosdoc package, which you can find at rosdoc/templates/. There should only be one mainpage tag in your package, so we usually recommend creating a top-level file, e.g. The first thing you'll probably want to do is use the \mainpage tag. You can use any Doxygen markup in your code. For actual documentation on how to use the Doxygen documentation tool, please see the official Doxygen site. NOTE: this page is not a comprehensive guide to Doxygen. For Python we generally use Epydoc or Sphinx. With ROS packages, we generally use Doxygen to document C++-based code. Instead, we recommend that you use the rosdoc_lite tool, which provides common templating and other features. You don't need to configure and run Doxygen manually in order to generate documentation for your ROS package. Doxygen searches for source code in your tree and generates API documentation for it. The main advantage of Doxygen is that you can write documentation directly within the comments of your source code. Doxygen is a tool for auto-generating API documentation, though you can also use it to generate documentation separate from an API.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |