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.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  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 sw = 0;
  62. function setup() {
  63. canvas = createCanvas(window.innerWidth, window.innerHeight);
  64. //"Hot coal" by Surukai is licensed under CC BY-NC-SA 2.0 https://www.flickr.com/photos/39113645@N08/4872013756
  65. bgimg = loadImage("potemkin.jpg");
  66. if(hochkant()) startSmall = true;
  67. imageMode(CENTER);
  68. noStroke();
  69. }
  70. let headlettercount = 0;
  71. let sublettercount = 0;
  72. let textLoaded = false;
  73. function tick(){
  74. var dateFuture = new Date(releaseDate);
  75. var dateNow = new Date();
  76. var seconds = Math.floor((dateFuture - (dateNow))/1000);
  77. var minutes = Math.floor(seconds/60);
  78. var hours = Math.floor(minutes/60);
  79. var days = Math.floor(hours/24);
  80. hours = hours-(days*24);
  81. minutes = minutes-(days*24*60)-(hours*60);
  82. seconds = seconds-(days*24*60*60)-(hours*60*60)-(minutes*60);
  83. if(millis() > 1000){
  84. if(headlettercount < headstring.length + 70){
  85. head += headstring.charAt(headlettercount);
  86. headlettercount += 1;
  87. } else if (sublettercount < substring.length) {
  88. sub += substring.charAt(sublettercount);
  89. sublettercount += 1;
  90. } else {
  91. deltatime = days + " Days, " + nf(hours,2,0) + ":" + nf(minutes,2,0) + ":" + nf(seconds,2,0);
  92. textLoaded = true;
  93. }
  94. }
  95. }
  96. function hochkant(){
  97. if(window.innerWidth < window.innerHeight){
  98. return true;
  99. } else {
  100. return false;
  101. }
  102. }
  103. function draw() {
  104. background(255);
  105. if(hochkant()){
  106. image(bgimg, window.innerWidth/2, window.innerHeight/2,window.innerHeight/bgimg.height*bgimg.width,window.innerHeight);
  107. } else {
  108. image(bgimg, window.innerWidth/2, window.innerHeight/2,window.innerWidth,window.innerWidth/bgimg.width*bgimg.height);
  109. }
  110. fill(255);
  111. while(millis() > runtime){
  112. runtime += mspertick;
  113. tick();
  114. }
  115. //don't look here i just don't care rn
  116. textSize(30);
  117. textStyle(BOLD);
  118. if(hochkant()){
  119. textAlign(CENTER);
  120. head = "This website is currently\nunder construction.";
  121. text(head,window.innerWidth/2,90);
  122. } else {
  123. if(textLoaded || startSmall){
  124. head = "This website is currently under construction.";
  125. }
  126. textAlign(LEFT);
  127. if(window.innerHeight/2-((window.innerWidth/bgimg.width*bgimg.height)/2) > 0){
  128. text(head,30,50+(window.innerHeight/2-((window.innerWidth/bgimg.width*bgimg.height)/2)));
  129. } else {
  130. text(head,30,50);
  131. }
  132. }
  133. textSize(20);
  134. textStyle(NORMAL);
  135. if(hochkant()){
  136. sub = "Approximate wait time: \n";
  137. text(sub + deltatime,window.innerWidth/2,160);
  138. } else {
  139. if(textLoaded || startSmall){
  140. sub = "Approximate wait time: ";
  141. }
  142. if(window.innerHeight/2-((window.innerWidth/bgimg.width*bgimg.height)/2) > 0){
  143. text(sub + deltatime,30,80+(window.innerHeight/2-((window.innerWidth/bgimg.width*bgimg.height)/2)));
  144. } else {
  145. text(sub + deltatime,30,80);
  146. }
  147. }
  148. //snowflakes
  149. let t = frameCount / 60;
  150. snowflakes.push(new snowflake());
  151. for (let flake of snowflakes) {
  152. flake.update(t);
  153. flake.display();
  154. }
  155. }
  156. function mouseClicked(){
  157. /*
  158. flakeR = random(0,255);
  159. flakeG = random(0,255);
  160. flakeB = random(0,255);
  161. sw = 1;
  162. */
  163. }
  164. function snowflake() {
  165. this.posX = 0;
  166. this.posY = random(window.innerHeight/4, window.innerHeight+50);
  167. this.initialangle = random(0, 2 * PI);
  168. this.size = random(2, 5);
  169. this.radius = sqrt(random(pow(width / 2, 2)));
  170. this.r = random(0,255);
  171. this.g = random(0,this.r);
  172. this.b = 0;
  173. this.update = function(time) {
  174. let w = 0.4;
  175. let angle = w * time + this.initialangle;
  176. this.posX = width / 2 + this.radius * sin(angle);
  177. this.posY -= pow(this.size, 0.5);
  178. if (this.posY < 0) {
  179. let index = snowflakes.indexOf(this);
  180. snowflakes.splice(index, 1);
  181. }
  182. };
  183. this.display = function() {
  184. fill(this.r,this.g,this.b);
  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>St. Wendel, Saarland, Germany</b>.<br><br>
  204. <b>We'd love to hear from you!</b>
  205. <h3><a href="https://coalmedia.eu/cloud/index.php/call/iw744jq5">Invitation to the chat</a></h3><br>
  206. </p>
  207. <p>
  208. There's a <a href="http://coal.ddns.net:3000/ember/coalmedia.eu">git-repository</a> for this website.<br>
  209. Progress:
  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>