This commit is contained in:
kristof de spiegeleer 2025-02-05 10:58:52 +03:00
parent 481821e7d2
commit 7b66873ef7
29 changed files with 102 additions and 40993 deletions

14
.gitignore vendored
View File

@ -18,9 +18,17 @@
npm-debug.log* npm-debug.log*
yarn-debug.log* yarn-debug.log*
yarn-error.log* yarn-error.log*
bun.lockb
bun.lock
all_files_text.txt yarn.lock
/test build.sh
build_dev.sh
develop.sh
/temp docusaurus.config.ts
sidebars.ts
tsconfig.json

View File

@ -1,3 +0,0 @@
module.exports = {
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
};

View File

@ -1,22 +0,0 @@
#!/bin/bash
set -ex
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "${script_dir}"
export PATH=${BASE}/node_modules/.bin:$PATH
echo "Docs directory: $script_dir"
# Change baseUrl to '/depindev/'
sed -i "s|/depin/|/depindev/|g" docusaurus.config.ts ./src/pages/index.tsx
#bun build
#bun ${script_dir}/node_modules/.bin/docusaurus build
pnpm build
rsync -rv --delete ${script_dir}/build/ root@info.ourworld.tf:/root/hero/www/info/depindev
# Change baseUrl to '/depin/'
sed -i "s|/depindev/|/depin/|g" docusaurus.config.ts ./src/pages/index.tsx

View File

@ -1,16 +1,18 @@
#!/bin/bash #!/bin/bash
set -ex set -e
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "${script_dir}" cd "${script_dir}"
export PATH=${BASE}/node_modules/.bin:$PATH
echo "Docs directory: $script_dir" echo "Docs directory: $script_dir"
#bun build cd /Users/despiegk/hero/var/docusaurus
#bun ${script_dir}/node_modules/.bin/docusaurus build
pnpm build
rsync -rv --delete ${script_dir}/build/ root@info.ourworld.tf:/root/hero/www/info/depin export PATH=/tmp/docusaurus_build/node_modules/.bin:$PATH
rm -rf /Users/despiegk/hero/var/docusaurus/build/
bun docusaurus build
rsync -rv --delete /Users/despiegk/hero/var/docusaurus/build/ root@info.ourworld.tf:/root/hero/www/info/depin/

45
cfg/footer.json Normal file
View File

@ -0,0 +1,45 @@
{
"style": "dark",
"links": [
{
"title": "Overview",
"items": [
{
"label": "DePIN Boards",
"href": "/docs/depin_board"
},
{
"label": "DePIN Charts",
"href": "/docs/depin_6dchart"
}
]
},
{
"title": "Community",
"items": [
{
"label": "Feedback",
"to": "/docs/feedback"
},
{
"label": "Gitea Repo",
"href": "https://git.ourworld.tf/tfgrid/info_docs_depin"
}
]
},
{
"title": "Links",
"items": [
{
"label": "ThreeFold.io",
"href": "https://threefold.io"
},
{
"label": "Dashboard",
"href": "https://dashboard.grid.tf"
}
]
}
],
"copyright": "Copyright © 2025 ThreeFold"
}

16
cfg/main.json Normal file
View File

@ -0,0 +1,16 @@
{
"title": "DePIN Projects",
"tagline": "Navigate the rapidly evolving landscape of Decentralized Physical Infrastructure Networks (DePIN)",
"favicon": "img/favicon_depin.png",
"url": "https://info.ourworld.tf",
"url_home": "docs/introduction",
"baseUrl": "/depin/",
"image": "img/ourworld_depin.png",
"metadata": {
"description": "Navigate the rapidly evolving landscape of Decentralized Physical Infrastructure Networks (DePIN).",
"image": "https://info.ourworld.tf/img/ourworld_depin.png",
"title": "Introduction | DePIN Projects"
},
"buildDest": "root@info.ourworld.tf:/root/hero/www/info",
"buildDestDev": "root@info.ourworld.tf:/root/hero/www/infodev"
}

16
cfg/navbar.json Normal file
View File

@ -0,0 +1,16 @@
{
"title": "DePIN Projects",
"items": [
{
"type": "docSidebar",
"sidebarId": "tutorialSidebar",
"position": "left",
"label": "Docs"
},
{
"href": "https://git.ourworld.tf/tfgrid/info_docs_depin",
"label": "Gitea",
"position": "right"
}
]
}

