treewide: HTML Cleanup
authorMustafa Can Elmacı <[email protected]>
Sun, 17 Nov 2024 12:52:45 +0000 (15:52 +0300)
committerPaul Donald <[email protected]>
Fri, 22 Nov 2024 21:39:46 +0000 (22:39 +0100)
* HTML Cleanup: Meta tags.
* Converted charset to shorthand.
* Removed meta tags with `Content-Script-Type` attribute. (Invalid in HTML5 spec.)

* HTML Cleanup: CSS tags.
* Removed `type` attribute with CSS files from link tags. (HTML5 spec recommends omitting it.)
* Removed `type` attribute from style tags. (Deprecated in HTML5 spec.)
https://html.spec.whatwg.org/#attr-link-type
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style

* HTML Cleanup: Convert from XHTML to HTML5
* Removed XML declaration.
* Removed XML namespace.
* Changed doctype to HTML5.

* HTML Cleanup: CDATA tags.
* CDATA sections should not be used within HTML they are considered as comments and not displayed.
https://developer.mozilla.org/en-US/docs/Web/API/CDATASection

* HTML Cleanup: Script tags.
* Removed `language` attribute from script tags. (No longer valid in HTML5)
* Removed `type` attribute with JavaScript MIME type from script tags. (HTML5 spec recommends omitting it.)
https://html.spec.whatwg.org/multipage/scripting.html#attr-script-type
https://mimesniff.spec.whatwg.org/#javascript-mime-type

Signed-off-by: Mustafa Can Elmacı <[email protected]>
54 files changed:
applications/luci-app-bmx7/root/usr/lib/lua/luci/view/admin_status/index/bmx7_nodes.htm
applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/nodes_j.htm
applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/status_j.htm
applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/topology.htm
applications/luci-app-bmx7/root/usr/lib/lua/luci/view/bmx7/tunnels_j.htm
applications/luci-app-commands/ucode/template/commands.ut
applications/luci-app-cshark/luasrc/view/cshark.htm
applications/luci-app-dockerman/luasrc/view/dockerman/apply_widget.htm
applications/luci-app-dockerman/luasrc/view/dockerman/container.htm
applications/luci-app-dockerman/luasrc/view/dockerman/container_console.htm
applications/luci-app-dockerman/luasrc/view/dockerman/container_file.htm
applications/luci-app-dockerman/luasrc/view/dockerman/container_stats.htm
applications/luci-app-dockerman/luasrc/view/dockerman/images_import.htm
applications/luci-app-dockerman/luasrc/view/dockerman/images_load.htm
applications/luci-app-dockerman/luasrc/view/dockerman/newcontainer_resolve.htm
applications/luci-app-ltqtapi/luasrc/view/telephony_status.htm
applications/luci-app-lxc/luasrc/view/lxc.htm
applications/luci-app-nft-qos/luasrc/view/nft-qos/rate.htm
applications/luci-app-ocserv/luasrc/view/ocserv_status.htm
applications/luci-app-olsr-viz/root/usr/libexec/rpcd/olsrvizinfo
applications/luci-app-olsr/htdocs/cgi-bin-status.html
applications/luci-app-openvpn/luasrc/view/openvpn/cbi-select-input-add.htm
applications/luci-app-openvpn/luasrc/view/openvpn/ovpn_css.htm
applications/luci-app-privoxy/luasrc/view/privoxy/detail_logview.htm
applications/luci-app-privoxy/luasrc/view/privoxy/detail_startstop.htm
applications/luci-app-radicale/luasrc/view/radicale/btn_startstop.htm
applications/luci-app-radicale/luasrc/view/radicale/tabmap_nsections.htm
applications/luci-app-radicale2/luasrc/view/cbi/raduigo.htm
applications/luci-app-splash/htdocs/luci/splash/index.html
applications/luci-app-splash/luasrc/view/admin_status/splash.htm
applications/luci-app-unbound/luasrc/view/unbound/css-editing.htm
docs/LuCI-0.10.md
docs/ThemesHowTo.md
libs/luci-lib-nixio/axTLS/www/index.html
modules/luci-base/root/www/index.html
modules/luci-base/ucode/template/error500.ut
modules/luci-base/ucode/template/footer.ut
modules/luci-base/ucode/template/header.ut
modules/luci-base/ucode/template/sysauth.ut
modules/luci-base/ucode/template/view.ut
modules/luci-compat/luasrc/view/cbi/delegator.htm
modules/luci-compat/luasrc/view/cbi/footer.htm
modules/luci-compat/luasrc/view/cbi/ipaddr.htm
modules/luci-compat/luasrc/view/cbi/simpleform.htm
modules/luci-compat/luasrc/view/cbi/wireless_modefreq.htm
modules/luci-mod-status/ucode/template/admin_status/index.ut
themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/footer.ut
themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/header.ut
themes/luci-theme-bootstrap/ucode/template/themes/bootstrap/sysauth.ut
themes/luci-theme-material/ucode/template/themes/material/footer.ut
themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/footer.ut
themes/luci-theme-openwrt-2020/ucode/template/themes/openwrt2020/header.ut
themes/luci-theme-openwrt/ucode/template/themes/openwrt.org/footer.ut
themes/luci-theme-openwrt/ucode/template/themes/openwrt.org/header.ut

