This commit is contained in:
samaradel
2021-09-28 19:00:32 +02:00
44 changed files with 501 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,10 @@
---
id: card2
title: TITLE
image: ./image_name.png
button: Button
link: '' #link for button
order: 2
---
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -0,0 +1,10 @@
---
id: card3
title: TITLE
image: ./image_name.png
button: Button
link: '' #link for button
order: 3
---
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -0,0 +1,10 @@
---
id: card4
title: TITLE
image: ./image_name.png
button: Button
link: '' #link for button
order: 4
---
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -0,0 +1,10 @@
---
id: card5
title: TITLE
image: ''
button: Button
link: '' #link for button
order: 5
---
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.

View File

@@ -0,0 +1,10 @@
---
id: card6
title: TITLE
image: ''
button: Button
link: '' #link for button
order: 6
---
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -0,0 +1,7 @@
---
id: product1
title: ''
image : ./farming_card.png
url : https://farming.threefold.io
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

View File

@@ -0,0 +1,7 @@
---
id: product2
title: ''
image : ./cloud_card.png
url : https://cloud.threefold.io
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View File

@@ -0,0 +1,7 @@
---
id: product3
title: ''
image : ./marketplace_card.png
url : https://marketplace.threefold.io/
---

View File

@@ -0,0 +1,7 @@
---
id: product4
title: ''
image : ./twin_card.png
url : https://twin.threefold.io
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

View File

@@ -0,0 +1,7 @@
---
id: product5
title: ''
image : ./grid_card.png
url : https://threefold.tech
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

View File

@@ -0,0 +1,7 @@
---
id: product6
title: ''
image : ./aci_card.png
url : https://consciousinternet.org
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

View File

@@ -0,0 +1,42 @@
{
"headerNavigation": [
{
"name": "About",
"link": "/about",
"external": false,
"expandable": false
},
{
"name": "Projects",
"link": "/projects",
"external": false,
"expandable": true
},
{
"name": "People",
"link": "/people",
"external": false,
"expandable": true
},
{
"name": "Blog",
"link": "/blog",
"external": false,
"expandable": false
},
{
"name": "NewsRoom",
"link": "/news",
"external": false,
"expandable": false
}
],
"footerNavigation": [
{
"name": "",
"link": "",
"external": false,
"expandable": false
}
]
}

8
content/site/social.json Normal file
View File

@@ -0,0 +1,8 @@
{
"social": [
{
"icon": "linkedin",
"link": "https://www.linkedin.com/company/threefold-foundation/"
}
]
}

50
filter.py Normal file
View File

@@ -0,0 +1,50 @@
import toml
import os
import shutil
def getListOfFiles(dirName):
# create a list of file and sub directories
# names in the given directory
listOfFile = os.listdir(dirName)
allFiles = list()
# Iterate over all the entries
for entry in listOfFile:
# Create full path
fullPath = os.path.join(dirName, entry)
# If entry is a directory then get the list of files in this directory
if os.path.isdir(fullPath):
allFiles = allFiles + getListOfFiles(fullPath)
else:
allFiles.append(fullPath)
return allFiles
def do():
files = getListOfFiles("content")
for file in files:
if not file.endswith(".md"):
continue
t = ""
start = False
with open(file) as f:
for line in f:
if line.startswith("---"):
if not start:
start = True
continue
else:
break
if line.startswith("private:"):
if line.replace("private:", "").strip() == "1":
shutil.rmtree(os.path.abspath(os.path.dirname(file)))
else:
continue
if __name__ == "__main__":
do()

118
manual/README.md Normal file
View File

