diff --git a/docker-compose.yaml b/docker-compose.yaml index dc861023c4d3a9ff638d28381ffce2b2c49c7823..d61e72cc4c9cd90fbd3046623b03a367e7831877 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -8,6 +8,7 @@ services: - ./nginx/logs:/var/log/nginx - ./nginx/html:/var/www/html - ./nginx/ssl:/etc/ssl + - ./nginx/conf:/etc/conf ports: - 80:80 - 443:443 diff --git a/nginx/conf/mime.types b/nginx/conf/mime.types new file mode 100644 index 0000000000000000000000000000000000000000..8d37c863671b3497a21182d5c197d197057a9687 --- /dev/null +++ b/nginx/conf/mime.types @@ -0,0 +1,98 @@ +types { + text/html html htm shtml; + text/css css; + text/xml xml; + image/gif gif; + image/jpeg jpeg jpg; + application/javascript js; + application/atom+xml atom; + application/rss+xml rss; + + text/mathml mml; + text/plain txt; + text/vnd.sun.j2me.app-descriptor jad; + text/vnd.wap.wml wml; + text/x-component htc; + + image/avif avif; + image/png png; + image/svg+xml svg svgz; + image/tiff tif tiff; + image/vnd.wap.wbmp wbmp; + image/webp webp; + image/x-icon ico; + image/x-jng jng; + image/x-ms-bmp bmp; + + font/woff woff; + font/woff2 woff2; + + application/java-archive jar war ear; + application/json json; + application/mac-binhex40 hqx; + application/msword doc; + application/pdf pdf; + application/postscript ps eps ai; + application/rtf rtf; + application/vnd.apple.mpegurl m3u8; + application/vnd.google-earth.kml+xml kml; + application/vnd.google-earth.kmz kmz; + application/vnd.ms-excel xls; + application/vnd.ms-fontobject eot; + application/vnd.ms-powerpoint ppt; + application/vnd.oasis.opendocument.graphics odg; + application/vnd.oasis.opendocument.presentation odp; + application/vnd.oasis.opendocument.spreadsheet ods; + application/vnd.oasis.opendocument.text odt; + application/vnd.openxmlformats-officedocument.presentationml.presentation + pptx; + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet + xlsx; + application/vnd.openxmlformats-officedocument.wordprocessingml.document + docx; + application/vnd.wap.wmlc wmlc; + application/wasm wasm; + application/x-7z-compressed 7z; + application/x-cocoa cco; + application/x-java-archive-diff jardiff; + application/x-java-jnlp-file jnlp; + application/x-makeself run; + application/x-perl pl pm; + application/x-pilot prc pdb; + application/x-rar-compressed rar; + application/x-redhat-package-manager rpm; + application/x-sea sea; + application/x-shockwave-flash swf; + application/x-stuffit sit; + application/x-tcl tcl tk; + application/x-x509-ca-cert der pem crt; + application/x-xpinstall xpi; + application/xhtml+xml xhtml; + application/xspf+xml xspf; + application/zip zip; + + application/octet-stream bin exe dll; + application/octet-stream deb; + application/octet-stream dmg; + application/octet-stream iso img; + application/octet-stream msi msp msm; + + audio/midi mid midi kar; + audio/mpeg mp3; + audio/ogg ogg; + audio/x-m4a m4a; + audio/x-realaudio ra; + + video/3gpp 3gpp 3gp; + video/mp2t ts; + video/mp4 mp4; + video/mpeg mpeg mpg; + video/quicktime mov; + video/webm webm; + video/x-flv flv; + video/x-m4v m4v; + video/x-mng mng; + video/x-ms-asf asx asf; + video/x-ms-wmv wmv; + video/x-msvideo avi; +} diff --git a/nginx/html/index.html b/nginx/html/index.html index 6b4aa786a74625e4d12947aa154715ff61bdfacb..3daefa5e1b899675a04c264d8a05a8de958277be 100644 --- a/nginx/html/index.html +++ b/nginx/html/index.html @@ -3,52 +3,48 @@ - TIC projects landing page - + TIC Projects Landing Page + + - -
-

TIC projects landing page

-
- Post Summaries - Empty template - Empty template - Empty template - Empty template - + +
+
+

HE-Arc

+

TIC Project Landing Page