index 32a3a965cef9dab11a4c7744c7733938755d4458..c8ddb2d8e8f6e46f8eb2d84d9cd03b6fe3f73b17 100644 (file)
@@ -18,8 +18,8 @@
 </div>
 </div>
 
-<script type="text/javascript" src="<%=resource%>/bmx7/js/polling.js"></script>
-<script type="text/javascript">//<![CDATA[
+<script src="<%=resource%>/bmx7/js/polling.js"></script>
+<script>
                new TablePooler(10,"/cgi-bin/bmx7-info", {'originators':''}, "nodes_div", function(st){
                        var originators = st.originators;
                        var res = Array();
@@ -37,4 +37,4 @@
                  });
                  return res;
                });
-//]]></script>
+</script>
index 16522b962c9d2a34b234549abe4a6a57ed87d58b..bbbeb52c0e63557476b4a38920290706e139b0bc 100644 (file)
@@ -22,8 +22,8 @@
 -%>
 
 <%+header%>
-<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
-<script type="text/javascript" src="<%=resource%>/bmx7/js/polling.js"></script>
+<script src="<%=resource%>/cbi.js"></script>
+<script src="<%=resource%>/bmx7/js/polling.js"></script>
 
 
 <style>
@@ -88,7 +88,7 @@
 
 </div>
 
-<script type="text/javascript">//<![CDATA[
+<script>
                var displayExtraInfo = function ( id ) {
                        document.getElementById('extra-info').innerHTML = document.getElementById(id).innerHTML;
                }
                  });
                  return res;
                });
-//]]></script>
+</script>
 
 <%+footer%>
index a3249a2b14526037bb392833aab983754be29924..bfabf1ea501446a76847fc1f4cc50c124eeca2a5 100644 (file)
@@ -1,6 +1,6 @@
 <%+header%>
-<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
-<script type="text/javascript" src="<%=resource%>/bmx7/js/polling.js"></script>
+<script src="<%=resource%>/cbi.js"></script>
+<script src="<%=resource%>/bmx7/js/polling.js"></script>
 
 <div class="cbi-map">
        <center>
@@ -87,7 +87,7 @@
 
 </div>
 
-<script type="text/javascript">//<![CDATA[
+<script>
        new TablePooler(10,"/cgi-bin/bmx7-info", {'info':''}, "config_div", function(st){
                var res = Array();
                var sta = st.info[0].status;
                return res;
        });
 
-//]]></script>
+</script>
 
 <%+footer%>
index 4a688bde61e31f385fe8035f01bdc9f44edf977b..1f09cc4ac14ef49c0799f30f77f73de2737cda95 100644 (file)
@@ -1,9 +1,9 @@
 <%+header%>
 <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.12/d3.min.js" integrity="sha512-uy3foVtL4u0+5430l7zZt4PHjVtICfrbu3mtzdanR425sKD7kS5264djeZAzNIV0l4vc1QkFpW2+G5i5KoJIFQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
-<script type="text/javascript" src="<%=resource%>/bmx7/js/netjsongraph.js"></script>
+<script src="<%=resource%>/bmx7/js/netjsongraph.js"></script>
 
 <link href="<%=resource%>/bmx7/css/netjsongraph.css" rel="stylesheet">
-    <style type="text/css">
+<style>
         body {
             font-family: Arial, sans-serif;
             font-size: 13px;
index 0b9662df8ca354aec423b249ccac3822e0551b90..9b99cdd32523ba9ab376e051d322af49098cbda2 100644 (file)
@@ -22,8 +22,8 @@
 
 
 <%+header%>
-<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
-<script type="text/javascript" src="<%=resource%>/bmx7/js/polling.js"></script>
+<script src="<%=resource%>/cbi.js"></script>
+<script src="<%=resource%>/bmx7/js/polling.js"></script>
 
 <div class="cbi-map">
 <h2>Gateway announcements</h2>
@@ -50,7 +50,7 @@
 
 </div>
 
-<script type="text/javascript">//<![CDATA[
+<script>
                new TablePooler(5,"/cgi-bin/bmx7-info", {'tunnels':''}, "tunnels_div", function(st){
         var tunicon = "<%=resource%>/icons/tunnel.png";
         var tunicon_dis = "<%=resource%>/icons/tunnel_disabled.png";
@@ -71,6 +71,6 @@
           }
                  return res;
                });
-//]]></script>
+</script>
 
 <%+footer%>