@@ -0,0 +1,118 @@
# metadata
## metadata per project page
```
---
id: seeds
title: Planet Regenerative Economy
status: planned, internal, test, public
startdate: 2021-03-01
countries:
cities:
rank: 1
excerpt:
created: 2019-03-20
image: ./seeds.png
image_caption: seeds
logo: ./logo.png
author: kristine_vilnite
members: franz_josef_allmayer
websites:
tags: digitaltwin, grid, cloud, farming
private: 0
potential:
linkedin:
---
```
- id: uniquely chosen name, which should not change over time
- title which shows on overview
- status: planned, internal, test, public
- startdate: when then project will start and be available on crystaltwin or tfgrid
- countries: where is the team, can be comma separated list
- cities: ...
- rank: 1 is lowest prio, 5 highest (what to show first)
- excerpt: short content to show in overview (DONT MAKE IT TOO LONG)
- created: when the project was registered/created
- image:
- image caption:
- logo:
- author: 1 or more persons who created the content
- members: 1 or more persons behind project (the members of the project, use the id)
- websites:
- tags: generic to allow us to search & show. Choose from:
- digitaltwin : for project who will use digital twin as backend
- grid : for project will use the grid
- data_center : for projects that will use the VDC (Cloud)
- tech : techological solution
- security : safety layer projects
- payment : token provider, issuer
- farming : for projects that are farmers
- private:
- 0 : projects that are visible to all
- 1 : projects that we keep private
- potential: describe the potential for a project e.g. 1m users in X months, X TB of storage, ... can use multiple lanes
- linkedin: link to projects linkedin page
the section for vimeo:
```
<BR>
<iframe src="https://player.vimeo.com/video/434681704" width="800" height="450" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>
<BR>
```
to use breaks do ```enter <BR> enter```
## metadata per person page
```
---
id: kristine_vilnite
name: Kristine Vilnite
rank: 4
memberships: foundation (threefold_tech, project, ambassador, farmer, gridcouncil.. see other options below)
bio: info about the person (values, mission, why threefold, experience, current occupation etc.)
excerpt: very short line highliting person (from description)
linkedin: https://www.linkedin.com/...
websites: https://threefold.io/, https://www.mazraa.io/
image: ./kristine_vilnite.png
project_ids: threefold_foundation
countries: Latvia
cities: Riga
private: 0
---
```
- meberships, choose from:
- threefold_foundation, threefold_tech, ambassador, farmer, project, guardian, techcounil, gridcouncil
- bio: business experience/skills
- project_ids: which projects person is part of
- private:
the section for vimeo:
```
<BR>
<iframe src="https://player.vimeo.com/video/417088459" width="800" height="450" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>
<BR>
```
# examples
## project
see https://github.com/threefoldtech/www_partners_v2/blob/main/content/project/vlinder/vlinder.md
## person
exammple: https://github.com/threefoldtech/www_partners_v2/blob/main/content/person/adnan_fatayerji/adnan_fatayerji.md

3
manual/contribute.md Normal file
View File

