diff --git a/.gitignore b/.gitignore index 3f0fe0d1..8726a0fc 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,7 @@ pnpm-lock.yaml .env .vercel .env*.local +.aider* +data/ +.vscode/settings.json + diff --git a/assets/fonts/0_campton_thin.otf b/assets/fonts/0_campton_thin.otf new file mode 100644 index 00000000..e0d70ac3 Binary files /dev/null and b/assets/fonts/0_campton_thin.otf differ diff --git a/assets/fonts/1_campton_extra_light.otf b/assets/fonts/1_campton_extra_light.otf new file mode 100644 index 00000000..01f28f07 Binary files /dev/null and b/assets/fonts/1_campton_extra_light.otf differ diff --git a/assets/fonts/2_campton_light.otf b/assets/fonts/2_campton_light.otf new file mode 100644 index 00000000..e299cf4d Binary files /dev/null and b/assets/fonts/2_campton_light.otf differ diff --git a/assets/fonts/3_campton_normal.otf b/assets/fonts/3_campton_normal.otf new file mode 100644 index 00000000..7df926bc Binary files /dev/null and b/assets/fonts/3_campton_normal.otf differ diff --git a/assets/fonts/4_campton_medium.otf b/assets/fonts/4_campton_medium.otf new file mode 100644 index 00000000..a65ca2ae Binary files /dev/null and b/assets/fonts/4_campton_medium.otf differ diff --git a/assets/fonts/5_campton_semi_bold.otf b/assets/fonts/5_campton_semi_bold.otf new file mode 100644 index 00000000..ff543706 Binary files /dev/null and b/assets/fonts/5_campton_semi_bold.otf differ diff --git a/assets/fonts/6_campton_bold.otf b/assets/fonts/6_campton_bold.otf new file mode 100644 index 00000000..2e18b759 Binary files /dev/null and b/assets/fonts/6_campton_bold.otf differ diff --git a/assets/fonts/7_campton_extra_bold.otf b/assets/fonts/7_campton_extra_bold.otf new file mode 100644 index 00000000..de9a0b5a Binary files /dev/null and b/assets/fonts/7_campton_extra_bold.otf differ diff --git a/assets/fonts/8_campton_black.otf b/assets/fonts/8_campton_black.otf new file mode 100644 index 00000000..a3f87de8 Binary files /dev/null and b/assets/fonts/8_campton_black.otf differ diff --git a/assets/icons/copy.svg b/assets/icons/copy.svg new file mode 100644 index 00000000..ff1d0e2b --- /dev/null +++ b/assets/icons/copy.svg @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/assets/icons/copy_success.svg b/assets/icons/copy_success.svg new file mode 100644 index 00000000..088818c3 --- /dev/null +++ b/assets/icons/copy_success.svg @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/assets/icons/github.svg b/assets/icons/github.svg new file mode 100644 index 00000000..703c6fcb --- /dev/null +++ b/assets/icons/github.svg @@ -0,0 +1,15 @@ + \ No newline at end of file diff --git a/assets/icons/github_nav.svg b/assets/icons/github_nav.svg new file mode 100644 index 00000000..0e4f1a4c --- /dev/null +++ b/assets/icons/github_nav.svg @@ -0,0 +1,13 @@ + \ No newline at end of file diff --git a/assets/icons/index.ts b/assets/icons/index.ts new file mode 100644 index 00000000..90177943 --- /dev/null +++ b/assets/icons/index.ts @@ -0,0 +1,9 @@ +export { default as XIcon } from "./x.svg"; +export { default as GithubIcon } from "./github.svg"; +export { default as GithubNavIcon } from "./github_nav.svg"; +export { default as OpenSourceIcon } from "./opensource.svg"; +export { default as OSIcon } from "./oss.svg"; +export { default as StarIcon } from "./star.svg"; +export { default as CopyIcon } from "./copy.svg"; +export { default as CopySuccessIcon } from "./copy_success.svg"; +export { default as SingleCommitIcon } from "./single_commit.svg"; diff --git a/assets/icons/opensource.svg b/assets/icons/opensource.svg new file mode 100644 index 00000000..b05e2c36 --- /dev/null +++ b/assets/icons/opensource.svg @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/assets/icons/oss.svg b/assets/icons/oss.svg new file mode 100644 index 00000000..3c7642e6 --- /dev/null +++ b/assets/icons/oss.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/single_commit.svg b/assets/icons/single_commit.svg new file mode 100644 index 00000000..1ed146bf --- /dev/null +++ b/assets/icons/single_commit.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/assets/icons/star.svg b/assets/icons/star.svg new file mode 100644 index 00000000..f22b916f --- /dev/null +++ b/assets/icons/star.svg @@ -0,0 +1,18 @@ + \ No newline at end of file diff --git a/assets/icons/x.svg b/assets/icons/x.svg new file mode 100644 index 00000000..bf79576f --- /dev/null +++ b/assets/icons/x.svg @@ -0,0 +1,14 @@ + \ No newline at end of file diff --git a/assets/images/bg.jpg b/assets/images/bg.jpg new file mode 100644 index 00000000..f1a34652 Binary files /dev/null and b/assets/images/bg.jpg differ diff --git a/assets/images/black_sand.jpg b/assets/images/black_sand.jpg new file mode 100644 index 00000000..6a32479f Binary files /dev/null and b/assets/images/black_sand.jpg differ diff --git a/assets/logos/blue_dark_full.svg b/assets/logos/blue_dark_full.svg new file mode 100644 index 00000000..55f0e476 --- /dev/null +++ b/assets/logos/blue_dark_full.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/assets/logos/blue_icon.svg b/assets/logos/blue_icon.svg new file mode 100644 index 00000000..c2ca53ac --- /dev/null +++ b/assets/logos/blue_icon.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + diff --git a/assets/logos/blue_light_full.svg b/assets/logos/blue_light_full.svg new file mode 100644 index 00000000..56914d4c --- /dev/null +++ b/assets/logos/blue_light_full.svg @@ -0,0 +1,507 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/logos/index.ts b/assets/logos/index.ts new file mode 100644 index 00000000..9d127934 --- /dev/null +++ b/assets/logos/index.ts @@ -0,0 +1,7 @@ +export { default as BlueDarkAdastackLogoFull } from "./blue_dark_full.svg"; +export { default as BlueAdastackIcon } from "./blue_icon.svg"; +export { default as BlueLightAdastackLogoFull } from "./blue_light_full.svg"; +export { default as LightBlueAdastackLogoFull } from "./light_blue_full.svg"; +export { default as LightBlueAdastackIcon } from "./light_blue_icon.svg"; +export { default as WhiteAdastackLogoFull } from "./white_full.svg"; +export { default as WhiteAdastackIcon } from "./white_icon.svg"; diff --git a/assets/logos/light_blue_full.svg b/assets/logos/light_blue_full.svg new file mode 100644 index 00000000..46278a32 --- /dev/null +++ b/assets/logos/light_blue_full.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/logos/light_blue_icon.svg b/assets/logos/light_blue_icon.svg new file mode 100644 index 00000000..86583e09 --- /dev/null +++ b/assets/logos/light_blue_icon.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + diff --git a/assets/logos/white_full.svg b/assets/logos/white_full.svg new file mode 100644 index 00000000..d9006fd5 --- /dev/null +++ b/assets/logos/white_full.svg @@ -0,0 +1,506 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/logos/white_icon.svg b/assets/logos/white_icon.svg new file mode 100644 index 00000000..8dd27656 --- /dev/null +++ b/assets/logos/white_icon.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + diff --git a/components/HomeHero.jsx b/components/HomeHero.jsx new file mode 100644 index 00000000..726acd1d --- /dev/null +++ b/components/HomeHero.jsx @@ -0,0 +1,48 @@ +// components/HomeHero.jsx +import Link from "next/link"; +import Image from "next/image"; +import bgImage from "../assets/images/bg.jpg"; + +const HomeHero = () => { + return ( +
+ Background + +
+

+ Cardano Library +

+

+ Learn and Explore Cardano +

