site_name: Smarty Documentation
theme:
  name: material
  palette:
    primary: amber
  features:
    - content.code.copy
    - navigation.tabs
    - navigation.tabs.sticky
    - navigation.instant
    - navigation.tracking
  icon:
    logo: material/lightbulb-on
  favicon: img/favicon.ico

extra:
  version:
    provider: mike

markdown_extensions:
  - pymdownx.highlight:
      anchor_linenums: true
  - pymdownx.inlinehilite
  - pymdownx.snippets
  - pymdownx.superfences

nav:
  - Home: 'index.md'
  - 'Getting started':
    - Introduction: 'getting-started.md'
    - 'Upgrading from an older version': 'upgrading.md'
  - 'Language reference':
    - 'Basic Syntax':
        - Introduction: 'designers/language-basic-syntax/index.md'
        - Comments: 'designers/language-basic-syntax/language-syntax-comments.md'
        - Variables: 'designers/language-basic-syntax/language-syntax-variables.md'
        - Operators: 'designers/language-basic-syntax/language-syntax-operators.md'
        - Tags: 'designers/language-basic-syntax/language-syntax-tags.md'
        - Attributes: 'designers/language-basic-syntax/language-syntax-attributes.md'
        - Quotes: 'designers/language-basic-syntax/language-syntax-quotes.md'
        - 'Escaping Smarty parsing': 'designers/language-basic-syntax/language-escaping.md'
    - 'Variables':
        - 'Introduction': 'designers/language-variables/index.md'
        - 'Assigned from PHP': 'designers/language-variables/language-assigned-variables.md'
        - 'Variable scopes': 'designers/language-variables/language-variable-scopes.md'
        - 'From config files': 'designers/language-variables/language-config-variables.md'
        - '{$smarty}': 'designers/language-variables/language-variables-smarty.md'
    - 'Modifiers':
        - 'Introduction': 'designers/language-modifiers/index.md'
        - 'capitalize': 'designers/language-modifiers/language-modifier-capitalize.md'
        - 'cat': 'designers/language-modifiers/language-modifier-cat.md'
        - 'count': 'designers/language-modifiers/language-modifier-count.md'
        - 'count_characters': 'designers/language-modifiers/language-modifier-count-characters.md'
        - 'count_paragraphs': 'designers/language-modifiers/language-modifier-count-paragraphs.md'
        - 'count_sentences': 'designers/language-modifiers/language-modifier-count-sentences.md'
        - 'count_words': 'designers/language-modifiers/language-modifier-count-words.md'
        - 'date_format': 'designers/language-modifiers/language-modifier-date-format.md'
        - 'debug_print_var': 'designers/language-modifiers/language-modifier-debug-print-var.md'
        - 'default': 'designers/language-modifiers/language-modifier-default.md'
        - 'escape': 'designers/language-modifiers/language-modifier-escape.md'
        - 'from_charset': 'designers/language-modifiers/language-modifier-from-charset.md'
        - 'indent': 'designers/language-modifiers/language-modifier-indent.md'
        - 'is_array': 'designers/language-modifiers/language-modifier-is_array.md'
        - 'isset': 'designers/language-modifiers/language-modifier-isset.md'
        - 'join': 'designers/language-modifiers/language-modifier-join.md'
        - 'json_encode': 'designers/language-modifiers/language-modifier-json-encode.md'
        - 'lower': 'designers/language-modifiers/language-modifier-lower.md'
        - 'noprint': 'designers/language-modifiers/language-modifier-noprint.md'
        - 'number_format': 'designers/language-modifiers/language-modifier-number-format.md'
        - 'nl2br': 'designers/language-modifiers/language-modifier-nl2br.md'
        - 'raw': 'designers/language-modifiers/language-modifier-raw.md'
        - 'regex_replace': 'designers/language-modifiers/language-modifier-regex-replace.md'
        - 'replace': 'designers/language-modifiers/language-modifier-replace.md'
        - 'round': 'designers/language-modifiers/language-modifier-round.md'
        - 'spacify': 'designers/language-modifiers/language-modifier-spacify.md'
        - 'split': 'designers/language-modifiers/language-modifier-split.md'
        - 'str_repeat': 'designers/language-modifiers/language-modifier-str-repeat.md'
        - 'string_format': 'designers/language-modifiers/language-modifier-string-format.md'
        - 'strip': 'designers/language-modifiers/language-modifier-strip.md'
        - 'strip_tags': 'designers/language-modifiers/language-modifier-strip-tags.md'
        - 'strlen': 'designers/language-modifiers/language-modifier-strlen.md'
        - 'substr': 'designers/language-modifiers/language-modifier-substr.md'
        - 'to_charset': 'designers/language-modifiers/language-modifier-to-charset.md'
        - 'truncate': 'designers/language-modifiers/language-modifier-truncate.md'
        - 'unescape': 'designers/language-modifiers/language-modifier-unescape.md'
        - 'upper': 'designers/language-modifiers/language-modifier-upper.md'
        - 'wordwrap': 'designers/language-modifiers/language-modifier-wordwrap.md'
    - 'Builtin Tags':
        - 'Introduction': 'designers/language-builtin-functions/index.md'
        - '{append}': 'designers/language-builtin-functions/language-function-append.md'
        - '{assign}': 'designers/language-builtin-functions/language-function-assign.md'
        - '{block}': 'designers/language-builtin-functions/language-function-block.md'
        - '{call}': 'designers/language-builtin-functions/language-function-call.md'
        - '{capture}': 'designers/language-builtin-functions/language-function-capture.md'
        - '{config_load}': 'designers/language-builtin-functions/language-function-config-load.md'
        - '{debug}': 'designers/language-builtin-functions/language-function-debug.md'
        - '{extends}': 'designers/language-builtin-functions/language-function-extends.md'
        - '{for}': 'designers/language-builtin-functions/language-function-for.md'
        - '{foreach}': 'designers/language-builtin-functions/language-function-foreach.md'
        - '{function}': 'designers/language-builtin-functions/language-function-function.md'
        - '{if},{elseif},{else}': 'designers/language-builtin-functions/language-function-if.md'
        - '{include}': 'designers/language-builtin-functions/language-function-include.md'
        - '{insert}': 'designers/language-builtin-functions/language-function-insert.md'
        - '{ldelim},{rdelim}': 'designers/language-builtin-functions/language-function-ldelim.md'
        - '{literal}': 'designers/language-builtin-functions/language-function-literal.md'
        - '{nocache}': 'designers/language-builtin-functions/language-function-nocache.md'
        - '{section}': 'designers/language-builtin-functions/language-function-section.md'
        - '{setfilter}': 'designers/language-builtin-functions/language-function-setfilter.md'
        - '{strip}': 'designers/language-builtin-functions/language-function-strip.md'
        - '{while}': 'designers/language-builtin-functions/language-function-while.md'
    - 'Custom Tags':
        - 'Introduction': 'designers/language-custom-functions/index.md'
        - '{counter}': 'designers/language-custom-functions/language-function-counter.md'
        - '{cycle}': 'designers/language-custom-functions/language-function-cycle.md'
        - '{debug}': 'designers/language-custom-functions/language-function-debug.md'
        - '{eval}': 'designers/language-custom-functions/language-function-eval.md'
        - '{fetch}': 'designers/language-custom-functions/language-function-fetch.md'
        - '{html_checkboxes}': 'designers/language-custom-functions/language-function-html-checkboxes.md'
        - '{html_image}': 'designers/language-custom-functions/language-function-html-image.md'
        - '{html_options}': 'designers/language-custom-functions/language-function-html-options.md'
        - '{html_radios}': 'designers/language-custom-functions/language-function-html-radios.md'
        - '{html_select_date}': 'designers/language-custom-functions/language-function-html-select-date.md'
        - '{html_select_time}': 'designers/language-custom-functions/language-function-html-select-time.md'
        - '{html_table}': 'designers/language-custom-functions/language-function-html-table.md'
        - '{mailto}': 'designers/language-custom-functions/language-function-mailto.md'
        - '{math}': 'designers/language-custom-functions/language-function-math.md'
        - '{textformat}': 'designers/language-custom-functions/language-function-textformat.md'
    - 'designers/config-files.md'
    - 'designers/chapter-debugging-console.md'
  - 'API':
      - 'Basics': 'api/basics.md'
      - 'Configuring Smarty': 'api/configuring.md'
      - 'Rendering a template': 'api/rendering.md'
      - 'Using data in templates':
          - 'Assigning variables': 'api/variables/assigning.md'
          - 'Config files': 'api/variables/config-files.md'
          - 'Using streams': 'api/variables/streams.md'
          - 'Objects': 'api/variables/objects.md'
          - 'Static class methods': 'api/variables/static-class-methods.md'
      - 'Template inheritance': 'api/inheritance.md'
      - 'Filters':
          - 'Output filters': 'api/filters/output-filters.md'
          - 'Prefilters': 'api/filters/prefilters.md'
          - 'Postfilters': 'api/filters/postfilters.md'
      - 'Template resources': 'api/resources.md'
      - 'Caching':
        - 'Basics': 'api/caching/basics.md'
        - 'Multiple caches per template': 'api/caching/multiple-caches-per-template.md'
        - 'Custom cache storage layers': 'api/caching/custom-storage-layers.md'
      - 'Extending Smarty':
          - 'Introduction': 'api/extending/introduction.md'
          - 'Custom tags': 'api/extending/tags.md'
          - 'Custom block tags': 'api/extending/block-tags.md'
          - 'Custom modifiers': 'api/extending/modifiers.md'
          - 'Creating an extension': 'api/extending/extensions.md'
      - 'Security': 'api/security.md'

