Skip to content
Reece Dunham edited this page Feb 12, 2020 · 3 revisions

Note: This hasn't been updated since 2014, but remains as documentation for the original project goals.

This is a rough roadmap for the project, to serve as a guide of it's intended scope & audience...

  • MkDocs is written in Python but is not aimed as being a 'documentation tool for Python' - the target audience should be any designer, technical writer or developer.
  • We will keep a narrow scope to the project, and focus on simplicity, speed and polish.
  • Reference points for the style of docs we're aiming to optimise for - Prose based style. Single or multiple page docs. Examples: Bootstrap, Font Awesome, Django REST framework.
  • Reference points for the style of docs we're not aiming to optimise for - API based style. Massive projects with multiple languages and/or versions. Examples: jQuery API Guide, Python documentation
  • Customisation is supported only at the theme level - we won't document or support a programmatic API.
  • Themes use Jinja2 for templates. No other template engines will be supported.
  • Docs pages may be Markdown or HTML. No other markup formats will be supported.
  • Markdown files will support leading metadata, which will be passed as context to the theme. (Allows us to do nice stuff such as write custom themes that optionally include leading hero content if it has been specified in the Markdown meta data.)
  • Some page metadata will have particular MkDocs support, eg badges linking back to source files that relate to the docs, or overriding the title or meta description of a page.
  • The config will be passed as context to the theme. (Allows us to do nice stuff such as write themes that can have behaviour that's specified in the config, such as specifying a project logo in the config that then gets included by the theme.)
  • Markdown files will support admonition, fenced code blocks, and tables.
  • 2 or 3 built-in themes will be supported - MkDocs, ReadTheDocs, and possibly one other. The existing Bootswatch themes will be pushed into a separate repo as custom themes, although we will document them in the main docs describing how to install and use them.
  • Built in themes are supported via the theme setting. Custom themes are supported by the theme theme_dir setting. Partially overriding existing themes using block overrides is not supported - custom themes are always included in their entirety.
  • The following will be supported: Favicons, Sitemaps, 404 pages, Search, Manifest files, Robots.txt.
  • The following will not be handled in any automatic way by MkDocs:
    • Translations
    • Versioning
    • Documentation from code annotations
  • Ideally a future version of MkDocs should include Mac and Windows installers.