diff --git a/assets/images/dasharo_logo.png b/assets/images/dasharo_logo.png new file mode 100644 index 0000000..bce516f Binary files /dev/null and b/assets/images/dasharo_logo.png differ diff --git a/assets/images/pet-v0.4.0.png b/assets/images/pet-v0.4.0.png new file mode 100644 index 0000000..b97715e Binary files /dev/null and b/assets/images/pet-v0.4.0.png differ diff --git a/assets/images/zarhus_logo.png b/assets/images/zarhus_logo.png new file mode 100644 index 0000000..f540979 Binary files /dev/null and b/assets/images/zarhus_logo.png differ diff --git a/config/_default/menus.toml b/config/_default/menus.toml index a997eef..d48397c 100755 --- a/config/_default/menus.toml +++ b/config/_default/menus.toml @@ -1,260 +1,266 @@ -# main menu -[[main]] -weight = 1 -name = "Company" -hasChildren = true - -[[main]] -parent = "Company" -name = "About Us" -url = "about-us/" -weight = 1 - -[[main]] -parent = "Company" -name = "Customers" -url = "about-us/#partners-customers" -weight = 5 - -[[main]] -parent = "Company" -url = "careers/" -name = "Careers" -weight = 10 - -[[main]] -parent = "Company" -url = "markets/" -name = "Markets" -weight = 15 - -[[main]] -parent = "Company" -name = "FAQ" -url = "faq/" -weight = 20 - -[[main]] -parent = "Company" -name = "Logo Policy & Projects co-funded by the EU" -url = "logo-policy/" -weight = 20 - -[[main]] -weight = 5 -name = "Products" -hasChildren = true - -[[main]] -parent = "Products" -name = "Dasharo" -url = "https://dasharo.com/" -weight = 1 - -[[main]] -parent = "Products" -name = "Open Source Software" -url = "open-source-software/" -weight = 5 - -[[main]] -parent = "Products" -name = "Open Source Hardware" -url = "open-source-hardware/" -weight = 10 - -[[main]] -parent = "Products" -name = "Products Documentation" -url = "products-documentation/" -weight = 15 - -[[main]] -weight = 10 -name = "Services" -hasChildren = true - -[[main]] -parent = "Services" -name = "Embedded Firmware" -url = "embedded-firmware-development/" -weight = 1 - -[[main]] -parent = "Services" -name = "Operating Systems" -url = "operating-systems-development/" -weight = 5 - -[[main]] -parent = "Services" -name = "Hypervisors" -url = "hypervisors-development/" -weight = 10 - -[[main]] -parent = "Services" -name = "Software and Hardware Security" -url = "software-and-hardware-security/" -weight = 15 - -[[main]] -parent = "Services" -name = "Hardware Support" -url = "hardware-development-support/" -weight = 20 - -[[main]] -parent = "Services" -name = "Internet of Things Solutions" -url = "internet-of-things-solutions/" -weight = 25 - -[[main]] -parent = "Services" -name = "Automated Validation" -url = "automated-validation/" -weight = 30 - -[[main]] -parent = "Services" -name = "Service Catalogues" -url = "service-catalogues/" -weight = 35 - -[[main]] -weight = 15 -name = "Training" -pre = true -url = "/training" -hasChildren = true - -[[main]] -parent = "Training" -name = "coreboot for Embedded Linux Developers" -url = "/training/#coreboot-for-embedded-linux-developers" -weight = 1 - -[[main]] -parent = "Training" -name = "Building and development of Embedded Linux Systems" -url = "/training/#building-and-development-of-embedded-linux-systems" -weight = 5 - -[[main]] -parent = "Training" -name = "OST2 Arch4001, Arch4021, TC3001, TC3011, TC3211 – Intel Root of Trust training" -url = "/training/#ost2-arch4001-arch4021-tc3001-tc3011-tc3211-intel-root-of-trust-training" -weight = 10 - -[[main]] -parent = "Training" -name = "OST2 Arch2001, Arch4001, Arch4021 – System Security training" -url = "/training/#ost2-arch2001-arch4001-arch4021-system-security-training" -weight = 15 - -[[main]] -parent = "Training" -name = "Yocto project development" -url = "/training/#yocto-project-development" -weight = 20 - -[[main]] -parent = "Training" -name = "UEFI offensive security" -url = "/training/#UEFI-offensive-security/" -weight = 25 - -[[main]] -parent = "Training" -name = "UEFI advanced concepts" -url = "/training/#UEFI-advanced-concepts/" -weight = 30 - -[[main]] -parent = "Training" -name = "UEFI fundamentals" -url = "/training/#UEFI-fundamentals/" -weight = 35 - -[[main]] -parent = "Training" -name = "UEFI practical firmware development" -url = "/training/#UEFI-practical-firmware-development/" -weight = 40 - -[[main]] -weight = 20 -name = "News" -hasChildren = true - -[[main]] -parent = "News" -name = "Blog" -url = "https://blog.3mdeb.com/" -weight = 1 - -[[main]] -parent = "News" -name = "Events" -url = "events/" -weight = 5 - -[[main]] -parent = "News" -name = "Why fight for freedom?" -url = "why-fight-for-freedom/" -weight = 15 - -[[main]] -parent = "News" -name = "Press Releases" -url = "press-releases/" -weight = 10 - -[[main]] -parent = "News" -name = "Our Contribution" -url = "https://opensource.3mdeb.com/" -weight = 15 - -[[main]] -parent = "News" -name = "Containers" -url = "https://containers.3mdeb.com/" -weight = 20 - -[[main]] -name = "Shop" -url = "https://shop.3mdeb.com/shop/" -weight = 25 - -[[main]] -name = "Contact" -url = "contact/" -weight = 30 - -[[main]] -name = "Account" -url = "https://shop.3mdeb.com/my-account/" -weight = 35 - -[[footer]] -name = "Terms & Conditions" -url = "/terms-conditions/" -weight = 1 - -[[footer]] -name = "Privacy Policy" -url = "/privacy-policy/" -weight = 5 - -[[footer]] -name = "Return & Refund Policy" -url = "/return-refund-policy/" -weight = 10 - -[[footer]] -name = "Contact Us" -url = "/contact/" -weight = 15 +# main menu +[[main]] +weight = 1 +name = "Company" +hasChildren = true + +[[main]] +parent = "Company" +name = "About Us" +url = "about-us/" +weight = 1 + +[[main]] +parent = "Company" +name = "Customers" +url = "about-us/#partners-customers" +weight = 5 + +[[main]] +parent = "Company" +url = "careers/" +name = "Careers" +weight = 10 + +[[main]] +parent = "Company" +url = "markets/" +name = "Markets" +weight = 15 + +[[main]] +parent = "Company" +name = "FAQ" +url = "faq/" +weight = 20 + +[[main]] +parent = "Company" +name = "Logo Policy & Projects co-funded by the EU" +url = "logo-policy/" +weight = 20 + +[[main]] +weight = 5 +name = "Products" +hasChildren = true + +[[main]] +parent = "Products" +name = "Dasharo" +url = "https://dasharo.com/" +weight = 1 + +[[main]] +parent = "Products" +name = "Open Source Software" +url = "open-source-software/" +weight = 5 + +[[main]] +parent = "Products" +name = "Open Source Hardware" +url = "open-source-hardware/" +weight = 10 + +[[main]] +parent = "Products" +name = "Products Documentation" +url = "products-documentation/" +weight = 15 + +[[main]] +weight = 10 +name = "Services" +hasChildren = true + +[[main]] +parent = "Services" +name = "Embedded Firmware" +url = "embedded-firmware-development/" +weight = 1 + +[[main]] +parent = "Services" +name = "Operating Systems" +url = "operating-systems-development/" +weight = 5 + +[[main]] +parent = "Services" +name = "Hypervisors" +url = "hypervisors-development/" +weight = 10 + +[[main]] +parent = "Services" +name = "Software and Hardware Security" +url = "software-and-hardware-security/" +weight = 15 + +[[main]] +parent = "Services" +name = "Hardware Support" +url = "hardware-development-support/" +weight = 20 + +[[main]] +parent = "Services" +name = "Internet of Things Solutions" +url = "internet-of-things-solutions/" +weight = 25 + +[[main]] +parent = "Services" +name = "Automated Validation" +url = "automated-validation/" +weight = 30 + +[[main]] +parent = "Services" +name = "Service Catalogues" +url = "service-catalogues/" +weight = 35 + +[[main]] +weight = 15 +name = "Training" +pre = true +url = "/training" +hasChildren = true + +[[main]] +parent = "Training" +name = "coreboot for Embedded Linux Developers" +url = "/training/#coreboot-for-embedded-linux-developers" +weight = 1 + +[[main]] +parent = "Training" +name = "Building and development of Embedded Linux Systems" +url = "/training/#building-and-development-of-embedded-linux-systems" +weight = 5 + +[[main]] +parent = "Training" +name = "OST2 Arch4001, Arch4021, TC3001, TC3011, TC3211 – Intel Root of Trust training" +url = "/training/#ost2-arch4001-arch4021-tc3001-tc3011-tc3211-intel-root-of-trust-training" +weight = 10 + +[[main]] +parent = "Training" +name = "OST2 Arch2001, Arch4001, Arch4021 – System Security training" +url = "/training/#ost2-arch2001-arch4001-arch4021-system-security-training" +weight = 15 + +[[main]] +parent = "Training" +name = "Yocto project development" +url = "/training/#yocto-project-development" +weight = 20 + +[[main]] +parent = "Training" +name = "UEFI offensive security" +url = "/training/#UEFI-offensive-security/" +weight = 25 + +[[main]] +parent = "Training" +name = "UEFI advanced concepts" +url = "/training/#UEFI-advanced-concepts/" +weight = 30 + +[[main]] +parent = "Training" +name = "UEFI fundamentals" +url = "/training/#UEFI-fundamentals/" +weight = 35 + +[[main]] +parent = "Training" +name = "UEFI practical firmware development" +url = "/training/#UEFI-practical-firmware-development/" +weight = 40 + +[[main]] +weight = 20 +name = "News" +hasChildren = true + +[[main]] +parent = "News" +name = "Blog" +url = "https://blog.3mdeb.com/" +weight = 1 + +[[main]] +parent = "News" +name = "Events" +url = "events/" +weight = 5 + +[[main]] +parent = "News" +name = "Why fight for freedom?" +url = "why-fight-for-freedom/" +weight = 15 + +[[main]] +parent = "News" +name = "Press Releases" +url = "press-releases/" +weight = 10 + +[[main]] +parent = "News" +name = "Our Contribution" +url = "https://opensource.3mdeb.com/" +weight = 15 + +[[main]] +parent = "News" +name = "Containers" +url = "https://containers.3mdeb.com/" +weight = 20 + +[[main]] +parent = "News" +name = "New Landing Page" +url = "landing_page/" +weight = 25 + +[[main]] +name = "Shop" +url = "https://shop.3mdeb.com/shop/" +weight = 25 + +[[main]] +name = "Contact" +url = "contact/" +weight = 30 + +[[main]] +name = "Account" +url = "https://shop.3mdeb.com/my-account/" +weight = 35 + +[[footer]] +name = "Terms & Conditions" +url = "/terms-conditions/" +weight = 1 + +[[footer]] +name = "Privacy Policy" +url = "/privacy-policy/" +weight = 5 + +[[footer]] +name = "Return & Refund Policy" +url = "/return-refund-policy/" +weight = 10 + +[[footer]] +name = "Contact Us" +url = "/contact/" +weight = 15 diff --git a/content/landing_page.md b/content/landing_page.md new file mode 100644 index 0000000..f62c175 --- /dev/null +++ b/content/landing_page.md @@ -0,0 +1,43 @@ +--- +title: "Transparent Firmware & Embedded Solutions for Hardware Creators" +description: "" +image: "images/chips-circuit-circuit-board.jpg" +keywords: [""] +draft: false +layout: "landing_page" + +new_landing_page_header: + title: Our products offering + +new_landing_page_products: + pet: + link: "https://paceenterprisetraining.com" + title: "PET" + image: "images/pet-v0.4.0.png" + alt: "PET Logo" + size: 200x200 + position: 1 + description: "Tailored training in firmware and embedded systems, for cutting-edge security and transparency." + dasharo: + link: "https://docs.dasharo.com" + title: "Dasharo" + image: "images/dasharo_logo.png" + alt: "Dasharo Logo" + size: 200x200 + position: 2 + description: "Innovative firmware solutions with open-source at its core for enhanced security and trust of your hardware." + zarhus: + link: "https://3mdeb.com/operating-systems-development" + title: "Zarhus OS" + image: "images/zarhus_logo.png" + alt: "Zarhus OS Logo" + size: 200x200 + position: 3 + description: "Advanced, secure, and adaptable Yocto-based OS for the demands of modern embedded systems." + +contact_section: + title: "Questions? Get in Touch!" + content: | + Direct answers, tailored solutions. Whether it’s about firmware, embedded systems, or training, we're here to help. Reach out and let's make things happen! + +--- diff --git a/scripts/docker-host-preview.sh b/scripts/docker-host-preview.sh new file mode 100755 index 0000000..2a6d94c --- /dev/null +++ b/scripts/docker-host-preview.sh @@ -0,0 +1,73 @@ +#!/bin/bash + +# Check for the required parameters +if [ "$#" -ne 2 ]; then + echo "Usage: $0 " + exit 1 +fi + +# Function to clean up background processes when the script exits +cleanup() { + echo "Cleaning up..." + # Kill the inotifywait background process + kill $INOTIFY_PID +} + +# Set trap to call cleanup function when the script exits +trap cleanup exit + +REMOTE_USER_HOST="$1" +LOCAL_SRC_DIR="$2" # Local source directory provided as the second parameter +REMOTE_SRC_DIR="/tmp/3mdeb-website" +DOCKER_IMAGE="klakegg/hugo:0.105.0-ext-alpine" +DOCKER_PORT="1313" +REMOTE_HOST=$(echo $REMOTE_USER_HOST | cut -d '@' -f2) + +# Set DOCKER_HOST environment variable +export DOCKER_HOST="tcp://$REMOTE_HOST:2375" + +# Function to continuously sync local directory with remote directory +start_sync() { + ssh $REMOTE_USER_HOST "rm -rf $REMOTE_SRC_DIR" + rsync -avz --exclude='.git/' $LOCAL_SRC_DIR $REMOTE_USER_HOST:$REMOTE_SRC_DIR + inotifywait -m -r -e modify,create,delete --exclude '^\.git/' --format '%w%f' $LOCAL_SRC_DIR | while read file + do + # Check if the changed file is not inside .git directory + if [[ $file != *".git"* ]]; then + rsync -avz --exclude='.git/' $LOCAL_SRC_DIR $REMOTE_USER_HOST:$REMOTE_SRC_DIR + fi + done & + INOTIFY_PID=$! +} + +# Function to run Docker container on remote host +run_docker_container() { + docker run --rm -it -v $REMOTE_SRC_DIR:/src -p $DOCKER_PORT:$DOCKER_PORT -u $(id -u) $DOCKER_IMAGE serve -b $REMOTE_HOST +} + +#!/bin/bash + +# Function to check if a command exists +command_exists() { + command -v "$1" >/dev/null 2>&1 +} + +# Check for required commands +if ! command_exists rsync; then + echo "rsync is not installed. Please install it." + exit 1 +fi + +if ! command_exists inotifywait; then + echo "inotify-tools is not installed. Please install it." + exit 1 +fi + +# Start continuous synchronization in the background +start_sync + +# Run Docker container +run_docker_container + +# After the Docker container exits, kill the background sync process +kill $! diff --git a/themes/3mdeb/layouts/_default/landing_page.html b/themes/3mdeb/layouts/_default/landing_page.html new file mode 100644 index 0000000..79e7494 --- /dev/null +++ b/themes/3mdeb/layouts/_default/landing_page.html @@ -0,0 +1,64 @@ +{{ define "main" }} + +{{ partial "components/page-header.html" . }} + +{{ with .Params.new_landing_page_products }} +
+ +
+{{ end }} + +{{ with .Params.contact_section }} +
+
+
+
+
+

{{.title | markdownify}}

+
+

{{.content | markdownify}}

+
+
+
+
+
+
+{{ end }} + +
+
+
+
+ + +
+
+
+
+ +{{ end }}