Convenient open place on the web for collaboration https://coalmedia.eu/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.html 7.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title>Coal Community . Under Construction</title>
  5. <meta charset="UTF-8">
  6. <meta name="author" content="Victor Giers">
  7. <meta name="title" content="Coal Media Community">
  8. <meta name="type" content="website" />
  9. <meta name="description" content="Convenient open European place for collaboration on the web">
  10. <meta name="url" content="https://coalmedia.eu/">
  11. <meta name="image" content="https://coalmedia.eu/coal.png">
  12. <meta name="date" content="" scheme="2019-06-01">
  13. <meta property="og:title" content="Coal Media Community">
  14. <meta property="og:description" content="Convenient open European place for collaboration on the web">
  15. <meta property="og:image" content="https://coalmedia.eu/style/coal.png">
  16. <meta property="og:url" content="https://coalmedia.eu/">
  17. <meta name="twitter:card" content="https://coalmedia.eu/style/coal.png">
  18. <script src="libraries/p5.min.js"></script>
  19. <link rel="shortcut icon" type="image/png" href="style/coal.png"/>
  20. <style>
  21. body {
  22. margin: 0;
  23. overflow: hidden;
  24. }
  25. #overlay {
  26. position: absolute;
  27. z-index: 1;
  28. display: block;
  29. width: 100%;
  30. height: 100%;
  31. padding-left: 30px;
  32. padding-top: 180px;
  33. color: rgb(255,255,255);
  34. font-family: Verdana;
  35. }
  36. a {
  37. color: rgb(255,255,255);
  38. text-decoration: underline;
  39. }
  40. a:hover {
  41. text-decoration: none;
  42. }
  43. </style>
  44. <script>
  45. if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(navigator.userAgent)) {
  46. window.location.replace("https://coalmedia.eu/mobile.html");
  47. window.location.href = "https://coalmedia.eu/mobile.html";
  48. throw new Error("Website is not made for mobile! Go to https://coalmedia.eu/mobile.html");
  49. }
  50. let releaseDate = "2019-11-01"
  51. let head = "";
  52. let sub = "";
  53. let deltatime = "";
  54. let headstring = "This website is currently under construction.";
  55. var substring = "Approximate wait time: ";
  56. let bgimg;
  57. var runtime = 0;
  58. let mspertick = 12;
  59. let snowflakes = []; // array to hold snowflake objects
  60. let startSmall = false;
  61. let flakeR = 255;
  62. let flakeG = 255;
  63. let flakeB = 255;
  64. let sw = 0;
  65. function setup() {
  66. canvas = createCanvas(window.innerWidth, window.innerHeight);
  67. bgimg = loadImage("potemkin.jpg");
  68. if(hochkant()) startSmall = true;
  69. imageMode(CENTER);
  70. noStroke();
  71. }
  72. let headlettercount = 0;
  73. let sublettercount = 0;
  74. let textLoaded = false;
  75. function tick(){
  76. var dateFuture = new Date(releaseDate);
  77. var dateNow = new Date();
  78. var seconds = Math.floor((dateFuture - (dateNow))/1000);
  79. var minutes = Math.floor(seconds/60);
  80. var hours = Math.floor(minutes/60);
  81. var days = Math.floor(hours/24);
  82. hours = hours-(days*24);
  83. minutes = minutes-(days*24*60)-(hours*60);
  84. seconds = seconds-(days*24*60*60)-(hours*60*60)-(minutes*60);
  85. if(millis() > 1000){
  86. if(headlettercount < headstring.length + 70){
  87. head += headstring.charAt(headlettercount);
  88. headlettercount += 1;
  89. } else if (sublettercount < substring.length) {
  90. sub += substring.charAt(sublettercount);
  91. sublettercount += 1;
  92. } else {
  93. deltatime = days + " Days, " + nf(hours,2,0) + ":" + nf(minutes,2,0) + ":" + nf(seconds,2,0);
  94. textLoaded = true;
  95. }
  96. }
  97. }
  98. function hochkant(){
  99. if(window.innerWidth < window.innerHeight){
  100. return true;
  101. } else {
  102. return false;
  103. }
  104. }
  105. function draw() {
  106. background(255);
  107. if(hochkant()){
  108. image(bgimg, window.innerWidth/2, window.innerHeight/2,window.innerHeight/bgimg.height*bgimg.width,window.innerHeight);
  109. } else {
  110. image(bgimg, window.innerWidth/2, window.innerHeight/2,window.innerWidth,window.innerWidth/bgimg.width*bgimg.height);
  111. }
  112. stroke(255);
  113. strokeWeight(sw);
  114. fill(flakeR, flakeG, flakeB);
  115. while(millis() > runtime){
  116. runtime += mspertick;
  117. tick();
  118. }
  119. //don't look here i just don't care rn
  120. textSize(30);
  121. textStyle(BOLD);
  122. if(hochkant()){
  123. textAlign(CENTER);
  124. head = "This website is currently\nunder construction.";
  125. text(head,window.innerWidth/2,90);
  126. } else {
  127. if(textLoaded || startSmall){
  128. head = "This website is currently under construction.";
  129. }
  130. textAlign(LEFT);
  131. if(window.innerHeight/2-((window.innerWidth/bgimg.width*bgimg.height)/2) > 0){
  132. text(head,30,50+(window.innerHeight/2-((window.innerWidth/bgimg.width*bgimg.height)/2)));
  133. } else {
  134. text(head,30,50);
  135. }
  136. }
  137. textSize(20);
  138. textStyle(NORMAL);
  139. if(hochkant()){
  140. sub = "Approximate wait time: \n";
  141. text(sub + deltatime,window.innerWidth/2,160);
  142. } else {
  143. if(textLoaded || startSmall){
  144. sub = "Approximate wait time: ";
  145. }
  146. if(window.innerHeight/2-((window.innerWidth/bgimg.width*bgimg.height)/2) > 0){
  147. text(sub + deltatime,30,80+(window.innerHeight/2-((window.innerWidth/bgimg.width*bgimg.height)/2)));
  148. } else {
  149. text(sub + deltatime,30,80);
  150. }
  151. }
  152. //snowflakes
  153. let t = frameCount / 60;
  154. snowflakes.push(new snowflake());
  155. for (let flake of snowflakes) {
  156. flake.update(t);
  157. flake.display();
  158. }
  159. }
  160. function mouseClicked(){
  161. /*
  162. flakeR = random(0,255);
  163. flakeG = random(0,255);
  164. flakeB = random(0,255);
  165. sw = 1;
  166. */
  167. }
  168. function snowflake() {
  169. this.posX = 0;
  170. this.posY = random(-50, 0);
  171. this.initialangle = random(0, 2 * PI);
  172. this.size = random(2, 5);
  173. this.radius = sqrt(random(pow(width / 2, 2)));
  174. this.update = function(time) {
  175. let w = 0.4;
  176. let angle = w * time + this.initialangle;
  177. this.posX = width / 2 + this.radius * sin(angle);
  178. this.posY += pow(this.size, 0.5);
  179. if (this.posY > height) {
  180. let index = snowflakes.indexOf(this);
  181. snowflakes.splice(index, 1);
  182. }
  183. };
  184. this.display = function() {
  185. ellipse(this.posX, this.posY, this.size);
  186. };
  187. }
  188. window.onresize = function() {
  189. var w = window.innerWidth;
  190. var h = window.innerHeight;
  191. resizeCanvas(w,h);
  192. width = w;
  193. height = h;
  194. };
  195. </script>
  196. </head>
  197. <body>
  198. <div id="overlay">
  199. <h3>Coal Media Community</h3>
  200. <p>
  201. This place is going to be a hub for <b>collaborative work</b> in the fields of <b>media art</b> and <b>design</b> regarding <b>knowledge</b> and <b>social interaction</b> on the <b>internet</b>.<br>
  202. The community is based on <b>European standards</b>, <b>the whole world is invited</b> to collaborate.<br>
  203. It is registered and hosted at <a href="https://www.manitu.de/" target="_blank"><b>Manitu</b></a>, a web host service based in <b>Saarland, Germany</b>.<br><br>
  204. <b>We'd love you to get in contact with us!</b><br><br>
  205. <h3><a href="https://discord.gg/nGDYYKE">Discord invitation</a></h3>
  206. </p>
  207. <p>
  208. There's a <a href="http://coal.ddns.net:3000/ember/coalmedia.eu">git</a> for this website.<br>
  209. Following links are not functioning properly yet and only here for construction purpose.
  210. <ul>
  211. <li><a href="chat">Chat</a></li>
  212. <li><a href="cloud">Cloud</a></li>
  213. <li><a href="git">Git</a></li>
  214. </ul>
  215. </p>
  216. <h3>Impressum</h3>
  217. <p>
  218. <a href="impressum/Victor Giers.vcf">Download vCard</a><br>
  219. Victor Giers<br>
  220. Badmauer 14<br>
  221. 73525 Schwäbisch Gmünd<br>
  222. +49 160 977 0 7979<br>
  223. <a href="mailto:mail@giers.io">mail@giers.io</a><br>
  224. <a href="https://giers.io/">https://giers.io/</a>
  225. </p>
  226. </div>
  227. </body>
  228. </html>