Template:HideElements

Table of contents
No headers
var allowed_elements = { tags:"div.pageInfo", files:"div.file", images:"div.gallery", comments:"div#comments" };

var elements = $0 ?? $elements;
var byuser = $1 ?? $byuser ?? false;

var selectors = [];

if (elements != nil) {
    if (elements == "all")
        let selectors = map.values(allowed_elements);
    else if (elements is not list)
        <p> "ERROR: HidePageElements: first argument (ELEMENTS) must be a list of strings" </p>;
    else {
        var errors = [];
        foreach (var e in elements) {
            let e = string.tolower(e);
            if (e is not str || !list.contains(map.keys(allowed_elements), e))
                let errors ..= [ e ];
            else
                let selectors ..= [ allowed_elements[e] ];
        }
        if (#errors)
            <div>
                "ERROR: HidePageElements: bad elements: " .. string.serialize(errors) .. "; allowed elements are:";
                <ul> foreach (var ae in map.keys(allowed_elements)) <li> ae </li>; </ul>;
            </div>;
    }
}
if (#selectors && (!byuser || !wiki.pagepermissions().update))
    <style type="text/css"> string.join(selectors, ",").."{ display:none; }" </style>;
Tag page