index 18e3a9dfdaa3a1b8feb95d2831decb93a97921ee..4e831504dff49d8eaa2126ee586a812acc986eb5 100644 (file)
@@ -28,7 +28,7 @@
        ` });
 -%}
 
-<script type="text/javascript">//<![CDATA[
+<script>
        function command_run(ev, id)
        {
                var field = document.getElementById(id);
                ev.preventDefault();
        }
 
-//]]></script>
+</script>
 
 {%
        const commands = [];
index b71c7fb6ce99a25518f7b0d1ea871ef4e95bcd44..a90c75b074d04b4e8f542d046a075ca2258abb68 100644 (file)
@@ -82,7 +82,7 @@ $Id$
 
 <hr/>
 
-<script type="text/javascript">//<![CDATA[
+<script>
 
        var capture_running = 0;
        var pid_file = 0;
@@ -287,4 +287,4 @@ $Id$
 
        check_status();
        link_list_update();
-//]]></script>
+</script>
index 59a3da9db2069418e453e9ae14dca191577d1831..e0aa3aae8fa88ad3c6a93b95f26f936abb91e743 100644 (file)
@@ -1,4 +1,4 @@
-<style type="text/css">
+<style>
        #docker_apply_overlay {
                position: absolute;
                top: 0;
@@ -42,7 +42,7 @@
        }
 </style>
 
-<script type="text/javascript">//<![CDATA[
+<script>
        var xhr = new XHR(),
        uci_apply_rollback = <%=math.max(luci.config and luci.config.apply and luci.config.apply.rollback or 90, 90)%>,
        uci_apply_holdoff = <%=math.max(luci.config and luci.config.apply and luci.config.apply.holdoff or 4, 1)%>,
                });
        }
 
-//]]></script>
+</script>
index 3684b64473901a5b87c5210dd69e041825e3d83d..f9b2f4344aabf7688feab7ed14c9461b1ab79466 100644 (file)
@@ -9,7 +9,7 @@
        <li id="cbi-tab-container_logs"><a id="a-cbi-tab-container_logs" href=""><%:Logs%></a></li>
 </ul>
 
-<script type="text/javascript">
+<script>
        let re = /\/admin\/docker\/container\//
        let p = window.location.href
        let path = p.split(re)
index 7f626b3dc837c43c1d6554331238b402bc09d8b4..030acf74d185904c7c5fe5015e13d9150bf5f03d 100644 (file)
@@ -1,6 +1,6 @@
 <div class="cbi-map">
        <iframe id="terminal" style="width: 100%; min-height: 500px; border: none; border-radius: 3px;"></iframe>
 </div>
-<script type="text/javascript">
+<script>
        document.getElementById("terminal").src = "http://" + window.location.hostname + ":7682";
 </script>
index 46d4278cf7b91a8111f116514373af8a5fa04dd2..53f2c84f66d6153d592d314a5dd8685fa2386a4d 100644 (file)
@@ -15,7 +15,7 @@
        </div>
 </div>
 
-<script type="text/javascript">
+<script>
        let btnUpload = document.getElementById('upload')
        btnUpload.onclick = function (e) {
                let uploadArchive = document.getElementById('upload_archive')
index bbcd633e7d18445d5a46166f982fd69ac897b6cb..28eaadab44a6f03fdb8161a243589e861d6774ad 100644 (file)
@@ -1,4 +1,4 @@
-<script type="text/javascript">//<![CDATA[
+<script>
        let last_bw_tx
        let last_bw_rx
        let interval = 3
@@ -78,4 +78,4 @@
                        }
 
                });
-//]]></script>
+</script>
index b87759d00ff223ec258f9f95496233e4acb46ff8..8c27eadb69ef4893a620d166f9ff2063dc81beaf 100644 (file)
@@ -5,7 +5,7 @@
        <input type="file" id="file_import" style="visibility:hidden; position: absolute;top: 0px; left: 0px;" />
 </div>
 
-<script type="text/javascript">
+<script>
        let btnImport = document.getElementById('btnimport')
        let valISrc = document.getElementById('isrc')
        let valITag = document.getElementById('itag')
index 9a90a90f033c2026bba1a2a262cdd1cc67fd80d9..1beb784cdaeb29789154bed316682002fde7b176 100644 (file)
@@ -2,7 +2,7 @@
        <input type="button"" class="btn cbi-button cbi-button-add" id="btnload" name="load" value="<%:Load%>" />
        <input type="file" id="file_load" style="visibility:hidden; position: absolute;top: 0px; left: 0px;" accept="application/x-tar" />
 </div>
-<script type="text/javascript">
+<script>
        let btnLoad = document.getElementById('btnload')
        btnLoad.onclick = function (e) {
                document.getElementById("file_load").click()
index c5966835fe9d63d0f4f930f7e0ba4c632a65e815..abf9442e79b3b3bc35beb1cf34c6a6c796d677ad 100644 (file)
@@ -1,4 +1,4 @@
-<style type="text/css">
+<style>
        #dialog_reslov {
                position: absolute;
                top: 0;
@@ -50,7 +50,7 @@
        }
 </style>
 
-<script type="text/javascript">
+<script>
        function close_reslov_dialog() {
                document.body.classList.remove('dialog-reslov-active')
                document.documentElement.style.overflowY = 'scroll'
index 6e7c082bb063fa0a6f506fa61d1fd957f5e3f17e..645d5c3ca0b980210621476b6b503de874c8271d 100644 (file)
@@ -1,4 +1,4 @@
-<script type="text/javascript">//<![CDATA[
+<script>
 XHR.poll(-1, '<%=url('admin/telephony/status')%>', null,
        function(x, st)
        {
@@ -14,7 +14,7 @@ XHR.poll(-1, '<%=url('admin/telephony/status')%>', null,
                }
        }
 );
-//]]></script>
+</script>
 
 <fieldset class="cbi-section">
        <legend><%:Current Telephony State%></legend>
index 55cb23fbd69dac9b19014d3c9cff9f85075a5e79..69025ad6d3927ee5ea8a293861c7ec64dca17313 100644 (file)
@@ -64,8 +64,7 @@ local target = nx.uname().machine
 
 <hr />
 
-<script type="text/javascript">
-//<![CDATA[
+<script>
        window.img    = { "red" : "<%=resource%>/cbi/red.gif", "green" : "<%=resource%>/cbi/green.gif", "purple" : "<%=resource%>/cbi/purple.gif" };
        window.states = { "STOPPED" : "red", "RUNNING" : "green", "FROZEN" : "purple" };
 
@@ -502,5 +501,4 @@ local target = nx.uname().machine
        })
 
        lxc_list_update();
-//]]>
 </script>
index 5f9cb57d205ff61081e0faf86f70c405d526369e..8874e37ca173e68e859fc26ec814f14d14396000 100644 (file)
@@ -5,7 +5,7 @@
 
 <%+header%>
 
-<script type="text/javascript">//<![CDATA[
+<script>
        var bwxhr = new XHR();
 
        var RC = { };
                        }
                }, 1000
        );
-//]]></script>
+</script>
 
 <h2 name="content"><%:Realtime Rate%></h2>
 
index d00084a0bc45b0b38aed6c837fda5783159b6464..b6212ec2c1f40792d27b452bffc582d373496539 100644 (file)
@@ -1,4 +1,4 @@
-<script type="text/javascript">//<![CDATA[
+<script>
 
        function ocserv_disconnect(idx) {
                (new XHR()).post('<%=url('admin/vpn/ocserv/disconnect')%>/' + idx, { token: '<%=token%>' },
@@ -42,7 +42,7 @@
                        }
                }
        );
-//]]></script>
+</script>
 
 <fieldset class="cbi-section">
        <legend><%:Active OpenConnect Users%></legend>
index 27c1f67af3d901535ca3a2d63313c37456bbaabb..88ee5a85b46899601218c2e1b6043b8c5baee1ea 100644 (file)
@@ -14,7 +14,7 @@ call)
 
                jsonreq4=$(
                        cat <<EOF
-<script language='JavaScript1.2' type='text/javascript'>
+<script>
 EOF
 
                        # sed + txtinfo plugin
index 0270f4a66b30ec05960182c45b7242d3a6e91a44..c6061b4334ae1584597169c906488230262d1810 100644 (file)
@@ -1,6 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
 <head>
 <meta http-equiv="refresh" content="0; URL=/cgi-bin/luci/freifunk/olsr/neighbors" />
 </head>
index 60f9e8e288a698382f727e21a882e8e5ea3afe33..1753d2f69750c697f5f09f432bff79976a215717 100644 (file)
@@ -1,6 +1,5 @@
 
-<script type="text/javascript">
-//<![CDATA[
+<script>
        function vpn_add()
        {
                var vpn_name     = div_add.querySelector("#instance_name1").value.replace(/[^\x00-\x7F]|[\s\.!@#$%^&*()\-+=\[\]{};':"\\|,<>\/?]/g,'');
@@ -68,7 +67,6 @@
                        setTimeout(function(){ output.innerHTML=""}, timeout);
                }
        }
-//]]>
 </script>
 
 <%+openvpn/ovpn_css%>
index 55c0a543fc09e8ac4125404cf78613c8820c1554..114fb877946ec429ebb3d10e5eccac2cbaf8a0ed 100644 (file)
@@ -1,4 +1,4 @@
-<style type="text/css">
+<style>
        h4
        {
                white-space: nowrap;
index ab0019bdd4f62f8197858892a8857bf8e855ec17..cfe32922f2d755e155326b733dbfca2ac531c9c1 100644 (file)
@@ -1,6 +1,6 @@
 
 <!-- ++ BEGIN ++ Privoxy ++ detail_logview.htm ++ -->
-<script type="text/javascript">//<![CDATA[
+<script>
        function onclick_logview(section, bottom)  {
                // get elements
                var txt = document.getElementById("cbid.privoxy.privoxy._logview.txt"); // TextArea
@@ -18,7 +18,7 @@
                                        txt.scrollTop = 0;                      }
                );
        }
-//]]></script>
+</script>
 
 <%+cbi/valueheader%>
 
index 12df6fbab3b0ac1d1347585e3ea3b7a1ce2a9ca3..459056e134bdc16b5f78ef9e8a55862604938ae6 100644 (file)
@@ -1,6 +1,6 @@
 
 <!-- ++ BEGIN ++ Privoxy ++ detail_startstop.htm ++ -->
-<script type="text/javascript">//<![CDATA[
+<script>
 
        // show XHR.poll/XHR.get response on button
        function _data2elements(x) {
@@ -30,7 +30,7 @@
                function(x, data) { _data2elements(x); }
        );
 
-//]]></script>
+</script>
 
 <%+cbi/valueheader%>
 
index 48c2a842521169c628bf83d809ee003f194b7819..3a472401d60c81e12476783f56ef1c19f3d6e674 100644 (file)
@@ -1,6 +1,6 @@
 
 <!-- ++ BEGIN ++ Radicale ++ btn_startstop.htm ++ -->
-<script type="text/javascript">//<![CDATA[
+<script>
 
        // show XHR.poll/XHR.get response on button
        function _data2elements(x) {
@@ -30,7 +30,7 @@
                function(x, data) { _data2elements(x); }
        );
 
-//]]></script>
+</script>
 
 <%+cbi/valueheader%>
 
index 1ad8f0061ea88b8793408718c46671f49e47ce56..bf8f1fafa820c7824bb1190d1bb42ebaafc32d5a 100644 (file)
@@ -13,7 +13,7 @@
                <%+cbi/apply_widget%>
                <% cbi_apply_widget() %>
                <div class="alert-message" id="cbi_apply_status" style="display:none"></div>
-               <script type="text/javascript">
+               <script>
                        document.addEventListener("DOMContentLoaded", function() {
                                <% if confirmmap then -%>
                                        uci_confirm(true, Date.now() + <%=confirmmap%> * 1000);
index 1bcf388bd62090359b40a217d993bb19e145a3cc..e4ceb7105c1903b178a8cef5871bd601edceae4b 100644 (file)
@@ -13,7 +13,7 @@ end
                http_port = "5232"
        end
 %>
-<script type="text/javascript">
+<script>
 <%
 if usessl then
 %>
index 486409a2ef293db9ab3f0fafe5b3d1b41cefe4b2..c25b13832adf8c0785100bd8a65429bd6f858e6c 100644 (file)
@@ -1,6 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
 <head>
 <meta http-equiv="refresh" content="0; URL=/cgi-bin/luci/splash" />
 </head>
index cbb7f235fa8882527ba964ce763fcebf4234dc4a..5c21aa03db1c40fa9b16f6d8840f79894792baaa 100644 (file)
@@ -134,7 +134,7 @@ end
 
 <%+header%>
 
-<script type="text/javascript">//<![CDATA[
+<script>
 
        XHR.poll(10 , '<%=REQUEST_URI%>', { status: 1 },
                function(x, info)
@@ -190,7 +190,7 @@ end
                        }
                }
        );
-//]]></script>
+</script>
 
 
 <div id="cbi-splash-leases" class="cbi-map">
index 44d09378c351fbd5f159ab003a7cbf0f316dd3cd..3ae75d1b39c1701580e99ab9e4518ae3b7113d59 100644 (file)
@@ -1,4 +1,4 @@
-<style type="text/css">
+<style>
   textarea
   {
     background-color: #fffff0;
index 69a5f33d5bcf8110ac98aaaa4425ac54978f3dcd..d39122c87835a99334c6a0d8f51ac902cbb6ff82 100644 (file)
@@ -192,5 +192,5 @@ Each theme must include this file in the `<head>` area of the document for forms
 It should be included like this:
 
 ```html
