Module:quote/documentation

Introduction
This module provides the underlying implementation of  templates such as,  and. These templates themselves are implemented using template code which calls this module using. The module also implements a higher-level interface onto the  templates using  (documented below) to simplify writing work-specific quotation templates such as  and. It also provides the implementation of to simplify writing documentation for work-specific quotation templates.

This is an interface onto  templates such as. See for an example. If you write the code the way of this example, it automatically handles text, passage, footer, brackets and authorlink, and optionally page and pages. This means you don't have to propagate them explicitly. In general, any arguments given directly to are passed directly to the underlying   template (usually ), except for the control parameters given below. In addition, certain other arguments are automatically propagated from the outer template (e.g. the call to ) to the underyling template (e.g. ). Specifically:
 * The template control parameter specifies the name of the  template to call, defaulting to.
 * The textparam control parameter controls the propagation of the text and passage parameters and any synonyms. If not given, text and passage (preferring the former) are passed to the passage parameter of the underlying  template. If given, it should be a comma-separated list of parameters that are synonyms for text/passage; if neither of these is seen, the specified parameters are passed to the passage parameter of the underlying   template (processed from left to right if multiple synonyms are given). Specifying - disables propagation of text and passage.
 * The pageparam control parameter controls the propagation of the page and pages parameters and any synonyms. If not given, neither parameter is propagated. If given, page and any synonymous parameters specified by pageparam (a comma-separated list of parameters) are propagated to the page parameter of the underlying  template, and pages is propagated to the pages parameter of the underlying   template. If there are no synonyms for page, but the propagation behavior is still desired, just specify page.
 * The brackets parameter is automatically propagated.
 * The footer parameter is automatically propagated and surrounded by a call to.
 * If a value for author is given to, and no value for authorlink is given, and the value given for author does not have any links or HTML in it, it is propagated to the authorlink parameter of the underlying  template.
 * The propagateparams control parameter is a comma-separated list of any additional params to propagate to the underlying  template, so you don't have to manually propagate these parameters.
 * The allowparams control parameter lists the parameters that are allowed in the outer template (e.g. ), in addition to those mentioned above. It should be a comma-separated list of parameters. Parameters not listed and not handled specially will cause an error if given. This allows for parameter checking. If the value is, parameter checking is disabled.