View File

@ -1,12 +1,14 @@
#!/bin/bash #!/bin/bash
set -ex set -e
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "${script_dir}" cd "${script_dir}"
echo "Docs directory: $script_dir" echo "Docs directory: $script_dir"
export NODE_OPTIONS=--openssl-legacy-provider cd /Users/despiegk/hero/var/docusaurus
npm run start -- --host 0.0.0.0 export PATH=/tmp/docusaurus_build/node_modules/.bin:$PATH
bun run start -p 3100

View File

@ -1,141 +0,0 @@
import {themes as prismThemes} from 'prism-react-renderer';
import type {Config} from '@docusaurus/types';
import type * as Preset from '@docusaurus/preset-classic';
const config: Config = {
title: 'DePIN Projects',
tagline: 'Navigate the rapidly evolving landscape of Decentralized Physical Infrastructure Networks (DePIN)',
favicon: 'img/favicon_depin.png',
url: 'https://info.ourworld.tf',
baseUrl: '/depin/',
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn',
i18n: {
defaultLocale: 'en',
locales: ['en'],
},
presets: [
[
'classic',
{
docs: {
sidebarPath: './sidebars.ts',
},
blog: {
showReadingTime: true,
feedOptions: {
type: ['rss', 'atom'],
xslt: true,
},
onInlineTags: 'warn',
onInlineAuthors: 'warn',
onUntruncatedBlogPosts: 'warn',
},
theme: {
customCss: './src/css/custom.css',
},
} satisfies Preset.Options,
],
],
markdown: {
mermaid: true,
},
themes: ['@docusaurus/theme-mermaid'],
scripts: [
{
src:
'/js/crisp.js',
async: false,
},
],
themeConfig: {
colorMode: {
defaultMode: 'dark',
disableSwitch: true,
respectPrefersColorScheme: false,
},
image: 'img/ourworld_depin.png',
metadata: [
{ name: 'description', content: 'Navigate the rapidly evolving landscape of Decentralized Physical Infrastructure Networks (DePIN).' },
{ property: 'og:image', content: 'https://info.ourworld.tf/img/ourworld_depin.png' },
{ property: 'og:description', content: 'Navigate the rapidly evolving landscape of Decentralized Physical Infrastructure Networks (DePIN).' },
{ property: 'og:title', content: 'Introduction | DePIN Projects' },
],
navbar: {
title: 'DePIN Projects',
items: [
{
type: 'docSidebar',
sidebarId: 'tutorialSidebar',
position: 'left',
label: 'Docs',
},
{
href: 'https://git.ourworld.tf/tfgrid/info_docs_depin',
label: 'Gitea',
position: 'right',
},
],
},
footer: {
style: 'dark',
links: [
{
title: 'Overview',
items: [
{
label: 'DePIN Boards',
href: '/docs/depin_board',
},
{
label: 'DePIN Charts',
href: '/docs/depin_6dchart',
}
],
},
{
title: 'Community',
items: [
{
label: 'Feedback',
to: '/docs/feedback',
},
{
label: 'Gitea Repo',
href: 'https://git.ourworld.tf/tfgrid/info_docs_depin',
},
],
},
{
title: 'Links',
items: [
{
label: 'ThreeFold.io',
href: 'https://threefold.io',
},
{
label: 'Dashboard',
href: 'https://dashboard.grid.tf',
}
],
},
],
copyright: `Copyright © ${new Date().getFullYear()} OurWorld`,
},
prism: {
theme: prismThemes.github,
darkTheme: prismThemes.dracula,
},
} satisfies Preset.ThemeConfig,
};
export default config;

View File

@ -1,24 +0,0 @@
#!/bin/bash
set -ex
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "${script_dir}"
echo "Docs directory: $script_dir"
# Check if bun is installed
# if ! command -v bun &> /dev/null; then
# echo "Bun is not installed. Installing..."
# curl -fsSL https://bun.sh/install | bash
# else
# echo "Bun is already installed."
# fi
#bun install
export PATH=${BASE}/node_modules/.bin:$PATH
npm install @docusaurus/core@3.6.3 @docusaurus/preset-classic@3.6.3 @docusaurus/theme-mermaid@3.6.3
pnpm install

