Add 'website/' from commit 'd208ee83f80467e25c662b4680ed2d6161d88d9e'
git-subtree-dir: website git-subtree-mainline:83b1c9ac3b
git-subtree-split:d208ee83f8
BIN
website/.DS_Store
vendored
Normal file
0
website/.hugo_build.lock
Normal file
21
website/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2023 - Present, Zeon Studio
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
BIN
website/Montserrat-SemiBold.woff2
Normal file
29
website/amplify.yml
Normal file
|
@ -0,0 +1,29 @@
|
|||
version: 1
|
||||
frontend:
|
||||
phases:
|
||||
preBuild:
|
||||
commands:
|
||||
- yum install -y curl
|
||||
- curl -LO "https://github.com/gohugoio/hugo/releases/download/v0.121.2/hugo_extended_0.121.2_Linux-64bit.tar.gz"
|
||||
- tar -xvf hugo_extended_0.121.2_Linux-64bit.tar.gz
|
||||
- mv hugo /usr/local/bin/
|
||||
- rm hugo_extended_0.121.2_Linux-64bit.tar.gz
|
||||
- echo "HUGO 0.121.2 INSTALLED"
|
||||
- curl -LO "https://dl.google.com/go/go1.20.5.linux-amd64.tar.gz"
|
||||
- tar -C /usr/local -xzf go1.20.5.linux-amd64.tar.gz
|
||||
- export PATH=$PATH:/usr/local/go/bin
|
||||
- rm go1.20.5.linux-amd64.tar.gz
|
||||
- echo "GO 1.20.5 INSTALLED"
|
||||
- npm install
|
||||
build:
|
||||
commands:
|
||||
- npm run project-setup
|
||||
- npm run build
|
||||
artifacts:
|
||||
# IMPORTANT - Please verify your build output directory
|
||||
baseDirectory: /public
|
||||
files:
|
||||
- "**/*"
|
||||
cache:
|
||||
paths:
|
||||
- node_modules/**/*
|
BIN
website/assets/.DS_Store
vendored
Normal file
BIN
website/assets/images/avatar-sm.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
website/assets/images/avatar.png
Executable file
After Width: | Height: | Size: 2.2 KiB |
BIN
website/assets/images/banner.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
website/assets/images/bergen-airport.jpeg
Normal file
After Width: | Height: | Size: 3.2 MiB |
BIN
website/assets/images/call-to-action.png
Executable file
After Width: | Height: | Size: 19 KiB |
BIN
website/assets/images/checkbox-illustration-scaled.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
website/assets/images/checkbox-illustration.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
website/assets/images/code.png
Normal file
After Width: | Height: | Size: 769 B |
BIN
website/assets/images/favicon-archive.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
website/assets/images/favicon.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
website/assets/images/globe.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
1
website/assets/images/home.svg
Normal file
After Width: | Height: | Size: 6.8 KiB |
BIN
website/assets/images/image-placeholder.png
Executable file
After Width: | Height: | Size: 4.8 KiB |
BIN
website/assets/images/logo-archive.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
website/assets/images/logo-darkmode-archive.png
Normal file
After Width: | Height: | Size: 3 KiB |
BIN
website/assets/images/logo-darkmode.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
website/assets/images/logo.png
Normal file
After Width: | Height: | Size: 19 KiB |
1
website/assets/images/mastodon.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="18px" height="18px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><path d="M17.038,10.791c-0.247,1.27 -2.211,2.659 -4.466,2.928c-1.176,0.141 -2.334,0.27 -3.569,0.213c-2.019,-0.092 -3.613,-0.482 -3.613,-0.482c0,0.197 0.012,0.384 0.037,0.559c0.262,1.993 1.976,2.112 3.599,2.168c1.638,0.056 3.097,-0.404 3.097,-0.404l0.067,1.481c0,-0 -1.146,0.615 -3.187,0.728c-1.126,0.062 -2.523,-0.028 -4.151,-0.459c-3.531,-0.934 -4.138,-4.698 -4.231,-8.516c-0.028,-1.134 -0.011,-2.203 -0.011,-3.097c0,-3.905 2.559,-5.05 2.559,-5.05c1.29,-0.592 3.503,-0.841 5.804,-0.86l0.057,-0c2.301,0.019 4.516,0.268 5.806,0.86c0,0 2.558,1.145 2.558,5.05c0,-0 0.032,2.881 -0.356,4.881Zm-2.661,-4.578c-0,-0.967 -0.246,-1.735 -0.74,-2.303c-0.51,-0.568 -1.178,-0.859 -2.006,-0.859c-0.959,0 -1.684,0.368 -2.164,1.105l-0.467,0.783l-0.467,-0.783c-0.48,-0.737 -1.205,-1.105 -2.164,-1.105c-0.828,0 -1.496,0.291 -2.005,0.859c-0.495,0.568 -0.741,1.336 -0.741,2.303l0,4.728l1.873,-0l0,-4.589c0,-0.968 0.407,-1.459 1.222,-1.459c0.9,0 1.351,0.583 1.351,1.734l0,2.512l1.862,0l0,-2.512c0,-1.151 0.451,-1.734 1.351,-1.734c0.815,0 1.222,0.491 1.222,1.459l-0,4.589l1.873,-0l-0,-4.728Z" style="fill:#fff;"/></svg>
|
After Width: | Height: | Size: 1.5 KiB |
62
website/assets/images/ngi_fedi_full.svg
Normal file
|
@ -0,0 +1,62 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="280px" height="66px" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(-92.5839,89.7794,89.9728,92.3849,108.412,-11.8899)">
|
||||
<clipPath id="_clip1">
|
||||
<path d="M0.626,-0.479C0.648,-0.501 0.684,-0.501 0.706,-0.478L0.984,-0.192C1.006,-0.17 1.005,-0.134 0.983,-0.112L0.374,0.479C0.352,0.501 0.316,0.501 0.294,0.478L0.228,0.411C0.221,0.403 0.211,0.399 0.201,0.399L0.135,0.398C0.116,0.398 0.101,0.383 0.102,0.364L0.103,0.298C0.103,0.288 0.099,0.278 0.092,0.27L0.016,0.192C-0.006,0.17 -0.005,0.134 0.017,0.112L0.626,-0.479Z" clip-rule="nonzero"/>
|
||||
</clipPath>
|
||||
<g clip-path="url(#_clip1)">
|
||||
<g transform="matrix(-0.00555496,0.0053983,0.00540993,0.00556693,0.666547,-0.51905)">
|
||||
<use xlink:href="#_Image2" x="0" y="0" width="134px" height="66px"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(1.99169,0,0,1.98741,-24.1895,-281.839)">
|
||||
<path d="M66.085,147.792C67.443,147.792 68.544,148.893 68.544,150.251L68.544,166.582C68.544,167.939 67.443,169.04 66.085,169.04C64.728,169.04 63.627,167.939 63.627,166.582L63.627,150.251C63.627,148.893 64.728,147.792 66.085,147.792" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(1.99169,0,0,1.98741,-24.1895,-281.839)">
|
||||
<path d="M58.126,158.082L57.957,158.082C57.936,158.082 57.915,158.085 57.893,158.086C57.871,158.085 57.851,158.082 57.829,158.082L55.401,158.082C54.092,158.082 52.948,159.07 52.863,160.378C52.772,161.81 53.905,163 55.317,163C55.576,163 55.766,163.251 55.688,163.498C55.469,164.193 54.907,164.748 54.172,164.942C53.48,165.125 52.747,165.216 51.971,165.216C50.635,165.216 49.445,164.928 48.403,164.351C47.361,163.774 46.547,162.97 45.96,161.937C45.373,160.905 45.08,159.732 45.08,158.416C45.08,157.081 45.373,155.896 45.96,154.865C46.547,153.833 47.366,153.033 48.419,152.467C49.471,151.9 50.675,151.617 52.031,151.617C53.592,151.617 54.986,152.04 56.214,152.886C56.995,153.423 58.056,153.415 58.8,152.829C59.96,151.915 59.897,150.147 58.695,149.345C58.128,148.966 57.516,148.641 56.857,148.369C55.34,147.742 53.65,147.428 51.788,147.428C49.562,147.428 47.559,147.898 45.778,148.839C43.997,149.78 42.606,151.086 41.605,152.755C40.603,154.425 40.102,156.311 40.102,158.416C40.102,160.521 40.603,162.408 41.605,164.077C42.606,165.747 43.987,167.053 45.748,167.993C47.508,168.935 49.491,169.404 51.697,169.404C53.235,169.404 54.763,169.172 56.281,168.707C56.296,168.702 56.312,168.697 56.326,168.692C58.694,167.959 60.288,165.739 60.288,163.26L60.288,160.244C60.288,159.051 59.32,158.082 58.126,158.082" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(1.99169,0,0,1.98741,-24.1895,-281.837)">
|
||||
<path d="M37.613,150.22L37.613,166.612C37.613,167.952 36.525,169.04 35.184,169.04L34.723,169.04C33.997,169.04 33.308,168.714 32.846,168.153L24.77,158.318C24.169,157.585 22.981,158.011 22.981,158.958L22.981,166.612C22.981,167.952 21.894,169.04 20.552,169.04C19.212,169.04 18.125,167.952 18.125,166.612L18.125,150.22C18.125,148.878 19.212,147.791 20.552,147.791L21.042,147.791C21.77,147.791 22.46,148.117 22.921,148.681L30.966,158.506C31.566,159.24 32.756,158.815 32.756,157.866L32.756,150.22C32.756,148.878 33.842,147.791 35.184,147.791C36.525,147.791 37.613,148.878 37.613,150.22" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(1.99169,0,0,1.98741,-24.1895,-311.37)">
|
||||
<path d="M88.87,165.549L92.565,165.549L92.565,166.714L88.87,166.714L88.87,165.549ZM88.987,169.551L87.61,169.551L87.61,162.14L93.02,162.14L93.02,163.294L88.987,163.294L88.987,169.551Z" style="fill:rgb(111,154,168);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(1.99169,0,0,1.98741,-24.1895,-311.37)">
|
||||
<path d="M99.012,165.221L102.696,165.221L102.696,166.354L99.012,166.354L99.012,165.221ZM99.118,168.397L103.3,168.397L103.3,169.551L97.742,169.551L97.742,162.14L103.152,162.14L103.152,163.294L99.118,163.294L99.118,168.397Z" style="fill:rgb(111,154,168);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(1.99169,0,0,1.98741,-24.1895,-311.37)">
|
||||
<path d="M108.223,169.551L108.223,162.14L111.462,162.14C112.267,162.14 112.973,162.296 113.58,162.606C114.187,162.917 114.659,163.347 114.998,163.898C115.337,164.448 115.506,165.098 115.506,165.846C115.506,166.587 115.337,167.234 114.998,167.788C114.659,168.342 114.187,168.775 113.58,169.085C112.973,169.396 112.267,169.551 111.462,169.551L108.223,169.551ZM109.599,168.386L111.399,168.386C111.956,168.386 112.438,168.281 112.844,168.069C113.25,167.857 113.564,167.561 113.786,167.18C114.008,166.798 114.119,166.354 114.119,165.846C114.119,165.33 114.008,164.884 113.786,164.506C113.564,164.129 113.25,163.834 112.844,163.622C112.438,163.411 111.956,163.305 111.399,163.305L109.599,163.305L109.599,168.386Z" style="fill:rgb(111,154,168);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(1.99169,0,0,1.98741,-24.1895,-311.369)">
|
||||
<rect x="120.355" y="162.14" width="1.376" height="7.411" style="fill:rgb(111,154,168);"/>
|
||||
</g>
|
||||
<g transform="matrix(1.99169,0,0,1.98741,-24.1895,-308.341)">
|
||||
<rect x="133.017" y="164.533" width="2.911" height="1.101" style="fill:rgb(111,154,168);"/>
|
||||
</g>
|
||||
<g transform="matrix(1.99169,0,0,1.98741,-24.1895,-257.169)">
|
||||
<path d="M89.802,155.915L86.562,148.504L88.055,148.504L90.945,155.205L90.088,155.205L93.01,148.504L94.386,148.504L91.157,155.915L89.802,155.915Z" style="fill:rgb(111,154,168);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(1.99169,0,0,1.98741,-24.1895,-257.169)">
|
||||
<path d="M99.827,151.585L103.512,151.585L103.512,152.717L99.827,152.717L99.827,151.585ZM99.933,154.761L104.115,154.761L104.115,155.915L98.557,155.915L98.557,148.504L103.967,148.504L103.967,149.658L99.933,149.658L99.933,154.761Z" style="fill:rgb(111,154,168);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(1.99169,0,0,1.98741,-24.1895,-257.169)">
|
||||
<path d="M109.038,155.915L109.038,148.504L112.087,148.504C112.743,148.504 113.306,148.61 113.775,148.822C114.245,149.033 114.606,149.337 114.861,149.732C115.115,150.127 115.242,150.597 115.242,151.14C115.242,151.684 115.115,152.151 114.861,152.543C114.606,152.935 114.245,153.234 113.775,153.443C113.306,153.651 112.743,153.755 112.087,153.755L109.8,153.755L110.414,153.13L110.414,155.915L109.038,155.915ZM113.887,155.915L112.013,153.226L113.484,153.226L115.369,155.915L113.887,155.915ZM110.414,153.279L109.8,152.622L112.023,152.622C112.63,152.622 113.087,152.492 113.394,152.23C113.701,151.969 113.855,151.606 113.855,151.14C113.855,150.667 113.701,150.304 113.394,150.05C113.087,149.796 112.63,149.669 112.023,149.669L109.8,149.669L110.414,148.991L110.414,153.279Z" style="fill:rgb(111,154,168);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(1.99169,0,0,1.98741,-24.1895,-257.169)">
|
||||
<path d="M122.462,156.021C121.883,156.021 121.329,155.938 120.8,155.772C120.27,155.606 119.85,155.392 119.54,155.131L120.016,154.062C120.313,154.295 120.68,154.489 121.117,154.644C121.555,154.8 122.003,154.877 122.462,154.877C122.85,154.877 123.164,154.835 123.404,154.75C123.644,154.665 123.82,154.551 123.933,154.406C124.046,154.261 124.103,154.097 124.103,153.914C124.103,153.688 124.022,153.506 123.859,153.369C123.697,153.231 123.487,153.122 123.229,153.04C122.972,152.959 122.686,152.883 122.372,152.813C122.058,152.742 121.744,152.659 121.43,152.564C121.116,152.469 120.83,152.345 120.572,152.193C120.314,152.042 120.104,151.839 119.942,151.585C119.78,151.331 119.699,151.006 119.699,150.611C119.699,150.208 119.806,149.84 120.022,149.504C120.237,149.169 120.565,148.901 121.006,148.7C121.447,148.499 122.007,148.398 122.684,148.398C123.129,148.398 123.57,148.455 124.007,148.567C124.445,148.68 124.826,148.843 125.151,149.054L124.717,150.124C124.385,149.926 124.043,149.78 123.69,149.684C123.337,149.589 122.998,149.541 122.674,149.541C122.292,149.541 121.984,149.587 121.747,149.679C121.511,149.771 121.338,149.891 121.228,150.039C121.119,150.187 121.064,150.357 121.064,150.547C121.064,150.773 121.144,150.955 121.303,151.092C121.461,151.23 121.67,151.338 121.927,151.415C122.185,151.493 122.472,151.569 122.79,151.643C123.108,151.717 123.423,151.8 123.737,151.892C124.052,151.983 124.337,152.103 124.595,152.252C124.853,152.4 125.061,152.601 125.22,152.855C125.378,153.109 125.458,153.43 125.458,153.819C125.458,154.214 125.35,154.579 125.135,154.914C124.92,155.249 124.59,155.518 124.145,155.719C123.7,155.92 123.139,156.021 122.462,156.021Z" style="fill:rgb(111,154,168);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(1.99169,0,0,1.98741,-24.1895,-257.169)">
|
||||
<rect x="130.211" y="148.504" width="1.376" height="7.411" style="fill:rgb(111,154,168);"/>
|
||||
</g>
|
||||
<g transform="matrix(1.99169,0,0,1.98741,-24.1895,-257.169)">
|
||||
<path d="M138.479,155.915L138.479,149.669L136.023,149.669L136.023,148.504L142.312,148.504L142.312,149.669L139.856,149.669L139.856,155.915L138.479,155.915Z" style="fill:rgb(111,154,168);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(1.99169,0,0,1.98741,-24.1895,-257.169)">
|
||||
<path d="M148.452,155.915L148.452,152.982L148.759,153.829L145.541,148.504L147.012,148.504L149.596,152.792L148.77,152.792L151.374,148.504L152.729,148.504L149.511,153.829L149.828,152.982L149.828,155.915L148.452,155.915Z" style="fill:rgb(111,154,168);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<defs>
|
||||
<image id="_Image2" width="134px" height="66px" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIYAAABCCAYAAACSAK4zAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFNElEQVR4nO2dUY7TQAyG/6l6ArgI4h1xjRWnAIkHEC8I7oL2cnCEDg/bsMN0xmM7dsbJ1lLUypD6c/6/ycSNtAkA8ntkJOBmO+Epyve9XLlfK2ex7YlnqefFU9ameP48YIn04TGBGaf8DhkZaG6X6/8q3/dy5X6tnGYDZDy92jN4LvDlqfvu8bx6xBL510MGM06hxeA2H02MKDxLHYU5bo2xt+alPGtYJGJE4ClrC81xa4y9NS/lsdi4YszgAfo8AnO0jRG9+Wg8gIzHmqWuTfEwzdE3xloxPJvfmxi9RXpgc9DGWCPG7Oaj8eQqZ721alM8r2lzjI0RSQxp85HEKPfxvrRxeQhzjI0hKYbiNUrzR+YBZDyt2h1zyC4lexCjV9uKB4jDQ60BWzy9BXnDHG1jRGpeykPdjVjwWImh5aFq93IcnsIcAJDyW4x/J9nTbwMcHuvada6uvSee3w/XlPabwXViy+UzvxkeZ4k6Ry3II/KU+1zPHCm/Kc4YL+mbYc1D/crb4rHYHHnO/1wDPLnoBLBzy2sa5LQx4kl4/mZweMrPseYp/43DYxGOPOebg3UXw49nOX5ePD1tFDy3xqiL1bnZYhg2vznPEl48VG0hT9sYZbFoYhg2fwgeiTbLArNVu8r1jQFBsbsYJmKoQnosqDVgkaONURae2fzyOQcXw42nPhYjngzQI3EUxVC8tnKXYp/lfSZya+7dZ/AAMp5c5UY80uMh4alrj3iGxrAWw7N5bzHqOg5iROK5vZTUt5iWpylplHU4PK3akXnqY2/Nw9GmwyOfY0QTY0Xz03ksguLhatPgkc8xoomxovlD8mgGkOo5Rp2b3byUp9O8GY+RGCY81Nmd0kY1x4jWvJRnieBiqMNqAGk+x7iLYSKGOqjarRxV+5obG6MsPLP55XMOLEYknrExrH4kCti8O4/EmJpF+trRAsHDv5TMEsOxeXcxWpc2ikcaZW1jnrYxIonh2LwqrHkizFUaPLo5RjQxlM2H4LEIiqdVm8Gjm2NEE0PZ/GF5NKOFKvhzjDo3u/loPAZimPFQZ3fmAFK2+IzUfDQeAzE25RkMIG3nGNGa9+axmqvM4Cn3afDwjAFmsZcmBlVbIUYkHp4x7mLoebaaBhvzyC4ls8TwnKt481AL4IhzlWuub4xIYjg1/2J4FKMF/RwjWvNSnkhDroBzHv0cI1rzB5k4mvGsvJWXzTHq3Ozmo/EcaK4iX3z2AO5DrtViROKRzzGkYnjFXsWINOQiePjGgKCYtxiR5ipSnnIf70vbCh6+MSKJYdT8YXgcRgu6S8kexIg05NrhnIc2RqTmpTyM5qOJ4cojHC2sm2NEa96bhzJmK+c955HwUGtA1eJzT81784xq1zmhGOKw5in2kT8MLC0WrXlvnq3nKpY8RegeBq5zdzHaay6hGJF49D+i3cXQ83jcynO0YfKkj0jrHwaeJUaEuYqWZwkvHqr2gCd9QgKsHgaeIcaK5g/JI9GmM1pIn59MAVg+DHwXQyWGGY/0WFRn9/Tl2RSA9cPAWw65IvCsFGNzns6tfPr6vykAgPc30VAUQ/Hayl2KfZb3mchJN6r2FjyAjCdXuRGP9HhIeOraaJsC4BrDWgzP5r3FqOsoxCB51nxRhDzpW9sUgOfDwNRpUxplHQ5Pq3Zknp4GVjwNbdL3vikA4Ax0wPYmBseYk8Xo8lgExVMvNH/QpgAWYwA6c0QSg2vMSWJsztNZpKefY1MAwDkBKS+tSc0xu3kpT21kax7NNHjDW3muKQDgLxosMiKefF/BAAAAAElFTkSuQmCC"/>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
BIN
website/assets/images/no-search-found.png
Executable file
After Width: | Height: | Size: 8.1 KiB |
BIN
website/assets/images/og-image.png
Normal file
After Width: | Height: | Size: 105 KiB |
BIN
website/assets/images/service-1.png
Executable file
After Width: | Height: | Size: 11 KiB |
BIN
website/assets/images/service-2.png
Executable file
After Width: | Height: | Size: 19 KiB |
BIN
website/assets/images/service-3.png
Executable file
After Width: | Height: | Size: 16 KiB |
BIN
website/assets/images/stepping-up.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
website/assets/images/user.png
Normal file
After Width: | Height: | Size: 852 B |
BIN
website/assets/images/users-scaled.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
website/assets/images/users.png
Normal file
After Width: | Height: | Size: 968 B |
1
website/assets/images/users.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="72" height="72" viewBox="0 0 24 24" fill="none" stroke="#ff6e00" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather feather-users"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg>
|
After Width: | Height: | Size: 397 B |
BIN
website/assets/images/website-new.png
Normal file
After Width: | Height: | Size: 18 KiB |
36
website/assets/js/main.js
Executable file
|
@ -0,0 +1,36 @@
|
|||
// main script
|
||||
(function () {
|
||||
"use strict";
|
||||
|
||||
// Dropdown Menu Toggler For Mobile
|
||||
// ----------------------------------------
|
||||
const dropdownMenuToggler = document.querySelectorAll(
|
||||
".nav-dropdown > .nav-link",
|
||||
);
|
||||
|
||||
dropdownMenuToggler.forEach((toggler) => {
|
||||
toggler?.addEventListener("click", (e) => {
|
||||
e.target.closest(".nav-item").classList.toggle("active");
|
||||
});
|
||||
});
|
||||
|
||||
// Testimonial Slider
|
||||
// ----------------------------------------
|
||||
new Swiper(".testimonial-slider", {
|
||||
spaceBetween: 24,
|
||||
loop: true,
|
||||
pagination: {
|
||||
el: ".testimonial-slider-pagination",
|
||||
type: "bullets",
|
||||
clickable: true,
|
||||
},
|
||||
breakpoints: {
|
||||
768: {
|
||||
slidesPerView: 2,
|
||||
},
|
||||
992: {
|
||||
slidesPerView: 3,
|
||||
},
|
||||
},
|
||||
});
|
||||
})();
|
BIN
website/assets/plugins/.DS_Store
vendored
Normal file
179
website/assets/plugins/maps/google-map.js
Normal file
|
@ -0,0 +1,179 @@
|
|||
/*!***************************************************
|
||||
* Google Map
|
||||
*****************************************************/
|
||||
|
||||
window.marker = null;
|
||||
|
||||
function initialize() {
|
||||
var map,
|
||||
mapId = document.getElementById("map");
|
||||
var latitude = mapId.getAttribute("data-latitude");
|
||||
var longitude = mapId.getAttribute("data-longitude");
|
||||
var mapMarker = mapId.getAttribute("data-marker");
|
||||
var mapMarkerName = mapId.getAttribute("data-marker-name");
|
||||
var nottingham = new google.maps.LatLng(latitude, longitude);
|
||||
var style = [
|
||||
{
|
||||
featureType: "administrative",
|
||||
elementType: "all",
|
||||
stylers: [
|
||||
{
|
||||
saturation: "-100",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
featureType: "administrative.province",
|
||||
elementType: "all",
|
||||
stylers: [
|
||||
{
|
||||
visibility: "off",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
featureType: "landscape",
|
||||
elementType: "all",
|
||||
stylers: [
|
||||
{
|
||||
saturation: -100,
|
||||
},
|
||||
{
|
||||
lightness: 65,
|
||||
},
|
||||
{
|
||||
visibility: "on",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
featureType: "poi",
|
||||
elementType: "all",
|
||||
stylers: [
|
||||
{
|
||||
saturation: -100,
|
||||
},
|
||||
{
|
||||
lightness: "50",
|
||||
},
|
||||
{
|
||||
visibility: "simplified",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
featureType: "road",
|
||||
elementType: "all",
|
||||
stylers: [
|
||||
{
|
||||
saturation: "-100",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
featureType: "road.highway",
|
||||
elementType: "all",
|
||||
stylers: [
|
||||
{
|
||||
visibility: "simplified",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
featureType: "road.arterial",
|
||||
elementType: "all",
|
||||
stylers: [
|
||||
{
|
||||
lightness: "30",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
featureType: "road.local",
|
||||
elementType: "all",
|
||||
stylers: [
|
||||
{
|
||||
lightness: "40",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
featureType: "transit",
|
||||
elementType: "all",
|
||||
stylers: [
|
||||
{
|
||||
saturation: -100,
|
||||
},
|
||||
{
|
||||
visibility: "simplified",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
featureType: "water",
|
||||
elementType: "geometry",
|
||||
stylers: [
|
||||
{
|
||||
hue: "#ffff00",
|
||||
},
|
||||
{
|
||||
lightness: -25,
|
||||
},
|
||||
{
|
||||
saturation: -97,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
featureType: "water",
|
||||
elementType: "labels",
|
||||
stylers: [
|
||||
{
|
||||
lightness: -25,
|
||||
},
|
||||
{
|
||||
saturation: -100,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
var mapOptions = {
|
||||
center: nottingham,
|
||||
mapTypeId: google.maps.MapTypeId.ROADMAP,
|
||||
backgroundColor: "#000",
|
||||
zoom: 15,
|
||||
panControl: !1,
|
||||
zoomControl: !0,
|
||||
mapTypeControl: !1,
|
||||
scaleControl: !1,
|
||||
streetViewControl: !1,
|
||||
overviewMapControl: !1,
|
||||
zoomControlOptions: {
|
||||
style: google.maps.ZoomControlStyle.LARGE,
|
||||
},
|
||||
};
|
||||
map = new google.maps.Map(document.getElementById("map"), mapOptions);
|
||||
var mapType = new google.maps.StyledMapType(style, {
|
||||
name: "Grayscale",
|
||||
});
|
||||
map.mapTypes.set("grey", mapType);
|
||||
map.setMapTypeId("grey");
|
||||
var marker_image = mapMarker;
|
||||
var pinIcon = new google.maps.MarkerImage(
|
||||
marker_image,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
new google.maps.Size(30, 50),
|
||||
);
|
||||
marker = new google.maps.Marker({
|
||||
position: nottingham,
|
||||
map: map,
|
||||
icon: pinIcon,
|
||||
title: mapMarkerName,
|
||||
});
|
||||
}
|
||||
var map = document.getElementById("map");
|
||||
if (map != null) {
|
||||
google.maps.event.addDomListener(window, "load", initialize);
|
||||
}
|
667
website/assets/plugins/swiper/swiper-bundle.css
Normal file
|
@ -0,0 +1,667 @@
|
|||
/**
|
||||
* Swiper 8.0.7
|
||||
* Most modern mobile touch slider and framework with hardware accelerated transitions
|
||||
* https://swiperjs.com
|
||||
*
|
||||
* Copyright 2014-2022 Vladimir Kharlampidi
|
||||
*
|
||||
* Released under the MIT License
|
||||
*
|
||||
* Released on: March 4, 2022
|
||||
*/
|
||||
|
||||
@font-face {
|
||||
font-family: "swiper-icons";
|
||||
src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
||||
:root {
|
||||
--swiper-theme-color: #007aff;
|
||||
}
|
||||
.swiper {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
/* Fix of Webkit flickering */
|
||||
z-index: 1;
|
||||
}
|
||||
.swiper-vertical > .swiper-wrapper {
|
||||
flex-direction: column;
|
||||
}
|
||||
.swiper-wrapper {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
transition-property: transform;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
.swiper-android .swiper-slide,
|
||||
.swiper-wrapper {
|
||||
transform: translate3d(0px, 0, 0);
|
||||
}
|
||||
.swiper-pointer-events {
|
||||
touch-action: pan-y;
|
||||
}
|
||||
.swiper-pointer-events.swiper-vertical {
|
||||
touch-action: pan-x;
|
||||
}
|
||||
.swiper-slide {
|
||||
flex-shrink: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
transition-property: transform;
|
||||
}
|
||||
.swiper-slide-invisible-blank {
|
||||
visibility: hidden;
|
||||
}
|
||||
/* Auto Height */
|
||||
.swiper-autoheight,
|
||||
.swiper-autoheight .swiper-slide {
|
||||
height: auto;
|
||||
}
|
||||
.swiper-autoheight .swiper-wrapper {
|
||||
align-items: flex-start;
|
||||
transition-property: transform, height;
|
||||
}
|
||||
.swiper-backface-hidden .swiper-slide {
|
||||
transform: translateZ(0);
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
}
|
||||
/* 3D Effects */
|
||||
.swiper-3d,
|
||||
.swiper-3d.swiper-css-mode .swiper-wrapper {
|
||||
perspective: 1200px;
|
||||
}
|
||||
.swiper-3d .swiper-wrapper,
|
||||
.swiper-3d .swiper-slide,
|
||||
.swiper-3d .swiper-slide-shadow,
|
||||
.swiper-3d .swiper-slide-shadow-left,
|
||||
.swiper-3d .swiper-slide-shadow-right,
|
||||
.swiper-3d .swiper-slide-shadow-top,
|
||||
.swiper-3d .swiper-slide-shadow-bottom,
|
||||
.swiper-3d .swiper-cube-shadow {
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
.swiper-3d .swiper-slide-shadow,
|
||||
.swiper-3d .swiper-slide-shadow-left,
|
||||
.swiper-3d .swiper-slide-shadow-right,
|
||||
.swiper-3d .swiper-slide-shadow-top,
|
||||
.swiper-3d .swiper-slide-shadow-bottom {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
pointer-events: none;
|
||||
z-index: 10;
|
||||
}
|
||||
.swiper-3d .swiper-slide-shadow {
|
||||
background: rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
.swiper-3d .swiper-slide-shadow-left {
|
||||
background-image: linear-gradient(
|
||||
to left,
|
||||
rgba(0, 0, 0, 0.5),
|
||||
rgba(0, 0, 0, 0)
|
||||
);
|
||||
}
|
||||
.swiper-3d .swiper-slide-shadow-right {
|
||||
background-image: linear-gradient(
|
||||
to right,
|
||||
rgba(0, 0, 0, 0.5),
|
||||
rgba(0, 0, 0, 0)
|
||||
);
|
||||
}
|
||||
.swiper-3d .swiper-slide-shadow-top {
|
||||
background-image: linear-gradient(
|
||||
to top,
|
||||
rgba(0, 0, 0, 0.5),
|
||||
rgba(0, 0, 0, 0)
|
||||
);
|
||||
}
|
||||
.swiper-3d .swiper-slide-shadow-bottom {
|
||||
background-image: linear-gradient(
|
||||
to bottom,
|
||||
rgba(0, 0, 0, 0.5),
|
||||
rgba(0, 0, 0, 0)
|
||||
);
|
||||
}
|
||||
/* CSS Mode */
|
||||
.swiper-css-mode > .swiper-wrapper {
|
||||
overflow: auto;
|
||||
scrollbar-width: none;
|
||||
/* For Firefox */
|
||||
-ms-overflow-style: none;
|
||||
/* For Internet Explorer and Edge */
|
||||
}
|
||||
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
|
||||
scroll-snap-align: start start;
|
||||
}
|
||||
.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
|
||||
scroll-snap-type: x mandatory;
|
||||
}
|
||||
.swiper-vertical.swiper-css-mode > .swiper-wrapper {
|
||||
scroll-snap-type: y mandatory;
|
||||
}
|
||||
.swiper-centered > .swiper-wrapper::before {
|
||||
content: "";
|
||||
flex-shrink: 0;
|
||||
order: 9999;
|
||||
}
|
||||
.swiper-centered.swiper-horizontal
|
||||
> .swiper-wrapper
|
||||
> .swiper-slide:first-child {
|
||||
margin-inline-start: var(--swiper-centered-offset-before);
|
||||
}
|
||||
.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
|
||||
height: 100%;
|
||||
min-height: 1px;
|
||||
width: var(--swiper-centered-offset-after);
|
||||
}
|
||||
.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
|
||||
margin-block-start: var(--swiper-centered-offset-before);
|
||||
}
|
||||
.swiper-centered.swiper-vertical > .swiper-wrapper::before {
|
||||
width: 100%;
|
||||
min-width: 1px;
|
||||
height: var(--swiper-centered-offset-after);
|
||||
}
|
||||
.swiper-centered > .swiper-wrapper > .swiper-slide {
|
||||
scroll-snap-align: center center;
|
||||
}
|
||||
.swiper-virtual .swiper-slide {
|
||||
-webkit-backface-visibility: hidden;
|
||||
transform: translateZ(0);
|
||||
}
|
||||
.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
|
||||
height: 1px;
|
||||
width: var(--swiper-virtual-size);
|
||||
}
|
||||
.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
|
||||
width: 1px;
|
||||
height: var(--swiper-virtual-size);
|
||||
}
|
||||
:root {
|
||||
--swiper-navigation-size: 44px;
|
||||
/*
|
||||
--swiper-navigation-color: var(--swiper-theme-color);
|
||||
*/
|
||||
}
|
||||
.swiper-button-prev,
|
||||
.swiper-button-next {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: calc(var(--swiper-navigation-size) / 44 * 27);
|
||||
height: var(--swiper-navigation-size);
|
||||
margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
|
||||
z-index: 10;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: var(--swiper-navigation-color, var(--swiper-theme-color));
|
||||
}
|
||||
.swiper-button-prev.swiper-button-disabled,
|
||||
.swiper-button-next.swiper-button-disabled {
|
||||
opacity: 0.35;
|
||||
cursor: auto;
|
||||
pointer-events: none;
|
||||
}
|
||||
.swiper-button-prev:after,
|
||||
.swiper-button-next:after {
|
||||
font-family: swiper-icons;
|
||||
font-size: var(--swiper-navigation-size);
|
||||
text-transform: none !important;
|
||||
letter-spacing: 0;
|
||||
text-transform: none;
|
||||
font-variant: initial;
|
||||
line-height: 1;
|
||||
}
|
||||
.swiper-button-prev,
|
||||
.swiper-rtl .swiper-button-next {
|
||||
left: 10px;
|
||||
right: auto;
|
||||
}
|
||||
.swiper-button-prev:after,
|
||||
.swiper-rtl .swiper-button-next:after {
|
||||
content: "prev";
|
||||
}
|
||||
.swiper-button-next,
|
||||
.swiper-rtl .swiper-button-prev {
|
||||
right: 10px;
|
||||
left: auto;
|
||||
}
|
||||
.swiper-button-next:after,
|
||||
.swiper-rtl .swiper-button-prev:after {
|
||||
content: "next";
|
||||
}
|
||||
.swiper-button-lock {
|
||||
display: none;
|
||||
}
|
||||
:root {
|
||||
/*
|
||||
--swiper-pagination-color: var(--swiper-theme-color);
|
||||
--swiper-pagination-bullet-size: 8px;
|
||||
--swiper-pagination-bullet-width: 8px;
|
||||
--swiper-pagination-bullet-height: 8px;
|
||||
--swiper-pagination-bullet-inactive-color: #000;
|
||||
--swiper-pagination-bullet-inactive-opacity: 0.2;
|
||||
--swiper-pagination-bullet-opacity: 1;
|
||||
--swiper-pagination-bullet-horizontal-gap: 4px;
|
||||
--swiper-pagination-bullet-vertical-gap: 6px;
|
||||
*/
|
||||
}
|
||||
.swiper-pagination {
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
transition: 300ms opacity;
|
||||
transform: translate3d(0, 0, 0);
|
||||
z-index: 10;
|
||||
}
|
||||
.swiper-pagination.swiper-pagination-hidden {
|
||||
opacity: 0;
|
||||
}
|
||||
/* Common Styles */
|
||||
.swiper-pagination-fraction,
|
||||
.swiper-pagination-custom,
|
||||
.swiper-horizontal > .swiper-pagination-bullets,
|
||||
.swiper-pagination-bullets.swiper-pagination-horizontal {
|
||||
bottom: 10px;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
}
|
||||
/* Bullets */
|
||||
.swiper-pagination-bullets-dynamic {
|
||||
overflow: hidden;
|
||||
font-size: 0;
|
||||
}
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
|
||||
transform: scale(0.33);
|
||||
position: relative;
|
||||
}
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
|
||||
transform: scale(1);
|
||||
}
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
|
||||
transform: scale(1);
|
||||
}
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
|
||||
transform: scale(0.66);
|
||||
}
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
|
||||
transform: scale(0.33);
|
||||
}
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
|
||||
transform: scale(0.66);
|
||||
}
|
||||
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
|
||||
transform: scale(0.33);
|
||||
}
|
||||
.swiper-pagination-bullet {
|
||||
width: var(
|
||||
--swiper-pagination-bullet-width,
|
||||
var(--swiper-pagination-bullet-size, 8px)
|
||||
);
|
||||
height: var(
|
||||
--swiper-pagination-bullet-height,
|
||||
var(--swiper-pagination-bullet-size, 8px)
|
||||
);
|
||||
display: inline-block;
|
||||
border-radius: 50%;
|
||||
background: var(--swiper-pagination-bullet-inactive-color, #000);
|
||||
opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
|
||||
}
|
||||
button.swiper-pagination-bullet {
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-shadow: none;
|
||||
-webkit-appearance: none;
|
||||
appearance: none;
|
||||
}
|
||||
.swiper-pagination-clickable .swiper-pagination-bullet {
|
||||
cursor: pointer;
|
||||
}
|
||||
.swiper-pagination-bullet:only-child {
|
||||
display: none !important;
|
||||
}
|
||||
.swiper-pagination-bullet-active {
|
||||
opacity: var(--swiper-pagination-bullet-opacity, 1);
|
||||
background: var(--swiper-pagination-color, var(--swiper-theme-color));
|
||||
}
|
||||
.swiper-vertical > .swiper-pagination-bullets,
|
||||
.swiper-pagination-vertical.swiper-pagination-bullets {
|
||||
right: 10px;
|
||||
top: 50%;
|
||||
transform: translate3d(0px, -50%, 0);
|
||||
}
|
||||
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
|
||||
.swiper-pagination-vertical.swiper-pagination-bullets
|
||||
.swiper-pagination-bullet {
|
||||
margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
|
||||
display: block;
|
||||
}
|
||||
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
|
||||
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 8px;
|
||||
}
|
||||
.swiper-vertical
|
||||
> .swiper-pagination-bullets.swiper-pagination-bullets-dynamic
|
||||
.swiper-pagination-bullet,
|
||||
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic
|
||||
.swiper-pagination-bullet {
|
||||
display: inline-block;
|
||||
transition:
|
||||
200ms transform,
|
||||
200ms top;
|
||||
}
|
||||
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
|
||||
.swiper-pagination-horizontal.swiper-pagination-bullets
|
||||
.swiper-pagination-bullet {
|
||||
margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
|
||||
}
|
||||
.swiper-horizontal
|
||||
> .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
|
||||
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
white-space: nowrap;
|
||||
}
|
||||
.swiper-horizontal
|
||||
> .swiper-pagination-bullets.swiper-pagination-bullets-dynamic
|
||||
.swiper-pagination-bullet,
|
||||
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic
|
||||
.swiper-pagination-bullet {
|
||||
transition:
|
||||
200ms transform,
|
||||
200ms left;
|
||||
}
|
||||
.swiper-horizontal.swiper-rtl
|
||||
> .swiper-pagination-bullets-dynamic
|
||||
.swiper-pagination-bullet {
|
||||
transition:
|
||||
200ms transform,
|
||||
200ms right;
|
||||
}
|
||||
/* Progress */
|
||||
.swiper-pagination-progressbar {
|
||||
background: rgba(0, 0, 0, 0.25);
|
||||
position: absolute;
|
||||
}
|
||||
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
|
||||
background: var(--swiper-pagination-color, var(--swiper-theme-color));
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
transform: scale(0);
|
||||
transform-origin: left top;
|
||||
}
|
||||
.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
|
||||
transform-origin: right top;
|
||||
}
|
||||
.swiper-horizontal > .swiper-pagination-progressbar,
|
||||
.swiper-pagination-progressbar.swiper-pagination-horizontal,
|
||||
.swiper-vertical
|
||||
> .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
|
||||
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
|
||||
width: 100%;
|
||||
height: 4px;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
.swiper-vertical > .swiper-pagination-progressbar,
|
||||
.swiper-pagination-progressbar.swiper-pagination-vertical,
|
||||
.swiper-horizontal
|
||||
> .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
|
||||
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
|
||||
width: 4px;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
.swiper-pagination-lock {
|
||||
display: none;
|
||||
}
|
||||
/* Scrollbar */
|
||||
.swiper-scrollbar {
|
||||
border-radius: 10px;
|
||||
position: relative;
|
||||
-ms-touch-action: none;
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.swiper-horizontal > .swiper-scrollbar {
|
||||
position: absolute;
|
||||
left: 1%;
|
||||
bottom: 3px;
|
||||
z-index: 50;
|
||||
height: 5px;
|
||||
width: 98%;
|
||||
}
|
||||
.swiper-vertical > .swiper-scrollbar {
|
||||
position: absolute;
|
||||
right: 3px;
|
||||
top: 1%;
|
||||
z-index: 50;
|
||||
width: 5px;
|
||||
height: 98%;
|
||||
}
|
||||
.swiper-scrollbar-drag {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
border-radius: 10px;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
.swiper-scrollbar-cursor-drag {
|
||||
cursor: move;
|
||||
}
|
||||
.swiper-scrollbar-lock {
|
||||
display: none;
|
||||
}
|
||||
.swiper-zoom-container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
}
|
||||
.swiper-zoom-container > img,
|
||||
.swiper-zoom-container > svg,
|
||||
.swiper-zoom-container > canvas {
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
object-fit: contain;
|
||||
}
|
||||
.swiper-slide-zoomed {
|
||||
cursor: move;
|
||||
}
|
||||
/* Preloader */
|
||||
:root {
|
||||
/*
|
||||
--swiper-preloader-color: var(--swiper-theme-color);
|
||||
*/
|
||||
}
|
||||
.swiper-lazy-preloader {
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
margin-left: -21px;
|
||||
margin-top: -21px;
|
||||
z-index: 10;
|
||||
transform-origin: 50%;
|
||||
box-sizing: border-box;
|
||||
border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
|
||||
border-radius: 50%;
|
||||
border-top-color: transparent;
|
||||
}
|
||||
.swiper-slide-visible .swiper-lazy-preloader {
|
||||
animation: swiper-preloader-spin 1s infinite linear;
|
||||
}
|
||||
.swiper-lazy-preloader-white {
|
||||
--swiper-preloader-color: #fff;
|
||||
}
|
||||
.swiper-lazy-preloader-black {
|
||||
--swiper-preloader-color: #000;
|
||||
}
|
||||
@keyframes swiper-preloader-spin {
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
/* a11y */
|
||||
.swiper .swiper-notification {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
pointer-events: none;
|
||||
opacity: 0;
|
||||
z-index: -1000;
|
||||
}
|
||||
.swiper-free-mode > .swiper-wrapper {
|
||||
transition-timing-function: ease-out;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.swiper-grid > .swiper-wrapper {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.swiper-grid-column > .swiper-wrapper {
|
||||
flex-wrap: wrap;
|
||||
flex-direction: column;
|
||||
}
|
||||
.swiper-fade.swiper-free-mode .swiper-slide {
|
||||
transition-timing-function: ease-out;
|
||||
}
|
||||
.swiper-fade .swiper-slide {
|
||||
pointer-events: none;
|
||||
transition-property: opacity;
|
||||
}
|
||||
.swiper-fade .swiper-slide .swiper-slide {
|
||||
pointer-events: none;
|
||||
}
|
||||
.swiper-fade .swiper-slide-active,
|
||||
.swiper-fade .swiper-slide-active .swiper-slide-active {
|
||||
pointer-events: auto;
|
||||
}
|
||||
.swiper-cube {
|
||||
overflow: visible;
|
||||
}
|
||||
.swiper-cube .swiper-slide {
|
||||
pointer-events: none;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
z-index: 1;
|
||||
visibility: hidden;
|
||||
transform-origin: 0 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.swiper-cube .swiper-slide .swiper-slide {
|
||||
pointer-events: none;
|
||||
}
|
||||
.swiper-cube.swiper-rtl .swiper-slide {
|
||||
transform-origin: 100% 0;
|
||||
}
|
||||
.swiper-cube .swiper-slide-active,
|
||||
.swiper-cube .swiper-slide-active .swiper-slide-active {
|
||||
pointer-events: auto;
|
||||
}
|
||||
.swiper-cube .swiper-slide-active,
|
||||
.swiper-cube .swiper-slide-next,
|
||||
.swiper-cube .swiper-slide-prev,
|
||||
.swiper-cube .swiper-slide-next + .swiper-slide {
|
||||
pointer-events: auto;
|
||||
visibility: visible;
|
||||
}
|
||||
.swiper-cube .swiper-slide-shadow-top,
|
||||
.swiper-cube .swiper-slide-shadow-bottom,
|
||||
.swiper-cube .swiper-slide-shadow-left,
|
||||
.swiper-cube .swiper-slide-shadow-right {
|
||||
z-index: 0;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
}
|
||||
.swiper-cube .swiper-cube-shadow {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0.6;
|
||||
z-index: 0;
|
||||
}
|
||||
.swiper-cube .swiper-cube-shadow:before {
|
||||
content: "";
|
||||
background: #000;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
filter: blur(50px);
|
||||
}
|
||||
.swiper-flip {
|
||||
overflow: visible;
|
||||
}
|
||||
.swiper-flip .swiper-slide {
|
||||
pointer-events: none;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
z-index: 1;
|
||||
}
|
||||
.swiper-flip .swiper-slide .swiper-slide {
|
||||
pointer-events: none;
|
||||
}
|
||||
.swiper-flip .swiper-slide-active,
|
||||
.swiper-flip .swiper-slide-active .swiper-slide-active {
|
||||
pointer-events: auto;
|
||||
}
|
||||
.swiper-flip .swiper-slide-shadow-top,
|
||||
.swiper-flip .swiper-slide-shadow-bottom,
|
||||
.swiper-flip .swiper-slide-shadow-left,
|
||||
.swiper-flip .swiper-slide-shadow-right {
|
||||
z-index: 0;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
}
|
||||
.swiper-creative .swiper-slide {
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
overflow: hidden;
|
||||
transition-property: transform, opacity, height;
|
||||
}
|
||||
.swiper-cards {
|
||||
overflow: visible;
|
||||
}
|
||||
.swiper-cards .swiper-slide {
|
||||
transform-origin: center bottom;
|
||||
-webkit-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
overflow: hidden;
|
||||
}
|
11852
website/assets/plugins/swiper/swiper-bundle.js
Normal file
59
website/assets/scss/base.scss
Executable file
|
@ -0,0 +1,59 @@
|
|||
html {
|
||||
@apply text-base-sm md:text-base;
|
||||
}
|
||||
|
||||
body {
|
||||
@apply bg-body font-primary font-normal leading-relaxed text-text;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
@apply font-secondary font-bold leading-tight text-dark;
|
||||
}
|
||||
|
||||
h1,
|
||||
.h1 {
|
||||
@apply text-h1-sm md:text-h1;
|
||||
}
|
||||
|
||||
h2,
|
||||
.h2 {
|
||||
@apply text-h2-sm md:text-h2;
|
||||
}
|
||||
|
||||
h3,
|
||||
.h3 {
|
||||
@apply text-h3-sm md:text-h3;
|
||||
}
|
||||
|
||||
h4,
|
||||
.h4 {
|
||||
@apply text-h4;
|
||||
}
|
||||
|
||||
h5,
|
||||
.h5 {
|
||||
@apply text-h5;
|
||||
}
|
||||
|
||||
h6,
|
||||
.h6 {
|
||||
@apply text-h6;
|
||||
}
|
||||
|
||||
b,
|
||||
strong {
|
||||
@apply font-semibold;
|
||||
}
|
||||
|
||||
code {
|
||||
@apply after:border-none;
|
||||
}
|
||||
|
||||
blockquote > p {
|
||||
@apply my-0 #{!important};
|
||||
}
|
15
website/assets/scss/buttons.scss
Executable file
|
@ -0,0 +1,15 @@
|
|||
.btn {
|
||||
@apply inline-block rounded border border-transparent px-5 py-2 font-semibold capitalize transition;
|
||||
}
|
||||
|
||||
.btn-sm {
|
||||
@apply rounded-sm px-4 py-1.5 text-sm;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
@apply border-primary bg-primary text-white;
|
||||
}
|
||||
|
||||
.btn-outline-primary {
|
||||
@apply border-dark text-dark hover:bg-dark bg-transparent hover:text-white;
|
||||
}
|
74
website/assets/scss/components.scss
Executable file
|
@ -0,0 +1,74 @@
|
|||
main {
|
||||
min-height: 70vh;
|
||||
}
|
||||
|
||||
// section style
|
||||
.section {
|
||||
@apply py-24 xl:py-28;
|
||||
&-sm {
|
||||
@apply py-16 xl:py-20;
|
||||
}
|
||||
}
|
||||
|
||||
// container
|
||||
.container {
|
||||
@apply mx-auto px-4 2xl:max-w-[1320px];
|
||||
}
|
||||
|
||||
// form style
|
||||
.form-input {
|
||||
@apply bg-theme-light text-dark placeholder:text-light focus:border-primary w-full rounded border-transparent px-6 py-4 focus:ring-transparent;
|
||||
}
|
||||
|
||||
.form-label {
|
||||
@apply font-secondary text-dark mb-4 block text-xl font-normal;
|
||||
}
|
||||
|
||||
// social icons
|
||||
.social-icons {
|
||||
@apply space-x-4;
|
||||
li {
|
||||
@apply inline-block;
|
||||
a {
|
||||
@apply bg-primary flex h-9 w-9 items-center justify-center rounded text-center leading-9 text-white;
|
||||
svg {
|
||||
@apply h-5 w-5;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// swiper pagination
|
||||
.swiper-pagination-bullet {
|
||||
@apply bg-theme-light h-2.5 w-2.5 opacity-100 mx-1.5 #{!important};
|
||||
|
||||
&-active {
|
||||
@apply bg-primary h-4 w-4 #{!important};
|
||||
}
|
||||
}
|
||||
|
||||
// content style
|
||||
.content {
|
||||
@apply prose max-w-none;
|
||||
@apply prose-headings:mb-[.3em] prose-headings:mt-[.6em] prose-headings:text-dark;
|
||||
@apply prose-h1:text-h1-sm md:prose-h1:text-h1;
|
||||
@apply prose-h2:text-h2-sm md:prose-h2:text-h2;
|
||||
@apply prose-h3:text-h3-sm md:prose-h3:text-h3;
|
||||
@apply prose-img:max-w-full prose-img:rounded;
|
||||
@apply prose-hr:border-border;
|
||||
@apply prose-p:text-base prose-p:text-text;
|
||||
@apply prose-blockquote:rounded-lg prose-blockquote:border prose-blockquote:border-l-[10px] prose-blockquote:border-primary prose-blockquote:bg-theme-light prose-blockquote:px-8 prose-blockquote:py-10 prose-blockquote:font-secondary prose-blockquote:text-2xl prose-blockquote:not-italic prose-blockquote:text-dark;
|
||||
@apply prose-pre:rounded-lg prose-pre:bg-theme-light;
|
||||
@apply prose-code:px-1;
|
||||
@apply prose-strong:text-dark;
|
||||
@apply prose-a:text-text prose-a:underline hover:prose-a:text-primary;
|
||||
@apply prose-li:text-text;
|
||||
@apply prose-table:relative prose-table:overflow-hidden prose-table:rounded-lg prose-table:before:absolute prose-table:before:left-0 prose-table:before:top-0 prose-table:before:h-full prose-table:before:w-full prose-table:before:rounded-[inherit] prose-table:before:border prose-table:before:content-[""];
|
||||
@apply prose-thead:border-border prose-thead:bg-theme-light;
|
||||
@apply prose-th:relative prose-th:z-10 prose-th:px-4 prose-th:py-[18px] prose-th:text-dark;
|
||||
@apply prose-tr:border-border;
|
||||
@apply prose-td:relative prose-td:z-10 prose-td:px-3 prose-td:py-[18px];
|
||||
.btn {
|
||||
@apply no-underline hover:text-white #{!important};
|
||||
}
|
||||
}
|
127
website/assets/scss/custom.scss
Executable file
|
@ -0,0 +1,127 @@
|
|||
// Add your own custom styles here
|
||||
.grid-container {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.column {
|
||||
flex-basis: calc(50% - 10px); /* Adjust width as necessary */
|
||||
}
|
||||
|
||||
.list {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.list-item {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.link {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.hr-list {
|
||||
border: 0;
|
||||
border-top: 1px solid #ccc;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.list-item {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.content {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.link {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.time {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
|
||||
.grid-container {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.grid-item {
|
||||
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.header-with-image {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.header-with-image img {
|
||||
margin-right: 10px;
|
||||
max-width: 100px; /* Adjust as needed */
|
||||
max-height: 100px; /* Adjust as needed */
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.read-more-link {
|
||||
color: #FF6E00; /* Use the variable defined in theme.json */
|
||||
}
|
||||
|
||||
.center-wrapper {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
}
|
||||
|
||||
.grid-container-small {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.hr-list {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
margin-right: .5rem;
|
||||
}
|
||||
|
||||
.center-layout {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.hr-list2 {
|
||||
border: 20;
|
||||
border-top: 1px solid #FF6E00;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.header-with-image2 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.header-with-image2 img {
|
||||
display: inline-block;
|
||||
|
||||
}
|
||||
|
||||
.line {
|
||||
border-top: 1px solid #FF6E00; /* Change color and thickness as needed */
|
||||
margin: 10px 0; /* Adjust spacing between the line and the divs */
|
||||
}
|
30
website/assets/scss/main.scss
Executable file
|
@ -0,0 +1,30 @@
|
|||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
|
||||
@layer base {
|
||||
@import "base";
|
||||
}
|
||||
|
||||
@layer components {
|
||||
@import "components";
|
||||
@import "navigation";
|
||||
@import "buttons";
|
||||
}
|
||||
|
||||
@layer utilities {
|
||||
@import "utilities";
|
||||
}
|
||||
|
||||
@import "search";
|
||||
@import "social-share";
|
||||
@import "gallery-slider";
|
||||
@import "images";
|
||||
@import "toc";
|
||||
@import "tab";
|
||||
@import "accordion";
|
||||
@import "modal";
|
||||
@import "notice";
|
||||
|
||||
@import "module-overrides";
|
||||
@import "custom";
|
57
website/assets/scss/module-overrides.scss
Normal file
|
@ -0,0 +1,57 @@
|
|||
// table of contents
|
||||
.table-of-content {
|
||||
@apply overflow-hidden rounded;
|
||||
}
|
||||
|
||||
// share icons
|
||||
.share-icons {
|
||||
.share-link {
|
||||
@apply h-9 w-9 rounded leading-9;
|
||||
@apply bg-primary hover:bg-primary;
|
||||
}
|
||||
.share-icon svg {
|
||||
}
|
||||
}
|
||||
|
||||
// notice
|
||||
.notice {
|
||||
@apply rounded-lg;
|
||||
}
|
||||
|
||||
// tab
|
||||
.tab {
|
||||
@apply border-border overflow-hidden rounded-lg border;
|
||||
&-nav {
|
||||
@apply border-border bg-theme-light pl-4;
|
||||
|
||||
&-item {
|
||||
@apply text-dark px-8 text-lg #{!important};
|
||||
&.active {
|
||||
@apply border-dark;
|
||||
}
|
||||
}
|
||||
}
|
||||
&-content {
|
||||
&-panel {
|
||||
@apply px-4 pt-0 #{!important};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// accordion
|
||||
.accordion {
|
||||
@apply border-border bg-theme-light mb-6 overflow-hidden rounded-lg border;
|
||||
&-header {
|
||||
@apply text-dark;
|
||||
}
|
||||
}
|
||||
|
||||
// cookie consent
|
||||
.cookie-box {
|
||||
@apply rounded-lg #{!important};
|
||||
}
|
||||
|
||||
// slider
|
||||
.gallery-slider {
|
||||
@apply ml-0 #{!important};
|
||||
}
|
87
website/assets/scss/navigation.scss
Executable file
|
@ -0,0 +1,87 @@
|
|||
// navbar toggler
|
||||
input#nav-toggle:checked + label #show-button {
|
||||
@apply hidden;
|
||||
}
|
||||
|
||||
input#nav-toggle:checked + label #hide-button {
|
||||
@apply block;
|
||||
}
|
||||
|
||||
input#nav-toggle:checked ~ #nav-menu {
|
||||
@apply block;
|
||||
}
|
||||
|
||||
.header {
|
||||
@apply bg-body py-6;
|
||||
}
|
||||
|
||||
// navbar items
|
||||
.navbar {
|
||||
@apply relative flex flex-wrap items-center justify-between;
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
@apply text-dark text-xl font-semibold;
|
||||
image {
|
||||
@apply max-h-full max-w-full;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-nav {
|
||||
@apply text-center lg:text-left;
|
||||
}
|
||||
|
||||
// .nav-item {
|
||||
// @apply mx-3;
|
||||
// }
|
||||
|
||||
.nav-link {
|
||||
@apply text-dark hover:text-primary block p-3 cursor-pointer font-semibold transition lg:px-2 lg:py-3;
|
||||
}
|
||||
|
||||
.nav-dropdown {
|
||||
@apply mr-0;
|
||||
& > svg {
|
||||
@apply pointer-events-none;
|
||||
}
|
||||
&.active {
|
||||
.nav-dropdown-list {
|
||||
@apply block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.nav-dropdown-list {
|
||||
@apply bg-body z-10 min-w-[180px] rounded p-4 shadow hidden lg:invisible lg:absolute lg:block lg:opacity-0;
|
||||
}
|
||||
|
||||
.nav-dropdown-item {
|
||||
@apply [&:not(:last-child)]:mb-2;
|
||||
}
|
||||
|
||||
.nav-dropdown-link {
|
||||
@apply text-dark hover:text-primary block py-1 font-semibold transition;
|
||||
}
|
||||
|
||||
//theme-switcher
|
||||
.theme-switcher {
|
||||
@apply inline-flex;
|
||||
|
||||
label {
|
||||
@apply bg-border relative inline-block h-4 w-6 cursor-pointer rounded-2xl lg:w-10;
|
||||
}
|
||||
|
||||
input {
|
||||
@apply absolute opacity-0;
|
||||
}
|
||||
|
||||
span {
|
||||
@apply bg-dark absolute -top-1 left-0 flex h-6 w-6 items-center justify-center rounded-full transition-all duration-300;
|
||||
}
|
||||
|
||||
input:checked + label {
|
||||
span {
|
||||
@apply lg:left-4;
|
||||
}
|
||||
}
|
||||
}
|
20
website/assets/scss/utilities.scss
Executable file
|
@ -0,0 +1,20 @@
|
|||
.bg-gradient {
|
||||
@apply bg-gradient-to-b from-[rgba(249,249,249,1)] from-[0.53%] to-white to-[83.28%];
|
||||
}
|
||||
|
||||
.rounded-sm {
|
||||
@apply rounded-[4px];
|
||||
}
|
||||
.rounded {
|
||||
@apply rounded-[6px];
|
||||
}
|
||||
.rounded-lg {
|
||||
@apply rounded-[12px];
|
||||
}
|
||||
.rounded-xl {
|
||||
@apply rounded-[16px];
|
||||
}
|
||||
|
||||
.shadow {
|
||||
box-shadow: 0px 4px 40px rgba(0, 0, 0, 0.05);
|
||||
}
|
6
website/config/_default/languages.toml
Executable file
|
@ -0,0 +1,6 @@
|
|||
################ English language ##################
|
||||
[en]
|
||||
languageName = "En"
|
||||
languageCode = "en-us"
|
||||
contentDir = "content/english"
|
||||
weight = 1
|
81
website/config/_default/menus.en.toml
Executable file
|
@ -0,0 +1,81 @@
|
|||
############# English navigation ##############
|
||||
|
||||
# main menu
|
||||
[[main]]
|
||||
name = "For You"
|
||||
weight = 1
|
||||
hasChildren = true
|
||||
|
||||
[[main]]
|
||||
parent = "For You"
|
||||
name = "Individuals"
|
||||
pageRef = "/Individuals"
|
||||
|
||||
[[main]]
|
||||
parent = "For You"
|
||||
name = "Developers"
|
||||
pageRef = "/Developers"
|
||||
|
||||
[[main]]
|
||||
parent = "For You"
|
||||
name = "European Commission"
|
||||
pageRef = "/EC"
|
||||
|
||||
[[main]]
|
||||
weight = 2
|
||||
name = "Consortium"
|
||||
hasChildren = true
|
||||
|
||||
[[main]]
|
||||
parent = "Consortium"
|
||||
name = "Open Internet Discourse"
|
||||
pageRef = "/OID"
|
||||
|
||||
[[main]]
|
||||
parent = "Consortium"
|
||||
name = "NLnet"
|
||||
pageRef = "/NLnet"
|
||||
|
||||
[[main]]
|
||||
parent = "Consortium"
|
||||
name = "Tweag"
|
||||
pageRef = "/Tweag"
|
||||
|
||||
[[main]]
|
||||
parent = "Consortium"
|
||||
name = "NORDUnet"
|
||||
pageRef = "/NORDUnet"
|
||||
|
||||
[[main]]
|
||||
weight = 3
|
||||
name = "Fediversity"
|
||||
pageRef = "Fediversity"
|
||||
|
||||
[[main]]
|
||||
weight = 4
|
||||
name = "Grants"
|
||||
pageRef = "Grants"
|
||||
|
||||
[[main]]
|
||||
weight = 5
|
||||
name = "Events"
|
||||
pageRef = "Events"
|
||||
|
||||
[[main]]
|
||||
weight = 6
|
||||
name = "News"
|
||||
pageRef = "Blog"
|
||||
|
||||
|
||||
|
||||
|
||||
# footer menu
|
||||
[[footer]]
|
||||
name = "About"
|
||||
pageRef = "fediversity"
|
||||
weight = 1
|
||||
|
||||
[[footer]]
|
||||
name = "Privacy Policy"
|
||||
pageRef = "/privacy-policy"
|
||||
weight = 3
|
93
website/config/_default/module.toml
Normal file
|
@ -0,0 +1,93 @@
|
|||
[hugoVersion]
|
||||
extended = true
|
||||
min = "0.115.2"
|
||||
|
||||
# [[imports]]
|
||||
# path = "github.com/zeon-studio/hugoplate"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/search"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/pwa"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/images"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/videos"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/icons/font-awesome"
|
||||
|
||||
# [[imports]]
|
||||
# path = "github.com/gethugothemes/hugo-modules/icons/themify-icons"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/gzip-caching"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/adsense"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/accordion"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/table-of-contents"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/tab"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/modal"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/gallery-slider"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/components/preloader"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/components/social-share"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/components/cookie-consent"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/components/custom-script"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/components/render-link"
|
||||
|
||||
# [[imports]]
|
||||
# path = "github.com/gethugothemes/hugo-modules/components/valine-comment"
|
||||
|
||||
# [[imports]]
|
||||
# path = "github.com/gethugothemes/hugo-modules/components/crisp-chat"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/shortcodes/button"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/shortcodes/notice"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/seo-tools/basic-seo"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/seo-tools/site-verifications"
|
||||
|
||||
[[imports]]
|
||||
path = "github.com/gethugothemes/hugo-modules/seo-tools/google-tag-manager"
|
||||
|
||||
# [[imports]]
|
||||
# path = "github.com/gethugothemes/hugo-modules/seo-tools/baidu-analytics"
|
||||
|
||||
# [[imports]]
|
||||
# path = "github.com/gethugothemes/hugo-modules/seo-tools/matomo-analytics"
|
||||
|
||||
# [[imports]]
|
||||
# path = "github.com/gethugothemes/hugo-modules/seo-tools/plausible-analytics"
|
||||
|
||||
# [[imports]]
|
||||
# path = "github.com/gethugothemes/hugo-modules/seo-tools/counter-analytics"
|
101
website/config/_default/params.toml
Executable file
|
@ -0,0 +1,101 @@
|
|||
#################### default parameters ################################
|
||||
# favicon module: https://github.com/gethugothemes/hugo-modules/tree/master/images#favicon-implementation
|
||||
favicon = "images/favicon.png"
|
||||
# logo module: https://github.com/gethugothemes/hugo-modules/tree/master/images#logo-implementation
|
||||
logo = "images/ngi_fedi_full.svg"
|
||||
logo_darkmode = "images/logo-darkmode.png"
|
||||
# use `px` or `x` with logo_width, example: "100px".
|
||||
# Note: logo_width is not work with .svg file
|
||||
logo_width = "160px"
|
||||
logo_height = "32px"
|
||||
# if logo_webp set false, will not generate WEBP version of logo | default is true
|
||||
logo_webp = true
|
||||
# logo text will only show when logo is missing.
|
||||
logo_text = "Hugoplate"
|
||||
# navbar fixed to top
|
||||
navbar_fixed = true
|
||||
# theme-mode
|
||||
theme_switcher = false
|
||||
theme_default = "system" # available options [light/dark/system]
|
||||
# Main Sections
|
||||
mainSections = ["blog"]
|
||||
# contact form action
|
||||
contact_form_action = "#" # contact form works with [https://airform.io/] or [https://formspree.io]
|
||||
# google tag manager, see https://developers.google.com/tag-manager/
|
||||
google_tag_manager = "" # example: G-XXXXXXXXXX
|
||||
google_adsense = "" # example: ca-pub-xxxxxxxxxxxxxxxx
|
||||
# custom script on header, example: custom_script= "<script>console.log(\"Hello World\")</script>"
|
||||
custom_script = ""
|
||||
# copyright
|
||||
# copyright = "Designed & Developed by [Zeon Studio](https://zeon.studio)"
|
||||
|
||||
# Preloader
|
||||
# preloader module: https://github.com/gethugothemes/hugo-modules/tree/master/components/preloader
|
||||
[preloader]
|
||||
enable = false
|
||||
preloader = "" # use jpg, png, svg or gif format.
|
||||
|
||||
# Navigation button
|
||||
[navigation_button]
|
||||
enable = true
|
||||
label = "Contact"
|
||||
link = "contact"
|
||||
|
||||
# search
|
||||
# search module: https://github.com/gethugothemes/hugo-modules/tree/master/search
|
||||
[search]
|
||||
enable = false
|
||||
primary_color = "#121212"
|
||||
include_sections = ["blog"]
|
||||
show_image = true
|
||||
show_description = true
|
||||
show_tags = true
|
||||
show_categories = true
|
||||
|
||||
|
||||
# seo meta data for OpenGraph / Twitter Card
|
||||
# seo module: https://github.com/gethugothemes/hugo-modules/tree/master/seo-tools/basic-seo
|
||||
[metadata]
|
||||
keywords = ["fediverse", "nixos", "open source"]
|
||||
description = "Fediversity Project"
|
||||
author = "NGI Fediversity"
|
||||
image = "images/logo.png"
|
||||
|
||||
|
||||
# site verifications
|
||||
# verification module: https://github.com/gethugothemes/hugo-modules/tree/master/seo-tools/site-verifications
|
||||
[site_verification]
|
||||
google = "" # Your verification code
|
||||
bing = "" # Your verification code
|
||||
baidu = "" # Your verification code
|
||||
facebook = "" # Your verification code
|
||||
mastodon = "" # Your verification code
|
||||
|
||||
# cookies
|
||||
# cookies module: https://github.com/gethugothemes/hugo-modules/tree/master/components/cookie-consent
|
||||
[cookies]
|
||||
enable = false
|
||||
expire_days = 60
|
||||
content = "This site uses cookies. By continuing to use this website, you agree to their use."
|
||||
button = "I Accept"
|
||||
|
||||
######################## sidebar widgets #########################
|
||||
[widgets]
|
||||
sidebar = ["categories", "tags"]
|
||||
|
||||
|
||||
# google map
|
||||
[google_map]
|
||||
enable = false
|
||||
map_api_key = "AIzaSyCcABaamniA6OL5YvYSpB3pFMNrXwXnLwU"
|
||||
map_latitude = "51.5223477"
|
||||
map_longitude = "-0.1622023"
|
||||
map_marker = "images/marker.png"
|
||||
|
||||
|
||||
# Subscription
|
||||
[subscription]
|
||||
enable = false
|
||||
# mailchimp subsciption
|
||||
mailchimp_form_action = "https://gmail.us4.list-manage.com/subscribe/post?u=463ee871f45d2d93748e77cad&id=a0a2c6d074" # replace this url with yours
|
||||
mailchimp_form_name = "b_463ee871f45d2d93748e77cad_a0a2c6d074"
|
89
website/content/english/_index.md
Executable file
|
@ -0,0 +1,89 @@
|
|||
---
|
||||
# Banner
|
||||
banner:
|
||||
title: "Welcome to the Fediversity Project"
|
||||
content: "The Fediversity Project is a comprehensive effort to bring easy-to-use, hosted cloud services that have service portability and personal freedom at their core to everyone."
|
||||
# image: "/images/checkbox-illustration-scaled.png"
|
||||
image: "/images/home.svg"
|
||||
button:
|
||||
enable: true
|
||||
label: "For You"
|
||||
link: "/individuals"
|
||||
|
||||
# Features
|
||||
features3:
|
||||
- title: "Consortium"
|
||||
image: "/images/users.svg"
|
||||
content: "The Consortium behind the Fediversity project is a cooperation between NLnet, Open Internet Discourse Foundation, NORDUnet and Tweag."
|
||||
button:
|
||||
enable: false
|
||||
label: "Learn more"
|
||||
link: ""
|
||||
|
||||
- title: "NLnet"
|
||||
image: "/images/users.svg"
|
||||
content: "NLnet supports organisations and people who contribute to an open internet for all. They fund projects that help fix the internet through open hardware, open software, open standards, open science and open data."
|
||||
button:
|
||||
enable: true
|
||||
label: "Learn more"
|
||||
link: "/nlnet"
|
||||
|
||||
- title: "Open Internet Discourse"
|
||||
image: "/images/users.svg"
|
||||
content: "The Open Internet Discourse Foundation (OID) is founded on the belief that everyone deserves the freedom to express themselves and use the internet without constraints, and is committed to help build a better internet where individuals can truly be who they are."
|
||||
button:
|
||||
enable: true
|
||||
label: "Learn more"
|
||||
link: "/oid"
|
||||
|
||||
- title: "Tweag"
|
||||
image: "/images/users.svg"
|
||||
content: "Tweag is the open source program office (OSPO) of Modus Create, and has extensive experience working with Nix, and many people at the forefront of the Nix community are Tweagers."
|
||||
button:
|
||||
enable: true
|
||||
label: "Learn more"
|
||||
link: "/tweag"
|
||||
|
||||
- title: "NORDUnet"
|
||||
image: "/images/users.svg"
|
||||
content: "NORDUnet is a collaboration of the National Research and Education Networks of the Nordic countries."
|
||||
button:
|
||||
enable: true
|
||||
label: "Learn more"
|
||||
link: "/nordunet"
|
||||
|
||||
features:
|
||||
- title: "Fediversity Grants"
|
||||
image: "/images/stepping-up.png"
|
||||
content: "Fediversity will award 450 000 euro in small to medium-size R&D grants towards solutions that bring the next generation of social networks closer. We are seeking project proposals between 5.000 and 50.000 euro’s — which should get you on your way."
|
||||
button:
|
||||
enable: true
|
||||
label: "Learn more"
|
||||
link: "/grants"
|
||||
|
||||
features2:
|
||||
- title: "Individuals"
|
||||
image: "/images/user.png"
|
||||
content: "Always be in control with your own data on social networks, whether that's with Mastodon, PeerTube or Pixelfed: Fediversity makes it possible."
|
||||
button:
|
||||
enable: true
|
||||
label: "Learn more"
|
||||
link: "/individuals"
|
||||
|
||||
- title: "Developers"
|
||||
image: "/images/code.png"
|
||||
content: "As a developer building the next generation of social platforms, you are looking to make it easier to facilitate your customers to use your product. Fediversity can help."
|
||||
button:
|
||||
enable: true
|
||||
label: "Learn more"
|
||||
link: "/developers"
|
||||
|
||||
- title: "European Commission"
|
||||
image: "/images/globe.png"
|
||||
content: "The Fediversity Project operates on a grant gratiously provided by the HORIZON fund by the EC. Learn more about the accountability of the project."
|
||||
button:
|
||||
enable: true
|
||||
label: "Learn more"
|
||||
link: "/ec"
|
||||
|
||||
---
|
3
website/content/english/authors/_index.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
title: "Authors"
|
||||
---
|
12
website/content/english/authors/laurens-hof.md
Normal file
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
title: Laurens Hof
|
||||
email: laurens@procolix.com
|
||||
image: "/images/avatar.png"
|
||||
description: storyteller
|
||||
social:
|
||||
- name: github
|
||||
icon: fa-brands fa-github
|
||||
link: https://github.com
|
||||
---
|
||||
|
||||
Story teller for the Fediversity Project.
|
15
website/content/english/blog/New-website-launch.md
Executable file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: "Fediversity new website launch"
|
||||
description: "Announcing Our New Website for the Fediversity Project"
|
||||
date: 2024-05-15T05:00:00Z
|
||||
image: "/images/website-new.png"
|
||||
categories: ["News"]
|
||||
author: "Laurens Hof"
|
||||
draft: false
|
||||
---
|
||||
|
||||
We are pleased to introduce the launch of our new website dedicated to the Fediversity project.
|
||||
|
||||
The project is broad in scope, and the website reflects this. Whether you are a developer, an individual interested in the project, or want to know how the grant money is spend, the website keeps you up to date with everything you need to know.
|
||||
|
||||
We're excited to show you more of the progress of the Fediversity project, and how we can build a next generation of the open internet together!
|
5
website/content/english/blog/_index.md
Executable file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "News"
|
||||
meta_title: "News"
|
||||
description: "News about Fediversity"
|
||||
---
|
17
website/content/english/blog/fediversity-tech-session.md
Executable file
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
title: "Fediversity Tech Session"
|
||||
meta_title: ""
|
||||
description: "Fediversity Tech Session - NixOS and Kubernetes"
|
||||
date: 2024-08-05T05:00:00Z
|
||||
image: "/images/checkbox-illustration-scaled.png"
|
||||
categories: ["News"]
|
||||
author: "Laurens Hof"
|
||||
draft: false
|
||||
---
|
||||
|
||||
Recently Fediversity hosted a tech session on NixOS and Kubernetes. We invited people within the community to discuss some design considerations of the Fediversity project with us.
|
||||
|
||||
One of the core ideas of Fediversity is to build on top of NixOS. NixOS makes upgrading system reliable, and complex deployment reproducable. One of the goals of the Fediversity project that provides an interesting challenge is to help people move away from the cloud hyperscalers. Offering our project on Kubernetes offers easy integration with the storage platforms of the hyperscalers. Easy integration with the hyperscalers is an explicit anti-goal of Fediversity, but we're not sure if we can offer all the functionality with NixOS yet.
|
||||
|
||||
You can check out our entire conversation right here.
|
||||
|
20
website/content/english/blog/nordunet-conference-2024.md
Executable file
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
title: "Nordunet Conference 2024"
|
||||
meta_title: ""
|
||||
description: "Nordunet Conference 2024"
|
||||
date: 2024-09-17T05:00:00Z
|
||||
image: "/images/bergen-airport.jpeg"
|
||||
categories: ["News"]
|
||||
author: "Laurens Hof"
|
||||
draft: false
|
||||
---
|
||||
|
||||
Fediversity was represented in Bergen at the Nordunet Conference for 2024, with both the Internet Discourse Foundation and Nordunet themselves being present. This was a great opportunity for the different organisations in the consortium to meet with each other and exchange ideas.
|
||||
|
||||
One of those new ideas that came out of the conference is to think about offering [EduMEET](https://edumeet.org/) as a part of Fediversity. EduMEET is an open source video conferencing platform that is build for and by the Research and Education community. EduMEET allows for the possibility of recording conference calls, but does not offer an easy place to host these recordings. PeerTube is already mature fediverse software that offers video hosting. Combining these two pieces of software in the offering to onboard public organisations can make it easier to offer a complete package for the organisations. It can potentially help lower the barrier of entry, while at the same time making it more attractive for public education organisations to start using fediverse software.
|
||||
|
||||
Fediversity is now starting to explore if and how efforts with Nordunet to promote EduMEET can be combined with Fediversity's (and thus Nordunet!) project to promote the fediverse.
|
||||
|
||||
Another aspect that came out of the conference is the possibility to use [Argus](https://openargus.org/) as a real-time monitoring tool as part of our hosting stack that we're building. How to do real-time monitoring was so far still unclear in our plans for building a Nix panel, but Argus might just be the open source tool we're looking for.
|
||||
|
||||
It was exciting to meet so many people in the community that are all working towards building better digital systems for public organisations, and we're proud to contribute our small piece to a much larger puzzle. Hope to meet more of you all soon!
|
16
website/content/english/blog/project-launch.md
Executable file
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
title: "Fediversity Project publicly announced"
|
||||
meta_title: ""
|
||||
description: "The Fediversity Project has officially been announced"
|
||||
date: 2024-01-01T05:00:00Z
|
||||
image: "/images/checkbox-illustration-scaled.png"
|
||||
categories: ["News"]
|
||||
author: "Laurens Hof"
|
||||
draft: false
|
||||
---
|
||||
|
||||
The Consortium behind the Fediversity project announces that the project has officially been started. NLnet, Tweag, NorduNet and the Open Internet Discourse Foundation are working together to build a new service for cloud hosters.
|
||||
|
||||
Fediversity is a comprehensive effort to bring easy-to-use, hosted cloud services with service portability and personal freedom at their core to everyone. It wants to provide everyone with high-quality, secure IT systems for everyday use. Without tracking, without exploitation, in a way that runs everywhere and scales effortlessly. Fediversity is based on NixOS, a disruptive Linux distribution with a unique approach to package and configuration management. Built on top of the Nix package manager, NixOS is completely declarative, makes upgrading systems reliable, and has many other advantages. Because it is reproducible, it is ideally suited for complex deployment scenario's where consistent behaviour, stability and configurability matter.
|
||||
|
||||
Fediversity has received funding from the European Union’s Horizon Europe research and innovation programme under grant agreement No. 101136078.
|
16
website/content/english/blog/publicspaces-conference.md
Executable file
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
title: "PublicSpaces Conference 2024"
|
||||
meta_title: ""
|
||||
description: "PublicSpaces Conference 2024 - 'Take Back the Internet'"
|
||||
date: 2024-07-30T05:00:00Z
|
||||
image: "/images/avhuffelenmastodonpin.jpg"
|
||||
categories: ["News"]
|
||||
author: "Laurens Hof"
|
||||
draft: false
|
||||
---
|
||||
|
||||
PublicSpaces and Waag Futurelabs recently held their yearly conference in Amsterdam, titled 'Taking Back the Internet'. PublicSpaces is a network of public organisations fighting for an internet based on public values. The Fediversity Project attended, to share ideas, and learn more about how people and organisations think about an ethical internet. If you are interested, you can view all sessions [here](https://conference.publicspaces.net/en/archive/pubconf2024) (hosted on PeerTube!).
|
||||
|
||||
Alexandra van Huffelen, who was Dutch Secretary of State of Digitalisation until last month, gave the opening talk to discuss digitalisation and public values. In the talk, van Huffelen said that the Netherlands has a prominent lead in the EU with the promotion of public values in the digital infrastructure. Van Huffelen has been a prominent supporter of open standards and decentralisation, and has pushed the usage of Mastodon within the Dutch government, which fits well with the goals and vision of the Fediversity project. Project Lead Koen de Jonge took the opportunity shortly before the talk to hand van Huffelen a Mastodon pin, which she proudly wore during her talk, as you can see in the header image!
|
||||
|
||||
There were quite some other talks about the Fediverse as well, discussing how to move the space forward. The goal of the Fediversity Project is to provide the technological infrastructure that makes it easier for people to join an open, free and fair social internet. The strength of Fediversity is in our technological capabilities, making the infrastructure more accessible. For our project to be successful, we also need a social infrastructure, that teaches people what it is and how it is beneficial for them, and how to get them on board. We also need public organisations to lead by example. Both of these social aspects of growing the fediverse were on full display during the PublicSpaces conference, and there is a real enthusiasm in growing the social internet. Fediversity is a strong supporter of organisations like PublicSpaces; while organisations like PublicSpaces help facilitate people and organisations with their thinking about why they should join the fediverse, and which steps should they take, Fediversity can provide the technological infrastructure that makes it all as easy as possible.
|
18
website/content/english/contact/_index.md
Normal file
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
title: "Contact"
|
||||
meta_title: ""
|
||||
description: "How to contact us"
|
||||
draft: false
|
||||
---
|
||||
|
||||
Please feel free to reach out to us via email at the following addresses for any inquiries or assistance. We’re here to help and eager to hear from you!
|
||||
|
||||
For generic questions about the Fediversity project:
|
||||
|
||||
contact@fediversity.eu
|
||||
For questions about the administrative side of the Fediversity Project:
|
||||
|
||||
fediversity@nlnet.nl
|
||||
If you have questions about the funding rounds that are part of the Fediversity project, you can find out more information on the NLnet website:
|
||||
|
||||
https://nlnet.nl/fediversity/guideforapplicants/
|
5
website/content/english/events/_index.md
Executable file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "Events"
|
||||
meta_title: "Events"
|
||||
description: "Events related to the fediverse and NixOS."
|
||||
---
|
18
website/content/english/events/owc-annual-conference-2024.md
Executable file
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
title: "OW2con 2024"
|
||||
meta_title: ""
|
||||
description: "OW2con is the annual European open source conference in Paris"
|
||||
date: 2024-05-11T09:00:00Z
|
||||
categories: ["Event", "Conference"]
|
||||
image: "/images/image-placeholder.png"
|
||||
author: "Laurens Hof"
|
||||
draft: false
|
||||
date_start: 2024-06-11
|
||||
date_end: 2024-06-12
|
||||
datetime_start: 2024-06-11 09:00
|
||||
datetime_end: 2024-06-12 18:00
|
||||
location: Paris-Chatillon
|
||||
---
|
||||
|
||||
OW2con is the European open source conference organized by OW2. An international meeting of developpers, IT companies, academics and non-profit organizations, OW2con brings together the entire open source community, during two days of presentations ranging from tech topics to business and ethical issues of open source. It also offers a unique opportunity to establish contact with peers through friendly networking sessions. OW2con is [open](https://www.ngi.eu/event/open-source-community-annual-conference-2024/) to all, the event is free and all sessions are held in English.
|
||||
The OW2con’24 call for presentations is open. This year we are giving the highlight on the theme of open source funding: what are the current solutions for innovators, start-ups or ISVs to finance their development? private or public financing? Are national and European public policies up to the challenges?
|
18
website/content/english/events/publicspaces-annual-conference.md
Executable file
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
title: "PublicSpaces Conference 2024"
|
||||
meta_title: ""
|
||||
date: 2024-05-11T14:00:00+02:00
|
||||
description: "A conference by PublicSpaces, Taking Back the Internet."
|
||||
categories: ["Event", "Conference"]
|
||||
image: "/images/image-placeholder.png"
|
||||
author: "Laurens Hof"
|
||||
draft: false
|
||||
date_start: 2024-06-06
|
||||
date_end: 2024-06-07
|
||||
datetime_start: 2024-06-06 09:00
|
||||
datetime_end: 2024-06-07 18:00
|
||||
location: Pakhuis de Zwijger - Amsterdam
|
||||
---
|
||||
w
|
||||
On June 6th and 7th, PublicSpaces and Waag Futurelab proudly present the fourth edition of the PublicSpaces conference under the theme 'Empowering the Internet'. Held at Pakhuis de Zwijger, this two-day event will feature panels, keynotes, roundtable discussions, lectures, as well as art and cultural showcases, all aimed at collectively shaping the rules for a more inclusive internet. Join us as we navigate towards a digital landscape where everyone has a voice. For more information, check out the [website](https://publicspaces.net/2024/02/01/save-the-date-publicspaces-conferentie-2024/)
|
||||
|
25
website/content/english/events/waag-state-internet-2024.md
Executable file
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
title: "State of the Internet 2024"
|
||||
meta_title: ""
|
||||
description: "The State of the Internet 2024 by Waag"
|
||||
date: 2024-04-10T16:00:00Z
|
||||
image: "/images/image-placeholder.png"
|
||||
categories: ["Event", "Webinar"]
|
||||
author: "Laurens Hof"
|
||||
draft: false
|
||||
date_start: 2024-05-16
|
||||
date_end: 2024-05-16
|
||||
datetime_start: 2024-05-16 18:00
|
||||
datetime_end: 2024-05-16 20:00
|
||||
location: OBA Oosterdok - Amsterdam
|
||||
---
|
||||
|
||||
Join us at the State of the Internet 2024, where Waag Futurelab, alongside the Municipality of Amsterdam and the OBA, delves into the depths of the online realm. Featuring Kim van Sparrentak, Member of the European Parliament, discussing Europe's efforts to regulate Big Tech and enhance digital rights. Explore the impact of pivotal European laws like the GDPR and AI Act while celebrating 30 years of Waag Futurelab's dedication to democratizing technology access for all.
|
||||
|
||||
The event takes place at:
|
||||
|
||||
OBA Oosterdok <br>
|
||||
Oosterdokskade 143 <br>
|
||||
1011 DK Amsterdam
|
||||
|
||||
Registration available [here](https://waag.org/nl/event/de-staat-van-het-internet-2024-met-kim-van-sparrentak/)
|
11
website/content/english/pages/Consortium.md
Executable file
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
title: "Consortium"
|
||||
# meta title
|
||||
meta_title: "Consortium"
|
||||
# meta description
|
||||
description: "The organisations behind the Fediversity Project"
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
Information about the project. TODO.
|
17
website/content/english/pages/Developers.md
Executable file
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
title: "Developers"
|
||||
# meta title
|
||||
meta_title: "Developers"
|
||||
# meta description
|
||||
description: "Information for developers about the Fediversity Project."
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
The Fediversity Project enables easy hosting for a wide variety of fediverse platforms, all based on NixOS. At the start, the project will support Mastodon, PixelFed,PeerTube, Matrix and Nexcloud, and the project is actively working to expand this offering. Other services that are offered are email (based on Stalwart) and domain registry.
|
||||
|
||||
As part of the NGI Funding, the Fediversity Project also offers grants to developers to expand the ecosystem. The NLNet website has more information on how you as a developer can apply to grants, ranging from 5.000 to 50.000 euro's.
|
||||
|
||||
If you are a developer of fediverse software, and would like to get your platform also offered for easy hosting as part of the Fediversity Project, please reach out to us. You can contact us HERE.
|
||||
|
||||
As the project is based upon NixOS, we are actively supporting making fediverse projects available as nix packages. If your project is on the fence about this, please reach out. Nix packages make updating and maintaining fediverse projects a breeze!
|
13
website/content/english/pages/EC.md
Executable file
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
title: "European Commission"
|
||||
# meta title
|
||||
meta_title: "European Commission"
|
||||
# meta description
|
||||
description: "Information about the Fediversity Project for the grant providers."
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
The Fediversity project implements the visions outlined by the Next Generation Internet (NGI) initiative for an open internet in several ways. Most importantly, it helps with decentralisation of the internet, a core principle of the NGI, by making it easier for people to participate in the Open Social Web on their own terms. NGI's goal of empowering individuals in the digital sphere is helped by making it easy for them to set up their own servers and platforms. While a variety of Fediverse software exist, there are still barriers of entry for people. In order for people to be truly empowered, joining the fediverse needs to be as weasy as possible. Additionally, the Fediverse emphasises interoperability and openness, which are key concerns addressed by the NGI.
|
||||
|
||||
Part of the values of openness and transparency of is that the Fediversity project is that all the deliverables of the projects are have a 'Public' Dissemination level. On this page an overview of all deliverables of the Fediversity project can be found.
|
17
website/content/english/pages/Fediversity.md
Executable file
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
title: "Fediversity"
|
||||
# meta title
|
||||
meta_title: "Fediversity"
|
||||
# meta description
|
||||
description: "More information about the Fediversity Project"
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
Fediversity is a comprehensive effort to bring easy-to-use, hosted cloud services with service portability and personal freedom at their core to everyone. It wants to provide everyone with high-quality, secure IT systems for everyday use. Without tracking, without exploitation, in a way that runs everywhere and scales effortlessly. Fediversity is based on NixOS, a disruptive Linux distribution with a unique approach to package and configuration management. Built on top of the Nix package manager, NixOS is completely declarative, makes upgrading systems reliable, and has many other advantages. Because it is reproducible, it is ideally suited for complex deployment scenario’s where consistent behaviour, stability and configurability matter.
|
||||
|
||||
One such “complex” deployment scenario is running state-of-the-art services for the Fediverse, like PeerTube, Mastodon, Owncast or Lemmy — especially if you want to for instance add services like live chat or transcoding. But even running more traditional services like modern e-mail servers with possible whistles and bells can be daunting. The same holds for deploying a VPN, private cloud storage, wiki, etc. Fediversity will enable all of these use cases, and more — finally bringing these to the market in a way that is as conveient as using a hosted service.
|
||||
|
||||
Fediversity is a pilot funded by the European Commission, building on many projects funding through the Next Generation Internet initiative. The results of the project should greatly simplify the creation and delivery of robust and secure services, on the web and beyond.
|
||||
|
||||
Fediversity will deliver an ambitious development effort, but this is a vast domain with many more challenges than what any preconceived effort could tackle by itself. This is why we invite your contribution to help us reshape the state of play, and together create an open, trustworthy and reliable internet for all.
|
17
website/content/english/pages/Grants.md
Executable file
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
title: "Grants"
|
||||
# meta title
|
||||
meta_title: "Grants"
|
||||
# meta description
|
||||
description: "How to apply for grants as part of the Fediversity Project."
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
Fediversity invites other people to join this ambitious development effort. It is a vast domain with many more challenges than what any preconceived effort could tackle by itself. This is why we invite your contribution to help us reshape the state of play, and together create an open, trustworthy and reliable internet for all.
|
||||
|
||||
This is your opportunity to make a real difference. You tell us how your project can help Fediversity go harder, better, faster, stronger. In order to enable you to make such contributions, NLnet will award 450 000 euro in small to medium-size R&D grants towards solutions that bring the next generation of social networks closer. NLnet is seeking project proposals between 5.000 and 50.000 euro’s — which should get you on your way.
|
||||
|
||||
Noteworthy fact: many projects which are to be deployed inside Fediversity were themselves bootstrapped on precisely such a grant from NGI, and now it is your turn.
|
||||
|
||||
For more information on how to apply, check the NLnet website.
|
18
website/content/english/pages/Individuals.md
Executable file
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
title: "Individuals"
|
||||
# meta title
|
||||
meta_title: "Individuals"
|
||||
# meta description
|
||||
description: "Information about the project for regular people."
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
The fediverse shows great potential in fundamentally rethinking how we approach the internet. It is a new way of thinking about how the internet can be a social web, and solves for the problems that the current Big Tech platforms have, while at the same time enabling a new wave of innovation and new ideas on the social web.
|
||||
|
||||
- Giving people control of their data and social connections, allowing them to choose whatever platform and product they want.
|
||||
- Giving people control of their privacy and their feeds, without black-box algorithms that decide for them what they get to see.
|
||||
|
||||
The Fediversity project is working on making it easier for people to join the fediverse, and taking full control on their own online social presence. We make it easier for you to join the fediverse, giving you an easy way to select what you need. With one click, you can select whether you need photo sharing, microblogging, video sharing, blogging or simply email. You can get a domain name as well, so you can be up and running with a professional social presence on the new internet in without any effort.
|
||||
|
||||
Fediversity is currently in development, and you can follow us on Mastodon for all the latest information.
|
13
website/content/english/pages/NLnet.md
Executable file
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
title: "NLnet"
|
||||
# meta title
|
||||
meta_title: "NLnet"
|
||||
# meta description
|
||||
description: "The NLnet organisation"
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
The NLnet Foundation supports organisations and people who contribute to an open internet for all. NLnet funds projects that help fix the internet through open hardware, open software, open standards, open science and open data. After its historical contribution to the early internet in Europe in the 1980’s, NLnet has been financially supporting the open internet since 1997.
|
||||
|
||||
NLnet provides grants to free and open source projects between 5.000 and 50.000 euro with the possibility to scale up. Funding is open to anyone: organisations of any type and individuals. Within NGI Fediversity, NLnet facilitates the open calls for third-party funding and contributes to outreach and dissemination.
|
13
website/content/english/pages/NORDUnet.md
Executable file
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
title: "NORDUnet"
|
||||
# meta title
|
||||
meta_title: "NORDUnet"
|
||||
# meta description
|
||||
description: "The NORDUnet organisation."
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
NORDUnet is a collaboration of the National Research and Education Networks of the Nordic countries connecting universities and research institutions across Denmark, Finland, Iceland, Norway, and Sweden. It enables collaboration, data sharing, and access to online resources for academic and research purposes.
|
||||
|
||||
Fun fact: the website of NORDUnet, nordu.net is the oldest still active domain on the internet.
|
20
website/content/english/pages/OID.md
Executable file
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
title: "Open Internet Discourse Foundation"
|
||||
# meta title
|
||||
meta_title: "Open Internet Discourse Foundation"
|
||||
# meta description
|
||||
description: "The Open Internet Discourse Foundation"
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
The Open Internet Discourse Foundation (OID) is founded on the belief that everyone deserves the freedom to express themselves and use the internet without constraints, and is committed to help build a better internet where individuals can truly be who they are.
|
||||
|
||||
The three pillars that are at the core of the OID Foundation:
|
||||
|
||||
OID believes in the fundamental right of individuals to privacy, self-determination, and freedom of expression.
|
||||
Building sustainably. The OID Foundation believes that the internet is crucial infrastructure for society, and as such, should be build from the perspective that software projects can exist and be maintained for a long time; decades, not years.
|
||||
Transparancy. The OID Foundation takes the commitment to openness seriously, and strives to use open software in all aspects.
|
||||
In order to realise our vision, we need a healthy, functional and open internet. This is where OID comes in, working on the infrastructure that powers the internet in a way that promotes it’s values.
|
||||
|
||||
OID Foundation is rooted in constructive optimism, believing in tackling challenges head-on with a positive outlook, viewing each obstacle as an opportunity for improvement. As a practical example of the long-term vision is the work on NixOS that the OID is doing, where the reproducibility and long-term maintainability of NixOS’s package management help with an open and sustainable internet.
|
11
website/content/english/pages/Tweag.md
Executable file
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
title: "Tweag"
|
||||
# meta title
|
||||
meta_title: "Tweag"
|
||||
# meta description
|
||||
description: "The Tweag organisation."
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
Tweag is the open source program office (OSPO) of Modus Create, a global digital consulting firm that helps enterprises build competitive advantage through digital innovation. Tweagers are leading contributors to several open source projects — from functional programming languages to cross-platform frameworks. Tweag has extensive experience working with Nix, and many people at the forefront of the Nix community are Tweagers.
|
12
website/content/english/pages/privacy-policy.md
Normal file
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
title: "Privacy"
|
||||
# meta title
|
||||
meta_title: ""
|
||||
# meta description
|
||||
description: "Privacy Policy"
|
||||
# save as draft
|
||||
draft: false
|
||||
---
|
||||
|
||||
The Fediversity website does not track you, and does not process any of your data.
|
||||
|
14
website/content/english/sections/call-to-action.md
Normal file
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
enable: true
|
||||
title: "Ready to build your next project with Hugo?"
|
||||
image: "/images/call-to-action.png"
|
||||
description: "Experience the future of web development with Hugoplate and Hugo. Build lightning-fast static sites with ease and flexibility."
|
||||
button:
|
||||
enable: true
|
||||
label: "Get Started Now"
|
||||
link: "https://github.com/zeon-studio/hugoplate"
|
||||
|
||||
# don't create a separate page
|
||||
_build:
|
||||
render: "never"
|
||||
---
|
31
website/content/english/sections/testimonial.md
Normal file
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
enable: true
|
||||
title: "What Users Are Saying About Hugoplate"
|
||||
description: "Don't just take our word for it - hear from some of our satisfied users! Check out some of our testimonials below to see what others are saying about Hugoplate."
|
||||
|
||||
# Testimonials
|
||||
testimonials:
|
||||
- name: "Marvin McKinney"
|
||||
designation: "Web Designer"
|
||||
avatar: "/images/avatar-sm.png"
|
||||
content: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui iusto illo molestias, assumenda expedita commodi inventore non itaque molestiae voluptatum dolore, facilis sapiente, repellat veniam."
|
||||
|
||||
- name: "Marvin McKinney"
|
||||
designation: "Web Designer"
|
||||
avatar: "/images/avatar-sm.png"
|
||||
content: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui iusto illo molestias, assumenda expedita commodi inventore non itaque molestiae voluptatum dolore, facilis sapiente, repellat veniam."
|
||||
|
||||
- name: "Marvin McKinney"
|
||||
designation: "Web Designer"
|
||||
avatar: "/images/avatar-sm.png"
|
||||
content: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui iusto illo molestias, assumenda expedita commodi inventore non itaque molestiae voluptatum dolore, facilis sapiente, repellat veniam."
|
||||
|
||||
- name: "Marvin McKinney"
|
||||
designation: "Web Designer"
|
||||
avatar: "/images/avatar-sm.png"
|
||||
content: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui iusto illo molestias, assumenda expedita commodi inventore non itaque molestiae voluptatum dolore, facilis sapiente, repellat veniam."
|
||||
|
||||
# don't create a separate page
|
||||
_build:
|
||||
render: "never"
|
||||
---
|
15
website/data/social.json
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"main": [
|
||||
|
||||
{
|
||||
"name": "mastodon",
|
||||
"icon": "fab fa-mastodon",
|
||||
"link": "https://mastodon.fediversity.eu/@fediversity"
|
||||
},
|
||||
{
|
||||
"name": "rss",
|
||||
"icon": "fab fa-rss",
|
||||
"link": "https://fediversity.eu/rss"
|
||||
}
|
||||
]
|
||||
}
|
44
website/data/theme.json
Normal file
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
"colors": {
|
||||
"default": {
|
||||
"theme_color": {
|
||||
"primary": "#FF6E00",
|
||||
"body": "#fff",
|
||||
"border": "#eaeaea",
|
||||
"theme_light": "#f6f6f6",
|
||||
"theme_dark": ""
|
||||
},
|
||||
"text_color": {
|
||||
"default": "#444444",
|
||||
"dark": "#040404",
|
||||
"light": "#FF6E00"
|
||||
}
|
||||
},
|
||||
"darkmode": {
|
||||
"theme_color": {
|
||||
"primary": "#fff",
|
||||
"body": "#1c1c1c",
|
||||
"border": "#3E3E3E",
|
||||
"theme_light": "#222222",
|
||||
"theme_dark": ""
|
||||
},
|
||||
"text_color": {
|
||||
"default": "#B4AFB6",
|
||||
"dark": "#fff",
|
||||
"light": "#B4AFB6"
|
||||
}
|
||||
}
|
||||
},
|
||||
"fonts": {
|
||||
"font_family": {
|
||||
"primary": "Heebo:wght@400;600",
|
||||
"primary_type": "sans-serif",
|
||||
"secondary": "Signika:wght@500;700",
|
||||
"secondary_type": "sans-serif"
|
||||
},
|
||||
"font_size": {
|
||||
"base": "16",
|
||||
"scale": "1.2"
|
||||
}
|
||||
}
|
||||
}
|
29
website/go.mod
Normal file
|
@ -0,0 +1,29 @@
|
|||
module hugoplate.netlify.app
|
||||
|
||||
go 1.20
|
||||
|
||||
require (
|
||||
github.com/gethugothemes/hugo-modules/accordion v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/adsense v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/components/cookie-consent v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/components/custom-script v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/components/preloader v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/components/render-link v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/components/social-share v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/gallery-slider v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/gzip-caching v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/icons/font-awesome v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/images v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/modal v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/pwa v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/search v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/seo-tools/basic-seo v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/seo-tools/google-tag-manager v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/seo-tools/site-verifications v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/shortcodes/button v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/shortcodes/notice v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/tab v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/table-of-contents v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/gethugothemes/hugo-modules/videos v0.0.0-20240215103202-c030d4222242 // indirect
|
||||
github.com/zeon-studio/hugoplate v0.0.0-20240215094431-cf2ee3b68eaf // indirect
|
||||
)
|
46
website/go.sum
Normal file
|
@ -0,0 +1,46 @@
|
|||
github.com/gethugothemes/hugo-modules/accordion v0.0.0-20240215103202-c030d4222242 h1:gFxGalBg26zJumCS5e//j95FgZlYRpNJ3jIXi4OIl1c=
|
||||
github.com/gethugothemes/hugo-modules/accordion v0.0.0-20240215103202-c030d4222242/go.mod h1:D4DpauKPDcUHI9CVKYmJeO6bkSJIhUN864TyXZ2o0VI=
|
||||
github.com/gethugothemes/hugo-modules/adsense v0.0.0-20240215103202-c030d4222242 h1:H4qw71Pv1RmCio3r/D4N8MXHVks1SBpMcVmZCnz3wlg=
|
||||
github.com/gethugothemes/hugo-modules/adsense v0.0.0-20240215103202-c030d4222242/go.mod h1:8p/gG/cyyu20z4q5cFN/JGE5TOFA55Xsp+aIP9KCsqo=
|
||||
github.com/gethugothemes/hugo-modules/components/cookie-consent v0.0.0-20240215103202-c030d4222242 h1:d4SGLNv5mmwnMAG78t40ce0CSnhQwZJAi2FTmmx9kgg=
|
||||
github.com/gethugothemes/hugo-modules/components/cookie-consent v0.0.0-20240215103202-c030d4222242/go.mod h1:511ERLpGe3ZTfV2z/NAtUSR5NqKF26h9z5lU/zYV4YQ=
|
||||
github.com/gethugothemes/hugo-modules/components/custom-script v0.0.0-20240215103202-c030d4222242 h1:+ShMfcdSHAgg8eFF7ZVvEaWl+/JkLLfpaWgqJZnsm0I=
|
||||
github.com/gethugothemes/hugo-modules/components/custom-script v0.0.0-20240215103202-c030d4222242/go.mod h1:RuDHq4WnK8sNEzAIJr4BZQ7oXhzcct/EKaAxc2Xvi9E=
|
||||
github.com/gethugothemes/hugo-modules/components/preloader v0.0.0-20240215103202-c030d4222242 h1:Wnijrj8VjI2GclhDHsH0zRcYO1Wq/t9u5LtGpDFbc7w=
|
||||
github.com/gethugothemes/hugo-modules/components/preloader v0.0.0-20240215103202-c030d4222242/go.mod h1:FP0iQ3tMOesuWFZhLst2KEvUEYPb5Jk1GW+QBP9lrwg=
|
||||
github.com/gethugothemes/hugo-modules/components/render-link v0.0.0-20240215103202-c030d4222242 h1:1aTJ9rWGFka6yaEDrCR3uouz4BsA5H00S1iQzlTT7Cg=
|
||||
github.com/gethugothemes/hugo-modules/components/render-link v0.0.0-20240215103202-c030d4222242/go.mod h1:z3YcIeEBUonAoRDY1/Jv1ojNVkZ5ud35a0Nn8L4Inx0=
|
||||
github.com/gethugothemes/hugo-modules/components/social-share v0.0.0-20240215103202-c030d4222242 h1:phq6SxYmB8A22LlMUu2p75sI0qrWrizQVbptk0YznSU=
|
||||
github.com/gethugothemes/hugo-modules/components/social-share v0.0.0-20240215103202-c030d4222242/go.mod h1:Gcj4RM/EBECsJMZnPeWjfy/1roRYGqzV9GYNmeHkvFA=
|
||||
github.com/gethugothemes/hugo-modules/gallery-slider v0.0.0-20240215103202-c030d4222242 h1:imsu5wNduLXax4FjofQ7bOBpTtqgyyBcM15s0kNzHzM=
|
||||
github.com/gethugothemes/hugo-modules/gallery-slider v0.0.0-20240215103202-c030d4222242/go.mod h1:MvQ2js/ofZ22CTX5wuvE+dC0rMe6C5HAWL2fEOu/yzE=
|
||||
github.com/gethugothemes/hugo-modules/gzip-caching v0.0.0-20240215103202-c030d4222242 h1:qP8v2MMeqRQ658Vw/o4jsNKq/BUFVLfGkVz0dy8cDEo=
|
||||
github.com/gethugothemes/hugo-modules/gzip-caching v0.0.0-20240215103202-c030d4222242/go.mod h1:0ZMjTZVG4XLZU2/icc8Saqo4mmgMpfRTrUZU2Aa2Pwg=
|
||||
github.com/gethugothemes/hugo-modules/icons/font-awesome v0.0.0-20240215103202-c030d4222242 h1:xZm3fwubmIb3xpkmsrX9zDp7m0lfg5yptQKQT0dxxI0=
|
||||
github.com/gethugothemes/hugo-modules/icons/font-awesome v0.0.0-20240215103202-c030d4222242/go.mod h1:d3gy1vQyfasPmGpau7HpQLrXbOv23PfXclSnjyOBxeU=
|
||||
github.com/gethugothemes/hugo-modules/images v0.0.0-20240215103202-c030d4222242 h1:r1h0s39pTIW0PJVbDzKrePX3RNlHnHiTzldnXuDZeXU=
|
||||
github.com/gethugothemes/hugo-modules/images v0.0.0-20240215103202-c030d4222242/go.mod h1:FKliP3qOW9diIcQeLtyZ0Hdhg3PL8bdAkC/6O+XtU90=
|
||||
github.com/gethugothemes/hugo-modules/modal v0.0.0-20240215103202-c030d4222242 h1:8oP1m06Ko+q7dQichAmywtzMsGuckoG3rW6UVboa7d0=
|
||||
github.com/gethugothemes/hugo-modules/modal v0.0.0-20240215103202-c030d4222242/go.mod h1:Eb9v7oV6biymfvjcBhQdvgn0gUGYhUtfCMeOBLFpFsk=
|
||||
github.com/gethugothemes/hugo-modules/pwa v0.0.0-20240215103202-c030d4222242 h1:82WUFZMkOqSt5wWQ1uxkS7pP648+MfitjJbETOM8Hl0=
|
||||
github.com/gethugothemes/hugo-modules/pwa v0.0.0-20240215103202-c030d4222242/go.mod h1:TRv7iszdfo37O1PbBEE+S8X/enAdpRIxK5DGrp13Qbo=
|
||||
github.com/gethugothemes/hugo-modules/search v0.0.0-20240215103202-c030d4222242 h1:Uj5yTctxnxU3Rqc0hVT4KJ8bRY3rn6bwhSDhhsrWQLQ=
|
||||
github.com/gethugothemes/hugo-modules/search v0.0.0-20240215103202-c030d4222242/go.mod h1:tmDvLaZCM+QDvS/WLZXNjY1QTdWh7/68D2wIToECbyA=
|
||||
github.com/gethugothemes/hugo-modules/seo-tools/basic-seo v0.0.0-20240215103202-c030d4222242 h1:FCUJq2eYZmYVgTWnTno4lnez+0pCRHqBX0EREqiAzjA=
|
||||
github.com/gethugothemes/hugo-modules/seo-tools/basic-seo v0.0.0-20240215103202-c030d4222242/go.mod h1:Q8dPgjamV7pxwKSQyWV21Xwh5CGi23/k+M8HPTphYbs=
|
||||
github.com/gethugothemes/hugo-modules/seo-tools/google-tag-manager v0.0.0-20240215103202-c030d4222242 h1:XFI2k5XL/hIzr+MoRq2VAMQyHd4namMjqZLfOgeLiHI=
|
||||
github.com/gethugothemes/hugo-modules/seo-tools/google-tag-manager v0.0.0-20240215103202-c030d4222242/go.mod h1:cCq50yd55eFTrpqOfeyOK5X0hU5E7qxsqOD7IzTsgLA=
|
||||
github.com/gethugothemes/hugo-modules/seo-tools/site-verifications v0.0.0-20240215103202-c030d4222242 h1:zgttA3KBEABQGqVVMBuEcFO8OszjSwGGnCYFVxboiDo=
|
||||
github.com/gethugothemes/hugo-modules/seo-tools/site-verifications v0.0.0-20240215103202-c030d4222242/go.mod h1:iXielaya126qJscz7Bc2G2WB91moloQOoWru6UoBUyE=
|
||||
github.com/gethugothemes/hugo-modules/shortcodes/button v0.0.0-20240215103202-c030d4222242 h1:ZZPGIQ8uP/yBwelIGhLAx9fqOE18QyItitSTF0WD4B0=
|
||||
github.com/gethugothemes/hugo-modules/shortcodes/button v0.0.0-20240215103202-c030d4222242/go.mod h1:MSvxGvjvcGUKTs6YMATU/9kYFrzW+VSVdy4CCOQLdsY=
|
||||
github.com/gethugothemes/hugo-modules/shortcodes/notice v0.0.0-20240215103202-c030d4222242 h1:X10cLYuM8bT2EGul85TZZZ2/ih8jlax8/gLqynCDQIc=
|
||||
github.com/gethugothemes/hugo-modules/shortcodes/notice v0.0.0-20240215103202-c030d4222242/go.mod h1:ljWyMJx82WA+6SlKjbGFhEdxcriyvUTCjXkJHDa4lho=
|
||||
github.com/gethugothemes/hugo-modules/tab v0.0.0-20240215103202-c030d4222242 h1:gOucOrcZsEL++YUGnrTqFa91o9lRdNEepbnERNSmS3A=
|
||||
github.com/gethugothemes/hugo-modules/tab v0.0.0-20240215103202-c030d4222242/go.mod h1:h3UxlxrFoU19JldxWLPBKaTZFe3AJtABrqo1wfxr+Ng=
|
||||
github.com/gethugothemes/hugo-modules/table-of-contents v0.0.0-20240215103202-c030d4222242 h1:pgmjy/uwvUsAPTDl+gKz7GF3kTi6mcbFQBm4W8asDws=
|
||||
github.com/gethugothemes/hugo-modules/table-of-contents v0.0.0-20240215103202-c030d4222242/go.mod h1:bEDw4veccQQQYEdVrfu13ATRUWfW8ptDIjJZuhYh4Tw=
|
||||
github.com/gethugothemes/hugo-modules/videos v0.0.0-20240215103202-c030d4222242 h1:nLyYQIaJXGnMs8RlfRpmqRVR02T9OVzCEiekh5aU7Qw=
|
||||
github.com/gethugothemes/hugo-modules/videos v0.0.0-20240215103202-c030d4222242/go.mod h1:P722lLWdnNhdZVq6gvMrOLqECUwrAYQWaOWlChta5H0=
|
||||
github.com/zeon-studio/hugoplate v0.0.0-20240215094431-cf2ee3b68eaf h1:WOgVJoGR0gDPORswcdzZRN2zw2Ap4H58Zy5pYLwcmIQ=
|
||||
github.com/zeon-studio/hugoplate v0.0.0-20240215094431-cf2ee3b68eaf/go.mod h1:YlRIwdTWidquf1dhtx+mDfu0I3KVrVQB4wi4UmHlK3E=
|
172
website/hugo.toml
Executable file
|
@ -0,0 +1,172 @@
|
|||
######################## default configuration ####################
|
||||
# The base URL of your site (required). This will be prepended to all relative URLs.
|
||||
baseURL = "/"
|
||||
# Title of your website (required).
|
||||
title = "Fediversity"
|
||||
# Your theme name
|
||||
theme = "hugoplate"
|
||||
# Default time zone for time stamps; use any valid tz database name: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
|
||||
timeZone = "Europe/Amsterdam"
|
||||
# post pagination
|
||||
paginate = 5 # see https://gohugo.io/extras/pagination/
|
||||
# post excerpt
|
||||
summaryLength = 10 # see https://gohugo.io/content-management/excerpts/
|
||||
# disable language
|
||||
disableLanguages = [
|
||||
] # example: ["fr"] for disable french language. see https://gohugo.io/content-management/multilingual/
|
||||
hasCJKLanguage = false # If hasCJKLanguage true, auto-detect Chinese/Japanese/Korean Languages in the content. see: https://gohugo.io/getting-started/configuration/#hascjklanguage
|
||||
# default language
|
||||
defaultContentLanguage = 'en'
|
||||
defaultContentLanguageInSubdir = false
|
||||
|
||||
########################### Services #############################
|
||||
[services]
|
||||
[services.googleAnalytics]
|
||||
ID = 'G-MEASUREMENT_ID' # see https://gohugo.io/templates/internal/#configure-google-analytics
|
||||
|
||||
[services.disqus]
|
||||
shortname = 'themefisher-template' # we use disqus to show comments in blog posts . To install disqus please follow this tutorial https://portfolio.peter-baumgartner.net/2017/09/10/how-to-install-disqus-on-hugo/
|
||||
|
||||
########################## Permalinks ############################
|
||||
[permalinks.page]
|
||||
"pages" = "/:slugorfilename/"
|
||||
|
||||
|
||||
############################# Modules ############################
|
||||
[module]
|
||||
[[module.mounts]]
|
||||
source = "assets"
|
||||
target = "assets"
|
||||
|
||||
[[module.mounts]]
|
||||
source = "hugo_stats.json"
|
||||
target = "assets/watching/hugo_stats.json"
|
||||
|
||||
############################# Build ##############################
|
||||
[build]
|
||||
noJSConfigInAssets = false
|
||||
useResourceCacheWhen = 'fallback'
|
||||
[build.buildStats]
|
||||
enable = true
|
||||
[[build.cachebusters]]
|
||||
source = 'assets/watching/hugo_stats\.json'
|
||||
target = 'style\.css'
|
||||
[[build.cachebusters]]
|
||||
source = '(postcss|tailwind)\.config\.js'
|
||||
target = 'css'
|
||||
[[build.cachebusters]]
|
||||
source = 'assets/.*\.(js|ts|jsx|tsx)'
|
||||
target = 'js'
|
||||
[[build.cachebusters]]
|
||||
source = 'assets/.*\.(css|scss|sass)'
|
||||
target = 'css'
|
||||
[[build.cachebusters]]
|
||||
source = 'data/.*\.(.*)$'
|
||||
target = 'css'
|
||||
[[build.cachebusters]]
|
||||
source = 'assets/.*\.(.*)$'
|
||||
target = '$1'
|
||||
|
||||
|
||||
############################# Outputs ############################
|
||||
[outputs]
|
||||
home = ["HTML", "RSS", "WebAppManifest", "SearchIndex"]
|
||||
|
||||
############################# Imaging ############################
|
||||
[imaging]
|
||||
# See https://github.com/disintegration/imaging
|
||||
# Default JPEG or WebP quality setting. Default is 75.
|
||||
quality = 80
|
||||
resampleFilter = "Lanczos"
|
||||
|
||||
############################ Caches ##############################
|
||||
[caches]
|
||||
[caches.images]
|
||||
dir = ":resourceDir/_gen"
|
||||
maxAge = "720h"
|
||||
|
||||
[caches.assets]
|
||||
dir = ":resourceDir/_gen"
|
||||
maxAge = "720h"
|
||||
|
||||
|
||||
############################ Markup ##############################
|
||||
[markup]
|
||||
[markup.goldmark.renderer]
|
||||
unsafe = true
|
||||
|
||||
[markup.highlight]
|
||||
style = 'monokai' # see https://xyproto.github.io/splash/docs/all.html
|
||||
|
||||
[markup.tableOfContents]
|
||||
startLevel = 2
|
||||
endLevel = 5
|
||||
ordered = true
|
||||
|
||||
|
||||
########################### Media types ###########################
|
||||
[mediaTypes]
|
||||
[mediaTypes."application/manifest+json"]
|
||||
suffixes = ["webmanifest"]
|
||||
|
||||
|
||||
########################### Output Format ##########################
|
||||
[outputFormats]
|
||||
[outputFormats.WebAppManifest]
|
||||
mediaType = "application/manifest+json"
|
||||
rel = "manifest"
|
||||
|
||||
[outputFormats.SearchIndex]
|
||||
mediaType = "application/json"
|
||||
baseName = "searchindex"
|
||||
isPlainText = true
|
||||
notAlternative = true
|
||||
|
||||
|
||||
############################# Plugins ##############################
|
||||
|
||||
# CSS Plugins
|
||||
[[params.plugins.css]]
|
||||
link = "plugins/swiper/swiper-bundle.css"
|
||||
lazy = true
|
||||
[[params.plugins.css]]
|
||||
link = "plugins/glightbox/glightbox.css"
|
||||
lazy = true
|
||||
[[params.plugins.css]]
|
||||
link = "plugins/font-awesome/v6/brands.css"
|
||||
lazy = true
|
||||
[[params.plugins.css]]
|
||||
link = "plugins/font-awesome/v6/solid.css"
|
||||
lazy = true
|
||||
[[params.plugins.css]]
|
||||
link = "plugins/font-awesome/v6/icons.css"
|
||||
lazy = true
|
||||
|
||||
# JS Plugins
|
||||
[[params.plugins.js]]
|
||||
link = "js/search.js"
|
||||
lazy = false
|
||||
[[params.plugins.js]]
|
||||
link = "plugins/swiper/swiper-bundle.js"
|
||||
lazy = false
|
||||
[[params.plugins.js]]
|
||||
link = "plugins/cookie.js"
|
||||
lazy = false
|
||||
[[params.plugins.js]]
|
||||
link = "plugins/glightbox/glightbox.js"
|
||||
lazy = true
|
||||
[[params.plugins.js]]
|
||||
link = "js/gallery-slider.js"
|
||||
lazy = true
|
||||
[[params.plugins.js]]
|
||||
link = "js/accordion.js"
|
||||
lazy = true
|
||||
[[params.plugins.js]]
|
||||
link = "js/tab.js"
|
||||
lazy = true
|
||||
[[params.plugins.js]]
|
||||
link = "js/modal.js"
|
||||
lazy = true
|
||||
[[params.plugins.js]]
|
||||
link = "plugins/youtube-lite.js"
|
||||
lazy = true
|
257
website/hugo_stats.json
Normal file
|
@ -0,0 +1,257 @@
|
|||
{
|
||||
"htmlElements": {
|
||||
"tags": [
|
||||
"a",
|
||||
"article",
|
||||
"base",
|
||||
"body",
|
||||
"br",
|
||||
"button",
|
||||
"center",
|
||||
"div",
|
||||
"footer",
|
||||
"form",
|
||||
"h1",
|
||||
"h2",
|
||||
"h4",
|
||||
"h5",
|
||||
"head",
|
||||
"header",
|
||||
"hr",
|
||||
"html",
|
||||
"i",
|
||||
"img",
|
||||
"input",
|
||||
"label",
|
||||
"li",
|
||||
"link",
|
||||
"main",
|
||||
"meta",
|
||||
"nav",
|
||||
"p",
|
||||
"path",
|
||||
"picture",
|
||||
"polygon",
|
||||
"script",
|
||||
"section",
|
||||
"source",
|
||||
"span",
|
||||
"svg",
|
||||
"textarea",
|
||||
"time",
|
||||
"title",
|
||||
"ul"
|
||||
],
|
||||
"classes": [
|
||||
"2xl:bg-pink-200",
|
||||
"2xl:block",
|
||||
"2xl:hidden",
|
||||
"active",
|
||||
"bg-body",
|
||||
"bg-gradient",
|
||||
"bg-gradient-to-b",
|
||||
"bg-gray-200",
|
||||
"bg-theme-light",
|
||||
"block",
|
||||
"border-b",
|
||||
"border-border",
|
||||
"border-t",
|
||||
"btn",
|
||||
"btn-outline-primary",
|
||||
"btn-primary",
|
||||
"btn-sm",
|
||||
"capitalize",
|
||||
"center-layout",
|
||||
"center-wrapper",
|
||||
"col-12",
|
||||
"column",
|
||||
"container",
|
||||
"content",
|
||||
"cursor-pointer",
|
||||
"fa",
|
||||
"fa-arrow-right",
|
||||
"fa-brands",
|
||||
"fa-circle-user",
|
||||
"fa-clock",
|
||||
"fa-folder",
|
||||
"fa-github",
|
||||
"fa-globe",
|
||||
"fa-mastodon",
|
||||
"fa-regular",
|
||||
"fa-rss",
|
||||
"fab",
|
||||
"fill-current",
|
||||
"fixed",
|
||||
"flex",
|
||||
"flex-wrap",
|
||||
"font-bold",
|
||||
"form-input",
|
||||
"form-label",
|
||||
"from-body",
|
||||
"g",
|
||||
"grid-container",
|
||||
"grid-container-small",
|
||||
"grid-item",
|
||||
"group",
|
||||
"gx-5",
|
||||
"h-4",
|
||||
"h-6",
|
||||
"h2",
|
||||
"h3",
|
||||
"header",
|
||||
"header-with-image",
|
||||
"header-with-image2",
|
||||
"hidden",
|
||||
"hr-list",
|
||||
"hr-list2",
|
||||
"img",
|
||||
"inlin-block",
|
||||
"inline-block",
|
||||
"inline-flex",
|
||||
"items-center",
|
||||
"items-start",
|
||||
"justify-between",
|
||||
"justify-center",
|
||||
"left-0",
|
||||
"lg:!max-w-[800px]",
|
||||
"lg:bg-green-200",
|
||||
"lg:block",
|
||||
"lg:col-10",
|
||||
"lg:col-3",
|
||||
"lg:col-4",
|
||||
"lg:col-6",
|
||||
"lg:col-7",
|
||||
"lg:col-8",
|
||||
"lg:flex",
|
||||
"lg:group-hover:opacity-100",
|
||||
"lg:group-hover:visible",
|
||||
"lg:hidden",
|
||||
"lg:inline-block",
|
||||
"lg:mb-0",
|
||||
"lg:ml-0",
|
||||
"lg:mt-0",
|
||||
"lg:order-1",
|
||||
"lg:pb-0",
|
||||
"lg:space-x-2",
|
||||
"lg:text-h1",
|
||||
"lg:text-left",
|
||||
"lg:text-right",
|
||||
"lg:w-1/2",
|
||||
"lg:w-auto",
|
||||
"line",
|
||||
"link",
|
||||
"list",
|
||||
"list-item",
|
||||
"logo-dark",
|
||||
"logo-light",
|
||||
"m-3",
|
||||
"mb-10",
|
||||
"mb-12",
|
||||
"mb-14",
|
||||
"mb-3",
|
||||
"mb-4",
|
||||
"mb-6",
|
||||
"mb-8",
|
||||
"mb:md-0",
|
||||
"md:bg-yellow-200",
|
||||
"md:block",
|
||||
"md:col-10",
|
||||
"md:col-5",
|
||||
"md:col-6",
|
||||
"md:col-7",
|
||||
"md:col-8",
|
||||
"md:col-9",
|
||||
"md:hidden",
|
||||
"md:order-2",
|
||||
"ml-2",
|
||||
"ml-4",
|
||||
"ml-auto",
|
||||
"mr-1",
|
||||
"mr-2",
|
||||
"mr-4",
|
||||
"ms-1",
|
||||
"mt-10",
|
||||
"mt-4",
|
||||
"mt-6",
|
||||
"mt-8",
|
||||
"mx-auto",
|
||||
"nav-dropdown",
|
||||
"nav-dropdown-item",
|
||||
"nav-dropdown-link",
|
||||
"nav-dropdown-list",
|
||||
"nav-item",
|
||||
"nav-link",
|
||||
"navbar",
|
||||
"navbar-brand",
|
||||
"navbar-nav",
|
||||
"order-0",
|
||||
"order-1",
|
||||
"order-3",
|
||||
"p-8",
|
||||
"pb-0",
|
||||
"pb-14",
|
||||
"pb-16",
|
||||
"pb-6",
|
||||
"pl-2",
|
||||
"pr-8",
|
||||
"pt-14",
|
||||
"pt-7",
|
||||
"px-2",
|
||||
"px-4",
|
||||
"px-8",
|
||||
"py-10",
|
||||
"py-14",
|
||||
"py-2",
|
||||
"py-7",
|
||||
"py-[2.5px]",
|
||||
"relative",
|
||||
"rounded",
|
||||
"rounded-2xl",
|
||||
"row",
|
||||
"section",
|
||||
"section-sm",
|
||||
"sm:bg-red-200",
|
||||
"sm:block",
|
||||
"sm:col-10",
|
||||
"sm:hidden",
|
||||
"social-icons",
|
||||
"space-x-1",
|
||||
"sr-only",
|
||||
"sticky",
|
||||
"system",
|
||||
"text-[12px]",
|
||||
"text-[8rem]",
|
||||
"text-black",
|
||||
"text-center",
|
||||
"text-dark",
|
||||
"text-h3",
|
||||
"text-lg",
|
||||
"text-light",
|
||||
"text-primary",
|
||||
"text-red-500",
|
||||
"text-xl",
|
||||
"time",
|
||||
"to-theme-light",
|
||||
"top-0",
|
||||
"uppercase",
|
||||
"w-4",
|
||||
"w-[30px]",
|
||||
"w-full",
|
||||
"xl:bg-blue-200",
|
||||
"xl:block",
|
||||
"xl:hidden",
|
||||
"xl:space-x-8",
|
||||
"z-30",
|
||||
"z-50"
|
||||
],
|
||||
"ids": [
|
||||
"email",
|
||||
"hide-button",
|
||||
"message",
|
||||
"name",
|
||||
"nav-menu",
|
||||
"nav-toggle",
|
||||
"show-button"
|
||||
]
|
||||
}
|
||||
}
|
32
website/i18n/en.yaml
Executable file
|
@ -0,0 +1,32 @@
|
|||
- id: home
|
||||
translation: Home
|
||||
|
||||
- id: read_more
|
||||
translation: Read More
|
||||
|
||||
- id: send
|
||||
translation: Send
|
||||
|
||||
- id: related_posts
|
||||
translation: Related Posts
|
||||
|
||||
- id: categories
|
||||
translation: Categories
|
||||
|
||||
- id: tags
|
||||
translation: Tags
|
||||
|
||||
- id: toc
|
||||
translation: Table of Contents
|
||||
|
||||
- id: share
|
||||
translation: Share
|
||||
|
||||
- id: search_input_placeholder
|
||||
translation: Search Post ...
|
||||
|
||||
- id: no_results_for
|
||||
translation: No results for
|
||||
|
||||
- id: empty_search_results_placeholder
|
||||
translation: Type something to search..
|
BIN
website/images/screenshot.png
Normal file
After Width: | Height: | Size: 220 KiB |
BIN
website/images/tn.png
Normal file
After Width: | Height: | Size: 248 KiB |
21
website/layouts/404.html
Executable file
|
@ -0,0 +1,21 @@
|
|||
{{ define "main" }}
|
||||
<section class="section-sm text-center">
|
||||
<div class="container">
|
||||
<div class="row justify-center">
|
||||
<div class="sm:col-10 md:col-8 lg:col-6">
|
||||
<span class="text-[8rem] block font-bold text-dark"> 404 </span>
|
||||
<h1 class="h2 mb-4">Page not found</h1>
|
||||
<div class="content">
|
||||
<p>
|
||||
The page you are looking for might have been removed, had its name
|
||||
changed, or is temporarily unavailable.
|
||||
</p>
|
||||
</div>
|
||||
<a href="{{ site.BaseURL | relLangURL }}" class="btn btn-primary mt-8">
|
||||
Back to home
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
39
website/layouts/_default/baseof.html
Executable file
|
@ -0,0 +1,39 @@
|
|||
<!doctype html>
|
||||
<html
|
||||
itemscope
|
||||
class="{{- if not site.Params.theme_switcher -}}
|
||||
{{- site.Params.theme_default -}}
|
||||
{{- end -}}"
|
||||
lang="{{ site.LanguageCode | default `en-US` }}"
|
||||
itemtype="http://schema.org/WebPage"
|
||||
>
|
||||
<head>
|
||||
<!-- head (don't cache it) -->
|
||||
{{ partial "essentials/head.html" . }}
|
||||
|
||||
<!-- style (always cache it) -->
|
||||
{{ partialCached "essentials/style.html" . }}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- cache partial only in production -->
|
||||
{{ if hugo.IsProduction }} {{ partialCached "preloader.html" . }} {{
|
||||
partialCached "gtm-noscript.html" . }} {{ else }} {{ partial
|
||||
"preloader.html" . }}
|
||||
|
||||
<!-- tailwind size indicator -->
|
||||
{{ partial "components/tw-size-indicator.html" . }} {{ end }}
|
||||
|
||||
<!-- header (don't cache it) -->
|
||||
{{ partial "essentials/header.html" . }} {{ partial "search-modal.html"
|
||||
(dict "Context" . ) }}
|
||||
|
||||
<main>{{ block "main" . }}{{ end }}</main>
|
||||
|
||||
<!-- footer -->
|
||||
{{ partial "essentials/footer.html" . }}
|
||||
|
||||
<!-- script (always cache it) -->
|
||||
{{ partialCached "essentials/script.html" . }}
|
||||
</body>
|
||||
</html>
|
16
website/layouts/_default/list.html
Executable file
|
@ -0,0 +1,16 @@
|
|||
{{ define "main" }} {{ partial "page-header" . }}
|
||||
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<ul class="text-center">
|
||||
{{ range .RegularPages }}
|
||||
<li class="m-3">
|
||||
<a href="{{ .Permalink }}" class="text-dark block text-xl">
|
||||
{{ .Title }}
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
12
website/layouts/_default/single.html
Executable file
|
@ -0,0 +1,12 @@
|
|||
{{ define "main" }} {{ partial "page-header" . }}
|
||||
|
||||
<section class="section-sm">
|
||||
<div class="container">
|
||||
<div class="row justify-center">
|
||||
<div class="lg:col-10">
|
||||
<div class="content">{{ .Content }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
20
website/layouts/_default/taxonomy.html
Executable file
|
@ -0,0 +1,20 @@
|
|||
{{ define "main" }} {{ partial "page-header" . }}
|
||||
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<div class="row gx-5">
|
||||
<!-- blog posts -->
|
||||
<div class="lg:col-8">
|
||||
<div class="row">
|
||||
{{ range .Data.Pages }}
|
||||
<div class="md:col-6 mb-14">
|
||||
{{ partial "components/blog-card" . }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
|
32
website/layouts/_default/terms.html
Executable file
|
@ -0,0 +1,32 @@
|
|||
{{ define "main" }} {{ partial "page-header" . }}
|
||||
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<ul class="text-center">
|
||||
{{/* categories */}} {{ if eq .Permalink (`categories/` | absLangURL) }}
|
||||
{{ range site.Taxonomies.categories.ByCount }}
|
||||
<li class="m-3 inline-block">
|
||||
<a
|
||||
href="{{ .Page.Permalink }}"
|
||||
class="bg-theme-light text-dark block rounded px-4 py-2 text-xl"
|
||||
>
|
||||
{{ .Page.Title }}
|
||||
<span class="bg-body ml-2 rounded px-2"> {{ .Count }} </span>
|
||||
</a>
|
||||
</li>
|
||||
{{ end }} {{ end }} {{/* tags */}} {{ if eq .Permalink (`tags/` |
|
||||
absLangURL) }} {{ range site.Taxonomies.tags.ByCount }}
|
||||
<li class="m-3 inline-block">
|
||||
<a
|
||||
href="{{ .Page.Permalink }}"
|
||||
class="bg-theme-light text-dark block rounded px-4 py-2 text-xl"
|
||||
>
|
||||
{{ .Page.Title }}
|
||||
<span class="bg-body ml-2 rounded px-2"> {{ .Count }} </span>
|
||||
</a>
|
||||
</li>
|
||||
{{ end }} {{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
14
website/layouts/about/list.html
Normal file
|
@ -0,0 +1,14 @@
|
|||
{{ define "main" }}
|
||||
<section class="section-sm">
|
||||
<div class="container">
|
||||
<div class="row justify-center">
|
||||
<div class="md:col-10 lg:col-7 text-center">
|
||||
{{ partial "image" (dict "Src" .Params.image "Alt" .Title "Class"
|
||||
"mx-auto mb-6" "Size" "200x200") }}
|
||||
<h2 class="h3 mb-6">{{ .Title }}</h2>
|
||||
<div class="content">{{ .Content }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
14
website/layouts/authors/list.html
Normal file
|
@ -0,0 +1,14 @@
|
|||
{{ define "main" }} {{ partial "page-header" . }}
|
||||
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
{{ range .RegularPages }}
|
||||
<div class="md:col-6 lg:col-4 mb-14">
|
||||
{{ partial "components/author-card" . }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
46
website/layouts/authors/single.html
Executable file
|
@ -0,0 +1,46 @@
|
|||
{{ define "main" }}
|
||||
<section class="section-sm pb-0">
|
||||
<div class="container">
|
||||
<div class="row border-border justify-center border-b pb-14">
|
||||
<div class="lg:col-4 text-center">
|
||||
{{ $image:= .Params.image }} {{ if $image }} {{ partial "image" (dict
|
||||
"Src" $image "Alt" .Title "Class" "mx-auto" "Size" "200x200") }} {{ else
|
||||
if .Params.Email }}
|
||||
<img
|
||||
class="mx-auto"
|
||||
alt="{{ .Title }}"
|
||||
height="200"
|
||||
width="200"
|
||||
src="https://www.gravatar.com/avatar/{{ md5 .Params.email }}?s=128&pg&d=identicon"
|
||||
/>
|
||||
{{ end }}
|
||||
<h1 class="h3 mt-10">{{ .Title }}</h1>
|
||||
<div class="content mt-6">{{ .Content }}</div>
|
||||
<ul class="social-icons ml-4 mt-10 text-center">
|
||||
{{ range .Params.social }}
|
||||
<li>
|
||||
<a
|
||||
href="{{ .link | safeURL }}"
|
||||
target="_blank"
|
||||
rel="noopener nofollow"
|
||||
>
|
||||
<span class="sr-only">{{ .title }}</span>
|
||||
<i class="{{ .icon }}"></i>
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row pb-16 pt-14">
|
||||
{{ $filterByAuthor := where site.RegularPages "Params.author" "==" .Title
|
||||
}} {{ range $filterByAuthor }}
|
||||
<div class="md:col-6 lg:col-4 mb-12">
|
||||
{{ partial "components/blog-card" . }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
22
website/layouts/blog/list.html
Normal file
|
@ -0,0 +1,22 @@
|
|||
{{ define "main" }} {{ partial "page-header" . }}
|
||||
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<div class="row gx-5">
|
||||
<!-- blog posts -->
|
||||
<!--<div class="lg:col-8">-->
|
||||
<div class="row">
|
||||
{{ $paginator:= .Paginate .RegularPages }} {{ range $paginator.Pages
|
||||
}}
|
||||
<div class="md:col-6 mb-14">
|
||||
{{ partial "components/blog-card" . }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ partial "components/pagination.html" . }}
|
||||
<!--</div>-->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
68
website/layouts/blog/single.html
Normal file
|
@ -0,0 +1,68 @@
|
|||
{{ define "main" }}
|
||||
<section class="section pt-7">
|
||||
<div class="container">
|
||||
<div class="row justify-center">
|
||||
<article class="lg:col-10">
|
||||
|
||||
{{ $image:= .Params.image }} {{ if $image }}
|
||||
<div class="mb-10 flex flex-wrap"> <!-- Add flex-wrap class to allow wrapping -->
|
||||
<div class="w-full lg:w-1/2 mb-4 lg:mb-0 pr-8"> <!-- Specify width for the text content and add margin to the right -->
|
||||
<h1 class="h2 mb-4">{{ .Title }}</h1>
|
||||
<ul class="mb-4">
|
||||
<!-- List items for author, categories, and publish date -->
|
||||
<li class="mr-4 inline-block">
|
||||
<a
|
||||
href="{{ `authors/` | relLangURL }}{{ .Params.Author | urlize }}/"
|
||||
>
|
||||
<i class="fa-regular fa-circle-user mr-2"></i>{{ .Params.author }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="mr-4 inline-block">
|
||||
<i class="fa-regular fa-clock mr-2"></i>
|
||||
{{ time.Format ":date_long" .PublishDate }}
|
||||
</li>
|
||||
</ul>
|
||||
<div class="content mb-10">{{ .Content }}</div>
|
||||
<!-- Other content elements -->
|
||||
</div>
|
||||
<div class="w-full lg:w-1/2"> <!-- Specify width for the image content -->
|
||||
<div>
|
||||
{{ partial "image" (dict "Src" $image "Alt" .Title "Class" "w-full rounded") }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
<div class="row items-start justify-between">
|
||||
{{ $tags:= .Params.tags }} {{ if $tags }}
|
||||
<div class="lg:col-5 mb-10 flex items-center lg:mb-0">
|
||||
<h5 class="mr-3">{{ i18n "tags" }} :</h5>
|
||||
<ul>
|
||||
{{ range $i,$p:= $tags }}
|
||||
<li class="inline-block">
|
||||
<a
|
||||
class="bg-theme-light hover:bg-primary m-1 block rounded px-3 py-1 hover:text-white"
|
||||
href="{{ `tags/` | relLangURL }}{{ . | urlize | lower }}/"
|
||||
>
|
||||
{{ . | humanize }}
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</article>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|