Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

standardese - a WIP next-gen Doxygen

4,024 views

Published on

by Jonathan Müller

Published in: Technology
  • Be the first to comment

  • Be the first to like this

standardese - a WIP next-gen Doxygen

  1. 1. standardese - a WIP next-gen Doxygen Jonathan Müller @foonathan © Jonathan Müller - emBO++ - 2017-02-18 1
  2. 2. Designed for C++ correct and complete parsing using libclang support for advanced C++ features support for C++ idioms and techniques SFINAE parameters detail namespaces non-virtual interfaces … similar documentation style to the C++ standard © Jonathan Müller - emBO++ - 2017-02-18 2
  3. 3. Quick syntax overview /// A comment for the function `foo()`. /// /// You can use [Markdown](https://commonmark.org) /// for *formatting*. void foo(); /// , //! or /** documentation comments //< end of line comments Markdown support Smart entity matching © Jonathan Müller - emBO++ - 2017-02-18 3
  4. 4. Quick syntax overview /// This is the brief section. /// /// This is the details section. /// Continuing on paragraphs. /// /// effects This is a special section. /// Continues here. /// notes Another special section void foo(); Sections are the basic documentation building blocks. © Jonathan Müller - emBO++ - 2017-02-18 4
  5. 5. Quick syntax overview /// file /// Documentation for the current file. /// Documentation for the function. /// param foo Documentation for the first parameter. /// Still parameter. void func(int foo); void bar(); /// entity bar /// Documentation for the function `bar`. Remote/inline comments. © Jonathan Müller - emBO++ - 2017-02-18 5
  6. 6. Quick syntax overview /// See [bar]() for more information. /// Or see [std::vector](). void foo(); [unique-name]() [link text](standardese://unique-name/) © Jonathan Müller - emBO++ - 2017-02-18 6
  7. 7. Quick syntax overview module command - adds an entity to a module exclude command - hides stuff exclude target exclude return group command - one documentation for multiple entities unique_name command - override link name © Jonathan Müller - emBO++ - 2017-02-18 7
  8. 8. Demo © Jonathan Müller - emBO++ - 2017-02-18 8
  9. 9. Roadmap Concept support Bug xes, polishing Even crazier AST manipulation Improve output formats Want something else? File an issue. © Jonathan Müller - emBO++ - 2017-02-18 9
  10. 10. Thanks for listening! standardese: standardese.foonathan.net sample docs: type_safe.foonathan.net twitter: @foonathan © Jonathan Müller - emBO++ - 2017-02-18 10

×