-<script type="text/javascript" src="<%=resource%>/xhr.js"></script>
+<script src="<%=resource%>/xhr.js"></script>
 ```
index 62a11b17457427e869ca2917c3bd40ba98258306..33d8426d33842b2910fa37de94f602db55549b55 100644 (file)
@@ -53,7 +53,7 @@ Put any stylesheets, Javascripts, images, ... into `htdocs/luci-static/mytheme`.
 Refer to this directory in your header and footer templates as: `<%=media%>`.
 That means for a stylesheet `htdocs/luci-static/mytheme/cascade.css` you would write:
 ```html
-<link rel="stylesheet" type="text/css" href="<%=media%>/cascade.css" />
+<link rel="stylesheet" href="<%=media%>/cascade.css" />
 ```
 
 ## Making the theme selectable
index 9896cd8a5466a79abdd314dd36270d018633b57a..deac5a6d78cb5d2090b2e5200b1d79f48589ba88 100755 (executable)
@@ -1,10 +1,8 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<!DOCTYPE html>
+<html lang="en">
 <head>
-<script type="text/javascript">
-//<![CDATA[
+<script>
 var version = {major: 2, minor: 1, revision: 3, date: new Date("Nov 3, 2006"), extensions: {}};
-//]]>
 </script>
 <!--
 TiddlyWiki 2.1.3 by Jeremy Ruston, (jeremy [at] osmosoft [dot] com)
@@ -36,15 +34,14 @@ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
 ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 DAMAGE.
 -->
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
+<meta charset="utf-8"/>
 <!--PRE-HEAD-START-->
 <!--{{{-->
 <link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml'/>
 <!--}}}-->
 <!--PRE-HEAD-END-->
 <title> axTLS Embedded SSL - changes, notes and errata </title>
-<script type="text/javascript">
-//<![CDATA[
+<script>
 // ---------------------------------------------------------------------------------
 // Configuration repository
 // ---------------------------------------------------------------------------------
@@ -7013,9 +7010,8 @@ merge(config.shadowTiddlers,{SiteSubtitle:"a theme for ~TiddlyWiki"});
 merge(config.shadowTiddlers,{DefaultTiddlers:"LorumIpsum"});
 merge(config.shadowTiddlers,{LorumIpsum:"Aenean eros arcu, condimentum nec, dapibus ut, tincidunt sit amet, urna. Quisque viverra, eros sed imperdiet iaculis, est risus facilisis quam, id malesuada arcu nulla luctus urna. Nullam et est. Vestibulum velit sem, faucibus cursus, dapibus vestibulum, pellentesque et, urna. Donec luctus. Donec lectus. Aliquam eget eros facilisis tortor feugiat sollicitudin. Integer lobortis vulputate sapien. Sed iaculis erat ac nunc. Etiam eu enim. Mauris ipsum urna, rhoncus at, bibendum sit amet, euismod eget, dolor. Mauris fermentum quam vitae ligula. Vestibulum in libero feugiat justo dictum consectetuer. Vestibulum euismod purus eget elit. Nunc sed massa porta elit bibendum posuere. Nunc pulvinar justo sit amet odio. In sed est. Phasellus ornare elementum nulla. Nulla ipsum neque, cursus a, viverra a, imperdiet at, enim. Quisque facilisis, diam sed accumsan suscipit, odio arcu hendrerit dolor, quis aliquet massa nulla nec sem.\n!heading 1\n!!heading 2\n!!!heading3\n----\n<<tag button>>\nThis is a link to a [[StyleSheet]] tiddler.\n\n> This is a blockquote\n> This is a blockquote\n> This is a blockquote\n|>|>| !This is a header |h\n|column1|column2|column3|\n|row2| row2 |row2|\n|column1|column2|column3|\n|row2| row2 |row2|\n|column1|column2|column3|\n|row2| row2 |row2|"});
 // ---------------------------------------------------------------------------------
-//]]>
 </script>
-<style type="text/css">
+<style>
 
 #saveTest {
        display: none;
@@ -7069,11 +7065,9 @@ merge(config.shadowTiddlers,{LorumIpsum:"Aenean eros arcu, condimentum nec, dapi
 <!--PRE-BODY-START-->
 
 <!--PRE-BODY-END-->
-       <script type="text/javascript">
-//<![CDATA[
+       <script>
 if (useJavaSaver)
        document.write("<applet style='position:absolute;left:-1px' name='TiddlySaver' code='TiddlySaver.class' archive='TiddlySaver.jar' width='1' height='1'></applet>");
-//]]>
        </script>
        <div id="copyright">
        Welcome to TiddlyWiki by Jeremy Ruston, Copyright &copy; 2006 Osmosoft Limited
index 398e6e763c850256deeec2d83fa71002e7b0c3cd..625aebcc4fcc81b65b16e11c210b8d1398a1383c 100644 (file)
@@ -1,13 +1,12 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!DOCTYPE html>
+<html>
        <head>
                <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
                <meta http-equiv="Pragma" content="no-cache" />
                <meta http-equiv="Expires" content="0" />
                <meta http-equiv="Expires" content="Thu, 01 Jan 1970 00:00:00 GMT" />
                <meta http-equiv="refresh" content="0; URL=cgi-bin/luci/" />
-               <style type="text/css">
+               <style>
                        body { background: white; font-family: arial, helvetica, sans-serif; }
                        a { color: black; }
 
index 39a0eec678294456ecdcc3ff1a63f0f98fce7b4e..e0d4d48ab741cb5fd9416de17ef9030a7a757bc1 100644 (file)
@@ -4,7 +4,7 @@
 -#}
 
 <!--]]>--><!--'>--><!--">-->
-<style type="text/css">
+<style>
        body {
                line-height: 1.5;
                font-size: 14px;
index d0978594f8f851818d5eefe7eda9dab95745a644..0ab06ae0b9380b12c6351061b089a397a14ff0d7 100644 (file)
@@ -5,7 +5,7 @@
 
 {% const rollback = dispatcher.rollback_pending() %}
 {% if (rollback || trigger_apply || trigger_revert): %}
-       <script type="text/javascript">
+       <script>
                document.addEventListener("luci-loaded", function() {
                        {% if (trigger_apply): %}
                                L.ui.changes.apply(true);
@@ -19,7 +19,7 @@
 {% endif %}
 
 {% if (media_error): %}
-       <script type="text/javascript">
+       <script>
                L.require('ui').then(function(ui) {
                        ui.showIndicator('media_error', _('Theme fallback'), function(ev) {
                                ui.showModal(_('Error loading theme'), [
index 7dc3742a9df8b1848b1879a1a473f8d5a1049abb..81cb411ddaaa624dee11af0029557b175ba14be2 100644 (file)
@@ -7,9 +7,9 @@
        include(`themes/${theme}/header`);
 -%}
 
-<script type="text/javascript" src="{{ resource }}/promis.min.js"></script>
-<script type="text/javascript" src="{{ resource }}/luci.js"></script>
-<script type="text/javascript">
+<script src="{{ resource }}/promis.min.js"></script>
+<script src="{{ resource }}/luci.js"></script>
+<script>
        L = new LuCI({{ replace(`${ {
                media          : media,
                resource       : resource,
index 3c580949bb83f2cdaf1195b34c873ba86260c5b4..7fe6e9d57d25862ca4e978b67cc0b22a9b27a9fb 100644 (file)
@@ -52,7 +52,7 @@
        ));
 %}
 
