From 7c1ed3ad78e1a58c45484eb50b1ce9fe0a427663 Mon Sep 17 00:00:00 2001 From: olaszakos Date: Thu, 6 Jul 2023 17:25:35 +0200 Subject: [PATCH] Docs styles updates (#1618) * admonition refresh (3 out of 5 variants) * docs home page wip * docs home wip * add links/contribute section * fix admonition types * add blog plugin; add blog section; * update languages * fix layout/seo issues * admonition update * update links; fix sidebar style * clean up * fix languages layout and borders * remove dead code * get rid of magic numbers in tooltip code * snap language cards on mobile --------- Co-authored-by: Jason <98767015+dfx-json@users.noreply.github.com> --- docs/home.mdx | 43 +- docusaurus.config.js | 2 + package-lock.json | 552 +++++++++++++++++- package.json | 1 + plugins/blog-posts.js | 137 +++++ src/components/Common/Tooltip/index.tsx | 52 +- src/components/DocsHome/Blog.tsx | 102 ++++ .../DocsHome/Cards/SmallCard.module.css | 76 --- src/components/DocsHome/Cards/SmallCard.tsx | 24 - .../DocsHome/Contribute/index.module.css | 304 ---------- src/components/DocsHome/Contribute/index.tsx | 156 ----- .../DocsHome/DevGuides/index.module.css | 75 --- src/components/DocsHome/DevGuides/index.tsx | 48 -- src/components/DocsHome/Header/index.tsx | 30 - .../DocsHome/Languages/index.module.css | 293 ---------- src/components/DocsHome/Languages/index.tsx | 109 ---- src/components/DocsHome/NetworkStats.tsx | 93 +++ .../DocsHome/Tutorials/index.module.css | 75 --- src/components/DocsHome/Tutorials/index.tsx | 41 -- src/components/DocsHome/guides.svg | 6 + src/components/DocsHome/index.tsx | 285 +++++++++ src/components/DocsHome/tutorials.svg | 5 + src/components/ShowcasePage/Project/index.tsx | 273 --------- src/css/scrollbar.scss | 17 +- src/css/sidebar.scss | 4 + src/pages/ecosystem.tsx | 2 +- src/theme/Admonition/caution.svg | 5 + src/theme/Admonition/danger.svg | 13 + src/theme/Admonition/index.js | 79 +++ src/theme/Admonition/info.svg | 12 + src/theme/Admonition/note.svg | 13 + src/theme/Admonition/styles.module.css | 67 +++ src/theme/Admonition/tip.svg | 5 + src/theme/BlogListPage/index.js | 2 +- src/theme/BlogPostItems/index.js | 13 +- src/utils/blog.ts | 4 + static/img/docs/hero-bg.webp | Bin 0 -> 191934 bytes static/img/docs/motoko.png | Bin 0 -> 4996 bytes static/img/docs/python.png | Bin 0 -> 4172 bytes static/img/docs/rust.png | Bin 0 -> 2597 bytes static/img/docs/typescript.png | Bin 0 -> 1661 bytes tailwind.config.js | 6 +- 42 files changed, 1466 insertions(+), 1558 deletions(-) create mode 100644 plugins/blog-posts.js create mode 100644 src/components/DocsHome/Blog.tsx delete mode 100644 src/components/DocsHome/Cards/SmallCard.module.css delete mode 100644 src/components/DocsHome/Cards/SmallCard.tsx delete mode 100644 src/components/DocsHome/Contribute/index.module.css delete mode 100644 src/components/DocsHome/Contribute/index.tsx delete mode 100644 src/components/DocsHome/DevGuides/index.module.css delete mode 100644 src/components/DocsHome/DevGuides/index.tsx delete mode 100644 src/components/DocsHome/Header/index.tsx delete mode 100644 src/components/DocsHome/Languages/index.module.css delete mode 100644 src/components/DocsHome/Languages/index.tsx create mode 100644 src/components/DocsHome/NetworkStats.tsx delete mode 100644 src/components/DocsHome/Tutorials/index.module.css delete mode 100644 src/components/DocsHome/Tutorials/index.tsx create mode 100644 src/components/DocsHome/guides.svg create mode 100644 src/components/DocsHome/index.tsx create mode 100644 src/components/DocsHome/tutorials.svg delete mode 100644 src/components/ShowcasePage/Project/index.tsx create mode 100644 src/theme/Admonition/caution.svg create mode 100644 src/theme/Admonition/danger.svg create mode 100644 src/theme/Admonition/index.js create mode 100644 src/theme/Admonition/info.svg create mode 100644 src/theme/Admonition/note.svg create mode 100644 src/theme/Admonition/styles.module.css create mode 100644 src/theme/Admonition/tip.svg create mode 100644 src/utils/blog.ts create mode 100644 static/img/docs/hero-bg.webp create mode 100644 static/img/docs/motoko.png create mode 100644 static/img/docs/python.png create mode 100644 static/img/docs/rust.png create mode 100644 static/img/docs/typescript.png diff --git a/docs/home.mdx b/docs/home.mdx index 3f896844ab..f54e81ddc9 100644 --- a/docs/home.mdx +++ b/docs/home.mdx @@ -9,21 +9,44 @@ custom_edit_url: null authors: null --- -import Header from "@site/src/components/DocsHome/Header"; -import Contribute from "@site/src/components/DocsHome/Contribute"; -import Tutorials from "@site/src/components/DocsHome/Tutorials"; -import DevGuides from "@site/src/components/DocsHome/DevGuides"; -import Languages from "@site/src/components/DocsHome/Languages"; +import DocsHomePage from "@site/src/components/DocsHome/"; import { css } from "@site/src/utils/dummy-css"; -
- - - - + diff --git a/docusaurus.config.js b/docusaurus.config.js index cf4bb543df..5e3968e493 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -18,6 +18,7 @@ const matomoPlugin = require("./plugins/matomo"); const customWebpack = require("./plugins/custom-webpack"); const liveSessionsPlugin = require("./plugins/live-sessions"); const roadmapDataPlugin = require("./plugins/roadmap-data"); +const blogPostsPlugin = require("./plugins/blog-posts"); const whatIsIcpDataPlugin = require("./plugins/what-is-the-ic-cards"); const howItWorksCardsPlugin = require("./plugins/howitworks-cards"); const howItWorksArticlesPlugin = require("./plugins/howitworks-articles"); @@ -404,6 +405,7 @@ const config = { roadmapDataPlugin, whatIsIcpDataPlugin, matomoPlugin, + blogPostsPlugin, [ "@docusaurus/plugin-client-redirects", { diff --git a/package-lock.json b/package-lock.json index 8429450258..f006bd08bf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -58,6 +58,7 @@ "@tsconfig/docusaurus": "^1.0.4", "autoprefixer": "^10.4.7", "contentful": "^9.1.32", + "glob": "^10.3.1", "gray-matter": "^4.0.3", "prettier": "^2.8.8", "remark-code-import": "^0.4.0", @@ -2755,6 +2756,50 @@ "@hapi/hoek": "^9.0.0" } }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", @@ -3187,6 +3232,16 @@ "node": ">=4" } }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@polka/url": { "version": "1.0.0-next.21", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", @@ -6982,6 +7037,34 @@ } } }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", + "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -7057,6 +7140,25 @@ "node": ">=10" } }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", @@ -7273,19 +7375,22 @@ "integrity": "sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ==" }, "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.1.tgz", + "integrity": "sha512-9BKYcEeIs7QwlCYs+Y3GBvqAMISufUS0i2ELd11zpZjxI5V9iyRj0HgzB5/cLf2NY4vcYBTYzJ7GIui7j/4DOw==", + "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2", + "path-scurry": "^1.10.0" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -7307,6 +7412,30 @@ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.2.tgz", + "integrity": "sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/global-dirs": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", @@ -8437,6 +8566,24 @@ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" }, + "node_modules/jackspeak": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", + "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/jest-worker": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", @@ -9197,6 +9344,15 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" }, + "node_modules/minipass": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/mrmime": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", @@ -9816,6 +9972,31 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "node_modules/path-scurry": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.0.tgz", + "integrity": "sha512-tZFEaRQbMLjwrsmidsGJ6wDMv0iazJWk6SfIKnY4Xru8auXgmJkOBa5DUbYFcFD2Rzk2+KDlIiF0GVXNCbgC7g==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz", + "integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, "node_modules/path-to-regexp": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", @@ -12002,6 +12183,25 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/rtl-detect": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.0.4.tgz", @@ -12433,6 +12633,25 @@ "node": ">=4" } }, + "node_modules/shelljs/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -12707,6 +12926,27 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", @@ -12756,6 +12996,19 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", @@ -14968,9 +15221,9 @@ "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" }, "node_modules/wrap-ansi": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.0.1.tgz", - "integrity": "sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -14983,6 +15236,44 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", @@ -17039,6 +17330,37 @@ "@hapi/hoek": "^9.0.0" } }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, "@jridgewell/gen-mapping": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", @@ -17377,6 +17699,13 @@ } } }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, "@polka/url": { "version": "1.0.0-next.21", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", @@ -20160,6 +20489,24 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" }, + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "signal-exit": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", + "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", + "dev": true + } + } + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -20208,6 +20555,19 @@ "universalify": "^2.0.0" } }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "schema-utils": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", @@ -20372,16 +20732,36 @@ "integrity": "sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ==" }, "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.1.tgz", + "integrity": "sha512-9BKYcEeIs7QwlCYs+Y3GBvqAMISufUS0i2ELd11zpZjxI5V9iyRj0HgzB5/cLf2NY4vcYBTYzJ7GIui7j/4DOw==", + "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2", + "path-scurry": "^1.10.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.2.tgz", + "integrity": "sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, "glob-parent": { @@ -21201,6 +21581,16 @@ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" }, + "jackspeak": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", + "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, "jest-worker": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", @@ -21784,6 +22174,12 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" }, + "minipass": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "dev": true + }, "mrmime": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", @@ -22227,6 +22623,24 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "path-scurry": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.0.tgz", + "integrity": "sha512-tZFEaRQbMLjwrsmidsGJ6wDMv0iazJWk6SfIKnY4Xru8auXgmJkOBa5DUbYFcFD2Rzk2+KDlIiF0GVXNCbgC7g==", + "dev": true, + "requires": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2" + }, + "dependencies": { + "lru-cache": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz", + "integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==", + "dev": true + } + } + }, "path-to-regexp": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", @@ -23732,6 +24146,21 @@ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "requires": { "glob": "^7.1.3" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } } }, "rtl-detect": { @@ -24043,6 +24472,21 @@ "glob": "^7.0.0", "interpret": "^1.0.0", "rechoir": "^0.6.2" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } } }, "side-channel": { @@ -24265,6 +24709,25 @@ } } }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + } + } + }, "stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", @@ -24283,6 +24746,15 @@ "ansi-regex": "^5.0.1" } }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, "strip-bom-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", @@ -25771,9 +26243,9 @@ "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" }, "wrap-ansi": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.0.1.tgz", - "integrity": "sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "requires": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -25800,6 +26272,36 @@ } } }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/package.json b/package.json index 288d5742cb..d80f8186cb 100644 --- a/package.json +++ b/package.json @@ -67,6 +67,7 @@ "@tsconfig/docusaurus": "^1.0.4", "autoprefixer": "^10.4.7", "contentful": "^9.1.32", + "glob": "^10.3.1", "gray-matter": "^4.0.3", "prettier": "^2.8.8", "remark-code-import": "^0.4.0", diff --git a/plugins/blog-posts.js b/plugins/blog-posts.js new file mode 100644 index 0000000000..438e44202f --- /dev/null +++ b/plugins/blog-posts.js @@ -0,0 +1,137 @@ +const fs = require("fs"); +const path = require("path"); +const logger = require("@docusaurus/logger"); +const { + parseBlogFileName, +} = require("@docusaurus/plugin-content-blog/lib/blogUtils"); +const { + getFileCommitDate, + normalizeUrl, + parseMarkdownString, +} = require("@docusaurus/utils"); +const glob = require("glob"); + +function postDate(frontMatter, pathName, parsedPathNameDate) { + if (frontMatter.date) { + if (frontMatter.date instanceof Date) { + return frontMatter.date; + } + if (typeof frontMatter.date === "string") { + return new Date(frontMatter.date); + } + + logger.error( + `Blog post ${pathName} date is invalid. Please use "YYYY-MM-DD" format.` + ); + } + + if (parsedPathNameDate) { + return parsedPathNameDate; + } + + // fallback to git commit date + try { + return getFileCommitDate(pathName, { age: "oldest" }).date; + } catch { + return fs.statSync(pathName).birthtime; + } +} + +function parseBlogPostMarkdownFile(blogSourceAbsolute) { + const markdownString = fs.readFileSync(blogSourceAbsolute, "utf-8"); + try { + return parseMarkdownString(markdownString, { + removeContentTitle: true, + }); + } catch (err) { + logger.error`Error while parsing blog post file path=${blogSourceAbsolute}.`; + throw err; + } +} + +function formatBlogPostDate(locale, date, calendar) { + try { + return new Intl.DateTimeFormat(locale, { + day: "numeric", + month: "long", + year: "numeric", + timeZone: "UTC", + calendar, + }).format(date); + } catch (err) { + logger.error`Can't format blog post date "${String(date)}"`; + throw err; + } +} + +/** @type {import('@docusaurus/types').PluginModule} */ +const BlogPostsPlugin = async function (context) { + const blogConfig = context.siteConfig.presets?.find( + ([name, _]) => name == "classic" + )?.[1].blog; + + const { i18n } = context; + const { baseUrl } = context.siteConfig; + + const { path: blogPath, routeBasePath = "blog" } = blogConfig; + + const blogDir = path.join(__dirname, "..", blogPath); + + return { + name: "blog-posts", + getPathsToWatch() { + return [path.join(blogDir, "**/*.{md,mdx}")]; + }, + async loadContent() { + const posts = []; + + for (const postAbsolute of glob.globSync( + path.join(blogDir, "**/*.{md,mdx}"), + { + cwd: __dirname, + } + )) { + const relativePath = path.relative(blogDir, postAbsolute); + + const { frontMatter, contentTitle } = + parseBlogPostMarkdownFile(postAbsolute); + + let parsedFileName = parseBlogFileName(relativePath); + const date = postDate(frontMatter, postAbsolute, parsedFileName.date); + + const slug = frontMatter.slug ?? parsedFileName.slug; + + const permalink = normalizeUrl([baseUrl, routeBasePath, slug]); + + const title = + frontMatter.title ?? contentTitle ?? parsedBlogFileName.text; + + const formattedDate = formatBlogPostDate( + i18n.currentLocale, + date, + i18n.localeConfigs[i18n.currentLocale].calendar + ); + + posts.push({ + date, + formattedDate, + tags: frontMatter.tags ?? [], + permalink, + title, + description: frontMatter.description, + image: frontMatter.image, + }); + } + + posts.sort((a, b) => b.date.getTime() - a.date.getTime()); + + return posts; + }, + async contentLoaded({ content, actions }) { + const { createData } = actions; + createData("blog-posts.json", JSON.stringify(content, null, 2)); + }, + }; +}; + +module.exports = BlogPostsPlugin; diff --git a/src/components/Common/Tooltip/index.tsx b/src/components/Common/Tooltip/index.tsx index 1bf1572738..669ea0c1e7 100644 --- a/src/components/Common/Tooltip/index.tsx +++ b/src/components/Common/Tooltip/index.tsx @@ -1,16 +1,60 @@ import clsx from "clsx"; -import React from "react"; +import React, { useEffect } from "react"; + +const VIEWPORT_PADDING = 32; const Tooltip: React.FC<{ children?: React.ReactNode; tooltip: React.ReactNode; className?: string; -}> = ({ children, tooltip, className }) => { + wrapperClassName?: string; +}> = ({ children, tooltip, className, wrapperClassName }) => { + const wrapperRef = React.useRef(null); + const tooltipRef = React.useRef(null); + + useEffect(() => { + function fixPosition() { + const wrapperRect = wrapperRef.current?.getBoundingClientRect(); + const tooltip = tooltipRef.current; + + const tooltipRect = tooltip.getBoundingClientRect(); + + let left = -tooltipRect.width / 2 + wrapperRect.width / 2; + + if ( + wrapperRect.left + left + tooltipRect.width > + window.innerWidth - VIEWPORT_PADDING + ) { + left -= + wrapperRect.left + + left + + tooltipRect.width - + (window.innerWidth - VIEWPORT_PADDING); + } else if (wrapperRect.left + left < VIEWPORT_PADDING) { + left += VIEWPORT_PADDING - (wrapperRect.left + left); + } + + tooltip.style.left = `${left}px`; + } + + wrapperRef.current?.addEventListener("mouseenter", fixPosition); + window.addEventListener("resize", fixPosition); + + return () => { + wrapperRef.current?.removeEventListener("mouseenter", fixPosition); + window.removeEventListener("resize", fixPosition); + }; + }, []); + return ( - + diff --git a/src/components/DocsHome/Blog.tsx b/src/components/DocsHome/Blog.tsx new file mode 100644 index 0000000000..16cc38afbb --- /dev/null +++ b/src/components/DocsHome/Blog.tsx @@ -0,0 +1,102 @@ +import React, { FC, useCallback } from "react"; +import blogPosts from "@site/.docusaurus/blog-posts/default/blog-posts.json"; +import clsx from "clsx"; +import { tagColors } from "@site/src/utils/blog"; +import slugify from "slugify"; +import Link from "@docusaurus/Link"; +import LinkArrowRight from "../Common/Icons/LinkArrowRight"; + +const MAX_POSTS = Math.min(blogPosts.length, 5); + +const Blog: FC = () => { + const [postIndex, setPostIndex] = React.useState(0); + + const nextPost = useCallback(() => { + setPostIndex((prev) => (prev + 1) % MAX_POSTS); + }, [postIndex]); + + const prevPost = useCallback(() => { + setPostIndex((prev) => (prev - 1 + MAX_POSTS) % MAX_POSTS); + }, [postIndex]); + + const post = blogPosts[postIndex]; + + return ( +
+ + {post.title} + + +
+
+