@@ -0,0 +1,3 @@
# how to contribute
... TODO

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 1089.1 104.1" style="enable-background:new 0 0 1089.1 104.1;" xml:space="preserve">
<g>
<g>
<path d="M308.1,20h-27.7v79h-19.7V20H233V4.2h75V20H308.1z"/>
<path d="M401.1,4.1v94.8h-19.7V58.1h-41.7v40.8H320V4.1h19.7v40.2h41.7V4.1C381.4,4.1,401.1,4.1,401.1,4.1z"/>
<path d="M496.5,98.9h-17.7c-3.3,0-5.7-1.3-7.2-3.8l-18-29.1c-0.7-1.1-1.6-2-2.5-2.5s-2.2-0.8-4-0.8h-6.7v36.1h-19.6V4h29.8
c6.6,0,12.3,0.7,17,2.1s8.6,3.3,11.6,5.7s5.2,5.4,6.6,8.7c1.4,3.4,2.1,7.1,2.1,11.1c0,3.1-0.5,6.1-1.3,8.9s-2.2,5.4-3.9,7.7
c-1.7,2.3-3.8,4.4-6.3,6.1c-2.5,1.8-5.3,3.2-8.5,4.3c1.3,0.7,2.4,1.5,3.5,2.5s2.1,2.1,2.9,3.5L496.5,98.9z M450.6,49
c3.2,0,5.9-0.4,8.2-1.2s4.2-1.9,5.7-3.3c1.5-1.4,2.6-3.1,3.3-5c0.7-1.9,1-4,1-6.3c0-4.5-1.5-8-4.5-10.4s-7.5-3.7-13.6-3.7h-10.2
v30L450.6,49L450.6,49z"/>
<path d="M525.5,19.5v24.4h31.6v14.8h-31.6v24.9h40.6V99h-60.3V4.2h60.3v15.4L525.5,19.5L525.5,19.5z"/>
<path d="M600.5,19.5v24.4h31.6v14.8h-31.6v24.9h40.6V99h-60.3V4.2h60.3v15.4L600.5,19.5L600.5,19.5z"/>
<path d="M675.5,19.5v26.2h34.1v15.4h-34.1v37.8h-19.7V4.1h60.3v15.4H675.5L675.5,19.5z"/>
<path d="M820.4,51.5c0,6.9-1.2,13.4-3.5,19.3s-5.6,11-9.9,15.4c-4.3,4.3-9.3,7.7-15.3,10.2s-12.6,3.7-19.8,3.7
c-7.3,0-13.9-1.2-19.8-3.7c-6-2.5-11.1-5.8-15.3-10.2c-4.3-4.3-7.6-9.4-9.9-15.4c-2.3-5.9-3.5-12.3-3.5-19.3
c0-6.9,1.2-13.3,3.5-19.2s5.6-11,9.9-15.3c4.3-4.3,9.4-7.7,15.3-10.2c6-2.5,12.6-3.7,19.8-3.7c7.3,0,13.9,1.2,19.8,3.7
c6,2.5,11.1,5.9,15.3,10.2c4.3,4.3,7.5,9.4,9.9,15.3C819.2,38.2,820.4,44.6,820.4,51.5z M800.3,51.5c0-5-0.7-9.4-2-13.4
c-1.3-3.9-3.2-7.3-5.7-10.1s-5.4-4.9-9-6.3c-3.5-1.5-7.5-2.2-11.9-2.2s-8.4,0.7-12,2.2c-3.5,1.5-6.5,3.6-9,6.3
c-2.5,2.8-4.3,6.1-5.7,10.1c-1.3,3.9-2,8.4-2,13.4s0.7,9.5,2,13.4s3.2,7.3,5.7,10s5.5,4.8,9,6.3s7.5,2.2,12,2.2s8.4-0.7,11.9-2.2
s6.5-3.6,9-6.3s4.3-6.1,5.7-10S800.3,56.5,800.3,51.5z"/>
<path d="M891,83v15.9h-56.2V4.1h19.6V83H891z"/>
<path d="M987.9,51.5c0,6.9-1.2,13.3-3.5,19.1s-5.6,10.8-9.9,15c-4.3,4.2-9.3,7.5-15.3,9.8c-6,2.4-12.6,3.5-19.8,3.5H903V4.1h36.4
c7.3,0,13.9,1.2,19.8,3.5c6,2.4,11.1,5.6,15.3,9.8s7.5,9.2,9.9,15C986.7,38.3,987.9,44.6,987.9,51.5z M967.8,51.5
c0-5-0.7-9.4-2-13.4s-3.2-7.3-5.6-10.1c-2.4-2.7-5.4-4.8-8.9-6.3s-7.5-2.2-11.9-2.2h-16.7v64.1h16.7c4.4,0,8.4-0.7,11.9-2.2
s6.5-3.6,8.9-6.3c2.4-2.8,4.3-6.1,5.6-10.1S967.8,56.5,967.8,51.5z"/>
</g>
</g>
<g>
<g>
<path d="M204,28.3H93.5V3.1h97.6c7.1,0,12.9,5.8,12.9,12.9V28.3L204,28.3z"/>
<path d="M191.1,3.1H93.5v25.2H204V15.9C204,8.8,198.2,3.1,191.1,3.1L191.1,3.1z"/>
</g>
<polygon points="204,65 125.9,65 125.9,39.8 204,39.8 "/>
<path d="M191.1,101.8H93.5V76.6H204v12.3C204,96,198.2,101.8,191.1,101.8L191.1,101.8z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -0,0 +1,80 @@
<template>
<Layout>
<div
class="container sm:pxi-0 mx-auto overflow-x-hidden"
:style="{ 'min-height': contentHeight + 'px' }"
>
<div class="flex flex-wrap with-large projects pt-8 pb-8 mx-4 sm:-mx-4">
<PostListItem
v-for="edge in $page.entries.edges"
:key="edge.node.id"
:record="edge.node"
/>
</div>
</div>
</Layout>
</template>
<page-query>
query ($private: Int){
entries: allProject (sortBy: "rank", order: DESC, filter: { private: { ne: $private }}, tags: { id: {in: ["tech", "foundation"]}}){
totalCount
edges {
node {
title
path
members {
id
name
image(width:64, height:64, fit:inside)
path
},
rank
linkedin
excerpt
image(width:800)
path
timeToRead
logo
}
}
}
memberships: allProjectTag{
edges{
node{
id
title
path
}
}
}
}
</page-query>
<script>
import PostListItem from "~/components/PostListItem.vue";
import Pagination from "~/components/Pagination.vue";
export default {
metaInfo: {
title: "Projects",
},
components: {
PostListItem,
Pagination,
},
computed: {
baseurl: function () {
return "/projects/";
},
contentHeight() {
if (process.isClient) {
return window.innerHeight - 100;
}
},
},
};
</script>

69
src/templates/Team.vue Normal file
View File

@@ -0,0 +1,69 @@
<template>
<Layout>
<!-- <TagFilterHeader :tags="memberships" selected="all" v-if="$page.memberships.edges.length > 1"/> -->
<div class="container sm:pxi-0 mx-auto mt-8 overflow-x-hidden">
<div class="flex flex-wrap with-large pt-8 pb-8 mx-4 sm:-mx-4">
<PostListItem
v-for="person in $page.entries.edges"
:key="person.id"
:record="person.node"
/>
</div>
</div>
</Layout>
</template>
<page-query>
query ($private: Int){
entries: allPerson (sortBy: "rank", order: DESC, filter: { private: { ne: $private }, memberships: { id: {in: ["foundation", "tech"]}}}){
totalCount
edges {
node {
path
content
excerpt
name
rank
bio
linkedin
websites
countries
cities
image(width:800)
private
}
}
}
memberships: allMembership(filter: {title: {in: ["foundation", "tech"]}}){
edges{
node{
id
title
path
}
}
}
}
</page-query>
<script>
import PostListItem from "~/components/custom/Cards/PostListItem.vue";
import TagFilterHeader from "~/components/custom/TagFilterHeader.vue";
export default {
components: {
PostListItem,
TagFilterHeader,
},
computed: {
memberships() {
var res = [{ title: "All", path: "/team" }];
this.$page.memberships.edges.forEach((edge) =>
res.push({ title: edge.node.title, path: edge.node.path })
);
return res;
},
},
};
</script>