18240
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,51 +0,0 @@
{
"name": "docs-website",
"version": "0.0.0",
"private": true,
"scripts": {
"docusaurus": "docusaurus",
"start": "docusaurus start",
"build": "docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy",
"clear": "docusaurus clear",
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
"write-heading-ids": "docusaurus write-heading-ids",
"typecheck": "tsc"
},
"dependencies": {
"@docusaurus/core": "^3.6.3",
"@docusaurus/preset-classic": "^3.6.3",
"@docusaurus/theme-mermaid": "^3.6.3",
"@mdx-js/react": "^3.0.0",
"chart.js": "^4.4.7",
"clsx": "^2.0.0",
"prism-react-renderer": "^2.3.0",
"react": "^18.0.0",
"react-chartjs-2": "^5.3.0",
"react-dom": "^18.0.0"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "^3.6.3",
"@docusaurus/tsconfig": "3.5.2",
"@docusaurus/types": "3.5.2",
"typescript": "~5.5.2"
},
"browserslist": {
"production": [
">0.5%",
"not dead",
"not op_mini all"
],
"development": [
"last 3 chrome version",
"last 3 firefox version",
"last 5 safari version"
]
},
"engines": {
"node": ">=18.0"
},
"packageManager": "pnpm@9.3.0+sha512.ee7b93e0c2bd11409c6424f92b866f31d3ea1bef5fbe47d3c7500cdc3c9668833d2e55681ad66df5b640c61fa9dc25d546efa54d76d7f8bf54b13614ac293631"
}

File diff suppressed because it is too large Load Diff

View File

@ -1,31 +0,0 @@
import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
/**
* Creating a sidebar enables you to:
- create an ordered group of docs
- render a sidebar for each doc of that group
- provide next/previous navigation
The sidebars can be generated from the filesystem, or explicitly defined here.
Create as many sidebars as you want.
*/
const sidebars: SidebarsConfig = {
// By default, Docusaurus generates a sidebar from the docs folder structure
tutorialSidebar: [{type: 'autogenerated', dirName: '.'}],
// But you can create a sidebar manually
/*
tutorialSidebar: [
'intro',
'hello',
{
type: 'category',
label: 'Tutorial',
items: ['tutorial-basics/create-a-document'],
},
],
*/
};
export default sidebars;

View File

@ -1,71 +0,0 @@
import clsx from 'clsx';
import Heading from '@theme/Heading';
import styles from './styles.module.css';
import { useColorMode } from '@docusaurus/theme-common'
type FeatureItem = {
title: string;
Svg: React.ComponentType<React.ComponentProps<'svg'>>;
description: JSX.Element;
};
const FeatureList: FeatureItem[] = [
{ scale: 1.0,
fill:"currentColor",
title: 'Building Web4',
Svg: require('@site/static/img/clouds.svg').default,
description: (
<>
Laying the groundwork for Web4, the next generation of the Internet.
</>
),
},
{ scale: 1.0,
fill:"currentColor",
title: 'ThreeFold Grid',
Svg: require('@site/static/img/nodes.svg').default,
description: (
<>
ThreeFold nodes, routers and phones create an end&#8209;to&#8209;end encrypted network.
</>
),
},
{ scale: 1.0,
fill:"currentColor",
title: 'Community Rewards',
Svg: require('@site/static/img/rewards.svg').default,
description: (
<>
The ecosystem rewards the community to foster growth and expansion.
</>
),
},
];
function Feature({scale, fill, id, title, Svg, description}: FeatureItem) {
return (
<div className={clsx('col col--4')}>
<div className="text--center">
<Svg transform={"scale(" + scale + ")"} fill={fill} id={id} className={styles.featureSvg} role="img" />
</div>
<div className="text--center padding-horiz--md">
<Heading as="h3">{title}</Heading>
<p>{description}</p>
</div>
</div>
);
}
export default function HomepageFeatures(): JSX.Element {
return (
<section className={styles.features}>
<div className="container">
<div className="row">
{FeatureList.map((props, idx) => (
<Feature key={idx} {...props} />
))}
</div>
</div>
</section>
);
}

