Theme for the DDoc documentation generator
CSS JavaScript D
Latest commit f49a417 Jan 26, 2016 @JakobOvrum Merge pull request #35 from QAston/master
Fix sidemenu and view-source button for certain modules
Permalink
Failed to load latest commit information.
assets Update to Bootstrap v2.0.3 May 7, 2012
ddoc-icons
example
.gitignore
LICENSE.txt License under MIT and add Robik to readme Acknowledgements May 2, 2012
README.markdown Fix outdated links in readme Jan 5, 2014
bootdoc.css HTML/CSS fixes for Opera Nov 4, 2012
bootdoc.ddoc Add BUGREF and ISSUEREF macros, as well as ISSUETRACKER setting Nov 7, 2012
bootdoc.js Fix sidemenu and view-source button for modules which filesystem path… Jan 26, 2016
generate.d
modules.ddoc Initial commit Apr 30, 2012
settings.ddoc Add BUGREF and ISSUEREF macros, as well as ISSUETRACKER setting Nov 7, 2012

README.markdown

bootDoc

DDoc theme using Bootstrap for styling. bootDoc uses JavaScript to extend and improve DDoc's capabilities, such as by adding a module overview tree and by enabling fully qualified page anchors.

The theme is designed to work with any project by putting all project-specific information in separate configuration files.

Please post bugs, enhancement requests and questions on the Github issue tracker. Thanks!

Features

  • Easily configurable for any project, designed to work as a git-submodule.
  • Sidebar with a package explorer tree and a tree of the symbols in the current module.
  • Configurable titlebar, with a go-to-symbol form.
  • Fully qualified page anchor names; individual symbols can be linked without conflicting with similarly named symbols in the same module.
  • Neat styling using Bootstrap.

Demonstration

Phobos documentation using bootDoc can be found here. Additionally, the LuaD documentation uses bootDoc.

Usage with Github Pages

  • Create a gh-pages branch to host the generated documentation (instructions here).
    • For the purposes of this guide, we will assume this is an empty branch in its own repository in a subdirectory of the repository containing the source files. Since we're using a clean slate branch which still depends on the contents of the master branch (or whatever branch you want to generate documentation for), two separate repositories are required.
    • For example, if your project repository is in a directory myproj, we will assume your gh-pages repository is in myproj/gh-pages.
    • The working directory of the following commands is assumed to be this new directory (e.g. myproj/gh-pages).
  • Add bootDoc as a git-submodule to your gh-pages repository: git submodule add git://github.com/JakobOvrum/bootDoc.git bootDoc
  • Copy settings.ddoc and modules.ddoc from bootDoc to the current directory: cp bootDoc/settings.ddoc settings.ddoc; cp bootDoc/modules.ddoc modules.ddoc;
  • Edit settings.ddoc and modules.ddoc to match your project's profile (see below).
  • Run the generation tool, passing the root location of your sources: rdmd bootDoc/generate.d ...
    • The list of modules is read from modules.ddoc. For example, using the above command, if your modules.ddoc has one entry $(MODULE example.example), then example.example.html will be generated from ../example/example.d (aka myproj/example/example.d).
    • If you have an index file tracked on the gh-pages branch instead of among the sources, pass it to the generation tool using --extra=index.d. Any number of extra files can be passed this way.
  • Push your newly generated HTML files.
    • To update the documentation, run the generation tool again.

Usage in General

DDoc is configured using the files bootdoc.ddoc, settings.ddoc and modules.ddoc. The latter two are templates; copy them to your project directory before editing them. settings.ddoc contains general information about your project; its values are documented here. modules.ddoc contains a candyDoc-style list of all the modules in your project, and is documented here.

Pages are generated using the included tool generate.d. Run it without arguments to see an overview of how to use it.

License

bootDoc is licensed under the terms of the MIT license (see the LICENSE file for details).

Acknowledgements

Thanks to Robik for his work on cuteDoc, which inspired this project.