2026-07-21 19:19:52 +02:00
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
|
|
|
<html>
|
|
|
|
|
<head>
|
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
2026-07-23 18:17:55 +02:00
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
2026-07-22 18:36:02 +02:00
|
|
|
<base href="${opts.baseurl}" />
|
2026-08-04 12:17:33 +02:00
|
|
|
<title>${opts.plugin_global_title}</title>
|
2026-08-17 13:42:27 +02:00
|
|
|
<link rel="stylesheet" href="css/xrforge.css"></link>
|
2026-08-04 12:17:33 +02:00
|
|
|
${opts.plugin_global_headertags}
|
2026-07-23 10:01:34 +02:00
|
|
|
<noscript>
|
2026-07-31 19:32:19 +02:00
|
|
|
{if urlpath == '/' or urlpath == '/index.html' then
|
|
|
|
|
print('<meta http-equiv="refresh" content="0;url=${opts.plugin_diskscan_dirname}">')
|
|
|
|
|
end}
|
2026-07-23 10:01:34 +02:00
|
|
|
</noscript>
|
2026-07-21 19:19:52 +02:00
|
|
|
</head>
|
2026-07-23 10:01:34 +02:00
|
|
|
<body background="#000000" class="${page}">
|
2026-07-21 19:19:52 +02:00
|
|
|
<table width="100%" class="header">
|
|
|
|
|
<tr>
|
2026-07-31 19:32:19 +02:00
|
|
|
<td>
|
2026-07-21 19:19:52 +02:00
|
|
|
<div class="margin1L">
|
2026-07-22 18:36:02 +02:00
|
|
|
<a href="${opts.baseurl}">
|
2026-07-31 16:16:12 +02:00
|
|
|
<div class="logo max">
|
2026-08-10 13:16:30 +02:00
|
|
|
<span class="col1">[</span><span class="col2"><></span><span class="col1">]</span> <span class="col3">${opts.plugin_global_title}
|
2026-07-31 19:32:19 +02:00
|
|
|
{if url:match("admin") then
|
|
|
|
|
print('<span class="col1">//<span>')
|
|
|
|
|
print('<span class="col0">${opts.admin_title}</span>')
|
|
|
|
|
end}
|
|
|
|
|
</span>
|
2026-07-31 16:16:12 +02:00
|
|
|
</div>
|
2026-07-22 18:36:02 +02:00
|
|
|
</a>
|
2026-07-21 19:19:52 +02:00
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="menu">
|
|
|
|
|
<div class="margin1L">
|
2026-07-23 18:17:55 +02:00
|
|
|
<!-- important: no spaces between anchor tags for older browsers without flexbox -->
|
2026-08-17 13:42:27 +02:00
|
|
|
<a href="${opts.plugin_diskscan_dirname}"><img class="icon" src="img/list-tree.svg">${opts.plugin_global_topmenu_mapname}</a>
|
2026-08-04 12:17:33 +02:00
|
|
|
{if true then
|
|
|
|
|
print( app.opts.plugin_global_topmenu_html:gsub("\n"," ") )
|
|
|
|
|
end}
|
2026-08-18 15:30:10 +02:00
|
|
|
{if template == "page/dir.html" then
|
|
|
|
|
print([[<div class="btn"><a class="border secondary" href="${urlpath}?view=3D">3D</a></div> ]])
|
|
|
|
|
end}
|
|
|
|
|
{if template == "page/index.html" then
|
|
|
|
|
local sharedata = {
|
|
|
|
|
title = (item and item.title or opts.plugin_global_title)
|
|
|
|
|
}
|
|
|
|
|
print([[
|
|
|
|
|
<a id="share" href="mailto:friend@your.org?subject=${util.getURL()}&body=check%20this%20on%20your%20XR%20headset">
|
|
|
|
|
<img src="img/share.svg" class="icon share"/>
|
|
|
|
|
</a>
|
|
|
|
|
<script>
|
|
|
|
|
if( navigator.share ){
|
|
|
|
|
const sharebtn = document.querySelector('#share')
|
|
|
|
|
const title = "]] .. (item and item.title or opts.plugin_global_title) .. [["
|
|
|
|
|
sharebtn.setAttribute('href', '') // override mailto:
|
|
|
|
|
sharebtn.addEventListener('click', (e) => {
|
|
|
|
|
navigator.share({title, url: document.location.href})
|
|
|
|
|
e.stopPropagation()
|
|
|
|
|
e.preventDefault()
|
|
|
|
|
return false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
]])
|
|
|
|
|
end}
|
2026-07-21 19:19:52 +02:00
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
|
|
|
|
|
<table width="100%">
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
<center>
|
|
|
|
|
<table width="80%" class="page">
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|