-<script type="text/javascript">//<![CDATA[
+<script>
        var input = document.getElementsByName('luci_password')[0];
 
        if (input)
@@ -69,6 +69,6 @@
                        setTimeout(function() { img.src = '' }, 5000);
                });
        }
-//]]></script>
+</script>
 
 {% include('footer') %}
index 11ac82429021cf8e219bd86ec439a623f75dc4ea..a8562844baf7d155c8cd682939f26e67a2a208ac 100644 (file)
@@ -2,7 +2,7 @@
 
 <div id="view">
        <div class="spinning">{{ _('Loading view…') }}</div>
-       <script type="text/javascript">
+       <script>
                L.require('ui').then(function(ui) {
                        ui.instantiateView('{{ view }}');
                });
index 2606e7f6d7292fd750fbe46fd45e4889ddc41dfe..0eb8f291fc08250e19c5f025895d2b9b6d6e712a 100644 (file)
@@ -20,5 +20,5 @@
                <input class="btn cbi-button cbi-button-back" type="submit" name="cbi.delg.back" value="<%:« Back%>" />
 <% end %>
 <% end %>
-               <script type="text/javascript">cbi_d_update();</script>
+               <script>cbi_d_update();</script>
        </div>
index c72102340f550a994763e95fa69f47a254479b1c..3dc5c9a0ad829201bcde133a7c257062958d9127 100644 (file)
@@ -36,6 +36,6 @@
 
 </form>
 
