diff --git a/Dockerfile b/Dockerfile index 7360467..f8d9490 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,24 @@ +FROM swaous.asuscomm.com/sitix:latest AS build +# build the site + + +RUN mkdir site + +COPY site site + +RUN ls site + +ARG SITIX_ENVIRONMENT="production" + +RUN /sitix site -y -c ${SITIX_ENVIRONMENT} + + FROM busybox:1.35 -# Create a non-root user to own the files and run our server -RUN mkdir /static -WORKDIR /static - # Copy the static website -# Use the .dockerignore file to control what ends up inside the image! -COPY . . +COPY --from=build /output /output + +WORKDIR output # Run BusyBox httpd CMD ["busybox", "httpd", "-f", "-v", "-p", "80"] diff --git a/frog-realestate-pwa/icon.png b/frog-realestate-pwa/icon.png deleted file mode 100644 index 7c07dbc..0000000 Binary files a/frog-realestate-pwa/icon.png and /dev/null differ diff --git a/frog-realestate-pwa/icon.svg b/frog-realestate-pwa/icon.svg deleted file mode 100644 index 679b193..0000000 --- a/frog-realestate-pwa/icon.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - diff --git a/frog-realestate-pwa/index.html b/frog-realestate-pwa/index.html deleted file mode 100644 index 2fe62a0..0000000 --- a/frog-realestate-pwa/index.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - camera-info - - - - - - - - - - - - diff --git a/frog-realestate-pwa/main.css b/frog-realestate-pwa/main.css deleted file mode 100644 index 622c1f6..0000000 --- a/frog-realestate-pwa/main.css +++ /dev/null @@ -1,83 +0,0 @@ -body { - margin: 0px; - padding: 0px; -} - -body > div { - position: absolute; - top: 0px; - left: 0px; - width: 100vw; - height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; -} - -body > div > * { - margin: 20px; -} - -#camview { - max-width: 100vw; - box-shadow: 0px 0px 50px 0px black; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - padding: 30px; - box-sizing: border-box; -} - - -#camview.took { - position: fixed; - right: 0px; - bottom: 0px; - width: 150px; - z-index: 100; - display: inline-flex; - background-color: white; - padding: 10px; -} - -#camview.took > button { - font-size: 1em; -} - -#video-container { - max-width: 100%; -} - -#camview > button { - font-size: 2em; -} - -#precanvas { - height: 100%; - max-height: 4in; - flex-shrink: 0; -} - -#preview { - width: 100%; - display: inline-block; -} - -.offscreen { - position: absolute; - top: -10000px; - left: -10000px; -} - -video.unbounded { - position: absolute; - height: 100vw !important; - width: auto; -} - -#final { - max-width: 100vw; - border: 1px solid black; -} \ No newline at end of file diff --git a/frog-realestate-pwa/main.js b/frog-realestate-pwa/main.js deleted file mode 100644 index fc06107..0000000 --- a/frog-realestate-pwa/main.js +++ /dev/null @@ -1,143 +0,0 @@ -function frame(e) { - for (let el of document.querySelectorAll("body > div")) { - if (el.style.display != "none") { - el.style.display = "none"; - window.app[el.id].exit(); - } - } - document.getElementById(e).style.display = ""; - window.app[e].enter(); -} - -let canvas = document.getElementById("precanvas"); -let ctx = canvas.getContext("2d"); -let video = document.getElementById("magic_video"); - -function takepicture() { - let box = video.getBoundingClientRect(); - video.classList.add("unbounded"); - document.getElementById("endcamera").style.display = ""; - ctx.canvas.classList.remove("offscreen"); - document.getElementById("camview").classList.add("took") - // si c'est portrait, nous doivons le tourner à landscape (parce que le canvas ont besoin d'un photo landscape pour marcher bien) - if (box.height > box.width) { - canvas.width = box.height; - canvas.height = box.width; - ctx.translate(box.width/2, box.height/2); - ctx.rotate(Math.PI / 2); - ctx.drawImage(video, -box.width/2, -box.height/2, box.width, box.height); - ctx.rotate(-Math.PI / 2); - ctx.translate(-box.width/2, -box.height/2); - } - else { - canvas.width = box.width; - canvas.height = box.height; - ctx.drawImage(video, 0, 0, box.width, box.height); - } - video.classList.remove("unbounded"); -} - -function setdetails() { - frame("details"); -} - - -if ("geolocation" in navigator) { - document.getElementById("here").style.display = ""; -} - -function populateLocation() { - navigator.geolocation.getCurrentPosition(pos => { - document.getElementById("long").value = pos.coords.longitude; - document.getElementById("lat").value = pos.coords.latitude; - }); -} - -function render() { - frame("finalresult"); -} - -window.app = { - "home": { - enter() { - let preview = document.getElementById("preview"); - navigator.mediaDevices.getUserMedia({ video: { - facingMode: { ideal: "environment" } - }, audio : false }).then((stream) => { - video.srcObject = stream; - video.play(); - preview.srcObject = stream; - preview.play(); - window.app.stream = stream; - }); - }, - exit() { - window.app.stream.getTracks().forEach(track => { - track.stop(); - }); - } - }, - "details": { - enter() { - }, - exit() { - - } - }, - "finalresult": { - enter() { - let canvas = document.getElementById("final"); - let ctx = canvas.getContext("2d"); - ctx.font = "bold 48px sans-serif"; - ctx.filLStyle = "black"; - ctx.fillText(document.getElementById("title").value, 0, 48); - ctx.font = "bold 24px sans-serif"; - ctx.fillText(new Date().toLocaleString(), 0, 76); - let lat = document.getElementById("lat").value; - let long = document.getElementById("long").value; - reverse_geocode(lat, long).then(res => { - ctx.fillText(res, 0, 104); - }); - ctx.fillText("https://maps.google.com/maps?q=" + lat + "," + long, 0, 128); - ctx.fillText("Notes: " + document.getElementById("notes").value, 0, 154); - let image = document.getElementById("precanvas"); - ctx.drawImage(image, 0, 160, 720 * 1/2, image.height / image.width * 720 * 1/2); - maps_static(lat, long, img => { - ctx.drawImage(img, 365, 160); - }); - }, - exit() { - - } - } -} - -frame("home"); - - -async function reverse_geocode(lat, long) { - let res = await fetch("https://maps.googleapis.com/maps/api/geocode/json?zoom=6&latlng=" + lat + "," + long + "&key=AIzaSyD_zbdxwN7_aOMNH69eAL9bSS814Ix-UM8"); - let json = await res.json(); - return json.results[0].formatted_address; -} - - -function maps_static(lat, long, cbk) { - let img = document.createElement("img"); - document.body.appendChild(img); - img.classList.add("offscreen"); - img.src = "https://maps.googleapis.com/maps/api/staticmap?size=355x300&key=AIzaSyD_zbdxwN7_aOMNH69eAL9bSS814Ix-UM8&markers=label:S%7C" + lat + "," + long; - img.crossOrigin = "anonymous"; - img.onload = () => { - cbk(img); - }; -} - - -function download() { - let canvas = document.getElementById("final"); - let anchor = document.createElement("a"); - anchor.href = canvas.toDataURL(); - anchor.download = "file.png"; - anchor.click(); -} \ No newline at end of file diff --git a/frog-realestate-pwa/manifest.json b/frog-realestate-pwa/manifest.json deleted file mode 100644 index d28ead1..0000000 --- a/frog-realestate-pwa/manifest.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "camera-info", - "start_url": ".", - "icons": [ - { - "src": "icon.png", - "type": "image/png", - "sizes": "512x512" - }, - { - "src": "icon.png", - "type": "image/png", - "sizes": "192x192" - } - ], - "display": "standalone" -} diff --git a/index.html b/index.html deleted file mode 100644 index b1bf77e..0000000 --- a/index.html +++ /dev/null @@ -1,2 +0,0 @@ -

