\ No newline at end of file
diff --git a/src/components/Logo.astro b/src/components/Logo.astro
new file mode 100644
index 0000000..42be086
--- /dev/null
+++ b/src/components/Logo.astro
@@ -0,0 +1,8 @@
+---
+import { SITE } from '~/utils/config';
+---
+
+
\ No newline at end of file
diff --git a/src/components/contactform.astro b/src/components/contactform.astro
deleted file mode 100644
index 2b5be71..0000000
--- a/src/components/contactform.astro
+++ /dev/null
@@ -1,12 +0,0 @@
----
-import Button from "./ui/button.astro";
----
-
-
-
diff --git a/src/components/container.astro b/src/components/container.astro
deleted file mode 100644
index 051c2ca..0000000
--- a/src/components/container.astro
+++ /dev/null
@@ -1,7 +0,0 @@
----
-const { class: className } = Astro.props;
----
-
-
-
-
diff --git a/src/components/cta.astro b/src/components/cta.astro
deleted file mode 100644
index 2da06b1..0000000
--- a/src/components/cta.astro
+++ /dev/null
@@ -1,29 +0,0 @@
----
-import Link from "./ui/link.astro";
-
-import { getLangFromUrl, useTranslations } from "../i18n/utils";
-import CALogo from "@assets/ciso-assistant_logo.svg";
-import { Image } from "astro:assets";
-
-const lang = getLangFromUrl(Astro.url);
-const t = useTranslations(lang);
----
-
-
-
- {t("cta.text1")}
-
-
- {t("cta.text2")}
-
-
-
-
{t("cta.button")}
-
-
-
diff --git a/src/components/features.astro b/src/components/features.astro
deleted file mode 100644
index ca8c390..0000000
--- a/src/components/features.astro
+++ /dev/null
@@ -1,69 +0,0 @@
----
-// @ts-ignore
-import { Icon } from "astro-icon";
-
-const features = [
- {
- title: "Cloud architecture",
- description:
- "Designing patterns for cloud-native applications or the landing zones to prepare your migrattion. Help you chose and implement the right practices and tools for a reliable, scalable and secure infrastructure.",
- icon: "bx:bxs-data",
- },
- {
- title: "Cyber security and compliance",
- description:
- "Define and implement cyber security programs to protect your data, applications and infrastructure. Our hands-on approach is highly appreciated by our customers and partners to push modern practices and DevSecOps cutlure.",
- icon: "bx:bxs-briefcase",
- },
- {
- title: "Software development",
- description:
- "With our expertise in software development for our own solutions, multiple customers requested assistance to accelerate their R&D, either for a new product or to improve an existing one.",
- icon: "bx:bxs-window-alt",
- },
- {
- title: "Program management and scaling",
- description:
- "Our experience in scaling and managing teams and projects will help you define the right processes and tools to improve your efficiency and productivity, while keeping the right balance between agility, modern practices and control.",
- icon: "bx:bxs-user",
- },
- {
- title: "Data engineering",
- description:
- "From simple ETL pipelines feeding a BI tool, to large scale data lakes and data warehouses, our experts will guide you for a cost-efficient and scalable solution.",
- icon: "bx:bxs-file-find",
- },
- {
- title: "Operations and SRE",
- description:
- "Either you're starting or scaling up your operations team, we can help you define the right processes and tools to ensure your business continuity.",
- icon: "bx:bxs-bot",
- },
-];
----
-
-
-
- Hands-on experts to tackle your toughest challenges
-
-
- We are a small team with big talents. We help you solve complex problems in optimal and sustainable ways. Here are some of the frequently asked areas that we can assist you with:
-
-
-
-
- {
- features.map((item) => (
-
-
-
-
-
-
{item.title}
{" "}
-
{item.description}
-
-
- ))
- }
-
-
\ No newline at end of file
diff --git a/src/components/footer.astro b/src/components/footer.astro
deleted file mode 100644
index 3e96dfd..0000000
--- a/src/components/footer.astro
+++ /dev/null
@@ -1,48 +0,0 @@
----
-import LanguagePicker from "./LanguagePicker.astro";
-import { getLangFromUrl, useTranslations } from '../i18n/utils';
-import { Icon } from "astro-icon";
-
-const lang = getLangFromUrl(Astro.url);
-const t = useTranslations(lang);
----
-
diff --git a/src/components/frameworks.astro b/src/components/frameworks.astro
deleted file mode 100644
index d33f197..0000000
--- a/src/components/frameworks.astro
+++ /dev/null
@@ -1,47 +0,0 @@
----
-// @ts-ignore
-import { Image } from "astro:assets";
-import iso27001 from "assets/frameworks/iso27001.png";
-import nist from "assets/frameworks/nist.png";
-import anssi from "assets/frameworks/anssi.png";
-import nis2 from "assets/frameworks/nis2.svg";
-import owasp from "assets/frameworks/owasp.png";
-import mitre_attack from "assets/frameworks/mitre_attack.png";
-import enisa from "assets/frameworks/enisa.png";
-import fair from "assets/frameworks/fair.svg";
-
-import { getLangFromUrl, useTranslations } from "../i18n/utils";
-
-const lang = getLangFromUrl(Astro.url);
-const t = useTranslations(lang);
----
-
-
-
{t("frameworks.header")}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/components/gallery.astro b/src/components/gallery.astro
deleted file mode 100644
index c36bb79..0000000
--- a/src/components/gallery.astro
+++ /dev/null
@@ -1,25 +0,0 @@
----
-import { Image } from "astro:assets";
-const images = await Astro.glob("../assets/ss/*.{jpg,jpeg,png}");
----
-
-
diff --git a/src/components/ui/DListItem.astro b/src/components/ui/DListItem.astro
new file mode 100644
index 0000000..95fd649
--- /dev/null
+++ b/src/components/ui/DListItem.astro
@@ -0,0 +1,23 @@
+---
+// component: DListItem
+//
+// Mimics the html 'dl' (description list)
+//
+// The 'dt' item is the item 'term' and is inserted into an 'h6' tag.
+// Caller needs to style the 'h6' tag appropriately.
+//
+// You can put pretty much any content you want between the open and
+// closing tags - it's simply contained in an enclosing div with a
+// margin left. No need for 'dd' items.
+//
+const {
+ dt
+} = Astro.props;
+interface Props {
+ dt:string
+}
+
+const content:string = await Astro.slots.render('default');
+---
+
+
\ No newline at end of file
diff --git a/src/components/ui/Form.astro b/src/components/ui/Form.astro
new file mode 100644
index 0000000..1f7f3f4
--- /dev/null
+++ b/src/components/ui/Form.astro
@@ -0,0 +1,137 @@
+---
+import type { Form } from '~/types';
+import Button from '~/components/ui/Button.astro';
+
+const dwh = import.meta.env.PUBLIC_DISCORD_WH;
+const { inputs, textarea, disclaimer, button = 'Contact us', description = '' } = Astro.props as Form;
+---
+
+
+
+
Success
+
Your message has been sent successfully.
+
+
+
+
+
+
Error
+
There was an error sending your message. Please try again later.
+ )
+ }
+
diff --git a/src/config.yaml b/src/config.yaml
new file mode 100644
index 0000000..c7e5be9
--- /dev/null
+++ b/src/config.yaml
@@ -0,0 +1,109 @@
+site:
+ name: intuitem
+ site: 'https://intuitem.com'
+ base: '/'
+ trailingSlash: false
+
+ googleSiteVerificationId: orcPxI47GSa-cRvY11tUe6iGg2IO_RPvnA1q95iEM3M
+
+# Default SEO metadata
+metadata:
+ title:
+ default: intuitem
+ template: '%s — intuitem'
+ description: "\U0001F419 intuitem is a French company specialized in cyber security and infrastructure management. We are a team of passionate and experienced engineers, who are dedicated to providing the best solutions to our clients. CISO Assistant is our main product, a one-stop-shop that helps CISOs and cyber security practionners manage their security program. We also provide consulting services and audits. 🚀"
+ robots:
+ index: true
+ follow: true
+ openGraph:
+ site_name: intuitem
+ images:
+ - url: '~/assets/images/default.png'
+ width: 1200
+ height: 628
+ type: website
+ twitter:
+ handle: '@asmimite'
+ site: '@asmimite'
+ cardType: summary_large_image
+
+i18n:
+ language: en
+ textDirection: ltr
+
+apps:
+ blog:
+ isEnabled: true
+ postsPerPage: 6
+
+ post:
+ isEnabled: true
+ permalink: '/%slug%' # Variables: %slug%, %year%, %month%, %day%, %hour%, %minute%, %second%, %category%
+ robots:
+ index: true
+
+ list:
+ isEnabled: true
+ pathname: 'blog' # Blog main path, you can change this to "articles" (/articles)
+ robots:
+ index: true
+
+ category:
+ isEnabled: true
+ pathname: 'category' # Category main path /category/some-category, you can change this to "group" (/group/some-category)
+ robots:
+ index: true
+
+ tag:
+ isEnabled: true
+ pathname: 'tag' # Tag main path /tag/some-tag, you can change this to "topics" (/topics/some-category)
+ robots:
+ index: false
+
+ isRelatedPostsEnabled: true
+ relatedPostsCount: 4
+
+analytics:
+ vendors:
+ googleAnalytics:
+ id: null # or "G-XXXXXXXXXX"
+
+ui:
+ theme: 'system' # Values: "system" | "light" | "dark" | "light:only" | "dark:only"
+
+ tokens:
+ default:
+ fonts:
+ sans: InterVariable
+ serif: var(--ph-font-sans)
+ heading: var(--ph-font-sans)
+ colors:
+ default: rgb(16 16 16)
+ heading: rgb(0 0 0)
+ muted: rgb(40 40 40)
+ bgPage: rgb(255 255 255)
+ primary: rgb(0 124 220)
+ secondary: rgb(30 58 138)
+ accent: rgb(109 40 217)
+ info: rgb(119 182 234)
+ success: rgb(54 211 153)
+ warning: rgb(251 189 35)
+ error: rgb(248 114 114)
+ link: var(--ph-color-primary)
+ linkActive: var(--ph-color-link)
+ dark:
+ fonts: {}
+ colors:
+ default: rgb(247, 248, 248)
+ heading: rgb(247, 248, 248)
+ muted: rgb(200, 188, 208)
+ bgPage: rgb(3 6 32)
+ primary: rgb(29 78 216)
+ secondary: rgb(30 58 138)
+ accent: rgb(135 77 2267)
+ info: rgb(58 191 248)
+ success: rgb(54 211 153)
+ warning: rgb(251 189 35)
+ error: rgb(248 114 114)
+ link: var(--ph-color-primary)
+ linkActive: var(--ph-color-link)
diff --git a/src/content/blog/_complete-guide-fullstack-development.md b/src/content/blog/_complete-guide-fullstack-development.md
deleted file mode 100644
index cca2512..0000000
--- a/src/content/blog/_complete-guide-fullstack-development.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-draft: true
-title: "The Complete Guide to Full Stack Web Development"
-snippet: "Ornare cum cursus laoreet sagittis nunc fusce posuere per euismod dis vehicula a, semper fames lacus maecenas dictumst pulvinar neque enim non potenti. Torquent hac sociosqu eleifend potenti."
-image: {
- src: "https://images.unsplash.com/photo-1593720213428-28a5b9e94613?&fit=crop&w=430&h=240",
- alt: "full stack web development"
-}
-publishDate: "2022-11-08 11:39"
-category: "Tutorials"
-author: "Janette Lynch"
-tags: [webdev, tailwindcss, frontend]
----
-
-Lorem ipsum dolor sit amet consectetur adipiscing elit euismod rutrum, consequat fringilla ultricies nullam curae mollis semper conubia viverra, orci aenean dapibus pharetra nec tortor tellus cubilia. Ullamcorper mi lectus eu malesuada tempor massa praesent magna mattis posuere, lobortis vulputate ut duis magnis parturient habitant nibh id tristique, quis suspendisse donec nisl penatibus sem non feugiat taciti. Mollis per ridiculus integer cursus semper vestibulum fermentum penatibus cubilia blandit scelerisque, tempus platea leo posuere ac pharetra volutpat aliquet euismod id ullamcorper lobortis, urna est magna mus rhoncus massa curae libero praesent eget. Mattis malesuada vestibulum quis ac nam phasellus suscipit facilisis libero diam posuere, cursus massa vehicula neque imperdiet tincidunt dui egestas lacinia mollis aliquet orci, nisl curabitur dapibus litora dis cum nostra montes ligula praesent. Facilisi aliquam convallis molestie tempor blandit ultricies bibendum parturient cubilia quam, porttitor morbi torquent tempus taciti nec faucibus elementum phasellus, quis inceptos vestibulum gravida augue potenti eget nunc maecenas. Tempor facilisis ligula volutpat habitant consequat inceptos orci per potenti blandit platea, mus sapien eget vel libero vestibulum augue cubilia ut ultrices fringilla lectus, imperdiet pellentesque cum ridiculus convallis sollicitudin nisl interdum semper felis.
-
-Ornare cum cursus laoreet sagittis nunc fusce posuere per euismod dis vehicula a, semper fames lacus maecenas dictumst pulvinar neque enim non potenti. Torquent hac sociosqu eleifend potenti augue nulla vivamus senectus odio, quisque curabitur enim consequat class sociis feugiat ullamcorper, felis dis imperdiet cubilia commodo sed massa phasellus. Viverra purus mus nisi condimentum dui vehicula facilisis turpis, habitant nascetur lectus tempor quisque habitasse urna scelerisque, nibh nullam vestibulum luctus aenean mollis metus. Suscipit gravida duis nec aliquet natoque molestie a ridiculus scelerisque cum, justo cursus sapien sodales purus dignissim vel facilisi magnis, inceptos rutrum ut integer auctor commodo sollicitudin fames et. Faucibus ligula nibh sagittis mauris auctor posuere habitant, scelerisque phasellus accumsan egestas gravida viverra nam, sed etiam eleifend proin massa dictumst. Porttitor risus luctus per aenean tellus primis fringilla vitae fames lacinia mauris metus, nec pulvinar quisque commodo sodales ac nibh natoque phasellus semper placerat. Lectus aenean potenti leo sollicitudin tristique eros quam ligula, vestibulum diam consequat enim torquent nec tempus, blandit viverra dapibus eleifend dis nunc nascetur.
-
-## Sodales hendrerit malesuada et vestibulum
-
-- Luctus euismod pretium nisi et, est dui enim.
-
-- Curae eget inceptos malesuada, fermentum class.
-
-- Porttitor vestibulum aliquam porta feugiat velit, potenti eu placerat.
-
-- Ligula lacus tempus ac porta, vel litora.
-
-Torquent non nisi lacinia faucibus nibh tortor taciti commodo porttitor, mus hendrerit id leo scelerisque mollis habitasse orci tristique aptent, lacus at molestie cubilia facilisis porta accumsan condimentum. Metus lacus suscipit porttitor integer facilisi torquent, nostra nulla platea at natoque varius venenatis, id quam pharetra aliquam leo. Dictum orci himenaeos quam mi fusce lacinia maecenas ac magna eleifend laoreet, vivamus enim curabitur ullamcorper est ultrices convallis suscipit nascetur. Ornare fames pretium ante ac eget nisi tellus vivamus, convallis mauris sapien imperdiet sollicitudin aliquet taciti quam, lacinia tempor primis magna iaculis at eu. Est facilisi proin risus eleifend orci torquent ultricies platea, quisque nullam vel porttitor euismod sociis non, maecenas sociosqu interdum arcu sed pharetra potenti. Aliquet risus tempus hendrerit sapien tellus eget cursus enim etiam dui, lobortis nostra pellentesque odio posuere morbi ad neque senectus arcu eu, turpis proin ac felis purus fames magnis dis dignissim.
-
-Orci volutpat augue viverra scelerisque dictumst ut condimentum vivamus, accumsan cum sem sollicitudin aliquet vehicula porta pretium placerat, malesuada euismod primis cubilia rutrum tempus parturient. Urna mauris in nibh morbi hendrerit vulputate condimentum, iaculis consequat porttitor dui dis euismod eros, arcu elementum venenatis varius lectus nisi. Nibh arcu ultrices semper morbi quam aptent quisque porta posuere iaculis, vestibulum cum vitae primis varius natoque conubia eu. Placerat sociis sagittis sociosqu morbi purus lobortis convallis, bibendum tortor ridiculus orci habitasse viverra dictum, quis rutrum fusce potenti volutpat vehicula. Curae porta inceptos lectus mus urna litora semper aliquam libero rutrum sem dui maecenas ligula quis, eget risus non imperdiet cum morbi magnis suspendisse etiam augue porttitor placerat facilisi hendrerit. Et eleifend eget augue duis fringilla sagittis erat est habitasse commodo tristique quisque pretium, suspendisse imperdiet inceptos mollis blandit magna mus elementum molestie sed vestibulum. Euismod morbi hendrerit suscipit felis ornare libero ligula, mus tortor urna interdum blandit nisi netus posuere, purus fermentum magnis nam primis nulla.
-
-## Elementum nisi urna cursus nisl quam ante tristique blandit ultricies eget
-
-Netus at rutrum taciti vestibulum molestie conubia semper class potenti lobortis, hendrerit donec vitae ad libero natoque parturient litora congue. Torquent rhoncus odio cursus iaculis molestie arcu leo condimentum accumsan, laoreet congue duis libero justo tortor commodo fusce, massa eros hac euismod netus sodales mi magnis. Aenean nullam sollicitudin ad velit nulla venenatis suspendisse iaculis, aliquet senectus mollis aptent fringilla volutpat nascetur, nec urna vehicula lacinia neque augue orci. Suspendisse et eleifend convallis sollicitudin posuere diam turpis gravida congue ultrices, laoreet ultricies dapibus proin facilisis magna class praesent fusce. Mus morbi magnis ultricies sed turpis ultrices tempus tortor bibendum, netus nulla viverra torquent malesuada ridiculus tempor. Parturient sociosqu erat ullamcorper gravida natoque varius, etiam habitant augue praesent per curabitur iaculis, donec pellentesque cursus suscipit aliquet. Congue curae cursus scelerisque pellentesque quis fusce arcu eros dictumst luctus ridiculus nisl viverra, turpis class faucibus phasellus feugiat eleifend fringilla orci tristique habitasse conubia quam. Habitasse montes congue sodales rutrum cras torquent cursus auctor condimentum imperdiet egestas nascetur, platea tincidunt ut sollicitudin purus libero lobortis ad nisi diam quam.
-
-Suspendisse et eleifend convallis sollicitudin posuere diam turpis gravida congue ultrices, laoreet ultricies dapibus proin facilisis magna class praesent fusce. Mus morbi magnis ultricies sed turpis ultrices tempus tortor bibendum, netus nulla viverra torquent malesuada ridiculus tempor. Parturient sociosqu erat ullamcorper gravida natoque varius, etiam habitant augue praesent per curabitur iaculis, donec pellentesque cursus suscipit aliquet. Congue curae cursus scelerisque pellentesque quis fusce arcu eros dictumst luctus ridiculus nisl viverra, turpis class faucibus phasellus feugiat eleifend fringilla orci tristique habitasse conubia quam. Habitasse montes congue sodales rutrum cras torquent cursus auctor condimentum imperdiet egestas nascetur.
diff --git a/src/content/blog/_essential-data-structures-algorithms.md b/src/content/blog/_essential-data-structures-algorithms.md
deleted file mode 100644
index 5420d05..0000000
--- a/src/content/blog/_essential-data-structures-algorithms.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-draft: true
-title: " Introduction to the Essential Data Structures & Algorithms"
-snippet: "Ornare cum cursus laoreet sagittis nunc fusce posuere per euismod dis vehicula a, semper fames lacus maecenas dictumst pulvinar neque enim non potenti. Torquent hac sociosqu eleifend potenti."
-image: {
- src: "https://images.unsplash.com/photo-1627163439134-7a8c47e08208?&fit=crop&w=430&h=240",
- alt: "data structures & algorithms"
-}
-publishDate: "2022-11-09 16:39"
-category: "Courses"
-author: "Marcell Ziemann"
-tags: [webdev, tailwindcss, frontend]
----
-
-Lorem ipsum dolor sit amet consectetur adipiscing elit euismod rutrum, consequat fringilla ultricies nullam curae mollis semper conubia viverra, orci aenean dapibus pharetra nec tortor tellus cubilia. Ullamcorper mi lectus eu malesuada tempor massa praesent magna mattis posuere, lobortis vulputate ut duis magnis parturient habitant nibh id tristique, quis suspendisse donec nisl penatibus sem non feugiat taciti. Mollis per ridiculus integer cursus semper vestibulum fermentum penatibus cubilia blandit scelerisque, tempus platea leo posuere ac pharetra volutpat aliquet euismod id ullamcorper lobortis, urna est magna mus rhoncus massa curae libero praesent eget. Mattis malesuada vestibulum quis ac nam phasellus suscipit facilisis libero diam posuere, cursus massa vehicula neque imperdiet tincidunt dui egestas lacinia mollis aliquet orci, nisl curabitur dapibus litora dis cum nostra montes ligula praesent. Facilisi aliquam convallis molestie tempor blandit ultricies bibendum parturient cubilia quam, porttitor morbi torquent tempus taciti nec faucibus elementum phasellus, quis inceptos vestibulum gravida augue potenti eget nunc maecenas. Tempor facilisis ligula volutpat habitant consequat inceptos orci per potenti blandit platea, mus sapien eget vel libero vestibulum augue cubilia ut ultrices fringilla lectus, imperdiet pellentesque cum ridiculus convallis sollicitudin nisl interdum semper felis.
-
-Ornare cum cursus laoreet sagittis nunc fusce posuere per euismod dis vehicula a, semper fames lacus maecenas dictumst pulvinar neque enim non potenti. Torquent hac sociosqu eleifend potenti augue nulla vivamus senectus odio, quisque curabitur enim consequat class sociis feugiat ullamcorper, felis dis imperdiet cubilia commodo sed massa phasellus. Viverra purus mus nisi condimentum dui vehicula facilisis turpis, habitant nascetur lectus tempor quisque habitasse urna scelerisque, nibh nullam vestibulum luctus aenean mollis metus. Suscipit gravida duis nec aliquet natoque molestie a ridiculus scelerisque cum, justo cursus sapien sodales purus dignissim vel facilisi magnis, inceptos rutrum ut integer auctor commodo sollicitudin fames et. Faucibus ligula nibh sagittis mauris auctor posuere habitant, scelerisque phasellus accumsan egestas gravida viverra nam, sed etiam eleifend proin massa dictumst. Porttitor risus luctus per aenean tellus primis fringilla vitae fames lacinia mauris metus, nec pulvinar quisque commodo sodales ac nibh natoque phasellus semper placerat. Lectus aenean potenti leo sollicitudin tristique eros quam ligula, vestibulum diam consequat enim torquent nec tempus, blandit viverra dapibus eleifend dis nunc nascetur.
-
-## Sodales hendrerit malesuada et vestibulum
-
-- Luctus euismod pretium nisi et, est dui enim.
-
-- Curae eget inceptos malesuada, fermentum class.
-
-- Porttitor vestibulum aliquam porta feugiat velit, potenti eu placerat.
-
-- Ligula lacus tempus ac porta, vel litora.
-
-Torquent non nisi lacinia faucibus nibh tortor taciti commodo porttitor, mus hendrerit id leo scelerisque mollis habitasse orci tristique aptent, lacus at molestie cubilia facilisis porta accumsan condimentum. Metus lacus suscipit porttitor integer facilisi torquent, nostra nulla platea at natoque varius venenatis, id quam pharetra aliquam leo. Dictum orci himenaeos quam mi fusce lacinia maecenas ac magna eleifend laoreet, vivamus enim curabitur ullamcorper est ultrices convallis suscipit nascetur. Ornare fames pretium ante ac eget nisi tellus vivamus, convallis mauris sapien imperdiet sollicitudin aliquet taciti quam, lacinia tempor primis magna iaculis at eu. Est facilisi proin risus eleifend orci torquent ultricies platea, quisque nullam vel porttitor euismod sociis non, maecenas sociosqu interdum arcu sed pharetra potenti. Aliquet risus tempus hendrerit sapien tellus eget cursus enim etiam dui, lobortis nostra pellentesque odio posuere morbi ad neque senectus arcu eu, turpis proin ac felis purus fames magnis dis dignissim.
-
-Orci volutpat augue viverra scelerisque dictumst ut condimentum vivamus, accumsan cum sem sollicitudin aliquet vehicula porta pretium placerat, malesuada euismod primis cubilia rutrum tempus parturient. Urna mauris in nibh morbi hendrerit vulputate condimentum, iaculis consequat porttitor dui dis euismod eros, arcu elementum venenatis varius lectus nisi. Nibh arcu ultrices semper morbi quam aptent quisque porta posuere iaculis, vestibulum cum vitae primis varius natoque conubia eu. Placerat sociis sagittis sociosqu morbi purus lobortis convallis, bibendum tortor ridiculus orci habitasse viverra dictum, quis rutrum fusce potenti volutpat vehicula. Curae porta inceptos lectus mus urna litora semper aliquam libero rutrum sem dui maecenas ligula quis, eget risus non imperdiet cum morbi magnis suspendisse etiam augue porttitor placerat facilisi hendrerit. Et eleifend eget augue duis fringilla sagittis erat est habitasse commodo tristique quisque pretium, suspendisse imperdiet inceptos mollis blandit magna mus elementum molestie sed vestibulum. Euismod morbi hendrerit suscipit felis ornare libero ligula, mus tortor urna interdum blandit nisi netus posuere, purus fermentum magnis nam primis nulla.
-
-## Elementum nisi urna cursus nisl quam ante tristique blandit ultricies eget
-
-Netus at rutrum taciti vestibulum molestie conubia semper class potenti lobortis, hendrerit donec vitae ad libero natoque parturient litora congue. Torquent rhoncus odio cursus iaculis molestie arcu leo condimentum accumsan, laoreet congue duis libero justo tortor commodo fusce, massa eros hac euismod netus sodales mi magnis. Aenean nullam sollicitudin ad velit nulla venenatis suspendisse iaculis, aliquet senectus mollis aptent fringilla volutpat nascetur, nec urna vehicula lacinia neque augue orci. Suspendisse et eleifend convallis sollicitudin posuere diam turpis gravida congue ultrices, laoreet ultricies dapibus proin facilisis magna class praesent fusce. Mus morbi magnis ultricies sed turpis ultrices tempus tortor bibendum, netus nulla viverra torquent malesuada ridiculus tempor. Parturient sociosqu erat ullamcorper gravida natoque varius, etiam habitant augue praesent per curabitur iaculis, donec pellentesque cursus suscipit aliquet. Congue curae cursus scelerisque pellentesque quis fusce arcu eros dictumst luctus ridiculus nisl viverra, turpis class faucibus phasellus feugiat eleifend fringilla orci tristique habitasse conubia quam. Habitasse montes congue sodales rutrum cras torquent cursus auctor condimentum imperdiet egestas nascetur, platea tincidunt ut sollicitudin purus libero lobortis ad nisi diam quam.
-
-Suspendisse et eleifend convallis sollicitudin posuere diam turpis gravida congue ultrices, laoreet ultricies dapibus proin facilisis magna class praesent fusce. Mus morbi magnis ultricies sed turpis ultrices tempus tortor bibendum, netus nulla viverra torquent malesuada ridiculus tempor. Parturient sociosqu erat ullamcorper gravida natoque varius, etiam habitant augue praesent per curabitur iaculis, donec pellentesque cursus suscipit aliquet. Congue curae cursus scelerisque pellentesque quis fusce arcu eros dictumst luctus ridiculus nisl viverra, turpis class faucibus phasellus feugiat eleifend fringilla orci tristique habitasse conubia quam. Habitasse montes congue sodales rutrum cras torquent cursus auctor condimentum imperdiet egestas nascetur.
diff --git a/src/content/blog/_how-to-become-frontend-master.md b/src/content/blog/_how-to-become-frontend-master.md
deleted file mode 100644
index 0ae5dc9..0000000
--- a/src/content/blog/_how-to-become-frontend-master.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-draft: true
-title: "How to become a Frontend Master"
-snippet: "Ornare cum cursus laoreet sagittis nunc fusce posuere per euismod dis vehicula a, semper fames lacus maecenas dictumst pulvinar neque enim non potenti. Torquent hac sociosqu eleifend potenti."
-image: {
- src: "https://images.unsplash.com/photo-1667372393119-3d4c48d07fc9?&fit=crop&w=430&h=240",
- alt: "frontend master"
-}
-publishDate: "2022-11-07 15:39"
-category: "Tutorials"
-author: "Connor Lopez"
-tags: [astro, tailwindcss, frontend]
----
-
-Whatever you do, it's always beneficial to have the right tools at your disposal. I love working remotely and am a big advocate of doing remote software development. Therefore, I always strive to have the best equipment available to be as productive as possible. Writing posts like this constantly takes a lot of time. Luckily iVanky helped me out and sponsored this post so that I can concentrate on writing. I recently had the chance to test out one of their hottest products, a dual USB-C Docking Station that allows me to connect both my wide-screen monitors to my MacBook with Dual 4K@60Hz display connectivity. It also supports up to 96W laptop charging, which is awesome. If you are in a situation like me and want to upgrade your equipment, check out this and their other products! And now comes the article:
-
-Whether you are new to programming or already an experienced developer. In this industry, learning new concepts and languages/frameworks is
-mandatory to keep up with the rapid changes. Take for example React - open-sourced by Facebook just a shy 4 years ago it already became the number one choice for JavaScript devs around the globe. But also Vue and Angular, of course, have their legitimate follower-base. And then there is Svelte, and universal frameworks like Next.js or Nuxt.js, and Gatsby, and Gridsome, and Quasar, and and and. If you want to shine as an expert JavaScript developer you should at least have some experience in different frameworks and libraries - besides doing your homework with good, old JS.
-
-To help you become Frontend Masters, I have collected 9 different projects, each with a distinct topic and a different JavaScript framework or library as a tech stack that you can build and add to your portfolio. Remember, nothing helps you more than actually building stuff so go ahead, sharpen your mind and make this happen!
-
-## Dictum integer fusce ac ridiculus
-
-Lorem ipsum dolor sit amet consectetur adipiscing elit euismod rutrum, consequat fringilla ultricies nullam curae mollis semper conubia viverra, orci aenean dapibus pharetra nec tortor tellus cubilia. Ullamcorper mi lectus eu malesuada tempor massa praesent magna mattis posuere, lobortis vulputate ut duis magnis parturient habitant nibh id tristique, quis suspendisse donec nisl penatibus sem non feugiat taciti. Mollis per ridiculus integer cursus semper vestibulum fermentum penatibus cubilia blandit scelerisque, tempus platea leo posuere ac pharetra volutpat aliquet euismod id ullamcorper lobortis, urna est magna mus rhoncus massa curae libero praesent eget. Mattis malesuada vestibulum quis ac nam phasellus suscipit facilisis libero diam posuere, cursus massa vehicula neque imperdiet tincidunt dui egestas lacinia mollis aliquet orci, nisl curabitur dapibus litora dis cum nostra montes ligula praesent. Facilisi aliquam convallis molestie tempor blandit ultricies bibendum parturient cubilia quam, porttitor morbi torquent tempus taciti nec faucibus elementum phasellus, quis inceptos vestibulum gravida augue potenti eget nunc maecenas. Tempor facilisis ligula volutpat habitant consequat inceptos orci per potenti blandit platea, mus sapien eget vel libero vestibulum augue cubilia ut ultrices fringilla lectus, imperdiet pellentesque cum ridiculus convallis sollicitudin nisl interdum semper felis.
-
-Ornare cum cursus laoreet sagittis nunc fusce posuere per euismod dis vehicula a, semper fames lacus maecenas dictumst pulvinar neque enim non potenti. Torquent hac sociosqu eleifend potenti augue nulla vivamus senectus odio, quisque curabitur enim consequat class sociis feugiat ullamcorper, felis dis imperdiet cubilia commodo sed massa phasellus. Viverra purus mus nisi condimentum dui vehicula facilisis turpis, habitant nascetur lectus tempor quisque habitasse urna scelerisque, nibh nullam vestibulum luctus aenean mollis metus. Suscipit gravida duis nec aliquet natoque molestie a ridiculus scelerisque cum, justo cursus sapien sodales purus dignissim vel facilisi magnis, inceptos rutrum ut integer auctor commodo sollicitudin fames et. Faucibus ligula nibh sagittis mauris auctor posuere habitant, scelerisque phasellus accumsan egestas gravida viverra nam, sed etiam eleifend proin massa dictumst. Porttitor risus luctus per aenean tellus primis fringilla vitae fames lacinia mauris metus, nec pulvinar quisque commodo sodales ac nibh natoque phasellus semper placerat. Lectus aenean potenti leo sollicitudin tristique eros quam ligula, vestibulum diam consequat enim torquent nec tempus, blandit viverra dapibus eleifend dis nunc nascetur.
-
-## Sodales hendrerit malesuada et vestibulum
-
-- Luctus euismod pretium nisi et, est dui enim.
-
-- Curae eget inceptos malesuada, fermentum class.
-
-- Porttitor vestibulum aliquam porta feugiat velit, potenti eu placerat.
-
-- Ligula lacus tempus ac porta, vel litora.
-
-Torquent non nisi lacinia faucibus nibh tortor taciti commodo porttitor, mus hendrerit id leo scelerisque mollis habitasse orci tristique aptent, lacus at molestie cubilia facilisis porta accumsan condimentum. Metus lacus suscipit porttitor integer facilisi torquent, nostra nulla platea at natoque varius venenatis, id quam pharetra aliquam leo. Dictum orci himenaeos quam mi fusce lacinia maecenas ac magna eleifend laoreet, vivamus enim curabitur ullamcorper est ultrices convallis suscipit nascetur. Ornare fames pretium ante ac eget nisi tellus vivamus, convallis mauris sapien imperdiet sollicitudin aliquet taciti quam, lacinia tempor primis magna iaculis at eu. Est facilisi proin risus eleifend orci torquent ultricies platea, quisque nullam vel porttitor euismod sociis non, maecenas sociosqu interdum arcu sed pharetra potenti. Aliquet risus tempus hendrerit sapien tellus eget cursus enim etiam dui, lobortis nostra pellentesque odio posuere morbi ad neque senectus arcu eu, turpis proin ac felis purus fames magnis dis dignissim.
-
-Orci volutpat augue viverra scelerisque dictumst ut condimentum vivamus, accumsan cum sem sollicitudin aliquet vehicula porta pretium placerat, malesuada euismod primis cubilia rutrum tempus parturient. Urna mauris in nibh morbi hendrerit vulputate condimentum, iaculis consequat porttitor dui dis euismod eros, arcu elementum venenatis varius lectus nisi. Nibh arcu ultrices semper morbi quam aptent quisque porta posuere iaculis, vestibulum cum vitae primis varius natoque conubia eu. Placerat sociis sagittis sociosqu morbi purus lobortis convallis, bibendum tortor ridiculus orci habitasse viverra dictum, quis rutrum fusce potenti volutpat vehicula. Curae porta inceptos lectus mus urna litora semper aliquam libero rutrum sem dui maecenas ligula quis, eget risus non imperdiet cum morbi magnis suspendisse etiam augue porttitor placerat facilisi hendrerit. Et eleifend eget augue duis fringilla sagittis erat est habitasse commodo tristique quisque pretium, suspendisse imperdiet inceptos mollis blandit magna mus elementum molestie sed vestibulum. Euismod morbi hendrerit suscipit felis ornare libero ligula, mus tortor urna interdum blandit nisi netus posuere, purus fermentum magnis nam primis nulla.
-
-## Elementum nisi urna cursus nisl quam ante tristique blandit ultricies eget
-
-Netus at rutrum taciti vestibulum molestie conubia semper class potenti lobortis, hendrerit donec vitae ad libero natoque parturient litora congue. Torquent rhoncus odio cursus iaculis molestie arcu leo condimentum accumsan, laoreet congue duis libero justo tortor commodo fusce, massa eros hac euismod netus sodales mi magnis. Aenean nullam sollicitudin ad velit nulla venenatis suspendisse iaculis, aliquet senectus mollis aptent fringilla volutpat nascetur, nec urna vehicula lacinia neque augue orci. Suspendisse et eleifend convallis sollicitudin posuere diam turpis gravida congue ultrices, laoreet ultricies dapibus proin facilisis magna class praesent fusce. Mus morbi magnis ultricies sed turpis ultrices tempus tortor bibendum, netus nulla viverra torquent malesuada ridiculus tempor. Parturient sociosqu erat ullamcorper gravida natoque varius, etiam habitant augue praesent per curabitur iaculis, donec pellentesque cursus suscipit aliquet. Congue curae cursus scelerisque pellentesque quis fusce arcu eros dictumst luctus ridiculus nisl viverra, turpis class faucibus phasellus feugiat eleifend fringilla orci tristique habitasse conubia quam. Habitasse montes congue sodales rutrum cras torquent cursus auctor condimentum imperdiet egestas nascetur, platea tincidunt ut sollicitudin purus libero lobortis ad nisi diam quam.
diff --git a/src/content/blog/_kitchensink.mdx b/src/content/blog/_kitchensink.mdx
deleted file mode 100644
index 5d85d66..0000000
--- a/src/content/blog/_kitchensink.mdx
+++ /dev/null
@@ -1,193 +0,0 @@
----
-draft: true
-title: "Typography Example Post"
-snippet: "Sint sit cillum pariatur eiusmod nulla pariatur ipsum. Sit laborum anim qui mollit tempor pariatur nisi minim dolor. Aliquip et adipisicing sit sit fugiat"
-publishDate: "2022-11-05 15:36"
-image: {
- src: "https://images.unsplash.com/photo-1542393545-10f5cde2c810?&fit=crop&w=430&h=240",
- alt: "typography"
-}
-category: "Technology"
-author: "Charles North"
-tags: [mdx, astro, blog]
----
-
-import Button from "@components/ui/button.astro";
-
-Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-## Headings
-
-Sint sit cillum pariatur eiusmod nulla pariatur ipsum. Sit laborum anim qui mollit tempor pariatur nisi minim dolor. Aliquip et adipisicing sit sit fugiat commodo id sunt. Nostrud enim ad commodo incididunt cupidatat in ullamco ullamco Lorem cupidatat velit enim et Lorem. Ut laborum cillum laboris fugiat culpa sint irure do reprehenderit culpa occaecat. Exercitation esse mollit tempor magna aliqua in occaecat aliquip veniam reprehenderit nisi dolor in laboris dolore velit.
-
-## Heading two
-
-Aute officia nulla deserunt do deserunt cillum velit magna. Officia veniam culpa anim minim dolore labore pariatur voluptate id ad est duis quis velit dolor pariatur enim. Incididunt enim excepteur do veniam consequat culpa do voluptate dolor fugiat ad adipisicing sit. Labore officia est adipisicing dolore proident eiusmod exercitation deserunt ullamco anim do occaecat velit. Elit dolor consectetur proident sunt aliquip est do tempor quis aliqua culpa aute. Duis in tempor exercitation pariatur et adipisicing mollit irure tempor ut enim esse commodo laboris proident. Do excepteur laborum anim esse aliquip eu sit id Lorem incididunt elit irure ea nulla dolor et. Nulla amet fugiat qui minim deserunt enim eu cupidatat aute officia do velit ea reprehenderit.
-
-### Heading three
-
-Voluptate cupidatat cillum elit quis ipsum eu voluptate fugiat consectetur enim. Quis ut voluptate culpa ex anim aute consectetur dolore proident voluptate exercitation eiusmod. Esse in do anim magna minim culpa sint. Adipisicing ipsum consectetur proident ullamco magna sit amet aliqua aute fugiat laborum exercitation duis et.
-
-#### Heading four
-
-Commodo fugiat aliqua minim quis pariatur mollit id tempor. Non occaecat minim esse enim aliqua adipisicing nostrud duis consequat eu adipisicing qui. Minim aliquip sit excepteur ipsum consequat laborum pariatur excepteur. Veniam fugiat et amet ad elit anim laborum duis mollit occaecat et et ipsum et reprehenderit. Occaecat aliquip dolore adipisicing sint labore occaecat officia fugiat. Quis adipisicing exercitation exercitation eu amet est laboris sunt nostrud ipsum reprehenderit ullamco. Enim sint ut consectetur id anim aute voluptate exercitation mollit dolore magna magna est Lorem. Ut adipisicing adipisicing aliqua ullamco voluptate labore nisi tempor esse magna incididunt.
-
-##### Heading five
-
-Veniam enim esse amet veniam deserunt laboris amet enim consequat. Minim nostrud deserunt cillum consectetur commodo eu enim nostrud ullamco occaecat excepteur. Aliquip et ut est commodo enim dolor amet sint excepteur. Amet ad laboris laborum deserunt sint sunt aliqua commodo ex duis deserunt enim est ex labore ut. Duis incididunt velit adipisicing non incididunt adipisicing adipisicing. Ad irure duis nisi tempor eu dolor fugiat magna et consequat tempor eu ex dolore. Mollit esse nisi qui culpa ut nisi ex proident culpa cupidatat cillum culpa occaecat anim. Ut officia sit ea nisi ea excepteur nostrud ipsum et nulla.
-
-###### Heading six
-
-Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-[[Top]](#top)
-
-## Paragraphs
-
-Incididunt ex adipisicing ea ullamco consectetur in voluptate proident fugiat tempor deserunt reprehenderit ullamco id dolore laborum. Do laboris laboris minim incididunt qui consectetur exercitation adipisicing dolore et magna consequat magna anim sunt. Officia fugiat Lorem sunt pariatur incididunt Lorem reprehenderit proident irure. Dolore ipsum aliqua mollit ad officia fugiat sit eu aliquip cupidatat ipsum duis laborum laborum fugiat esse. Voluptate anim ex dolore deserunt ea ex eiusmod irure. Occaecat excepteur aliqua exercitation aliquip dolor esse eu eu.
-
-Officia dolore laborum aute incididunt commodo nisi velit est est elit et dolore elit exercitation. Enim aliquip magna id ipsum aliquip consectetur ad nulla quis. Incididunt pariatur dolor consectetur cillum enim velit cupidatat laborum quis ex.
-
-Officia irure in non voluptate adipisicing sit amet tempor duis dolore deserunt enim ut. Reprehenderit incididunt in ad anim et deserunt deserunt Lorem laborum quis. Enim aute anim labore proident laboris voluptate elit excepteur in. Ex labore nulla velit officia ullamco Lorem Lorem id do. Dolore ullamco ipsum magna dolor pariatur voluptate ipsum id occaecat ipsum. Dolore tempor quis duis commodo quis quis enim.
-
-[[Top]](#top)
-
-## Blockquotes
-
-Ad nisi laborum aute cupidatat magna deserunt eu id laboris id. Aliquip nulla cupidatat sint ex Lorem mollit laborum dolor amet est ut esse aute. Nostrud ex consequat id incididunt proident ipsum minim duis aliqua ut ex et ad quis. Laborum sint esse cillum anim nulla cillum consectetur aliqua sit. Nisi excepteur cillum labore amet excepteur commodo enim occaecat consequat ipsum proident exercitation duis id in.
-
-> Ipsum et cupidatat mollit exercitation enim duis sunt irure aliqua reprehenderit mollit. Pariatur Lorem pariatur laboris do culpa do elit irure. Eiusmod amet nulla voluptate velit culpa et aliqua ad reprehenderit sit ut.
-
-Labore ea magna Lorem consequat aliquip consectetur cillum duis dolore. Et veniam dolor qui incididunt minim amet laboris sit. Dolore ad esse commodo et dolore amet est velit ut nisi ea. Excepteur ea nulla commodo dolore anim dolore adipisicing eiusmod labore id enim esse quis mollit deserunt est. Minim ea culpa voluptate nostrud commodo proident in duis aliquip minim.
-
-> Qui est sit et reprehenderit aute est esse enim aliqua id aliquip ea anim. Pariatur sint reprehenderit mollit velit voluptate enim consectetur sint enim. Quis exercitation proident elit non id qui culpa dolore esse aliquip consequat.
-
-Ipsum excepteur cupidatat sunt minim ad eiusmod tempor sit.
-
-> Deserunt excepteur adipisicing culpa pariatur cillum laboris ullamco nisi fugiat cillum officia. In cupidatat nulla aliquip tempor ad Lorem Lorem quis voluptate officia consectetur pariatur ex in est duis. Mollit id esse est elit exercitation voluptate nostrud nisi laborum magna dolore dolore tempor in est consectetur.
-
-Adipisicing voluptate ipsum culpa voluptate id aute laboris labore esse fugiat veniam ullamco occaecat do ut. Tempor et esse reprehenderit veniam proident ipsum irure sit ullamco et labore ea excepteur nulla labore ut. Ex aute minim quis tempor in eu id id irure ea nostrud dolor esse.
-
-[[Top]](#top)
-
-## Lists
-
-### Ordered List
-
-1. Longan
-2. Lychee
-3. Excepteur ad cupidatat do elit laborum amet cillum reprehenderit consequat quis.
- Deserunt officia esse aliquip consectetur duis ut labore laborum commodo aliquip aliquip velit pariatur dolore.
-4. Marionberry
-5. Melon
- - Cantaloupe
- - Honeydew
- - Watermelon
-6. Miracle fruit
-7. Mulberry
-
-### Unordered List
-
-- Olive
-- Orange
- - Blood orange
- - Clementine
-- Papaya
-- Ut aute ipsum occaecat nisi culpa Lorem id occaecat cupidatat id id magna laboris ad duis. Fugiat cillum dolore veniam nostrud proident sint consectetur eiusmod irure adipisicing.
-- Passionfruit
-
-[[Top]](#top)
-
-## Horizontal rule
-
-In dolore velit aliquip labore mollit minim tempor veniam eu veniam ad in sint aliquip mollit mollit. Ex occaecat non deserunt elit laborum sunt tempor sint consequat culpa culpa qui sit. Irure ad commodo eu voluptate mollit cillum cupidatat veniam proident amet minim reprehenderit.
-
----
-
-In laboris eiusmod reprehenderit aliquip sit proident occaecat. Non sit labore anim elit veniam Lorem minim commodo eiusmod irure do minim nisi. Dolor amet cillum excepteur consequat sint non sint.
-
-[[Top]](#top)
-
-## Table
-
-Duis sunt ut pariatur reprehenderit mollit mollit magna dolore in pariatur nulla commodo sit dolor ad fugiat. Laboris amet ea occaecat duis eu enim exercitation deserunt ea laborum occaecat reprehenderit. Et incididunt dolor commodo consequat mollit nisi proident non pariatur in et incididunt id. Eu ut et Lorem ea ex magna minim ipsum ipsum do.
-
-| Table Heading 1 | Table Heading 2 | Center align | Right align | Table Heading 5 |
-| :-------------- | :-------------- | :----------: | ----------: | :-------------- |
-| Item 1 | Item 2 | Item 3 | Item 4 | Item 5 |
-| Item 1 | Item 2 | Item 3 | Item 4 | Item 5 |
-| Item 1 | Item 2 | Item 3 | Item 4 | Item 5 |
-| Item 1 | Item 2 | Item 3 | Item 4 | Item 5 |
-| Item 1 | Item 2 | Item 3 | Item 4 | Item 5 |
-
-Minim id consequat adipisicing cupidatat laborum culpa veniam non consectetur et duis pariatur reprehenderit eu ex consectetur. Sunt nisi qui eiusmod ut cillum laborum Lorem officia aliquip laboris ullamco nostrud laboris non irure laboris. Cillum dolore labore Lorem deserunt mollit voluptate esse incididunt ex dolor.
-
-[[Top]](#top)
-
-## Code
-
-### Inline code
-
-Ad amet irure est magna id mollit Lorem in do duis enim. Excepteur velit nisi magna ea pariatur pariatur ullamco fugiat deserunt sint non sint. Duis duis est `code in text` velit velit aute culpa ex quis pariatur pariatur laborum aute pariatur duis tempor sunt ad. Irure magna voluptate dolore consectetur consectetur irure esse. Anim magna `in culpa qui officia` dolor eiusmod esse amet aute cupidatat aliqua do id voluptate cupidatat reprehenderit amet labore deserunt.
-
-### Highlighted
-
-Et fugiat ad nisi amet magna labore do cillum fugiat occaecat cillum Lorem proident. In sint dolor ullamco ad do adipisicing amet id excepteur Lorem aliquip sit irure veniam laborum duis cillum. Aliqua occaecat minim cillum deserunt magna sunt laboris do do irure ea nostrud consequat ut voluptate ex.
-
-```go
-package main
-
-import (
- "fmt"
- "net/http"
-)
-
-func handler(w http.ResponseWriter, r *http.Request) {
- fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:])
-}
-
-func main() {
- http.HandleFunc("/", handler)
- http.ListenAndServe(":8080", nil)
-}
-```
-
-Ex amet id ex aliquip id do laborum excepteur exercitation elit sint commodo occaecat nostrud est. Nostrud pariatur esse veniam laborum non sint magna sit laboris minim in id. Aliqua pariatur pariatur excepteur adipisicing irure culpa consequat commodo et ex id ad.
-
-[[Top]](#top)
-
-## Inline elements
-
-Sint ea anim ipsum ad commodo cupidatat do **exercitation** incididunt et minim ad labore sunt. Minim deserunt labore laboris velit nulla incididunt ipsum nulla. Ullamco ad laborum ea qui et anim in laboris exercitation tempor sit officia laborum reprehenderit culpa velit quis. **Consequat commodo** reprehenderit duis [irure](#!) esse esse exercitation minim enim Lorem dolore duis irure. Nisi Lorem reprehenderit ea amet excepteur dolor excepteur magna labore proident voluptate ipsum. Reprehenderit ex esse deserunt aliqua ea officia mollit Lorem nulla magna enim. Et ad ipsum labore enim ipsum **cupidatat consequat**. Commodo non ea cupidatat magna deserunt dolore ipsum velit nulla elit veniam nulla eiusmod proident officia.
-
-![Super wide](https://images.unsplash.com/photo-1471128466710-c26ff0d26143?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxfDB8MXxyYW5kb218MHx8fHx8fHx8MTY2MDc4MTk3Mw&ixlib=rb-1.2.1&q=80&utm_campaign=api-credit&utm_medium=referral&utm_source=unsplash_source&w=1080)
-
-_Proident sit veniam in est proident officia adipisicing_ ea tempor cillum non cillum velit deserunt. Voluptate laborum incididunt sit consectetur Lorem irure incididunt voluptate nostrud. Commodo ut eiusmod tempor cupidatat esse enim minim ex anim consequat. Mollit sint culpa qui laboris quis consectetur ad sint esse. Amet anim anim minim ullamco et duis non irure. Sit tempor adipisicing ea laboris `culpa ex duis sint` anim aute reprehenderit id eu ea. Aute [excepteur proident](#!) Lorem minim adipisicing nostrud mollit ad ut voluptate do nulla esse occaecat aliqua sint anim.
-
-![Not so big](https://placekitten.com/480/400)
-
-Incididunt in culpa cupidatat mollit cillum qui proident sit. In cillum aliquip incididunt voluptate magna amet cupidatat cillum pariatur sint aliqua est _enim **anim** voluptate_. Magna aliquip proident incididunt id duis pariatur eiusmod incididunt commodo culpa dolore sit. Culpa do nostrud elit ad exercitation anim pariatur non minim nisi **adipisicing sunt _officia_**. Do deserunt magna mollit Lorem commodo ipsum do cupidatat mollit enim ut elit veniam ea voluptate.
-
-Reprehenderit non eu quis in ad elit esse qui aute id [incididunt](#!) dolore cillum. Esse laboris consequat dolor anim exercitation tempor aliqua deserunt velit magna laboris. Culpa culpa minim duis amet mollit do quis amet commodo nulla irure.
-
-[[Top]](#top)
-
-## MDX
-
-```js
----
-publishDate: 'Aug 02 2022'
-title: 'Markdown elements demo post'
----
-import Logo from "@components/ui/button.astro";
-
-## MDX
-
-
-```
-
-
-
-
-
-[[Top]](#top)
diff --git a/src/content/blog/edr.md b/src/content/blog/edr.md
deleted file mode 100644
index 0f02bd6..0000000
--- a/src/content/blog/edr.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-draft: true
-title: EDR
-category: research
-author: Abder. Smimite
-publishDate: "2022-11-08 11:39"
-image: {
- src: "https://images.unsplash.com/photo-1593720213428-28a5b9e94613?&fit=crop&w=430&h=240",
- alt: "full stack web development"
-}
-snippet: ""
-tags: ["a", "b"]
----
-
-# Content goes here
\ No newline at end of file
diff --git a/src/content/config.ts b/src/content/config.ts
index 3a9130a..46abaed 100644
--- a/src/content/config.ts
+++ b/src/content/config.ts
@@ -1,40 +1,68 @@
-// 1. Import utilities from `astro:content`
import { z, defineCollection } from 'astro:content';
-// 2. Define your collection(s)
-const blogCollection = defineCollection({
- schema: z.object({
- draft: z.boolean(),
- title: z.string(),
- snippet: z.string(),
- image: z.object({
- src: z.string(),
- alt: z.string(),
- }),
- publishDate: z.string().transform(str => new Date(str)),
- author: z.string().default('Abder'),
- category: z.string(),
- tags: z.array(z.string()),
- }),
-});
+const metadataDefinition = () =>
+ z
+ .object({
+ title: z.string().optional(),
+ ignoreTitleTemplate: z.boolean().optional(),
+
+ canonical: z.string().url().optional(),
+
+ robots: z
+ .object({
+ index: z.boolean().optional(),
+ follow: z.boolean().optional(),
+ })
+ .optional(),
-const teamCollection = defineCollection({
+ description: z.string().optional(),
+
+ openGraph: z
+ .object({
+ url: z.string().optional(),
+ siteName: z.string().optional(),
+ images: z
+ .array(
+ z.object({
+ url: z.string(),
+ width: z.number().optional(),
+ height: z.number().optional(),
+ })
+ )
+ .optional(),
+ locale: z.string().optional(),
+ type: z.string().optional(),
+ })
+ .optional(),
+
+ twitter: z
+ .object({
+ handle: z.string().optional(),
+ site: z.string().optional(),
+ cardType: z.string().optional(),
+ })
+ .optional(),
+ })
+ .optional();
+
+const postCollection = defineCollection({
schema: z.object({
- draft: z.boolean(),
- name: z.string(),
+ publishDate: z.date().optional(),
+ updateDate: z.date().optional(),
+ draft: z.boolean().optional(),
+
title: z.string(),
- linkedin: z.string(),
- avatar: z.object({
- src: z.string(),
- alt: z.string(),
- }),
- publishDate: z.string().transform(str => new Date(str)),
+ excerpt: z.string().optional(),
+ image: z.string().optional(),
+
+ category: z.string().optional(),
+ tags: z.array(z.string()).optional(),
+ author: z.string().optional(),
+
+ metadata: metadataDefinition(),
}),
});
-// 3. Export a single `collections` object to register your collection(s)
-// This key should match your collection directory name in "src/content"
export const collections = {
- 'blog': blogCollection,
- 'team': teamCollection,
-};
\ No newline at end of file
+ post: postCollection,
+};
diff --git a/src/content/blog/5-mistakes-execs-make-about-cybersecurity.md b/src/content/post/5-mistakes-execs-make-about-cybersecurity.md
similarity index 92%
rename from src/content/blog/5-mistakes-execs-make-about-cybersecurity.md
rename to src/content/post/5-mistakes-execs-make-about-cybersecurity.md
index e8a4591..610dfbd 100644
--- a/src/content/blog/5-mistakes-execs-make-about-cybersecurity.md
+++ b/src/content/post/5-mistakes-execs-make-about-cybersecurity.md
@@ -1,15 +1,16 @@
---
draft: false
title: "Five mistakes Executives Are Still doing About Cybersecurity"
-category: articles
author: Abderrahmane Smimite
-publishDate: "2023-09-10 17:54"
-image: {
- src: "https://images.unsplash.com/photo-1570126646281-5ec88111777f?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=430&q=80",
- alt: "exec meeting"
-}
-snippet: "Five common mistakes that executives keep repeating about cyber security and some actionable insights on how to deal with them"
-tags: ["cybersecurity", "executives", "risk", "management", "leadership", "compliance", "resiliency"]
+publishDate: 2023-09-10T00:00:00Z
+image: https://images.unsplash.com/photo-1570126646281-5ec88111777f?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=430&q=80
+excerpt: "Five common mistakes that executives keep repeating about cyber security and some actionable insights on how to deal with them"
+category: Articles
+tags:
+ - Exec
+ - Management
+metadata:
+ canonical: https://intuitem.com/5-mistakes-execs-make-about-cybersecurity
---
## Introduction
diff --git a/src/content/blog/7-reasons-agile-is-dying.md b/src/content/post/7-reasons-agile-is-dying.md
similarity index 95%
rename from src/content/blog/7-reasons-agile-is-dying.md
rename to src/content/post/7-reasons-agile-is-dying.md
index 97aeef4..71dc451 100644
--- a/src/content/blog/7-reasons-agile-is-dying.md
+++ b/src/content/post/7-reasons-agile-is-dying.md
@@ -3,12 +3,9 @@ draft: false
title: 7 reasons why "Agile" is dying (and why it's a good thing)
category: articles
author: Abderrahmane Smimite
-publishDate: "2022-10-28 11:39"
-image: {
- src: "https://images.unsplash.com/photo-1552664730-d307ca884978?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=430&q=80",
- alt: "Agile is dying"
-}
-snippet: "here is a summary of what I believe is broken about the current state of Agile (yes, the marketing noun with the capital A) that I have tried to illustrate through real-life examples"
+publishDate: 2022-10-28T11:39:00Z
+image: https://images.unsplash.com/photo-1552664730-d307ca884978?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=430&q=80
+excerpt: "here is a summary of what I believe is broken about the current state of Agile (yes, the marketing noun with the capital A) that I have tried to illustrate through real-life examples"
tags: ["agile", "scaling", "methodology"]
---
diff --git a/src/content/blog/chicken-egg-dilemma-cloud-hsm.md b/src/content/post/chicken-egg-dilemma-cloud-hsm.md
similarity index 97%
rename from src/content/blog/chicken-egg-dilemma-cloud-hsm.md
rename to src/content/post/chicken-egg-dilemma-cloud-hsm.md
index de2830e..70ca04b 100644
--- a/src/content/blog/chicken-egg-dilemma-cloud-hsm.md
+++ b/src/content/post/chicken-egg-dilemma-cloud-hsm.md
@@ -3,12 +3,9 @@ draft: false
title: Chicken and Egg Dilemma with Cloud HSMs
category: articles
author: Eric Laubacher
-publishDate: "2019-04-03 11:39"
-image: {
- src: "https://images.unsplash.com/photo-1593720213428-28a5b9e94613?&fit=crop&w=430&h=240",
- alt: "Agile is dying"
-}
-snippet: ""
+publishDate: 2019-04-03T11:39:00Z
+image: https://images.unsplash.com/photo-1593720213428-28a5b9e94613?&fit=crop&w=430&h=240
+excerpt: ""
tags: ["cloud", "rewrite", "redirection", "rules"]
---
diff --git a/src/content/blog/communique-presse-mira-v3.md b/src/content/post/communique-presse-mira-v3.md
similarity index 92%
rename from src/content/blog/communique-presse-mira-v3.md
rename to src/content/post/communique-presse-mira-v3.md
index e99c2bc..0097eb8 100644
--- a/src/content/blog/communique-presse-mira-v3.md
+++ b/src/content/post/communique-presse-mira-v3.md
@@ -3,12 +3,9 @@ draft: false
title: "Mira v3 : communiqué de presse"
category: presse
author: Abderrahmane Smimite
-publishDate: "2023-04-03 07:00"
-image: {
- src: "https://images.unsplash.com/photo-1627163439134-7a8c47e08208?&fit=crop&w=430&h=240",
- alt: "Agile is dying"
-}
-snippet: ""
+publishDate: 2023-04-03T07:00:00Z
+image: https://images.unsplash.com/photo-1627163439134-7a8c47e08208?&fit=crop&w=430&h=240
+excerpt: ""
tags: ["software", "security", "devsecops", "secdevops"]
---
diff --git a/src/content/blog/nginx-rewrite-rules.md b/src/content/post/nginx-rewrite-rules.md
similarity index 94%
rename from src/content/blog/nginx-rewrite-rules.md
rename to src/content/post/nginx-rewrite-rules.md
index 4a6184d..b251c37 100644
--- a/src/content/blog/nginx-rewrite-rules.md
+++ b/src/content/post/nginx-rewrite-rules.md
@@ -3,11 +3,8 @@ draft: false
title: Nginx rewrite rules - the easy way
category: tutorials
author: Abderrahmane Smimite
-publishDate: "2022-10-19 11:39"
-image: {
- src: "https://images.unsplash.com/photo-1593720213428-28a5b9e94613?&fit=crop&w=430&h=240",
- alt: "Agile is dying"
-}
+publishDate: 2022-10-19T11:39:00Z
+image: https://images.unsplash.com/photo-1593720213428-28a5b9e94613?&fit=crop&w=430&h=240
snippet: ""
tags: ["nginx", "rewrite", "redirection", "rules"]
---
diff --git a/src/content/blog/privacy-policy.md b/src/content/post/privacy-policy-update.md
similarity index 98%
rename from src/content/blog/privacy-policy.md
rename to src/content/post/privacy-policy-update.md
index e9f4869..f456ef9 100644
--- a/src/content/blog/privacy-policy.md
+++ b/src/content/post/privacy-policy-update.md
@@ -1,15 +1,12 @@
---
draft: false
-title: "Privacy Policy"
+title: "Privacy Policy Update"
author: "intuitem"
-category: doc
-snippet: here
+category: News
+excerpt: sept 2023 update to cover CISO Assistant.
tags: ["policy", "privacy"]
-publishDate: "2023-09-01 07:00"
-image: {
- src: "https://images.unsplash.com/photo-1627163439134-7a8c47e08208?&fit=crop&w=430&h=240",
- alt: "privacy"
-}
+publishDate: 2023-09-01T07:00:00Z
+image: https://images.unsplash.com/photo-1627163439134-7a8c47e08208?&fit=crop&w=430&h=240
---
### intuitem Privacy Policy
diff --git a/src/content/blog/review-managing-cyber-risk-ariel-evans.md b/src/content/post/review-managing-cyber-risk-ariel-evans.md
similarity index 97%
rename from src/content/blog/review-managing-cyber-risk-ariel-evans.md
rename to src/content/post/review-managing-cyber-risk-ariel-evans.md
index bc76a95..a794d68 100644
--- a/src/content/blog/review-managing-cyber-risk-ariel-evans.md
+++ b/src/content/post/review-managing-cyber-risk-ariel-evans.md
@@ -3,12 +3,9 @@ draft: false
title: Review of Managing cyber risk, by Ariel Evans
category: reviews
author: Eric Laubacher
-publishDate: "2023-09-04 09:54"
-image: {
- src: "https://media.licdn.com/dms/image/D4E12AQEF1Ta7ucADUg/article-cover_image-shrink_423_752/0/1693760414053?e=1700092800&v=beta&t=dDZvujFmrDqJCSOfEf_aPm_Cb6IshTEegNfveHn5tQE",
- alt: "managing cyber risk"
-}
-snippet: "Ariel Evans is a senior cybersecurity expert, serial entrepreneur, and author. She is Chairperson of Pace Seidenberg Cybersecurity Program. The book has been published by Routledge. It can be downloaded for free on Researchgate."
+publishDate: 2023-09-04T09:54:00Z
+image: https://images.routledge.com/common/jackets/amazon/978036717/9780367177744.jpg
+excerpt: "Ariel Evans is a senior cybersecurity expert, serial entrepreneur, and author. She is Chairperson of Pace Seidenberg Cybersecurity Program. The book has been published by Routledge. It can be downloaded for free on Researchgate."
tags: ["cybersecurity", "risk", "management"]
---
diff --git a/src/content/blog/software-factory-security.md b/src/content/post/software-factory-security.md
similarity index 97%
rename from src/content/blog/software-factory-security.md
rename to src/content/post/software-factory-security.md
index b7b1f7a..0e70268 100644
--- a/src/content/blog/software-factory-security.md
+++ b/src/content/post/software-factory-security.md
@@ -3,11 +3,8 @@ draft: false
title: Back to basics - Software Factory security
category: articles
author: Abderrahmane Smimite
-publishDate: "2021-07-13 11:39"
-image: {
- src: "https://images.unsplash.com/photo-1627163439134-7a8c47e08208?&fit=crop&w=430&h=240",
- alt: "Agile is dying"
-}
+publishDate: 2021-07-13T11:39:00Z
+image: https://images.unsplash.com/photo-1627163439134-7a8c47e08208?&fit=crop&w=430&h=240
snippet: ""
tags: ["software", "security", "devsecops", "secdevops"]
---
@@ -51,7 +48,7 @@ This is a very common topic in Cybersecurity, and we will detail the proper patt
Some tools to consider:
- Keys management: Hashicorp Vault, KeePass
-- Leaks detection: Trufflehog, Git guardian, GitHub secret check
+- Leaks detection: Trufflehog, Git guardian, Github secret check
## Compute vulnerability management
Once your app is ready for deployment, it will require some form of compute service to run it: bare metal, VM, container-based, serverless, etc. Compute security is the foundation of any application security, and is either managed directly by you or delegated to a provider, as part of a Shared Responsibility Model. The process is basically about monitoring and applying the security patches of your OS components, as well as the associated libraries and dependencies.
diff --git a/src/content/blog/we-are-going-open-source.md b/src/content/post/we-are-going-open-source.md
similarity index 88%
rename from src/content/blog/we-are-going-open-source.md
rename to src/content/post/we-are-going-open-source.md
index 3610f99..c10e7ef 100644
--- a/src/content/blog/we-are-going-open-source.md
+++ b/src/content/post/we-are-going-open-source.md
@@ -3,13 +3,10 @@ draft: false
title: "We are Going Open Source"
category: "News"
author: Abderrahmane Smimite
-publishDate: "2023-09-20 19:25"
-image: {
- src: "https://images.unsplash.com/photo-1569017388730-020b5f80a004?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=430&q=80",
- alt: "exec meeting"
-}
-snippet: "Five common mistakes that executives keep repeating about cyber security and some actionable insights on how to deal with them"
-tags: ["cybersecurity", "mira", "ciso-assistant", "open", "source", "compliance", "community", "GRC"]
+publishDate: 2023-09-20T19:25:00Z
+image: https://images.unsplash.com/photo-1569017388730-020b5f80a004?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=430&q=80
+excerpt: "Five common mistakes that executives keep repeating about cyber security and some actionable insights on how to deal with them"
+tags: ["cybersecurity", "ciso-assistant", "open source", "community", "GRC"]
---
Hello to our valued customers, partners, and the cybersecurity community,
diff --git a/src/content/team/abderrahmane-smimite.md b/src/content/team/abderrahmane-smimite.md
deleted file mode 100644
index 150b4be..0000000
--- a/src/content/team/abderrahmane-smimite.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-draft: false
-name: "Abderrahmane Smimite"
-title: "Managing Director"
-avatar: {
- src: "/abder.png",
- alt: "Abder. smimite"
-}
-linkedin: "https://www.linkedin.com/in/asmimite/"
-publishDate: "2022-11-07 15:39"
----
diff --git a/src/content/team/eric-laubacher.md b/src/content/team/eric-laubacher.md
deleted file mode 100644
index ba4e956..0000000
--- a/src/content/team/eric-laubacher.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-draft: false
-name: "Eric Laubacher"
-title: "Managing Partner"
-avatar: {
- src: "/eric.png",
- alt: "Eric Laubacher"
-}
-linkedin: "https://www.linkedin.com/in/eric-laubacher-a545a616b/"
-publishDate: "2022-11-08 15:39"
----
diff --git a/src/env.d.ts b/src/env.d.ts
index acef35f..6255205 100644
--- a/src/env.d.ts
+++ b/src/env.d.ts
@@ -1,2 +1,5 @@
+// eslint-disable-next-line @typescript-eslint/triple-slash-reference
///
///
+///
+///
diff --git a/src/i18n/ui.ts b/src/i18n/ui.ts
deleted file mode 100644
index d0ce05f..0000000
--- a/src/i18n/ui.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-export const languages = {
- fr: '🇫🇷',
- en:'🇬🇧',
-
-};
-
-export const defaultLang = 'fr';
-
-export const ui = {
-
- fr: {
- 'nav.home': 'Accueil',
- 'nav.about': 'À propos',
- 'nav.solutions': 'Solutions',
- 'nav.community': 'Communauté',
- 'nav.trial': 'Essai gratuit',
- 'nav.overview': 'Vue d\'ensemble',
- 'nav.blog': 'Blog',
- 'nav.services': 'Services',
- 'nav.audit': 'Audit et Pentest',
- 'nav.ai': 'AI/ML et Data',
- 'nav.consultancy': 'Conseil et prestation',
- 'hero.title_l1': 'Solutions Simples,',
- 'hero.title_l2': 'Personnes Fiables',
- 'hero.paragraph1' : 'Intuitem est spécialisée dans l\'architecture cloud, la cybersécurité et le développement logiciel. Nous construisons des produits et fournissons des services de conseil et d\'accompagnement pour simplifier la complexité croissante du monde numérique moderne.',
- 'hero.paragraph2' : 'La nouvelle version de CISO Assistant, est désormais disponible. Il s\'agit de notre solution tout-en-un de gestion des risques et de la conformité. Obtenez votre essai gratuit maintenant !',
- 'hero.button.primary' : 'Produits',
- 'hero.button.secondary': 'Services',
- 'logos.header': 'Des entités qu\'on a eu le plaisir d\'accompagner :',
- 'frameworks.header': 'Les frameworks que nous utilisons :',
- 'cta.text1': 'Des difficultés avec la GRC ?',
- 'cta.text2': 'Découvrez CISO Assistant, une solution simple et intuitive pour aller au-delà des fichiers Excel et rendre l\'évaluation des risques et de la conformité opérationnelle !',
- 'cta.button': 'Commencer maintenant',
- 'footer.pricing': 'Tarification',
- 'footer.privacy': 'Politique de confidentialité',
- 'footer.tos': "Conditions d'utilisation",
- 'footer.about': 'A propos',
- 'footer.details': 'Plus de détails',
- },
- en: {
- 'nav.home': 'Home',
- 'nav.about': 'About',
- 'nav.solutions': 'Solutions',
- 'nav.community': 'Community',
- 'nav.trial': 'Free Trial',
- 'nav.overview': 'Overview',
- 'nav.services': 'Services',
- 'nav.audit': 'Audit and Pentest',
- 'nav.ai': 'AI/ML and Data',
- 'nav.consultancy': 'Consultancy',
- 'hero.title_l1': 'Simple Solutions,',
- 'hero.title_l2': 'Reliable People',
- 'hero.paragraph1' : 'Intuitem specializes in cloud architecture, cyber security and software development. We build products and provide consulting services to simplify the overwhelming complexity of the modern digital world.',
- 'hero.paragraph2' : 'We have just released the new version of CISO Assistant, our streamlined and all-in-one cyber risk and compliance management solution. Get your free trial now!',
- 'hero.button.primary' : 'Products',
- 'hero.button.secondary': 'Services',
- 'logos.header':'Organizations that we had the pleasure to assist and collaborate with:',
- 'frameworks.header': 'Frameworks we use:',
- 'cta.text1': 'Struggling with GRC?',
- 'cta.text2': 'Introducing CISO Assistant, an end-to-end, simple and intuitive solution to go beyond the spreadsheets and make risk and compliance assessment actionable!',
- 'cta.button': 'Get Started',
- 'footer.pricing': 'Pricing',
- 'footer.privacy': 'Privacy Policy',
- 'footer.tos': "Terms of Service",
- 'footer.about': 'About us',
- 'footer.details': 'More details',
- },
-} as const;
diff --git a/src/i18n/utils.ts b/src/i18n/utils.ts
deleted file mode 100644
index a206047..0000000
--- a/src/i18n/utils.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { ui, defaultLang } from './ui';
-
-export function getLangFromUrl(url: URL) {
- const [, lang] = url.pathname.split('/');
- if (lang in ui) return lang as keyof typeof ui;
- return defaultLang;
-}
-
-export function useTranslations(lang: keyof typeof ui) {
- return function t(key: keyof typeof ui[typeof defaultLang]) {
- return ui[lang][key] || ui[defaultLang][key];
- }
-}
\ No newline at end of file
diff --git a/src/layouts/BlogLayout.astro b/src/layouts/BlogLayout.astro
deleted file mode 100644
index cd0f7bf..0000000
--- a/src/layouts/BlogLayout.astro
+++ /dev/null
@@ -1,50 +0,0 @@
----
-import Container from "@components/container.astro";
-import { getFormattedDate } from "@utils/all";
-import { log } from "astro/dist/core/logger/core";
-import Layout from "./Layout.astro";
-
-const { frontmatter } = Astro.props;
----
-
-
-
-
Erreur lors de l'envoi du message. Merci de ressayer ultérieurement.
-
-
+import Layout from '~/layouts/PageLayout.astro';
+import HeroText from '~/components/widgets/HeroText.astro';
+import ContactUs from '~/components/widgets/Contact.astro';
+import Features2 from '~/components/widgets/Features2.astro';
-
-
-
-
-
-
+const metadata = {
+ title: 'Contact',
+};
+---
+
+
+
-
-
-
+
diff --git a/src/pages/fr/index.astro b/src/pages/fr/index.astro
index d62be93..82db3f2 100644
--- a/src/pages/fr/index.astro
+++ b/src/pages/fr/index.astro
@@ -1,59 +1,174 @@
---
-import Container from "@components/container.astro";
-import Cta from "@components/cta.astro";
-import Features from "@components/features.astro";
-import Footer from "@components/footer.astro";
-import Hero from "@components/hero.astro";
-import Logos from "@components/logos.astro";
-import Layout from "@layouts/Layout.astro";
-import Frameworks from "@components/frameworks.astro";
-import "../../styles/base.css";
+import Layout from '~/layouts/PageLayout.astro';
+import Hero from '~/components/widgets/Hero.astro';
+import Features from '~/components/widgets/Features.astro';
+import Steps from '~/components/widgets/Steps.astro';
+import CallToAction from '~/components/widgets/CallToAction.astro';
+import Brands from '~/components/widgets/Brands.astro';
+import BlogLatestPosts from '~/components/widgets/BlogLatestPosts.astro';
+
+import { sanityClient } from 'sanity:client';
+import PortableText from '~/components/portabletext/PortableText.astro';
+
+const metadata = {
+ title: 'intuitem - Open source CISO Assistant - GRC',
+ description:
+ 'intuitem provides products and services on cyber security and infrastructure management. CISO Assistant is a one-stop-shop open source solution that helps security teams to manage their GRC activities. Available in community, pro and enterprise editions.',
+ ignoreTitleTemplate: true,
+};
+
+const heroSection = await sanityClient.fetch(`*[_type == "siteSection" && slug == "hero"]{
+ slug,
+ "body": body[_key == "fr"][0].value,
+}`);
+
+const featuresContent = await sanityClient.fetch(`*[_type == "feature"]{
+ "title": title[_key == "fr"][0].value,
+ "description": description[_key == "fr"][0].value,
+ icon,
+ slug,
+} | order(slug asc)`);
+
+const referenceBrands = await sanityClient.fetch(`*[_type == "referenceBrand"]{
+ name,
+ "imageUrl":logo.asset->url
+}`);
+
+function adjustImageUrl(ref) {
+ return `${ref}`;
+}
+
+const transformedBrands = referenceBrands.map(brand => ({
+ src: adjustImageUrl(brand.imageUrl),
+ alt: brand.name
+}));
---
-
-
-
-
-
-
-
-
-
- Des solutions modernes et clé en main
-
-
- Face à un paysage de menaces en constante évolution, la protection de
- vos actifs numériques est d'une importance capitale. Nous proposons des
- solutions complètes ou sur mesure qui rationalisent vos opérations de
- cybersécurité, renforcent vos défenses et favorisent l'amélioration
- continue. De l'évaluation des risques à la mise en œuvre de stratégies
- de défense avancées, nos services sont conçus pour renforcer votre
- posture de cybersécurité, garantissant ainsi la résilience et la
- continuité de vos activités.
-
-
-
-
-
-
-
- Des experts pour vous accompagner
+
+
+
+
+
+ Nous
+ simplifions le travail des équipes cyber sécurité
+
+
+
+
+
-
- Nos experts, forts de leur expérience et de leur savoir-faire, sont à
- votre disposition pour vous guider à travers les complexités du paysage
- technologique actuel. Ils prodiguent des conseils avisés, vous aident à
- élaborer des stratégies efficaces et à construire des systèmes robustes.
- De plus, nous ne nous contentons pas de créer des solutions : nous nous
- engageons à renforcer les capacités de vos équipes par le biais de
- coaching, afin de garantir une autonomie durable et une performance
- optimale. Avec nous à vos côtés, transformez vos défis en opportunités
- de croissance.
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Choisissez votre déploiement',
+ description:
+ "Lancez-vous avec l’instance gratuite ou GitHub ! Le choix vous appartient. Nous sommes là pour rendre votre voyage aussi fluide que possible. Alors, faites votre choix et commençons !",
+ icon: 'tabler:package',
+ },
+ {
+ title: 'Etape 2.a : Expérimentez et ajoutez votre contenu',
+ description:
+ "Suivez la documentation pour commencer à utiliser CISO Assistant. Vous pouvez ajouter votre propre contenu et tester les fonctionnalités. Nous sommes là pour vous aider à chaque étape du processus sur notre serveur Discord.",
+ icon: 'tabler:letter-case',
+ },
+ {
+ title: 'Etape 2.b : Discutez des caractéristiques et des besoins spécifiques',
+ description:
+ 'Que vous soyez à la recherche d’une fonctionnalité spécifique ou que vous ayez un besoin particulier, nous sommes là pour vous aider. Toute personnalisation sera couverte par le support du plan d’entreprise et pourra être adaptée à vos besoins.',
+ icon: 'tabler:paint',
+ },
+{
+ title: 'Etape 3 : Mettez à niveau votre souscription',
+ description:
+ 'Si vous êtes satisfait de l’édition communautaire, nous sommes heureux pour vous. Nous vous encourageons à passer à la version Pro ou Enterprise pour tirer le meilleur parti de CISO Assistant et avec une migration des données garantie.',
+ icon: 'tabler:rocket',
+ },
+ {
+ title: 'Prêt !',
+ icon: 'tabler:check',
+ },
+ ]}
+ image={{
+ src: 'https://images.unsplash.com/photo-1616198814651-e71f960c3180?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=987&q=80',
+ alt: 'Steps image',
+ }}
+
+ />
+
+
+
+
+
+
+
+
+ Prêt pour vous lancer ?
+
+
+ Rien de plus simple que de commencer avec CISO Assistant. Choisissez votre instance cloud gratuite ou la version community sur GitHub et expérimenter la puissance de CISO Assistant dès aujourd’hui.
+
+
+
+
+
+
+
+
diff --git a/src/pages/fr/pricing.astro b/src/pages/fr/pricing.astro
new file mode 100644
index 0000000..f5ce318
--- /dev/null
+++ b/src/pages/fr/pricing.astro
@@ -0,0 +1,218 @@
+---
+import Layout from '~/layouts/PageLayout.astro';
+import HeroText from '~/components/widgets/HeroText.astro';
+import Prices from '~/components/widgets/Pricing.astro';
+import FAQs from '~/components/widgets/FAQs.astro';
+import Steps from '~/components/widgets/Steps.astro';
+import Features3 from '~/components/widgets/Features3.astro';
+import CallToAction from '~/components/widgets/CallToAction.astro';
+
+const metadata = {
+ title: 'Pricing',
+};
+---
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/fr/services.astro b/src/pages/fr/services.astro
new file mode 100644
index 0000000..f39c116
--- /dev/null
+++ b/src/pages/fr/services.astro
@@ -0,0 +1,192 @@
+---
+import CallToAction from '~/components/widgets/CallToAction.astro';
+import Content from '~/components/widgets/Content.astro';
+import Features2 from '~/components/widgets/Features2.astro';
+import Hero from '~/components/widgets/Hero.astro';
+import Testimonials from '~/components/widgets/Testimonials.astro';
+import Layout from '~/layouts/PageLayout.astro';
+
+const metadata = {
+ title: 'Services',
+ desciption: "intuitem provides multiple consultancy services on infrastructure, cloud, security, and more. Our team of experts can help you succeed and manage your challenges.",
+};
+
+import { sanityClient } from "sanity:client";
+const services = await sanityClient.fetch(`*[_type == "service"]{
+ slug,
+ "title":title[_key == "en"][0].value,
+ "description":description[_key == "en"][0].value,
+ icon,
+} | order(slug asc)`);
+---
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/fr/services_.astro b/src/pages/fr/services_.astro
new file mode 100644
index 0000000..503da68
--- /dev/null
+++ b/src/pages/fr/services_.astro
@@ -0,0 +1,230 @@
+---
+import CallToAction from '~/components/widgets/CallToAction.astro';
+import Content from '~/components/widgets/Content.astro';
+import Features2 from '~/components/widgets/Features2.astro';
+import Hero from '~/components/widgets/Hero.astro';
+import Testimonials from '~/components/widgets/Testimonials.astro';
+import Layout from '~/layouts/PageLayout.astro';
+
+const metadata = {
+ title: 'Services',
+};
+
+import { sanityClient } from "sanity:client";
+const services = await sanityClient.fetch(`*[_type == "service"]{
+ slug,
+ "title":title[_key == "en"][0].value,
+ "description":description[_key == "en"][0].value,
+ icon,
+} | order(slug asc)`);
+---
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Main Features
+
+
+
+
+
+
+
+
Benefits
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/fr/solutions.astro b/src/pages/fr/solutions.astro
deleted file mode 100644
index 7830498..0000000
--- a/src/pages/fr/solutions.astro
+++ /dev/null
@@ -1,389 +0,0 @@
----
-import Container from "@components/container.astro";
-import Layout from "@layouts/Layout.astro";
-import { Image } from "astro:assets";
-import CALogo from "@assets/ciso-assistant_logo.png";
-import ConsultancyLogo from "@assets/consultancy.png";
-import cyberSec from "@assets/cyber-security.png";
-import audit from "@assets/audit.png";
-import AILogo from "@assets/ai.png";
-import crisis from "@assets/crisis.png";
----
-
-
-
-
-
- Nous combinons notre expertise en cybersécurité, cloud et intelligence
- artificielle pour proposer des produits simples et innovants
-
-
-
-
-
-
-
-
-
-
-
-
💫
-
- CISO Assistant
-
-
- CISO Assistant est une solution open source répondant à la préoccupation grandissante de tout DSI ou
- praticien de la cybersécurité : par où commencer face à tant de
- données et de menaces et comment concilier sécurité et conformité.
-
-
- Le défi principal est de trouver un moyen efficace de gérer ce
- déluge d'informations sans compromettre la sensibilité ou la
- confidentialité de vos données. CISO Assistant simplifie ce
- processus en organisant, interprétant et hiérarchisant les données.
- Grâce à ses capacités innovantes, il permet une identification
- rapide des menaces potentielles, permettant une réponse rapide pour
- atténuer les risques.
-
- Nos experts chevronnés pour votre tranquillité d'esprit et
- l'autonomisation de vos équipes
-
-
-
-
-
-
-
-
-
-
-
-
-
-
🚀
-
- Accompagnement GRC et gestion des risques
-
-
- Boostez les capacités de Gouvernance, de Risque et de Conformité
- (GRC) et de Gestion des Risques de votre organisation avec nos
- services de conseil de premier ordre. Nous nous spécialisons dans
- l'accélération de ces processus critiques, en mettant en œuvre des
- stratégies qui améliorent l'efficacité, amplifient la transparence
- et renforcent le contrôle.
-
-
- Notre équipe d'experts travaille en étroite collaboration avec votre
- organisation, aidant à identifier méticuleusement votre profil de
- risque et à formuler des protocoles de conformité robustes qui
- s'harmonisent avec vos objectifs métier uniques ainsi que vos
- exigences réglementaires.
-
- Prenez le contrôle des défis imprévus avec notre "Task Force"
- spécialisée en Gestion de Crise. Dans une ère où les incertitudes
- sont la seule certitude, notre équipe dédiée d'experts est prête à
- guider votre organisation à travers n'importe quelle tempête. Nous
- fournissons une réponse rapide, efficace et proactive, permettant à
- votre organisation de réduire les risques, de protéger sa réputation
- et d'assurer la continuité des affaires.
-
-
- Notre Task Force n'est pas seulement réactive; nous sommes aussi
- décidément proactifs. Nous vous aidons à vous préparer pour les
- crises potentielles, en construisant des plans de contingence
- robustes et en dispensant des formations à vos équipes. Avec notre
- mélange de technologie de pointe et de prévision stratégique, nous
- vous équipons de la résilience nécessaire pour surmonter toute
- crise.
-
- Sécurisez votre frontière numérique avec nos services complets
- d'Audit de Cybersécurité & Pentesting. À une époque où les menaces
- cybernétiques évoluent à un rythme sans précédent, notre équipe
- d'experts chevronnés se tient comme votre ligne de défense
- formidable. Nous nous plongeons profondément dans vos systèmes,
- identifiant les vulnérabilités, et testant la résilience, offrant
- une analyse approfondie qui vous permet de renforcer votre
- cybersécurité.
-
-
- Mais nos services vont au-delà de la simple identification des
- faiblesses. Nos professionnels du Pentest simulent des attaques du
- monde réel, mettant vos systèmes à l'épreuve par le biais d'un
- piratage éthique rigoureux pour évaluer leur véritable robustesse.
- Après l'audit, nous fournissons des rapports détaillés et des
- recommandations pratiques, vous permettant de renforcer efficacement
- vos défenses numériques.
-
- Re-Découvrez le potentiel de votre entreprise avec nos services de
- pointe d'Automatisation et d'Intégration des Données par IA/ML.
- Alors que nous naviguons dans une ère où les données deviennent le
- moteur des prises de décision, notre équipe dédiée d'experts en IA
- et ML intervient pour vous aider à automatiser les processus et à
- intégrer des systèmes intelligents dans votre paysage d'affaires.
- Nous ne nous contentons pas de rationaliser vos tâches répétitives -
- notre objectif est d'injecter de l'intelligence dans vos opérations
- de données, permettant des insights en temps réel et des analyses
- prédictives qui orientent la prise de décision stratégique.
-
-
- Entrez dans l'avenir des données avec nos solutions d'IA générative
- hors ligne. Cette technologie avancée vous permet de générer de
- nouvelles données même lorsque vous êtes déconnecté de l'internet,
- assurant des opérations ininterrompues et des insights continus. Nos
- solutions sur mesure se fondent sans heurt avec votre infrastructure
- existante, éliminant les silos de données et favorisant une
- collaboration interfonctionnelle améliorée. Avec nos services
- d'Automatisation et d'Intégration des Données par IA/ML,
- préparez-vous à révolutionner vos processus, obtenir des insights
- stratégiques et devancer la concurrence.
-
- Améliorez votre activité digitale avec notre gamme complète de
- services de conseil. Des subtilités de la conception du cloud aux
- complexités de l'architecture des systèmes distribués, notre équipe
- d'experts est prête à vous guider. Nous travaillons en étroite
- collaboration avec votre équipe pour développer et mettre en œuvre
- des stratégies cloud qui s'alignent sur vos objectifs commerciaux,
- offrant des solutions rentables et évolutives. Parallèlement à cela,
- nos architectes qualifiés conçoivent des systèmes robustes adaptés à
- vos besoins spécifiques, garantissant la scalabilité, la fiabilité
- et des performances optimales.
-
-
- La navigation à travers les défis des opérations à grande échelle et
- le soutien des équipes d'ingénierie de fiabilité de site (SRE) font
- également partie intégrante de notre offre de services. Nous
- fournissons une assistance stratégique pour gérer des opérations de
- grand volume et complexes, optimisant la productivité et atténuant
- les risques. De plus, nous agissons comme une extension de vos
- équipes SRE, apportant des connaissances approfondies et de
- l'expérience pour favoriser l'amélioration continue, une culture
- sans reproches et le développement de systèmes résilients. Avec nos
- divers services de conseil, nous équipons votre entreprise des
- outils et de l'expertise nécessaires pour exceller dans le paysage
- commercial compétitif.
-
-
-
-
diff --git a/src/pages/fr/trial.astro b/src/pages/fr/trial.astro
index e91bf99..789894e 100644
--- a/src/pages/fr/trial.astro
+++ b/src/pages/fr/trial.astro
@@ -1,156 +1,48 @@
---
-import { Icon } from "astro-icon";
-import Layout from "@layouts/Layout.astro";
-import Container from "@components/container.astro";
-import Sectionhead from "@components/sectionhead.astro";
-import Button from "@components/ui/button.astro";
-import Contactform from "@components/contactform.astro";
-const dwh = import.meta.env.PUBLIC_DISCORD_WH;
+import Layout from '~/layouts/PageLayout.astro';
+import HeroText from '~/components/widgets/HeroText.astro';
+import ContactUs from '~/components/widgets/Contact.astro';
+import Features2 from '~/components/widgets/Features2.astro';
+
+const metadata = {
+ title: 'Trial',
+};
---
-
-
-
- CISO Assistant : Essai gratuit
- Essai gratuit de 30 jours sans engagement. Carte bancaire non requise.
-
+
+
+
+
+
+
-
-
-
CISO Assistant Cloud - Essai gratuit
-
- Découvrez notre plateforme de gestion des risques de bout en bout, sans engagement et sans installation.
-
-
- Des besoins plus spécfiques d'infrastructure ? L'édition communautaire est également disponible sur GitHub, ou vous pouvez nous contacter pour en discuter.
-
-
-
-
L'instance privée sera créée dans un délai maximum de 48h ! Si vous ne recevez pas de mail de confirmation, vérifiez vos spams.
-
-
-
Erreur lors du traitement du formulaire. Merci de ressayer ultérieurement.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/pages/index.astro b/src/pages/index.astro
index 827f02a..aaa6da8 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -1,3 +1,177 @@
---
+import Layout from '~/layouts/PageLayout.astro';
+import Hero from '~/components/widgets/Hero.astro';
+import Features from '~/components/widgets/Features.astro';
+import Steps from '~/components/widgets/Steps.astro';
+import CallToAction from '~/components/widgets/CallToAction.astro';
+import Brands from '~/components/widgets/Brands.astro';
+import BlogLatestPosts from '~/components/widgets/BlogLatestPosts.astro';
+
+import { sanityClient } from 'sanity:client';
+import PortableText from '~/components/portabletext/PortableText.astro';
+
+const metadata = {
+ title: 'intuitem - CISO Assistant - Open source GRC',
+ description:
+ 'intuitem provides products and services on cyber security and infrastructure management. CISO Assistant is a one-stop-shop open source solution that helps security teams to manage their GRC activities. Available in community, pro and enterprise editions.',
+ ignoreTitleTemplate: true,
+};
+
+const heroSection = await sanityClient.fetch(`*[_type == "siteSection" && slug == "hero"]{
+ slug,
+ "body": body[_key == "en"][0].value,
+}`);
+
+const featuresContent = await sanityClient.fetch(`*[_type == "feature"]{
+ "title": title[_key == "en"][0].value,
+ "description": description[_key == "en"][0].value,
+ icon,
+ slug,
+} | order(slug asc)`);
+
+const referenceBrands = await sanityClient.fetch(`*[_type == "referenceBrand"]{
+ name,
+ "imageUrl":logo.asset->url
+}`);
+
+function adjustImageUrl(ref) {
+ return `${ref}`;
+}
+
+const transformedBrands = referenceBrands.map(brand => ({
+ src: adjustImageUrl(brand.imageUrl),
+ alt: brand.name
+}));
---
-
\ No newline at end of file
+
+
+
+
+
+
+ We
+ simplify the work of cyber security teams
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Choose your deployment',
+ description:
+ "Kickstart with the free instance or GitHub! The choice is yours. We're here to make your journey as smooth as possible. So, take your pick and let's get started!",
+ icon: 'tabler:package',
+ },
+ {
+ title: 'Step 2.a: Experiment and Add your content',
+ description:
+ "Follow the documentation to get started with CISO assistant. You can add your own content and experiment with the features. We're here to help you every step of the way on our Discord server.",
+ icon: 'tabler:letter-case',
+ },
+ {
+ title: 'Step 2.b: Discuss specific features/needs',
+ description:
+ 'If you are looking for a specific feature or you have a particular need, we are here to help you. Any customization will be covered by the enterprise plan support and can be tailored to your case.',
+ icon: 'tabler:paint',
+ },
+ {
+ title: 'Step 3: Upgrade your plan',
+ description:
+ 'If you are happy with the community edition then we are happy for you. We encourage you to upgrade to Pro or Enterprise to get the most out of CISO Assistant and of guaranteed data migration.',
+ icon: 'tabler:rocket',
+ },
+ {
+ title: 'Ready!',
+ icon: 'tabler:check',
+ },
+ ]}
+ image={{
+ src: 'https://images.unsplash.com/photo-1616198814651-e71f960c3180?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=987&q=80',
+ alt: 'Steps image',
+ }}
+
+ />
+
+
+
+
+
+
+
+
+ Ready to get started?
+
+
+ Nothing better than a free instance to test it out and find out how CISO Assistant can help you. Don't waste more
+ time on low values operations and start focusing on what really matters.
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/mira_gallery.astro b/src/pages/mira_gallery.astro
deleted file mode 100644
index a1a78cd..0000000
--- a/src/pages/mira_gallery.astro
+++ /dev/null
@@ -1,20 +0,0 @@
----
-import Container from "@components/container.astro";
-import Layout from "@layouts/Layout.astro";
-import Sectionhead from "@components/sectionhead.astro";
-import { Picture } from "@astrojs/image/components";
-import MiraLogo from "assets/mira_logo.png";
-import Gallery from "@components/gallery.astro";
----
-
-
-
-
- CISO Assistant
- Sneak peek: gallery
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/pages/pricing.astro b/src/pages/pricing.astro
index c9cd360..f5ce318 100644
--- a/src/pages/pricing.astro
+++ b/src/pages/pricing.astro
@@ -1,84 +1,218 @@
---
-import Layout from "@layouts/Layout.astro";
-import Container from "@components/container.astro";
-import Sectionhead from "@components/sectionhead.astro";
-import Pricing from "@components/pricing.astro";
+import Layout from '~/layouts/PageLayout.astro';
+import HeroText from '~/components/widgets/HeroText.astro';
+import Prices from '~/components/widgets/Pricing.astro';
+import FAQs from '~/components/widgets/FAQs.astro';
+import Steps from '~/components/widgets/Steps.astro';
+import Features3 from '~/components/widgets/Features3.astro';
+import CallToAction from '~/components/widgets/CallToAction.astro';
-const pricing = [
- {
- name: "Community",
- price: {
- monthly: "Free",
- },
- popular: false,
- features: [
- "Deploy MIRA locally or on your own infrastructure",
- "AGPLv3 license",
- "Community support",
- "Manage your updates and backups",
- "Integration assistance on-demand",
- ],
- button: {
- text: "Get Started",
- link: "https://github.com/intuitem/mira-community",
- },
- },
- {
- name: "Cloud",
- price: {
- monthly: "29€ / contrib / month",
- },
- popular: true,
- features: [
- "Readers seats are free. You only pay for contributors",
- "We handle hosting and operations",
- "EU-located datacenter",
- "Priority support and customer portal",
- "Automatic backups & updates (with notification)",
- "Early access to Beta preview"
- ],
- button: {
- text: "Free trial",
- link: "/trial",
- },
- },
- {
- name: "Enterprise",
- price: "Custom",
- popular: false,
- features: [
- "Volume discounts",
- "Data migration assistance",
- "Customized features for your needs",
- "Deploy on custom domains",
- "Integration assistance (to fit your infrastructure)",
- "SAML & SSO",
- "MSSP custom packaging",
- "Branding and white-labeling",
- "Advanced support and SLA (according to your needs)",
- ],
- button: {
- text: "Contact us",
- link: "/contact",
- },
- },
-];
+const metadata = {
+ title: 'Pricing',
+};
---
-
-
-
- Pricing
-
- CISO Assistant pricing is simple, predictive and cost-efficient. All pacakges are on a yearly-billing.
-
-
+
+
-
-
-
-
diff --git a/src/pages/privacy.md b/src/pages/privacy.md
new file mode 100644
index 0000000..f33d96a
--- /dev/null
+++ b/src/pages/privacy.md
@@ -0,0 +1,114 @@
+---
+title: 'Privacy Policy'
+layout: '~/layouts/MarkdownLayout.astro'
+---
+
+_Last updated_: September 06, 2023
+
+This Privacy Policy describes how intuitem (the “Site”, “we”, “us”, or “our”) collects, uses, and discloses your personal information when you visit, use our services, or make a purchase from https://intuitem.com (the “Site”) or otherwise communicate with us (collectively, the “Services”). For purposes of this Privacy Policy, “you” and “your” means you as the user of the Services, whether you are a customer, website visitor, or another individual whose information we have collected pursuant to this Privacy Policy.
+
+Please read this Privacy Policy carefully. By using and accessing any of the Services, you agree to the collection, use, and disclosure of your information as described in this Privacy Policy. If you do not agree to this Privacy Policy, please do not use or access any of the Services.
+
+## Changes to This Privacy Policy
+
+We may update this Privacy Policy from time to time, including to reflect changes to our practices or for other operational, legal, or regulatory reasons. We will post the revised Privacy Policy on the Site, update the “Last updated” date and take any other steps required by applicable law.
+
+## How We Collect and Use Your Personal Information
+
+To provide the Services, we collect and have collected over the past 12 months personal information about you from a variety of sources, as set out below. The information that we collect and use varies depending on how you interact with us.
+
+In addition to the specific uses set out below, we may use information we collect about you to communicate with you, provide the Services, comply with any applicable legal obligations, enforce any applicable terms of service, and to protect or defend the Services, our rights, and the rights of our users or others.
+
+## What Personal Information We Collect
+
+The types of personal information we obtain about you depends on how you interact with our Site and use our Services. When we use the term “personal information”, we are referring to information that identifies, relates to, describes or can be associated with you. The following sections describe the categories and specific types of personal information we collect.
+
+## Information We Collect Directly from You
+
+Information that you directly submit to us through our Services may include:
+
+- Basic contact details including your name, address, phone number, email.
+Order information including your name, billing address, payment confirmation, email address, phone number.
+- Account information including your username, email and password.
+Customer support information including the information you choose to include in communications with us, for example, when sending a message through the Services.
+Some features of the Services may require you to directly provide us with certain information about yourself. You may elect not to provide this information, but doing so may prevent you from using or accessing these features.
+
+## Information We Collect through Cookies
+
+We also automatically collect certain information about your interaction with the Services (“Usage Data”). To do this, we may use cookies, pixels and similar technologies (“Cookies”). Usage Data may include information about how you access and use our Site and your account, including device information, browser information, information about your network connection, your IP address and other information regarding your interaction with the Services.
+
+We are very sensitive to the data collected and we provide extra caution to make it stick to the bare minimum to operate our services.
+
+## Information We Obtain from Third Parties
+
+Finally, we may obtain information about you from third parties, including from vendors and service providers who may collect information on our behalf, such as:
+
+Our payment processors, who collect payment information (e.g., bank account, credit or debit card information, billing address) to process your payment in order to fulfill your orders and provide you with products or services you have requested, in order to perform our contract with you.
+When you visit our Site, open or click on emails we send you, or interact with our Services or advertisements, we, or third parties we work with, may automatically collect certain information using online tracking technologies such as pixels, web beacons, software developer kits, third-party libraries, and cookies.
+Any information we obtain from third parties will be treated in accordance with this Privacy Policy. We are not responsible or liable for the accuracy of the information provided to us by third parties and are not responsible for any third party’s policies or practices. For more information, see the section below, Third Party Websites and Links.
+
+## How We Use Your Personal Information
+
+Providing Products and Services. We use your personal information to provide you with the Services in order to perform our contract with you, including to process your payments, fulfill your orders, to send notifications to you related to you account, to create, maintain and otherwise manage your account.
+Marketing. We use your personal information for marketing and promotional purposes, such as to send marketing, advertising and promotional communications by email, phone calls or text message, and to show you advertisements for products or services. This may include using your personal information to better tailor the Services and advertising on our Site and other websites.
+Security and Fraud Prevention. We use your personal information to detect, investigate or take action regarding possible fraudulent, illegal or malicious activity. If you choose to use the Services and register an account, you are responsible for keeping your account credentials safe. We highly recommend that you do not share your username, password, or other access details with anyone else. If you believe your account has been compromised, please contact us immediately.
+Communicating with you. We use your personal information to provide you with customer support and improve our Services. This is in our legitimate interests in order to be responsive to you, to provide effective services to you, and to maintain our business relationship with you.
+
+## Cookies
+
+We primarily use the following cookies for the corporate site:
+
+- Cloudflare, for website analytics
+- Hubspot, for mail campaign tracking
+
+Our products may use cookies for session management and other technical needs.
+
+Most browsers automatically accept Cookies by default, but you can choose to set your browser to remove or reject Cookies through your browser controls. Please keep in mind that removing or blocking Cookies can negatively impact your user experience and may cause some of the Services, including certain features and general functionality, to work incorrectly or no longer be available. Additionally, blocking Cookies may not completely prevent how we share information with third parties such as our advertising partners.
+
+## Third Party Websites and Links
+
+Our Site may provide links to websites or other online platforms operated by third parties. If you follow links to sites not affiliated or controlled by us, you should review their privacy and security policies and other terms and conditions. We do not guarantee and are not responsible for the privacy or security of such sites, including the accuracy, completeness, or reliability of information found on these sites. Information you provide on public or semi-public venues, including information you share on third-party social networking platforms may also be viewable by other users of the Services and/or users of those third-party platforms without limitation as to its use by us or by a third party. Our inclusion of such links does not, by itself, imply any endorsement of the content on such platforms or of their owners or operators, except as disclosed on the Services.
+
+## Children’s Data
+
+The Services are not intended to be used by children, and we do not knowingly collect any personal information about children. If you are the parent or guardian of a child who has provided us with their personal information, you may contact us using the contact details set out below to request that it be deleted.
+
+As of the Effective Date of this Privacy Policy, we do not have actual knowledge that we “share” or “sell” (as those terms are defined in applicable law) personal information of individuals under 16 years of age.
+
+## Security and Retention of Your Information
+
+Please be aware that no security measures are perfect or impenetrable, and we cannot guarantee “perfect security.” In addition, any information you send to us may not be secure while in transit. We recommend that you do not use unsecure channels to communicate sensitive or confidential information to us.
+
+How long we retain your personal information depends on different factors, such as whether we need the information to maintain your account, to provide the Services, comply with legal obligations, resolve disputes or enforce other applicable contracts and policies.
+
+## Your Rights and Choices
+
+Depending on where you live, you may have some or all of the rights listed below in relation to your personal information. However, these rights are not absolute, may apply only in certain circumstances and, in certain cases, we may decline your request as permitted by law.
+
+- Right to Access / Know. You may have a right to request access to personal information that we hold about you, including details relating to the ways in which we use and share your information.
+- Right to Delete. You may have a right to request that we delete personal information we maintain about you.
+- Right to Correct. You may have a right to request that we correct inaccurate personal information we maintain about you.
+- Right of Portability. You may have a right to receive a copy of the personal information we hold about you and to request that we transfer it to a third party, in certain circumstances and with certain exceptions.
+- Right to Limit and/or Opt out of Use and Disclosure of Sensitive Personal Information. You may have a right to direct us to limit our use and/or disclosure of sensitive personal information to only what is necessary to perform the Services or provide the goods reasonably expected by an average individual.
+- Restriction of Processing: You may have the right to ask us to stop or restrict our processing of personal information.
+- Withdrawal of Consent: Where we rely on consent to process your personal information, you may have the right to withdraw this consent.
+- Appeal: You may have a right to appeal our decision if we decline to process your request. You can do so by replying directly to our denial.
+- Managing Communication Preferences: We may send you promotional emails, and you may opt out of receiving these at any time by using the unsubscribe option displayed in our emails to you. If you opt out, we may still send you non-promotional emails, such as those about your account or orders that you have made.
+
+You may exercise any of these rights where indicated on our Site or by contacting us using the contact details provided below.
+
+We will not discriminate against you for exercising any of these rights. We may need to collect information from you to verify your identity, such as your email address or account information, before providing a substantive response to the request. In accordance with applicable laws, You may designate an authorized agent to make requests on your behalf to exercise your rights. Before accepting such a request from an agent, we will require that the agent provide proof you have authorized them to act on your behalf, and we may need you to verify your identity directly with us. We will respond to your request in a timely manner as required under applicable law.
+
+## Complaints
+
+If you have complaints about how we process your personal information, please contact us using the contact details provided below. If you are not satisfied with our response to your complaint, depending on where you live you may have the right to appeal our decision by contacting us using the contact details set out below, or lodge your complaint with your local data protection authority.
+
+## International Users
+
+Please note that we may transfer, store and process your personal information outside the country you live in, including the United States. Although minimal, your personal information is also processed by staff and third party service providers and partners in these countries.
+
+If we transfer your personal information out of Europe, we will rely on recognized transfer mechanisms like the European Commission’s Standard Contractual Clauses, or any equivalent contracts issued by the relevant competent authority of the UK, as relevant, unless the data transfer is to a country that has been determined to provide an adequate level of protection.
+
+## Contact
+
+Should you have any questions about our privacy practices or this Privacy Policy, or if you would like to exercise any of the rights available to you, please use the contact form or email us at contact@intuitem.com or contact us at 8 rue des frères caudron, Vélizy, 78140, France.
\ No newline at end of file
diff --git a/src/pages/saas.astro b/src/pages/saas.astro
new file mode 100644
index 0000000..b69179c
--- /dev/null
+++ b/src/pages/saas.astro
@@ -0,0 +1,320 @@
+---
+import Layout from '~/layouts/PageLayout.astro';
+
+import Header from '~/components/widgets/Header.astro';
+import Hero2 from '~/components/widgets/Hero2.astro';
+import Features from '~/components/widgets/Features.astro';
+import Steps2 from '~/components/widgets/Steps2.astro';
+import Content from '~/components/widgets/Content.astro';
+import Pricing from '~/components/widgets/Pricing.astro';
+
+import { headerData } from '~/navigation';
+import FAQs from '~/components/widgets/FAQs.astro';
+import BlogLatestPosts from '~/components/widgets/BlogLatestPosts.astro';
+
+const metadata = {
+ title: 'SaaS Landing Page',
+};
+
+import { sanityClient } from "sanity:client";
+const features = await sanityClient.fetch(`*[_type == "feature"]`);
+---
+
+
+
+
+
+
+
+
+
+
+ Simplify web design with Astrowind: your ultimate SaaS companion
+
+
+
+
+ Elevate your website creation process with AstroWind's SaaS solutions.
+ Seamlessly blend the power of Astro 4.0 and Tailwind CSS to craft websites that resonate with your brand and
+ audience.
+
+
+
+
+
+
+
+
+
+ Make a memorable first impression with visually appealing design elements that highlight your startup's unique value proposition. Ensures your website looks stunning and works well on all devices. Engage potential investors and customers with engaging content, clear messaging, and intuitive navigation.`,
+ },
+ ]}
+ image={{
+ src: 'https://images.unsplash.com/photo-1620558138198-cfb9b4f3c294?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1671&q=80',
+ alt: 'Startup Image',
+ }}
+ >
+
+
+ Startup success stories: Launching with AstroWind
+
+
+
+
+
+
+
+
+
+
+ Effectively communicate complex SaaS features through visual aids, animations, and interactive elements. Prioritize user needs and pain points through well-structured layouts and clear navigation. Encourage visitors to take action with strategically placed CTAs. Ensures your SaaS website works seamlessly across all devices.`,
+ },
+ ]}
+ image={{
+ src: 'https://images.unsplash.com/photo-1531973486364-5fa64260d75b?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1658&q=80',
+ alt: 'SaaS Businesses Image',
+ }}
+ >
+
+
+ SaaS showcase: Streamlining user experience
+
+
+
+
+
+
+
+
+
+
+ Tailor your portfolio to reflect your unique style and artistic vision. Prioritizes visuals, allowing you to present your work in high-resolution detail that draws viewers into your creations. Enables seamless navigation for effortless portfolio exploration.`,
+ },
+ ]}
+ image={{
+ src: 'https://images.unsplash.com/photo-1635070041078-e363dbe005cb?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80',
+ alt: 'Portfolio Image',
+ }}
+ >
+
+
+ Creative portfolios: Highlighting your work
+
+
+
+
+
+
+
+
+
+
+ Strategically placed CTAs, user-friendly forms, and optimized layouts work together to drive user engagement and conversions. Ensure a smooth browsing experience, reducing bounce rates and encouraging interaction.`,
+ },
+ ]}
+ image={{
+ src: 'https://images.unsplash.com/photo-1514621166532-aa7eb1a3a2f4?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=774&q=80',
+ alt: 'Small Business Image',
+ }}
+ >
+
+
+ Small business growth: Converting visitors into customers
+