View File

@ -1,11 +0,0 @@
.features {
display: flex;
align-items: center;
padding: 2rem 0;
width: 100%;
}
.featureSvg {
height: 200px;
width: 200px;
}

View File

@ -1,101 +0,0 @@
import React from 'react';
import { Radar } from 'react-chartjs-2';
import {
Chart as ChartJS,
RadialLinearScale,
PointElement,
LineElement,
Filler,
Tooltip,
Legend,
} from 'chart.js';
ChartJS.register(
RadialLinearScale,
PointElement,
LineElement,
Filler,
Tooltip,
Legend
);
interface Project {
name: string;
values: number[];
}
interface RadarChartProps {
projectData: Project[];
}
// Define a distinct color palette
const colorPalette = [
{ border: 'rgba(54, 162, 235, 1)', background: 'rgba(54, 162, 235, 0.2)' }, // Blue
{ border: 'rgba(255, 99, 132, 1)', background: 'rgba(255, 99, 132, 0.2)' }, // Red
{ border: 'rgba(75, 192, 192, 1)', background: 'rgba(75, 192, 192, 0.2)' }, // Teal
{ border: 'rgba(255, 159, 64, 1)', background: 'rgba(255, 159, 64, 0.2)' }, // Orange
{ border: 'rgba(153, 102, 255, 1)', background: 'rgba(153, 102, 255, 0.2)' }, // Purple
{ border: 'rgba(255, 205, 86, 1)', background: 'rgba(255, 205, 86, 0.2)' }, // Yellow
{ border: 'rgba(201, 203, 207, 1)', background: 'rgba(201, 203, 207, 0.2)' }, // Gray
];
const RadarChart: React.FC<RadarChartProps> = ({ projectData }) => {
const data = {
labels: ['Decentralization', 'Open Source', 'Tokens', 'API Driven', 'Geo Fencing', 'Capacity'],
datasets: projectData.map((project, index) => ({
label: project.name,
data: project.values,
backgroundColor: colorPalette[index % colorPalette.length].background, // Use distinct background color
borderColor: colorPalette[index % colorPalette.length].border, // Use distinct border color
borderWidth: 1,
})),
};
const options = {
scales: {
r: {
min: 0,
max: 100,
ticks: {
stepSize: 20,
color: '#fff', // White color for the numbers
backdropColor: 'transparent', // Remove the white background
showLabelBackdrop: false, // Hide the square around the numbers
font: {
size: 12, // Adjust the font size if needed
},
},
grid: {
color: 'rgba(255, 255, 255, 0.1)', // Light gray grid lines for contrast
},
angleLines: {
color: 'rgba(255, 255, 255, 0.1)', // Light gray angle lines for contrast
},
pointLabels: {
color: '#fff', // White color for point labels
font: {
size: 12, // Adjust the font size of point labels
},
},
},
},
plugins: {
legend: {
position: 'top',
labels: {
color: '#fff', // White color for legend labels
},
},
},
};
return (
<Radar
data={data}
options={options}
style={{ background: 'transparent' }} // Ensure the chart background is transparent
/>
);
};
export default RadarChart;

View File