+
+ +
+ diff --git a/nginx/html/resources/Curved_Arrow.svg b/nginx/html/resources/Curved_Arrow.svg new file mode 100644 index 0000000000000000000000000000000000000000..9d738ea642d533f924c535d229944d63a1cdcf3f --- /dev/null +++ b/nginx/html/resources/Curved_Arrow.svg @@ -0,0 +1,2 @@ + +image/svg+xml \ No newline at end of file diff --git a/nginx/html/resources/arrow-right-black.svg b/nginx/html/resources/arrow-right-black.svg new file mode 100644 index 0000000000000000000000000000000000000000..6fb1691e0681aec2bd06fca3750b14242ed08157 --- /dev/null +++ b/nginx/html/resources/arrow-right-black.svg @@ -0,0 +1,48 @@ + + + + + + + + + diff --git a/nginx/html/resources/arrow-right-circle.svg b/nginx/html/resources/arrow-right-circle.svg new file mode 100644 index 0000000000000000000000000000000000000000..ff70137f0933b8647e947fa124ee4385c11ec5cc --- /dev/null +++ b/nginx/html/resources/arrow-right-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/nginx/html/resources/arrow-right-red.svg b/nginx/html/resources/arrow-right-red.svg new file mode 100644 index 0000000000000000000000000000000000000000..c21b382a9362a70148514b97a33ab26312f5ff9d --- /dev/null +++ b/nginx/html/resources/arrow-right-red.svg @@ -0,0 +1,44 @@ + + + + + + + + diff --git a/nginx/html/resources/logo_hearc.svg b/nginx/html/resources/logo_hearc.svg new file mode 100644 index 0000000000000000000000000000000000000000..b7c4c8a74a3b00aab8ef510f4ce8b3d8ef3180dd --- /dev/null +++ b/nginx/html/resources/logo_hearc.svg @@ -0,0 +1,9 @@ + + + ARC_RGB_Logo_transp black Copy 23 + + + + + + \ No newline at end of file diff --git a/nginx/html/resources/page_corner.svg b/nginx/html/resources/page_corner.svg new file mode 100644 index 0000000000000000000000000000000000000000..b1a84e05751a7b24226897f8c0e18dfd1d884d8f --- /dev/null +++ b/nginx/html/resources/page_corner.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + diff --git a/nginx/html/resources/search-black.svg b/nginx/html/resources/search-black.svg new file mode 100644 index 0000000000000000000000000000000000000000..648171eb1869a55f83fac0a95f30ebaa4a0f5169 --- /dev/null +++ b/nginx/html/resources/search-black.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/nginx/html/resources/search-red.svg b/nginx/html/resources/search-red.svg new file mode 100644 index 0000000000000000000000000000000000000000..f8dcc62d68b427e813c5c2d4f621d7092f2cfd1e --- /dev/null +++ b/nginx/html/resources/search-red.svg @@ -0,0 +1,42 @@ + + + + + + + + diff --git a/nginx/html/resources/search.svg b/nginx/html/resources/search.svg new file mode 100644 index 0000000000000000000000000000000000000000..019b4de73c82d23ae86554b1b9a4cf49979cf7a6 --- /dev/null +++ b/nginx/html/resources/search.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/nginx/html/script.js b/nginx/html/script.js new file mode 100644 index 0000000000000000000000000000000000000000..f45b86185d7430a0f63965353256177dd87e1686 --- /dev/null +++ b/nginx/html/script.js @@ -0,0 +1,31 @@ +function filterLinks() { + var input = document.getElementById('filterButtons'); // Ensure 'filterButtons' is the correct ID + var filter = input.value.toUpperCase(); + var buttonList = document.getElementById('listButtons'); // Ensure 'listButtons' is the correct ID + var buttons = buttonList.getElementsByTagName('a'); + + for (var i = 0; i < buttons.length; i++) { + var button = buttons[i]; + var txtValue = button.textContent || button.innerText; + if (txtValue.toUpperCase().indexOf(filter) > -1) { + button.style.display = ""; + } else { + button.style.display = "none"; + } + } +} + +document.addEventListener('DOMContentLoaded', function() { + var buttons = document.querySelectorAll('.button'); // Get all buttons + + // Function to handle button image change + buttons.forEach(function(button) { + button.addEventListener('mouseover', function() { + this.querySelector('.button-arrow').src = 'resources/arrow-right-red.svg'; + }); + + button.addEventListener('mouseout', function() { + this.querySelector('.button-arrow').src = 'resources/arrow-right-black.svg'; + }); + }); +}); diff --git a/nginx/html/styles.css b/nginx/html/styles.css new file mode 100644 index 0000000000000000000000000000000000000000..99ec14006f47ae7bc302f2a4e31ccec69283a4d3 --- /dev/null +++ b/nginx/html/styles.css @@ -0,0 +1,234 @@ +html, body { + height: 100%; + font-family: "Gt eesti display",sans-serif; + background-color: var(--gray); +} + +body { + margin-top: 0; +} + +h2 { + font-size: 55px; + color: var(--accent); + margin-top: 10px; +} + +h1 { + font-size: 32px; + margin-bottom: 10px; +} + +h3 { + font-size: 45px; + margin-left: 10px; + margin-top: 0; + color: var(--accent); +} + +.header { + margin-bottom: 40px; + padding-right: 30px; + padding-left: 30px; + padding-top: 32px; + border-right: 4px solid var(--accent); + border-bottom: 4px solid var(--accent); + border-left: 4px solid var(--accent); + background-color: #fff; + display: flex; + justify-content: space-between; +} + +.logo-hearc { + width: 300px; +} + +.list-page { + border: 4px solid var(--accent); + margin: 0; + padding-top: 30px; + padding-bottom: 30px; + background-color: #fff; + display: flex; + justify-content: space-between; +} + +.list-tag { + display:flex; + align-items: top; + justify-content: flex-start; +} + +.list-tag-rect { + width: 100px; + height: 15px; + margin-top: 22px; + background-color: var(--accent); +} + +.list-buttons { + position: relative; + margin-right: 100px; +} + +.button { + position: relative; + width: 80%; + height: 50px; + max-width: 560px; + margin-left: auto; + margin-right: 0; + margin-bottom: 20px; + padding-top: 20px; + padding-bottom: 20px; + padding-left: 40px; + padding-right: 40px; + display: flex; + align-items: center; + justify-content: space-between; + background-color: #fff; + border: 4px solid var(--accent); + box-shadow: 7px 7px var(--accent); + font-size: 30px; + text-decoration: none; + color: #000; + transition: transform 0.2s; +} + +.button:hover, .search-zone:hover, .search-zone:focus-within { + transform: scale(1.05); + color: var(--accent); +} + +.button-arrow, .search-icon { + width: 50px; + height: 50px; +} + +.search-bar { + width: 100%; + font-size: 30px; + text-decoration: none; + color: inherit; + border: none; +} + +.search-zone { + position: relative; + width: 80%; + height: 20px; + max-width: 560px; + margin-left: auto; + margin-right: 0; + margin-bottom: 20px; + margin-bottom: 20px; + padding-top: 20px; + padding-bottom: 20px; + padding-left: 40px; + padding-right: 40px; + display: flex; + align-items: center; + justify-content: space-between; + background-color: #fff; + border: 4px solid var(--accent); + transition: transform 0.2s; +} + +.search-bar:focus { + outline: none; +} + +.header-container { + margin-right: 30px; + margin-left: 30px; +} + +.page-max-header, .page-max-list { + position: relative; + margin-right : auto; + margin-left : auto; +} + +.page-max-header { + max-width: 1400px; +} + +.page-max-list { + max-width: 1200px; + min-height: 250px; +} + +.theme { + --accent: #E30613; + --accent-pale: #FDA4A9; + --accent-80: #f92733; + --accent-shadow: #E30613; + --accent-shadow-bold: #E30613; + --gray: #f4f4f4; +} + +@media (max-width: 600px) { + h1 { + font-size: 18px; + } + h2 { + font-size: 22px; + } + .header { + border-right: 2px solid var(--accent); + border-bottom: 2px solid var(--accent); + border-left: 2px solid var(--accent); + margin-bottom: 20px; + padding-right: 10px; + padding-left: 10px; + padding-top: 15px; + } + .logo-hearc { + display: none; + } + .list-page { + border: 2px solid var(--accent); + padding-top: 15px; + padding-bottom: 15px; + padding-right: 10px; + padding-left: 10px; + } + .list-buttons { + width: 100%; + margin: 0; + } + .search-zone { + width: auto; + margin: 0; + margin-bottom: 10px; + padding: 10px; + border: 2px solid var(--accent); + } + .search-bar { + font-size: 16px; + } + .search-icon { + width: 30px; + height: 30px; + } + .button { + width: auto; + height: auto; + margin: 0; + margin-bottom: 10px; + font-size: 16px; + padding: 10px; + border: 2px solid var(--accent); + box-shadow: 2px 2px var(--accent); + } + .button-arrow { + width: 30px; + height: 30px; + } + .list-tag { + display: none; + } + .button:hover, .search-zone:hover, .search-zone:focus-within { + transform: none; + } +} diff --git a/nginx/nginx.conf b/nginx/nginx.conf index 38ca6728d4f470ee85923d8ccdc5873587182486..1ff94dc764f85ba038c8544d01ce4efb40a01163 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -2,6 +2,8 @@ events{ worker_connections 128; } http{ + include /etc/conf/mime.types; # Ensures MIME types are handled correctly + server { listen 443 ssl; @@ -45,4 +47,4 @@ server { # proxy_redirect off; # } } -} \ No newline at end of file +}