Compare commits
No commits in common. "020e87a0dd2e476e55f132c9e491893876cf9843" and "8466fc55ee1874540d917298bf0121e5de0e5a73" have entirely different histories.
020e87a0dd
...
8466fc55ee
11
.gitignore
vendored
11
.gitignore
vendored
@ -19,16 +19,5 @@ npm-debug.log*
|
|||||||
yarn-debug.log*
|
yarn-debug.log*
|
||||||
yarn-error.log*
|
yarn-error.log*
|
||||||
bun.lockb
|
bun.lockb
|
||||||
bun.lock
|
|
||||||
|
|
||||||
yarn.lock
|
yarn.lock
|
||||||
|
|
||||||
build.sh
|
|
||||||
build_dev.sh
|
|
||||||
develop.sh
|
|
||||||
|
|
||||||
docusaurus.config.ts
|
|
||||||
|
|
||||||
sidebars.ts
|
|
||||||
|
|
||||||
tsconfig.json
|
|
||||||
|
20
build-dev.sh
Executable file
20
build-dev.sh
Executable file
@ -0,0 +1,20 @@
|
|||||||
|
#!/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 '/tftechdev/'
|
||||||
|
sed -i "s|/tftech/|/tftechdev/|g" docusaurus.config.ts ./src/pages/index.tsx
|
||||||
|
|
||||||
|
bun docusaurus build
|
||||||
|
|
||||||
|
rsync -rv --delete ${script_dir}/build/ root@info.ourworld.tf:/root/hero/www/info/tftechdev
|
||||||
|
|
||||||
|
# Change baseUrl to '/tftech/'
|
||||||
|
sed -i "s|/tftechdev/|/tftech/|g" docusaurus.config.ts ./src/pages/index.tsx
|
12
build.sh
12
build.sh
@ -1,18 +1,14 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
set -e
|
set -ex
|
||||||
|
|
||||||
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"
|
||||||
|
|
||||||
cd /Users/despiegk/hero/var/docusaurus
|
|
||||||
|
|
||||||
export PATH=/tmp/docusaurus_build/node_modules/.bin:$PATH
|
|
||||||
|
|
||||||
rm -rf /Users/despiegk/hero/var/docusaurus/build/
|
|
||||||
|
|
||||||
bun docusaurus build
|
bun docusaurus build
|
||||||
|
|
||||||
rsync -rv --delete /Users/despiegk/hero/var/docusaurus/build/ root@info.ourworld.tf:/root/hero/www/info/tftech/
|
rsync -rv --delete ${script_dir}/build/ root@info.ourworld.tf:/root/hero/www/info/tftech
|
||||||
|
@ -1,64 +0,0 @@
|
|||||||
{
|
|
||||||
"style": "dark",
|
|
||||||
"links": [
|
|
||||||
{
|
|
||||||
"title": "Docs",
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"label": "Introduction",
|
|
||||||
"to": "/docs"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "V3 Manual",
|
|
||||||
"href": "https://manual.grid.tf/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "V4 Docs",
|
|
||||||
"href": "https://docs.threefold.io/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Community",
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"label": "Telegram",
|
|
||||||
"href": "https://t.me/threefold"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "X",
|
|
||||||
"href": "https://x.com/threefold_io"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Forum",
|
|
||||||
"href": "https://forum.threefold.io"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Support",
|
|
||||||
"to": "/support"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"title": "Links",
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"label": "ThreeFold.io",
|
|
||||||
"href": "https://threefold.io"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Dashboard",
|
|
||||||
"href": "https://dashboard.grid.tf"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "GitHub",
|
|
||||||
"href": "https://github.com/threefoldtech/home"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Gitea",
|
|
||||||
"href": "https://git.ourworld.tf"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
{
|
|
||||||
"title": "ThreeFold",
|
|
||||||
"tagline": "Geo Aware Internet Platform",
|
|
||||||
"favicon": "img/favicon.png",
|
|
||||||
"url": "https://threefold.info",
|
|
||||||
"url_home": "docs/",
|
|
||||||
"baseUrl": "/tftech/",
|
|
||||||
"image": "img/tf_graph.png",
|
|
||||||
"metadata": {
|
|
||||||
"description": "ThreeFold is laying the foundation for a geo aware Web 4, the next generation of the Internet.",
|
|
||||||
"image": "https://threefold.info/tftech/img/tf_graph.png",
|
|
||||||
"title": "ThreeFold Technology Vision"
|
|
||||||
},
|
|
||||||
"buildDest":"root@info.ourworld.tf:/root/hero/www/info",
|
|
||||||
"buildDestDev":"root@info.ourworld.tf:/root/hero/www/infodev"
|
|
||||||
}
|
|
@ -1,26 +0,0 @@
|
|||||||
{
|
|
||||||
"title": "",
|
|
||||||
"logo": {
|
|
||||||
"alt": "ThreeFold Logo",
|
|
||||||
"src": "img/new_logo_tft.png"
|
|
||||||
},
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"href": "https://docs.threefold.io/",
|
|
||||||
"label": "TFGrid 4 Docs"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"href": "https://manual.grid.tf/",
|
|
||||||
"label": "Manual"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"href": "https://dashboard.grid.tf/",
|
|
||||||
"label": "Dashboard"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"href": "https://threefold.io",
|
|
||||||
"label": "ThreeFold.io",
|
|
||||||
"position": "right"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,14 +1,14 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
set -e
|
set -ex
|
||||||
|
|
||||||
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"
|
||||||
|
|
||||||
cd /Users/despiegk/hero/var/docusaurus
|
#export NODE_OPTIONS=--openssl-legacy-provider
|
||||||
|
|
||||||
export PATH=/tmp/docusaurus_build/node_modules/.bin:$PATH
|
#npm run start -- --host 0.0.0.0
|
||||||
|
|
||||||
bun run start -p 3100
|
bun run start -p 3100
|
||||||
|
183
docusaurus.config.ts
Normal file
183
docusaurus.config.ts
Normal file
@ -0,0 +1,183 @@
|
|||||||
|
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: 'ThreeFold',
|
||||||
|
tagline: 'Geo Aware Internet Platform',
|
||||||
|
favicon: 'img/favicon.png',
|
||||||
|
|
||||||
|
url: 'https://threefold.info',
|
||||||
|
baseUrl: '/tftech/',
|
||||||
|
|
||||||
|
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/tf_graph.png',
|
||||||
|
metadata: [
|
||||||
|
{ name: 'description', content: 'ThreeFold is laying the foundation for a geo aware Web 4, the next generation of the Internet.' },
|
||||||
|
{ property: 'og:image', content: 'https://threefold.info/tftech/img/tf_graph.png' },
|
||||||
|
{ property: 'og:description', content: 'ThreeFold is laying the foundation for a geo aware Web 4, the next generation of the Internet.' },
|
||||||
|
{ property: 'og:title', content: 'ThreeFold Technology Vision' },
|
||||||
|
],
|
||||||
|
navbar: {
|
||||||
|
title: '',
|
||||||
|
logo: {
|
||||||
|
alt: 'ThreeFold Logo',
|
||||||
|
src: 'img/new_logo_tft.png',
|
||||||
|
},
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
type: 'docSidebar',
|
||||||
|
sidebarId: 'mainSidebar',
|
||||||
|
position: 'left',
|
||||||
|
label: 'Docs',
|
||||||
|
slug: '/'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
href: 'https://docs.threefold.io/',
|
||||||
|
label: 'TFGrid 4 Docs',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
href: 'https://manual.grid.tf/',
|
||||||
|
label: 'Manual',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
href: 'https://dashboard.grid.tf/',
|
||||||
|
label: 'Dashboard',
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// to: '/support',
|
||||||
|
// label: 'Support',
|
||||||
|
// position: 'left',
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
href: 'https://threefold.io',
|
||||||
|
label: 'ThreeFold.io',
|
||||||
|
position: 'right',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
footer: {
|
||||||
|
style: 'dark',
|
||||||
|
links: [
|
||||||
|
{
|
||||||
|
title: 'Docs',
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
label: 'Introduction',
|
||||||
|
to: '/docs',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'V3 Manual',
|
||||||
|
href: 'https://manual.grid.tf/',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'V4 Docs',
|
||||||
|
href: 'https://docs.threefold.io/',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Community',
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
label: 'Telegram',
|
||||||
|
href: 'https://t.me/threefold',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'X',
|
||||||
|
href: 'https://x.com/threefold_io',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Forum',
|
||||||
|
href: 'https://forum.threefold.io',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Support',
|
||||||
|
to: '/support',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Links',
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
label: 'ThreeFold.io',
|
||||||
|
href: 'https://threefold.io',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Dashboard',
|
||||||
|
href: 'https://dashboard.grid.tf',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'GitHub',
|
||||||
|
href: 'https://github.com/threefoldtech/home',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Gitea',
|
||||||
|
href: 'https://git.ourworld.tf',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
copyright: `Copyright © ${new Date().getFullYear()} ThreeFold`,
|
||||||
|
},
|
||||||
|
prism: {
|
||||||
|
theme: prismThemes.github,
|
||||||
|
darkTheme: prismThemes.dracula,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default config;
|
47
install.sh
Executable file
47
install.sh
Executable file
@ -0,0 +1,47 @@
|
|||||||
|
#!/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
|
||||||
|
|
||||||
|
# Variables to add to the appropriate profile
|
||||||
|
CONTENT='
|
||||||
|
# Bun installation
|
||||||
|
export BUN_INSTALL="$HOME/.bun"
|
||||||
|
export PATH="$BUN_INSTALL/bin:$PATH"
|
||||||
|
'
|
||||||
|
|
||||||
|
# Determine the user's shell and appropriate profile file
|
||||||
|
if [[ "$SHELL" == *"zsh"* ]]; then
|
||||||
|
PROFILE="$HOME/.zshrc"
|
||||||
|
elif [[ "$SHELL" == *"bash"* ]]; then
|
||||||
|
PROFILE="$HOME/.bashrc"
|
||||||
|
else
|
||||||
|
echo "Unsupported shell. Please add the following content manually to your shell profile:"
|
||||||
|
echo "$CONTENT"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add the content if it doesn't already exist
|
||||||
|
if grep -q 'export BUN_INSTALL="$HOME/.bun"' "$PROFILE"; then
|
||||||
|
echo "Bun environment variables already exist in $PROFILE."
|
||||||
|
else
|
||||||
|
echo "$CONTENT" >> "$PROFILE"
|
||||||
|
echo "Bun environment variables added to $PROFILE. Please restart your shell or run 'source $PROFILE' to apply the changes."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Run 'bun install'
|
||||||
|
source "$PROFILE"
|
||||||
|
echo "Running 'bun install'..."
|
||||||
|
bun install
|
49
package.json
Normal file
49
package.json
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
{
|
||||||
|
"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.7.0",
|
||||||
|
"@docusaurus/preset-classic": "^3.7.0",
|
||||||
|
"@docusaurus/theme-mermaid": "^3.7.0",
|
||||||
|
"@mdx-js/react": "^3.0.0",
|
||||||
|
"clsx": "^2.0.0",
|
||||||
|
"prism-react-renderer": "^2.3.0",
|
||||||
|
"react": "^18.2.0",
|
||||||
|
"react-dom": "^18.2.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@docusaurus/module-type-aliases": "^3.7.0",
|
||||||
|
"@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": {
|
||||||
|
"bun": ">=1.1.45"
|
||||||
|
},
|
||||||
|
"packageManager": "bun@1.1.45"
|
||||||
|
}
|
32
sidebars.ts
Normal file
32
sidebars.ts
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
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
|
||||||
|
mainSidebar: [{type: 'autogenerated', dirName: 'main'}],
|
||||||
|
// tutorialSidebar: [{type: 'autogenerated', dirName: 'main'}],
|
||||||
|
|
||||||
|
// But you can create a sidebar manually
|
||||||
|
/*
|
||||||
|
tutorialSidebar: [
|
||||||
|
'intro',
|
||||||
|
'hello',
|
||||||
|
{
|
||||||
|
type: 'category',
|
||||||
|
label: 'Tutorial',
|
||||||
|
items: ['tutorial-basics/create-a-document'],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
|
||||||
|
export default sidebars;
|
39
src/components/CanvaEmbed.js
Normal file
39
src/components/CanvaEmbed.js
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
// src/components/CanvaEmbed.js
|
||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
const CanvaEmbed = ({ src }) => {
|
||||||
|
return (
|
||||||
|
<div style={{
|
||||||
|
position: 'relative',
|
||||||
|
width: '100%',
|
||||||
|
height: 0,
|
||||||
|
paddingTop: '56.2500%',
|
||||||
|
paddingBottom: 0,
|
||||||
|
boxShadow: '0 2px 8px 0 rgba(63,69,81,0.16)',
|
||||||
|
marginTop: '1.6em',
|
||||||
|
marginBottom: '0.9em',
|
||||||
|
overflow: 'hidden',
|
||||||
|
borderRadius: '8px',
|
||||||
|
willChange: 'transform'
|
||||||
|
}}>
|
||||||
|
<iframe
|
||||||
|
loading="lazy"
|
||||||
|
style={{
|
||||||
|
position: 'absolute',
|
||||||
|
width: '100%',
|
||||||
|
height: '100%',
|
||||||
|
top: 0,
|
||||||
|
left: 0,
|
||||||
|
border: 'none',
|
||||||
|
padding: 0,
|
||||||
|
margin: 0
|
||||||
|
}}
|
||||||
|
src={src}
|
||||||
|
allowFullScreen
|
||||||
|
>
|
||||||
|
</iframe>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default CanvaEmbed;
|
71
src/components/HomepageFeatures/index.tsx
Normal file
71
src/components/HomepageFeatures/index.tsx
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
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‑to‑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>
|
||||||
|
);
|
||||||
|
}
|
11
src/components/HomepageFeatures/styles.module.css
Normal file
11
src/components/HomepageFeatures/styles.module.css
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
.features {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 2rem 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.featureSvg {
|
||||||
|
height: 200px;
|
||||||
|
width: 200px;
|
||||||
|
}
|
131
src/css/custom.css
Normal file
131
src/css/custom.css
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
/**
|
||||||
|
* 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 */
|
||||||
|
}
|
23
src/pages/index.module.css
Normal file
23
src/pages/index.module.css
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
/**
|
||||||
|
* 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;
|
||||||
|
}
|
6
src/pages/index.tsx
Normal file
6
src/pages/index.tsx
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import { Redirect } from '@docusaurus/router';
|
||||||
|
|
||||||
|
export default function Home() {
|
||||||
|
return <Redirect to="/tftech/docs" />;
|
||||||
|
}
|
7
src/pages/markdown-page.md
Normal file
7
src/pages/markdown-page.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
title: Markdown page example
|
||||||
|
---
|
||||||
|
|
||||||
|
# Markdown page example
|
||||||
|
|
||||||
|
You don't need React to write simple standalone pages.
|
34
src/pages/support.md
Normal file
34
src/pages/support.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# Support
|
||||||
|
|
||||||
|
Our dedicated team is here to help you every step of the way. We're passionate about ensuring that you receive the best possible experience exploring the ThreeFold ecosystem.
|
||||||
|
|
||||||
|
If you can't find the answer to your question, our dedicated ThreeFold support team is here to help.
|
||||||
|
|
||||||
|
## Reach Support
|
||||||
|
|
||||||
|
To contact the ThreeFold support team, visit the [ThreeFold Support Crisp website](https://threefoldfaq.crisp.help/en/).
|
||||||
|
|
||||||
|
## Live Chat Availability
|
||||||
|
|
||||||
|
Our support team is available from Monday to Friday, Central European Summer Time (CEST), between 8:00 AM and 12:00 AM (16 hours per day). During these hours, you can interact with us in real-time via live chat on the ThreeFold website.
|
||||||
|
|
||||||
|
* **Monday to Friday**: Available from 8:00 AM to 12:00 AM CEST
|
||||||
|
|
||||||
|
> Outside of these hours, you can still write to the support team and they will get back to you during working hours.
|
||||||
|
|
||||||
|
## How We Can Help
|
||||||
|
|
||||||
|
Our support team is here to assist you with any questions or concerns you may have about ThreeFold. Whether it's troubleshooting an issue, setting up a new feature, or simply answering a question, we're here to help.
|
||||||
|
|
||||||
|
### Support Services
|
||||||
|
* **Technical Support**: Assistance with technical issues related to ThreeFold.
|
||||||
|
* **Feature Setup**: Guidance on how to set up and use various ThreeFold features, services and products.
|
||||||
|
* **General Questions**: Answers to any questions you may have about ThreeFold.
|
||||||
|
|
||||||
|
## Get In Touch
|
||||||
|
|
||||||
|
Ready to reach out? Simply visit the [ThreeFold Support Crisp website](https://threefoldfaq.crisp.help/en/) and initiate a chat with us during business hours.
|
||||||
|
|
||||||
|
*We're here to listen, assist, and provide support!*
|
||||||
|
|
||||||
|
---
|
0
static/.nojekyll
Normal file
0
static/.nojekyll
Normal file
1
static/CNAME
Normal file
1
static/CNAME
Normal file
@ -0,0 +1 @@
|
|||||||
|
docs.threefold.pro
|
BIN
static/fonts/Inter_28pt-Light.ttf
Normal file
BIN
static/fonts/Inter_28pt-Light.ttf
Normal file
Binary file not shown.
BIN
static/fonts/Inter_28pt-Medium.ttf
Normal file
BIN
static/fonts/Inter_28pt-Medium.ttf
Normal file
Binary file not shown.
BIN
static/fonts/Inter_28pt-Regular.ttf
Normal file
BIN
static/fonts/Inter_28pt-Regular.ttf
Normal file
Binary file not shown.
1
static/js/crisp.js
Normal file
1
static/js/crisp.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
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);})();
|
7
tsconfig.json
Normal file
7
tsconfig.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
// This file is not used in compilation. It is here just for a nice editor experience.
|
||||||
|
"extends": "@docusaurus/tsconfig",
|
||||||
|
"compilerOptions": {
|
||||||
|
"baseUrl": "docs"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user