wip: rewrite to flask
|
After Width: | Height: | Size: 8.3 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 232 KiB |
|
After Width: | Height: | Size: 472 KiB |
|
After Width: | Height: | Size: 128 B |
|
After Width: | Height: | Size: 398 B |
|
After Width: | Height: | Size: 499 B |
|
After Width: | Height: | Size: 358 B |
|
After Width: | Height: | Size: 813 B |
|
After Width: | Height: | Size: 230 B |
|
After Width: | Height: | Size: 516 B |
|
After Width: | Height: | Size: 259 B |
|
After Width: | Height: | Size: 355 B |
|
After Width: | Height: | Size: 418 B |
|
After Width: | Height: | Size: 202 B |
|
After Width: | Height: | Size: 191 B |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 747 B |
|
After Width: | Height: | Size: 700 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 264 B |
|
After Width: | Height: | Size: 783 B |
|
After Width: | Height: | Size: 843 B |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 702 B |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 137 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 81 B |
|
After Width: | Height: | Size: 84 B |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 306 KiB |
|
After Width: | Height: | Size: 151 KiB |
|
After Width: | Height: | Size: 124 KiB |
|
After Width: | Height: | Size: 358 KiB |
|
After Width: | Height: | Size: 42 KiB |
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" x1="66.67%" x2="41.67%" y1="16.67%" y2="75%"><stop offset="0" stop-color="#37aee2"/><stop offset="1" stop-color="#1e96c8"/></linearGradient><linearGradient id="b" x1="65.97%" x2="85.12%" y1="43.69%" y2="80.24%"><stop offset="0" stop-color="#eff7fc"/><stop offset="1" stop-color="#fff"/></linearGradient><circle cx="8" cy="8" fill="url(#a)" r="8"/><path d="m6.53333333 11.6666667c-.25917333 0-.21513333-.09786-.30452-.3446334l-.76214666-2.50830663 5.86666663-3.48039334" fill="#c8daea"/><path d="m6.53333333 11.6666667c.2 0 .28836667-.0914667.4-.2l1.06666667-1.0372-1.33053333-.80233337" fill="#a9c9dd"/><path d="m6.66933333 9.62733333 3.224 2.38193337c.36789997.2029933.63342667.0978933.72506667-.3415667l1.3123333-6.1842c.13436-.53868-.20534-.783-.5572933-.62321333l-7.706 2.9714c-.52600667.21098-.52294.50444-.09588.6352l1.97753333.61722 4.57819997-2.88833334c.2161267-.13106.4144867-.06059933.25168.08389334" fill="url(#b)"/></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
@@ -0,0 +1,119 @@
|
||||
/* LANGUAGE DROPDOWN */
|
||||
|
||||
function dropdown_show(obj)
|
||||
{
|
||||
var x = y = 0;
|
||||
|
||||
while(obj)
|
||||
{
|
||||
x += obj.offsetLeft;
|
||||
y += obj.offsetTop;
|
||||
obj = obj.offsetParent;
|
||||
}
|
||||
|
||||
ddown = document.getElementById("lang-dropdown");
|
||||
ddown.style.display = "block";
|
||||
ddown.style.left = (x - 72) + "px";
|
||||
|
||||
if (ddown.offsetLeft + ddown.offsetWidth +10 > document.body.offsetWidth)
|
||||
{
|
||||
ddown.style.left = document.body.offsetWidth - ddown.offsetWidth - 82 + "px";
|
||||
}
|
||||
|
||||
ddown.style.top = (y + 48) + "px";
|
||||
op = 0;
|
||||
appear(1);
|
||||
}
|
||||
|
||||
function dropdown_hide()
|
||||
{
|
||||
ddown = document.getElementById("lang-dropdown");
|
||||
ddown.style.display="none";
|
||||
}
|
||||
|
||||
function appear(x)
|
||||
{
|
||||
if(op < x)
|
||||
{
|
||||
op += 0.2;
|
||||
ddown.style.opacity = op;
|
||||
ddown.style.filter = 'alpha(opacity=' + op * 100 + ')';
|
||||
t = setTimeout('appear(' + x + ')', 20);
|
||||
}
|
||||
}
|
||||
|
||||
/* SCREENSHOTS GALLERY */
|
||||
|
||||
var FIRST_IMG_ID = 1;
|
||||
var LAST_IMG_ID = 6;
|
||||
var current = LAST_IMG_ID; // start with last slide so that next() shows the first
|
||||
|
||||
window.onload = function() {
|
||||
// Dynamically create dots based on number of slides
|
||||
var dots = document.getElementById("dots");
|
||||
for (var i = FIRST_IMG_ID; i <= LAST_IMG_ID; i++) {
|
||||
var dot = document.createElement("span");
|
||||
dot.className = "dot" + (i === current ? " active" : "");
|
||||
dot.setAttribute("data-slide", i);
|
||||
dot.onclick = function() {
|
||||
goToSlide(parseInt(this.getAttribute("data-slide")));
|
||||
};
|
||||
dots.appendChild(dot);
|
||||
}
|
||||
// If a carousel element exists, advance to the first slide on load
|
||||
if (document.getElementById("carousel")) next();
|
||||
};
|
||||
|
||||
function updateDots() {
|
||||
var dots = document.querySelectorAll("#dots .dot");
|
||||
dots.forEach(function(dot, index) {
|
||||
// index starts at 0 so add FIRST_IMG_ID to match your slide IDs
|
||||
dot.className = "dot" + ((index + FIRST_IMG_ID) === current ? " active" : "");
|
||||
});
|
||||
}
|
||||
|
||||
function goToSlide(n) {
|
||||
if (n === current) return;
|
||||
document.getElementById("slide" + current).className = "minislide";
|
||||
current = n;
|
||||
document.getElementById("slide" + current).className = "visible";
|
||||
if (document.getElementById("carousel")) {
|
||||
document.getElementById("carousel").innerHTML = document.getElementById("slide" + current).alt;
|
||||
}
|
||||
updateDots();
|
||||
}
|
||||
|
||||
function next() {
|
||||
document.getElementById("slide" + current).className = "minislide";
|
||||
if (current >= LAST_IMG_ID) {
|
||||
current = FIRST_IMG_ID;
|
||||
} else {
|
||||
current++;
|
||||
}
|
||||
document.getElementById("slide" + current).className = "visible";
|
||||
if (document.getElementById("carousel")) {
|
||||
document.getElementById("carousel").innerHTML = document.getElementById("slide" + current).alt;
|
||||
}
|
||||
updateDots();
|
||||
}
|
||||
|
||||
function previous() {
|
||||
document.getElementById("slide" + current).className = "minislide";
|
||||
if (current <= FIRST_IMG_ID) {
|
||||
current = LAST_IMG_ID;
|
||||
} else {
|
||||
current--;
|
||||
}
|
||||
document.getElementById("slide" + current).className = "visible";
|
||||
if (document.getElementById("carousel")) {
|
||||
document.getElementById("carousel").innerHTML = document.getElementById("slide" + current).alt;
|
||||
}
|
||||
updateDots();
|
||||
}
|
||||
|
||||
function checkkey(e) {
|
||||
var keycode = window.event ? e.keyCode : e.which;
|
||||
if (keycode == 37) { previous(); }
|
||||
else if (keycode == 39) { next(); }
|
||||
else if (keycode == 27) { dropdown_hide(); }
|
||||
}
|
||||
@@ -0,0 +1,461 @@
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: "Source Sans Pro", "Open Sans", sans-serif;
|
||||
background: #e1e2e2 url(img/bg.png) repeat fixed 0 0;
|
||||
}
|
||||
|
||||
#menu {
|
||||
background: rgba(22, 22, 23, .8);
|
||||
color: #FFFFFF;
|
||||
cursor: default;
|
||||
line-height: 2em;
|
||||
padding: 0.5em 0;
|
||||
text-align: center;
|
||||
text-shadow: 2px 2px 2px #00000063;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
z-index: 9000;
|
||||
}
|
||||
|
||||
#menu > * {
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
margin: 0 1em;
|
||||
text-decoration: none;
|
||||
transition: color 0.15s ease;
|
||||
}
|
||||
|
||||
#menu a:hover,
|
||||
#menu a.a-sel {
|
||||
color: #ffe36a;
|
||||
}
|
||||
|
||||
#menu img {
|
||||
filter: drop-shadow(2px 2px 2px #00000020);
|
||||
}
|
||||
|
||||
#lang-butt {
|
||||
background: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
/* LANG-DROPDOWN */
|
||||
|
||||
#lang-dropdown {
|
||||
position: fixed;
|
||||
z-index: 9100;
|
||||
display: none;
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
|
||||
#lang-dropdown::before {
|
||||
content: '';
|
||||
display: block;
|
||||
position: absolute;
|
||||
border: 11px solid #333C;
|
||||
border-left: 10px solid rgba(255, 255, 255, 0);
|
||||
border-right: 10px solid rgba(255, 255, 255, 0);
|
||||
border-top: 0px solid rgba(255, 255, 255, 0);
|
||||
top: -10px;
|
||||
left: 50%;
|
||||
margin-left: -6px;
|
||||
}
|
||||
|
||||
#lang-dropdown>div {
|
||||
display: block;
|
||||
margin-left: 4px;
|
||||
border-radius: 3px;
|
||||
border: 1px solid #333;
|
||||
box-shadow: 0 0 5px #000;
|
||||
box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
|
||||
overflow: hidden;
|
||||
background: #333;
|
||||
background: #333E;
|
||||
backdrop-filter: saturate(180%) blur(6px);
|
||||
}
|
||||
|
||||
#lang-dropdown>div a {
|
||||
display: block;
|
||||
padding: 0 3em 0 1em;
|
||||
font-size: 90%;
|
||||
line-height: 2.5;
|
||||
border-top: 1px solid rgba(255, 255, 255, 0.06);
|
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.07);
|
||||
text-decoration: none;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
#lang-dropdown>div a:hover {
|
||||
border-bottom: 1px solid #34312eff;
|
||||
border-top: 1px solid #4c4c4cff;
|
||||
background: #444;
|
||||
background: linear-gradient(328deg, #c20d2c7d, #3928c78a);
|
||||
}
|
||||
|
||||
#lang-dropdown>div a.a-sel {
|
||||
color: #888 !important;
|
||||
}
|
||||
|
||||
#lang-dropdown>div a.a-sel img {
|
||||
color: #888 !important;
|
||||
filter: brightness(0.5);
|
||||
}
|
||||
|
||||
#lang-dropdown>div a img {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin-right: 10px;
|
||||
margin-top: -3px;
|
||||
width: 16px;
|
||||
height: 11px;
|
||||
filter: drop-shadow(1px 2px 2px #0003);
|
||||
}
|
||||
|
||||
#lang-dropdown>div a:first-child {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
#lang-dropdown>div a:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
/* ARTICLE */
|
||||
|
||||
#article {
|
||||
background: rgba(254, 255, 255, 1);
|
||||
border: 1px solid #c0b9c491;
|
||||
border-radius: 4px;
|
||||
box-shadow: rgb(28 26 40 / 12%) 0px 4px 4px -2px;
|
||||
margin: 2em auto;
|
||||
max-width: 910px;
|
||||
padding: 2em;
|
||||
text-align: justify;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
#banner {
|
||||
box-sizing: border-box;
|
||||
border: 1px solid #00000020;
|
||||
border-radius: 4px;
|
||||
box-shadow: none;
|
||||
display: block;
|
||||
margin: 4px 4px 1.25em;
|
||||
outline: 4px solid transparent;
|
||||
transition: outline 0.3s ease;
|
||||
padding: 1em;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#banner:hover {
|
||||
outline-color: lightblue;
|
||||
}
|
||||
|
||||
#banner td {
|
||||
text-align: center;
|
||||
vertical-align: center;
|
||||
}
|
||||
|
||||
#banner img {
|
||||
height: 7em;
|
||||
}
|
||||
|
||||
#banner h1 {
|
||||
margin-top: 0em;
|
||||
color: #609A21;
|
||||
font-size: 2.5em;
|
||||
margin: 0 0 16px;
|
||||
}
|
||||
|
||||
#banner p {
|
||||
margin: 0em;
|
||||
}
|
||||
|
||||
#banner .p-link {
|
||||
margin-top: 16px;
|
||||
color: #609A21;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#banner a {
|
||||
color: #609A21;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 125%;
|
||||
padding: 0;
|
||||
margin: 0 0 16px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #1F1F1F;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
p {
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.p-socials {
|
||||
text-align: center;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.p-socials a {
|
||||
margin: 1em 1em;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.p-socials br {
|
||||
margin: 0em 0em 1em;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.p-socials img {
|
||||
height: 1em;
|
||||
margin-right: 0.5em;
|
||||
margin-bottom: -0.15em;
|
||||
}
|
||||
|
||||
.p-subscription
|
||||
{
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* DOWNLOADS */
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
table a {
|
||||
padding-bottom: 1px;
|
||||
border-bottom: 1px solid;
|
||||
text-decoration: none;
|
||||
color: #0472D8
|
||||
}
|
||||
|
||||
table a:hover
|
||||
{
|
||||
color: #0053B9;
|
||||
}
|
||||
|
||||
tr {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.tr-margin-bot>td{
|
||||
padding-bottom: 1em;
|
||||
}
|
||||
|
||||
.tr-margin-top>td{
|
||||
padding-top: 1em;
|
||||
}
|
||||
|
||||
td {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
td img {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.td-image {
|
||||
width: 3em;
|
||||
}
|
||||
|
||||
.td-description {
|
||||
text-align: left;
|
||||
width: 40%;
|
||||
}
|
||||
|
||||
.td-description .beta {
|
||||
border: 1px solid grey;
|
||||
color: grey;
|
||||
font-size: 0.75em;
|
||||
font-weight: bold;
|
||||
border-radius: 0.25em;
|
||||
padding: 0.25em;
|
||||
}
|
||||
|
||||
.td-date {
|
||||
text-align: right;
|
||||
padding-right: 2em;
|
||||
}
|
||||
|
||||
.td-languages {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.td-languages a {
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
hr {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.help-button {
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
background: #FF9800;
|
||||
border-radius: 4px;
|
||||
box-shadow: inset 0 1px rgba(254,181,94,0.9), inset 0 -2px rgba(0,0,0,0.04);
|
||||
color: #FFFFFF;
|
||||
padding: 0.5em 1em;
|
||||
text-align: center;
|
||||
transition: 0.5s;
|
||||
}
|
||||
|
||||
.help-button:hover {
|
||||
background: #F6920B;
|
||||
}
|
||||
|
||||
acronym {
|
||||
border-bottom: 1px dashed #ccc;
|
||||
text-decoration: none;
|
||||
cursor: help;
|
||||
}
|
||||
|
||||
/* SCREENS.CSS */
|
||||
|
||||
#show {
|
||||
max-width: 1280px;
|
||||
max-height: 800px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
cursor: pointer;
|
||||
border: 1px solid #182028;
|
||||
display: block;
|
||||
position: relative;
|
||||
border-radius: 4px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#show img {
|
||||
display: none;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
#show img.visible {
|
||||
display: block;
|
||||
}
|
||||
|
||||
iframe {
|
||||
width: 100%;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
aspect-ratio: 16 / 9;
|
||||
}
|
||||
|
||||
#carousel {
|
||||
text-align: center;
|
||||
margin: 1.25em auto 1em;
|
||||
}
|
||||
|
||||
#dots {
|
||||
text-align: center;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.dot {
|
||||
display: inline-block;
|
||||
width: 0.625em;
|
||||
height: 0.625em;
|
||||
background: #ccc;
|
||||
border-radius: 50%;
|
||||
margin: 0 0.25em;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dot.active {
|
||||
background: #333;
|
||||
}
|
||||
|
||||
/* FOOTER */
|
||||
|
||||
#footer {
|
||||
margin: 2em auto;
|
||||
text-align: center;
|
||||
color: #848585;
|
||||
display: block;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
color: rgb(132, 133, 133);
|
||||
text-shadow: rgb(255, 255, 255) 1px 1px 0px;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
#footer img
|
||||
{
|
||||
margin-bottom: 0.5em;
|
||||
height: 7em;
|
||||
}
|
||||
|
||||
#footer p
|
||||
{
|
||||
margin: 0;
|
||||
|
||||
}
|
||||
|
||||
/* ADAPTIVE LAYOUT */
|
||||
|
||||
@media (max-width:864px) {
|
||||
|
||||
#article {
|
||||
margin: 0 0 1em;
|
||||
padding: 1em 1em 1.5em;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
#banner {
|
||||
max-width: calc(100% - 2px);
|
||||
margin: 1px 0 1em;
|
||||
outline: 1px solid rgb(227 227 227);;
|
||||
}
|
||||
|
||||
#banner img {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#banner h1 {
|
||||
font-size: 1.5em;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
#banner p, #banner .p-link {
|
||||
margin-top: 0.5em;
|
||||
}
|
||||
|
||||
.p-socials a {
|
||||
display: block;
|
||||
margin: 1em 0 0;
|
||||
}
|
||||
|
||||
#menu>* {
|
||||
margin: 0 0.5em;
|
||||
}
|
||||
|
||||
.td-description {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.td-date {
|
||||
display: none;
|
||||
padding-right: 1em;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
.td-languages a {
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
#footer {
|
||||
margin: 1em auto;
|
||||
}
|
||||
}
|
||||