-<script type="text/javascript">cbi_init();</script>
+<script>cbi_init();</script>
 
 <%+footer%>
index d34d8d9865909ade6af45fe4ac4aac180698fe95..b861e19e9b63ad92ed437fdeb238dfccf18efe7d 100644 (file)
@@ -1,5 +1,5 @@
 <%+cbi/valueheader%>
-       <script type="text/javascript">
+       <script>
                function switchToCIDRList(ev) {
                        var input = ev.target.previousElementSibling,
                            usecidr = document.getElementById(input.id + '_usecidr');
index 9e1514546e6ab11d7f783c79285efa18c43d772a..24c3e2558e0c7fd630d731dad4365c9f10004889 100644 (file)
@@ -74,4 +74,4 @@
        end
 %>
 
-<script type="text/javascript">cbi_init();</script>
+<script>cbi_init();</script>
index f81ee19614e13d98b6a1abbf77b875090ef9dd57..c4631dececfac95cbc69b2ffd70823dceab30214 100644 (file)
@@ -1,6 +1,6 @@
 <%+cbi/valueheader%>
 
-<script type="text/javascript">//<![CDATA[
+<script>
        var freqlist = <%= luci.http.write_json(self.iwinfo.freqlist) %>;
        var hwmodes  = <%= luci.http.write_json(self.iwinfo.hwmodelist or {}) %>;
        var htmodes  = <%= luci.http.write_json(self.iwinfo.htmodelist) %>;
                bwdt.value = <%= luci.http.write_json(self.map:get(section, "htmode")) %>;
                chan.value = <%= luci.http.write_json(self.map:get(section, "channel")) %>;
        }
