2024 Initial commit.
This commit is contained in:
parent
069a7ea932
commit
74e93f779a
236 changed files with 5835 additions and 37368 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
.jekyll-cache/
|
||||
.jekyll-metadata
|
||||
9
LICENSE
Normal file
9
LICENSE
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2024 hanez
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
48
Makefile
Normal file
48
Makefile
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
run:
|
||||
jekyll s --incremental --drafts
|
||||
|
||||
runclean:
|
||||
rm -rf ./_site/*
|
||||
jekyll s --incremental --drafts
|
||||
|
||||
build:
|
||||
jekyll b --incremental
|
||||
|
||||
release:
|
||||
jekyll b --incremental
|
||||
find ./_site -name "*.html" -exec minify --html-keep-document-tags --html-keep-end-tags -o {} {} \;
|
||||
find ./_site -name "*.css" -exec minify --css-precision 0 -o {} {} \;
|
||||
find ./_site -name "*.xml" -exec minify -o {} {} \;
|
||||
make sync
|
||||
|
||||
releaseraw:
|
||||
make clean
|
||||
jekyll b --incremental
|
||||
make sync
|
||||
|
||||
releaseclean:
|
||||
jekyll b --incremental
|
||||
make syncclean
|
||||
|
||||
sync:
|
||||
rsync -avr --delete --delete-excluded --exclude=build.log --exclude=Makefile ./_site/ xw3.org:/var/www/xw3.org/www/htdocs/
|
||||
scp -r .well-known xw3.org:/var/www/xw3.org/www/htdocs/
|
||||
|
||||
syncclean:
|
||||
rsync -avr --delete --delete-excluded --exclude=Makefile ./_site/ xw3.org:/var/www/xw3.org/www/htdocs/
|
||||
scp -r .well-known xw3.org:/var/www/xw3.org/www/htdocs/
|
||||
|
||||
all:
|
||||
make release
|
||||
|
||||
freshrelease:
|
||||
rm -rf _site/*
|
||||
make release
|
||||
|
||||
freshrun:
|
||||
rm -rf _site/*
|
||||
make run
|
||||
|
||||
clean:
|
||||
rm -rf _site/*
|
||||
|
||||
2
README.md
Normal file
2
README.md
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
# xw3
|
||||
|
||||
64
_config.yml
Normal file
64
_config.yml
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
title: "[xw3.org]"
|
||||
org: xw3.org
|
||||
subtitle: ...
|
||||
email: mail@xw3.org
|
||||
description: A static HTML and CGI based website...
|
||||
baseurl: ""
|
||||
url: https://xw3.org
|
||||
url_short: xw3.org
|
||||
lang: en
|
||||
os: GNU/Linux
|
||||
timezone: CET/CEST
|
||||
|
||||
challenge_error: Invalid challenge result! Please try again... :(
|
||||
mail_thank_you: Thank you for contacting me... :)
|
||||
|
||||
username: xw3
|
||||
|
||||
cookiebanner_text: This website uses cookies to provide you with a better online experience. Leave this site if you don't accept the usage of cookies. No tracking cookies are being used! To find out more, please visit this website's
|
||||
cookiebanner_dismiss_text: Got it!
|
||||
cookiebanner_link_text: Privacy Policy
|
||||
cookiebanner_link: /privacy/
|
||||
|
||||
paginate: 3
|
||||
paginate_path: /:num/
|
||||
permalink: /:year/:month/:day/:title/
|
||||
|
||||
markdown: kramdown
|
||||
|
||||
tocTopTag: h2
|
||||
anchorPrefix: ""
|
||||
showToggleButton: false
|
||||
contentsLabel: TOC
|
||||
|
||||
exclude:
|
||||
- .idea/
|
||||
- bin/
|
||||
- venv/
|
||||
- .project
|
||||
- build.log
|
||||
- Makefile
|
||||
- README.md
|
||||
- requirements.txt
|
||||
|
||||
category_archive:
|
||||
path: /category/
|
||||
|
||||
plugins:
|
||||
- jekyll-paginate
|
||||
- jekyll-sitemap
|
||||
- jekyll-admin
|
||||
- jekyll-toc
|
||||
|
||||
defaults:
|
||||
-
|
||||
scope:
|
||||
path: "cgi/*"
|
||||
values:
|
||||
sitemap: false
|
||||
-
|
||||
scope:
|
||||
path: "files/*"
|
||||
values:
|
||||
sitemap: false
|
||||
|
||||
0
_drafts/.gitkeep
Normal file
0
_drafts/.gitkeep
Normal file
13
_includes/footer.html
Normal file
13
_includes/footer.html
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<footer class="site-footer">
|
||||
<div class="wrapper">
|
||||
<div class="footer-col-wrapper">
|
||||
<p style="text-align:center;">
|
||||
Copyright © {{ site.time | date: "%Y" }} - {{ site.title }} -
|
||||
<a href="/feed.xml" class="rss"><i class="fa fa-rss" aria-hidden="true"></i><span style="display:none;"> RSS Feed</span></a> -
|
||||
<a href="https://git.xw3.org/xw3" class="git"><i class="fa fa-git" aria-hidden="true"></i><span style="display:none;"> Git repositories</span></a> -
|
||||
<a href="https://wiki.xw3.org/start" class="book"><i class="fa fa-book" aria-hidden="true"></i><span style="display:none;"> Wiki</span></a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
18
_includes/head.html
Normal file
18
_includes/head.html
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{{ site.url_short }}:{{ page.title }}</title>
|
||||
<meta name="author" content="{{ site.org }} ">
|
||||
<meta name="generator" content="xw3.org">
|
||||
<meta name="robots" content="index,follow">
|
||||
<meta name="revisit-after" content="7 days">
|
||||
<meta name="description" content="{% if page.description %}{{ page.description | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description | strip_html | strip_newlines | truncate: 160 }}{% endif %}">
|
||||
{% if page.tags %}<meta name="keywords" content="{{ page.tags | join: ',' }}">{% endif %}
|
||||
<link rel="shortcut icon" type="image/png" href="/favicon.png">
|
||||
<link rel="stylesheet" type="text/css" href="/css/main.css">
|
||||
<link rel="stylesheet" type="text/css" href="/css/fork-awesome.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/css/cookieconsent.min.css" />
|
||||
<script src="/js/jquery-3.6.4.min.js" charset="utf-8"></script>
|
||||
<link rel="canonical" href="{{ site.url }}{{ page.url | replace:'index.html','' }}">
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS Feed - {{ site.title }}" href="{{ site.url }}/feed.xml">
|
||||
</head>
|
||||
16
_includes/header.html
Normal file
16
_includes/header.html
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<header class="site-header">
|
||||
<div class="wrapper">
|
||||
<!--<a class="site-title" href="/"><img width="80" src="/images/logo.png" alt="{{ site.title }}"></a>-->
|
||||
<nav class="site-nav">
|
||||
<a href="#" class="menu-icon"><span class="fa fa-bars" aria-hidden="true"></span></a>
|
||||
<div class="trigger">
|
||||
<ul style="list-style: none;">
|
||||
<li><a class="page-link" href="/" style="text-decoration: none;">/</a></li>
|
||||
<li><a class="page-link" href="/about/" style="text-decoration: none;">/about/</a></li>
|
||||
<li><a class="page-link" href="/contact/" style="text-decoration: none;">/contact/</a></li>
|
||||
<li><a class="page-link" href="/tools/" style="text-decoration: none;">/tools/</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
39
_layouts/default.html
Normal file
39
_layouts/default.html
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
---
|
||||
layout:
|
||||
---
|
||||
<!DOCTYPE html>
|
||||
<html lang="{% if page.lang %}{{ page.lang }}{% else %}{{ site.lang }}{% endif %}" id="top">
|
||||
{% include head.html %}
|
||||
<body>
|
||||
|
||||
<div class="site">
|
||||
<div id="loader" class="lds-dual-ring hidden overlay"></div>
|
||||
{% include header.html %}
|
||||
<div class="page-content">
|
||||
<div class="wrapper">
|
||||
{{ content }}
|
||||
</div>
|
||||
</div>
|
||||
{% include footer.html %}
|
||||
</div>
|
||||
<p style="text-align: center; color: #e8e8e8; font-size: 12px;">
|
||||
<span id="uptime">NULL</span><br>
|
||||
|
||||
Page generated at: {{ site.time | date: "%b %-d, %Y" }} ({{ site.timezone }}) using Jekyll on {{ site.os }} @jupiter<br>
|
||||
|
||||
Powered by: <span id="uname">NULL</span>
|
||||
</p>
|
||||
<a href="#top" id="topbutton"><span></span></a>
|
||||
<script src="/js/cookieconsent.min.js" data-cfasync="false"></script>
|
||||
<!-- Source for configuration below: https://www.osano.com/cookieconsent/download/ - https://www.osano.com/cookieconsent/documentation/compliance/ -->
|
||||
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$("#uname").load("/cgi/uname/");
|
||||
$("#uptime").load("/cgi/uptime/");
|
||||
});
|
||||
</script>
|
||||
|
||||
<script>window.cookieconsent.initialise({"palette":{"popup":{"background":"#000","text":"#e8e8e8"},"button":{"background":"#bc6c21"}},"theme":"classic","position":"bottom","static":false,"content":{"message":"{{ site.cookiebanner_text }} ","dismiss":"{{ site.cookiebanner_dismiss_text }}","link":"{{ site.cookiebanner_link_text }}.","href":"{{ site.cookiebanner_link }}"}});</script>
|
||||
</body>
|
||||
</html>
|
||||
14
_layouts/page.html
Normal file
14
_layouts/page.html
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
layout: default
|
||||
---
|
||||
<div class="post">
|
||||
<header class="post-header">
|
||||
<h1 class="post-title" id="terminal">{{ site.url_short }}:{{ page.title }}</h1>
|
||||
{% if page.noDate != true %}<p class="post-meta">{% if page.date %}{{ page.date | date: "%b %-d, %Y" }} - {% endif %}
|
||||
Updated: {{ page.path | file_date | date: "%b %-d, %Y" }} ({{ site.timezone }})</p>{% endif %}
|
||||
{% if page.subtitle %}<p>{{ page.subtitle }}</p>{% endif %}
|
||||
</header>
|
||||
<article class="post-content">
|
||||
{{ content | toc_generate }}
|
||||
</article>
|
||||
</div>
|
||||
16
_layouts/post.html
Normal file
16
_layouts/post.html
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
layout: default
|
||||
---
|
||||
<div class="post">
|
||||
<header class="post-header">
|
||||
<h1 class="post-title" id="terminal">{{ page.title }}</h1>
|
||||
<p class="post-meta">{% if page.date %}{{ page.date | date: "%b %-d, %Y" }}{% endif %}
|
||||
{% if page.date and page.date_updated %} - {% endif %}
|
||||
{% if page.date_updated %}Updated: {{ page.date_updated | date: "%b %-d, %Y" }}{% endif %}
|
||||
{% if page.date or page.date_updated %} ({{ site.timezone }}){% endif %}</p>
|
||||
</header>
|
||||
<article class="post-content">
|
||||
{{ content }}
|
||||
</article>
|
||||
</div>
|
||||
|
||||
0
_plugins/.gitkeep
Normal file
0
_plugins/.gitkeep
Normal file
82
_plugins/compressor.rb.bak
Normal file
82
_plugins/compressor.rb.bak
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
|
||||
require 'packr'
|
||||
|
||||
|
||||
module Jekyll
|
||||
module Compressor
|
||||
@@mtimes = {}
|
||||
|
||||
def compress_html(content)
|
||||
content.gsub(/(?>[^\S ]\s*|\s{2,})(?=(?:(?:[^<]++|<(?!\/?(?:textarea|pre)\b))*+)(?:<(?>textarea|pre)\b|\z))/ix, '')
|
||||
end
|
||||
|
||||
# Really writing process
|
||||
def output_file(dest, content)
|
||||
FileUtils.mkdir_p(File.dirname(dest))
|
||||
File.open(dest, 'w') do |f|
|
||||
f.write(content)
|
||||
end
|
||||
end
|
||||
|
||||
def output_html(dest, content)
|
||||
path = self.destination(dest)
|
||||
self.output_file(path, compress_html(content))
|
||||
end
|
||||
|
||||
def output_js(dest, content)
|
||||
self.output_file(dest, Packr.pack(content,
|
||||
:shrink_vars => true
|
||||
))
|
||||
end
|
||||
end
|
||||
|
||||
class Post
|
||||
|
||||
include Compressor
|
||||
|
||||
def write(dest)
|
||||
self.output_html(dest, self.output)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
class Page
|
||||
|
||||
include Compressor
|
||||
|
||||
def write(dest)
|
||||
self.output_html(dest, self.output)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
class StaticFile
|
||||
|
||||
include Compressor
|
||||
|
||||
def write(dest)
|
||||
dest_path = self.destination(dest)
|
||||
|
||||
return false if File.exist?(dest_path) and !self.modified?
|
||||
@@mtimes[path] = mtime
|
||||
|
||||
case File.extname(dest_path)
|
||||
when '.html'
|
||||
self.output_html(dest_path, File.read(path))
|
||||
when '.js'
|
||||
self.output_js(dest_path, File.read(path))
|
||||
else
|
||||
FileUtils.mkdir_p(File.dirname(dest_path))
|
||||
FileUtils.cp(path, dest_path)
|
||||
end
|
||||
|
||||
true
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
12
_plugins/myFilters.rb
Normal file
12
_plugins/myFilters.rb
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
# https://stackoverflow.com/questions/14978474/how-to-show-the-modification-date-of-a-file-in-jekyll
|
||||
|
||||
module Jekyll
|
||||
module MyFilters
|
||||
def file_date(input)
|
||||
File.mtime(input)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Liquid::Template.register_filter(Jekyll::MyFilters)
|
||||
|
||||
144
_plugins/tocGenerator.rb
Normal file
144
_plugins/tocGenerator.rb
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
# This code was originally written by Davide Ficano:
|
||||
# https://github.com/dafi/jekyll-toc-generator
|
||||
# Thank you for that!
|
||||
|
||||
require 'nokogiri'
|
||||
require 'digest/md5'
|
||||
|
||||
module Jekyll
|
||||
module TOCGenerator
|
||||
TOGGLE_HTML = '<div id="toctitle"><h2>%1</h2>%2</div>'
|
||||
TOC_CONTAINER_HTML = '<div id="toc-container">%1<ul>%2</ul></div>'
|
||||
|
||||
def toc_generate(html)
|
||||
# No Toc can be specified on every single page
|
||||
# For example the index page has no table of contents
|
||||
no_toc = @context.environments.first["page"]["noToc"] || false;
|
||||
|
||||
if no_toc
|
||||
return html
|
||||
end
|
||||
|
||||
config = @context.registers[:site].config
|
||||
# Minimum number of items needed to show TOC, default 0 (0 means no minimum)
|
||||
min_items_to_show_toc = config["minItemsToShowToc"] || 0
|
||||
|
||||
anchor_prefix = config["anchorPrefix"] || 'tocAnchor-'
|
||||
|
||||
# better for traditional page seo, commonlly use h1 as title
|
||||
toc_top_tag = config["tocTopTag"] || 'h1'
|
||||
toc_top_tag = toc_top_tag.gsub(/h/, '').to_i
|
||||
if toc_top_tag > 5
|
||||
toc_top_tag = 5
|
||||
end
|
||||
toc_sec_tag = toc_top_tag + 1
|
||||
toc_top_tag = "h#{toc_top_tag}"
|
||||
toc_sec_tag = "h#{toc_sec_tag}"
|
||||
|
||||
|
||||
# Text labels
|
||||
contents_label = config["contentsLabel"] || 'Contents'
|
||||
hide_label = config["hideLabel"] || 'hide'
|
||||
show_label = config["showLabel"] || 'show'
|
||||
show_toggle_button = config["showToggleButton"]
|
||||
|
||||
toc_html = ''
|
||||
toc_level = 1
|
||||
toc_section = 1
|
||||
item_number = 1
|
||||
level_html = ''
|
||||
|
||||
doc = Nokogiri::HTML(html)
|
||||
|
||||
# Find H1 tag and all its H2 siblings until next H1
|
||||
doc.css(toc_top_tag).each do |tag|
|
||||
# TODO This XPATH expression can greatly improved
|
||||
ct = tag.xpath("count(following-sibling::#{toc_top_tag})")
|
||||
sects = tag.xpath("following-sibling::#{toc_sec_tag}[count(following-sibling::#{toc_top_tag})=#{ct}]")
|
||||
|
||||
level_html = '';
|
||||
inner_section = 0;
|
||||
|
||||
sects.map.each do |sect|
|
||||
inner_section += 1;
|
||||
#anchor_id = anchor_prefix + toc_level.to_s + '-' + toc_section.to_s + '-' + inner_section.to_s
|
||||
anchor_id = anchor_prefix + Digest::SHA256.hexdigest(tag.text + sect.text);
|
||||
anchor_id = anchor_id[0..7];
|
||||
sect['id'] = "#{anchor_id}"
|
||||
|
||||
level_html += create_level_html(anchor_id,
|
||||
toc_level + 1,
|
||||
toc_section + inner_section,
|
||||
item_number.to_s + '.' + inner_section.to_s,
|
||||
sect.text,
|
||||
'')
|
||||
end
|
||||
if level_html.length > 0
|
||||
level_html = '<ul>' + level_html + '</ul>';
|
||||
end
|
||||
|
||||
#anchor_id = anchor_prefix + toc_level.to_s + '-' + toc_section.to_s;
|
||||
anchor_id = anchor_prefix + Digest::SHA256.hexdigest(tag.text);
|
||||
anchor_id = anchor_id[0..7];
|
||||
tag['id'] = "#{anchor_id}"
|
||||
|
||||
toc_html += create_level_html(anchor_id,
|
||||
toc_level,
|
||||
toc_section,
|
||||
item_number,
|
||||
tag.text,
|
||||
level_html);
|
||||
|
||||
toc_section += 1 + inner_section;
|
||||
item_number += 1;
|
||||
end
|
||||
|
||||
#toc_html += create_level_html("ccba53",
|
||||
# 1,
|
||||
# toc_section,
|
||||
# item_number,
|
||||
# "Comments",
|
||||
# "");
|
||||
|
||||
# for convenience item_number starts from 1
|
||||
# so we decrement it to obtain the index count
|
||||
toc_index_count = item_number - 1
|
||||
|
||||
if toc_html.length > 0
|
||||
hide_html = '';
|
||||
if (show_toggle_button)
|
||||
hide_html = HIDE_HTML.gsub('%1', hide_label)
|
||||
end
|
||||
|
||||
if min_items_to_show_toc <= toc_index_count
|
||||
replaced_toggle_html = TOGGLE_HTML
|
||||
.gsub('%1', contents_label)
|
||||
.gsub('%2', hide_html);
|
||||
toc_table = TOC_CONTAINER_HTML
|
||||
.gsub('%1', replaced_toggle_html)
|
||||
.gsub('%2', toc_html);
|
||||
doc.css('body').children.before(toc_table)
|
||||
end
|
||||
doc.css('body').children.to_xhtml(indent:3, indent_text:" ")
|
||||
else
|
||||
return html
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def create_level_html(anchor_id, toc_level, toc_section, tocNumber, tocText, tocInner)
|
||||
link = '<a href="#%1"><span class="tocnumber">%2</span> <span class="toctext">%3</span></a>%4'
|
||||
.gsub('%1', anchor_id.to_s)
|
||||
.gsub('%2', tocNumber.to_s)
|
||||
.gsub('%3', tocText)
|
||||
.gsub('%4', tocInner ? tocInner : '');
|
||||
'<li class="toc_level-%1 toc_section-%2">%3</li>'
|
||||
.gsub('%1', toc_level.to_s)
|
||||
.gsub('%2', toc_section.to_s)
|
||||
.gsub('%3', link)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Liquid::Template.register_filter(Jekyll::TOCGenerator)
|
||||
20
_posts/2024-02-06-welcome.md
Normal file
20
_posts/2024-02-06-welcome.md
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
layout: post
|
||||
published: true
|
||||
title: Welcome
|
||||
date: 2024-02-06
|
||||
date_updated:
|
||||
categories:
|
||||
- news
|
||||
- project
|
||||
tags:
|
||||
- xw3
|
||||
- cgi
|
||||
- static
|
||||
- dynamic
|
||||
- jekyll
|
||||
- pinned
|
||||
---
|
||||
|
||||
This is a fun project at the moment... no content actually!
|
||||
|
||||
625
_sass/_base.scss
Normal file
625
_sass/_base.scss
Normal file
|
|
@ -0,0 +1,625 @@
|
|||
@font-face {
|
||||
font-family: 'OpenSans-Regular';
|
||||
src: url('../fonts/OpenSans-Regular.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'ForkAwesome';
|
||||
src: url('../fonts/forkawesome-webfont.woff') format('woff');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Graph-35-pix';
|
||||
src: url('../fonts/Graph-35-pix.ttf');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'CourierPrimeSans';
|
||||
src: url('../fonts/Courier-Prime-Sans.ttf');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Glass-TTY-VT220';
|
||||
src: url('../fonts/Glass_TTY_VT220.ttf');
|
||||
}
|
||||
|
||||
html {
|
||||
}
|
||||
|
||||
body, h1, h2, h3, h4, h5, h6,
|
||||
p, blockquote, pre, hr,
|
||||
dl, dd, ol, ul, figure {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: $base-font-family;
|
||||
font-size: $base-font-size;
|
||||
line-height: $base-line-height;
|
||||
font-weight: 300;
|
||||
color: $text-color;
|
||||
background-color: $background-color;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6,
|
||||
p, blockquote, pre,
|
||||
ul, ol, dl, figure,
|
||||
%vertical-rhythm {
|
||||
margin-bottom: calc($spacing-unit / 2);
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: $headline-color;
|
||||
}
|
||||
|
||||
.blinky {
|
||||
animation: blinker 4s linear infinite;
|
||||
color: #ffffff;
|
||||
font-family: "Graph-35-pix";
|
||||
font-size: 22px;
|
||||
text-decoration: none;
|
||||
}
|
||||
@keyframes blinker {
|
||||
50% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-family: "Graph-35-pix";
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
#terminal::before {
|
||||
content: "";
|
||||
}
|
||||
@media (prefers-reduced-motion: no-preference) {
|
||||
@keyframes flash {
|
||||
50% { opacity: 0; }
|
||||
}
|
||||
@keyframes reveal {
|
||||
from { width: 2em; }
|
||||
to { width: 100%; }
|
||||
}
|
||||
#terminal {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
animation: reveal 6s linear;
|
||||
text-overflow: "▉";
|
||||
}
|
||||
#terminal::after {
|
||||
content: "▉";
|
||||
animation: flash 1.5s step-end infinite;
|
||||
}
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-family: "Graph-35-pix";
|
||||
font-size: 18px;
|
||||
padding-bottom: 4px;
|
||||
padding-top: 8px;
|
||||
padding-left: 8px;
|
||||
margin-top: 14px;
|
||||
background-color: $grey-color-light;
|
||||
border: 1px solid $grey-color;
|
||||
//border-radius: 12px;
|
||||
> a,
|
||||
a:link,
|
||||
a:visited {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
h3 {
|
||||
padding-top: 8px;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
img.l {
|
||||
border: 0;
|
||||
float:left;
|
||||
margin: 6px 16px 0 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
img.r {
|
||||
border: 0;
|
||||
float: right;
|
||||
margin: 6px 0 0 16px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
img.x {
|
||||
max-width: 99.8%;
|
||||
border: 1px solid #000;
|
||||
//border-radius: 12px 12px;
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
margin-left: calc($spacing-unit + 20px);
|
||||
}
|
||||
|
||||
li {
|
||||
> ul,
|
||||
> ol {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
color: $brand-color;
|
||||
}
|
||||
|
||||
a:link {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: $brand-color;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a:focus,
|
||||
a:hover {
|
||||
color: $hover-color;
|
||||
text-decoration: none;
|
||||
text-shadow: $hover-color 0px 0px 6px;
|
||||
}
|
||||
|
||||
a:active {
|
||||
color: $hover-color;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
p {
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
color: $grey-color;
|
||||
border-left: 4px solid $grey-color-light;
|
||||
padding-left: calc($spacing-unit / 2);
|
||||
font-size: 18px;
|
||||
letter-spacing: -1px;
|
||||
font-style: italic;
|
||||
> :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
pre {
|
||||
counter-reset: line;
|
||||
-moz-tab-size: 2;
|
||||
tab-size: 2;
|
||||
//border-radius: 12px;
|
||||
font-family: "CourierPrimeSans";
|
||||
font-size: $base-font-size;
|
||||
margin: 0 0 0 0;
|
||||
padding: 0 0 0 0.5em;
|
||||
border: 1px $grey-color solid;
|
||||
overflow: auto;
|
||||
overflow-x: auto;
|
||||
line-height: 1.4em;
|
||||
// https://stackoverflow.com/questions/5840328/styling-each-line-inside-pre-with-css
|
||||
background: $grey-color-dark;
|
||||
background-image: -webkit-linear-gradient($grey-color-dark 50%, $grey-color-light 50%);
|
||||
background-image: -moz-linear-gradient($grey-color-dark 50%, $grey-color-light 50%);
|
||||
background-image: -ms-linear-gradient($grey-color-dark 50%, $grey-color-light 50%);
|
||||
background-image: -o-linear-gradient($grey-color-dark 50%, $grey-color-light 50%);
|
||||
background-image: linear-gradient($grey-color-dark 50%, $grey-color-light 50%);
|
||||
background-position: 0 0;
|
||||
background-repeat: repeat;
|
||||
background-size: 2.8em 2.8em;
|
||||
}
|
||||
|
||||
pre > code {
|
||||
font-family: "CourierPrimeSans";
|
||||
counter-increment: line;
|
||||
font-size: $base-font-size;
|
||||
margin: 0 0 0 0;
|
||||
padding: 0 0 0 0;
|
||||
}
|
||||
|
||||
pre > code:before{
|
||||
content: counter(line);
|
||||
display: inline-block;
|
||||
width: 2.0em;
|
||||
border-right: 1px solid $grey-color;
|
||||
padding-right: .7em;
|
||||
margin-right: .7em;
|
||||
color: #bc6c21;
|
||||
-webkit-user-select: none;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
audio {
|
||||
height: 24px;
|
||||
width: 100%;
|
||||
//border-radius: 12px;
|
||||
}
|
||||
|
||||
//tr:nth-child(even) {}
|
||||
//tr:nth-child(odd) {}
|
||||
|
||||
table {
|
||||
border: 1px solid black;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
table > thead > tr {}
|
||||
|
||||
table > thead > tr > th {
|
||||
background: #293e58;
|
||||
border: 1px solid black;
|
||||
color: white;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
table > tbody > tr:nth-child(even) {
|
||||
background: $grey-color-light;
|
||||
}
|
||||
|
||||
table > tbody > tr:nth-child(odd) {
|
||||
background: $grey-color-dark;
|
||||
}
|
||||
|
||||
table > tbody > tr > td {
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
table.sortable th:not(.sorttable_sorted):not(.sorttable_sorted_reverse):not(.sorttable_nosort):after {
|
||||
content: " \25B4 \25BE"
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
max-width: calc(#{$content-width} - (#{$spacing-unit} * 2));
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
padding-right: $spacing-unit;
|
||||
padding-left: $spacing-unit;
|
||||
padding-top: calc($spacing-unit / 2);
|
||||
padding-bottom: 0;
|
||||
@extend %clearfix;
|
||||
@include media-query($on-laptop) {
|
||||
max-width: calc(#{$content-width} - (#{$spacing-unit}));
|
||||
padding-right: calc($spacing-unit / 2);
|
||||
padding-left: calc($spacing-unit / 2);
|
||||
}
|
||||
}
|
||||
|
||||
%clearfix {
|
||||
&:after {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both;
|
||||
}
|
||||
}
|
||||
|
||||
.icon {
|
||||
> svg {
|
||||
display: inline-block;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
vertical-align: middle;
|
||||
path {
|
||||
fill: $grey-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.pagination a, span {
|
||||
margin-left: 4px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
a.ext::after {
|
||||
content: "\f08e";
|
||||
font-family: "ForkAwesome";
|
||||
padding-left: 5px;
|
||||
color: $brand-color-light;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.mail::after,
|
||||
span.mail::after {
|
||||
content: "\f0e0";
|
||||
font-family: "ForkAwesome";
|
||||
padding-left: 5px;
|
||||
color: $brand-color-light;
|
||||
}
|
||||
|
||||
a.document {
|
||||
content: "\f15b";
|
||||
font-family: "ForkAwesome";
|
||||
padding-left: 5px;
|
||||
color: $brand-color-light;
|
||||
}
|
||||
|
||||
a.cube::after {
|
||||
content: "\f1b2";
|
||||
font-family: "ForkAwesome";
|
||||
padding-left: 5px;
|
||||
color: $brand-color-light;
|
||||
}
|
||||
|
||||
a.file::after {
|
||||
content: "\f0c7";
|
||||
font-family: "ForkAwesome";
|
||||
padding-left: 5px;
|
||||
color: $brand-color-light;
|
||||
}
|
||||
|
||||
a.person::after {
|
||||
content: "\f007";
|
||||
font-family: "ForkAwesome";
|
||||
padding-left: 5px;
|
||||
color: $brand-color-light;
|
||||
}
|
||||
|
||||
a.chat::after,
|
||||
span.chat::after {
|
||||
content: "\f075";
|
||||
font-family: "ForkAwesome";
|
||||
padding-left: 5px;
|
||||
color: $brand-color-light;
|
||||
}
|
||||
|
||||
span.feed {
|
||||
border: 1px solid;
|
||||
border-color: #FC9 #630 #330 #F96;
|
||||
padding: 0 3px;
|
||||
font: bold 0.4em sans-serif;
|
||||
color: #fff;
|
||||
background: #f60;
|
||||
text-decoration: none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#topbutton {
|
||||
text-align: center;
|
||||
padding: 0;
|
||||
width: 46px;
|
||||
height: 46px;
|
||||
background: $topbutton-color url(/images/up-arrow.png) no-repeat center center;
|
||||
//border-radius: 12px;
|
||||
border: 1px solid $grey-color-dark;
|
||||
position: fixed;
|
||||
bottom: 10px;
|
||||
right: 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
span.cursor {
|
||||
color: #FF9500;
|
||||
display: inline-block;
|
||||
background: transparent;
|
||||
margin-left: 1px;
|
||||
animation: 1s blink step-end infinite;
|
||||
}
|
||||
|
||||
@keyframes "blink" bold {
|
||||
from, to {
|
||||
color: transparent;
|
||||
}
|
||||
50% {
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes "blink" bold {
|
||||
from, to {
|
||||
color: transparent;
|
||||
}
|
||||
50% {
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
|
||||
@-ms-keyframes "blink" bold {
|
||||
from, to {
|
||||
color: transparent;
|
||||
}
|
||||
50% {
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
|
||||
@-o-keyframes "blink" {
|
||||
from, to {
|
||||
color: transparent;
|
||||
}
|
||||
50% {
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
|
||||
#pages {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#pages a:link,
|
||||
#pages a:visited,
|
||||
#pages strong {
|
||||
//border-radius: 6px;
|
||||
float: left;
|
||||
width: 1.8em;
|
||||
border: 1px solid #000;
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
margin: 0px 4px 4px 0;
|
||||
padding: 2px;
|
||||
background: $brand-color;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#pages > a.active {
|
||||
color: $grey-color-light;
|
||||
background: #fff;
|
||||
border-color: $grey-color;
|
||||
}
|
||||
|
||||
#pages a:focus,
|
||||
#pages a:hover,
|
||||
#pages a:active {
|
||||
color: $hover-color;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
#pages p {
|
||||
float: left;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* (B) NOTIFICATION */
|
||||
#notify {
|
||||
padding: 10px;
|
||||
margin-bottom: 20px;
|
||||
border: 1px solid $grey-color;
|
||||
background: $headline-color;
|
||||
}
|
||||
|
||||
/* (C) CONTACTFORM */
|
||||
#contactform {
|
||||
padding: 20px;
|
||||
border: 1px solid $grey-color;
|
||||
//border-radius: 12px;
|
||||
background: $grey-color-light;
|
||||
}
|
||||
|
||||
#contactform label, #contactform input, #contactform textarea {
|
||||
display: block;
|
||||
width: 97%;
|
||||
resize: none;
|
||||
}
|
||||
|
||||
#contactform textarea {
|
||||
height: 120px;
|
||||
}
|
||||
|
||||
#contactform label { margin: 10px 0; }
|
||||
|
||||
#contactform label:first-child { margin-top: 0; }
|
||||
|
||||
#contactform input, #contactform textarea {
|
||||
font-family: $base-font-family;
|
||||
font-size: $base-font-size;
|
||||
line-height: $base-line-height;
|
||||
font-weight: 300;
|
||||
padding: 10px;
|
||||
margin-bottom: 10px;
|
||||
border: 1px solid $grey-color;
|
||||
//border-radius: 12px;
|
||||
}
|
||||
|
||||
#contactform input[type=submit] {
|
||||
border: 0;
|
||||
//border-radius: 12px;
|
||||
color: #fff;
|
||||
background: $brand-color;
|
||||
cursor: pointer;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#contactform input[type=submit]:hover {
|
||||
background: $headline-color;
|
||||
}
|
||||
|
||||
/* (C) SEARCHFORM */
|
||||
#searchform {
|
||||
padding: 20px;
|
||||
border: 1px solid $grey-color;
|
||||
//border-radius: 12px;
|
||||
background: $grey-color-light;
|
||||
}
|
||||
|
||||
#searchform label, #searchform input, #searchform textarea {
|
||||
display: block;
|
||||
width: 97%;
|
||||
resize: none;
|
||||
}
|
||||
|
||||
#searchform textarea {
|
||||
height: 120px;
|
||||
}
|
||||
|
||||
#searchform label { margin: 10px 0; }
|
||||
|
||||
#searchform label:first-child { margin-top: 0; }
|
||||
|
||||
#searchform input, #searchform textarea {
|
||||
font-family: $base-font-family;
|
||||
font-size: $base-font-size;
|
||||
line-height: $base-line-height;
|
||||
font-weight: 300;
|
||||
padding: 10px;
|
||||
margin-bottom: 10px;
|
||||
border: 1px solid $grey-color;
|
||||
//border-radius: 12px;
|
||||
}
|
||||
|
||||
#searchform input[type=submit] {
|
||||
border: 0;
|
||||
//border-radius: 12px;
|
||||
color: #fff;
|
||||
background: $brand-color;
|
||||
cursor: pointer;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#searchform input[type=submit]:hover {
|
||||
background: $headline-color;
|
||||
}
|
||||
|
||||
/* SPINNER */
|
||||
/*Hidden class for adding and removing*/
|
||||
.lds-dual-ring.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/*Add an overlay to the entire page blocking any further presses to buttons or other elements.*/
|
||||
.overlay {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
min-width: 100%;
|
||||
height: 100%;
|
||||
min-height: 100%;
|
||||
background: rgba(0,0,0,.8);
|
||||
z-index: 999;
|
||||
opacity: 1;
|
||||
transition: all 0.5s;
|
||||
}
|
||||
|
||||
/*Spinner Styles*/
|
||||
.lds-dual-ring {
|
||||
display: inline-block;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
}
|
||||
.lds-dual-ring:after {
|
||||
content: " ";
|
||||
display: block;
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
margin: 5% auto;
|
||||
border-radius: 50%;
|
||||
border: 6px solid #fff;
|
||||
border-color: #fff transparent #fff transparent;
|
||||
animation: lds-dual-ring 1.2s linear infinite;
|
||||
}
|
||||
@keyframes lds-dual-ring {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
188
_sass/_layout.scss
Normal file
188
_sass/_layout.scss
Normal file
|
|
@ -0,0 +1,188 @@
|
|||
.site {
|
||||
//border-radius: 12px 12px;
|
||||
border: 1px solid #000;
|
||||
background-color: #fff;
|
||||
max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2));
|
||||
max-width: calc(#{$content-width} - (#{$spacing-unit} * 2));
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
margin-top: 4px;
|
||||
margin-bottom: 4px;
|
||||
//box-shadow: 0px 0px 3px #000;
|
||||
}
|
||||
|
||||
.pagination {
|
||||
margin-top: $spacing-unit;
|
||||
margin-bottom: $spacing-unit;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.site-header {
|
||||
min-height: 56px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.site-title {
|
||||
line-height: 56px;
|
||||
margin-bottom: 0;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.site-nav {
|
||||
float: right;
|
||||
//line-height: 68px;
|
||||
//.menu-icon {
|
||||
// display: none;
|
||||
//}
|
||||
z-index: 998;
|
||||
.page-link {
|
||||
color: $text-color;
|
||||
line-height: $base-line-height;
|
||||
// Gaps between nav items, but not on the first one
|
||||
&:not(:first-child) {
|
||||
//margin-left: 12px;
|
||||
}
|
||||
}
|
||||
//@include media-query($on-palm) {
|
||||
position: absolute;
|
||||
top: 18px;
|
||||
right: 18px;
|
||||
background-color: white;
|
||||
border: 1px solid $brand-color;
|
||||
//border-radius: 6px;
|
||||
text-align: right;
|
||||
.menu-icon {
|
||||
display: block;
|
||||
float: right;
|
||||
width: 36px;
|
||||
height: 26px;
|
||||
line-height: 0;
|
||||
padding-top: 10px;
|
||||
text-align: center;
|
||||
> svg {
|
||||
width: 18px;
|
||||
height: 15px;
|
||||
path {
|
||||
fill: $grey-color-dark;
|
||||
}
|
||||
}
|
||||
}
|
||||
.trigger {
|
||||
clear: both;
|
||||
display: none;
|
||||
}
|
||||
&:hover .trigger {
|
||||
display: block;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
.page-link {
|
||||
display: block;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
//}
|
||||
}
|
||||
|
||||
.site-footer {
|
||||
margin: calc($spacing-unit / 4);
|
||||
//border-radius: 12px 12px;
|
||||
background-color: $grey-color-light;
|
||||
border: 1px solid $grey-color;
|
||||
margin: 0 18px 18px 18px;
|
||||
}
|
||||
|
||||
.footer-col-wrapper {
|
||||
margin-left: calc($spacing-unit / 2);
|
||||
@extend %clearfix;
|
||||
}
|
||||
|
||||
.footer-col {
|
||||
float: left;
|
||||
margin-bottom: calc($spacing-unit / 2);
|
||||
padding-left: calc($spacing-unit / 2);
|
||||
}
|
||||
|
||||
@include media-query($on-palm) {
|
||||
.footer-col {
|
||||
float: none;
|
||||
width: -webkit-calc(100% - (#{$spacing-unit} / 2));
|
||||
width: calc(100% - (#{$spacing-unit} / 2));
|
||||
}
|
||||
}
|
||||
|
||||
.page-content {
|
||||
|
||||
}
|
||||
|
||||
.page-heading {
|
||||
|
||||
}
|
||||
|
||||
.post-list {
|
||||
margin-left: 0;
|
||||
list-style: none;
|
||||
> li {
|
||||
margin-bottom: $spacing-unit;
|
||||
}
|
||||
}
|
||||
|
||||
.post-meta {
|
||||
font-size: $small-font-size;
|
||||
color: $grey-color;
|
||||
}
|
||||
|
||||
.post-link {
|
||||
display: block;
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.post-header {
|
||||
margin-bottom: $spacing-unit;
|
||||
}
|
||||
|
||||
.post-title {
|
||||
letter-spacing: -1px;
|
||||
line-height: 1;
|
||||
@include media-query($on-laptop) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.post-content {
|
||||
margin-bottom: $spacing-unit;
|
||||
}
|
||||
|
||||
.post-content img {
|
||||
//border-radius: 12px 12px;
|
||||
//border: 0px solid $grey-color-light;
|
||||
}
|
||||
|
||||
//.search
|
||||
//{
|
||||
// padding-bottom: 0px;
|
||||
//}
|
||||
|
||||
//#search
|
||||
//{
|
||||
// width: 100%;
|
||||
// margin: 0;
|
||||
//}
|
||||
|
||||
//#search input
|
||||
//{
|
||||
// display:inline;
|
||||
// width: 94%;
|
||||
// background-color: #fafafa;
|
||||
// border: 1px solid #9a9a9a;
|
||||
// padding: 6px;
|
||||
// margin: 0;
|
||||
// color: #2b2b2b;
|
||||
// border-radius: 8px;
|
||||
// box-shadow: 0 1px 0 rgba(255,255,255,.5);
|
||||
//}
|
||||
|
||||
//#search input:focus
|
||||
//{
|
||||
// outline: none;
|
||||
// box-shadow: 0 1px 0 rgba(255,255,255,.2), 0 0 12px #4f4f4f;
|
||||
//}
|
||||
|
||||
17
_sass/_toc.scss
Normal file
17
_sass/_toc.scss
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
//#toc-container h2 {
|
||||
// font-size: 1.4em;
|
||||
//}
|
||||
|
||||
#toc-container ul {
|
||||
list-style-image: none;
|
||||
list-style-type: none;
|
||||
margin-left: $spacing-unit;
|
||||
//margin:0;
|
||||
//padding: 0;
|
||||
//text-align: left;
|
||||
}
|
||||
|
||||
#toc-container ul li {
|
||||
list-style-type: none;
|
||||
padding-left: 0;
|
||||
}
|
||||
7
_site/2024/02/06/welcome/index.html
Normal file
7
_site/2024/02/06/welcome/index.html
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<!doctype html><html lang=en id=top><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>xw3.org:Welcome</title>
|
||||
<meta name=author content="xw3.org "><meta name=generator content="xw3.org"><meta name=robots content="index,follow"><meta name=revisit-after content="7 days"><meta name=description content="A static HTML and CGI based website..."><meta name=keywords content="xw3,cgi,static,dynamic,jekyll,pinned"><link rel="shortcut icon" type=image/png href=/favicon.png><link rel=stylesheet href=/css/main.css><link rel=stylesheet href=/css/fork-awesome.min.css><link rel=stylesheet href=/css/cookieconsent.min.css><script src=/js/jquery-3.6.4.min.js></script><link rel=canonical href=https://xw3.org/2024/02/06/welcome/><link rel=alternate type=application/rss+xml title="RSS Feed - [xw3.org]" href=https://xw3.org/feed.xml></head><body><div class=site><div id=loader class="lds-dual-ring hidden overlay"></div><header class=site-header><div class=wrapper><nav class=site-nav><a href=# class=menu-icon><span class="fa fa-bars" aria-hidden=true></span></a><div class=trigger><ul style=list-style:none><li><a class=page-link href=/ style=text-decoration:none>/</a></li><li><a class=page-link href=/about/ style=text-decoration:none>/about/</a></li><li><a class=page-link href=/contact/ style=text-decoration:none>/contact/</a></li><li><a class=page-link href=/tools/ style=text-decoration:none>/tools/</a></li></ul></div></nav></div></header><div class=page-content><div class=wrapper><div class=post><header class=post-header><h1 class=post-title id=terminal>Welcome</h1><p class=post-meta>Feb 6, 2024
|
||||
(CET/CEST)</p></header><article class=post-content><p>This is a fun project at the moment… no content actually!</p></article></div></div></div><footer class=site-footer><div class=wrapper><div class=footer-col-wrapper><p style=text-align:center>Copyright © 2024 - [xw3.org] -
|
||||
<a href=/feed.xml class=rss><i class="fa fa-rss" aria-hidden=true></i><span style=display:none> RSS Feed</span></a> -
|
||||
<a href=https://git.xw3.org/xw3 class=git><i class="fa fa-git" aria-hidden=true></i><span style=display:none> Git repositories</span></a> -
|
||||
<a href=https://wiki.xw3.org/start class=book><i class="fa fa-book" aria-hidden=true></i><span style=display:none> Wiki</span></a></p></div></div></footer></div><p style=text-align:center;color:#e8e8e8;font-size:12px><span id=uptime>NULL</span><br>Page generated at: Feb 6, 2024 (CET/CEST) using Jekyll on GNU/Linux @jupiter<br>Powered by: <span id=uname>NULL</span></p><a href=#top id=topbutton><span></span></a>
|
||||
<script src=/js/cookieconsent.min.js data-cfasync=false></script><script>$(document).ready(function(){$("#uname").load("/cgi/uname/"),$("#uptime").load("/cgi/uptime/")})</script><script>window.cookieconsent.initialise({palette:{popup:{background:"#000",text:"#e8e8e8"},button:{background:"#bc6c21"}},theme:"classic",position:"bottom",static:!1,content:{message:"This website uses cookies to provide you with a better online experience. Leave this site if you don't accept the usage of cookies. No tracking cookies are being used! To find out more, please visit this website's ",dismiss:"Got it!",link:"Privacy Policy.",href:"/privacy/"}})</script></body></html>
|
||||
9
_site/LICENSE
Normal file
9
_site/LICENSE
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2024 hanez
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
6
_site/about/index.html
Normal file
6
_site/about/index.html
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<!doctype html><html lang=en id=top><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>xw3.org:/about/</title>
|
||||
<meta name=author content="xw3.org "><meta name=generator content="xw3.org"><meta name=robots content="index,follow"><meta name=revisit-after content="7 days"><meta name=description content="A static HTML and CGI based website..."><link rel="shortcut icon" type=image/png href=/favicon.png><link rel=stylesheet href=/css/main.css><link rel=stylesheet href=/css/fork-awesome.min.css><link rel=stylesheet href=/css/cookieconsent.min.css><script src=/js/jquery-3.6.4.min.js></script><link rel=canonical href=https://xw3.org/about/><link rel=alternate type=application/rss+xml title="RSS Feed - [xw3.org]" href=https://xw3.org/feed.xml></head><body><div class=site><div id=loader class="lds-dual-ring hidden overlay"></div><header class=site-header><div class=wrapper><nav class=site-nav><a href=# class=menu-icon><span class="fa fa-bars" aria-hidden=true></span></a><div class=trigger><ul style=list-style:none><li><a class=page-link href=/ style=text-decoration:none>/</a></li><li><a class=page-link href=/about/ style=text-decoration:none>/about/</a></li><li><a class=page-link href=/contact/ style=text-decoration:none>/contact/</a></li><li><a class=page-link href=/tools/ style=text-decoration:none>/tools/</a></li></ul></div></nav></div></header><div class=page-content><div class=wrapper><div class=post><header class=post-header><h1 class=post-title id=terminal>xw3.org:/about/</h1><p class=post-meta>Updated: Feb 6, 2024 (CET/CEST)</p></header><article class=post-content></article></div></div></div><footer class=site-footer><div class=wrapper><div class=footer-col-wrapper><p style=text-align:center>Copyright © 2024 - [xw3.org] -
|
||||
<a href=/feed.xml class=rss><i class="fa fa-rss" aria-hidden=true></i><span style=display:none> RSS Feed</span></a> -
|
||||
<a href=https://git.xw3.org/xw3 class=git><i class="fa fa-git" aria-hidden=true></i><span style=display:none> Git repositories</span></a> -
|
||||
<a href=https://wiki.xw3.org/start class=book><i class="fa fa-book" aria-hidden=true></i><span style=display:none> Wiki</span></a></p></div></div></footer></div><p style=text-align:center;color:#e8e8e8;font-size:12px><span id=uptime>NULL</span><br>Page generated at: Feb 6, 2024 (CET/CEST) using Jekyll on GNU/Linux @jupiter<br>Powered by: <span id=uname>NULL</span></p><a href=#top id=topbutton><span></span></a>
|
||||
<script src=/js/cookieconsent.min.js data-cfasync=false></script><script>$(document).ready(function(){$("#uname").load("/cgi/uname/"),$("#uptime").load("/cgi/uptime/")})</script><script>window.cookieconsent.initialise({palette:{popup:{background:"#000",text:"#e8e8e8"},button:{background:"#bc6c21"}},theme:"classic",position:"bottom",static:!1,content:{message:"This website uses cookies to provide you with a better online experience. Leave this site if you don't accept the usage of cookies. No tracking cookies are being used! To find out more, please visit this website's ",dismiss:"Got it!",link:"Privacy Policy.",href:"/privacy/"}})</script></body></html>
|
||||
9
_site/cgi/bash/index.sh
Normal file
9
_site/cgi/bash/index.sh
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
echo "Hello from bash!"
|
||||
echo
|
||||
echo 'date'
|
||||
date
|
||||
echo
|
||||
echo 'for i in $(seq 1 10); do echo $i; done'
|
||||
|
||||
for i in $(seq 1 10); do echo $i; done
|
||||
|
||||
23
_site/cgi/challenge/index.php
Normal file
23
_site/cgi/challenge/index.php
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<?php
|
||||
session_start();
|
||||
session_set_cookie_params(3600);
|
||||
|
||||
date_default_timezone_set("CET/CEST");
|
||||
|
||||
if(isset($_SESSION["one"])) {
|
||||
unset($_SESSION["one"]);
|
||||
}
|
||||
|
||||
if(isset($_SESSION["two"])) {
|
||||
unset($_SESSION["two"]);
|
||||
}
|
||||
|
||||
$_SESSION["one"] = rand(0, 9);
|
||||
$_SESSION["two"] = rand(0, 9);
|
||||
#$_SESSION["sum"] = $_SESSION["one"] + $_SESSION["two"];
|
||||
|
||||
$challenge = $_SESSION["one"] . " + " . $_SESSION["two"];
|
||||
|
||||
header('Content-Type: text/plain');
|
||||
echo($challenge);
|
||||
?>
|
||||
186
_site/cgi/env/index.php
vendored
Normal file
186
_site/cgi/env/index.php
vendored
Normal file
|
|
@ -0,0 +1,186 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="top">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>xw3.org:/cgi/env/</title>
|
||||
<meta name="author" content="xw3.org ">
|
||||
<meta name="generator" content="xw3.org">
|
||||
<meta name="robots" content="index,follow">
|
||||
<meta name="revisit-after" content="7 days">
|
||||
<meta name="description" content="A static HTML and CGI based website...">
|
||||
<meta name="keywords" content="env,environment,cgi,bash,gcc,zsh,perl,php,python,ruby,test">
|
||||
<link rel="shortcut icon" type="image/png" href="/favicon.png">
|
||||
<link rel="stylesheet" type="text/css" href="/css/main.css">
|
||||
<link rel="stylesheet" type="text/css" href="/css/fork-awesome.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="/css/cookieconsent.min.css" />
|
||||
<script src="/js/jquery-3.6.4.min.js" charset="utf-8"></script>
|
||||
<link rel="canonical" href="https://xw3.org/cgi/env/">
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS Feed - [xw3.org]" href="https://xw3.org/feed.xml">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="site">
|
||||
<div id="loader" class="lds-dual-ring hidden overlay"></div>
|
||||
<header class="site-header">
|
||||
<div class="wrapper">
|
||||
<!--<a class="site-title" href="/"><img width="80" src="/images/logo.png" alt="[xw3.org]"></a>-->
|
||||
<nav class="site-nav">
|
||||
<a href="#" class="menu-icon"><span class="fa fa-bars" aria-hidden="true"></span></a>
|
||||
<div class="trigger">
|
||||
<ul style="list-style: none;">
|
||||
<li><a class="page-link" href="/" style="text-decoration: none;">/</a></li>
|
||||
<li><a class="page-link" href="/about/" style="text-decoration: none;">/about/</a></li>
|
||||
<li><a class="page-link" href="/contact/" style="text-decoration: none;">/contact/</a></li>
|
||||
<li><a class="page-link" href="/tools/" style="text-decoration: none;">/tools/</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div class="page-content">
|
||||
<div class="wrapper">
|
||||
<div class="post">
|
||||
<header class="post-header">
|
||||
<h1 class="post-title" id="terminal">xw3.org:/cgi/env/</h1>
|
||||
|
||||
<p>/cgi is a language independent scripts directory like a <a href="https://en.wikipedia.org/wiki/Common_Gateway_Interface" class="ext">/cgi-bin</a>. It must be configured in your server configuration which language files can be executed. Binaries will work too... For now it all is a little magic to me, but I will tell you how it works for me some day... ;)</p>
|
||||
</header>
|
||||
<article class="post-content">
|
||||
<?php
|
||||
session_start();
|
||||
session_set_cookie_params(3600);
|
||||
|
||||
date_default_timezone_set("CET/CEST");
|
||||
?>
|
||||
|
||||
<h2>PHP Environment</h2>
|
||||
|
||||
<h3>GET:</h3>
|
||||
|
||||
<?php
|
||||
ksort($_GET);
|
||||
echo '<ul>';
|
||||
foreach ($_GET as $key => $value) {
|
||||
echo '<li>';
|
||||
echo $key . ': ' . $value;
|
||||
echo '</li>';
|
||||
}
|
||||
echo '</ul>';
|
||||
?>
|
||||
|
||||
<h3>POST:</h3>
|
||||
|
||||
<?php
|
||||
ksort($_POST);
|
||||
echo '<ul>';
|
||||
foreach ($_POST as $key => $value) {
|
||||
echo '<li>';
|
||||
echo $key . ': ' . $value;
|
||||
echo '</li>';
|
||||
}
|
||||
echo '</ul>';
|
||||
?>
|
||||
|
||||
<!--
|
||||
<h3>SESSION:</h3>
|
||||
|
||||
<?php
|
||||
var_dump($_SESSION);
|
||||
#ksort($_SESSION);
|
||||
#echo '<ul>';
|
||||
#foreach ($_SESSION as $key => $value) {
|
||||
# echo '<li>';
|
||||
# echo $key . ': ' . $value;
|
||||
# echo '</li>';
|
||||
#}
|
||||
#echo '</ul>';
|
||||
?>
|
||||
|
||||
<h3>SERVER:</h3>
|
||||
|
||||
<?php
|
||||
ksort($_SERVER);
|
||||
echo '<ul>';
|
||||
foreach ($_SERVER as $key => $value) {
|
||||
echo '<li>';
|
||||
echo $key . ': ' . $value;
|
||||
echo '</li>';
|
||||
}
|
||||
echo '</ul>';
|
||||
?>
|
||||
-->
|
||||
|
||||
<h2>Runtimes</h2>
|
||||
|
||||
<?php
|
||||
echo '<ul>';
|
||||
echo '<li>bash --version: ' . shell_exec('bash --version');
|
||||
echo ' - <a href="https://www.gnu.org/software/bash/" class="ext">https://www.gnu.org/software/bash/</a></li><li>';
|
||||
echo 'gcc --version: ' . shell_exec('gcc --version');
|
||||
echo ' - <a href="https://gcc.gnu.org/" class="ext">https://gcc.gnu.org/</a></li><li>';
|
||||
echo 'jekyll --version: ' . shell_exec('jekyll --version');
|
||||
echo ' - <a href="https://jekyllrb.com/" class="ext">https://jekyllrb.com/</a></li><li>';
|
||||
echo 'lighttpd -v: ' . shell_exec('lighttpd -v');
|
||||
echo ' - <a href="https://www.lighttpd.net/" class="ext">https://www.lighttpd.net/</a></li><li>';
|
||||
echo 'Linux (uname -a): ' . shell_exec('uname -a');
|
||||
echo ' - <a href="https://kernel.org/" class="ext">https://kernel.org/</a></li><li>';
|
||||
echo 'OS (cat /etc/os-release): ' . shell_exec('cat /etc/os-release');
|
||||
echo ' - <a href="https://alpinelinux.org/" class="ext">https://alpinelinux.org/</a></li><li>';
|
||||
echo 'perl --version: ' . shell_exec('perl --version');
|
||||
echo ' - <a href="https://www.perl.org/" class="ext">https://www.perl.org/</a></li><li>';
|
||||
echo 'php --version: ' . shell_exec('php --version');
|
||||
echo ' - <a href="https://www.php.net/" class="ext">https://www.php.net/</a></li><li>';
|
||||
echo 'python --version: ' . shell_exec('python --version');
|
||||
echo ' - <a href="https://www.python.org/" class="ext">https://www.python.org/</a></li><li>';
|
||||
echo 'ruby --version: ' . shell_exec('ruby --version');
|
||||
echo ' - <a href="https://www.ruby-lang.org/en/" class="ext">https://www.ruby-lang.org/en/</a></li><li>';
|
||||
echo 'zsh --version: ' . shell_exec('zsh --version');
|
||||
echo ' - <a href="https://www.zsh.org/" class="ext">https://www.zsh.org/</a></li>';
|
||||
echo '</ul>';
|
||||
?>
|
||||
|
||||
|
||||
</article>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer class="site-footer">
|
||||
<div class="wrapper">
|
||||
<div class="footer-col-wrapper">
|
||||
<p style="text-align:center;">
|
||||
Copyright © 2024 - [xw3.org] -
|
||||
<a href="/feed.xml" class="rss"><i class="fa fa-rss" aria-hidden="true"></i><span style="display:none;"> RSS Feed</span></a> -
|
||||
<a href="https://git.xw3.org/xw3" class="git"><i class="fa fa-git" aria-hidden="true"></i><span style="display:none;"> Git repositories</span></a> -
|
||||
<a href="https://wiki.xw3.org/start" class="book"><i class="fa fa-book" aria-hidden="true"></i><span style="display:none;"> Wiki</span></a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
</div>
|
||||
<p style="text-align: center; color: #e8e8e8; font-size: 12px;">
|
||||
<span id="uptime">NULL</span><br>
|
||||
|
||||
Page generated at: Feb 6, 2024 (CET/CEST) using Jekyll on GNU/Linux @jupiter<br>
|
||||
|
||||
Powered by: <span id="uname">NULL</span>
|
||||
</p>
|
||||
<a href="#top" id="topbutton"><span></span></a>
|
||||
<script src="/js/cookieconsent.min.js" data-cfasync="false"></script>
|
||||
<!-- Source for configuration below: https://www.osano.com/cookieconsent/download/ - https://www.osano.com/cookieconsent/documentation/compliance/ -->
|
||||
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$("#uname").load("/cgi/uname/");
|
||||
$("#uptime").load("/cgi/uptime/");
|
||||
});
|
||||
</script>
|
||||
|
||||
<script>window.cookieconsent.initialise({"palette":{"popup":{"background":"#000","text":"#e8e8e8"},"button":{"background":"#bc6c21"}},"theme":"classic","position":"bottom","static":false,"content":{"message":"This website uses cookies to provide you with a better online experience. Leave this site if you don't accept the usage of cookies. No tracking cookies are being used! To find out more, please visit this website's ","dismiss":"Got it!","link":"Privacy Policy.","href":"/privacy/"}});</script>
|
||||
</body>
|
||||
</html>
|
||||
14
_site/cgi/ifconfig/index.php
Normal file
14
_site/cgi/ifconfig/index.php
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
<?php
|
||||
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
|
||||
//ip from share internet
|
||||
$ip = $_SERVER['HTTP_CLIENT_IP'];
|
||||
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
|
||||
//ip pass from proxy
|
||||
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
||||
} else {
|
||||
$ip = $_SERVER['REMOTE_ADDR'];
|
||||
}
|
||||
|
||||
header('Content-Type: text/plain');
|
||||
echo($ip);
|
||||
?>
|
||||
43
_site/cgi/mail/index.php
Normal file
43
_site/cgi/mail/index.php
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
<?php
|
||||
session_start();
|
||||
session_set_cookie_params(3600);
|
||||
|
||||
date_default_timezone_set("CET/CEST");
|
||||
|
||||
$error = "";
|
||||
|
||||
$sum = $_SESSION["one"] + $_SESSION["two"];
|
||||
|
||||
if ($_POST["sum"] != $sum) { $error = "Invalid challenge result! Please try again... :("; }
|
||||
|
||||
if ($_POST["sum"] == $sum) {
|
||||
$mailTo = "mail@xw3.org";
|
||||
|
||||
$mailAddress = "noreply@xw3.org";
|
||||
if($_POST["email"]) {
|
||||
$mailAddress = $_POST["email"];
|
||||
}
|
||||
|
||||
$mailHeaders = "From: " . $_POST["name"] . " <" . $mailAddress . ">" . "\r\n" .
|
||||
"Date: " . date(DATE_RFC822);
|
||||
|
||||
$mailSubject = "[xw3.org]: No subject!";
|
||||
if($_POST["subject"]) {
|
||||
$mailSubject = "[xw3.org]: " . $_POST["subject"];
|
||||
}
|
||||
|
||||
$mailBody = $_POST["message"] . "\n\n" . "Website: " . $_POST["website"] . "\nUser Agent: " . $_SERVER['HTTP_USER_AGENT'];
|
||||
if (!@mail($mailTo, $mailSubject, $mailBody, $mailHeaders)) { $error = "Failed to send mail!"; }
|
||||
|
||||
unset($_SESSION["one"]);
|
||||
unset($_SESSION["two"]);
|
||||
}
|
||||
|
||||
header('Content-Type: text/plain');
|
||||
if ($error=="") {
|
||||
echo("Thank you for contacting me... :)");
|
||||
} else {
|
||||
//echo($error . " (". $_POST["sum"] . "/" . $sum . ")");
|
||||
echo($error);
|
||||
}
|
||||
?>
|
||||
15
_site/cgi/perl/index.pl
Normal file
15
_site/cgi/perl/index.pl
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
use warnings;
|
||||
use strict;
|
||||
use POSIX qw(strftime);
|
||||
|
||||
my $date = strftime "%m/%d/%Y", localtime;
|
||||
|
||||
print "Hello from Perl!\n\n";
|
||||
print $date;
|
||||
print "\n\n";
|
||||
|
||||
print('my @i = (1..10); for(@i) { print("$_", "\n"); }');
|
||||
print("\n");
|
||||
|
||||
my @i = (1..10); for(@i) { print("$_", "\n"); }
|
||||
|
||||
17
_site/cgi/php/index.php
Normal file
17
_site/cgi/php/index.php
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<?php
|
||||
|
||||
header('Content-Type: text/plain');
|
||||
|
||||
echo('Hello from PHP!');
|
||||
echo("\n\n");
|
||||
echo('date("l jS \of F Y h:i:s A");');
|
||||
echo("\n");
|
||||
echo date("l jS \of F Y h:i:s A");
|
||||
echo("\n\n");
|
||||
echo('for ($x = 0; $x <= 10; $x++) { echo "$x\n"; }');
|
||||
echo("\n");
|
||||
|
||||
for ($x = 1; $x <= 10; $x++) { echo "$x\n"; }
|
||||
|
||||
?>
|
||||
|
||||
12
_site/cgi/python/index.py
Normal file
12
_site/cgi/python/index.py
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
from datetime import datetime
|
||||
from pprint import pprint
|
||||
|
||||
print("Hello from Python!")
|
||||
print("")
|
||||
print('print(datetime.today().strftime("%Y-%m-%d"))')
|
||||
print(datetime.today().strftime('%Y-%m-%d'))
|
||||
print("")
|
||||
print("for i in range(1, 11): print(i);")
|
||||
|
||||
for i in range(1, 11): print(i);
|
||||
|
||||
9
_site/cgi/ruby/index.rb
Normal file
9
_site/cgi/ruby/index.rb
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
puts('Hello from Ruby!')
|
||||
puts
|
||||
puts('puts(Time.now.strftime("%d/%m/%Y %H:%M"))')
|
||||
puts(Time.now.strftime("%d/%m/%Y %H:%M"))
|
||||
puts
|
||||
puts("(1..10).each { |n| puts n }")
|
||||
|
||||
(1..10).each { |n| puts n }
|
||||
|
||||
15
_site/cgi/timestamp/index.php
Normal file
15
_site/cgi/timestamp/index.php
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
session_start();
|
||||
session_set_cookie_params(3600);
|
||||
|
||||
date_default_timezone_set("CET/CEST");
|
||||
|
||||
$timestamp = date('Y.m.d-h:i:s', time());
|
||||
|
||||
$milliseconds = floor(microtime(true) * 1000);
|
||||
|
||||
#echo($timestamp . "_" . time() . "_" . $milliseconds);
|
||||
|
||||
header('Content-Type: text/plain');
|
||||
echo($timestamp . '.' . microtime(true));
|
||||
?>
|
||||
10
_site/cgi/uname/index.php
Normal file
10
_site/cgi/uname/index.php
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?php
|
||||
$uname = shell_exec('uname -mrs');
|
||||
|
||||
$pos = strpos($uname, '-', 0);
|
||||
|
||||
$res = substr($uname, 0, $pos);
|
||||
|
||||
header('Content-Type: text/plain');
|
||||
echo($res);
|
||||
?>
|
||||
7
_site/cgi/uptime/index.php
Normal file
7
_site/cgi/uptime/index.php
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<?php
|
||||
$uptime = shell_exec('uptime');
|
||||
$version = shell_exec('uptime -V');
|
||||
|
||||
header('Content-Type: text/plain');
|
||||
echo('Server ' . substr($version, 0, -1) . ': ' . $uptime);
|
||||
?>
|
||||
24
_site/cgi/whois/index.php
Normal file
24
_site/cgi/whois/index.php
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
<?php
|
||||
if (!empty($_GET["host"]) and empty($_POST["host"])) {
|
||||
$host = $_GET["host"];
|
||||
} elseif (!empty($_POST["host"]) and empty($_GET["host"])) {
|
||||
$host = $_POST["host"];
|
||||
} else {
|
||||
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
|
||||
//ip from share internet
|
||||
$host = $_SERVER['HTTP_CLIENT_IP'];
|
||||
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
|
||||
//ip pass from proxy
|
||||
$host = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
||||
} else {
|
||||
$host = $_SERVER['REMOTE_ADDR'];
|
||||
}
|
||||
}
|
||||
|
||||
$cmd = 'whois ' . $host;
|
||||
|
||||
$whois = shell_exec($cmd);
|
||||
|
||||
header('Content-Type: text/plain');
|
||||
echo($whois);
|
||||
?>
|
||||
13
_site/contact/index.html
Normal file
13
_site/contact/index.html
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<!doctype html><html lang=en id=top><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>xw3.org:/contact/</title>
|
||||
<meta name=author content="xw3.org "><meta name=generator content="xw3.org"><meta name=robots content="index,follow"><meta name=revisit-after content="7 days"><meta name=description content="A static HTML and CGI based website..."><meta name=keywords content="contact"><link rel="shortcut icon" type=image/png href=/favicon.png><link rel=stylesheet href=/css/main.css><link rel=stylesheet href=/css/fork-awesome.min.css><link rel=stylesheet href=/css/cookieconsent.min.css><script src=/js/jquery-3.6.4.min.js></script><link rel=canonical href=https://xw3.org/contact/><link rel=alternate type=application/rss+xml title="RSS Feed - [xw3.org]" href=https://xw3.org/feed.xml></head><body><div class=site><div id=loader class="lds-dual-ring hidden overlay"></div><header class=site-header><div class=wrapper><nav class=site-nav><a href=# class=menu-icon><span class="fa fa-bars" aria-hidden=true></span></a><div class=trigger><ul style=list-style:none><li><a class=page-link href=/ style=text-decoration:none>/</a></li><li><a class=page-link href=/about/ style=text-decoration:none>/about/</a></li><li><a class=page-link href=/contact/ style=text-decoration:none>/contact/</a></li><li><a class=page-link href=/tools/ style=text-decoration:none>/tools/</a></li></ul></div></nav></div></header><div class=page-content><div class=wrapper><div class=post><header class=post-header><h1 class=post-title id=terminal>xw3.org:/contact/</h1><p>A contact form inside a staic Jekyll site... ;)</p></header><article class=post-content><script>function doSubmit(){$("#loader").removeClass("hidden"),event.preventDefault();var e=$("#contactform")[0],t=new FormData(e);return $.ajax({type:"POST",enctype:"multipart/form-data",data:t,url:"/cgi/mail/",processData:!1,contentType:!1,cache:!1,success:function(e){window.alert(e),$("#challenge").load("/cgi/challenge/"),$("#loader").addClass("hidden")}}),!1}$(document).ready(function(){$("#challenge").load("/cgi/challenge/")})</script><form id=contactform method=post onsubmit="return doSubmit()"><div><label>Name:<span style=color:red>*</span></label>
|
||||
<input name=name id=name required></div><div><label>Email:</label>
|
||||
<input type=email name=email id=email></div><div><label>Website:</label>
|
||||
<input name=website id=website></div><div><label>Subject:</label>
|
||||
<input name=subject id=subject></div><div><label>Message:<span style=color:red>*</span></label>
|
||||
<textarea name=message id=message required style=font-size:1em;font-family:OpenSans-Regular></textarea></div><div style=text-align:left;width:50%;float:left><label>Challenge: <span id=challenge name=challenge>NULL</span>?
|
||||
<span style=color:red>*</span></label>
|
||||
<input style=width:10%;text-align:center name=sum id=sum required></div><div style=text-align:right;width:50%;float:right><span style=color:red>*</span> = Required fields</div><div><input type=submit value=Send! id=button></div></form></article></div></div></div><footer class=site-footer><div class=wrapper><div class=footer-col-wrapper><p style=text-align:center>Copyright © 2024 - [xw3.org] -
|
||||
<a href=/feed.xml class=rss><i class="fa fa-rss" aria-hidden=true></i><span style=display:none> RSS Feed</span></a> -
|
||||
<a href=https://git.xw3.org/xw3 class=git><i class="fa fa-git" aria-hidden=true></i><span style=display:none> Git repositories</span></a> -
|
||||
<a href=https://wiki.xw3.org/start class=book><i class="fa fa-book" aria-hidden=true></i><span style=display:none> Wiki</span></a></p></div></div></footer></div><p style=text-align:center;color:#e8e8e8;font-size:12px><span id=uptime>NULL</span><br>Page generated at: Feb 6, 2024 (CET/CEST) using Jekyll on GNU/Linux @jupiter<br>Powered by: <span id=uname>NULL</span></p><a href=#top id=topbutton><span></span></a>
|
||||
<script src=/js/cookieconsent.min.js data-cfasync=false></script><script>$(document).ready(function(){$("#uname").load("/cgi/uname/"),$("#uptime").load("/cgi/uptime/")})</script><script>window.cookieconsent.initialise({palette:{popup:{background:"#000",text:"#e8e8e8"},button:{background:"#bc6c21"}},theme:"classic",position:"bottom",static:!1,content:{message:"This website uses cookies to provide you with a better online experience. Leave this site if you don't accept the usage of cookies. No tracking cookies are being used! To find out more, please visit this website's ",dismiss:"Got it!",link:"Privacy Policy.",href:"/privacy/"}})</script></body></html>
|
||||
1
_site/css/cookieconsent.min.css
vendored
Normal file
1
_site/css/cookieconsent.min.css
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
.cc-window{opacity:1;-webkit-transition:opacity 1s ease;transition:opacity 1s ease}.cc-window.cc-invisible{opacity:0}.cc-animate.cc-revoke{-webkit-transition:transform 1s ease;-webkit-transition:-webkit-transform 1s ease;transition:-webkit-transform 1s ease;transition:transform 1s ease;transition:transform 1s ease,-webkit-transform 1s ease}.cc-animate.cc-revoke.cc-top{-webkit-transform:translateY(-2em);transform:translateY(-2em)}.cc-animate.cc-revoke.cc-bottom{-webkit-transform:translateY(2em);transform:translateY(2em)}.cc-animate.cc-revoke.cc-active.cc-top{-webkit-transform:translateY(0);transform:translateY(0)}.cc-animate.cc-revoke.cc-active.cc-bottom{-webkit-transform:translateY(0);transform:translateY(0)}.cc-revoke:hover{-webkit-transform:translateY(0);transform:translateY(0)}.cc-grower{max-height:0;overflow:hidden;-webkit-transition:max-height 1s;transition:max-height 1s}.cc-revoke,.cc-window{position:fixed;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Helvetica,Calibri,Arial,sans-serif;font-size:16px;line-height:1.5em;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;z-index:9999}.cc-window.cc-static{position:static}.cc-window.cc-floating{padding:2em;max-width:24em;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner{padding:1em 1.8em;width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.cc-revoke{padding:.5em}.cc-revoke:hover{text-decoration:underline}.cc-header{font-size:18px;font-weight:700}.cc-btn,.cc-close,.cc-link,.cc-revoke{cursor:pointer}.cc-link{opacity:.8;display:inline-block;padding:.2em;text-decoration:underline}.cc-link:hover{opacity:1}.cc-link:active,.cc-link:visited{color:initial}.cc-btn{display:block;padding:.4em .8em;font-size:.9em;font-weight:700;border-width:2px;border-style:solid;text-align:center;white-space:nowrap}.cc-highlight .cc-btn:first-child{background-color:initial;border-color:transparent}.cc-highlight .cc-btn:first-child:focus,.cc-highlight .cc-btn:first-child:hover{background-color:initial;text-decoration:underline}.cc-close{display:block;position:absolute;top:.5em;right:.5em;font-size:1.6em;opacity:.9;line-height:.75}.cc-close:focus,.cc-close:hover{opacity:1}.cc-revoke.cc-top{top:0;left:3em;border-bottom-left-radius:.5em;border-bottom-right-radius:.5em}.cc-revoke.cc-bottom{bottom:0;left:3em;border-top-left-radius:.5em;border-top-right-radius:.5em}.cc-revoke.cc-left{left:3em;right:unset}.cc-revoke.cc-right{right:3em;left:unset}.cc-top{top:1em}.cc-left{left:1em}.cc-right{right:1em}.cc-bottom{bottom:1em}.cc-floating>.cc-link{margin-bottom:1em}.cc-floating .cc-message{display:block;margin-bottom:1em}.cc-window.cc-floating .cc-compliance{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.cc-window.cc-banner{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.cc-banner.cc-top{left:0;right:0;top:0}.cc-banner.cc-bottom{left:0;right:0;bottom:0}.cc-banner .cc-message{display:block;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:auto;max-width:100%;margin-right:1em}.cc-compliance{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:justify;align-content:space-between}.cc-floating .cc-compliance>.cc-btn{-webkit-box-flex:1;-ms-flex:1;flex:1}.cc-btn+.cc-btn{margin-left:.5em}@media print{.cc-revoke,.cc-window{display:none}}@media screen and (max-width:900px){.cc-btn{white-space:normal}}@media screen and (max-width:414px) and (orientation:portrait),screen and (max-width:736px) and (orientation:landscape){.cc-window.cc-top{top:0}.cc-window.cc-bottom{bottom:0}.cc-window.cc-banner,.cc-window.cc-floating,.cc-window.cc-left,.cc-window.cc-right{left:0;right:0}.cc-window.cc-banner{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner .cc-compliance{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:auto}.cc-window.cc-floating{max-width:none}.cc-window .cc-message{margin-bottom:1em}.cc-window.cc-banner{-webkit-box-align:unset;-ms-flex-align:unset;align-items:unset}.cc-window.cc-banner .cc-message{margin-right:0}}.cc-floating.cc-theme-classic{padding:1.2em;border-radius:5px}.cc-floating.cc-type-info.cc-theme-classic .cc-compliance{text-align:center;display:inline;-webkit-box-flex:0;-ms-flex:none;flex:none}.cc-theme-classic .cc-btn{border-radius:5px}.cc-theme-classic .cc-btn:last-child{min-width:140px}.cc-floating.cc-type-info.cc-theme-classic .cc-btn{display:inline-block}.cc-theme-edgeless.cc-window{padding:0}.cc-floating.cc-theme-edgeless .cc-message{margin:2em;margin-bottom:1.5em}.cc-banner.cc-theme-edgeless .cc-btn{margin:0;padding:.8em 1.8em;height:100%}.cc-banner.cc-theme-edgeless .cc-message{margin-left:1em}.cc-floating.cc-theme-edgeless .cc-btn+.cc-btn{margin-left:0}
|
||||
6
_site/css/fork-awesome.css
Normal file
6
_site/css/fork-awesome.css
Normal file
File diff suppressed because one or more lines are too long
6
_site/css/fork-awesome.min.css
vendored
Normal file
6
_site/css/fork-awesome.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
_site/css/fork-awesome.min.css.map
Normal file
1
_site/css/fork-awesome.min.css.map
Normal file
File diff suppressed because one or more lines are too long
1
_site/css/main.css
Normal file
1
_site/css/main.css
Normal file
File diff suppressed because one or more lines are too long
1
_site/css/main.css.map
Normal file
1
_site/css/main.css.map
Normal file
File diff suppressed because one or more lines are too long
6
_site/css/v5-compat.css
Normal file
6
_site/css/v5-compat.css
Normal file
File diff suppressed because one or more lines are too long
6
_site/css/v5-compat.min.css
vendored
Normal file
6
_site/css/v5-compat.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
_site/css/v5-compat.min.css.map
Normal file
1
_site/css/v5-compat.min.css.map
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["v5-compat.css"],"names":[],"mappings":";;;;;;;;;;;AAaA,KACA,KAFA,KAGE,QAAA,aACA,KAAA,OAAA,OAAA,OAAA,KAAA,EAAA,YACA,UAAA,QACA,eAAA,KACA,uBAAA,YACA,wBAAA,UAEgB,0BAChB,QAAA,QAEgB,0BAChB,QAAA,QAEuB,iCACvB,QAAA,QAEkB,4BAClB,QAAA,QAEkB,4BAClB,QAAA,QAEkB,4BAClB,QAAA,QAEkB,4BAClB,QAAA,QAEwB,kCACxB,QAAA,QAEsB,gCACtB,QAAA,QAEiB,2BACjB,QAAA,QAEiB,2BACjB,QAAA,QAEe,yBACf,QAAA,QAEkB,4BAClB,QAAA,QAEuB,iCACvB,QAAA,QAE8B,wCAC9B,QAAA,QAEiB,2BACjB,QAAA,QAEgB,0BAChB,QAAA,QAEmB,6BACnB,QAAA,QAEiB,2BACjB,QAAA,QAEgB,0BAChB,QAAA,QAEc,wBACd,QAAA,QAEoB,8BACpB,QAAA,QAEkB,4BAClB,QAAA,QAEgB,0BAChB,QAAA,QAEyB,mCACzB,QAAA,QAEyB,mCACzB,QAAA,QAE0B,oCAC1B,QAAA,QAEuB,iCACvB,QAAA,QAEoB,8BACpB,QAAA,QAEgB,0BAChB,QAAA,QAEgB,0BAChB,QAAA,QAEgB,0BAChB,QAAA,QAEe,yBACf,QAAA,QAEc,wBACd,QAAA,QAEgB,0BAChB,QAAA,QAEgB,0BAChB,QAAA,QAEiB,2BACjB,QAAA,QAEkB,4BAClB,QAAA,QAEe,yBACf,QAAA,QAEgB,0BAChB,QAAA,QAEoB,8BACpB,QAAA,QAEe,yBACf,QAAA,QAEgB,0BAChB,QAAA,QAEe,yBACf,QAAA,QAEe,yBACf,QAAA,QAEiB,2BACjB,QAAA,QAEc,wBACd,QAAA,QAEkB,4BAClB,QAAA,QAEkB,4BAClB,QAAA,QAE2B,qCAC3B,QAAA,QAE2B,qCAC3B,QAAA,QAE4B,sCAC5B,QAAA,QAEyB,mCACzB,QAAA,QAEU,oBACV,QAAA,QAEgB,0BAChB,QAAA,QAEc,wBACd,QAAA,QAEc,wBACd,QAAA,QAEoB,8BACpB,QAAA,QAEoB,8BACpB,QAAA,QAEc,wBACd,QAAA,QAEmB,6BACnB,QAAA,QAEoB,8BACpB,QAAA,QAEuB,iCACvB,QAAA,QAEuB,iCACvB,QAAA,QAEwB,kCACxB,QAAA,QAEqB,+BACrB,QAAA,QAEkB,4BAClB,QAAA,QAEkB,4BAClB,QAAA,QAEY,sBACZ,QAAA,QAEW,qBACX,QAAA,QAEa,uBACb,QAAA,QAEkB,4BAClB,QAAA,QAEc,wBACd,QAAA,QAEgB,0BAChB,QAAA,QAEa,uBACb,QAAA,QAEc,wBACd,QAAA,QAEmB,6BACnB,QAAA,QAEkB,4BAClB,QAAA,QAEgB,0BAChB,QAAA,QAEe,yBACf,QAAA,QAEgB,0BAChB,QAAA,QAEgB,0BAChB,QAAA,QAEgB,0BAChB,QAAA,QAEU,oBACA,oBACV,QAAA,QAEc,wBACd,QAAA,QAEqB,+BACrB,QAAA,QAEc,wBACd,QAAA,QAEe,yBACf,QAAA,QAEU,oBACV,QAAA,QAEU,oBACV,QAAA,QAEY,sBACZ,QAAA,QAEiB,2BACjB,QAAA,QAEW,qBACX,QAAA,QAEY,sBACZ,QAAA,QAEe,yBACf,QAAA,QAEiB,2BACjB,QAAA,QAEqB,+BACrB,QAAA,QAEqB,+BACrB,QAAA,QAEsB,gCACtB,QAAA,QAEmB,6BACnB,QAAA,QAEgB,0BAChB,QAAA,OAEkB,4BAClB,QAAA,QAEmB,6BACnB,QAAA,QAEgB,0BAChB,QAAA,QAEe,yBACf,QAAA,QAES,mBACT,QAAA,QAEW,qBACX,QAAA,QAEc,wBACd,QAAA,QAEe,yBACf,QAAA,QAEa,uBACb,QAAA,QAEc,wBACd,QAAA,QAEW,qBACX,QAAA,QAEe,yBACf,QAAA,QAES,mBACT,QAAA,QAEkB,4BAClB,QAAA,QAEoB,8BACpB,QAAA,QAEU,oBACV,QAAA,QAEe,yBACf,QAAA,QAEiB,2BACjB,QAAA,QAEkB,4BAClB,QAAA,QAEU,oBACV,QAAA,QAEW,qBACX,QAAA,QAEiB,2BACjB,QAAA,QAEiB,2BACjB,QAAA,QAEqB,+BACrB,QAAA,QAEkB,4BAClB,QAAA,QAEW,qBACX,QAAA,QAEe,yBACf,QAAA,QAEY,sBACZ,QAAA,QAEe,yBACf,QAAA,QAEU,oBACV,QAAA,QAEiB,2BACjB,QAAA,QAEiB,2BACjB,QAAA,QAES,mBACT,QAAA,QAEiB,2BACjB,QAAA,QAEe,yBACf,QAAA,QAEkB,4BAClB,QAAA,QAEkB,4BAClB,QAAA,QAEe,yBACf,QAAA,QAEiB,2BACjB,QAAA,QAEU,oBACV,QAAA"}
|
||||
1
_site/feed.xml
Normal file
1
_site/feed.xml
Normal file
|
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>[xw3.org]</title><description>A static HTML and CGI based website...</description><link>https://xw3.org</link><atom:link href="https://xw3.org/feed.xml" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 Feb 2024 16:22:11 +0000</pubDate><lastBuildDate>Tue, 06 Feb 2024 16:22:11 +0000</lastBuildDate><item><title>Welcome</title><description><p>This is a fun project at the moment… no content actually!</p></description><pubDate>Tue, 06 Feb 2024 00:00:00 +0000</pubDate><link>https://xw3.org/2024/02/06/welcome/</link><guid isPermaLink="true">https://xw3.org/2024/02/06/welcome/</guid><category>xw3</category><category>cgi</category><category>static</category><category>dynamic</category><category>jekyll</category><category>pinned</category><category>news</category><category>project</category></item></channel></rss>
|
||||
BIN
_site/fonts/Courier-Prime-Sans.ttf
Normal file
BIN
_site/fonts/Courier-Prime-Sans.ttf
Normal file
Binary file not shown.
BIN
_site/fonts/Glass_TTY_VT220.ttf
Normal file
BIN
_site/fonts/Glass_TTY_VT220.ttf
Normal file
Binary file not shown.
BIN
_site/fonts/Graph-35-pix.ttf
Normal file
BIN
_site/fonts/Graph-35-pix.ttf
Normal file
Binary file not shown.
BIN
_site/fonts/OpenSans-Regular.woff
Normal file
BIN
_site/fonts/OpenSans-Regular.woff
Normal file
Binary file not shown.
BIN
_site/fonts/forkawesome-webfont.woff
Normal file
BIN
_site/fonts/forkawesome-webfont.woff
Normal file
Binary file not shown.
BIN
_site/images/logo.png
Normal file
BIN
_site/images/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
79
_site/images/logo.svg
Normal file
79
_site/images/logo.svg
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="100mm"
|
||||
height="100mm"
|
||||
viewBox="0 0 100 100"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14"
|
||||
sodipodi:docname="logo.svg">
|
||||
<defs
|
||||
id="defs2" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.4"
|
||||
inkscape:cx="170.54058"
|
||||
inkscape:cy="194.62108"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1438"
|
||||
inkscape:window-height="850"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-197)">
|
||||
<rect
|
||||
style="opacity:1;fill:#212529;fill-opacity:1;fill-rule:nonzero;stroke:#fed136;stroke-width:5.96287186;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:11;stroke-dasharray:none;stroke-opacity:1;paint-order:normal;stroke-dashoffset:5.36658468"
|
||||
id="rect952"
|
||||
width="93.650742"
|
||||
height="93.650742"
|
||||
x="3.1619756"
|
||||
y="200.37631" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Layer 2">
|
||||
<g
|
||||
aria-label="F"
|
||||
transform="matrix(1.0046317,-3.562603e-5,-0.28884681,0.99539987,0,0)"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:114.24069214px;line-height:125%;font-family:'Alfa Slab One';-inkscape-font-specification:'Alfa Slab One';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="text975">
|
||||
<path
|
||||
d="M 56.21119,91.76767 H 38.503882 q -2.170573,0 -3.198739,-0.913926 -0.913925,-1.028166 -0.913925,-3.198739 V 13.627036 q 0,-2.170573 0.913925,-3.084498 1.028166,-1.0281667 3.198739,-1.0281667 h 50.951349 q 2.170573,0 3.084499,1.0281667 1.028166,0.913925 1.028166,3.084498 v 13.594643 q 0,2.170573 -1.028166,3.198739 -0.913926,0.913926 -3.084499,0.913926 H 60.323855 v 11.881032 h 19.87788 q 2.170573,0 3.084499,1.028166 1.028166,0.913925 1.028166,3.084498 v 13.708883 q 0,2.170574 -1.028166,3.19874 -0.913926,0.913925 -3.084499,0.913925 h -19.87788 v 22.505417 q 0,2.170573 -1.028167,3.198739 -0.913925,0.913926 -3.084498,0.913926 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Bungee;-inkscape-font-specification:Bungee;fill:#fed136;fill-opacity:1;stroke:#fed136;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path977" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
BIN
_site/images/spinner.gif
Normal file
BIN
_site/images/spinner.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 46 KiB |
BIN
_site/images/up-arrow.png
Normal file
BIN
_site/images/up-arrow.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 649 B |
7
_site/index.html
Normal file
7
_site/index.html
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<!doctype html><html lang=en id=top><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>xw3.org:/</title>
|
||||
<meta name=author content="xw3.org "><meta name=generator content="xw3.org"><meta name=robots content="index,follow"><meta name=revisit-after content="7 days"><meta name=description content="The XW3.ORG CGI research project"><meta name=keywords content="xw3,project,cgi,static,jekyll"><link rel="shortcut icon" type=image/png href=/favicon.png><link rel=stylesheet href=/css/main.css><link rel=stylesheet href=/css/fork-awesome.min.css><link rel=stylesheet href=/css/cookieconsent.min.css><script src=/js/jquery-3.6.4.min.js></script><link rel=canonical href=https://xw3.org/><link rel=alternate type=application/rss+xml title="RSS Feed - [xw3.org]" href=https://xw3.org/feed.xml></head><body><div class=site><div id=loader class="lds-dual-ring hidden overlay"></div><header class=site-header><div class=wrapper><nav class=site-nav><a href=# class=menu-icon><span class="fa fa-bars" aria-hidden=true></span></a><div class=trigger><ul style=list-style:none><li><a class=page-link href=/ style=text-decoration:none>/</a></li><li><a class=page-link href=/about/ style=text-decoration:none>/about/</a></li><li><a class=page-link href=/contact/ style=text-decoration:none>/contact/</a></li><li><a class=page-link href=/tools/ style=text-decoration:none>/tools/</a></li></ul></div></nav></div></header><div class=page-content><div class=wrapper><div class=post><header class=post-header><h1 class=post-title id=terminal>/</h1><p>...</p></header></div><article class=post-content><h2><a href=/2024/02/06/welcome/ title=Welcome>Welcome</a> <span style="cursor:help;float:right;padding:0 8px" title="Pinned Post!">📌</span></h2><p class=post-meta>Feb 6, 2024
|
||||
(CET/CEST)</p><p>This is a fun project at the moment… no content actually!</p><p>Permalink: <a href=/2024/02/06/welcome/ title=https://xw3.org/2024/02/06/welcome/>https://xw3.org/2024/02/06/welcome/</a></p></article><h2>Pages</h2><div id=pages><a href=/ class=active title="Seite 1">1</a></div></div></div><footer class=site-footer><div class=wrapper><div class=footer-col-wrapper><p style=text-align:center>Copyright © 2024 - [xw3.org] -
|
||||
<a href=/feed.xml class=rss><i class="fa fa-rss" aria-hidden=true></i><span style=display:none> RSS Feed</span></a> -
|
||||
<a href=https://git.xw3.org/xw3 class=git><i class="fa fa-git" aria-hidden=true></i><span style=display:none> Git repositories</span></a> -
|
||||
<a href=https://wiki.xw3.org/start class=book><i class="fa fa-book" aria-hidden=true></i><span style=display:none> Wiki</span></a></p></div></div></footer></div><p style=text-align:center;color:#e8e8e8;font-size:12px><span id=uptime>NULL</span><br>Page generated at: Feb 6, 2024 (CET/CEST) using Jekyll on GNU/Linux @jupiter<br>Powered by: <span id=uname>NULL</span></p><a href=#top id=topbutton><span></span></a>
|
||||
<script src=/js/cookieconsent.min.js data-cfasync=false></script><script>$(document).ready(function(){$("#uname").load("/cgi/uname/"),$("#uptime").load("/cgi/uptime/")})</script><script>window.cookieconsent.initialise({palette:{popup:{background:"#000",text:"#e8e8e8"},button:{background:"#bc6c21"}},theme:"classic",position:"bottom",static:!1,content:{message:"This website uses cookies to provide you with a better online experience. Leave this site if you don't accept the usage of cookies. No tracking cookies are being used! To find out more, please visit this website's ",dismiss:"Got it!",link:"Privacy Policy.",href:"/privacy/"}})</script></body></html>
|
||||
1
_site/js/cookieconsent.min.js
vendored
Normal file
1
_site/js/cookieconsent.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
2
_site/js/jquery-3.6.4.min.js
vendored
Normal file
2
_site/js/jquery-3.6.4.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
2
_site/js/jquery-3.7.1.min.js
vendored
Normal file
2
_site/js/jquery-3.7.1.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
3
_site/robots.txt
Normal file
3
_site/robots.txt
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
Sitemap: https://xw3.org/sitemap.xml
|
||||
User-agent: *
|
||||
Disallow:
|
||||
1
_site/sitemap.xml
Normal file
1
_site/sitemap.xml
Normal file
|
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><urlset 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" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://xw3.org/2024/02/06/welcome/</loc><lastmod>2024-02-06T00:00:00+00:00</lastmod></url><url><loc>https://xw3.org/about/</loc></url><url><loc>https://xw3.org/contact/</loc></url><url><loc>https://xw3.org/tools/ifconfig/</loc></url><url><loc>https://xw3.org/</loc></url><url><loc>https://xw3.org/tools/</loc></url><url><loc>https://xw3.org/tools/whoami/</loc></url></urlset>
|
||||
6
_site/tools/ifconfig/index.html
Normal file
6
_site/tools/ifconfig/index.html
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<!doctype html><html lang=en id=top><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>xw3.org:/tools/ifconfig/</title>
|
||||
<meta name=author content="xw3.org "><meta name=generator content="xw3.org"><meta name=robots content="index,follow"><meta name=revisit-after content="7 days"><meta name=description content="A static HTML and CGI based website..."><meta name=keywords content="ip,ifconfig"><link rel="shortcut icon" type=image/png href=/favicon.png><link rel=stylesheet href=/css/main.css><link rel=stylesheet href=/css/fork-awesome.min.css><link rel=stylesheet href=/css/cookieconsent.min.css><script src=/js/jquery-3.6.4.min.js></script><link rel=canonical href=https://xw3.org/tools/ifconfig/><link rel=alternate type=application/rss+xml title="RSS Feed - [xw3.org]" href=https://xw3.org/feed.xml></head><body><div class=site><div id=loader class="lds-dual-ring hidden overlay"></div><header class=site-header><div class=wrapper><nav class=site-nav><a href=# class=menu-icon><span class="fa fa-bars" aria-hidden=true></span></a><div class=trigger><ul style=list-style:none><li><a class=page-link href=/ style=text-decoration:none>/</a></li><li><a class=page-link href=/about/ style=text-decoration:none>/about/</a></li><li><a class=page-link href=/contact/ style=text-decoration:none>/contact/</a></li><li><a class=page-link href=/tools/ style=text-decoration:none>/tools/</a></li></ul></div></nav></div></header><div class=page-content><div class=wrapper><div class=post><header class=post-header><h1 class=post-title id=terminal>xw3.org:/tools/ifconfig/</h1></header><article class=post-content><script>$(document).ready(function(){$("#ifconfig").load("/cgi/ifconfig/")})</script><h2>Your IP address</h2><pre><span id=ifconfig name=ifconfig>NULL</span></pre><h2>API</h2><ul><li><a href=https://xw3.org/cgi/ifconfig/>https://xw3.org/cgi/ifconfig/</a> - Just returns your public IP</li></ul></article></div></div></div><footer class=site-footer><div class=wrapper><div class=footer-col-wrapper><p style=text-align:center>Copyright © 2024 - [xw3.org] -
|
||||
<a href=/feed.xml class=rss><i class="fa fa-rss" aria-hidden=true></i><span style=display:none> RSS Feed</span></a> -
|
||||
<a href=https://git.xw3.org/xw3 class=git><i class="fa fa-git" aria-hidden=true></i><span style=display:none> Git repositories</span></a> -
|
||||
<a href=https://wiki.xw3.org/start class=book><i class="fa fa-book" aria-hidden=true></i><span style=display:none> Wiki</span></a></p></div></div></footer></div><p style=text-align:center;color:#e8e8e8;font-size:12px><span id=uptime>NULL</span><br>Page generated at: Feb 6, 2024 (CET/CEST) using Jekyll on GNU/Linux @jupiter<br>Powered by: <span id=uname>NULL</span></p><a href=#top id=topbutton><span></span></a>
|
||||
<script src=/js/cookieconsent.min.js data-cfasync=false></script><script>$(document).ready(function(){$("#uname").load("/cgi/uname/"),$("#uptime").load("/cgi/uptime/")})</script><script>window.cookieconsent.initialise({palette:{popup:{background:"#000",text:"#e8e8e8"},button:{background:"#bc6c21"}},theme:"classic",position:"bottom",static:!1,content:{message:"This website uses cookies to provide you with a better online experience. Leave this site if you don't accept the usage of cookies. No tracking cookies are being used! To find out more, please visit this website's ",dismiss:"Got it!",link:"Privacy Policy.",href:"/privacy/"}})</script></body></html>
|
||||
6
_site/tools/index.html
Normal file
6
_site/tools/index.html
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<!doctype html><html lang=en id=top><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>xw3.org:/tools/</title>
|
||||
<meta name=author content="xw3.org "><meta name=generator content="xw3.org"><meta name=robots content="index,follow"><meta name=revisit-after content="7 days"><meta name=description content="A static HTML and CGI based website..."><meta name=keywords content="tools,ifconfig,ip,whois,networking,cgi,environment,env"><link rel="shortcut icon" type=image/png href=/favicon.png><link rel=stylesheet href=/css/main.css><link rel=stylesheet href=/css/fork-awesome.min.css><link rel=stylesheet href=/css/cookieconsent.min.css><script src=/js/jquery-3.6.4.min.js></script><link rel=canonical href=https://xw3.org/tools/><link rel=alternate type=application/rss+xml title="RSS Feed - [xw3.org]" href=https://xw3.org/feed.xml></head><body><div class=site><div id=loader class="lds-dual-ring hidden overlay"></div><header class=site-header><div class=wrapper><nav class=site-nav><a href=# class=menu-icon><span class="fa fa-bars" aria-hidden=true></span></a><div class=trigger><ul style=list-style:none><li><a class=page-link href=/ style=text-decoration:none>/</a></li><li><a class=page-link href=/about/ style=text-decoration:none>/about/</a></li><li><a class=page-link href=/contact/ style=text-decoration:none>/contact/</a></li><li><a class=page-link href=/tools/ style=text-decoration:none>/tools/</a></li></ul></div></nav></div></header><div class=page-content><div class=wrapper><div class=post><header class=post-header><h1 class=post-title id=terminal>xw3.org:/tools/</h1><p>This is a work in progress...</p></header><article class=post-content><h2>Networking</h2><ul><li><a href=/tools/ifconfig/>ifconfig</a> - Shows your IP address</li><li><a href=/tools/whoami/>whoami</a> - Shows your IP whois data</li></ul><h2>Try the CGI</h2><ul></ul><ul><li><a href=/cgi/bash/>bash</a></li><li><a href=/cgi/env/>env</a></li><li><a href=/cgi/perl/>perl</a></li><li><a href=/cgi/php/>php</a></li><li><a href=/cgi/python/>python</a></li><li><a href=/cgi/ruby/>ruby</a></li></ul></article></div></div></div><footer class=site-footer><div class=wrapper><div class=footer-col-wrapper><p style=text-align:center>Copyright © 2024 - [xw3.org] -
|
||||
<a href=/feed.xml class=rss><i class="fa fa-rss" aria-hidden=true></i><span style=display:none> RSS Feed</span></a> -
|
||||
<a href=https://git.xw3.org/xw3 class=git><i class="fa fa-git" aria-hidden=true></i><span style=display:none> Git repositories</span></a> -
|
||||
<a href=https://wiki.xw3.org/start class=book><i class="fa fa-book" aria-hidden=true></i><span style=display:none> Wiki</span></a></p></div></div></footer></div><p style=text-align:center;color:#e8e8e8;font-size:12px><span id=uptime>NULL</span><br>Page generated at: Feb 6, 2024 (CET/CEST) using Jekyll on GNU/Linux @jupiter<br>Powered by: <span id=uname>NULL</span></p><a href=#top id=topbutton><span></span></a>
|
||||
<script src=/js/cookieconsent.min.js data-cfasync=false></script><script>$(document).ready(function(){$("#uname").load("/cgi/uname/"),$("#uptime").load("/cgi/uptime/")})</script><script>window.cookieconsent.initialise({palette:{popup:{background:"#000",text:"#e8e8e8"},button:{background:"#bc6c21"}},theme:"classic",position:"bottom",static:!1,content:{message:"This website uses cookies to provide you with a better online experience. Leave this site if you don't accept the usage of cookies. No tracking cookies are being used! To find out more, please visit this website's ",dismiss:"Got it!",link:"Privacy Policy.",href:"/privacy/"}})</script></body></html>
|
||||
6
_site/tools/whoami/index.html
Normal file
6
_site/tools/whoami/index.html
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<!doctype html><html lang=en id=top><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>xw3.org:/tools/whoami/</title>
|
||||
<meta name=author content="xw3.org "><meta name=generator content="xw3.org"><meta name=robots content="index,follow"><meta name=revisit-after content="7 days"><meta name=description content="A static HTML and CGI based website..."><meta name=keywords content="ip,dns,domainname,whois,whoami"><link rel="shortcut icon" type=image/png href=/favicon.png><link rel=stylesheet href=/css/main.css><link rel=stylesheet href=/css/fork-awesome.min.css><link rel=stylesheet href=/css/cookieconsent.min.css><script src=/js/jquery-3.6.4.min.js></script><link rel=canonical href=https://xw3.org/tools/whoami/><link rel=alternate type=application/rss+xml title="RSS Feed - [xw3.org]" href=https://xw3.org/feed.xml></head><body><div class=site><div id=loader class="lds-dual-ring hidden overlay"></div><header class=site-header><div class=wrapper><nav class=site-nav><a href=# class=menu-icon><span class="fa fa-bars" aria-hidden=true></span></a><div class=trigger><ul style=list-style:none><li><a class=page-link href=/ style=text-decoration:none>/</a></li><li><a class=page-link href=/about/ style=text-decoration:none>/about/</a></li><li><a class=page-link href=/contact/ style=text-decoration:none>/contact/</a></li><li><a class=page-link href=/tools/ style=text-decoration:none>/tools/</a></li></ul></div></nav></div></header><div class=page-content><div class=wrapper><div class=post><header class=post-header><h1 class=post-title id=terminal>xw3.org:/tools/whoami/</h1></header><article class=post-content><script>$(document).ready(function(){$("#whoami").load("/cgi/whois/")})</script><h2>Your IP whois data</h2><pre><span id=whoami name=whoami>NULL</span></pre><h2>API</h2><ul><li><a href=https://xw3.org/cgi/whois/>https://xw3.org/cgi/whois/</a> - whois accepts a host variable via GET or POST. E.g.: <a href="https://hanez.org/cgi/whois/?host=127.0.0.1">https://xw3.org/cgi/whois/?host=127.0.0.1</a>. It can be a hostname or IP. If no host is set your current IP is being used</li></ul></article></div></div></div><footer class=site-footer><div class=wrapper><div class=footer-col-wrapper><p style=text-align:center>Copyright © 2024 - [xw3.org] -
|
||||
<a href=/feed.xml class=rss><i class="fa fa-rss" aria-hidden=true></i><span style=display:none> RSS Feed</span></a> -
|
||||
<a href=https://git.xw3.org/xw3 class=git><i class="fa fa-git" aria-hidden=true></i><span style=display:none> Git repositories</span></a> -
|
||||
<a href=https://wiki.xw3.org/start class=book><i class="fa fa-book" aria-hidden=true></i><span style=display:none> Wiki</span></a></p></div></div></footer></div><p style=text-align:center;color:#e8e8e8;font-size:12px><span id=uptime>NULL</span><br>Page generated at: Feb 6, 2024 (CET/CEST) using Jekyll on GNU/Linux @jupiter<br>Powered by: <span id=uname>NULL</span></p><a href=#top id=topbutton><span></span></a>
|
||||
<script src=/js/cookieconsent.min.js data-cfasync=false></script><script>$(document).ready(function(){$("#uname").load("/cgi/uname/"),$("#uptime").load("/cgi/uptime/")})</script><script>window.cookieconsent.initialise({palette:{popup:{background:"#000",text:"#e8e8e8"},button:{background:"#bc6c21"}},theme:"classic",position:"bottom",static:!1,content:{message:"This website uses cookies to provide you with a better online experience. Leave this site if you don't accept the usage of cookies. No tracking cookies are being used! To find out more, please visit this website's ",dismiss:"Got it!",link:"Privacy Policy.",href:"/privacy/"}})</script></body></html>
|
||||
0
_tmp/.gitkeep
Normal file
0
_tmp/.gitkeep
Normal file
9
about/about.html
Normal file
9
about/about.html
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
layout: page
|
||||
published: true
|
||||
noToc: true
|
||||
title: /about/
|
||||
subtitle:
|
||||
permalink: /about/
|
||||
---
|
||||
|
||||
0
bin/.gitkeep
Normal file
0
bin/.gitkeep
Normal file
0
build.log
Normal file
0
build.log
Normal file
13
cgi/bash/bash.sh
Executable file
13
cgi/bash/bash.sh
Executable file
|
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
permalink: /cgi/bash/index.sh
|
||||
---
|
||||
|
||||
echo "Hello from bash!"
|
||||
echo
|
||||
echo 'date'
|
||||
date
|
||||
echo
|
||||
echo 'for i in $(seq 1 10); do echo $i; done'
|
||||
|
||||
for i in $(seq 1 10); do echo $i; done
|
||||
|
||||
27
cgi/challenge/challenge.php
Normal file
27
cgi/challenge/challenge.php
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
---
|
||||
permalink: /cgi/challenge/
|
||||
---
|
||||
|
||||
<?php
|
||||
session_start();
|
||||
session_set_cookie_params(3600);
|
||||
|
||||
date_default_timezone_set("{{ site.timezone }}");
|
||||
|
||||
if(isset($_SESSION["one"])) {
|
||||
unset($_SESSION["one"]);
|
||||
}
|
||||
|
||||
if(isset($_SESSION["two"])) {
|
||||
unset($_SESSION["two"]);
|
||||
}
|
||||
|
||||
$_SESSION["one"] = rand(0, 9);
|
||||
$_SESSION["two"] = rand(0, 9);
|
||||
#$_SESSION["sum"] = $_SESSION["one"] + $_SESSION["two"];
|
||||
|
||||
$challenge = $_SESSION["one"] . " + " . $_SESSION["two"];
|
||||
|
||||
header('Content-Type: text/plain');
|
||||
echo($challenge);
|
||||
?>
|
||||
115
cgi/env/env.php
vendored
Normal file
115
cgi/env/env.php
vendored
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
---
|
||||
layout: page
|
||||
published: true
|
||||
noToc: true
|
||||
noDate: true
|
||||
title: /cgi/env/
|
||||
subtitle: /cgi is a language independent scripts directory like a <a href="https://en.wikipedia.org/wiki/Common_Gateway_Interface" class="ext">/cgi-bin</a>. It must be configured in your server configuration which language files can be executed. Binaries will work too... For now it all is a little magic to me, but I will tell you how it works for me some day... ;)
|
||||
permalink: /cgi/env/
|
||||
tags:
|
||||
- env
|
||||
- environment
|
||||
- cgi
|
||||
- bash
|
||||
- gcc
|
||||
- zsh
|
||||
- perl
|
||||
- php
|
||||
- python
|
||||
- ruby
|
||||
- test
|
||||
---
|
||||
|
||||
<?php
|
||||
session_start();
|
||||
session_set_cookie_params(3600);
|
||||
|
||||
date_default_timezone_set("{{ site.timezone }}");
|
||||
?>
|
||||
|
||||
<h2>PHP Environment</h2>
|
||||
|
||||
<h3>GET:</h3>
|
||||
|
||||
<?php
|
||||
ksort($_GET);
|
||||
echo '<ul>';
|
||||
foreach ($_GET as $key => $value) {
|
||||
echo '<li>';
|
||||
echo $key . ': ' . $value;
|
||||
echo '</li>';
|
||||
}
|
||||
echo '</ul>';
|
||||
?>
|
||||
|
||||
<h3>POST:</h3>
|
||||
|
||||
<?php
|
||||
ksort($_POST);
|
||||
echo '<ul>';
|
||||
foreach ($_POST as $key => $value) {
|
||||
echo '<li>';
|
||||
echo $key . ': ' . $value;
|
||||
echo '</li>';
|
||||
}
|
||||
echo '</ul>';
|
||||
?>
|
||||
|
||||
<!--
|
||||
<h3>SESSION:</h3>
|
||||
|
||||
<?php
|
||||
var_dump($_SESSION);
|
||||
#ksort($_SESSION);
|
||||
#echo '<ul>';
|
||||
#foreach ($_SESSION as $key => $value) {
|
||||
# echo '<li>';
|
||||
# echo $key . ': ' . $value;
|
||||
# echo '</li>';
|
||||
#}
|
||||
#echo '</ul>';
|
||||
?>
|
||||
|
||||
<h3>SERVER:</h3>
|
||||
|
||||
<?php
|
||||
ksort($_SERVER);
|
||||
echo '<ul>';
|
||||
foreach ($_SERVER as $key => $value) {
|
||||
echo '<li>';
|
||||
echo $key . ': ' . $value;
|
||||
echo '</li>';
|
||||
}
|
||||
echo '</ul>';
|
||||
?>
|
||||
-->
|
||||
|
||||
<h2>Runtimes</h2>
|
||||
|
||||
<?php
|
||||
echo '<ul>';
|
||||
echo '<li>bash --version: ' . shell_exec('bash --version');
|
||||
echo ' - <a href="https://www.gnu.org/software/bash/" class="ext">https://www.gnu.org/software/bash/</a></li><li>';
|
||||
echo 'gcc --version: ' . shell_exec('gcc --version');
|
||||
echo ' - <a href="https://gcc.gnu.org/" class="ext">https://gcc.gnu.org/</a></li><li>';
|
||||
echo 'jekyll --version: ' . shell_exec('jekyll --version');
|
||||
echo ' - <a href="https://jekyllrb.com/" class="ext">https://jekyllrb.com/</a></li><li>';
|
||||
echo 'lighttpd -v: ' . shell_exec('lighttpd -v');
|
||||
echo ' - <a href="https://www.lighttpd.net/" class="ext">https://www.lighttpd.net/</a></li><li>';
|
||||
echo 'Linux (uname -a): ' . shell_exec('uname -a');
|
||||
echo ' - <a href="https://kernel.org/" class="ext">https://kernel.org/</a></li><li>';
|
||||
echo 'OS (cat /etc/os-release): ' . shell_exec('cat /etc/os-release');
|
||||
echo ' - <a href="https://alpinelinux.org/" class="ext">https://alpinelinux.org/</a></li><li>';
|
||||
echo 'perl --version: ' . shell_exec('perl --version');
|
||||
echo ' - <a href="https://www.perl.org/" class="ext">https://www.perl.org/</a></li><li>';
|
||||
echo 'php --version: ' . shell_exec('php --version');
|
||||
echo ' - <a href="https://www.php.net/" class="ext">https://www.php.net/</a></li><li>';
|
||||
echo 'python --version: ' . shell_exec('python --version');
|
||||
echo ' - <a href="https://www.python.org/" class="ext">https://www.python.org/</a></li><li>';
|
||||
echo 'ruby --version: ' . shell_exec('ruby --version');
|
||||
echo ' - <a href="https://www.ruby-lang.org/en/" class="ext">https://www.ruby-lang.org/en/</a></li><li>';
|
||||
echo 'zsh --version: ' . shell_exec('zsh --version');
|
||||
echo ' - <a href="https://www.zsh.org/" class="ext">https://www.zsh.org/</a></li>';
|
||||
echo '</ul>';
|
||||
?>
|
||||
|
||||
18
cgi/ifconfig/ifconfig.php
Normal file
18
cgi/ifconfig/ifconfig.php
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
permalink: /cgi/ifconfig/
|
||||
---
|
||||
|
||||
<?php
|
||||
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
|
||||
//ip from share internet
|
||||
$ip = $_SERVER['HTTP_CLIENT_IP'];
|
||||
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
|
||||
//ip pass from proxy
|
||||
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
||||
} else {
|
||||
$ip = $_SERVER['REMOTE_ADDR'];
|
||||
}
|
||||
|
||||
header('Content-Type: text/plain');
|
||||
echo($ip);
|
||||
?>
|
||||
47
cgi/mail/mail.php
Normal file
47
cgi/mail/mail.php
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
---
|
||||
permalink: /cgi/mail/
|
||||
---
|
||||
|
||||
<?php
|
||||
session_start();
|
||||
session_set_cookie_params(3600);
|
||||
|
||||
date_default_timezone_set("{{ site.timezone }}");
|
||||
|
||||
$error = "";
|
||||
|
||||
$sum = $_SESSION["one"] + $_SESSION["two"];
|
||||
|
||||
if ($_POST["sum"] != $sum) { $error = "{{ site.challenge_error }}"; }
|
||||
|
||||
if ($_POST["sum"] == $sum) {
|
||||
$mailTo = "{{ site.email }}";
|
||||
|
||||
$mailAddress = "noreply@{{ site.url_short }}";
|
||||
if($_POST["email"]) {
|
||||
$mailAddress = $_POST["email"];
|
||||
}
|
||||
|
||||
$mailHeaders = "From: " . $_POST["name"] . " <" . $mailAddress . ">" . "\r\n" .
|
||||
"Date: " . date(DATE_RFC822);
|
||||
|
||||
$mailSubject = "[{{ site.url_short }}]: No subject!";
|
||||
if($_POST["subject"]) {
|
||||
$mailSubject = "[{{ site.url_short }}]: " . $_POST["subject"];
|
||||
}
|
||||
|
||||
$mailBody = $_POST["message"] . "\n\n" . "Website: " . $_POST["website"] . "\nUser Agent: " . $_SERVER['HTTP_USER_AGENT'];
|
||||
if (!@mail($mailTo, $mailSubject, $mailBody, $mailHeaders)) { $error = "Failed to send mail!"; }
|
||||
|
||||
unset($_SESSION["one"]);
|
||||
unset($_SESSION["two"]);
|
||||
}
|
||||
|
||||
header('Content-Type: text/plain');
|
||||
if ($error=="") {
|
||||
echo("{{ site.mail_thank_you }}");
|
||||
} else {
|
||||
//echo($error . " (". $_POST["sum"] . "/" . $sum . ")");
|
||||
echo($error);
|
||||
}
|
||||
?>
|
||||
19
cgi/perl/perl.pl
Executable file
19
cgi/perl/perl.pl
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
permalink: /cgi/perl/index.pl
|
||||
---
|
||||
|
||||
use warnings;
|
||||
use strict;
|
||||
use POSIX qw(strftime);
|
||||
|
||||
my $date = strftime "%m/%d/%Y", localtime;
|
||||
|
||||
print "Hello from Perl!\n\n";
|
||||
print $date;
|
||||
print "\n\n";
|
||||
|
||||
print('my @i = (1..10); for(@i) { print("$_", "\n"); }');
|
||||
print("\n");
|
||||
|
||||
my @i = (1..10); for(@i) { print("$_", "\n"); }
|
||||
|
||||
21
cgi/php/php.php
Normal file
21
cgi/php/php.php
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
permalink: /cgi/php/index.php
|
||||
---
|
||||
|
||||
<?php
|
||||
|
||||
header('Content-Type: text/plain');
|
||||
|
||||
echo('Hello from PHP!');
|
||||
echo("\n\n");
|
||||
echo('date("l jS \of F Y h:i:s A");');
|
||||
echo("\n");
|
||||
echo date("l jS \of F Y h:i:s A");
|
||||
echo("\n\n");
|
||||
echo('for ($x = 0; $x <= 10; $x++) { echo "$x\n"; }');
|
||||
echo("\n");
|
||||
|
||||
for ($x = 1; $x <= 10; $x++) { echo "$x\n"; }
|
||||
|
||||
?>
|
||||
|
||||
16
cgi/python/python.py
Executable file
16
cgi/python/python.py
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
permalink: /cgi/python/index.py
|
||||
---
|
||||
|
||||
from datetime import datetime
|
||||
from pprint import pprint
|
||||
|
||||
print("Hello from Python!")
|
||||
print("")
|
||||
print('print(datetime.today().strftime("%Y-%m-%d"))')
|
||||
print(datetime.today().strftime('%Y-%m-%d'))
|
||||
print("")
|
||||
print("for i in range(1, 11): print(i);")
|
||||
|
||||
for i in range(1, 11): print(i);
|
||||
|
||||
13
cgi/ruby/ruby.rb
Executable file
13
cgi/ruby/ruby.rb
Executable file
|
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
permalink: /cgi/ruby/index.rb
|
||||
---
|
||||
|
||||
puts('Hello from Ruby!')
|
||||
puts
|
||||
puts('puts(Time.now.strftime("%d/%m/%Y %H:%M"))')
|
||||
puts(Time.now.strftime("%d/%m/%Y %H:%M"))
|
||||
puts
|
||||
puts("(1..10).each { |n| puts n }")
|
||||
|
||||
(1..10).each { |n| puts n }
|
||||
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
<?php
|
||||
|
||||
echo("Foo");
|
||||
|
||||
19
cgi/timestamp/timestamp.php
Normal file
19
cgi/timestamp/timestamp.php
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
permalink: /cgi/timestamp/
|
||||
---
|
||||
|
||||
<?php
|
||||
session_start();
|
||||
session_set_cookie_params(3600);
|
||||
|
||||
date_default_timezone_set("{{ site.timezone }}");
|
||||
|
||||
$timestamp = date('Y.m.d-h:i:s', time());
|
||||
|
||||
$milliseconds = floor(microtime(true) * 1000);
|
||||
|
||||
#echo($timestamp . "_" . time() . "_" . $milliseconds);
|
||||
|
||||
header('Content-Type: text/plain');
|
||||
echo($timestamp . '.' . microtime(true));
|
||||
?>
|
||||
14
cgi/uname/uname.php
Normal file
14
cgi/uname/uname.php
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
permalink: /cgi/uname/
|
||||
---
|
||||
|
||||
<?php
|
||||
$uname = shell_exec('uname -mrs');
|
||||
|
||||
$pos = strpos($uname, '-', 0);
|
||||
|
||||
$res = substr($uname, 0, $pos);
|
||||
|
||||
header('Content-Type: text/plain');
|
||||
echo($res);
|
||||
?>
|
||||
11
cgi/uptime/uptime.php
Normal file
11
cgi/uptime/uptime.php
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
permalink: /cgi/uptime/
|
||||
---
|
||||
|
||||
<?php
|
||||
$uptime = shell_exec('uptime');
|
||||
$version = shell_exec('uptime -V');
|
||||
|
||||
header('Content-Type: text/plain');
|
||||
echo('Server ' . substr($version, 0, -1) . ': ' . $uptime);
|
||||
?>
|
||||
29
cgi/whois/whois.php
Normal file
29
cgi/whois/whois.php
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
permalink: /cgi/whois/
|
||||
_note: https://www.w3docs.com/snippets/php/how-to-get-the-client-ip-address-in-php.html
|
||||
---
|
||||
|
||||
<?php
|
||||
if (!empty($_GET["host"]) and empty($_POST["host"])) {
|
||||
$host = $_GET["host"];
|
||||
} elseif (!empty($_POST["host"]) and empty($_GET["host"])) {
|
||||
$host = $_POST["host"];
|
||||
} else {
|
||||
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
|
||||
//ip from share internet
|
||||
$host = $_SERVER['HTTP_CLIENT_IP'];
|
||||
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
|
||||
//ip pass from proxy
|
||||
$host = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
||||
} else {
|
||||
$host = $_SERVER['REMOTE_ADDR'];
|
||||
}
|
||||
}
|
||||
|
||||
$cmd = 'whois ' . $host;
|
||||
|
||||
$whois = shell_exec($cmd);
|
||||
|
||||
header('Content-Type: text/plain');
|
||||
echo($whois);
|
||||
?>
|
||||
65
contact/contact.html
Normal file
65
contact/contact.html
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
---
|
||||
layout: page
|
||||
published: true
|
||||
noToc: true
|
||||
noDate: true
|
||||
noPermalink: true
|
||||
title: /contact/
|
||||
subtitle: A contact form inside a staic Jekyll site... ;)
|
||||
permalink: /contact/
|
||||
tags:
|
||||
- contact
|
||||
---
|
||||
|
||||
<script>
|
||||
function doSubmit() {
|
||||
$("#loader").removeClass("hidden");
|
||||
event.preventDefault();
|
||||
var form = $('#contactform')[0];
|
||||
var data = new FormData(form);
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
enctype: 'multipart/form-data',
|
||||
data: data,
|
||||
url: "/cgi/mail/",
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success: function(data){
|
||||
window.alert(data);
|
||||
$("#challenge").load("/cgi/challenge/");
|
||||
$("#loader").addClass("hidden");
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
$(document).ready(function(){
|
||||
$("#challenge").load("/cgi/challenge/");
|
||||
});
|
||||
</script>
|
||||
|
||||
<form id="contactform" method="post" onsubmit="return doSubmit();">
|
||||
<div><label>Name:<span style="color:red;">*</span></label>
|
||||
<input type="text" name="name" id="name" required></div>
|
||||
|
||||
<div><label>Email:</label>
|
||||
<input type="email" name="email" id="email"></div>
|
||||
|
||||
<div><label>Website:</label>
|
||||
<input type="text" name="website" id="website"></div>
|
||||
|
||||
<div><label>Subject:</label>
|
||||
<input type="text" name="subject" id="subject"></div>
|
||||
|
||||
<div><label>Message:<span style="color:red;">*</span></label>
|
||||
<textarea name="message" id="message" required style="font-size:1em;font-family:OpenSans-Regular;"></textarea></div>
|
||||
|
||||
<div style="text-align:left;width:50%;float:left;"><label>Challenge: <span id="challenge" name="challenge">NULL</span>?
|
||||
<span style="color:red;">*</span></label>
|
||||
<input style="width:10%;text-align:center;" type="text" name="sum" id="sum" required></div>
|
||||
|
||||
<div style="text-align:right;width:50%;float:right;"><span style="color:red;">*</span> = Required fields</div>
|
||||
|
||||
<div><input type="submit" value="Send!" id="button"></div>
|
||||
</form>
|
||||
|
||||
6
css/cookieconsent.min.css
vendored
Normal file
6
css/cookieconsent.min.css
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
.cc-window{opacity:1;-webkit-transition:opacity 1s ease;transition:opacity 1s ease}.cc-window.cc-invisible{opacity:0}.cc-animate.cc-revoke{-webkit-transition:transform 1s ease;-webkit-transition:-webkit-transform 1s ease;transition:-webkit-transform 1s ease;transition:transform 1s ease;transition:transform 1s ease,-webkit-transform 1s ease}.cc-animate.cc-revoke.cc-top{-webkit-transform:translateY(-2em);transform:translateY(-2em)}.cc-animate.cc-revoke.cc-bottom{-webkit-transform:translateY(2em);transform:translateY(2em)}.cc-animate.cc-revoke.cc-active.cc-top{-webkit-transform:translateY(0);transform:translateY(0)}.cc-animate.cc-revoke.cc-active.cc-bottom{-webkit-transform:translateY(0);transform:translateY(0)}.cc-revoke:hover{-webkit-transform:translateY(0);transform:translateY(0)}.cc-grower{max-height:0;overflow:hidden;-webkit-transition:max-height 1s;transition:max-height 1s}
|
||||
.cc-revoke,.cc-window{position:fixed;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Helvetica,Calibri,Arial,sans-serif;font-size:16px;line-height:1.5em;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;z-index:9999}.cc-window.cc-static{position:static}.cc-window.cc-floating{padding:2em;max-width:24em;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner{padding:1em 1.8em;width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.cc-revoke{padding:.5em}.cc-revoke:hover{text-decoration:underline}.cc-header{font-size:18px;font-weight:700}.cc-btn,.cc-close,.cc-link,.cc-revoke{cursor:pointer}.cc-link{opacity:.8;display:inline-block;padding:.2em;text-decoration:underline}.cc-link:hover{opacity:1}.cc-link:active,.cc-link:visited{color:initial}.cc-btn{display:block;padding:.4em .8em;font-size:.9em;font-weight:700;border-width:2px;border-style:solid;text-align:center;white-space:nowrap}.cc-highlight .cc-btn:first-child{background-color:transparent;border-color:transparent}.cc-highlight .cc-btn:first-child:focus,.cc-highlight .cc-btn:first-child:hover{background-color:transparent;text-decoration:underline}.cc-close{display:block;position:absolute;top:.5em;right:.5em;font-size:1.6em;opacity:.9;line-height:.75}.cc-close:focus,.cc-close:hover{opacity:1}
|
||||
.cc-revoke.cc-top{top:0;left:3em;border-bottom-left-radius:.5em;border-bottom-right-radius:.5em}.cc-revoke.cc-bottom{bottom:0;left:3em;border-top-left-radius:.5em;border-top-right-radius:.5em}.cc-revoke.cc-left{left:3em;right:unset}.cc-revoke.cc-right{right:3em;left:unset}.cc-top{top:1em}.cc-left{left:1em}.cc-right{right:1em}.cc-bottom{bottom:1em}.cc-floating>.cc-link{margin-bottom:1em}.cc-floating .cc-message{display:block;margin-bottom:1em}.cc-window.cc-floating .cc-compliance{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.cc-window.cc-banner{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.cc-banner.cc-top{left:0;right:0;top:0}.cc-banner.cc-bottom{left:0;right:0;bottom:0}.cc-banner .cc-message{display:block;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;max-width:100%;margin-right:1em}.cc-compliance{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:justify;align-content:space-between}.cc-floating .cc-compliance>.cc-btn{-webkit-box-flex:1;-ms-flex:1;flex:1}.cc-btn+.cc-btn{margin-left:.5em}
|
||||
@media print{.cc-revoke,.cc-window{display:none}}@media screen and (max-width:900px){.cc-btn{white-space:normal}}@media screen and (max-width:414px) and (orientation:portrait),screen and (max-width:736px) and (orientation:landscape){.cc-window.cc-top{top:0}.cc-window.cc-bottom{bottom:0}.cc-window.cc-banner,.cc-window.cc-floating,.cc-window.cc-left,.cc-window.cc-right{left:0;right:0}.cc-window.cc-banner{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner .cc-compliance{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.cc-window.cc-floating{max-width:none}.cc-window .cc-message{margin-bottom:1em}.cc-window.cc-banner{-webkit-box-align:unset;-ms-flex-align:unset;align-items:unset}.cc-window.cc-banner .cc-message{margin-right:0}}
|
||||
.cc-floating.cc-theme-classic{padding:1.2em;border-radius:5px}.cc-floating.cc-type-info.cc-theme-classic .cc-compliance{text-align:center;display:inline;-webkit-box-flex:0;-ms-flex:none;flex:none}.cc-theme-classic .cc-btn{border-radius:5px}.cc-theme-classic .cc-btn:last-child{min-width:140px}.cc-floating.cc-type-info.cc-theme-classic .cc-btn{display:inline-block}
|
||||
.cc-theme-edgeless.cc-window{padding:0}.cc-floating.cc-theme-edgeless .cc-message{margin:2em;margin-bottom:1.5em}.cc-banner.cc-theme-edgeless .cc-btn{margin:0;padding:.8em 1.8em;height:100%}.cc-banner.cc-theme-edgeless .cc-message{margin-left:1em}.cc-floating.cc-theme-edgeless .cc-btn+.cc-btn{margin-left:0}
|
||||
2733
css/fork-awesome.css
Normal file
2733
css/fork-awesome.css
Normal file
File diff suppressed because it is too large
Load diff
12
css/fork-awesome.min.css
vendored
Normal file
12
css/fork-awesome.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
css/fork-awesome.min.css.map
Normal file
1
css/fork-awesome.min.css.map
Normal file
File diff suppressed because one or more lines are too long
29
css/main.scss
Normal file
29
css/main.scss
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
# Only the main Sass file needs front matter (the dashes are enough)
|
||||
---
|
||||
@charset "utf-8";
|
||||
$base-font-family: "OpenSans-Regular";
|
||||
$base-font-size: 16px;
|
||||
$small-font-size: $base-font-size * 0.875;
|
||||
$base-line-height: 1.6;
|
||||
$spacing-unit: 18px;
|
||||
$text-color: #000;
|
||||
$background-color: #293e58;
|
||||
$headline-color: #bc6c21; //#b40000;
|
||||
$hover-color: #b40000;
|
||||
$topbutton-color: $headline-color;
|
||||
$brand-color: $background-color;
|
||||
$brand-color-light: lighten($brand-color, 40%);
|
||||
$grey-color: #828282;
|
||||
$grey-color-light: #e8e8e8;
|
||||
$grey-color-dark: #dbdbdb;
|
||||
$green-color: #3ab215;
|
||||
$content-width: 848px;
|
||||
$on-palm: 761px;
|
||||
$on-laptop: 848px;
|
||||
@mixin media-query($device) {
|
||||
@media screen and (max-width: $device) {
|
||||
@content;
|
||||
}
|
||||
}
|
||||
@import "base", "layout", "toc";
|
||||
446
css/v5-compat.css
Normal file
446
css/v5-compat.css
Normal file
|
|
@ -0,0 +1,446 @@
|
|||
/*!
|
||||
Fork Awesome 1.2.0
|
||||
License - https://forkaweso.me/Fork-Awesome/license
|
||||
|
||||
Copyright 2018 Dave Gandy & Fork Awesome
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
.fas,
|
||||
.fab,
|
||||
.far {
|
||||
display: inline-block;
|
||||
font: normal normal normal 14px/1 ForkAwesome;
|
||||
font-size: inherit;
|
||||
text-rendering: auto;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
.fas.fa-chart-area:before {
|
||||
content: "\f1fe";
|
||||
}
|
||||
.fas.fa-arrows-alt:before {
|
||||
content: "\f047";
|
||||
}
|
||||
.fas.fa-expand-arrows-alt:before {
|
||||
content: "\f0b2";
|
||||
}
|
||||
.fas.fa-arrows-alt-h:before {
|
||||
content: "\f07e";
|
||||
}
|
||||
.fas.fa-arrows-alt-v:before {
|
||||
content: "\f07d";
|
||||
}
|
||||
.fas.fa-calendar-alt:before {
|
||||
content: "\f073";
|
||||
}
|
||||
.fas.fa-circle-notch:before {
|
||||
content: "\f1ce";
|
||||
}
|
||||
.fas.fa-cloud-download-alt:before {
|
||||
content: "\f0ed";
|
||||
}
|
||||
.fas.fa-cloud-upload-alt:before {
|
||||
content: "\f0ee";
|
||||
}
|
||||
.fas.fa-credit-card:before {
|
||||
content: "\f283";
|
||||
}
|
||||
.fas.fa-dollar-sign:before {
|
||||
content: "\f155";
|
||||
}
|
||||
.fas.fa-euro-sign:before {
|
||||
content: "\f153";
|
||||
}
|
||||
.fas.fa-exchange-alt:before {
|
||||
content: "\f0ec";
|
||||
}
|
||||
.fas.fa-external-link-alt:before {
|
||||
content: "\f08e";
|
||||
}
|
||||
.fas.fa-external-link-square-alt:before {
|
||||
content: "\f14c";
|
||||
}
|
||||
.fas.fa-eye-dropper:before {
|
||||
content: "\f1fb";
|
||||
}
|
||||
.fas.fa-pound-sign:before {
|
||||
content: "\f154";
|
||||
}
|
||||
.fas.fa-glass-martini:before {
|
||||
content: "\f000";
|
||||
}
|
||||
.fas.fa-shekel-sign:before {
|
||||
content: "\f20b";
|
||||
}
|
||||
.fas.fa-rupee-sign:before {
|
||||
content: "\f156";
|
||||
}
|
||||
.fas.fa-won-sign:before {
|
||||
content: "\f159";
|
||||
}
|
||||
.fas.fa-level-down-alt:before {
|
||||
content: "\f149";
|
||||
}
|
||||
.fas.fa-level-up-alt:before {
|
||||
content: "\f148";
|
||||
}
|
||||
.fas.fa-chart-line:before {
|
||||
content: "\f201";
|
||||
}
|
||||
.fas.fa-long-arrow-alt-down:before {
|
||||
content: "\f175";
|
||||
}
|
||||
.fas.fa-long-arrow-alt-left:before {
|
||||
content: "\f177";
|
||||
}
|
||||
.fas.fa-long-arrow-alt-right:before {
|
||||
content: "\f178";
|
||||
}
|
||||
.fas.fa-long-arrow-alt-up:before {
|
||||
content: "\f176";
|
||||
}
|
||||
.fas.fa-map-marker-alt:before {
|
||||
content: "\f041";
|
||||
}
|
||||
.fas.fa-mobile-alt:before {
|
||||
content: "\f10b";
|
||||
}
|
||||
.fas.fa-pencil-alt:before {
|
||||
content: "\f040";
|
||||
}
|
||||
.fas.fa-pen-square:before {
|
||||
content: "\f14b";
|
||||
}
|
||||
.fas.fa-chart-pie:before {
|
||||
content: "\f200";
|
||||
}
|
||||
.fas.fa-yen-sign:before {
|
||||
content: "\f157";
|
||||
}
|
||||
.fas.fa-ruble-sign:before {
|
||||
content: "\f158";
|
||||
}
|
||||
.fas.fa-shield-alt:before {
|
||||
content: "\f132";
|
||||
}
|
||||
.fas.fa-sign-in-alt:before {
|
||||
content: "\f090";
|
||||
}
|
||||
.fas.fa-sign-out-alt:before {
|
||||
content: "\f08b";
|
||||
}
|
||||
.fas.fa-sliders-h:before {
|
||||
content: "\f1de";
|
||||
}
|
||||
.fas.fa-tablet-alt:before {
|
||||
content: "\f10a";
|
||||
}
|
||||
.fas.fa-tachometer-alt:before {
|
||||
content: "\f0e4";
|
||||
}
|
||||
.fas.fa-thumbtack:before {
|
||||
content: "\f08d";
|
||||
}
|
||||
.fas.fa-ticket-alt:before {
|
||||
content: "\f145";
|
||||
}
|
||||
.fas.fa-trash-alt:before {
|
||||
content: "\f1f8";
|
||||
}
|
||||
.fas.fa-lira-sign:before {
|
||||
content: "\f195";
|
||||
}
|
||||
.fab.fa-linkedin-in:before {
|
||||
content: "\fe01";
|
||||
}
|
||||
.fab.fa-linkedin:before {
|
||||
content: "\f08c";
|
||||
}
|
||||
.far.fa-address-book:before {
|
||||
content: "\f2ba";
|
||||
}
|
||||
.far.fa-address-card:before {
|
||||
content: "\f2bc";
|
||||
}
|
||||
.far.fa-arrow-alt-circle-down:before {
|
||||
content: "\f01a";
|
||||
}
|
||||
.far.fa-arrow-alt-circle-left:before {
|
||||
content: "\f190";
|
||||
}
|
||||
.far.fa-arrow-alt-circle-right:before {
|
||||
content: "\f18e";
|
||||
}
|
||||
.far.fa-arrow-alt-circle-up:before {
|
||||
content: "\f01b";
|
||||
}
|
||||
.far.fa-bell:before {
|
||||
content: "\f0f3";
|
||||
}
|
||||
.far.fa-bell-slash:before {
|
||||
content: "\f1f7";
|
||||
}
|
||||
.far.fa-bookmark:before {
|
||||
content: "\f097";
|
||||
}
|
||||
.far.fa-building:before {
|
||||
content: "\f0f7";
|
||||
}
|
||||
.far.fa-calendar-check:before {
|
||||
content: "\f274";
|
||||
}
|
||||
.far.fa-calendar-minus:before {
|
||||
content: "\f272";
|
||||
}
|
||||
.far.fa-calendar:before {
|
||||
content: "\f133";
|
||||
}
|
||||
.far.fa-calendar-plus:before {
|
||||
content: "\f271";
|
||||
}
|
||||
.far.fa-calendar-times:before {
|
||||
content: "\f273";
|
||||
}
|
||||
.far.fa-caret-square-down:before {
|
||||
content: "\f150";
|
||||
}
|
||||
.far.fa-caret-square-left:before {
|
||||
content: "\f191";
|
||||
}
|
||||
.far.fa-caret-square-right:before {
|
||||
content: "\f152";
|
||||
}
|
||||
.far.fa-caret-square-up:before {
|
||||
content: "\f151";
|
||||
}
|
||||
.far.fa-check-circle:before {
|
||||
content: "\f05d";
|
||||
}
|
||||
.far.fa-check-square:before {
|
||||
content: "\f046";
|
||||
}
|
||||
.far.fa-circle:before {
|
||||
content: "\f10c";
|
||||
}
|
||||
.far.fa-clock:before {
|
||||
content: "\f017";
|
||||
}
|
||||
.far.fa-comment:before {
|
||||
content: "\f0e5";
|
||||
}
|
||||
.far.fa-comment-dots:before {
|
||||
content: "\f27b";
|
||||
}
|
||||
.far.fa-comments:before {
|
||||
content: "\f0e6";
|
||||
}
|
||||
.far.fa-dot-circle:before {
|
||||
content: "\f192";
|
||||
}
|
||||
.far.fa-id-card:before {
|
||||
content: "\f2c3";
|
||||
}
|
||||
.far.fa-envelope:before {
|
||||
content: "\f003";
|
||||
}
|
||||
.far.fa-envelope-open:before {
|
||||
content: "\f2b7";
|
||||
}
|
||||
.far.fa-file-archive:before {
|
||||
content: "\f1c6";
|
||||
}
|
||||
.far.fa-file-audio:before {
|
||||
content: "\f1c7";
|
||||
}
|
||||
.far.fa-file-code:before {
|
||||
content: "\f1c9";
|
||||
}
|
||||
.far.fa-file-excel:before {
|
||||
content: "\f1c3";
|
||||
}
|
||||
.far.fa-file-image:before {
|
||||
content: "\f1c5";
|
||||
}
|
||||
.far.fa-file-video:before {
|
||||
content: "\f1c8";
|
||||
}
|
||||
.far.fa-copy:before,
|
||||
.far.fa-file:before {
|
||||
content: "\f016";
|
||||
}
|
||||
.far.fa-file-pdf:before {
|
||||
content: "\f1c1";
|
||||
}
|
||||
.far.fa-file-powerpoint:before {
|
||||
content: "\f1c4";
|
||||
}
|
||||
.far.fa-file-alt:before {
|
||||
content: "\f0f6";
|
||||
}
|
||||
.far.fa-file-word:before {
|
||||
content: "\f1c2";
|
||||
}
|
||||
.far.fa-flag:before {
|
||||
content: "\f11d";
|
||||
}
|
||||
.far.fa-save:before {
|
||||
content: "\f0c7";
|
||||
}
|
||||
.far.fa-folder:before {
|
||||
content: "\f114";
|
||||
}
|
||||
.far.fa-folder-open:before {
|
||||
content: "\f115";
|
||||
}
|
||||
.far.fa-frown:before {
|
||||
content: "\f119";
|
||||
}
|
||||
.far.fa-futbol:before {
|
||||
content: "\f1e3";
|
||||
}
|
||||
.far.fa-hand-rock:before {
|
||||
content: "\f255";
|
||||
}
|
||||
.far.fa-hand-lizard:before {
|
||||
content: "\f258";
|
||||
}
|
||||
.far.fa-hand-point-down:before {
|
||||
content: "\f0a7";
|
||||
}
|
||||
.far.fa-hand-point-left:before {
|
||||
content: "\f0a5";
|
||||
}
|
||||
.far.fa-hand-point-right:before {
|
||||
content: "\f0a4";
|
||||
}
|
||||
.far.fa-hand-point-up:before {
|
||||
content: "\f0a6";
|
||||
}
|
||||
.far.fa-hand-paper:before {
|
||||
content: "\256";
|
||||
}
|
||||
.far.fa-hand-pointer:before {
|
||||
content: "\f25a";
|
||||
}
|
||||
.far.fa-hand-scissors:before {
|
||||
content: "\f257";
|
||||
}
|
||||
.far.fa-hand-spock:before {
|
||||
content: "\f259";
|
||||
}
|
||||
.far.fa-handshake:before {
|
||||
content: "\f2b5";
|
||||
}
|
||||
.far.fa-hdd:before {
|
||||
content: "\f0a0";
|
||||
}
|
||||
.far.fa-heart:before {
|
||||
content: "\f08a";
|
||||
}
|
||||
.far.fa-hospital:before {
|
||||
content: "\f0f8";
|
||||
}
|
||||
.far.fa-hourglass:before {
|
||||
content: "\f250";
|
||||
}
|
||||
.far.fa-id-card:before {
|
||||
content: "\f2c3";
|
||||
}
|
||||
.far.fa-keyboard:before {
|
||||
content: "\f11c";
|
||||
}
|
||||
.far.fa-lemon:before {
|
||||
content: "\f094";
|
||||
}
|
||||
.far.fa-lightbulb:before {
|
||||
content: "\f0eb";
|
||||
}
|
||||
.far.fa-meh:before {
|
||||
content: "\f11a";
|
||||
}
|
||||
.far.fa-minus-square:before {
|
||||
content: "\f147";
|
||||
}
|
||||
.far.fa-money-bill-alt:before {
|
||||
content: "\f0d6";
|
||||
}
|
||||
.far.fa-moon:before {
|
||||
content: "\f186";
|
||||
}
|
||||
.far.fa-newspaper:before {
|
||||
content: "\f1ea";
|
||||
}
|
||||
.far.fa-paper-plane:before {
|
||||
content: "\f1d9";
|
||||
}
|
||||
.far.fa-pause-circle:before {
|
||||
content: "\f28c";
|
||||
}
|
||||
.far.fa-edit:before {
|
||||
content: "\f044";
|
||||
}
|
||||
.far.fa-image:before {
|
||||
content: "\f03e";
|
||||
}
|
||||
.far.fa-play-circle:before {
|
||||
content: "\f01d";
|
||||
}
|
||||
.far.fa-plus-square:before {
|
||||
content: "\f196";
|
||||
}
|
||||
.far.fa-question-circle:before {
|
||||
content: "\f92c";
|
||||
}
|
||||
.far.fa-share-square:before {
|
||||
content: "\f045";
|
||||
}
|
||||
.far.fa-smile:before {
|
||||
content: "\f118";
|
||||
}
|
||||
.far.fa-snowflake:before {
|
||||
content: "\f2dc";
|
||||
}
|
||||
.far.fa-futbol:before {
|
||||
content: "\f1e3";
|
||||
}
|
||||
.far.fa-star-half:before {
|
||||
content: "\f089";
|
||||
}
|
||||
.far.fa-star:before {
|
||||
content: "\f006";
|
||||
}
|
||||
.far.fa-sticky-note:before {
|
||||
content: "\f24a";
|
||||
}
|
||||
.far.fa-stop-circle:before {
|
||||
content: "\f28e";
|
||||
}
|
||||
.far.fa-sun:before {
|
||||
content: "\f185";
|
||||
}
|
||||
.far.fa-thumbs-down:before {
|
||||
content: "\f088";
|
||||
}
|
||||
.far.fa-thumbs-up:before {
|
||||
content: "\f087";
|
||||
}
|
||||
.far.fa-times-circle:before {
|
||||
content: "\f05c";
|
||||
}
|
||||
.far.fa-window-close:before {
|
||||
content: "\f2d4";
|
||||
}
|
||||
.far.fa-trash-alt:before {
|
||||
content: "\f014";
|
||||
}
|
||||
.far.fa-user-circle:before {
|
||||
content: "\f2be";
|
||||
}
|
||||
.far.fa-user:before {
|
||||
content: "\f2c0";
|
||||
}
|
||||
12
css/v5-compat.min.css
vendored
Normal file
12
css/v5-compat.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
css/v5-compat.min.css.map
Normal file
1
css/v5-compat.min.css.map
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["v5-compat.css"],"names":[],"mappings":";;;;;;;;;;;AAaA,KACA,KAFA,KAGE,QAAA,aACA,KAAA,OAAA,OAAA,OAAA,KAAA,EAAA,YACA,UAAA,QACA,eAAA,KACA,uBAAA,YACA,wBAAA,UAEgB,0BAChB,QAAA,QAEgB,0BAChB,QAAA,QAEuB,iCACvB,QAAA,QAEkB,4BAClB,QAAA,QAEkB,4BAClB,QAAA,QAEkB,4BAClB,QAAA,QAEkB,4BAClB,QAAA,QAEwB,kCACxB,QAAA,QAEsB,gCACtB,QAAA,QAEiB,2BACjB,QAAA,QAEiB,2BACjB,QAAA,QAEe,yBACf,QAAA,QAEkB,4BAClB,QAAA,QAEuB,iCACvB,QAAA,QAE8B,wCAC9B,QAAA,QAEiB,2BACjB,QAAA,QAEgB,0BAChB,QAAA,QAEmB,6BACnB,QAAA,QAEiB,2BACjB,QAAA,QAEgB,0BAChB,QAAA,QAEc,wBACd,QAAA,QAEoB,8BACpB,QAAA,QAEkB,4BAClB,QAAA,QAEgB,0BAChB,QAAA,QAEyB,mCACzB,QAAA,QAEyB,mCACzB,QAAA,QAE0B,oCAC1B,QAAA,QAEuB,iCACvB,QAAA,QAEoB,8BACpB,QAAA,QAEgB,0BAChB,QAAA,QAEgB,0BAChB,QAAA,QAEgB,0BAChB,QAAA,QAEe,yBACf,QAAA,QAEc,wBACd,QAAA,QAEgB,0BAChB,QAAA,QAEgB,0BAChB,QAAA,QAEiB,2BACjB,QAAA,QAEkB,4BAClB,QAAA,QAEe,yBACf,QAAA,QAEgB,0BAChB,QAAA,QAEoB,8BACpB,QAAA,QAEe,yBACf,QAAA,QAEgB,0BAChB,QAAA,QAEe,yBACf,QAAA,QAEe,yBACf,QAAA,QAEiB,2BACjB,QAAA,QAEc,wBACd,QAAA,QAEkB,4BAClB,QAAA,QAEkB,4BAClB,QAAA,QAE2B,qCAC3B,QAAA,QAE2B,qCAC3B,QAAA,QAE4B,sCAC5B,QAAA,QAEyB,mCACzB,QAAA,QAEU,oBACV,QAAA,QAEgB,0BAChB,QAAA,QAEc,wBACd,QAAA,QAEc,wBACd,QAAA,QAEoB,8BACpB,QAAA,QAEoB,8BACpB,QAAA,QAEc,wBACd,QAAA,QAEmB,6BACnB,QAAA,QAEoB,8BACpB,QAAA,QAEuB,iCACvB,QAAA,QAEuB,iCACvB,QAAA,QAEwB,kCACxB,QAAA,QAEqB,+BACrB,QAAA,QAEkB,4BAClB,QAAA,QAEkB,4BAClB,QAAA,QAEY,sBACZ,QAAA,QAEW,qBACX,QAAA,QAEa,uBACb,QAAA,QAEkB,4BAClB,QAAA,QAEc,wBACd,QAAA,QAEgB,0BAChB,QAAA,QAEa,uBACb,QAAA,QAEc,wBACd,QAAA,QAEmB,6BACnB,QAAA,QAEkB,4BAClB,QAAA,QAEgB,0BAChB,QAAA,QAEe,yBACf,QAAA,QAEgB,0BAChB,QAAA,QAEgB,0BAChB,QAAA,QAEgB,0BAChB,QAAA,QAEU,oBACA,oBACV,QAAA,QAEc,wBACd,QAAA,QAEqB,+BACrB,QAAA,QAEc,wBACd,QAAA,QAEe,yBACf,QAAA,QAEU,oBACV,QAAA,QAEU,oBACV,QAAA,QAEY,sBACZ,QAAA,QAEiB,2BACjB,QAAA,QAEW,qBACX,QAAA,QAEY,sBACZ,QAAA,QAEe,yBACf,QAAA,QAEiB,2BACjB,QAAA,QAEqB,+BACrB,QAAA,QAEqB,+BACrB,QAAA,QAEsB,gCACtB,QAAA,QAEmB,6BACnB,QAAA,QAEgB,0BAChB,QAAA,OAEkB,4BAClB,QAAA,QAEmB,6BACnB,QAAA,QAEgB,0BAChB,QAAA,QAEe,yBACf,QAAA,QAES,mBACT,QAAA,QAEW,qBACX,QAAA,QAEc,wBACd,QAAA,QAEe,yBACf,QAAA,QAEa,uBACb,QAAA,QAEc,wBACd,QAAA,QAEW,qBACX,QAAA,QAEe,yBACf,QAAA,QAES,mBACT,QAAA,QAEkB,4BAClB,QAAA,QAEoB,8BACpB,QAAA,QAEU,oBACV,QAAA,QAEe,yBACf,QAAA,QAEiB,2BACjB,QAAA,QAEkB,4BAClB,QAAA,QAEU,oBACV,QAAA,QAEW,qBACX,QAAA,QAEiB,2BACjB,QAAA,QAEiB,2BACjB,QAAA,QAEqB,+BACrB,QAAA,QAEkB,4BAClB,QAAA,QAEW,qBACX,QAAA,QAEe,yBACf,QAAA,QAEY,sBACZ,QAAA,QAEe,yBACf,QAAA,QAEU,oBACV,QAAA,QAEiB,2BACjB,QAAA,QAEiB,2BACjB,QAAA,QAES,mBACT,QAAA,QAEiB,2BACjB,QAAA,QAEe,yBACf,QAAA,QAEkB,4BAClB,QAAA,QAEkB,4BAClB,QAAA,QAEe,yBACf,QAAA,QAEiB,2BACjB,QAAA,QAEU,oBACV,QAAA"}
|
||||
191
css/xterm.css
191
css/xterm.css
|
|
@ -1,191 +0,0 @@
|
|||
/**
|
||||
* Copyright (c) 2014 The xterm.js authors. All rights reserved.
|
||||
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
|
||||
* https://github.com/chjj/term.js
|
||||
* @license MIT
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*
|
||||
* Originally forked from (with the author's permission):
|
||||
* Fabrice Bellard's javascript vt100 for jslinux:
|
||||
* http://bellard.org/jslinux/
|
||||
* Copyright (c) 2011 Fabrice Bellard
|
||||
* The original design remains. The terminal itself
|
||||
* has been extended to include xterm CSI codes, among
|
||||
* other features.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Default styles for xterm.js
|
||||
*/
|
||||
|
||||
.xterm {
|
||||
cursor: text;
|
||||
position: relative;
|
||||
user-select: none;
|
||||
-ms-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
}
|
||||
|
||||
.xterm.focus,
|
||||
.xterm:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.xterm .xterm-helpers {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
/**
|
||||
* The z-index of the helpers must be higher than the canvases in order for
|
||||
* IMEs to appear on top.
|
||||
*/
|
||||
z-index: 5;
|
||||
}
|
||||
|
||||
.xterm .xterm-helper-textarea {
|
||||
padding: 0;
|
||||
border: 0;
|
||||
margin: 0;
|
||||
/* Move textarea out of the screen to the far left, so that the cursor is not visible */
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
left: -9999em;
|
||||
top: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
z-index: -5;
|
||||
/** Prevent wrapping so the IME appears against the textarea at the correct position */
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
resize: none;
|
||||
}
|
||||
|
||||
.xterm .composition-view {
|
||||
/* TODO: Composition position got messed up somewhere */
|
||||
background: #000;
|
||||
color: #FFF;
|
||||
display: none;
|
||||
position: absolute;
|
||||
white-space: nowrap;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.xterm .composition-view.active {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.xterm .xterm-viewport {
|
||||
/* On OS X this is required in order for the scroll bar to appear fully opaque */
|
||||
background-color: #000;
|
||||
overflow-y: scroll;
|
||||
cursor: default;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.xterm .xterm-screen {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.xterm .xterm-screen canvas {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.xterm .xterm-scroll-area {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.xterm-char-measure-element {
|
||||
display: inline-block;
|
||||
visibility: hidden;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: -9999em;
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
.xterm.enable-mouse-events {
|
||||
/* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.xterm.xterm-cursor-pointer,
|
||||
.xterm .xterm-cursor-pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.xterm.column-select.focus {
|
||||
/* Column selection mode */
|
||||
cursor: crosshair;
|
||||
}
|
||||
|
||||
.xterm .xterm-accessibility,
|
||||
.xterm .xterm-message {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
z-index: 10;
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
.xterm .live-region {
|
||||
position: absolute;
|
||||
left: -9999px;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.xterm-dim {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.xterm-underline-1 { text-decoration: underline; }
|
||||
.xterm-underline-2 { text-decoration: double underline; }
|
||||
.xterm-underline-3 { text-decoration: wavy underline; }
|
||||
.xterm-underline-4 { text-decoration: dotted underline; }
|
||||
.xterm-underline-5 { text-decoration: dashed underline; }
|
||||
|
||||
.xterm-strikethrough {
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
.xterm-screen .xterm-decoration-container .xterm-decoration {
|
||||
z-index: 6;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.xterm-decoration-overview-ruler {
|
||||
z-index: 7;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.xterm-decoration-top {
|
||||
z-index: 2;
|
||||
position: relative;
|
||||
}
|
||||
49
css/xw3.css
49
css/xw3.css
|
|
@ -1,49 +0,0 @@
|
|||
@font-face {
|
||||
font-family: 'VTFMisterPixelRegular';
|
||||
src: url('/fonts/VTFMisterPixelRegular.otf') format('opentype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'VTFMisterPixelTools';
|
||||
src: url('/fonts/VTFMisterPixelTools.otf') format('opentype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'teletext2';
|
||||
src: url('../fonts/teletext2-webfont.woff2') format('woff2');
|
||||
/* font-weight:400; */
|
||||
font-style:normal
|
||||
}
|
||||
|
||||
html {
|
||||
background: #000;
|
||||
}
|
||||
|
||||
body {
|
||||
color: #fff;
|
||||
font-size: 18px;
|
||||
font-family: 'teletext2';
|
||||
}
|
||||
|
||||
pre {
|
||||
font-family: 'teletext2';
|
||||
}
|
||||
|
||||
#parent {
|
||||
}
|
||||
|
||||
.center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#powered {
|
||||
position: fixed;
|
||||
right: 20px;
|
||||
bottom: 20px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
29
feed.xml
Normal file
29
feed.xml
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
layout:
|
||||
---
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>{{ site.title | xml_escape }}</title>
|
||||
<description>{{ site.description | xml_escape }}</description>
|
||||
<link>{{ site.url }}</link>
|
||||
<atom:link href="{{ site.url }}/feed.xml" rel="self" type="application/rss+xml"/>
|
||||
<pubDate>{{ site.time | date_to_rfc822 }}</pubDate>
|
||||
<lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
|
||||
{% for post in site.posts limit:10 %}
|
||||
<item>
|
||||
<title>{{ post.title | xml_escape }}</title>
|
||||
<description>{{ post.content | xml_escape }}</description>
|
||||
<pubDate>{{ post.date | date_to_rfc822 }}</pubDate>
|
||||
<link>{{ site.url }}{{ post.url }}</link>
|
||||
<guid isPermaLink="true">{{ site.url }}{{ post.url }}</guid>
|
||||
{% for tag in post.tags %}
|
||||
<category>{{ tag | xml_escape }}</category>
|
||||
{% endfor %}
|
||||
{% for cat in post.categories %}
|
||||
<category>{{ cat | xml_escape }}</category>
|
||||
{% endfor %}
|
||||
</item>
|
||||
{% endfor %}
|
||||
</channel>
|
||||
</rss>
|
||||
0
files/.gitkeep
Normal file
0
files/.gitkeep
Normal file
BIN
fonts/Courier-Prime-Sans.ttf
Normal file
BIN
fonts/Courier-Prime-Sans.ttf
Normal file
Binary file not shown.
BIN
fonts/Glass_TTY_VT220.ttf
Normal file
BIN
fonts/Glass_TTY_VT220.ttf
Normal file
Binary file not shown.
BIN
fonts/Graph-35-pix.ttf
Normal file
BIN
fonts/Graph-35-pix.ttf
Normal file
Binary file not shown.
BIN
fonts/OpenSans-Regular.woff
Normal file
BIN
fonts/OpenSans-Regular.woff
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue