Macros Plugin Environment¶
General List¶
All available variables and filters within the macros plugin:
| Variable | Type | Content | 
|---|---|---|
| extra | dict | unit [dict], config [dict], alternate = [{'name': 'English', 'link': '/', 'lang': 'en'}, {'name': 'Deutsch', 'link': '/de/', 'lang': 'de'}] | 
| config | dict | activesync = 'web.myexchange.rocks', autodiscover = 'autodiscover.myexchange.rocksv', documentation = 'https://documentation.kopano.cloud/', mail = 'mail.myexchange.rocks', manage = 'https://manage.myexchange.rocks', manageshort = 'manage.myexchange.rocks', name = 'Kopano Cloud', shop = 'https://kopano.com', webmail = 'https://web.myexchange.rocks', webmailname = 'Kopano WebApp', website = 'https://kopano.com' | 
| environment | dict | system = 'Linux', system_version = '5.15.154+', python_version = '3.11.13', mkdocs_version = '1.6.1', macros_plugin_version = '0.7.0', jinja2_version = '3.1.6' | 
| plugin | LegacyConfig | {'module_name': 'main', 'modules': [], 'include_dir': '', 'include_yaml': [], 'j2_block_start_string': '', 'j2_block_end_string': '', 'j2_variable_start_string': '', 'j2_variable_end_string': '', 'on_undefined': 'keep', 'on_error_fail': True, 'verbose': False} | 
| git | dict | status = True, date [datetime], short_commit = '6cc6d20', commit = '6cc6d20d9edcd7f53d0c762746e5a13fe4f11de4', tag = '', author = 'Felix Bartels', author_email = 'felix@9wd.eu', committer = 'Felix Bartels', committer_email = 'felix@9wd.eu', date_ISO = 'Fri Oct 10 16:47:58 2025 +0000', message = 'Update screenshots\n\nSigned-off-by: Felix Bartels | 
| unit | dict | price = 999.99, storage = '789GB', maillimit = 500 | 
| alternate | list | [{'name': 'English', 'link': '/', 'lang': 'en'}, {'name': 'Deutsch', 'link': '/de/', 'lang': 'de'}] | 
| macros | SuperDict | context [function], macros_info [function], now [function], fix_url [function] | 
| filters | dict | pretty [function] | 
| filters_builtin | dict | abs [builtin_function_or_method], attr [function], batch [function], capitalize [function], center [function], count [builtin_function_or_method], d [function], default [function], dictsort [function], e [function], escape [function], filesizeformat [function], first [function], float [function], forceescape [function], format [function], groupby [function], indent [function], int [function], join [function], last [function], length [builtin_function_or_method], list [function], lower [function], items [function], map [function], min [function], max [function], pprint [function], random [function], reject [function], rejectattr [function], replace [function], reverse [function], round [function], safe [function], select [function], selectattr [function], slice [function], sort [function], string [function], striptags [function], sum [function], title [function], trim [function], truncate [function], unique [function], upper [function], urlencode [function], urlize [function], wordcount [function], wordwrap [function], xmlattr [function], tojson [function] | 
| navigation | Navigation | |
| files | I18nFiles | |
| page | Page | Page(title='Info', url='/de/info/') | 
Config Information¶
Standard MkDocs configuration information. Do not try to modify.
e.g. {{ config.docs_dir }}
See also the MkDocs documentation on the config object.
| Variable | Type | Content | 
|---|---|---|
| activesync | str | 'web.myexchange.rocks' | 
| autodiscover | str | 'autodiscover.myexchange.rocksv' | 
| documentation | str | 'https://documentation.kopano.cloud/' | 
| str | 'mail.myexchange.rocks' | |
| manage | str | 'https://manage.myexchange.rocks' | 
| manageshort | str | 'manage.myexchange.rocks' | 
| name | str | 'Kopano Cloud' | 
| shop | str | 'https://kopano.com' | 
| webmail | str | 'https://web.myexchange.rocks' | 
| webmailname | str | 'Kopano WebApp' | 
| website | str | 'https://kopano.com' | 
Macros¶
These macros have been defined programmatically for this environment (module or pluglets).
| Variable | Type | Content | 
|---|---|---|
| context | function | (obj, e) Default mkdocs_macro List the defined variables | 
| macros_info | function | () Test/debug function: list useful documentation on the mkdocs_macro environment. | 
| now | function | () Get the current time (returns a datetime object).          Used alone, it provides a timestamp.         To get the year use  | 
| fix_url | function | (url, r) If url is relative, fix it so that it points to the docs diretory. This is necessary because relative links in markdown must be adapted in html ('img/foo.png' => '../img/img.png'). | 
Git Information¶
Information available on the last commit and the git repository containing the documentation project:
e.g. {{ git.message }}
| Variable | Type | Content | 
|---|---|---|
| status | bool | True | 
| date | datetime | datetime.datetime(2025, 10, 10, 16, 47, 58, tzinfo=tzlocal()) | 
| short_commit | str | '6cc6d20' | 
| commit | str | '6cc6d20d9edcd7f53d0c762746e5a13fe4f11de4' | 
| tag | str | '' | 
| author | str | 'Felix Bartels' | 
| author_email | str | 'felix@9wd.eu' | 
| committer | str | 'Felix Bartels' | 
| committer_email | str | 'felix@9wd.eu' | 
| date_ISO | str | 'Fri Oct 10 16:47:58 2025 +0000' | 
| message | str | 'Update screenshots\n\nSigned-off-by: Felix Bartels | 
| raw | str | 'commit 6cc6d20d9edcd7f53d0c762746e5a13fe4f11de4\nAuthor: Felix Bartels | 
| root_dir | str | '/builds/exchange4all/branding/documentation-kopanocloud' | 
Page Attributes¶
Provided by MkDocs. These attributes change for every page (the attributes shown are for this page).
e.g. {{ page.title }}
See also the MkDocs documentation on the page object.
| Variable | Type | Content | 
|---|---|---|
| file | File | src_uri = 'en/info.md', src_dir = '/builds/exchange4all/branding/documentation-kopanocloud/docs', dest_dir = 'en/info/index.html', use_directory_urls = True, dest_uri = 'de/info/index.html', inclusion [InclusionLevel], abs_dest_path = '/builds/exchange4all/branding/documentation-kopanocloud/public/de/info/index.html', name = 'info', url = 'de/info/', alternates [dict], locale = 'en', locale_alternate_of = 'de', localization = 'en', norm_src_uri = 'info.md', page [Page], abs_src_path = '/builds/exchange4all/branding/documentation-kopanocloud/docs/en/info.md' | 
| children | NoneType | None | 
| previous_page | NoneType | None | 
| next_page | NoneType | None | 
| _Page__active | bool | False | 
| update_date | str | '2025-10-10' | 
| canonical_url | str | 'https://documentation.kopano.cloud/de/info/' | 
| abs_url | str | '/de/info/' | 
| edit_url | NoneType | None | 
| markdown | str | '{{ macros_info() }}\n' | 
| _title_from_render | NoneType | None | 
| content | NoneType | None | 
| toc | list | [] | 
| meta | dict | 
To have all titles of all pages, use:
{% for page in navigation.pages %}
- {{ page.title }}
{% endfor %}
Plugin Filters¶
These filters are provided as a standard by the macros plugin.
| Variable | Type | Content | 
|---|---|---|
| pretty | function | (var_list, rows, header, e) Default mkdocs_macro Prettify a dictionary or object (used for environment documentation, or debugging). | 
Builtin Jinja2 Filters¶
These filters are provided by Jinja2 as a standard.
See also the Jinja2 documentation on builtin filters).
| Variable | Type | Content | 
|---|---|---|
| abs | builtin_function_or_method | Return the absolute value of the argument. | 
| attr | function | (environment, obj, name) Get an attribute of an object.  | 
| batch | function | (value, linecount, fill_with, tmp, item) A filter that batches items. It works pretty much like  | 
| capitalize | function | (s) Capitalize a value. The first character will be uppercase, all others lowercase. | 
| center | function | (value, width) Centers the value in a field of a given width. | 
| count | builtin_function_or_method | Return the number of items in a container. | 
| d | function | (value, default_value, boolean) If the value is undefined it will return the passed default value, otherwise the value of the variable. | 
| default | function | (value, default_value, boolean) If the value is undefined it will return the passed default value, otherwise the value of the variable. | 
| dictsort | function | (value, case_sensitive, by, reverse, sort_func) Sort a dict and yield (key, value) pairs. Python dicts may not be in the order you want to display them in, so sort them first. | 
| e | function | (s) Replace the characters  | 
| escape | function | (s) Replace the characters  | 
| filesizeformat | function | (value, binary, bytes, base, prefixes, i, prefix, unit) Format the value like a 'human-readable' file size (i.e. 13 kB,     4.1 MB, 102 Bytes, etc).  Per default decimal prefixes are used (Mega,     Giga, etc.), if the second parameter is set to  | 
| first | function | (args, kwargs, b) Return the first item of a sequence. | 
| float | function | (value, default) Convert the value into a floating point number. If the     conversion doesn't work it will return  | 
| forceescape | function | (value) Enforce HTML escaping. This will probably double escape variables. | 
| format | function | (value, args, kwargs) Apply the given values to a  | 
| groupby | function | (args, kwargs, b) Group a sequence of objects by an attribute using Python's     :func: | 
| indent | function | (s, width, first, blank, newline, rv, lines) Return a copy of the string with each line indented by 4 spaces. The first line and blank lines are not indented by default. | 
| int | function | (value, default, base) Convert the value into an integer. If the     conversion doesn't work it will return  | 
| join | function | (args, kwargs, b) Return a string which is the concatenation of the strings in the sequence. The separator between elements is an empty string per default, you can define it with the optional parameter. | 
| last | function | (environment, seq) Return the last item of a sequence. | 
| length | builtin_function_or_method | Return the number of items in a container. | 
| list | function | (args, kwargs, b) Convert the value into a list. If it was a string the returned list will be a list of characters. | 
| lower | function | (s) Convert a value to lowercase. | 
| items | function | (value) Return an iterator over the  | 
| map | function | (args, kwargs, b) Applies a filter on a sequence of objects or looks up an attribute. This is useful when dealing with lists of objects but you are really only interested in a certain value of it. | 
| min | function | (environment, value, case_sensitive, attribute) Return the smallest item from the sequence. | 
| max | function | (environment, value, case_sensitive, attribute) Return the largest item from the sequence. | 
| pprint | function | (value) Pretty print a variable. Useful for debugging. | 
| random | function | (context, seq) Return a random item from the sequence. | 
| reject | function | (args, kwargs, b) Filters a sequence of objects by applying a test to each object, and rejecting the objects with the test succeeding. | 
| rejectattr | function | (args, kwargs, b) Filters a sequence of objects by applying a test to the specified attribute of each object, and rejecting the objects with the test succeeding. | 
| replace | function | (eval_ctx, s, old, new, count) Return a copy of the value with all occurrences of a substring     replaced with a new one. The first argument is the substring     that should be replaced, the second is the replacement string.     If the optional third argument  | 
| reverse | function | (value, rv, e) Reverse the object or return an iterator that iterates over it the other way round. | 
| round | function | (value, precision, method, func) Round the number to a given precision. The first     parameter specifies the precision (default is  | 
| safe | function | (value) Mark the value as safe which means that in an environment with automatic escaping enabled this variable will not be escaped. | 
| select | function | (args, kwargs, b) Filters a sequence of objects by applying a test to each object, and only selecting the objects with the test succeeding. | 
| selectattr | function | (args, kwargs, b) Filters a sequence of objects by applying a test to the specified attribute of each object, and only selecting the objects with the test succeeding. | 
| slice | function | (args, kwargs, b) Slice an iterator and return a list of lists containing those items. Useful if you want to create a div containing three ul tags that represent columns. | 
| sort | function | (environment, value, reverse, case_sensitive, attribute, key_func) Sort an iterable using Python's :func: | 
| string | function | (s) Convert an object to a string if it isn't already. This preserves     a :class: | 
| striptags | function | (value) Strip SGML/XML tags and replace adjacent whitespace by one space. | 
| sum | function | (args, kwargs, b) Returns the sum of a sequence of numbers plus the value of parameter 'start' (which defaults to 0). When the sequence is empty it returns start. | 
| title | function | (s) Return a titlecased version of the value. I.e. words will start with uppercase letters, all remaining characters are lowercase. | 
| trim | function | (value, chars) Strip leading and trailing characters, by default whitespace. | 
| truncate | function | (env, s, length, killwords, end, leeway, result) Return a truncated copy of the string. The length is specified     with the first parameter which defaults to  | 
| unique | function | (args, kwargs, b) Returns a list of unique items from the given iterable. | 
| upper | function | (s) Convert a value to uppercase. | 
| urlencode | function | (value, items) Quote data for use in a URL path or query using UTF-8. | 
| urlize | function | (eval_ctx, value, trim_url_limit, nofollow, target, rel, extra_schemes, policies, rel_parts, scheme, rv) Convert URLs in text into clickable links. | 
| wordcount | function | (s) Count the words in that string. | 
| wordwrap | function | (environment, s, width, break_long_words, wrapstring, break_on_hyphens) Wrap a string to the given width. Existing newlines are treated as paragraphs to be wrapped separately. | 
| xmlattr | function | (eval_ctx, d, autospace, items, key, value, rv) Create an SGML/XML attribute string based on the items in a dict. | 
| tojson | function | (eval_ctx, value, indent, policies, dumps, kwargs) Serialize an object to a string of JSON, and mark it safe to render in HTML. This filter is only for use in HTML documents. |