diff --git a/.gitignore b/.gitignore index 9d2cea5..1131757 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ visit_counter.log +forum +.well-known diff --git a/T erreser/testat1.html b/T erreser/testat1.html new file mode 100644 index 0000000..fdc8175 --- /dev/null +++ b/T erreser/testat1.html @@ -0,0 +1,78 @@ + + + + + + + + + + + + +
+
+
+ +
+
+

DAS WETTER IN HOF

+
+
+ + + + + + + + + + + + + + +
Attribut
Wert
Uhrzeit der Datenmessung
Loading...
Temperatur
Loading...
Luftfeuchtigkeit
Loading...
Luftdruck
Loading...
Windgeschwindigkeit
Loading...
Windgeschwindigkeit in km/h
Loading...
Windrichtung in Grad
Loading...
Windrichtung
Loading...
Sonneneinstrahlung
Loading...
Niederschlag
Loading...
Temperatur der Erde
Loading...
Feuchtigkeit der Erde
Loading...
+
+
+
+ + + + \ No newline at end of file diff --git a/T erreser/testat1.js b/T erreser/testat1.js new file mode 100644 index 0000000..224ef4c --- /dev/null +++ b/T erreser/testat1.js @@ -0,0 +1,46 @@ + const restAPI = '/restFullAPI/v2'; + visibilityOfHeader = true; + documentIsLoaded = false; + +function bottomFunction(){ + if(typeof(jQuery) == "undefined"){alert('Could not Load JQuery! Resetting to default!'); documentIsLoaded = true;} + $(document).ready(function(){ + documentIsLoaded = true; + $("button").css("cursor", "pointer"); + $("button").css("opacity", "1.0"); + }); + $.ajax({ + type: 'GET', + url: restAPI, + success: function(data){ + let buf = document.getElementsByClassName("text_left"); + for(let i = 1; i < buf.length; i++){ + buf[i].childNodes[0].innerHTML = Object.values(data)[i-1]; + } + } + }); +} + + function toggleHeaderVisibility(){ + if(!documentIsLoaded) return; + document.getElementsByTagName('header')[0].style.visibility=visibilityOfHeader?'hidden':'visible'; + visibilityOfHeader = visibilityOfHeader ? false: true; + } + function getArticles(){ + if(!documentIsLoaded) return; + return document.getElementsByTagName('article'); + } + function makeArticlesInvisible(){ + if(!documentIsLoaded) return; + var arts = getArticles(); + for(const e of arts){ + e.style.visibility='hidden'; + } + } + function makeArticlesVisible(){ + if(!documentIsLoaded) return; + var arts = getArticles(); + for(const e of arts){ + e.style.visibility='visible'; + } + } diff --git a/cascadia/cascadia.zip b/cascadia/cascadia.zip new file mode 100644 index 0000000..6f64d14 Binary files /dev/null and b/cascadia/cascadia.zip differ diff --git a/cascadia/index.html b/cascadia/index.html new file mode 100644 index 0000000..c8a13c5 --- /dev/null +++ b/cascadia/index.html @@ -0,0 +1,23 @@ + + + + Cascadia + + + + + + + + + + +

Index of /

+ + + + + +
[ICO]NameLast modifiedSizeDescription

[   ]cascadia.zip2022-11-03 08:02 57M 

+
Apache/2.4.41 (Ubuntu) Server at cascadia.cringe-studios.com Port 443
+ diff --git a/dev/shittyauth.html b/dev/shittyauth.html new file mode 100644 index 0000000..b2d09b0 --- /dev/null +++ b/dev/shittyauth.html @@ -0,0 +1,12 @@ + + + + + + + +

ShittyAuthLauncher Example Page

+

Lorem Ipsum dolor sit amet etc etc etc.