+ +
+
+ + Adastack is your comprehensive guide to the Cardano ecosystem. + Open-source knowledge, curated by the Cardano community. + +
+
+ + + Explore All Pages + +
+
+ ); +}; + +export default HomeHero; diff --git a/components/badges/CategoryTag.tsx b/components/badges/CategoryTag.tsx new file mode 100644 index 00000000..984d6bcb --- /dev/null +++ b/components/badges/CategoryTag.tsx @@ -0,0 +1,30 @@ +const CategoryTag = ({ color = "blue", category }) => { + if (!category) return null; + + const colorVariants = { + blue: "bg-blue-100 text-blue-800 dark:bg-gray-700 dark:text-blue-400", + gray: "bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-400", + red: "bg-red-100 text-red-800 dark:bg-gray-700 dark:text-red-400", + green: "bg-green-100 text-green-800 dark:bg-gray-700 dark:text-green-400", + yellow: + "bg-yellow-100 text-yellow-800 dark:bg-gray-700 dark:text-yellow-300", + indigo: + "bg-indigo-100 text-indigo-800 dark:bg-gray-700 dark:text-indigo-400", + purple: + "bg-purple-100 text-purple-800 dark:bg-gray-700 dark:text-purple-400", + pink: "bg-pink-100 text-pink-800 dark:bg-gray-700 dark:text-pink-400", + }; + + const baseClasses = + "inline-flex items-center text-[10px] font-medium me-2 px-2.5 py-0.5 rounded dark:bg-transparent"; + + return ( + + {category} + + ); +}; + +export default CategoryTag; diff --git a/components/badges/Favicon.tsx b/components/badges/Favicon.tsx new file mode 100644 index 00000000..b287e64b --- /dev/null +++ b/components/badges/Favicon.tsx @@ -0,0 +1,17 @@ +type FaviconProps = { + url: string | null; +}; + +const Favicon = ({ url }: FaviconProps) => { + return ( + + + + ); +}; + +export default Favicon; diff --git a/components/badges/LatestCommitBadge.tsx b/components/badges/LatestCommitBadge.tsx new file mode 100644 index 00000000..2d3d54d3 --- /dev/null +++ b/components/badges/LatestCommitBadge.tsx @@ -0,0 +1,30 @@ +import React from "react"; +import { Button, Typography } from "antd"; +import { SingleCommitIcon } from "../../assets/icons"; + +const { Text } = Typography; + +const LatestCommitBadge = ({ repoURL }) => { + if (!repoURL) return null; + + const repoName = repoURL.split("/").slice(-1); + + return ( + + +
+ +
+
+
+ ); +}; + +export default LatestCommitBadge; diff --git a/components/badges/MostStarredRepoBadge.tsx b/components/badges/MostStarredRepoBadge.tsx new file mode 100644 index 00000000..1e29c044 --- /dev/null +++ b/components/badges/MostStarredRepoBadge.tsx @@ -0,0 +1,49 @@ +import React from "react"; +import { Button, Typography, Tooltip } from "antd"; + +const { Text } = Typography; + +const MostStarredRepoBadge = ({ repoURL, repoStarCount }) => { + if (!repoURL || repoURL.length === 0) { + return "..."; + } + + const repoName = repoURL.split("/").slice(-1); + + return ( + + + + + + ); +}; + +export default MostStarredRepoBadge; diff --git a/components/badges/TeamGithubBadge.tsx b/components/badges/TeamGithubBadge.tsx new file mode 100644 index 00000000..7fcbbbdc --- /dev/null +++ b/components/badges/TeamGithubBadge.tsx @@ -0,0 +1,32 @@ +import React from "react"; +import { Button } from "antd"; +import { GithubIcon } from "../../assets/icons"; + +interface TeamGithubBadgeProps { + teamGithubURL: string; + error: string | null; + text?: string; // Optional text prop with default value +} + +const TeamGithubBadge: React.FC = React.memo( + ({ teamGithubURL, error, text = "Team" }) => { + if (!teamGithubURL || error) { + return null; + } + + return ( + +
+ +
+
+ ); + } +); + +export default TeamGithubBadge; diff --git a/components/badges/shield_io_badges/CodeLanguageShieldIoBadge.tsx b/components/badges/shield_io_badges/CodeLanguageShieldIoBadge.tsx new file mode 100644 index 00000000..cd0abc2c --- /dev/null +++ b/components/badges/shield_io_badges/CodeLanguageShieldIoBadge.tsx @@ -0,0 +1,107 @@ +import React from "react"; + +const CodeLanguageShieldIoBadge = ({ language }) => { + if (!language) return null; + + // Convert language name to lowercase and handle special cases + const formatLanguageName = (name) => { + const specialCases = { + "c++": "cpp", + "c#": "csharp", + "f#": "fsharp", + "objective-c": "objectivec", + "jupyter notebook": "jupyter", + cuda: "nvidia", + }; + return specialCases[name.toLowerCase()] || name.toLowerCase(); + }; + + const languageLower = formatLanguageName(language); + + // Logo colors mapped to GitHub's language colors + const logoColorMap = { + assembly: "6E4C13", + c: "555555", + cpp: "F34B7D", + csharp: "178600", + css: "563D7C", + dart: "00B4AB", + elixir: "6E4A7E", + elm: "60B5CC", + erlang: "B83998", + fsharp: "B845FC", + go: "00ADD8", + groovy: "4298B8", + haskell: "5D4F85", + html: "E34C26", + java: "B07219", + javascript: "F1E05A", + julia: "A270BA", + jupyter: "DA5B0B", + kotlin: "A97BFF", + latex: "008080", + lua: "000080", + markdown: "083FA1", + nix: "7E7EFF", + objectivec: "438EFF", + ocaml: "3BE133", + perl: "0298C3", + php: "4F5D95", + python: "3572A5", + r: "198CE7", + ruby: "701516", + rust: "DEA584", + scala: "C22D40", + shell: "89E051", + solidity: "AA6746", + swift: "F05138", + typescript: "007ACC", + vim: "199F4B", + vue: "41B883", + webassembly: "04133B", + zig: "EC915C", + default: "333333", + }; + + const logoColor = logoColorMap[languageLower] || logoColorMap.default; + + return ( + <> + + {`${language} + {`${language} + + ); +}; + +export default CodeLanguageShieldIoBadge; diff --git a/components/badges/shield_io_badges/RepoShieldIoBadge.tsx b/components/badges/shield_io_badges/RepoShieldIoBadge.tsx new file mode 100644 index 00000000..b2efc22c --- /dev/null +++ b/components/badges/shield_io_badges/RepoShieldIoBadge.tsx @@ -0,0 +1,36 @@ +import React from "react"; + +interface RepoShieldIoBadgeProps { + githubUrl: string; + text?: string; +} + +const RepoShieldIoBadge: React.FC = React.memo( + ({ githubUrl, text = "Repo Github" }) => { + if (!githubUrl) { + return null; + } + + // Extract owner and repo from GitHub URL + const urlParts = githubUrl.split("/"); + const owner = urlParts[urlParts.length - 2]; + const repo = urlParts[urlParts.length - 1]; + + // Create shields.io URL with flat style and white background + const shieldsIoUrl = `https://img.shields.io/github/stars/${owner}/${repo}?style=flat&logo=github&logoColor=000000&label=${encodeURIComponent( + text + )}&labelColor=ffffff&color=ffffff`; + + return ( + + {`${text} + + ); + } +); + +export default RepoShieldIoBadge; diff --git a/components/tables/OpenSourceBuildersTable.jsx b/components/tables/OpenSourceBuildersTable.jsx new file mode 100644 index 00000000..ee54ea67 --- /dev/null +++ b/components/tables/OpenSourceBuildersTable.jsx @@ -0,0 +1,390 @@ +import React from "react"; +import { Table, Tag, Typography, Tooltip, Button, Card, Space } from "antd"; +import { StarIcon } from "../../assets/icons"; +import TeamGithubBadge from "@components/badges/TeamGithubBadge"; +import CodeLanguageShieldIoBadge from "@components/badges/shield_io_badges/CodeLanguageShieldIoBadge"; +import Favicon from "@components/badges/Favicon"; +import LatestCommitBadge from "@components/badges/LatestCommitBadge"; +import MostStarredRepoBadge from "@components/badges/MostStarredRepoBadge"; +import CategoryTag from "@components/badges/CategoryTag"; +import { CopyIcon, CopySuccessIcon } from "../../assets/icons"; + +const { Paragraph, Title, Text } = Typography; + +const capitalizeAndRemoveHypens = (name) => { + return name + .split("-") + .map((word) => word.charAt(0).toUpperCase() + word.slice(1)) + .join(" "); +}; + +const RepoInfoTooltip = ({ repo, children }) => { + return ( + + + + {repo?.name ? capitalizeAndRemoveHypens(repo.name) : ""} + + + {repo?.description || "No project description"} + +
+ {repo?.language && ( +
+ + Stack:  + + +
+ )} + + + Stars:  + {repo?.stars ?? 0} + + + Last Commit:  + {repo?.timeSinceLastCommit || ""} ago + + +
+ +
+
+
+ + } + > + {children} +
+ ); +}; + +const TeamGithubTooltip = ({ record, children }) => { + return ( + + + + + + } + > + {children} + + ); +}; + +const OpenSourceBuildersTable = ({ data }) => { + const columns = [ + { + title: "Team", + dataIndex: "name", + key: "name", + fixed: "left", + width: 260, + sorter: (a, b) => a.name.localeCompare(b.name), + render: (name, record) => ( + +
+ + +  {name} + + + , + , + ], + tooltips: ["Copy Website URL", "Copied"], + }} + > +
+
+ ), + }, + { + title: "Total Stars", + dataIndex: "starCount", + key: "starCount", + width: 100, + defaultSortOrder: "descend", + sorter: { + compare: (a, b) => (a.starCount ?? 0) - (b.starCount ?? 0), + multiple: 2, + }, + render: (starCount, record) => { + const displayValue = + !starCount && starCount !== 0 ? "..." : starCount.toLocaleString(); + + return ( + + ); + }, + }, + { + title: "Most Starred Repo", + dataIndex: ["mostStarredRepo", "pushedAt"], + key: "pushedAt", + width: 280, + sorter: { + compare: (a, b) => + (b.mostStarredRepo?.stars || 0) - (a.mostStarredRepo?.stars || 0), + multiple: 2, + }, + render: (pushedAt, record) => ( +
+ + + + + +
+ ), + }, + { + title: "Latest Commit", + dataIndex: ["mostRecentRepo", "url"], + key: "url", + width: 276, + sorter: { + compare: (a, b) => { + const dateA = a.mostRecentRepo?.pushedAt + ? new Date(a.mostRecentRepo.pushedAt).getTime() + : 0; + const dateB = b.mostRecentRepo?.pushedAt + ? new Date(b.mostRecentRepo.pushedAt).getTime() + : 0; + return dateB - dateA; + }, + multiple: 3, + }, + render: (url, record) => ( + <> + + + + + +   + + {record.mostRecentRepo?.timeSinceLastCommit || "..."} + + + ), + }, + { + title: "Team GitHub", + dataIndex: "teamGithubURL", + key: "teamGithubURL", + width: 140, + render: (teamGithubURL, record) => { + return ( +
+ + + + + +
e.stopPropagation()}> + , + , + ], + tooltips: ["Copy GitHub URL", "Copied"], + }} + /> +
+
+ ); + }, + }, + { + title: "Category", + key: "tag", + width: 185, + dataIndex: "tag", + sorter: { + compare: (a, b) => { + const priorityOrder = [ + "Organization", + "dApp", + "Audits", + "Dev Company", + "Tools", + ]; + + const getPriorityScore = (tags) => { + if (!Array.isArray(tags) || tags.length === 0) return Infinity; + return Math.min( + ...tags.map((tag) => { + const index = priorityOrder.indexOf(tag); + return index === -1 ? Infinity : index; + }) + ); + }; + + const scoreA = getPriorityScore(a.tags); + const scoreB = getPriorityScore(b.tags); + + if (scoreA !== scoreB) { + return scoreA - scoreB; + } + + // If priority scores are the same, sort by number of tags (more tags first) + if (a.tags.length !== b.tags.length) { + return b.tags.length - a.tags.length; + } + + // If number of tags is the same, sort alphabetically + return a.tags.join(",").localeCompare(b.tags.join(",")); + }, + multiple: 2, + }, + filters: [ + { + text: "Organization", + value: "Organization", + }, + { + text: "Dapp", + value: "dApp", + }, + { + text: "Dev Company", + value: "Dev Company", + }, + { + text: "Audits", + value: "Audits", + }, + { + text: "Tools", + value: "Tools", + }, + ], + filterMode: "tree", + filterSearch: true, + onFilter: (value, record) => + Array.isArray(record.tags) && + record.tags.some((tag) => + tag.toLowerCase().includes(value.toLowerCase()) + ), + render: (_, { tags }) => { + if (!Array.isArray(tags)) { + return null; + } + return ( + <> + {tags + .filter((tag) => tag) + .map((tag) => { + let color; + if (tag.toLowerCase() === "dapp") { + color = "indigo"; + } + if (tag.toLowerCase() === "organization") { + color = "green"; + } + if (tag.toLowerCase() === "tools") { + color = "yellow"; + } + if (tag.toLowerCase() === "audits") { + color = "gray"; + } + return ( + <> + + + ); + })} + + ); + }, + }, + ]; + + return ( + <> + + + ); +}; + +export default OpenSourceBuildersTable; diff --git a/css/styles.css b/css/styles.css index cae1ca5a..041c1a8f 100644 --- a/css/styles.css +++ b/css/styles.css @@ -2,6 +2,30 @@ @import "tailwindcss/components"; @import "tailwindcss/utilities"; +/* Theme */ +html[style*="color-scheme: dark;"] body { + background-color: #0e121e !important; +} + +html[style*="color-scheme: light;"] body { + background-color: #f7f7f7 !important; +} + +h1, +h2, +h3, +h4, +h5, +h6, +.sidebar-menu-item, +input::placeholder, +.specialized_font { + font-family: var(--font-campton), "Segoe UI", "Roboto", "Noto Sans", "Ubuntu", + "Cantarell", "Helvetica Neue", "ui-sans-serif", "system-ui", "-apple-system", + "BlinkMacSystemFont", "Arial", "sans-serif", "Apple Color Emoji", + "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +} + /* Links */ a { text-decoration: none !important; @@ -21,48 +45,254 @@ a:hover { color: #0056b3; } +/* Top Navbar */ /* Site logo */ -.adastack-title { - margin-left: -30px; +.adastack-logo-container { + padding: 20px 23px; +} + +/* Navbar on dark theme */ +html[style*="color-scheme: dark;"] + .nextra-nav-container + .nextra-nav-container-blur { + background-color: #080a15 !important; + box-shadow: none; + border-bottom: 1px solid #1d2235; } -html[style*="color-scheme: dark;"] .adastack-title { - color: #f3f4f6; +/* Navbar on light theme */ +html[style*="color-scheme: light;"] + .nextra-nav-container + .nextra-nav-container-blur { + background-color: #fff !important; + box-shadow: none; + border-bottom: 1px solid #f1f5f9; } -svg.adastack-logo { - padding: 13px; +/* Social links */ +html .nextra-nav-container a.nx-p-2.nx-text-current { + padding: 2px !important; + margin-left: -6px; } -/* Background on light */ -html[style*="color-scheme: light;"] div.nx-mx-auto.nx-flex.nx-max-w-\[90rem\] { - background-color: #fafafa; +/* Social links on light theme */ +html[style*="color-scheme: light;"] + .nextra-nav-container + a.nx-p-2.nx-text-current { + fill: #a3a3a3; } -/* Background on dark */ +/* Social links on dark theme */ html[style*="color-scheme: dark;"] .nextra-nav-container - .nextra-nav-container-blur { - background-color: #050505 !important; + a.nx-p-2.nx-text-current { + fill: #64748b; +} + +/* Search Bar */ +.nextra-search { + margin-right: 12px; } -/* Nav background on light */ -html .nextra-nav-container .nextra-nav-container-blur { - background-color: #fafaf9 !important; +/* Search Bar Keyboard Icon */ +kbd.nx-absolute.nx-my-1\.5.nx-select-none.ltr\:nx-right-1\.5.rtl\:nx-left-1\.5.nx-h-5.nx-rounded.nx-bg-white.nx-px-1\.5.nx-font-mono.nx-text-\[10px\].nx-font-medium.nx-text-gray-500.nx-border.dark\:nx-border-gray-100\/20.dark\:nx-bg-dark\/50.contrast-more\:nx-border-current.contrast-more\:nx-text-current.contrast-more\:dark\:nx-border-current.nx-items-center.nx-gap-1.nx-transition-opacity.nx-pointer-events-none.nx-hidden.sm\:nx-flex { + background-color: #4363ee; + color: #fff; + border: 2px solid #5c78e8; } -/* Nav GitHub Link */ -.navbar-github-link { - margin-left: -4px; +/* Left Sidebar */ +html[style*="color-scheme: dark;"] aside.nextra-sidebar-container { + border-right: 1px solid #1d2235; +} +html[style*="color-scheme: light;"] aside.nextra-sidebar-container { + border-right: 1px solid #f3f3f3; +} +html[style*="color-scheme: light;"] aside.nextra-sidebar-container { + background-color: #f7f7f7; + mask-image: none; +} + +html[style*="color-scheme: dark;"] aside.nextra-sidebar-container { + background-color: #0e121e; + mask-image: none; } html[style*="color-scheme: light;"] - .navbar-github-link - .navbar-github-link-path { - fill: #9ca3af; + p.nx-mb-4.nx-font-semibold.nx-tracking-tight + + ul { + background-color: #f7f7f7; +} + +/* Styles for the surroundings of the sidebar */ +.nextra-scrollbar { + padding-top: 0.3rem !important; + padding-right: 0rem !important; + padding-bottom: 1rem !important; + padding-left: 0rem !important; +} + +/* Each sidebar item */ +button:has(.sidebar-menu-item), +a:has(.sidebar-menu-item) { + margin-bottom: -4px; + padding-top: 11px; + padding-right: 0; + padding-bottom: 11px; + padding-left: 1.3rem; +} + +/* Dropdown item styling */ +ul.nx-flex.nx-flex-col.nx-gap-1.nx-relative.before\:nx-absolute.before\:nx-inset-y-1.before\:nx-w-px.before\:nx-bg-gray-200.before\:nx-content-\[\"\"\].dark\:before\:nx-bg-neutral-800.ltr\:nx-pl-3.ltr\:before\:nx-left-0.rtl\:nx-pr-3.rtl\:before\:nx-right-0.ltr\:nx-ml-3.rtl\:nx-mr-3 { + padding-left: 0px; + margin-left: 1.5rem; + padding-top: 2px; +} + +/* Add a bit of padding to first sidebar item of each dropdown. */ +ul.nx-flex.nx-flex-col.nx-gap-1 > li:first-child > a .sidebar-menu-item { + padding-top: 2px; +} + +/* Fix issue causing visual stutter on dropdown */ +.nx-transition-opacity.nx-duration-500.nx-ease-in-out.motion-reduce\:nx-transition-none.nx-opacity-0.ltr\:nx-pr-0.rtl\:nx-pl-0.nx-pt-1, +.nx-transition-opacity.nx-duration-500.nx-ease-in-out.motion-reduce\:nx-transition-none.nx-opacity-100.ltr\:nx-pr-0.rtl\:nx-pl-0.nx-pt-1 { + padding-top: 0px; +} + +/* Sidebar item down arrow */ +.sidebar-menu-item + svg { + margin-right: 20px; +} + +:is(html[class~="light"]) button:has(.sidebar-menu-item), +:is(html[class~="light"]) a:has(.sidebar-menu-item) { + border-bottom: #e5e5e52e solid; +} + +:is(html[class~="dark"]) button:has(.sidebar-menu-item), +:is(html[class~="dark"]) a:has(.sidebar-menu-item) { + border-bottom: #2929292e solid; +} + +.light-sidebar-item-highlighted { + background-color: rgba(243, 244, 246, 1); + color: rgba(17, 24, 39, 1); +} + +.dark-sidebar-item-highlighted { + background-color: hsla(204, 100%, 94%, 0.05); + color: rgba(249, 250, 251, 1); +} + +/* Line that shows up to the left of dropdown items */ +:is(html[class~="dark"]) + ul.nx-flex.nx-flex-col.nx-gap-1.nx-relative.before\:nx-absolute.before\:nx-inset-y-1.before\:nx-w-px.before\:nx-bg-gray-200.before\:nx-content-\[\"\"\].dark\:before\:nx-bg-neutral-800.ltr\:nx-pl-3.ltr\:before\:nx-left-0.rtl\:nx-pr-3.rtl\:before\:nx-right-0.ltr\:nx-ml-3.rtl\:nx-mr-3:before { + background-color: #121620; + width: 2px; +} + +:is(html[class~="light"]) + ul.nx-flex.nx-flex-col.nx-gap-1.nx-relative.before\:nx-absolute.before\:nx-inset-y-1.before\:nx-w-px.before\:nx-bg-gray-200.before\:nx-content-\[\"\"\].dark\:before\:nx-bg-neutral-800.ltr\:nx-pl-3.ltr\:before\:nx-left-0.rtl\:nx-pr-3.rtl\:before\:nx-right-0.ltr\:nx-ml-3.rtl\:nx-mr-3:before { + background-color: #f3f3f3; + width: 2px; +} + +/* Sidebar footer */ +.nx-sticky.nx-bottom-0.nx-bg-white.dark\:nx-bg-dark.nx-mx-4.nx-py-4.nx-shadow-\[0_-12px_16px_\#fff\].nx-flex.nx-items-center.nx-gap-2.dark\:nx-border-neutral-800.dark\:nx-shadow-\[0_-12px_16px_\#111\].contrast-more\:nx-border-neutral-400.contrast-more\:nx-shadow-none.contrast-more\:dark\:nx-shadow-none.nx-border-t { + box-shadow: none; + height: 30px; + margin-top: 30px; + padding-top: 1.5rem; + padding-bottom: 1.5rem; + border-top: none; +} + +/* Right TOC Sidebar */ +html[style*="color-scheme: dark;"] + .nextra-scrollbar + ul + + .nx-mt-8.nx-border-t.nx-bg-white.nx-pt-8.nx-shadow-\[0_-12px_16px_white\].dark\:nx-bg-dark.dark\:nx-shadow-\[0_-12px_16px_\#111\].nx-sticky.nx-bottom-0.nx-flex.nx-flex-col.nx-items-start.nx-gap-2.nx-pb-8.dark\:nx-border-neutral-800.contrast-more\:nx-border-t.contrast-more\:nx-border-neutral-400.contrast-more\:nx-shadow-none.contrast-more\:dark\:nx-border-neutral-400 { + background-color: #0e121e; + box-shadow: none; +} + +html[style*="color-scheme: light;"] + .nextra-scrollbar + ul + + .nx-mt-8.nx-border-t.nx-bg-white.nx-pt-8.nx-shadow-\[0_-12px_16px_white\].dark\:nx-bg-dark.dark\:nx-shadow-\[0_-12px_16px_\#111\].nx-sticky.nx-bottom-0.nx-flex.nx-flex-col.nx-items-start.nx-gap-2.nx-pb-8.dark\:nx-border-neutral-800.contrast-more\:nx-border-t.contrast-more\:nx-border-neutral-400.contrast-more\:nx-shadow-none.contrast-more\:dark\:nx-border-neutral-400 { + background-color: #f7f7f7; + box-shadow: none; +} + +/* Footer on light desktop */ +html[style*="color-scheme: light;"] + .nx-sticky.nx-bottom-0.nx-bg-white.dark\:nx-bg-dark.nx-mx-4.nx-py-4.nx-shadow-\[0_-12px_16px_\#fff\].nx-flex.nx-items-center.nx-gap-2.dark\:nx-border-neutral-800.dark\:nx-shadow-\[0_-12px_16px_\#111\].contrast-more\:nx-border-neutral-400.contrast-more\:nx-shadow-none.contrast-more\:dark\:nx-shadow-none.nx-border-t { + background-color: #f7f7f7; +} +/* Footer on dark desktop */ +html[style*="color-scheme: dark;"] + .nx-sticky.nx-bottom-0.nx-bg-white.dark\:nx-bg-dark.nx-mx-4.nx-py-4.nx-shadow-\[0_-12px_16px_\#fff\].nx-flex.nx-items-center.nx-gap-2.dark\:nx-border-neutral-800.dark\:nx-shadow-\[0_-12px_16px_\#111\].contrast-more\:nx-border-neutral-400.contrast-more\:nx-shadow-none.contrast-more\:dark\:nx-shadow-none.nx-border-t { + background-color: #0e121e !important; +} + +/* Footer on light hide sidebar */ +html[style*="color-scheme: light;"] + .nx-sticky.nx-bottom-0.nx-bg-white.dark\:nx-bg-dark.nx-mx-4.nx-py-4.nx-shadow-\[0_-12px_16px_\#fff\].nx-flex.nx-items-center.nx-gap-2.dark\:nx-border-neutral-800.dark\:nx-shadow-\[0_-12px_16px_\#111\].contrast-more\:nx-border-neutral-400.contrast-more\:nx-shadow-none.contrast-more\:dark\:nx-shadow-none.nx-py-4.nx-flex-wrap.nx-justify-center { + background-color: #f7f7f7; + box-shadow: none; +} + +/* Footer on dark hide sidebar */ +html[style*="color-scheme: dark;"] + .nx-sticky.nx-bottom-0.nx-bg-white.dark\:nx-bg-dark.nx-mx-4.nx-py-4.nx-shadow-\[0_-12px_16px_\#fff\].nx-flex.nx-items-center.nx-gap-2.dark\:nx-border-neutral-800.dark\:nx-shadow-\[0_-12px_16px_\#111\].contrast-more\:nx-border-neutral-400.contrast-more\:nx-shadow-none.contrast-more\:dark\:nx-shadow-none.nx-py-4.nx-flex-wrap.nx-justify-center { + background-color: #0e121e; + box-shadow: none; +} + +/* Remove check icon within black/white toggle */ +.nx-z-20.nx-max-h-64.nx-overflow-auto.nx-rounded-md + li + span.nx-absolute.nx-inset-y-0.nx-flex.nx-items-center.ltr\:nx-right-3.rtl\:nx-left-3 { + display: none; } /* Home animation */ +.homehero { + height: calc(100vh - var(--nextra-navbar-height)); +} + +.homehero-button span { + color: white; +} + +.homehero-button, +.homehero-button:before, +.homehero-button:hover { + overflow: hidden !important; + position: relative; +} + +.homehero-button:before { + content: ""; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient( + 120deg, + transparent, + rgba(146, 148, 248, 0.4), + transparent + ); + transition: all 850ms; +} + +.homehero-button:hover:before { + left: 100%; +} + #animation { position: relative; height: calc(100vh - 4rem); @@ -70,10 +300,15 @@ html[style*="color-scheme: light;"] z-index: 0; } -article.nextra-content:has(#animation) { - /* Styles to apply to the article element */ - overflow: hidden; +article.nextra-content:has(.homehero) { + padding: 0px 0px; + background-color: #04050c; height: calc(100vh - var(--nextra-navbar-height)); + overflow: hidden; +} + +body:has(article.nextra-content .homehero) { + overflow: hidden; } html[style*="color-scheme: light;"] #animation { @@ -161,7 +396,7 @@ html[style*="color-scheme: light;"] .animation-subtitle { html[style*="color-scheme: dark;"] .animation-title, html[style*="color-scheme: dark;"] .animation-subtitle { - color: #fafaf9; + color: #f7f7f7; } ul.animation-description-text { @@ -262,42 +497,6 @@ a.nextra-card .nextra-card-title svg { box-shadow: 0 0 0 1px #0080ff; } -/* Left Sidebar */ -.nextra-scrollbar { - padding: 1rem 0rem 1rem 0rem !important; -} - -button:has(.sidebar-menu-item) { - margin-bottom: -4px; - padding: 11px 0 11px 10px; -} - -:is(html[class~="light"]) button:has(.sidebar-menu-item) { - border-bottom: #e5e5e52e solid; -} - -:is(html[class~="dark"]) button:has(.sidebar-menu-item) { - border-bottom: #2929292e solid; -} - -a:has(.sidebar-menu-item) { - padding: 10px 0 10px 10px; -} - -button[title="Hide sidebar"] { - display: none; -} - -.light-sidebar-item-highlighted { - background-color: rgba(243, 244, 246, 1); - color: rgba(17, 24, 39, 1); -} - -.dark-sidebar-item-highlighted { - background-color: hsla(204, 100%, 94%, 0.05); - color: rgba(249, 250, 251, 1); -} - /* Page Content */ /* Post header H1 */ h1.nx-mt-2.nx-text-4xl.nx-font-bold.nx-tracking-tight.nx-text-slate-900.dark\:nx-text-slate-100 { @@ -307,21 +506,6 @@ h1.nx-mt-2.nx-text-4xl.nx-font-bold.nx-tracking-tight.nx-text-slate-900.dark\:nx .nextra-breadcrumb { font-size: 0.675rem; } - -/* Right Sidebar */ -html[style*="color-scheme: light;"] - .nx-mt-8.nx-border-t.nx-bg-white.nx-pt-8.nx-shadow-\[0_-12px_16px_white\].dark\:nx-bg-dark.dark\:nx-shadow-\[0_-12px_16px_\#111\].nx-sticky.nx-bottom-0.nx-flex.nx-flex-col.nx-items-start.nx-gap-2.nx-pb-8.dark\:nx-border-neutral-800.contrast-more\:nx-border-t.contrast-more\:nx-border-neutral-400.contrast-more\:nx-shadow-none.contrast-more\:dark\:nx-border-neutral-400 { - background-color: #fafafa; - box-shadow: none; - bottom: -15px; -} - -html[style*="color-scheme: light;"] - p.nx-mb-4.nx-font-semibold.nx-tracking-tight - + ul { - background-color: #fafafa; -} - footer { display: none; } @@ -375,9 +559,19 @@ img.shields_io_button { margin-bottom: -5px; } +.shields_io_language_badge, +.shields_io_repo_badge { + padding-bottom: 5px; + margin-top: 5px; +} + .favicon-custom-css { border-color: #4b5563; - margin-top: 5px; + margin-top: 2px; +} + +:is(html[class~="dark"]) .badge-button { + background-color: transparent !important; } .github-badge { @@ -410,6 +604,7 @@ img.shields_io_button { text-decoration: none; opacity: 0.8; } + .page-in-development { opacity: 0.5; color: #888; @@ -417,6 +612,14 @@ img.shields_io_button { position: relative; } +:is(html[class~="dark"]) li.ant-pagination-total-text { + color: #a3a3a3; +} + +:is(html[class~="light"]) li.ant-pagination-total-text { + color: black; +} + a[class*="nx-cursor-pointer"]:has(.page-in-development) { cursor: default !important; } @@ -442,6 +645,88 @@ a[class*="nx-cursor-pointer"]:hover .page-in-development::after { right: -140px; } +/* Badges */ +.svg-icon { + height: 100px; + width: 100px; +} + +/* Ant Design Modifications */ +html body .ant-table-cell div a { + width: auto !important; +} + +.ant-table-cell .ant-typography { + display: inline-block; + margin-bottom: 0px !important; + margin-right: 2px !important; +} + +.last-commit-badge-container .last-commit-badge-content { + padding-left: 3px !important; + padding-right: 10px; +} + +.last-commit-badge-container .last-commit-badge-content .ant-btn-icon { + margin-right: -8px; +} + +html[style*="color-scheme: dark;"] .team_table_name { + color: #c8c8c8; +} + +html[style*="color-scheme: dark;"] .team_table_name:hover { + color: #fff; +} + +html[style*="color-scheme: light;"] .team_table_name { + color: #4b5563; +} + +html[style*="color-scheme: light;"] .team_table_name:hover { + color: black; +} + +.team_table_name_container:hover { + /* text-decoration: underline; */ +} + +.ant-table-cell div a { + width: 100%; +} + +html[style*="color-scheme: dark;"] .ant-typography-copy svg { + margin-bottom: -6px; + opacity: 25%; + fill: white; +} + +.ant-typography-copy svg { + margin-bottom: -6px; + opacity: 25%; +} + +.ant-table-cell div a { + color: #007bff; +} + +.ant-spin-nested-loading { + width: fit-content; +} + +span.ant-tag { + font-size: 10px; +} + +.ant-spin-nested-loading { + width: -moz-fit-content !important; + width: initial !important; +} + +td.ant-table-cell { + padding: 4px 6px !important; +} + /* Media Queries */ /* XS Size */ @media (max-width: 544px) { @@ -466,6 +751,15 @@ a[class*="nx-cursor-pointer"]:hover .page-in-development::after { overflow: hidden; } + .adastack-logo-container { + padding: 20px 4px; + } + + a:has(.sidebar-menu-item), + button:has(.sidebar-menu-item) { + padding: 18px 22px 18px 22px; + } + article.nextra-content:has(#animation) { padding-right: 0px; padding-left: 0px; @@ -550,12 +844,7 @@ a[class*="nx-cursor-pointer"]:hover .page-in-development::after { font-size: 1.5rem; margin-top: 60px; } - button:has(.sidebar-menu-item) { - padding: 20px 0 20px 10px; - } - a:has(.sidebar-menu-item) { - padding: 15px 0 15px 10px; - } + .animation-overlay { background-color: rgba(0, 0, 0, 0.5) !important; position: fixed !important; @@ -570,6 +859,10 @@ a[class*="nx-cursor-pointer"]:hover .page-in-development::after { z-index: 10; position: relative; } + + .ant-table-cell .ant-typography { + display: none; + } } /* Everything Under Large Size */ @media (max-width: 991px) { diff --git a/next.config.js b/next.config.js index 3c09b11e..49a3b62b 100644 --- a/next.config.js +++ b/next.config.js @@ -24,7 +24,7 @@ module.exports = withNextra({ }, webpack(config) { - const allowedSvgRegex = /components\/icons\/.+\.svg$/; + const allowedSvgRegex = /assets\/(icons|logos)\/.+\.svg$/; const fileLoaderRule = config.module.rules.find((rule) => { const testRegex = new RegExp(".svg"); diff --git a/package.json b/package.json index bc913bfd..bd8bd72d 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,12 @@ }, "homepage": "https://github.com/adastackio/adastack.io#readme", "dependencies": { + "@octokit/plugin-retry": "^7.1.2", + "@octokit/plugin-throttling": "^9.3.2", + "@octokit/rest": "^21.0.2", + "antd": "^5.22.1", + "antd-style": "^3.7.1", + "javascript-time-ago": "^2.5.11", "next": "15.0.1", "nextra": "^2.13.4", "nextra-theme-docs": "^2.13.4", diff --git a/pages/_app.js b/pages/_app.js index 54da0344..50fc2edf 100644 --- a/pages/_app.js +++ b/pages/_app.js @@ -1,10 +1,112 @@ import "../css/styles.css"; +import { StyleProvider } from "@ant-design/cssinjs"; +import { ConfigProvider, theme } from "antd"; +import { useEffect, useState } from "react"; +import localFont from "next/font/local"; + +const campton = localFont({ + src: [ + { path: "../assets/fonts/0_campton_thin.otf", weight: "100" }, + { path: "../assets/fonts/1_campton_extra_light.otf", weight: "200" }, + { path: "../assets/fonts/2_campton_light.otf", weight: "300" }, + { path: "../assets/fonts/3_campton_normal.otf", weight: "400" }, + { path: "../assets/fonts/4_campton_medium.otf", weight: "500" }, + { path: "../assets/fonts/5_campton_semi_bold.otf", weight: "600" }, + { path: "../assets/fonts/6_campton_bold.otf", weight: "700" }, + { path: "../assets/fonts/7_campton_extra_bold.otf", weight: "800" }, + { path: "../assets/fonts/8_campton_black.otf", weight: "900" }, + ], + variable: "--font-campton", + fallback: [ + "Segoe UI", + "Roboto", + "Noto Sans", + "Ubuntu", + "Cantarell", + "Helvetica Neue", + "ui-sans-serif", + "system-ui", + "-apple-system", + "BlinkMacSystemFont", + "Arial", + "sans-serif", + "Apple Color Emoji", + "Segoe UI Emoji", + "Segoe UI Symbol", + "Noto Color Emoji", + ], +}); + +const ThemeWrapper = ({ children }) => { + const [isDark, setIsDark] = useState(false); + const [mounted, setMounted] = useState(false); + + useEffect(() => { + setMounted(true); + + const handleThemeChange = () => { + const isDarkMode = document.documentElement.classList.contains("dark"); + setIsDark(isDarkMode); + }; + + handleThemeChange(); + + const observer = new MutationObserver(handleThemeChange); + observer.observe(document.documentElement, { + attributes: true, + attributeFilter: ["class"], + }); + + return () => observer.disconnect(); + }, []); + + if (!mounted) return null; + + return ( + + +
{children}
+
+
+ ); +}; + +const LoadingWrapper = ({ children }) => { + const [isClient, setIsClient] = useState(false); + + useEffect(() => { + setIsClient(true); + }, []); + + if (!isClient) { + return
{children}
; + } + + return children; +}; -// This default export is required in a new `pages/_app.js` file. export default function MyApp({ Component, pageProps }) { return ( - <> - - + + + + + ); } diff --git a/pages/_meta.json b/pages/_meta.json index 0d9eeeee..ae836824 100644 --- a/pages/_meta.json +++ b/pages/_meta.json @@ -15,7 +15,7 @@ "all_pages": { "title": "All Pages", "theme": { - "breadcrumb": false, + "breadcrumb": true, "sidebar": true, "toc": true, "footer": true, diff --git a/pages/about.mdx b/pages/about.mdx index cdb63c7c..51d399a0 100644 --- a/pages/about.mdx +++ b/pages/about.mdx @@ -1,6 +1,7 @@ --- seo_title: About Adastack seo_description: Adastack is an open-source Cardano explorer showcasing the Cardano ecosystem. Find dApps, community, NFTs, staking, games, tools, and much more. +toc: false --- # ₳bout diff --git a/pages/all_pages.mdx b/pages/all_pages.mdx index ed5dbe89..34be01e2 100644 --- a/pages/all_pages.mdx +++ b/pages/all_pages.mdx @@ -1,11 +1,12 @@ --- seo_title: All Pages seo_description: Adastack is an explorer for everything on Cardano. See every page of tools and dApps here. The site is open-source and new content is added daily! +toc: false --- # Explore Cardano -Explore projects and tools in the Cardano ecosystem. 🌎🌍🌏 +Explore guides, projects, and tools in the Cardano ecosystem. 🌎🌍🌏 #### Intro to Cardano @@ -86,5 +87,4 @@ Explore projects and tools in the Cardano ecosystem. 🌎🌍🌏 #### Other Pages -- [Home](https://www.adastack.io/) - [About](https://www.adastack.io/about) diff --git a/pages/api/open_source_builders.ts b/pages/api/open_source_builders.ts new file mode 100644 index 00000000..195228a9 --- /dev/null +++ b/pages/api/open_source_builders.ts @@ -0,0 +1,1215 @@ +import type { NextApiRequest, NextApiResponse } from "next"; + +export const openSourceBuildersData = [ + { + name: "Intersect MBO", + website: "https://www.intersectmbo.org/", + teamGithubURL: "https://github.com/intersectmbo", + tags: ["Organization"], + }, + { + name: "Input Output", + website: "https://iohk.io/", + teamGithubURL: "https://github.com/input-output-hk", + tags: ["Dev Company"], + }, + { + name: "Cardano Foundation", + website: "https://cardanofoundation.org/", + teamGithubURL: "https://github.com/cardano-foundation", + tags: ["Organization"], + }, + { + name: "Emurgo", + website: "https://emurgo.io/", + teamGithubURL: "https://github.com/Emurgo", + tags: ["Organization"], + }, + { + name: "Cardano Scaling", + website: "https://cardano-scaling.org/", + teamGithubURL: "https://github.com/cardano-scaling", + tags: ["Organization"], + }, + { + name: "Pragma", + website: "https://pragma.io/", + teamGithubURL: "https://github.com/pragma-org", + tags: ["Organization"], + }, + { + name: "TxPipe", + website: "https://txpipe.io/", + teamGithubURL: "https://github.com/txpipe", + tags: ["Dev Company", "Audits"], + }, + { + name: "Aiken", + website: "https://aiken-lang.org/", + teamGithubURL: "https://github.com/aiken-lang", + tags: ["Tools"], + }, + { + name: "Strica", + website: "https://strica.io/", + teamGithubURL: "https://github.com/StricaHQ", + tags: ["Dev Company"], + }, + { + name: "Anastasia Labs", + website: "https://anastasialabs.com/", + teamGithubURL: "https://github.com/Anastasia-Labs", + tags: ["Dev Company", "Audits"], + }, + { + name: "Blockfrost.io", + website: "https://blockfrost.io/", + teamGithubURL: "https://github.com/blockfrost", + tags: ["dApp"], + }, + { + name: "Mesh", + website: "https://meshjs.dev/", + teamGithubURL: "https://github.com/MeshJS", + tags: ["Tools"], + }, + { + name: "Blink Labs", + website: "https://blinklabs.io/", + teamGithubURL: "https://github.com/blinklabs-io", + tags: ["Dev Company"], + }, + { + name: "Cardano Community", + website: "https://cardano-community.github.io", + teamGithubURL: "https://github.com/cardano-community", + tags: ["Organization"], + }, + { + name: "Harmonic Labs", + website: "https://www.harmoniclabs.tech/", + teamGithubURL: "https://github.com/HarmonicLabs", + tags: ["Dev Company"], + }, + { + name: "Vacuumlabs", + website: "https://vacuumlabs.com/", + teamGithubURL: "https://github.com/vacuumlabs", + tags: ["Dev Company", "Audits"], + }, + { + name: "Sundae Labs", + website: "https://sundae.fi/", + teamGithubURL: "https://github.com/SundaeSwap-finance", + tags: ["dApp", "Audits"], + }, + { + name: "Dquadrant", + website: "https://dquadrant.com/", + teamGithubURL: "https://github.com/dQuadrant", + tags: ["Dev Company"], + }, + { + name: "DC Spark", + website: "https://www.dcspark.io/", + teamGithubURL: "https://github.com/dcSpark", + tags: ["Dev Company"], + }, + { + name: "Mlabs", + website: "https://mlabs.city/", + teamGithubURL: "https://github.com/mlabs-haskell", + tags: ["Dev Company", "Audits"], + }, + { + name: "Five Binaries", + website: "https://fivebinaries.com/", + teamGithubURL: "https://github.com/fivebinaries", + tags: ["Dev Company"], + }, + { + name: "Maestro", + website: "https://www.gomaestro.org/", + teamGithubURL: "https://github.com/maestro-org", + tags: ["Tools"], + }, + { + name: "ADAO Community", + website: "http://www.theADAO.io/", + teamGithubURL: "https://github.com/ADAOcommunity", + tags: ["Organization"], + }, + { + name: "Space Budz", + website: "https://spacebudz.io/", + teamGithubURL: "https://github.com/spacebudz", + tags: ["dApp"], + }, + { + name: "Tweag", + website: "https://www.tweag.io/", + teamGithubURL: "https://github.com/tweag", + tags: ["Dev Company", "Audits"], + }, + { + name: "Galois", + website: "https://galois.com/", + teamGithubURL: "https://github.com/GaloisInc", + tags: ["Dev Company"], + }, + { + name: "Protofire", + website: "https://protofire.io/", + teamGithubURL: "https://github.com/protofire", + tags: ["Dev Company"], + }, + { + name: "Metalamp", + website: "https://metalamp.io/", + teamGithubURL: "https://github.com/fullstack-development", + tags: ["Dev Company"], + }, + { + name: "Obsidian Systems", + website: "https://obsidian.systems/", + teamGithubURL: "https://github.com/obsidiansystems", + tags: ["Dev Company", "Audits"], + }, + { + name: "Well Typed", + website: "https://www.well-typed.com/", + teamGithubURL: "https://github.com/well-typed", + tags: ["Dev Company"], + }, + { + name: "Butane", + website: "https://butane.dev/", + teamGithubURL: "https://github.com/butaneprotocol", + tags: ["dApp"], + }, + { + name: "Genius Yield", + website: "https://www.geniusyield.co/", + teamGithubURL: "https://github.com/geniusyield", + tags: ["dApp"], + }, + { + name: "SingularityNET", + website: "https://singularitynet.io/", + teamGithubURL: "https://github.com/singnet", + tags: ["dApp"], + }, + { + name: "Eternl Wallet", + website: "https://eternl.io/", + teamGithubURL: "https://github.com/Tastenkunst", + tags: ["dApp"], + }, + { + name: "Coti", + website: "https://coti.io/", + teamGithubURL: "https://github.com/coti-io", + tags: ["dApp"], + }, + { + name: "Spectrum Finance", + website: "https://spectrum.fi/", + teamGithubURL: "https://github.com/spectrum-finance", + tags: ["dApp"], + }, + { + name: "Minswap", + website: "https://app.minswap.org/", + teamGithubURL: "https://github.com/minswap", + tags: ["dApp"], + }, + { + name: "Liqwid Finance", + website: "https://liqwid.finance/", + teamGithubURL: "https://github.com/liqwid-labs", + tags: ["dApp"], + }, + { + name: "ATADA", + website: "http://stakepool.at/", + teamGithubURL: "https://github.com/gitmachtl", + tags: ["Tools"], + }, + { + name: "Dynamic Strategies", + website: "https://dynamicstrategies.io/", + teamGithubURL: "https://github.com/dynamicstrategies", + tags: ["Dev Company"], + }, + { + name: "Ray Network", + website: "https://raynetwork.io/", + teamGithubURL: "https://github.com/xray-network", + tags: ["dApp"], + }, + { + name: "Indigo Protocol", + website: "https://indigoprotocol.io/", + teamGithubURL: "https://github.com/IndigoProtocol", + tags: ["dApp"], + }, + { + name: "Coincashew", + website: "https://www.coincashew.com", + teamGithubURL: "https://github.com/coincashew", + tags: ["Tools"], + }, + { + name: "Zw3rk Tech", + website: "https://zw3rk.com/", + teamGithubURL: "https://github.com/zw3rk", + tags: ["Dev Company"], + }, + { + name: "JPG Store", + website: "https://www.jpg.store/", + teamGithubURL: "https://github.com/jpg-store", + tags: ["dApp"], + }, + { + name: "Mutual Knowledge", + website: "https://mukn.com/", + teamGithubURL: "https://github.com/MuKnSys", + tags: ["Dev Company"], + }, + { + name: "Meld", + website: "https://www.meld.com/", + teamGithubURL: "https://github.com/MELD-labs", + tags: ["dApp"], + }, + { + name: "Studio Webux", + website: "https://webuxlab.com/", + teamGithubURL: "https://github.com/studiowebux", + tags: ["Dev Company"], + }, + { + name: "MuesliSwap", + website: "https://muesliswap.com/", + teamGithubURL: "https://github.com/MuesliSwapTeam", + tags: ["dApp"], + }, + { + name: "Single Pool Alliance", + website: "https://singlepoolalliance.net/", + teamGithubURL: "https://github.com/SinglePoolAlliance", + tags: ["Organization"], + }, + { + name: "Sidan", + website: "https://sidan.io/", + teamGithubURL: "https://github.com/sidan-lab", + tags: ["Dev Company"], + }, + { + name: "Artano", + website: "https://artano.io", + teamGithubURL: "https://github.com/artano-io", + tags: ["dApp"], + }, + { + name: "UpToDate Developers", + website: "https://uptodatedevelopers.com/", + teamGithubURL: "https://github.com/UPTODATE-DEV", + tags: ["Tools"], + }, + { + name: "Cexplorer.io", + website: "https://cexplorer.io/", + teamGithubURL: "https://github.com/cexplorer", + tags: ["Tools"], + }, + { + name: "Logical Mechanism", + website: "https://logicalmechanism.io/", + teamGithubURL: "https://github.com/logical-mechanism", + tags: ["Dev Company"], + }, + { + name: "Teddyswap", + website: "https://app.teddyswap.org/", + teamGithubURL: "https://github.com/teddy-swap", + tags: ["dApp"], + }, + { + name: "NMKR", + website: "https://nmkr.io/", + teamGithubURL: "https://github.com/nftmakerio", + tags: ["Tools"], + }, + { + name: "Iagon", + website: "https://iagon.com/", + teamGithubURL: "https://github.com/iagonorg", + tags: ["dApp"], + }, + { + name: "ZK Fold", + website: "https://zkfold.io/", + teamGithubURL: "https://github.com/zkFold", + tags: ["dApp"], + }, + { + name: "Wingriders", + website: "https://www.wingriders.com/", + teamGithubURL: "https://github.com/WingRiders", + tags: ["dApp"], + }, + { + name: "Lenfi", + website: "https://lenfi.io/", + teamGithubURL: "https://github.com/lenfiLabs", + tags: ["dApp"], + }, + { + name: "DripDropz", + website: "https://dripdropz.io", + teamGithubURL: "https://github.com/DripDropz", + tags: ["dApp"], + }, + { + name: "Mynth.ai", + website: "https://mynth.ai", + teamGithubURL: "https://github.com/MynthAI", + tags: ["dApp"], + }, + { + name: "ADA Anvil", + website: "https://ada-anvil.io/", + teamGithubURL: "https://github.com/Cardano-Forge", + tags: ["Dev Company"], + }, + { + name: "Biglup Labs", + website: "https://biglup.io/", + teamGithubURL: "https://github.com/Biglup", + tags: ["Dev Company"], + }, + { + name: "Optim Finance", + website: "https://www.optim.finance/", + teamGithubURL: "https://github.com/OptimFinance", + tags: ["dApp"], + }, + { + name: "Danogo", + website: "https://danogo.io/", + teamGithubURL: "https://github.com/Danogo2023", + tags: ["dApp"], + }, + { + name: "DCOneCrypto", + website: "https://dconecrypto.finance/", + teamGithubURL: "https://github.com/DCOneCrypto", + tags: ["Tools"], + }, + { + name: "Ikigai Tech", + website: "https://ikigaitech.org/", + teamGithubURL: "https://github.com/ikigai-github", + tags: ["Dev Company", "Audits"], + }, + { + name: "Plank", + website: "https://www.joinplank.com/", + teamGithubURL: "https://github.com/joinplank", + tags: ["Dev Company"], + }, + { + name: "VyFi", + website: "https://app.vyfi.io/dex", + teamGithubURL: "https://github.com/vyfi", + tags: ["dApp"], + }, + { + name: "Saib", + website: "https://saib.dev/", + teamGithubURL: "https://github.com/SAIB-Inc", + tags: ["Dev Company"], + }, + { + name: "Evolute Software", + website: "https://evolute.software/", + teamGithubURL: "https://github.com/evolute-software", + tags: ["Dev Company"], + }, + { + name: "Cerra.io", + website: "https://cerra.io/", + teamGithubURL: "https://github.com/cerraio", + tags: ["dApp"], + }, + { + name: "DexHunter", + website: "https://www.dexhunter.io/", + teamGithubURL: "https://github.com/DexHunterIO", + tags: ["dApp"], + }, + { + name: "Adastack", + website: "https://www.adastack.io", + teamGithubURL: "https://github.com/adastackio/", + tags: ["Tools"], + }, + { + name: "NFT Guild", + website: "https://www.nft-guild.io/", + teamGithubURL: "https://github.com/NFT-Guild", + tags: ["Organization"], + }, + { + name: "Bodega Market", + website: "https://bodegamarket.xyz/", + teamGithubURL: "https://github.com/bodega-market", + tags: ["dApp"], + }, + { + name: "Profila", + website: "https://profila.com/", + teamGithubURL: "https://github.com/Profila", + tags: ["dApp"], + }, + { + name: "Metera", + website: "https://www.meteraprotocol.io/", + teamGithubURL: "https://github.com/MeteraLabs", + tags: ["dApp"], + }, + { + name: "Paribus", + website: "https://paribus.io/", + teamGithubURL: "https://github.com/paribus", + tags: ["dApp"], + }, + { + name: "Splash protocol", + website: "https://www.splash.trade/", + teamGithubURL: "https://github.com/splashprotocol", + tags: ["dApp"], + }, + { + name: "Veralidity", + website: "https://veralidity.com/", + teamGithubURL: "https://github.com/veralidity", + tags: ["Tools"], + }, + { + name: "Self Driven Foundation", + website: "https://selfdriven.foundation/", + teamGithubURL: "https://github.com/selfdriven-foundation", + tags: ["Organization"], + }, + { + name: "Blueshift", + website: "https://blueshift.fi", + teamGithubURL: "https://github.com/blueshift-fi", + tags: ["dApp"], + }, + { + name: "Mayz", + website: "https://mayz.io/", + teamGithubURL: "https://github.com/MAYZGitHub/", + tags: ["dApp"], + }, + { + name: "Strike Finance", + website: "https://strikefinance.org/", + teamGithubURL: "https://github.com/strike-finance", + tags: ["dApp"], + }, + { + name: "Nucast Labs", + website: "https://www.nucastlabs.xyz/", + teamGithubURL: "https://github.com/Nucastio", + tags: ["Dev Company"], + }, + { + name: "Saturn Labs", + website: "https://saturnlabs.org/", + teamGithubURL: "https://github.com/SaturnLabs", + tags: ["Dev Company"], + }, + { + name: "Bloxico", + website: "https://bloxico.com/", + teamGithubURL: "https://github.com/Bloxico", + tags: ["Dev Company"], + }, + { + name: "Thespian", + website: "https://thespian.eu/", + teamGithubURL: "https://github.com/Thespian-Agency", + tags: ["Dev Company"], + }, + { + name: "Xerberus", + website: "https://xerberus.io/", + teamGithubURL: "https://github.com/XerberusTeam", + tags: ["dApp"], + }, + { + name: "Delta Defi", + website: "https://www.deltadefi.io/", + teamGithubURL: "https://github.com/deltadefi-protocol", + tags: ["dApp"], + }, + { + name: "Ada Markets", + website: "https://ada.markets/", + teamGithubURL: "https://github.com/ADA-Markets", + tags: ["dApp"], + }, + { + name: "Big Blymp", + website: "http://www.bigblymp.com/", + teamGithubURL: "https://github.com/BigBlymp", + tags: ["Dev Company"], + }, + { + name: "Foreon Network", + website: "https://foreon.network/", + teamGithubURL: "https://github.com/Foreon-Network", + tags: ["dApp"], + }, + { + name: "Nova Finance", + website: "https://www.novafinance.io/", + teamGithubURL: "https://github.com/Nova-Finance", + tags: ["dApp"], + }, + { + name: "Stargazer Finance", + website: "https://www.stargazer.finance/", + teamGithubURL: "https://github.com/StargazerLabs", + tags: ["dApp"], + }, + { + name: "Supra Payments", + website: "https://suprapayments.io/", + teamGithubURL: "https://github.com/suprapayments", + tags: ["Tools"], + }, + { + name: "Rejuve AI", + website: " https://www.rejuve.ai/", + teamGithubURL: "https://github.com/Rejuve", + tags: ["dApp"], + }, + { + name: "Zarqa AI", + website: "https://www.zarqa.ai/", + teamGithubURL: "https://github.com/zarqa-ai", + tags: ["Tools"], + }, + { + name: "Kreate Art", + website: "https://kreate.community/", + teamGithubURL: "https://github.com/kreate-art", + tags: ["dApp"], + }, + { + name: "Jam on Bread", + website: "https://jamonbread.io/", + teamGithubURL: "https://github.com/JamOnBread", + tags: ["dApp"], + }, + { + name: "SaturnSwap", + website: "https://saturnswap.io/", + teamGithubURL: "https://github.com/Orion-Crypto", + tags: ["dApp"], + }, + { + name: "NEWM", + website: "https://newm.io/", + teamGithubURL: "https://github.com/projectNEWM", + tags: ["dApp"], + }, + { + name: "Book.io", + website: "https://book.io/", + teamGithubURL: "https://github.com/book-io", + tags: ["dApp"], + }, + { + name: "CSwap DEX", + website: "https://cswap.fi/", + teamGithubURL: "https://github.com/cswapsystems", + tags: ["dApp"], + }, + { + name: "Token Riot", + website: "https://tokenriot.io/", + teamGithubURL: "https://github.com/TokenRiot", + tags: ["dApp"], + }, + { + name: "Empowa", + website: "https://empowa.io/", + teamGithubURL: "https://github.com/empowa-io", + tags: ["dApp"], + }, + { + name: "Awen Online", + website: "https://awen.online/", + teamGithubURL: "https://github.com/Awen-online", + tags: ["Dev Company"], + }, + { + name: "Begin Wallet", + website: "https://b58.finance/", + teamGithubURL: "https://github.com/B58-Finance", + tags: ["dApp"], + }, + { + name: "DEADPXLZ", + website: "https://pxlz.org/", + teamGithubURL: "https://github.com/DEADPXLZ", + tags: ["dApp"], + }, + { + name: "Mutant NFTs", + website: "https://labs.mutant-nft.com/", + teamGithubURL: "https://github.com/MutantNFTs", + tags: ["dApp"], + }, + { + name: "M2Tec", + website: "https://www.m2tec.nl", + teamGithubURL: "https://github.com/M2tec", + tags: ["Dev Company"], + }, + { + name: "Cornucopias", + website: "https://www.cornucopias.io/", + teamGithubURL: "https://github.com/Cornucopias", + tags: ["dApp"], + }, + { + name: "FutureFest", + website: "https://www.futurefest.io/", + teamGithubURL: "https://github.com/FutureFest", + tags: ["dApp"], + }, + { + name: "Enter the Mandala", + website: "https://enterthemandala.app/", + teamGithubURL: "https://github.com/mandalaverse", + tags: ["dApp"], + }, + { + name: "Alethea.io", + website: "https://alethea.io/", + teamGithubURL: "https://github.com/alethea-io", + tags: ["Tools"], + }, + { + name: "Encoins", + website: "https://encoins.io/", + teamGithubURL: "https://github.com/encryptedcoins/", + tags: ["dApp"], + }, + { + name: "Free Honey", + website: "https://github.com/free-honey", + teamGithubURL: "https://github.com/free-honey", + tags: ["Organization"], + }, + { + name: "Adabox.io", + website: "https://adabox.io", + teamGithubURL: "https://github.com/adabox-aio", + tags: ["Tools"], + }, + { + name: "Adastat.net", + website: "https://adastat.net/", + teamGithubURL: "https://github.com/CardanoExplorer", + tags: ["Tools"], + }, + { + name: "Pooltool.io", + website: "https://pooltool.io/", + teamGithubURL: "https://github.com/PoolTool-io", + tags: ["Tools"], + }, + { + name: "Littlefish Foundation", + website: "https://littlefish.foundation/", + teamGithubURL: "https://github.com/littlefish-foundation", + tags: ["Organization"], + }, + { + name: "Mission Driven Pools", + website: "https://missiondrivenpools.org/", + teamGithubURL: "https://github.com/CardanoMDP", + tags: ["Organization"], + }, + { + name: "xSPO Alliance", + website: "https://www.xspo-alliance.org/", + teamGithubURL: "https://github.com/xSPO-Alliance", + tags: ["Organization"], + }, + { + name: "SPO Japan Guild", + website: "https://spojapanguild.net/", + teamGithubURL: "https://github.com/btbf", + tags: ["Organization"], + }, + { + name: "Aldea DAO", + website: "https://aldea-dao.org/", + teamGithubURL: "https://github.com/ALDEA-DAO", + tags: ["Organization"], + }, + { + name: "Cardano Lightning", + website: "https://cardano-lightning.org/", + teamGithubURL: "https://github.com/cardano-lightning", + tags: ["dApp"], + }, + { + name: "Watchtower Tools", + website: "https://watchtower.tools/", + teamGithubURL: "https://github.com/bkvpool", + tags: ["Tools"], + }, + { + name: "Tapdano", + website: "https://tapdano.com/", + teamGithubURL: "https://github.com/tapdano", + tags: ["Tools"], + }, + { + name: "Cardano Spot Check", + website: "https://blockchainlens.gitbook.io/", + teamGithubURL: "https://github.com/bclens", + tags: ["Tools"], + }, + { + name: "Pool.pm", + website: "https://pool.pm/", + teamGithubURL: "https://github.com/SmaugPool/", + tags: ["Tools"], + }, + { + name: "Gimbalabs", + website: "https://gimbalabs.com/", + teamGithubURL: "https://github.com/gimbalabs", + tags: ["Organization"], + }, + { + name: "Berry Pool", + website: "https://berrypool.io/", + teamGithubURL: "https://github.com/berry-pool", + tags: ["Tools"], + }, + { + name: "Cardano Catalyst Circle", + website: "https://catalyst-circle.github.io/", + teamGithubURL: "https://github.com/catalyst-circle", + tags: ["Organization"], + }, + { + name: "CCSPA", + website: "https://ccspa.ca/", + teamGithubURL: "https://github.com/CCSPA", + tags: ["Organization"], + }, + { + name: "Fluid Tokens", + website: "https://fluidtokens.com/", + teamGithubURL: "https://github.com/fluidtokens", + tags: ["dApp"], + }, + { + name: "Balance Analytics", + website: "https://www.balanceanalytics.io/", + teamGithubURL: "https://github.com/Balance-Analytics", + tags: ["Tools"], + }, + { + name: "Project Catalyst", + website: "https://projectcatalyst.io/", + teamGithubURL: "https://github.com/Project-Catalyst", + tags: ["Organization"], + }, + { + name: "Runtime Verification", + website: "https://runtimeverification.com/", + teamGithubURL: "https://github.com/runtimeverification/", + tags: ["Audits"], + }, + { + name: "CertiK", + website: "http://certik.com", + teamGithubURL: "https://github.com/CertiKProject", + tags: ["Audits"], + }, + { + name: "Hachi Security", + website: "https://hachi.one/", + teamGithubURL: "https://github.com/HachiSecurity", + tags: ["Dev Company"], + }, + { + name: "Aneta BTC", + website: "https://anetabtc.io/", + teamGithubURL: "https://github.com/anetaBTC", + tags: ["dApp"], + }, + { + name: "CardanoGPT", + website: "https://cardanogpt.ai/", + teamGithubURL: "https://github.com/cardanogpt", + tags: ["dApp"], + }, + { + name: "SecurityBot", + website: "https://securitybot.info/", + teamGithubURL: "https://github.com/yHSJ", + tags: ["Tools"], + }, + { + name: "Vespr Wallet", + website: "https://www.vespr.xyz/", + teamGithubURL: "https://github.com/vespr-wallet", + tags: ["dApp"], + }, + { + name: "Endubis Wallet", + website: "https://endubis-wallet.vercel.app/", + teamGithubURL: "https://github.com/Endubis-Solutions", + tags: ["dApp"], + }, + { + name: "Nufi Wallet", + website: "https://nu.fi/", + teamGithubURL: "https://github.com/nufi-official", + tags: ["dApp"], + }, + { + name: "Bro Clan Wallet", + website: "https://broclan.io/", + teamGithubURL: "https://github.com/leo42", + tags: ["dApp"], + }, + { + name: "Ledger Wallet", + website: "https://www.ledger.com/", + teamGithubURL: "https://github.com/ledgerhq", + tags: ["dApp"], + }, + { + name: "Trezor Wallet", + website: "https://trezor.io/", + teamGithubURL: "https://github.com/trezor", + tags: ["dApp"], + }, + { + name: "Tangem Wallet", + website: "https://tangem.com/", + teamGithubURL: "https://github.com/tangem", + tags: ["dApp"], + }, + { + name: "Keystone Wallet", + website: "https://keyst.one/", + teamGithubURL: "https://github.com/keystoneHQ", + tags: ["dApp"], + }, + { + name: "Mint Matrix", + website: "https://mintmatrix.io/", + teamGithubURL: "https://github.com/MintMatrix", + tags: ["dApp"], + }, + { + name: "IAMX", + website: "https://iamx.id/", + teamGithubURL: "https://github.com/iamxid", + tags: ["dApp"], + }, + { + name: "Gamechanger Wallet", + website: "https://gamechanger.finance", + teamGithubURL: "https://github.com/GameChangerFinance/", + tags: ["dApp"], + }, + { + name: "Rosen Bridge", + website: "https://rosen.tech/", + teamGithubURL: "https://github.com/rosen-bridge", + tags: ["dApp"], + }, + { + name: "Maya Protocol", + website: "https://www.mayaprotocol.com/", + teamGithubURL: "https://github.com/Maya-Protocol", + tags: ["dApp"], + }, + { + name: "BitcoinOS", + website: "https://www.bitcoinos.build/", + teamGithubURL: "https://github.com/bitsnark", + tags: ["dApp"], + }, + { + name: "Vista Bridge", + website: "https://www.vistabridge.org/", + teamGithubURL: "https://github.com/vista-foundation", + tags: ["dApp"], + }, + { + name: "Coinecta", + website: "https://coinecta.fi/", + teamGithubURL: "https://github.com/coinecta", + tags: ["dApp"], + }, + { + name: "Decentralized Recovery Alliance", + website: "https://derecalliance.org/", + teamGithubURL: "https://github.com/derecalliance", + tags: ["Organization"], + }, + { + name: "Cardano BSD Alliance", + website: "https://cardanobsd.org/", + teamGithubURL: "https://github.com/cardano-bsd-alliance", + tags: ["Organization"], + }, + { + name: "Quality Assurance DAO", + website: "https://quality-assurance-dao.github.io/", + teamGithubURL: "https://github.com/Quality-Assurance-DAO", + tags: ["Organization"], + }, + { + name: "Open Decentralized Innovation Network", + website: "https://www.odin.eco/", + teamGithubURL: "https://github.com/ODIN-Initiative", + tags: ["Organization"], + }, + { + name: "Lovelace Academy", + website: "https://lovelace.academy/", + teamGithubURL: "https://github.com/lovelaceacademy", + tags: ["Organization"], + }, + { + name: "Kora Labs", + website: "https://koralabs.io/", + teamGithubURL: "https://github.com/koralabs/", + tags: ["Dev Company"], + }, + { + name: "AdaSouls", + website: "https://www.adasouls.io/", + teamGithubURL: "https://github.com/AdaSouls", + tags: ["dApp"], + }, + { + name: "Reach your People", + website: "https://www.ryp.io/", + teamGithubURL: "https://github.com/nilscodes/", + tags: ["dApp"], + }, + { + name: "Trustlevel", + website: "https://www.trustlevel.io/", + teamGithubURL: "https://github.com/TrustLevel", + tags: ["dApp"], + }, + { + name: "Socious.io", + website: "https://socious.io/", + teamGithubURL: "https://github.com/socious-io", + tags: ["dApp"], + }, + { + name: "Proof of Space", + website: "https://www.proofspace.id/", + teamGithubURL: "https://github.com/zakaio", + tags: ["Tools"], + }, + { + name: "Blocktrust", + website: "https://blocktrust.dev/", + teamGithubURL: "https://github.com/bsandmann", + tags: ["Tools"], + }, + { + name: "ZenGate", + website: "https://www.zengate.global/", + teamGithubURL: "https://github.com/zenGate-Global", + tags: ["dApp"], + }, + { + name: "Agrow Labs", + website: "https://www.agrowlabs.co/", + teamGithubURL: "https://github.com/Agrow-Labs", + tags: ["dApp"], + }, + { + name: "Wanchain", + website: "https://www.wanchain.org/", + teamGithubURL: "https://github.com/wanchain", + tags: ["dApp"], + }, + { + name: "TosiDrop", + website: "https://tosidrop.io/", + teamGithubURL: "https://github.com/TosiDrop", + tags: ["dApp"], + }, + { + name: "Fida Finance", + website: "https://fida.finance/", + teamGithubURL: "https://github.com/fida-services", + tags: ["dApp"], + }, + { + name: "CardanoPress", + website: "https://cardanopress.io/", + teamGithubURL: "https://github.com/CardanoPress", + tags: ["Tools"], + }, + { + name: "Work with Cardano", + website: "https://workwithcardano.com/", + teamGithubURL: "https://github.com/wowica", + tags: ["Tools"], + }, + { + name: "Crashr", + website: "https://www.crashr.io/", + teamGithubURL: "https://github.com/Crashr-io", + tags: ["Tools"], + }, + { + name: "Yepple", + website: "https://yepple.io/", + teamGithubURL: "https://github.com/YeppleInc", + tags: ["Tools"], + }, + { + name: "Bakrypt", + website: "https://bakrypt.io/", + teamGithubURL: "https://github.com/Wolfy18", + tags: ["Tools"], + }, + { + name: "Tangocrypto", + website: "https://www.tangocrypto.com/", + teamGithubURL: "https://github.com/tango-crypto", + tags: ["Tools"], + }, + { + name: "CNS Space", + website: "https://cns.space/", + teamGithubURL: "https://github.com/cns-space", + tags: ["dApp"], + }, + { + name: "Digitalis Domains", + website: "https://www.digitalis.domains/", + teamGithubURL: "https://github.com/digitalis-domains", + tags: ["dApp"], + }, + { + name: "Tokeo Wallet", + website: "https://tokeopay.io/", + teamGithubURL: "https://github.com/TokeoPay", + tags: ["dApp"], + }, + { + name: "Cardano Token Engineering Lab", + website: "https://thetokenlab.xyz/", + teamGithubURL: "https://github.com/Cardano-Token-Engineering-Lab", + tags: ["Organization"], + }, + { + name: "Adadomains.io", + website: "https://www.adadomains.io/", + teamGithubURL: "https://github.com/adadomains", + tags: ["dApp"], + }, + { + name: "Dapps on Cardano", + website: "https://dappsoncardano.com/", + teamGithubURL: "https://github.com/Cardano-Fans", + tags: ["Tools"], + }, + { + name: "Fortuna", + website: "https://minefortuna.com/", + teamGithubURL: "https://github.com/cardano-miners", + tags: ["dApp"], + }, + { + name: "Lido Nation", + website: "https://www.lidonation.com/", + teamGithubURL: "https://github.com/lidonation", + tags: ["Tools"], + }, + { + name: "Wolfram Blockchain Labs", + website: "https://www.wolframblockchainlabs.com/", + teamGithubURL: "https://github.com/WolframBlockchainLabs", + tags: ["Tools"], + }, + { + name: "RootsID", + website: "https://rootsid.com/", + teamGithubURL: "https://github.com/roots-id", + tags: ["Tools"], + }, + { + name: "Quality Assurance DAO", + website: "https://quality-assurance-dao.github.io/", + teamGithubURL: "https://github.com/Quality-Assurance-DAO", + tags: ["Tools"], + }, + { + name: "MigaMake", + website: "https://migamake.com/", + teamGithubURL: "https://github.com/migamake", + tags: ["Dev Company"], + }, + { + name: "Flux Point Studios", + website: "https://fluxpointstudios.com/", + teamGithubURL: "https://github.com/Flux-Point-Studios", + tags: ["Dev Company"], + }, + { + name: "Paima Studios", + website: "https://www.paimastudios.com/", + teamGithubURL: "https://github.com/PaimaStudios", + tags: ["Dev Company"], + }, + { + name: "Cardano Mercury", + website: "https://cardano-mercury.com/", + teamGithubURL: "https://github.com/cardano-mercury", + tags: ["dApp"], + }, +]; + +export default function handler(req: NextApiRequest, res: NextApiResponse) { + try { + res.status(200).json(openSourceBuildersData); + } catch (err) { + res.status(500).json({ + success: false, + message: "Failed to fetch builders data", + }); + } +} diff --git a/pages/catalyst/apply_for_funding.mdx b/pages/catalyst/apply_for_funding.mdx index e93fbb08..b5155021 100644 --- a/pages/catalyst/apply_for_funding.mdx +++ b/pages/catalyst/apply_for_funding.mdx @@ -1,6 +1,7 @@ --- seo_title: Apply for Funding seo_description: +toc: false --- # Apply for Funding diff --git a/pages/catalyst/catalyst_metrics.mdx b/pages/catalyst/catalyst_metrics.mdx index b197b603..799d5ff2 100644 --- a/pages/catalyst/catalyst_metrics.mdx +++ b/pages/catalyst/catalyst_metrics.mdx @@ -1,6 +1,7 @@ --- seo_title: Catalyst Metrics seo_description: +toc: false --- # Catalyst Metrics diff --git a/pages/catalyst/funded_proposals.mdx b/pages/catalyst/funded_proposals.mdx index 07a35b19..d4bd749b 100644 --- a/pages/catalyst/funded_proposals.mdx +++ b/pages/catalyst/funded_proposals.mdx @@ -1,6 +1,7 @@ --- seo_title: Funded Proposals seo_description: +toc: false --- # Funded Proposals diff --git a/pages/catalyst/other_catalyst_resources.mdx b/pages/catalyst/other_catalyst_resources.mdx index e93fbb08..b5155021 100644 --- a/pages/catalyst/other_catalyst_resources.mdx +++ b/pages/catalyst/other_catalyst_resources.mdx @@ -1,6 +1,7 @@ --- seo_title: Apply for Funding seo_description: +toc: false --- # Apply for Funding diff --git a/pages/catalyst/vote_in_catalyst.mdx b/pages/catalyst/vote_in_catalyst.mdx index 8aa38bef..10fc0ae9 100644 --- a/pages/catalyst/vote_in_catalyst.mdx +++ b/pages/catalyst/vote_in_catalyst.mdx @@ -1,6 +1,7 @@ --- seo_title: Vote in Catalyst seo_description: +toc: false --- # Vote in Catalyst diff --git a/pages/catalyst/what_is_project_catalyst.mdx b/pages/catalyst/what_is_project_catalyst.mdx index a46b0c38..2b3b7498 100644 --- a/pages/catalyst/what_is_project_catalyst.mdx +++ b/pages/catalyst/what_is_project_catalyst.mdx @@ -1,6 +1,7 @@ --- seo_title: What is Catalyst? seo_description: Learn about Project Catalyst, Cardano's decentralized innovation platform. Vote for projects supporting Cardano, build community, and fund your project. +toc: false --- # What is Project Catalyst? diff --git a/pages/community/discord.mdx b/pages/community/discord.mdx index 9d85f0b8..dbda5213 100644 --- a/pages/community/discord.mdx +++ b/pages/community/discord.mdx @@ -1,6 +1,7 @@ --- seo_title: Discord seo_description: +toc: false --- # Discord diff --git a/pages/community/events.mdx b/pages/community/events.mdx index bece12fd..eb6da53b 100644 --- a/pages/community/events.mdx +++ b/pages/community/events.mdx @@ -1,6 +1,7 @@ --- seo_title: Events seo_description: +toc: false --- # Events diff --git a/pages/community/news_and_blogs.mdx b/pages/community/news_and_blogs.mdx index 66b089cb..d3c90345 100644 --- a/pages/community/news_and_blogs.mdx +++ b/pages/community/news_and_blogs.mdx @@ -1,6 +1,7 @@ --- seo_title: News and Blogs seo_description: News and blogs to stay informed about Cardano. Explore news platforms, community articles, international blogs by language, and Cardano project media. +toc: true --- # Cardano News Sites diff --git a/pages/community/newsletters.mdx b/pages/community/newsletters.mdx index 4e0accb0..9110cc92 100644 --- a/pages/community/newsletters.mdx +++ b/pages/community/newsletters.mdx @@ -1,6 +1,7 @@ --- seo_title: Newsletters seo_description: Get regular email updates using these Cardano newsletters and stay informed with the latest Cardano updates, releases, and news. +toc: false --- # Cardano Newsletters diff --git a/pages/community/podcasts.mdx b/pages/community/podcasts.mdx index 5b0a57b8..bc29e59b 100644 --- a/pages/community/podcasts.mdx +++ b/pages/community/podcasts.mdx @@ -1,6 +1,7 @@ --- seo_title: Podcasts seo_description: +toc: false --- # Podcasts diff --git a/pages/community/reddit_and_forums.mdx b/pages/community/reddit_and_forums.mdx index 286ff8b8..29f0d023 100644 --- a/pages/community/reddit_and_forums.mdx +++ b/pages/community/reddit_and_forums.mdx @@ -1,6 +1,7 @@ --- seo_title: Reddit and Forums seo_description: +toc: false --- # Reddit and Forums diff --git a/pages/community/social_bots.mdx b/pages/community/social_bots.mdx index ac59ff6a..b8205d81 100644 --- a/pages/community/social_bots.mdx +++ b/pages/community/social_bots.mdx @@ -1,6 +1,7 @@ --- seo_title: Social Bots seo_description: +toc: false --- # Social Bots diff --git a/pages/community/telegram.mdx b/pages/community/telegram.mdx index 8b278a74..182a2633 100644 --- a/pages/community/telegram.mdx +++ b/pages/community/telegram.mdx @@ -1,6 +1,7 @@ --- seo_title: Telegram seo_description: +toc: false --- # Telegram diff --git a/pages/community/x.mdx b/pages/community/x.mdx index 8cd884a5..d98709b6 100644 --- a/pages/community/x.mdx +++ b/pages/community/x.mdx @@ -1,6 +1,7 @@ --- seo_title: Cardano on X seo_description: +toc: false --- # Cardano on X diff --git a/pages/community/youtube.mdx b/pages/community/youtube.mdx index a4736ec6..f8f66dd5 100644 --- a/pages/community/youtube.mdx +++ b/pages/community/youtube.mdx @@ -1,6 +1,7 @@ --- seo_title: YouTube seo_description: "Stay updated with Cardano: YouTube channels covering news, NFTs, podcasts, development, projects, Catalyst, Governance, and more." +toc: true --- # YouTube Channels diff --git a/pages/daos/dao_explorers.mdx b/pages/daos/dao_explorers.mdx index 6b0f5846..28302482 100644 --- a/pages/daos/dao_explorers.mdx +++ b/pages/daos/dao_explorers.mdx @@ -1,6 +1,7 @@ --- seo_title: DAO Explorers seo_description: +toc: false --- # DAO Explorers diff --git a/pages/daos/dao_management_software.mdx b/pages/daos/dao_management_software.mdx index e5122cb4..27a5ca10 100644 --- a/pages/daos/dao_management_software.mdx +++ b/pages/daos/dao_management_software.mdx @@ -1,6 +1,7 @@ --- seo_title: DAO Management Software seo_description: +toc: false --- # DAO Management Software diff --git a/pages/daos/multisig.mdx b/pages/daos/multisig.mdx index 846038cc..7c8c0c72 100644 --- a/pages/daos/multisig.mdx +++ b/pages/daos/multisig.mdx @@ -1,6 +1,7 @@ --- seo_title: Multisig seo_description: +toc: false --- # Multisig diff --git a/pages/daos/what_is_a_dao.mdx b/pages/daos/what_is_a_dao.mdx index 8e669c15..057f1537 100644 --- a/pages/daos/what_is_a_dao.mdx +++ b/pages/daos/what_is_a_dao.mdx @@ -1,6 +1,7 @@ --- seo_title: What is a DAO? seo_description: DAOs enable decision-making and governance in a distributed way. They operate transparently and fairly using smart contracts. Learn about more DAOs. +toc: false --- # What is a DAO? diff --git a/pages/dapps/ai_dapps.mdx b/pages/dapps/ai_dapps.mdx index 12828c0d..0e169d21 100644 --- a/pages/dapps/ai_dapps.mdx +++ b/pages/dapps/ai_dapps.mdx @@ -1,6 +1,7 @@ --- seo_title: AI dApps seo_description: +toc: false --- # AI diff --git a/pages/dapps/dapp_analysis_tools.mdx b/pages/dapps/dapp_analysis_tools.mdx index 37989a41..72201c2c 100644 --- a/pages/dapps/dapp_analysis_tools.mdx +++ b/pages/dapps/dapp_analysis_tools.mdx @@ -1,6 +1,7 @@ --- seo_title: dApp Analysis Tools seo_description: +toc: false --- # dApp Analysis Tools diff --git a/pages/dapps/dapp_explorers.mdx b/pages/dapps/dapp_explorers.mdx index 9b20cd19..e66778e1 100644 --- a/pages/dapps/dapp_explorers.mdx +++ b/pages/dapps/dapp_explorers.mdx @@ -1,6 +1,7 @@ --- seo_title: dApp Explorers seo_description: Discover a variety of decentralized applications (dApps) in the Cardano ecosystem, using these explorers. Find the blockchain service for what you need. +toc: false --- # dApp Explorers @@ -15,6 +16,8 @@ Explore the dApps in the Cardano ecosystem. - [Danogo](https://danogo.io/tvl-report) +- [Alethea](https://alethea.io/dapps) + - [DefiLlama](https://defillama.com/chain/Cardano?currency=ADA) - [Dapp Radar](https://dappradar.com/rankings/protocol/cardano) diff --git a/pages/dapps/data_storage_and_computing_dapps.mdx b/pages/dapps/data_storage_and_computing_dapps.mdx index ada1edee..bebf26fb 100644 --- a/pages/dapps/data_storage_and_computing_dapps.mdx +++ b/pages/dapps/data_storage_and_computing_dapps.mdx @@ -1,6 +1,7 @@ --- seo_title: Data Storage and Computing dApps seo_description: +toc: false --- # Data Storage and Computing diff --git a/pages/dapps/defi_dapps.mdx b/pages/dapps/defi_dapps.mdx index 267fe83a..2a3cf18e 100644 --- a/pages/dapps/defi_dapps.mdx +++ b/pages/dapps/defi_dapps.mdx @@ -1,6 +1,7 @@ --- seo_title: DeFi dApps seo_description: +toc: false --- # DeFi diff --git a/pages/dapps/dexs.mdx b/pages/dapps/dexs.mdx index 3afd3e52..6b24831d 100644 --- a/pages/dapps/dexs.mdx +++ b/pages/dapps/dexs.mdx @@ -1,6 +1,7 @@ --- seo_title: DEXs seo_description: +toc: false --- # DEXs diff --git a/pages/dapps/education_dapps.mdx b/pages/dapps/education_dapps.mdx index dcc85f1c..ee223b16 100644 --- a/pages/dapps/education_dapps.mdx +++ b/pages/dapps/education_dapps.mdx @@ -1,6 +1,7 @@ --- seo_title: Education dApps seo_description: +toc: false --- # Education diff --git a/pages/dapps/events_and_ticketing_dapps.mdx b/pages/dapps/events_and_ticketing_dapps.mdx index 6603b3dc..1ace50f9 100644 --- a/pages/dapps/events_and_ticketing_dapps.mdx +++ b/pages/dapps/events_and_ticketing_dapps.mdx @@ -1,6 +1,7 @@ --- seo_title: Events and Ticketing dApps seo_description: +toc: false --- # Events and Ticketing diff --git a/pages/dapps/identity_dapps.mdx b/pages/dapps/identity_dapps.mdx index c1d77ca4..43a121d1 100644 --- a/pages/dapps/identity_dapps.mdx +++ b/pages/dapps/identity_dapps.mdx @@ -1,6 +1,7 @@ --- seo_title: Identity dApps seo_description: +toc: false --- # Identity diff --git a/pages/dapps/messaging_and_chat_dapps.mdx b/pages/dapps/messaging_and_chat_dapps.mdx index 4c934721..ceebfb04 100644 --- a/pages/dapps/messaging_and_chat_dapps.mdx +++ b/pages/dapps/messaging_and_chat_dapps.mdx @@ -1,6 +1,7 @@ --- seo_title: Messaging and Chat dApps seo_description: +toc: false --- # Messaging and Chat diff --git a/pages/dapps/other_dapps.mdx b/pages/dapps/other_dapps.mdx index ad6b9c25..61133bb3 100644 --- a/pages/dapps/other_dapps.mdx +++ b/pages/dapps/other_dapps.mdx @@ -1,6 +1,7 @@ --- seo_title: Other dApps seo_description: +toc: false --- # Other dApps diff --git a/pages/dapps/payments_and_ecommerce_dapps.mdx b/pages/dapps/payments_and_ecommerce_dapps.mdx index 7ea380f3..15c33784 100644 --- a/pages/dapps/payments_and_ecommerce_dapps.mdx +++ b/pages/dapps/payments_and_ecommerce_dapps.mdx @@ -1,6 +1,7 @@ --- seo_title: Payments and E-Commerce dApps seo_description: +toc: false --- # Payments and E-Commerce diff --git a/pages/dapps/positive_impact_dapps.mdx b/pages/dapps/positive_impact_dapps.mdx index b01501f2..c88367fd 100644 --- a/pages/dapps/positive_impact_dapps.mdx +++ b/pages/dapps/positive_impact_dapps.mdx @@ -1,6 +1,7 @@ --- seo_title: Positive Impact dApps seo_description: +toc: false --- # Positive Impact diff --git a/pages/dapps/privacy_dapps.mdx b/pages/dapps/privacy_dapps.mdx index c3e722ef..57d77600 100644 --- a/pages/dapps/privacy_dapps.mdx +++ b/pages/dapps/privacy_dapps.mdx @@ -1,6 +1,7 @@ --- seo_title: Privacy dApps seo_description: +toc: false --- # Privacy diff --git a/pages/dapps/real_world_asset_dapps.mdx b/pages/dapps/real_world_asset_dapps.mdx index e0d281af..60741724 100644 --- a/pages/dapps/real_world_asset_dapps.mdx +++ b/pages/dapps/real_world_asset_dapps.mdx @@ -1,6 +1,7 @@ --- seo_title: Real World Asset dApps seo_description: +toc: false --- # Real World Assets diff --git a/pages/dapps/reward_distribution_dapps.mdx b/pages/dapps/reward_distribution_dapps.mdx index ac31010f..8e06941e 100644 --- a/pages/dapps/reward_distribution_dapps.mdx +++ b/pages/dapps/reward_distribution_dapps.mdx @@ -1,6 +1,7 @@ --- seo_title: Reward Distribution dApps seo_description: +toc: false --- # Reward Distribution diff --git a/pages/dapps/signing_and_verification_dapps.mdx b/pages/dapps/signing_and_verification_dapps.mdx index a2093ea0..73713566 100644 --- a/pages/dapps/signing_and_verification_dapps.mdx +++ b/pages/dapps/signing_and_verification_dapps.mdx @@ -1,6 +1,7 @@ --- seo_title: Signing and Verification dApps seo_description: +toc: false --- # Signing and Verification diff --git a/pages/dapps/social_media_dapps.mdx b/pages/dapps/social_media_dapps.mdx index cfbbb9fa..b3af446a 100644 --- a/pages/dapps/social_media_dapps.mdx +++ b/pages/dapps/social_media_dapps.mdx @@ -1,6 +1,7 @@ --- seo_title: Social Media dApps seo_description: +toc: false --- # Social Media diff --git a/pages/dapps/supply_chain_dapps.mdx b/pages/dapps/supply_chain_dapps.mdx index 1a563605..88a9db5f 100644 --- a/pages/dapps/supply_chain_dapps.mdx +++ b/pages/dapps/supply_chain_dapps.mdx @@ -1,6 +1,7 @@ --- seo_title: Supply Chain dApps seo_description: +toc: false --- # Supply Chain diff --git a/pages/dapps/what_is_a_dapp.mdx b/pages/dapps/what_is_a_dapp.mdx index 190f423d..d7447c54 100644 --- a/pages/dapps/what_is_a_dapp.mdx +++ b/pages/dapps/what_is_a_dapp.mdx @@ -1,6 +1,7 @@ --- seo_title: What is a dApp? seo_description: Dapps, short for decentralized apps, are used for DeFi, identity, social media, AI, and more. Learn about dApps and discover top dApps on Cardano. +toc: false --- # What is a dApp? diff --git a/pages/development/_meta.json b/pages/development/_meta.json index 86f16509..beb89f32 100644 --- a/pages/development/_meta.json +++ b/pages/development/_meta.json @@ -17,7 +17,8 @@ "sidebar": true, "toc": true, "footer": true, - "pagination": false + "pagination": false, + "layout": "full" } }, "dev_teams": { diff --git a/pages/development/apis.mdx b/pages/development/apis.mdx index 86c7415d..35e942b5 100644 --- a/pages/development/apis.mdx +++ b/pages/development/apis.mdx @@ -1,6 +1,7 @@ --- seo_title: APIs seo_description: +toc: false --- # APIs diff --git a/pages/development/cardano_cli.mdx b/pages/development/cardano_cli.mdx index 55bba39c..ca5e8c67 100644 --- a/pages/development/cardano_cli.mdx +++ b/pages/development/cardano_cli.mdx @@ -1,6 +1,7 @@ --- seo_title: Cardano-CLI seo_description: +toc: false --- # Cardano-CLI diff --git a/pages/development/cardano_node.mdx b/pages/development/cardano_node.mdx index 218f6c83..7ccb04b9 100644 --- a/pages/development/cardano_node.mdx +++ b/pages/development/cardano_node.mdx @@ -1,6 +1,7 @@ --- seo_title: Cardano Node seo_description: +toc: false --- # Cardano Node diff --git a/pages/development/code_libraries.mdx b/pages/development/code_libraries.mdx index 0ffc72bd..a61bc472 100644 --- a/pages/development/code_libraries.mdx +++ b/pages/development/code_libraries.mdx @@ -1,6 +1,7 @@ --- seo_title: Code Libraries seo_description: Find Cardano libraries and frameworks for off-chain transaction creation, web development, CLI, node, serialization, indexing, testing, registries, and more. +toc: true --- # Cardano Code Libraries diff --git a/pages/development/dev_teams.mdx b/pages/development/dev_teams.mdx index 7f1b518e..5ed404bc 100644 --- a/pages/development/dev_teams.mdx +++ b/pages/development/dev_teams.mdx @@ -1,9 +1,12 @@ --- seo_title: Software Development Firms -seo_description: Need a dev team to help build your Cardano project? These code shops build dApps, write smart contracts, manage projects, and provide code audits. +seo_description: Need a dev company to help build your Cardano project? These Pro teams build dApps, write smart contracts, manage projects, and provide code audits. +toc: false --- -Dev shops are development companies that specialize in building dApps, managing projects, and solving problems on the Cardano blockchain. Some may additionally provide code audits. Reach out to them if you have an idea and need a technical team to bring it to life. +# Development Firms + +Development companies build dApps, write smart contracts, manage projects, and may provide code audits. Reach out to them if you have an idea and need an experienced team to build it. - [Mlabs](https://mlabs.city/) - [Anastasia Labs](https://anastasialabs.com/) @@ -23,7 +26,9 @@ Dev shops are development companies that specialize in building dApps, managing - [Galois](https://galois.com/) - [Sundae Labs](https://sundae.fi/) - [ADA Anvil](https://ada-anvil.io/) +- [Kora Labs](https://koralabs.io/) - [Nucast Labs](https://www.nucastlabs.com/) +- [Awen Online](https://awen.online/) - [Plank](https://www.joinplank.com/) - [Bloxico](https://bloxico.com/) - [Harmonic Labs](https://www.harmoniclabs.tech/) @@ -58,3 +63,4 @@ Dev shops are development companies that specialize in building dApps, managing - [Big Blymp](https://www.bigblymp.com/) - [Pendulumdev](https://pendulumdev.co.uk/) - [Yaya Labs](https://www.yayalabs.io/) +- [M2Tec](https://www.m2tec.nl/) diff --git a/pages/development/developer_chat.mdx b/pages/development/developer_chat.mdx index d9c8ad8f..7bfda734 100644 --- a/pages/development/developer_chat.mdx +++ b/pages/development/developer_chat.mdx @@ -1,6 +1,7 @@ --- seo_title: Developer Chat seo_description: Discover top Cardano developer channels on forums, Telegram, and Discord. Collaborate on blockchain projects, ask questions, and connect with pros. +toc: false --- # Developer Chat diff --git a/pages/development/developer_jobs.mdx b/pages/development/developer_jobs.mdx index 65556ea0..e86d0fb1 100644 --- a/pages/development/developer_jobs.mdx +++ b/pages/development/developer_jobs.mdx @@ -1,6 +1,7 @@ --- seo_title: Developer Jobs seo_description: +toc: false --- # Developer Jobs diff --git a/pages/development/developer_tool_explorers.mdx b/pages/development/developer_tool_explorers.mdx index 52bbc8cd..fbf56c9b 100644 --- a/pages/development/developer_tool_explorers.mdx +++ b/pages/development/developer_tool_explorers.mdx @@ -1,6 +1,7 @@ --- seo_title: Developer Tool Explorers seo_description: +toc: false --- # Developer Tool Explorers diff --git a/pages/development/documentation.mdx b/pages/development/documentation.mdx index f3d3be5d..767de7dd 100644 --- a/pages/development/documentation.mdx +++ b/pages/development/documentation.mdx @@ -1,6 +1,7 @@ --- seo_title: Documentation seo_description: +toc: false --- # Documentation diff --git a/pages/development/intro_to_cardano_development.mdx b/pages/development/intro_to_cardano_development.mdx index 56fac8a2..8f47a2cf 100644 --- a/pages/development/intro_to_cardano_development.mdx +++ b/pages/development/intro_to_cardano_development.mdx @@ -1,6 +1,7 @@ --- seo_title: Intro to Cardano Development seo_description: Looking to get started with Cardano development? Explore key tools, courses, resources, and guides. Learn and build on the Cardano blockchain. +toc: false --- # Intro to Cardano Development diff --git a/pages/development/learning_platforms.mdx b/pages/development/learning_platforms.mdx index 443698de..a55e040b 100644 --- a/pages/development/learning_platforms.mdx +++ b/pages/development/learning_platforms.mdx @@ -1,6 +1,7 @@ --- seo_title: Learning Platforms seo_description: Discover the best platforms for learning Cardano development. Explore courses on Aiken, Plutus, Mesh, and more. Become a Cardano developer today! +toc: false --- # Learning Platforms diff --git a/pages/development/open_source_builders.mdx b/pages/development/open_source_builders.mdx index ce41ffa0..a9092c61 100644 --- a/pages/development/open_source_builders.mdx +++ b/pages/development/open_source_builders.mdx @@ -1,221 +1,42 @@ --- seo_title: Open Source Builders seo_description: Exploring Cardano's Open Source ecosystem? Explore the developer teams building tools, frameworks, and dApps that drive innovation on Cardano. +toc: false --- -import TableRow from "../../components/TableRow"; +import OpenSourceBuildersTable from "../../components/tables/OpenSourceBuildersTable"; +import openSourceBuildersAPI from "../../scripts/API/openSourceBuildersAPI"; +import { openSourceBuildersData } from "../api/open_source_builders"; export const getStaticProps = async () => { - const fetchAllGitHubRepos = async (url, name) => { - let response = await fetch(url, { - headers: { - Authorization: `token ${process.env.GITHUB_ACCESS_TOKEN}`, - Accept: "application/vnd.github.v3+json", - }, - }); - if (response.status === 404) { - url = `https://api.github.com/orgs/${name}/repos?per_page=100`; - response = await fetch(url, { - headers: { - Authorization: `token ${process.env.GITHUB_ACCESS_TOKEN}`, - Accept: "application/vnd.github.v3+json", - }, - }); - } - if (!response.ok) { - const errorMessage = `HTTP error! Status: ${response.status}, Text: ${response.statusText}`; - console.error(errorMessage); - throw new Error(errorMessage); - } - const repos = await response.json(); - const nextLink = response.headers - .get("Link") - ?.match(/<([^>]+)>;\s*rel="next"/)?.[1]; - return { repos, nextLink }; - }; + try { + const allRepos = await openSourceBuildersAPI(openSourceBuildersData); + const sortedOSBuilderData = allRepos.sort((a, b) => b.stars - a.stars); -const fetchGitHubStars = async (name) => { -let url = `https://api.github.com/users/${name}/repos?per_page=100`; -let totalStars = 0; + return { + props: { sortedOSBuilderData }, + revalidate: 600, + }; - while (url) { - const { repos, nextLink } = await fetchAllGitHubRepos(url, name); - totalStars += repos.reduce( - (sum, repo) => sum + repo.stargazers_count, - 0 - ); - url = nextLink; - } - return totalStars; - -}; - -const teamData = [ -{ name: 'Input Output Global', website: 'https://iohk.io/', repoURL: 'https://github.com/input-output-hk', type: 'Dev Shop' }, -{ name: 'Tweag', website: 'https://www.tweag.io/', repoURL: 'https://github.com/tweag', type: 'Dev Shop' }, -{ name: 'Galois', website: 'https://galois.com/', repoURL: 'https://github.com/GaloisInc', type: 'Dev Shop' }, -{ name: 'Intersect MBO', website: 'https://www.intersectmbo.org/', repoURL: 'https://github.com/intersectmbo', type: 'Organization' }, -{ name: 'Protofire', website: 'https://protofire.io/', repoURL: 'https://github.com/protofire', type: 'Dev Shop' }, -{ name: 'Cardano Foundation', website: 'https://cardanofoundation.org/', repoURL: 'https://github.com/cardano-foundation', type: 'Organization' }, -{ name: 'Metalamp', website: 'https://metalamp.io/', repoURL: 'https://github.com/fullstack-development', type: 'Dev Shop' }, -{ name: 'Obsidian Systems', website: 'https://obsidian.systems/', repoURL: 'https://github.com/obsidiansystems', type: 'Dev Shop' }, -{ name: 'Well Typed', website: 'https://www.well-typed.com/', repoURL: 'https://github.com/well-typed', type: 'Dev Shop' }, -{ name: 'Emurgo', website: 'https://emurgo.io/', repoURL: 'https://github.com/Emurgo', type: 'Organization' }, -{ name: 'Tastenkunst GmbH', website: 'http://www.tastenkunst.com/', repoURL: 'https://github.com/Tastenkunst', type: 'Dev Shop' }, -{ name: 'Vacuumlabs', website: 'https://vacuumlabs.com/', repoURL: 'https://github.com/vacuumlabs', type: 'Dev Shop' }, -{ name: 'TxPipe', website: 'https://txpipe.io/', repoURL: 'https://github.com/txpipe', type: 'Dev Shop' }, -{ name: 'DC Spark', website: 'https://www.dcspark.io/', repoURL: 'https://github.com/dcSpark', type: 'Dev Shop' }, -{ name: 'Mlabs', website: 'https://mlabs.city/', repoURL: 'https://github.com/mlabs-haskell', type: 'Dev Shop' }, -{ name: 'Cardano Community', website: 'https://cardano-community.github.io', repoURL: 'https://github.com/cardano-community', type: 'Organization' }, -{ name: 'Blockfrost.io', website: 'https://blockfrost.io/', repoURL: 'https://github.com/blockfrost', type: 'dApp' }, -{ name: 'Coti', website: 'https://coti.io/', repoURL: 'https://github.com/coti-io', type: 'dApp' }, -{ name: 'Blink Labs', website: 'https://blinklabs.io/', repoURL: 'https://github.com/blinklabs-io', type: 'Dev Shop' }, -{ name: 'Spectrum Finance', website: 'https://spectrum.fi/', repoURL: 'https://github.com/spectrum-finance', type: 'dApp' }, -{ name: 'Mesh', website: 'https://meshjs.dev/', repoURL: 'https://github.com/MeshJS', type: 'Tools' }, -{ name: 'Sundae Labs', website: 'https://sundae.fi/', repoURL: 'https://github.com/SundaeSwap-finance', type: 'dApp' }, -{ name: 'Harmonic Labs', website: 'https://www.harmoniclabs.tech/', repoURL: 'https://github.com/HarmonicLabs', type: 'Dev Shop' }, -{ name: 'Minswap', website: 'https://app.minswap.org/', repoURL: 'https://github.com/minswap', type: 'dApp' }, -{ name: 'Liqwid Finance', website: 'https://liqwid.finance/', repoURL: 'https://github.com/liqwid-labs', type: 'dApp' }, -{ name: 'Genius Yield', website: 'https://app.geniusyield.co/', repoURL: 'https://github.com/geniusyield', type: 'dApp' }, -{ name: 'Strica', website: 'https://strica.io/', repoURL: 'https://github.com/StricaHQ', type: 'Dev Shop' }, -{ name: 'Dynamic Strategies', website: 'https://dynamicstrategies.io/', repoURL: 'https://github.com/dynamicstrategies', type: 'Dev Shop' }, -{ name: 'Anastasia Labs', website: 'https://anastasialabs.com/', repoURL: 'https://github.com/Anastasia-Labs', type: 'Dev Shop' }, -{ name: 'Ray Network', website: 'https://raynetwork.io/', repoURL: 'https://github.com/xray-network', type: 'dApp' }, -{ name: 'Indigo Protocol', website: 'https://indigoprotocol.io/', repoURL: 'https://github.com/IndigoProtocol', type: 'dApp' }, -{ name: 'Butane', website: 'https://butane.dev/', repoURL: 'https://github.com/butaneprotocol', type: 'dApp' }, -{ name: 'Zw3rk Tech', website: 'https://zw3rk.com/', repoURL: 'https://github.com/zw3rk', type: 'Dev Shop' }, -{ name: 'Dquadrant', website: 'https://dquadrant.com/', repoURL: 'https://github.com/dQuadrant', type: 'Dev Shop' }, -{ name: 'Mutual Knowledge', website: 'https://mukn.com/', repoURL: 'https://github.com/MuKnSys', type: 'Dev Shop' }, -{ name: 'Meld', website: 'https://www.meld.com/', repoURL: 'https://github.com/MELD-labs', type: 'dApp' }, -{ name: 'Five Binaries', website: 'https://fivebinaries.com/', repoURL: 'https://github.com/fivebinaries', type: 'Dev Shop' }, -{ name: 'Pragma', website: 'https://pragma.io/', repoURL: 'https://github.com/pragma-org', type: 'Organization' }, -{ name: 'MuesliSwap', website: 'https://muesliswap.com/', repoURL: 'https://github.com/MuesliSwapTeam', type: 'dApp' }, -{ name: 'Sidan', website: 'https://sidan.io/', repoURL: 'https://github.com/sidan-lab', type: 'Dev Shop' }, -{ name: 'UpToDate Developers', website: 'https://uptodatedevelopers.com/', repoURL: 'https://github.com/UPTODATE-DEV', type: 'Tools' }, -{ name: 'Cexplorer.io', website: 'https://cexplorer.io/', repoURL: 'https://github.com/cexplorer', type: 'Tools' }, -{ name: 'Logical Mechanism', website: 'https://logicalmechanism.io/', repoURL: 'https://github.com/logical-mechanism', type: 'Dev Shop' }, -{ name: 'Teddyswap', website: 'https://app.teddyswap.org/', repoURL: 'https://github.com/teddy-swap', type: 'dApp' }, -{ name: 'Maestro', website: 'https://www.gomaestro.org/', repoURL: 'https://github.com/maestro-org', type: 'Tools' }, -{ name: 'NMKR', website: 'https://nmkr.io/', repoURL: 'https://github.com/nftmakerio', type: 'Tools' }, -{ name: 'Iagon', website: 'https://iagon.com/', repoURL: 'https://github.com/iagonorg', type: 'dApp' }, -{ name: 'ZK Fold', website: 'https://zkfold.io/', repoURL: 'https://github.com/zkFold', type: 'dApp' }, -{ name: 'Wingriders', website: 'https://www.wingriders.com/', repoURL: 'https://github.com/WingRiders', type: 'dApp' }, -{ name: 'Studio Webux', website: 'https://webuxlab.com/', repoURL: 'https://github.com/studiowebux', type: 'Dev Shop' }, -{ name: 'Lenfi', website: 'https://lenfi.io/', repoURL: 'https://github.com/lenfiLabs', type: 'dApp' }, -{ name: 'DripDropz', website: 'https://dripdropz.io', repoURL: 'https://github.com/DripDropz', type: 'dApp' }, -{ name: 'Mynth.ai', website: 'https://mynth.ai', repoURL: 'https://github.com/MynthAI', type: 'dApp' }, -{ name: 'ADA Anvil', website: 'https://ada-anvil.io/', repoURL: 'https://github.com/Cardano-Forge', type: 'Dev Shop' }, -{ name: 'Biglup Labs', website: 'https://biglup.io/', repoURL: 'https://github.com/Biglup', type: 'Dev Shop' }, -{ name: 'Optim Finance', website: 'https://www.optim.finance/', repoURL: 'https://github.com/OptimFinance', type: 'dApp' }, -{ name: 'Danogo', website: 'https://danogo.io/', repoURL: 'https://github.com/Danogo2023', type: 'dApp' }, -{ name: 'DCOneCrypto', website: 'https://dconecrypto.finance/', repoURL: 'https://github.com/DCOneCrypto', type: 'Tools' }, -{ name: 'Ikigai Tech', website: 'https://ikigaitech.org/', repoURL: 'https://github.com/ikigai-github', type: 'Dev Shop' }, -{ name: 'Plank', website: 'https://www.joinplank.com/', repoURL: 'https://github.com/joinplank', type: 'Dev Shop' }, -{ name: 'VyFi', website: 'https://app.vyfi.io/dex', repoURL: 'https://github.com/vyfi', type: 'dApp' }, -{ name: 'Saib', website: 'https://saib.dev/', repoURL: 'https://github.com/SAIB-Inc', type: 'Dev Shop' }, -{ name: 'Evolute Software', website: 'https://evolute.software/', repoURL: 'https://github.com/evolute-software', type: 'Dev Shop' }, -{ name: 'Cerra.io', website: 'https://cerra.io/', repoURL: 'https://github.com/cerraio', type: 'dApp' }, -{ name: 'DexHunter', website: 'https://www.dexhunter.io/', repoURL: 'https://github.com/DexHunterIO', type: 'dApp' }, -{ name: 'Adastack', website: 'https://www.adastack.io', repoURL: 'https://github.com/adastackio/', type: 'Tools' }, -{ name: 'NFT Guild', website: 'https://www.nft-guild.io/', repoURL: 'https://github.com/NFT-Guild', type: 'Organization' }, -{ name: 'Bodega Market', website: 'https://bodegamarket.xyz/', repoURL: 'https://github.com/bodega-market', type: 'dApp' }, -{ name: 'Profila', website: 'https://profila.com/', repoURL: 'https://github.com/Profila', type: 'dApp' }, -{ name: 'Metera', website: 'https://www.meteraprotocol.io/', repoURL: 'https://github.com/MeteraLabs', type: 'dApp' }, -{ name: 'Paribus', website: 'https://paribus.io/', repoURL: 'https://github.com/paribus', type: 'dApp' }, -{ name: 'Splash protocol', website: 'https://www.splash.trade/', repoURL: 'https://github.com/splashprotocol', type: 'dApp' }, -{ name: 'Veralidity', website: 'https://veralidity.com/', repoURL: 'https://github.com/veralidity', type: 'Tools' }, -{ name: 'Self Driven Foundation', website: 'https://selfdriven.foundation/', repoURL: 'https://github.com/selfdriven-foundation', type: 'Organization' }, -{ name: 'Blueshift', website: 'https://blueshift.fi', repoURL: 'https://github.com/blueshift-fi', type: 'dApp' }, -{ name: 'Mayz', website: 'https://mayz.io/', repoURL: 'https://github.com/MAYZGitHub/', type: 'dApp' }, -{ name: 'Strike Finance', website: 'https://strikefinance.org/', repoURL: 'https://github.com/strike-finance', type: 'dApp' }, -{ name: 'Nucast Labs', website: 'https://www.nucastlabs.xyz/', repoURL: 'https://github.com/Nucastio', type: 'Dev Shop' }, -{ name: 'Saturn Labs', website: 'https://saturnlabs.org/', repoURL: 'https://github.com/SaturnLabs', type: 'Dev Shop' }, -{ name: 'Bloxico', website: 'https://bloxico.com/', repoURL: 'https://github.com/Bloxico', type: 'Dev Shop' }, -{ name: 'Thespian', website: 'https://thespian.eu/', repoURL: 'https://github.com/Thespian-Agency', type: 'Dev Shop' }, -{ name: 'Adaxon', website: 'https://adaxon.io/', repoURL: 'https://github.com/adaxonio', type: 'Dev Shop' }, -{ name: 'Xerberus', website: 'https://xerberus.io/', repoURL: 'https://github.com/XerberusTeam', type: 'dApp' }, -{ name: 'Delta Defi', website: 'https://www.deltadefi.io/', repoURL: 'https://github.com/deltadefi-protocol', type: 'dApp' }, -{ name: 'Ada Markets', website: 'https://ada.markets/', repoURL: 'https://github.com/ADA-Markets', type: 'dApp' }, -{ name: 'Big Blymp', website: 'http://www.bigblymp.com/', repoURL: 'https://github.com/BigBlymp', type: 'Dev Shop' }, -{ name: 'Foreon Network', website: 'https://foreon.network/', repoURL: 'https://github.com/Foreon-Network', type: 'dApp' }, -{ name: 'Nova Finance', website: 'https://www.novafinance.io/', repoURL: 'https://github.com/Nova-Finance', type: 'dApp' }, -{ name: 'Stargazer Finance', website: 'https://www.stargazer.finance/', repoURL: 'https://github.com/StargazerLabs', type: 'dApp' }, -{ name: 'Supra Payments', website: 'https://suprapayments.io/', repoURL: 'https://github.com/suprapayments', type: 'Tools' }, -{ name: 'SingularityNET', website: 'https://singularitynet.io/', repoURL: 'https://github.com/singnet', type: '' }, -{ name: 'Gnus.ai', website: 'https://www.gnus.ai/', repoURL: 'https://github.com/geniusventures', type: '' }, -{ name: 'SingularityDAO', website: 'https://www.singularitydao.ai/', repoURL: 'https://github.com/Singularity-DAO', type: '' }, -{ name: 'Yaya Labs', website: 'https://www.yayalabs.io/', repoURL: 'https://github.com/yaya-labs', type: 'Dev Shop', }, -{ name: 'Rejuve AI', website: ' https://www.rejuve.ai/', repoURL: 'https://github.com/Rejuve', type: 'dApp'}, -{ name: 'Zarqa AI', website: 'https://www.zarqa.ai/', repoURL: 'https://github.com/zarqa-ai', type: 'Tools'}, -{ name: 'Hypercycle AI', website: 'https://www.hypercycle.ai/', repoURL: 'https://github.com/hypercycle-community', type: ''}, -{ name: 'Cogito Finance', website: 'https://www.cogitoprotocol.com/', repoURL: 'https://github.com/cogito-finance', type: ''}, -{ name: 'True AGI', website: 'https://trueagi.io/', repoURL: 'https://github.com/trueagi-io', type: ''}, -]; - -// { name: '', website: '', repoURL: '', type: ''}, - -const teamWithStars = await Promise.all( -teamData.map(async (member) => { -try { -const urlParts = new URL(member.repoURL).pathname.split("/").filter(Boolean); -const owner = urlParts[0]; -const stars = await fetchGitHubStars(owner); -return { ...member, stars, error: null }; } catch (error) { -console.error(`Error fetching stars for ${member.name}:`, error); -return { ...member, stars: null, error: null }; -} -}) -); - return { -props: { -teamMembers: teamWithStars, -}, -revalidate: 3600, // Revalidate every hour +props: { sortedOSBuilderData: [] }, +notFound: true, }; +} }; -export default function DevTeams({ teamMembers }) { -return ( -<> -

Open Source Builders

- -

- The Cardano ecosystem is rapidly evolving, driven by a big community of open-source builders. These teams provide the the tools, frameworks, libraries, and dApps we all use. By sharing their code, they build trust in their work and contribute to innovation around Cardano. -

- -

- These are ranked based on the total number of stars received across their open-source repositories. Click on the star to view their GitHub profile. +export default function OpenSourceBuilders({ sortedOSBuilderData }) { + return ( + <> +

+ Open Source Builders +

+

+ Explore teams building open-source dApps and tools on Cardano.

- -
-
- - - - - - - - - {teamMembers.map((member, index) => ( - - - - - - ))} - -
TeamStarsType
- - {member.name} - - - - {member.type}
- +
+ - -); + ); } diff --git a/pages/development/oracles.mdx b/pages/development/oracles.mdx index cc77844c..0c8e738a 100644 --- a/pages/development/oracles.mdx +++ b/pages/development/oracles.mdx @@ -1,6 +1,7 @@ --- seo_title: Oracles seo_description: +toc: false --- # Oracles diff --git a/pages/development/smart_contract_audits.mdx b/pages/development/smart_contract_audits.mdx index ad2782c5..8ffe0f46 100644 --- a/pages/development/smart_contract_audits.mdx +++ b/pages/development/smart_contract_audits.mdx @@ -1,6 +1,7 @@ --- seo_title: Smart Contract Audits seo_description: +toc: false --- # Smart Contract Audits diff --git a/pages/development/smart_contract_languages.mdx b/pages/development/smart_contract_languages.mdx index 650e9019..f319bcee 100644 --- a/pages/development/smart_contract_languages.mdx +++ b/pages/development/smart_contract_languages.mdx @@ -1,6 +1,7 @@ --- seo_title: Smart Contract Languages seo_description: +toc: false --- # Smart Contract Languages diff --git a/pages/development/testnets.mdx b/pages/development/testnets.mdx index 82fa7ab5..735ed2d5 100644 --- a/pages/development/testnets.mdx +++ b/pages/development/testnets.mdx @@ -1,6 +1,7 @@ --- seo_title: Testnets seo_description: +toc: false --- # Testnets diff --git a/pages/development/utility_tools.mdx b/pages/development/utility_tools.mdx index 1d81d11d..00683d5b 100644 --- a/pages/development/utility_tools.mdx +++ b/pages/development/utility_tools.mdx @@ -1,6 +1,7 @@ --- seo_title: Utility Tools seo_description: +toc: false --- # Utility Tools diff --git a/pages/ecosystem/_meta.json b/pages/ecosystem/_meta.json index 02e53dde..14922fdc 100644 --- a/pages/ecosystem/_meta.json +++ b/pages/ecosystem/_meta.json @@ -39,8 +39,8 @@ "pagination": false } }, - "tokens": { - "title": "Tokens ", + "cardano_markets": { + "title": "Cardano Markets ", "theme": { "breadcrumb": true, "sidebar": true, diff --git a/pages/ecosystem/blockchain_explorers.mdx b/pages/ecosystem/blockchain_explorers.mdx index f9e94bcf..92eab39f 100644 --- a/pages/ecosystem/blockchain_explorers.mdx +++ b/pages/ecosystem/blockchain_explorers.mdx @@ -1,6 +1,7 @@ --- seo_title: Blockchain Explorers seo_description: "Blockchain Explorers provide a live view of the Cardano network: transactions, balances, blocks, staking, and nfts. Search for an address or transaction." +toc: false --- # Blockchain Explorers @@ -12,8 +13,11 @@ Blockchain Explorers allow you to see everything happening on the blockchain. Yo - [CardanoScan](https://cardanoscan.io/): Fully-featured Cardano explorer. - [Eutxo.org](https://eutxo.org/): Cardano visualizer and search tool to see live blocks. + - [Pool.pm](https://pool.pm/): Visual blockchain explorer to search pools, wallets, NFTs, and more. +- [Alethea](https://alethea.io/): Explore on-chain activity and track your portfolio. + - [CF Explorer](https://beta.explorer.cardano.org/en/): Created by the [Cardano Foundation](https://cardanofoundation.org/) for enterprise users. - [AdaStat](https://adastat.net/): Full features including options to change language and currency. diff --git a/pages/ecosystem/bridges.mdx b/pages/ecosystem/bridges.mdx index 19d0a3c2..5ae209d3 100644 --- a/pages/ecosystem/bridges.mdx +++ b/pages/ecosystem/bridges.mdx @@ -1,6 +1,7 @@ --- seo_title: Bridges seo_description: +toc: false --- # Bridges diff --git a/pages/ecosystem/cardano_markets.mdx b/pages/ecosystem/cardano_markets.mdx new file mode 100644 index 00000000..70b2da9a --- /dev/null +++ b/pages/ecosystem/cardano_markets.mdx @@ -0,0 +1,18 @@ +--- +seo_title: Cardano Markets +seo_description: +toc: false +--- + +# Cardano Markets + +This content is being peer reviewed & formally verified. Check back soon! + +In the meantime, explore other Cardano collections: + +- [YouTube Channels](https://www.adastack.io/community/youtube) +- [Development Firms](https://www.adastack.io/development/dev_teams) +- [Newsletters](https://www.adastack.io/community/newsletters) +- [News and Blogs](https://www.adastack.io/community/news_and_blogs) + +[Back to Full Library →](https://www.adastack.io/all_pages) diff --git a/pages/ecosystem/ecosystem_maps.mdx b/pages/ecosystem/ecosystem_maps.mdx index af156f6a..7b5311e5 100644 --- a/pages/ecosystem/ecosystem_maps.mdx +++ b/pages/ecosystem/ecosystem_maps.mdx @@ -1,6 +1,7 @@ --- seo_title: Ecosystem Maps seo_description: Explore the Cardano ecosystem using ecosystem maps and discover innovative dApps and projects on Cardano. Find the right blockchain app or service. +toc: false --- # Ecosystem Maps diff --git a/pages/ecosystem/merchandise.mdx b/pages/ecosystem/merchandise.mdx index d763b7a3..ddcb2369 100644 --- a/pages/ecosystem/merchandise.mdx +++ b/pages/ecosystem/merchandise.mdx @@ -1,6 +1,7 @@ --- seo_title: Merchandise seo_description: +toc: false --- # Merchandise diff --git a/pages/ecosystem/organizations.mdx b/pages/ecosystem/organizations.mdx index 3077845b..8d0f9a19 100644 --- a/pages/ecosystem/organizations.mdx +++ b/pages/ecosystem/organizations.mdx @@ -1,6 +1,7 @@ --- seo_title: Organizations seo_description: +toc: false --- # Organizations diff --git a/pages/ecosystem/portfolio_trackers.mdx b/pages/ecosystem/portfolio_trackers.mdx index 088a4fae..b304e822 100644 --- a/pages/ecosystem/portfolio_trackers.mdx +++ b/pages/ecosystem/portfolio_trackers.mdx @@ -1,6 +1,7 @@ --- seo_title: Portfolio Trackers seo_description: +toc: false --- # Portfolio Trackers diff --git a/pages/ecosystem/project_funding.mdx b/pages/ecosystem/project_funding.mdx index 058046ff..483683bb 100644 --- a/pages/ecosystem/project_funding.mdx +++ b/pages/ecosystem/project_funding.mdx @@ -1,6 +1,7 @@ --- seo_title: Project Funding seo_description: +toc: false --- # Project Funding diff --git a/pages/ecosystem/security_tools.mdx b/pages/ecosystem/security_tools.mdx index 1960286f..0e2be557 100644 --- a/pages/ecosystem/security_tools.mdx +++ b/pages/ecosystem/security_tools.mdx @@ -1,6 +1,7 @@ --- seo_title: Security Tools seo_description: +toc: false --- # Security Tools diff --git a/pages/ecosystem/stablecoins.mdx b/pages/ecosystem/stablecoins.mdx index f0b0c254..53aa7a38 100644 --- a/pages/ecosystem/stablecoins.mdx +++ b/pages/ecosystem/stablecoins.mdx @@ -1,6 +1,7 @@ --- seo_title: Stablecoins seo_description: +toc: false --- # Stablecoins diff --git a/pages/ecosystem/tax_tools.mdx b/pages/ecosystem/tax_tools.mdx index 73695221..afa06748 100644 --- a/pages/ecosystem/tax_tools.mdx +++ b/pages/ecosystem/tax_tools.mdx @@ -1,6 +1,7 @@ --- seo_title: Tax Tools seo_description: +toc: false --- # Tax Tools diff --git a/pages/ecosystem/wallet_tools.mdx b/pages/ecosystem/wallet_tools.mdx index b6197a39..5c637d95 100644 --- a/pages/ecosystem/wallet_tools.mdx +++ b/pages/ecosystem/wallet_tools.mdx @@ -1,6 +1,7 @@ --- seo_title: Wallet Tools seo_description: +toc: false --- # Wallet Tools diff --git a/pages/ecosystem/wallets.mdx b/pages/ecosystem/wallets.mdx index 7bcefbb6..dc310eee 100644 --- a/pages/ecosystem/wallets.mdx +++ b/pages/ecosystem/wallets.mdx @@ -1,6 +1,7 @@ --- seo_title: Wallets seo_description: +toc: false --- # Wallets diff --git a/pages/gaming/gambling.mdx b/pages/gaming/gambling.mdx index f18a0993..bcb5b21a 100644 --- a/pages/gaming/gambling.mdx +++ b/pages/gaming/gambling.mdx @@ -1,6 +1,7 @@ --- seo_title: Gambling seo_description: +toc: false --- # Gambling diff --git a/pages/gaming/game_explorers.mdx b/pages/gaming/game_explorers.mdx index 4e070e98..a16279a4 100644 --- a/pages/gaming/game_explorers.mdx +++ b/pages/gaming/game_explorers.mdx @@ -1,6 +1,7 @@ --- seo_title: Game Explorers seo_description: +toc: false --- # Game Explorers diff --git a/pages/gaming/game_studios.mdx b/pages/gaming/game_studios.mdx index 9d40e83d..4157abb6 100644 --- a/pages/gaming/game_studios.mdx +++ b/pages/gaming/game_studios.mdx @@ -1,6 +1,7 @@ --- seo_title: Game Studios seo_description: +toc: false --- # Game Studios diff --git a/pages/gaming/games.mdx b/pages/gaming/games.mdx index 4576180f..701aa5fd 100644 --- a/pages/gaming/games.mdx +++ b/pages/gaming/games.mdx @@ -1,6 +1,7 @@ --- seo_title: Games seo_description: +toc: false --- # Games diff --git a/pages/gaming/metaverses.mdx b/pages/gaming/metaverses.mdx index b8a88fab..bd7e3f36 100644 --- a/pages/gaming/metaverses.mdx +++ b/pages/gaming/metaverses.mdx @@ -1,6 +1,7 @@ --- seo_title: Metaverses seo_description: +toc: false --- # Metaverses diff --git a/pages/gaming/what_is_web3_gaming.mdx b/pages/gaming/what_is_web3_gaming.mdx index e114ef4d..27417ab4 100644 --- a/pages/gaming/what_is_web3_gaming.mdx +++ b/pages/gaming/what_is_web3_gaming.mdx @@ -1,6 +1,7 @@ --- seo_title: What is Web3 Gaming? seo_description: "Understand and explore what Web3 gaming is about: digital assets, metaverse, verifiably fair games enabled by smart-contracts, community, and more." +toc: false --- # What is Web3 Gaming? diff --git a/pages/governance/cips.mdx b/pages/governance/cips.mdx index 38573df0..e784f979 100644 --- a/pages/governance/cips.mdx +++ b/pages/governance/cips.mdx @@ -1,6 +1,7 @@ --- seo_title: CIPs seo_description: +toc: false --- # CIPs diff --git a/pages/governance/constitutional_committee.mdx b/pages/governance/constitutional_committee.mdx index 48491351..2c25a9b9 100644 --- a/pages/governance/constitutional_committee.mdx +++ b/pages/governance/constitutional_committee.mdx @@ -1,6 +1,7 @@ --- seo_title: Constitutional Committee seo_description: +toc: false --- # Constitutional Committee diff --git a/pages/governance/governance_resources.mdx b/pages/governance/governance_resources.mdx index a36aab34..22f11ea7 100644 --- a/pages/governance/governance_resources.mdx +++ b/pages/governance/governance_resources.mdx @@ -1,6 +1,7 @@ --- seo_title: Governance Resources seo_description: +toc: false --- # Governance Resources diff --git a/pages/governance/intersect.mdx b/pages/governance/intersect.mdx index 346cd7ab..03eef158 100644 --- a/pages/governance/intersect.mdx +++ b/pages/governance/intersect.mdx @@ -1,6 +1,7 @@ --- seo_title: Intersect seo_description: +toc: false --- # Intersect diff --git a/pages/governance/voting_and_dreps.mdx b/pages/governance/voting_and_dreps.mdx index a219ac1a..ce09638f 100644 --- a/pages/governance/voting_and_dreps.mdx +++ b/pages/governance/voting_and_dreps.mdx @@ -1,6 +1,7 @@ --- seo_title: Voting and DReps seo_description: +toc: false --- # Voting and DReps diff --git a/pages/governance/what_is_governance.mdx b/pages/governance/what_is_governance.mdx index 4ade5024..820c710d 100644 --- a/pages/governance/what_is_governance.mdx +++ b/pages/governance/what_is_governance.mdx @@ -1,6 +1,7 @@ --- seo_title: What is Governance? seo_description: Learn how ADA holders participate in Cardano's democratic governance system by voting on key proposals that shape the network's future. +toc: false --- # What is Cardano Governance? diff --git a/pages/index.mdx b/pages/index.mdx index 68584c73..f35af382 100644 --- a/pages/index.mdx +++ b/pages/index.mdx @@ -1,9 +1,10 @@ --- -seo_title: Explore the Cardano Ecosystem -# On index page, leave the seo_description empty so it defaults to the one defined in theme.config.tsx +seo_title: +# Note: Leave seo_description empty in this index page, so that it defaults to the one defined in theme.config.tsx instead seo_description: +toc: false --- -import { Hero } from "../components/hero.js"; +import HomeHero from "../components/HomeHero"; - \ No newline at end of file + diff --git a/pages/intro_to_cardano/cardano_vocab.mdx b/pages/intro_to_cardano/cardano_vocab.mdx index d3562e2f..a5b194db 100644 --- a/pages/intro_to_cardano/cardano_vocab.mdx +++ b/pages/intro_to_cardano/cardano_vocab.mdx @@ -1,6 +1,7 @@ --- seo_title: Cardano Vocab seo_description: Learn essential Cardano vocabulary to understand major concepts of the Cardano blockchain and ecosystem. +toc: true --- # Cardano Vocab to Know diff --git a/pages/intro_to_cardano/learn_more.mdx b/pages/intro_to_cardano/learn_more.mdx index 0616aed8..40287a22 100644 --- a/pages/intro_to_cardano/learn_more.mdx +++ b/pages/intro_to_cardano/learn_more.mdx @@ -1,11 +1,12 @@ --- seo_title: Learn More seo_description: "Explore essential Cardano resources: official websites, intro courses, guides, reports, books, and security best practices. Discover everything you need!" +toc: false --- # Learn More -These resources provide an introduction to the Cardano network and ecosystem. +Resources to learn more about the Cardano network and ecosystem. ### Official Links @@ -13,9 +14,21 @@ Get official information about Cardano, the roadmap, and the research behind the - [Cardano.org](https://cardano.org/): Official Cardano website. - [Cardano Roadmap](https://roadmap.cardano.org/en/): 5-phase roadmap for Cardano's development. -- [Research Library](https://iohk.io/en/research/library/): Browse 200+ research papers behind the Cardano blockchain, or explore the [top papers by era](https://cardano.org/research). +- [Research Library](https://iohk.io/en/research/library/): 200+ research papers behind the Cardano blockchain. Explore the [top papers by era](https://cardano.org/research). +- [Intersect](https://www.intersectmbo.org/): Organization coordinating Cardano's roadmap and development. +- [Input Output Global (IOG)](https://iohk.io/): Cardano's primary development company and research organization. +- [The Cardano Foundation](https://cardanofoundation.org/): Non-profit organization focused on development and adoption. -### Intro Courses +### Cardano Books + +Books about the Cardano network. + +- [Cardano For the M₳sses: A Financial Operating System for People who don’t have one](https://www.amazon.com/dp/B0B912X5G6) +- [Cardano: The Essential Guide](https://www.amazon.com/dp/B0B1DSTS3X) +- [Cardano 101: Understanding Cardano and its Financial Opportunities](https://www.amazon.com/dp/B0C524H491) +- [Ultimate Cardano Smart Contracts: Unlock the Full Potential of the Cardano Blockchain by Developing Real-World Web 3.0 Projects](https://www.amazon.com/Ultimate-Cardano-Smart-Contracts-Development/dp/8197396531/) + +### Cardano Courses Full courses to learn about Cardano. @@ -37,15 +50,6 @@ These guides discuss the Cardano network, its ecosystem, and provide links to va - [The Essential Cardano Guide to the Ecosystem](https://services.iohk.io/hubfs/EssentialCardano/PDF/Essential%20Cardano%20Guide%20to%20the%20Ecosystem.pdf?hsLang=en): Guide from the Cardano Foundation about Cardano's ecosystem and initiatives. - [Reddit Guide to Getting Started with Cardano](https://www.reddit.com/r/cardano/comments/lnj5ne/getting_started_guide_a_newbies_guide_to_cardano/): The Cardano subreddit's guide to getting started on Cardano. -### Cardano Books - -Books about the Cardano network. - -- [Cardano For the M₳sses: A Financial Operating System for People who don’t have one](https://www.amazon.com/dp/B0B912X5G6) -- [Cardano: The Essential Guide](https://www.amazon.com/dp/B0B1DSTS3X) -- [Cardano 101: Understanding Cardano and its Financial Opportunities](https://www.amazon.com/dp/B0C524H491) -- [Ultimate Cardano Smart Contracts: Unlock the Full Potential of the Cardano Blockchain by Developing Real-World Web 3.0 Projects](https://www.amazon.com/Ultimate-Cardano-Smart-Contracts-Development/dp/8197396531/) - ### Security Guides Guides with actionable advice to protect crypto accounts and wallets. diff --git a/pages/intro_to_cardano/start_using_cardano.mdx b/pages/intro_to_cardano/start_using_cardano.mdx index 2e6995b7..44c3f26d 100644 --- a/pages/intro_to_cardano/start_using_cardano.mdx +++ b/pages/intro_to_cardano/start_using_cardano.mdx @@ -1,6 +1,7 @@ --- seo_title: Start Using Cardano seo_description: Get started with Cardano using this guide. Set up a wallet, buy ADA, and start using dApps on Cardano. Explore the ecosystem and dive in. +toc: false --- import { Steps } from "nextra/components"; @@ -32,7 +33,6 @@ The resources below give further advice for choosing and securing a wallet. Don' - [How to Choose a Web3 Wallet by Essential Cardano](https://www.essentialcardano.io/article/how-to-choose-a-web3-wallet): A guide with considerations for understanding different types of wallets. - [Top 5 Cardano wallets](https://cardanospot.io/news/how-to-store-your-cardano-ada-5-cardano-wallets-to-check-out-0): 5 popular and well-regarded Cardano wallets. - [A list of well-known Cardano wallets](https://cardanowallets.io/): Wallet list that also includes some useful security tips. -- [All Cardano Wallet Options](https://www.cardanocube.com/collections/wallets) #### Set up the Wallet @@ -41,7 +41,7 @@ Setting up a Cardano wallet involves downloading a wallet application, creating **Important Things to Know** - When creating a wallet you will receive a list of words known as a seed phrase. This is the master key to your funds. Write it down, keep it safe, don't share it, and don't store it anywhere online! Here are more [seed phrase tips](https://www.reddit.com/r/cardano/wiki/wallets/seedphrase/). -- Make sure you are downloading the wallet from the official website because sometimes scammers make fake websites to trick users. You can double-check the URL on [CardanoCube](https://www.cardanocube.com/collections/wallets) and [BuiltOnCardano](https://builtoncardano.com/ecosystem/wallets). +- Make sure you are downloading the wallet from the official website because sometimes scammers make fake websites to trick users. You can double-check the URL on [CardanoCube](https://www.cardanocube.com/categories/wallets) and [BuiltOnCardano](https://builtoncardano.com/ecosystem/wallets). **Guides to set up your Wallet** diff --git a/pages/intro_to_cardano/what_is_blockchain.mdx b/pages/intro_to_cardano/what_is_blockchain.mdx index cf2fdccb..e43c2d8d 100644 --- a/pages/intro_to_cardano/what_is_blockchain.mdx +++ b/pages/intro_to_cardano/what_is_blockchain.mdx @@ -1,6 +1,7 @@ --- seo_title: What is Blockchain? seo_description: Blockchains provide security, autonomy, and smart-contract capabilities to users of the decentralized network. Learn more about blockchain here. +toc: false --- # What is Blockchain? diff --git a/pages/intro_to_cardano/why_cardano.mdx b/pages/intro_to_cardano/why_cardano.mdx index e346f9d6..af1e418d 100644 --- a/pages/intro_to_cardano/why_cardano.mdx +++ b/pages/intro_to_cardano/why_cardano.mdx @@ -1,6 +1,7 @@ --- seo_title: Why Cardano? seo_description: Learn about the research-backed Cardano blockchain. Why the focus on decentralization, democratic governance, and providing an open global platform? +toc: true --- # Why Cardano? @@ -15,7 +16,7 @@ Cardano's founder, Charles Hoskinson, has been discussing these topics for at le ### Research-Backed -The software that runs Cardano was created using a rigorous academic approach. Starting in 2015, [Input Output Global](https://iohk.io/) (the company behind Cardano's development) spent two years researching the ideal properties of a blockchain before launching the network in 2017. Their goal was to design a system that's secure, decentralized, and reliable. IOG worked closely with experts at more than 30 top institutiuons and universities including Stanford, Carnegie Melon, University of Edinburgh, [and many more](https://iohk.io/en/research/) and published over 200 [research papers](https://iohk.io/en/research/) which provide the scientific underpinnings for the Cardano blockchain. +The software that runs Cardano was created using a rigorous academic approach. Starting in 2015, [Input Output Global](https://iohk.io/) (the company behind Cardano's development) spent two years researching the ideal properties of a blockchain before launching the network in 2017. Their goal was to design a system that's secure, decentralized, and reliable. IOG worked closely with experts at more than 30 top institutions and universities including Stanford, Carnegie Melon, University of Edinburgh, [and many more](https://iohk.io/en/research/) and published over 200 [research papers](https://iohk.io/en/research/) which provide the scientific underpinnings for the Cardano blockchain. To turn this academic understanding into software, IOG employed a process of formal methods including mathematical specifications, property-based tests, and the use of proofs. This development technique provides strong guarantees of the correctness of the system's basic components. Cardano's code has also been [independently audited](https://github.com/input-output-hk/external_audits). @@ -29,7 +30,7 @@ Decentralization also means that decision-making is distributed. Network upgrade ### Democratic Governance -Democratic governance is a key element in the long-term strategy of Cardano. Governance puts decisions about Cardano's future in the hands of ADA holders. Users can create and vote on proposals that will determine the evolution of Cardano. The goal is that the network can adpat to needs of its users and a changing world as it progresses into the future. +Democratic governance is a key element in the long-term strategy of Cardano. Governance puts decisions about Cardano's future in the hands of ADA holders. Users can create and vote on proposals that will determine the evolution of Cardano. The goal is that the network can adapt to needs of its users and a changing world as it progresses into the future. Governance is [in the process of being implemented](https://roadmap.cardano.org/en/voltaire/). The plan includes a system of checks and balances to protect from any individual or group from gaining too much power. Read more about the plan for [Cardano governance here](https://www.1694.io/). @@ -63,9 +64,9 @@ Users that stake ADA receive rewards every 5 days. Staking is risk-free: Staked ### Identity-Focused -Identity refers to the ability for users to build financial reputation from their activity on the blockchain. This is important because around 2 billion people are undocumented (meaning they don't have an official ID) and/or unbanked (meaning they are excluded from accessing financial services). Cardano's identity solutions provide an alternative method for users to build a digital track record and gain access to financial opportunities inculding loans, investments, real estate, job opportunities, and more. +Identity refers to the ability for users to build financial reputation from their activity on the blockchain. This is important because around 2 billion people are undocumented (meaning they don't have an official ID) and/or unbanked (meaning they are excluded from accessing financial services). Cardano's identity solutions provide an alternative method for users to build a digital track record and gain access to financial opportunities including loans, investments, real estate, job opportunities, and more. -Cardano's identity solutions also give individuals greater ownership of their personal data than the current system. As things stand, it is normal for companies to hold their user's personal information even though they often sell it, use it in bad ways, or lose it in data breaches. Identity solutions provide a new model in which you are the owner of your identity information and can share more their infomration more selectively, or even prove eligibility (for example, that they are older than 18) without sharing any personal information whatsoever using powerful zero-knowledge proof technology. +Cardano's identity solutions also give individuals greater ownership of their personal data than the current system. As things stand, it is normal for companies to hold their user's personal information even though they often sell it, use it in bad ways, or lose it in data breaches. Identity solutions provide a new model in which you are the owner of your identity information and can share more their information more selectively, or even prove eligibility (for example, that they are older than 18) without sharing any personal information whatsoever using powerful zero-knowledge proof technology. See [Atala Prism](https://atalaprism.io/) and the [Identity Wallet](https://identity.cardanofoundation.org) for an intro to Cardano identify solutions. @@ -89,13 +90,13 @@ The custodian of the source code is the [Intersect Organization](https://www.int ### Great Place to Build -Much like the internet, blockchains are open systems that anyone can build projects on without permission. This allows for a postive innovation loop as builders try different ideas and develop new solutions. +Much like the internet, blockchains are open systems that anyone can build projects on without permission. This allows for a positive innovation loop as builders try different ideas and develop new solutions. Cardano has a rapidly growing ecosystem of dApps (decentralized applications). Dapp builders benefit from building on a stable platform with predictable transaction fees and a highly engaged community. Hundreds of projects have already launched and over 1000 more are in development. [Explore some of the dApps available here](https://www.cardanocube.com/cardano-ecosystem-interactive-map). ### Programmable Smart Contracts -The biggest factor to Cardano's versatility are smart contracts. These are digital agreements that execute automatically once the conditions within them them are met. +The biggest factor to Cardano's versatility are smart contracts. These are digital agreements that execute automatically once the conditions within them are met. Smart contracts are a great way to build blockchain-enabled contracts. Beyond that, they provide powerful building blocks to create complex applications on Cardano. These applications (called dApps or decentralized apps) have the benefit that they treat all users equally. Their code cannot be changed once created and they can be trusted to always execute as written. @@ -113,11 +114,11 @@ Smart contracts are a versatile tool that can create the items highlighted above Over the last few years Cardano has seen a diverse explosion of projects launching, including DeFi, identity, NFTs, social media, telecom, AI, gaming, computing and much more. This variety constitutes the basis for a healthy and sustainable digital economy, where users can find everything they need in one place. -Some of the most promising Cardano projects are utilizing the Cardano platform to revolutionize existing industries. Some of these projects include [World Mobile](https://worldmobile.io/) to revolutionze telecom, [Book.io](https://book.io/) to disrupt publishing, and [Axo Finance](https://www.axo.trade/) to create better trading platforms. +Some of the most promising Cardano projects are utilizing the Cardano platform to revolutionize existing industries. Some of these projects include [World Mobile](https://worldmobile.io/) to revolutionize telecom, [Book.io](https://book.io/) to disrupt publishing, and [Axo Finance](https://www.axo.trade/) to create better trading platforms. ### Engaged and Supportive Community -Cardano has a committed and highly active community. Some of the main hubs of activity are [X](https://adastack.io/community/x_twitter), [Reddit](https://adastack.io/community/forums_and_reddit), [Telegram](https://adastack.io/community/telegram), and [Youtube](https://adastack.io/community/youtube_channels). +Cardano has a committed and highly active community. Some of the main discussion centers are X, Reddit, Telegram, and YouTube, where community members regularly engage in discussions and share updates. The conversation consists of a vibrant mix of participants, including stake pool operators, programmers, businesses, entrepreneurs, activists, investors, and artists, all with the common goal of building a decentralized economy and ecosystem on Cardano. ### Ambitious and Well-Defined Roadmap @@ -155,7 +156,7 @@ One major initiative that is aiming to solve this is the "side chain" or "partne #### Scalable -Scalability refers to the ability of the network to handle large voumes of transactions quickly and cheaply. The Cardano network has been designed from the start with scalability in mind. The current transaction throughput is sufficient for now, but once Cardano gains further adoption it will need to employ more scaling solutions. +Scalability refers to the ability of the network to handle large volumes of transactions quickly and cheaply. The Cardano network has been designed from the start with scalability in mind. The current transaction throughput is sufficient for now, but once Cardano gains further adoption it will need to employ more scaling solutions. There are initiatives underway to improve Cardano's scalability while preserving decentralization. These include [Hydra](https://hydra.family/head-protocol/), [input endorsers](https://cexplorer.io/article/understanding-input-endorsers), sidechains, and layer 2s. Scaling will be achieved through multiple strategies, giving users the option to use whatever makes sense for them. [See details about some scaling strategies here](https://cardano-scaling.org/). diff --git a/pages/layer_2s/hydra.mdx b/pages/layer_2s/hydra.mdx index 9d2611e6..b47d7d54 100644 --- a/pages/layer_2s/hydra.mdx +++ b/pages/layer_2s/hydra.mdx @@ -1,6 +1,7 @@ --- seo_title: Hydra seo_description: +toc: false --- # Hydra diff --git a/pages/layer_2s/hydra_forks.mdx b/pages/layer_2s/hydra_forks.mdx index 809b6dbd..1762ae5e 100644 --- a/pages/layer_2s/hydra_forks.mdx +++ b/pages/layer_2s/hydra_forks.mdx @@ -1,6 +1,7 @@ --- seo_title: Hydra Forks seo_description: +toc: false --- # Hydra diff --git a/pages/layer_2s/other_layer_2s.mdx b/pages/layer_2s/other_layer_2s.mdx index d2a10061..58b1278d 100644 --- a/pages/layer_2s/other_layer_2s.mdx +++ b/pages/layer_2s/other_layer_2s.mdx @@ -1,6 +1,7 @@ --- seo_title: Other Layer 2s seo_description: +toc: false --- # Other Layer 2s diff --git a/pages/layer_2s/what_are_layer_2s.mdx b/pages/layer_2s/what_are_layer_2s.mdx index d23850ac..419359f4 100644 --- a/pages/layer_2s/what_are_layer_2s.mdx +++ b/pages/layer_2s/what_are_layer_2s.mdx @@ -1,12 +1,13 @@ --- seo_title: What are Layer 2s? seo_description: Layer 2 solutions enable lower fees, better user experience, and updated scalability on the Cardano blockchain. Learn about Layer 2s and explore options. +toc: false --- # What are Layer 2s? -Blockchain tech is revolutionizing many sectors, from supply chain to voting to finance. As global adoption grows, however, their scalability remains an important hurdle.  +Blockchain tech is revolutionizing many sectors, from supply chain to voting to finance. As global adoption grows, however, their scalability remains an important hurdle. Layer 2s have emerged as one important technique to overcome this. They exist as a layer on top of the main Cardano blockchain. Layer 2s boost blockchain scalability by handling transaction processing off-chain. Once processed, transactions are periodically batched and settled to the main Cardano blockchain. This allows Cardano to process more transactions without affecting its base security or decentralization. -Layer 2s can also provide additional benefits such as lower transaction fees, better user experience, and enhanced privacy. There are different methods to create Layer 2s that each have their own tradeoffs. Common implementations on Cardano include state channels (Hydra) and zero-knowledge proofs (Midgard, zkFold, etc). \ No newline at end of file +Layer 2s can also provide additional benefits such as lower transaction fees, better user experience, and enhanced privacy. There are different methods to create Layer 2s that each have their own tradeoffs. Common implementations on Cardano include state channels (Hydra) and zero-knowledge proofs (Midgard, zkFold, etc). diff --git a/pages/nfts/domains_and_handles.mdx b/pages/nfts/domains_and_handles.mdx index 88cafa58..f70c8285 100644 --- a/pages/nfts/domains_and_handles.mdx +++ b/pages/nfts/domains_and_handles.mdx @@ -1,6 +1,7 @@ --- seo_title: Handles and Domains seo_description: +toc: false --- # Handles and Domains diff --git a/pages/nfts/drop_calendars.mdx b/pages/nfts/drop_calendars.mdx index 863ff128..f8f09f76 100644 --- a/pages/nfts/drop_calendars.mdx +++ b/pages/nfts/drop_calendars.mdx @@ -1,6 +1,7 @@ --- seo_title: Drop Calendars seo_description: +toc: false --- # Drop Calendars diff --git a/pages/nfts/minting_services.mdx b/pages/nfts/minting_services.mdx index d29667d3..0beb17f0 100644 --- a/pages/nfts/minting_services.mdx +++ b/pages/nfts/minting_services.mdx @@ -1,6 +1,7 @@ --- seo_title: Minting Services seo_description: +toc: false --- # Minting Services diff --git a/pages/nfts/nft_galleries.mdx b/pages/nfts/nft_galleries.mdx index b8d64a7f..5d4cb9e2 100644 --- a/pages/nfts/nft_galleries.mdx +++ b/pages/nfts/nft_galleries.mdx @@ -1,6 +1,7 @@ --- seo_title: NFT Galleries seo_description: +toc: false --- # NFT Galleries diff --git a/pages/nfts/nft_lending_and_borrowing.mdx b/pages/nfts/nft_lending_and_borrowing.mdx index 3e2c8226..2b369046 100644 --- a/pages/nfts/nft_lending_and_borrowing.mdx +++ b/pages/nfts/nft_lending_and_borrowing.mdx @@ -1,6 +1,7 @@ --- seo_title: NFT Lending and Borrowing seo_description: +toc: false --- # NFT Lending and Borrowing diff --git a/pages/nfts/nft_market_metrics.mdx b/pages/nfts/nft_market_metrics.mdx index a668da72..6c79f18f 100644 --- a/pages/nfts/nft_market_metrics.mdx +++ b/pages/nfts/nft_market_metrics.mdx @@ -1,6 +1,7 @@ --- seo_title: NFT Market Metrics seo_description: +toc: false --- # NFT Market Metrics diff --git a/pages/nfts/nft_marketplaces.mdx b/pages/nfts/nft_marketplaces.mdx index ff2e186b..a522846a 100644 --- a/pages/nfts/nft_marketplaces.mdx +++ b/pages/nfts/nft_marketplaces.mdx @@ -1,6 +1,7 @@ --- seo_title: NFT Marketplaces seo_description: +toc: false --- # NFT Marketplaces diff --git a/pages/nfts/other_nft_tools.mdx b/pages/nfts/other_nft_tools.mdx index 6eed4d31..d49615f1 100644 --- a/pages/nfts/other_nft_tools.mdx +++ b/pages/nfts/other_nft_tools.mdx @@ -1,6 +1,7 @@ --- seo_title: Other NFT Tools seo_description: +toc: false --- # Other NFT Tools diff --git a/pages/nfts/what_are_nfts.mdx b/pages/nfts/what_are_nfts.mdx index 1bc631a1..3369f650 100644 --- a/pages/nfts/what_are_nfts.mdx +++ b/pages/nfts/what_are_nfts.mdx @@ -1,6 +1,7 @@ --- seo_title: What Are NFTs? seo_description: "Learn about NFTs: blockchain assets enabling ownership of digital or physical items such as art, collectibles, music, videos, real estate, or game items." +toc: false --- # What Are NFTs? diff --git a/pages/on_chain_metrics/circulating_supply.mdx b/pages/on_chain_metrics/circulating_supply.mdx index a1852191..4d7f920b 100644 --- a/pages/on_chain_metrics/circulating_supply.mdx +++ b/pages/on_chain_metrics/circulating_supply.mdx @@ -1,6 +1,7 @@ --- seo_title: Circulating Supply seo_description: +toc: false --- # Circulating Supply diff --git a/pages/on_chain_metrics/decentralization_metrics.mdx b/pages/on_chain_metrics/decentralization_metrics.mdx index f5518b6c..c04ac240 100644 --- a/pages/on_chain_metrics/decentralization_metrics.mdx +++ b/pages/on_chain_metrics/decentralization_metrics.mdx @@ -1,6 +1,7 @@ --- seo_title: Decentralization Metrics seo_description: Cardano's decentralization metrics for network security. Explore key metrics like MAV, nakamoto coefficient, ISPs, and geographic distribution of nodes. +toc: false --- # Decentralization Metrics diff --git a/pages/on_chain_metrics/monetary_policy.mdx b/pages/on_chain_metrics/monetary_policy.mdx index e48feac6..730b1123 100644 --- a/pages/on_chain_metrics/monetary_policy.mdx +++ b/pages/on_chain_metrics/monetary_policy.mdx @@ -1,6 +1,7 @@ --- seo_title: Monetary Policy seo_description: +toc: false --- # Monetary Policy diff --git a/pages/on_chain_metrics/network_activity.mdx b/pages/on_chain_metrics/network_activity.mdx index 84ef85ac..03b63eba 100644 --- a/pages/on_chain_metrics/network_activity.mdx +++ b/pages/on_chain_metrics/network_activity.mdx @@ -1,6 +1,7 @@ --- seo_title: Network Activity seo_description: View transaction activity on Cardano network. See transaction volume, addresses, fees, and block space. Explore real-time metrics and long-term trends. +toc: false --- # Network Activity @@ -13,7 +14,6 @@ Transaction metrics including transaction volume, value, and fees. - [Taptools Market Overview](https://www.taptools.io/market-overview): Trading volume by dApp - [Danogo Active Wallets](https://danogo.io/active-wallet-report): Transaction activity and types of transactions -- [Adatainment Network Health](https://www.adatainment.com/index.php?page=charts_onchain_metrics&lang=en): Network activity in recent epochs - [Cardano Blockchain Insights](https://lookerstudio.google.com/s/r-x_IbY41mY): Transactions per day - [Cardano Blockchain Insights](https://lookerstudio.google.com/s/i1ovIilH5gY): Transactions per epoch 1 - [Cardano Blockchain Insights](https://lookerstudio.google.com/s/pw0_jGTWlcs): Transactions per epoch 2 diff --git a/pages/on_chain_metrics/on_chain_dashboards.mdx b/pages/on_chain_metrics/on_chain_dashboards.mdx index 89934beb..a5ae2f60 100644 --- a/pages/on_chain_metrics/on_chain_dashboards.mdx +++ b/pages/on_chain_metrics/on_chain_dashboards.mdx @@ -1,6 +1,7 @@ --- seo_title: On-Chain Dashboards seo_description: See the state of the Cardano network. Explore on-chain dashboards to visualize network activity, transaction data, decentralization, and other key metrics. +toc: false --- # On-Chain Dashboards @@ -10,7 +11,6 @@ On-chain dashboards show information about the state of the Cardano network. Thi - [Cardano Blockchain Insights](https://lookerstudio.google.com/s/huXqeQmi9qA): Stake pools, smart contracts, distribution, and treasury. - [Edinburgh Decentralization Index](http://blockchainlab.inf.ed.ac.uk/edi-dashboard/): Compares decentralization across many blockchains. - [Pooltool Network Health](https://pooltool.io/networkhealth): Block production, stake pool, and decentralization metrics. -- [Adatainment Network Health](https://www.adatainment.com/index.php?page=charts_onchain_metrics&lang=en): Transaction, staking, and block metrics. - [Balance Analytics](https://www.balanceanalytics.io/): Decentralization, MAV, and UTXO allocation. - [DefiLlama Cardano Dashboard](https://defillama.com/chain/Cardano): Price, development, and activity metrics. - [Cexplorer Insights](https://cexplorer.io/insights): Scripts, transactions, minted assets. diff --git a/pages/on_chain_metrics/other_metrics.mdx b/pages/on_chain_metrics/other_metrics.mdx index f09e0524..64f32323 100644 --- a/pages/on_chain_metrics/other_metrics.mdx +++ b/pages/on_chain_metrics/other_metrics.mdx @@ -1,6 +1,7 @@ --- seo_title: Other Metrics seo_description: +toc: false --- # Other Metrics diff --git a/pages/on_chain_metrics/staking_metrics.mdx b/pages/on_chain_metrics/staking_metrics.mdx index b2581234..429412f5 100644 --- a/pages/on_chain_metrics/staking_metrics.mdx +++ b/pages/on_chain_metrics/staking_metrics.mdx @@ -1,6 +1,7 @@ --- seo_title: Staking Metrics seo_description: +toc: false --- # Staking Metrics diff --git a/pages/on_chain_metrics/tokenomics_and_distribution.mdx b/pages/on_chain_metrics/tokenomics_and_distribution.mdx index e2cf4ae5..cbaee4ac 100644 --- a/pages/on_chain_metrics/tokenomics_and_distribution.mdx +++ b/pages/on_chain_metrics/tokenomics_and_distribution.mdx @@ -1,6 +1,7 @@ --- seo_title: Tokenomics and Distribution seo_description: +toc: false --- # Tokenomics and Distribution diff --git a/pages/on_chain_metrics/total_value_locked.mdx b/pages/on_chain_metrics/total_value_locked.mdx index 6ae84781..c6b5887f 100644 --- a/pages/on_chain_metrics/total_value_locked.mdx +++ b/pages/on_chain_metrics/total_value_locked.mdx @@ -1,6 +1,7 @@ --- seo_title: Total Value Locked seo_description: +toc: false --- # Total Value Locked diff --git a/pages/on_chain_metrics/treasury.mdx b/pages/on_chain_metrics/treasury.mdx index 4e966228..5b431aba 100644 --- a/pages/on_chain_metrics/treasury.mdx +++ b/pages/on_chain_metrics/treasury.mdx @@ -1,6 +1,7 @@ --- seo_title: Treasury seo_description: +toc: false --- # Treasury diff --git a/pages/sidechains/midnight.mdx b/pages/sidechains/midnight.mdx index 522c4a1a..3389b000 100644 --- a/pages/sidechains/midnight.mdx +++ b/pages/sidechains/midnight.mdx @@ -1,6 +1,7 @@ --- seo_title: Midnight seo_description: +toc: false --- # Midnight diff --git a/pages/sidechains/milkomeda.mdx b/pages/sidechains/milkomeda.mdx index 1cd6f979..efcac58a 100644 --- a/pages/sidechains/milkomeda.mdx +++ b/pages/sidechains/milkomeda.mdx @@ -1,6 +1,7 @@ --- seo_title: Milkomeda seo_description: +toc: false --- # Milkomeda diff --git a/pages/sidechains/other_sidechains.mdx b/pages/sidechains/other_sidechains.mdx index 144bd5e3..4f3864e9 100644 --- a/pages/sidechains/other_sidechains.mdx +++ b/pages/sidechains/other_sidechains.mdx @@ -1,6 +1,7 @@ --- seo_title: Other Sidechains seo_description: +toc: false --- # Other Sidechains diff --git a/pages/sidechains/singularitynet.mdx b/pages/sidechains/singularitynet.mdx index 10059924..494b4c9f 100644 --- a/pages/sidechains/singularitynet.mdx +++ b/pages/sidechains/singularitynet.mdx @@ -1,6 +1,7 @@ --- seo_title: SingularityNet seo_description: +toc: false --- # SingularityNet diff --git a/pages/sidechains/what_are_sidechains.mdx b/pages/sidechains/what_are_sidechains.mdx index 6618c330..5548671f 100644 --- a/pages/sidechains/what_are_sidechains.mdx +++ b/pages/sidechains/what_are_sidechains.mdx @@ -1,19 +1,19 @@ --- seo_title: What are Sidechains? -seo_description: Sidechains are separate blockchains that connect to Cardano. They enable fast transactions, low fees, custom features, scalability, and interoperability. +seo_description: Sidechains are separate blockchains that connect to Cardano. They enable fast transactions, low fees, custom features, scalability, and interoperability. +toc: false --- # What are Sidechains? -Sidechains are separate blockchains that connect with Cardano. They enable unique blockchains to connect together. Users can transfer digital assets securely between these linked networks. +Sidechains are separate blockchains that connect with Cardano. They enable unique blockchains to connect together. Users can transfer digital assets securely between these linked networks. ### What are the Benefits of Sidechains? 1. Scalability: Side chains help process some transactions instead of the main Cardano chain. This helps ensure users can get transactions through quickly and cheaply. -2. Flexibility: Different sidechains offer different attributes, providing users more options. Some are optimized for fast transaction speed, low fees, privacy, and other specialized purposes. +2. Flexibility: Different sidechains offer different attributes, providing users more options. Some are optimized for fast transaction speed, low fees, privacy, and other specialized purposes. -3. Security: Sidechains can leverage the security and decentralization of existing Cardano nodes. This allows them to bootstrap their networks with a secure foundation. Over time they can transition to more independence. +3. Security: Sidechains can leverage the security and decentralization of existing Cardano nodes. This allows them to bootstrap their networks with a secure foundation. Over time they can transition to more independence. 4. Interoperability: Sidechains allow users to transfer their assets between blockchain networks. This means users can move to the ideal blockchain system for their needs. Asset movement is secured using a secure and carefully-designed 2-way peg mechanism. - diff --git a/pages/sidechains/world_mobile.mdx b/pages/sidechains/world_mobile.mdx index 2a5ee632..1aad3b7b 100644 --- a/pages/sidechains/world_mobile.mdx +++ b/pages/sidechains/world_mobile.mdx @@ -1,6 +1,7 @@ --- seo_title: World Mobile seo_description: +toc: false --- # World Mobile diff --git a/pages/staking/ispos.mdx b/pages/staking/ispos.mdx index 6aa1117e..a33b73cb 100644 --- a/pages/staking/ispos.mdx +++ b/pages/staking/ispos.mdx @@ -1,21 +1,22 @@ --- seo_title: ISPOs seo_description: Discover Initial Stake Pool Offerings (ISPOs) on Cardano. Earn additional Cardano tokens by staking ADA with chosen pools. See ongoing ISPOs now. +toc: false --- # ISPOs ### What is an ISPO? -An initial stake pool offering (ISPO) allows you to collect tokens besides ADA when staking your ADA. Learn more about ISPOs: +An initial stake pool offering (ISPO) allows you to collect Cardano tokens besides ADA when staking your ADA. Learn more about ISPOs: -- [Littlefish Foundation](https://vault.littlefish.foundation/F.+Cardano/ISPO+-+What%2C+Why%2C+How%3F): ISPO - What, Why, How? +- [Littlefish Foundation](https://vault.littlefish.foundation/F.+Cardano/ISPO+-+What%2C+Why%2C+How%3F): ISPOs - What, Why, How? - [Cointelegraph](https://cointelegraph.com/learn/ispo-101-a-beginners-guide-on-initial-stake-pool-offerings): ISPO 101: A beginner’s guide on initial stake pool offerings - [CardanoSpot](https://cardanospot.io/news/initial-stake-pool-offering-ispo-on-cardano-ecosystem-0): ISPOs on Cardano ### Ongoing ISPOs -See ISPOs that are happening now. +See ISPOs happening now. - [Maestro](https://www.gomaestro.org/marketplace): Marketplace of ISPOs - [CardanoCube](https://www.cardanocube.com/categories/ispo): ISPO collection diff --git a/pages/staking/other_staking_tools.mdx b/pages/staking/other_staking_tools.mdx index 6aa6ab11..4e601512 100644 --- a/pages/staking/other_staking_tools.mdx +++ b/pages/staking/other_staking_tools.mdx @@ -1,6 +1,7 @@ --- seo_title: Other Staking Tools seo_description: +toc: false --- # Other Staking Tools diff --git a/pages/staking/pool_monitoring_tools.mdx b/pages/staking/pool_monitoring_tools.mdx index c3d96c74..9c23f4f0 100644 --- a/pages/staking/pool_monitoring_tools.mdx +++ b/pages/staking/pool_monitoring_tools.mdx @@ -1,6 +1,7 @@ --- seo_title: Stake Pool Monitoring Tools seo_description: +toc: false --- # Stake Pool Monitoring Tools diff --git a/pages/staking/reward_calculators.mdx b/pages/staking/reward_calculators.mdx index 8083deca..e69d2996 100644 --- a/pages/staking/reward_calculators.mdx +++ b/pages/staking/reward_calculators.mdx @@ -1,15 +1,15 @@ --- seo_title: Reward Calculators seo_description: Staking reward calculators estimate upcoming gains from staked ADA. Calculate your Cardano stake rewards using these tools and compound your ADA. +toc: false --- # Rewards Calculators Calculators to estimate ADA staking rewards. +- [Antipalos Cardano Calculator](https://antipalos.github.io/cardano-calculator/#calculator): Open-source reward calculator - [Armada Alliance](https://armada-alliance.com/): Scroll down for calculators: staking rewards, live off rewards, and retirement - [Cardano with Paul](https://www.cardanowithpaul.com/calculators/ada-staking-rewards-calculator/): Staking rewards - [Cardano with Paul](https://www.cardanowithpaul.com/calculators/ada-price-needed-to-live-off-rewards/): Live off rewards -- [Cardano with Paul](https://www.cardanowithpaul.com/calculators/how-much-ada-do-you-need-to-retire/): Retirement -- [Antipalos Cardano Calculator](https://antipalos.github.io/cardano-calculator/#calculator): Open-source reward calculator -- [Adatainment](https://www.adatainment.com/index.php?page=staking_calculator): Simplified reward calculator +- [Cardano with Paul](https://www.cardanowithpaul.com/calculators/how-much-ada-do-you-need-to-retire/): Retirement \ No newline at end of file diff --git a/pages/staking/reward_calendars.mdx b/pages/staking/reward_calendars.mdx index 2891b217..db7ae82c 100644 --- a/pages/staking/reward_calendars.mdx +++ b/pages/staking/reward_calendars.mdx @@ -1,6 +1,7 @@ --- seo_title: Reward Calendars seo_description: View your Cardano staking rewards on a calendar. Check your ADA reward history and estimate future rewards. Stake to earn and secure Cardano! +toc: false --- # Reward Calendars diff --git a/pages/staking/reward_trackers.mdx b/pages/staking/reward_trackers.mdx index f67805d5..8ded7197 100644 --- a/pages/staking/reward_trackers.mdx +++ b/pages/staking/reward_trackers.mdx @@ -1,6 +1,7 @@ --- seo_title: Reward Trackers seo_description: Track your Cardano ADA staking rewards. Enter your wallet address to see stake rewards and history. Stay informed and optimize your staking strategy. +toc: false --- # Reward Trackers diff --git a/pages/staking/set_up_a_stake_pool.mdx b/pages/staking/set_up_a_stake_pool.mdx index 365c2e94..385e6e1c 100644 --- a/pages/staking/set_up_a_stake_pool.mdx +++ b/pages/staking/set_up_a_stake_pool.mdx @@ -1,6 +1,7 @@ --- seo_title: Set up a Stake Pool seo_description: +toc: false --- # Set up a Stake Pool diff --git a/pages/staking/spo_chat_groups.mdx b/pages/staking/spo_chat_groups.mdx index 3bb6ba71..30fd426b 100644 --- a/pages/staking/spo_chat_groups.mdx +++ b/pages/staking/spo_chat_groups.mdx @@ -1,6 +1,7 @@ --- seo_title: SPO Chat Groups seo_description: +toc: false --- # SPO Chat Groups diff --git a/pages/staking/stake_pool_alliances.mdx b/pages/staking/stake_pool_alliances.mdx index eabfea59..f2f7a55e 100644 --- a/pages/staking/stake_pool_alliances.mdx +++ b/pages/staking/stake_pool_alliances.mdx @@ -1,6 +1,7 @@ --- seo_title: Stake Pool Alliances seo_description: Explore Cardano stake pool alliances. Find mission-driven collectives, eco-friendly groups, and single pools. Find and support a stake pool with purpose. +toc: false --- # Stake Pool Alliances @@ -13,4 +14,6 @@ Collectives of stake pool operators with a similar missions or goals. By joining - [Single Pool Alliance](https://singlepoolalliance.net/): Single stake pools promoting diverse decentralization. - [Climate Neutral Cardano](https://climateneutralcardano.org/): Stake pools committed to using 100% renewable energy. - [SPO Japan Guild](https://spojapanguild.net/): Japanese Guild supporting the Japanese community. -- [Aldea DAO](https://aldea-dao.org/): A Latin American DAO with 30+ stake pools supporting local projects. \ No newline at end of file +- [Canadian Cardano Stake Pool Association](https://ccspa.ca/): Coalition of Cardano stake pool operators across Canada. +- [Aldea DAO](https://aldea-dao.org/): A Latin American DAO with 30+ stake pools supporting local projects. +- [StakePool Operator Tools Alliance](https://github.com/gitmachtl/StakePool-Operator-Tools-Alliance): Alliance of stake pool operators developing tools for stake pools. \ No newline at end of file diff --git a/pages/staking/stake_pool_explorers.mdx b/pages/staking/stake_pool_explorers.mdx index 5a62dc46..3f73980c 100644 --- a/pages/staking/stake_pool_explorers.mdx +++ b/pages/staking/stake_pool_explorers.mdx @@ -1,6 +1,7 @@ --- seo_title: Stake Pool Explorers seo_description: Explore Stake Pools and find a stellar stake pool to delegate to. Compare pools to make informed decisions. Earn rewards and promote decentralization. +toc: false --- # Stake Pool Explorers @@ -9,7 +10,8 @@ Stake Pool Explorers to search and view stake pools. - [Cexplorer Stake Pools](https://cexplorer.io/pool) - [AdaStat](https://adastat.net/pools) +- [Alethea](https://alethea.io/pools) +- [Upstream](https://upstream.org.uk/cardano-stake-pool-explorer/) - [PoolTool](https://pooltool.io/pools): Pool explorer and pool Telegram bot - [CardanoScan](https://cardanoscan.io/pools): Pool explorer and pool Telegram bot -- [Adafolio](https://adafolio.com/): Community-created stake pools collections -- [Adastack](https://www.adastack.io/staking/stake_pool_alliances): Stake Pool Alliances +- [Stakada](https://stakada.io/) \ No newline at end of file diff --git a/pages/staking/start_staking.mdx b/pages/staking/start_staking.mdx index 93be856f..ef18edb5 100644 --- a/pages/staking/start_staking.mdx +++ b/pages/staking/start_staking.mdx @@ -1,6 +1,7 @@ --- seo_title: Start Staking seo_description: Learn about Cardano's staking system, choose a stake pool, and start staking. Earn ADA rewards and participate in the Cardano network! +toc: false --- import { Steps } from "nextra/components"; @@ -36,8 +37,6 @@ Here are good websites to explore stake pools: - [Single Pool Alliance](https://singlepoolalliance.net/): Decentralization-committed stake pools. -- [Community Developer Pools](https://adafolio.com/portfolio/8f7da192-0257-11eb-9684-a45e60be653b): Developers stake pools that make code contributions on Cardano. - - [Armada Alliance](https://armada-alliance.com/): Energy-efficient stake pools. ### Confirm Delegation in your Wallet diff --git a/pages/staking/what_is_staking.mdx b/pages/staking/what_is_staking.mdx index e78a1241..79ca736c 100644 --- a/pages/staking/what_is_staking.mdx +++ b/pages/staking/what_is_staking.mdx @@ -1,6 +1,7 @@ --- seo_title: What is Staking? seo_description: Understand staking on Cardano, why this benefits the network, and how to earn rewards from it. Explore detailed guides and official documentation. +toc: false --- # What is Staking? diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png index a7bd407b..36552bec 100644 Binary files a/public/apple-touch-icon.png and b/public/apple-touch-icon.png differ diff --git a/public/favicon-96x96.png b/public/favicon-96x96.png new file mode 100644 index 00000000..9f234cb0 Binary files /dev/null and b/public/favicon-96x96.png differ diff --git a/public/favicon.ico b/public/favicon.ico index 776503e5..6d33cd30 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/public/favicon.svg b/public/favicon.svg new file mode 100644 index 00000000..51b0068a --- /dev/null +++ b/public/favicon.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/public/site.webmanifest b/public/site.webmanifest index b20abb7c..8868f8b2 100644 --- a/public/site.webmanifest +++ b/public/site.webmanifest @@ -1,19 +1,21 @@ { - "name": "", - "short_name": "", - "icons": [ - { - "src": "/android-chrome-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "/android-chrome-512x512.png", - "sizes": "512x512", - "type": "image/png" - } - ], - "theme_color": "#ffffff", - "background_color": "#ffffff", - "display": "standalone" -} + "name": "adastack.io", + "short_name": "adastack", + "icons": [ + { + "src": "/web-app-manifest-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "/web-app-manifest-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ], + "theme_color": "#0a0c19", + "background_color": "#ffffff", + "display": "standalone" +} \ No newline at end of file diff --git a/public/web-app-manifest-192x192.png b/public/web-app-manifest-192x192.png new file mode 100644 index 00000000..7825131f Binary files /dev/null and b/public/web-app-manifest-192x192.png differ diff --git a/public/web-app-manifest-512x512.png b/public/web-app-manifest-512x512.png new file mode 100644 index 00000000..e524dbfd Binary files /dev/null and b/public/web-app-manifest-512x512.png differ diff --git a/scripts/API/openSourceBuildersAPI.js b/scripts/API/openSourceBuildersAPI.js new file mode 100644 index 00000000..2442a72f --- /dev/null +++ b/scripts/API/openSourceBuildersAPI.js @@ -0,0 +1,221 @@ +import TimeAgo from "javascript-time-ago"; +import en from "javascript-time-ago/locale/en"; +import { Octokit } from "@octokit/rest"; +import { retry } from "@octokit/plugin-retry"; +import { throttling } from "@octokit/plugin-throttling"; + +const MyOctokit = Octokit.plugin(retry, throttling); + +TimeAgo.addDefaultLocale(en); +const timeAgo = new TimeAgo("en-US"); + +const octokit = new MyOctokit({ + auth: process.env.GITHUB_ACCESS_TOKEN, + userAgent: "adastack.io v1.0", + retry: { + enabled: true, + retries: 5, + doNotRetry: ["429"], + }, + request: { + timeout: 60000, // 60 seconds + }, + throttle: { + onRateLimit: (retryAfter, options, octokit, retryCount) => { + octokit.log.warn( + `Request quota exhausted for request ${options.method} ${options.url}` + ); + if (retryCount < 3) { + octokit.log.info(`Retrying after ${retryAfter} seconds!`); + return true; + } + }, + onSecondaryRateLimit: (retryAfter, options, octokit, retryCount) => { + octokit.log.warn( + `Secondary rate limit hit for request ${options.method} ${options.url}` + ); + if (retryCount < 2) { + octokit.log.info(`Retrying after ${retryAfter} seconds!`); + return true; + } + }, + onAbuseLimit: (retryAfter, options, octokit) => { + octokit.log.warn( + `Abuse detection triggered for request ${options.method} ${options.url}` + ); + return false; + }, + fallbackSecondaryRateRetryAfter: 60, + }, +}); + +const fetchAllRepos = async (owner, type = "users") => { + try { + const repos = []; + let page = 1; + let totalStars = 0; + + while (true) { + const response = await octokit.rest.repos + .listForUser({ + username: owner, + per_page: 100, + page, + sort: "pushed", + direction: "desc", + }) + .catch(async (error) => { + if (error.status === 404 && type === "users") { + // Try as organization if user not found + return octokit.rest.repos.listForOrg({ + org: owner, + per_page: 100, + page, + sort: "pushed", + direction: "desc", + }); + } + throw error; + }); + + const currentRepos = response.data; + if (currentRepos.length === 0) break; + + // Only keep essential fields from each repo + const trimmedRepos = currentRepos.map((repo) => ({ + id: repo.id, + name: repo.name, + html_url: repo.html_url, + description: repo.description, + stargazers_count: repo.stargazers_count, + language: repo.language, + pushed_at: repo.pushed_at, + })); + + repos.push(...trimmedRepos); + totalStars += currentRepos.reduce( + (sum, repo) => sum + repo.stargazers_count, + 0 + ); + + if (currentRepos.length < 100) break; + page++; + } + + return { repos, totalStars }; + } catch (error) { + if (error.status === 404) { + throw new Error(`Repository owner ${owner} not found`); + } + if (error.status === 403 && error.message.includes("rate limit")) { + const resetDate = new Date( + error.response.headers["x-ratelimit-reset"] * 1000 + ); + throw new Error( + `Rate limit exceeded. Resets at ${resetDate.toISOString()}` + ); + } + throw error; + } +}; + +const calculateRepoStats = (repos) => { + if (!repos || repos.length === 0) return null; + + const starCount = repos.reduce((sum, repo) => sum + repo.stargazers_count, 0); + const repoCount = repos.length; + + // Find most recent repo (already sorted by pushed_at) + const mostRecentRepo = repos[0]; + const mostRecentDate = new Date(mostRecentRepo.pushed_at); + const timeSinceLastCommit = timeAgo.format(mostRecentDate, "mini-now"); + + // Find most starred repo + const mostStarredRepo = [...repos].sort( + (a, b) => b.stargazers_count - a.stargazers_count + )[0]; + const mostStarredDate = new Date(mostStarredRepo.pushed_at); + const starredTimeSinceLastCommit = timeAgo.format( + mostStarredDate, + "mini-now" + ); + + return { + starCount, + repoCount, + repos, + mostRecentRepo: { + url: mostRecentRepo.html_url, + timeSinceLastCommit, + name: mostRecentRepo.name, + description: mostRecentRepo.description, + stars: mostRecentRepo.stargazers_count, + language: mostRecentRepo.language, + pushedAt: mostRecentRepo.pushed_at, + }, + mostStarredRepo: { + url: mostStarredRepo.html_url, + timeSinceLastCommit: starredTimeSinceLastCommit, + name: mostStarredRepo.name, + description: mostStarredRepo.description, + stars: mostStarredRepo.stargazers_count, + language: mostStarredRepo.language, + pushedAt: mostStarredRepo.pushed_at, + }, + }; +}; + +const openSourceBuildersAPI = async (teamData) => { + return Promise.all( + teamData.map(async (team, index) => { + try { + if (!team.teamGithubURL) { + throw new Error("Team URL is missing"); + } + + const urlParts = new URL(team.teamGithubURL).pathname + .split("/") + .filter(Boolean); + + const repoOwner = urlParts[0]; + if (!repoOwner) { + throw new Error("Invalid GitHub URL"); + } + + const { repos, totalStars } = await fetchAllRepos(repoOwner); + const stats = calculateRepoStats(repos); + + const reposOnGithub = urlParts[0].startsWith("@") + ? `https://github.com/orgs/${repoOwner.substring(1)}/repositories` + : `https://github.com/${repoOwner}?tab=repositories`; + + return { + ...team, + key: `key-${index}-${team.website}`, + starCount: stats.starCount, + repoCount: stats.repoCount, + repos: stats.repos, + mostRecentRepo: stats.mostRecentRepo, + mostStarredRepo: stats.mostStarredRepo, + reposOnGithub, + error: null, + }; + } catch (error) { + console.error(`Error processing ${team.teamGithubURL}:`, error); + return { + ...team, + key: `key-${index}-${team.website}`, + starCount: null, + repos: null, + repoCount: null, + mostRecentRepo: null, + mostStarredRepo: null, + reposOnGithub: null, + error: error.message || "An unknown error occurred", + }; + } + }) + ); +}; + +export default openSourceBuildersAPI; diff --git a/theme.config.tsx b/theme.config.tsx index d80d307d..8eda794e 100644 --- a/theme.config.tsx +++ b/theme.config.tsx @@ -1,17 +1,17 @@ import React from "react"; -import { DocsThemeConfig, ThemeSwitch, useTheme } from "nextra-theme-docs"; -import { AdaStackLight, AdaStackDark, AdaStackMid } from "@components/icons"; -import { Nunito } from "next/font/google"; +import { DocsThemeConfig, useTheme } from "nextra-theme-docs"; +import { XIcon, GithubNavIcon } from "./assets/icons"; +import { + BlueDarkAdastackLogoFull, + BlueLightAdastackLogoFull, +} from "./assets/logos"; import { useConfig } from "nextra-theme-docs"; import { useRouter } from "next/router"; -const nunito = Nunito({ - subsets: ["latin"], - weight: ["400", "700"], -}); +const default_seo_description = + "Adastack is an explorer for everything on Cardano. Find community, dApps, games, staking, NFTs, governance, development, DAOs, Layer 2s, and more."; -const standard_seo_description = - "Adastack is an explorer to check out everything on Cardano. Find dApps, games, community, NFTs, staking, development, governance, and much more."; +const default_seo_title = "Cardano Ecosystem Explorer | Adastack.io"; const config: DocsThemeConfig = { head: () => { @@ -21,71 +21,58 @@ const config: DocsThemeConfig = { "https://adastack.io" + (defaultLocale === locale ? asPath : `/${locale}${asPath}`); - let title = `${frontMatter.seo_title} | Adastack.io`; + let title = frontMatter.seo_title + ? `${frontMatter.seo_title} | Adastack.io` + : default_seo_title; let description = frontMatter.seo_description ? frontMatter.seo_description - : standard_seo_description; + : default_seo_description; return ( <> - + + + + + - - - ); }, useNextSeoProps() { const { frontMatter } = useConfig(); return { - titleTemplate: `${frontMatter.seo_title} | Adastack.io`, + titleTemplate: frontMatter.seo_title + ? `${frontMatter.seo_title} | Adastack.io` + : default_seo_title, description: frontMatter.seo_description ? frontMatter.seo_description - : standard_seo_description, + : default_seo_description, // Note: This sets pages to index only if there is an seo-description on the page. Remove the below line once all pages have content and seo-descriptions. noindex: frontMatter.seo_description ? false : true, }; }, search: { placeholder: "Search Cardano" }, chat: { - link: "https://github.com/adastackio/adastack.io", - icon: ( - - - - ), + link: "https://x.com/adastackio", + icon: , + }, + project: { + link: "https://github.com/adastackio", + icon: , }, themeSwitch: { useOptions() { @@ -100,20 +87,15 @@ const config: DocsThemeConfig = { defaultTheme: "system", }, logo: () => { + const { resolvedTheme } = useTheme(); return ( <> - - - ADASTACK + + {resolvedTheme === "dark" ? ( + + ) : ( + + )} ); @@ -122,23 +104,23 @@ const config: DocsThemeConfig = { sidebar: { defaultMenuCollapseLevel: 1, toggleButton: true, - titleComponent(props) { - const title = props.title; + titleComponent({ title }) { + // Note: Remove this variable, conditional class logic, and related CSS once content has been added to all pages. Keep the 'sidebar-menu-item' part below. const isInDevelopment = title.endsWith(" "); return ( - // Note: Remove this conditional class logic and related CSS once content has been added to all pages - (
{title} -
) + ); }, }, toc: { float: true, + title: "Table of Contents", }, feedback: { content: "",