From ce72c72990c8265447d3328b2065d052319cb10a Mon Sep 17 00:00:00 2001 From: Vivek Jain Date: Wed, 26 Jun 2024 20:49:22 +0530 Subject: [PATCH 1/5] Add Navbar, Footer and background styles --- docs/site/docusaurus.config.js | 30 ++-- .../src/components/Cards/styles.module.css | 59 ++++--- docs/site/src/css/custom.css | 162 ++++++++++-------- docs/site/src/pages/index.js | 11 +- docs/site/src/pages/index.module.css | 23 ++- docs/site/static/img/heroTextBg.svg | 9 + docs/site/static/img/iota-logo.svg | 71 +++++++- 7 files changed, 221 insertions(+), 144 deletions(-) create mode 100644 docs/site/static/img/heroTextBg.svg diff --git a/docs/site/docusaurus.config.js b/docs/site/docusaurus.config.js index 4b497d1a56d..4e5674a865a 100644 --- a/docs/site/docusaurus.config.js +++ b/docs/site/docusaurus.config.js @@ -174,7 +174,7 @@ const config = { }, }, navbar: { - title: "IOTA Documentation", + title: "", logo: { alt: "IOTA Docs Logo", src: "img/iota-logo.svg", @@ -196,28 +196,22 @@ const config = { label: "References", to: "references", }, - - /* - { - type: "docsVersionDropdown", - position: "right", - dropdownActiveClassDisabled: true, - }, - { - type: "localeDropdown", - position: "right", - }, - */ ], }, footer: { logo: { - alt: "IOTA Logo", - src: "img/iota-logo-footer.svg", - href: "https://iota.io", + alt: "IOTA Wiki Logo", + src: "img/IOTA-logo.svg", + srcDark: "img/IOTA-logo.svg", + width: 138, + height: 48, }, - style: "dark", - copyright: `© ${new Date().getFullYear()} IOTA Foundation | Documentation distributed under CC BY 4.0`, + copyright: `
+ © ${new Date().getFullYear()} IOTA Foundation +
+ Privacy PolicyImpressumContact Us +
+
`, }, prism: { theme: themes.github, diff --git a/docs/site/src/components/Cards/styles.module.css b/docs/site/src/components/Cards/styles.module.css index bc73cea451d..63eba81f94a 100644 --- a/docs/site/src/components/Cards/styles.module.css +++ b/docs/site/src/components/Cards/styles.module.css @@ -1,46 +1,45 @@ :root { --iota-cards-border-color: transparent; - --iota-cards-background: #F5F8FA; - --iota-cards-header: #4DA2FF; - --iota-cards-copy: #91A3B1; - --iota-cards-background-hover: #EBF1F5; + --iota-cards-background: #f5f8fa; + --iota-cards-header: #4da2ff; + --iota-cards-copy: #91a3b1; + --iota-cards-background-hover: #ebf1f5; } -[data-theme='dark'] { - --iota-cards-border-color: rgba(247, 247, 248, 0.05); - --iota-cards-background: rgba(247, 247, 248, 0.05); - --iota-cards-background-hover: rgba(247, 247, 248, 0.15); - --iota-cards-header: #4DA2FF; - --iota-cards-copy: #ABBDCC; +[data-theme="dark"] { + --iota-cards-border-color: rgba(247, 247, 248, 0.05); + --iota-cards-background: rgba(247, 247, 248, 0.05); + --iota-cards-background-hover: rgba(247, 247, 248, 0.15); + --iota-cards-header: #4da2ff; + --iota-cards-copy: #abbdcc; } .card { - display: flex; - flex-direction: column; - justify-content: flex-start; - row-gap: .75rem; - border-radius: 20px; - padding: 1.25rem; - padding-bottom: 1.5rem; - background: var(--iota-cards-background); - cursor: pointer; - transition: background .25s ease-in-out; - border: solid 1px var(--iota-cards-border-color); + display: flex; + flex-direction: column; + justify-content: flex-start; + row-gap: 0.75rem; + border-radius: 20px; + padding: 1.25rem; + padding-bottom: 1.5rem; + background: var(--iota-cards-background); + cursor: pointer; + transition: background 0.25s ease-in-out; + border: solid 1px var(--iota-cards-border-color); } .card:hover { - background: var(--iota-cards-background-hover); + background: var(--iota-cards-background-hover); } .card__header__copy { - margin: 0; - font-size: 1.125rem; - line-height: 1.25rem; - color: var(--iota-cards-header); + margin: 0; + font-size: 1.125rem; + line-height: 1.25rem; + color: var(--iota-cards-header); } .card__copy { - font-size: .8125rem; - line-height: 1.3125rem; - color: var(--iota-cards-copy); + font-size: 0.8125rem; + line-height: 1.3125rem; + color: var(--iota-cards-copy); } - diff --git a/docs/site/src/css/custom.css b/docs/site/src/css/custom.css index c027f67a400..81ecc443c8d 100644 --- a/docs/site/src/css/custom.css +++ b/docs/site/src/css/custom.css @@ -3,9 +3,9 @@ * bundles Infima by default. Infima is a CSS framework designed to * work well for content-centric websites. */ - @tailwind base; - @tailwind components; - @tailwind utilities; +@tailwind base; +@tailwind components; +@tailwind utilities; /* You can override the default Infima variables here. */ :root { @@ -17,56 +17,56 @@ --ifm-color-primary-lighter: #7ebcff; --ifm-color-primary-lightest: #afd6ff; --ifm-code-font-size: 95%; - --ifm-background-color-dark: #030F1C; - --ifm-navbar-background-color: #030F1C; - --ifm-navbar-sidebar-link-color: #F7F7F8; - --ifm-navbar-sidebar-background-color: #030F1C; - --ifm-navbar-link-color: #F7F7F8; + --ifm-background-color-dark: black; + --ifm-navbar-background-color: #030f1c; + --ifm-navbar-sidebar-link-color: #f7f7f8; + --ifm-navbar-sidebar-background-color: #030f1c; + --ifm-navbar-link-color: #f7f7f8; --ifm-navbar-height: 4.5rem; --ifm-spacing-horizontal: 1.875rem; - --ifm-font-size-base: .9375rem; + --ifm-font-size-base: 0.9375rem; --ifm-line-height-base: 1.5rem; - --ifm-font-family-base: 'Inter', sans-serif; + --ifm-font-family-base: "Inter", sans-serif; --ifm-menu-color: #011829; --ifm-menu-color-background-active: rgba(247, 247, 248, 1); --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); - --iota-black: #090B1A; + --iota-black: rgba(11, 11, 11, 0.607); --iota-blue: #6fbcf0; --iota-blue-bright: #00f9fb; --iota-blue-light: #e1f3ff; - --iota-blue-lighter: #B4C2D0; + --iota-blue-lighter: #b4c2d0; --iota-blue-dark: 52 99 151; --iota-blue-darker: #303846; - --iota-hero: #0284AD; + --iota-hero: #0284ad; --iota-hero-dark: #007195; - --iota-iota-steel: #A0B6C3; - --iota-steel-dark: #758F9E; + --iota-iota-steel: #a0b6c3; + --iota-steel-dark: #758f9e; --iota-steel-darker: #566873; - --iota-header-nav: #2A4362; - --iota-success: #2DD7A7; - --iota-success-dark: #008C65; - --iota-success-light: #D5F7EE; - --iota-issue: #FF794B; - --iota-issue-dark: #EB5A29; - --iota-issue-light: #FFECE5; - --iota-warning: #F2BD24; - --iota-warning-dark: #8D6E15; - --iota-warning-light: #FFF8E2; - --iota-code: #845ED6; - --iota-gray-35: #FEFEFE; - --iota-gray-40: #F7F8F8; - --iota-gray-45: #EBECED; - --iota-gray-50: #E9EAEB; - --iota-gray-55: #D7D8DA; - --iota-gray-60: #C3C5C8; - --iota-gray-65: #9C9FA4; - --iota-gray-70: #898D93; - --iota-gray-75: #767A81; + --iota-header-nav: #2a4362; + --iota-success: #2dd7a7; + --iota-success-dark: #008c65; + --iota-success-light: #d5f7ee; + --iota-issue: #ff794b; + --iota-issue-dark: #eb5a29; + --iota-issue-light: #ffece5; + --iota-warning: #f2bd24; + --iota-warning-dark: #8d6e15; + --iota-warning-light: #fff8e2; + --iota-code: #845ed6; + --iota-gray-35: #fefefe; + --iota-gray-40: #f7f8f8; + --iota-gray-45: #ebeced; + --iota-gray-50: #e9eaeb; + --iota-gray-55: #d7d8da; + --iota-gray-60: #c3c5c8; + --iota-gray-65: #9c9fa4; + --iota-gray-70: #898d93; + --iota-gray-75: #767a81; --iota-gray-80: #636870; - --iota-gray-85: #5A6573; - --iota-gray-90: #383F47; - --iota-gray-95: #2A3645; + --iota-gray-85: #5a6573; + --iota-gray-90: #383f47; + --iota-gray-95: #2a3645; --iota-gray-100: #182435; --iota-link-color: #1068a6; --iota-link-color-dark: #057fd1; @@ -77,20 +77,20 @@ --iota-card-dark: 13 20 37; --iota-card-darker: 0 23 49; --iota-blue-primary: #4da2ff; - --iota-gray: #ABBDCC; + --iota-gray: #abbdcc; --iota-white: #f7f7f8; --iota-button-hover: #1a88ff; - --iota-line: rgba(247, 247, 248, .1); + --iota-line: rgba(247, 247, 248, 0.1); --iota-max-width-desktop: 1162px; --iota-dark-blue-bkg: #011829; - --primaryFont: 'Inter', sans-serif; - --headerFont: 'Twkeverett', sans-serif; + --primaryFont: "Inter", sans-serif; + --headerFont: "Twkeverett", sans-serif; --monoFont: "Twkeverett Mono", monospace; } /* For readability concerns, you should choose a lighter palette in dark mode. */ -[data-theme='dark'] { +[data-theme="dark"] { --ifm-color-primary: #4ca2ff; --ifm-color-primary-dark: #2b91ff; --ifm-color-primary-darker: #1a88ff; @@ -98,11 +98,11 @@ --ifm-color-primary-light: #6db3ff; --ifm-color-primary-lighter: #7ebcff; --ifm-color-primary-lightest: #afd6ff; - --ifm-background-color: #030F1C; + --ifm-background-color: #030f1c; --ifm-menu-color: var(--iota-white); - --ifm-menu-color-background-active: rgba(247, 247, 248, .05); - --ifm-navbar-sidebar-link-color: #F7F7F8; - --ifm-navbar-sidebar-background-color: #030F1C; + --ifm-menu-color-background-active: black; + --ifm-navbar-sidebar-link-color: #f7f7f8; + --ifm-navbar-sidebar-background-color: black; } .active-scroll-spy { @@ -110,10 +110,10 @@ } /* Inverts the image in the stadards/closed-loop-token.mdx in dark mode. */ -[data-theme='dark'] img.balance-coin-token { +[data-theme="dark"] img.balance-coin-token { filter: invert(1); } - + /** navbar overrides */ .navbar-sidebar .menu__link { color: var(--ifm-navbar-sidebar-link-color); @@ -123,15 +123,15 @@ background-color: var(--iota-blue-primary); color: var(--iota-gray-100); } -[data-theme='dark'] .navbar-sidebar .menu__link--active { - background-color: var(--iota-blue-primary); +[data-theme="dark"] .navbar-sidebar .menu__link--active { + background-color: rgba(11, 11, 11, 0.607); color: var(--iota-gray-100); } -html[data-theme=dark] { - background-color: var(--ifm-navbar-background-color); +html[data-theme="dark"] { + background-color: rgba(11, 11, 11, 0.607); } /** setup global style overrides */ -body { +body { font-family: var(--primaryFont); } @@ -141,7 +141,6 @@ h1 { font-family: var(--primaryFont); font-weight: 500; letter-spacing: -0.04em; - } .h1 { letter-spacing: -2.88px; @@ -204,55 +203,70 @@ h4 { letter-spacing: -2%; } @media screen and (max-width: 767px) { - h1 , .h1{ + h1, + .h1 { font-size: 3.5rem; } - h2, .h2 { + h2, + .h2 { font-size: 2rem; } - h3, .h3 { + h3, + .h3 { font-size: 1.5rem; } - h4, .h4 { + h4, + .h4 { font-size: 1.2rem; } } @media screen and (max-width: 599px) { - h2, .h2 { + h2, + .h2 { font-size: 1.7rem; } - h3, .h3 { + h3, + .h3 { font-size: 1.2rem; } - h4, .h4 { + h4, + .h4 { font-size: 1rem; } } - /** Navbar overrides **/ .navbar { border-bottom: 1px solid var(--iota-line); + background-color: black; } .navbar__title { - visibility: hidden; + width: 10px; } .navbar__toggle path { stroke: var(--iota-white); } .navbar__items { - justify-content: space-between; + color: rgba(255, 255, 255, 0.7); } .navbar__items .navbar__brand { - width: 27%; + width: 17%; + + color: rgba(255, 255, 255, 0.7); } .navbar__items .navbar__item.navbar__link { - font-family: var(--headerFont); - font-size: .9375rem; + /* font-family: var(--headerFont); */ + font-size: 0.9375rem; font-weight: 500; line-height: 1.125rem; letter-spacing: -0.02em; + color: rgba(255, 255, 255, 0.7); +} +.navbar__items_wrapper { + display: flex; + column-gap: 0rem; } + @media screen and (min-width: 767px) { .navbar__items.navbar__items--right { min-width: 325px; @@ -274,8 +288,7 @@ h4 { color: var(--iota-white) !important; font-family: var(--primaryFont); letter-spacing: -0.01em; - background: linear-gradient(0deg, rgba(247, 247, 248, 0.1), rgba(247, 247, 248, 0.1)), - linear-gradient(0deg, rgba(247, 247, 248, 0.05), rgba(247, 247, 248, 0.05)) !important; + background: transparent; } @media screen and (max-width: 599px) { .DocSearch-Button { @@ -301,21 +314,20 @@ h4 { margin-top: 1rem; } - /** Globals **/ .button-cta { background-color: var(--iota-blue-primary); color: var(--iota-white); - letter-spacing: -.3px; + letter-spacing: -0.3px; cursor: pointer; border-style: none; border-radius: 2.25rem; - padding: .75rem 1.125rem; + padding: 0.75rem 1.125rem; font-family: var(--primaryFont); font-size: 1rem; font-weight: 500; line-height: 1.125rem; - transition: background-color .3s; + transition: background-color 0.3s; display: inline-block; } .button-cta:hover { @@ -335,4 +347,4 @@ h4 { } .text-gray { color: var(--iota-gray); -} \ No newline at end of file +} diff --git a/docs/site/src/pages/index.js b/docs/site/src/pages/index.js index 321ad0ebc7b..0401bb7fcd5 100644 --- a/docs/site/src/pages/index.js +++ b/docs/site/src/pages/index.js @@ -32,7 +32,11 @@ export default function Home() { }; return ( - +
@@ -64,7 +68,10 @@ export default function Home() { IOTA Developer Basics - + Move diff --git a/docs/site/src/pages/index.module.css b/docs/site/src/pages/index.module.css index 487d041b032..c1a38e27ad3 100644 --- a/docs/site/src/pages/index.module.css +++ b/docs/site/src/pages/index.module.css @@ -20,8 +20,9 @@ margin: 10rem auto; } -.card, .cardCTA { - background-color: rgba(247, 247, 248, .05); +.card, +.cardCTA { + background-color: black; border: 1px solid; border-color: var(--iota-line); display: flex; @@ -47,7 +48,7 @@ justify-content: flex-start; border-top: solid 1px var(--iota-line); border-bottom: solid 1px var(--iota-line); - padding: .5rem 0; + padding: 0.5rem 0; color: var(--iota-gray); position: relative; } @@ -76,8 +77,8 @@ .cardCTALink { display: flex; - padding: .5rem 0; - column-gap: .5rem; + padding: 0.5rem 0; + column-gap: 0.5rem; height: 100%; justify-content: center; align-items: center; @@ -92,13 +93,13 @@ .cardsB { display: grid; grid-template-columns: 1fr 1fr; - row-gap: .5rem; - column-gap: .5rem; + row-gap: 0.5rem; + column-gap: 0.5rem; max-width: 772px; } .cardB { - background-color: rgba(247, 247, 248, .05); + background-color: rgba(247, 247, 248, 0.05); padding: 1.7rem; font-family: var(--headerFont); font-size: 1.5rem; @@ -134,7 +135,7 @@ width: 100%; max-width: var(--iota-max-width-desktop); grid-template-columns: 2fr 4fr; - column-gap: .5rem; + column-gap: 0.5rem; margin: 0 auto; padding: 0 1rem; row-gap: 1rem; @@ -169,7 +170,6 @@ line-height: 2.125rem; letter-spacing: -0.04em; text-align: left; - } .TwoColItem p { @@ -184,7 +184,6 @@ margin: 0; } - @media screen and (max-width: 996px) { .sectionHeader { margin: 5rem auto 2.5rem auto; @@ -210,7 +209,7 @@ } @media screen and (max-width: 799px) { - .heroText { + .heroText { margin: 2rem 0; } } diff --git a/docs/site/static/img/heroTextBg.svg b/docs/site/static/img/heroTextBg.svg new file mode 100644 index 00000000000..b71b71f822e --- /dev/null +++ b/docs/site/static/img/heroTextBg.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/site/static/img/iota-logo.svg b/docs/site/static/img/iota-logo.svg index bec02746528..cf2bc325293 100644 --- a/docs/site/static/img/iota-logo.svg +++ b/docs/site/static/img/iota-logo.svg @@ -1,7 +1,64 @@ - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 7d06ea9dc2b124beeaf943da69d12cbd3292116b Mon Sep 17 00:00:00 2001 From: Vivek Jain Date: Thu, 27 Jun 2024 19:52:37 +0530 Subject: [PATCH 2/5] Fix layout and cards --- .../src/components/Cards/styles.module.css | 2 +- docs/site/src/css/custom.css | 26 ++- docs/site/src/pages/index.js | 28 ++- docs/site/src/pages/index.module.css | 28 ++- docs/site/src/theme/Footer/Layout/index.js | 6 +- .../src/theme/Footer/Layout/index.module.css | 26 ++- .../Navbar/ColorModeToggle/styles.module.css | 2 +- docs/site/src/theme/Navbar/Content/index.js | 9 - .../theme/Navbar/Content/styles.module.css | 7 - .../src/theme/Navbar/Search/styles.module.css | 2 +- docs/site/src/theme/SearchBar/index.js | 189 ++++++++++++++++++ docs/site/src/theme/SearchBar/styles.css | 15 ++ docs/site/static/img/heroCardg.svg | 15 ++ 13 files changed, 303 insertions(+), 52 deletions(-) create mode 100644 docs/site/src/theme/SearchBar/index.js create mode 100644 docs/site/src/theme/SearchBar/styles.css create mode 100644 docs/site/static/img/heroCardg.svg diff --git a/docs/site/src/components/Cards/styles.module.css b/docs/site/src/components/Cards/styles.module.css index 63eba81f94a..c58b4c92635 100644 --- a/docs/site/src/components/Cards/styles.module.css +++ b/docs/site/src/components/Cards/styles.module.css @@ -8,7 +8,7 @@ [data-theme="dark"] { --iota-cards-border-color: rgba(247, 247, 248, 0.05); - --iota-cards-background: rgba(247, 247, 248, 0.05); + --iota-cards-background: black; --iota-cards-background-hover: rgba(247, 247, 248, 0.15); --iota-cards-header: #4da2ff; --iota-cards-copy: #abbdcc; diff --git a/docs/site/src/css/custom.css b/docs/site/src/css/custom.css index 81ecc443c8d..21c9f370b88 100644 --- a/docs/site/src/css/custom.css +++ b/docs/site/src/css/custom.css @@ -19,7 +19,7 @@ --ifm-code-font-size: 95%; --ifm-background-color-dark: black; --ifm-navbar-background-color: #030f1c; - --ifm-navbar-sidebar-link-color: #f7f7f8; + --ifm-navbar-sidebar-link-color: black; --ifm-navbar-sidebar-background-color: #030f1c; --ifm-navbar-link-color: #f7f7f8; --ifm-navbar-height: 4.5rem; @@ -31,7 +31,7 @@ --ifm-menu-color-background-active: rgba(247, 247, 248, 1); --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); - --iota-black: rgba(11, 11, 11, 0.607); + --iota-black: #222324; --iota-blue: #6fbcf0; --iota-blue-bright: #00f9fb; --iota-blue-light: #e1f3ff; @@ -128,7 +128,7 @@ color: var(--iota-gray-100); } html[data-theme="dark"] { - background-color: rgba(11, 11, 11, 0.607); + background-color: var(--iota-black); } /** setup global style overrides */ body { @@ -288,7 +288,6 @@ h4 { color: var(--iota-white) !important; font-family: var(--primaryFont); letter-spacing: -0.01em; - background: transparent; } @media screen and (max-width: 599px) { .DocSearch-Button { @@ -316,25 +315,38 @@ h4 { /** Globals **/ .button-cta { - background-color: var(--iota-blue-primary); color: var(--iota-white); letter-spacing: -0.3px; cursor: pointer; border-style: none; - border-radius: 2.25rem; padding: 0.75rem 1.125rem; font-family: var(--primaryFont); font-size: 1rem; font-weight: 500; line-height: 1.125rem; transition: background-color 0.3s; - display: inline-block; + display: flex; + width: 170px; + height: 56px; + padding: 16px 12px 16px 18px; + border-radius: 2px 0px 0px 0px; + justify-content: space-between; + opacity: 0px; + background: #0101ff; + align-items: center; + justify-content: center; + gap: 1rem; } .button-cta:hover { background-color: var(--iota-button-hover); color: var(--iota-white); text-decoration: none; } +.button-cta:after { + content: url("data:image/svg+xml,%3Csvg width='18' height='19' viewBox='0 0 18 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 5.5H14V14.5' stroke='%23ABBDCC' stroke-width='2'/%3E%3Cpath d='M14 5.5L3 16.5' stroke='%23ABBDCC' stroke-width='2'/%3E%3C/svg%3E"); + width: 18px; + height: 18px; +} @media (max-width: 1050px) { .navbar .button-cta { display: none; diff --git a/docs/site/src/pages/index.js b/docs/site/src/pages/index.js index 0401bb7fcd5..37aae26fabd 100644 --- a/docs/site/src/pages/index.js +++ b/docs/site/src/pages/index.js @@ -7,7 +7,6 @@ import React from "react"; import Layout from "@theme/Layout"; import Link from "@docusaurus/Link"; import styles from "./index.module.css"; - export default function Home() { const HomeCard = (props) => { const { title, children } = props; @@ -38,14 +37,29 @@ export default function Home() { }} >
-
-
-

IOTA Documentation

-

- Discover the power of IOTA through examples, guides, and concepts -

+
+
+
+

+ IOTA Documentation +

+

+ Discover the power of IOTA through examples, guides, and + concepts +

+ + Get started + +
+
diff --git a/docs/site/src/pages/index.module.css b/docs/site/src/pages/index.module.css index c1a38e27ad3..a42e3845e99 100644 --- a/docs/site/src/pages/index.module.css +++ b/docs/site/src/pages/index.module.css @@ -13,15 +13,24 @@ display: flex; flex-direction: column; row-gap: 2.5rem; - margin: 0 auto; - text-align: center; - width: 43.375rem; - max-width: 95%; - margin: 10rem auto; + margin-top: 10rem; + margin-left: 16rem; + padding-top: 2rem; + width: 400px; +} +.backgroundImage { + background: black url(../../static/img/heroTextBg.svg); + height: 27rem; + margin-top: -10rem; + background-position: right; + background-repeat: no-repeat; + background-size: 50% 100%; + margin-bottom: 2rem; + /* background-size: 50% 100%; */ } - .card, .cardCTA { + height: 480px; background-color: black; border: 1px solid; border-color: var(--iota-line); @@ -30,7 +39,10 @@ padding: 1.875rem; justify-content: space-between; border-radius: 30px; - height: 20.3125rem; + background: black url(../../static/img/heroCardg.svg); + background-position: top; + background-repeat: no-repeat; + background-size: cover; } .cardCTA { height: 100%; @@ -99,7 +111,7 @@ } .cardB { - background-color: rgba(247, 247, 248, 0.05); + background-color: black; padding: 1.7rem; font-family: var(--headerFont); font-size: 1.5rem; diff --git a/docs/site/src/theme/Footer/Layout/index.js b/docs/site/src/theme/Footer/Layout/index.js index 58c6d482bb4..df414b05bf6 100644 --- a/docs/site/src/theme/Footer/Layout/index.js +++ b/docs/site/src/theme/Footer/Layout/index.js @@ -20,7 +20,10 @@ export default function FooterLayout({ style, links, logo, copyright }) { return (
-
{logo}
+
+
{logo}
+
{copyright}
+
@@ -86,7 +89,6 @@ export default function FooterLayout({ style, links, logo, copyright }) {
-
{copyright}
diff --git a/docs/site/src/theme/Footer/Layout/index.module.css b/docs/site/src/theme/Footer/Layout/index.module.css index 9f43e55e14b..f3b66855131 100644 --- a/docs/site/src/theme/Footer/Layout/index.module.css +++ b/docs/site/src/theme/Footer/Layout/index.module.css @@ -1,15 +1,23 @@ .footer { - background-color: var(--iota-dark-blue-bkg); - padding: 7.5rem 1rem; + background-color: black; + padding: 1rem; } .footerWrap { display: flex; align-items: center; - justify-content: space-between; + justify-content: center; max-width: var(--iota-max-width-desktop); margin: 0 auto; + gap: 10rem; } +.footerLogoWrap { + display: flex; + align-items: center; + justify-content: center; + gap: 2rem; +} + .footerLogo a { opacity: 1; } @@ -21,13 +29,13 @@ .footerLinks { justify-content: flex-end; display: flex; - column-gap: .5rem; + column-gap: 0.5rem; } .footerCopy { - font-family: var(--monoFont); - font-size: .75rem; + /* font-family: var(--monoFont); */ + font-size: 0.75rem; font-weight: 400; - line-height: .9375rem; + line-height: 0.9375rem; letter-spacing: -0.02em; text-align: left; color: var(--iota-gray); @@ -51,6 +59,6 @@ .footerLinks { justify-content: flex-start; display: flex; - column-gap: .5rem; + column-gap: 0.5rem; } -} \ No newline at end of file +} diff --git a/docs/site/src/theme/Navbar/ColorModeToggle/styles.module.css b/docs/site/src/theme/Navbar/ColorModeToggle/styles.module.css index d90b9348547..6f944bd60b1 100644 --- a/docs/site/src/theme/Navbar/ColorModeToggle/styles.module.css +++ b/docs/site/src/theme/Navbar/ColorModeToggle/styles.module.css @@ -3,4 +3,4 @@ } .darkNavbarColorModeToggle:hover { background: var(--ifm-color-gray-800); -} \ No newline at end of file +} diff --git a/docs/site/src/theme/Navbar/Content/index.js b/docs/site/src/theme/Navbar/Content/index.js index 80175c8d6d4..cea96add756 100644 --- a/docs/site/src/theme/Navbar/Content/index.js +++ b/docs/site/src/theme/Navbar/Content/index.js @@ -2,7 +2,6 @@ // Modifications Copyright (c) 2024 IOTA Stiftung // SPDX-License-Identifier: Apache-2.0 import React from "react"; -import Link from "@docusaurus/Link"; import { useThemeConfig, ErrorCauseBoundary } from "@docusaurus/theme-common"; import { splitNavbarItems, @@ -79,14 +78,6 @@ export default function NavbarContent() { {!searchBarItem && ( - {isHomePage && ( - - Get started - - )} )} diff --git a/docs/site/src/theme/Navbar/Content/styles.module.css b/docs/site/src/theme/Navbar/Content/styles.module.css index 7b8c08a7427..e7bca425e64 100644 --- a/docs/site/src/theme/Navbar/Content/styles.module.css +++ b/docs/site/src/theme/Navbar/Content/styles.module.css @@ -1,13 +1,6 @@ /* Hide color mode toggle in small viewports */ -.navbar__items_wrapper { - display: flex; - align-items: center; - justify-content: flex-start; - flex: 8; - column-gap: 4rem; -} @media (max-width: 1100px) { .navbar__items_wrapper { column-gap: 2rem; diff --git a/docs/site/src/theme/Navbar/Search/styles.module.css b/docs/site/src/theme/Navbar/Search/styles.module.css index 52797ee25bf..7d9657745c2 100644 --- a/docs/site/src/theme/Navbar/Search/styles.module.css +++ b/docs/site/src/theme/Navbar/Search/styles.module.css @@ -27,4 +27,4 @@ see https://github.com/facebook/docusaurus/issues/9527#issuecomment-1805272379 display: flex; column-gap: 1rem; } -} \ No newline at end of file +} diff --git a/docs/site/src/theme/SearchBar/index.js b/docs/site/src/theme/SearchBar/index.js new file mode 100644 index 00000000000..0f3e25923bc --- /dev/null +++ b/docs/site/src/theme/SearchBar/index.js @@ -0,0 +1,189 @@ +import React, { useCallback, useMemo, useRef, useState } from "react"; +import { createPortal } from "react-dom"; +import { DocSearchButton, useDocSearchKeyboardEvents } from "@docsearch/react"; +import Head from "@docusaurus/Head"; +import Link from "@docusaurus/Link"; +import { useHistory } from "@docusaurus/router"; +import { + isRegexpStringMatch, + useSearchLinkCreator, +} from "@docusaurus/theme-common"; +import { + useAlgoliaContextualFacetFilters, + useSearchResultUrlProcessor, +} from "@docusaurus/theme-search-algolia/client"; +import Translate from "@docusaurus/Translate"; +import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; +import translations from "@theme/SearchTranslations"; +let DocSearchModal = null; +function Hit({ hit, children }) { + return {children}; +} +function ResultsFooter({ state, onClose }) { + const createSearchLink = useSearchLinkCreator(); + return ( + + + {"See all {count} results"} + + + ); +} +function mergeFacetFilters(f1, f2) { + const normalize = (f) => (typeof f === "string" ? [f] : f); + return [...normalize(f1), ...normalize(f2)]; +} +function DocSearch({ contextualSearch, externalUrlRegex, ...props }) { + const { siteMetadata } = useDocusaurusContext(); + const processSearchResultUrl = useSearchResultUrlProcessor(); + const contextualSearchFacetFilters = useAlgoliaContextualFacetFilters(); + const configFacetFilters = props.searchParameters?.facetFilters ?? []; + const facetFilters = contextualSearch + ? // Merge contextual search filters with config filters + mergeFacetFilters(contextualSearchFacetFilters, configFacetFilters) + : // ... or use config facetFilters + configFacetFilters; + // We let user override default searchParameters if she wants to + const searchParameters = { + ...props.searchParameters, + facetFilters, + }; + const history = useHistory(); + const searchContainer = useRef(null); + const searchButtonRef = useRef(null); + const [isOpen, setIsOpen] = useState(false); + const [initialQuery, setInitialQuery] = useState(undefined); + const importDocSearchModalIfNeeded = useCallback(() => { + if (DocSearchModal) { + return Promise.resolve(); + } + return Promise.all([ + import("@docsearch/react/modal"), + import("@docsearch/react/style"), + import("./styles.css"), + ]).then(([{ DocSearchModal: Modal }]) => { + DocSearchModal = Modal; + }); + }, []); + const prepareSearchContainer = useCallback(() => { + if (!searchContainer.current) { + const divElement = document.createElement("div"); + searchContainer.current = divElement; + document.body.insertBefore(divElement, document.body.firstChild); + } + }, []); + const openModal = useCallback(() => { + prepareSearchContainer(); + importDocSearchModalIfNeeded().then(() => setIsOpen(true)); + }, [importDocSearchModalIfNeeded, prepareSearchContainer]); + const closeModal = useCallback(() => { + setIsOpen(false); + searchButtonRef.current?.focus(); + }, []); + const handleInput = useCallback( + (event) => { + // prevents duplicate key insertion in the modal input + event.preventDefault(); + setInitialQuery(event.key); + openModal(); + }, + [openModal], + ); + const navigator = useRef({ + navigate({ itemUrl }) { + // Algolia results could contain URL's from other domains which cannot + // be served through history and should navigate with window.location + if (isRegexpStringMatch(externalUrlRegex, itemUrl)) { + window.location.href = itemUrl; + } else { + history.push(itemUrl); + } + }, + }).current; + const transformItems = useRef((items) => + props.transformItems + ? // Custom transformItems + props.transformItems(items) + : // Default transformItems + items.map((item) => ({ + ...item, + url: processSearchResultUrl(item.url), + })), + ).current; + const resultsFooterComponent = useMemo( + () => + // eslint-disable-next-line react/no-unstable-nested-components + (footerProps) => , + [closeModal], + ); + const transformSearchClient = useCallback( + (searchClient) => { + searchClient.addAlgoliaAgent( + "docusaurus", + siteMetadata.docusaurusVersion, + ); + return searchClient; + }, + [siteMetadata.docusaurusVersion], + ); + useDocSearchKeyboardEvents({ + isOpen, + onOpen: openModal, + onClose: closeModal, + onInput: handleInput, + searchButtonRef, + }); + return ( + <> + + {/* This hints the browser that the website will load data from Algolia, + and allows it to preconnect to the DocSearch cluster. It makes the first + query faster, especially on mobile. */} + + + + + + {isOpen && + DocSearchModal && + searchContainer.current && + createPortal( + , + searchContainer.current, + )} + + ); +} +export default function SearchBar() { + const { siteConfig } = useDocusaurusContext(); + return ; +} diff --git a/docs/site/src/theme/SearchBar/styles.css b/docs/site/src/theme/SearchBar/styles.css new file mode 100644 index 00000000000..f4c286c1baf --- /dev/null +++ b/docs/site/src/theme/SearchBar/styles.css @@ -0,0 +1,15 @@ +:root { + --docsearch-primary-color: var(--ifm-color-primary); + --docsearch-text-color: var(--ifm-font-color-base); +} + +.DocSearch-Button { + margin: 0; + transition: all var(--ifm-transition-fast) + var(--ifm-transition-timing-default); + background-color: var(--iota-black); +} + +.DocSearch-Container { + z-index: calc(var(--ifm-z-index-fixed) + 1); +} diff --git a/docs/site/static/img/heroCardg.svg b/docs/site/static/img/heroCardg.svg new file mode 100644 index 00000000000..7f72fd484af --- /dev/null +++ b/docs/site/static/img/heroCardg.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + From f4710ee651b0c1de6119c1424132aa3511f18dc9 Mon Sep 17 00:00:00 2001 From: Vivek Jain Date: Thu, 27 Jun 2024 19:54:35 +0530 Subject: [PATCH 3/5] Add required dependencies --- docs/site/package.json | 2 ++ docs/site/pnpm-lock.yaml | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/docs/site/package.json b/docs/site/package.json index d5854304215..74c6ce376c7 100644 --- a/docs/site/package.json +++ b/docs/site/package.json @@ -19,11 +19,13 @@ }, "dependencies": { "@amplitude/analytics-browser": "^2.8.1", + "@docsearch/react": "^3.6.0", "@docusaurus/core": "3.4.0", "@docusaurus/preset-classic": "3.4.0", "@docusaurus/remark-plugin-npm2yarn": "^3.4.0", "@docusaurus/theme-common": "^3.4.0", "@docusaurus/theme-mermaid": "^3.4.0", + "@docusaurus/theme-search-algolia": "^3.4.0", "@emotion/react": "^11.11.4", "@emotion/styled": "^11.11.5", "@graphql-markdown/docusaurus": "^1.24.1", diff --git a/docs/site/pnpm-lock.yaml b/docs/site/pnpm-lock.yaml index f9d525b537a..b5c4e2df6be 100644 --- a/docs/site/pnpm-lock.yaml +++ b/docs/site/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: '@amplitude/analytics-browser': specifier: ^2.8.1 version: 2.8.1 + '@docsearch/react': + specifier: ^3.6.0 + version: 3.6.0(@algolia/client-search@4.23.3)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.10.0) '@docusaurus/core': specifier: 3.4.0 version: 3.4.0(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) @@ -29,6 +32,9 @@ importers: '@docusaurus/theme-mermaid': specifier: ^3.4.0 version: 3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + '@docusaurus/theme-search-algolia': + specifier: ^3.4.0 + version: 3.4.0(@algolia/client-search@4.23.3)(@docusaurus/types@3.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.10.0)(typescript@5.2.2) '@emotion/react': specifier: ^11.11.4 version: 11.11.4(@types/react@18.3.3)(react@18.3.1) From ebb9dbb218fe2951c32a7ca6d7f315469baf13b6 Mon Sep 17 00:00:00 2001 From: Vivek Jain Date: Thu, 27 Jun 2024 20:02:34 +0530 Subject: [PATCH 4/5] fix config linting --- docs/site/docusaurus.config.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/site/docusaurus.config.js b/docs/site/docusaurus.config.js index 4e5674a865a..12e1bd24232 100644 --- a/docs/site/docusaurus.config.js +++ b/docs/site/docusaurus.config.js @@ -206,12 +206,13 @@ const config = { width: 138, height: 48, }, - copyright: `
- © ${new Date().getFullYear()} IOTA Foundation -
+ copyright: ` +
+ © ${new Date().getFullYear()} IOTA Foundation + -
`, +
+
`, }, prism: { theme: themes.github, From b417c53457e8f76f2ee192565325a3901936fbe2 Mon Sep 17 00:00:00 2001 From: Vivek Jain Date: Fri, 28 Jun 2024 16:44:28 +0530 Subject: [PATCH 5/5] Add heroCard bg svg and fixes --- docs/site/docusaurus.config.js | 4 +- docs/site/src/pages/index.js | 34 ++++++++++---- docs/site/src/pages/index.module.css | 56 +++++++++++++++++++++-- docs/site/src/theme/SearchBar/styles.css | 7 +++ docs/site/static/img/heroCardBg.png | Bin 0 -> 8159 bytes docs/site/static/img/heroCardBg1.png | Bin 0 -> 39885 bytes docs/site/static/img/heroCardBg2.png | Bin 0 -> 35943 bytes docs/site/static/img/heroCardg.svg | 15 ------ 8 files changed, 87 insertions(+), 29 deletions(-) create mode 100644 docs/site/static/img/heroCardBg.png create mode 100644 docs/site/static/img/heroCardBg1.png create mode 100644 docs/site/static/img/heroCardBg2.png delete mode 100644 docs/site/static/img/heroCardg.svg diff --git a/docs/site/docusaurus.config.js b/docs/site/docusaurus.config.js index 12e1bd24232..a54c50813a3 100644 --- a/docs/site/docusaurus.config.js +++ b/docs/site/docusaurus.config.js @@ -201,8 +201,8 @@ const config = { footer: { logo: { alt: "IOTA Wiki Logo", - src: "img/IOTA-logo.svg", - srcDark: "img/IOTA-logo.svg", + src: "img/iota-logo.svg", + srcDark: "img/iota-logo.svg", width: 138, height: 48, }, diff --git a/docs/site/src/pages/index.js b/docs/site/src/pages/index.js index 37aae26fabd..1b1bea1c907 100644 --- a/docs/site/src/pages/index.js +++ b/docs/site/src/pages/index.js @@ -7,12 +7,21 @@ import React from "react"; import Layout from "@theme/Layout"; import Link from "@docusaurus/Link"; import styles from "./index.module.css"; +import heroCardBg from "@site/static/img/heroCardBg.png"; +import heroCardBg1 from "@site/static/img/heroCardBg1.png"; +import heroCardBg2 from "@site/static/img/heroCardBg2.png"; export default function Home() { const HomeCard = (props) => { - const { title, children } = props; + const { title, children, heroCardBg } = props; + return (
-
+
{title &&

{title}

}
{children}
@@ -23,7 +32,12 @@ export default function Home() { const { children } = props; return (
-
+
{children}
@@ -36,6 +50,7 @@ export default function Home() { background: "var(--iota-black)", }} > + {" "}
@@ -61,7 +76,7 @@ export default function Home() {
- + Tokenomics @@ -72,7 +87,7 @@ export default function Home() { Standards - + - + - + - + zWJiocFxXdCqh0`+n{>-ui@@upn9xf*@fFbD|9d z!ScaJ9l;N-WD!mogJ0XOn4cy?kkF2;4-C4WEe$Th$TnuiP(`=QEcgfRML14?psEz1 zzwUexB!A6-{czPdSxgi^7&MS?Yx2N>fxyhsj)y~s?`sK zQr(Lm#xu$q(cydEtWFL~sI0dfIeqpaMf4)VM;b*mmxGCSx9WWI;@??qGn7V&u@=Bhcv3bAxRvf3(AGRHl!C6eR;Fub4XkwRXn^jd-&eL z-(OlI|5gj-SI=K&Y%_ePHjR6OE77DOEGCsZhxch@>nj*uZ(Um7{W7?Fef{wK)B_u( zY20DM{QrR9bwL1k(=vQ8BR?dnBKg z>m0VZ=($>TO><|{586y6r|4TE_M|i%$bpWEp?gjZZ>Icng*i{&YDXYTf%$jcT+|yhEhiNeM1uaOQ(!TumW%G=|t|7HoS*; zBFCv|HL->*di{8r$l?!G_q@YH+f%em_)a&Cc#h@$U+PeBQ_isNs#5Goh6dXC4t#;cY+ zcc8K}&{N~)Dw3RAgCfpcoXRd1hUvVHCg*BTYp7X2>5j$g4akzaVxPw2J^ChxGhxBE zrC;Sc$QsXJJi60069gUG1sJwF;~@5VEUR}iYHwhv>_{E&6lxfV>Tlcqa&~tLBcy538 z&fo2RUD~WxHJZxhq-E?~L_Yu0GFE%e$u8d^${^K2`)EY|ZpCu@*d9qR z(|>0OQsNTK3wV~#o5Td%gQXemZJ7^Uo+M%Ap1W_SsqD`gVmYees27~`c2pcU{{2+h|i4oe>!r{>oLrU8jU=(YJk>r+jA_tKePzQ)1^+72d8o^OYn z@<}s6EkrLWIp=w*Rzrmj%|}^ShIJs)HJx20r^Rm?vv^cK9eGR%X4lWnu1FpzHMv5d z!{~&!i2`j*40GpqAHt~%?R%or!XSwzd~uR!?&&&dYdb24YLw3vOgapCP`aJCS;t?> zT>$0cf^-d#-*7}I-ZDe#t~xDCrIo<{#l3ad(?5pXEM=LXjZeX)8I0ItqJQ zy^G0_UEQVnprs?+@)Q4$Sy40YddQG#3O#gDU$w6WKuM13V$RW;R7>rNQmM< z;)aW9%${VB`2;AGThn27xwnFGuh(A|_u!0p7?R>#x^pKXxq09T<&Mf^s zYbkNGfY!lyh$#GvE7c5aXbH3CEYdd?dav{@^wurxFiiYSu;W=D`OA!92ylnAYbQ5I zzbQ*Tl5^x+IVB6BWpb36h@qgd<+NxMG3&BI@)ax)K`YfOHSMeo@Ldqxhi9Wn> z>TCM9$8=i*F`Rb9<=!ll4<2f2xY8&V?@mno?s|0+-);PbK7~VGlCn;&dFea}g66|x z1kREMDEe)Dsn1{hkn3#LToRXX%#DAKz$orD8p%Tq?f)%aPGd!>!e^c3=d zh2`va-hMTI!ICMjaVGt#dMQHD@m@p8l}eG^Gh4F>q#gEKRnu&&{gPnAsh!1q7p zhCQs&t^=DnTu&7^s%-mywXsq#?8ZIo9DxjSzBr0teMLfmv_q?u4Gi%b)2l-l_=O>`rz38rS0E$ zkx%W}M?*LyOG=;t=GlDmyyHdSJbQ}wvM&SYR_~N2z~h+4d2WnQp6K~Uyo-Wi6)%I| zthZ0pV?u3Ti`*@`6H;yfN0ZIt

*9Lb;6OzayD85+XEy5!g@KKd*qFonN2 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 BN16Zt literal 0 HcmV?d00001 diff --git a/docs/site/static/img/heroCardBg1.png b/docs/site/static/img/heroCardBg1.png new file mode 100644 index 0000000000000000000000000000000000000000..7c4113a31d26d23053152cab579b95de30778146 GIT binary patch literal 39885 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�H11j5%evxf)4i&OC%i7^Sa7G$C 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 b<{Y9UFkCJY`6B-U@Vl!6)vmbn_{IMNN+x=j literal 0 HcmV?d00001 diff --git a/docs/site/static/img/heroCardBg2.png b/docs/site/static/img/heroCardBg2.png new file mode 100644 index 0000000000000000000000000000000000000000..bcf47de3e930f9eeeb865172d9d37f9312628a87 GIT binary patch literal 35943 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 z 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 - - - - - - - - - - - - - -