Update home, misc meta updts; FramesBrowser: fix file loading, add Eruda
This commit is contained in:
parent
4d740b1627
commit
220b790d66
|
@ -1,9 +1,16 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8"/>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<title>Frames Browser (WIP)</title>
|
<meta property="og:url" content="https://hub.octt.eu.org/FramesBrowser"/>
|
||||||
|
<link rel="canonical" href="https://hub.octt.eu.org/FramesBrowser"/>
|
||||||
|
<link rel="shortcut icon" type="image/x-icon" href="../favicon.png"/>
|
||||||
|
<link rel="manifest" href="./manifest.json"/>
|
||||||
|
<title>🪟️ Frames Browser (WIP)</title>
|
||||||
|
<meta name="description" content="iFrame-based HTML5 Browser for fun and development"/>
|
||||||
|
<meta property="og:title" content="🪟️ Frames Browser (WIP)"/>
|
||||||
|
<meta property="og:description" content="iFrame-based HTML5 Browser for fun and development"/>
|
||||||
<style>
|
<style>
|
||||||
:root {
|
:root {
|
||||||
--BaseMargin: 8px;
|
--BaseMargin: 8px;
|
||||||
|
@ -48,8 +55,6 @@
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 10vh;
|
top: 10vh;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
max-height: 80vh;
|
|
||||||
overflow: auto;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
.BoxPopup.Content {
|
.BoxPopup.Content {
|
||||||
|
@ -57,6 +62,8 @@
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
|
max-height: 80vh;
|
||||||
|
overflow: auto;
|
||||||
box-shadow: gray 4px 4px 4px 0px;
|
box-shadow: gray 4px 4px 4px 0px;
|
||||||
color: var(--ColorFg);
|
color: var(--ColorFg);
|
||||||
background-color: var(--ColorBg);
|
background-color: var(--ColorBg);
|
||||||
|
@ -68,22 +75,23 @@
|
||||||
<script>
|
<script>
|
||||||
var FrameZoomLevels = [50, 200];
|
var FrameZoomLevels = [50, 200];
|
||||||
var AppInfoString = `
|
var AppInfoString = `
|
||||||
Frames Browser v2023-09-22 (WIP).
|
Frames Browser v2023-09-23 (WIP).
|
||||||
`.trim();
|
`.trim();
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="BoxControls"><table><tr>
|
<div id="BoxControls"><table><tr>
|
||||||
<td><button onclick="ShowAppInfo()">ℹ️ Info</button></td>
|
<td><button onclick="ShowAppInfo()">ℹ️ Info</button></td>
|
||||||
|
<td><button onclick="ToggleDevTools()">📐️ Tools</button></td>
|
||||||
<td>
|
<td>
|
||||||
<button onclick="this.nextElementSibling.click()">📄 File</button>
|
<button id="BtnFile" onclick="this.nextElementSibling.click()">📄 File</button>
|
||||||
<input type="file" hidden="hidden" style="display: none;" onchange="LoadFile(this.files[0])"/>
|
<input type="file" hidden="hidden" style="display: none;" onchange="LoadFile(this.files[0])"/>
|
||||||
</td>
|
</td>
|
||||||
<td><button onclick="ZoomFrame()">🔍️ Zoom</button></td>
|
<td><button onclick="ZoomFrame()">🔍️ Zoom</button></td>
|
||||||
<td><button onclick="ListFrames()">🪟 Frames</button></td>
|
<td><button onclick="ListFrames()">🪟 Frames</button></td>
|
||||||
<td style="width: 100%;"><input type="text" style="min-width: 100%;" hint="🔗️ Enter URI..."/></td>
|
<td style="width: 100%;"><input id="InputUri" type="text" style="min-width: 100%;" placeholder="🔗️ Enter URI..." onkeydown="InputHandleKey(event)"/></td>
|
||||||
<td><button onclick="LoadFrame()">↩️ Load</button></td>
|
<td><button id="BtnLoad" onclick="LoadFrame()">↩️ Load</button></td>
|
||||||
<td><button onclick="ExciseFrame()">↗️ Excise</button></td>
|
<td><button id="BtnExcise" onclick="ExciseFrame()">↗️ Excise</button></td>
|
||||||
<tr></table></div>
|
<tr></table></div>
|
||||||
<noscript><p class="NoScript">
|
<noscript><p class="NoScript">
|
||||||
This is an actual app, not a badly-made website.
|
This is an actual app, not a badly-made website.
|
||||||
|
@ -109,18 +117,42 @@ Frames Browser v2023-09-22 (WIP).
|
||||||
return el;
|
return el;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function $request(url, opts){
|
||||||
|
if (!opts.method) {
|
||||||
|
opts.method = 'GET';
|
||||||
|
};
|
||||||
|
var req = new XMLHttpRequest();
|
||||||
|
req.onreadystatechange = function(){
|
||||||
|
if (this.readyState == 4) {
|
||||||
|
opts.callback(req.responseText);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
req.open(opts.method, url, true);
|
||||||
|
req.send();
|
||||||
|
};
|
||||||
|
|
||||||
function ShowAppInfo(){
|
function ShowAppInfo(){
|
||||||
alert(AppInfoString);
|
alert(AppInfoString);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function InputHandleKey(ev){
|
||||||
|
// Enter
|
||||||
|
if (ev.keyCode == 13) {
|
||||||
|
LoadFrame();
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
function ShowFrame(index){
|
function ShowFrame(index){
|
||||||
ListFramesClose();
|
ListFramesClose();
|
||||||
FrameIndexes = [index];
|
FrameIndexes = [index];
|
||||||
SaveCurrentFrames();
|
SaveCurrentFrames();
|
||||||
document.querySelector('iframe').hidden = false;
|
document.querySelector('iframe').hidden = false;
|
||||||
document.querySelector('iframe').style.display = '';
|
document.querySelector('iframe').style.display = '';
|
||||||
document.querySelector('input[type="text"]').value = CurrentFrames[index];
|
InputUri.disabled = false;
|
||||||
document.querySelector('input[type="text"]').disabled = false;
|
InputUri.value = CurrentFrames[index];
|
||||||
|
BtnFile.disabled = false;
|
||||||
|
BtnLoad.disabled = false;
|
||||||
|
BtnExcise.disabled = false;
|
||||||
document.querySelector('iframe').src = CurrentFrames[index];
|
document.querySelector('iframe').src = CurrentFrames[index];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -130,8 +162,11 @@ Frames Browser v2023-09-22 (WIP).
|
||||||
SaveCurrentFrames();
|
SaveCurrentFrames();
|
||||||
document.querySelector('iframe').hidden = true;
|
document.querySelector('iframe').hidden = true;
|
||||||
document.querySelector('iframe').style.display = 'none';
|
document.querySelector('iframe').style.display = 'none';
|
||||||
document.querySelector('input[type="text"]').disabled = true;
|
InputUri.disabled = true;
|
||||||
document.querySelector('input[type="text"]').value = '';
|
InputUri.value = '';
|
||||||
|
BtnFile.disabled = true;
|
||||||
|
BtnLoad.disabled = true;
|
||||||
|
BtnExcise.disabled = true;
|
||||||
document.querySelector('iframe').src = '';
|
document.querySelector('iframe').src = '';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -182,10 +217,10 @@ Frames Browser v2023-09-22 (WIP).
|
||||||
function LoadFile(file){
|
function LoadFile(file){
|
||||||
var reader = new FileReader();
|
var reader = new FileReader();
|
||||||
reader.onload = function(){
|
reader.onload = function(){
|
||||||
document.querySelector('input[type="text"]').value = `data:text/html;utf8,${reader.result}`;
|
document.querySelector('input[type="text"]').value = reader.result;
|
||||||
LoadFrame();
|
LoadFrame();
|
||||||
};
|
};
|
||||||
reader.readAsText(file);
|
reader.readAsDataURL(file);
|
||||||
};
|
};
|
||||||
|
|
||||||
function ZoomFrame(){
|
function ZoomFrame(){
|
||||||
|
@ -237,6 +272,17 @@ Frames Browser v2023-09-22 (WIP).
|
||||||
return exist;
|
return exist;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function ToggleDevTools(){
|
||||||
|
//var src = 'https://cdn.jsdelivr.net/npm/eruda';
|
||||||
|
//document.write('<scr' + 'ipt src="' + src + '" onload="eruda.init();"></scr' + 'ipt>');
|
||||||
|
//document.write('<scr' + 'ipt>eruda.init()</scr' + 'ipt>');
|
||||||
|
$request('https://cdn.jsdelivr.net/npm/eruda', { callback: function(text){
|
||||||
|
eval(text);
|
||||||
|
eruda.init();
|
||||||
|
} });
|
||||||
|
document.querySelector('button[onclick="ToggleDevTools()"]').disabled = true;
|
||||||
|
};
|
||||||
|
|
||||||
function NewBoxPopup(id){
|
function NewBoxPopup(id){
|
||||||
var Container = $new('div', { id: id, className: 'BoxPopup Container' });
|
var Container = $new('div', { id: id, className: 'BoxPopup Container' });
|
||||||
var Content = $new('div', { className: 'BoxPopup Content' });
|
var Content = $new('div', { className: 'BoxPopup Content' });
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"short_name": "Frames Browser",
|
||||||
|
"name": "🪟️ Frames Browser (WIP)",
|
||||||
|
"description": "iFrame-based HTML5 Browser for fun and development",
|
||||||
|
"start_url": "https://hub.octt.eu.org/FramesBrowser",
|
||||||
|
"scope": "https://hub.octt.eu.org/FramesBrowser",
|
||||||
|
"display": "standalone",
|
||||||
|
"background_color": "#f0f0f0"
|
||||||
|
}
|
|
@ -1,16 +1,17 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<title>HashyMagnet</title>
|
<title>🧲 HashyMagnet</title>
|
||||||
<meta name="description" content="Generate full BitTorrent Magnet Links from Info Hashes!">
|
<meta name="description" content="Generate full BitTorrent Magnet Links from Info Hashes!"/>
|
||||||
<meta property="og:title" content="HashyMagnet">
|
<meta property="og:title" content="🧲 HashyMagnet"/>
|
||||||
<meta property="og:description" content="Generate full BitTorrent Magnet Links from Info Hashes!">
|
<meta property="og:description" content="Generate full BitTorrent Magnet Links from Info Hashes!"/>
|
||||||
<meta property="og:url" content="https://hub.octt.eu.org/HashyMagnet">
|
<meta property="og:url" content="https://hub.octt.eu.org/HashyMagnet"/>
|
||||||
<meta charset="UTF-8">
|
<link rel="canonical" href="https://hub.octt.eu.org/HashyMagnet"/>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta charset="UTF-8"/>
|
||||||
<link href="Bubbles.css" rel="stylesheet">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||||
<link rel="shortcut icon" href="../favicon.png" type="image/x-icon">
|
<link href="Bubbles.css" rel="stylesheet"/>
|
||||||
<link rel="manifest" href="manifest.json">
|
<link rel="shortcut icon" type="image/x-icon" href="../favicon.png"/>
|
||||||
|
<link rel="manifest" href="./manifest.json"/>
|
||||||
<style>
|
<style>
|
||||||
Body {
|
Body {
|
||||||
Color: #FFFFFF;
|
Color: #FFFFFF;
|
||||||
|
@ -139,9 +140,9 @@ Button:Disabled {
|
||||||
</div>
|
</div>
|
||||||
<noscript><p class="NoScript">
|
<noscript><p class="NoScript">
|
||||||
This is an actual app, not a badly-made website.
|
This is an actual app, not a badly-made website.
|
||||||
<br>
|
<br/>
|
||||||
It needs JavaScript to work, so you need to enable it.
|
It needs JavaScript to work, so you need to enable it.
|
||||||
<br>
|
<br/>
|
||||||
The code is fully open, and you can review it with "View Page Source".
|
The code is fully open, and you can review it with "View Page Source".
|
||||||
</p></noscript>
|
</p></noscript>
|
||||||
<div id="Info">
|
<div id="Info">
|
||||||
|
@ -159,7 +160,7 @@ Button:Disabled {
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Background animations:
|
Background animations:
|
||||||
<br>
|
<br/>
|
||||||
<a href="https://codinhood.com/micro/animate-octocat-sprite-css" target="_blank" rel="noopener nofollow">https://codinhood.com/micro/animate-octocat-sprite-css</a></p>
|
<a href="https://codinhood.com/micro/animate-octocat-sprite-css" target="_blank" rel="noopener nofollow">https://codinhood.com/micro/animate-octocat-sprite-css</a></p>
|
||||||
<h4>License</h4>
|
<h4>License</h4>
|
||||||
<pre id="LicenseText">HashyMagnet
|
<pre id="LicenseText">HashyMagnet
|
||||||
|
@ -178,10 +179,10 @@ GNU Affero General Public License for more details.
|
||||||
You should have received a copy of the GNU Affero General Public License
|
You should have received a copy of the GNU Affero General Public License
|
||||||
along with this program. If not, see <a href="https://www.gnu.org/licenses" target="_blank" rel="noopener nofollow">https://www.gnu.org/licenses</a>.
|
along with this program. If not, see <a href="https://www.gnu.org/licenses" target="_blank" rel="noopener nofollow">https://www.gnu.org/licenses</a>.
|
||||||
</pre>
|
</pre>
|
||||||
<br>
|
<br/>
|
||||||
</div>
|
</div>
|
||||||
</div></div>
|
</div></div>
|
||||||
<br>
|
<br/>
|
||||||
<div class="Section">
|
<div class="Section">
|
||||||
<div class="NoWrap">
|
<div class="NoWrap">
|
||||||
<button id="ResetBtn"><big><b>x</b></big></button>
|
<button id="ResetBtn"><big><b>x</b></big></button>
|
||||||
|
@ -193,7 +194,7 @@ along with this program. If not, see <a href="https://www.gnu.org/licenses" targ
|
||||||
<button id="OpenBtn">🔗 Open</button>
|
<button id="OpenBtn">🔗 Open</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br/>
|
||||||
<div class="Section">
|
<div class="Section">
|
||||||
<div class="NoWrap LeftAlign">
|
<div class="NoWrap LeftAlign">
|
||||||
<label for="TrackersBtn">Trackers list:</label>
|
<label for="TrackersBtn">Trackers list:</label>
|
||||||
|
@ -201,7 +202,7 @@ along with this program. If not, see <a href="https://www.gnu.org/licenses" targ
|
||||||
</div>
|
</div>
|
||||||
<textarea id="TrackersArea" placeholder="📜 Paste Trackers here..." rows="8" cols="60"></textarea>
|
<textarea id="TrackersArea" placeholder="📜 Paste Trackers here..." rows="8" cols="60"></textarea>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br/>
|
||||||
</div>
|
</div>
|
||||||
<div class="ocean"><div class="bubble bubble-1"></div><div class="bubble bubble-2"></div><div class="bubble bubble-3"></div><div class="bubble bubble-4"></div><div class="bubble bubble-5"></div><div class="bubble bubble-6"></div><div class="bubble bubble-7"></div><div class="bubble bubble-8"></div><div class="bubble bubble-9"></div><div class="bubble bubble-10"></div><div class="bubble bubble-11"></div></div>
|
<div class="ocean"><div class="bubble bubble-1"></div><div class="bubble bubble-2"></div><div class="bubble bubble-3"></div><div class="bubble bubble-4"></div><div class="bubble bubble-5"></div><div class="bubble bubble-6"></div><div class="bubble bubble-7"></div><div class="bubble bubble-8"></div><div class="bubble bubble-9"></div><div class="bubble bubble-10"></div><div class="bubble bubble-11"></div></div>
|
||||||
<script>
|
<script>
|
||||||
|
|
|
@ -11,38 +11,39 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<link rel="shortcut icon" href="favicon.png" type="image/x-icon">
|
<link rel="shortcut icon" href="favicon.png" type="image/x-icon">
|
||||||
<script src="https://cdn.jsdelivr.net/npm/js-confetti@latest/dist/js-confetti.browser.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/js-confetti@latest/dist/js-confetti.browser.js"></script>
|
||||||
<link href="Assets/CSS/Dark.css" rel="stylesheet">
|
<link href="./Assets/CSS/Dark.css" rel="stylesheet">
|
||||||
<script src="Assets/JS/RandomGIF.js"></script>
|
<script src="./Assets/JS/RandomGIF.js"></script>
|
||||||
<script src="Assets/JS/CurrentAge.js"></script>
|
<script src="./Assets/JS/CurrentAge.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="ConfettiCanvas"></div>
|
<div id="ConfettiCanvas"></div>
|
||||||
<div class="Content" style="text-align: center;">
|
<div class="Content" style="text-align: center;">
|
||||||
<div>
|
<div>
|
||||||
<h1>OctoSpacc Hub</h1><br><br>
|
<h1>OctoSpacc Hub</h1><br/><br/>
|
||||||
<h3>Will this place ever be filled up?</h3>
|
<h3>Will this place ever be truly filled up?</h3>
|
||||||
<h5>At the moment, it remains just a simple hub...</h5>
|
<h5>At the moment, it's still kind of an humble hub...</h5>
|
||||||
</div>
|
</div>
|
||||||
<br><br><br>
|
<br/><br/><br/>
|
||||||
<div id="Links"><div>
|
<div id="Links"><div>
|
||||||
<h4><a href="https://sitoctt.octt.eu.org">[🇮🇹] ✨sitoctt✨</a> (blog/personale)</h4>
|
<h4><a href="https://sitoctt.octt.eu.org">[🇮🇹] ✨sitoctt✨</a> (blog/personale)</h4>
|
||||||
<h4><a href="https://kb.octt.eu.org">📝 OcttKB</a> (knowledge base)</h4>
|
<h4><a href="https://kb.octt.eu.org">📝 OcttKB</a> (knowledge base)</h4>
|
||||||
<h4><del><a href="https://octtspacc.gitlab.io/bachecoctt">🔖️ bachecoctt</a> (my WebPinBoard)</del></h4>
|
<!--<h4><del><a href="https://octtspacc.gitlab.io/bachecoctt">🔖️ bachecoctt</a> (my WebPinBoard)</del></h4>-->
|
||||||
<br>
|
<br/>
|
||||||
<h4><a href="./Ecoji">🦜 Ecoji v1</a> (webapp fork)</h4>
|
|
||||||
<h4><a href="./HashyMagnet">🧲 BitTorrent Hash to Magnet</a></h4>
|
<h4><a href="./HashyMagnet">🧲 BitTorrent Hash to Magnet</a></h4>
|
||||||
<br>
|
<h4><a href="./FramesBrowser">🪟️ Frames Browser</a> (WIP)</h4>
|
||||||
|
<h4><a href="./Ecoji">🦜 Ecoji v1</a> (webapp fork)</h4>
|
||||||
|
<br/>
|
||||||
<h4><a href="https://octospacc.gitlab.io/FumoPrisms">🔺️ Fumo Prisms (!)</a></h4>
|
<h4><a href="https://octospacc.gitlab.io/FumoPrisms">🔺️ Fumo Prisms (!)</a></h4>
|
||||||
</div></div>
|
</div></div>
|
||||||
<br><br><br>
|
<br/><br/><br/>
|
||||||
<div id="OcttAgeView">
|
<div id="OcttAgeView">
|
||||||
<p id="OcttCurrentAge"></p>
|
<p id="OcttCurrentAge"></p>
|
||||||
<noscript><p>There should be a ticking clock here, but your browser isn't loading the JavaScript.</p></noscript>
|
<noscript><p>There should be a ticking clock here, but your browser isn't loading the JavaScript.</p></noscript>
|
||||||
<br>
|
<br/>
|
||||||
</div>
|
</div>
|
||||||
<br><br>
|
<br/><br/>
|
||||||
</div>
|
</div>
|
||||||
<script src="Assets/JS/CurrentAgeRenderIndex.js"></script>
|
<script src="./Assets/JS/CurrentAgeRenderIndex.js"></script>
|
||||||
<div class="Footer">
|
<div class="Footer">
|
||||||
<span class="FlexItem FooterLeft">
|
<span class="FlexItem FooterLeft">
|
||||||
<a href="https://gitlab.com/octospacc/octospacc.gitlab.io">📐 Sources <-</a>
|
<a href="https://gitlab.com/octospacc/octospacc.gitlab.io">📐 Sources <-</a>
|
||||||
|
@ -51,9 +52,13 @@
|
||||||
<span class="FlexItem FooterRight">
|
<span class="FlexItem FooterRight">
|
||||||
<a rel="me" href="https://gitlab.com/octospacc">-> GitLab 🦊</a>
|
<a rel="me" href="https://gitlab.com/octospacc">-> GitLab 🦊</a>
|
||||||
<span> </span>
|
<span> </span>
|
||||||
<a rel="me" href="https://mastodon.uno/@octo">-> Mastodon 🐘</a>
|
<a rel="me" href="https://github.com/andrigamerita">-> GitHub 🐙️</a>
|
||||||
<span> </span>
|
<span> </span>
|
||||||
<a rel="me" href="https://botsin.space/@octtpz">-> pezziposting 🦜</a>
|
<a rel="me" href="https://mastodon.uno/@octo">-> Mastodon 🐘</a>
|
||||||
|
<!--<span> </span>
|
||||||
|
<a rel="me" href="https://botsin.space/@octtpz">-> pezziposting 🦜</a>-->
|
||||||
|
<span> </span>
|
||||||
|
<a href="https://bbs.spacc.eu.org">-> Forum 🏛️</a>
|
||||||
<span> </span>
|
<span> </span>
|
||||||
<a href="https://spacc-inc.github.io">-> Spacc ⛏️</a>
|
<a href="https://spacc-inc.github.io">-> Spacc ⛏️</a>
|
||||||
</span>
|
</span>
|
||||||
|
|
Loading…
Reference in New Issue