This is the documentation page for Модуль:unsubst

This module protects templates and modules from being wrongly substituted.

There are two ways to use this module:

Protecting all templates in a module

First, put the following at the top of a module which contains functions designed to be called by {{[[Template:#invoke:|#invoke:]]}}:

-- Prevent substitution.
if mw.isSubsting() then
	return require("Module:unsubst")
end

Second, edit each template which calls that module from:

{{[[Template:#invoke:...|#invoke:...]]|function|...}}

to:

{{[[Template:safesubst:<noinclude/>...</noinclude/>#invoke:...|safesubst:<noinclude/>...</noinclude/>#invoke:...]]|function|...}}

Note: this should only be used with modules that only return functions which are designed to be called by templates (not by other modules). If your module also returns functions (or other data) designed to be called by other modules, then the safest solution is to separate out the template functions into a separate module, usually in the format Module:.../templates (e.g. Module:links/templates). This is because unsubst prevents any functions or data in a module from being accessed during substitution, which will disrupt other modules which need to access your module while they are being substituted.

In templates

Template code can be wrapped as follows:

{{[[Template:safesubst:<noinclude/>...</noinclude/>#invoke:unsubst|safesubst:<noinclude/>...</noinclude/>#invoke:unsubst]]|me|=
...}}