/*********************************************************************************************** * Copyright: © 2017-2021 UI Manufaktur UG * License: Subject to the terms of the MIT license, as written in the included LICENSE.txt file. * Authors: UI Manufaktur Team * Documentation [DE]: https://ui-manufaktur.com/docu/uim-core/web/html ************************************************************************************************/ module uim.core.web.html; import uim.core; string htmlStartTag(string tag, bool close = false) { if (close) return "<"~tag~"/>"; return "<"~tag~">"; } string htmlStartTag(string tag, string[string] attributes, bool close = false) { if (attributes) { string[] atts; foreach(k, v; attributes) atts ~= `%s="%s"`.format(k, v); if (close) return "<"~tag~" "~atts.join(" ")~"/>"; return "<"~tag~" "~atts.join(" ")~">"; } return htmlStartTag(tag, close); } string htmlEndTag(string tag) { return "</"~tag~">"; } string htmlDoubleTag(string tag, string[] content...) { if (content) return htmlStartTag(tag) ~ content.join("") ~ htmlEndTag(tag); return htmlStartTag(tag, true); } string htmlDoubleTag(string tag, string[string] attributes, string[] content...) { if (content) return htmlStartTag(tag, attributes) ~ content.join("") ~ htmlEndTag(tag); return htmlStartTag(tag, attributes, true); } string htmlSingleTag(string tag) { return htmlStartTag(tag); } string htmlSingleTag(string tag, string[string] attributes) { return htmlStartTag(tag, attributes); }