commit 648680d0aeaca6568a3ca59a9004c59e47620e15 Author: ourworld_web <> Date: Wed Feb 12 06:59:33 2025 +0000 Initial commit diff --git a/.github/workflows/tf_update_dev.yml b/.github/workflows/tf_update_dev.yml new file mode 100644 index 0000000..6e82fe7 --- /dev/null +++ b/.github/workflows/tf_update_dev.yml @@ -0,0 +1,46 @@ +name: www2.threefold_io +on: + push: + branches: [ development ] + +jobs: + deploy: + name: Deploy + runs-on: ubuntu-latest + steps: + - name: pushing latest change on www2.threefold.io + uses: appleboy/ssh-action@master + with: + host: dev.threefold.io + username: webuser + key: ${{ secrets.TF_SECRET }} + port: 34022 + script: | + cd websites/www2/www_threefold_io/ + git log -1 + git fetch + git reset --hard origin/development + sed -i "s/https:\/\/www.threefold.io/https:\/\/dev.threefold.io/g" config.toml + ./build.sh + + wait: + needs: deploy + name: Wait for Website Update + runs-on: ubuntu-latest + steps: + - name: Wait Period + id: wait-deploy + run: | + echo "Sleeping for 30" + sleep 30 + + checklinks: + needs: wait + name: Check for Broken Links + runs-on: ubuntu-latest + steps: + - name: Check for Broken Links + id: link-report + uses: docker://ghcr.io/threefoldfoundation/website-link-checker:latest + with: + args: 'https://www2.threefold.io -w 404' \ No newline at end of file diff --git a/.github/workflows/tf_update_prod.yml b/.github/workflows/tf_update_prod.yml new file mode 100644 index 0000000..1e3595a --- /dev/null +++ b/.github/workflows/tf_update_prod.yml @@ -0,0 +1,46 @@ +name: www.threefold_io +on: + push: + branches: [ master ] + +jobs: + deploy: + name: Deploy + runs-on: ubuntu-latest + steps: + - name: pushing latest change on www.threefold.io + uses: appleboy/ssh-action@master + with: + host: www.threefold.io + username: root + key: ${{ secrets.TF_SECRET }} + port: 22 + script: | + cd /opt/www_threefold_io/ + git log -1 + git fetch + git reset --hard origin/master + sed -i "s/https:\/\/dev.threefold.io/https:\/\/www.threefold.io/g" config.toml + ./build.sh + + wait: + needs: deploy + name: Wait for Website Update + runs-on: ubuntu-latest + steps: + - name: Wait Period + id: wait-deploy + run: | + echo "Sleeping for 30" + sleep 30 + + checklinks: + needs: wait + name: Check for Broken Links + runs-on: ubuntu-latest + steps: + - name: Check for Broken Links + id: link-report + uses: docker://ghcr.io/threefoldfoundation/website-link-checker:latest + with: + args: 'https://www.threefold.io -w 404' \ No newline at end of file diff --git a/.github/workflows/update_dev2.yml b/.github/workflows/update_dev2.yml new file mode 100644 index 0000000..fa19830 --- /dev/null +++ b/.github/workflows/update_dev2.yml @@ -0,0 +1,46 @@ +name: www3.threefold_io +on: + push: + branches: [ development_sasha ] + +jobs: + deploy: + name: Deploy + runs-on: ubuntu-latest + steps: + - name: pushing latest change on www3.threefold.io + uses: appleboy/ssh-action@master + with: + host: www3.threefold.io + username: webuser + key: ${{ secrets.TF_SECRET }} + port: 34022 + script: | + cd websites/tmp/www_threefold_io/ + git log -1 + git restore . + git pull + sed -i "s/https:\/\/dev.threefold.io/https:\/\/dev2.threefold.io/g" config.toml + bash build.sh + + wait: + needs: deploy + name: Wait for Website Update + runs-on: ubuntu-latest + steps: + - name: Wait Period + id: wait-deploy + run: | + echo "Sleeping for 30" + sleep 30 + + checklinks: + needs: wait + name: Check for Broken Links + runs-on: ubuntu-latest + steps: + - name: Check for Broken Links + id: link-report + uses: docker://ghcr.io/threefoldfoundation/website-link-checker:latest + with: + args: 'https://www3.threefold.io -w 404' diff --git a/.github/workflows/update_www3.yml b/.github/workflows/update_www3.yml new file mode 100644 index 0000000..b6bc8f5 --- /dev/null +++ b/.github/workflows/update_www3.yml @@ -0,0 +1,46 @@ +name: www3.threefold_io +on: + push: + branches: [ 3.10.0 ] + +jobs: + deploy: + name: Deploy + runs-on: ubuntu-latest + steps: + - name: pushing latest change on www3.threefold.io + uses: appleboy/ssh-action@master + with: + host: www3.threefold.io + username: webuser + key: ${{ secrets.TF_SECRET }} + port: 34022 + script: | + cd websites/www3/www_threefold_io/ + git log -1 + git restore . + git pull + sed -i "s/https:\/\/www.threefold.io/https:\/\/www3.threefold.io/g" config.toml + bash build.sh + + wait: + needs: deploy + name: Wait for Website Update + runs-on: ubuntu-latest + steps: + - name: Wait Period + id: wait-deploy + run: | + echo "Sleeping for 30" + sleep 30 + + checklinks: + needs: wait + name: Check for Broken Links + runs-on: ubuntu-latest + steps: + - name: Check for Broken Links + id: link-report + uses: docker://ghcr.io/threefoldfoundation/website-link-checker:latest + with: + args: 'https://www3.threefold.io -w 404' \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..415604b --- /dev/null +++ b/.gitignore @@ -0,0 +1,35 @@ +examples/builder +examples/docker +examples/publisher +examples/texttools +examples/gittools +examples/tmux +examples/vredis2 +*dSYM/ +publisher/publish +install_publisher +.vmodules/ +vex_webserver +publishtools/publishtools +.vscode +*.log +!.env.example +.cache +.DS_Store +src/.temp +content/person +content/project +node_modules +!.env.example +.env +.env.* +yarn.lock +.installed +package-lock.json +dist +.temp +run* +install* +public +static/css +tailwindcss diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..35e7575 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,4 @@ +[submodule "threefold_data"] + path = threefold_data + url = https://github.com/threefoldfoundation/threefold_data.git + ignore = dirty diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..6905868 --- /dev/null +++ b/Makefile @@ -0,0 +1,7 @@ +SHELL := /bin/bash + +build: + . ./build.sh + +start: + . ./start.sh \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..8e50cf5 --- /dev/null +++ b/README.md @@ -0,0 +1,89 @@ +# Welcome to Welcome to ThreeFold Website RepositoryWebsite Repository + +![](./static/images/tf_logo.png) + +## About + +The official website of ThreeFold Foundation.
+ +Production: [www.threefold.io](https://www.threefold.io) (master branch) + +Staging: www2.threefold.io (development branch) + +Last Updated: September 2024 + +## Administrators + +[ThreeFold's Web Admins](https://github.com/orgs/threefoldfoundation/teams/team_web_admin) + +## Contribution Procedure + +![readme](https://user-images.githubusercontent.com/43240801/236867088-56c95abd-510c-4202-b0c5-317cdfb75cb3.png) + +It is highly important to follow this procedure to contribute to the website content.
+__WARNING__: DO NOT commit straight into the __master__ / __development__ branches. + +1. Feel free to [create a new issue](https://github.com/threefoldfoundation/www_threefold_io/issues/new) to report an error on the website, or if you have any suggestions on website improvements. + +2. Make your own branch from the __development__ branch. By creating a new branch from __development__ you will be provided with the latest copy of the live website content at the staging site, www2.threefold.io. + +3. Add your edits into your own branch via code editor locally, and push your local changes online. WARNING: DO NOT add your edits straight into __master__ / __development__ branch. + +5. Create a PR to merge your own branch into **development**, and assign one of [ThreeFold's Web Admins](https://github.com/orgs/threefoldfoundation/teams/team_web_admin) on your PR as reviewer, or assign @sasha-astiadi as reviewer. + +7. When PR is approved, you can see your changes on staging env on www2.threefold.io (development branch) + +8. Admin will then create a PR to merge **development** into into **master** (production branch) + +10. When PR is approved, you can see your changes live on production www.threefold.io (master branch). + +## Development + +While contributing content to this site doesn't strictly require setting up a development environment, it will allow you to preview your changes and that's super handy. + +To do that, the following prerequisites are needed: + +* macOS or Linux +* [Zola](https://www.getzola.org/documentation/getting-started/installation/) + +Then clone the repository recursively to also pull in contents of `threefold_data`: + +```bash +#if you don't have hero installed yet, run the following commands +curl https://raw.githubusercontent.com/freeflowuniverse/crystallib/development/scripts/install_hero.sh > /tmp/hero_install.sh +bash /tmp/hero_install.sh + +#install zola & tailwind +hero installers -n zola + +#get this repo be careful --pr will remove all local changes (pull reset), -b development means we are on the development branch +hero git pull -u https://github.com/threefoldfoundation/www_threefold_io -b development -pr + +#cd to the directory +eval $(hero git cd -u https://github.com/threefoldfoundation/www_threefold_io) + +bash build.sh + +``` + +Finally, start a browsable local copy of the site that will respond to changes in the source files like this: + +``` +zola serve +``` + +Zola will display a local address such as `http://127.0.0.1:1111` which you can click or copy and paste into your browser to view the site on your own machine. + +That's it—have fun! + + +# Guidelines for Editing Blog, News, and Team Images + +### General: +Ensure all images are optimized to be less than 1MB for faster loading and better performance. + +### Blog & News: +Use a resolution of **1200 x 600** pixels or maintain the same aspect ratio to fit seamlessly with placeholders. + +### Team: +Keep images square with a resolution of **640 x 640** pixels for consistent appearance. diff --git a/_archive/team.html b/_archive/team.html new file mode 100644 index 0000000..b2bc4d0 --- /dev/null +++ b/_archive/team.html @@ -0,0 +1,69 @@ +
+
+
+
+

The Team Behind ThreeFold

+

Founded by Internet Pioneers 1.0

+

We are a dedicated group committed to advancing a new digital era. Some of us have been working on Internet technology since the early days, when it was a decentralized network. We aim to help bring that vision to life once more. Beyond those below, we have more than 50 engineers, developers, and other team members supporting the project.

+
+ +
+ + +
+
+ kristof_de_spiegeleer +
+

+ Kristof de Spiegeleer +

+

Co-founder & CEO

+

+ Serial entrepreneur with 30 years of experience in Internet infrastructure and cloud technology. Passionate about tech for good. +600m $ exits.

+
+ + +
+
+ adnan_fatayerji +
+

+ Adnan Fatayerji +

+

Co-founder

+

+ Tech entrepreneur with multiple exits. Based in Dubai for 20 years. Head of Partnerships and Business Development..

+
+ + +
+
+ jan_de_landtsheer +
+

+ Jan De Landtsheer +

+

Co-founder & CTO

+

+ Engineer with 40+ years of experience in deep tech, networking, cloud and storage.

+
+ + +
+
+ florian_fournier +
+

+ Florian Fournier +

+

Co-founder & CMO

+

+ Ex Apple marketing director, serial entrepreneur living between Africa and Latin America.

+
+
+
+ +
+ diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..8f74692 --- /dev/null +++ b/build.sh @@ -0,0 +1,46 @@ +echo "Starting build..." + +SOURCE=${BASH_SOURCE[0]} +DIR_OF_THIS_SCRIPT="$( dirname "$SOURCE" )" +ABS_DIR_OF_SCRIPT="$( realpath $DIR_OF_THIS_SCRIPT )" + +# TODO: Check if current version is latest to avoid redundant installation +if [[ -f "tailwindcss" ]] +then + rm tailwindcss +fi + +# checks os and architecture for correct release +# https://stackoverflow.com/a/8597411 +echo "Installing & building tailwind..." +ASSET="tailwindcss" + +if [[ "$OSTYPE" == "linux-gnu"* ]]; then + ASSET="$ASSET-linux" +elif [[ "$OSTYPE" == "darwin"* ]]; then + ASSET="$ASSET-macos" +fi +if [[ "$(uname -m)" == "x86_64"* ]]; then + ASSET="$ASSET-x64" +elif [[ "$(uname -m)" == "arm64"* ]]; then + ASSET="$ASSET-arm64" +fi + +curl -sLO "https://github.com/tailwindlabs/tailwindcss/releases/latest/download/${ASSET}" +chmod +x $ASSET +mv $ASSET tailwindcss + + +# initialized and configures tailwind if not configured +echo "Initializing tailwind..." +if [[ ! -f "tailwind.config.js" ]] +then + ./tailwindcss init + sed -i '' "s| content: \\[\\],| content: \\['./templates/**/*.html'\\],|g" tailwind.config.js +fi + +# compiles tailwind css for prod & builds project +echo "Compiling tailwindcss and building zola project..." +rm -rf public static/css +./tailwindcss -i css/index.css -o ./static/css/index.css --minify +zola --root $ABS_DIR_OF_SCRIPT build \ No newline at end of file diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..05ac2c0 --- /dev/null +++ b/config.toml @@ -0,0 +1,100 @@ +# The URL the site will be built for +base_url = "https://dev.threefold.io" +# Change this to your own URL! Please note this variable **must** be uncommented . + +title = "ThreeFold" +description = "Our global digital backbone" + +# When set to "true", a feed is automatically generated. +generate_feed = true + +# The filename to use for the feed. Used as the template filename, too. +# Defaults to "atom.xml", which has a built-in template that renders an Atom 1.0 feed. +# There is also a built-in template "rss.xml" that renders an RSS 2.0 feed. +feed_filename = "atom.xml" + +# The number of articles to include in the feed. All items are included if +# this limit is not set (the default). +# feed_limit = 10 + +# Whether to automatically compile all Sass files in the sass directory +compile_sass = false + +# When set to "true", the generated HTML files are minified. +# minify_html = true +# I'm keeping off for now -- buggy -- 2021-02-05 (@keats says it'll be fixed 0.14.0) + +# Whether to build a search index to be used later on by a JavaScript library +build_search_index = false + +[markdown] +# Whether to do syntax highlighting +# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola +highlight_code = true +highlight_theme = "visual-studio-dark" + +# When set to "true", emoji aliases translated to their corresponding +# Unicode emoji equivalent in the rendered Markdown files. (e.g.: :smile: => 😄) +render_emoji = false + +# Whether external links are to be opened in a new tab +# If this is true, a `rel="noopener"` will always automatically be added for security reasons +# external_links_target_blank = false + +# Whether to set rel="nofollow" for all external links +external_links_no_follow = true + +# Whether to set rel="noreferrer" for all external links +external_links_no_referrer = true + +# Whether smart punctuation is enabled (changing quotes, dashes, dots in their typographic form) +# For example, `...` into `…`, `"quote"` into `“curly”` etc +smart_punctuation = true + +[build] +not_found = "404.md" + +[[taxonomies]] +name = "categories" +feed = true +paginate_by = 6 +paginate_path = "blog-posts" + +[[taxonomies]] +name = "partners-category" +feed = true +paginate_by = 6 +paginate_path = "partner-card" + +[[taxonomies]] +name = "news-category" +feed = true +paginate_by = 6 +paginate_path = "news-card" + +[[taxonomies]] +name = "roles" +feed = true +paginate_by = 2 +paginate_path = "join-us" + +[[taxonomies]] +name = "tags" +feed = true +paginate_by = 9 +paginate_path = "tags" + +[[taxonomies]] +name = "people" +feed = false +paginate_by = 9 +paginate_path = "people" + +[[taxonomies]] +name = "memberships" +feed = false +paginate_by = 8 +paginate_path = "people/memberships" + +[extra] +# Put all your custom variables here diff --git a/content/404.md b/content/404.md new file mode 100644 index 0000000..fcb9253 --- /dev/null +++ b/content/404.md @@ -0,0 +1,8 @@ +--- +title: "404" +description: "" +insert_anchor_links: "left" +template: "404.html" + +--- + diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..6ff91ec --- /dev/null +++ b/content/_index.md @@ -0,0 +1,204 @@ +--- +title: "ThreeFold" +description: "TF offers a secure, sovereign infrastructure layer for Web4, delivering unparalleled scalability, incorruptible and permanent data storage, AI and Web2/Web3/Edge compatibility, and 100% uptime for a resilient digital future." # quotation marks to allow colons where used +date: 2018-09-14T21:00:00-05:00 +updated: 2021-02-20T14:40:00-06:00 +draft: false +extra: + author: ThreeFold + imgPath: home/tf.png +--- + + + + +{% row(style="center") %} + +
+
+ +![Image](images/white_threefold_header.png#mx-auto#medium) + +
+ +## The (Re)Birth of **the Internet.** + +ThreeFold is a peer-to-peer open-source Internet platform that connects users directly with
local Internet capacity provided by farmers. No intermediaries such as centralized servers. + +{% end %} + +{% row(style="center narrow") %} + + + +||| + + + +||| + + + +||| + + + +{% end %} + + + + +{% grid_stats() %} + +### The ThreeFold Grid v3.7.0 + +## **Live and Operational** + +{% end %} + + + + +{% row(style="center narrow") %} + +## Together **We Build.** + +The future is about decentralization, participation, and working together to achieve our goals. As a decentralized movement, we encourage the community to get involved. This new Internet can only succeed if we find ways to collaborate where we together pull this Internet concept forward. Below, please find some of the ways you can join us in building a better Internet. + +{% end %} + +{% row(style="center narrow") %} + +![Image](images/become_farmer_new.jpg#mx-auto) + +
+ +### Farm Local Internet Capacity **and Earn TFT** + +By connecting hardware at your home or office – or anywhere you'd like – you provide Internet capacity for the people around you and earn a new digital currency, TFT. + +{% end %} + +{% row(style="center narrow") %} + + + +||| + + + +||| + + + +{% end %} + +{% row(style="center narrow") %} + +![Image](images/network_new.jpg#mx-auto) + +
+ +### Build On Top of a **Decentralized Infrastructure** + +True digital sovereignty for open-source builders. The ThreeFold Grid provides limitless possibilities, and brings a playground of industry-compatible easy-to-deploy solutions for developers. + +{% end %} + +{% row(style="center narrow") %} + + + +||| + + + +||| + + + +{% end %} + + + +{% featured_stories() %} + +## Featured Stories + +{% end %} + + + +{% team_sec() %} + +## **The Team** + +{% end %} + + + +{% row(style="center margin") %} + +## Believers and Collaborators
**In a Better Internet** + +We are truly proud to be trusted by some of the biggest names in the industry. + +![Image](images/ourpartners.png#mx-auto) + + + +{% end %} + +
+ +
+ + + +{% row(style="center") %} + +## **In the News** + +{% end %} + +{% row(style="center between") %} + +[![forbes](images/forbes.png#mx-auto)](https://www.forbes.com/sites/johnkoetsier/2020/06/20/largest-distributed-peer-to-peer-grid-on-the-planet-laying-foundation-for-a-decentralized-internet/?fbclid=IwAR1WKCpqLcWPRWg5bPD6RCQE5JJjRPt6ey5vbEnu3db2FvJnp6-YKeVZNW8#79aa340e6798) + +||| + +[![cointelegraph](images/cointelegraph.png#mx-auto)](https://cointelegraph.com/news/peer-to-peer-internet-has-lofty-goal-to-bring-true-decentralization) + +||| + +[![yahoo_news](images/yahoo_news.png#mx-auto)](https://news.yahoo.com/news/threefold-set-disrupt-status-quo-051457787.html?guccounter=1) + +{% end %} + +{% row(style="center between") %} + +[![hackernoon](images/hackernoon.png#mx-auto)](https://hackernoon.com/is-it-possible-to-create-a-decentralized-internet-this-startup-and-its-farmers-think-so-ey2e3ycf) + +||| + +[![smartereum](images/smartereum.png#mx-auto)](https://smartereum.com/189750/threefold-is-audaciously-building-a-new-decentralized-internet/) + +||| + +[![tga_daily](images/tga_daily.png#mx-auto)](https://tgdaily.com/web/6-dfinity-threefold-are-leading-an-internet-decentralization-revolution/) + +{% end %} + +{% row(style="center between") %} + +[![cointelegraph](images/cointelegraph.png#mx-auto)](https://cointelegraph-com.cdn.ampproject.org/c/s/cointelegraph.com/news/is-a-new-decentralized-internet-or-web-3-0-possible/amp) + +||| + +[![banklesstimes](images/banklesstimes.png#mx-auto)](https://www.banklesstimes.com/2021/06/14/threefolds-green-technology-strategy-to-a-fairer-more-sustainable-world/) + +||| + +[![grit_daily](images/grit_daily.png#mx-auto)](https://gritdaily.com/belarus-governments-control-internet/) + +{% end %} diff --git a/content/action/index.md b/content/action/index.md new file mode 100644 index 0000000..54ecb80 --- /dev/null +++ b/content/action/index.md @@ -0,0 +1,58 @@ +--- +title: "Take actions" +description: "Take actions and become a part of a pioneering Web4 movement with ThreeFold on 12.12.2024" # quotation marks to allow colons where used +template: "layouts/action.html" +insert_anchor_links: "left" +extra: + author: ThreeFold + imgPath: tf.png +--- + + + + + + + + + + + \ No newline at end of file diff --git a/content/action/tf.png b/content/action/tf.png new file mode 100644 index 0000000..0ccade5 Binary files /dev/null and b/content/action/tf.png differ diff --git a/content/blog/_index.md b/content/blog/_index.md new file mode 100644 index 0000000..1fa4f49 --- /dev/null +++ b/content/blog/_index.md @@ -0,0 +1,18 @@ +--- +title: "ThreeFold Blog" +paginate_by: 9 +description: "Dive in to read more of our stories, our past, our present, and our future. We envision a global, community-driven network of interconnected servers and nodes—the grid—that democratizes computing power and storage." +# paginate_reversed: false + +sort_by: "date" +insert_anchor_links: "left" +#base_url: "posts" +#first: "first" +#last: "last" +template: "layouts/blog.html" +page_template: "blogPage.html" +#transparent: true +generate_feed: true +extra: + imgPath: tf.png +--- diff --git a/content/blog/africa_regen_summit_ii/africa_future_summit1.png b/content/blog/africa_regen_summit_ii/africa_future_summit1.png new file mode 100644 index 0000000..60096f9 Binary files /dev/null and b/content/blog/africa_regen_summit_ii/africa_future_summit1.png differ diff --git a/content/blog/africa_regen_summit_ii/africa_regen_summit_ii.png b/content/blog/africa_regen_summit_ii/africa_regen_summit_ii.png new file mode 100644 index 0000000..ec0a753 Binary files /dev/null and b/content/blog/africa_regen_summit_ii/africa_regen_summit_ii.png differ diff --git a/content/blog/africa_regen_summit_ii/greg_regen.jpeg b/content/blog/africa_regen_summit_ii/greg_regen.jpeg new file mode 100644 index 0000000..34d4bf0 Binary files /dev/null and b/content/blog/africa_regen_summit_ii/greg_regen.jpeg differ diff --git a/content/blog/africa_regen_summit_ii/group_regen.jpeg b/content/blog/africa_regen_summit_ii/group_regen.jpeg new file mode 100644 index 0000000..23eae89 Binary files /dev/null and b/content/blog/africa_regen_summit_ii/group_regen.jpeg differ diff --git a/content/blog/africa_regen_summit_ii/index.md b/content/blog/africa_regen_summit_ii/index.md new file mode 100644 index 0000000..cb5eae1 --- /dev/null +++ b/content/blog/africa_regen_summit_ii/index.md @@ -0,0 +1,37 @@ +--- +id: africa_regen_summit_ii +title: "Reflecting on Africa Regenerative Futures Summits : Shaping a better digital future in Africa" +image_caption: Africa Regen II +description: In 2023, we had the pleasure of hosting two summits in Zanzibar – Read about the key outcomes. +date: 2023-11-21 +taxonomies: + people: [sam_taggart] + tags: [community, event, collaboration, why] + categories: [community, event, collaboration, why] +extra: + imgPath: africa_future_summit1.png +--- + +In 2023, we had the pleasure of hosting two summits in Zanzibar – one in July and another in [November](https://www.threefold.io/newsroom/africa-regen-ii/), named the Africa Regenerative Future Summit. These events brought together leading innovators and investors committed to advancing human flourishing, with a specific emphasis on science and technology shaping the trajectory of Africa's future. + +
+ +During the inaugural summit in July, Zanzibar's President, Dr. Hussein Mwinyi, honored us with his presence. In a formal declaration, he publicly expressed the government's dedication to establishing a digital free zone, a locally-owned Internet infrastructure, and an incubator to support young local innovators – all in collaboration with ThreeFold – and their commitment to the ICT sector as a whole. + +
+ +The second summit saw the birth of Dunia Yetu (meaning "Our World" in Swahili), a collaborative movement forged in partnership with a cohort of tech developers and innovators from Dar Es Salaam. This initiative is driven by a shared commitment to reshape the digital landscape in Tanzania and Africa. Its goals include empowering coders, fostering economic development, and constructing a sovereign, autonomous digital ecosystem for a more promising digital future. + +
+ +Looking ahead to 2024, our vision includes a continued series of gatherings focused on OurWorld, ThreeFold, and other projects and individuals prioritizing a planet-first, people-first approach to support Tanzania and the broader African continent. + +
+ +More information: + +
+ +- **Summit I:** Read [Zanzibar Seeks to Become a Digital FreeZone](https://www.thecitizen.co.tz/tanzania/zanzibar/zanzibar-seeks-to-become-digital-freezone--4316150) (via The Citizen) and [Mwinyi Commits to Improvement of Digital Spaces](https://dailynews.co.tz/mwinyi-commits-to-improvement-of-digital-spaces/) (via Daily News Tanzania) for further details. +- **Summit II:** Learn more about [Dunia Yetu](https://www.threefold.io/newsroom/duniayetulaunchdar/) +- **Dunia Yetu:** Read [Sovereign Internet - A game changer for Tanzania](https://www.thecitizen.co.tz/tanzania/news/national/sovereign-internet-a-game-changer-to-tanzania-startups-ecosystem-growth-449806) (via The Citizen) \ No newline at end of file diff --git a/content/blog/africa_regen_summit_ii/kalebu_regen.jpeg b/content/blog/africa_regen_summit_ii/kalebu_regen.jpeg new file mode 100644 index 0000000..5ae1aac Binary files /dev/null and b/content/blog/africa_regen_summit_ii/kalebu_regen.jpeg differ diff --git a/content/blog/africa_regen_summit_ii/kristof_regen.jpeg b/content/blog/africa_regen_summit_ii/kristof_regen.jpeg new file mode 100644 index 0000000..1dcdb93 Binary files /dev/null and b/content/blog/africa_regen_summit_ii/kristof_regen.jpeg differ diff --git a/content/blog/africa_regen_summit_ii/steph_regen.jpeg b/content/blog/africa_regen_summit_ii/steph_regen.jpeg new file mode 100644 index 0000000..e5d8bd4 Binary files /dev/null and b/content/blog/africa_regen_summit_ii/steph_regen.jpeg differ diff --git a/content/blog/blog.png b/content/blog/blog.png new file mode 100644 index 0000000..49e290b Binary files /dev/null and b/content/blog/blog.png differ diff --git a/content/blog/tf.png b/content/blog/tf.png new file mode 100644 index 0000000..0ccade5 Binary files /dev/null and b/content/blog/tf.png differ diff --git a/content/ecosystem/index.md b/content/ecosystem/index.md new file mode 100644 index 0000000..74f5d8a --- /dev/null +++ b/content/ecosystem/index.md @@ -0,0 +1,58 @@ +--- +title: "Solutions" +description: "ThreeFold's Solutions." # quotation marks to allow colons where used +template: "layouts/solutions.html" +insert_anchor_links: "left" +extra: + author: Your name here + imgPath: about/about_hero.png +--- + + + + + + + + + + + \ No newline at end of file diff --git a/content/footer/_index.md b/content/footer/_index.md new file mode 100644 index 0000000..5712cbc --- /dev/null +++ b/content/footer/_index.md @@ -0,0 +1,61 @@ +--- +title: "Footer" +description: "" +insert_anchor_links: "left" +template: "partials/footer.html" +extra: + logoPath: "images/new_logo_tft.png" + socialLinks: { Twitter: "https://twitter.com/threefold_io", Telegram: "https://t.me/threefoldnews", Github: "https://github.com/threefoldfoundation", Github2: "https://github.com/threefoldtech"} +--- + +{% row(style="lean") %} + +##### TAKE ACTION + +
+ +###### [Learn](https://docs.threefold.io/docs/introduction) + +###### [Host (Farm)](https://docs.threefold.io/docs/category/become-a-farmer) + +###### [Dashboard](https://dashboard.grid.tf/) + +###### [Download TF Connect: iOS](https://apps.apple.com/us/app/3bot-login/id1459845885) + +###### [Download TF Connect: Android](https://play.google.com/store/apps/details?id=org.jimber.threebotlogin&hl=en_US) + +||| + +##### COMMUNITY + +
+ +###### [Main Chat](https://t.me/threefold) + +###### [Hosting / Farming Chat](https://t.me/threefoldfarmers) + +###### [Grid User Chat](https://t.me/threefoldtesting) + +###### [Forum](https://forum.threefold.io/) + +###### [Support](https://threefoldfaq.crisp.help/en/) + +||| + +##### ABOUT US + +
+ +
Why
+ +
Blog
+ +
NewsRoom
+ +
Newsletter
+ +
Community
+ + + +{% end %} \ No newline at end of file diff --git a/content/header/_index_copy.md b/content/header/_index_copy.md new file mode 100644 index 0000000..529b5ea --- /dev/null +++ b/content/header/_index_copy.md @@ -0,0 +1,84 @@ +--- +title: "Header" +description: "NEAR is on a mission to empower everyone to take back control of their money, their data, and their identity. Join us." +insert_anchor_links: "left" +template: "partials/header.html" +extra: + logoPath: "images/ourworld_logo2.png" + imgPath: "" +--- + +- Learn + +{% row(style="lean") %} + +### PURPOSE + +
+
+ +#### [The Internot](/apage) + +Whats wrong with the [internet](/apage) + +
+ +#### Our Internet + +Vision for the new internet + +||| + +### ECOSYSTEM + +
+
+ +#### OurWorld DAO + +Be a part of governance + +
+ +#### Communities + +Explore communities in OurWorld + +
+ +#### DAOs + +Decentralized autonomous organizations + +||| + +### APPLICATIONS + +
+
+ +#### DAPPs + +Decentralized applications + +
+ +#### Projects + +Projects in OurWorld + +||| + +### FEATURED + +
+
+ +#### OurWorld is Live + +Be a part of the new internet + +- [Join us]("/join-us") +- [Blog]("/blog") + +{% end %} diff --git a/content/header/index.md b/content/header/index.md new file mode 100644 index 0000000..3cd56c8 --- /dev/null +++ b/content/header/index.md @@ -0,0 +1,59 @@ +--- +title: "Header" +insert_anchor_links: "left" +template: "partials/header.html" +extra: + logoPath: "images/new_logo_tft.png" + +--- + +- [Vision]("/why") +- [Features]("/what") +- [Concept]("/initiatives") +- [Virtual City]("/action") +- Info + + +{% row() %} + + + +||| + + + +||| + + + +||| + + + + + +{% end %} diff --git a/content/home/index.md b/content/home/index.md new file mode 100644 index 0000000..6094697 --- /dev/null +++ b/content/home/index.md @@ -0,0 +1,345 @@ +--- +title: "ThreeFold" +description: "TF offers a secure, sovereign infrastructure layer for Web4, delivering unparalleled scalability, incorruptible and permanent data storage, AI and Web2/Web3/Edge compatibility, and 100% uptime for a resilient digital future." +insert_anchor_links: "left" +extra: + author: ThreeFold + imgPath: home/tf.png +--- + + + + + + + +
+ + +{% row(style=" center header margin") %} + +
+ +# **Self-Healing Data, Network,
and Cloud Platform** + +Imagine a system which can scale to a planetary level, is compatible with AI, Cloud, Web2, Web3 and Edge IT workloads, has the potential to recover from unforeseen events, capable to provide 100% uptime, and allows any machine and human to communicate over the shortest, most direct path. + +
+ + + + +||| + + + +{% end %} + + +
+ + + + +
+ + +{% grid_stats() %} + + +#### LIVE AND OPERATIONAL + + +## **Proven by a global community** + + +With ThreeFold, individuals, organizations, communities, countries, and network states deploy their own
sovereign infrastructure. Our Proof of Concept Network with 50,000 vCPUs is live and operational. + +**Version 3.14 is live on Mainnet** + + +{% end %} + + +
+
+ + + + + +
+
+ +{% row( style="mtop center between ") %} + +#### THREEFOLD DIFFERENCE + +## **A ground-up approach** + +ThreeFold is not a protocol. We've developed foundational technology that runs directly on bare metal (the hardware). ThreeFold is likely the only active project with a truly scalable solution addressing the Internet and Cloud's core bottlenecks: data, cloud, and network. + +
+ + + +{% end %} + +{% row(style="reverse margin") %} + +![Image](home_nodes.png#mx-auto) + +||| + +### **Unbreakable Data** + +Data cannot be compromised and always remains private, owned by you. A scalable system, to the planetary level. Can be distributed and stored in ways which are at least 10x more efficient and orders of magnitude more secure and reliable. + +### **Autonomous Cloud** + +Self-healing and self-driving cloud based on an efficient and secure operating system runs directly on the hardware. Can run any Web 2, Web 3, or AI workload at the edge of the Internet, with more scalability and reliability. + +### **P2P Network** + +End-to-end encrypted overlay network, always looking for the shortest possible path between participants. Logical Internet address securely linked to a private key. Unlimited scale and performance optimizations. + +{% end %} + + +
+
+ + + + +
+ + +{% row( style="center mtop semiNarrow") %} + + +

REAL-WORLD IMPACT

+ + +## **Collaboration, Innovation, Evolution** + +ThreeFold’s technological infrastructure will empower many projects and initiatives across sectors. Here are two key projects. + +{% end %} + + +{% row( style="semiNarrow mbottom") %} + +
+ +[![Image](freezone_anouncement.png)](/newsroom/freezone-anouncement/) + +
+ +#### **OurWorld Free Zone** + +
+ +ThreeFold is working with the Zanzibar Communication Corporation (ZICTIA), on behalf of the Zanzibar government, to create the world’s first 100% Digital Free Zone – accessible and affordable for all. The announcement was made August 2023, and progress has been ongoing behind the scenes since then. Updates expected Q4 2024. + + +
+
+ +||| + + +
+ + +[![Image](sovereigndy.png)](/newsroom/duniayetulaunchdar/) + + + + +
+ + +#### **Tanzanian Sovereign Internet** + +
+ +In January 2024, ThreeFold announced in collaboration with The ICT Commission of Tanzania and Holochain a collaboration to deploy sovereign Internet in Tanzania, along with the introduction of coding academies and innovation hubs. The Dunia Yetu cooperative is being set up and efforts will ramp up in 2025. + + + +
+
+ +{% end %} + +
+ + + +
+
+ +{% row(style="margin") %} + + +![Image](home_inca.png#mx-auto) + + +||| + + +#### THE NEXT CHAPTER + +## **Ready for commercialization** + +For years, ThreeFold has been quietly and steadily developing its innovative technology, with a solid foundation of mature infrastructure that is now ready to take the next leap forward. + +
+ +We are currently fundraising for the next stage of our project – major commercial expansion. This will involve the launch of the $INCA token on the Solana blockchain. If you are interested in learning more or taking part, please reach out. + +
+ + + +{% end %} + + +
+
+ + + + +
+ + +{% row( style="mtop semiNarrow") %} + + +## **Top Blogs** + + +{% end %} + + +{% row( style="mbottom semiNarrow") %} + + +
+ + +[![Image](ground_up.png)](/blog/ground-up-innovations/) + + +
+ +##### From the ground up: Three inventions that make ThreeFold possible + +
+ +||| + +[![Image](evolution_of_the_internet.png)](/blog/evolution-of-the-internet) + +
+ +##### The Evolution of the Internet: From free to controlled, and back again + +||| + + + + +{% end %} + + +
+ + + + + + + + + + + + + diff --git a/content/newsroom/314_upgrade/314_upgrade.png b/content/newsroom/314_upgrade/314_upgrade.png new file mode 100644 index 0000000..69171bd Binary files /dev/null and b/content/newsroom/314_upgrade/314_upgrade.png differ diff --git a/content/newsroom/314_upgrade/314_upgrade1.png b/content/newsroom/314_upgrade/314_upgrade1.png new file mode 100644 index 0000000..5825a52 Binary files /dev/null and b/content/newsroom/314_upgrade/314_upgrade1.png differ diff --git a/content/newsroom/314_upgrade/index.md b/content/newsroom/314_upgrade/index.md new file mode 100644 index 0000000..394e877 --- /dev/null +++ b/content/newsroom/314_upgrade/index.md @@ -0,0 +1,20 @@ +--- +id: 314_upgrade +title: TF Grid Mainnet Upgraded to V3.14 +image_caption: 314_upgrade +description: TF Grid 3.14 is now on Mainnet. To know more click here. +date: 2024-07-16 +taxonomies: + people: [bernadette_amanda_caster] + tags: [tech,grid,community] + news-category: [tech,grid,community] +extra: + imgPath: 314_upgrade1.png +--- + +TF Grid 3.14 is now on Mainnet. This release is focused on stability and reliability and includes improvements and upgrades to Zero OS, TF Chain, Grid-Proxy, Farmerbot, Pulumi, and SDK-Go. Find the details [here](https://forum.threefold.io/t/gep-tf-grid-mainnet-release-3-14/4372). + +
+ +This upgrade requires an update of the Farmerbot to version 0.15.10. For instructions on how to update the Farmerbot, please see our [forum post](https://forum.threefold.io/t/farmerbot-update-required-for-grid-3-14/4388). + diff --git a/content/newsroom/_index.md b/content/newsroom/_index.md new file mode 100644 index 0000000..1c83d60 --- /dev/null +++ b/content/newsroom/_index.md @@ -0,0 +1,18 @@ +--- +title: "News" +paginate_by: 9 +description: "Check the latest updates on how we are building a more open, decentralized, and scalable internet for everyone." # quotation marks to allow +# paginate_reversed: false + +sort_by: "date" +insert_anchor_links: "left" +#base_url: "posts" +#first: "first" +#last: "last" +template: "layouts/newsroom.html" +page_template: "newsPage.html" +#transparent: true +generate_feed: true +extra: + imgPath: newsroom.png +--- \ No newline at end of file diff --git a/content/newsroom/newsroom.png b/content/newsroom/newsroom.png new file mode 100644 index 0000000..b967091 Binary files /dev/null and b/content/newsroom/newsroom.png differ diff --git a/content/partners/our_world_free_zone/freezone.png b/content/partners/our_world_free_zone/freezone.png new file mode 100644 index 0000000..2c3c299 Binary files /dev/null and b/content/partners/our_world_free_zone/freezone.png differ diff --git a/content/partners/our_world_free_zone/freezonecover.png b/content/partners/our_world_free_zone/freezonecover.png new file mode 100644 index 0000000..6b2a0d8 Binary files /dev/null and b/content/partners/our_world_free_zone/freezonecover.png differ diff --git a/content/partners/our_world_free_zone/freezonecover2.png b/content/partners/our_world_free_zone/freezonecover2.png new file mode 100644 index 0000000..c3d2b97 Binary files /dev/null and b/content/partners/our_world_free_zone/freezonecover2.png differ diff --git a/content/partners/our_world_free_zone/freezonelogo.png b/content/partners/our_world_free_zone/freezonelogo.png new file mode 100644 index 0000000..7e09e67 Binary files /dev/null and b/content/partners/our_world_free_zone/freezonelogo.png differ diff --git a/content/partners/our_world_free_zone/index.md b/content/partners/our_world_free_zone/index.md new file mode 100644 index 0000000..2c0a6d7 --- /dev/null +++ b/content/partners/our_world_free_zone/index.md @@ -0,0 +1,52 @@ +--- +id: our_world_free_zone +title: Our World Free Zone +description: ThreeFold is working with ZICTIA, on behalf of the Zanzibar government, to create the world’s first 100% Digital Free Zone – accessible and affordable for all. +template: partnerPage.html +taxonomies: + partners-category: [foundation] + tags: [] +date: 2024-03-19 +extra: + countries: [Global] + cities: [] + rank: 1 + imgPath: freezonecover2.png + image_caption: Our World Free Zone + partner_logo: freezonelogo.png + websites: https://freezone.ourworld.tf/ + private: 0 +--- + +
+ +### **A Sovereign Economic Zone** + +Imagine if an entrepreneur, digital nomad, or any organization could obtain a digital company license, a bank account supporting both fiat and cryptocurrencies, and handle their legal requirements and taxes – all within a single streamlined platform. ThreeFold technology will be leveraged to enable just that within the world’s first 100% digital free zone – accessible and affordable for all. + +
+ +The government of Zanzibar is undertaking several initiatives to shift its economy from being largely dependent on tourism to embracing the IT sector. As part of this vision they have partnered with ThreeFold via [ZICTIA](https://zictia.go.tz/), the Zanzibar ICT Infrastructure Agency, to create the world’s first digital free zone. + +
+ +This collaboration was formally announced by Zanzibar’s President, Dr. Hussein Ali Mwinyi, at ThreeFold’s Africa Regenerative Future Summit in July 2023 which brought together a group of passionate entrepreneurs and actors working on innovative planet-first projects in Africa. The president promised to establish the digital free zone from a regulatory perspective, with the goal of developing local skills, bringing about major changes in the ICT sector, and creating job opportunities to increase the nation’s income. + +
+ +
+ our_world_free_zone +
+ +
+ +As the world’s first digital free zone, this special economic zone will be supported by ThreeFold’s innovative tech stack. Merging traditional business structures with groundbreaking technology, the free zone will be a pioneering hub for business, fostering an ecosystem that is adaptive, resilient, and conducive to growth. It will be one of the first environments where Decentralized Autonomous Organizations (DAOs) can be legally established and operated. Some of the ThreeFold team is based in Zanzibar and working to make the free zone live by the end of 2024. + +
+ +ThreeFold’s latest technology, which is currently being fine tuned, the Digital Twin, will also be launched as part of the Free Zone membership. The Digital Free Zone (DFZ) Digital Twin application provides a centralized interface for accessing all free zone features and users will own 100% of the data and digital capabilities. You can be among the first to embark on the OurWorld Digital Free Zone journey. + +### **News Coverage** + +- [The Citizen](https://www.thecitizen.co.tz/tanzania/zanzibar/zanzibar-seeks-to-become-digital-freezone--4316150) +- [Daily News Tanzania](https://dailynews.co.tz/mwinyi-commits-to-improvement-of-digital-spaces/) \ No newline at end of file diff --git a/content/partners/sikana/index.md b/content/partners/sikana/index.md new file mode 100644 index 0000000..22a5aac --- /dev/null +++ b/content/partners/sikana/index.md @@ -0,0 +1,46 @@ +--- +id: sikana +title: Sikana +description: Sikana is on a mission to empower individuals with practical skills through free educational videos – local content in local languages on top of local infrastructure. +template: partnerPage.html +taxonomies: + partners-category: [foundation] + tags: [] +date: 2024-03-19 +extra: + countries: [Global] + cities: [] + rank: 1 + imgPath: sikana.png + image_caption: sikana + partner_logo: sikana_logo.png + websites: https://www.sikana.tv/en + private: 0 +--- + +
+ +### **Education for all** + +Sikana is a non-profit organization on a mission to empower individuals with practical skills through free educational video programs. Targeting the 3+ billion people around the world with access to screens they have so far delivered over 400,000,000 online video lessons. Some of the projects they have been involved in include facilitating access to energy and fighting against energy poverty in the Ivory Coast, helping to save biodiversity in France and empowering women with vocational training at sewing schools in India. + + +
+ +![sikana](sikana2.png) + +
+ +However, the incredible scale of this inspirational project comes with significant hosting fees, inhibiting Sikana’s ability to equip people and communities around the world with new knowledge and skills. It was at this point in Sikana’s journey that co-founders Florian Fournier and Grégory Flipo met the ThreeFold team. We shared the same vision of making education accessible and creating a more equitable and greener world, sparking an exciting partnership between ThreeFold and Sikana, and bringing Florian and Gregory onto the team. + +
+ +ThreeFold’s decentralized grid can step in as the solution to these immense hosting costs allowing Sikana to extend its global reach and helping even more communities around the world. Together, we are working to create and provide local content in local languages on top of local infrastructure, fulfilling the goal of making education accessible to everyone. + +
+ +You can help us on this mission by either creating educational content which will be disseminated on top of the ThreeFold Grid or you can help create the necessary capacity to host these educational programs. Hosting a node can mean hosting someone’s education. Learn more about [Sikana](https://www.sikana.tv/en) and how to host this impactful organization [here](https://www.threefold.io/host/). + +
+ + diff --git a/content/partners/sikana/sikana.png b/content/partners/sikana/sikana.png new file mode 100644 index 0000000..6b71818 Binary files /dev/null and b/content/partners/sikana/sikana.png differ diff --git a/content/partners/sikana/sikana2.png b/content/partners/sikana/sikana2.png new file mode 100644 index 0000000..5030290 Binary files /dev/null and b/content/partners/sikana/sikana2.png differ diff --git a/content/partners/sikana/sikana_logo.png b/content/partners/sikana/sikana_logo.png new file mode 100644 index 0000000..2a86306 Binary files /dev/null and b/content/partners/sikana/sikana_logo.png differ diff --git a/content/partners/social_network/index.md b/content/partners/social_network/index.md new file mode 100644 index 0000000..b9d2a1a --- /dev/null +++ b/content/partners/social_network/index.md @@ -0,0 +1,45 @@ +--- +id: social_network +title: Social Network +description: Earth Staking’s Social Network is the first Bitcoin Staking Layer 2 on Earth, collaborating with ThreeFold to improve security, scalability, and energy-efficiency. +template: partnerPage.html +taxonomies: + partners-category: [foundation] + tags: [] +date: 2024-03-19 +extra: + countries: [Global] + cities: [] + rank: 1 + imgPath: social_network_cover.png + image_caption: Social Network + partner_logo: social_network_logo.png + websites: https://www.social.network/en + private: 0 +--- + +
+ +### **Scaling Bitcoin** +Earth Staking’s Social Network is the first Bitcoin Staking Layer 2 on Earth, designed to provide users with a more cost-effective, efficient and eco-friendly experience. Their mission is to decentralize scaling solutions for Bitcoin and create social networks that prioritize the well-being of Earth and its inhabitants. Having jointly identified challenges currently confronting Bitcoin and its alternatives, ThreeFold and Social Network have partnered together to improve the accessibility, security, scalability, reliability and energy efficiency of the Bitcoin Network. + +
+ +
+ social_network +
+ +
+ +Social Network will be integrated with and enhanced by ThreeFold technologies. This includes, but is not limited to, ThreeFold’s decentralized cloud – featuring Quantum Safe Storage and the Mycelium Network – as well as decentralized computation, and Zero OS. ThreeFold's infrastructure provides the ideal backbone for Earth Staking's ambitions, offering a robust, low-level decentralized framework perfectly suited to empower its vision. + +
+ +The partnership is also focused on advancing the development of cross-chain communication technology for Bitcoin, Ethereum, and others – enhancing scale, security, ease of use, and energy efficiency. To this end, ThreeFold and Earth Staking will look to create a seamless, frictionless, easy-to-use EarthWallet and node with built-in BTC Staking, ETH Light, and Nostr functionalities. + +
+ +Our partnership agreement was formalized in January 2024 and we are now in the process of technical implementation. + + + diff --git a/content/partners/social_network/social_network.png b/content/partners/social_network/social_network.png new file mode 100644 index 0000000..b70e6fb Binary files /dev/null and b/content/partners/social_network/social_network.png differ diff --git a/content/partners/social_network/social_network_cover.png b/content/partners/social_network/social_network_cover.png new file mode 100644 index 0000000..6567e4d Binary files /dev/null and b/content/partners/social_network/social_network_cover.png differ diff --git a/content/partners/social_network/social_network_logo.png b/content/partners/social_network/social_network_logo.png new file mode 100644 index 0000000..aa87cd3 Binary files /dev/null and b/content/partners/social_network/social_network_logo.png differ diff --git a/content/partners/tanzania_sovereign_internet/index.md b/content/partners/tanzania_sovereign_internet/index.md new file mode 100644 index 0000000..e3487d2 --- /dev/null +++ b/content/partners/tanzania_sovereign_internet/index.md @@ -0,0 +1,61 @@ +--- +id: tanzania_sovereign_internet +title: Tanzania's Sovereign Internet +description: In collaboration with the ICT Commission of Tanzania and the tech community of Dar Es Salaam, ThreeFold is enabling a better digital way forward for Tanzania. +template: partnerPage.html +taxonomies: + partners-category: [foundation] + tags: [] +date: 2024-03-19 +extra: + countries: [Global] + cities: [] + rank: 1 + imgPath: tanzania_sovereign_internet_cover.png + image_caption: Tanzania Sovereign Internet + partner_logo: tanzania_sovereign_internet_logo.png + websites: + private: 0 +--- + +
+ +### **A Sovereign Internet, By and For Tanzania** +The current centralized Internet model works for the few and is GDP negative for most countries. Most nations do not own their Internet, instead with fiber optic cables transferring and storing their data in data centers in the Global North. A relatively small set of big companies have access to and control over the data of billions of citizens, making us a product. The result is a loss of national money, data, sovereignty and influence. + +
+ +Our feasibility study showed that Tanzania is losing around 10 Billion USD per year from not having their own infrastructure and applications. The current centralized model needs to change. + +
+ +**Centralized model vs ThreeFold model** + +
+ +
+ tanzania_sovereign_internet +
+ +
+ +
+ tanzania_sovereign_internet +
+ +
+ +Tanzania shares this vision and together with ThreeFold has embarked on a mission to build their own sovereign Internet infrastructure where the people are in control and are the ones benefiting from their own digital lives. To achieve this mission, Tanzania’s ICT Commission has partnered with us to leverage ThreeFold technology to enable a Tanzanian-owned Internet infrastructure and allow local communities to build the digital solutions that they need and want on top of the grid. + +
+ +ThreeFold’s unique technology is ideal for this transformative project because of its affordability, efficiency, accessibility, reliability, security, sustainability and ability to be co-owned. By focusing on everyone owning and running things together, an autonomous digital future shaped by the community will become a reality. It will be a Tanzanian internet designed by and for the people. + +
+ +The project “Dunia Yetu”, meaning Our World in Swahili, was announced in January 2024 at a conference in Dar Es Salaam organized by ThreeFold and Tanzania’s ICT Commission. The next steps which the team is currently working on include helping local communities to deploy nodes across Dar es Salaam as well as opening a coworking hub. This hub will empower startups and entrepreneurs in Dar es Salaam to learn more about the ThreeFold grid and focus on knowledge sharing to help them build their own digital solutions on top of the grid. Learn more about Tanzania’s new internet [here](https://www.threefold.io/blog/dunia-yetu/). + +
+ +
+ diff --git a/content/partners/tanzania_sovereign_internet/tanzania_sovereign_internet_cover.png b/content/partners/tanzania_sovereign_internet/tanzania_sovereign_internet_cover.png new file mode 100644 index 0000000..a7ee532 Binary files /dev/null and b/content/partners/tanzania_sovereign_internet/tanzania_sovereign_internet_cover.png differ diff --git a/content/partners/tanzania_sovereign_internet/tanzania_sovereign_internet_logo.png b/content/partners/tanzania_sovereign_internet/tanzania_sovereign_internet_logo.png new file mode 100644 index 0000000..3e2e55b Binary files /dev/null and b/content/partners/tanzania_sovereign_internet/tanzania_sovereign_internet_logo.png differ diff --git a/content/partners/tanzania_sovereign_internet/threefold_internet.jpeg b/content/partners/tanzania_sovereign_internet/threefold_internet.jpeg new file mode 100644 index 0000000..ef5f900 Binary files /dev/null and b/content/partners/tanzania_sovereign_internet/threefold_internet.jpeg differ diff --git a/content/partners/tanzania_sovereign_internet/todays_internet.png b/content/partners/tanzania_sovereign_internet/todays_internet.png new file mode 100644 index 0000000..7ab041f Binary files /dev/null and b/content/partners/tanzania_sovereign_internet/todays_internet.png differ diff --git a/content/partners/utilities_heder.png b/content/partners/utilities_heder.png new file mode 100644 index 0000000..2c7afed Binary files /dev/null and b/content/partners/utilities_heder.png differ diff --git a/content/partners/veverse/index.md b/content/partners/veverse/index.md new file mode 100644 index 0000000..0878f4c --- /dev/null +++ b/content/partners/veverse/index.md @@ -0,0 +1,44 @@ +--- +id: veverse +title: VeVerse +description: VeVerse, a strong believer in a decentralized metaverse, is creating a virtual universe which eradicates cultural boundaries and supports the free flow of ideas and knowledge. +template: partnerPage.html +taxonomies: + partners-category: [foundation] + tags: [] +date: 2024-03-19 +extra: + countries: [Global] + cities: [] + rank: 1 + imgPath: veverse_cover.png + image_caption: Veverse + partner_logo: veverse_logo.png + websites: https://veverse.com/ + private: 0 +--- + +
+ +### **A Metaverse eradicating cultural boundaries** + +VeVerse aims to create a virtual universe which eradicates cultural boundaries and supports the free flow of ideas and knowledge. The vision is to provide a metaverse platform which bridges virtual worlds, digital assets and communities and to empower museums, artists and game developers to construct captivating environments together where users can play, explore and connect. + +
+ +One of the critical moments which inspired this project was when VeVerse’s founder, Vasily Gnuchev, traveled to Egypt. In his own words “experiencing the rich history and art of this ancient civilization firsthand, I became even more determined to create a platform where such wonders could be shared with people worldwide.” It was on this trip Vasily met ThreeFold co-founder Kristof De Spiegeleer, who shared a passion for art and decentralization and whose encouragement played a crucial role in propelling VeVerse’s first project, Artheon, forward. Artheon is a virtual museum which breaks down cultural barriers by providing global access to artistic masterpieces. Check out this fascinating project [here](https://artheon3d.veverse.com/) and visualize it in the video below. + +
+ +
+ veverse +
+ +
+ +One of the problems facing VeVerse, and all other metaverse products in existence, is the inadequate computational and connectivity infrastructure available today. Current infrastructure lacks the speed and capacity to power such expansive digital experiences. Latency levels are also significantly higher than the almost zero latency requirements of metaverse data being stored in close proximity to users. Edge computing emerges as a vital solution to realizing the metaverse, offering decentralized local data storage hardware that drastically reduces latency by storing data closer to users. This is where ThreeFold steps in as a pivotal player, offering the largest decentralized grid globally, equipped with edge cloud and computing capabilities essential for powering the metaverse's future. The partnership between ThreeFold and VeVerse will help bring cultural artworks and historical artifacts to billions. Help host this innovative solution by expanding ThreeFold’s cloud capacity. + +
+ + + diff --git a/content/partners/veverse/veverse.png b/content/partners/veverse/veverse.png new file mode 100644 index 0000000..0734321 Binary files /dev/null and b/content/partners/veverse/veverse.png differ diff --git a/content/partners/veverse/veverse_cover.png b/content/partners/veverse/veverse_cover.png new file mode 100644 index 0000000..9acadbb Binary files /dev/null and b/content/partners/veverse/veverse_cover.png differ diff --git a/content/partners/veverse/veverse_logo.png b/content/partners/veverse/veverse_logo.png new file mode 100644 index 0000000..7709892 Binary files /dev/null and b/content/partners/veverse/veverse_logo.png differ diff --git a/content/partners/vverse/index.md b/content/partners/vverse/index.md new file mode 100644 index 0000000..d424a34 --- /dev/null +++ b/content/partners/vverse/index.md @@ -0,0 +1,45 @@ +--- +id: vverse +title: VVerse +description: VVerse offers a cutting-edge platform for virtual socializing and entertainment – benefiting from ThreeFold's scalable infrastructure to provide a smooth experience for all. +template: partnerPage.html +taxonomies: + partners-category: [foundation] + tags: [] +date: 2024-03-19 +extra: + countries: [Global] + cities: [] + rank: 1 + imgPath: vverse_cover.png + image_caption: Veverse + partner_logo: vverse_logo.png + websites: https://www.vverse.co/explore?tag= + private: 0 +--- + +
+ +### **A cutting-edge Metaverse platform** + +VVerse offers a cutting-edge platform for virtual socializing and entertainment. One of their first products is [VinDo](https://www.vindo.ai/), the next generation communication and business tool to streamline your interactions, empower your business, simplify your workflow and amplify your results. Businesses can become virtual with VinDO and redefine customer experiences in the metaverse. Checkout the video below to see this metaverse in action. + +
+ +
+ vverse +
+ +
+ +VVerse has chosen to partner with ThreeFold as its infrastructure partner due to its unparalleled capabilities in powering the metaverse's evolution. With ThreeFold's decentralized grid and edge cloud computing, VVerse aims to overcome the limitations of current infrastructure, particularly in terms of latency and scalability. ThreeFold's edge cloud infrastructure minimizes latency, enabling real-time interactions in VR and AR settings. Users will experience seamless interactions and immersive experiences without delays. As VVerse anticipates an influx of users engaging in diverse activities simultaneously, ThreeFold's infrastructure offers scalable solutions. This ensures that the platform can efficiently handle spikes in demand, providing a smooth experience for all users. + +
+ +Through strategic partnerships with metaverse innovators like VVerse, ThreeFold is paving the way for a future where digital and physical realities seamlessly coalesce. Together, these efforts propel the metaverse towards its full potential, revolutionizing digital experiences for users worldwide. + +
+ +
+ + diff --git a/content/partners/vverse/vverse.png b/content/partners/vverse/vverse.png new file mode 100644 index 0000000..e59f049 Binary files /dev/null and b/content/partners/vverse/vverse.png differ diff --git a/content/partners/vverse/vverse_cover.png b/content/partners/vverse/vverse_cover.png new file mode 100644 index 0000000..e78c1b6 Binary files /dev/null and b/content/partners/vverse/vverse_cover.png differ diff --git a/content/partners/vverse/vverse_logo.png b/content/partners/vverse/vverse_logo.png new file mode 100644 index 0000000..0092849 Binary files /dev/null and b/content/partners/vverse/vverse_logo.png differ diff --git a/content/people/_index.md b/content/people/_index.md new file mode 100644 index 0000000..6276088 --- /dev/null +++ b/content/people/_index.md @@ -0,0 +1,11 @@ +--- +title: "Our People" +paginate_by: 4 +sort_by: "weight" +template: "layouts/people.html" +page_template: "partials/personCard.html" +insert_anchor_links: "left" +description: "Our team brings together +30 years of experience in cloud automation, Internet storage, and infrastructure services. We are a passionate group on a collective mission to make the world a better place for the people around us." +extra: + imgPath: tf.png +--- diff --git a/content/people/abdulrahman_elawady/abdulrahman_elawady.jpg b/content/people/abdulrahman_elawady/abdulrahman_elawady.jpg new file mode 100644 index 0000000..2202555 Binary files /dev/null and b/content/people/abdulrahman_elawady/abdulrahman_elawady.jpg differ diff --git a/content/people/abdulrahman_elawady/index.md b/content/people/abdulrahman_elawady/index.md new file mode 100644 index 0000000..24ac2a5 --- /dev/null +++ b/content/people/abdulrahman_elawady/index.md @@ -0,0 +1,24 @@ +--- +title: Abdulrahman Elawady +weight: 9 +description: Development Team +taxonomies: + people: [abdulrahman_elawady] + memberships: [team] +extra: + imgPath: abdulrahman_elawady.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/abdulrahmanelawady/, + websites: https://threefold.io/, + } +--- + + \ No newline at end of file diff --git a/content/people/adnan_fatayerji/adnan_fatayerji.jpg b/content/people/adnan_fatayerji/adnan_fatayerji.jpg new file mode 100644 index 0000000..a1ab811 Binary files /dev/null and b/content/people/adnan_fatayerji/adnan_fatayerji.jpg differ diff --git a/content/people/adnan_fatayerji/index.md b/content/people/adnan_fatayerji/index.md new file mode 100644 index 0000000..2089f54 --- /dev/null +++ b/content/people/adnan_fatayerji/index.md @@ -0,0 +1,24 @@ +--- +title: Adnan Fatayerji +weight: 1 +description: Co-Founder +taxonomies: + people: [adnan_fatayerji] + memberships: [team] +extra: + imgPath: adnan_fatayerji.jpg + organizations: [threefold_foundation] + countries: [UAE, Spain] + cities: [Dubai, Ibiza] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/adnansf/, + websites: https://threefold.io/, https://www.mazraa.io/, + } +--- + + \ No newline at end of file diff --git a/content/people/ahmed_hanafy/ahmed_hanafy.jpg b/content/people/ahmed_hanafy/ahmed_hanafy.jpg new file mode 100644 index 0000000..a6c63bb Binary files /dev/null and b/content/people/ahmed_hanafy/ahmed_hanafy.jpg differ diff --git a/content/people/ahmed_hanafy/index.md b/content/people/ahmed_hanafy/index.md new file mode 100644 index 0000000..f68f595 --- /dev/null +++ b/content/people/ahmed_hanafy/index.md @@ -0,0 +1,25 @@ +--- +title: Ahmed Hanafy +weight: 3 +description: Development Team +taxonomies: + people: [ahmed_hanafy] + memberships: [team] +extra: + imgPath: ahmed_hanafy.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/ahmed-hanafy-7250/, + github: https://github.com/AhmedHanafy725, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/ahmed_harby/ahmed_harby.jpg b/content/people/ahmed_harby/ahmed_harby.jpg new file mode 100644 index 0000000..d2d8385 Binary files /dev/null and b/content/people/ahmed_harby/ahmed_harby.jpg differ diff --git a/content/people/ahmed_harby/index.md b/content/people/ahmed_harby/index.md new file mode 100644 index 0000000..7cd956f --- /dev/null +++ b/content/people/ahmed_harby/index.md @@ -0,0 +1,25 @@ +--- +title: Ahmed Saleh Harby +weight: 4 +description: Software Testing Engineer +taxonomies: + people: [ahmed_harby] + memberships: [team] +extra: + imgPath: ahmed_harby.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/ahmed-saleh-harby/, + github: https://github.com/A-Harby, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/ahmed_thabet/ahmed_thabet.jpg b/content/people/ahmed_thabet/ahmed_thabet.jpg new file mode 100644 index 0000000..91f6509 Binary files /dev/null and b/content/people/ahmed_thabet/ahmed_thabet.jpg differ diff --git a/content/people/ahmed_thabet/index.md b/content/people/ahmed_thabet/index.md new file mode 100644 index 0000000..2480ea2 --- /dev/null +++ b/content/people/ahmed_thabet/index.md @@ -0,0 +1,25 @@ +--- +title: Ahmed Thabet +weight: 2 +description: Development Team Lead +taxonomies: + people: [ahmed_thabet] + memberships: [team] +extra: + imgPath: ahmed_thabet.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/ahmed-te-youssef/, + github: https://github.com/xmonader, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/alaa_mahmoud/alaa_mahmoud.jpg b/content/people/alaa_mahmoud/alaa_mahmoud.jpg new file mode 100644 index 0000000..d700da5 Binary files /dev/null and b/content/people/alaa_mahmoud/alaa_mahmoud.jpg differ diff --git a/content/people/alaa_mahmoud/index.md b/content/people/alaa_mahmoud/index.md new file mode 100644 index 0000000..1323279 --- /dev/null +++ b/content/people/alaa_mahmoud/index.md @@ -0,0 +1,24 @@ +--- +title: Alaa Mahmoud +weight: 2 +description: Development Team +taxonomies: + people: [alaa_mahmoud] + memberships: [team] +extra: + imgPath: alaa_mahmoud.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/alaa-mahmoud-647236153/, + websites: https://threefold.io/, + } +--- + + \ No newline at end of file diff --git a/content/people/alexandre_hannelas/alexandre_hannelas.jpeg b/content/people/alexandre_hannelas/alexandre_hannelas.jpeg new file mode 100644 index 0000000..cc339bc Binary files /dev/null and b/content/people/alexandre_hannelas/alexandre_hannelas.jpeg differ diff --git a/content/people/alexandre_hannelas/index.md b/content/people/alexandre_hannelas/index.md new file mode 100644 index 0000000..200b2ef --- /dev/null +++ b/content/people/alexandre_hannelas/index.md @@ -0,0 +1,25 @@ +--- +title: Alexandre Hannelas +weight: 2 +description: CFO, ThreeFold +taxonomies: + people: [alexandre_hannelas] + memberships: [team] +extra: + imgPath: alexandre_hannelas.jpeg + organizations: [threefold_foundation] + countries: [France] + cities: [Aix-en-Provence] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/alexandre-hannelas-741681112/, + github: https://github.com/AlexandreHannelas, + websites: https://threefold.io/, + } +--- + + \ No newline at end of file diff --git a/content/people/amira_abouhadid/amira_abouhadid.jpg b/content/people/amira_abouhadid/amira_abouhadid.jpg new file mode 100644 index 0000000..8cf80b2 Binary files /dev/null and b/content/people/amira_abouhadid/amira_abouhadid.jpg differ diff --git a/content/people/amira_abouhadid/index.md b/content/people/amira_abouhadid/index.md new file mode 100644 index 0000000..a7490c1 --- /dev/null +++ b/content/people/amira_abouhadid/index.md @@ -0,0 +1,25 @@ +--- +title: Amira Abouhadid +weight: 4 +description: Development Team +taxonomies: + people: [amira_abouhadid] + memberships: [team] +extra: + imgPath: amira_abouhadid.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/amira-abouhadid/, + github: https://github.com/amiraabouhadid, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/ashraf_fouda/ashraf_fouda.jpeg b/content/people/ashraf_fouda/ashraf_fouda.jpeg new file mode 100644 index 0000000..7663c9b Binary files /dev/null and b/content/people/ashraf_fouda/ashraf_fouda.jpeg differ diff --git a/content/people/ashraf_fouda/index.md b/content/people/ashraf_fouda/index.md new file mode 100644 index 0000000..349c852 --- /dev/null +++ b/content/people/ashraf_fouda/index.md @@ -0,0 +1,25 @@ +--- +title: Ashraf Fouda +weight: 3 +description: Development Team +taxonomies: + people: [ashraf_fouda] + memberships: [team] +extra: + imgPath: ashraf_fouda.jpeg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/ashraffouda/, + github: https://github.com/ashraffouda, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/atef_nazmy/atef_nazmy.jpg b/content/people/atef_nazmy/atef_nazmy.jpg new file mode 100644 index 0000000..1016a15 Binary files /dev/null and b/content/people/atef_nazmy/atef_nazmy.jpg differ diff --git a/content/people/atef_nazmy/index.md b/content/people/atef_nazmy/index.md new file mode 100644 index 0000000..451d59f --- /dev/null +++ b/content/people/atef_nazmy/index.md @@ -0,0 +1,24 @@ +--- +title: Atef Nazmy +weight: 3 +description: Development Team +taxonomies: + people: [atef_nazmy] + memberships: [team] +extra: + imgPath: atef_nazmy.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/atef-nazmy-2521b2134/, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/bernadette_amanda_caster/bernadette_amanda_caster.jpg b/content/people/bernadette_amanda_caster/bernadette_amanda_caster.jpg new file mode 100644 index 0000000..421f09d Binary files /dev/null and b/content/people/bernadette_amanda_caster/bernadette_amanda_caster.jpg differ diff --git a/content/people/bernadette_amanda_caster/index.md b/content/people/bernadette_amanda_caster/index.md new file mode 100644 index 0000000..e78a3da --- /dev/null +++ b/content/people/bernadette_amanda_caster/index.md @@ -0,0 +1,24 @@ +--- +title: Bernadette Amanda Caster +weight: 3 +description: Communication Team +taxonomies: + people: [bernadette_amanda_caster] + memberships: [team] +extra: + imgPath: bernadette_amanda_caster.jpg + organizations: [threefold_tech] + countries: [India] + cities: [Bangalore, Chennai] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/bernadette-caster-7a11a4b4/, + websites: https://threefold.io/, + } +--- + + \ No newline at end of file diff --git a/content/people/blog.png b/content/people/blog.png new file mode 100644 index 0000000..49e290b Binary files /dev/null and b/content/people/blog.png differ diff --git a/content/people/cameron_ramraichan_labeyrie/cameron_ramraichan_labeyrie.jpg b/content/people/cameron_ramraichan_labeyrie/cameron_ramraichan_labeyrie.jpg new file mode 100644 index 0000000..2567bdd Binary files /dev/null and b/content/people/cameron_ramraichan_labeyrie/cameron_ramraichan_labeyrie.jpg differ diff --git a/content/people/cameron_ramraichan_labeyrie/index.md b/content/people/cameron_ramraichan_labeyrie/index.md new file mode 100644 index 0000000..6fec581 --- /dev/null +++ b/content/people/cameron_ramraichan_labeyrie/index.md @@ -0,0 +1,23 @@ +--- +title: Cameron Ramraichan Labeyrie +weight: 3 +description: Support Team +taxonomies: + people: [cameron_ramraichan_labeyrie] + memberships: [team] +extra: + imgPath: cameron_ramraichan_labeyrie.jpg + organizations: [threefold_tech] + countries: [India] + cities: [Bangalore, Chennai] + private: 0 + socialLinks: { + websites: https://threefold.io/, + } +--- + + \ No newline at end of file diff --git a/content/people/ehab_hassan/ehab_hassan.jpg b/content/people/ehab_hassan/ehab_hassan.jpg new file mode 100644 index 0000000..a805b18 Binary files /dev/null and b/content/people/ehab_hassan/ehab_hassan.jpg differ diff --git a/content/people/ehab_hassan/index.md b/content/people/ehab_hassan/index.md new file mode 100644 index 0000000..750a702 --- /dev/null +++ b/content/people/ehab_hassan/index.md @@ -0,0 +1,25 @@ +--- +title: Ehab Hassan +weight: 3 +description: Web Developer +taxonomies: + people: [ehab_hassan] + memberships: [team] +extra: + imgPath: ehab_hassan.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/ehab-hassan-a00897116/, + github: https://github.com/ehab-hassan, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/erwan_renaut/erwan_renaut.jpeg b/content/people/erwan_renaut/erwan_renaut.jpeg new file mode 100644 index 0000000..713c727 Binary files /dev/null and b/content/people/erwan_renaut/erwan_renaut.jpeg differ diff --git a/content/people/erwan_renaut/index.md b/content/people/erwan_renaut/index.md new file mode 100644 index 0000000..f16e3a5 --- /dev/null +++ b/content/people/erwan_renaut/index.md @@ -0,0 +1,25 @@ +--- +title: Erwan Renaut +weight: 4 +description: Development Team +taxonomies: + people: [erwan_renaut] + memberships: [team] +extra: + imgPath: erwan_renaut.jpeg + organizations: [threefold_tech] + countries: [Brazil] + cities: [Rio de Janeiro] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/erwan-renaut-78869433/, + github: https://github.com/renauter, + websites: https://www.threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/eslam_nawara/eslam_nawara.jpg b/content/people/eslam_nawara/eslam_nawara.jpg new file mode 100644 index 0000000..d64283c Binary files /dev/null and b/content/people/eslam_nawara/eslam_nawara.jpg differ diff --git a/content/people/eslam_nawara/index.md b/content/people/eslam_nawara/index.md new file mode 100644 index 0000000..2b03179 --- /dev/null +++ b/content/people/eslam_nawara/index.md @@ -0,0 +1,23 @@ +--- +title: Eslam Nawara +weight: 2 +description: Development Team +taxonomies: + people: [eslam_nawara] + memberships: [team] +extra: + imgPath: eslam_nawara.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/eslam-nawara, + websites: https://threefold.io/, + } +--- + \ No newline at end of file diff --git a/content/people/evon_yacoub/evon_yacoub.jpg b/content/people/evon_yacoub/evon_yacoub.jpg new file mode 100644 index 0000000..01a0185 Binary files /dev/null and b/content/people/evon_yacoub/evon_yacoub.jpg differ diff --git a/content/people/evon_yacoub/index.md b/content/people/evon_yacoub/index.md new file mode 100644 index 0000000..a587ffe --- /dev/null +++ b/content/people/evon_yacoub/index.md @@ -0,0 +1,24 @@ +--- +title: Evon Yacoub +weight: 5 +description: Office Manager, Cairo +taxonomies: + people: [evon_yacoub] + memberships: [team] +extra: + imgPath: evon_yacoub.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/evon-yacoub-phri-b6028025/, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/florian_fournier/florian_fournier.jpeg b/content/people/florian_fournier/florian_fournier.jpeg new file mode 100644 index 0000000..a0c33db Binary files /dev/null and b/content/people/florian_fournier/florian_fournier.jpeg differ diff --git a/content/people/florian_fournier/index.md b/content/people/florian_fournier/index.md new file mode 100644 index 0000000..6b95c1a --- /dev/null +++ b/content/people/florian_fournier/index.md @@ -0,0 +1,24 @@ +--- +title: Florian Fournier +weight: 1 +description: Co-Founder & CMO +taxonomies: + people: [florian_fournier] + memberships: [team] +extra: + imgPath: florian_fournier.jpeg + organizations: [ootopia, threefold_foundation] + countries: [Brazil] + cities: [Rio de Janeiro] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/florianfournier/, + websites: https://www.ootopia.org/, + } +--- + + \ No newline at end of file diff --git a/content/people/gregory_flipo/gregory_flipo.jpg b/content/people/gregory_flipo/gregory_flipo.jpg new file mode 100644 index 0000000..24d90d0 Binary files /dev/null and b/content/people/gregory_flipo/gregory_flipo.jpg differ diff --git a/content/people/gregory_flipo/index.md b/content/people/gregory_flipo/index.md new file mode 100644 index 0000000..dab26c0 --- /dev/null +++ b/content/people/gregory_flipo/index.md @@ -0,0 +1,24 @@ +--- +title: Gregory Flipo +weight: 3 +description: Community Developer +taxonomies: + people: [gregory_flipo] + memberships: [team] +extra: + imgPath: gregory_flipo.jpg + organizations: [threefold_tech] + countries: [] + cities: [] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/gregory-flipo-34a9947/, + websites: https://threefold.io/, + } +--- + + \ No newline at end of file diff --git a/content/people/jan_de_landtsheer/index.md b/content/people/jan_de_landtsheer/index.md new file mode 100644 index 0000000..07e8af7 --- /dev/null +++ b/content/people/jan_de_landtsheer/index.md @@ -0,0 +1,25 @@ +--- +title: Jan De Landtsheer +weight: 1 +description: Co-Founder & CTO +taxonomies: + people: [jan_de_landtsheer] + memberships: [team] +extra: + imgPath: jan_de_landtsheer.jpeg + organizations: [threefold_tech] + countries: [Belgium] + cities: [Gent] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/jand2/, + github: https://github.com/delandtj, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/jan_de_landtsheer/jan_de_landtsheer.jpeg b/content/people/jan_de_landtsheer/jan_de_landtsheer.jpeg new file mode 100644 index 0000000..577d901 Binary files /dev/null and b/content/people/jan_de_landtsheer/jan_de_landtsheer.jpeg differ diff --git a/content/people/jan_de_landtsheer/jan_de_landtsheer.png b/content/people/jan_de_landtsheer/jan_de_landtsheer.png new file mode 100644 index 0000000..a6cfaad Binary files /dev/null and b/content/people/jan_de_landtsheer/jan_de_landtsheer.png differ diff --git a/content/people/karoline_zizka/index.md b/content/people/karoline_zizka/index.md new file mode 100644 index 0000000..5285255 --- /dev/null +++ b/content/people/karoline_zizka/index.md @@ -0,0 +1,24 @@ +--- +title: Karoline Zizka +weight: 2 +description: Administrative Assistant +taxonomies: + people: [karoline_zizka] + memberships: [team] +extra: + imgPath: karoline_zizka.jpeg + organizations: [threefold_foundation] + countries: [Austria] + cities: [Vienna] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/karoline-zizka-52a287b6/, + websites: https://threefold.io/, + } +--- + + \ No newline at end of file diff --git a/content/people/karoline_zizka/karoline_zizka.jpeg b/content/people/karoline_zizka/karoline_zizka.jpeg new file mode 100644 index 0000000..61efa75 Binary files /dev/null and b/content/people/karoline_zizka/karoline_zizka.jpeg differ diff --git a/content/people/khaled_youssef/index.md b/content/people/khaled_youssef/index.md new file mode 100644 index 0000000..95c4900 --- /dev/null +++ b/content/people/khaled_youssef/index.md @@ -0,0 +1,25 @@ +--- +title: Khaled Mahmoud Youssef +weight: 4 +description: Software Testing Engineer +taxonomies: + people: [khaled_youssef] + memberships: [team] +extra: + imgPath: khaled.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/khaled-mahmoud-youssef-555740180/, + github: https://github.com/Khaledyoussef24, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/kristof_de_spiegeleer/kristof_de_spiegeleer.jpeg b/content/people/kristof_de_spiegeleer/kristof_de_spiegeleer.jpeg new file mode 100644 index 0000000..72d6365 Binary files /dev/null and b/content/people/kristof_de_spiegeleer/kristof_de_spiegeleer.jpeg differ diff --git a/content/people/lee_smet/index.md b/content/people/lee_smet/index.md new file mode 100644 index 0000000..1ceefcd --- /dev/null +++ b/content/people/lee_smet/index.md @@ -0,0 +1,25 @@ +--- +title: Lee Smet +weight: 2 +description: Development Team +taxonomies: + people: [lee_smet] + memberships: [team] +extra: + imgPath: lee_smet.png + organizations: [threefold_tech] + countries: [Belgium] + cities: [Lochristi] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/lee-smet-4a279a136/, + github: https://github.com/LeeSmet, + websites: https://threefold.io/, + } +--- + + \ No newline at end of file diff --git a/content/people/lee_smet/lee_smet.png b/content/people/lee_smet/lee_smet.png new file mode 100644 index 0000000..c713fbf Binary files /dev/null and b/content/people/lee_smet/lee_smet.png differ diff --git a/content/people/mahendra_varma/index.md b/content/people/mahendra_varma/index.md new file mode 100644 index 0000000..e394d69 --- /dev/null +++ b/content/people/mahendra_varma/index.md @@ -0,0 +1,23 @@ +--- +title: Mahendra Varma +weight: 3 +description: Support Team +taxonomies: + people: [mahendra_varma] + memberships: [team] +extra: + imgPath: mahendra_varma.jpg + organizations: [threefold_tech] + countries: [] + cities: [] + private: 0 + socialLinks: { + websites: https://threefold.io/, + } +--- + + \ No newline at end of file diff --git a/content/people/mahendra_varma/mahendra_varma.jpg b/content/people/mahendra_varma/mahendra_varma.jpg new file mode 100644 index 0000000..03668c8 Binary files /dev/null and b/content/people/mahendra_varma/mahendra_varma.jpg differ diff --git a/content/people/mahmoud_emad/index.md b/content/people/mahmoud_emad/index.md new file mode 100644 index 0000000..44fd052 --- /dev/null +++ b/content/people/mahmoud_emad/index.md @@ -0,0 +1,27 @@ +--- +title: Mahmoud Emad +weight: 4 +description: Development Team +taxonomies: + people: [mahmoud_emad] + memberships: [team] + categories: [foundation] +extra: + imgPath: mahmoud_emad.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: + { + LinkedIn: https://www.linkedin.com/in/mahmoud-emad-4aa53717a/, + github: https://github.com/Mahmoud-Emad, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/mahmoud_emad/mahmoud_emad.jpg b/content/people/mahmoud_emad/mahmoud_emad.jpg new file mode 100644 index 0000000..f43acab Binary files /dev/null and b/content/people/mahmoud_emad/mahmoud_emad.jpg differ diff --git a/content/people/mario_bassem/index.md b/content/people/mario_bassem/index.md new file mode 100644 index 0000000..d2cb215 --- /dev/null +++ b/content/people/mario_bassem/index.md @@ -0,0 +1,25 @@ +--- +title: Mario Bassem +weight: 4 +description: Software Engineer +taxonomies: + people: [mario_bassem] + memberships: [team] +extra: + imgPath: mario.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/mario-wassef, + github: https://github.com/mariobassem, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/mario_bassem/mario.jpg b/content/people/mario_bassem/mario.jpg new file mode 100644 index 0000000..c4ac1e3 Binary files /dev/null and b/content/people/mario_bassem/mario.jpg differ diff --git a/content/people/marion_ravarino/index.md b/content/people/marion_ravarino/index.md new file mode 100644 index 0000000..8b587a5 --- /dev/null +++ b/content/people/marion_ravarino/index.md @@ -0,0 +1,24 @@ +--- +title: Marion Ravarino +weight: 2 +description: Communication Team +taxonomies: + people: [marion_ravarino] + memberships: [team] +extra: + imgPath: marion_ravarino.jpg + organizations: [threefold_tech] + countries: [Germany] + cities: [] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/marion-ravarino/, + websites: https://threefold.io/, + } +--- + + \ No newline at end of file diff --git a/content/people/marion_ravarino/marion_ravarino.jpg b/content/people/marion_ravarino/marion_ravarino.jpg new file mode 100644 index 0000000..c3db6b8 Binary files /dev/null and b/content/people/marion_ravarino/marion_ravarino.jpg differ diff --git a/content/people/maxime_daniel/index.md b/content/people/maxime_daniel/index.md new file mode 100644 index 0000000..b402b16 --- /dev/null +++ b/content/people/maxime_daniel/index.md @@ -0,0 +1,25 @@ +--- +title: Maxime Daniel +weight: 2 +description: Development Team +taxonomies: + people: [maxime_daniel] + memberships: [team] +extra: + imgPath: maxime_daniel.png + organizations: [threefold_tech] + countries: [Belgium] + cities: [Liège] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/maxime-daniel-29bb8055/, + github: https://github.com/maxux, + websites: https://www.threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/maxime_daniel/maxime_daniel.png b/content/people/maxime_daniel/maxime_daniel.png new file mode 100644 index 0000000..10e51e3 Binary files /dev/null and b/content/people/maxime_daniel/maxime_daniel.png differ diff --git a/content/people/mayar_osama/index.md b/content/people/mayar_osama/index.md new file mode 100644 index 0000000..5ca591a --- /dev/null +++ b/content/people/mayar_osama/index.md @@ -0,0 +1,25 @@ +--- +title: Mayar Osama +weight: 4 +description: Development Team +taxonomies: + people: [mayar_osama] + memberships: [team] +extra: + imgPath: mayar_osama.jpeg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/mayar-osama-0177a4204/, + github: https://github.com/maayarosama, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/mayar_osama/mayar_osama.jpeg b/content/people/mayar_osama/mayar_osama.jpeg new file mode 100644 index 0000000..51f5a6f Binary files /dev/null and b/content/people/mayar_osama/mayar_osama.jpeg differ diff --git a/content/people/mik_perreault/index.md b/content/people/mik_perreault/index.md new file mode 100644 index 0000000..1c19363 --- /dev/null +++ b/content/people/mik_perreault/index.md @@ -0,0 +1,23 @@ +--- +title: Mik Perreault +weight: 3 +description: Communication & Community +taxonomies: + people: [mik_perreault] + memberships: [team] +extra: + imgPath: mik_perreault.jpg + organizations: [threefold_tech] + countries: [] + cities: [] + private: 0 + socialLinks: { + websites: https://threefold.io/, + } +--- + + \ No newline at end of file diff --git a/content/people/mik_perreault/mik_perreault.jpg b/content/people/mik_perreault/mik_perreault.jpg new file mode 100644 index 0000000..bd2f033 Binary files /dev/null and b/content/people/mik_perreault/mik_perreault.jpg differ diff --git a/content/people/mohamed_amer/index.md b/content/people/mohamed_amer/index.md new file mode 100644 index 0000000..e191cd7 --- /dev/null +++ b/content/people/mohamed_amer/index.md @@ -0,0 +1,25 @@ +--- +title: Mohamed Amer +weight: 4 +description: Software Testing Engineer +taxonomies: + people: [mohamed_amer] + memberships: [team] +extra: + imgPath: mohamed_amer.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/mohamedamer45/, + github: https://github.com/mohamedamer453, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/mohamed_amer/mohamed_amer.jpg b/content/people/mohamed_amer/mohamed_amer.jpg new file mode 100644 index 0000000..a4d91da Binary files /dev/null and b/content/people/mohamed_amer/mohamed_amer.jpg differ diff --git a/content/people/nayer_sobhy/index.md b/content/people/nayer_sobhy/index.md new file mode 100644 index 0000000..c67fe39 --- /dev/null +++ b/content/people/nayer_sobhy/index.md @@ -0,0 +1,24 @@ +--- +title: Nayer Sobhy +weight: 2 +description: General Manager, Cairo +taxonomies: + people: [nayer_sobhy] + memberships: [team] +extra: + imgPath: nayer_sobhy.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/nayer-sobhy-1bb15855/, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/nayer_sobhy/nayer_sobhy.jpg b/content/people/nayer_sobhy/nayer_sobhy.jpg new file mode 100644 index 0000000..4f8589c Binary files /dev/null and b/content/people/nayer_sobhy/nayer_sobhy.jpg differ diff --git a/content/people/omar_abdulaziz/index.md b/content/people/omar_abdulaziz/index.md new file mode 100644 index 0000000..040e297 --- /dev/null +++ b/content/people/omar_abdulaziz/index.md @@ -0,0 +1,25 @@ +--- +title: Omar Abdulaziz +weight: 3 +description: Development Team +taxonomies: + people: [omar_abdulaziz] + memberships: [team] +extra: + imgPath: omar_abdulaziz.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/omarabdul3ziz, + github: https://github.com/omarabdul3ziz, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/omar_abdulaziz/omar_abdulaziz.jpg b/content/people/omar_abdulaziz/omar_abdulaziz.jpg new file mode 100644 index 0000000..0f82723 Binary files /dev/null and b/content/people/omar_abdulaziz/omar_abdulaziz.jpg differ diff --git a/content/people/omar_kassem/index.md b/content/people/omar_kassem/index.md new file mode 100644 index 0000000..4fa5421 --- /dev/null +++ b/content/people/omar_kassem/index.md @@ -0,0 +1,25 @@ +--- +title: Omar Kassem +weight: 4 +description: Development Team +taxonomies: + people: [omar_kassem] + memberships: [team] +extra: + imgPath: omar_kassem.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/omar-kassem/, + github: https://github.com/0oM4R, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/omar_kassem/omar_kassem.jpg b/content/people/omar_kassem/omar_kassem.jpg new file mode 100644 index 0000000..3d083f0 Binary files /dev/null and b/content/people/omar_kassem/omar_kassem.jpg differ diff --git a/content/people/owen_kemp/index.md b/content/people/owen_kemp/index.md new file mode 100644 index 0000000..bc88933 --- /dev/null +++ b/content/people/owen_kemp/index.md @@ -0,0 +1,28 @@ +--- +title: Owen Kemp +weight: 1 +description: Co-Founder +taxonomies: + people: [owen_kemp] + memberships: [team] +extra: + imgPath: owen_kemp.jpeg + organizations: [threefold_tech] + countries: [Austria] + cities: [Vienna] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/owen-kemp-b6b5a113/, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/owen_kemp/owen_kemp.jpeg b/content/people/owen_kemp/owen_kemp.jpeg new file mode 100644 index 0000000..597d0d3 Binary files /dev/null and b/content/people/owen_kemp/owen_kemp.jpeg differ diff --git a/content/people/people.png b/content/people/people.png new file mode 100644 index 0000000..eb5cd62 Binary files /dev/null and b/content/people/people.png differ diff --git a/content/people/peter_nashaat/index.md b/content/people/peter_nashaat/index.md new file mode 100644 index 0000000..044a035 --- /dev/null +++ b/content/people/peter_nashaat/index.md @@ -0,0 +1,25 @@ +--- +title: Peter Nashaat +weight: 4 +description: DevOps Team +taxonomies: + people: [peter_nashaat] + memberships: [team] +extra: + imgPath: peter_nashaat.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/peter-nashaat-33966831/, + github: https://github.com/PeterNashaat, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/peter_nashaat/peter_nashaat.jpg b/content/people/peter_nashaat/peter_nashaat.jpg new file mode 100644 index 0000000..03cbd05 Binary files /dev/null and b/content/people/peter_nashaat/peter_nashaat.jpg differ diff --git a/content/people/peter_van_der_henst/index.md b/content/people/peter_van_der_henst/index.md new file mode 100644 index 0000000..3c876f8 --- /dev/null +++ b/content/people/peter_van_der_henst/index.md @@ -0,0 +1,24 @@ +--- +title: Peter van der Henst +weight: 1 +description: CFO, TF9 +taxonomies: + people: [peter_van_der_henst] + memberships: [team] +extra: + imgPath: peter_van_der_henst.png + organizations: [threefold_tech] + countries: [Belgium] + cities: [] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/petervanderhenst/, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/peter_van_der_henst/peter_van_der_henst.png b/content/people/peter_van_der_henst/peter_van_der_henst.png new file mode 100644 index 0000000..97d4ecb Binary files /dev/null and b/content/people/peter_van_der_henst/peter_van_der_henst.png differ diff --git a/content/people/rafik_magdy/index.md b/content/people/rafik_magdy/index.md new file mode 100644 index 0000000..3ef21e1 --- /dev/null +++ b/content/people/rafik_magdy/index.md @@ -0,0 +1,24 @@ +--- +title: Rafik Magdy +weight: 2 +description: Accounting Manager +taxonomies: + people: [rafik_magdy] + memberships: [team] +extra: + imgPath: rafik_magdy.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/rafik-magdy-morcos-5693311b0/ + } +--- + + \ No newline at end of file diff --git a/content/people/rafik_magdy/rafik_magdy.jpg b/content/people/rafik_magdy/rafik_magdy.jpg new file mode 100644 index 0000000..80e79a2 Binary files /dev/null and b/content/people/rafik_magdy/rafik_magdy.jpg differ diff --git a/content/people/ramez_saeed/index.md b/content/people/ramez_saeed/index.md new file mode 100644 index 0000000..ba37039 --- /dev/null +++ b/content/people/ramez_saeed/index.md @@ -0,0 +1,26 @@ +--- +title: Ramez Saeed +weight: 4 +description: Quality & Operations Team Lead +taxonomies: + people: [ramez_saeed] + memberships: [team] +extra: + imgPath: ramez_saeed.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/ramez-saeed-a9801819/, + github: https://github.com/ramezsaeed, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/ramez_saeed/ramez_saeed.jpg b/content/people/ramez_saeed/ramez_saeed.jpg new file mode 100644 index 0000000..0dd4155 Binary files /dev/null and b/content/people/ramez_saeed/ramez_saeed.jpg differ diff --git a/content/people/rawda_gastan/index.md b/content/people/rawda_gastan/index.md new file mode 100644 index 0000000..436c974 --- /dev/null +++ b/content/people/rawda_gastan/index.md @@ -0,0 +1,25 @@ +--- +title: Rawda Gastan +weight: 4 +description: Development Team +taxonomies: + people: [rawda_gastan] + memberships: [team] +extra: + imgPath: rawda_gastan.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/rawda-gastan-82a501173, + github: https://github.com/rawdaGastan, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/rawda_gastan/rawda_gastan.jpg b/content/people/rawda_gastan/rawda_gastan.jpg new file mode 100644 index 0000000..6358d1c Binary files /dev/null and b/content/people/rawda_gastan/rawda_gastan.jpg differ diff --git a/content/people/sabrina_sadik/index.md b/content/people/sabrina_sadik/index.md new file mode 100644 index 0000000..6dbfbd9 --- /dev/null +++ b/content/people/sabrina_sadik/index.md @@ -0,0 +1,25 @@ +--- +title: Sabrina Sadik +weight: 2 +description: Operations Lead +taxonomies: + people: [sabrina_sadik] + memberships: [team] +extra: + imgPath: sabrina_sadik.jpeg + organizations: [threefold_foundation, threefold_tech] + countries: [Belgium] + cities: [Lochristi] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/sabrina-sadik-449758132/, + github: https://github.com/sabrinasadik, + websites: https://threefold.io/, https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/sabrina_sadik/sabrina_sadik.jpeg b/content/people/sabrina_sadik/sabrina_sadik.jpeg new file mode 100644 index 0000000..0496a74 Binary files /dev/null and b/content/people/sabrina_sadik/sabrina_sadik.jpeg differ diff --git a/content/people/sacha_obeegadoo/index.md b/content/people/sacha_obeegadoo/index.md new file mode 100644 index 0000000..257956f --- /dev/null +++ b/content/people/sacha_obeegadoo/index.md @@ -0,0 +1,25 @@ +--- +title: Sacha Obeegadoo +weight: 1 +description: Business Development & Community +taxonomies: + people: [sacha_obeegadoo] + memberships: [team] +extra: + imgPath: sacha_obeegadoo.jpg + organizations: [threefold_foundation, twin, aci] + countries: [Nomad] + cities: [Nomad] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/sachaobeegadoo/, + github: https://github.com/Sacha96, + websites: https://threefold.io/, + } +--- + + \ No newline at end of file diff --git a/content/people/sacha_obeegadoo/sacha_obeegadoo.jpg b/content/people/sacha_obeegadoo/sacha_obeegadoo.jpg new file mode 100644 index 0000000..5629ab9 Binary files /dev/null and b/content/people/sacha_obeegadoo/sacha_obeegadoo.jpg differ diff --git a/content/people/sam_taggart/index.md b/content/people/sam_taggart/index.md new file mode 100644 index 0000000..b341892 --- /dev/null +++ b/content/people/sam_taggart/index.md @@ -0,0 +1,29 @@ +--- +title: Sam Taggart +weight: 2 +description: Communication & Community +taxonomies: + + people: [sam_taggart] + memberships: [team] + +extra: + + imgPath: sam_taggart.jpg + organizations: [threefold_foundation, twin, aci] + countries: [Turkey, USA] + cities: [Akyaka, New York, Philadelphia] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/samtaggart/, + github: https://github.com/samtaggart, + websites: https://threefold.io/, + } + +--- + + \ No newline at end of file diff --git a/content/people/sam_taggart/sam_taggart.jpg b/content/people/sam_taggart/sam_taggart.jpg new file mode 100644 index 0000000..d985646 Binary files /dev/null and b/content/people/sam_taggart/sam_taggart.jpg differ diff --git a/content/people/samar_adel/index.md b/content/people/samar_adel/index.md new file mode 100644 index 0000000..54cf9bc --- /dev/null +++ b/content/people/samar_adel/index.md @@ -0,0 +1,25 @@ +--- +title: Samar Adel +weight: 2 +description: Web Developer +taxonomies: + people: [samar_adel] + memberships: [team] +extra: + imgPath: samar_adel.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/samaradel/, + github: https://github.com/samaradel, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/samar_adel/samar_adel.jpg b/content/people/samar_adel/samar_adel.jpg new file mode 100644 index 0000000..4325ffb Binary files /dev/null and b/content/people/samar_adel/samar_adel.jpg differ diff --git a/content/people/sameh_abouelsaad/index.md b/content/people/sameh_abouelsaad/index.md new file mode 100644 index 0000000..8ed6564 --- /dev/null +++ b/content/people/sameh_abouelsaad/index.md @@ -0,0 +1,25 @@ +--- +title: Sameh Abouelsaad +weight: 5 +description: Development Team +taxonomies: + people: [sameh_abouelsaad] + memberships: [team] +extra: + imgPath: sameh_abouelsaad.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/sameh-farouk-software-developer/, + github: https://github.com/sameh-farouk, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/sameh_abouelsaad/sameh_abouelsaad.jpg b/content/people/sameh_abouelsaad/sameh_abouelsaad.jpg new file mode 100644 index 0000000..8c6b8b3 Binary files /dev/null and b/content/people/sameh_abouelsaad/sameh_abouelsaad.jpg differ diff --git a/content/people/samir_hosny/index.md b/content/people/samir_hosny/index.md new file mode 100644 index 0000000..873ce4d --- /dev/null +++ b/content/people/samir_hosny/index.md @@ -0,0 +1,25 @@ +--- +title: Samir Hosny +weight: 3 +description: DevOps Team +taxonomies: + people: [samir_hosny] + memberships: [team] +extra: + imgPath: samir_hosny.jpg + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/samir-hosny-58b81394/, + github: https://github.com/hossnys, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/samir_hosny/samir_hosny.jpg b/content/people/samir_hosny/samir_hosny.jpg new file mode 100644 index 0000000..08a2417 Binary files /dev/null and b/content/people/samir_hosny/samir_hosny.jpg differ diff --git a/content/people/sasha_astiadi/index.md b/content/people/sasha_astiadi/index.md new file mode 100644 index 0000000..8bae315 --- /dev/null +++ b/content/people/sasha_astiadi/index.md @@ -0,0 +1,25 @@ +--- +title: Sasha Astiadi +weight: 2 +description: Web Operations +taxonomies: + people: [sasha_astiadi] + memberships: [team] +extra: + imgPath: sasha_astiadi.png + organizations: [threefold_foundation, threefold_tech] + countries: [Indonesia, Spain, Germany] + cities: [Bali, Barcelona, Berlin] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/sastiadi, + github: https://github.com/sasha-astiadi, + websites: https://threefold.io/, https://threefold.tech, https://sashaastiadi.com/, + } +--- + + \ No newline at end of file diff --git a/content/people/sasha_astiadi/sasha_astiadi.png b/content/people/sasha_astiadi/sasha_astiadi.png new file mode 100644 index 0000000..4662daf Binary files /dev/null and b/content/people/sasha_astiadi/sasha_astiadi.png differ diff --git a/content/people/scott_yeager/index.md b/content/people/scott_yeager/index.md new file mode 100644 index 0000000..d693c4c --- /dev/null +++ b/content/people/scott_yeager/index.md @@ -0,0 +1,25 @@ +--- +title: Scott Yeager +weight: 2 +description: Communication & Community +taxonomies: + people: [scott_yeager] + memberships: [team] +extra: + imgPath: scott_yeager.jpg + organizations: [threefold_foundation] + countries: [United States] + cities: [Eugene] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/scottmyeager/, + github: https://github.com/scottyeager, + websites: https://threefold.io, + } +--- + + \ No newline at end of file diff --git a/content/people/scott_yeager/scott_yeager.jpg b/content/people/scott_yeager/scott_yeager.jpg new file mode 100644 index 0000000..dee6bc2 Binary files /dev/null and b/content/people/scott_yeager/scott_yeager.jpg differ diff --git a/content/people/shangreiyo_awungshi/index.md b/content/people/shangreiyo_awungshi/index.md new file mode 100644 index 0000000..541273d --- /dev/null +++ b/content/people/shangreiyo_awungshi/index.md @@ -0,0 +1,24 @@ +--- +title: Shangreiyo Awungshi +weight: 3 +description: Support Team +taxonomies: + people: [shangreiyo_awungshi] + memberships: [team] +extra: + imgPath: shangreiyo_awungshi.jpg + organizations: [threefold_tech] + countries: [] + cities: [] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/shangreiyo-awungshi-918410224/, + websites: https://threefold.io/, + } +--- + + \ No newline at end of file diff --git a/content/people/shangreiyo_awungshi/shangreiyo_awungshi.jpg b/content/people/shangreiyo_awungshi/shangreiyo_awungshi.jpg new file mode 100644 index 0000000..ad041ea Binary files /dev/null and b/content/people/shangreiyo_awungshi/shangreiyo_awungshi.jpg differ diff --git a/content/people/sherwin_tully/index.md b/content/people/sherwin_tully/index.md new file mode 100644 index 0000000..ac51a69 --- /dev/null +++ b/content/people/sherwin_tully/index.md @@ -0,0 +1,25 @@ +--- +title: Sherwin Tully +weight: 3 +description: Support Team Lead +taxonomies: + people: [sherwin_tully] + memberships: [team] +extra: + imgPath: sherwin_tully.jpg + organizations: [threefold_tech] + countries: [India] + cities: [Bangalore] + private: 0 + socialLinks: { + websites: https://threefold.io/, + } +--- + + \ No newline at end of file diff --git a/content/people/sherwin_tully/sherwin_tully.jpg b/content/people/sherwin_tully/sherwin_tully.jpg new file mode 100644 index 0000000..6f9ee06 Binary files /dev/null and b/content/people/sherwin_tully/sherwin_tully.jpg differ diff --git a/content/people/tf.png b/content/people/tf.png new file mode 100644 index 0000000..0ccade5 Binary files /dev/null and b/content/people/tf.png differ diff --git a/content/people/threefold_community/index.md b/content/people/threefold_community/index.md new file mode 100644 index 0000000..0cf7b54 --- /dev/null +++ b/content/people/threefold_community/index.md @@ -0,0 +1,20 @@ +--- +title: ThreeFold Community +weight: 200 +description: Together we build! +taxonomies: + people: [threefold_community] + memberships: [team] +extra: + imgPath: threefold_community.png + organizations: [threefold_foundation] + countries: [] + cities: [] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/company/threefold-io, + github: https://github.com/threefoldfoundation/, + websites: https://threefold.io, + } +--- +The ThreeFold community is made up of passionate individuals from all corners of the globe participating in the expansion and evolution of the ThreeFold Internet and project. diff --git a/content/people/threefold_community/threefold_community.png b/content/people/threefold_community/threefold_community.png new file mode 100644 index 0000000..8cbc34a Binary files /dev/null and b/content/people/threefold_community/threefold_community.png differ diff --git a/content/people/timur_gordon/index.md b/content/people/timur_gordon/index.md new file mode 100644 index 0000000..c62c2e7 --- /dev/null +++ b/content/people/timur_gordon/index.md @@ -0,0 +1,25 @@ +--- +title: Timur Gordon +weight: 2 +description: Development Team +taxonomies: + people: [timur_gordon] + memberships: [team] +extra: + imgPath: timur_gordon.jpg + organizations: [threefold_foundation] + countries: [Turkey, USA] + cities: [Istanbul, Zanzibar] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/timur-gordon/, + github: https://github.com/timurgordon, + websites: https://threefold.io, + } +--- + + \ No newline at end of file diff --git a/content/people/timur_gordon/timur_gordon.jpg b/content/people/timur_gordon/timur_gordon.jpg new file mode 100644 index 0000000..bd65706 Binary files /dev/null and b/content/people/timur_gordon/timur_gordon.jpg differ diff --git a/content/people/zainab_elgohary/index.md b/content/people/zainab_elgohary/index.md new file mode 100644 index 0000000..c53ee45 --- /dev/null +++ b/content/people/zainab_elgohary/index.md @@ -0,0 +1,25 @@ +--- +title: Zainab Elgohary +weight: 4 +description: Development Team +taxonomies: + people: [zainab_elgohary] + memberships: [team] +extra: + imgPath: zainab_elgohary.png + organizations: [threefold_tech] + countries: [Egypt] + cities: [Cairo] + private: 0 + socialLinks: { + LinkedIn: https://www.linkedin.com/in/zaelgohary/, + github: https://github.com/zaelgohary, + websites: https://threefold.tech, + } +--- + + \ No newline at end of file diff --git a/content/people/zainab_elgohary/zainab_elgohary.png b/content/people/zainab_elgohary/zainab_elgohary.png new file mode 100644 index 0000000..e001205 Binary files /dev/null and b/content/people/zainab_elgohary/zainab_elgohary.png differ diff --git a/content/signup/index.md b/content/signup/index.md new file mode 100644 index 0000000..a63feab --- /dev/null +++ b/content/signup/index.md @@ -0,0 +1,58 @@ +--- +title: "Sign Up" +description: "Take actions and become a part of a pioneering Web4 movement with ThreeFold on 12.12.2024" # quotation marks to allow colons where used +template: "layouts/signup.html" +insert_anchor_links: "left" +extra: + author: ThreeFold + imgPath: tf.png +--- + + + + + + + + + + + \ No newline at end of file diff --git a/content/signup/tf.png b/content/signup/tf.png new file mode 100644 index 0000000..0ccade5 Binary files /dev/null and b/content/signup/tf.png differ diff --git a/content/solutions/index.md b/content/solutions/index.md new file mode 100644 index 0000000..74f5d8a --- /dev/null +++ b/content/solutions/index.md @@ -0,0 +1,58 @@ +--- +title: "Solutions" +description: "ThreeFold's Solutions." # quotation marks to allow colons where used +template: "layouts/solutions.html" +insert_anchor_links: "left" +extra: + author: Your name here + imgPath: about/about_hero.png +--- + + + + + + + + + + + \ No newline at end of file diff --git a/content/solutions/tf.png b/content/solutions/tf.png new file mode 100644 index 0000000..0ccade5 Binary files /dev/null and b/content/solutions/tf.png differ diff --git a/content/what/index.md b/content/what/index.md new file mode 100644 index 0000000..86f5b0b --- /dev/null +++ b/content/what/index.md @@ -0,0 +1,58 @@ +--- +title: "What" +description: "TF offers a secure, sovereign infrastructure layer for Web4, delivering unparalleled scalability, incorruptible and permanent data storage, AI and Web2/Web3/Edge compatibility, and 100% uptime for a resilient digital future." # quotation marks to allow colons where used +template: "layouts/what.html" +insert_anchor_links: "left" +extra: + author: ThreeFold + imgPath: tf.png +--- + + + + + + + + + + + \ No newline at end of file diff --git a/content/what/tf.png b/content/what/tf.png new file mode 100644 index 0000000..0ccade5 Binary files /dev/null and b/content/what/tf.png differ diff --git a/content/why/about_hero.png b/content/why/about_hero.png new file mode 100644 index 0000000..ad28e13 Binary files /dev/null and b/content/why/about_hero.png differ diff --git a/content/why/index.md b/content/why/index.md new file mode 100644 index 0000000..57e7935 --- /dev/null +++ b/content/why/index.md @@ -0,0 +1,59 @@ +--- +title: "ThreeFold's Vision and Mission" +description: "Our mission is to empower individuals and organizations with secure, private, and autonomous access to computing resources, ensuring fair cloud access for everyone." # quotation marks to allow colons where used +template: "layouts/why.html" +insert_anchor_links: "left" +extra: + author: ThreeFold + imgPath: tf.png +--- + + + + + + + + + + + + \ No newline at end of file diff --git a/content/why/tf.png b/content/why/tf.png new file mode 100644 index 0000000..0ccade5 Binary files /dev/null and b/content/why/tf.png differ diff --git a/css/admonition.css b/css/admonition.css new file mode 100644 index 0000000..de7d76e --- /dev/null +++ b/css/admonition.css @@ -0,0 +1,361 @@ +:root { + --md-admonition-icon--note: url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--abstract: url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--info: url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--tip: url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--success: url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--question: url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--warning: url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--failure: url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--danger: url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--bug: url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--example: url("data:image/svg+xml;charset=utf-8,"); + --md-admonition-icon--quote: url("data:image/svg+xml;charset=utf-8,"); + --md-details-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23000000'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z'/%3E%3C/svg%3E"); +} + +:is(.admonition) { + display: flow-root; + margin: 1.5625em 0; + padding: 0 1.2rem; + color: var(--fg); + page-break-inside: avoid; + background-color: var(--bg); + border: 0 solid black; + border-inline-start-width: 0.4rem; + border-radius: 0.2rem; + box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.05), 0 0 0.1rem rgba(0, 0, 0, 0.1); +} + +.admonition p { + display: block; + margin-block-start: 1em; + margin-block-end: 1em; + margin-inline-start: 0px; + margin-inline-end: 0px; + font-size: 0.8rem; +} + +@media print { + :is(.admonition) { + box-shadow: none; + } +} +:is(.admonition) > * { + box-sizing: border-box; +} +:is(.admonition) :is(.admonition) { + margin-top: 1em; + margin-bottom: 1em; +} +:is(.admonition) > .tabbed-set:only-child { + margin-top: 0; +} +html :is(.admonition) > :last-child { + margin-bottom: 1.2rem; +} + +:is(.admonition-title, summary) { + position: relative; + margin-block: 0; + margin-inline: -1.6rem -1.2rem; + padding-block: 0.8rem; + padding-inline: 4rem 1.2rem; + font-weight: 700; + background-color: rgba(68, 138, 255, 0.1); + border: 0 solid #448aff; + border-inline-start-width: 0.4rem; + border-start-start-radius: 0.2rem; + display: flex; +} +:is(.admonition-title, summary) > p { + margin: 0; +} +html :is(.admonition-title, summary):last-child { + margin-bottom: 0; +} +:is(.admonition-title, summary)::before { + position: absolute; + top: 0.625em; + inset-inline-start: 1.2rem; + width: 1.4rem; + height: 1.4rem; + background-color: #448aff; + mask-image: url('data:image/svg+xml;charset=utf-8,'); + -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,'); + mask-repeat: no-repeat; + -webkit-mask-repeat: no-repeat; + mask-size: contain; + -webkit-mask-size: contain; + content: ""; +} + +:is(.admonition):is(.note) { + border-color: #448aff; +} + +:is(.note) > :is(.admonition-title, summary) { + background-color: rgba(68, 138, 255, 0.1); + border-color: #448aff; +} +:is(.note) > :is(.admonition-title, summary)::before { + background-color: #448aff; + mask-image: var(--md-admonition-icon--note); + -webkit-mask-image: var(--md-admonition-icon--note); + mask-repeat: no-repeat; + -webkit-mask-repeat: no-repeat; + mask-size: contain; + -webkit-mask-repeat: no-repeat; +} + +:is(.admonition):is(.abstract, .summary, .tldr) { + border-color: #00b0ff; +} + +:is(.abstract, .summary, .tldr) > :is(.admonition-title, summary) { + background-color: rgba(0, 176, 255, 0.1); + border-color: #00b0ff; +} +:is(.abstract, .summary, .tldr) > :is(.admonition-title, summary)::before { + background-color: #00b0ff; + mask-image: var(--md-admonition-icon--abstract); + -webkit-mask-image: var(--md-admonition-icon--abstract); + mask-repeat: no-repeat; + -webkit-mask-repeat: no-repeat; + mask-size: contain; + -webkit-mask-repeat: no-repeat; +} + +:is(.admonition):is(.info, .todo) { + border-color: #00b8d4; +} + +:is(.info, .todo) > :is(.admonition-title, summary) { + background-color: rgba(0, 184, 212, 0.1); + border-color: #00b8d4; +} +:is(.info, .todo) > :is(.admonition-title, summary)::before { + background-color: #00b8d4; + mask-image: var(--md-admonition-icon--info); + -webkit-mask-image: var(--md-admonition-icon--info); + mask-repeat: no-repeat; + -webkit-mask-repeat: no-repeat; + mask-size: contain; + -webkit-mask-repeat: no-repeat; +} + +:is(.admonition):is(.tip, .hint, .important) { + border-color: #00bfa5; +} + +:is(.tip, .hint, .important) > :is(.admonition-title, summary) { + background-color: rgba(0, 191, 165, 0.1); + border-color: #00bfa5; +} +:is(.tip, .hint, .important) > :is(.admonition-title, summary)::before { + background-color: #00bfa5; + mask-image: var(--md-admonition-icon--tip); + -webkit-mask-image: var(--md-admonition-icon--tip); + mask-repeat: no-repeat; + -webkit-mask-repeat: no-repeat; + mask-size: contain; + -webkit-mask-repeat: no-repeat; +} + +:is(.admonition):is(.success, .check, .done) { + border-color: #00c853; +} + +:is(.success, .check, .done) > :is(.admonition-title, summary) { + background-color: rgba(0, 200, 83, 0.1); + border-color: #00c853; +} +:is(.success, .check, .done) > :is(.admonition-title, summary)::before { + background-color: #00c853; + mask-image: var(--md-admonition-icon--success); + -webkit-mask-image: var(--md-admonition-icon--success); + mask-repeat: no-repeat; + -webkit-mask-repeat: no-repeat; + mask-size: contain; + -webkit-mask-repeat: no-repeat; +} + +:is(.admonition):is(.question, .help, .faq) { + border-color: #64dd17; +} + +:is(.question, .help, .faq) > :is(.admonition-title, summary) { + background-color: rgba(100, 221, 23, 0.1); + border-color: #64dd17; +} +:is(.question, .help, .faq) > :is(.admonition-title, summary)::before { + background-color: #64dd17; + mask-image: var(--md-admonition-icon--question); + -webkit-mask-image: var(--md-admonition-icon--question); + mask-repeat: no-repeat; + -webkit-mask-repeat: no-repeat; + mask-size: contain; + -webkit-mask-repeat: no-repeat; +} + +:is(.admonition):is(.warning, .caution, .attention) { + border-color: #ff9100; +} + +:is(.warning, .caution, .attention) > :is(.admonition-title, summary) { + background-color: rgba(255, 145, 0, 0.1); + border-color: #ff9100; +} +:is(.warning, .caution, .attention) > :is(.admonition-title, summary)::before { + background-color: #ff9100; + mask-image: var(--md-admonition-icon--warning); + -webkit-mask-image: var(--md-admonition-icon--warning); + mask-repeat: no-repeat; + -webkit-mask-repeat: no-repeat; + mask-size: contain; + -webkit-mask-repeat: no-repeat; +} + +:is(.admonition):is(.failure, .fail, .missing) { + border-color: #ff5252; +} + +:is(.failure, .fail, .missing) > :is(.admonition-title, summary) { + background-color: rgba(255, 82, 82, 0.1); + border-color: #ff5252; +} +:is(.failure, .fail, .missing) > :is(.admonition-title, summary)::before { + background-color: #ff5252; + mask-image: var(--md-admonition-icon--failure); + -webkit-mask-image: var(--md-admonition-icon--failure); + mask-repeat: no-repeat; + -webkit-mask-repeat: no-repeat; + mask-size: contain; + -webkit-mask-repeat: no-repeat; +} + +:is(.admonition):is(.danger, .error) { + border-color: #ff1744; +} + +:is(.danger, .error) > :is(.admonition-title, summary) { + background-color: rgba(255, 23, 68, 0.1); + border-color: #ff1744; +} +:is(.danger, .error) > :is(.admonition-title, summary)::before { + background-color: #ff1744; + mask-image: var(--md-admonition-icon--danger); + -webkit-mask-image: var(--md-admonition-icon--danger); + mask-repeat: no-repeat; + -webkit-mask-repeat: no-repeat; + mask-size: contain; + -webkit-mask-repeat: no-repeat; +} + +:is(.admonition):is(.bug) { + border-color: #f50057; +} + +:is(.bug) > :is(.admonition-title, summary) { + background-color: rgba(245, 0, 87, 0.1); + border-color: #f50057; +} +:is(.bug) > :is(.admonition-title, summary)::before { + background-color: #f50057; + mask-image: var(--md-admonition-icon--bug); + -webkit-mask-image: var(--md-admonition-icon--bug); + mask-repeat: no-repeat; + -webkit-mask-repeat: no-repeat; + mask-size: contain; + -webkit-mask-repeat: no-repeat; +} + +:is(.admonition):is(.example) { + border-color: #7c4dff; +} + +:is(.example) > :is(.admonition-title, summary) { + background-color: rgba(124, 77, 255, 0.1); + border-color: #7c4dff; +} +:is(.example) > :is(.admonition-title, summary)::before { + background-color: #7c4dff; + mask-image: var(--md-admonition-icon--example); + -webkit-mask-image: var(--md-admonition-icon--example); + mask-repeat: no-repeat; + -webkit-mask-repeat: no-repeat; + mask-size: contain; + -webkit-mask-repeat: no-repeat; +} + +:is(.admonition):is(.quote, .cite) { + border-color: #9e9e9e; +} + +:is(.quote, .cite) > :is(.admonition-title, summary) { + background-color: rgba(158, 158, 158, 0.1); + border-color: #9e9e9e; +} +:is(.quote, .cite) > :is(.admonition-title, summary)::before { + background-color: #9e9e9e; + mask-image: var(--md-admonition-icon--quote); + -webkit-mask-image: var(--md-admonition-icon--quote); + mask-repeat: no-repeat; + -webkit-mask-repeat: no-repeat; + mask-size: contain; + -webkit-mask-repeat: no-repeat; +} + +.navy :is(.admonition) { + background-color: var(--sidebar-bg); +} + +.ayu :is(.admonition), +.coal :is(.admonition) { + background-color: var(--theme-hover); +} + +.rust :is(.admonition) { + background-color: var(--sidebar-bg); + color: var(--sidebar-fg); +} + +:is(.admonition-title) { + font-feature-settings: "kern", "liga"; + font-weight: 600; + font-size: 0.84rem; + border: none; + padding: 10px 50px; +} + +:is(summary)::after { + position: absolute; + top: 0.625em; + width: 1.4rem; + height: 1.4rem; + mask-image: url('data:image/svg+xml;charset=utf-8,'); + -webkit-mask-image: url('data:image/svg+xml;charset=utf-8,'); + mask-repeat: no-repeat; + -webkit-mask-repeat: no-repeat; + mask-size: contain; + -webkit-mask-size: contain; + content: ""; +} + +:is(summary)::after { + background-color: black; + mask-image: var(--md-details-icon); + -webkit-mask-image: var(--md-details-icon); + mask-repeat: no-repeat; + -webkit-mask-repeat: no-repeat; + mask-size: contain; + -webkit-mask-repeat: no-repeat; + position: absolute; + transform: rotate(-90deg); + transition: transform 0.25s; + right: 0.4rem; +} + +details[open] > summary::after { + transform: rotate(0deg); +} diff --git a/css/code.css b/css/code.css new file mode 100644 index 0000000..60120a3 --- /dev/null +++ b/css/code.css @@ -0,0 +1,94 @@ +code.language-html, +code.language-css, +code.language-md, +code.language-cmd, +code.language-bash, +code.language-text, +code.language-js, +span.o, +span.nx { + color: rgb(255, 255, 255); + line-height: 1.4; +} +span.c { + color: hsl(120, 100%, 20%); +} + +.active { + color: #2E83FF; +} + +span.p, +span.s1, +span.s2, +span.nt { + color: hsl(40, 100%, 30%); +} + +span.gs, +span.gh, +span.ge { + color: hsl(208, 100%, 50%); +} + +span.gs { + font-weight: bold; +} + +span.ge { + font-style: italic; +} + +pre, +code { + @apply font-mono; +} + +code { + background-color: hsl(0, 0%, 98%); + border-radius: 3px; + color: hsl(120, 100%, 20%); + font-size: 85%; +} + +pre { + margin: 0; + margin: 0; + padding: 1rem; + overflow: scroll; +} + +pre code { + background-color: transparent; + color: inherit; + font-size: 100%; + padding: 0; +} + +.highlight { + background-color: transparent; + border-radius: 3px; + margin: 0 0 0.5rem; + padding: 0; + + & pre { + margin-bottom: 0; + overflow-x: auto; + } + + & .lineno { + color: hsla(0, 0%, 67%, 0.72); + display: inline-block; /* Ensures the null space also isn't selectable */ + padding: 0 0.75rem 0 0.25rem; + /* Make sure numbers aren't selectable */ + } +} + +/* TODO: dark theme for future +@media (prefers-color-scheme: dark) { + code { + color: #fff; + background: hsl(200, 63%, 15%); + } +} +*/ diff --git a/css/ffoxobliq.css b/css/ffoxobliq.css new file mode 100644 index 0000000..41db96f --- /dev/null +++ b/css/ffoxobliq.css @@ -0,0 +1,9 @@ +/* === handling obliquing issues in Firefox */ + +@supports (-moz-appearance: none) { + .italic, i, cite, em, var, address, dfn, h3, .h3, h5, .h5 { + font-style: oblique 8deg; + } +} + +/* === end, handling obliquing issues in Firefox */ \ No newline at end of file diff --git a/css/index.css b/css/index.css new file mode 100644 index 0000000..0940b5a --- /dev/null +++ b/css/index.css @@ -0,0 +1,678 @@ +/*! purgecss start ignore */ +/* @import "nav.css"; */ +@import "code.css"; +/*! purgecss end ignore */ + +@import "tailwindcss/base"; +@import "layout.css"; +@import "tailwindcss/components"; +@import "admonition.css"; +@import "tailwindcss/utilities"; +@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap'); + +@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Raleway:ital,wght@0,100..900;1,100..900&display=swap'); + +.dashboard:hover { + + background: #74ddc3 !important; +} + + +/* Custom CSS for header partial */ +.backdrop-blur { + -webkit-backdrop-filter: blur(40px); +} + +* { + font-family: "Inter", sans-serif; +} + +.bg-semi-white { + background-color: rgba(255, 255, 255, 0.75); +} + +.bg-dark-gradient { + background: rgba(16,16,16,1); + background: radial-gradient(circle, rgba(16,16,16,1) 0%, rgb(24, 24, 24) 50%, rgba(16,16,16,1) 100%); +} + +.bg-black1 { + background-color: rgba(16,16,16,1); +} + +.bg-transparent { + background-color: transparent; +} + + + +/* Custom css allowing image styling in markdown */ +img[src*="#mx-auto"] { + margin: auto; +} + +img[src*="#small"] { + width: 68px; +} + +img[src*="#medium"] { + width: 400px; + margin: auto; +} + +img[src*="#logo"] { + max-width: min(250px, 100%); + margin: auto; +} + +img[src*="#icon"] { + width: 200px; + margin: auto; +} + +img[src*="#social"] { + width: 60px; + margin: auto; +} + +img[src*="#semilarge"] { + width: 500px; + margin: auto; +} + +img[src*="#large"] { + width: 700px; + margin: auto; +} + +img[src*="#tft_img"] { + width: 100px; + margin: auto; +} + +img[src*="#absolute"] { + position: absolute; + left: 0; + top: 0; +} + +a img:hover{ + opacity: 0.5 !important; + cursor: pointer; +} + +/* new theme */ + +.dropdown { + + background-color: rgb(0 0 0 / 50%); + @apply + lg:text-lg + px-6 + py-1 + lg:mr-5 + my-3 + shadow + border-black + capitalize + leading-6 + border-transparent + flex + flex-col + border-2 + w-full + items-start + rounded + transition + hover:border-stone-700 + /* hover:bg-stone-100 */ + p-2 + text-left + text-white +} + +.dropdown a{ + @apply + px-0 + text-white +} + +.subtitle { + background-color:#58CF77 !important; + color: #fff !important; + text-transform: uppercase; + /* font-weight: 600 !important; */ +} + +.green{ + + background-color:#58CF77 !important; + color: #fff !important; + +} + +.green:hover { +background-color:#7ad993 !important; +} +.green a{ + color: #fff !important; +} + +.green:hover { +background-color:#7ad993 !important; +} + +.green_text{ +color: #58CF77 ; +} + + + .blue_b{ + + background-color:#2E83FF !important; + color: #fff !important; + +} +.blue_b a{ + color: #fff !important; +} + +.blue_b:hover { +background-color:#5596f5 !important; +} + + +.footer-cust a{ + color: #999; + cursor: pointer; +} + +.footer-cust a:hover { + color: #c7c7c7; +} + +.footer-cust h6{ + margin-bottom: 15px; +} + +.logo_size{ + width:200px +} + + +.blue{ + color:#2E83FF +} + +.nav p > a { + display: flex; + width: 100%; + flex-direction: column; + align-items: flex-start; + text-align: left; + line-height: 1.5rem; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; + border-radius: 0.25rem; + border-width: 2px; + border-color: transparent; + padding: 0.5rem; + margin-top: 0.75rem; + margin-bottom: 0.75rem; + display: inline-block; + border-width: 2px; + border-color: rgb(0 0 0 / var(--tw-border-opacity)); + padding-left: 3rem; + padding-right: 3rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + text-transform: capitalize; + box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); +} + +.nav p > a:hover { + --tw-border-opacity: 1; + border-color: rgb(231 229 228 / var(--tw-border-opacity)); + --tw-bg-opacity: 1; + background-color: rgb(245 245 244 / var(--tw-bg-opacity)); +} + +.big_header{ + font-size: 6rem !important; + font-weight: 500 !important; +} + +.mycard{ + height: 300px !important; +} + + +.mypartners{ + height: 300px !important; + +} + +.key_card{ + + height: 250px; + +} + + +@layer components { + h1 { + @apply text-4xl lg:text-6xl font-normal; + color: #ffffff; + font-family: "Inter", sans-serif !important; + } + h2 { + @apply text-3xl lg:text-4xl my-4 font-normal leading-none; + color: #ffffff; + font-family: "Inter", sans-serif !important; + } + h2 strong { + @apply font-semibold; + } + h3 { + @apply text-2xl lg:text-3xl my-4 font-extralight; + color: #ffffff; + font-family: "Inter", sans-serif !important; + } + h3 strong { + @apply font-normal; + } + h4 { + @apply text-xl lg:text-2xl font-normal tracking-wider; + font-family: "Inter", sans-serif !important; + + } + h5 { + @apply text-lg my-1 tracking-normal font-medium; + font-family: "Inter", sans-serif !important; + color: #fff !important + } + h6 { + @apply text-md not-italic font-normal my-1; + font-family: "Inter", sans-serif !important; + } + p { + @apply text-lg; + color: #3d3d3d; + font-family: "Inter", sans-serif !important; + } + blockquote { + @apply border-l-4 border-gray-400 mx-2 my-2 p-2; + } + li { + @apply text-base lg:text-base font-normal; + } + li li { + @apply text-sm lg:text-sm font-light; + } + button { + @apply + inline-block + md:text-md + text-sm + lg:mr-3 + py-1 + my-2 + border + rounded + shadow + border-gray-400 + capitalize + bg-gray-200 + } + .my-header h4{ + color:#9f9f9f; + + } + + h3 a{ + color:#ffffff; + + } + + h3 a:hover{ + color:#b6b6b6; + + } + + + + + + .article h2{ + font-size: 2.25rem; + font-family: "Inter", sans-serif; + line-height: 1.5; + font-weight: 700; + color:#e2e2e2; + } + + .article h1{ + font-family: "Inter", sans-serif; + } + + } + .article p{ + font-size: 1.125rem; + font-family: "Inter", sans-serif; + line-height: 1.7; + color:#e2e2e2 + } + + .post-content-text a, .article a{ + color: #a5a5a5; + } + + .post-content-text a:hover, .article a:hover{ + color: #c6c9c8; + } + + .article li{ + font-size: 1.125rem; + font-family: "Inter", sans-serif; + line-height: 1.7; + color:#e2e2e2 + } + + .article h3{ + font-weight: 400; + + } + + .article h4{ + color: #fff !important; + + } + + .main-title { + font-family: "Inter", sans-serif; + } + + +/* button:hover :is(:where(a)) { + color: #5e5e5e; +} */ + +button :is(:where(p)) { + color: #ddd; + font-weight: 400; +} + +button a { + line-height: 1.3; + @apply + text-black + px-8 +} + +.long-text a{ + padding-left: 2rem; + padding-right: 2rem; + --tw-text-opacity: 1; + color: rgb(0 0 0 / var(--tw-text-opacity)); +} + +a { + border-width: 0px; +} + +header { + font-family: "Inter", sans-serif; +} + +.nav_btn { + margin: 0 !important; + border: none !important; + box-shadow: none !important; +} + +.quicklinks { + box-sizing: border-box; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + width: auto; + margin: 0 auto; + border-radius: 10px; + margin-top: 30px; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-bottom: 20px; +} +.quicklinks img { + height: auto; + max-width: 200px; + display: inline-block; + padding: 10px; + -webkit-filter: grayscale(100%); + filter: grayscale(100%); + position: relative; + + -webkit-transition: all 0.2s ease; + transition: all 0.2s ease; + opacity: 0.5; +} + +.quicklinks img:hover { + opacity: 1; + -webkit-transition: all 0.2s ease; + transition: all 0.2s ease; + -webkit-filter: grayscale(0%); + filter: grayscale(0%); +} + + +.banner { + width: 100%; + margin: 0; + padding: 120px 0; + text-align: center; + position: relative; + display: block; + color: #fff !important; + letter-spacing: 0.5px; + overflow: hidden; + background: #00838d; + transition: 1.5s; +} + +.header { + height: auto; + background: none; + padding: 200px 0; +} + +.banner h2, +.header h1 { + margin: auto; + color: #fff; + position: relative; + transition: 0.3s; + z-index: 1; + white-space: nowrap; +} + +.header h1 { + color: #000; + transition: none; +} + +.banner h2 svg { + font-size: 40px; + margin-left: 15px; + position: absolute; + top: 55%; + transform: translateY(-50%) scale(0.5); + opacity: 0; + transition: 0.3s; +} + +.banner .back { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + background-position: center; + background-size: cover; + filter: grayscale(1) contrast(1.4); + opacity: 0.25; + transition: 1.5s; +} + +.header .back { + filter: none; + opacity: 1; + background-position: center; + + background-size: cover; + background-repeat: no-repeat; +} + +.banner:hover { + background: #4b3a92; +} + +.header:hover { + background: none; +} + +.banner:hover h2 svg { + transform: translateY(-50%) scale(1); + opacity: 1; +} + +.banner:hover h2 { + padding-right: 40px; +} + +.header:hover h1 { + padding-right: 0; +} + +.banner:hover .back { + transform: scale(1.03); +} + +.header:hover .back { + transform: none; +} + +.my-test{ + font-family: "Inter", sans-serif; +} +.post-content-text .my-test { + font-family: "Inter", sans-serif; + line-height: 1.7; +} + +.post-content-text h2 { + font-family: "Inter", sans-serif; + line-height: 1.5; + font-size: 2.25rem; + font-weight: 700; +} +.container-fluid { + width: 100%; + /* padding-right: 15px; + padding-left: 15px; */ + margin-right: auto; + margin-left: auto; +} + +.zola-anchor { + display: none; +} +@media (min-width: 1024px){ + h2 { + font-size: 3.5rem; + } + +} + +@media (max-width: 1024px) { + + .mycard{ + height: auto !important; + } + +} + +@media (max-width: 640px) { + .banner h2 { + font: 600 7vw/10vw; + } + + .header h1 { + font-size: 35px; + } + + .banner h2 svg { + font-size: 30px; + } + .arrow img{ + -moz-transform:rotate(90deg); + -webkit-transform:rotate(90deg); + -ms-transform:rotate(90deg); + transform: rotate(90deg); + } + + .mycard{ + height: auto !important; + } +} + +@media (max-width: 480px) { + .banner, + .header { + padding: 80px 0; + } + + .article h2{ + font-size: 1.5rem; + } + + img[src*="#medium"] { + width: 250px; + margin: auto; + } + + img[src*="#sm_none"] { + display: none; + } + + .big_header{ + font-size: 4rem !important; + + } + + .mytest{ + height: auto; + } + + .card_h { + height: auto !important; + } + + .mycard{ + height: auto !important; + } + + .key_card{ + height: auto; + } + + .mypartners{ + height: auto; + + } + +} + diff --git a/css/layout.css b/css/layout.css new file mode 100644 index 0000000..8ba4596 --- /dev/null +++ b/css/layout.css @@ -0,0 +1,471 @@ +main { + @apply pt-0; +} + +article p{ + @apply text-lg; +} +/* +html, body { + @apply dark:bg-black; + +body { + @apply font-serif dark:text-gray-200; +} +*/ + +p { + /* for handling Markdown-created

and

  • */ + @apply text-lg; +} + +pre, +code { + font-feature-settings: normal; +} + +.navWhite, +.navWhite:visited { + @apply text-white; +} + +.navWhite:focus, +.navWhite:active { + @apply text-gray-400; +} + +.text-blue-light { + @apply text-gray-500; +} + + /*.text-blue-dark { + /* for dark mode + @apply text-blue-200; + +}*/ + +.text-shadow-titles { + text-shadow: 4px 4px 2px #000; +} + +.gradient-titles { + @apply bg-gradient-to-b from-blue-700 to-black; +} + +.ctr { + @apply text-center; +} + +.legal { + @apply text-xs; +} + +nav h4 a:hover { + @apply border-0 text-blue-300 font-light; +} +nav h4 a, +nav h4 a:focus, +nav h4 a:active { + @apply border-0 text-black font-light; +} + +a h2 { + @apply text-black; +} + +a { + @apply text-blue-600 font-semibold; +} +a:focus, +a:hover { + @apply text-blue-300; +} +a:active { + @apply text-blue-800 border-blue-500; +} + +h5 a { + @apply text-gray-200 font-normal; +} + +/* +a:hover { + @apply dark:text-blue-300; +} +*/ + +sup a, +a.previous, +a.next, +.footnote-return { + @apply border-b-0; +} + +#nav-toggle:checked + #navMenu { + @apply block; +} + +a.navborderless { + @apply border-b-0; +} +/* +.dateInfo { + @apply text-gray-700 dark:text-gray-400; +} +*/ + +h1, +.h1, +h2, +.h2, +h3, +.h3, +h4, +.h4, +h5, +.h5, +h6, +.h6 { + @apply font-sans leading-tight tracking-tight; +} + +h1, +.h1 { + @apply text-4xl mb-4 font-extrabold; +} + +h2, +.h2, +h3, +.h3, +h4, +.h4, +h5, +.h5, +h6, +.h6 { + @apply font-bold; +} + +h2, +.h2 { + @apply text-4xl; +} + +h4, +.h4 { + @apply text-2xl; +} + +h5 { + @apply not-italic; +} + +h5, +.h5, +h6, +.h6 { + @apply text-lg; +} + +.height-hero { + height: 45vh; + max-height: 45vh; + overflow: hidden; +} + +.height-post { + height: 35vh; + max-height: 35vh; +} + +.imgCover { + @apply object-cover object-center h-full w-full; +} + +.background-hero-image-div { + @apply relative overflow-hidden w-full bg-black; + /* Have to allow for mobile browsers' own "chrome"; can't go by Inspector simulations of smaller breakpoints */ + height: 80vh; + max-height: 80vh; +} + +.background-hero-title-block-fit { + @apply block w-full absolute bottom-0 px-4 pt-3 pb-6 bg-gradient-to-t from-black; +} + +.background-hero-title-text { + text-shadow: 4px 4px 2px #000; +} + +@media screen and (min-width: 768px) { + .background-hero-title-block-fit { + @apply px-12; + } + + .background-hero-image-div { + height: 85vh; + max-height: 85vh; + } +} + +@media screen and (min-width: 1024px) { + .background-hero-title-block-fit { + @apply px-16; + } + + .background-hero-image-div { + height: 95vh; + max-height: 95vh; + } +} + +.text-nowrap, +.text-nobrk { + @apply whitespace-nowrap; +} + +article h1, +article h2, +article h3, +article h4 { + @apply tracking-tight mt-8 mb-6; +} + +article p { + @apply text-lg leading-relaxed; +} + +article img.containedImage { + min-width: 100%; + max-width: 100%; + @apply w-full h-auto; +} + +@media screen and (min-width: 768px) { + .height-hero { + height: 70vh; + max-height: 70vh; + } + + .height-post { + height: 40vh; + max-height: 40vh; + } +} + +@media screen and (min-width: 768px) { + article p { + @apply text-xl leading-relaxed; + } +} + +@media screen and (min-width: 1920px) { + article p { + @apply text-2xl leading-relaxed; + } +} +/* +.yellowBox { + @apply font-sans bg-yellow-200 border border-gray-900 border-solid mx-auto my-2 w-full px-6 py-2 dark:bg-gray-800 dark:border-gray-500; +} +*/ + +.yellowbox p { + @apply w-full p-2 m-0; +} + +ul, +ol { + @apply pl-8; +} + +ul { + @apply list-disc; +} + +ol { + @apply list-decimal; +} + +.twitter-tweet { + @apply mt-4 mx-auto mb-0; +} + +table.leagues { + @apply w-11/12 mt-4 mx-auto mb-0 border-0 border-collapse; +} + +table.leagues td.col { + @apply w-1/2; +} + +@media (min-width: 900px) { + table.leagues { + @apply w-3/5; + } + table.noborders { + @apply w-11/12; + } +} + +table.noborders { + @apply w-full border-0 border-collapse mt-6 mx-auto mb-4; +} + +table.noborders td { + @apply text-gray-800 text-left align-middle py-1 pr-0 pl-2; + /* text-align: left !important; */ +} + +table.noborders td img { + @apply inline-block align-middle m-0; +} + +table.noborders tr { + @apply bg-blue-100; +} + +table.noborders tr:nth-child(even) { + @apply bg-gray-200; +} + +table.noborders thead tr { + @apply bg-blue-700; +} + +table.noborders thead td { + @apply text-white font-bold; +} + +table.noborders td.td70 { + width: 70%; +} +table.noborders td.td70 img { + @apply block w-1/2 h-auto; + max-width: 50%; +} + +table.noborders td.td30 { + width: 30%; +} +/* +blockquote { + @apply px-6 text-gray-700 dark:text-gray-400; +} +*/ + +/* start, footnotes */ + +.footnote-definition, +.footnote-reference { + @apply font-sans; +} + +.footnote-reference { + font-size: 0.65em; + top: -0.5em; +} + +.footnote-sim { + font-size: 0.65em; + color: #0000ff; + @media (prefers-color-scheme: dark) { + color: #00aaff; + } +} + +.footnotes { + & ol { + padding-inline-start: 1.5rem; + } + & ol li { + margin-bottom: 0.5rem; + font-size: 75%; + } + & li p { + font-size: 100%; + line-height: 1.4; + } + & .footnote-backref { + font-size: 75%; + } +} + +a.footnote-return { + font-size: 50%; +} + +article > .footnote-definition { + border-top: 1px solid black; + padding-top: 1em; + margin-top: 1em; +} + +article > .footnote-definition ~ .footnote-definition { + border-top: 0; + padding-top: 0; + margin-top: 0; +} + +.footnote-definition-label { + top: -0.4em; + font-size: 0.65em; +} + +.footnote-definition-label + p { + font-size: 75%; + margin-top: -1.75em; + margin-left: 1em; + line-height: 1.35; +} + +.footnote-definition-label::after { + content: "."; +} + +/* == end, footnotes */ + +.aspect-16x9 { + padding-bottom: 56.25%; +} +/* +hr { + @apply border-solid border-gray-900 dark:border-gray-100; +} +*/ + +footer { + @apply font-sans; +} + +.lazypicturecaption { + @apply text-sm p-0 mt-2 leading-snug text-center; +} + +.home-colOne p { + @apply leading-8 mb-4; +} + +.home-colOne img { + @apply my-4; +} + +.container-comments { + margin: 0 auto; + font-size: 85%; + width: 85%; + max-width: 720px !important; + margin-bottom: 0; +} + +@media screen and (min-width: 900px) { + .container-comments { + width: 40%; + } +} + +.bg-dark { + background: rgb(15,15,15); + background: radial-gradient(circle, rgba(15,15,15,1) 0%, rgb(24, 24, 24) 50%, rgba(15,15,15,1) 100%); +} \ No newline at end of file diff --git a/css/nav.css b/css/nav.css new file mode 100644 index 0000000..e69de29 diff --git a/develop.sh b/develop.sh new file mode 100755 index 0000000..000503f --- /dev/null +++ b/develop.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -ex + +export BASE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +cd "${BASE}" + + +source env.sh + +zola serve \ No newline at end of file diff --git a/env.sh b/env.sh new file mode 100644 index 0000000..770564b --- /dev/null +++ b/env.sh @@ -0,0 +1,136 @@ +export NAME='threefoldio' + +SOURCE=${BASH_SOURCE[0]} +DIR_OF_THIS_SCRIPT="$( dirname "$SOURCE" )" +export BASE="$( realpath "$DIR_OF_THIS_SCRIPT" )" + +mkdir -p $HOME/hero/bin + +get_file_size() { + if [[ "$OSTYPE" == "linux-gnu"* ]]; then + stat -c%s "$1" + elif [[ "$OSTYPE" == "darwin"* ]]; then + stat -f%z "$1" + else + echo "Unsupported operating system." + exit 1 + fi +} + + +# Add ~/hero/bin to PATH +export PATH="$HOME/hero/bin:$PATH" + + +# Check if tailwindcss exists in ~/hero/bin +if [[ ! -f "$HOME/hero/bin/tailwindcss" ]]; then + echo "tailwindcss not found in ~/hero/bin. Downloading..." + + ASSET="tailwindcss" + + if [[ "$OSTYPE" == "linux-gnu"* ]]; then + ASSET="$ASSET-linux" + elif [[ "$OSTYPE" == "darwin"* ]]; then + ASSET="$ASSET-macos" + fi + if [[ "$(uname -m)" == "x86_64"* ]]; then + ASSET="$ASSET-x64" + elif [[ "$(uname -m)" == "arm64"* ]]; then + ASSET="$ASSET-arm64" + fi + + pushd /tmp + rm -f $ASSET + rm -f tailwindcss + curl -sLO "https://github.com/tailwindlabs/tailwindcss/releases/latest/download/${ASSET}" + + FILE_SIZE=$(get_file_size "$ASSET") + if [[ $FILE_SIZE -lt 20000000 ]]; then + echo "Error: Downloaded file size is less than 20MB, download not ok." + echo "Download URL was: $ASSET" + rm "$ASSET" + exit 1 + fi + + chmod +x $ASSET + rm -rf "$HOME/hero/bin/tailwindcss" + mv $ASSET "$HOME/hero/bin/tailwindcss" + + popd +fi + +check_zola() { + if command -v zola &> /dev/null; then + echo "Zola is already installed." + return 0 + else + echo "Zola is not installed. Proceeding with installation." + return 1 + fi +} + +# Function to install Zola on Ubuntu +install_zola_ubuntu() { + echo "Installing Zola on Ubuntu..." + sudo apt update + sudo apt install curl -y + ZOLA_DEB=$(curl -s https://api.github.com/repos/getzola/zola/releases/latest | grep "browser_download_url.*_amd64.deb" | cut -d '"' -f 4) + curl -LO $ZOLA_DEB + sudo dpkg -i $(basename $ZOLA_DEB) +} + +# Function to install Zola on Arch Linux +install_zola_arch() { + echo "Installing Zola on Arch Linux..." + sudo pacman -Sy zola +} + +# Function to install Zola on macOS +install_zola_macos() { + echo "Installing Zola on macOS..." + if command -v brew &> /dev/null; then + brew install zola + else + echo "Homebrew is not installed. Please install Homebrew first." + exit 1 + fi +} + +if ! check_zola; then + # Detect OS and install Zola + if [[ "$OSTYPE" == "linux-gnu"* ]]; then + if command -v apt &> /dev/null; then + install_zola_ubuntu + elif command -v pacman &> /dev/null; then + install_zola_arch + else + echo "Unsupported Linux distribution." + exit 1 + fi + elif [[ "$OSTYPE" == "darwin"* ]]; then + install_zola_macos + else + echo "Unsupported operating system." + exit 1 + fi +fi + +# Kill any running zola process +if pgrep zola > /dev/null; then + echo "Stopping running zola process..." + pkill zola +fi + +# Initialize and configure tailwind if not configured +echo "Initializing tailwind..." +if [[ ! -f "tailwind.config.js" ]]; then + ~/hero/bin/tailwindcss init + sed -i '' "s| content: \\[\\],| content: \\['./templates/**/*.html'\\],|g" tailwind.config.js +fi + +# Compile tailwindcss for prod & build project +echo "Compiling tailwindcss and building zola project..." +rm -rf public static/css +tailwindcss -i css/index.css -o ./static/css/index.css --minify + + diff --git a/format_data.sh b/format_data.sh new file mode 100644 index 0000000..2d46784 --- /dev/null +++ b/format_data.sh @@ -0,0 +1,208 @@ +#/bin/bash + +git submodule update --recursive --remote + +# readable shorthand for adding tab +add_tab() { + sed -i "" "s|$1| $1|g" "$2" +} + +# readable shorthand for sed replace +replace() { + sed -i "" "s|$1|$2|g" "$3" +} + +# check if certain word exists in a file +exists() { + if grep "$1" $2 > /dev/null + then + return 0 + else + return 1 + fi +} + +# move line with a certain word $1 +# below another line with certain word $2 +move_below() { + if exists $1 $3; then + TARGET="$(grep -n "$1" "$3" | sed -n -e "s/^.*\(\($1\).*\)/\1/p")" + LINE_NUM="$(grep -n "$1" "$3" | head -n1 | sed 's/:.*//')" + sed -i "" "${LINE_NUM}d" "$3" + LINE_NUM="$(grep -n "$2" "$3" | head -n1 | sed 's/:.*//')" + LINE_NUM="$(($LINE_NUM + 1))" + sed -a -i "" "${LINE_NUM}i\\ +$TARGET\\ +" "$3" + fi +} + +folder_exists() { + echo "content/$1/$2" + if [ -d "content/$1/$2" ]; then + return 0 + fi + return 1 +} + +echo "Formatting people..." +dir="threefold_data/content/person" + +for file in $(grep -ril 'name:' $dir); +do + path=${file%/*} + name=${path##*/} + if folder_exists "people" $name; then + continue + fi + + sed -i "" "s|private: 1| private: 1\\ + socialLinks: {\\ + }|g" "$file" + sed -i "" "s|private: 0| private: 0\\ + socialLinks: {\\ + }|g" "$file" + + move_below category: excerpt: $file + move_below memberships: excerpt: $file + move_below websites: socialLinks: $file + move_below projects: image: $file + move_below linkedin: socialLinks: $file + move_below github: linkedin: $file + move_below id: excerpt: $file + + # move bio field below toml + BIO="$(grep -n 'bio:' "$file" | sed -n -e 's/^.*\(\(bio:\).*\)/\1/p')" + LINE_NUM="$(grep -n 'bio:' "$file" | head -n1 | sed 's/:.*//')" + sed -i "" "${LINE_NUM}d" "$file" + echo "\n$BIO" >> $file + sed -i "" "s|bio: ||g" "$file" + + # adds comma after social links + WEBSITES="$(grep -n 'websites:' "$file" | sed -n -e 's/^.*\(\(websites:\).*\)/\1/p')" + sed -i "" "s|$WEBSITES|$WEBSITES,|g" "$file" + LINKEDIN="$(grep -n 'linkedin:' "$file" | sed -n -e 's/^.*\(\(linkedin:\).*\)/\1/p')" + sed -i "" "s|$LINKEDIN|$LINKEDIN,|g" "$file" + if exists "github" $file; then + GITHUB="$(grep -n 'github:' "$file" | sed -n -e 's/^.*\(\(github:\).*\)/\1/p')" + sed -i "" "s|$GITHUB|$GITHUB,|g" "$file" + fi + + # put id into square brackets for people taxonomy + ID="$(grep -n 'id:' "$file" | sed -n -e 's/^.*\(\(id:\).*\)/\1/p')" + NAME="${ID#* }" + NAME="[$NAME]" + sed -i "" "s|$ID|id: $NAME|g" "$file" + + # Change field names + replace "category:" "categories:" $file + replace "rank:" "weight:" $file + replace "excerpt:" "description:" $file + replace "name:" "title:" $file + replace "linkedin:" "LinkedIn:" $file + replace "projects:" "organizations:" $file + replace "projects:" "organizations:" $file + replace "image: ./" "imgPath: " $file + + sed -i "" "s|imgPath:|extra:\\ + imgPath:|g" "$file" + sed -i "" "s|id:|taxonomies:\\ + people:|g" "$file" + + add_tab "memberships:" $file + add_tab "categories:" $file + add_tab "cities:" $file + add_tab "countries:" $file + add_tab "organizations:" $file + add_tab "LinkedIn:" $file + add_tab "LinkedIn:" $file + add_tab "websites:" $file + add_tab "websites:" $file + add_tab "github:" $file + add_tab "github:" $file + + mv $file ${file%/*}/index.md + mv ${file%/*} content/people + + break +done; + +echo "Formatting blogs..." +dir="threefold_data/content/blog" + +for file in $(grep -ril 'authors:' $dir); +do + + path=${file%/*} + name=${path##*/} + if folder_exists "blog" $name; then + continue + fi + + echo $file + + move_below created: excerpt: $file + move_below category: authors: $file + move_below tags: authors: $file + move_below image: category: $file + + # Change field names + sed -i "" "s|category:|categories:|g" "$file" + sed -i "" "s|created:|date:|g" "$file" + sed -i "" "s|excerpt:|description:|g" "$file" + sed -i "" "s| ---|---|g" "$file" + sed -i "" "s|authors:|taxonomies:\\ + people:|g" "$file" + sed -i "" "s|image: ./|extra:\\ + imgPath: |g" "$file" + + add_tab "tags" $file + add_tab "categories" $file + + mv $file ${file%/*}/index.md + mv ${file%/*} content/blog + + break +done; + +echo "Formatting news..." +dir="threefold_data/content/news" + +for file in $(grep -ril 'authors:' $dir); +do + + path=${file%/*} + name=${path##*/} + if folder_exists "newsroom" $name; then + continue + fi + echo $file + + move_below created: excerpt: $file + move_below category: authors: $file + move_below tags: authors: $file + move_below image: category: $file + + # Change field names + sed -i "" "s|category:|news-category:|g" "$file" + sed -i "" "s|created:|date:|g" "$file" + sed -i "" "s|excerpt:|description:|g" "$file" + sed -i "" "s| ---|---|g" "$file" + sed -i "" "s|authors:|taxonomies:\\ + people:|g" "$file" + sed -i "" "s|image: ./|extra:\\ + imgPath: |g" "$file" + + add_tab "tags" $file + add_tab "news-category" $file + + mv $file ${file%/*}/index.md + mv ${file%/*} content/newsroom + + break +done; + +# +# mickey malul people taxonomy should be mickey_malul +# kristof's categories are not formatted correctly +# zero people it is the future blog bug diff --git a/heroscript/config.md b/heroscript/config.md new file mode 100644 index 0000000..85f592f --- /dev/null +++ b/heroscript/config.md @@ -0,0 +1,109 @@ +# www.threefold.io development script + +We first define our website and add a zola template for it + +```js +!!website.define name:'www_threefold' title:'Threefold' + +!!website.template_add url:'https://github.com/threefoldfoundation/www_threefold_io/tree/development_zola' +``` + +Then we add the doctree's we will use for the website. +We use `threefoldfoundation/threefold_data` for blogs, people and news. We use `threefoldfoundation/www_threefold_io` for site content for pages. + +```js +!!website.doctree_add url:'https://github.com/threefoldfoundation/www_threefold_io/tree/development_zola/content' + +add collections to the website +!!website.doctree_add url:'https://github.com/threefoldfoundation/threefold_data/tree/development_zola/content' +``` + +Next, we add a header and a footer for our website + +```js +!!website.header_add + collection: 'content' + file: 'header.md' + +!!website.footer_add + collection: 'content' + file: 'footer.md' +``` + +Let's then add our pages + +```js +!!website.page_add + name: 'Home' + collection: 'content' + file: 'home.md' + homepage: true + +!!website.page_add + name: 'About' + collection: 'content' + file: 'about.md' + +!!website.page_add + name: 'Careers' + collection: 'content' + file: 'careers.md' + +!!website.page_add + name: 'Farm' + collection: 'content' + file: 'farm.md' + +!!website.page_add + name: 'Support' + collection: 'content' + file: 'support.md' +``` + +Finally we can select and add some blog posts, news and people sections. + +## Blogs + +Below we select blogs relavant to threefold.io from our data repository + +```js +!!website.blog_add + name: 'A better understanding of wealth' + collection: 'blog' + file: 'a_better_understanding_of_wealth.md' + image: 'a_better_understanding_of_wealth.jpg' + +!!website.blog_add + name: 'A different approach to blockchain' + collection: 'blog' + file: 'a_different_approach_to_blockchain.md' + image: 'a_different_approach_to_blockchain.jpg' +``` + +## People + +```js +!!website.person_add + name: 'Adnan Fatayerji' + collection: 'person' + file: 'adnan_fatayerji.md' + +!!website.person_add + name: 'Alexandre Hannelas' + collection: 'person' + file: 'alexandre_hannelas.md' +``` + +## News + +```js +!!website.news_add + name: '3Bot Connect & TFConnect' + collection: 'news' + file: '3bot_connect_tf_connect.md' + +``` + +```js +!!website.generate +``` diff --git a/static/images/ai.jpg b/static/images/ai.jpg new file mode 100644 index 0000000..9a28c24 Binary files /dev/null and b/static/images/ai.jpg differ diff --git a/static/images/asset.jpg b/static/images/asset.jpg new file mode 100644 index 0000000..30c353b Binary files /dev/null and b/static/images/asset.jpg differ diff --git a/static/images/bot2.jpg b/static/images/bot2.jpg new file mode 100644 index 0000000..8062d49 Binary files /dev/null and b/static/images/bot2.jpg differ diff --git a/static/images/datacenter.jpg b/static/images/datacenter.jpg new file mode 100644 index 0000000..db61937 Binary files /dev/null and b/static/images/datacenter.jpg differ diff --git a/static/images/dc.jpg b/static/images/dc.jpg new file mode 100644 index 0000000..6c22071 Binary files /dev/null and b/static/images/dc.jpg differ diff --git a/static/images/dc2.jpg b/static/images/dc2.jpg new file mode 100644 index 0000000..554cf5f Binary files /dev/null and b/static/images/dc2.jpg differ diff --git a/static/images/digital.jpg b/static/images/digital.jpg new file mode 100644 index 0000000..d041bef Binary files /dev/null and b/static/images/digital.jpg differ diff --git a/static/images/eco.jpg b/static/images/eco.jpg new file mode 100644 index 0000000..237a008 Binary files /dev/null and b/static/images/eco.jpg differ diff --git a/static/images/eco2.jpg b/static/images/eco2.jpg new file mode 100644 index 0000000..5325c4d Binary files /dev/null and b/static/images/eco2.jpg differ diff --git a/static/images/eco3.jpg b/static/images/eco3.jpg new file mode 100644 index 0000000..37feefe Binary files /dev/null and b/static/images/eco3.jpg differ diff --git a/static/images/freezone.jpg b/static/images/freezone.jpg new file mode 100644 index 0000000..7d78c69 Binary files /dev/null and b/static/images/freezone.jpg differ diff --git a/static/images/freezone2.jpg b/static/images/freezone2.jpg new file mode 100644 index 0000000..c17c5b1 Binary files /dev/null and b/static/images/freezone2.jpg differ diff --git a/static/images/fumba.jpg b/static/images/fumba.jpg new file mode 100644 index 0000000..2b5c4a6 Binary files /dev/null and b/static/images/fumba.jpg differ diff --git a/static/images/fumba.webp b/static/images/fumba.webp new file mode 100644 index 0000000..2e93a08 Binary files /dev/null and b/static/images/fumba.webp differ diff --git a/static/images/home.jpg b/static/images/home.jpg new file mode 100644 index 0000000..803ca3b Binary files /dev/null and b/static/images/home.jpg differ diff --git a/static/images/home1.jpg b/static/images/home1.jpg new file mode 100644 index 0000000..0dd178e Binary files /dev/null and b/static/images/home1.jpg differ diff --git a/static/images/icons/authentic.svg b/static/images/icons/authentic.svg new file mode 100644 index 0000000..a583cdc --- /dev/null +++ b/static/images/icons/authentic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/icons/bar-svgrepo-com.svg b/static/images/icons/bar-svgrepo-com.svg new file mode 100644 index 0000000..07ac56d --- /dev/null +++ b/static/images/icons/bar-svgrepo-com.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/images/icons/code-svgrepo-com.svg b/static/images/icons/code-svgrepo-com.svg new file mode 100644 index 0000000..6be0cd8 --- /dev/null +++ b/static/images/icons/code-svgrepo-com.svg @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/images/icons/favicon.png b/static/images/icons/favicon.png new file mode 100644 index 0000000..40b4c0b Binary files /dev/null and b/static/images/icons/favicon.png differ diff --git a/static/images/icons/form-svgrepo-com.svg b/static/images/icons/form-svgrepo-com.svg new file mode 100644 index 0000000..1da4268 --- /dev/null +++ b/static/images/icons/form-svgrepo-com.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/images/icons/open.svg b/static/images/icons/open.svg new file mode 100644 index 0000000..1a62a8f --- /dev/null +++ b/static/images/icons/open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/icons/paint-brush-art-svgrepo-com.svg b/static/images/icons/paint-brush-art-svgrepo-com.svg new file mode 100644 index 0000000..f8ed55a --- /dev/null +++ b/static/images/icons/paint-brush-art-svgrepo-com.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/images/icons/people.svg b/static/images/icons/people.svg new file mode 100644 index 0000000..66a1806 --- /dev/null +++ b/static/images/icons/people.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/icons/planet.svg b/static/images/icons/planet.svg new file mode 100644 index 0000000..61ec8b2 --- /dev/null +++ b/static/images/icons/planet.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/icons/simple.svg b/static/images/icons/simple.svg new file mode 100644 index 0000000..00d55f1 --- /dev/null +++ b/static/images/icons/simple.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/logo.svg b/static/images/logo.svg new file mode 100644 index 0000000..ef0dbbf --- /dev/null +++ b/static/images/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/logo_s.svg b/static/images/logo_s.svg new file mode 100644 index 0000000..e46be4e --- /dev/null +++ b/static/images/logo_s.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/new_logo_tft.png b/static/images/new_logo_tft.png new file mode 100644 index 0000000..406fedc Binary files /dev/null and b/static/images/new_logo_tft.png differ diff --git a/static/images/people_1.jpg b/static/images/people_1.jpg new file mode 100644 index 0000000..6660d0e Binary files /dev/null and b/static/images/people_1.jpg differ diff --git a/static/images/people_2.jpg b/static/images/people_2.jpg new file mode 100644 index 0000000..3621795 Binary files /dev/null and b/static/images/people_2.jpg differ diff --git a/static/images/people_3.jpg b/static/images/people_3.jpg new file mode 100644 index 0000000..015e8d5 Binary files /dev/null and b/static/images/people_3.jpg differ diff --git a/static/images/people_4.jpg b/static/images/people_4.jpg new file mode 100644 index 0000000..54d8537 Binary files /dev/null and b/static/images/people_4.jpg differ diff --git a/static/images/people_5.jpg b/static/images/people_5.jpg new file mode 100644 index 0000000..d40346a Binary files /dev/null and b/static/images/people_5.jpg differ diff --git a/static/images/startup.jpg b/static/images/startup.jpg new file mode 100644 index 0000000..ab13696 Binary files /dev/null and b/static/images/startup.jpg differ diff --git a/static/images/startup1.jpg b/static/images/startup1.jpg new file mode 100644 index 0000000..f68ef6d Binary files /dev/null and b/static/images/startup1.jpg differ diff --git a/static/images/twin.jpg b/static/images/twin.jpg new file mode 100644 index 0000000..4d263b7 Binary files /dev/null and b/static/images/twin.jpg differ diff --git a/static/images/znz.jpg b/static/images/znz.jpg new file mode 100644 index 0000000..f163243 Binary files /dev/null and b/static/images/znz.jpg differ diff --git a/static/images/zone.jpg b/static/images/zone.jpg new file mode 100644 index 0000000..1283d7b Binary files /dev/null and b/static/images/zone.jpg differ diff --git a/static/images/zone1.jpg b/static/images/zone1.jpg new file mode 100644 index 0000000..a79d938 Binary files /dev/null and b/static/images/zone1.jpg differ diff --git a/static/images/zone2.jpg b/static/images/zone2.jpg new file mode 100644 index 0000000..f543b89 Binary files /dev/null and b/static/images/zone2.jpg differ diff --git a/static/js/custom.js b/static/js/custom.js new file mode 100644 index 0000000..1998788 --- /dev/null +++ b/static/js/custom.js @@ -0,0 +1,193 @@ +var displayedMenu = ""; +var hamburgerShown = false; +let width = screen.width; +var isMobile = width < 1024; + +function toggleMenu(button) { + if (displayedMenu === button.id.split("-")[0]) { + button.className = button.className.replace( + " text-gray-800 bg-stone-200 sm:bg-transparent", + " text-gray-900" + ); + hideMenu(button.id.split("-")[0]); + button.lastElementChild.className = button.lastElementChild.className.replace( + "rotate-0", + "-rotate-90" + ); + displayedMenu = ""; + } else { + showMenu(button.id.split("-")[0]); + button.lastElementChild.className = button.lastElementChild.className.replace( + "-rotate-90", + "rotate-0" + ); + button.className = button.className.replace( + " text-gray-900", + " text-gray-800 bg-stone-200 sm:bg-transparent" + ); + displayedMenu = button.id.split("-")[0]; + } + + document.addEventListener("click", function (e) { + if (!button.contains(e.target)) { + hideMenu(button.id.split("-")[0]); + button.lastElementChild.className = button.lastElementChild.className.replace( + "rotate-0", + "-rotate-90" + ); + displayedMenu = ""; + } + }); +} + +function handleClick(button) { + if (button.id === "hamburger-btn" || button.id === "close-hamburger-btn") { + toggleHamburger(); + } + if (button.id.indexOf("menu") !== -1) { + toggleMenu(button); + } +} + +function toggleHamburger() { + if (hamburgerShown) { + hideHamburger(); + hamburgerShown = false; + } else { + showHamburger(); + hamburgerShown = true; + } +} + +function showMenu(menuName) { + var menuId = menuName + (isMobile ? "-mobile-menu" : "-menu"); + var menuBtnId = menuName + (isMobile ? "-mobile-menu" : "-menu"); + var menuElement = document.getElementById(menuId); + menuElement.className = menuElement.className.replace(" hidden", ""); + let children = document.querySelectorAll(".nav_menu"); + for (let i = 0; i < children.length; i++) { + if (menuElement !== children[i]) { + let btnId = `${children[i].id}-btn`; + let btn = document.getElementById(btnId); + if (btn && !children[i].classList.contains("hidden")) { + children[i].classList.add("hidden"); + btn.lastElementChild.classList.replace("rotate-0", "-rotate-90"); + } + } + } + setTimeout(function () { + menuElement.className = menuElement.className.replace( + "duration-200 ease-in opacity-0 -translate-y-1", + "duration-150 ease-out opacity-1 -translate-y-0" + ); + }, 10); +} + +function hideMenu(menuName) { + var menuId = menuName + (isMobile ? "-mobile-menu" : "-menu"); + var menuElement = document.getElementById(menuId); + var btnId = `${menuElement.id}-btn`; + let btn = document.getElementById(btnId); + menuElement.className = menuElement.className.replace( + "duration-150 ease-out opacity-1 -translate-y-0", + "duration-200 ease-in opacity-0 -translate-y-1" + ); + btn.lastElementChild.className = btn.lastElementChild.className.replace( + "rotate-0", + "-rotate-90" + ); + if (!menuElement.classList.contains("hidden")) { + menuElement.classList.add("hidden"); + } +} + +function showHamburger() { + document.getElementById("header-container").className = "overflow-hidden"; + document.getElementById("hamburger").className = + "fixed mt-14 z-20 top-0 inset-x-0 transition transform origin-top-right"; + document.getElementById("hamburger-btn").className = + "hidden lg:hidden inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out"; + document.getElementById("close-hamburger-btn").className = + "inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out"; +} + +function hideHamburger() { + document.getElementById("header-container").className = ""; + document.getElementById("hamburger").className = + "hidden absolute z-20 top-0 inset-x-0 transition transform origin-top-right lg:hidden"; + document.getElementById("hamburger-btn").className = + "inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out"; + document.getElementById("close-hamburger-btn").className = + "hidden lg:hidden inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out"; + if (displayedMenu !== "") { + hideMenu(displayedMenu); + } +} + +function toggleFilter() { + var filterMenu = document.getElementById("filter-menu"); + if (filterMenu.className.includes("hidden")) { + filterMenu.className = filterMenu.className.replace("hidden", " "); + } else { + filterMenu.className = filterMenu.className + " hidden"; + } +} +window.onload = function () { + let elements = document.getElementsByTagName("button"); + let buttons = [...elements]; + + buttons.forEach((button) => { + button.addEventListener("click", function () { + handleClick(button); + }); + }); + + document.getElementById("filter-btn").addEventListener("click", toggleFilter); + document + .getElementById("mobile-learn-btn") + .addEventListener("click", toggleMenu); +}; + +function openInNewTab(url) { + window.open(url, "_blank").focus(); +} + +function readingTime() { + let articles = document.querySelectorAll(".article"); + let times = document.querySelectorAll(".time"); + const wpm = 225; + let words; + for (var i = 0; i < articles.length; i++) { + words = articles[i].innerText.trim().split(/\s+/).length; + let time = Math.ceil(words / wpm); + times[i].innerText = `${time} minute read`; + } +} + +async function getStats() { + try { + const stats = await fetch( + "https://stats.grid.tf/api/stats-summary" + ).then((res) => res.json()); + return formatStatsData(stats); + } catch (error) { + throw new Error( + `Failed to retrieve data from network statistics: ${error}` + ); + } +} + +function formatStatsData(stats) { + let items = document.querySelector(".items"); + items.classList.remove("animate-pulse"); + document.getElementById("ssd").innerHTML = stats.ssd; + document.getElementById("nodes").innerHTML = stats.nodes; + document.getElementById("countries").innerHTML = stats.countries; + document.getElementById("cores").innerHTML = stats.cores + .toString() + .replace(/\B(?=(\d{3})+(?!\d))/g, ","); +} + +readingTime(); +getStats(); +document.getElementById("year").innerHTML = new Date().getFullYear(); diff --git a/static/videos/cybercity_comp.mp4 b/static/videos/cybercity_comp.mp4 new file mode 100644 index 0000000..36690c7 Binary files /dev/null and b/static/videos/cybercity_comp.mp4 differ diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..1c659e7 --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,94 @@ +const colors = require('tailwindcss/colors') + +module.exports = { + content: [ + './templates/**/*.html' + ], + safelist: [ + { + pattern: /(-|)(ml|mr)-(4|8|12|16|20|24|28)/, + variants: [ + 'sm', 'md', 'lg', + 'first', 'first:sm', 'first:md', 'first:lg', + 'last', 'last:sm', 'last:md', 'last:lg' + ], + }, + { + pattern: /(pt|pb)-(0)/, + variants: [ + '!', 'lg', + 'first', 'first:sm', 'first:md', 'first:lg', + 'last', 'last:sm', 'last:md', 'last:lg' + ], + }, + { + pattern: /bg-teal-(50|100|200|300|400|500|600|700|800|900)/, // Added teal color safelist + } + ], + + important: true, + theme: { + fontSize: { + 'xs': '.75rem', + 'sm': '.875rem', + 'tiny': '.875rem', + 'base': '1rem', + 'md': '1.05rem', + 'lg': '1.125rem', + 'xl': '1.25rem', + '2xl': '1.5rem', + '3xl': '1.875rem', + '4xl': '2.25rem', + '5xl': '3rem', + '6xl': '4rem', + '7xl': '5rem', + }, + colors: { + transparent: 'transparent', + white: '#ffffff', + black: '#000000', + green: '#c7c7c7 ', + gray: colors.gray, + slate: colors.slate, + stone: colors.stone, + zinc: colors.zinc, + yellow: colors.yellow, + orange: colors.orange, + sky: colors.sky, + blue: { + '100': '#bbeeff', + '200': '#00aaff', + '300': '#0088ff', + '400': '#0033ff', + '500': '#0000ff', + '600': '#0000bb', + '700': '#0000aa', + '800': '#000088', + '900': '#000066', + }, + + }, + extend: { + screens: { + '2xl': '1450px', + // => @media (min-width: 992px) { ... } + }, + animation: { + 'infinite-scroll': 'infinite-scroll 25s linear infinite', + }, + keyframes: { + 'infinite-scroll': { + from: { transform: 'translateX(0)' }, + to: { transform: 'translateX(-100%)' }, + } + }, + fontFamily: { + sans: ['Inter', 'sans-serif'], + }, + }, + }, + plugins: [ + require('@tailwindcss/aspect-ratio'), + // require("flyonui"), + ], // if we add forms, do it here +} diff --git a/templates/404.html b/templates/404.html new file mode 100644 index 0000000..671202a --- /dev/null +++ b/templates/404.html @@ -0,0 +1,20 @@ +{% extends "_default/base.html" %} + +{% block content %} + +
    + +
    +
    + 404_image +
    +
    +

    You seem to have ended up on a missing page!

    +

    This could mean that you’ve entered the wrong URL or you’ve clicked on content which has moved locations or is no longer live. If you need assistance, click on the blue chat icon at the bottom of the screen to speak with real humans on our support team. Or go back to home.

    +
    + +
    + +
    + +{% endblock content %} diff --git a/templates/_default/base.html b/templates/_default/base.html new file mode 100644 index 0000000..3e626f4 --- /dev/null +++ b/templates/_default/base.html @@ -0,0 +1,63 @@ + + +{% include "partials/head.html" %} +{% include "partials/header.html" %} + + + + + + + + + + + + {% include "partials/header.html" %} +
    + {% block content %}{% endblock %} + +
    +
    + {% include "partials/footer.html" %} +
    + + + + + + + \ No newline at end of file diff --git a/templates/blogPage.html b/templates/blogPage.html new file mode 100644 index 0000000..3852c97 --- /dev/null +++ b/templates/blogPage.html @@ -0,0 +1,103 @@ +{% extends "_default/base.html" %} +{% block content %} + +{% if page.taxonomies.people %} +{% set people = get_section(path="people/_index.md") %} +{% set pages_str = people.pages | json_encode() | as_str %} +{% if pages_str is containing(page.taxonomies.people[0]) %} +{% set author_path = 'people/' ~ page.taxonomies.people[0] ~ '/index.md' %} +{% set author = get_page(path=author_path) %} +{% endif %} +{% endif %} + + + +{% set split = page.content | split(pat="threefold.io") %} +{% if split | length < 2 %} {% set content=page.content %} {% else %} {% set content="" %} {% for part in split %} {% if + part is starting_with("/blog") %} {% set split_part=part | split(pat='/">' ) %} {% set link=split_part[0] %} {% set + link=link | replace(from="/blog/post" , to="/blog" ) %} {% set link=link | replace(from="_" , to="-" ) %} {% set + rest_part=split_part | slice(start=1) | join(sep='/">' ) %} {% set part=link ~ '/">' ~ rest_part %} {% endif %} {% if + loop.first %} {% set_global content=part%} {% else %} {% set_global content=content ~ "threefold.io" ~ part%} {% endif + %} {% endfor %} {% endif %}
    + +
    + +
    +
    +
    +

    + {{ page.title }} +

    + +

    + {{ page.description }} +

    +
    + + {% set img_url = get_url(path='/' ~ page.relative_path | replace(from='_', to='-') | replace(from='index.md', + to=page.extra.imgPath)) %} + {{page.title ~ 'Picture'}} +
    {{ content | safe }}
    + +
    +
    + + +
    +
    + + {% endblock content %} diff --git a/templates/categories/list.html b/templates/categories/list.html new file mode 100644 index 0000000..f628a84 --- /dev/null +++ b/templates/categories/list.html @@ -0,0 +1,4 @@ +{% extends "index.html" %} + +{% block content %} +{% endblock content %} \ No newline at end of file diff --git a/templates/categories/single.html b/templates/categories/single.html new file mode 100644 index 0000000..d35a132 --- /dev/null +++ b/templates/categories/single.html @@ -0,0 +1,14 @@ +{% extends "index.html" %} + +{% block content %} + +
    + +
    + {% include "partials/blogPosts.html" %} + {% include "partials/blogSidebar.html" %} +
    +
    + + {% endblock content %} + diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000..4706ea7 --- /dev/null +++ b/templates/index.html @@ -0,0 +1,13 @@ +{% extends "_default/base.html" %} +{% block content %} + +{% include "partials/hero/hero1.html" %} +{% include "partials/hero/hero2.html" %} +{% include "partials/hero/hero3.html" %} +{% include "partials/hero/hero4.html" %} +{% include "partials/hero/hero5.html" %} +{% include "partials/hero/hero6.html" %} +{% include "partials/hero/hero7.html" %} +{% include "partials/hero/hero8.html" %} +{% include "partials/hero/hero9.html" %} +{% endblock content %} \ No newline at end of file diff --git a/templates/jobPage.html b/templates/jobPage.html new file mode 100644 index 0000000..58922bc --- /dev/null +++ b/templates/jobPage.html @@ -0,0 +1,40 @@ +{% extends "_default/base.html" %} +{% block content %} + +
    +
    +
    +

    + {{ page.title }} +

    +
    +
    +
    +
    {{ page.content | safe }}
    + +
    +
    +{% endblock content %} \ No newline at end of file diff --git a/templates/layouts/action.html b/templates/layouts/action.html new file mode 100644 index 0000000..cd4a085 --- /dev/null +++ b/templates/layouts/action.html @@ -0,0 +1,8 @@ +{% extends "_default/base.html" %} +{% block content %} +{% include "partials/action/video.html" %} +{% include "partials/action/web4tools.html" %} +{% include "partials/action/action.html" %} +{% include "partials/home/cta.html" %} + +{% endblock content %} \ No newline at end of file diff --git a/templates/layouts/blog.html b/templates/layouts/blog.html new file mode 100644 index 0000000..d9b237f --- /dev/null +++ b/templates/layouts/blog.html @@ -0,0 +1,33 @@ +{% extends "_default/base.html" %} + + +{% block content %} + +
    + + + {%- set section = get_section(path="blog/_index.md") %} + {% for page in section.pages %} + {% if page.extra.isFeatured %} + {%- set_global featured = page %} + {% break %} + {% endif %} + {% if not featured %} + {%- set_global featured = section.pages[0] %} + {% endif %} + {% endfor %} + + {% include "partials/featuredBlog.html" %} + +
    + {% include "partials/blogPosts.html" %} + {% include "partials/blogSidebar.html" %} +
    +
    + + {% endblock content %} diff --git a/templates/layouts/faq.html b/templates/layouts/faq.html new file mode 100644 index 0000000..b56136c --- /dev/null +++ b/templates/layouts/faq.html @@ -0,0 +1,8 @@ +{% extends "_default/base.html" %} + +{% block content %} +
    + {% include "partials/accordion.html" %} +
    + +{% endblock content %} \ No newline at end of file diff --git a/templates/layouts/hero.html b/templates/layouts/hero.html new file mode 100644 index 0000000..ee55eaf --- /dev/null +++ b/templates/layouts/hero.html @@ -0,0 +1,80 @@ +
    +
    + + + +
    + +
    + +
    + +
    +

    Data to enrich your online business

    +

    Anim aute id magna aliqua ad ad non deserunt sunt. Qui irure qui lorem cupidatat commodo. Elit sunt amet fugiat veniam occaecat.

    + +
    +
    + +
    +
    + \ No newline at end of file diff --git a/templates/layouts/horizontal_section.html b/templates/layouts/horizontal_section.html new file mode 100644 index 0000000..ca84bf8 --- /dev/null +++ b/templates/layouts/horizontal_section.html @@ -0,0 +1,18 @@ +{% extends "_default/base.html" %} +{% import "macros.html" as macros %} + +{% block content %} + +
    +
    +
    + {{ section.content | safe}} +
    +
    + {{ macros::page_list(item_type="page-box", group=false) }} +
    +
    +
    +
    + +{% endblock content %} diff --git a/templates/layouts/newsroom.html b/templates/layouts/newsroom.html new file mode 100644 index 0000000..52086d4 --- /dev/null +++ b/templates/layouts/newsroom.html @@ -0,0 +1,33 @@ +{% extends "_default/base.html" %} + + +{% block content %} + +
    + + + {%- set section = get_section(path="newsroom/_index.md") %} + {% for page in section.pages %} + {% if page.extra.isFeatured %} + {%- set_global featured = page %} + {% break %} + {% endif %} + {% if not featured %} + {%- set_global featured = section.pages[0] %} + {% endif %} + {% endfor %} + + {% include "partials/featuredNews.html" %} + +
    + {% include "partials/newsPosts.html" %} + {% include "partials/newsSidebar.html" %} +
    +
    + + {% endblock content %} diff --git a/templates/layouts/partners.html b/templates/layouts/partners.html new file mode 100644 index 0000000..2b6351d --- /dev/null +++ b/templates/layouts/partners.html @@ -0,0 +1,18 @@ +{% extends "_default/base.html" %} + +{% block content %} +
    + + {%- set section = get_section(path="partners/_index.md") %} + {% include "partials/intro.html" %} +
    + {% include "partials/partnersCards.html" %} + {% include "partials/partnersSidebar.html" %} +
    +
    +{% endblock content %} diff --git a/templates/layouts/people.html b/templates/layouts/people.html new file mode 100644 index 0000000..fcdb7de --- /dev/null +++ b/templates/layouts/people.html @@ -0,0 +1,83 @@ +{% extends "_default/base.html" %} + + +{% block content %} + +
    + + + {%- set section = get_section(path="people/_index.md") %} +
    + {# {% include "partials/filter_bar.html" %} #} +
    +

    + {% set path_array = current_path | split(pat="/") %} + {% set taxonomy = path_array[1] %} + {% set category = path_array[2] %} + {{category | replace(from='-', to=' ' ) | title}} +

    +
    +
    + {%- for page in paginator.pages %} + {% if "Engineering" == "Engineering"%} + {% include "partials/personCard.html" %} + {%endif%} {%- endfor %} +
    +
    +

    + {% if paginator.previous %} + {% include "partials/icons/svgPrevPageIcon.html" %}{% include + "partials/icons/svgPrevPageIcon.html" %} +           + {% include "partials/icons/svgPrevPageIcon.html" %} +           +           {% else %} {% + include "partials/icons/svgFirstPageIcon.html" %}{% include + "partials/icons/svgFirstPageIcon.html" %} +           {% include + "partials/icons/svgFirstPageIcon.html" %} +           +           {% endif %} {% if + paginator.next %} + {% include "partials/icons/svgNextPageIcon.html" %} +           + {% include "partials/icons/svgNextPageIcon.html" %}{% include + "partials/icons/svgNextPageIcon.html" %} + {% else %} {% include "partials/icons/svgLastPageIcon.html" %} +           {% include + "partials/icons/svgLastPageIcon.html" %}{% include + "partials/icons/svgLastPageIcon.html" %} {% endif %} +

    +
    +
    +
    +
    + + {% endblock content %} \ No newline at end of file diff --git a/templates/layouts/signup.html b/templates/layouts/signup.html new file mode 100644 index 0000000..d8003cb --- /dev/null +++ b/templates/layouts/signup.html @@ -0,0 +1,6 @@ +{% extends "_default/base.html" %} +{% block content %} + +{% include "partials/form.html" %} + +{% endblock content %} \ No newline at end of file diff --git a/templates/layouts/solutions.html b/templates/layouts/solutions.html new file mode 100644 index 0000000..b08cb64 --- /dev/null +++ b/templates/layouts/solutions.html @@ -0,0 +1,8 @@ +{% extends "_default/base.html" %} +{% block content %} + +{% include "partials/solutions/hero.html" %} +{% include "partials/solutions/what.html" %} +{% include "partials/solutions/portfolio.html" %} +{% include "partials/home/cta.html" %} +{% endblock content %} \ No newline at end of file diff --git a/templates/layouts/what.html b/templates/layouts/what.html new file mode 100644 index 0000000..9208f76 --- /dev/null +++ b/templates/layouts/what.html @@ -0,0 +1,10 @@ +{% extends "_default/base.html" %} +{% block content %} +{% include "partials/feature/feature1.html" %} +{% include "partials/feature/feature2.html" %} +{% include "partials/feature/feature3.html" %} +{% include "partials/feature/feature4.html" %} +{% include "partials/feature/feature5.html" %} +{% include "partials/feature/feature6.html" %} +{% include "partials/home/cta.html" %} +{% endblock content %} \ No newline at end of file diff --git a/templates/layouts/why.html b/templates/layouts/why.html new file mode 100644 index 0000000..923bdd5 --- /dev/null +++ b/templates/layouts/why.html @@ -0,0 +1,12 @@ +{% extends "_default/base.html" %} +{% block content %} + +{% include "partials/why/hero.html" %} +{% include "partials/why/reason.html" %} +{% include "partials/why/timeline.html" %} +{% include "partials/why/matters.html" %} +{% include "partials/why/values.html" %} +{% include "partials/why/team.html" %} +{% include "partials/home/cta.html" %} + +{% endblock content %} \ No newline at end of file diff --git a/templates/list.html b/templates/list.html new file mode 100644 index 0000000..56e8399 --- /dev/null +++ b/templates/list.html @@ -0,0 +1,14 @@ +{% extends "_default/base.html" %} +{% block content %} + + +

    + {{ section.title }} +

    + +

    This comes from /templates/_default/list.html.

    +{% endblock content %} \ No newline at end of file diff --git a/templates/macros.html b/templates/macros.html new file mode 100644 index 0000000..de4fb02 --- /dev/null +++ b/templates/macros.html @@ -0,0 +1,39 @@ + +{% macro get_if_exists(path, type="text") %} + {% set pages_str = people.pages | json_encode() | as_str %} + {% if pages_str is containing(person.name) %} + {% set page = get_page(path=page_path) %} + {% endif %} + {{ page }} +{% endmacro get_if_exists %} + +{% macro page_list(type="text") %} +
    + {% if section.extra.group_pages_by %} +
    + {% set taxonomy = get_taxonomy(kind=section.extra.group_pages_by) %} + {% set roles = taxonomy.items %} + {% for role in roles %} +
    + {% set icon_path = config.extra.taxonomies["roles"][role.name].icon_path | as_str %} + role category icon + {% set path = role.name | slugify %} + {% set fullpath = "/roles/" ~ path %} + {{role.name}} + {% for page in role.pages %} + {% include "partials/pageBox.html"%} + {% endfor %} +
    + {% endfor %} +
    + {% else %} + {% for page in section.pages %} + {{page}} + {% include "partials/pageBox.html"%} + {% endfor %} + {% endif %} +{% endmacro page_list %} + + diff --git a/templates/memberships/list.html b/templates/memberships/list.html new file mode 100644 index 0000000..f628a84 --- /dev/null +++ b/templates/memberships/list.html @@ -0,0 +1,4 @@ +{% extends "index.html" %} + +{% block content %} +{% endblock content %} \ No newline at end of file diff --git a/templates/memberships/single.html b/templates/memberships/single.html new file mode 100644 index 0000000..359c1f9 --- /dev/null +++ b/templates/memberships/single.html @@ -0,0 +1,88 @@ +{% extends "index.html" %} + +{% block content %} + +{% if not paginator %} + {% set paginator = section %} +{% endif %} + +{% set path_array = current_path | split(pat="/") %} +{% set taxonomy = path_array[1] %} +{% set category = path_array[2] %} +{% if path_array | length < 3%} +{% set category = "All" %} +{% endif %} + +
    + {% include "partials/filter_bar.html" %} +
    +
    +

    + {{category | replace(from='-', to=' ' ) | title}} +

    +
    + {{ paginator.total_pages ~ " People"}} +
    +
    + +
    + +
    +
    + {%- for page in paginator.pages %} + {% include "partials/person_card.html" %} + {%- endfor %} +
    +
    +

    + {% if paginator.previous %} + {% include "partials/icons/svgPrevPageIcon.html" %}{% include + "partials/icons/svgPrevPageIcon.html" %} +           + {% include "partials/icons/svgPrevPageIcon.html" %} +           +           {% else %} {% + include "partials/icons/svgFirstPageIcon.html" %}{% include + "partials/icons/svgFirstPageIcon.html" %} +           {% include + "partials/icons/svgFirstPageIcon.html" %} +           +           {% endif %} {% if + paginator.next %} + {% include "partials/icons/svgNextPageIcon.html" %} +           + {% include "partials/icons/svgNextPageIcon.html" %}{% include + "partials/icons/svgNextPageIcon.html" %} + {% else %} {% include "partials/icons/svgLastPageIcon.html" %} +           {% include + "partials/icons/svgLastPageIcon.html" %}{% include + "partials/icons/svgLastPageIcon.html" %} {% endif %} +

    +
    +
    + +
    + +{% endblock content %} + + diff --git a/templates/news-category/list.html b/templates/news-category/list.html new file mode 100644 index 0000000..f628a84 --- /dev/null +++ b/templates/news-category/list.html @@ -0,0 +1,4 @@ +{% extends "index.html" %} + +{% block content %} +{% endblock content %} \ No newline at end of file diff --git a/templates/news-category/single.html b/templates/news-category/single.html new file mode 100644 index 0000000..fa29234 --- /dev/null +++ b/templates/news-category/single.html @@ -0,0 +1,14 @@ +{% extends "index.html" %} + +{% block content %} + +
    + +
    + {% include "partials/newsPosts.html" %} + {% include "partials/newsSidebar.html" %} +
    +
    + + {% endblock content %} + diff --git a/templates/newsPage.html b/templates/newsPage.html new file mode 100644 index 0000000..055b582 --- /dev/null +++ b/templates/newsPage.html @@ -0,0 +1,147 @@ +{% extends "_default/base.html" %} +{% block content %} + +{% set split = page.content | split(pat="threefold.io") %} +{% if split | length < 2 %} + {% set content = page.content %} +{% else %} + {% set content = "" %} + {% for part in split %} + {% if part is starting_with("/blog") %} + {% set split_part = part | split(pat='/">') %} + {% set link = split_part[0] %} + {% set link = link | replace(from="/blog/post", to="/blog") %} + {% set link = link | replace(from="_", to="-") %} + {% set rest_part = split_part | slice(start=1) | join(sep='/">') %} + {% set part = link ~ '/">' ~ rest_part %} + {% endif %} + {% if part is starting_with("/people") %} + {% set split_part = part | split(pat='/">') %} + {% set link = split_part[0] %} + {% set link = link | replace(from="_", to="-") %} + {% set rest_part = split_part | slice(start=1) | join(sep='/">') %} + {% set part = link ~ '/">' ~ rest_part %} + {% endif %} + {% if loop.first %} + {% set_global content = part %} + {% else %} + {% set_global content = content ~ "threefold.io" ~ part %} + {% endif %} + {% endfor %} +{% endif %} + + + +
    + +
    + +
    +
    +

    + {{ page.title }} +

    +

    + {{ page.description }} +

    +
    + +
    +
    + {% if page.extra.imgPath %} + {% set img_url = get_url(path='/' ~ page.relative_path | replace(from='_', to='-') | replace(from='index.md', to=page.extra.imgPath)) %} + + {%endif%} +
    + +
    +
    +
    {{ content | safe }}
    +
    + + +
    +
    +
    +{% endblock content %} \ No newline at end of file diff --git a/templates/oldheader.html b/templates/oldheader.html new file mode 100644 index 0000000..c62d965 --- /dev/null +++ b/templates/oldheader.html @@ -0,0 +1,252 @@ + + + + +{% set section = get_section(path="_index.md") %} +{% set subsections_str = section.subsections | join(sep=" ") %} +{% set logo_path = get_url(path=section.extra.logo_path | default(value='')) %} + +{% if "header/_index.md" in subsections_str %} + {% set section = get_section(path="header/_index.md") %} + {% set header_items = section.content | safe | split(pat=" +
  • + ") %} + {% include "partials/header_custom.html" %} +{% else %} +
    + {% set header_class = config.extra.header_class | default(value='') %} +
    +
    +
    +
    + + FreeFlow Logo + +
    +
    + + +
    + +
    +
    + {% for subsection in section.subsections %} + {% if subsection == "footer/_index.md" %} {% continue %} {% endif %} + {% set submenu_id = subsection ~ "-menu" | slugify %} + + {% endfor %} + + +
    + {% endif %} diff --git a/templates/page.html b/templates/page.html new file mode 100644 index 0000000..5f9cac9 --- /dev/null +++ b/templates/page.html @@ -0,0 +1,10 @@ +{% extends "_default/base.html" %} + +{% block content %} + +
    + + + {{page.content | safe}} + +
    {% endblock content %} diff --git a/templates/partials/accordion.html b/templates/partials/accordion.html new file mode 100644 index 0000000..0aed92b --- /dev/null +++ b/templates/partials/accordion.html @@ -0,0 +1,48 @@ +{% set tfFaq = get_section(path="faq/_index.md") %} +{% set farmFaq = get_section(path="farmfaq/_index.md") %} +{% set tftFaq = get_section(path="tftfaq/_index.md") %} + +{% if current_path == '/faq/' %} +

    {{ tfFaq.title }}

    +
    + {% for page in tfFaq.pages %} +
    + {{ page.title }} +
    +

    {{ page.content | safe }}

    +
    +
    + {% endfor %} +
    + +{% elif current_path == '/farmfaq/' %} +

    {{ farmFaq.title }}

    +
    + {% for page in farmFaq.pages %} +
    + {{ page.title }} +
    +

    {{ page.content | safe }}

    +
    +
    + {% endfor %} +
    + +{% elif current_path == '/tftfaq/' %} +

    {{ tftFaq.title }}

    +
    + {% for page in tftFaq.pages %} +
    + {{ page.title }} +
    +

    {{ page.content | safe }}

    +
    +
    + {% endfor %} +
    +{% endif %} + \ No newline at end of file diff --git a/templates/partials/action/action.html b/templates/partials/action/action.html new file mode 100644 index 0000000..da181b8 --- /dev/null +++ b/templates/partials/action/action.html @@ -0,0 +1,90 @@ +
    +
    +
    + +
    +
    +

    When 3 Becomes 4

    +

    + The internet is a trillion-dollar industry, and we believe it should be built and owned by everyone—an internet created by all, for all.

    + Web4 represents the natural evolution of the internet, enabling humans and machines to collaborate in creating a new form of intelligence that respects both the planet and the people.

    + For over a decade, ThreeFold has been dedicated to realizing this vision. Now is time for our next chapter. +

    +
    +
    + + +
    +
    +
    +

    We believe actions are more important than words.

    + This page is in black & white, to let YOU be the color of the future of the internet. +

    +
    +
    + Take the Next Step +
    +
    +
    +
    +
    + + + + + + diff --git a/templates/partials/action/announcements.html b/templates/partials/action/announcements.html new file mode 100644 index 0000000..0533f06 --- /dev/null +++ b/templates/partials/action/announcements.html @@ -0,0 +1,57 @@ +
    +
    +
    +

    Announcements

    +

    Coming Soon on 12.12.24

    +

    + +
    +
    +
    +

    A Roadmap to
    Web4

    +
    +
    +

    Web4
    Phone

    +
    +
    +

    Web4
    Router

    +
    +
    +

    Web4
    Node

    +
    +
    +
    +
    +
  • + + + + diff --git a/templates/partials/action/banner.html b/templates/partials/action/banner.html new file mode 100644 index 0000000..98b1bae --- /dev/null +++ b/templates/partials/action/banner.html @@ -0,0 +1,8 @@ +
    +
    + TF +
    +
    diff --git a/templates/partials/action/cta.html b/templates/partials/action/cta.html new file mode 100644 index 0000000..3f7fee8 --- /dev/null +++ b/templates/partials/action/cta.html @@ -0,0 +1,53 @@ +
    +
    +

    + Stay tuned for 12.12.24
    +

    + +
    +
    + + \ No newline at end of file diff --git a/templates/partials/action/hero.html b/templates/partials/action/hero.html new file mode 100644 index 0000000..c4a4d3a --- /dev/null +++ b/templates/partials/action/hero.html @@ -0,0 +1,83 @@ +
    +
    +

    + We believe actions are more important than words.
    + This page is in black & white, + to let YOU be the color of the future of the internet. +

    + +

    + Web4 +

    + +

    + Web4 opens the door for Machines & Humans to create together + a new form of Intelligence with respect for the Planet & People. +

    + +

    + Augmented Collective Intelligence +

    + +

    + ThreeFold has been working on Web4 for more than 10 years, + ready to go public 12.12.2024 +

    + +

    + An Internet created by Everyone for Everyone +

    + +

    + The Internet is a Trillion USD business. + We want to make sure this Internet is built and owned by all of us. +

    + +

    + Register for our online launch event 12-12-2024. +

    + +

    + When 3 Becomes 4 +

    + +
    +
    + + + + diff --git a/templates/partials/action/tools.html b/templates/partials/action/tools.html new file mode 100644 index 0000000..c34fd6c --- /dev/null +++ b/templates/partials/action/tools.html @@ -0,0 +1,40 @@ +
    +
    +
    +

    Unlock the Web4 Revolution with ThreeFold

    +

    From secure phones and AI-driven virtual assistants to encrypted routers and decentralized nodes, explore a suite of innovative Web4 products designed to redefine connectivity, empower autonomy, and simplify daily life with cutting-edge technology.

    +
    +
    +
    +
    +
    +
    +

    Web4 Phone

    +

    The world’s first truly decentralized smartphone on a mission to define Web4 mobile connectivity.

    + Learn more +
    +
    +
    +
    +

    Web4 Router

    +

    Be your own Internet and unlock the full potential of Web4 from the convenience of your home.

    + Learn more +
    +
    +
    +
    +

    Web4 Nodes

    +

    Power the Internet by hosting your own Web4 Node—contributing to a secure, scalable, and autonomous Web4 ecosystem.

    + Learn more +
    +
    +
    +
    +

    TF Genie

    +

    Your AI-powered Web4 assistant, designed to enhance productivity and simplify daily tasks with seamless integration.

    + Learn more +
    +
    +
    +
    +
    diff --git a/templates/partials/action/video.html b/templates/partials/action/video.html new file mode 100644 index 0000000..45fc842 --- /dev/null +++ b/templates/partials/action/video.html @@ -0,0 +1,109 @@ +
    +
    + +

    + Join the Web4 Revolution +

    + + +

    + Join us on our journey. Watch the video below and scroll down to learn how you can participate. +

    + +
    + + +
    +
    + +
    +
    + + + +
    +
    + + + + diff --git a/templates/partials/action/web4tools.html b/templates/partials/action/web4tools.html new file mode 100644 index 0000000..d84c093 --- /dev/null +++ b/templates/partials/action/web4tools.html @@ -0,0 +1,41 @@ +
    +
    +
    +

    Discover ThreeFold's Web4 Products for a Smarter, Secure Future

    +

    + From secure phones and AI-driven virtual assistants to encrypted routers and decentralized nodes, explore a suite of innovative Web4 products designed to redefine connectivity, empower autonomy, and simplify daily life with cutting-edge technology.

    +
    +
    + + + + +
    +
    +
    +
    3Phone
    +
    Secure smartphones come with built-in decentralized apps and seamlessly integrate with the ThreeFold Grid.
    + Learn more +
    +
    +
    3Bot
    +
    An AI-powered virtual system administrator helps deploy and manage your digital life.
    + Learn more +
    +
    +
    3Node
    +
    The backbone of Web4's cloud infrastructure, providing compute and data resources.
    + Learn more +
    +
    +
    3Router
    +
    Smart routers ensure shortest-path connections between nodes and phones with end-to-end encryption.
    + Learn more +
    +
    +
    +
    +
    +
    diff --git a/templates/partials/applicationForm.html b/templates/partials/applicationForm.html new file mode 100644 index 0000000..c2b84c9 --- /dev/null +++ b/templates/partials/applicationForm.html @@ -0,0 +1,60 @@ +
    +
    +
    +
    +

    Application

    +
    +
    + +
    + http:// + +
    +
    +
    + +
    + +
    + +
    +

    Brief description for your profile. URLs are hyperlinked.

    +
    + +
    + +
    + + + + + + +
    +
    + +
    + +
    +
    + +
    + +

    or drag and drop

    +
    +

    PDF up to 10MB

    +
    +
    +
    +
    +
    + +
    +
    +
    +
    \ No newline at end of file diff --git a/templates/partials/blogPosts.html b/templates/partials/blogPosts.html new file mode 100644 index 0000000..147cac9 --- /dev/null +++ b/templates/partials/blogPosts.html @@ -0,0 +1,70 @@ +{% block content %} + +
    +

    + {% set path_array = current_path | split(pat="/") %} + {% set taxonomy = path_array[1] %} + {% set category = path_array[2] %} + ThreeFold stories and project info + {% if taxonomy == "categories" %} - + {{category | replace(from='-', to=' ' ) | title}} + {% endif %} +

    +
    +
    + {%- for post in paginator.pages %} + {% if not post.extra.hidden %} + {% include "partials/postCard.html" %} + {%endif%} {%- endfor %} +
    +
    +

    + {% if paginator.previous %} + {% include "partials/icons/svgPrevPageIcon.html" %}{% include + "partials/icons/svgPrevPageIcon.html" %} +           + {% include "partials/icons/svgPrevPageIcon.html" %} +           +           {% else %} {% + include "partials/icons/svgFirstPageIcon.html" %}{% include + "partials/icons/svgFirstPageIcon.html" %} +           {% include + "partials/icons/svgFirstPageIcon.html" %} +           +           {% endif %} {% if + paginator.next %} + {% include "partials/icons/svgNextPageIcon.html" %} +           + {% include "partials/icons/svgNextPageIcon.html" %}{% include + "partials/icons/svgNextPageIcon.html" %} + {% else %} {% include "partials/icons/svgLastPageIcon.html" %} +           {% include + "partials/icons/svgLastPageIcon.html" %}{% include + "partials/icons/svgLastPageIcon.html" %} {% endif %} +

    +
    +
    + +{% endblock content %} diff --git a/templates/partials/blogSidebar.html b/templates/partials/blogSidebar.html new file mode 100644 index 0000000..c7dabd1 --- /dev/null +++ b/templates/partials/blogSidebar.html @@ -0,0 +1,38 @@ + +
    +
    +

    FILTER POSTS BY

    + All + {% set taxonomy = get_taxonomy(kind="categories") %} + {% set categories = taxonomy.items %} + {% for category in categories %} + {% set path = category.name | slugify %} + {% set fullpath = "/categories/" ~ path %} + {{category.name}} + {% endfor %} +
    + +{% set section = get_section(path="blog/_index.md")%} + +
    +

    FEATURED POSTS

    + + {% for page in section.pages %} + {% if page.extra.isFeatured %} + {{ page.title }} + {% endif %} + {% endfor %} + +
    +
    + + \ No newline at end of file diff --git a/templates/partials/cta.html b/templates/partials/cta.html new file mode 100644 index 0000000..378eb8a --- /dev/null +++ b/templates/partials/cta.html @@ -0,0 +1,16 @@ +
    +
    +

    + Build the
    Internet of Tomorrow,
    Today. +

    + + +
    +
    + + diff --git a/templates/partials/feature/feature1.html b/templates/partials/feature/feature1.html new file mode 100644 index 0000000..8b036cf --- /dev/null +++ b/templates/partials/feature/feature1.html @@ -0,0 +1,39 @@ +
    +
    +
    +
    +
    +

    SUBHEADER

    +

    This is Feature1.html

    +

    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.

    +
    +
    +
    + ✓ Push to deploy. +
    +
    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.
    +
    +
    +
    + ✓ SSL certificates. +
    +
    Anim aute id magna aliqua ad ad non deserunt sunt. Qui irure qui lorem cupidatat commodo.
    +
    +
    +
    + ✓ Database backups. +
    +
    Ac tincidunt sapien vehicula erat auctor pellentesque rhoncus. Et magna sit morbi lobortis.
    +
    +
    +
    +
    +
    +
    + App screenshot +
    +
    +
    +
    +
    + \ No newline at end of file diff --git a/templates/partials/feature/feature2.html b/templates/partials/feature/feature2.html new file mode 100644 index 0000000..d70a20f --- /dev/null +++ b/templates/partials/feature/feature2.html @@ -0,0 +1,64 @@ +
    +
    +
    +

    SUBHEADER

    +

    This is Feature2.html

    +

    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.

    +
    +
    +
    +
    + App screenshot + +
    +
    +
    +
    +
    +
    + + ✓ Push to deploy. +
    +
    Lorem ipsum, dolor sit amet consectetur adipisicing elit aute id magna.
    +
    +
    +
    + + ✓ SSL certificates. +
    +
    Anim aute id magna aliqua ad ad non deserunt sunt. Qui irure qui lorem cupidatat commodo.
    +
    +
    +
    + + ✓ Simple queues. +
    +
    Ac tincidunt sapien vehicula erat auctor pellentesque rhoncus.
    +
    +
    +
    + + ✓ Advanced security. +
    +
    Lorem ipsum, dolor sit amet consectetur adipisicing elit aute id magna.
    +
    +
    +
    + + ✓ Powerful API. +
    +
    Anim aute id magna aliqua ad ad non deserunt sunt. Qui irure qui lorem cupidatat commodo.
    +
    +
    +
    + + ✓ Database backups. +
    +
    Ac tincidunt sapien vehicula erat auctor pellentesque rhoncus.
    +
    +
    +
    +
    + \ No newline at end of file diff --git a/templates/partials/feature/feature3.html b/templates/partials/feature/feature3.html new file mode 100644 index 0000000..d6b2514 --- /dev/null +++ b/templates/partials/feature/feature3.html @@ -0,0 +1,50 @@ +
    +
    +
    +

    SUBHEADER

    +

    This is Feature3.html

    +

    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.

    +
    +
    +
    +
    +
    + + ✓ Push to deploy +
    +
    +

    Commodo nec sagittis tortor mauris sed. Turpis tortor quis scelerisque diam id accumsan nullam tempus. Pulvinar etiam lacus volutpat eu.

    +

    + Learn more +

    +
    +
    +
    +
    + + ✓ SSL certificates +
    +
    +

    Pellentesque enim a commodo malesuada turpis eleifend risus. Facilisis donec placerat sapien consequat tempor fermentum nibh.

    +

    + Learn more +

    +
    +
    +
    +
    + + ✓ Simple queues +
    +
    +

    Pellentesque sit elit congue ante nec amet. Dolor aenean curabitur viverra suspendisse iaculis eget. Nec mollis placerat ultricies euismod.

    +

    + Learn more +

    +
    +
    +
    +
    +
    +
    + \ No newline at end of file diff --git a/templates/partials/feature/feature4.html b/templates/partials/feature/feature4.html new file mode 100644 index 0000000..49e1f8c --- /dev/null +++ b/templates/partials/feature/feature4.html @@ -0,0 +1,85 @@ +
    +
    +
    +

    SUBHEADER

    +

    This is Feature4.html +

    +

    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.

    +

    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.

    + + Get started + +
    +
    +
    +
    +
    ✓ Communicate securely
    +
    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.
    +
    +
    +
    ✓ Store effortlessly
    +
    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.
    +
    +
    +
    ✓ Restore authenticity
    +
    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.
    +
    +
    +
    ✓ Unlockinsights
    +
    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.
    +
    +
    +
    ✓ Streamline interactions
    +
    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.
    +
    +
    +
    ✓ digital presence
    +
    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.
    +
    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/templates/partials/feature/feature5.html b/templates/partials/feature/feature5.html new file mode 100644 index 0000000..d14ebea --- /dev/null +++ b/templates/partials/feature/feature5.html @@ -0,0 +1,152 @@ +
    +
    +
    +

    SUBHEADER

    +

    This is feature5.html

    +

    + Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione. Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione. +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    + FEATURE +
    +
    +

    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.

    +

    + Learn more +

    +
    +
    +
    +
    + FEATURE +
    +
    +

    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.

    +

    + Learn more +

    +
    +
    +
    +
    + FEATURE +
    +
    +

    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.

    +

    + Learn more +

    +
    +
    + + +
    +
    + FEATURE +
    +
    +

    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.

    +

    + Learn more +

    +
    +
    +
    +
    + FEATURE +
    +
    +

    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.

    +

    + Learn more +

    +
    +
    +
    +
    + FEATURE +
    +
    +

    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.

    +

    + Learn more +

    +
    +
    + + +
    +
    + FEATURE +
    +
    +

    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.

    +

    + Learn more +

    +
    +
    +
    +
    + FEATURE +
    +
    +

    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.

    +

    + Learn more +

    +
    +
    + +
    +
    + FEATURE +
    +
    +

    Decentralized communication layer of TF Grid that connects and coordinates nodes on the ThreeFold Grid, enabling secure and efficient peer-to-peer interactions.

    +

    + Learn more +

    +
    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/templates/partials/feature/feature6.html b/templates/partials/feature/feature6.html new file mode 100644 index 0000000..702c7c1 --- /dev/null +++ b/templates/partials/feature/feature6.html @@ -0,0 +1,39 @@ +
    +
    +
    +
    +
    +

    SUBHEADER

    +

    This is Feature6.html

    +

    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.

    +
    +
    +
    + Push to deploy. +
    +
    Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maiores impedit perferendis suscipit eaque, iste dolor cupiditate blanditiis ratione.
    +
    +
    +
    + + SSL certificates. +
    +
    Anim aute id magna aliqua ad ad non deserunt sunt. Qui irure qui lorem cupidatat commodo.
    +
    +
    +
    + + Database backups. +
    +
    Ac tincidunt sapien vehicula erat auctor pellentesque rhoncus. Et magna sit morbi lobortis.
    +
    +
    +
    +
    +
    + Product screenshot +
    +
    +
    +
    + \ No newline at end of file diff --git a/templates/partials/featuredBlog.html b/templates/partials/featuredBlog.html new file mode 100644 index 0000000..5875b4c --- /dev/null +++ b/templates/partials/featuredBlog.html @@ -0,0 +1,53 @@ +{% if featured.taxonomies.people %} + {% set people = get_section(path="people/_index.md") %} + {% set pages_str = people.pages | json_encode() | as_str %} + {% if pages_str is containing(featured.taxonomies.people[0]) %} + {% set author_path = 'people/' ~ featured.taxonomies.people[0] ~ '/index.md' %} + {% set author = get_page(path=author_path) %} + {% endif %} +{% endif %} + + + +
    +
    +

    FEATURED POST

    + +

    + {{ featured.title }} +

    +

    + {{ featured.description }} +

    +
    +

    + {{ featured.date | date(format="%B %e, %Y", timezone="America/Chicago")}} - + {% for author in featured.taxonomies.people %} + {% set author_path = 'people/' ~ author ~ '/index.md' %} + {% set author = get_page(path=author_path) %} + {% set author_img = get_url(path='/' ~ author.relative_path | replace(from='_', to='-') | replace(from='index.md', to=author.extra.imgPath)) %} + {{ author.title }} {{ author.title }} + {% endfor %} +

    + +
    + +
    + +
    +
    + +
    + + + + \ No newline at end of file diff --git a/templates/partials/featuredNews.html b/templates/partials/featuredNews.html new file mode 100644 index 0000000..50e03c6 --- /dev/null +++ b/templates/partials/featuredNews.html @@ -0,0 +1,45 @@ + + +
    +
    +

    FEATURED NEWS

    + +

    + {{ featured.title }} +

    +

    + {{ featured.description }} +

    +
    + +

    + {{ featured.date | date(format="%B %e, %Y", timezone="America/Chicago")}} - + {% for author in featured.taxonomies.people %} + {% set author_path = 'people/' ~ author ~ '/index.md' %} + {% set author = get_page(path=author_path) %} + {% set author_img = get_url(path='/' ~ author.relative_path | replace(from='_', to='-') | replace(from='index.md', to=author.extra.imgPath)) %} + {{ author.title }} {{ author.title }} + {% endfor %} +

    + +
    + +
    + {% if featured.extra.imgPath %} + + {% endif %} +
    +
    +
    + + + \ No newline at end of file diff --git a/templates/partials/filter_bar.html b/templates/partials/filter_bar.html new file mode 100644 index 0000000..7f09d59 --- /dev/null +++ b/templates/partials/filter_bar.html @@ -0,0 +1,48 @@ +{% set path_array = current_path | split(pat="/") %} +{% set taxonomy = path_array[1] %} +{% set category = path_array[2] %} +{% if path_array | length < 4%} +{% set category = "All" %} +{% endif %} + + + +
    +
    +
    +
    + + Filter: + +
    +
    + +
    +
    \ No newline at end of file diff --git a/templates/partials/footer.html b/templates/partials/footer.html new file mode 100644 index 0000000..b895861 --- /dev/null +++ b/templates/partials/footer.html @@ -0,0 +1,35 @@ +{%- set section = get_section(path="footer/_index.md") %} +{%- set logoPath = section.extra.logoPath %} + + + + +
    + + + diff --git a/templates/partials/form.html b/templates/partials/form.html new file mode 100644 index 0000000..4a832d5 --- /dev/null +++ b/templates/partials/form.html @@ -0,0 +1 @@ +
    \ No newline at end of file diff --git a/templates/partials/head.html b/templates/partials/head.html new file mode 100644 index 0000000..afbb00a --- /dev/null +++ b/templates/partials/head.html @@ -0,0 +1,165 @@ +{% set cloudiBase = 'https://res.cloudinary.com/brycewray-com/image/upload/' %} +{% set xFmPart1 = 'f_auto,q_auto:eco,w_' %} +{% set xFmPart2 = ',x_0,z_1/' %} +{% set fallbackImg = 'typewriter-monochrome_2242164_6260x4374.jpg' %} +{% set zolaVer = '0.13.0' %} + + + {% block title %} + {{ config.title }} + + + {% if section.title %} + {{ section.title }} + + {% elif page.title %} + {{ page.title }} + + {%endif%} + + {%if section.extra.imgPath %} + + + + {% elif page.extra.imgPath %} + + + + {%endif%} + + {%if section.description%} + + + + {%elif page.description%} + + + + {%endif%} + + {% endblock title %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {% block rss %} + + {% endblock %} + diff --git a/templates/partials/header.html b/templates/partials/header.html new file mode 100644 index 0000000..ce01abe --- /dev/null +++ b/templates/partials/header.html @@ -0,0 +1,226 @@ +{%- set section = get_page(path="header/index.md") %} +{% set header_items = section.content | safe | split(pat="
  • ") %} + +
    +
    +
    +
    +
    + + ThreeFold Logo + +
    +
    + + +
    +
  • ") %} + {% set header_label = header_arr[0] %} + {% if ' + {{link_label}} + + {% endif %} + {% elif current_url and current == current_url %} + + {{link_label}} + + {% else %} + + {{link_label}} + + {% endif %} + {% else %} +
    + {% set button_id = header_label ~ "-menu-btn" | slugify %} + +
    + + {% endif %} + {% endif %} + {% endfor %} + + + + + + + {% for header_item in header_items %} + {% if not loop.first %} + {% set header_arr = header_item | split(pat="") %} + {% set header_label = header_arr[0] %} + {% set header_menu = header_arr[1] %} + {% set menu_id = header_label ~ "-menu" | slugify %} + + + + +{% endif %} +{% endfor %} + + + + + + + + + \ No newline at end of file diff --git a/templates/partials/header_copy.html b/templates/partials/header_copy.html new file mode 100644 index 0000000..e69de29 diff --git a/templates/partials/header_custom.html b/templates/partials/header_custom.html new file mode 100644 index 0000000..04d9b44 --- /dev/null +++ b/templates/partials/header_custom.html @@ -0,0 +1,86 @@ +
    +
    +
    +
    +
    + + ODFZ Logo + +
    +
    + + +
    + +
    +
    + + {% for header_item in header_items %} + {% set header_parts = header_item | split(pat="") %} + {% set header_label = header_parts[0] %} + {% set header_menu = header_parts[1] %} + {% set menu_id = header_label ~ "-menu" | slugify %} + + {% endfor %} +
    +
    + + diff --git a/templates/partials/hero/hero1.html b/templates/partials/hero/hero1.html new file mode 100644 index 0000000..3a65eed --- /dev/null +++ b/templates/partials/hero/hero1.html @@ -0,0 +1,22 @@ +
    +
    +
    + +
    +

    SUBHEADER

    +

    This is Hero1.html

    +

    This is smaller title h2

    +

    Anim aute id magna aliqua ad ad non deserunt sunt. Qui irure qui lorem cupidatat commodo. Elit sunt amet fugiat veniam occaecat.

    + +
    +
    +
    +
    + \ No newline at end of file diff --git a/templates/partials/hero/hero2.html b/templates/partials/hero/hero2.html new file mode 100644 index 0000000..7f0aa01 --- /dev/null +++ b/templates/partials/hero/hero2.html @@ -0,0 +1,19 @@ +
    +
    +
    +

    SUBHEADER

    +

    This is Hero2.html

    +

    This is smaller title h2

    +

    Anim aute id magna aliqua ad ad non deserunt sunt. Qui irure qui lorem cupidatat commodo. Elit sunt amet fugiat veniam occaecat.

    + +
    +
    +
    + App screenshot +
    +
    +
    +
    diff --git a/templates/partials/hero/hero3.html b/templates/partials/hero/hero3.html new file mode 100644 index 0000000..70b77b4 --- /dev/null +++ b/templates/partials/hero/hero3.html @@ -0,0 +1,23 @@ +
    +
    + +
    +
    + +
    +

    This is Hero3.html

    +

    This is smaller title h2

    +

    Anim aute id magna aliqua ad ad non deserunt sunt. Qui irure qui lorem cupidatat commodo. Elit sunt amet fugiat veniam occaecat.

    + +
    +
    +
    +
    +
    diff --git a/templates/partials/hero/hero4.html b/templates/partials/hero/hero4.html new file mode 100644 index 0000000..95b009e --- /dev/null +++ b/templates/partials/hero/hero4.html @@ -0,0 +1,19 @@ +
    +
    +
    +
    +
    +

    This is Hero4.html

    +

    This is smaller title h2

    +

    Anim aute id magna aliqua ad ad non deserunt sunt. Qui irure qui lorem cupidatat commodo. Elit sunt amet fugiat veniam occaecat.

    + +
    + App screenshot +
    +
    +
    +
    + \ No newline at end of file diff --git a/templates/partials/hero/hero5.html b/templates/partials/hero/hero5.html new file mode 100644 index 0000000..32ef2c4 --- /dev/null +++ b/templates/partials/hero/hero5.html @@ -0,0 +1,29 @@ +
    +
    +
    +
    +

    SUBHEADER

    +

    + This is Hero5.html +

    +

    This is smaller title h2

    +

    + Anim aute id magna aliqua ad ad non deserunt sunt. Qui irure qui lorem cupidatat commodo. + Elit sunt amet fugiat veniam occaecat fugiat aliqua. Anim aute id magna aliqua ad ad non deserunt sunt. +

    + +
    +
    + Mobile App Screenshot +
    +
    +
    +
    diff --git a/templates/partials/hero/hero6.html b/templates/partials/hero/hero6.html new file mode 100644 index 0000000..d921f0b --- /dev/null +++ b/templates/partials/hero/hero6.html @@ -0,0 +1,28 @@ +
    +
    +
    +
    +

    SUBHEADER

    +

    + This is Hero6.html +

    +

    This is smaller title h2

    +

    + Anim aute id magna aliqua ad ad non deserunt sunt. Qui irure qui lorem cupidatat commodo. + Elit sunt amet fugiat veniam occaecat fugiat aliqua. Anim aute id magna aliqua ad ad non deserunt sunt. +

    + +
    +
    +
    + +
    +
    +
    diff --git a/templates/partials/hero/hero7.html b/templates/partials/hero/hero7.html new file mode 100644 index 0000000..1be8e24 --- /dev/null +++ b/templates/partials/hero/hero7.html @@ -0,0 +1,38 @@ +
    +
    +
    +
    +
    +
    + +

    SUBHEADER IF NEEDED

    +

    This is hero7.html

    +

    This is smaller title h2

    +

    + Anim aute id magna aliqua ad ad non deserunt sunt. Qui irure qui lorem cupidatat commodo. + Elit sunt amet fugiat veniam occaecat fugiat aliqua. +

    + +
    +
    +
    +
    +
    + +
    +
    +
    diff --git a/templates/partials/hero/hero8.html b/templates/partials/hero/hero8.html new file mode 100644 index 0000000..a2f86f3 --- /dev/null +++ b/templates/partials/hero/hero8.html @@ -0,0 +1,54 @@ +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +

    SUBHEADER

    +

    This is Hero8.html

    +

    This is smaller title h2

    +

    Anim aute id magna aliqua ad ad non deserunt sunt. Qui irure qui lorem cupidatat commodo. Elit sunt amet fugiat veniam occaecat fugiat aliqua.

    + +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    diff --git a/templates/partials/hero/hero9.html b/templates/partials/hero/hero9.html new file mode 100644 index 0000000..0aacd72 --- /dev/null +++ b/templates/partials/hero/hero9.html @@ -0,0 +1,22 @@ +
    +
    +
    +
    +
    +

    SUBHEADER

    +

    This is hero9.html

    +

    This is smaller title h2

    +

    Anim aute id magna aliqua ad ad non deserunt sunt. Qui irure qui lorem cupidatat commodo. Elit sunt amet fugiat veniam occaecat fugiat aliqua. Anim aute id magna aliqua ad ad non deserunt sunt. Qui irure qui lorem cupidatat commodo.

    + +
    +
    + +
    +
    +
    +
    +
    + \ No newline at end of file diff --git a/templates/partials/home/banner.html b/templates/partials/home/banner.html new file mode 100644 index 0000000..047bdc3 --- /dev/null +++ b/templates/partials/home/banner.html @@ -0,0 +1,9 @@ +
    +
    + TF +
    +
    + \ No newline at end of file diff --git a/templates/partials/home/bento.html b/templates/partials/home/bento.html new file mode 100644 index 0000000..0aac648 --- /dev/null +++ b/templates/partials/home/bento.html @@ -0,0 +1,115 @@ +
    +
    + CONCEPT +

    Value Propositions

    +
    + +
    +
    +
    + +
    +

    NEXT-GEN BUSINESS

    +

    Digital Freezone

    + +

    A future-focused ecosystem with streamlined business processes, decentralized systems, and global connectivity.

    +
    +
    +
    +
    + +
    +
    +
    + +
    +

    SUSTAINABLE CLOUD & AI INFRASTRUCTURE

    +

    DataCenter City

    +

    Zanzibar’s largest, most sustainable data center, equipped with Threefold Nodes and co-owned AI integrated with city services.

    +
    +
    +
    +
    + +
    +
    +
    + +
    +

    SECURE AI & DIGITAL IDENTITY

    +

    Digital Hero

    +

    Private, secure communication and transactions with efficient AI assisted collaboration and full control of your own data and digital identity.

    +
    +
    +
    +
    + +
    +
    +
    + +
    +

    STARTUP GROWTH & INNOVATION HUB

    +

    Venture Creator

    +

    Empowers startups with strategic guidance, funding support, global networking, talent acquisition, and operational resources.

    +
    +
    +
    +
    + +
    +
    +
    + +
    +

    SUSTAINABLE FUTURE

    +

    Regenerative Living

    +

    Tech-driven sustainable living powered by clean energy, organic food, and a resilient, collaborative community with global impact.

    +
    +
    +
    +
    + +
    +
    +
    + +
    +

    DECENTRALIZED ECONOMY

    +

    Digital Assets

    +

    Tokenized assets drive fair trade, sustainable economies, and stability with resilient digital currencies.

    +
    +
    +
    +
    + +
    +
    +
    + +
    +

    LEGAL AUTONOMY

    +

    Autonomous Zone

    +

    Enjoy legal independence, data ownership, and secure connections in a future-focused global ecosystem.

    +
    +
    +
    +
    + +
    +
    +
    + +
    +

    AI-POWERED INFRASTRUCTURE

    +

    Augmented Intelligence

    +

    Homes power Zanzibar’s data center, with co-owned AI integrated into services and generating citizen income.

    +
    +
    +
    +
    + +
    +
    +
    + \ No newline at end of file diff --git a/templates/partials/home/cta.html b/templates/partials/home/cta.html new file mode 100644 index 0000000..f058cc2 --- /dev/null +++ b/templates/partials/home/cta.html @@ -0,0 +1,14 @@ +
    +
    +

    + Build the
    Internet of Tomorrow,
    Today. +

    + +
    +
    + diff --git a/templates/partials/home/faq.html b/templates/partials/home/faq.html new file mode 100644 index 0000000..445e59e --- /dev/null +++ b/templates/partials/home/faq.html @@ -0,0 +1,191 @@ + + + + + +
    +
    + +

    Frequently Asked Questions

    + + +
    + +
    +

    + +

    +
    +
    +

    + CyberCity is a next-generation smart city in Fumba, Zanzibar, designed to integrate cutting-edge technology, sustainability, and economic innovation. It features a Digital Freezone, regenerative living, AI-driven services, and a decentralized economic model, and many more. +

    +
    +
    +
    + +
    +

    + +

    +
    +
    +

    + Fumba is part of the 2042 Fumba Free Economic Zone Master Plan, strategically selected for its rapid development potential, economic incentives, and unique blend of cultural heritage and natural beauty. It offers a stable environment for global investment and innovation. +

    +
    +
    +
    + +
    +

    + +

    +
    +
    +

    + The Digital Freezone is a business-friendly ecosystem within Cybercity that features streamlined regulations, financial transparency, and global connectivity. It provides a light-touch regulatory environment, making it ideal for startups, digital entrepreneurs, and international businesses. +

    +
    +
    +
    + +
    +

    + +

    +
    +
    +

    + CyberCity is designed with eco-friendly urban planning, featuring car-free green spaces, smart energy solutions like Vehicle-to-Grid (V2G) integration, organic food production, and co-owned AI that optimizes resources while generating income for citizens. +

    +
    +
    +
    + +
    +

    + +

    +
    +
    +

    + You can invest, register a business, become a digital citizen, or move to CyberCity as an entrepreneur or resident. The city offers opportunities for innovators, investors, and forward-thinking individuals to be part of a revolutionary ecosystem. +

    +
    +
    +
    +
    + + + +
    + + + + diff --git a/templates/partials/home/farmers.html b/templates/partials/home/farmers.html new file mode 100644 index 0000000..d6ecb10 --- /dev/null +++ b/templates/partials/home/farmers.html @@ -0,0 +1,143 @@ +
    +
    +
    + CONCEPT +

    + Unique Value Proposition

    +

    + CyberCity Zanzibar is a city that combines sustainable living, streamlined business processes, cutting-edge datacenters, venture creation, and secure digital tools that empower citizens, businesses, and investors. +

    +
    +
    +
    +
    +
    + +
    +
    +
    + Digital Freezone +
    +
    +

    .

    +

    +

    +
    +
    + +
    +
    +
    + Datacenter City +
    +
    +

    +
    +
    + +
    +
    +
    + Digital Hero +
    +
    +

    +

    +

    +
    +
    + +
    +
    +
    + Venture Creator +
    +
    +

    +

    +

    +
    +
    + +
    +
    +
    + Regenerative Living +
    +
    +

    +

    +

    +
    +
    + +
    +
    +
    + Sovereign Zone +
    +
    +

    +

    +

    +
    +
    + +
    +
    +
    + Augmented Intelligence +
    +
    +

    +

    +

    +
    +
    + +
    +
    +
    + Digital Assets +
    +
    +

    + +

    +

    +
    +
    +
    +
    + +
    +
    + + + diff --git a/templates/partials/home/features.html b/templates/partials/home/features.html new file mode 100644 index 0000000..1c3643f --- /dev/null +++ b/templates/partials/home/features.html @@ -0,0 +1,79 @@ +
    +
    +
    +

    ThreeFold is the Infrastructure Layer of Web4 +

    +

    ThreeFold is not a protocol. We’ve developed foundational technology that runs directly on bare metal (the hardware).

    +

    ThreeFold is likely the only active project with a truly scalable solution addressing the Internet and Cloud’s core components: Data, Cloud, and Network.

    + Discover How It Works +
    +
    +
    +
    +
    Unbreakable Data
    +
    +
    +
    Data cannot be compromised and always remains private, owned by you. A scalable system, to the planetary level.
    +
    Can be distributed and stored in ways which are at least 10x more efficient and orders of magnitude more secure and reliable.
    +
    +
    +
    Autonomous Cloud
    +
    +
    +
    Self-healing and self-driving cloud based on an efficient and secure operating system runs directly on the hardware.
    +
    Can run any Web 2, Web 3, or AI workload at the edge of the Internet, with more scalability and reliability.
    +
    +
    +
    Unbreakable Network
    +
    +
    +
    End-to-end encrypted overlay network, always looking for the shortest possible path between participants.
    +
    Logical Internet address securely linked to a private key. Unlimited scale and performance optimizations.
    +
    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/templates/partials/home/grid_stats.html b/templates/partials/home/grid_stats.html new file mode 100644 index 0000000..177fc76 --- /dev/null +++ b/templates/partials/home/grid_stats.html @@ -0,0 +1,139 @@ +
    +
    +
    +
    +

    A Place to Live and Innovate

    +

    Together, we aim to create a future that reflects our values. Here, we provide a safe and inspiring environment for startups to build solutions that can make a real difference. We believe that with technology, collaboration, and good intentions, anything is possible.

    +
    +
    + +
    +
    + cores +
    Planet First
    +
    Utmost respect to mother earth in every action.
    +
    +
    + +
    +
    + cores +
    People First
    +
    Bring equality of opportunities for everyone
    +
    +
    + +
    +
    + cores +
    Open Source
    +
    Value open source methods for many aspects in life.
    +
    +
    + +
    +
    + cores +
    Simplicity
    +
    Erase complexity of things that kills progress.
    +
    +
    + +
    +
    + The total number of nodes on the grid. A node is a computer server 100% dedicated to the network. + cores +
    Authenticity
    +
    Commited to restore authenticity of people and information.
    +
    +
    +
    + +
    + +
    +
    + + + + + + \ No newline at end of file diff --git a/templates/partials/home/hero.html b/templates/partials/home/hero.html new file mode 100644 index 0000000..a93dc81 --- /dev/null +++ b/templates/partials/home/hero.html @@ -0,0 +1,91 @@ + + + + +
    + +
    +
    + Cybercity Logo +

    Welcome to a New Regenerative Startup City in the Heart of Zanzibar

    +

    Spanning 700,000m² in the heart of Fumba, Zanzibar, CyberCity is a place where talent meets opportunity, innovation embraces sustainability, and collaboration fuels progress. +

    +
    +
    +
    + + diff --git a/templates/partials/home/hero_old.html b/templates/partials/home/hero_old.html new file mode 100644 index 0000000..d539a4d --- /dev/null +++ b/templates/partials/home/hero_old.html @@ -0,0 +1,44 @@ +
    +
    +
    +

    We are Building
    a New Internet

    +

    A system built to scale to a planetary level, compatible with AI, Cloud, Web2, and Web3. Capable to provide 100% uptime, it enables any machine and human to communicate over the shortest path.

    +

    That's ThreeFold's

    +
    +

    Web4

    +
    + +
    +
    +
    + + + \ No newline at end of file diff --git a/templates/partials/home/products.html b/templates/partials/home/products.html new file mode 100644 index 0000000..4f96c73 --- /dev/null +++ b/templates/partials/home/products.html @@ -0,0 +1,27 @@ +
    +
    +
    +
    +
    +
    + Web4 Preview +
    +
    +
    +
    +
    +

    Unlock Web4 with ThreeFold

    +

    Revolutionary Tools for the Decentralized Internet.

    +
    +

    From secure phones and AI-driven virtual assistants to encrypted Web4 routers and decentralized nodes, our products redefine digital autonomy and connectivity.

    +
    + +
    +
    +
    +
    +
    + \ No newline at end of file diff --git a/templates/partials/home/residents.html b/templates/partials/home/residents.html new file mode 100644 index 0000000..1c67ad6 --- /dev/null +++ b/templates/partials/home/residents.html @@ -0,0 +1,53 @@ +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +

    PARTICIPATE

    +

    Become a Part of the Movement

    +

    Find out how you can join CyberCity and be part of the future. Whether you're looking to invest, launch your business, become a digital citizen, or move into the heart of innovation, now is your chance to be among the first pioneers shaping this groundbreaking ecosystem.

    +

    Be the First to Shape the Future – Join Us Now!

    + +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    diff --git a/templates/partials/home/site.html b/templates/partials/home/site.html new file mode 100644 index 0000000..41395e6 --- /dev/null +++ b/templates/partials/home/site.html @@ -0,0 +1,29 @@ +
    +
    +
    + +
    +

    + PROJECT SITE +
    + Discover Fumba +

    +

    + Located in the heart of Zanzibar,Fumba offers a unique opportunity to merge modern development with cultural heritage and natural beauty.

    + As part of the 2042 Fumba Free Economic Zone Master Plan, Fumba is set to become a key driver of economic growth and innovation in the region, making it the perfect location for a Cybercity. +

    + +
    + +
    + Fumba +
    +
    +
    +
    diff --git a/templates/partials/home/site2.html b/templates/partials/home/site2.html new file mode 100644 index 0000000..085d9c5 --- /dev/null +++ b/templates/partials/home/site2.html @@ -0,0 +1,18 @@ +
    +
    +
    +
    +
    +

    + PROJECT SITE + Discover Fumba +

    +

    + Fumba, located in the heart of Zanzibar, offers a unique opportunity to merge modern development with cultural heritage and natural beauty. As part of the 2042 Fumba Free Economic Zone Master Plan, Fumba is set to become a key driver of economic growth and innovation in the region. This transformation positions Fumba as the ideal site for CyberCity, a future-focused development designed to inspire sustainability, collaboration, and prosperity. +

    +
    +
    + Product screenshot +
    +
    +
    diff --git a/templates/partials/home/web4.html b/templates/partials/home/web4.html new file mode 100644 index 0000000..29f9dcc --- /dev/null +++ b/templates/partials/home/web4.html @@ -0,0 +1,78 @@ +
    +
    +
    +
    +

    WEB4

    +
    +

    The Next Evolution of the Internet

    +

    Web4 is the natural progression of the Internet, where humans and artificial intelligence work together to create a new paradigm designed to promote planetary well-being and ensure equal opportunities for all. Users are in 100% control of their data and no centralized services are needed.

    +

    Blockchain was the first step to Web3.

    +

    ThreeFold is the next step to Web4.

    + + + +
    +
    +
    +
    + + + + + + + \ No newline at end of file diff --git a/templates/partials/icons/bar-svgrepo-com.svg b/templates/partials/icons/bar-svgrepo-com.svg new file mode 100644 index 0000000..07ac56d --- /dev/null +++ b/templates/partials/icons/bar-svgrepo-com.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/templates/partials/icons/code-svgrepo-com.svg b/templates/partials/icons/code-svgrepo-com.svg new file mode 100644 index 0000000..6be0cd8 --- /dev/null +++ b/templates/partials/icons/code-svgrepo-com.svg @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/templates/partials/icons/form-svgrepo-com.svg b/templates/partials/icons/form-svgrepo-com.svg new file mode 100644 index 0000000..1da4268 --- /dev/null +++ b/templates/partials/icons/form-svgrepo-com.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/templates/partials/icons/paint-brush-art-svgrepo-com.svg b/templates/partials/icons/paint-brush-art-svgrepo-com.svg new file mode 100644 index 0000000..f8ed55a --- /dev/null +++ b/templates/partials/icons/paint-brush-art-svgrepo-com.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/templates/partials/icons/svgDribbbleIcon.html b/templates/partials/icons/svgDribbbleIcon.html new file mode 100644 index 0000000..0ec7187 --- /dev/null +++ b/templates/partials/icons/svgDribbbleIcon.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/templates/partials/icons/svgFacebookIcon.html b/templates/partials/icons/svgFacebookIcon.html new file mode 100644 index 0000000..2e6044b --- /dev/null +++ b/templates/partials/icons/svgFacebookIcon.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/templates/partials/icons/svgFirstPageIcon.html b/templates/partials/icons/svgFirstPageIcon.html new file mode 100644 index 0000000..00e6d61 --- /dev/null +++ b/templates/partials/icons/svgFirstPageIcon.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/templates/partials/icons/svgGithubIcon.html b/templates/partials/icons/svgGithubIcon.html new file mode 100644 index 0000000..84ab449 --- /dev/null +++ b/templates/partials/icons/svgGithubIcon.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/templates/partials/icons/svgInstagramIcon.html b/templates/partials/icons/svgInstagramIcon.html new file mode 100644 index 0000000..0b0b521 --- /dev/null +++ b/templates/partials/icons/svgInstagramIcon.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/templates/partials/icons/svgLastPageIcon.html b/templates/partials/icons/svgLastPageIcon.html new file mode 100644 index 0000000..cc9aef6 --- /dev/null +++ b/templates/partials/icons/svgLastPageIcon.html @@ -0,0 +1,5 @@ + + + + + diff --git a/templates/partials/icons/svgLinkedInIcon.html b/templates/partials/icons/svgLinkedInIcon.html new file mode 100644 index 0000000..f34f474 --- /dev/null +++ b/templates/partials/icons/svgLinkedInIcon.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/templates/partials/icons/svgNextPageIcon.html b/templates/partials/icons/svgNextPageIcon.html new file mode 100644 index 0000000..8c5c937 --- /dev/null +++ b/templates/partials/icons/svgNextPageIcon.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/templates/partials/icons/svgPrevPageIcon.html b/templates/partials/icons/svgPrevPageIcon.html new file mode 100644 index 0000000..f0470cf --- /dev/null +++ b/templates/partials/icons/svgPrevPageIcon.html @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/templates/partials/icons/svgTelegram.html b/templates/partials/icons/svgTelegram.html new file mode 100644 index 0000000..7407721 --- /dev/null +++ b/templates/partials/icons/svgTelegram.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/templates/partials/icons/svgTwitterIcon.html b/templates/partials/icons/svgTwitterIcon.html new file mode 100644 index 0000000..2f08976 --- /dev/null +++ b/templates/partials/icons/svgTwitterIcon.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/templates/partials/icons/twitterx.html b/templates/partials/icons/twitterx.html new file mode 100644 index 0000000..cd59bf4 --- /dev/null +++ b/templates/partials/icons/twitterx.html @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/templates/partials/intro.html b/templates/partials/intro.html new file mode 100644 index 0000000..dbbe780 --- /dev/null +++ b/templates/partials/intro.html @@ -0,0 +1,9 @@ +{% block content %} +
    +

    {{ section.title }}

    +

    + {{ section.description }} +

    +
    +
    +{% endblock content %} diff --git a/templates/partials/memberships.html b/templates/partials/memberships.html new file mode 100644 index 0000000..c876191 --- /dev/null +++ b/templates/partials/memberships.html @@ -0,0 +1,85 @@ +{% block content %} + +{% if not paginator %} + {% set paginator = section %} +{% endif %} + +{% set path_array = current_path | split(pat="/") %} +{% set taxonomy = path_array[1] %} +{% set category = path_array[2] %} +{% if path_array | length < 3%} +{% set category = "All" %} +{% endif %} + +
    + {% include "partials/filter_bar.html" %} +
    +
    +

    + {{category | replace(from='-', to=' ' ) | title}} +

    + test +
    + {{ paginator.total_pages ~ " People"}} +
    +
    + +
    + +
    +
    + {%- for page in paginator.pages %} + {% include "partials/person_card.html" %} + {%- endfor %} +
    +
    +

    + {% if paginator.previous %} + {% include "partials/icons/svgPrevPageIcon.html" %}{% include + "partials/icons/svgPrevPageIcon.html" %} +           + {% include "partials/icons/svgPrevPageIcon.html" %} +           +           {% else %} {% + include "partials/icons/svgFirstPageIcon.html" %}{% include + "partials/icons/svgFirstPageIcon.html" %} +           {% include + "partials/icons/svgFirstPageIcon.html" %} +           +           {% endif %} {% if + paginator.next %} + {% include "partials/icons/svgNextPageIcon.html" %} +           + {% include "partials/icons/svgNextPageIcon.html" %}{% include + "partials/icons/svgNextPageIcon.html" %} + {% else %} {% include "partials/icons/svgLastPageIcon.html" %} +           {% include + "partials/icons/svgLastPageIcon.html" %}{% include + "partials/icons/svgLastPageIcon.html" %} {% endif %} +

    +
    +
    + +
    + +{% endblock content %} diff --git a/templates/partials/newsCard.html b/templates/partials/newsCard.html new file mode 100644 index 0000000..76c703f --- /dev/null +++ b/templates/partials/newsCard.html @@ -0,0 +1,57 @@ +
    +
    + +
    + {% if post.extra.imgPath %} + {% set img_url = get_url(path='/' ~ post.relative_path | replace(from='_', to='-') | replace(from='index.md', to=post.extra.imgPath)) %} + + {% endif %} +
    +
    + +

    + {{ post.title }} +

    + {% if post.description %} +

    + {{ post.description }} +

    + {% endif %} +
    +
    +
    +
      + {% if post.taxonomies.people %} + {% for author in post.taxonomies.people %} + {% set author_path = 'people/' ~ author ~ '/index.md' %} + {% set people = get_section(path="people/_index.md") %} + {% set pages_str = people.pages | json_encode() | as_str %} + {% if pages_str is containing(author) %} + {% set author = get_page(path=author_path) %} + {% set author_img = get_url(path='/' ~ author.relative_path | replace(from='_', to='-') | replace(from='index.md', to=author.extra.imgPath)) %} +
    • + + {{ author.title }} + +
    • + {% endif %} + {% endfor %} + {% endif %} +
    +
    + +

    + +

    +
    +
    +
    +
    \ No newline at end of file diff --git a/templates/partials/newsPosts.html b/templates/partials/newsPosts.html new file mode 100644 index 0000000..bbc3e50 --- /dev/null +++ b/templates/partials/newsPosts.html @@ -0,0 +1,70 @@ +{% block content %} + +
    +

    + {% set path_array = current_path | split(pat="/") %} + {% set taxonomy = path_array[1] %} + {% set category = path_array[2] %} + Key News and Updates + {% if taxonomy == "news-category" %} - + {{category | replace(from='-', to=' ' ) | title}} + {% endif %} +

    +
    +
    + {%- for post in paginator.pages %} + {% if "Engineering" == "Engineering"%} + {% include "partials/newsCard.html" %} + {%endif%} {%- endfor %} +
    +
    +

    + {% if paginator.previous %} + {% include "partials/icons/svgPrevPageIcon.html" %}{% include + "partials/icons/svgPrevPageIcon.html" %} +           + {% include "partials/icons/svgPrevPageIcon.html" %} +           +           {% else %} {% + include "partials/icons/svgFirstPageIcon.html" %}{% include + "partials/icons/svgFirstPageIcon.html" %} +           {% include + "partials/icons/svgFirstPageIcon.html" %} +           +           {% endif %} {% if + paginator.next %} + {% include "partials/icons/svgNextPageIcon.html" %} +           + {% include "partials/icons/svgNextPageIcon.html" %}{% include + "partials/icons/svgNextPageIcon.html" %} + {% else %} {% include "partials/icons/svgLastPageIcon.html" %} +           {% include + "partials/icons/svgLastPageIcon.html" %}{% include + "partials/icons/svgLastPageIcon.html" %} {% endif %} +

    +
    +
    + +{% endblock content %} diff --git a/templates/partials/newsSidebar.html b/templates/partials/newsSidebar.html new file mode 100644 index 0000000..42bc6e7 --- /dev/null +++ b/templates/partials/newsSidebar.html @@ -0,0 +1,38 @@ + +
    +
    +

    FILTER NEWS BY

    + All + {% set taxonomy = get_taxonomy(kind="news-category") %} + {% set categories = taxonomy.items %} + {% for category in categories %} + {% set path = category.name | slugify %} + {% set fullpath = "/news-category/" ~ path %} + {{category.name}} + {% endfor %} +
    + +{% set section = get_section(path="newsroom/_index.md")%} + +
    +

    FEATURED NEWS

    + + {% for page in section.pages %} + {% if page.extra.isFeatured %} + {{ page.title }} + {% endif %} + {% endfor %} + +
    +
    + + \ No newline at end of file diff --git a/templates/partials/pageBox.html b/templates/partials/pageBox.html new file mode 100644 index 0000000..d33740c --- /dev/null +++ b/templates/partials/pageBox.html @@ -0,0 +1,9 @@ +
    + + {{page.title | safe}} + + {% include "partials/tags.html" %} +

    + {{page.description | safe}} +

    +
    \ No newline at end of file diff --git a/templates/partials/page_list.html b/templates/partials/page_list.html new file mode 100644 index 0000000..b773a04 --- /dev/null +++ b/templates/partials/page_list.html @@ -0,0 +1,19 @@ +
    +{% if section.extra.group_pages_by %} +
    + {% set taxonomy = get_taxonomy(kind=section.extra.group_pages_by) %} + {% set roles = taxonomy.items %} + {% for role in roles %} +
    + {% set icon_path = config.extra.taxonomies["roles"][role.name].icon_path | as_str %} + role category icon + {% set path = role.name | slugify %} + {% set fullpath = "/roles/" ~ path %} + {{role.name}} + {% for page in role.pages %} + {% include "partials/pageBox.html"%} + {% endfor %} +
    + {% endfor %} +
    +{% endif %} \ No newline at end of file diff --git a/templates/partials/partnerCard.html b/templates/partials/partnerCard.html new file mode 100644 index 0000000..9d5edbc --- /dev/null +++ b/templates/partials/partnerCard.html @@ -0,0 +1,22 @@ +
    + +
    \ No newline at end of file diff --git a/templates/partials/partnersCards.html b/templates/partials/partnersCards.html new file mode 100644 index 0000000..32a9eb2 --- /dev/null +++ b/templates/partials/partnersCards.html @@ -0,0 +1,69 @@ +{% block content %} + +
    + {#

    + {% set path_array = current_path | split(pat="/") %} + {% set taxonomy = path_array[1] %} + {% set category = path_array[2] %} + {% if taxonomy == "partners-category" %} - + {{category | replace(from='-', to=' ' ) | title}} + {% endif %} +

    #} +
    +
    + {%- for post in paginator.pages %} + {% if "Engineering" == "Engineering"%} + {% include "partials/partnerCard.html" %} + {%endif%} {%- endfor %} +
    +
    +

    + {% if paginator.previous %} + {% include "partials/icons/svgPrevPageIcon.html" %}{% include + "partials/icons/svgPrevPageIcon.html" %} +           + {% include "partials/icons/svgPrevPageIcon.html" %} +           +           {% else %} {% + include "partials/icons/svgFirstPageIcon.html" %}{% include + "partials/icons/svgFirstPageIcon.html" %} +           {% include + "partials/icons/svgFirstPageIcon.html" %} +           +           {% endif %} {% if + paginator.next %} + {% include "partials/icons/svgNextPageIcon.html" %} +           + {% include "partials/icons/svgNextPageIcon.html" %}{% include + "partials/icons/svgNextPageIcon.html" %} + {% else %} {% include "partials/icons/svgLastPageIcon.html" %} +           {% include + "partials/icons/svgLastPageIcon.html" %}{% include + "partials/icons/svgLastPageIcon.html" %} {% endif %} +

    +
    +
    + +{% endblock content %} diff --git a/templates/partials/partnersSidebar.html b/templates/partials/partnersSidebar.html new file mode 100644 index 0000000..5017f54 --- /dev/null +++ b/templates/partials/partnersSidebar.html @@ -0,0 +1,24 @@ +
    +
    +

    FILTER PARTNERS BY

    + All + {% set taxonomy = get_taxonomy(kind="partners-category") %} + {% set categories = taxonomy.items %} + {% for category in categories %} + {% set path = category.name | slugify %} + {% set fullpath = "/partners-category/" ~ path %} + {{category.name}} + {% endfor %} +
    +
    + + \ No newline at end of file diff --git a/templates/partials/personCard.html b/templates/partials/personCard.html new file mode 100644 index 0000000..024b06b --- /dev/null +++ b/templates/partials/personCard.html @@ -0,0 +1,27 @@ +{% if page.title != 'ThreeFold Community' %} +
    + + {% set url = get_url(path='/' ~ page.relative_path | replace(from='_', to='-') | replace(from='index.md', to=page.extra.imgPath)) %} + {{page.title ~ ' Picture'}} +
    +

    {{page.title}}

    +
    + {% if page.description %} + {{page.description}} + {% else %} + {{page.content | safe}} + {% endif %} +
    +
    +
    + +
    +{% endif %} diff --git a/templates/partials/person_card.html b/templates/partials/person_card.html new file mode 100644 index 0000000..041c09b --- /dev/null +++ b/templates/partials/person_card.html @@ -0,0 +1,28 @@ +{% if page.title != 'ThreeFold Community' %} +
    + {# #} + {% set url = get_url(path='/' ~ page.relative_path | replace(from='_', to='-') | replace(from='index.md', to=page.extra.imgPath)) %} + {{page.title ~ ' Picture'}} + + {# #} +
    +{%endif%} + diff --git a/templates/partials/postCard.html b/templates/partials/postCard.html new file mode 100644 index 0000000..18c4fe6 --- /dev/null +++ b/templates/partials/postCard.html @@ -0,0 +1,75 @@ +{% if post.date %} +{% if post.taxonomies.people %} +{% set people = get_section(path="people/_index.md") %} +{% set pages_str = people.pages | json_encode() | as_str %} +{% if pages_str is containing(post.taxonomies.people[0]) %} +{% set author_path = 'people/' ~ post.taxonomies.people[0] ~ '/index.md' %} +{% set author = get_page(path=author_path) %} +{% set content = get_page(path=author_path) %} +{% endif %} +{% endif %} + +
    + +
    + + +{% endif %} \ No newline at end of file diff --git a/templates/partials/socialLinks.html b/templates/partials/socialLinks.html new file mode 100644 index 0000000..1e418f5 --- /dev/null +++ b/templates/partials/socialLinks.html @@ -0,0 +1,31 @@ +{% if not section %} +{% set section = page %} +{% endif %} + +
    + {% for key, link in section.extra.socialLinks %} + + + {{key}} + {% if key == "Facebook" %} + {% include "partials/icons/svgFacebookIcon.html" %} + {% elif key == "Github" %} + {% include "partials/icons/svgGithubIcon.html" %} + {% elif key == "Github2" %} + {% include "partials/icons/svgGithubIcon.html" %} + {% elif key == "Instagram" %} + {% include "partials/icons/svgInstagramIcon.html" %} + {% elif key == "LinkedIn" %} + {% include "partials/icons/svgLinkedInIcon.html" %} + {% elif key == "Twitter" %} + {% include "partials/icons/twitterx.html" %} + {% elif key == "Dribbble" %} + {% include "partials/icons/svgDribbbleIcon.html" %} + {% elif key == "Telegram" %} + {% include "partials/icons/svgTelegram.html" %} + {% endif %} + + + {% endfor %} + +
    \ No newline at end of file diff --git a/templates/partials/solutions/hero.html b/templates/partials/solutions/hero.html new file mode 100644 index 0000000..f2949b3 --- /dev/null +++ b/templates/partials/solutions/hero.html @@ -0,0 +1,40 @@ +
    +
    +
    +

    A Secure & Sovereign Infrastructure Layer for Web4

    +

    Our unique technology enables a system which can scale to a planetary level, can store data which can never be corrupted nor lost, is compatible with AI, Cloud, Web2, Web3 and Edge IT workloads, has the potential to recover from unforeseen events, and provide 100% uptime.

    +

    ThreeFold can be used by any Web2, Web3, AI, or Edge IT workload. +

    + +
    +
    + + + \ No newline at end of file diff --git a/templates/partials/solutions/portfolio copy.html b/templates/partials/solutions/portfolio copy.html new file mode 100644 index 0000000..defd355 --- /dev/null +++ b/templates/partials/solutions/portfolio copy.html @@ -0,0 +1,310 @@ + +
    +
    +
    +

    What We’ve Built

    +

    + At Threefold, we've created solutions that embody innovation, authenticity, and simplicity. Each solution is crafted to empower individuals and communities, blending cutting-edge technology with practical usability. +

    +
    +
    +
    + + + +
    +
    + + +
    +
    +
    + Words from Others +
    +

    + It's not just us. +

    +

    + Here's what others have to say about us. +

    +
    +
    + + +
    + + + + + + + + + + + +
    +
    +
    \ No newline at end of file diff --git a/templates/partials/solutions/portfolio.html b/templates/partials/solutions/portfolio.html new file mode 100644 index 0000000..4c86660 --- /dev/null +++ b/templates/partials/solutions/portfolio.html @@ -0,0 +1,150 @@ +
    +
    +
    +

    What We’ve Built

    +

    + At ThreeFold, we've created products that embody innovation, authenticity, and simplicity. Each solution is crafted to empower individuals and communities, blending cutting-edge technology with practical usability. +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    + ZERO-OS V3 +
    +
    +

    A stateless and lightweight operating system that allows for an improved efficiency of up to 10x for certain workloads.

    +

    + Learn more +

    +
    +
    +
    +
    + MYCELIUM NETWORK +
    +
    +

    Decentralized communication layer of TF Grid that connects and coordinates nodes on the ThreeFold Grid, enabling secure and efficient peer-to-peer interactions.

    +

    + Learn more +

    +
    +
    +
    +
    + QUANTUM SAFE STORAGE +
    +
    +

    QSS is a decentralized, globally distributed data storage system. It is unbreakable, self-healing, append-only, and immutable.

    +

    + Learn more +

    +
    +
    + + +
    +
    + TF CHAIN +
    +
    +

    An application-specific blockchain customized for the operation of a single application – provisioning decentralized compute, storage, and network capacity.

    +

    + Learn more +

    +
    +
    +
    +
    + 3NODES +
    +
    +

    Decentralized, user-owned hardware devices that provides computing, storage, and networking resources to power the TF Grid.

    +

    + Learn more +

    +
    +
    +
    +
    + GATEWAY NODES +
    +
    +

    Specialized nodes that provide secure access points to the ThreeFold Grid, enabling decentralized networking, private data communication, and seamless interaction between users and applications.

    +

    + Learn more +

    +
    +
    + + +
    +
    + TF DASHBOARD +
    +
    +

    A user-friendly interface for monitoring, managing, and deploying resources on the ThreeFold Grid.

    +

    + Learn more +

    +
    +
    +
    +
    + TF DAO +
    +
    +

    A community-driven governance model that allows token holders to participate in decision-making processes related to the development and direction of the ThreeFold ecosystem.

    +

    + Learn more +

    +
    +
    + +
    +
    + TF CONNECT APP +
    +
    +

    A mobile app that serves as a gateway to the ThreeFold ecosystem and its various ThreeFold products and services.

    +

    + Learn more +

    +
    +
    +
    +
    +
    +
    + + diff --git a/templates/partials/solutions/what.html b/templates/partials/solutions/what.html new file mode 100644 index 0000000..44d06bf --- /dev/null +++ b/templates/partials/solutions/what.html @@ -0,0 +1,82 @@ +
    +
    +
    +

    What You Can Do With It +

    +

    Today, ThreeFold is primarily focused on empowering developers to create innovative cloud solutions.

    +

    On 12-12-24, we will unveil exciting news about how Web4 will soon become accessible to everyone, opening up endless possibilities for all users.

    + 12.12.24 +
    +
    +
    +
    +
    Communicate securely
    +
    Experience end-to-end encrypted communication in the shortest possible path, ensuring messages remain private and unalterable—even during disasters.
    +
    +
    +
    Store effortlessly
    +
    Securely share and store information with ease, scaling seamlessly from personal use to billions of users.
    +
    +
    +
    Restore authenticity
    +
    Determine which information can be trusted, bringing clarity and confidence back to the digital space.
    +
    +
    +
    Unlock limitless insights
    +
    Discover, analyze, and find information with no boundaries, aided by a powerful personal AI assistant.
    +
    +
    +
    Streamline your interactions
    +
    Keep track of all your connections and simplify your life with an AI that optimizes your daily tasks and interactions.
    +
    +
    +
    Take control of your digital presence
    +
    Own and manage your data, identity, and interactions across platforms, ensuring transparency and sovereignty in the digital world.
    +
    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/templates/partials/solutions/whatyoucando.html b/templates/partials/solutions/whatyoucando.html new file mode 100644 index 0000000..9d460f4 --- /dev/null +++ b/templates/partials/solutions/whatyoucando.html @@ -0,0 +1,72 @@ +
    +
    +
    +

    What You Can Do With It

    +

    Today, ThreeFold is primarily focused on empowering developers to create innovative cloud solutions.

    On 12-12-24, we will unveil exciting news about how Web4 will soon become accessible to everyone, opening up endless possibilities for all users.

    +
    +
    +
    + +
    +
    + Communicate securely +
    +
    +

    Experience end-to-end encrypted communication in the shortest possible path, ensuring messages remain private and unalterable—even during disasters.

    +
    +
    + +
    +
    + Share and store effortlessly +
    +
    +

    Securely share and store information with ease, scaling seamlessly from personal use to billions of users. +

    +
    +
    + +
    +
    + Restore authenticity +
    +
    +

    Determine which information can be trusted, bringing clarity and confidence back to the digital space. +

    +
    +
    + +
    +
    + Unlock limitless insights +
    +
    +

    Discover, analyze, and find information with no boundaries, aided by a powerful personal AI assistant. +

    +
    +
    + +
    +
    + Streamline your interactions +
    +
    +

    Keep track of all your connections and simplify your life with an AI that optimizes your daily tasks and interactions. +

    +
    +
    + +
    +
    + Take control of your digital presence +
    +
    +

    Own and manage your data, identity, and interactions across platforms, ensuring transparency and sovereignty in the digital world. +

    +
    +
    +
    +
    +
    +
    + \ No newline at end of file diff --git a/templates/partials/tagCard.html b/templates/partials/tagCard.html new file mode 100644 index 0000000..934f9ab --- /dev/null +++ b/templates/partials/tagCard.html @@ -0,0 +1,22 @@ + \ No newline at end of file diff --git a/templates/partials/tags.html b/templates/partials/tags.html new file mode 100644 index 0000000..55c7e5c --- /dev/null +++ b/templates/partials/tags.html @@ -0,0 +1,5 @@ +
    + {% for tag in page.taxonomies.tags %} +
    {{tag}}
    + {% endfor %} +
    \ No newline at end of file diff --git a/templates/partials/tagsCards.html b/templates/partials/tagsCards.html new file mode 100644 index 0000000..8f3a4ad --- /dev/null +++ b/templates/partials/tagsCards.html @@ -0,0 +1,69 @@ +{% block content %} + +
    +

    + {% set path_array = current_path | split(pat="/") %} + {% set taxonomy = path_array[1] %} + {% set tag = path_array[2] %} + {% if taxonomy == "tags" %} # + {{tag | replace(from='-', to='_' ) | title}} + {% endif %} +

    +
    +
    + {%- for post in paginator.pages %} + {% if "Engineering" == "Engineering"%} + {% include "partials/tagCard.html" %} + {%endif%} {%- endfor %} +
    +
    +

    + {% if paginator.previous %} + {% include "partials/icons/svgPrevPageIcon.html" %}{% include + "partials/icons/svgPrevPageIcon.html" %} +           + {% include "partials/icons/svgPrevPageIcon.html" %} +           +           {% else %} {% + include "partials/icons/svgFirstPageIcon.html" %}{% include + "partials/icons/svgFirstPageIcon.html" %} +           {% include + "partials/icons/svgFirstPageIcon.html" %} +           +           {% endif %} {% if + paginator.next %} + {% include "partials/icons/svgNextPageIcon.html" %} +           + {% include "partials/icons/svgNextPageIcon.html" %}{% include + "partials/icons/svgNextPageIcon.html" %} + {% else %} {% include "partials/icons/svgLastPageIcon.html" %} +           {% include + "partials/icons/svgLastPageIcon.html" %}{% include + "partials/icons/svgLastPageIcon.html" %} {% endif %} +

    +
    +
    + +{% endblock content %} diff --git a/templates/partials/tagsSidebar.html b/templates/partials/tagsSidebar.html new file mode 100644 index 0000000..062a695 --- /dev/null +++ b/templates/partials/tagsSidebar.html @@ -0,0 +1,23 @@ +
    +
    +

    FILTER BY

    + {% set taxonomy = get_taxonomy(kind="tags") %} + {% set tags = taxonomy.items %} + {% for tag in tags %} + {% set path = tag.name | slugify %} + {% set fullpath = "/tags/" ~ path %} + #{{tag.name}} + {% endfor %} +
    +
    + + \ No newline at end of file diff --git a/templates/partials/what/hero.html b/templates/partials/what/hero.html new file mode 100644 index 0000000..eb6026e --- /dev/null +++ b/templates/partials/what/hero.html @@ -0,0 +1,40 @@ +
    +
    +
    +

    A Secure & Sovereign Infrastructure Layer for Web4

    +

    Our unique technology enables a system which can scale to a planetary level, can store data which can never be corrupted nor lost, is compatible with AI, Cloud, Web2, Web3 and Edge IT workloads, has the potential to recover from unforeseen events, and provide 100% uptime.

    +

    ThreeFold can be used by any Web2, Web3, AI, or Edge IT workload. +

    +
    + Dive Deeper + f +
    +
    +
    + + + \ No newline at end of file diff --git a/templates/partials/what/portfolio.html b/templates/partials/what/portfolio.html new file mode 100644 index 0000000..f0c2ffb --- /dev/null +++ b/templates/partials/what/portfolio.html @@ -0,0 +1,150 @@ +
    +
    +
    +

    What We’ve Built

    +

    + At ThreeFold, we've created products that embody innovation, authenticity, and simplicity. Each solution is crafted to empower individuals and communities, blending cutting-edge technology with practical usability. +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    + ZERO-OS V3 +
    +
    +

    A stateless and lightweight operating system that allows for an improved efficiency of up to 10x for certain workloads.

    +

    + Learn more +

    +
    +
    +
    +
    + MYCELIUM NETWORK +
    +
    +

    Decentralized communication layer of TF Grid that connects and coordinates nodes on the ThreeFold Grid, enabling secure and efficient peer-to-peer interactions.

    +

    + Learn more +

    +
    +
    +
    +
    + QUANTUM SAFE STORAGE +
    +
    +

    QSS is a decentralized, globally distributed data storage system. It is unbreakable, self-healing, append-only, and immutable.

    +

    + Learn more +

    +
    +
    + + +
    +
    + TF CHAIN +
    +
    +

    An application-specific blockchain customized for the operation of a single application – provisioning decentralized compute, storage, and network capacity.

    +

    + Learn more +

    +
    +
    +
    +
    + 3NODES +
    +
    +

    Decentralized, user-owned hardware devices that provides computing, storage, and networking resources to power the TF Grid.

    +

    + Learn more +

    +
    +
    +
    +
    + GATEWAY NODES +
    +
    +

    Specialized nodes that provide secure access points to the ThreeFold Grid, enabling decentralized networking, private data communication, and seamless interaction between users and applications.

    +

    + Learn more +

    +
    +
    + + +
    +
    + TF DASHBOARD +
    +
    +

    A user-friendly interface for monitoring, managing, and deploying resources on the ThreeFold Grid.

    +

    + Learn more +

    +
    +
    +
    +
    + TF DAO +
    +
    +

    A community-driven governance model that allows token holders to participate in decision-making processes related to the development and direction of the ThreeFold ecosystem.

    +

    + Learn more +

    +
    +
    + +
    +
    + TF CONNECT APP +
    +
    +

    A mobile app that serves as a gateway to the ThreeFold ecosystem and its various ThreeFold products and services.

    +

    + Learn more +

    +
    +
    +
    +
    +
    +
    + + diff --git a/templates/partials/what/what.html b/templates/partials/what/what.html new file mode 100644 index 0000000..491ae9e --- /dev/null +++ b/templates/partials/what/what.html @@ -0,0 +1,82 @@ +
    +
    +
    +

    What You Can Do With It +

    +

    Today, ThreeFold is primarily focused on empowering developers to create innovative cloud solutions.

    +

    We are now unveiling an exciting news about how Web4 will soon become accessible to everyone, opening up endless possibilities for all users.

    + Take Actions +
    +
    +
    +
    +
    Communicate securely
    +
    Experience end-to-end encrypted communication in the shortest possible path, ensuring messages remain private and unalterable—even during disasters.
    +
    +
    +
    Store effortlessly
    +
    Securely share and store information with ease, scaling seamlessly from personal use to billions of users.
    +
    +
    +
    Restore authenticity
    +
    Determine which information can be trusted, bringing clarity and confidence back to the digital space.
    +
    +
    +
    Unlock limitless insights
    +
    Discover, analyze, and find information with no boundaries, aided by a powerful personal AI assistant.
    +
    +
    +
    Streamline your interactions
    +
    Keep track of all your connections and simplify your life with an AI that optimizes your daily tasks and interactions.
    +
    +
    +
    Take control of your digital presence
    +
    Own and manage your data, identity, and interactions across platforms, ensuring transparency and sovereignty in the digital world.
    +
    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/templates/partials/what/whatyoucando.html b/templates/partials/what/whatyoucando.html new file mode 100644 index 0000000..9d460f4 --- /dev/null +++ b/templates/partials/what/whatyoucando.html @@ -0,0 +1,72 @@ +
    +
    +
    +

    What You Can Do With It

    +

    Today, ThreeFold is primarily focused on empowering developers to create innovative cloud solutions.

    On 12-12-24, we will unveil exciting news about how Web4 will soon become accessible to everyone, opening up endless possibilities for all users.

    +
    +
    +
    + +
    +
    + Communicate securely +
    +
    +

    Experience end-to-end encrypted communication in the shortest possible path, ensuring messages remain private and unalterable—even during disasters.

    +
    +
    + +
    +
    + Share and store effortlessly +
    +
    +

    Securely share and store information with ease, scaling seamlessly from personal use to billions of users. +

    +
    +
    + +
    +
    + Restore authenticity +
    +
    +

    Determine which information can be trusted, bringing clarity and confidence back to the digital space. +

    +
    +
    + +
    +
    + Unlock limitless insights +
    +
    +

    Discover, analyze, and find information with no boundaries, aided by a powerful personal AI assistant. +

    +
    +
    + +
    +
    + Streamline your interactions +
    +
    +

    Keep track of all your connections and simplify your life with an AI that optimizes your daily tasks and interactions. +

    +
    +
    + +
    +
    + Take control of your digital presence +
    +
    +

    Own and manage your data, identity, and interactions across platforms, ensuring transparency and sovereignty in the digital world. +

    +
    +
    +
    +
    +
    +
    + \ No newline at end of file diff --git a/templates/partials/why/hero.html b/templates/partials/why/hero.html new file mode 100644 index 0000000..7931a41 --- /dev/null +++ b/templates/partials/why/hero.html @@ -0,0 +1,40 @@ +
    +
    +
    +

    The Internet Needs an Upgrade

    +

    The Internet brings the world together, yet much of it is now concentrated in the hands of a few powerful corporations. This wasn't its original intent.
    The Internet was envisioned as a decentralized, open space.
    A tool for freedom, collaboration, and equal access for all.

    +

    ThreeFold has invented a new Data, Network, and Cloud system
    + as an engine for an upgraded Web4 Internet.

    +
    + + +
    +
    +
    + + + \ No newline at end of file diff --git a/templates/partials/why/impact.html b/templates/partials/why/impact.html new file mode 100644 index 0000000..61b4764 --- /dev/null +++ b/templates/partials/why/impact.html @@ -0,0 +1,44 @@ +
    +
    +
    +

    Real-World Impact

    +

    ThreeFold’s technological infrastructure will empower many projects and initiatives across sectors. Here are two key projects: +

    +
    + +
    +
    +
    + +
    +

    OurWorld FreeZone

    +

    + ThreeFold is working with the Zanzibar Communication Corporation (ZICTIA), on behalf of the Zanzibar government, to create the world’s first 100% Digital Free Zone – accessible and affordable for all.

    The announcement was made August 2023, and progress has been ongoing behind the scenes since then. + Updates expected Q4 2024. +

    +
    + +
    + +
    +
    +
    + +
    +
    +

    Tanzanian Sovereign Internet

    +

    + + In January 2024, ThreeFold announced in collaboration with The ICT Commission of Tanzania and Holochain a collaboration to deploy sovereign Internet in Tanzania, along with the introduction of coding academies and innovation hubs.

    The Dunia Yetu cooperative is being set up and efforts will ramp up in 2025.

    +
    +
    + +
    +
    +
    +
    +
    + diff --git a/templates/partials/why/matters.html b/templates/partials/why/matters.html new file mode 100644 index 0000000..19f8ada --- /dev/null +++ b/templates/partials/why/matters.html @@ -0,0 +1,99 @@ +
    +
    +
    + +
    +
    +

    Why it Matters

    +

    + For +30 years, we’ve dedicated ourselves to this vision, and ThreeFold is the culmination of that journey. Today, we have a fully operational product (V3) and a thriving community of farmers, users, and partners. +

    + But we won’t stop here. +

    + Web4 is the next generation of the Internet and our team has been working on it for +10 years—the Decentralized Cloud was the base layer to create Web4. As far as we know, we are the world’s first project approaching a fully functional Web4 infrastructure that places priority on both the planet and people. +

    +
    +
    + + +
    +
    +
    +

    Over the past decade, we’ve tackled complex challenges in areas such as data storage, secure overlay networking, and autonomous cloud security to bring this vision to life.

    +
    +
    +
    + + + + + + + + Take Actions +
    +
    +
    +
    +
    +
    + + + + + + diff --git a/templates/partials/why/motto.html b/templates/partials/why/motto.html new file mode 100644 index 0000000..f8963e0 --- /dev/null +++ b/templates/partials/why/motto.html @@ -0,0 +1,36 @@ +
    +
    +
    +

    + Planet First. People First. +

    +
    +
    +
    + + + \ No newline at end of file diff --git a/templates/partials/why/ourwhy.html b/templates/partials/why/ourwhy.html new file mode 100644 index 0000000..b43d914 --- /dev/null +++ b/templates/partials/why/ourwhy.html @@ -0,0 +1,58 @@ +
    +
    +
    +
    +

    Why it Matters?

    +

    + For +30 years, we’ve dedicated ourselves to this vision, and ThreeFold is the culmination of that journey. Today, we have a fully operational product (V3) and a thriving community of farmers, users, and partners. +

    + But we won’t stop here. +

    + Web4 is the next generation of the Internet and our team has been working on it for +10 years—the Decentralized Cloud was the base layer to create Web4. + As far as we know, we are the world’s first project approaching a fully functional Web4 infrastructure that places priority on both the planet and people. +

    + Over the past decade, we’ve tackled complex challenges in areas such as data storage, + secure overlay networking, and autonomous cloud security to bring this vision to life. +

    +
    + 12.12.2024 +
    +
    +
    +
    + + + + + \ No newline at end of file diff --git a/templates/partials/why/reason.html b/templates/partials/why/reason.html new file mode 100644 index 0000000..4236c9d --- /dev/null +++ b/templates/partials/why/reason.html @@ -0,0 +1,46 @@ +
    +
    +
    + +
    +
    +

    The Reason Behind It All

    +

    + The Internet started as a peer-to-peer network, but over time it has become fragile and overly centralized. This shift has led to serious issues: misinformation is rampant, privacy and security are compromised, and half the world remains poorly connected. +

    + Big tech companies now dominate the Internet, tracking our activities and influencing our decisions, consolidating control in ways that don't serve everyone equally... +

    +

    +
    +
    + + +
    +
    +
    +

    Therefore we believe the Internet needs a fresh start—one that addresses these challenges with a focus on authenticity, equality, and sustainability for everyone.

    +
    +
    +
    +

    + Planet First. People First. +

    +
    +
    +
    +
    +
    +
    + + + + diff --git a/templates/partials/why/team.html b/templates/partials/why/team.html new file mode 100644 index 0000000..22f3a89 --- /dev/null +++ b/templates/partials/why/team.html @@ -0,0 +1,13 @@ +
    +
    +
    +
    +

    Founded by Internet 1.0 Pioneers
    and All of You

    +

    The founders have been working on Internet technology since the early days,
    when it was a decentralized, peer-to-peer network.
    ThreeFold's aim is to help bring that vision to life once more.
    More than 50 full-time active developers support the project.

    +
    + + +
    + diff --git a/templates/partials/why/timeline.html b/templates/partials/why/timeline.html new file mode 100644 index 0000000..0cce4e8 --- /dev/null +++ b/templates/partials/why/timeline.html @@ -0,0 +1,140 @@ +
    +
    +
    +
    +

    ThreeFold’s Journey

    +

    The pivotal milestones that have shaped Threefold's growth and innovation, driving us towards a sustainable, decentralized future.

    +
    +
    +
    +
    + +
    + + +
    +
    + + + +
    +
    +
    +
    Phase I
    +
    +
    Creation of Core Technology
    +
    + 10+ years of Development +
    Built decentralized, autonomous, edge internet technology +
    50m dollars invested by founders, community, and TF Tech investors +
    +
    +
    + + +
    +
    + + + +
    +
    +
    +
    Phase II
    +
    +
    Global Proof Of Concept
    +
    + Open Source Development +
    50+ Countries +
    50,000+ Cores +
    25,000,000 GB of Storage +
    Thousands of enthusiasts actively engage with and contribute to the evolution of the ThreeFold Network. +
    Decentralized reliable compute, network and storage layer for Web 2-3 +
    Commitments from wonderful projects to build on top of us. +
    +
    +
    + + +
    +
    + + + +
    +
    +
    +
    2025
    +
    +
    ThreeFold Web4
    +
    + Introduce a Web4 Phone & Router +
    Web4 smart contracts for the Web3 world. +
    Expand the network to +1 Million Nodes +
    Quantum Safe Compute, Storage & Network for agent centric Web4. +
    Build a network of commercial farmers for optimal performance and uptime + +
    +
    +
    + + +
    +
    + + + +
    +
    +
    +
    The Result
    +
    +
    Sovereignty for All
    +
    + An upgraded Internet for Billions. +
    A planet and people first hybrid of Humans and Machines deliver +
    on the promise of Augmented Collective Intelligence +
    +
    +
    +
    + + + + + + diff --git a/templates/partials/why/values.html b/templates/partials/why/values.html new file mode 100644 index 0000000..aae6177 --- /dev/null +++ b/templates/partials/why/values.html @@ -0,0 +1,45 @@ +
    +
    +
    +
    +
    + Open Source. +
    +
    +
    +
    + Authenticity. +
    +
    +
    +
    + Simplicity. +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/templates/partials/why/why.html b/templates/partials/why/why.html new file mode 100644 index 0000000..d5d76ad --- /dev/null +++ b/templates/partials/why/why.html @@ -0,0 +1,14 @@ +
    +
    +
    + +
    +
    +

    Deploy faster

    +

    A better workflow

    +

    Aliquet nec orci mattis amet quisque ullamcorper neque, nibh sem. At arcu, sit dui mi, nibh dui, diam eget aliquam. Quisque id at vitae feugiat egestas ac. Diam nulla orci at in viverra scelerisque eget. Eleifend egestas fringilla sapien.

    +
    +
    +
    +
    +
    diff --git a/templates/partnerPage.html b/templates/partnerPage.html new file mode 100644 index 0000000..dd4bd17 --- /dev/null +++ b/templates/partnerPage.html @@ -0,0 +1,59 @@ +{% extends "_default/base.html" %} +{% block content %} + +
    +
    +
    +
    + +
    +
    +

    + {{ page.title }} +

    + +
    +
    +
      + {% if page.extra.websites %} +
    • + + +
    • + {% endif %} + {% if page.extra.linkedin %} +
    • + + +
    • + {% endif %} +
    + {% for tag in page.taxonomies.tags %} + + {{tag}} + + {% endfor %} +
    +
    +
    +
    + +
    + +
    +
    {{ page.content | safe }}
    +
    +
    +
    + +{% endblock content %} \ No newline at end of file diff --git a/templates/partners-category/list.html b/templates/partners-category/list.html new file mode 100644 index 0000000..f628a84 --- /dev/null +++ b/templates/partners-category/list.html @@ -0,0 +1,4 @@ +{% extends "index.html" %} + +{% block content %} +{% endblock content %} \ No newline at end of file diff --git a/templates/partners-category/single.html b/templates/partners-category/single.html new file mode 100644 index 0000000..271d92a --- /dev/null +++ b/templates/partners-category/single.html @@ -0,0 +1,14 @@ +{% extends "index.html" %} + +{% block content %} + +
    + +
    + {% include "partials/partnersCards.html" %} + {% include "partials/partnersSidebar.html" %} +
    +
    + + {% endblock content %} + diff --git a/templates/people/list.html b/templates/people/list.html new file mode 100644 index 0000000..7cd1d82 --- /dev/null +++ b/templates/people/list.html @@ -0,0 +1,70 @@ +{% extends "_default/base.html" %} +{% block content %} +{%- set section = get_section(path="people/_index.md") %} +{% include "partials/intro.html" %} +
    + {# {% include "partials/filter_bar.html" %} #} +
    + {#

    + {% set path_array = current_path | split(pat="/") %} + {% set taxonomy = path_array[1] %} + {% set category = path_array[2] %} + {{category | replace(from='-', to=' ' ) | title}} +

    #} +
    +
    + {% for person in section.pages %} + {% set page_path = person.path ~ 'index.md' | replace(from='-', to='_') | trim_start_matches(pat="/") %} + {% set people = get_section(path="people/_index.md") %} + {% set pages_str = people.pages | json_encode() | as_str %} + {% if pages_str is containing(person.title) %} + {% set page = get_page(path=page_path) %} + {% if page.extra.private >= 0 %} + {% if page.title != "ThreeFold_Community"%} + {% include "partials/person_card.html" %} + {% endif %} + {% endif %} + {% endif %} + {% endfor %} +
    + {#
    +

    + {% if paginator.previous %} + + {% include "partials/icons/svgPrevPageIcon.html" %}{% include + "partials/icons/svgPrevPageIcon.html" %} + +           + + {% include "partials/icons/svgPrevPageIcon.html" %} + +           +           {% else %} {% + include "partials/icons/svgFirstPageIcon.html" %}{% include + "partials/icons/svgFirstPageIcon.html" %} +           {% include + "partials/icons/svgFirstPageIcon.html" %} +           +           {% endif %} {% if + paginator.next %} + + {% include "partials/icons/svgNextPageIcon.html" %} + +           + + {% include "partials/icons/svgNextPageIcon.html" %}{% include + "partials/icons/svgNextPageIcon.html" %} + + {% else %} {% include "partials/icons/svgLastPageIcon.html" %} +           {% include + "partials/icons/svgLastPageIcon.html" %}{% include + "partials/icons/svgLastPageIcon.html" %} {% endif %} +

    #} +
    +
    +
    +{% endblock content %} diff --git a/templates/people/single.html b/templates/people/single.html new file mode 100644 index 0000000..180d0e4 --- /dev/null +++ b/templates/people/single.html @@ -0,0 +1,54 @@ +{% extends "_default/base.html" %} {% block content %} {% set page_path = +term.path ~ 'index.md' | replace(from='-', to='_') | trim_start_matches(pat="/") +%} {% set people = get_section(path="people/_index.md") %} {% set pages_str = +people.pages | json_encode() | as_str %} {% if pages_str is +containing(term.name) %} {% set page = get_page(path=page_path) %} + +
    +
    +
    + +
    +
    +
    +

    + {{page.title}} +

    +
    {% include "partials/socialLinks.html" %}
    +
    +
    {{page.content | safe }}
    +
    +
    +
      + {% for org in page.extra.organizations %} +
    • + + + +
    • + {% endfor %} +
    +
    +
    + {% if page.taxonomies.memberships %} {% for tag in + page.taxonomies.memberships %} + + {{tag}} + + {% endfor %} {% endif %} +
    +
    +
    +
    +
    +
    +{% endif %} {% endblock content %} diff --git a/templates/people_page.html b/templates/people_page.html new file mode 100644 index 0000000..8e94af9 --- /dev/null +++ b/templates/people_page.html @@ -0,0 +1,73 @@ +{% extends "_default/base.html" %} +{% block content %} + + +
    + {% include "partials/filter_bar.html" %} + +
    +

    + {% set path_array = current_path | split(pat="/") %} + {% set taxonomy = path_array[1] %} + {% set category = path_array[2] %} + {{category | replace(from='-', to=' ' ) | title}} +

    +
    +
    + {%- for page in paginator.pages %} + {% if "Engineering" == "Engineering"%} + {% include "partials/person_card.html" %} + {%endif%} {%- endfor %} +
    +
    +

    + {% if paginator.previous %} + {% include "partials/icons/svgPrevPageIcon.html" %}{% include + "partials/icons/svgPrevPageIcon.html" %} +           + {% include "partials/icons/svgPrevPageIcon.html" %} +           +           {% else %} {% + include "partials/icons/svgFirstPageIcon.html" %}{% include + "partials/icons/svgFirstPageIcon.html" %} +           {% include + "partials/icons/svgFirstPageIcon.html" %} +           +           {% endif %} {% if + paginator.next %} + {% include "partials/icons/svgNextPageIcon.html" %} +           + {% include "partials/icons/svgNextPageIcon.html" %}{% include + "partials/icons/svgNextPageIcon.html" %} + {% else %} {% include "partials/icons/svgLastPageIcon.html" %} +           {% include + "partials/icons/svgLastPageIcon.html" %}{% include + "partials/icons/svgLastPageIcon.html" %} {% endif %} +

    +
    +
    +
    + +{% endblock content %} diff --git a/templates/person_page.html b/templates/person_page.html new file mode 100644 index 0000000..36a81c3 --- /dev/null +++ b/templates/person_page.html @@ -0,0 +1,48 @@ +{% extends "_default/base.html" %} +{% block content %} + +
    +
    +
    + +
    +
    +
    +

    + {{page.title}} +

    +
    + {% include "partials/socialLinks.html" %} +
    +
    +
    + {{page.content | safe }} +
    +
    +
    +
      + {% for org in page.extra.organizations %} +
    • + + + +
    • + {% endfor %} +
    +
    +
    + {% for tag in page.taxonomies.memberships %} + + {{tag}} + + {% endfor %} +
    +
    +
    +
    +
    +
    +
    +
    + +{% endblock content %} \ No newline at end of file diff --git a/templates/resourcesPage.html b/templates/resourcesPage.html new file mode 100644 index 0000000..cc7f0aa --- /dev/null +++ b/templates/resourcesPage.html @@ -0,0 +1,36 @@ +{% extends "_default/base.html" %} +{% block content %} + +
    + +
    +
    + +
    {{ page.content | safe }}
    +
    + + +
    +
    +{% endblock content %} \ No newline at end of file diff --git a/templates/section.html b/templates/section.html new file mode 100644 index 0000000..e328616 --- /dev/null +++ b/templates/section.html @@ -0,0 +1,11 @@ +{% extends "_default/base.html" %} + +{% block content %} + +
    + {{ section.content | safe}} + + {% include "partials/page_list.html" %} +
    + + {% endblock content %} diff --git a/templates/shortcodes/admonition.html b/templates/shortcodes/admonition.html new file mode 100644 index 0000000..0fff67e --- /dev/null +++ b/templates/shortcodes/admonition.html @@ -0,0 +1,65 @@ + + +{% set classes = "" %} + +{% set first_line = body | split(pat="\n") | first %} +{% set parsed_first_line = first_line | split(pat=" ") %} +{% set admonition = parsed_first_line | first %} +{% set style = "" %} + +{% set content = body | split(pat="\n") | slice(start=2) | join(sep="\n") %} + + +{% if admonition == "!!!" %} + {% set classes = "admonition" %} +{% elif admonition == "???" %} + {% set style = "collapsible closed" %} + {% set classes = "admonition" %} +{% elif admonition == "???+" %} + {% set style = "collapsible open" %} + {% set classes = "admonition" %} +{% else %} + {% set classes = "hidden" %} +{% endif %} + +{% if "inline end" in first_line %} + {% set classes = classes ~ " inline end" %} + {% set parsed_first_line = parsed_first_line | slice(end=-2)%} +{% elif "inline" in first_line %} + {% set classes = classes ~ " inline" %} + {% set parsed_first_line = parsed_first_line | slice(end=-1)%} +{% endif %} + +{% if classes != "hidden"%} + {% if parsed_first_line[1] %} + {% set classes = classes ~ " " ~ parsed_first_line[1] %} + {% endif %} + {% if parsed_first_line[2] %} + {% if not parsed_first_line[2] == '""' %} + {% set title = parsed_first_line | slice(start=2) | join(sep=" ") %} + {% endif %} + {% else %} + {% if parsed_first_line[1] %} + {% set title = parsed_first_line[1] | title %} + {% endif %} + {% endif %} +{% endif %} + + +{% if "collapsible" in style %} +
    + {% if title %} + {{ title | trim_start_matches(pat='"') | trim_end_matches(pat='"') }} +

    {{ content }}

    + {% endif %} +
    +{% else %} +
    + {% if title %} +
    {{ title | trim_start_matches(pat='"') | trim_end_matches(pat='"') }}
    + {% endif %} +

    {{ content }}

    +
    +{% endif %} diff --git a/templates/shortcodes/button.html b/templates/shortcodes/button.html new file mode 100644 index 0000000..4fffee4 --- /dev/null +++ b/templates/shortcodes/button.html @@ -0,0 +1,19 @@ +{% set url = body | split(pat="href=") | slice(start=1) | first | split(pat=">") | first | trim_start_matches(pat='"') +| trim_end_matches(pat='"') %} + +{% if 'https' in url %} + {% if url is not containing("threefold") %} + {% if url is not containing("localhost") %} + + {% endif %} + {% endif %} + +{% else %} + +{% endif %} \ No newline at end of file diff --git a/templates/shortcodes/cloud_header.html b/templates/shortcodes/cloud_header.html new file mode 100644 index 0000000..65bffb1 --- /dev/null +++ b/templates/shortcodes/cloud_header.html @@ -0,0 +1,57 @@ +{% set base = config.base_url %} + +
    +
    +
    +
    + Store +
    +
    + {% if 'www_threefold_io' in base %} + {% set path = base ~ '/' ~ 'images/cloud_header_seprated.png' %} + + TF Cloud + {% else %} + TF Cloud + {% endif %} +
    +
    + Build +
    +
    +
    +
    + + \ No newline at end of file diff --git a/templates/shortcodes/cloud_stats.html b/templates/shortcodes/cloud_stats.html new file mode 100644 index 0000000..4c0ff04 --- /dev/null +++ b/templates/shortcodes/cloud_stats.html @@ -0,0 +1,174 @@ +{% set data = load_data(url="https://gridproxy.grid.tf/stats?status=up", required=false, format="json") %} +{% if data %} + {% set capacity = (data.totalHru + data.totalSru) / 1024 / 1024 / 1024 / 1024 / 1024 %} + {% set nodes = data.nodes %} + {% set countries = data.countries %} + {% set cores = data.totalCru %} +{% endif %} + +{% if data %} +
    +
    +
    +

    + A Global Edge
    Infrastructure +

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + Nodes +
    +
    + {{ nodes }} +
    +
    +
    +
    + Capacity +
    +
    + {{ capacity | round(precision=2) }}PB +
    +
    +
    +
    + Cores +
    +
    + {{ cores | num_format }} +
    +
    +
    +
    + Countries +
    +
    + {{ countries }} +
    +
    +
    +
    +
    +
    +
    + + +
    +{% endif %} \ No newline at end of file diff --git a/templates/shortcodes/community_banner.html b/templates/shortcodes/community_banner.html new file mode 100644 index 0000000..3bf3eb3 --- /dev/null +++ b/templates/shortcodes/community_banner.html @@ -0,0 +1,16 @@ +{% block content %} + + + +{% endblock content %} \ No newline at end of file diff --git a/templates/shortcodes/dev_resourses.html b/templates/shortcodes/dev_resourses.html new file mode 100644 index 0000000..975a156 --- /dev/null +++ b/templates/shortcodes/dev_resourses.html @@ -0,0 +1,127 @@ +{% if '127.0.0.1:1111' in config.base_url %} +{% set img_url = 'developer/' %} +{% else %} +{% set img_url = '' %} +{% endif %} + +{% if 'www_threefold_io' in config.base_url %} +{% set url = '/www_threefold_io' %} +{% else %} +{% set url = '' %} +{% endif %} + +
    +
    +

    + where would you like to start? +

    +
    ThreeFold's open-source + infrastructure has been built from the ground up on the Linux Kernel to create a fully decentralized + Internet and Cloud. From a stateless operating system to new compute, storage and networking primitives, the + next-generation Internet is here. +
    +
    + +
    \ No newline at end of file diff --git a/templates/shortcodes/featured_stories.html b/templates/shortcodes/featured_stories.html new file mode 100644 index 0000000..aae4489 --- /dev/null +++ b/templates/shortcodes/featured_stories.html @@ -0,0 +1,70 @@ + \ No newline at end of file diff --git a/templates/shortcodes/grid_stats.html b/templates/shortcodes/grid_stats.html new file mode 100644 index 0000000..413dde9 --- /dev/null +++ b/templates/shortcodes/grid_stats.html @@ -0,0 +1,162 @@ +{% set styles = "background-image: url('images/V3.png');" %} +
    +
    +
    + {{body | markdown | safe }} +
    + +
    + The total amount of storage (SSD, HDD, & RAM) on the grid. + +
    + capacity +
    + +
    + The total number of Central Processing Unit cores (compute power) available on the grid. + +
    + cores +
    + +
    + The total number of nodes on the grid. A node is a computer server 100% dedicated to the network. + +
    + nodes +
    + +
    + The total number of countries where at least one node is connected and operational. + +
    + countries +
    + +
    + The total number of farms on the grid. A farm is one or more nodes operated by the same entity / entities. + +
    900+
    + farms +
    +
    + + {# #} +
    +
    +
    + + + + + + + + + diff --git a/templates/shortcodes/grid_stats_expand.html b/templates/shortcodes/grid_stats_expand.html new file mode 100644 index 0000000..54ec357 --- /dev/null +++ b/templates/shortcodes/grid_stats_expand.html @@ -0,0 +1,82 @@ +{% set styles = "background-image: url('V3.png');" %} +{% set data = load_data(url="https://gridproxy.grid.tf/stats?status=up", required=false, format="json") %} +{% if data %} +{% set capacity = (data.totalHru + data.totalSru) / 1024 / 1024 / 1024 / 1024 / 1024 %} +{% set nodes = data.nodes %} + {% set countries = data.countries %} + {% set cores = data.totalCru %} +{% endif %} + +{% if data %} +
    +
    +
    + {{body | markdown | safe }} + +
    + + + +
    + +
    + {{ capacity | round(precision=2) }}PB + capacity +
    +
    + + + +
    + +
    + {{ nodes }} + nodes +
    +
    + + + + +
    + +
    + {{ countries }} + countries +
    +
    + + +
    + +
    + {{ cores | num_format }} + cores +
    +
    + + +
    + + + +
    +
    +
    +{% endif %} + \ No newline at end of file diff --git a/templates/shortcodes/header_new.html b/templates/shortcodes/header_new.html new file mode 100644 index 0000000..da2fea5 --- /dev/null +++ b/templates/shortcodes/header_new.html @@ -0,0 +1,20 @@ +
    +
    +
    +
    +
    + +
    +
    +
    +
    +

    Be the Internet

    +

    Host a node, support a decentralized future

    +

    By connecting a modern computer at your home or office to the ThreeFold Grid, you can provide Internet capacity to communities and builders, and be rewarded for doing this. Take part in shaping a new Internet era governed by all of us.

    + +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/templates/shortcodes/hovevision.html b/templates/shortcodes/hovevision.html new file mode 100644 index 0000000..bcae8b3 --- /dev/null +++ b/templates/shortcodes/hovevision.html @@ -0,0 +1,59 @@ + +
    +
    +

    The Vision

    +

    Pioneering. Empowering.

    +
    +
    +
    +
    + Random image +
    Most countries only rely on cable networks, meaning they lack control over their own digital infrastructure.
    +
    +
    + Random image +
    Today, most of the cloud is owned and operated by a few major companies taking all the profits and control of the Internet.
    +
    +
    + Random image +
    Digital experiences should not manipulate people, rather they should empower them.
    +
    +
    + Random image +
    Current IT infrastructures consume far too much energy. Now it is time we do something about it.
    +
    +
    +
    +
    + + + + + + + + + + diff --git a/templates/shortcodes/jobs.html b/templates/shortcodes/jobs.html new file mode 100644 index 0000000..17a168d --- /dev/null +++ b/templates/shortcodes/jobs.html @@ -0,0 +1,209 @@ +
    +
    +
    +
    +
    +
    +

    + ThreeFold Grid Operations Lead +

    +

    + The ThreeFold Grid will eventually connect millions of nodes. You'll be in charge of finding + the best ways to operate such a network. +

    + +
    +
    + +
    +
    +

    + ThreeFold Grid Developer Lead +

    +

    + Take ownership of the ongoing development and documentation of the tech components that + constitute the ThreeFold Grid. +

    + +
    +
    + +
    +
    +

    + Master Technical Architect +

    +

    + Take the lead on the architectural design of the Digital Twin tech and ecosystem defining a + new paradigm for the tech industry. +

    + +
    +
    + +
    +
    +

    + Quality Assurance Engineer +

    +

    + ThreeFold is developing infrastructures and products like never before. Join the testing + team and ensure optimum tech releases. +

    + +
    +
    + +
    +
    +

    + Senior Developer +

    +

    + Join the core developer team working on our operating system Zero-OS, Digital Twin, + blockchain layers or other products we are building. +

    + +
    +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/templates/shortcodes/logo_slider.html b/templates/shortcodes/logo_slider.html new file mode 100644 index 0000000..c76eade --- /dev/null +++ b/templates/shortcodes/logo_slider.html @@ -0,0 +1,97 @@ + +{#
    + Image 1 + Image 2 + Image 3 + Image 4 + Image 5 + Image 6 + Image 7 + Image 8 + Image 9 + +
    #} + + +
    + +
    + +
      +
    • + Facebook +
    • +
    • + Disney +
    • +
    • + Airbnb +
    • +
    • + Apple +
    • +
    • + Spark +
    • +
    • + Samsung +
    • +
    • + Quora +
    • +
    • + Sass +
    • +
    • + Sass +
    • +
    + + +
    +
    + + + + + diff --git a/templates/shortcodes/menu.html b/templates/shortcodes/menu.html new file mode 100644 index 0000000..4def2f7 --- /dev/null +++ b/templates/shortcodes/menu.html @@ -0,0 +1,44 @@ + + +{% set columns = body | safe | markdown | split(pat="|||") %} + + + +{% set classes = "relative flex flex-col lg:flex-row items-baseline -mx-8 sm:-mx-12 lg:-mx-12 xl:-mx-8" %} +{% set column_classes = "flex-1 m-2 lg:m-4 my-header" %} + + + +
    + {% for column in columns%} + + {% if column | as_str | length < 10 %} + + {% else %} +
    + {{column | split(pat="{% button() %}") | slice(end=1) | first | safe}} +
    +
    + {% for button in column | split(pat="{% button() %}") | slice(start=1) | join(sep="") | split(pat="{%% end %%}") | slice(end=-1) %} + {% set body = button %} + {% include "shortcodes/button.html" %} + {% endfor %} +
    + {% endif %} + {% endfor %} +
    \ No newline at end of file diff --git a/templates/shortcodes/mermaid.html b/templates/shortcodes/mermaid.html new file mode 100644 index 0000000..7ddc2e9 --- /dev/null +++ b/templates/shortcodes/mermaid.html @@ -0,0 +1,3 @@ +
    + {{ body }} +
    \ No newline at end of file diff --git a/templates/shortcodes/roadmap.html b/templates/shortcodes/roadmap.html new file mode 100644 index 0000000..206e9d2 --- /dev/null +++ b/templates/shortcodes/roadmap.html @@ -0,0 +1,126 @@ + +
    +
    +
    + +
    +

    CREATION OF CORE TECH

    +
      +
    • + +10 years of development +
    • +
      +
    • + Built decentralized, autonomous, edge internet technology +
    • +
    +
    +
    +
    + +
    +

    TRACTION & EXPANSION

    +
      +
    • + Open Source Development
      + 60+ Countries
      + 30,000+ Cores
      + 30,000,000 GB of Storage +
    • +
      +
    • + Signed with Government of Zanzibar for a digital FreeZone and connected cyber city +
    • +
      +
    • + Multiple global partners want to be part of the global expansion +
    • +
    +
    +
    +
    + +
    +

    THREEFOLD EXPANSION

    +
      +
    • + Open Source Mode & Commercial Mode + Version 3 & Version 4 +
    • +
      +
    • + Service Levels & Supportability +
    • +
      +
    • + Launch Project Internet Capacity +
    • +
      +
    • + Expansion towards 1 million nodes +
    • +
    +
    +
    +
    + +
    +

    SOVEREIGNTY FOR ALL

    +
      +
    • + +1 Million Nodes enabled +
    • +
      +
    • + +100 Million people using our system platform. +
    • +
      +
    • + A credible and widespread alternative to centralized clouds +
    • +
    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/templates/shortcodes/row.html b/templates/shortcodes/row.html new file mode 100644 index 0000000..f8eaef6 --- /dev/null +++ b/templates/shortcodes/row.html @@ -0,0 +1,184 @@ + + + + +{% if page %} + {% if "](" in body %} + + {% set body_arr = body | split(pat="](") %} + {% set body = body_arr[0] %} + {% for i in body_arr %} + {% set prev_index = loop.index0 - 1 %} + {% if not loop.first %} + {% if "![" in body_arr[prev_index] %} + {% set_global body = body ~ '](' ~ page.permalink ~ i %} + {% else %} + {% if i is not starting_with("http") %} + {% set base_url = get_url(path="") %} + {% set_global body = body ~ '](' ~ base_url ~ i %} + {% else %} + {% set_global body = body ~ '](' ~ i %} + {% endif %} + {% endif %} + {% endif %} + {% endfor %} + {% endif %} + +{% endif %} + + +{% set body = body | markdown | replace(from='href="', to='target="_blank" href="') | safe %} +{% set base_url = get_url(path="")%} +{% set body = body | markdown | replace(from='target="_blank" href="' ~ base_url , to='href="' ~ base_url) | safe %} + + +{% set columns = body | safe | markdown | split(pat="|||") %} +{% set row_class = "relative lg:p-4 p-1 flex flex-col xl:flex xl:flex-row"%} + + +{% if 2 < columns | length %} + {% set row_class = row_class ~ " lg:items-start" %} +{% else %} + {% set row_class = row_class ~ " lg:items-center" %} +{% endif %} + +{% set col_class = "flex-1 mb-6 md:mb-0 px-2 md:px-4 w-full" %} +{% set row_id = '' %} + +{% if id %} +{% set row_id = id %} + +{% endif %} + + +{% if style %} + +{% if "centerItem" in style %} +{% set row_class = "flex flex-col md:flex-row items-start" %} +{% endif %} + + + + {% if "reverse" in style %} + {% set row_class = "flex flex-col-reverse md:flex-row items-center" %} + {% endif %} + + {% if "center" in style %} + {% set row_class = row_class ~ " text-center mx-auto justify-center" %} + {% set col_class = col_class ~ " m-2 lg:m-0" %} + {% endif %} + + {% if "text-white" in style %} + {% set row_class = row_class ~ " text-white" %} + {% endif %} + + + {% if "margin" in style %} + {% set row_class = row_class ~ " lg:py-24 py-10" %} + {% set col_class = col_class ~ " m-2 lg:m-0" %} + {% endif %} + + + {% if "header" in style %} + {% set row_class = row_class ~ " h-auto xl:h-screen md:h-auto mt-4 lg:mt-0" %} + {% set col_class = col_class ~ " mt-3" %} + {% endif %} + + {% if "mtop" in style %} + {% set row_class = row_class ~ " lg:pt-24 pt-2" %} + {% set col_class = col_class ~ " m-2 lg:m-0" %} + {% endif %} + + {% if "mbottom" in style %} + {% set row_class = row_class ~ " lg:pb-24" %} + {% set col_class = col_class ~ " m-2 lg:m-0" %} + {% endif %} + + + {% if "lean" in style %} + {% set row_class = "relative flex flex-col lg:flex-row items-baseline -mx-8 sm:-mx-12 md:-mx-16 lg:-mx-20" %} + {% set col_class = "flex-1 m-4 lg:m-0" %} + {% endif %} + + + {% if "between" in style %} + {% set row_class = row_class ~ " lg:max-w-6xl lg:mx-auto mx-4" %} + {% elif "moderate" in style %} + {% set row_class = row_class ~ " lg:m-20" %} + {% endif %} + + + {% if "narrow" in style %} + {% set row_class = row_class ~ " lg:max-w-4xl mx-auto" %} + {% elif "moderate" in style %} + {% set row_class = row_class ~ " lg:m-20" %} + {% endif %} + + {% if "semiNarrow" in style %} + {% set row_class = row_class ~ " lg:px-20 mx-auto" %} + {% elif "moderate" in style %} + {% set row_class = row_class ~ " lg:m-20" %} + {% endif %} + +{% endif %} + + +{% set styles = "" %} +{% if bgPath %} + {% set background_url = page.permalink ~ bgPath %} + {% set styles = "background: url('" ~ background_url ~ "'); background-size: cover; background-position: bottom;" %} + {% set row_class = row_class ~ "w-screen sm:-mx-12 md:-mx-16 lg:-mx-20" %} +{% endif %} +{% if bgColor %} + {% set styles = "background-color: " ~ bgColor ~ "; background-size: cover" %} + {% set row_class = row_class ~ " w-auto -mx-4 sm:-mx-12 md:-mx-16 lg:-mx-20" %} +{% endif %} +{% if gradient %} + {% set styles = "background: " ~ gradient ~ "; background-size: cover" %} + {% set row_class = row_class ~ " w-auto -mx-4 sm:-mx-12 md:-mx-16 lg:-mx-20" %} +{% endif %} +{% if bgStyle %} + {% if "full" in bgStyle %} + {% set styles = styles ~ "height: -webkit-fill-available; height: 100vh;" %} + {% elif "hero" in bgStyle %} + {% set div_class = div_class ~ " -mt-24 pt-12 " %} + {% endif %} + {% endif %} + +{% set url = body | split(pat="href=") | slice(start=1) | first | split(pat=">") | first | trim_start_matches(pat='"') %} + +
    + + {% for column in columns %} + + + {% if column | as_str | length < 10 %} + + + {% else %} +
    + + {% if "{% mermaid() %}" in column %} + {% set mermaid_section = column | safe | markdown | split(pat="{% mermaid() %}") %} + {% set mermaid_content = mermaid_section[1] | striptags | replace(from="–", to="--")%} +
    + {{mermaid_content | safe }} +
    + {% else %} + {{ column | safe }} + {% endif %} +
    + {% endif %} + {% endfor %} +
    \ No newline at end of file diff --git a/templates/shortcodes/storymap.html b/templates/shortcodes/storymap.html new file mode 100644 index 0000000..0c26b6c --- /dev/null +++ b/templates/shortcodes/storymap.html @@ -0,0 +1,118 @@ +
    + + + + + +
    + +
    + {# + + #} +
    + +
    +
    + {#
    Phase 1:
    #} + {#
    OUR JOURNEY BEGAN
    #} +
    +

    OUR JOURNEY BEGAN with a realization among a group of Internet and Cloud veterans: the existing Internet infrastructure is unsustainable.

    + +
    +
    + + +
    + +
    + {# + + #} +
    + +
    +
    + {#
    Phase 2:
    #} + {# #} +
    +

    In response, we came together with a shared mission—to design a revolutionary decentralized, open-source, inclusive, and sustainable Cloud solution for all.

    + +
    +
    + + +
    + +
    + {# + + #} +
    + +
    +
    + {#
    Phase 3:
    #} + {#
    Today
    #} +
    +

    Today + as we embark on the commercialization phase, the ThreeFold Grid is in its third generation technology and live in ±60 countries, significant milestones in our ongoing commitment to redefine the future of the digital landscape. +

    + +
    +
    + + +
    + +
    + {# + + #} +
    + +
    +
    + {#
    Phase 2:
    #} + {# #} +
    +

    Project Internet Capacity is the fourth generation of the ThreeFold Grid, the accumulation of years of work by ThreeFold. Project INCA aims to be a Layer 0 for the DePIN community and involves the launch of a new token, INCA, on the Solana blockchain. Learn more here.

    + +
    +
    + + + {#
    + +
    + + + +
    + +
    +
    +
    Delivered
    + +
    +
    Pretium lectus quam id leo. Urna et pharetra aliquam vestibulum morbi blandit cursus risus.
    +
    +
    #} + +
    + diff --git a/templates/shortcodes/tabs_tech.html b/templates/shortcodes/tabs_tech.html new file mode 100644 index 0000000..9a2be24 --- /dev/null +++ b/templates/shortcodes/tabs_tech.html @@ -0,0 +1,115 @@ + +
    +
    +
    + + + + +
    +
    +
    + + + +
    +
    + + diff --git a/templates/shortcodes/team_sec.html b/templates/shortcodes/team_sec.html new file mode 100644 index 0000000..ee8db47 --- /dev/null +++ b/templates/shortcodes/team_sec.html @@ -0,0 +1,404 @@ +
    +

    + The Team +

    +
    + Spread across the world, our team has + built some of the world’s best Internet storage and cloud automation technologies since the ‘90s. With a strong + vision for the future, we’re now on a mission to create a peer-to-peer Internet that can host all of humanity’s + digital workloads via smart contract, removing all forms of centralization from global IT systems. +
    +
    +
    +
    +
    + + Kristof De Spiegeleer + +
    +
    +
    +
    + + Adnan Fatayerji + +
    +
    +
    +
    + + Sabrina Sadik + +
    +
    +
    +
    + + Sacha obeegadoo + +
    +
    +
    +
    + + Jan De Landtsheer + +
    +
    +
    +
    + + Reem Khamis + +
    +
    +
    +
    + + Ahmed Thabet + +
    +
    +
    +
    + + Florian Fournier + +
    +
    +
    +
    + + Ewald Weizenbauer + +
    +
    +
    +
    + + Owen Kemp + +
    +
    +
    +
    + + Peter van der Henst + +
    +
    +
    +
    + + alexandre_hannelas + +
    +
    +
    +
    + + Karoline Zizka + +
    +
    +
    +
    + + Lee Smet + +
    +
    +
    +
    + + Maxime Daniel + +
    +
    +
    +
    + + Pierre van Hoorebeke + +
    +
    +
    +
    + + Sam Taggart + +
    +
    +
    +
    + + Scott Yeager + +
    +
    + {# +
    +
    + + Gloria Anne + +
    +
    + #} +
    +
    + + Sasha Astiadi + +
    +
    +
    +
    +
    + diff --git a/templates/shortcodes/tft_header.html b/templates/shortcodes/tft_header.html new file mode 100644 index 0000000..9b071c5 --- /dev/null +++ b/templates/shortcodes/tft_header.html @@ -0,0 +1,15 @@ +{% block content %} + + + +{% endblock content %} \ No newline at end of file diff --git a/templates/shortcodes/tft_links.html b/templates/shortcodes/tft_links.html new file mode 100644 index 0000000..2d6c2d8 --- /dev/null +++ b/templates/shortcodes/tft_links.html @@ -0,0 +1,26 @@ +{% block content %} + + + +{% endblock content %} \ No newline at end of file diff --git a/templates/static/js/custom.js b/templates/static/js/custom.js new file mode 100644 index 0000000..4b1064d --- /dev/null +++ b/templates/static/js/custom.js @@ -0,0 +1,99 @@ + +var displayedMenu = ""; +var hamburgerShown = false; +let width = screen.width; +var isMobile = width < 1024; + +function toggleMenu(button) { + if (displayedMenu === button.id.split("-")[0]) { + button.className = button.className.replace(" text-gray-800 bg-stone-200 sm:bg-transparent", " text-gray-900"); + hideMenu(button.id.split("-")[0]); + button.lastElementChild.className = button.lastElementChild.className.replace("rotate-0", "-rotate-90") + displayedMenu = ""; + } else { + showMenu(button.id.split("-")[0]); + button.lastElementChild.className = button.lastElementChild.className.replace("-rotate-90", "rotate-0") + button.className = button.className.replace(" text-gray-900", " text-gray-800 bg-stone-200 sm:bg-transparent"); + displayedMenu = button.id.split("-")[0] + } +} + +function handleClick(button) { + if (button.id === "hamburger-btn" || button.id === "close-hamburger-btn") { + toggleHamburger() + } + if (button.id.indexOf("menu") !== -1) { + toggleMenu(button) + } +} + +function toggleHamburger() { + if (hamburgerShown) { + hideHamburger(); + hamburgerShown = false; + } else { + showHamburger(); + hamburgerShown = true; + } +} + +function showMenu(menuName) { + var menuId = menuName + (isMobile ? '-mobile-menu' : '-menu'); + var menuBtnId = menuName + (isMobile ? '-mobile-menu' : '-menu'); + var menuElement = document.getElementById(menuId) + menuElement.className = menuElement.className.replace(" hidden", ""); + setTimeout(function () { + menuElement.className = menuElement.className.replace("duration-200 ease-in opacity-0 -translate-y-1", "duration-150 ease-out opacity-1 -translate-y-0"); + }, 10); +} + +function hideMenu(menuName) { + var menuId = menuName + (isMobile ? '-mobile-menu' : '-menu'); + var menuElement = document.getElementById(menuId) + menuElement.className = menuElement.className.replace("duration-150 ease-out opacity-1 -translate-y-0", "duration-200 ease-in opacity-0 -translate-y-1"); + setTimeout(function () { + menuElement.className = menuElement.className + " hidden" + }, 300); +} + +function showHamburger() { + document.getElementById('header-container').className = "overflow-hidden"; + document.getElementById('hamburger').className = "fixed mt-16 z-20 top-0 inset-x-0 transition transform origin-top-right"; + document.getElementById('hamburger-btn').className = "hidden lg:hidden inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out"; + document.getElementById('close-hamburger-btn').className = "inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out"; +} + +function hideHamburger() { + document.getElementById('header-container').className = ""; + document.getElementById('hamburger').className = "hidden absolute z-20 top-0 inset-x-0 transition transform origin-top-right lg:hidden"; + document.getElementById('hamburger-btn').className = "inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out"; + document.getElementById('close-hamburger-btn').className = "hidden lg:hidden inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out"; + if (displayedMenu !== "") { + hideMenu(displayedMenu); + } +} +function toggleFilter() { + var filterMenu = document.getElementById("filter-menu") + if (filterMenu.className.includes("hidden")) { + filterMenu.className = filterMenu.className.replace("hidden", " ") + } else { + filterMenu.className = filterMenu.className + " hidden" + } +} +window.onload = function () { + let elements = document.getElementsByTagName("button"); + let buttons = [...elements] + + buttons.forEach((button) => { + button.addEventListener('click', function () { + handleClick(button) + }); + }) + + document.getElementById("filter-btn").addEventListener('click', toggleFilter); + document.getElementById("mobile-learn-btn").addEventListener('click', toggleMenu); +} + +function openInNewTab(url) { + window.open(url, '_blank').focus() +} \ No newline at end of file diff --git a/templates/tags/list.html b/templates/tags/list.html new file mode 100644 index 0000000..f628a84 --- /dev/null +++ b/templates/tags/list.html @@ -0,0 +1,4 @@ +{% extends "index.html" %} + +{% block content %} +{% endblock content %} \ No newline at end of file diff --git a/templates/tags/single.html b/templates/tags/single.html new file mode 100644 index 0000000..025e23e --- /dev/null +++ b/templates/tags/single.html @@ -0,0 +1,14 @@ +{% extends "index.html" %} + +{% block content %} + +
    + +
    + {% include "partials/tagsCards.html" %} + {% include "partials/tagsSidebar.html" %} +
    +
    + + {% endblock content %} + diff --git a/templates/taxonomy_list.html b/templates/taxonomy_list.html new file mode 100644 index 0000000..f628a84 --- /dev/null +++ b/templates/taxonomy_list.html @@ -0,0 +1,4 @@ +{% extends "index.html" %} + +{% block content %} +{% endblock content %} \ No newline at end of file diff --git a/templates/taxonomy_single.html b/templates/taxonomy_single.html new file mode 100644 index 0000000..d34cecd --- /dev/null +++ b/templates/taxonomy_single.html @@ -0,0 +1,25 @@ +{% extends "index.html" %} + +{% block content %} + +
    + +
    + {% if current_path is containing("partners") %} + {% include "partials/partnersCards.html" %} + {% include "partials/partnersSidebar.html" %} + {% elif current_path is containing("tags") %} + {% include "partials/tagsCards.html" %} + {% include "partials/tagsSidebar.html" %} + {% elif current_path is containing("memberships") %} + {% include "partials/memberships.html" %} + {% elif current_path is containing("people") %} + {% else %} + {% include "partials/newsPosts.html" %} + {% include "partials/newsSidebar.html" %} + {% endif %} +
    +
    + + {% endblock content %} + diff --git a/vercel.json b/vercel.json new file mode 100644 index 0000000..f91642e --- /dev/null +++ b/vercel.json @@ -0,0 +1,48 @@ +{ + "build": { + "env": { + "ZOLA_VERSION": "0.14.0" + } + }, + "github": { + "silent": true + }, + "headers": [ + { + "source": "/css/(.*)", + "headers": [ + { + "key": "Cache-Control", + "value": "public, max-age=2678400" + } + ] + }, + { + "source": "images/(.*)", + "headers": [ + { + "key": "Cache-Control", + "value": "public, max-age=2678400" + } + ] + }, + { + "source": "images/icons/(.*)", + "headers": [ + { + "key": "Cache-Control", + "value": "public, max-age=2678400" + } + ] + }, + { + "source": "/fonts/(.*)", + "headers": [ + { + "key": "Cache-Control", + "value": "public, max-age=2678400" + } + ] + } + ] +} \ No newline at end of file