+ + + diff --git a/fnont/ComicMono-Bold.ttf b/fnont/ComicMono-Bold.ttf new file mode 100644 index 0000000..e03f41e Binary files /dev/null and b/fnont/ComicMono-Bold.ttf differ diff --git a/fnont/ComicMono.ttf b/fnont/ComicMono.ttf new file mode 100644 index 0000000..9bc7354 Binary files /dev/null and b/fnont/ComicMono.ttf differ diff --git a/fnont/comic.css b/fnont/comic.css new file mode 100644 index 0000000..47d9695 --- /dev/null +++ b/fnont/comic.css @@ -0,0 +1,10 @@ +@font-face { + font-family: "Comic Mono"; + src: url('ComicMono.ttf') format('truetype'); +} + +@font-face { + font-family: "Comic Mono"; + font-weight: boldM + src: url('ComicMono-Bold.ttf') format('truetype'); +} diff --git a/img/.htaccess b/img/.htaccess new file mode 100644 index 0000000..86303a1 --- /dev/null +++ b/img/.htaccess @@ -0,0 +1,3 @@ +RewriteEngine On + +RewriteRule ^Ecchi2.png uwu.php [NC] diff --git a/img/393852367751086090.gif b/img/393852367751086090.gif new file mode 100644 index 0000000..b4ecf09 Binary files /dev/null and b/img/393852367751086090.gif differ diff --git a/img/Ecchi2.png b/img/Ecchi2.png new file mode 100644 index 0000000..527364c Binary files /dev/null and b/img/Ecchi2.png differ diff --git a/img/miku_neko_dance.gif b/img/miku_neko_dance.gif new file mode 100644 index 0000000..91fccd0 Binary files /dev/null and b/img/miku_neko_dance.gif differ diff --git a/img/oldoldgraphite_512.png b/img/oldoldgraphite_512.png new file mode 100644 index 0000000..ac8d4ed Binary files /dev/null and b/img/oldoldgraphite_512.png differ diff --git a/img/uwu.php b/img/uwu.php new file mode 100644 index 0000000..877784c --- /dev/null +++ b/img/uwu.php @@ -0,0 +1,12 @@ +¢яιηgє $тυ∂ισѕ + @@ -26,7 +27,7 @@ body { text-align: center; - font-family: 'Courier'; + font-family: 'Comic Mono'; overflow-x: hidden; padding-top: 10px; background-color:yellow; diff --git a/lzk/POW.zip b/lzk/POW.zip new file mode 100644 index 0000000..eb68c74 Binary files /dev/null and b/lzk/POW.zip differ diff --git a/lzk/concatenated-js.pdf b/lzk/concatenated-js.pdf new file mode 100644 index 0000000..af35e5d Binary files /dev/null and b/lzk/concatenated-js.pdf differ diff --git a/lzk/concatonated_2_2022.pdf b/lzk/concatonated_2_2022.pdf new file mode 100644 index 0000000..7b1850d Binary files /dev/null and b/lzk/concatonated_2_2022.pdf differ diff --git a/lzk/lzk-cheats.user.js b/lzk/lzk-cheats.user.js index 940006d..edde106 100644 --- a/lzk/lzk-cheats.user.js +++ b/lzk/lzk-cheats.user.js @@ -51,8 +51,10 @@ function insertAnswers() { return; } + console.log("answer", answer); + let answers = form.getElementsByClassName("answer")[0]; - if(answers != null && answers.tagName == "TABLE") { + if(answers != null && answers.tagName == "TABLE") { // Zuordnung for(let tr of answers.getElementsByTagName("tr")) { let ans = answer[normalize(tr.children[0].getElementsByTagName("p")[0].innerText)]; let s = tr.children[1].getElementsByTagName("select")[0]; @@ -63,37 +65,53 @@ function insertAnswers() { } } } - }else { - let selects = form.getElementsByTagName("select"); - if(selects.length > 0) { // Question with placeholders - for(let i = 0; i < selects.length; i++) { - let ans = answer[i]; - let s = selects[i]; - for(let j = 0; j < s.options.length; j++) { - if(normalize(s.options[j].innerText) == ans) { - s.selectedIndex = j; - break; - } + return; + } + + let textAreas = form.getElementsByTagName("textarea"); + if(textAreas.length > 0) { // qtype_pmatch, essay + let ta = textAreas[0]; + ta.value = answer; + return; + } + + let selects = form.getElementsByTagName("select"); + if(selects.length > 0) { // Question with placeholders + for(let i = 0; i < selects.length; i++) { + let ans = answer[i]; + let s = selects[i]; + for(let j = 0; j < s.options.length; j++) { + if(normalize(s.options[j].innerText) == ans) { + s.selectedIndex = j; + break; } } - }else { - for(let a of answers.children) { - let aEl = a.getElementsByTagName("p")[0]; - if(!aEl) aEl = a.getElementsByTagName("label")[0]; - if(!aEl) aEl = a.getElementsByClassName("answernumber")[0].nextElementSibling; - let aText = normalize(aEl.innerText); - let input = a.getElementsByTagName("input")[0]; - if(input.type == "hidden") input = a.getElementsByTagName("input")[1]; - input.checked = answer.includes(aText); - } } + return; + } + + let inputs = answers.getElementsByTagName("input"); + if(inputs.length > 0 && inputs[0].type == "text") { // Single line text + let i = inputs[0]; + i.value = answer; + return; + } + + for(let a of answers.children) { // Multiple choice + let aEl = a.getElementsByTagName("p")[0]; + if(!aEl) aEl = a.getElementsByTagName("label")[0]; + if(!aEl) aEl = a.getElementsByClassName("answernumber")[0].nextElementSibling; + let aText = normalize(aEl.innerText); + let input = a.getElementsByTagName("input")[0]; + if(input.type == "hidden") input = a.getElementsByTagName("input")[1]; + input.checked = answer.includes(aText); } } function loadQuestions() { let xhr = new XMLHttpRequest(); - xhr.open("GET", "https://cringe-studios.com/lzk/questions.json"); + xhr.open("GET", "https://cringe-studios.com/lzk/test-questions.json"); xhr.send(); xhr.onload = () => { @@ -101,11 +119,15 @@ function loadQuestions() { let newQAs = {}; for(let q in questionAnswers) { let ans = questionAnswers[q]; - let newAs = Array.isArray(ans) ? [] : {}; - for(let k in ans) { - newAs[normalize(k)] = normalize(ans[k]); + if(typeof ans == "string") { + newQAs[normalize(q)] = ans; + }else { + let newAs = Array.isArray(ans) ? [] : {}; + for(let k in ans) { + newAs[normalize(k)] = normalize(ans[k]); + } + newQAs[normalize(q)] = newAs; } - newQAs[normalize(q)] = newAs; } questionAnswers = newQAs; console.log(questionAnswers); diff --git a/lzk/memory.html b/lzk/memory.html new file mode 100644 index 0000000..ecb1780 --- /dev/null +++ b/lzk/memory.html @@ -0,0 +1,196 @@ + + + + + + + + + + + Memory Game + + + + + + + +

+

+ +
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+ + + + + diff --git a/lzk/questions copy.json b/lzk/questions copy.json new file mode 100644 index 0000000..7ed82f7 --- /dev/null +++ b/lzk/questions copy.json @@ -0,0 +1,143 @@ +{ + "What is the correct tag for the largest heading in HTML?": ["

"], + "What are semantic HTML elements?": ["Elements with meanings which allow a reader of the document to understand the meaning of the element"], + "The class attribute is defined as following:": ["class=\"name\""], + "The class Attribute is used to devide different into logical groups": ["elements"], + "What is the \"alt\" - Attribute for?": [ + "It is used to display information about an element when the content cannot be displayed or loaded by the browser.", + "Disabled people can access the information of an element, which they wouldn't be able to understand due to their disabilities." + ], + "The classname is": ["case sensitive"], + "Link the positions to corresponding persons.": { + "Who is W3C CEO?": "Jeffrey Jaffe", + "Who is W3C director?": "Who is W3C director?" + }, + "An iframe is an element which is used to display a webpage within a web page. Is this statement true or false?": ["True"], + "URLs are used to define the to a destination site or to a ressource needed in the HTML file.": ["path"], + "What is the charset meta declaration used for?": ["It defines the character encoding of a document so that the browser can interpret it properly."], + "Choose how ids are referenced in CSS.": ["#idname"], + "Which of the following statements are true?": [ + "With Javascript you can create new elements.", + "You can include a Javascript file at the end of the HTML body.", + "With the

+ + + \ No newline at end of file diff --git a/lzk/test-questions.json b/lzk/test-questions.json index 7476d40..c1277b5 100644 --- a/lzk/test-questions.json +++ b/lzk/test-questions.json @@ -4,5 +4,8 @@ "Is\n\n\n0 == true\n\nor\n\n\n0 == false?": ["Falsch"], "The impostor is and .\n\nCrewmates are and .": ["sus", "a sussy baka", "very nice", "innocent"], "Very weird formatting, but the answer is sus": ["The correct code is let a = \"sus\"; console.log(a);."], - "Choose": {"Choose \"A\"": "A", "Choose \"B\"": "B", "Choose \"C\"": "C"} + "Choose": {"Choose \"A\"": "A", "Choose \"B\"": "B", "Choose \"C\"": "C"}, + "Test3": "A", + "Test": "A", + "Test2": "Who cares?" } \ No newline at end of file diff --git a/meeemster/chess/amogusking.png b/meeemster/chess/amogusking.png new file mode 100644 index 0000000..89ccc26 Binary files /dev/null and b/meeemster/chess/amogusking.png differ diff --git a/meeemster/chess/amoguskingb.png b/meeemster/chess/amoguskingb.png new file mode 100644 index 0000000..067f1e5 Binary files /dev/null and b/meeemster/chess/amoguskingb.png differ diff --git a/meeemster/chess/amoguskingw.png b/meeemster/chess/amoguskingw.png new file mode 100644 index 0000000..d7addb0 Binary files /dev/null and b/meeemster/chess/amoguskingw.png differ diff --git a/meeemster/chess/amoguspawn.png b/meeemster/chess/amoguspawn.png new file mode 100644 index 0000000..e3920db Binary files /dev/null and b/meeemster/chess/amoguspawn.png differ diff --git a/meeemster/chess/amoguspawnb.png b/meeemster/chess/amoguspawnb.png new file mode 100644 index 0000000..0de90f0 Binary files /dev/null and b/meeemster/chess/amoguspawnb.png differ diff --git a/meeemster/chess/amoguspawnw.png b/meeemster/chess/amoguspawnw.png new file mode 100644 index 0000000..bad53a2 Binary files /dev/null and b/meeemster/chess/amoguspawnw.png differ diff --git a/meeemster/chess/chess copy.html b/meeemster/chess/chess copy.html new file mode 100644 index 0000000..4c84b64 --- /dev/null +++ b/meeemster/chess/chess copy.html @@ -0,0 +1,217 @@ + + + + + + + + + + +
+

sussy amogus chess edition

+ +
+
+
+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/meeemster/chess/chess.html b/meeemster/chess/chess.html new file mode 100644 index 0000000..7db99f2 --- /dev/null +++ b/meeemster/chess/chess.html @@ -0,0 +1,5 @@ +
+
+ +
+
\ No newline at end of file diff --git a/meeemster/chess/chess.js b/meeemster/chess/chess.js new file mode 100644 index 0000000..ddb8532 --- /dev/null +++ b/meeemster/chess/chess.js @@ -0,0 +1,168 @@ +// Constants +let PAWN = "pawn"; +let KING = "king"; +let TEXTURES = { + pawn: {w: "amoguspawnw.png", b: "amoguspawnb.png"}, + king: {w: "amoguskingw.png", b: "amoguskingb.png"} +} + +let board; +let chessfields = []; +let draggedPiece; + +function getPiece(element) { + let field = parseInt(element.getAttribute("data-field")); + let x = field % 8; + let y = Math.floor(field / 8); + let pieceBlack = element.getAttribute("data-pieceBlack") == "true"; + let type = element.getAttribute("data-pieceType"); + return { + type: type, + field: field, + x: x, + y: y, + black: pieceBlack + } +} + +function getPieceAt(x, y) { + let field = y * 8 + x; + if(field < 0 || field > 63) return null; + let fieldEl = chessfields[field]; + return fieldEl.children.length == 0 ? null : getPiece(fieldEl.children[0]); +} + +function startGame() { + for(let i = 0; i < 64; i++) { + let field = document.createElement("div"); + let x = i % 8; + let y = Math.floor(i / 8); + if(x % 2 == 0 ^ y % 2 == 0) { + field.classList.add("black"); + }else { + field.classList.add("white"); + } + + field.ondragover = function(e) { + let piece = draggedPiece; + if(piece == null || piece == "") return; + let thePiece = document.getElementById(piece); + let pieceObj = getPiece(thePiece); + + let pieceOnField = field.children.length != 0; + + switch(pieceObj.type) { + case KING: + if(Math.abs(x - pieceObj.x) > 1) return; + if(Math.abs(y - pieceObj.y) > 1) return; + + for(let dx = -1; dx <= 1; dx++) { + for(let dy = -1; dy <= 1; dy++) { + let p = getPieceAt(x + dx, y + dy); + if(p != null && p.type == KING && p.black != pieceObj.black) return; + } + } + break; + case PAWN: + if(Math.abs(x - pieceObj.x) > 1) return; + if((x - pieceObj.x == 0) == pieceOnField) return; + if(y - pieceObj.y != (pieceObj.black ? 1 : -1)) return; + break; + } + + if(pieceOnField){ + let otherPieceObj = getPiece(field.children[0]); + if(pieceObj.black != otherPieceObj.black) { + field.style.backgroundColor = "red"; + e.preventDefault(); + return; + } + return; + } + + field.style.backgroundColor = "green"; + e.preventDefault(); + } + + field.ondragleave = function(e) { + field.style.backgroundColor = null; + } + + field.ondrop = function(e) { + e.preventDefault(); + let piece = draggedPiece; + if(piece == null || piece == "") return; + field.style.backgroundColor = null; + let thePiece = document.getElementById(piece); + thePiece.setAttribute("data-field", i); + if(field.children.length != 0) field.children[0].remove(); + field.appendChild(thePiece); + } + + board.appendChild(field); + chessfields.push(field); + } + + let pieces = [ + {type: PAWN, black: true}, + {type: PAWN, black: false}, + {type: KING, black: true}, + {type: KING, black: false} + ]; + + for(let p of pieces) { + let field; + + outer: while(true) { + field = Math.floor(Math.random() * 64); + let x = field % 8; + let y = Math.floor(field / 8); + + if(p.type == PAWN && (p.black ? y == 0 : y == 7)) continue; + if(chessfields[field].children.length != 0) continue; + + for(let dx = -1; dx <= 1; dx++) { + for(let dy = -1; dy <= 1; dy++) { + let pc = getPieceAt(x + dx, y + dy); + if(pc != null && pc.type == KING && pc.black != p.black) continue outer; + } + } + + break; + } + + let thePiece = document.createElement("img"); + thePiece.id = "cringe" + Math.random(); + thePiece.setAttribute("draggable", true); + thePiece.src = TEXTURES[p.type][p.black ? "b" : "w"]; + thePiece.setAttribute("data-pieceType", p.type); + thePiece.setAttribute("data-pieceBlack", p.black); + thePiece.setAttribute("data-field", field); + chessfields[field].appendChild(thePiece); + thePiece.ondragstart = function(e) { + draggedPiece = thePiece.id; + }; + } +} + +var app = angular.module("myApp", ["ngRoute"]); + +app.config(function($routeProvider) { + $routeProvider + .when("/", {templateUrl: "chess.html"}) + .when("/one", {templateUrl: "one.html"}) + .when("/two", {templateUrl: "two.html"}) +}); + +app.controller('ChessController', ['$scope', function($scope) { + board = document.getElementById("chessboard"); + chessfields = []; + + startGame(); +}]); + +app.controller('OneController', ['$scope', function($scope) { + $("p").click(function() { + $(this).slideUp(); + }); +}]); \ No newline at end of file diff --git a/meeemster/chess/index.html b/meeemster/chess/index.html new file mode 100644 index 0000000..5f05c33 --- /dev/null +++ b/meeemster/chess/index.html @@ -0,0 +1,28 @@ + + + + + + + + + + + + + +
+

Sussy Chess

+ +
+
+
+ + + \ No newline at end of file diff --git a/meeemster/chess/one.html b/meeemster/chess/one.html new file mode 100644 index 0000000..7d14434 --- /dev/null +++ b/meeemster/chess/one.html @@ -0,0 +1,24 @@ +
+

Lorem Ipsum

+ Click on a paragraph to collapse it +

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. In hendrerit gravida rutrum quisque non tellus orci. Eleifend donec pretium vulputate sapien. Semper auctor neque vitae tempus. Nullam ac tortor vitae purus faucibus ornare suspendisse sed. Id nibh tortor id aliquet lectus proin nibh nisl. Vel eros donec ac odio tempor orci. Volutpat lacus laoreet non curabitur gravida. Ipsum suspendisse ultrices gravida dictum fusce ut. Pellentesque nec nam aliquam sem et tortor consequat id. Congue nisi vitae suscipit tellus mauris a diam maecenas. Duis ut diam quam nulla porttitor massa id neque aliquam. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur libero. Id leo in vitae turpis massa sed elementum tempus. Dignissim enim sit amet venenatis urna cursus eget. Pulvinar elementum integer enim neque.

+

Id aliquet lectus proin nibh nisl condimentum id venenatis. Facilisi morbi tempus iaculis urna id. Ac turpis egestas sed tempus urna et pharetra. Massa id neque aliquam vestibulum morbi blandit cursus. Ut porttitor leo a diam sollicitudin. Viverra nam libero justo laoreet sit amet cursus sit amet. Aliquam malesuada bibendum arcu vitae. Pretium vulputate sapien nec sagittis aliquam malesuada bibendum. Ut lectus arcu bibendum at varius vel pharetra vel. Tristique senectus et netus et malesuada fames ac turpis. Sit amet facilisis magna etiam tempor orci. Magna etiam tempor orci eu. Tellus pellentesque eu tincidunt tortor aliquam. Pharetra et ultrices neque ornare. Donec ultrices tincidunt arcu non sodales neque sodales ut. Urna et pharetra pharetra massa massa ultricies. Facilisi nullam vehicula ipsum a arcu cursus. Turpis in eu mi bibendum neque egestas.

+

Et leo duis ut diam quam. Vivamus arcu felis bibendum ut tristique et egestas quis ipsum. Ultrices in iaculis nunc sed augue lacus viverra vitae congue. Mattis rhoncus urna neque viverra justo nec ultrices dui sapien. Ornare suspendisse sed nisi lacus sed viverra. Nunc id cursus metus aliquam eleifend mi in. Varius morbi enim nunc faucibus. Amet volutpat consequat mauris nunc congue nisi. Enim nulla aliquet porttitor lacus luctus accumsan. Faucibus nisl tincidunt eget nullam non. Consectetur lorem donec massa sapien faucibus et molestie ac. Dolor sit amet consectetur adipiscing elit ut. A iaculis at erat pellentesque adipiscing commodo. Nunc non blandit massa enim nec dui nunc. Erat pellentesque adipiscing commodo elit at imperdiet. Posuere urna nec tincidunt praesent semper. Quis risus sed vulputate odio ut. Enim ut tellus elementum sagittis. Sed id semper risus in hendrerit.

+

Fermentum dui faucibus in ornare quam viverra orci. Nisi porta lorem mollis aliquam ut porttitor leo a diam. Auctor urna nunc id cursus metus. Eget nunc scelerisque viverra mauris in. Sollicitudin tempor id eu nisl nunc. Elit sed vulputate mi sit amet. Ante metus dictum at tempor commodo ullamcorper a lacus vestibulum. Fermentum iaculis eu non diam phasellus vestibulum lorem sed. Mi in nulla posuere sollicitudin aliquam ultrices sagittis. Massa id neque aliquam vestibulum morbi blandit cursus risus at. Vulputate enim nulla aliquet porttitor lacus. Vitae sapien pellentesque habitant morbi tristique senectus et netus.

+

Consectetur adipiscing elit ut aliquam purus sit amet luctus. Mattis enim ut tellus elementum sagittis vitae. Laoreet suspendisse interdum consectetur libero id faucibus nisl tincidunt eget. Faucibus scelerisque eleifend donec pretium vulputate. Pellentesque adipiscing commodo elit at imperdiet dui. Duis at tellus at urna condimentum mattis pellentesque id. Phasellus egestas tellus rutrum tellus pellentesque eu tincidunt. Augue eget arcu dictum varius duis at. Elementum sagittis vitae et leo duis ut diam quam nulla. Lorem mollis aliquam ut porttitor. Donec pretium vulputate sapien nec sagittis aliquam malesuada bibendum arcu. Orci phasellus egestas tellus rutrum tellus pellentesque eu tincidunt tortor. Sollicitudin ac orci phasellus egestas tellus rutrum tellus pellentesque.

+

Pretium fusce id velit ut tortor pretium viverra. Orci sagittis eu volutpat odio facilisis mauris sit. Platea dictumst quisque sagittis purus sit amet. Id venenatis a condimentum vitae sapien pellentesque habitant morbi. Ultrices eros in cursus turpis massa tincidunt. Pharetra convallis posuere morbi leo urna molestie at elementum. Arcu felis bibendum ut tristique et egestas quis ipsum suspendisse. Pulvinar neque laoreet suspendisse interdum consectetur libero id faucibus nisl. Eu turpis egestas pretium aenean pharetra magna ac placerat. Morbi tincidunt ornare massa eget egestas purus viverra. At tellus at urna condimentum mattis pellentesque id nibh. Quam nulla porttitor massa id neque aliquam vestibulum morbi blandit. Maecenas ultricies mi eget mauris pharetra. In ornare quam viverra orci sagittis eu volutpat odio. Fringilla urna porttitor rhoncus dolor purus. Sit amet volutpat consequat mauris nunc. Tincidunt praesent semper feugiat nibh sed pulvinar. Fringilla est ullamcorper eget nulla facilisi etiam dignissim diam quis.

+

Eu facilisis sed odio morbi quis commodo odio. Semper feugiat nibh sed pulvinar proin gravida hendrerit lectus. Adipiscing elit ut aliquam purus sit amet. Et netus et malesuada fames. Lectus magna fringilla urna porttitor rhoncus dolor. Amet est placerat in egestas. Pellentesque elit eget gravida cum sociis natoque penatibus et magnis. Curabitur gravida arcu ac tortor dignissim. Est lorem ipsum dolor sit amet consectetur adipiscing. Metus aliquam eleifend mi in nulla posuere sollicitudin. Integer quis auctor elit sed vulputate. Aliquet sagittis id consectetur purus ut faucibus. Ac odio tempor orci dapibus. Magnis dis parturient montes nascetur ridiculus mus. Turpis egestas sed tempus urna et pharetra pharetra massa. Cursus in hac habitasse platea dictumst quisque sagittis purus. Nunc congue nisi vitae suscipit tellus mauris a diam maecenas.

+

Elit at imperdiet dui accumsan sit amet nulla facilisi. Amet consectetur adipiscing elit pellentesque habitant morbi tristique. Feugiat sed lectus vestibulum mattis ullamcorper velit sed. Blandit massa enim nec dui nunc mattis enim ut tellus. At consectetur lorem donec massa sapien. Iaculis nunc sed augue lacus viverra vitae. Gravida cum sociis natoque penatibus et. Ut tellus elementum sagittis vitae. Suscipit tellus mauris a diam maecenas sed enim ut sem. Adipiscing vitae proin sagittis nisl rhoncus. Sed nisi lacus sed viverra tellus in hac. A diam sollicitudin tempor id eu nisl. Iaculis nunc sed augue lacus viverra vitae congue eu. Diam maecenas sed enim ut. A iaculis at erat pellentesque. Enim facilisis gravida neque convallis a.

+

Aliquam malesuada bibendum arcu vitae elementum. Duis ut diam quam nulla porttitor. Amet est placerat in egestas erat imperdiet. Diam vel quam elementum pulvinar. Ut lectus arcu bibendum at varius vel. Porttitor lacus luctus accumsan tortor posuere ac ut. Leo vel orci porta non pulvinar neque laoreet. Eget mi proin sed libero enim sed faucibus turpis. Lorem ipsum dolor sit amet consectetur adipiscing elit pellentesque habitant. Dui accumsan sit amet nulla facilisi morbi tempus iaculis urna. Etiam dignissim diam quis enim lobortis scelerisque. At imperdiet dui accumsan sit amet nulla. Dui nunc mattis enim ut. Lacus sed turpis tincidunt id aliquet risus feugiat in ante. Nibh venenatis cras sed felis. Et netus et malesuada fames ac. Quis enim lobortis scelerisque fermentum dui. Leo a diam sollicitudin tempor id eu nisl nunc mi. Sit amet risus nullam eget.

+

Eget mauris pharetra et ultrices. Rhoncus dolor purus non enim. Risus nec feugiat in fermentum posuere urna nec. Lectus urna duis convallis convallis tellus id. Magna fermentum iaculis eu non diam phasellus vestibulum. Semper risus in hendrerit gravida. Ut morbi tincidunt augue interdum velit euismod in pellentesque. Eget duis at tellus at urna condimentum mattis. Non diam phasellus vestibulum lorem sed. Vel turpis nunc eget lorem dolor sed viverra ipsum. Porttitor massa id neque aliquam vestibulum morbi blandit cursus. Pulvinar pellentesque habitant morbi tristique senectus et netus et. Nec dui nunc mattis enim ut tellus elementum sagittis. Maecenas sed enim ut sem viverra aliquet eget.

+

Felis eget nunc lobortis mattis aliquam faucibus purus in. At auctor urna nunc id cursus metus aliquam eleifend. Nibh mauris cursus mattis molestie a iaculis at erat. Sit amet justo donec enim diam vulputate ut pharetra. Eu lobortis elementum nibh tellus molestie. Sagittis purus sit amet volutpat consequat mauris nunc. Parturient montes nascetur ridiculus mus mauris vitae ultricies leo. In fermentum posuere urna nec tincidunt praesent semper feugiat. Neque gravida in fermentum et sollicitudin ac orci phasellus egestas. Venenatis lectus magna fringilla urna porttitor rhoncus dolor purus. Molestie a iaculis at erat pellentesque adipiscing commodo elit. Aliquam ut porttitor leo a diam sollicitudin tempor id eu. Amet est placerat in egestas erat imperdiet. Egestas dui id ornare arcu odio ut sem nulla pharetra.

+

In nisl nisi scelerisque eu ultrices vitae. Ultrices vitae auctor eu augue ut lectus arcu bibendum at. Quis commodo odio aenean sed adipiscing. Leo integer malesuada nunc vel risus commodo viverra maecenas accumsan. Fermentum et sollicitudin ac orci phasellus egestas tellus. Fusce id velit ut tortor pretium. Eros in cursus turpis massa. Leo vel orci porta non pulvinar neque laoreet suspendisse. Donec adipiscing tristique risus nec feugiat in. Libero enim sed faucibus turpis in eu mi bibendum neque. Orci sagittis eu volutpat odio facilisis. Adipiscing elit ut aliquam purus sit amet. Tincidunt ornare massa eget egestas purus. Etiam erat velit scelerisque in dictum. Nibh nisl condimentum id venenatis a condimentum vitae sapien. Dictum at tempor commodo ullamcorper a lacus vestibulum. Diam vulputate ut pharetra sit amet aliquam id diam. Tempus imperdiet nulla malesuada pellentesque elit eget gravida cum. Amet commodo nulla facilisi nullam vehicula ipsum a arcu.

+

Dui vivamus arcu felis bibendum ut tristique et. Vestibulum mattis ullamcorper velit sed ullamcorper morbi tincidunt. Diam sollicitudin tempor id eu nisl nunc mi ipsum faucibus. Malesuada fames ac turpis egestas maecenas. Eget gravida cum sociis natoque penatibus et magnis dis. Imperdiet massa tincidunt nunc pulvinar sapien et ligula. Convallis aenean et tortor at risus viverra adipiscing. Adipiscing elit duis tristique sollicitudin nibh sit amet. Tortor at risus viverra adipiscing at in tellus integer. Sit amet dictum sit amet justo. Donec pretium vulputate sapien nec. Senectus et netus et malesuada fames ac. Bibendum arcu vitae elementum curabitur vitae. Ac orci phasellus egestas tellus rutrum tellus pellentesque eu tincidunt.

+

Orci ac auctor augue mauris augue neque gravida in. Dolor purus non enim praesent elementum facilisis. Sed lectus vestibulum mattis ullamcorper velit sed ullamcorper morbi tincidunt. Mus mauris vitae ultricies leo integer malesuada nunc. Dolor sit amet consectetur adipiscing. Ut aliquam purus sit amet. Sit amet justo donec enim diam vulputate. Libero enim sed faucibus turpis in eu. Netus et malesuada fames ac. Ullamcorper malesuada proin libero nunc. Neque laoreet suspendisse interdum consectetur libero id. Risus commodo viverra maecenas accumsan lacus vel facilisis volutpat est. Bibendum neque egestas congue quisque egestas diam in arcu. Sagittis aliquam malesuada bibendum arcu. Quisque id diam vel quam elementum pulvinar. Sed viverra tellus in hac habitasse platea dictumst vestibulum. At elementum eu facilisis sed odio morbi. Nulla facilisi nullam vehicula ipsum a arcu cursus vitae. Aliquet sagittis id consectetur purus ut faucibus pulvinar elementum.

+

Lorem dolor sed viverra ipsum nunc aliquet bibendum. Porta lorem mollis aliquam ut porttitor leo a diam. Vitae proin sagittis nisl rhoncus mattis. Quis imperdiet massa tincidunt nunc pulvinar sapien et ligula ullamcorper. Nullam ac tortor vitae purus faucibus. Tortor dignissim convallis aenean et tortor at risus viverra. Varius sit amet mattis vulputate enim nulla aliquet porttitor. At urna condimentum mattis pellentesque id nibh tortor id aliquet. Vestibulum sed arcu non odio euismod lacinia. Condimentum mattis pellentesque id nibh tortor id aliquet lectus.

+

Mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus et. Imperdiet dui accumsan sit amet nulla facilisi morbi tempus. Consectetur a erat nam at lectus urna duis convallis. Quis lectus nulla at volutpat diam ut venenatis tellus in. Eu ultrices vitae auctor eu augue ut lectus arcu bibendum. Tortor posuere ac ut consequat semper viverra. Cursus in hac habitasse platea dictumst. Vitae auctor eu augue ut. Fringilla urna porttitor rhoncus dolor purus non. Ut venenatis tellus in metus vulputate eu. Fermentum et sollicitudin ac orci phasellus egestas tellus rutrum. A condimentum vitae sapien pellentesque habitant. Vitae justo eget magna fermentum iaculis eu. Ut sem nulla pharetra diam sit amet nisl suscipit adipiscing.

+

Justo laoreet sit amet cursus sit amet. Risus quis varius quam quisque id diam. Dapibus ultrices in iaculis nunc sed augue lacus viverra vitae. Faucibus scelerisque eleifend donec pretium vulputate sapien nec. Gravida in fermentum et sollicitudin. Iaculis nunc sed augue lacus viverra vitae congue. Augue neque gravida in fermentum et sollicitudin ac orci phasellus. Sed viverra tellus in hac habitasse. A arcu cursus vitae congue. Diam ut venenatis tellus in metus. Magna ac placerat vestibulum lectus mauris ultrices. Posuere urna nec tincidunt praesent semper feugiat nibh.

+

Cursus sit amet dictum sit. Tortor at auctor urna nunc id cursus metus aliquam. Sapien pellentesque habitant morbi tristique senectus et. Eu ultrices vitae auctor eu augue ut. Sit amet commodo nulla facilisi nullam vehicula. Eget velit aliquet sagittis id consectetur. Ullamcorper eget nulla facilisi etiam dignissim diam quis enim. Vitae nunc sed velit dignissim sodales ut eu. Massa sapien faucibus et molestie. Nisi quis eleifend quam adipiscing. Eget gravida cum sociis natoque penatibus. Quis eleifend quam adipiscing vitae. Morbi tristique senectus et netus et. Integer eget aliquet nibh praesent tristique magna sit amet. Augue eget arcu dictum varius duis at consectetur lorem donec.

+

Pellentesque pulvinar pellentesque habitant morbi tristique senectus. Duis convallis convallis tellus id interdum velit laoreet id. Morbi tempus iaculis urna id volutpat lacus laoreet non curabitur. Sed enim ut sem viverra aliquet eget sit. Vulputate mi sit amet mauris commodo. Netus et malesuada fames ac turpis egestas maecenas. Pellentesque elit eget gravida cum sociis natoque. Lorem dolor sed viverra ipsum nunc. Congue quisque egestas diam in. Elit pellentesque habitant morbi tristique senectus et netus et. Commodo elit at imperdiet dui. Consequat ac felis donec et odio pellentesque diam. A iaculis at erat pellentesque adipiscing commodo. Cursus risus at ultrices mi tempus imperdiet. Dolor sit amet consectetur adipiscing elit.

+

Pharetra sit amet aliquam id diam maecenas. Ornare aenean euismod elementum nisi quis eleifend quam adipiscing vitae. Aliquet lectus proin nibh nisl condimentum id. Porttitor rhoncus dolor purus non enim praesent elementum. Tellus cras adipiscing enim eu. Blandit cursus risus at ultrices mi tempus imperdiet nulla malesuada. Vitae turpis massa sed elementum tempus egestas. Enim tortor at auctor urna nunc id cursus metus aliquam. Ullamcorper a lacus vestibulum sed arcu non odio. Fringilla phasellus faucibus scelerisque eleifend donec pretium vulputate. Gravida arcu ac tortor dignissim convallis aenean et tortor at.

+
\ No newline at end of file diff --git a/meeemster/chess/style.css b/meeemster/chess/style.css new file mode 100644 index 0000000..86ae07b --- /dev/null +++ b/meeemster/chess/style.css @@ -0,0 +1,55 @@ +body { + background-color: #222; + color: white; + user-select: none; + margin-left: 10px; + margin-right: 10px; +} + +#chessboard { + display: grid; + grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; + grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; + width: 80vmin; + height: 80vmin; + border: 10px solid gray; +} + +.chess-container { + display: flex; + justify-content: center; +} + +.white { + background-color: white; +} + +.black { + background-color: black; +} + +.black, .white { + display: flex; + align-items: center; + justify-content: center; +} + +.black > img, .white > img { + width: 100%; +} + +nav > ul > li { + display: inline-block; +} + +a, a:active, a:visited { + color: skyblue; +} + +a:hover { + color: white; +} + +header { + text-align: center; +} \ No newline at end of file diff --git a/meeemster/chess/two.html b/meeemster/chess/two.html new file mode 100644 index 0000000..6e684e9 --- /dev/null +++ b/meeemster/chess/two.html @@ -0,0 +1,11 @@ +
+

What is Lorem Ipsum?

+

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

+

Why do we use it?

+

It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).

+

Where does it come from?

+

Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.

+

The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.

+

Where can I get some?

+

There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.

+
\ No newline at end of file diff --git a/meeemster/weather/cloud.png b/meeemster/weather/cloud.png new file mode 100644 index 0000000..d9658f0 Binary files /dev/null and b/meeemster/weather/cloud.png differ diff --git a/meeemster/weather/weather.css b/meeemster/weather/weather.css new file mode 100644 index 0000000..320d85b --- /dev/null +++ b/meeemster/weather/weather.css @@ -0,0 +1,63 @@ +html { + font-family: 'Arial'; + font-size: 1.2em; +} + +h1 { + color: orangered; +} + +section { + margin: 10px; +} + +article { + margin: 20px 0px; +} + +nav > ul { + padding-left: 0; +} + +nav > ul > li { + display: inline; + margin-left: 10px; +} + +a, a:visited { + color: black; + text-decoration: underline; +} + +button { + border: none; + background-color: orange; + border-radius: 5px; + cursor: pointer; + font-weight: bold; + height: 30px; +} + +button:hover { + background-color: rgb(204, 133, 0) +} + +header { + background-color: lightgray; + padding: 5px; +} + +footer { + background-color: darkgray; + padding: 5px; +} + +#weather { + padding: 10px; + border-radius: 5px; + background-color: lightblue; +} + +#weather-datetime { + color: #333; +} \ No newline at end of file diff --git a/meeemster/weather/weather.html b/meeemster/weather/weather.html new file mode 100644 index 0000000..08df28b --- /dev/null +++ b/meeemster/weather/weather.html @@ -0,0 +1,58 @@ + + + + + Amazing Weather Site + + + + + + + +
+

Take a look at the weather

+
+
Loading...
+
Loading...
+
Loading...
+
Loading...
+
Loading...
+
+
+
+

More content about the weather

+
+

What is Weather?

+

Weather is the state of the atmosphere, describing for example the degree to which it is hot or cold, wet or dry, calm or stormy, clear or cloudy. On Earth, most weather phenomena occur in the lowest layer of the planet's atmosphere, the troposphere, just below the stratosphere. Weather refers to day-to-day temperature, precipitation, and other atmospheric conditions, whereas climate is the term for the averaging of atmospheric conditions over longer periods of time. When used without qualification, "weather" is generally understood to mean the weather of Earth.

+

Weather is driven by air pressure, temperature, and moisture differences between one place and another. These differences can occur due to the Sun's angle at any particular spot, which varies with latitude. The strong temperature contrast between polar and tropical air gives rise to the largest scale atmospheric circulations: the Hadley cell, the Ferrel cell, the polar cell, and the jet stream. Weather systems in the middle latitudes, such as extratropical cyclones, are caused by instabilities of the jet streamflow. Because Earth's axis is tilted relative to its orbital plane (called the ecliptic), sunlight is incident at different angles at different times of the year. On Earth's surface, temperatures usually range ±40 °C (-40 °F to 104 °F) annually. Over thousands of years, changes in Earth's orbit can affect the amount and distribution of solar energy received by Earth, thus influencing long-term climate and global climate change.

+

Surface temperature differences in turn cause pressure differences. Higher altitudes are cooler than lower altitudes, as most atmospheric heating is due to contact with the Earth's surface while radiative losses to space are mostly constant. Weather forecasting is the application of science and technology to predict the state of the atmosphere for a future time and a given location. Earth's weather system is a chaotic system; as a result, small changes to one part of the system can grow to have large effects on the system as a whole. Human attempts to control the weather have occurred throughout history, and there is evidence that human activities such as agriculture and industry have modified weather patterns

+

Studying how the weather works on other planets has been helpful in understanding how weather works on Earth. A famous landmark in the Solar System, Jupiter's Great Red Spot, is an anticyclonic storm known to have existed for at least 300 years. However, the weather is not limited to planetary bodies. A star's corona is constantly being lost to space, creating what is essentially a very thin atmosphere throughout the Solar System. The movement of mass ejected from the Sun is known as the solar wind.

+
+ +
+ + + \ No newline at end of file diff --git a/meeemster/weather/weather.js b/meeemster/weather/weather.js new file mode 100644 index 0000000..ecc6f56 --- /dev/null +++ b/meeemster/weather/weather.js @@ -0,0 +1,28 @@ +var WEATHER_API_URL = "/restFullAPI/v2"; +//var WEATHER_API_URL = "http://wetterstation.hof-university.de/restFullAPI/v2/"; + +$(() => { + $("#toggle-header").click(() => { + $("#header").toggle(); + }); + + $("#hide-article").click(() => { + $("#article-one").hide(); + }); + + $("#show-hidden-article").click(() => { + $("#a-secret-hidden-article").show(); + }); + + $.ajax({ + url: WEATHER_API_URL, + type: "GET", + success: data => { + $("#weather-datetime").text(data.dateTime); + $("#weather-temphum").text("Temperature: " + data.temperature + " °C | Humidity: " + data.humidity + "% | Atm. Pressure: " + data.atmosphericPressure + " mbar"); + $("#weather-wind").text("The wind is blowing at " + data.windSpeedKmh + " km/h (" + data.windSpeed + " m/s) in direction " + data.windDirectionString + " (" + data.windDirection + ")"); + $("#weather-other").text("Global Irradiance: " + data.globalIrradiance + " | Precipitation: " + data.precipitation); + $("#weather-soil").text("Soil Temp.: " + data.soilTemperature + " °C | Soil Humidity: " + data.soilHumidity + "%"); + } + }); +}); \ No newline at end of file diff --git a/restFullAPI/.htaccess b/restFullAPI/.htaccess new file mode 100644 index 0000000..b83d816 --- /dev/null +++ b/restFullAPI/.htaccess @@ -0,0 +1,6 @@ +RewriteEngine On + +RewriteRule ^v2$ v2.json + +Header set Access-Control-Allow-Origin "*" +Header set Access-Control-Allow-Headers "content-type" \ No newline at end of file diff --git a/restFullAPI/v2.json b/restFullAPI/v2.json new file mode 100644 index 0000000..85b7f3e --- /dev/null +++ b/restFullAPI/v2.json @@ -0,0 +1 @@ +{"dateTime":"05.05.2022 13:55 Uhr","temperature":"15","humidity":"66","atmosphericPressure":"958","windSpeed":"2.61","windSpeedKmh":"9.4","windDirection":"337.5","windDirectionString":"WNW","globalIrradiance":"823","precipitation":"0","soilTemperature":"12","soilHumidity":"22"} \ No newline at end of file