Dev Blog

+
+ {post.formattedDate} +
+ +

{post.title}

+ +

+ {post.description} +

+ + {post.tags && post.tags.length > 0 && ( +
+ {post.tags.map((tag) => ( + + {tag} + + ))} +
+ )} +
+ +
+
+ + + + {postIndex + 1}/{MAX_POSTS} + + + +
+ + View all + +
+
+
+
+ ); +}; + +export default Blog; diff --git a/src/components/DocsHome/Cards/SmallCard.module.css b/src/components/DocsHome/Cards/SmallCard.module.css deleted file mode 100644 index d7cf39a316..0000000000 --- a/src/components/DocsHome/Cards/SmallCard.module.css +++ /dev/null @@ -1,76 +0,0 @@ -.card { - display: flex; - flex-direction: row; - align-items: start; - padding: 30px 48px 32px; - flex: 1 1 30%; - min-height: 200px; - background: rgba(255, 255, 255, 0.5); - border: 1px solid #ffffff; - box-sizing: border-box; - backdrop-filter: blur(5px); - border-radius: 12px; - transition: all var(--ifm-transition-custom-speed) - var(--ifm-transition-custom-curve); -} - -.card:hover { - padding-top: 32px; - background: var(--ic0-color); - border: 1px solid var(--ic0-color); -} - -.card:hover, -.card:hover .cardTitle, -.card:hover .cardBody, -.card:hover .informationIcon { - color: white; - text-decoration: none; - transition: all var(--ifm-transition-custom-speed) - var(--ifm-transition-custom-curve); -} - -.cardContainer { - width: 90%; -} - -.cardTitle { - font-weight: 700; - font-size: 24px; - line-height: 32px; - color: var(--ic0-color); - margin-bottom: 8px; -} - -.cardBody { - font-weight: 500; - font-size: 18px; - line-height: 28px; - margin-bottom: 0; - color: black; -} - -.informationIcon { - color: var(--ic0-color); - margin: auto; - width: 24px; - height: 24px; -} - -@media screen and (max-width: 996px) { - .informationIcon { - width: 16px; - height: 16px; - } - - .cardTitle { - font-size: 18px; - line-height: 28px; - } - - .cardBody { - font-weight: 500; - font-size: 14px; - line-height: 22px; - } -} diff --git a/src/components/DocsHome/Cards/SmallCard.tsx b/src/components/DocsHome/Cards/SmallCard.tsx deleted file mode 100644 index 0f6a0c060e..0000000000 --- a/src/components/DocsHome/Cards/SmallCard.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import styles from "./SmallCard.module.css"; -import RightArrowSVG from "@site/static/img/svgIcons/rightArrowIcon.svg"; -import transitions from "@site/static/transitions.json"; -import clsx from "clsx"; -import { motion } from "framer-motion"; -import React, { ReactNode } from "react"; - -const SmallCard: React.FC<{ - title: string; - children: ReactNode; - href: string; -}> = ({ title, children, href }) => { - return ( - -
-

{title}

-

{children}

-
- -
- ); -}; - -export default SmallCard; diff --git a/src/components/DocsHome/Contribute/index.module.css b/src/components/DocsHome/Contribute/index.module.css deleted file mode 100644 index 43b6434d01..0000000000 --- a/src/components/DocsHome/Contribute/index.module.css +++ /dev/null @@ -1,304 +0,0 @@ -.container { - width: Min(1250px, 100%); - margin: auto; - position: relative; - padding: 120px 0 50px 0; - --swiper-theme-color: var(--ic0-color); -} - -.title { - width: Min(1250px, 90%); - margin: auto; - font-weight: 700; - font-size: 40px; - line-height: 50px; - color: black; -} - -.subtitle { - width: Min(1250px, 90%); - margin: 24px auto auto auto; - font-weight: 400; - font-size: 18px; - line-height: 28px; - color: black; -} - -.cards { - width: Min(1250px, 90%); - display: flex; - flex-wrap: wrap; - box-sizing: border-box; - gap: 8px; - margin: 48px auto; -} - -.card { - display: flex; - flex-direction: row; - align-items: center; - padding: 54px 48px; - flex: 1 1 30%; - height: 200px; - background: rgba(255, 255, 255, 0.5); - border: 1px solid #ffffff; - box-sizing: border-box; - backdrop-filter: blur(5px); - border-radius: 12px; - transition: all var(--ifm-transition-custom-speed) - var(--ifm-transition-custom-curve); -} - -.card:hover { - padding-top: 32px; - background: var(--ic0-color); - border: 1px solid var(--ic0-color); -} - -.card:hover, -.card:hover .cardTitle, -.card:hover .cardBody, -.card:hover .informationIcon { - color: white; - text-decoration: none; - transition: all var(--ifm-transition-custom-speed) - var(--ifm-transition-custom-curve); -} - -.cardContainer { - width: 90%; -} - -.cardTitle { - font-weight: 700; - font-size: 24px; - line-height: 32px; - color: var(--ic0-color); - margin-bottom: 8px; -} - -.cardBody { - font-weight: 500; - font-size: 18px; - line-height: 28px; - color: black; -} - -.actionButton:hover { - border: 2px solid #3b00b9; - background-color: #3b00b9; - color: white; - text-decoration: none; -} - -.informationIcon { - color: var(--ic0-color); - margin: auto; - width: 24px; - height: 24px; -} - -.contributionContainer { - width: Min(1250px, 90%); - margin: 152px auto auto auto; - display: flex; - flex-direction: row; - align-items: center; -} -.leftContainer { - display: flex; - flex-direction: column; - justify-content: flex-start; - align-items: flex-start; -} - -.rightContainer { - display: flex; - align-items: flex-start; - justify-content: center; - margin: 0 auto auto auto; -} - -.callToActionTitle { - display: flex; - flex-wrap: wrap; - font-weight: 700; - font-size: 40px; - line-height: 50px; - margin-bottom: 0; -} - -.callToActionText { - margin: 24px 0 32px 0; - width: Min(100%, 660px); - display: block; - font-weight: 400; - font-size: 24px; - line-height: 34px; -} - -.actionButton { - display: inline-flex; - text-align: center; - padding: 16px 24px; - font-weight: 700; - font-size: 16px; - line-height: 22px; - letter-spacing: 1px; - border: 2px solid black; - border-radius: 10px; - color: black; - text-decoration: none; - transition: all var(--ifm-transition-custom-speed) - var(--ifm-transition-custom-curve); -} - -.actionButton:hover { - border: 2px solid #3b00b9; - background-color: #3b00b9; - color: white; - text-decoration: none; -} - -.actionContainer { - display: inline-flex; - justify-content: center; - align-items: center; - margin: auto 0; - flex-direction: row; -} - -.contributeGraphic { - width: 1100px; - bottom: -450px; - left: 660px; - position: absolute; - @apply -z-1; -} -.mobileContributeGraphic { - display: none; -} -.scrollContainer { - display: none; - width: 100vw; - margin: 32px 0 80px 0; -} - -.mobileCardsContainer { - position: relative; - display: flex; - overflow-x: scroll; - scroll-padding: 50% 0; - scroll-snap-type: x mandatory; - scrollbar-width: thin; - @apply z-10; -} - -.mobileCardsContainer::-webkit-scrollbar { - width: 12px; -} - -.mobileCardsContainer::-webkit-scrollbar-track { - background: rgba(24, 24, 24, 0%); - margin: 0 calc((100vw - Min(1100px, 90vw)) / 2); - border-radius: 20px; -} - -.mobileCardsContainer::-webkit-scrollbar-thumb { - background-color: rgba(24, 24, 24, 20%); - border-radius: 20px; - border: 4px solid var(--ifm-background-color); -} - -.cardWrapper .card { - width: 279px; - padding: 0 32px; - margin-bottom: 12px; - height: 180px; -} - -.cardWrapper { - scroll-snap-align: none; - display: inline-block; - margin: 0 4px 10px 0; -} - -.cardWrapper:first-child { - padding-left: calc((100vw - Min(1100px, 90vw)) / 2); -} - -.cardWrapper:last-child { - margin-right: 0; - padding-right: calc((100vw - Min(1100px, 90vw)) / 2); -} -@media screen and (max-width: 996px) { - .container { - padding-top: 40px; - } - .cards { - display: none; - } - - .scrollContainer { - display: block; - } - - .title { - font-size: 32px; - line-height: 42px; - } - - .informationIcon { - width: 16px; - height: 16px; - } - - .actionButton { - font-size: 14px; - line-height: 22px; - padding: 14px 20px; - margin: 0; - } - .contributionContainer { - margin-top: 40px; - flex-direction: column; - } - .callToActionTitle { - font-size: 32px; - line-height: 42px; - margin-bottom: 0; - } - - .cardTitle { - font-size: 18px; - line-height: 28px; - } - - .cardBody { - font-weight: 500; - font-size: 14px; - line-height: 22px; - } - .contributeGraphic { - display: none; - } - .mobileGraphic { - display: block; - width: 1000px; - height: 250px; - position: relative; - } - .mobileContributeGraphic { - display: block; - object-fit: cover; - top: -100px; - width: 1000px; - position: absolute; - @apply -z-10; - } -} -@media screen and (max-width: 640px) { - .mobileContributeGraphic { - left: -100px; - } -} diff --git a/src/components/DocsHome/Contribute/index.tsx b/src/components/DocsHome/Contribute/index.tsx deleted file mode 100644 index bca41be0d8..0000000000 --- a/src/components/DocsHome/Contribute/index.tsx +++ /dev/null @@ -1,156 +0,0 @@ -import React, { useEffect } from "react"; -import styles from "./index.module.css"; -import Link from "@docusaurus/Link"; -import { motion, useAnimation } from "framer-motion"; -import { useInView } from "react-intersection-observer"; -import transitions from "@site/static/transitions.json"; -import RightArrowSVG from "@site/static/img/svgIcons/rightArrowIcon.svg"; -import contribute from "@site/static/img/developers/contribute.webp"; -import AnimateSpawn from "../../Common/AnimateSpawn"; - -const cardsContent = [ - { - title: "Live sessions", - body: "Join the tech talks", - link: "/live-sessions", - }, - { - title: "Technical working groups", - body: "Help shape IC development ", - link: "https://forum.dfinity.org/t/announcing-technical-working-groups/11781", - }, - { - title: "Join the developer forum", - body: "Discuss with the community", - link: "https://forum.dfinity.org/", - }, - { - title: "Dev Discord office hours", - body: "Every Wednesday at 9am CET and 7pm CET", - link: "https://discord.gg/jnjVVQaE2C", - }, - { - title: "DFINITY developer grants and bounties", - body: "Kickstart your idea or get paid to build on ICP", - link: "https://dfinity.org/grants/", - }, - { - title: "Bug bounty program", - body: "Report potential security vulnerabilities and get rewards", - link: "https://dfinity.org/bug-bounty/", - }, -]; - -function Card({ title, body }) { - return ( - <> -
-

{title}

-

{body}

-
- - - ); -} - -function Index() { - const controls = useAnimation(); - const { ref, inView } = useInView({ threshold: 0.2 }); - useEffect(() => { - if (inView) { - controls.start("show"); - } - }, [controls, inView]); - return ( - <> -
- - - - Contribute to the
Internet Computer -
- - Take a deeper dive into further resources in the developer ecosystem. - - -
- {cardsContent.map((card) => ( -
- - - -
- ))} -
-
-
- {cardsContent.map((card) => ( - - - - ))} -
-
-
- - Help us make the docs better - - - These docs are a community effort. Create a PR if you see - mistakes, room for improvement, or new opportunities to help IC - developers. - - - - CONTRIBUTE - - -
- - - -
- - - -
- - ); -} - -export default Index; diff --git a/src/components/DocsHome/DevGuides/index.module.css b/src/components/DocsHome/DevGuides/index.module.css deleted file mode 100644 index caf696b380..0000000000 --- a/src/components/DocsHome/DevGuides/index.module.css +++ /dev/null @@ -1,75 +0,0 @@ -.header { - display: flex; - justify-content: flex-start; - align-items: flex-end; - flex-direction: row; - margin: 0 auto 24px auto; - width: Min(1110px, 90%); -} - -.header p { - font-weight: 700; - font-size: 40px; - line-height: 40px; - margin-bottom: 0; -} - -.callToAction { - display: flex; - color: #3b00b9; - font-weight: 700; - font-size: 18px; - line-height: 26px; - margin-left: 24px; - transition: all var(--ifm-transition-custom-speed) - var(--ifm-transition-custom-curve); - @apply z-30; -} - -.callToAction:hover { - color: black; - text-decoration: none; -} - -.callToAction:hover::before { - background: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.7813 7.33336L7.20529 3.75736L8.14796 2.8147L13.3333 8.00003L8.14796 13.1854L7.20529 12.2427L10.7813 8.6667H2.66663V7.33336H10.7813Z' fill='black'/%3E%3C/svg%3E%0A") - no-repeat; -} - -.callToAction::before { - content: ""; - width: 24px; - height: 24px; - display: flex; - align-self: center; - margin: auto 0.5rem auto 0; - background: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.7813 7.33336L7.20529 3.75736L8.14796 2.8147L13.3333 8.00003L8.14796 13.1854L7.20529 12.2427L10.7813 8.6667H2.66663V7.33336H10.7813Z' fill='%233b00b9'/%3E%3C/svg%3E%0A") - no-repeat; -} - -.cards { - display: flex; - flex-wrap: wrap; - box-sizing: border-box; - gap: 8px; - margin: auto; - width: Min(1110px, 90%); -} - -@media screen and (max-width: 996px) { - .header { - justify-content: flex-start; - align-items: flex-start; - flex-direction: column; - } - - .header p { - font-size: 24px; - line-height: 32px; - margin-bottom: 12px; - } - - .callToAction { - margin-left: 0; - } -} diff --git a/src/components/DocsHome/DevGuides/index.tsx b/src/components/DocsHome/DevGuides/index.tsx deleted file mode 100644 index 5896512505..0000000000 --- a/src/components/DocsHome/DevGuides/index.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import Link from "@docusaurus/Link"; -import styles from "@site/src/components/DevelopersHome/SampleCode/index.module.css"; -import RightArrowSVG from "@site/static/img/svgIcons/rightArrowIcon.svg"; -import transitions from "@site/static/transitions.json"; -import clsx from "clsx"; -import { motion } from "framer-motion"; -import React from "react"; -import AnimateSpawn from "../../Common/AnimateSpawn"; -import SmallCard from "../Cards/SmallCard"; - -function Index() { - return ( - - -

Developer Guides

- - See all developer guides - -
-
- - Install the IC SDK, understand the project structure, and - deploy to production. - - - Learn how to create canister smart contracts with your language of choice - - - Store 1 GB for $5 per year. Pay 1 cent for 10k transactions. - -
-
- ); -} - -export default Index; diff --git a/src/components/DocsHome/Header/index.tsx b/src/components/DocsHome/Header/index.tsx deleted file mode 100644 index 0644f6725d..0000000000 --- a/src/components/DocsHome/Header/index.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import transitions from "@site/static/transitions.json"; -import { motion, useAnimation } from "framer-motion"; -import React, { useEffect } from "react"; -import { useInView } from "react-intersection-observer"; -import AnimateSpawn from "../../Common/AnimateSpawn"; - -function Index() { - const controls = useAnimation(); - const { ref, inView } = useInView({ threshold: 0.2 }); - useEffect(() => { - if (inView) { - controls.start("show"); - } - }, [controls, inView]); - return ( - - - Developer Docs - - - ); -} - -export default Index; diff --git a/src/components/DocsHome/Languages/index.module.css b/src/components/DocsHome/Languages/index.module.css deleted file mode 100644 index 892d5beacd..0000000000 --- a/src/components/DocsHome/Languages/index.module.css +++ /dev/null @@ -1,293 +0,0 @@ -.section { - position: relative; - overflow: hidden; - display: flex; - flex-direction: column; - --swiper-theme-color: var(--ic0-color); -} - -.container { - width: 100vw; - padding: 40px 0; - margin: auto; - position: relative; -} - -.header { - display: flex; - justify-content: flex-start; - align-items: flex-end; - flex-direction: row; - margin: 0 auto 24px auto; - width: Min(1110px, 90%); -} - -.header p { - font-weight: 700; - font-size: 40px; - line-height: 40px; - margin-bottom: 0; -} - -.callToAction { - display: flex; - color: #3b00b9; - font-weight: 700; - font-size: 18px; - line-height: 26px; - margin-left: 24px; - transition: all var(--ifm-transition-custom-speed) - var(--ifm-transition-custom-curve); - @apply z-30; -} - -.callToAction:hover { - color: black; - text-decoration: none; -} - -.callToAction:hover::before { - background: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.7813 7.33336L7.20529 3.75736L8.14796 2.8147L13.3333 8.00003L8.14796 13.1854L7.20529 12.2427L10.7813 8.6667H2.66663V7.33336H10.7813Z' fill='black'/%3E%3C/svg%3E%0A") - no-repeat; -} - -.callToAction::before { - content: ""; - width: 24px; - height: 24px; - display: flex; - align-self: center; - margin: auto 0.5rem auto 0; - background: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.7813 7.33336L7.20529 3.75736L8.14796 2.8147L13.3333 8.00003L8.14796 13.1854L7.20529 12.2427L10.7813 8.6667H2.66663V7.33336H10.7813Z' fill='%233b00b9'/%3E%3C/svg%3E%0A") - no-repeat; -} - -.cards { - display: flex; - flex-wrap: wrap; - box-sizing: border-box; - gap: 8px; - margin: auto; - width: Min(1110px, 90%); -} - -.card { - background: rgba(255, 255, 255, 0.5); - border: 1px solid #ffffff; - backdrop-filter: blur(5px); - box-sizing: border-box; - border-radius: 12px; - display: flex; - flex-direction: row; - justify-content: center; - align-items: center; - padding: 0 64px; - margin: auto 0; - height: 258px; - overflow: hidden; - width: calc(50% - 4px); - transition: all var(--ifm-transition-custom-speed) - var(--ifm-transition-custom-curve); -} - -.cardHover:hover { - color: white; - text-decoration: none; - background: var(--ic0-color); - padding-bottom: 32px; - border: 1px solid var(--ic0-color); - transition: all var(--ifm-transition-custom-speed) - var(--ifm-transition-custom-curve); -} - -.cardHover:hover .informationTitle, -.cardHover:hover .informationIcon, -.cardHover:hover .informationBody { - color: white; - text-decoration: none; - transition: all var(--ifm-transition-custom-speed) - var(--ifm-transition-custom-curve); -} -.cardHover:hover .motokoBackground, -.cardHover:hover .rustBackground, -.cardHover:hover .bitfinityBackground { - transition: all var(--ifm-transition-custom-speed) - var(--ifm-transition-custom-curve); -} -.cardHover:hover .motokoBackground { - bottom: 0; -} -.cardHover:hover .rustBackground { - bottom: 20px; -} -.cardHover:hover .bitfinityBackground { - bottom: 0; -} - -.bodyContainer { - display: flex; - flex-direction: column; - margin: 0; - flex-grow: 1; - width: 95%; -} - -.informationTitle { - font-weight: 700; - font-size: 40px; - line-height: 50px; - color: var(--ic0-color); - margin-bottom: 8px; -} - -.informationBody { - font-weight: 400; - font-size: 16px; - line-height: 24px; - color: black; - width: 80%; - margin-bottom: 0; -} - -.informationIcon { - color: var(--ic0-color); - margin: auto; - width: 24px; - height: 24px; -} - -.motokoBackground { - height: 120px; - position: absolute; - bottom: -24px; - right: -30px; -} - -.rustBackground { - height: 120px; - position: absolute; - bottom: -4px; - right: -8px; -} - -.bitfinityBackground { - height: 120px; - position: absolute; - bottom: -20px; - right: 0; -} - -.scrollContainer { - display: block; - width: 100vw; - margin: 32px 0 12px 0; -} - -.samplesContainer { - position: relative; - display: flex; - overflow-x: scroll; - scroll-padding: 50% 0; - scroll-snap-type: x mandatory; - scrollbar-width: thin; - gap: 20px; - margin-bottom: 120px; - @apply z-30; -} - -.samplesContainer::-webkit-scrollbar { - width: 12px; -} - -.samplesContainer::-webkit-scrollbar-track { - background: rgba(24, 24, 24, 0%); - margin: 0 calc((100vw - Min(1100px, 90vw)) / 2); - border-radius: 20px; -} - -.samplesContainer::-webkit-scrollbar-thumb { - background-color: rgba(24, 24, 24, 0); - border-radius: 20px; - border: 4px solid var(--ifm-background-color); -} -.samplesContainer:hover::-webkit-scrollbar-thumb { - background-color: rgba(24, 24, 24, 20%); -} -.cardWrapper > div { - margin-bottom: 20px; - width: 320px; -} - -.cardWrapper:first-child { - padding-left: calc((100vw - Min(1100px, 90vw)) / 2); -} - -.cardWrapper:last-child { - margin-right: 0; - padding-right: calc((100vw - Min(1100px, 90vw)) / 2); -} - -@media screen and (max-width: 996px) { - .card { - width: 100%; - height: 168px; - padding: 24px 32px; - } - - .sampleSwiper { - margin-bottom: 40px; - } - - .samplesContainer { - margin-bottom: 80px; - } - - .bodyContainer { - width: 100%; - } - - .informationTitle { - font-weight: 700; - font-size: 24px; - line-height: 32px; - } - - .informationTitle { - margin-bottom: 8px; - } - - .informationIcon { - width: 16px; - height: 16px; - } - - .informationBody { - font-weight: 400; - font-size: 12px; - line-height: 20px; - margin-bottom: 0; - width: 95%; - } - - .motokoBackground, - .bitfinityBackground, - .rustBackground { - display: none; - } - - .header { - justify-content: flex-start; - align-items: flex-start; - flex-direction: column; - } - - .header p { - font-size: 24px; - line-height: 32px; - margin-bottom: 12px; - } - - .callToAction { - margin-left: 0; - } -} diff --git a/src/components/DocsHome/Languages/index.tsx b/src/components/DocsHome/Languages/index.tsx deleted file mode 100644 index e412eafbbe..0000000000 --- a/src/components/DocsHome/Languages/index.tsx +++ /dev/null @@ -1,109 +0,0 @@ -import React from "react"; -import styles from "@site/src/components/DocsHome/Languages/index.module.css"; -import Link from "@docusaurus/Link"; -import { motion } from "framer-motion"; -import transitions from "@site/static/transitions.json"; -import clsx from "clsx"; -import motokoBG from "@site/static/img/motoko.webp"; -import rustBG from "@site/static/img/rust.webp"; -import azleBG from "@site/static/img/azle.webp"; -import kybraBG from "@site/static/img/kybra.webp"; -import bitfinityEvmBG from "@site/static/img/bitfinity-evm.png"; -import RightArrowSVG from "@site/static/img/svgIcons/rightArrowIcon.svg"; -import AnimateSpawn from "../../Common/AnimateSpawn"; - -function Index() { - return ( - - -

Programming languages

- - See all languages - -
-
- -
-

Motoko

-

- Get started with high level programming language designed - specifically for the Internet Computer -

-
- - -
- -
-

Rust

-

- Use Rust - a high perfomance and safe programming language to - build high efficient dapps and smart contracts on the Internet Computer -

-
- - - -
- -
-

TypeScript

-

- Azle allows you to build Internet Computer dapps and smart contracts using TypeScript and JavaScript, the languages of the web -

-
- - -
- -
-

Python

-

- Kybra allows you to build Internet Computer dapps and smart contracts using Python, one of the most popular languages in the world -

-
- - -
- -
-

Solidity

-

- The Bitfinity EVM allows you to run Solidity smart contracts on the Internet Computer -

-
- - -
-
-
- ); -} - -export default Index; diff --git a/src/components/DocsHome/NetworkStats.tsx b/src/components/DocsHome/NetworkStats.tsx new file mode 100644 index 0000000000..d30b015aee --- /dev/null +++ b/src/components/DocsHome/NetworkStats.tsx @@ -0,0 +1,93 @@ +import { getCanisterCount } from "@site/src/utils/network-stats"; +import React from "react"; +import { useQuery } from "react-query"; +import Tooltip from "../Common/Tooltip"; + +function InfoIcon() { + return ( + + + + + + + + + + + ); +} + +function Divider() { + return
; +} + +function formatNumber(x: number) { + return x + .toLocaleString("en-US", { + maximumFractionDigits: 0 + }) + .replace(/,/g, "\u2019"); +} + +export const NetworkStats = () => { + const canisterCount = useQuery(["canisterCount"], getCanisterCount); + + return ( +
+
+
+ Storage Costs + + + +
+
$5 / GB / Year
+
+ +
+
+ Cost per Instruction + + + +
+
$0.000000000000536
+
+ +
+
+ Canisters + + + +
+
+ {canisterCount.isSuccess && formatNumber(canisterCount.data)} +
+
+
+ ); +}; diff --git a/src/components/DocsHome/Tutorials/index.module.css b/src/components/DocsHome/Tutorials/index.module.css deleted file mode 100644 index caf696b380..0000000000 --- a/src/components/DocsHome/Tutorials/index.module.css +++ /dev/null @@ -1,75 +0,0 @@ -.header { - display: flex; - justify-content: flex-start; - align-items: flex-end; - flex-direction: row; - margin: 0 auto 24px auto; - width: Min(1110px, 90%); -} - -.header p { - font-weight: 700; - font-size: 40px; - line-height: 40px; - margin-bottom: 0; -} - -.callToAction { - display: flex; - color: #3b00b9; - font-weight: 700; - font-size: 18px; - line-height: 26px; - margin-left: 24px; - transition: all var(--ifm-transition-custom-speed) - var(--ifm-transition-custom-curve); - @apply z-30; -} - -.callToAction:hover { - color: black; - text-decoration: none; -} - -.callToAction:hover::before { - background: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.7813 7.33336L7.20529 3.75736L8.14796 2.8147L13.3333 8.00003L8.14796 13.1854L7.20529 12.2427L10.7813 8.6667H2.66663V7.33336H10.7813Z' fill='black'/%3E%3C/svg%3E%0A") - no-repeat; -} - -.callToAction::before { - content: ""; - width: 24px; - height: 24px; - display: flex; - align-self: center; - margin: auto 0.5rem auto 0; - background: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.7813 7.33336L7.20529 3.75736L8.14796 2.8147L13.3333 8.00003L8.14796 13.1854L7.20529 12.2427L10.7813 8.6667H2.66663V7.33336H10.7813Z' fill='%233b00b9'/%3E%3C/svg%3E%0A") - no-repeat; -} - -.cards { - display: flex; - flex-wrap: wrap; - box-sizing: border-box; - gap: 8px; - margin: auto; - width: Min(1110px, 90%); -} - -@media screen and (max-width: 996px) { - .header { - justify-content: flex-start; - align-items: flex-start; - flex-direction: column; - } - - .header p { - font-size: 24px; - line-height: 32px; - margin-bottom: 12px; - } - - .callToAction { - margin-left: 0; - } -} diff --git a/src/components/DocsHome/Tutorials/index.tsx b/src/components/DocsHome/Tutorials/index.tsx deleted file mode 100644 index 8d24a1f5bc..0000000000 --- a/src/components/DocsHome/Tutorials/index.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import Link from "@docusaurus/Link"; -import styles from "@site/src/components/DevelopersHome/SampleCode/index.module.css"; -import transitions from "@site/static/transitions.json"; -import { motion } from "framer-motion"; -import React from "react"; -import AnimateSpawn from "../../Common/AnimateSpawn"; -import SmallCard from "../Cards/SmallCard"; - -function Index() { - return ( - -
- -

Tutorials

- - See Intro tutorials - -
-
- - Install the Internet Computer SDK, create a sample dapp, and deploy it to production in a few simple steps. - - - - Create your first dapp composed of both a frontend and a backend hosted 100% on-chain - -
-
- ); -} - -export default Index; diff --git a/src/components/DocsHome/guides.svg b/src/components/DocsHome/guides.svg new file mode 100644 index 0000000000..cc8c199d2a --- /dev/null +++ b/src/components/DocsHome/guides.svg @@ -0,0 +1,6 @@ + + + + + diff --git a/src/components/DocsHome/index.tsx b/src/components/DocsHome/index.tsx new file mode 100644 index 0000000000..7f742012bc --- /dev/null +++ b/src/components/DocsHome/index.tsx @@ -0,0 +1,285 @@ +import Link from "@docusaurus/Link"; +import React, { FC } from "react"; +import { QueryClient, QueryClientProvider } from "react-query"; +import LinkArrowRight from "../Common/Icons/LinkArrowRight"; +import { NetworkStats } from "./NetworkStats"; +import GuidesIcon from "./guides.svg"; +import TutorialsIcon from "./tutorials.svg"; +import Blog from "./Blog"; + +const queryClient = new QueryClient(); + +const links = [ + { + label: "Live Sessions", + href: "/live-sessions" + }, + + { + label: "Technical Working Groups", + href: "https://forum.dfinity.org/t/announcing-technical-working-groups/11781" + }, + { label: "Join the Dev Forum", href: "https://forum.dfinity.org" }, + { label: "Dev Discord Office Hours", href: "https://discord.gg/jnjVVQaE2C" }, + { + label: "Developer Grants and Bounties", + href: "https://dfinity.org/grants/" + }, + { label: "Bug Bounty Program", href: "https://dfinity.org/bug-bounty/" } +]; + +const DocsHomePage: FC = () => { + return ( +
+
+
+

+ Developer Docs +

+

+ Start a DAO, create a token, build dapps and host assets with the + full tech stack entirely 100% on chain. +

+

+ + Start building + + +

+
+
+ + + +
+
+ +

Guides

+

+ Access all of the documentation guidelines needed to get your + project up and running. +

+

+ + Start building + + +

+
+
+ +

Tutorials

+

+ This section will guide developers to create and deploy sample + applications in a step-by-step mode. +

+

+ + Start learning + + +

+
+
+
+
+
+
+

+ Programming +
+ Languages +

+
+
+

+ Whether you're new to coding or an experienced developer, our + documentation portal has everything you need. We provide + easy-to-follow guides, tutorials, code samples, and API + references for multiple languages like JavaScript, Python, Java, + Go, Rust, and more. +

+

+ + View all + +

+
+
+
+
+
+ Motoko docs +
+
+

Motoko

+

+ Get started with high level programming language designed + specifically for the Internet Computer cdcsd +

+

+ + + +

+
+
+
+
+ Rust docs for the Internet Computer +
+
+

Rust

+

+ Use Rust - a high performance and safe programming language to + build high efficiency apps on Internet Computer +

+

+ + + +

+
+
+
+
+ TypeScript docs for the Internet Computer +
+
+

TypeScript

+

+ Azle allows you to build Internet Computer apps using + TypeScript and JavaScript, the languages of the web +

+

+ + + +

+
+
+
+
+ Python docs for the Internet Computer +
+
+

Python

+

+ Kybra allows you to build Internet Computer apps using Python, + one of the most popular languages in the world +

+

+ + + +

+
+
+
+
+
+ +
+ +
+ +
+
+
+
+ Contribute to the +
+ Internet Computer +
+

+ Help us make the docs better +

+

+ These docs are a community effort. Create a PR if you see + mistakes, room for improvement, or new opportunities to help IC + developers. +

+ + Contribute + +
+
+ {links.map(({ label, href }) => ( + + {label} + + + ))} +
+
+
+
+ ); +}; + +export default DocsHomePage; diff --git a/src/components/DocsHome/tutorials.svg b/src/components/DocsHome/tutorials.svg new file mode 100644 index 0000000000..5b6cceb612 --- /dev/null +++ b/src/components/DocsHome/tutorials.svg @@ -0,0 +1,5 @@ + + + + diff --git a/src/components/ShowcasePage/Project/index.tsx b/src/components/ShowcasePage/Project/index.tsx deleted file mode 100644 index 472067e496..0000000000 --- a/src/components/ShowcasePage/Project/index.tsx +++ /dev/null @@ -1,273 +0,0 @@ -import Link from "@docusaurus/Link"; -import { elegantWebsiteUrl } from "@site/src/utils/showcase"; -import React, { useEffect, useRef, useState } from "react"; -import { colorRegistry, ShowcaseProject } from "../ShowcaseProject"; -import ColorThief from "colorthief"; -import { hslToRgb, rgbToHsl } from "../../../utils/colors"; -import Tooltip from "../../Common/Tooltip"; -import { useInView } from "react-intersection-observer"; -import clsx from "clsx"; -import AnimateSpawn from "../../Common/AnimateSpawn"; -import transitions from "../../../../static/transitions.json"; -import { motion } from "framer-motion"; - -const colorThief = new ColorThief(); - -function getDominantColorOnLoad(img): [number, number, number] | false { - try { - let rgb = colorThief.getPalette( - img, - 2, - Math.min(10, Math.ceil(img.width / 10)) - )[0] as [number, number, number]; - let hsl = rgbToHsl(...rgb); - if (hsl[2] < 0.5) { - // dark dominant color - hsl[2] = 0.8; - hsl[1] = Math.max(hsl[1], 0.7); - rgb = hslToRgb(...hsl); - } else { - // light dominant color - hsl[2] = Math.max(hsl[1], 0.8); - hsl[1] = 0.5; - rgb = hslToRgb(...hsl); - } - return rgb; - } catch (e) { - console.error(e); - return false; - } -} - -const Header: React.FC<{ - project: ShowcaseProject; - className?: string; - onBgColor: (string) => void; -}> = ({ project, onBgColor }) => { - return ( -
- { - if (!(project.logo in colorRegistry)) { - const rgb = getDominantColorOnLoad(e.target); - - if (rgb === false) { - colorRegistry[project.logo] = colorRegistry.default; - onBgColor(colorRegistry.default); - } else { - const color = `rgb(${rgb.join(",")})`; - colorRegistry[project.logo] = color; - onBgColor(color); - } - } else { - onBgColor(colorRegistry[project.logo]); - } - }} - /> -
-

{project.name}

- - {elegantWebsiteUrl(project.website)} - -
-
- ); -}; - -const Media: React.FC<{ - project: ShowcaseProject; - className?: string; - bgColor: string; -}> = ({ project, className, bgColor }) => { - // const availableImages = [project.screenshots?.[0], project.logo].filter( - // (src) => !!src - // ); - // const [bgColor, setBgColor] = useState( - // colorRegistry[availableImages[0] || "default"] - // ); - - const { ref, inView } = useInView({ threshold: 0 }); - const videoRef = useRef(); - - useEffect(() => { - if (!videoRef.current) return; - - // start playing the video when it comes in view - if (inView) { - videoRef.current.play(); - } else { - videoRef.current.pause(); - } - }, [inView]); - - return ( -
- {project.video ? ( - inView && ( - - ) - ) : ( - - )} -
- ); -}; - -const Info: React.FC<{ project: ShowcaseProject; className?: string }> = ({ - project, -}) => { - return ( -
-

{project.description}

- {project.stats} -
- ); -}; -const Footer: React.FC<{ - project: ShowcaseProject; - className?: string; - - onTagClick: (string) => void; -}> = ({ project, onTagClick }) => { - return ( -
-
- {project.tags.map((tag) => ( - - ))} -
-
- {project.github && ( - - - - - - )} - {project.usesInternetIdentity && ( - - - - - - - - - )} -
-
- ); -}; - -const Project: React.FC<{ - project: ShowcaseProject; - large: boolean; - onTagClick: (string) => void; -}> = ({ project, large, onTagClick }) => { - const [bgColor, setBgColor] = useState(colorRegistry[project.logo]); - return ( - -
-
- - -
-
- {large && ( - - )} -
- ); -}; - -export default Project; diff --git a/src/css/scrollbar.scss b/src/css/scrollbar.scss index a2a1e764ae..7b7b63e05e 100644 --- a/src/css/scrollbar.scss +++ b/src/css/scrollbar.scss @@ -34,4 +34,19 @@ background-color: rgba(255, 255, 255, 50%); border-radius: 20px; } -} \ No newline at end of file +} + +.docs-home-languages-scrollbar { + &::-webkit-scrollbar { + height: 8px; + } + &::-webkit-scrollbar-track { + background: transparent; + margin: 0 24px; + } + &::-webkit-scrollbar-thumb { + height: 8px; + background-color: rgba(#3b00b9, 50%); + border-radius: 20px; + } +} diff --git a/src/css/sidebar.scss b/src/css/sidebar.scss index d7617e7cd0..e750eec26f 100644 --- a/src/css/sidebar.scss +++ b/src/css/sidebar.scss @@ -7,6 +7,10 @@ div[class*="sidebar_"] { border-right: var(--ic0-nav-border); } +div[class*="sidebar_"][class*="sidebarWithHideableNavbar_"] { + padding-top: 0px; +} + aside[class*="docSidebarContainer_"] { .menu { padding: var(--ic0-menu-padding-top) 20px 60px diff --git a/src/pages/ecosystem.tsx b/src/pages/ecosystem.tsx index f4bdc3c56b..51e5a1fa43 100644 --- a/src/pages/ecosystem.tsx +++ b/src/pages/ecosystem.tsx @@ -157,7 +157,7 @@ const ProjectInfo: React.FC<{ {project.usesInternetIdentity && ( + + + diff --git a/src/theme/Admonition/danger.svg b/src/theme/Admonition/danger.svg new file mode 100644 index 0000000000..e9c3e8d277 --- /dev/null +++ b/src/theme/Admonition/danger.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/src/theme/Admonition/index.js b/src/theme/Admonition/index.js new file mode 100644 index 0000000000..8bad50d2a7 --- /dev/null +++ b/src/theme/Admonition/index.js @@ -0,0 +1,79 @@ +import clsx from "clsx"; +import React from "react"; +import CautionIcon from "./caution.svg"; +import DangerIcon from "./danger.svg"; +import InfoIcon from "./info.svg"; +import NoteIcon from "./note.svg"; +import styles from "./styles.module.css"; +import TipIcon from "./tip.svg"; + +// Workaround because it's difficult in MDX v1 to provide a MDX title as props +// See https://github.com/facebook/docusaurus/pull/7152#issuecomment-1145779682 +function extractMDXAdmonitionTitle(children) { + const items = React.Children.toArray(children); + const mdxAdmonitionTitle = items.find( + (item) => + React.isValidElement(item) && item.props?.mdxType === "mdxAdmonitionTitle" + ); + const rest = <>{items.filter((item) => item !== mdxAdmonitionTitle)}; + return { + mdxAdmonitionTitle, + rest + }; +} +function processAdmonitionProps(props) { + const { mdxAdmonitionTitle, rest } = extractMDXAdmonitionTitle( + props.children + ); + return { + ...props, + title: props.title ?? mdxAdmonitionTitle, + children: rest + }; +} +export default function Admonition(props) { + const { children, type, title } = processAdmonitionProps(props); + + const Icon = { + info: InfoIcon, + important: InfoIcon, + tip: TipIcon, + success: TipIcon, + + danger: DangerIcon, + + note: NoteIcon, + secondary: NoteIcon, + + caution: CautionIcon, + warning: CautionIcon + }[type]; + + return ( +
+ {title ? ( + <> +
+ + {title} +
+ {children} + + ) : ( + <> + {children} + + + )} +
+ ); +} diff --git a/src/theme/Admonition/info.svg b/src/theme/Admonition/info.svg new file mode 100644 index 0000000000..5f3dafea98 --- /dev/null +++ b/src/theme/Admonition/info.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/src/theme/Admonition/note.svg b/src/theme/Admonition/note.svg new file mode 100644 index 0000000000..040c095f76 --- /dev/null +++ b/src/theme/Admonition/note.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/src/theme/Admonition/styles.module.css b/src/theme/Admonition/styles.module.css new file mode 100644 index 0000000000..4652e77906 --- /dev/null +++ b/src/theme/Admonition/styles.module.css @@ -0,0 +1,67 @@ +.admonition { + border-radius: 0.5rem; + padding: 1rem; + background-color: var(--admonition-background-color); + border: 1px solid var(--admonition-border-color); + position: relative; + margin-bottom: 1rem; +} + +.admonition > svg { + position: absolute; + top: 1rem; + left: 1rem; + width: 24px; + height: 24px; +} + +.withTitle { +} + +.admonitionTitle { + display: flex; + gap: 0.75rem; + margin-bottom: 0.75rem; +} + +.admonition p:first-child { + margin-left: 2.5rem; +} + +.admonition > p:last-of-type { + margin-bottom: 0; +} + +.admonitionNote { + --admonition-border-color: rgba(251, 176, 59, 0.5); + --admonition-background-color: rgba(251, 176, 59, 0.05); + --admonition-icon-color: rgba(251, 176, 59, 1); +} + +.admonitionTip { + --admonition-border-color: rgba(38, 215, 109, 0.5); + --admonition-background-color: rgba(38, 215, 109, 0.05); + --admonition-icon-color: rgba(38, 215, 109, 1); +} + +.admonitionInfo { + --admonition-border-color: rgba(147, 154, 255, 0.5); + --admonition-background-color: rgba(147, 154, 255, 0.05); + --admonition-icon-color: rgba(147, 154, 255, 1); +} + +.admonitionWarning { + --admonition-border-color: rgba(246, 142, 95, 0.5); + --admonition-background-color: rgba(246, 142, 95, 0.05); + --admonition-icon-color: rgba(246, 142, 95, 1); +} + +.admonitionDanger { + --admonition-border-color: rgba(235, 49, 138, 0.5); + --admonition-background-color: rgba(235, 49, 138, 0.05); + --admonition-icon-color: rgba(235, 49, 138, 1); +} + +.admonition + .admonition { + margin-top: 1.5rem; +} diff --git a/src/theme/Admonition/tip.svg b/src/theme/Admonition/tip.svg new file mode 100644 index 0000000000..7cb07787b5 --- /dev/null +++ b/src/theme/Admonition/tip.svg @@ -0,0 +1,5 @@ + + + + diff --git a/src/theme/BlogListPage/index.js b/src/theme/BlogListPage/index.js index f80808b88a..98759ec558 100644 --- a/src/theme/BlogListPage/index.js +++ b/src/theme/BlogListPage/index.js @@ -30,7 +30,7 @@ function BlogListPageContent(props) { return ( -

Dev Blog

+

Dev Blog

diff --git a/src/theme/BlogPostItems/index.js b/src/theme/BlogPostItems/index.js index a068d5ac87..059150b2ab 100644 --- a/src/theme/BlogPostItems/index.js +++ b/src/theme/BlogPostItems/index.js @@ -1,8 +1,8 @@ import React from "react"; -import BlogPostItem from "@theme/BlogPostItem"; import clsx from "clsx"; import Link from "@docusaurus/Link"; import slugify from "slugify"; +import { tagColors } from "@site/src/utils/blog"; function Tags({ tags }) { return ( @@ -56,16 +56,7 @@ function CoverImage({ url = "/img/dfinity.png", permalink }) { ); } -const tagColors = { - Devs: "bg-razzmatazz-300 text-white", - "New features": "bg-blue text-white", -}; - -export default function BlogPostItems({ - items, - component: BlogPostItemComponent = BlogPostItem, - withFeatured = false, -}) { +export default function BlogPostItems({ items, withFeatured = false }) { const featuredPost = items[0]; const restPosts = withFeatured ? items.slice(1) : items; diff --git a/src/utils/blog.ts b/src/utils/blog.ts new file mode 100644 index 0000000000..f474fa5df2 --- /dev/null +++ b/src/utils/blog.ts @@ -0,0 +1,4 @@ +export const tagColors = { + Devs: "bg-razzmatazz-300 text-white", + "New features": "bg-blue text-white", +}; diff --git a/static/img/docs/hero-bg.webp b/static/img/docs/hero-bg.webp new file mode 100644 index 0000000000000000000000000000000000000000..64ccabc85aa9689773c755bafb4c7f326dd0cd9d GIT binary patch literal 191934 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 O0000mGs4U`Ne)c9hukS!W<gBT@BC!sT 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 Hu0mjfe_i5) literal 0 HcmV?d00001 diff --git a/static/img/docs/typescript.png b/static/img/docs/typescript.png new file mode 100644 index 0000000000000000000000000000000000000000..f1cafe43321fabcc13c9a838042daf0aca5631e5 GIT binary patch literal 1661 zcmb`Ii#rnv1IB0MGPzEsxy;yf9K@1tZo6feX)fh%b4fUp^*N0Wl1m$+>2NIfBBV@a z%w;<6wmGq$Z&4jb7uCrngcG@c&j0W|&-=c==Y9WyH;3#=Py<0h002PE%@yyxPx8N3 zR@~3qS}WXrsL)*l5&!^Q3N#6k zgEKJvO}%A}8m~|&aI8U$EwWrGV11DjQ{@HlOrBCBR}j?RCQ4X@ow@lYdD50cPj-@! zx+-NycRrSH*?(TQpI2sL%_Y|MUij_SA|PYU10+=L*LO!>_W92C>RDRd99{j9bz;{_ z6dGDVoon+YV|CHmdbz1D=0p5?u3{|qytJYzX%4I#7x=8x1<|-@`TX3Yjn>k{yG2zh z0?dd^1L@;NS@PS4^Eeehz@5^N2n_CFr+DxqHw%H-HhZg@0+QZDAe4t3%nI_D2>gs* zVau~SS<2}u+VBTx%>P#=nu>X(JS^t2!!R-c#rRq0m^L??U!oOrqR;*vYrysfg9Qm` zy8hS9ay4%%|7}wz#(X?wDGb~(+u-2fWO~SSXgHO#oJ#WRUGutNTkPzhcve<;g%WuD z1#fEEqn-~Fl^P@or*r2l)J_8-QjdY3h61wL>N_85hl9wc%rX3``wFEV3h`EwA@Bjy zli-7g@b0(x1YaYO4G`i6H7ivM8gy*+NlI*_f!{+`@KOOwXh6YTFV*p40+==>o7?qwrdCpEq|LSov<32sS zI#wu}7ZIx}36pWwtsV3MZt$cAg}`$>%kP0Nrn~XxKHL+GHxS>DyF%n&UHi_Aa>gmQ z20VMTaOQ*#JVH5r$EhcF%d`-TLOCk#DKRz0^<}y+Zh4-{Y+z8=J5*M$%rCe!_16fi zSKmf5{o9OvULVnbFg5)r=dj6aMnU#*aN~8F!CGU<*hKzo*L*%&XW$E7a3N%Tiep{u zHzq}oZvtul<+r+z>tly(fN2his?IzMJ!QFKha%?FT1NNkKMF{So+Z=WtSBw@0LyyK zSSNQu@-VoJee8sZDQR=>#yA=17z%T5rwopn{;B#-*w?|xq10(>mJ1VEj!q7-DN=cwIp%M8aW&V?UErcN z;P>fvbMo|@6x#ef^Ouz5F0iNc-r~y@E&u)z`PeK{!0P&9C@maQ_wi}qMTyM$VZ3Y8 z-I~e?kg%)y@k^GWR< zBnl^k)`}K79~`E-yap~+sKIR~yf82hf!)`xc`#)#OcxOb(x z=Gh2J!|sJidsrP^rLcp&5OXc$RA9Ypzkn8BoJYtSo>-`}rPqnbN5J2Gk5YvitlCMD)Zk5@hb=1>8H4ualJ8{O%oFu|n~yz)hF$5lf}g>5X592!VZeOOd5GnU7A1yUYvk>$Jik1d^#Xb1zcmpd#l#4Ix`bW{MkQ z3fdbe1pNK#2cl2KC$wGd1L&{R*U604a-3NaXDf`qV*VE>$4NP^7Z4(X{Wy=_t@vsq zBLvuN$Z4y&9@;b7=~`F)twuA^k`hHb)mfmvS$XMwtQHcHleN(^K=mq%K`Yg^=9Z4y hOS|p2DDA=?fcMzngV9V6mHoE>xSjRHH({w6{{yG8{GI>+ literal 0 HcmV?d00001 diff --git a/tailwind.config.js b/tailwind.config.js index 6d56c831c1..49f07d1ffe 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -7,7 +7,7 @@ module.exports = { zIndex: { 1: "1", "-1": "-1", - "-10": "-10" + "-10": "-10", }, maxWidth: { page: "1440px", @@ -76,6 +76,9 @@ module.exports = { DEFAULT: "#3B00B9", 60: "#6E52AA", }, + page: { + DEFAULT: "#F1EEF5", + }, transparent: "transparent", grey: { 300: "#dfdfdf", @@ -198,6 +201,7 @@ module.exports = { '.button-small': '@apply tw-title-navigation-on-page px-3 py-[6px] normal-case', '.button-round': '@apply tw-title-navigation px-5 py-[9px] text-infinite bg-white border border-solid border-grey-300 rounded-full hover:bg-infinite hover:border-infinite hover:text-white hover:no-underline transition-all', '.button-round-icon': '@apply inline-flex justify-center items-center w-10 h-10 text-infinite bg-white border border-solid border-grey-300 rounded-full hover:bg-infinite hover:border-infinite hover:text-white hover:no-underline transition-all', + '.button-with-icon': '@apply inline-flex gap-2 items-start md:items-center', '.link-subtle': '@apply text-infinite hover:text-black hover:no-underline', '.link-primary': '@apply tw-heading-6 text-infinite hover:text-black hover:no-underline',