Under Construction

-Welcome to the Clarke Information Systems homepage! This website is currently under construction. Check back later! diff --git a/output/.sitix b/output/.sitix new file mode 100755 index 0000000..782ecc0 --- /dev/null +++ b/output/.sitix @@ -0,0 +1,3 @@ +Project rendered by Sitix (by Tyler Clarke). Sitix is free and open source software protected by GPLv3. For more information on Sitix, see the website: https://swaous.asuscomm.com/sitix. + +This file is automatically added to mark a project directory; the directory this is in will be FULLY DELETED by the next Sitix build and files in it should not be manually edited. \ No newline at end of file diff --git a/output/header-hider.js b/output/header-hider.js new file mode 100755 index 0000000..c165be0 --- /dev/null +++ b/output/header-hider.js @@ -0,0 +1,18 @@ + + + +let old_scroll_top = document.documentElement.scrollTop; + +function onscroll() { + if (document.documentElement.scrollTop > old_scroll_top + 100) { + document.getElementById("header").classList.add("hide"); + old_scroll_top = document.documentElement.scrollTop; + } + if (document.documentElement.scrollTop < old_scroll_top) { + old_scroll_top = document.documentElement.scrollTop; + document.getElementById("header").classList.remove("hide"); + } +} + +window.addEventListener("wheel", onscroll); +window.addEventListener("scroll", onscroll); \ No newline at end of file diff --git a/output/index.html b/output/index.html new file mode 100755 index 0000000..8c9532f --- /dev/null +++ b/output/index.html @@ -0,0 +1,28 @@ + + + + + + + + + + Home | Clarke Information Systems + + + + + +
+ hi! + lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
+ +
+ + + + \ No newline at end of file diff --git a/output/main.css b/output/main.css new file mode 100755 index 0000000..203b10e --- /dev/null +++ b/output/main.css @@ -0,0 +1,23 @@ +body { + margin: 0px; + padding: 0px; + display: flex; + flex-direction: column; +} + +#header { + position: sticky; + top: 0px; + padding: 10px; + background-color: white; + box-shadow: 0px 0px 5px 5px black; + transition: transform 0.5s; +} + +#footer { + margin-top: auto; +} + +#header.hide { + transform: translateY(-100%); +} \ No newline at end of file diff --git a/output/main.js b/output/main.js new file mode 100755 index 0000000..e69de29 diff --git a/site/config.stx b/site/config.stx new file mode 100644 index 0000000..b197f80 --- /dev/null +++ b/site/config.stx @@ -0,0 +1,8 @@ +[?] + +[=config-] + [=baseurl "http://localhost:8080"] + [i production] + [=baseurl "https://clarkeis.com"] + [/] +[/] \ No newline at end of file diff --git a/site/default.html b/site/default.html new file mode 100644 index 0000000..f52b867 --- /dev/null +++ b/site/default.html @@ -0,0 +1,22 @@ +[?] +[#config.stx] + + + + [^title] | Clarke Information Systems + + + + + +
+ [^content] +
+ + + + \ No newline at end of file diff --git a/site/header-hider.js b/site/header-hider.js new file mode 100644 index 0000000..cdc14e6 --- /dev/null +++ b/site/header-hider.js @@ -0,0 +1,18 @@ +[!] + + +let old_scroll_top = document.documentElement.scrollTop; + +function onscroll() { + if (document.documentElement.scrollTop > old_scroll_top + 100) { + document.getElementById("header").classList.add("hide"); + old_scroll_top = document.documentElement.scrollTop; + } + if (document.documentElement.scrollTop < old_scroll_top) { + old_scroll_top = document.documentElement.scrollTop; + document.getElementById("header").classList.remove("hide"); + } +} + +window.addEventListener("wheel", onscroll); +window.addEventListener("scroll", onscroll); \ No newline at end of file diff --git a/site/index.html b/site/index.html new file mode 100644 index 0000000..44b5091 --- /dev/null +++ b/site/index.html @@ -0,0 +1,7 @@ +[!] +[=title "Home"] +[=content-] + hi! + lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
lor
+[/] +[#default.html] \ No newline at end of file diff --git a/site/main.css b/site/main.css new file mode 100644 index 0000000..203b10e --- /dev/null +++ b/site/main.css @@ -0,0 +1,23 @@ +body { + margin: 0px; + padding: 0px; + display: flex; + flex-direction: column; +} + +#header { + position: sticky; + top: 0px; + padding: 10px; + background-color: white; + box-shadow: 0px 0px 5px 5px black; + transition: transform 0.5s; +} + +#footer { + margin-top: auto; +} + +#header.hide { + transform: translateY(-100%); +} \ No newline at end of file diff --git a/site/main.js b/site/main.js new file mode 100644 index 0000000..c4211cf --- /dev/null +++ b/site/main.js @@ -0,0 +1 @@ +[!] \ No newline at end of file