@ -1,131 +0,0 @@
/**
* Any CSS included here will be global. The classic template
* bundles Infima by default. Infima is a CSS framework designed to
* work well for content-centric websites.
*/
/* Ensure navbar items and logo are vertically aligned */
.navbar__logo {
display: flex;
align-items: center; /* Center aligns the items vertically */
height: 100%; /* Ensures full height for alignment */
}
.navbar__logo img {
max-width: 150px; /* Set maximum width of the logo */
height: auto; /* Maintain aspect ratio */
}
/* Align navbar items, such as Docs and Support */
.navbar__item {
display: flex;
align-items: center; /* Vertically align the items */
}
/* Optional: Adjust padding for navbar items */
.navbar__link {
padding: 8px 12px; /* Modify values as necessary for better spacing */
}
/* Add @font-face declarations for the Inter font */
@font-face {
font-family: 'Inter';
font-weight: 400; /* Light */
font-style: normal;
src: url('/fonts/Inter_28pt-Light.ttf') format('truetype'); /* Corrected path */
}
@font-face {
font-family: 'Inter';
font-weight: 500; /* Regular */
font-style: normal;
src: url('/fonts/Inter_28pt-Regular.ttf') format('truetype'); /* Corrected path */
}
@font-face {
font-family: 'Inter';
font-weight: 600; /* Medium */
font-style: normal;
src: url('/fonts/Inter_28pt-Medium.ttf') format('truetype'); /* Corrected path */
}
/* Apply the Inter font globally */
body {
font-family: 'Inter', sans-serif; /* Set the global font */
font-size: 18px;
}
/* Header styles - Medium weight for headers */
h1, h2, h3, h4, h5, h6 {
font-weight: 600; /* Medium weight for headers */
font-family: 'Inter', sans-serif; /* Set the global font */
}
/* Paragraph styles - Light weight for paragraphs */
p {
font-weight: 400; /* Light weight for paragraphs */
font-family: 'Inter', sans-serif; /* Set the global font */
}
/* You can override the default Infima variables here. */
:root {
--ifm-color-primary: #2e83ff;
--ifm-color-primary-dark: #29784c;
--ifm-color-primary-darker: #277148;
--ifm-color-primary-darkest: #205d3b;
--ifm-color-primary-light: #33925d;
--ifm-color-primary-lighter: #359962;
--ifm-color-primary-lightest: #3cad6e;
--ifm-code-font-size: 95%;
--svg-fill-color: #2a2021; /* Black fill for light mode */
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
}
/* Dark mode styles */
html[data-theme="dark"] {
--svg-fill-color: #fff; /* White fill for dark mode */
}
/* For readability concerns, you should choose a lighter palette in dark mode. */
[data-theme='dark'] {
--ifm-color-primary: #8d8d8d;
--ifm-color-primary-dark: #21af90;
--ifm-color-primary-darker: #1fa588;
--ifm-color-primary-darkest: #1a8870;
--ifm-color-primary-light: #29d5b0;
--ifm-color-primary-lighter: #32d8b4;
--ifm-color-primary-lightest: #4fddbf;
--svg-fill-color: #fff; /* White fill for dark mode */
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
}
.footer {
background-color: #131213;
}
.footer a,
.footer p,
.footer span,
.footer div {
color: #ffffff; /* Example: Light gray text for dark mode */
}
.navbar { /* or .navbar--fixedTop if it has that class */
background-color: #131213;
}
/* Apply scroll margin to footnote targets */
[data-footnote-ref="true"] {
scroll-margin-top: 80px; /* Adjust this value to match your navbar height */
}
/* Ensure navbar items and logo are vertically aligned */
.navbar__logo {
display: flex;
align-items: center; /* Center aligns the items vertically */
height: 100%; /* Ensures full height for alignment */
}
.navbar__link { /* Example: for navbar links */
color: #ffffff;
}
img.svg-icon {
fill: var(--svg-fill-color); /* Apply the color variable */
}

View File

@ -1,23 +0,0 @@
/**
* CSS files with the .module.css suffix will be treated as CSS modules
* and scoped locally.
*/
.heroBanner {
padding: 4rem 0;
text-align: center;
position: relative;
overflow: hidden;
}
@media screen and (max-width: 996px) {
.heroBanner {
padding: 2rem;
}
}
.buttons {
display: flex;
align-items: center;
justify-content: center;
}

View File

@ -1,6 +0,0 @@
import React from 'react';
import { Redirect } from '@docusaurus/router';
export default function Home() {
return <Redirect to="/depin/docs/introduction" />;
}

View File

@ -1,7 +0,0 @@
---
title: Markdown page example
---
# Markdown page example
You don't need React to write simple standalone pages.

View File

View File

@ -1 +0,0 @@
info.ourworld.tf/depin

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1 +0,0 @@
window.$crisp=[];window.CRISP_WEBSITE_ID="1a5a5241-91cb-4a41-8323-5ba5ec574da0";(function(){d=document;s=d.createElement("script");s.src="https://client.crisp.chat/l.js";s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})();

View File

@ -1,7 +0,0 @@
{
// This file is not used in compilation. It is here just for a nice editor experience.
"extends": "@docusaurus/tsconfig",
"compilerOptions": {
"baseUrl": "docs"
}
}

9888
yarn.lock

File diff suppressed because it is too large Load Diff