Delete website directory
|
@ -1,13 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- https://thorium.rocks/ custom 404 landing page. -->
|
||||
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="viewport" content="initial-scale=1, minimum-scale=1, width=device-width">
|
||||
<title>Error! 404 (Not Found)</title>
|
||||
<style>
|
||||
*{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#000000;padding-top:-500px}body{margin:4% auto 0;px;max-width:512px;max-height:512px}* >ins{color:#777;text-decoration:none} img.grey{padding-top:10px}
|
||||
</style>
|
||||
</head><body><img src="misc/robot_1024.png" width="512" height="512" alt="Error Robot"></a>
|
||||
<p><b>404.</b> <ins>That’s an error, my fine sir.</ins>
|
||||
</p><p>The requested URL <code></code> was not found on this server. <ins>That’s all <a rel="noopener" href="misc/robot_1024.png">Mr. Robot</a> knows.</ins>
|
||||
<ins><img class="grey" src="misc/thorium_greyscale_1024.png" padding-top="100" width="128" height="128" alt="Error Robot"></ins>
|
||||
</p></body></html>
|
|
@ -1,7 +0,0 @@
|
|||
# https://thorium.rocks/ Source
|
||||
|
||||
## Thorium Website Source
|
||||
|
||||
This is the source code for the new Thorium Browser Website.
|
||||
|
||||
Kudos to @midzer
|
Before Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 6.7 KiB |
|
@ -1,9 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<browserconfig>
|
||||
<msapplication>
|
||||
<tile>
|
||||
<square150x150logo src="/mstile-150x150.png"/>
|
||||
<TileColor>#24292f</TileColor>
|
||||
</tile>
|
||||
</msapplication>
|
||||
</browserconfig>
|
|
@ -1,154 +0,0 @@
|
|||
/* Thorium Website Cascading Style Sheet */
|
||||
:root,
|
||||
/* Set colours */
|
||||
:root.light {
|
||||
--bgcolor: #ffffff;
|
||||
--fontcolor: #000000;
|
||||
--linkcolor: #0000ee;
|
||||
--visitedcolor: #551a8b;
|
||||
--preformatted: #24292f;
|
||||
--accent-bg: #aecbfa;
|
||||
--border: #000000;
|
||||
}
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--bgcolor: #24292f;
|
||||
--fontcolor: #ffffff;
|
||||
--linkcolor: #5bf5bf;
|
||||
--visitedcolor: #ae5ee0;
|
||||
--preformatted: #ffffff;
|
||||
--accent-bg: #2b2b2b;
|
||||
--border: #ffffff;
|
||||
}
|
||||
}
|
||||
:root.dark {
|
||||
--bgcolor: #24292f;
|
||||
--fontcolor: #ffffff;
|
||||
--linkcolor: #5bf5bf;
|
||||
--visitedcolor: #ae5ee0;
|
||||
--preformatted: #ffffff;
|
||||
--accent-bg: #2b2b2b;
|
||||
--border: #ffffff;
|
||||
}
|
||||
/* Scrolling settings */
|
||||
html {
|
||||
overflow-x: scroll;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
/* General body settings */
|
||||
body {
|
||||
margin: 1em auto;
|
||||
max-width: 36em;
|
||||
font-family: "Noto Sans", sans-serif;
|
||||
padding: 1rem;
|
||||
color: var(--fontcolor);
|
||||
background-color: var(--bgcolor);
|
||||
}
|
||||
/* Image autoconfig */
|
||||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
/* Image effects */
|
||||
img.spin {
|
||||
transition: all .6s;
|
||||
}
|
||||
img.thor90 {
|
||||
border: 1px solid var(--border);
|
||||
}
|
||||
.thor90:hover {
|
||||
animation: jig 0.2s;
|
||||
animation-iteration-count: infinite;
|
||||
}
|
||||
img.bubbles:hover {
|
||||
padding-right: 12px;
|
||||
animation: shake 3.0s;
|
||||
animation-iteration-count: infinite;
|
||||
}
|
||||
/* Animations */
|
||||
@keyframes shake {
|
||||
0% { transform: translate(3px, 2px) rotate(0deg); }
|
||||
10% { transform: translate(-2px, -2px) rotate(-3deg); }
|
||||
20% { transform: translate(-4px, 1px) rotate(1deg); }
|
||||
30% { transform: translate(1px, 3px) rotate(0deg); }
|
||||
40% { transform: translate(2px, -2px) rotate(1deg); }
|
||||
50% { transform: translate(-1px, 3px) rotate(-2deg); }
|
||||
60% { transform: translate(-4px, 2px) rotate(0deg); }
|
||||
70% { transform: translate(3px, 2px) rotate(-1deg); }
|
||||
80% { transform: translate(-2px, -4px) rotate(2deg); }
|
||||
90% { transform: translate(3px, 3px) rotate(0deg); }
|
||||
100% { transform: translate(3px, 2px) rotate(0deg); }
|
||||
}
|
||||
@keyframes jig {
|
||||
0% { transform: rotate(0deg); }
|
||||
20% { transform: rotate(-1deg); }
|
||||
40% { transform: rotate(-2deg); }
|
||||
60% { transform: rotate(1deg); }
|
||||
80% { transform: rotate(2deg); }
|
||||
100% { transform: rotate(0deg); }
|
||||
}
|
||||
/* Move title slightly */
|
||||
span.title {
|
||||
margin-left: -0.1em;
|
||||
}
|
||||
/* Adjust top horiz separator */
|
||||
hr.line {
|
||||
width: 105.3%;
|
||||
margin-left: -1.0em;
|
||||
border: 1px solid var(--fontcolor);
|
||||
}
|
||||
/* Put box around intro/description */
|
||||
p.intro {
|
||||
padding-left: 10px;
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 3px;
|
||||
font-weight: 600;
|
||||
}
|
||||
/* Set link colours */
|
||||
a:link{
|
||||
color: var(--linkcolor);
|
||||
}
|
||||
a:visited,
|
||||
a:active {
|
||||
color: var(--visitedcolor);
|
||||
}
|
||||
/* Adjust thorium_bubbles.svg */
|
||||
.d-flex {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: flex-start;
|
||||
}
|
||||
/* Codeblock Styles */
|
||||
pre {
|
||||
padding: 1rem 1.5rem;
|
||||
max-width: 100%;
|
||||
overflow: auto;
|
||||
color: var(--preformatted);
|
||||
background: var(--accent-bg);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 5px;
|
||||
}
|
||||
/* Rounded Dark/Light Mode Button */
|
||||
button {
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 5px;
|
||||
}
|
||||
/* Add WebGL Canvas Element */
|
||||
canvas.glcube {
|
||||
border: 1px solid var(--border);
|
||||
max-width: 100%;
|
||||
}
|
||||
/* No Auto-Play */
|
||||
video {
|
||||
display: none;
|
||||
}
|
||||
/* Set Google Noto Sans */
|
||||
@font-face {
|
||||
font-family: 'Noto Sans';
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-display: swap;
|
||||
src: local("Noto Sans"),url(../fonts/noto-sans-v27-latin-regular.woff2) format("woff2"),url(../fonts/noto-sans-v27-latin-regular.woff) format("woff")
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
Architectures: amd64
|
||||
Codename: stable
|
||||
Components: main
|
||||
Date: Sat, 26 May 2022 21:44:39 +0000
|
||||
Description: Thorium browser packages
|
||||
Label: thorium
|
||||
Origin: dl.thorium.rocks
|
||||
Suite: stable
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
Package: thorium-browser-unstable
|
||||
Version: 104.0.5083.0-1
|
||||
Architecture: amd64
|
||||
Maintainer: Thorium Linux Maintainers <alex313031@gmail.com>
|
||||
Installed-Size: 543610
|
||||
Pre-Depends: dpkg (>= 1.14.0)
|
||||
Depends: ca-certificates, fonts-liberation, libasound2 (>= 1.0.16), libatk-bridge2.0-0 (>= 2.5.3), libatk1.0-0 (>= 2.2.0), libatspi2.0-0 (>= 2.9.90), libc6 (>= 2.17), libcairo2 (>= 1.6.0), libcups2 (>= 1.6.0), libcurl3-gnutls | libcurl3-nss | libcurl4 | libcurl3, libdbus-1-3 (>= 1.5.12), libdrm2 (>= 2.4.60), libexpat1 (>= 2.0.1), libgbm1 (>= 8.1~0), libglib2.0-0 (>= 2.39.4), libgtk-3-0 (>= 3.9.10) | libgtk-4-1, libnspr4 (>= 2:4.9-2~), libnss3 (>= 2:3.26), libpango-1.0-0 (>= 1.14.0), libwayland-client0 (>= 1.0.2), libx11-6 (>= 2:1.4.99.1), libxcb1 (>= 1.9.2), libxcomposite1 (>= 1:0.4.4-1), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxkbcommon0 (>= 0.4.1), libxrandr2, wget, xdg-utils (>= 1.0.2)
|
||||
Recommends: libu2f-udev, libvulkan1, unrar
|
||||
Provides: www-browser
|
||||
Filename: dists/stable/main/binary-amd64/thorium-browser_104.0.5083.0-1_amd64.deb
|
||||
Size: 148587672
|
||||
MD5sum: 47ebacf1009d01edc39ab1091042c492
|
||||
SHA1: ab1e9d3027cf911a7d0e722fc0f3ff9d6b7d7b0d
|
||||
SHA256: af33325bb85e338f7f3a51522cbe768b112b42caa76bb09a57006e1131549f75
|
||||
Section: web
|
||||
Priority: optional
|
||||
Description: The web browser from Chromium.org and The Thorium Authors
|
||||
Thorium is a browser that combines a minimal design with sophisticated technology to make the web faster, safer, and easier.
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
Component: main
|
||||
Origin: dl.thorium.rocks
|
||||
Label: thorium
|
||||
Description: Thorium browser packages
|
||||
Archive: stable
|
||||
Architecture: amd64
|
|
@ -1 +0,0 @@
|
|||
deb [trusted=yes] https://dl.thorium.rocks/debian/ stable main
|
Before Width: | Height: | Size: 979 B |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 15 KiB |
|
@ -1,39 +0,0 @@
|
|||
## thorium.rocks humans.txt ##
|
||||
|
||||
# Copyright (c) 2022 Alex313031.
|
||||
# https://humanstxt.org/
|
||||
|
||||
/* TEAM */
|
||||
|
||||
Web designer & Contributer: midzer
|
||||
GitHub: @midzer
|
||||
From: Munich, Germany
|
||||
|
||||
Developer: Alexander Frick
|
||||
Twitter: @alex313031
|
||||
From: Oklahoma, US
|
||||
|
||||
Contributer: gz83
|
||||
GitHub: @gz83
|
||||
From: Hong Kong, China
|
||||
|
||||
/* THANKS */
|
||||
|
||||
Robert Richard
|
||||
GitHub: @RobRich999
|
||||
From: US
|
||||
|
||||
Jerry
|
||||
Website: https://chromium.woolyss.com/
|
||||
From:
|
||||
|
||||
The Chromium Authors
|
||||
Website: https://www.chromium.org/
|
||||
From: WorldWide
|
||||
|
||||
/* SITE */
|
||||
|
||||
Last update: 2022/05/26
|
||||
Language: English
|
||||
Doctype: HTML5
|
||||
IDE: VSCodium, Geany, Atom
|
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 28 KiB |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" height="512" width="512" viewBox="-10 -10 276 276"><circle cx="128" cy="128" r="64" fill="#000000"/><path fill="#669df6" d="M96 183.4A63.7 63.7 0 0 1 72.6 160L17.2 64A128 128 0 0 0 128 256l55.4-96A64 64 0 0 1 96 183.4Z"/><path fill="#aecbfa" d="M192 128a63.7 63.7 0 0 1-8.6 32L128 256A128 128 0 0 0 238.9 64h-111a64 64 0 0 1 64 64Z"/><circle cx="128" cy="128" r="52" fill="#1a73e8"/><path fill="#1967d2" d="M96 72.6a63.7 63.7 0 0 1 32-8.6h110.8a128 128 0 0 0-221.7 0l55.5 96A64 64 0 0 1 96 72.6Z"/></svg>
|
Before Width: | Height: | Size: 545 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width=" 192" height=" 192" fill-rule="evenodd" class="vector-svg"><path fill="gray" stroke="gray" stroke-width="0px" stroke-linecap="round" shape-rendering="geometricPrecision" d="M 172 60 m -12 0 a 12 12 0 1 0 24 0 a 12 12 0 1 0 -24 0" style="fill: #aecbfa; stroke: #aecbfa;"/><path fill="gray" stroke="gray" stroke-width="0px" stroke-linecap="round" shape-rendering="geometricPrecision" d="M 136 88 m -24 0 a 24 24 0 1 0 48 0 a 24 24 0 1 0 -48 0" style="fill: #000000; stroke: #000000;"/><path fill="gray" stroke="gray" stroke-width="0px" stroke-linecap="round" shape-rendering="geometricPrecision" d="M 136 148 m -28 0 a 28 28 0 1 0 56 0 a 28 28 0 1 0 -56 0" style="fill: #669df6; stroke: #669df6;"/><path fill="gray" stroke="gray" stroke-width="0px" stroke-linecap="round" shape-rendering="geometricPrecision" d="M 56 64 m -48 0 a 48 48 0 1 0 96 0 a 48 48 0 1 0 -96 0" style="fill: #1967d2; stroke: #1967d2;"/></svg>
|
Before Width: | Height: | Size: 961 B |
|
@ -1,94 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- https://thorium.rocks/ main index.html -->
|
||||
<html lang="en-US">
|
||||
<head>
|
||||
<!-- Header -->
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="preload" href="fonts/noto-sans-v27-latin-regular.woff2" as="font" type="font/woff2" crossorigin>
|
||||
<link rel="stylesheet" href="css/thorium.css">
|
||||
<title>Thorium</title>
|
||||
<meta name="description" content="Chromium fork for Linux named after radioactive element No. 90.">
|
||||
<meta name="color-scheme" content="light dark">
|
||||
<link rel="author" href="https://thorium.rocks/humans.txt">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png">
|
||||
<link rel="manifest" href="site.webmanifest">
|
||||
<link rel="mask-icon" href="safari-pinned-tab.svg" color="#5bbad5">
|
||||
<meta name="msapplication-TileColor" content="#24292f">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<script>
|
||||
function toggleDarkMode(useDark) {
|
||||
if (useDark) {
|
||||
document.documentElement.classList.add('dark');
|
||||
document.documentElement.classList.remove('light');
|
||||
}
|
||||
else {
|
||||
document.documentElement.classList.remove('dark');
|
||||
document.documentElement.classList.add('light');
|
||||
}
|
||||
}
|
||||
let useDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
|
||||
if (!useDark && localStorage.getItem('dark-mode') === 'true') {
|
||||
useDark = true;
|
||||
toggleDarkMode(useDark);
|
||||
}
|
||||
else if (localStorage.getItem('dark-mode') === 'false') {
|
||||
useDark = false;
|
||||
toggleDarkMode(useDark);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Main Logo -->
|
||||
<div id="spinner">
|
||||
<img class="spin" src="imgs/thorium.svg" width="512" height="512" alt="Thorium Logo" title="Thorium Logo (Click Me!)">
|
||||
</div>
|
||||
<div class="d-flex">
|
||||
<h1><span class="title"><b><u>Thorium - </u></b></span><br> <small><b><em>The fastest browser on Earth.</em></b></small></h1>
|
||||
<img class="bubbles" src="imgs/thorium_bubbles.svg" width="128" height="128" alt="Thorium Bubbles" title="Thorium Bubbles">
|
||||
</div>
|
||||
<hr class="line">
|
||||
<p class="intro" title="Description">Chromium fork for Linux, MacOS, Raspberry Pi, and Windows named after radioactive element No. 90.</p>
|
||||
<h2><u>Highlights</u></h2>
|
||||
<ul>
|
||||
<li>Compiler modifications include SSE4.2, AVX, AES, and Cflags, thinLTO flags, and import_instr_limit flags set to /O3, 3, and 100 respectively.</li>
|
||||
<li>LLVM LOOP optimizations as -mllvm flags</li>
|
||||
</ul>
|
||||
<p> This nets a <b><em>2-8%</em> performance</b> improvement, depending on the benchmark and OS. See <a title="List of Patches" href="https://github.com/Alex313031/Thorium/blob/main/PATCHES.md">PATCHES.md</a> for a detailed overview of all modifications compared to vanilla Chromium regarding performance, security and useability.</p>
|
||||
<h2><u><Links></u></h2>
|
||||
<p> <span title="Under Construction" style="color: #fbbc04;"><b><em>Website under construction.</em></b></span> <a rel="noopener" title="Under Construction" href="misc/Chicago_Under_Construction.png">Δ</a> Meanwhile, you can check out the main <a title="Thorium Source Code" rel="noopener" href="https://github.com/Alex313031/Thorium">repository</a>, read the <a title="alex313031.blogspot.com" rel="noopener" href="https://alex313031.blogspot.com/">developer blog,</a> or download releases for:</p>
|
||||
<!-- Links List -->
|
||||
<ul title="Thorium Links">
|
||||
<li><a rel="noopener" href="https://github.com/Alex313031/Thorium/releases">Linux</a></li>
|
||||
<li><a rel="noopener" href="https://github.com/Alex313031/Thorium-Special/releases">MacOS (ARM and x64)</a></li>
|
||||
<li><a rel="noopener" href="https://github.com/Alex313031/Thorium-Special/releases">Raspberry Pi</a></li>
|
||||
<li><a rel="noopener" href="https://github.com/Alex313031/Thorium-Win/releases">Windows</a></li>
|
||||
<li><a rel="noopener" href="https://github.com/Alex313031/Thorium-AVX2/releases">Windows AVX2</a></li>
|
||||
</ul>
|
||||
<h2 class="h2"><u>Installation/Auto-Update</u></h2>
|
||||
<p>The repo can be used on any distribution that supports .deb packaging. <br> It is located at <a title="Thorium .deb Repo" rel="noopener" href="https://dl.thorium.rocks/">https://dl.thorium.rocks/</a>. To add to your system:</p>
|
||||
<!-- Code Block -->
|
||||
<pre title="APT Sources Setup">wget https://dl.thorium.rocks/debian/dists/stable/thorium.list
|
||||
sudo mv thorium.list /etc/apt/sources.list.d/
|
||||
sudo apt update
|
||||
sudo apt install thorium-browser-unstable</pre>
|
||||
<!-- Dark/Light Mode Button -->
|
||||
<button id="darkbutton" title="Toggle Dark/Light Mode">Toggle Dark/Light Mode</button>
|
||||
<p title="Thanks!"><em>Thanks for using Thorium!</em></p>
|
||||
<p title="Das Credits"><em>Credits: <a rel="noopener" title="humans.txt" href="humans.txt">HuMaNs</a></em></p>
|
||||
<img class="thor90" src="imgs/Thorium90_504.jpg" width="200" height="200" title="Element № 90." loading="lazy" alt="Thorium Element">
|
||||
<!-- Custom 404 Landing Page (uses .haccess file) -->
|
||||
<p><em><a rel="noopener" title="Funny 404 Error Page" href="404.html">blah</a></em></p>
|
||||
<!-- WebGL Cube Demo with Thorium Colours -->
|
||||
<canvas title="WebGL Cube Demo" class="glcube" id="glcube" width="384" height="256"></canvas>
|
||||
<script defer src="js/jquery-3.6.0.slim.min.js"></script>
|
||||
<script defer src="js/spin.js"></script>
|
||||
<script defer src="js/spun.js"></script>
|
||||
<script defer src="js/button.js"></script>
|
||||
<script defer src="js/gl-matrix-min_3.4.1.js"></script>
|
||||
<script defer src="js/cube.js"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,7 +0,0 @@
|
|||
// Dark mode button.
|
||||
|
||||
document.querySelector('#darkbutton').onclick = function() {
|
||||
useDark = !useDark;
|
||||
toggleDarkMode(useDark);
|
||||
localStorage.setItem('dark-mode', useDark);
|
||||
}
|
|
@ -1,391 +0,0 @@
|
|||
// thorium.rocks Cube WebDL Demo.
|
||||
|
||||
// cuberotation base multiplicand
|
||||
var cubeRotation = 0.0;
|
||||
|
||||
// Use new gl-matrix with old global namespaces
|
||||
Object.assign(window, glMatrix);
|
||||
|
||||
//main js loader
|
||||
main();
|
||||
|
||||
//
|
||||
// Start here
|
||||
//
|
||||
function main() {
|
||||
const canvas = document.querySelector('#glcube');
|
||||
const gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
|
||||
|
||||
// If we don't have a GL context, give up now
|
||||
|
||||
if (!gl) {
|
||||
alert('Unable to initialize WebGL. Your browser or machine may not support it.');
|
||||
return;
|
||||
}
|
||||
|
||||
// Vertex shader program
|
||||
|
||||
const vsSource = `
|
||||
attribute vec4 aVertexPosition;
|
||||
attribute vec4 aVertexColor;
|
||||
|
||||
uniform mat4 uModelViewMatrix;
|
||||
uniform mat4 uProjectionMatrix;
|
||||
|
||||
varying lowp vec4 vColor;
|
||||
|
||||
void main(void) {
|
||||
gl_Position = uProjectionMatrix * uModelViewMatrix * aVertexPosition;
|
||||
vColor = aVertexColor;
|
||||
}
|
||||
`;
|
||||
|
||||
// Fragment shader program
|
||||
|
||||
const fsSource = `
|
||||
varying lowp vec4 vColor;
|
||||
|
||||
void main(void) {
|
||||
gl_FragColor = vColor;
|
||||
}
|
||||
`;
|
||||
|
||||
// Initialize a shader program; this is where all the lighting
|
||||
// for the vertices and so forth is established.
|
||||
const shaderProgram = initShaderProgram(gl, vsSource, fsSource);
|
||||
|
||||
// Collect all the info needed to use the shader program.
|
||||
// Look up which attributes our shader program is using
|
||||
// for aVertexPosition, aVertexColor and also
|
||||
// look up uniform locations.
|
||||
const programInfo = {
|
||||
program: shaderProgram,
|
||||
attribLocations: {
|
||||
vertexPosition: gl.getAttribLocation(shaderProgram, 'aVertexPosition'),
|
||||
vertexColor: gl.getAttribLocation(shaderProgram, 'aVertexColor'),
|
||||
},
|
||||
uniformLocations: {
|
||||
projectionMatrix: gl.getUniformLocation(shaderProgram, 'uProjectionMatrix'),
|
||||
modelViewMatrix: gl.getUniformLocation(shaderProgram, 'uModelViewMatrix'),
|
||||
}
|
||||
};
|
||||
|
||||
// Here's where we call the routine that builds all the
|
||||
// objects we'll be drawing.
|
||||
const buffers = initBuffers(gl);
|
||||
|
||||
var then = 0;
|
||||
|
||||
// Draw the scene repeatedly
|
||||
function render(now) {
|
||||
now *= 0.001; // convert to seconds
|
||||
const deltaTime = now - then;
|
||||
then = now;
|
||||
|
||||
drawScene(gl, programInfo, buffers, deltaTime);
|
||||
|
||||
requestAnimationFrame(render);
|
||||
}
|
||||
requestAnimationFrame(render);
|
||||
}
|
||||
|
||||
//
|
||||
// initBuffers
|
||||
//
|
||||
// Initialize the buffers we'll need. For this demo, we just
|
||||
// have one object -- a simple three-dimensional cube.
|
||||
//
|
||||
function initBuffers(gl) {
|
||||
|
||||
// Create a buffer for the cube's vertex positions.
|
||||
|
||||
const positionBuffer = gl.createBuffer();
|
||||
|
||||
// Select the positionBuffer as the one to apply buffer
|
||||
// operations to from here out.
|
||||
|
||||
gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);
|
||||
|
||||
// Now create an array of positions for the cube.
|
||||
|
||||
const positions = [
|
||||
// Front face
|
||||
-1.0, -1.0, 1.0,
|
||||
1.0, -1.0, 1.0,
|
||||
1.0, 1.0, 1.0,
|
||||
-1.0, 1.0, 1.0,
|
||||
|
||||
// Back face
|
||||
-1.0, -1.0, -1.0,
|
||||
-1.0, 1.0, -1.0,
|
||||
1.0, 1.0, -1.0,
|
||||
1.0, -1.0, -1.0,
|
||||
|
||||
// Top face
|
||||
-1.0, 1.0, -1.0,
|
||||
-1.0, 1.0, 1.0,
|
||||
1.0, 1.0, 1.0,
|
||||
1.0, 1.0, -1.0,
|
||||
|
||||
// Bottom face
|
||||
-1.0, -1.0, -1.0,
|
||||
1.0, -1.0, -1.0,
|
||||
1.0, -1.0, 1.0,
|
||||
-1.0, -1.0, 1.0,
|
||||
|
||||
// Right face
|
||||
1.0, -1.0, -1.0,
|
||||
1.0, 1.0, -1.0,
|
||||
1.0, 1.0, 1.0,
|
||||
1.0, -1.0, 1.0,
|
||||
|
||||
// Left face
|
||||
-1.0, -1.0, -1.0,
|
||||
-1.0, -1.0, 1.0,
|
||||
-1.0, 1.0, 1.0,
|
||||
-1.0, 1.0, -1.0,
|
||||
];
|
||||
|
||||
// Now pass the list of positions into WebGL to build the
|
||||
// shape. We do this by creating a Float32Array from the
|
||||
// JavaScript array, then use it to fill the current buffer.
|
||||
|
||||
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(positions), gl.STATIC_DRAW);
|
||||
|
||||
// Now set up the colors for the faces. We'll use solid colors
|
||||
// for each face.
|
||||
|
||||
const faceColors = [
|
||||
[0.098, 0.403, 0.823, 1.000], // Front face: white
|
||||
[0.400, 0.615, 0.964, 1.000], // Back face: red
|
||||
[0.682, 0.796, 0.980, 1.000], // Top face: green
|
||||
[0.000, 0.000, 0.000, 1.000], // Bottom face: blue
|
||||
[1.000, 1.000, 1.000, 1.000], // Right face: yellow
|
||||
[0.356, 0.960, 0.749, 1.000], // Left face: purple
|
||||
];
|
||||
|
||||
// Convert the array of colors into a table for all the vertices.
|
||||
|
||||
var colors = [];
|
||||
|
||||
for (var j = 0; j < faceColors.length; ++j) {
|
||||
const c = faceColors[j];
|
||||
|
||||
// Repeat each color four times for the four vertices of the face
|
||||
colors = colors.concat(c, c, c, c);
|
||||
}
|
||||
|
||||
const colorBuffer = gl.createBuffer();
|
||||
gl.bindBuffer(gl.ARRAY_BUFFER, colorBuffer);
|
||||
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(colors), gl.STATIC_DRAW);
|
||||
|
||||
// Build the element array buffer; this specifies the indices
|
||||
// into the vertex arrays for each face's vertices.
|
||||
|
||||
const indexBuffer = gl.createBuffer();
|
||||
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, indexBuffer);
|
||||
|
||||
// This array defines each face as two triangles, using the
|
||||
// indices into the vertex array to specify each triangle's
|
||||
// position.
|
||||
|
||||
const indices = [
|
||||
0, 1, 2, 0, 2, 3, // front
|
||||
4, 5, 6, 4, 6, 7, // back
|
||||
8, 9, 10, 8, 10, 11, // top
|
||||
12, 13, 14, 12, 14, 15, // bottom
|
||||
16, 17, 18, 16, 18, 19, // right
|
||||
20, 21, 22, 20, 22, 23, // left
|
||||
];
|
||||
|
||||
// Now send the element array to GL
|
||||
|
||||
gl.bufferData(gl.ELEMENT_ARRAY_BUFFER,
|
||||
new Uint16Array(indices), gl.STATIC_DRAW);
|
||||
|
||||
return {
|
||||
position: positionBuffer,
|
||||
color: colorBuffer,
|
||||
indices: indexBuffer,
|
||||
};
|
||||
}
|
||||
|
||||
//
|
||||
// Draw the scene.
|
||||
//
|
||||
function drawScene(gl, programInfo, buffers, deltaTime) {
|
||||
gl.clearColor(0.168, 0.168, 0.168, 1.0); // Clear to black, fully opaque
|
||||
gl.clearDepth(1.0); // Clear everything
|
||||
gl.enable(gl.DEPTH_TEST); // Enable depth testing
|
||||
gl.depthFunc(gl.LEQUAL); // Near things obscure far things
|
||||
|
||||
// Clear the canvas before we start drawing on it.
|
||||
|
||||
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
|
||||
|
||||
// Create a perspective matrix, a special matrix that is
|
||||
// used to simulate the distortion of perspective in a camera.
|
||||
// Our field of view is 45 degrees, with a width/height
|
||||
// ratio that matches the display size of the canvas
|
||||
// and we only want to see objects between 0.1 units
|
||||
// and 100 units away from the camera.
|
||||
|
||||
const fieldOfView = 45 * Math.PI / 180; // in radians
|
||||
const aspect = gl.canvas.clientWidth / gl.canvas.clientHeight;
|
||||
const zNear = 0.1;
|
||||
const zFar = 100.0;
|
||||
const projectionMatrix = mat4.create();
|
||||
|
||||
// note: glmatrix.js always has the first argument
|
||||
// as the destination to receive the result.
|
||||
mat4.perspective(projectionMatrix,
|
||||
fieldOfView,
|
||||
aspect,
|
||||
zNear,
|
||||
zFar);
|
||||
|
||||
// Set the drawing position to the "identity" point, which is
|
||||
// the center of the scene.
|
||||
const modelViewMatrix = mat4.create();
|
||||
|
||||
// Now move the drawing position a bit to where we want to
|
||||
// start drawing the square.
|
||||
|
||||
mat4.translate(modelViewMatrix, // destination matrix
|
||||
modelViewMatrix, // matrix to translate
|
||||
[-0.0, 0.0, -8.0]); // amount to translate
|
||||
mat4.rotate(modelViewMatrix, // destination matrix
|
||||
modelViewMatrix, // matrix to rotate
|
||||
cubeRotation * .3,// amount to rotate in radians
|
||||
[0, 1, 0]); // axis to rotate around (X)
|
||||
mat4.rotate(modelViewMatrix, // destination matrix
|
||||
modelViewMatrix, // matrix to rotate
|
||||
cubeRotation * .4,// amount to rotate in radians
|
||||
[1, 0, 0]); // axis to rotate around (Y)
|
||||
mat4.rotate(modelViewMatrix, // destination matrix
|
||||
modelViewMatrix, // matrix to rotate
|
||||
cubeRotation * .5,// amount to rotate in radians
|
||||
[0, 0, 1]); // axis to rotate around (Z)
|
||||
|
||||
// Tell WebGL how to pull out the positions from the position
|
||||
// buffer into the vertexPosition attribute
|
||||
{
|
||||
const numComponents = 3;
|
||||
const type = gl.FLOAT;
|
||||
const normalize = false;
|
||||
const stride = 0;
|
||||
const offset = 0;
|
||||
gl.bindBuffer(gl.ARRAY_BUFFER, buffers.position);
|
||||
gl.vertexAttribPointer(
|
||||
programInfo.attribLocations.vertexPosition,
|
||||
numComponents,
|
||||
type,
|
||||
normalize,
|
||||
stride,
|
||||
offset);
|
||||
gl.enableVertexAttribArray(
|
||||
programInfo.attribLocations.vertexPosition);
|
||||
}
|
||||
|
||||
// Tell WebGL how to pull out the colors from the color buffer
|
||||
// into the vertexColor attribute.
|
||||
{
|
||||
const numComponents = 4;
|
||||
const type = gl.FLOAT;
|
||||
const normalize = false;
|
||||
const stride = 0;
|
||||
const offset = 0;
|
||||
gl.bindBuffer(gl.ARRAY_BUFFER, buffers.color);
|
||||
gl.vertexAttribPointer(
|
||||
programInfo.attribLocations.vertexColor,
|
||||
numComponents,
|
||||
type,
|
||||
normalize,
|
||||
stride,
|
||||
offset);
|
||||
gl.enableVertexAttribArray(
|
||||
programInfo.attribLocations.vertexColor);
|
||||
}
|
||||
|
||||
// Tell WebGL which indices to use to index the vertices
|
||||
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, buffers.indices);
|
||||
|
||||
// Tell WebGL to use our program when drawing
|
||||
|
||||
gl.useProgram(programInfo.program);
|
||||
|
||||
// Set the shader uniforms
|
||||
|
||||
gl.uniformMatrix4fv(
|
||||
programInfo.uniformLocations.projectionMatrix,
|
||||
false,
|
||||
projectionMatrix);
|
||||
gl.uniformMatrix4fv(
|
||||
programInfo.uniformLocations.modelViewMatrix,
|
||||
false,
|
||||
modelViewMatrix);
|
||||
|
||||
{
|
||||
const vertexCount = 36;
|
||||
const type = gl.UNSIGNED_SHORT;
|
||||
const offset = 0;
|
||||
gl.drawElements(gl.TRIANGLES, vertexCount, type, offset);
|
||||
}
|
||||
|
||||
// Update the rotation for the next draw
|
||||
|
||||
cubeRotation += deltaTime;
|
||||
}
|
||||
|
||||
//
|
||||
// Initialize a shader program, so WebGL knows how to draw our data
|
||||
//
|
||||
function initShaderProgram(gl, vsSource, fsSource) {
|
||||
const vertexShader = loadShader(gl, gl.VERTEX_SHADER, vsSource);
|
||||
const fragmentShader = loadShader(gl, gl.FRAGMENT_SHADER, fsSource);
|
||||
|
||||
// Create the shader program
|
||||
|
||||
const shaderProgram = gl.createProgram();
|
||||
gl.attachShader(shaderProgram, vertexShader);
|
||||
gl.attachShader(shaderProgram, fragmentShader);
|
||||
gl.linkProgram(shaderProgram);
|
||||
|
||||
// If creating the shader program failed, alert
|
||||
|
||||
if (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS)) {
|
||||
alert('Unable to initialize the shader program: ' + gl.getProgramInfoLog(shaderProgram));
|
||||
return null;
|
||||
}
|
||||
|
||||
return shaderProgram;
|
||||
}
|
||||
|
||||
//
|
||||
// creates a shader of the given type, uploads the source and
|
||||
// compiles it.
|
||||
//
|
||||
function loadShader(gl, type, source) {
|
||||
const shader = gl.createShader(type);
|
||||
|
||||
// Send the source to the shader object
|
||||
|
||||
gl.shaderSource(shader, source);
|
||||
|
||||
// Compile the shader program
|
||||
|
||||
gl.compileShader(shader);
|
||||
|
||||
// See if it compiled successfully
|
||||
|
||||
if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
|
||||
alert('An error occurred compiling the shaders: ' + gl.getShaderInfoLog(shader));
|
||||
gl.deleteShader(shader);
|
||||
return null;
|
||||
}
|
||||
|
||||
return shader;
|
||||
}
|
||||
|
||||
// Run on page load
|
||||
window.onload = main;
|
2
website/js/jquery-3.6.0.slim.min.js
vendored
|
@ -1,10 +0,0 @@
|
|||
// thorium.svg spinner
|
||||
|
||||
$( ".spin" ).click(function() {
|
||||
//alert($( this ).css( "transform" ));
|
||||
if ( $( this ).css( "transform" ) == 'none' ){
|
||||
$(this).css("transform","rotate(-360deg)");
|
||||
} else {
|
||||
$(this).css("transform","" );
|
||||
}
|
||||
});
|
|
@ -1,7 +0,0 @@
|
|||
// Spun? localstorage.
|
||||
|
||||
$( '#spinner' ).click( function() {
|
||||
localStorage.setItem('spun', 'true');
|
||||
localStorage.getItem('spun');
|
||||
}
|
||||
);
|
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 185 KiB |
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 4.8 KiB |
|
@ -1,4 +0,0 @@
|
|||
User-agent: *
|
||||
Allow: /
|
||||
|
||||
Sitemap: https://thorium.rocks/sitemap.xml
|
|
@ -1,27 +0,0 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||
width="700.000000pt" height="700.000000pt" viewBox="0 0 700.000000 700.000000"
|
||||
preserveAspectRatio="xMidYMid meet">
|
||||
<metadata>
|
||||
Created by potrace 1.14, written by Peter Selinger 2001-2017
|
||||
</metadata>
|
||||
<g transform="translate(0.000000,700.000000) scale(0.100000,-0.100000)"
|
||||
fill="#000000" stroke="none">
|
||||
<path d="M3330 6743 c-55 -4 -252 -24 -290 -29 -58 -8 -293 -54 -325 -64 -16
|
||||
-5 -41 -11 -55 -14 -38 -7 -285 -89 -375 -126 -607 -243 -1127 -669 -1494
|
||||
-1222 -122 -184 -244 -422 -321 -628 -89 -236 -162 -522 -185 -725 -4 -33 -9
|
||||
-67 -10 -76 -23 -119 -23 -582 -1 -719 2 -14 7 -47 11 -75 5 -42 34 -203 49
|
||||
-280 51 -250 183 -596 329 -860 47 -84 212 -344 227 -355 3 -3 28 -34 55 -70
|
||||
27 -36 56 -72 64 -81 9 -9 42 -46 73 -81 202 -228 472 -454 723 -605 459 -277
|
||||
939 -431 1465 -470 225 -17 583 -1 755 33 11 2 34 6 50 9 204 35 424 99 643
|
||||
187 161 65 431 200 440 221 2 4 8 7 14 7 13 0 186 115 294 196 605 456 1042
|
||||
1142 1207 1894 24 108 29 137 43 243 3 23 7 56 9 72 27 194 25 617 -5 795 -5
|
||||
30 -11 73 -14 95 -7 49 -14 92 -22 125 -3 14 -8 36 -10 50 -3 14 -9 39 -14 55
|
||||
-5 17 -11 41 -14 55 -14 76 -111 367 -158 475 -42 95 -146 300 -172 338 -14
|
||||
21 -26 40 -26 43 0 3 -26 45 -57 92 -32 48 -60 92 -63 97 -16 33 -199 263
|
||||
-270 339 -184 200 -481 451 -652 551 -9 6 -48 29 -86 52 -278 170 -631 310
|
||||
-962 382 -104 23 -110 24 -255 45 -170 25 -468 39 -615 29z"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.5 KiB |
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
"name": "Thorium",
|
||||
"short_name": "Thorium",
|
||||
"icons": [
|
||||
{
|
||||
"src": "/android-chrome-192x192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png"
|
||||
},
|
||||
{
|
||||
"src": "/android-chrome-512x512.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png"
|
||||
}
|
||||
],
|
||||
"theme_color": "#ffffff",
|
||||
"background_color": "#ffffff",
|
||||
"display": "standalone"
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset
|
||||
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
|
||||
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
|
||||
<!-- created with Free Online Sitemap Generator www.xml-sitemaps.com -->
|
||||
|
||||
<url>
|
||||
<loc>https://thorium.rocks/</loc>
|
||||
<lastmod>2022-05-28T10:11:57+00:00</lastmod>
|
||||
<priority>1.00</priority>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://dl.thorium.rocks/</loc>
|
||||
<lastmod>2022-05-28T10:11:57+00:00</lastmod>
|
||||
<priority>0.90</priority>
|
||||
</url>
|
||||
|
||||
<url>
|
||||
<loc>https://thorium.rocks/humans.txt</loc>
|
||||
<lastmod>2022-05-28T10:11:57+00:00</lastmod>
|
||||
<priority>0.60</priority>
|
||||
</url>
|
||||
|
||||
</urlset>
|