|
|
a:link{
|
|
|
color:#D7F;
|
|
|
font-size:0.8em;
|
|
|
}
|
|
|
a:visited{
|
|
|
color:#D7F;
|
|
|
font-size:0.8em;
|
|
|
}
|
|
|
a:hover{
|
|
|
color:white;
|
|
|
font-size:0.8em;
|
|
|
}
|
|
|
a.nounderline:link{
|
|
|
text-decoration:none;
|
|
|
}
|
|
|
a.nounderline:visited{
|
|
|
text-decoration:none;
|
|
|
}
|
|
|
a.nounderline:hover{
|
|
|
text-decoration:none;
|
|
|
}
|
|
|
h2{
|
|
|
font-size:3em;
|
|
|
}
|
|
|
.generateTime{
|
|
|
font-size:10px;
|
|
|
color:blue;
|
|
|
}
|
|
|
.codeForeground{
|
|
|
font-family:'Courier New', Courier, monospace;
|
|
|
position:fixed;
|
|
|
left:-12px;
|
|
|
top:-8px;
|
|
|
z-index:-4999;
|
|
|
color:rgba(0,0,0,0);
|
|
|
background: linear-gradient(90deg, rgba(17,17,17,1) 0%, rgba(17,17,17,1) 42%, rgba(17,17,17,0.6825105042016807) 44%, rgba(17,17,17,1) 46%, rgba(17,17,17,1) 100%);
|
|
|
background-size:300% 100%;
|
|
|
user-select:none;
|
|
|
animation-name:backgroundMove;
|
|
|
animation-duration:15s;
|
|
|
animation-iteration-count: infinite;
|
|
|
font-size:32px;
|
|
|
overflow:hidden;
|
|
|
max-width:98vw;
|
|
|
max-height:90vh;
|
|
|
}
|
|
|
.codeBackground{
|
|
|
font-family:'Courier New', Courier, monospace;
|
|
|
position:fixed;
|
|
|
left:-12px;
|
|
|
top:-8px;
|
|
|
color:#44FF44;
|
|
|
z-index:-5000;
|
|
|
user-select:none;
|
|
|
font-size:32px;
|
|
|
overflow:hidden;
|
|
|
max-width:98vw;
|
|
|
max-height:90vh;
|
|
|
}
|
|
|
@keyframes backgroundMove{
|
|
|
0%{
|
|
|
background-position: 0% 50%;
|
|
|
}
|
|
|
100%{
|
|
|
background-position: 100% 50%;
|
|
|
}
|
|
|
}
|
|
|
body{
|
|
|
font-family: 'Trebuchet MS', Garamond, serif, 'Tahoma', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
|
|
|
background-color:#111;
|
|
|
}
|
|
|
sub{
|
|
|
font-size:0.65em;
|
|
|
position:relative;
|
|
|
bottom:-4px;
|
|
|
}
|
|
|
sup{
|
|
|
font-size:0.65em;
|
|
|
position:relative;
|
|
|
top:-8px;
|
|
|
}
|
|
|
.contentBody{
|
|
|
backdrop-filter: blur(4px);
|
|
|
color: #a985e4;
|
|
|
font-weight:900;
|
|
|
text-shadow: 0.3px 0.3px 3px #666666;
|
|
|
z-index:-1;
|
|
|
}
|
|
|
.contentBody .color1{
|
|
|
color: #a985e4;
|
|
|
}
|
|
|
.contentBody .color2{
|
|
|
color: #85abe4;
|
|
|
}
|
|
|
.contentBody .color3{
|
|
|
color: #85e4ad;
|
|
|
}
|
|
|
.contentBody .color4{
|
|
|
color: #d3e485;
|
|
|
}
|
|
|
.contentBody .color5{
|
|
|
color: #e4a385;
|
|
|
}
|
|
|
.contentBody .color6{
|
|
|
color: #e485b1;
|
|
|
}
|
|
|
.contentBody .contentWrapper{
|
|
|
position:relative;
|
|
|
border-style: none none outset none;
|
|
|
border-radius: 0px 0px 12px 0px;
|
|
|
border-color: rgb(17, 153, 17, .3);
|
|
|
border-width: 3px;
|
|
|
margin: 0px 4px 8px 4px;
|
|
|
min-width:98vw;
|
|
|
z-index:0;
|
|
|
}
|
|
|
.contentBody .contentWrapper:hover{
|
|
|
border-color: rgb(17, 153, 17, .8);
|
|
|
}
|
|
|
.contentBody .contentWrapper h1{
|
|
|
display: inline-block;
|
|
|
font-size:3.25em;
|
|
|
margin: 12px 4px 0px 4px;
|
|
|
padding: 12px 32px 12px 32px;
|
|
|
border-bottom-style: outset;
|
|
|
border-radius:32px 32px 0px 0px;
|
|
|
color: #AA77FF;
|
|
|
background-color:rgba(255, 255, 255, .06);
|
|
|
z-index:0;
|
|
|
}
|
|
|
.contentBody .contentWrapper .content{
|
|
|
display: inline-block;
|
|
|
min-width:97vw;
|
|
|
font-size:1.15em;
|
|
|
line-height:1.4;
|
|
|
padding: 4px;
|
|
|
margin: 0px 4px 0px 4px;
|
|
|
background-color: rgba(255, 255, 255, .06);
|
|
|
z-index:0;
|
|
|
max-height:120px;
|
|
|
overflow:hidden;
|
|
|
}
|
|
|
.contentBody .contentWrapper .expandedContent{
|
|
|
display: inline-block;
|
|
|
min-width:97vw;
|
|
|
font-size:1.15em;
|
|
|
line-height:1.4;
|
|
|
padding: 4px;
|
|
|
margin: 0px 4px 0px 4px;
|
|
|
background-color: rgba(255, 255, 255, .06);
|
|
|
z-index:0;
|
|
|
}
|
|
|
.contentBody .contentWrapper figure{
|
|
|
border: 2px ridge rgb(88, 35, 86);
|
|
|
border-radius:4px;
|
|
|
margin:12px 20px 12px 20px;
|
|
|
}
|
|
|
.contentBody .contentWrapper figcaption{
|
|
|
font-size: 0.85em;
|
|
|
font-style: italic;
|
|
|
color:rgb(221, 105, 217);
|
|
|
}
|
|
|
.contentBody .contentWrapper .datebar{
|
|
|
font-size:0.75em;
|
|
|
margin: 0px 4px 0px 4px;
|
|
|
min-width:98vw;
|
|
|
min-height:1px;
|
|
|
z-index:0;
|
|
|
background: linear-gradient(90deg,rgba(255, 255, 255, .06) 0%, rgba(255, 255, 255, .3) 20%,rgba(255, 255, 255, .06) 45%,rgba(255, 255, 255, .06) 0%);
|
|
|
}
|
|
|
.contentBody .contentWrapper .date{
|
|
|
font-size:0.75em;
|
|
|
margin: 0px 4px 0px 4px;
|
|
|
padding: 2px 0px 0px 2px;
|
|
|
min-width:98vw;
|
|
|
z-index:0;
|
|
|
background-color: rgba(255, 255, 255, .06);
|
|
|
}
|
|
|
.contentBody .contentWrapper .unexpanded{
|
|
|
position:absolute;
|
|
|
bottom:0px;
|
|
|
min-width:98vw;
|
|
|
text-align:center;
|
|
|
font-size:1.75em;
|
|
|
background: linear-gradient(180deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 5%, rgba(32,32,32,1.0) 100%);
|
|
|
user-select:none;
|
|
|
}
|
|
|
.contentBody .contentWrapper .unexpanded:hover{
|
|
|
bottom:-8px;
|
|
|
background: linear-gradient(180deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 5%, rgba(64,64,64,1.0) 100%);
|
|
|
cursor:pointer;
|
|
|
}
|
|
|
.contentBody .filelisting{
|
|
|
padding:12px 4px 2px 4px;
|
|
|
font-size:1.75em;
|
|
|
}
|
|
|
.contentBody .folderlisting{
|
|
|
padding:12px 4px 2px 4px;
|
|
|
font-size:1.75em;
|
|
|
}
|
|
|
.contentBody .icon:link{
|
|
|
text-decoration:none;
|
|
|
}
|
|
|
.contentBody .icon:visited{
|
|
|
text-decoration:none;
|
|
|
}
|
|
|
.contentBody .icon:hover{
|
|
|
text-decoration:none;
|
|
|
}
|
|
|
pre{
|
|
|
font-family:'Courier New', Courier, monospace;
|
|
|
display:inline-block;
|
|
|
padding:3px;
|
|
|
margin-left:20px;
|
|
|
font-size:0.85em;
|
|
|
position:relative;
|
|
|
width:85vw;
|
|
|
max-height:480px;
|
|
|
overflow:scroll;
|
|
|
inline-size: 85vw;
|
|
|
color:darkseagreen;
|
|
|
background:radial-gradient(farthest-side at 90% 90%,rgba(0, 255, 0, .06) 0%, rgba(255, 255, 255, .06) 100%);
|
|
|
}
|
|
|
/* width */
|
|
|
::-webkit-scrollbar {
|
|
|
width:8px;
|
|
|
height:8px;
|
|
|
float:right;
|
|
|
}
|
|
|
::-webkit-scrollbar:hover{
|
|
|
width: 16px;
|
|
|
height: 16px;
|
|
|
}
|
|
|
/* Track */
|
|
|
::-webkit-scrollbar-track {
|
|
|
background:rgba(0,0,0,0);
|
|
|
}
|
|
|
/* Handle */
|
|
|
::-webkit-scrollbar-thumb {
|
|
|
background: rgb(161, 46, 161);
|
|
|
}
|
|
|
/* Handle on hover */
|
|
|
::-webkit-scrollbar-thumb:hover {
|
|
|
background: rgb(197, 34, 189);
|
|
|
}
|
|
|
::-webkit-scrollbar-corner{
|
|
|
background:rgba(0,0,0,0);
|
|
|
}
|
|
|
/* width */
|
|
|
pre::-webkit-scrollbar {
|
|
|
width:16px;
|
|
|
height:16px;
|
|
|
}
|
|
|
pre .keyword{
|
|
|
color:cornflowerblue;
|
|
|
}
|
|
|
pre .variable{
|
|
|
color:#AA77FF;
|
|
|
}
|
|
|
pre .class{
|
|
|
color:rgb(216, 107, 74);
|
|
|
}
|
|
|
pre .function{
|
|
|
color:darkgoldenrod;
|
|
|
}
|
|
|
pre .string{
|
|
|
color:forestgreen;
|
|
|
}
|
|
|
pre .number{
|
|
|
color:#d8f070;
|
|
|
}
|
|
|
pre .comment{
|
|
|
color:#6b235e;
|
|
|
}
|
|
|
textarea{
|
|
|
font-family:'Courier New', Courier, monospace;
|
|
|
display:inline-block;
|
|
|
padding:3px;
|
|
|
margin-left:20px;
|
|
|
font-size:0.85em;
|
|
|
position:relative;
|
|
|
inline-size: 85vw;
|
|
|
color:darkseagreen;
|
|
|
background:radial-gradient(farthest-side at 90% 90%,rgba(0, 255, 0, .06) 0%, rgba(255, 255, 255, .06) 100%);
|
|
|
border-radius:8px;
|
|
|
font-size:1.4em;
|
|
|
}
|
|
|
textarea:focus{
|
|
|
outline: none !important;
|
|
|
}
|
|
|
h1 {
|
|
|
font-size:6em;
|
|
|
}
|
|
|
.commentForm{
|
|
|
padding:16px;
|
|
|
line-height:2.2;
|
|
|
vertical-align: text-top;
|
|
|
}
|
|
|
.commentInfo{
|
|
|
padding-left:24px;
|
|
|
}
|
|
|
.commentDisplayer{
|
|
|
font-family:'Courier New', Courier, monospace;
|
|
|
border: 1px solid rgb(36, 163, 36);
|
|
|
border-radius:8px;
|
|
|
margin:16px;
|
|
|
padding:8px;
|
|
|
line-height:1.4;
|
|
|
}
|
|
|
input{
|
|
|
font-family:'Courier New', Courier, monospace;
|
|
|
width:240px;
|
|
|
background-color:rgba(0,0,0,0);
|
|
|
border: 1px solid rgb(4, 80, 4);
|
|
|
color:lime;
|
|
|
font-size:1.4em;
|
|
|
}
|
|
|
input:focus{
|
|
|
outline: none !important;
|
|
|
background-color:rgb(24, 24, 24);
|
|
|
border: 1px solid rgb(10, 136, 10);
|
|
|
}
|
|
|
option{
|
|
|
font-family:'Courier New', Courier, monospace;
|
|
|
width:240px;
|
|
|
background-color:rgba(0,0,0,0);
|
|
|
border: 1px solid rgb(4, 80, 4);
|
|
|
color:lime;
|
|
|
font-size:1.4em;
|
|
|
}
|
|
|
option:focus{
|
|
|
outline: none !important;
|
|
|
background-color:rgb(24, 24, 24);
|
|
|
border: 1px solid rgb(10, 136, 10);
|
|
|
}
|
|
|
select{
|
|
|
font-family:'Courier New', Courier, monospace;
|
|
|
width:240px;
|
|
|
background-color:rgba(0,0,0,0);
|
|
|
border: 1px solid rgb(4, 80, 4);
|
|
|
color:lime;
|
|
|
font-size:1.4em;
|
|
|
}
|
|
|
select:focus{
|
|
|
outline: none !important;
|
|
|
background-color:rgb(24, 24, 24);
|
|
|
border: 1px solid rgb(10, 136, 10);
|
|
|
}
|
|
|
button{
|
|
|
background-color:rgba(0,0,0,0);
|
|
|
border: 1px solid rgb(4, 80, 4);
|
|
|
font-size:2em;
|
|
|
margin-left:24px;
|
|
|
margin-top:8px;
|
|
|
color:lime;
|
|
|
}
|
|
|
button:hover{
|
|
|
background-color:rgb(0, 53, 3);
|
|
|
border: 1px solid rgb(10, 136, 10);
|
|
|
}
|
|
|
button:disabled{
|
|
|
background-color:rgb(0, 81, 95);
|
|
|
}
|
|
|
select:disabled{
|
|
|
background-color:rgb(0, 81, 95);
|
|
|
}
|
|
|
input:disabled{
|
|
|
background-color:rgb(0, 81, 95);
|
|
|
}
|
|
|
textarea:disabled{
|
|
|
background-color:rgb(0, 81, 95);
|
|
|
}
|
|
|
.toolbar{
|
|
|
background-color:#666666;
|
|
|
color:#000000;
|
|
|
font-size:0.75em;
|
|
|
width:fit-content;
|
|
|
margin-left:36px;
|
|
|
margin-top:24px;
|
|
|
}
|
|
|
.toolbarItem:hover{
|
|
|
background-color:#a1a1a1;
|
|
|
cursor:pointer;
|
|
|
}
|
|
|
<hr/>
|
|
|
<script type="text/javascript">
|
|
|
function changeColor() {
|
|
|
document.getElementById("submit").style.borderColor=document.getElementById("msg").style.borderColor=document.getElementById("name").style.borderColor=document.getElementById("col").style.borderColor=document.getElementById("col").options[document.getElementById("col").selectedIndex].text
|
|
|
}
|
|
|
function submit() {
|
|
|
document.getElementById("submit").disabled=
|
|
|
document.getElementById("name").disabled=
|
|
|
document.getElementById("col").disabled=
|
|
|
document.getElementById("msg").disabled=true;
|
|
|
fetch("/COMMENTS?submit=true&article=sig.css.comment&message="+encodeURIComponent(document.getElementById("msg").value)+"&name="
|
|
|
+encodeURIComponent(document.getElementById("name").value)+"&color="
|
|
|
+encodeURIComponent(document.getElementById("col").options[document.getElementById("col").selectedIndex].text)
|
|
|
).then((data)=>data.text())
|
|
|
.then((data)=>{
|
|
|
document.getElementById("msg").value=""
|
|
|
document.getElementById("name").value=""
|
|
|
document.getElementById("submit").disabled=
|
|
|
document.getElementById("name").disabled=
|
|
|
document.getElementById("col").disabled=
|
|
|
document.getElementById("msg").disabled=false;
|
|
|
fetchComments()
|
|
|
})
|
|
|
}
|
|
|
function insert(c1,c2) {
|
|
|
if (document.getElementById("msg").selectionStart==document.getElementById("msg").selectionEnd) {
|
|
|
//No highlighting. Insert here.
|
|
|
if (c2!=undefined) {
|
|
|
document.getElementById("msg").value=document.getElementById("msg").value.substring(0,document.getElementById("msg").selectionStart)+c1+c2+document.getElementById("msg").value.substring(document.getElementById("msg").selectionStart)
|
|
|
} else {
|
|
|
document.getElementById("msg").value=document.getElementById("msg").value.substring(0,document.getElementById("msg").selectionStart)+c1+document.getElementById("msg").value.substring(document.getElementById("msg").selectionStart)
|
|
|
}
|
|
|
} else {
|
|
|
if (c2!=undefined) {
|
|
|
document.getElementById("msg").value=document.getElementById("msg").value.substring(0,document.getElementById("msg").selectionStart)+c1+document.getElementById("msg").value.substring(document.getElementById("msg").selectionStart,document.getElementById("msg").selectionEnd)+c2+document.getElementById("msg").value.substring(document.getElementById("msg").selectionEnd)
|
|
|
} else {
|
|
|
document.getElementById("msg").value=document.getElementById("msg").value.substring(0,document.getElementById("msg").selectionStart)+c1+document.getElementById("msg").value.substring(document.getElementById("msg").selectionStart)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
<div id="commentForm">
|
|
|
<b>Leave a comment!</b><br/><br/>
|
|
|
<label for="name">Display Name: </label><input id="name"></input><br/><br/>
|
|
|
<label for="col">Display Color: </label><select id="col" onchange="changeColor()">
|
|
|
<option value="RED">RED</option>
|
|
|
<option value="GREEN" selected>GREEN</option>
|
|
|
<option value="YELLOW">YELLOW</option>
|
|
|
<option value="BLUE">BLUE</option>
|
|
|
<option value="MAGENTA">MAGENTA</option>
|
|
|
<option value="CYAN">CYAN</option>
|
|
|
<option value="WHITE">WHITE</option>
|
|
|
</select><br/><br/>
|
|
|
<label for="msg" style="vertical-align:top;display:inline;">Message: </label>
|
|
|
<div>
|
|
|
<div class="toolbar">
|
|
|
<span class="toolbarItem" onclick="insert('^^','^^')" title="Bold"> <b>B</b> </span>
|
|
|
<span class="toolbarItem" onclick="insert('**','**')" title="Italics"> <i>I</i> </span>
|
|
|
<span class="toolbarItem" onclick="insert('__','__')" title="Underline"> <u>U</u> </span>
|
|
|
<span class="toolbarItem" onclick="insert('~~','~~')" title="Code"> <code> </span>
|
|
|
<span class="toolbarItem" onclick="insert('[[',']]')" title="Link"> <http://> </span>
|
|
|
<span class="toolbarItem" onclick="insert('😊')" title="Smiley Face Emoji"> 😊 </span>
|
|
|
<span class="toolbarItem" onclick="insert('😔')" title="Sad Face Emoji"> 😔 </span>
|
|
|
<span class="toolbarItem" onclick="insert('👍')" title="Thumbs Up Emoji"> 👍 </span>
|
|
|
<span class="toolbarItem" onclick="insert('❤️')" title="Heart Emoji"> ❤️ </span>
|
|
|
<span class="toolbarItem" onclick="insert('😡')" title="Pouting Emoji"> 😡 </span>
|
|
|
</div>
|
|
|
<textarea id="msg"></textarea>
|
|
|
</div><br/><br/>
|
|
|
<button id="submit" onclick="submit()">POST</button>
|
|
|
</div><br/><br/>
|
|
|
<div id="commentContainer" style="visibility:hidden;">
|
|
|
<h2>Comments <sub>(<span class="commentCounter" id="commentCounter">0</span>)</sub></h2>
|
|
|
<div class="comments" id="comments"></div>
|
|
|
</div>
|
|
|
<script type="text/javascript">
|
|
|
function fetchComments() {
|
|
|
fetch("/COMMENTS?article=sig.css.comment").then((data)=>data.text())
|
|
|
.then((data)=>{
|
|
|
data=data.split("\n");
|
|
|
document.getElementById("comments").innerHTML="";
|
|
|
document.getElementById("commentCounter").innerText=data[0]
|
|
|
for (var i=data.length-3;i>=1;i-=2) {
|
|
|
if (data[i].trim().length>0&&data[i+1].trim().length>0) {
|
|
|
document.getElementById("comments").innerHTML+="<div id=\"msg"+((i+1)/2)+"\" class=\"commentDisplayer\"><div class=\"commentData\">"+decodeURIComponent(data[i])+"</div><br>"
|
|
|
data2=data[i+1].split(";");
|
|
|
document.getElementById("msg"+((i+1)/2)).style.borderColor=data2[1]
|
|
|
document.getElementById("comments").innerHTML+="<div class=\"commentInfo\"><sup>- "+decodeURIComponent(data2[0])+"</sup></div></div><br>"
|
|
|
}
|
|
|
}
|
|
|
document.getElementById("commentContainer").style.visibility="visible"
|
|
|
})
|
|
|
}
|
|
|
fetchComments()
|
|
|
changeColor()
|
|
|
</script>
|
|
|
|