-//]]></script>
+</script>
 
 <label style="float:left; margin-right:3px">
        <%:Mode%><br />
 </label>
 <br style="clear:left" />
 
-<script type="text/javascript">cbi_init_wifi('<%= cbid %>');</script>
+<script>cbi_init_wifi('<%= cbid %>');</script>
 
 <%+cbi/valuefooter%>
index 4d018a3efdcaf19125ed8be882a379e0a3d91515..dafb427bf48b4da1e09ead45b97e55791804f20d 100644 (file)
@@ -12,7 +12,7 @@
        <div class="spinning">{{ _('Loading view…') }}</div>
 </div>
 
-<script type="text/javascript">//<![CDATA[
+<script>
 function progressbar(query, value, max, byte)
 {
        var pg = document.querySelector(query),
@@ -46,7 +46,7 @@ function renderBadge(icon, title) {
        ]);
 }
 
-//]]></script>
+</script>
 
 <div class="includes" style="display:none">
 {%
@@ -60,7 +60,7 @@ function renderBadge(icon, title) {
 %}
 </div>
 
-<script type="text/javascript">
+<script>
        L.require('ui').then(function(ui) {
                ui.instantiateView('status/index');
        });
index a9dd0f939e116e55a1a898f0ebcdd1fbf5dadc14..d51079b6fa8e89e5119514c7730f982a5cd671a3 100644 (file)
@@ -14,7 +14,7 @@
                        </span>
                        <ul class="breadcrumb pull-right" id="modemenu" style="display:none"></ul>
                </footer>
-               <script type="text/javascript">L.require('menu-bootstrap')</script>
+               <script>L.require('menu-bootstrap')</script>
                {% endif %}
        </body>
 </html>
index a6d2936a5f417dd38aaac1bb8846587652b94f00..ef37c7a454217de23d2a69072334b93f810036e9 100644 (file)
@@ -20,7 +20,7 @@
                <meta charset="utf-8">
                <title>{{ striptags(`${boardinfo.hostname ?? '?'}${node ? ` - ${node.title}` : ''}`) }} - LuCI</title>
                {% if (!darkpref): %}
-                       <script type="text/javascript">
+                       <script>
                                var mediaQuery = window.matchMedia('(prefers-color-scheme: dark)'),
                                    rootElement = document.querySelector(':root'),
                                    setDarkMode = function(match) { rootElement.setAttribute('data-darkmode', match.matches) };
@@ -31,7 +31,7 @@
                {% endif %}
                <meta name="viewport" content="initial-scale=1.0">
                <link rel="stylesheet" href="{{ media }}/cascade.css">
-               <link rel="stylesheet" media="only screen and (max-device-width: 854px)" href="{{ media }}/mobile.css" type="text/css" />
+               <link rel="stylesheet" media="only screen and (max-device-width: 854px)" href="{{ media }}/mobile.css" />
                <link rel="icon" href="{{ media }}/logo_48.png" sizes="48x48">
                <link rel="icon" href="{{ media }}/logo.svg" sizes="any">
                {% if (node?.css): %}
index 15f3b1435b8a2d574deb014f2e55852ce4813896..e311f2d03fe28bccddf91c860ff66219b5415d50 100644 (file)
@@ -38,7 +38,7 @@
 
 <div id="view">
        <div class="spinning">{{ _('Loading view…') }}</div>
-       <script type="text/javascript">
+       <script>
                L.require('ui').then(function(ui) {
                        ui.instantiateView('bootstrap.sysauth');
                });
index f0225e732910d3f986e64528e203917d4a04203c..8b3c7f728b01f1bc3b02f6cfec5e6f5aa65e1cea 100644 (file)
@@ -26,7 +26,7 @@
                </div>
        </div>
 
-       <script type="text/javascript">L.require('menu-material')</script>
+       <script>L.require('menu-material')</script>
 
 </body>
 </html>
index 5899f2a9dda2fbfd9fd6a560eba0f2bf5e17e357..6d165f15021f82b649e667ce27f84316b038767f 100644 (file)
@@ -10,7 +10,7 @@
        Powered by {{ version.luciname }} ({{ version.luciversion }})
 </p>
 
-<script type="text/javascript">L.require('menu-openwrt2020')</script>
+<script>L.require('menu-openwrt2020')</script>
 
 </body>
 </html>
index 3857bce723a8a5e6d5977a87054b1f469fa0cd30..56443bd9cbb9e0d7f1e31c0fa5c3603747a67267 100644 (file)
 <!DOCTYPE html>
 <html lang="{{ dispatcher.lang }}">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
+<meta charset="utf-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 <meta name="apple-mobile-web-app-capable" content="yes" />
-<link rel="stylesheet" type="text/css" media="screen" href="{{ media }}/cascade.css" />
+<link rel="stylesheet" media="screen" href="{{ media }}/cascade.css" />
 <link rel="icon" href="{{ media }}/logo.png" sizes="180x180">
 <link rel="icon" href="{{ media }}/logo.svg" sizes="any">
-<script type="text/javascript" src="{{ dispatcher.build_url('admin/translations', dispatcher.lang) }}"></script>
-<script type="text/javascript" src="{{ resource }}/cbi.js"></script>
+<script src="{{ dispatcher.build_url('admin/translations', dispatcher.lang) }}"></script>
+<script src="{{ resource }}/cbi.js"></script>
 <title>{{ striptags(`${boardinfo.hostname ?? '?'}${node ? ` - ${node.title}` : ''}`) }} - LuCI</title>
 {% if (css): %}
 <style title="text/css">{{ css }}</style>
index 1b6bfff5bbaae7f470c87c2a41f9a04df85ee28d..12249ed75e50cc93c6581146bcce001086ae7ca1 100644 (file)
@@ -12,7 +12,7 @@
        Powered by {{ version.luciname }} ({{ version.luciversion }})
 </p>
 
-<script type="text/javascript">L.require('menu-openwrt')</script>
+<script>L.require('menu-openwrt')</script>
 
 </body>
 </html>
index 9f9e75d532f9e368da80a4307d620004a5f81537..b7a6abae6856420df703dd05ebfcb426aff82226 100644 (file)
 <!DOCTYPE html>
 <html lang="{{ dispatcher.lang }}">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta charset="utf-8" />
 <meta name="viewport" content="width=device-width, initial-scale=1" />
-<meta http-equiv="Content-Script-Type" content="text/javascript" />
-<link rel="stylesheet" type="text/css" media="screen" href="{{ media }}/cascade.css" />
+<link rel="stylesheet" media="screen" href="{{ media }}/cascade.css" />
 {% if (node?.css): %}
-<link rel="stylesheet" type="text/css" media="screen" href="{{ resource }}/{{ node.css }}" />
+<link rel="stylesheet" media="screen" href="{{ resource }}/{{ node.css }}" />
 {% endif %}
 {% if (css): %}
-<style type="text/css">{{ css }}</style>
+<style>{{ css }}</style>
 {% endif %}
-<script type="text/javascript" src="{{ dispatcher.build_url('admin/translations', dispatcher.lang) }}"></script>
-<script type="text/javascript" src="{{ resource }}/cbi.js"></script>
+<script src="{{ dispatcher.build_url('admin/translations', dispatcher.lang) }}"></script>
+<script src="{{ resource }}/cbi.js"></script>
 
 <title>{{ striptags(`${boardinfo.hostname ?? '?'}${node ? ` - ${_(node.title)}` : ''}`) }} - LuCI</title>
 </head>