[%# This Source Code Form is subject to the terms of the Mozilla Public
  # License, v. 2.0. If a copy of the MPL was not distributed with this
  # file, You can obtain one at http://mozilla.org/MPL/2.0/.
  #
  # This Source Code Form is "Incompatible With Secondary Licenses", as
  # defined by the Mozilla Public License, v. 2.0.
  #%]

[%# INTERFACE:
  # name: string; the name of the extension.
  #%]

[% USE String('#') %]
[% name %]
[%+ String.repeat(name.length) %]

This is a sample Adminstrator documentation file for the [% name %] extension.
Like all of the Bugzilla docs, it's written in
`reStructured Text (reST) format <http://sphinx-doc.org/latest/rest.html>`_
and will be compiled by `Sphinx <http://sphinx-doc.org/>`_.

If you build the docs yourself using :file:`makedocs.pl`, this file will get
incorporated into the Installed Extensions chapter of the Administration Guide.
