programs_view
2
.idea/watcherTasks.xml
generated
@ -25,7 +25,7 @@
|
||||
<option name="arguments" value=""F:\Eigene Dateien\Dropbox\Programming\Web\Website - Mikescher\Source\data\css_compress\compress.py" "$FileDir$\styles.scss" "$FileDir$\styles.css" "$FileDir$\styles.min.css"" />
|
||||
<option name="checkSyntaxErrors" value="true" />
|
||||
<option name="description" />
|
||||
<option name="exitCodeBehavior" value="ALWAYS" />
|
||||
<option name="exitCodeBehavior" value="ERROR" />
|
||||
<option name="fileExtension" value="scss" />
|
||||
<option name="immediateSync" value="true" />
|
||||
<option name="name" value="SCSS + Minimize" />
|
||||
|
@ -38,8 +38,8 @@ print();
|
||||
print();
|
||||
|
||||
print('======== CALL SCSS ========');
|
||||
out = subprocess.run(['C:/TOOLS/Ruby/bin/scss.bat', '--no-cache', '--update', fsource + ':' + finput], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
print('> C:/TOOLS/Ruby/bin/scss.bat --no-cache --update ' + fsource + ':' + finput)
|
||||
out = subprocess.run(['scss.bat', '--no-cache', '--update', fsource + ':' + finput], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
print('> scss.bat --no-cache --update ' + fsource + ':' + finput)
|
||||
print('STDOUT:')
|
||||
print(out.stdout.decode('utf-8'))
|
||||
print('STDERR:')
|
||||
@ -50,8 +50,8 @@ print('')
|
||||
|
||||
|
||||
print('======== CALL YUI ========');
|
||||
out = subprocess.run(['java', '-jar', 'yuicompressor.jar', finput, '-o', ftemp], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
print('> java -jar yuicompressor.jar "'+finput+'" -o "'+ftemp+'"')
|
||||
out = subprocess.run(['java', '-jar', 'yuicompressor.jar', '--verbose', finput, '-o', ftemp], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
print('> java -jar yuicompressor.jar --verbose "'+finput+'" -o "'+ftemp+'"')
|
||||
print('STDOUT:');
|
||||
print(out.stdout.decode('utf-8'))
|
||||
print('STDERR:');
|
||||
@ -63,6 +63,7 @@ print('')
|
||||
print('======== READ ========');
|
||||
with open(ftemp, 'r') as tf:
|
||||
data = tf.read()
|
||||
print(str(len(data)) + ' characters read from ' + ftemp)
|
||||
|
||||
print('')
|
||||
print('')
|
||||
@ -70,6 +71,7 @@ print('')
|
||||
print('======== REM ========');
|
||||
try:
|
||||
os.remove(ftemp);
|
||||
print(ftemp + ' deleted')
|
||||
except e:
|
||||
print(e)
|
||||
|
||||
@ -79,6 +81,8 @@ print('')
|
||||
print('======== REGEX ========');
|
||||
data = re.sub(r'(\}*\})', '\g<1>\n', data);
|
||||
|
||||
print('css data modified (1)')
|
||||
|
||||
print('')
|
||||
print('')
|
||||
|
||||
@ -99,6 +103,7 @@ for i in range(len(data)):
|
||||
tp =(i+1, '\t')
|
||||
ins.append( tp )
|
||||
ins.append((cclose, '\n'))
|
||||
print('media query at idx:' + str(i) + ' formatted')
|
||||
|
||||
for (l, c) in reversed(ins):
|
||||
data = data[:l] + c + data[l:]
|
||||
@ -109,7 +114,8 @@ print('')
|
||||
print('======== WRITE ========');
|
||||
with open(foutput, "w") as tf:
|
||||
tf.write(data)
|
||||
print(str(len(data)) + ' characters written to ' + foutput)
|
||||
|
||||
print('')
|
||||
print('')
|
||||
print('Sinished.')
|
||||
print('Finished.')
|
||||
|
22
data/css_compress/scss
Normal file
@ -0,0 +1,22 @@
|
||||
#!C:/TOOLS/Ruby/bin/ruby.exe
|
||||
#
|
||||
# This file was generated by RubyGems.
|
||||
#
|
||||
# The application 'sass' is installed as part of a gem, and
|
||||
# this file is here to facilitate running it.
|
||||
#
|
||||
|
||||
require 'rubygems'
|
||||
|
||||
version = ">= 0.a"
|
||||
|
||||
if ARGV.first
|
||||
str = ARGV.first
|
||||
str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
|
||||
if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then
|
||||
version = $1
|
||||
ARGV.shift
|
||||
end
|
||||
end
|
||||
|
||||
load Gem.bin_path('sass', 'scss', version)
|
6
data/css_compress/scss.bat
Normal file
@ -0,0 +1,6 @@
|
||||
@ECHO OFF
|
||||
IF NOT "%~f0" == "~f0" GOTO :WinNT
|
||||
@"C:\TOOLS\Ruby\bin\ruby.exe" "C:/TOOLS/Ruby/bin/scss" %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
GOTO :EOF
|
||||
:WinNT
|
||||
@"C:\TOOLS\Ruby\bin\ruby.exe" "%~dpn0" %*
|
@ -104,11 +104,11 @@ body {
|
||||
cursor: pointer;
|
||||
background-color: #555; }
|
||||
#headerdiv .tabrow .tab_active {
|
||||
background-color: #422; }
|
||||
background-color: #442222; }
|
||||
#headerdiv .tabrow .tab_split {
|
||||
flex: auto; }
|
||||
#headerdiv .tabrow .tab_github {
|
||||
background-color: #4078c0;
|
||||
background-color: #4078C0;
|
||||
border-left: 1px solid #111;
|
||||
border-right: none;
|
||||
color: black; }
|
||||
@ -206,10 +206,18 @@ html, body {
|
||||
background-color: #DDD; }
|
||||
|
||||
.ble_blog .ble_date {
|
||||
background-color: #AAA; }
|
||||
background-color: #AAA;
|
||||
color: #333; }
|
||||
|
||||
.ble_log .ble_date {
|
||||
background-color: #CCC; }
|
||||
background-color: #CCC;
|
||||
color: #333; }
|
||||
|
||||
.ble_log {
|
||||
color: #555; }
|
||||
|
||||
.ble_log:hover {
|
||||
color: #333; }
|
||||
|
||||
.ble_date {
|
||||
background-color: #AAA;
|
||||
@ -241,7 +249,7 @@ html, body {
|
||||
.bc_data {
|
||||
padding: 8px; }
|
||||
|
||||
.bc_markdown code {
|
||||
.base_markdown code {
|
||||
font-family: Consolas, Monaco, "Courier New", Menlo, monospace;
|
||||
direction: ltr;
|
||||
text-align: left;
|
||||
@ -254,7 +262,7 @@ html, body {
|
||||
-moz-hyphens: none;
|
||||
-ms-hyphens: none;
|
||||
hyphens: none; }
|
||||
.bc_markdown pre {
|
||||
.base_markdown pre {
|
||||
font-size: 14px;
|
||||
display: block;
|
||||
padding: 9.5px;
|
||||
@ -267,36 +275,36 @@ html, body {
|
||||
color: black;
|
||||
border: 1px solid rgba(0, 0, 0, 0.15);
|
||||
border-radius: 2px; }
|
||||
.bc_markdown blockquote {
|
||||
.base_markdown blockquote {
|
||||
padding: 0 0 0 15px;
|
||||
margin: 0 0 20px;
|
||||
border-left: 5px solid #CCC; }
|
||||
.bc_markdown img {
|
||||
.base_markdown img {
|
||||
max-width: 100%; }
|
||||
.bc_markdown table {
|
||||
.base_markdown table {
|
||||
border-collapse: collapse;
|
||||
text-align: left;
|
||||
width: 100%;
|
||||
border: 1px solid #666; }
|
||||
.bc_markdown table td, .bc_markdown table th {
|
||||
.base_markdown table td, .base_markdown table th {
|
||||
padding: 3px 10px; }
|
||||
.bc_markdown table thead th {
|
||||
.base_markdown table thead th {
|
||||
background-color: #7D7D7D;
|
||||
color: #FFFFFF;
|
||||
font-weight: bold;
|
||||
border-left: 1px solid #444; }
|
||||
.bc_markdown table thead th:first-child {
|
||||
.base_markdown table thead th:first-child {
|
||||
border: none; }
|
||||
.bc_markdown table tbody td {
|
||||
.base_markdown table tbody td {
|
||||
border-left: 1px solid #666;
|
||||
font-weight: normal; }
|
||||
.bc_markdown table tbody .alt td {
|
||||
.base_markdown table tbody .alt td {
|
||||
background: #EBEBEB; }
|
||||
.bc_markdown table tbody td:first-child {
|
||||
.base_markdown table tbody td:first-child {
|
||||
border-left: none; }
|
||||
.bc_markdown table tbody tr:last-child td {
|
||||
.base_markdown table tbody tr:last-child td {
|
||||
border-bottom: none; }
|
||||
.bc_markdown table tbody tr:nth-child(odd) {
|
||||
.base_markdown table tbody tr:nth-child(odd) {
|
||||
background-color: #ccc; }
|
||||
|
||||
.mdtable_container {
|
||||
@ -518,6 +526,17 @@ html, body {
|
||||
justify-content: center;
|
||||
align-items: center; }
|
||||
|
||||
.prgl_elem_sdesc {
|
||||
color: #555;
|
||||
font-size: 14pt;
|
||||
flex-grow: 1;
|
||||
margin-bottom: 20px;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center; }
|
||||
|
||||
.prgl_elem_info {
|
||||
display: flex;
|
||||
flex-direction: row; }
|
||||
@ -555,7 +574,11 @@ html, body {
|
||||
justify-content: center; }
|
||||
|
||||
.prgl_elem_subinfo_caption {
|
||||
text-align: center; } }
|
||||
text-align: center; }
|
||||
|
||||
.prgl_elem_sdesc {
|
||||
font-size: 12pt;
|
||||
margin-bottom: 10px; } }
|
||||
@media (max-width: 850px) {
|
||||
.prgl_elem {
|
||||
flex-direction: column;
|
||||
@ -577,7 +600,130 @@ html, body {
|
||||
margin: 8px 0 8px 8px; }
|
||||
|
||||
.prgl_elem_subinfo {
|
||||
flex-direction: row; } }
|
||||
flex-direction: row; }
|
||||
|
||||
.prgl_elem_sdesc {
|
||||
display: none;
|
||||
visibility: hidden; } }
|
||||
.prgv_content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
color: #333;
|
||||
border: 1px solid black;
|
||||
background-color: #E0E0E0;
|
||||
width: 100%;
|
||||
margin-left: auto;
|
||||
margin-right: auto; }
|
||||
|
||||
#prgv_header h1 {
|
||||
font-size: 48pt;
|
||||
text-align: center;
|
||||
margin-top: 5px; }
|
||||
|
||||
#prgv_header hr {
|
||||
background: -moz-radial-gradient(circle, #CCC, #FFFFFF00);
|
||||
background: -webkit-radial-gradient(circle, #CCC 0%, #FFFFFF00 100%); }
|
||||
|
||||
.prgv_top {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
margin-top: 15px; }
|
||||
|
||||
.prgv_left {
|
||||
flex-grow: 1;
|
||||
text-align: center;
|
||||
margin-left: 10px;
|
||||
margin-top: auto;
|
||||
margin-bottom: auto; }
|
||||
|
||||
.prgv_left img {
|
||||
max-height: 100%;
|
||||
max-width: 100%; }
|
||||
|
||||
.prgv_right {
|
||||
background: #BBB;
|
||||
border: 1px solid #666;
|
||||
margin: 0 10px;
|
||||
padding: 8px 5px 2px 5px;
|
||||
min-height: 250px;
|
||||
min-width: 200px;
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr;
|
||||
grid-template-rows: auto auto auto auto auto 1fr auto;
|
||||
grid-column-gap: 15px;
|
||||
grid-row-gap: 2px; }
|
||||
|
||||
.prgv_right_key {
|
||||
font-weight: bold; }
|
||||
|
||||
.prgv_right_value a {
|
||||
color: #333;
|
||||
text-decoration: none; }
|
||||
|
||||
.prgv_right_value a:hover {
|
||||
color: #339;
|
||||
text-decoration: none; }
|
||||
|
||||
.prgv_right_comb {
|
||||
grid-column: 1 / span 2; }
|
||||
|
||||
.prgv_right_lang {
|
||||
display: flex;
|
||||
justify-content: right; }
|
||||
|
||||
.prgv_dl_btn {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background: #222;
|
||||
color: #CCC;
|
||||
text-decoration: none;
|
||||
border: 1px solid #000;
|
||||
margin: 5px 0; }
|
||||
|
||||
.prgv_dl_download {
|
||||
background: #442222; }
|
||||
|
||||
.prgv_dl_github {
|
||||
background: #4078C0; }
|
||||
|
||||
.prgv_dl_btn:hover {
|
||||
cursor: pointer;
|
||||
background-color: #555; }
|
||||
|
||||
.prgv_dl_btn svg {
|
||||
width: 14pt;
|
||||
height: 14pt;
|
||||
margin: 0 4px;
|
||||
fill: #CCC; }
|
||||
|
||||
.prgv_dl_btn span {
|
||||
flex-grow: 1;
|
||||
text-align: center;
|
||||
font-size: 14pt; }
|
||||
|
||||
.prgv_right_lang img {
|
||||
display: inline;
|
||||
height: 16pt;
|
||||
max-width: 32px;
|
||||
margin: 1px 2px 0 2px; }
|
||||
|
||||
.prgv_center {
|
||||
margin: 0 8px 8px 8px;
|
||||
padding: 16px;
|
||||
background: #EEE;
|
||||
border: 1px solid rgba(0, 0, 0, 0.15); }
|
||||
|
||||
.prgv_sep {
|
||||
margin: 40px 0 40px 0;
|
||||
display: block;
|
||||
border: none;
|
||||
color: white;
|
||||
height: 1px;
|
||||
background: #666666FF;
|
||||
background: -moz-radial-gradient(circle, #666, #FFFFFF00);
|
||||
background: -webkit-radial-gradient(circle, #666 0%, #FFFFFF00 100%); }
|
||||
|
||||
.euler_pnl_base {
|
||||
display: inline-flex;
|
||||
flex-direction: column;
|
||||
|
139
www/data/css/styles.min.css
vendored
@ -1,21 +1,25 @@
|
||||
body{background-color:#EEE;color:#CCC;font-family:serif}
|
||||
#content{padding-top:64px;display:flex;justify-content:center;line-height:1.4}
|
||||
#content{padding-top:64px;display:flex;justify-content:center;line-height:1.4;flex-direction:column;align-items:center}
|
||||
.content-responsive{margin-left:auto;margin-right:auto}
|
||||
@media(max-width:767px){.content-responsive{width:auto}}
|
||||
@media(min-width:768px){.content-responsive{width:auto}}
|
||||
@media(min-width:992px){.content-responsive{width:724px}}
|
||||
@media(min-width:1200px){.content-responsive{width:1170px}}
|
||||
.content-fullheight{flex-grow:1}
|
||||
.contentheader{width:100%;color:#333;font-size:large}
|
||||
.contentheader h1{font-family:Lato,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:32px;font-weight:900;margin-bottom:0}
|
||||
@media(max-width:767px){.contentheader h1{font-size:32px}}
|
||||
.contentheader hr{margin:0 0 25px 0;display:block;border:0;color:white;height:1px;background:#CCCCCCFF;background:-moz-linear-gradient(left,#CCC,#FFFFFF00);background:-webkit-linear-gradient(left,#CCC 0,#FFFFFF00 100%)}
|
||||
.blockcontent{display:block;width:100%}
|
||||
.generic_hidden{visibility:hidden !important}
|
||||
.generic_collapsed{visibility:collapse !important;display:none !important}
|
||||
#headerdiv{z-index:999;background-color:#333;display:flex;border-bottom:1px solid #111;box-shadow:0 0 8px #000;position:fixed;width:100%}
|
||||
#headerdiv .logowrapper{flex:initial;margin:0;padding:0;height:42px}
|
||||
#headerdiv .logowrapper .logo{height:30px;margin:4px 0 8px 6px;flex:initial}
|
||||
#headerdiv .tabrow{display:flex;flex:auto}
|
||||
#headerdiv .tabrow .tab{display:flex;justify-content:center;align-items:center;background-color:#222;color:#CCC;border-left:1px solid #000;border-right:1px solid #000;font-weight:bold;text-decoration:none;margin:0 0 0 20px;padding:2px 5px;min-width:64px;text-align:center;flex:initial}
|
||||
#headerdiv .tabrow .tab:hover{cursor:pointer;background-color:#555}
|
||||
#headerdiv .tabrow .tab_active{background-color:#422}
|
||||
#headerdiv .tabrow .tab_split{flex:auto}
|
||||
#headerdiv .tabrow .tab_github{background-color:#4078c0;border-left:1px solid #111;border-right:0;color:black}
|
||||
#headerdiv .tabrow .tab_github:hover{background-color:#c9510c;color:black}
|
||||
@ -27,7 +31,7 @@ body{background-color:#EEE;color:#CCC;font-family:serif}
|
||||
#content{padding-top:0}
|
||||
}
|
||||
html,body{margin:0;padding:0;height:100%}
|
||||
#mastercontainer{min-height:100%;position:relative}
|
||||
#mastercontainer{display:flex;flex-direction:column;min-height:100%;position:relative}
|
||||
#content{padding-bottom:60px}
|
||||
#footerdiv{position:absolute;bottom:0;width:100%;height:60px;text-align:center;left:0;right:0;margin:0 auto}
|
||||
@media(max-width:767px){#footerdiv{width:auto}}
|
||||
@ -35,32 +39,35 @@ html,body{margin:0;padding:0;height:100%}
|
||||
@media(min-width:992px){#footerdiv{width:724px}}
|
||||
@media(min-width:1200px){#footerdiv{width:1170px}}
|
||||
#footerdiv hr{margin-bottom:5px;display:block;border:0;color:white;height:1px;background:#CCCCCCFF;background:-webkit-gradient(radial,50% 50%,0,50% 50%,350,from(#CCC),to(#FFFFFF00))}
|
||||
@media(max-width:850px){#footerdiv .footerspan2{display:none;visibility:collapse}}
|
||||
.bloglistelem_container{display:flex;align-items:center;flex-direction:column}
|
||||
.bloglistelem{width:100%;border:solid 1px #444;margin:10px 5px;color:#333;text-decoration:none}
|
||||
.bloglistelem:hover{box-shadow:0 0 4px #000}
|
||||
.ble_blog{background-color:#BBB}
|
||||
.ble_log{background-color:#DDD}
|
||||
.ble_blog .ble_date{background-color:#AAA}
|
||||
.ble_log .ble_date{background-color:#CCC}
|
||||
.ble_blog .ble_date{background-color:#AAA;color:#333}
|
||||
.ble_log .ble_date{background-color:#CCC;color:#333}
|
||||
.ble_log{color:#555}
|
||||
.ble_log:hover{color:#333}
|
||||
.ble_date{background-color:#AAA;padding:2px;font-size:.8em;font-style:italic}
|
||||
.ble_title{font-weight:bold;font-size:1.2em;text-align:left;margin:2px 0 2px 10px}
|
||||
@media(max-width:767px){.ble_title{font-size:1.25em}}
|
||||
.blogcontent{color:#333;border:1px solid black;background-color:#e0e0e0;width:90%;margin-left:auto;margin-right:auto}
|
||||
.bc_header{background-color:#BBB;padding:0 4px}
|
||||
.bc_data{padding:8px}
|
||||
.bc_markdown code{font-family:Consolas,Monaco,"Courier New",Menlo,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}
|
||||
.bc_markdown pre{font-size:14px;display:block;padding:9.5px;margin:0 0 10px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;background-color:#f8f8f8;color:black;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}
|
||||
.bc_markdown blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #CCC}
|
||||
.bc_markdown img{max-width:100%}
|
||||
.bc_markdown table{border-collapse:collapse;text-align:left;width:100%;border:1px solid #666}
|
||||
.bc_markdown table td,.bc_markdown table th{padding:3px 10px}
|
||||
.bc_markdown table thead th{background-color:#7d7d7d;color:#fff;font-weight:bold;border-left:1px solid #444}
|
||||
.bc_markdown table thead th:first-child{border:0}
|
||||
.bc_markdown table tbody td{border-left:1px solid #666;font-weight:normal}
|
||||
.bc_markdown table tbody .alt td{background:#ebebeb}
|
||||
.bc_markdown table tbody td:first-child{border-left:0}
|
||||
.bc_markdown table tbody tr:last-child td{border-bottom:0}
|
||||
.bc_markdown table tbody tr:nth-child(odd){background-color:#ccc}
|
||||
.base_markdown code{font-family:Consolas,Monaco,"Courier New",Menlo,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}
|
||||
.base_markdown pre{font-size:14px;display:block;padding:9.5px;margin:0 0 10px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;background-color:#f8f8f8;color:black;border:1px solid rgba(0,0,0,0.15);border-radius:2px}
|
||||
.base_markdown blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #CCC}
|
||||
.base_markdown img{max-width:100%}
|
||||
.base_markdown table{border-collapse:collapse;text-align:left;width:100%;border:1px solid #666}
|
||||
.base_markdown table td,.base_markdown table th{padding:3px 10px}
|
||||
.base_markdown table thead th{background-color:#7d7d7d;color:#fff;font-weight:bold;border-left:1px solid #444}
|
||||
.base_markdown table thead th:first-child{border:0}
|
||||
.base_markdown table tbody td{border-left:1px solid #666;font-weight:normal}
|
||||
.base_markdown table tbody .alt td{background:#ebebeb}
|
||||
.base_markdown table tbody td:first-child{border-left:0}
|
||||
.base_markdown table tbody tr:last-child td{border-bottom:0}
|
||||
.base_markdown table tbody tr:nth-child(odd){background-color:#ccc}
|
||||
.mdtable_container{overflow-x:auto}
|
||||
.notable{width:unset !important;border:none !important}
|
||||
.notable th,.notable td,.notable tr{border:none !important;background:transparent !important}
|
||||
@ -117,9 +124,68 @@ html,body{margin:0;padding:0;height:100%}
|
||||
.bce_pag10{flex-direction:row}
|
||||
.bce_pag05{flex-direction:row}
|
||||
}
|
||||
.ev_master{align-self:center}
|
||||
@media(min-width:850px){.ev_master{padding-bottom:80px}}
|
||||
.ev_master .ev_code{color:#000;text-align:center;font-size:150pt;font-weight:500;font-family:Consolas,Monaco,"Courier New",Menlo,monospace}
|
||||
.ev_master .ev_msg{color:#888;text-align:center;font-size:25pt}
|
||||
@media(max-width:767px){
|
||||
.ev_master .ev_code{font-size:75pt}
|
||||
.ev_master .ev_msg{font-size:15pt}
|
||||
}
|
||||
.prgl_parent{display:flex;flex-direction:column}
|
||||
.prgl_elem{display:flex;flex-direction:row;text-decoration:none;background:#BBB;border:solid 1px #444;margin:5px 0}
|
||||
.prgl_elem:hover{background:#999;box-shadow:0 0 4px #000}
|
||||
.prgl_elem_left{padding:4px;display:flex}
|
||||
.prgl_elem_left img{width:250px;height:100%;min-height:100px}
|
||||
.prgl_elem_right{display:flex;flex-direction:column;flex-grow:1}
|
||||
.prgl_elem_title{color:#222;font-size:40pt;font-weight:bolder;flex-grow:1;display:flex;justify-content:center;align-items:center}
|
||||
.prgl_elem_sdesc{color:#555;font-size:14pt;flex-grow:1;margin-bottom:20px;margin-left:10px;margin-right:10px;display:flex;justify-content:center;align-items:center}
|
||||
.prgl_elem_info{display:flex;flex-direction:row}
|
||||
.prgl_elem_subinfo{flex:1;display:flex;flex-direction:row}
|
||||
.prgl_elem_subinfo_caption{color:#111;font-weight:bold;margin:0 5px 0 10px}
|
||||
.prgl_elem_subinfo_data{color:#555;display:flex;flex-direction:row;align-items:center;height:100%}
|
||||
.prgl_elem_subinfo_data img{display:inline;height:13pt;margin:1px 2px 0 2px}
|
||||
@media(max-width:1199px){
|
||||
.prgl_elem_title{font-size:22pt}
|
||||
.prgl_elem_subinfo{flex-direction:column}
|
||||
.prgl_elem_subinfo_data{justify-content:center}
|
||||
.prgl_elem_subinfo_caption{text-align:center}
|
||||
.prgl_elem_sdesc{font-size:12pt;margin-bottom:10px}
|
||||
}
|
||||
@media(max-width:850px){
|
||||
.prgl_elem{flex-direction:column;width:350px}
|
||||
.prgl_elem_left img{width:100%}
|
||||
.prgl_elem_title{font-size:24pt;word-wrap:break-word;text-align:center}
|
||||
.prgl_elem_left{justify-content:center}
|
||||
.prgl_elem_info{flex-direction:column;margin:8px 0 8px 8px}
|
||||
.prgl_elem_subinfo{flex-direction:row}
|
||||
.prgl_elem_sdesc{display:none;visibility:hidden}
|
||||
}
|
||||
.prgv_content{display:flex;flex-direction:column;color:#333;border:1px solid black;background-color:#e0e0e0;width:100%;margin-left:auto;margin-right:auto}
|
||||
#prgv_header h1{font-size:48pt;text-align:center;margin-top:5px}
|
||||
#prgv_header hr{background:-moz-radial-gradient(circle,#CCC,#FFFFFF00);background:-webkit-radial-gradient(circle,#CCC 0,#FFFFFF00 100%)}
|
||||
.prgv_top{display:flex;flex-direction:row;margin-top:15px}
|
||||
.prgv_left{flex-grow:1;text-align:center;margin-left:10px;margin-top:auto;margin-bottom:auto}
|
||||
.prgv_left img{max-height:100%;max-width:100%}
|
||||
.prgv_right{background:#BBB;border:1px solid #666;margin:0 10px;padding:8px 5px 2px 5px;min-height:250px;min-width:200px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto auto auto 1fr auto;grid-column-gap:15px;grid-row-gap:2px}
|
||||
.prgv_right_key{font-weight:bold}
|
||||
.prgv_right_value a{color:#333;text-decoration:none}
|
||||
.prgv_right_value a:hover{color:#339;text-decoration:none}
|
||||
.prgv_right_comb{grid-column:1 / span 2}
|
||||
.prgv_right_lang{display:flex;justify-content:right}
|
||||
.prgv_dl_btn{display:flex;justify-content:center;align-items:center;background:#222;color:#CCC;text-decoration:none;border:1px solid #000;margin:5px 0}
|
||||
.prgv_dl_download{background:#422}
|
||||
.prgv_dl_github{background:#4078c0}
|
||||
.prgv_dl_btn:hover{cursor:pointer;background-color:#555}
|
||||
.prgv_dl_btn svg{width:14pt;height:14pt;margin:0 4px;fill:#CCC}
|
||||
.prgv_dl_btn span{flex-grow:1;text-align:center;font-size:14pt}
|
||||
.prgv_right_lang img{display:inline;height:16pt;max-width:32px;margin:1px 2px 0 2px}
|
||||
.prgv_center{margin:0 8px 8px 8px;padding:16px;background:#EEE;border:1px solid rgba(0,0,0,0.15)}
|
||||
.prgv_sep{margin:40px 0 40px 0;display:block;border:0;color:white;height:1px;background:#666666FF;background:-moz-radial-gradient(circle,#666,#FFFFFF00);background:-webkit-radial-gradient(circle,#666 0,#FFFFFF00 100%)}
|
||||
.euler_pnl_base{display:inline-flex;flex-direction:column;border:1px solid #AAA;border-radius:5px 5px 0 0;margin:15px}
|
||||
.euler_pnl_header{display:flex;align-items:center;justify-content:center;padding:4px;background:#AAA}
|
||||
.euler_pnl_header a{color:#222;text-decoration:none;font-family:Lato,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:22px;font-weight:900}
|
||||
@media(max-width:850px){.euler_pnl_header a{font-size:16px}}
|
||||
.euler_pnl_header a:hover{text-decoration:underline}
|
||||
.euler_pnl_content{display:flex;flex-direction:column;background:#DDD;padding:6px}
|
||||
.euler_pnl_row{display:flex;flex-direction:row;flex-wrap:wrap}
|
||||
@ -136,6 +202,25 @@ html,body{margin:0;padding:0;height:100%}
|
||||
.euler_pnl_celltime_bad{background:#d8b298}
|
||||
.euler_pnl_celltime_fail{background:#d89d9d}
|
||||
.euler_pnl_cell_notexist{background:#ccc}
|
||||
.programs_pnl_base{display:inline-flex;flex-direction:column;border:1px solid #AAA;border-radius:5px 5px 0 0;margin:15px;width:652px}
|
||||
.programs_pnl_header{display:flex;align-items:center;justify-content:center;padding:4px;background:#AAA}
|
||||
.programs_pnl_header a{color:#222;text-decoration:none;font-family:Lato,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:22px;font-weight:900}
|
||||
.programs_pnl_content{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;background:#DDD;padding:6px}
|
||||
.programs_pnl_content .programs_pnl_entry{display:flex;flex-direction:column;width:190px;border:1px solid #333;background:#AAA;color:#000;text-decoration:none;margin:4px}
|
||||
.programs_pnl_content .programs_pnl_entry:hover{box-shadow:0 0 8px #000}
|
||||
.programs_pnl_content .programs_pnl_img{display:flex;flex-direction:column;justify-content:flex-start;margin:4px}
|
||||
.programs_pnl_content .programs_pnl_img img{width:100%;height:auto}
|
||||
.programs_pnl_content .programs_pnl_center{display:flex;justify-content:center;align-items:flex-end;text-align:center;color:black;font-weight:bolder;font-size:15pt;flex-grow:1;margin:0 2px}
|
||||
.programs_pnl_content .programs_pnl_bottom{background:#888;display:flex;flex-direction:row}
|
||||
.programs_pnl_content .programs_pnl_bottom_1,.programs_pnl_content .programs_pnl_bottom_2{flex-grow:1;text-align:center;display:flex;flex-direction:column}
|
||||
.programs_pnl_content .programs_pnl_bottom_sub_top{color:#444}
|
||||
.programs_pnl_content .programs_pnl_bottom_sub_bot{color:#111;font-weight:bolder}
|
||||
@media(max-width:850px){
|
||||
.programs_pnl_base{width:320px}
|
||||
.programs_pnl_base .programs_pnl_entry{width:100%}
|
||||
.programs_pnl_base .programs_pnl_bottom_sub_top{margin-left:4px;margin-right:6px}
|
||||
.programs_pnl_base .programs_pnl_bottom_1,.programs_pnl_base .programs_pnl_bottom_2{flex-direction:row}
|
||||
}
|
||||
.bfjoust_runner_owner{border:1px solid #888;background:#f8f8f8;padding:6px}
|
||||
.bfjoust_runner_owner .hsplit{display:flex;flex-direction:row;flex-wrap:nowrap}
|
||||
.bfjoust_runner_owner .hsplit_1{flex:1;margin:4px}
|
||||
@ -163,13 +248,19 @@ html,body{margin:0;padding:0;height:100%}
|
||||
.bfjoust_runner_owner #run_speed{width:70px}
|
||||
.bfjoust_runner_owner #board{background-color:#FFF;border-radius:6px;border:1px solid #CCC}
|
||||
.bce_code{background:#f8f8f8;color:black;border:1px solid rgba(0,0,0,0.15)}
|
||||
.bce_code .bce_code_data{overflow-x:auto;white-space:pre;font-family:Consolas,Monaco,"Courier New",Menlo,monospace;padding:9.5px;font-size:10pt}
|
||||
.bce_code .bce_code_data,.bce_code .bce_code_editarea{overflow-x:auto;font-family:Consolas,Monaco,"Courier New",Menlo,monospace;padding:5px 9.5px;line-height:12pt;font-size:10pt}
|
||||
.bce_code .bce_code_data{white-space:pre}
|
||||
.bce_code .bce_code_editarea{display:block;resize:none;box-sizing:border-box;line-height:12pt;font-size:10pt}
|
||||
.bce_code .bce_code_ctrl{background:#BBB;display:flex;flex-direction:row}
|
||||
.bce_code .bce_code_ctrl .ctrl_btn_left,.bce_code .bce_code_ctrl .ctrl_btn_right{display:flex;flex-direction:row}
|
||||
.bce_code .bce_code_ctrl .ctrl_btn_left{margin-right:auto}
|
||||
.bce_code .bce_code_ctrl .ctrl_btn_right{margin-left:auto}
|
||||
.bce_code .bce_code_ctrl .ctrl_btn{display:block;border:1px solid #000;background:#444;color:#BBB;margin:4px;padding:0 5px;min-width:65px;text-align:center;text-decoration:none;font-weight:bold}
|
||||
.bce_code .bce_code_ctrl .ctrl_btn{user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;display:block;border:1px solid #000;background:#444;color:#BBB;margin:4px;padding:0 5px;min-width:65px;text-align:center;text-decoration:none;font-weight:bold}
|
||||
.bce_code .bce_code_ctrl .ctrl_btn:hover{cursor:pointer;background:#333;color:#FFF;border:1px solid black}
|
||||
.bce_code .bce_code_ctrl .ctrl_btn_group{display:flex;flex-direction:row}
|
||||
.bce_code .bce_code_ctrl .ctrl_btn_ll{margin-right:0;flex-grow:1}
|
||||
.bce_code .bce_code_ctrl .ctrl_btn_rr{margin-left:0;flex-grow:0;min-width:25px;border-left:0}
|
||||
.bce_code .bce_code_ctrl .ctrl_btn_rr:hover{border-left:0}
|
||||
.bce_code .bce_code_ctrl .ctrl_btn_disabled{background:#999;color:#BBB}
|
||||
.bce_code .bce_code_ctrl .ctrl_btn_disabled:hover{background:#999;color:#BBB;cursor:default}
|
||||
@media(max-width:767px){
|
||||
@ -177,3 +268,13 @@ html,body{margin:0;padding:0;height:100%}
|
||||
.bce_code .bce_code_ctrl .ctrl_btn_left,.bce_code .bce_code_ctrl .ctrl_btn_right{display:flex;flex-direction:column;margin:0}
|
||||
.bce_code .ctrl_btn_left,.bce_code .ctrl_btn_right{display:flex;flex-direction:column;margin:0}
|
||||
}
|
||||
.bce_code_out{display:flex;flex-direction:row;background:#BBB}
|
||||
.bce_code_out .bce_code_out_text{font-family:Consolas,Monaco,"Courier New",Menlo,monospace;overflow-y:auto;overflow-x:auto;background:#FFF;color:#000;border:1px solid #888;flex-grow:1}
|
||||
.bce_code_out .bce_code_out_stack{font-family:Consolas,Monaco,"Courier New",Menlo,monospace;overflow-y:scroll;overflow-x:auto;background:#FFF;color:#000;border:1px solid #888;flex-grow:1}
|
||||
.bce_code_out .bce_code_out_left{flex-grow:1;margin:0 4px 4px 4px;height:300px;display:flex;flex-direction:column}
|
||||
.bce_code_out .bce_code_out_right{height:300px;width:200px;margin:0 4px 4px 4px;display:flex;flex-direction:column}
|
||||
@media(max-width:767px){
|
||||
.bce_code_out{flex-direction:column}
|
||||
.bce_code_out .bce_code_out_left{flex-grow:0;height:100px}
|
||||
.bce_code_out .bce_code_out_right{width:auto;height:150px}
|
||||
}
|
||||
|
@ -8,6 +8,7 @@
|
||||
@import 'styles_blogview_befunge';
|
||||
@import 'styles_errorview';
|
||||
@import 'styles_programslist';
|
||||
@import 'styles_programsview';
|
||||
|
||||
@import 'styles_eulerpanel';
|
||||
@import 'styles_programspanel';
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
border: solid 1px #444;
|
||||
margin: 10px 5px;
|
||||
color: #333;
|
||||
color: $COL_TEXT_DARK;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
@ -23,8 +23,11 @@
|
||||
.ble_blog { background-color: #BBB; }
|
||||
.ble_log { background-color: #DDD; }
|
||||
|
||||
.ble_blog .ble_date { background-color: #AAA; }
|
||||
.ble_log .ble_date { background-color: #CCC; }
|
||||
.ble_blog .ble_date { background-color: #AAA; color: $COL_TEXT_DARK; }
|
||||
.ble_log .ble_date { background-color: #CCC; color: $COL_TEXT_DARK; }
|
||||
|
||||
.ble_log { color: $COL_TEXT_DARK_LIGHTER; }
|
||||
.ble_log:hover { color: $COL_TEXT_DARK; }
|
||||
|
||||
.ble_date {
|
||||
background-color: #AAA;
|
||||
|
@ -18,7 +18,7 @@
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.bc_markdown {
|
||||
.base_markdown {
|
||||
|
||||
code {
|
||||
font-family: $FONT_CODE;
|
||||
|
@ -69,7 +69,7 @@
|
||||
}
|
||||
|
||||
a {
|
||||
color: #333;
|
||||
color: $COL_TEXT_DARK;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
@ -1,9 +1,14 @@
|
||||
$COL_BACKGROUND: #EEE;
|
||||
$COL_BACKGROUND_2: #E0E0E0;
|
||||
$COL_BACKGROUND_3: #F8F8F8;
|
||||
$COL_TEXT_NORMAL: #CCC;
|
||||
$COL_TEXT_DARK: #333;
|
||||
$COL_TRANSPARENT: #FFFFFF00;
|
||||
$COL_BACKGROUND: #EEE;
|
||||
$COL_BACKGROUND_2: #E0E0E0;
|
||||
$COL_BACKGROUND_3: #F8F8F8;
|
||||
$COL_TEXT_NORMAL: #CCC;
|
||||
$COL_TEXT_DARK_DARKER: #222;
|
||||
$COL_TEXT_DARK: #333;
|
||||
$COL_TEXT_DARK_LIGHTER: #555;
|
||||
$COL_TRANSPARENT: #FFFFFF00;
|
||||
|
||||
$COL_GITHUB: #4078C0;
|
||||
$COL_HIGHLIGHT_RED: #442222;
|
||||
|
||||
$FONT_HEADER: Lato, "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
$FONT_CODE: Consolas, Monaco, "Courier New", Menlo, monospace;
|
||||
|
@ -19,7 +19,7 @@
|
||||
}
|
||||
|
||||
.euler_pnl_header a {
|
||||
color: #222;
|
||||
color: $COL_TEXT_DARK_DARKER;
|
||||
text-decoration: none;
|
||||
|
||||
|
||||
|
@ -51,14 +51,14 @@
|
||||
}
|
||||
}
|
||||
|
||||
.tab_active { background-color: #422; }
|
||||
.tab_active { background-color: $COL_HIGHLIGHT_RED; }
|
||||
|
||||
.tab_split {
|
||||
flex: auto;
|
||||
}
|
||||
|
||||
.tab_github {
|
||||
background-color: #4078c0;
|
||||
background-color: $COL_GITHUB;
|
||||
border-left: 1px solid #111;
|
||||
border-right: none;
|
||||
color: black;
|
||||
|
@ -39,7 +39,7 @@
|
||||
}
|
||||
|
||||
.prgl_elem_title {
|
||||
color: #222;
|
||||
color: $COL_TEXT_DARK_DARKER;
|
||||
font-size: 40pt;
|
||||
font-weight: bolder;
|
||||
flex-grow: 1;
|
||||
@ -49,6 +49,20 @@
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.prgl_elem_sdesc {
|
||||
color: $COL_TEXT_DARK_LIGHTER;
|
||||
font-size: 14pt;
|
||||
flex-grow: 1;
|
||||
|
||||
margin-bottom: 20px;
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.prgl_elem_info {
|
||||
display:flex;
|
||||
flex-direction: row;
|
||||
@ -97,6 +111,10 @@
|
||||
.prgl_elem_subinfo_caption {
|
||||
text-align: center;
|
||||
}
|
||||
.prgl_elem_sdesc {
|
||||
font-size: 12pt;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
@media (max-width: 850px)
|
||||
{
|
||||
@ -122,6 +140,10 @@
|
||||
.prgl_elem_subinfo {
|
||||
flex-direction: row;
|
||||
}
|
||||
.prgl_elem_sdesc {
|
||||
display: none;
|
||||
visibility: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
}
|
||||
|
||||
.programs_pnl_header a {
|
||||
color: #222;
|
||||
color: $COL_TEXT_DARK_DARKER;
|
||||
text-decoration: none;
|
||||
|
||||
|
||||
|
144
www/data/css/styles_programsview.scss
Normal file
@ -0,0 +1,144 @@
|
||||
@import 'styles_config';
|
||||
|
||||
.prgv_content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
color: $COL_TEXT_DARK;
|
||||
border: 1px solid black;
|
||||
background-color: #E0E0E0;
|
||||
width: 100%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
#prgv_header h1 {
|
||||
font-size: 48pt;
|
||||
text-align: center;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
#prgv_header hr {
|
||||
background: -moz-radial-gradient( circle, $COL_TEXT_NORMAL, $COL_TRANSPARENT);
|
||||
background: -webkit-radial-gradient(circle, $COL_TEXT_NORMAL 0%,$COL_TRANSPARENT 100%);
|
||||
}
|
||||
|
||||
.prgv_top {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
.prgv_left {
|
||||
flex-grow: 1;
|
||||
text-align: center;
|
||||
margin-left: 10px;
|
||||
|
||||
margin-top: auto;
|
||||
margin-bottom: auto;
|
||||
}
|
||||
|
||||
.prgv_left img {
|
||||
max-height: 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.prgv_right {
|
||||
background: #BBB;
|
||||
border: 1px solid #666;
|
||||
margin: 0 10px;
|
||||
padding: 8px 5px 2px 5px;
|
||||
|
||||
min-height: 250px;
|
||||
min-width: 200px;
|
||||
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr;
|
||||
grid-template-rows: auto auto auto auto auto 1fr auto;
|
||||
grid-column-gap: 15px;
|
||||
grid-row-gap: 2px;
|
||||
}
|
||||
|
||||
.prgv_right_key {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.prgv_right_value a {
|
||||
color: $COL_TEXT_DARK;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.prgv_right_value a:hover {
|
||||
color: #339;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.prgv_right_comb {
|
||||
grid-column: 1 / span 2;
|
||||
}
|
||||
|
||||
.prgv_right_lang {
|
||||
display: flex;
|
||||
justify-content: right;
|
||||
}
|
||||
|
||||
.prgv_dl_btn {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
background: #222;
|
||||
color: $COL_TEXT_NORMAL;
|
||||
text-decoration: none;
|
||||
border: 1px solid #000;
|
||||
|
||||
margin: 5px 0;
|
||||
}
|
||||
|
||||
.prgv_dl_download { background: #442222; }
|
||||
.prgv_dl_github { background: $COL_GITHUB; }
|
||||
|
||||
.prgv_dl_btn:hover {
|
||||
cursor: pointer;
|
||||
background-color: #555;
|
||||
}
|
||||
|
||||
.prgv_dl_btn svg {
|
||||
width: 14pt;
|
||||
height: 14pt;
|
||||
margin: 0 4px;
|
||||
|
||||
fill: $COL_TEXT_NORMAL;
|
||||
}
|
||||
|
||||
.prgv_dl_btn span {
|
||||
flex-grow: 1;
|
||||
text-align: center;
|
||||
|
||||
font-size: 14pt;
|
||||
}
|
||||
|
||||
.prgv_right_lang img {
|
||||
display: inline;
|
||||
height: 16pt;
|
||||
max-width: 32px;
|
||||
margin: 1px 2px 0 2px;
|
||||
}
|
||||
|
||||
.prgv_center {
|
||||
margin: 0 8px 8px 8px;
|
||||
padding: 16px;
|
||||
background: #EEE;
|
||||
border: 1px solid rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
.prgv_sep {
|
||||
margin: 40px 0 40px 0;
|
||||
display: block;
|
||||
border: none;
|
||||
color: white;
|
||||
height: 1px;
|
||||
background: #666666FF;
|
||||
background: -moz-radial-gradient( circle, #666, #FFFFFF00);
|
||||
background: -webkit-radial-gradient(circle, #666 0%, #FFFFFF00 100%);
|
||||
}
|
7
www/data/images/README.md
Normal file
@ -0,0 +1,7 @@
|
||||
Sources:
|
||||
|
||||
- https://github.com/simple-icons/simple-icons
|
||||
- https://fontawesome.com/icons/download?style=solid
|
||||
- https://fontawesome.com/icons/home?style=solid
|
||||
- https://fontawesome.com/icons/book?style=solid
|
||||
|
11
www/data/images/icons.svg
Normal file
@ -0,0 +1,11 @@
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
<path id="amazon" class="svg_path" d="M.045 18.02c.072-.116.187-.124.348-.022 3.636 2.11 7.594 3.166 11.87 3.166 2.852 0 5.668-.533 8.447-1.595l.315-.14c.138-.06.234-.1.293-.13.226-.088.39-.046.525.13.12.174.09.336-.12.48-.256.19-.6.41-1.006.654-1.244.743-2.64 1.316-4.185 1.726-1.53.406-3.045.61-4.516.61-2.265 0-4.41-.396-6.435-1.187-2.02-.794-3.82-1.91-5.43-3.35-.1-.074-.15-.15-.15-.22 0-.047.02-.09.05-.13zm6.565-6.218c0-1.005.247-1.863.743-2.577.495-.71 1.17-1.25 2.04-1.615.796-.335 1.756-.575 2.912-.72.39-.046 1.033-.103 1.92-.174v-.37c0-.93-.105-1.558-.3-1.875-.302-.43-.78-.65-1.44-.65h-.182c-.48.046-.896.196-1.246.46-.35.27-.575.63-.675 1.096-.06.3-.206.465-.435.51l-2.52-.315c-.248-.06-.372-.18-.372-.39 0-.046.007-.09.022-.15.247-1.29.855-2.25 1.82-2.88.976-.616 2.1-.975 3.39-1.05h.54c1.65 0 2.957.434 3.888 1.29.135.15.27.3.405.48.12.165.224.314.283.45.075.134.15.33.195.57.06.254.105.42.135.51.03.104.062.3.076.615.01.313.02.493.02.553v5.28c0 .376.06.72.165 1.036.105.313.21.54.315.674l.51.674c.09.136.136.256.136.36 0 .12-.06.226-.18.314-1.2 1.05-1.86 1.62-1.963 1.71-.165.135-.375.15-.63.045-.195-.166-.375-.332-.526-.496l-.31-.347c-.06-.074-.166-.21-.317-.42l-.3-.435c-.81.886-1.603 1.44-2.4 1.665-.494.15-1.093.227-1.83.227-1.11 0-2.04-.343-2.76-1.034-.72-.69-1.08-1.665-1.08-2.94l-.05-.076zm3.753-.438c0 .566.14 1.02.425 1.364.285.34.675.512 1.155.512.045 0 .106-.007.195-.02.09-.016.134-.023.166-.023.614-.16 1.08-.553 1.424-1.178.165-.28.285-.58.36-.91.09-.32.12-.59.135-.8.015-.195.015-.54.015-1.005v-.54c-.84 0-1.484.06-1.92.18-1.275.36-1.92 1.17-1.92 2.43l-.035-.02zm9.162 7.027c.03-.06.075-.11.132-.17.362-.243.714-.41 1.05-.5.55-.133 1.09-.222 1.612-.24.14-.012.28 0 .41.03.65.06 1.05.168 1.172.33.063.09.09.228.09.39v.15c0 .51-.14 1.11-.415 1.8-.278.69-.664 1.248-1.156 1.68-.073.06-.14.09-.197.09-.03 0-.06 0-.09-.012-.09-.044-.107-.12-.064-.24.54-1.26.806-2.143.806-2.64 0-.15-.03-.27-.087-.344-.145-.166-.55-.257-1.224-.257-.243 0-.533.016-.87.046-.363.045-.7.09-1 .135-.09 0-.148-.014-.18-.044-.03-.03-.036-.047-.02-.077 0-.017.006-.03.02-.063v-.06z"/>
|
||||
<path id="apple" class="svg_path" d="M7.078 23.55c-.473-.316-.893-.703-1.244-1.15-.383-.463-.738-.95-1.064-1.454-.766-1.12-1.365-2.345-1.78-3.636-.5-1.502-.743-2.94-.743-4.347 0-1.57.34-2.94 1.002-4.09.49-.9 1.22-1.653 2.1-2.182.85-.53 1.84-.82 2.84-.84.35 0 .73.05 1.13.15.29.08.64.21 1.07.37.55.21.85.34.95.37.32.12.59.17.8.17.16 0 .39-.05.645-.13.145-.05.42-.14.81-.31.386-.14.692-.26.935-.35.37-.11.728-.21 1.05-.26.39-.06.777-.08 1.148-.05.71.05 1.36.2 1.94.42 1.02.41 1.843 1.05 2.457 1.96-.26.16-.5.346-.725.55-.487.43-.9.94-1.23 1.505-.43.77-.65 1.64-.644 2.52.015 1.083.29 2.035.84 2.86.387.6.904 1.114 1.534 1.536.31.21.582.355.84.45-.12.375-.252.74-.405 1.1-.347.807-.76 1.58-1.25 2.31-.432.63-.772 1.1-1.03 1.41-.402.48-.79.84-1.18 1.097-.43.285-.935.436-1.452.436-.35.015-.7-.03-1.034-.127-.29-.095-.576-.202-.856-.323-.293-.134-.596-.248-.905-.34-.38-.1-.77-.148-1.164-.147-.4 0-.79.05-1.16.145-.31.088-.61.196-.907.325-.42.175-.695.29-.855.34-.324.096-.656.154-.99.175-.52 0-1.004-.15-1.486-.45zm6.854-18.46c-.68.34-1.326.484-1.973.436-.1-.646 0-1.31.27-2.037.24-.62.56-1.18 1-1.68.46-.52 1.01-.95 1.63-1.26.66-.34 1.29-.52 1.89-.55.08.68 0 1.35-.25 2.07-.228.64-.568 1.23-1 1.76-.435.52-.975.95-1.586 1.26z"/>
|
||||
<path id="download" class="svg_path" d="M10.125 0h3.75c.623 0 1.125.502 1.125 1.125v7.875h4.111c.834 0 1.252 1.008.661 1.598L12.642 17.733c-.352.352-.928.352-1.28 0L4.223 10.598c-.591-.591-.173-1.598.661-1.598H9V1.125c0-.623.502-1.125 1.125-1.125zm13.875 17.625v5.25c0 .623-.502 1.125-1.125 1.125H1.125c-.623 0-1.125-.502-1.125-1.125V17.625c0-.623.502-1.125 1.125-1.125h6.877l2.297 2.297c.942.942 2.461.942 3.403 0l2.297-2.297H22.875c.623 0 1.125.502 1.125 1.125zm-5.812 4.125c0-.516-.422-.937-.937-.937s-.937.422-.937.938 .422.938 .938.938 .938-.422.938-.937zm3 0c0-.516-.422-.937-.937-.937s-.937.422-.937.938 .422.938 .938.938 .938-.422.938-.937z"/>
|
||||
<path id="github" class="svg_path" d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/>
|
||||
<path id="playstore" class="svg_path" d="M1.22 0c-.03.093-.06.185-.06.308v23.229c0 .217.061.34.184.463l11.415-12.093L1.22 0zm12.309 12.708l2.951 3.045-4.213 2.4s-5.355 3.044-8.308 4.739l9.57-10.184zm.801-.831l3.166 3.292c.496-.276 4.371-2.492 4.924-2.8.584-.338.525-.8.029-1.046-.459-.255-4.334-2.475-4.92-2.835l-3.203 3.392.004-.003zm-.803-.8l2.984-3.169-4.259-2.431S5.309 1.505 2.999.179l10.53 10.898h-.002z"/>
|
||||
<path id="home" class="svg_path" d="M20.331 14.354V20.325c0 .554-.446 1-1 1H14.498c-.275 0-.5-.225-.5-.5V16.158c0-.275-.225-.5-.5-.5h-3c-.275 0-.5.225-.5.5v4.667c0 .275-.225.5-.5.5H4.665c-.554 0-1-.446-1-1V14.354c0-.15.067-.292.183-.388l7.833-6.45c.183-.15.45-.15.637 0l7.833 6.45c.113.096 .179.238 .179.388zm3.483-2.538L20.331 8.946V3.175c0-.275-.225-.5-.5-.5h-2.333c-.275 0-.5.225-.5.5V6.2l-3.729-3.071c-.737-.608-1.804-.608-2.542 0L.181 11.817c-.212.175-.242.492-.067.704l1.063 1.292c.175.213 .492.242 .704.067l9.8-8.071c.183-.15.45-.15.637 0l9.8 8.071c.213.175 .529.146 .704-.067l1.063-1.292c.175-.217.142-.529-.071-.704z"/>
|
||||
<path id="sourceforge" class="svg_path" d="M2.43 11.361c0-.372.303-.705.675-.705h6.968c.271-.003.486-.219.486-.488V8.713c0-.27-.219-.487-.488-.487H2.43C1.088 8.227 0 9.314 0 10.654v2.695c0 1.342 1.086 2.431 2.426 2.431h5.021c.372 0 .676.331.676.706v1.282c0 .371-.304.707-.676.707H.486c-.271 0-.485.217-.485.486v1.453c0 .268.216.486.485.486H8.13c1.34 0 2.426-1.087 2.426-2.427v-2.697c0-1.34-1.086-2.428-2.427-2.428H3.104c-.372 0-.675-.334-.675-.704v-1.283zm21.088-3.13h-5.024V5.525h5.02c.266 0 .483-.217.483-.486V3.585c0-.271-.215-.486-.484-.486h-5.019c-1.34 0-2.427 1.087-2.427 2.427v2.706H13.74c-.27 0-.484.218-.484.485v1.459c0 .268.216.484.483.484h2.325v7.953c0 .24.099.284.303.284.488 0 2.124-.91 2.124-1.688v-6.551h5.024c.266 0 .484-.218.484-.484v-1.46c0-.266-.219-.483-.484-.483h.003z"/>
|
||||
<path id="wiki" class="svg_path" d="M22.5 16.875V1.125c0-.623-.502-1.125-1.125-1.125H6C3.516 0 1.5 2.016 1.5 4.5v15c0 2.484 2.016 4.5 4.5 4.5h15.375c.623 0 1.125-.502 1.125-1.125v-.75c0-.352-.164-.67-.417-.877-.197-.722-.197-2.78 0-3.502.253-.202.417-.52.417-.872zM7.5 6.281c0-.155.127-.281.281-.281h9.938c.155 0 .281.127 .281.281v.938c0 .155-.127.281-.281.281H7.781c-.155 0-.281-.127-.281-.281v-.937zm0 3c0-.155.127-.281.281-.281h9.938c.155 0 .281.127 .281.281v.938c0 .155-.127.281-.281.281H7.781c-.155 0-.281-.127-.281-.281v-.937zm11.878 11.719H6c-.83 0-1.5-.67-1.5-1.5 0-.825.675-1.5 1.5-1.5h13.378c-.089.802-.089 2.198 0 3z"/>
|
||||
<path id="windows" class="svg_path" d="M0 3.449L9.75 2.1v9.451H0m10.949-9.602L24 0v11.4H10.949M0 12.6h9.75v9.451L0 20.699M10.949 12.6H24V24l-12.9-1.801"/>
|
||||
</svg>
|
After Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 135 KiB |
Before Width: | Height: | Size: 276 KiB After Width: | Height: | Size: 276 KiB |
Before Width: | Height: | Size: 348 KiB After Width: | Height: | Size: 348 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 130 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 200 KiB |
@ -8,7 +8,7 @@ $problems = Euler::listAll();
|
||||
|
||||
?>
|
||||
|
||||
<div class="blogcontent bc_euler bc_markdown">
|
||||
<div class="blogcontent bc_euler base_markdown">
|
||||
|
||||
<div style="position: relative;">
|
||||
<a href="https://github.com/Mikescher/Project-Euler_Befunge" style="position: absolute; top: 0; right: 0; border: 0;">
|
||||
@ -41,6 +41,10 @@ $problems = Euler::listAll();
|
||||
Similar to most Befunge content on this site I only used the Befunge-93 instruction-set but ignored the 80x25 size restriction.<br />
|
||||
Still I tries to keep the programs in the Befunge-93 grid size, but that wasn't possible for all. So I guess some programs are <i>technically</i> Befunge-98.
|
||||
</p>
|
||||
<p>
|
||||
Also the original <a href="https://github.com/catseye/Befunge-93/blob/master/doc/Befunge-93.markdown">befunge-93 spec</a> didn't specify the word size of the stack or the grid<br />
|
||||
So, while most programs run happily with 32bit integers some need an interpreter that supports 64bit integers for both stack and grid.
|
||||
</p>
|
||||
</blockquote>
|
||||
<p>
|
||||
I have a included javascript runner here, but for one I only enabled it for programs of reasonable sizes (a few soutions had source files in the megabyte range).<br/>
|
||||
|
@ -25,7 +25,7 @@ $max = ceil($max / 20) * 20;
|
||||
|
||||
?>
|
||||
|
||||
<div class="blogcontent bc_euler bc_markdown">
|
||||
<div class="blogcontent bc_euler base_markdown">
|
||||
|
||||
<div style="position: relative;">
|
||||
<a href="https://github.com/Mikescher/Project-Euler_Befunge" style="position: absolute; top: 0; right: 0; border: 0;">
|
||||
|
@ -4,7 +4,7 @@ require_once (__DIR__ . '/../internals/blog.php');
|
||||
require_once (__DIR__ . '/../internals/ParsedownCustom.php');
|
||||
?>
|
||||
|
||||
<div class="blogcontent bc_markdown">
|
||||
<div class="blogcontent base_markdown">
|
||||
|
||||
<div class="bc_header">
|
||||
<?php echo $post['date']; ?>
|
||||
|
@ -1,4 +1,4 @@
|
||||
<div id="footerdiv" class="content-responsive">
|
||||
<hr />
|
||||
made with vanilla PHP and MySQL<span class="footerspan2">, no frameworks, no bootstrap, no unnecessary javascript</span>
|
||||
made with vanilla PHP and MySQL<span class="footerspan2">, no frameworks, no bootstrap, no unnecessary* javascript</span>
|
||||
</div>
|
@ -7,7 +7,7 @@
|
||||
<div class="programs_pnl_base">
|
||||
|
||||
<div class="programs_pnl_header">
|
||||
<a href="/programs">Newest Programs by me</a>
|
||||
<a href="/programs">Newly added software</a>
|
||||
</div>
|
||||
<div class="programs_pnl_content">
|
||||
|
||||
|
@ -129,7 +129,7 @@ try {
|
||||
else if ($value === '%URL%')
|
||||
{
|
||||
if (!isset($urlparams[$optname])) { $match = false; break; }
|
||||
$value = $urlparams[$optname];
|
||||
$value = urldecode($urlparams[$optname]);
|
||||
}
|
||||
|
||||
$opt[strtolower($optname)] = $value;
|
||||
@ -169,3 +169,8 @@ try {
|
||||
//TODO gzip (?)
|
||||
//TODO better gh widget
|
||||
//TODO remove db table prefixes
|
||||
//TODO euler insert+show 32bit | 64bit mode
|
||||
//TODO euler best of on top of list (?)
|
||||
//TODO optimize image sizes for display/download (? - auto?)
|
||||
//TODO send cache header (?)
|
||||
//TODO programs add [license]
|
@ -5,7 +5,7 @@ class Programs
|
||||
public static function readSingle($a)
|
||||
{
|
||||
$a['thumbnail_url'] = '/data/images/program_thumbnails/' . $a['internal_name'] . '.png';
|
||||
$a['file_longdescription'] = (__DIR__ . '/../statics/programs/' . $a['internal_name'] . '_descrition.md');
|
||||
$a['file_longdescription'] = (__DIR__ . '/../statics/programs/' . $a['internal_name'] . '_description.md');
|
||||
$a['url'] = '/programs/view/' . $a['internal_name'];
|
||||
|
||||
return $a;
|
||||
@ -31,4 +31,18 @@ class Programs
|
||||
$a = require (__DIR__ . '/../statics/updates/programupdates.php');
|
||||
return $a;
|
||||
}
|
||||
|
||||
public static function getProgramByInternalName($id)
|
||||
{
|
||||
foreach (self::listAll() as $prog) {
|
||||
if (strcasecmp($prog['internal_name'], $id) === 0) return $prog;
|
||||
if ($prog['internal_name_alt'] !== null && strcasecmp($prog['internal_name_alt'], $id) === 0) return $prog;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function getProgramDescription($prog)
|
||||
{
|
||||
return file_get_contents($prog['file_longdescription']);
|
||||
}
|
||||
}
|
@ -37,18 +37,19 @@ $allprograms = Programs::listAllNewestFirst($filter);
|
||||
foreach (explode('|', $prog['ui_language']) as $lang) $uilang .= '<img src="'.convertLanguageToFlag($lang).'" alt="'.$lang.'" />';
|
||||
|
||||
echo '<a class="prgl_elem" href="'.$prog['url'].'">';
|
||||
echo '<div class="prgl_elem_left">';
|
||||
echo '<img src="' . $prog['thumbnail_url'] . '" alt="Thumbnail ' . $prog['name'] . '" />';
|
||||
echo '</div>';
|
||||
echo '<div class="prgl_elem_right">';
|
||||
echo '<div class="prgl_elem_title">' . htmlspecialchars($prog['name']) . '</div>';
|
||||
echo '<div class="prgl_elem_info">';
|
||||
echo '<div class="prgl_elem_subinfo"><span class="prgl_elem_subinfo_caption">Date:</span><span class="prgl_elem_subinfo_data">'.$prog['add_date'].'</span></div>';
|
||||
echo '<div class="prgl_elem_subinfo"><span class="prgl_elem_subinfo_caption">Language:</span><span class="prgl_elem_subinfo_data">'.$prog['prog_language'].'</span></div>';
|
||||
echo '<div class="prgl_elem_subinfo"><span class="prgl_elem_subinfo_caption">UI Language:</span><span class="prgl_elem_subinfo_data">'.$uilang.'</span></div>';
|
||||
echo '<div class="prgl_elem_subinfo"><span class="prgl_elem_subinfo_caption">Category:</span><span class="prgl_elem_subinfo_data">'.$prog['category'].'</span></div>';
|
||||
echo '</div>';
|
||||
echo '</div>';
|
||||
echo ' <div class="prgl_elem_left">';
|
||||
echo ' <img src="' . $prog['thumbnail_url'] . '" alt="Thumbnail ' . $prog['name'] . '" />';
|
||||
echo ' </div>';
|
||||
echo ' <div class="prgl_elem_right">';
|
||||
echo ' <div class="prgl_elem_title">' . htmlspecialchars($prog['name']) . '</div>';
|
||||
echo ' <div class="prgl_elem_sdesc">' . htmlspecialchars($prog['short_description']) . '</div>';
|
||||
echo ' <div class="prgl_elem_info">';
|
||||
echo ' <div class="prgl_elem_subinfo"><span class="prgl_elem_subinfo_caption">Date:</span><span class="prgl_elem_subinfo_data">'.$prog['add_date'].'</span></div>';
|
||||
echo ' <div class="prgl_elem_subinfo"><span class="prgl_elem_subinfo_caption">Language:</span><span class="prgl_elem_subinfo_data">'.$prog['prog_language'].'</span></div>';
|
||||
echo ' <div class="prgl_elem_subinfo"><span class="prgl_elem_subinfo_caption">UI Language:</span><span class="prgl_elem_subinfo_data">'.$uilang.'</span></div>';
|
||||
echo ' <div class="prgl_elem_subinfo"><span class="prgl_elem_subinfo_caption">Category:</span><span class="prgl_elem_subinfo_data">'.$prog['category'].'</span></div>';
|
||||
echo ' </div>';
|
||||
echo ' </div>';
|
||||
echo '</a>' . "\n";
|
||||
}
|
||||
echo '</div>' . "\n";
|
||||
|
100
www/pages/programs_view.php
Normal file
@ -0,0 +1,100 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<?php
|
||||
require_once (__DIR__ . '/../internals/base.php');
|
||||
require_once (__DIR__ . '/../internals/programs.php');
|
||||
require_once (__DIR__ . '/../internals/ParsedownCustom.php');
|
||||
|
||||
$internalname = $OPTIONS['id'];
|
||||
|
||||
$prog = Programs::getProgramByInternalName($internalname);
|
||||
|
||||
if ($prog === NULL) httpError(404, 'Program not found');
|
||||
|
||||
|
||||
?>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Mikescher.com - <?php echo $prog['name']; ?></title>
|
||||
<link rel="icon" type="image/png" href="/data/images/favicon.png"/>
|
||||
<link rel="canonical" href="https://www.mikescher.com/programs/view/<?php echo $prog['internal_name']; ?>"/>
|
||||
<?php printCSS(); ?>
|
||||
</head>
|
||||
<body>
|
||||
<div id="mastercontainer">
|
||||
|
||||
<?php $HEADER_ACTIVE = 'programs'; include (__DIR__ . '/../fragments/header.php'); ?>
|
||||
|
||||
<div id="content" class="content-responsive">
|
||||
|
||||
<div class="blockcontent">
|
||||
|
||||
<div class="prgv_content">
|
||||
|
||||
<div class="contentheader" id="prgv_header"><h1><?php echo htmlspecialchars($prog['name']); ?></h1><hr/></div>
|
||||
|
||||
<div class="prgv_top">
|
||||
<div class="prgv_left">
|
||||
<img src="<?php echo $prog['thumbnail_url']; ?>" alt="Thumbnail (<?php echo $prog['name'] ?>)" />
|
||||
</div>
|
||||
<div class="prgv_right">
|
||||
<div class="prgv_right_key" style="grid-row:1">Name:</div>
|
||||
<div class="prgv_right_value" style="grid-row:1"><a href="<?php echo $prog['url']; ?>"><?php echo htmlspecialchars($prog['name']) ?></a></div>
|
||||
|
||||
<div class="prgv_right_key" style="grid-row:2">Language:</div>
|
||||
<div class="prgv_right_value" style="grid-row:2"><?php echo htmlspecialchars($prog['prog_language']) ?></div>
|
||||
|
||||
<div class="prgv_right_key" style="grid-row:3">Category:</div>
|
||||
<div class="prgv_right_value" style="grid-row:3"><?php echo htmlspecialchars($prog['category']) ?></div>
|
||||
|
||||
<div class="prgv_right_key" style="grid-row:4">Date:</div>
|
||||
<div class="prgv_right_value" style="grid-row:4"><?php echo htmlspecialchars($prog['add_date']) ?></div>
|
||||
|
||||
<div class="prgv_right_comb" style="grid-row:5">
|
||||
<?php
|
||||
foreach ($prog['urls'] as $type => $url)
|
||||
{
|
||||
if ($type === 'download') echo '<a class="prgv_dl_btn prgv_dl_download" href="'.$url.'"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><use xlink:href="/data/images/icons.svg#download" /></svg><span>Download</span></a>';
|
||||
if ($type === 'github') echo '<a class="prgv_dl_btn prgv_dl_github" href="'.$url.'"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><use xlink:href="/data/images/icons.svg#github" /></svg><span>Github</span></a>';
|
||||
if ($type === 'homepage') echo '<a class="prgv_dl_btn prgv_dl_homepage" href="'.$url.'"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><use xlink:href="/data/images/icons.svg#home" /></svg><span>Homepage</span></a>';
|
||||
if ($type === 'wiki') echo '<a class="prgv_dl_btn prgv_dl_wiki" href="'.$url.'"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><use xlink:href="/data/images/icons.svg#wiki" /></svg><span>Wiki</span></a>';
|
||||
if ($type === 'playstore') echo '<a class="prgv_dl_btn prgv_dl_playstore" href="'.$url.'"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><use xlink:href="/data/images/icons.svg#playstore" /></svg><span>Google Playstore</span></a>';
|
||||
if ($type === 'amazonappstore') echo '<a class="prgv_dl_btn prgv_dl_amznstore" href="'.$url.'"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><use xlink:href="/data/images/icons.svg#amazon" /></svg><span>Amazon Appstore</span></a>';
|
||||
if ($type === 'windowsstore') echo '<a class="prgv_dl_btn prgv_dl_winstore" href="'.$url.'"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><use xlink:href="/data/images/icons.svg#windows" /></svg><span>Microsoft Store</span></a>';
|
||||
if ($type === 'itunesstore') echo '<a class="prgv_dl_btn prgv_dl_appstore" href="'.$url.'"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><use xlink:href="/data/images/icons.svg#apple" /></svg><span>App Store</span></a>';
|
||||
if ($type === 'sourceforge') echo '<a class="prgv_dl_btn prgv_dl_sourceforge" href="'.$url.'"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24"><use xlink:href="/data/images/icons.svg#sourceforge"/></svg><span>Sourceforge</span></a>';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
<div class="prgv_right_comb prgv_right_lang" style="grid-row:7">
|
||||
<?php
|
||||
foreach (explode('|', $prog['ui_language']) as $lang)
|
||||
{
|
||||
echo '<img src="'.convertLanguageToFlag($lang).'" title="'.$lang.'" alt="'.$lang[0].'" />' . "\n";
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr class="prgv_sep" />
|
||||
|
||||
<div class="prgv_center base_markdown">
|
||||
<?php
|
||||
$pd = new ParsedownCustom();
|
||||
echo $pd->text(Programs::getProgramDescription($prog));
|
||||
?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<?php include (__DIR__ . '/../fragments/footer.php'); ?>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -6,7 +6,7 @@ The code is note really optimized and will only run on newer browsers, but it's
|
||||
Press **[Start]** to run the code, **[Edit]** to change the code and change the interpreter speed with the button on the right side of the **[Start]** button.
|
||||
|
||||
|
||||
~~~befungerunner__speed-2
|
||||
~~~befungerunner__speed-1
|
||||
0".omed s"v
|
||||
" >v
|
||||
i 8
|
||||
|
@ -1,5 +1,3 @@
|
||||
# AlephNote
|
||||
|
||||
An extensible, lightweight desktop note client for multiple back-ends
|
||||
|
||||
![](https://raw.githubusercontent.com/Mikescher/AlephNote/master/docs/preview.png)
|
||||
|
@ -1,6 +1,3 @@
|
||||
BefunUtils
|
||||
========
|
||||
|
||||
This is my collection of tools, libraries and transcompilers for the esoteric programming language [Befunge](http://esolangs.org/wiki/Befunge).
|
||||
|
||||
It consists of the following core components:
|
||||
|
@ -1,4 +1,4 @@
|
||||
A while ago a friend and I developed a game for school. It was a Towerdefence game and i think it was pretty nice.
|
||||
A long time ago a friend and I developed a game for school. It was a Towerdefence game and i think it was pretty nice.
|
||||
The problem was that we developed it in Greenfoot - and we reached pretty fast the limitations of this framework.
|
||||
|
||||
So after all that I decided to rewrite it completely new in my own game-framework [absCanvas](/programs/view/absCanvas).
|
@ -1,2 +1,2 @@
|
||||
LIghtShow generates literally a light show with the LED's on your keyboard. I'm not really sure if this has any practical use, but it looks kinda nice.
|
||||
LightShow generates literally a light show with the LED's on your keyboard. I'm not really sure if this has any practical use, but it looks kinda nice.
|
||||
Perhaps you could impress someone with the cool things your keybaord is able to do
|
@ -5,6 +5,7 @@ return
|
||||
[
|
||||
'name' => 'absCanvas',
|
||||
'internal_name' => 'absCanvas',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Engine',
|
||||
'stars' => 3,
|
||||
'ui_language' => 'English',
|
||||
@ -20,12 +21,13 @@ return
|
||||
|
||||
[
|
||||
'name' => 'All in One',
|
||||
'internal_name' => 'All in One',
|
||||
'internal_name' => 'All_in_One',
|
||||
'internal_name_alt' => 'All in One',
|
||||
'category' => 'Tool',
|
||||
'stars' => 1,
|
||||
'ui_language' => 'German',
|
||||
'prog_language' => 'Delphi',
|
||||
'short_description' => 'A little \"swiss army knife\" programm with over 100 different functionalities',
|
||||
'short_description' => 'A little "swiss army knife" programm with over 100 different functionalities',
|
||||
'add_date' => '2008-11-26',
|
||||
'urls' =>
|
||||
[
|
||||
@ -37,6 +39,7 @@ return
|
||||
[
|
||||
'name' => 'Beepster',
|
||||
'internal_name' => 'Beepster',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Hoax',
|
||||
'stars' => 0,
|
||||
'ui_language' => 'English',
|
||||
@ -53,11 +56,12 @@ return
|
||||
[
|
||||
'name' => 'BefunUtils',
|
||||
'internal_name' => 'BefunUtils',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Compiler',
|
||||
'stars' => 4,
|
||||
'ui_language' => 'English',
|
||||
'prog_language' => 'C#',
|
||||
'short_description' => 'My selfmade Code-to-Befunge93 compiler, with a few little extras.',
|
||||
'short_description' => 'My collection of befunge93 tools. Including an interpreter, a transpiler, an compiler, an highlighter and more',
|
||||
'add_date' => '2014-08-04',
|
||||
'urls' =>
|
||||
[
|
||||
@ -70,11 +74,12 @@ return
|
||||
[
|
||||
'name' => 'BefunZ',
|
||||
'internal_name' => 'BefunZ',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Interpreter',
|
||||
'stars' => 3,
|
||||
'ui_language' => 'English',
|
||||
'prog_language' => 'C#',
|
||||
'short_description' => 'A Befunge-93 Interpreter compatible with Befunge-98 dimensions.',
|
||||
'short_description' => 'A (very) simple visual Befunge-93 commandline interpreter',
|
||||
'add_date' => '2013-05-03',
|
||||
'urls' =>
|
||||
[
|
||||
@ -86,6 +91,7 @@ return
|
||||
[
|
||||
'name' => 'Blitzer',
|
||||
'internal_name' => 'Blitzer',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Hoax',
|
||||
'stars' => 0,
|
||||
'ui_language' => 'English',
|
||||
@ -101,7 +107,8 @@ return
|
||||
|
||||
[
|
||||
'name' => 'Borderline Defense',
|
||||
'internal_name' => 'Borderline Defense',
|
||||
'internal_name' => 'BorderlineDefense',
|
||||
'internal_name_alt' => 'Borderline Defense',
|
||||
'category' => 'Game',
|
||||
'stars' => 4,
|
||||
'ui_language' => 'English',
|
||||
@ -118,7 +125,8 @@ return
|
||||
|
||||
[
|
||||
'name' => 'Crystal Grid',
|
||||
'internal_name' => 'Crystal Grid',
|
||||
'internal_name' => 'CrystalGrid',
|
||||
'internal_name_alt' => 'Crystal Grid',
|
||||
'category' => 'Game',
|
||||
'stars' => 4,
|
||||
'ui_language' => 'English',
|
||||
@ -134,7 +142,8 @@ return
|
||||
|
||||
[
|
||||
'name' => 'Deal or no Deal',
|
||||
'internal_name' => 'Deal or no Deal',
|
||||
'internal_name' => 'Deal_or_no_Deal',
|
||||
'internal_name_alt' => 'Deal or no Deal',
|
||||
'category' => 'Game',
|
||||
'stars' => 0,
|
||||
'ui_language' => 'German',
|
||||
@ -150,7 +159,8 @@ return
|
||||
|
||||
[
|
||||
'name' => 'Dynamic Link Fighters',
|
||||
'internal_name' => 'Dynamic Link Fighters',
|
||||
'internal_name' => 'DLF',
|
||||
'internal_name_alt' => 'Dynamic Link Fighters',
|
||||
'category' => 'Game',
|
||||
'stars' => 1,
|
||||
'ui_language' => 'English|German',
|
||||
@ -167,6 +177,7 @@ return
|
||||
[
|
||||
'name' => 'exeExtract',
|
||||
'internal_name' => 'exeExtract',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Tool',
|
||||
'stars' => 0,
|
||||
'ui_language' => 'English',
|
||||
@ -183,11 +194,12 @@ return
|
||||
[
|
||||
'name' => 'ExtendedGitGraph',
|
||||
'internal_name' => 'ExtendedGitGraph',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Library',
|
||||
'stars' => 2,
|
||||
'ui_language' => 'English',
|
||||
'prog_language' => 'PHP',
|
||||
'short_description' => 'A simple php module to display a overview of you github commits',
|
||||
'short_description' => 'A simple php module to display an overview of you github commits',
|
||||
'add_date' => '2014-06-08',
|
||||
'urls' =>
|
||||
[
|
||||
@ -198,12 +210,13 @@ return
|
||||
|
||||
[
|
||||
'name' => 'Graveyard of Numbers',
|
||||
'internal_name' => 'Graveyard of Numbers',
|
||||
'internal_name' => 'Graveyard_of_Numbers',
|
||||
'internal_name_alt' => 'Graveyard of Numbers',
|
||||
'category' => 'Tool',
|
||||
'stars' => 0,
|
||||
'ui_language' => 'German',
|
||||
'prog_language' => 'Delphi',
|
||||
'short_description' => 'A little tool to continuously rename files.',
|
||||
'short_description' => 'A little tool to rename multiple files with increasing numbers.',
|
||||
'add_date' => '2008-10-01',
|
||||
'urls' =>
|
||||
[
|
||||
@ -215,6 +228,7 @@ return
|
||||
[
|
||||
'name' => 'H²O',
|
||||
'internal_name' => 'H2O',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Game',
|
||||
'stars' => 2,
|
||||
'ui_language' => 'English',
|
||||
@ -231,6 +245,7 @@ return
|
||||
[
|
||||
'name' => 'HexSolver',
|
||||
'internal_name' => 'HexSolver',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Tool',
|
||||
'stars' => 5,
|
||||
'ui_language' => 'English',
|
||||
@ -247,7 +262,8 @@ return
|
||||
|
||||
[
|
||||
'name' => 'Infinity Tournament',
|
||||
'internal_name' => 'Infinity Tournament',
|
||||
'internal_name' => 'InfinityTournament',
|
||||
'internal_name_alt' => 'Infinity Tournament',
|
||||
'category' => 'Game',
|
||||
'stars' => 4,
|
||||
'ui_language' => 'English',
|
||||
@ -264,6 +280,7 @@ return
|
||||
[
|
||||
'name' => 'jCircuits',
|
||||
'internal_name' => 'jCircuits',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Simulation',
|
||||
'stars' => 4,
|
||||
'ui_language' => 'English',
|
||||
@ -281,6 +298,7 @@ return
|
||||
[
|
||||
'name' => 'jClipCorn',
|
||||
'internal_name' => 'jClipCorn',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Tool',
|
||||
'stars' => 4,
|
||||
'ui_language' => 'English|German',
|
||||
@ -299,11 +317,12 @@ return
|
||||
[
|
||||
'name' => 'jQCCounter',
|
||||
'internal_name' => 'jQCCounter',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Tool',
|
||||
'stars' => 3,
|
||||
'ui_language' => 'English',
|
||||
'prog_language' => 'Java',
|
||||
'short_description' => 'A little tool to find the \"line of codes\" of multiple projects',
|
||||
'short_description' => 'A little tool to find the "line of codes" of multiple projects',
|
||||
'add_date' => '2014-04-27',
|
||||
'urls' =>
|
||||
[
|
||||
@ -315,7 +334,8 @@ return
|
||||
|
||||
[
|
||||
'name' => 'Keygen Dancer',
|
||||
'internal_name' => 'Keygen Dancer',
|
||||
'internal_name' => 'KeygenDancer',
|
||||
'internal_name_alt' => 'Keygen Dancer',
|
||||
'category' => 'Gadget',
|
||||
'stars' => 2,
|
||||
'ui_language' => 'English',
|
||||
@ -331,7 +351,8 @@ return
|
||||
|
||||
[
|
||||
'name' => 'LAN-Control',
|
||||
'internal_name' => 'LAN-Control',
|
||||
'internal_name' => 'LanControl',
|
||||
'internal_name_alt' => 'LAN-Control',
|
||||
'category' => 'Network administration',
|
||||
'stars' => 1,
|
||||
'ui_language' => 'German',
|
||||
@ -348,11 +369,12 @@ return
|
||||
[
|
||||
'name' => 'LightShow',
|
||||
'internal_name' => 'LightShow',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Hoax',
|
||||
'stars' => 0,
|
||||
'ui_language' => 'German',
|
||||
'prog_language' => 'Delphi',
|
||||
'short_description' => 'Turn you keyboard-LED\"s into a little lightshow',
|
||||
'short_description' => 'Turn you keyboard LED\'s into a little lightshow',
|
||||
'add_date' => '2008-10-12',
|
||||
'urls' =>
|
||||
[
|
||||
@ -364,6 +386,7 @@ return
|
||||
[
|
||||
'name' => 'Logistixx',
|
||||
'internal_name' => 'Logistixx',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Mathematics',
|
||||
'stars' => 1,
|
||||
'ui_language' => 'German',
|
||||
@ -380,11 +403,12 @@ return
|
||||
[
|
||||
'name' => 'NedSchend',
|
||||
'internal_name' => 'NedSchend',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Hoax',
|
||||
'stars' => 1,
|
||||
'ui_language' => 'German',
|
||||
'prog_language' => 'Delphi',
|
||||
'short_description' => 'Send anonymous messages over the Windows Messenger service to other pc\"s in your LAN',
|
||||
'short_description' => 'Send anonymous messages over the Windows Messenger service to other pc\'s in your LAN',
|
||||
'add_date' => '2009-02-11',
|
||||
'urls' =>
|
||||
[
|
||||
@ -396,6 +420,7 @@ return
|
||||
[
|
||||
'name' => 'Passpad',
|
||||
'internal_name' => 'Passpad',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Tool',
|
||||
'stars' => 3,
|
||||
'ui_language' => 'English',
|
||||
@ -413,11 +438,12 @@ return
|
||||
[
|
||||
'name' => 'Serpilicum',
|
||||
'internal_name' => 'Serpilicum',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Game',
|
||||
'stars' => 3,
|
||||
'ui_language' => 'English',
|
||||
'prog_language' => 'C++',
|
||||
'short_description' => 'A crazy little Snake with an \"Console\" Style',
|
||||
'short_description' => 'A crazy little snake with an "console" style',
|
||||
'add_date' => '2013-07-08',
|
||||
'urls' =>
|
||||
[
|
||||
@ -430,6 +456,7 @@ return
|
||||
[
|
||||
'name' => 'SharkSim',
|
||||
'internal_name' => 'SharkSim',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Simulation',
|
||||
'stars' => 3,
|
||||
'ui_language' => 'English',
|
||||
@ -445,12 +472,13 @@ return
|
||||
|
||||
[
|
||||
'name' => 'Sieb des Eratosthenes',
|
||||
'internal_name' => 'Sieb des Eratosthenes',
|
||||
'internal_name' => 'Sieb_des_Eratosthenes',
|
||||
'internal_name_alt' => 'Sieb des Eratosthenes',
|
||||
'category' => 'Mathematics',
|
||||
'stars' => 1,
|
||||
'ui_language' => 'German',
|
||||
'prog_language' => 'Delphi',
|
||||
'short_description' => 'Visualize the prime number calculation with the Sieve of Erastothenes algorithm.',
|
||||
'short_description' => 'Visualize the prime number calculation with the Sieve Of Erastothenes algorithm.',
|
||||
'add_date' => '2009-01-22',
|
||||
'urls' =>
|
||||
[
|
||||
@ -461,7 +489,8 @@ return
|
||||
|
||||
[
|
||||
'name' => 'Smart Directory Lister',
|
||||
'internal_name' => 'Smart Directory Lister',
|
||||
'internal_name' => 'SDL',
|
||||
'internal_name_alt' => 'Smart Directory Lister',
|
||||
'category' => 'Tool',
|
||||
'stars' => 2,
|
||||
'ui_language' => 'German',
|
||||
@ -478,6 +507,7 @@ return
|
||||
[
|
||||
'name' => 'SuperBitBros',
|
||||
'internal_name' => 'SuperBitBros',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Game',
|
||||
'stars' => 4,
|
||||
'ui_language' => 'English',
|
||||
@ -495,6 +525,7 @@ return
|
||||
[
|
||||
'name' => 'TicTacToe',
|
||||
'internal_name' => 'TicTacToe',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Game',
|
||||
'stars' => 1,
|
||||
'ui_language' => 'English',
|
||||
@ -511,6 +542,7 @@ return
|
||||
[
|
||||
'name' => 'Ziegenproblem',
|
||||
'internal_name' => 'Ziegenproblem',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Mathematics',
|
||||
'stars' => 0,
|
||||
'ui_language' => 'German',
|
||||
@ -527,6 +559,7 @@ return
|
||||
[
|
||||
'name' => 'Quick HiddenFolder Toggle',
|
||||
'internal_name' => 'QuickHiddenFolderToggle',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Tool',
|
||||
'stars' => 3,
|
||||
'ui_language' => 'English',
|
||||
@ -544,6 +577,7 @@ return
|
||||
[
|
||||
'name' => 'Cannon Conquest',
|
||||
'internal_name' => 'CannonConquest',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Game',
|
||||
'stars' => 5,
|
||||
'ui_language' => 'English|German|French|Italian|Spanish',
|
||||
@ -564,6 +598,7 @@ return
|
||||
[
|
||||
'name' => 'AlephNote',
|
||||
'internal_name' => 'AlephNote',
|
||||
'internal_name_alt' => null,
|
||||
'category' => 'Tool',
|
||||
'stars' => 5,
|
||||
'ui_language' => 'English',
|
||||
@ -572,7 +607,7 @@ return
|
||||
'add_date' => '2017-02-26',
|
||||
'urls' =>
|
||||
[
|
||||
'download' => 'https://github.com/Mikescher/AlephNote//releases',
|
||||
'download' => 'https://github.com/Mikescher/AlephNote/releases',
|
||||
'github' => 'https://github.com/Mikescher/AlephNote/',
|
||||
'homepage' => 'https://mikescher.github.io/AlephNote/',
|
||||
],
|
||||
|