Fix
BIN
content/page/home/InTheNews/btc.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
BIN
content/page/home/InTheNews/cryptodaily.png
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
content/page/home/InTheNews/forbers.png
Normal file
|
After Width: | Height: | Size: 8.5 KiB |
BIN
content/page/home/InTheNews/grit_daily.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
content/page/home/InTheNews/hackernoon.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
content/page/home/InTheNews/logos/forbers.png
Normal file
|
After Width: | Height: | Size: 8.5 KiB |
BIN
content/page/home/InTheNews/logos/thecointel.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
content/page/home/InTheNews/thecointel.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
10
content/page/home/cards/card2/card2.md
Normal 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.
|
||||
BIN
content/page/home/cards/card2/image_name.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
10
content/page/home/cards/card3/card3.md
Normal 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.
|
||||
BIN
content/page/home/cards/card3/image_name.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
10
content/page/home/cards/card4/card4.md
Normal 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.
|
||||
BIN
content/page/home/cards/card4/image_name.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
10
content/page/home/cards/card5/card5.md
Normal 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.
|
||||
10
content/page/home/cards/card6/card6.md
Normal 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.
|
||||
BIN
content/page/home/comparison/section1/privacy.png
Normal file
|
After Width: | Height: | Size: 63 KiB |
BIN
content/page/home/comparison/section2/equality.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
content/page/home/comparison/section3/sustainability.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
content/page/home/home_header.png
Normal file
|
After Width: | Height: | Size: 2.2 MiB |
BIN
content/page/home/logos/logo4/flowgen.png
Normal file
|
After Width: | Height: | Size: 119 KiB |
BIN
content/page/home/logos/logo5/green_edge.png
Normal file
|
After Width: | Height: | Size: 121 KiB |
BIN
content/page/home/logos/logo6/digibyte.png
Normal file
|
After Width: | Height: | Size: 362 KiB |
BIN
content/page/home/productData/product1/farming_card.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
7
content/page/home/productData/product1/product1.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
id: product1
|
||||
title: ''
|
||||
image : ./farming_card.png
|
||||
url : https://farming.threefold.io
|
||||
---
|
||||
|
||||
BIN
content/page/home/productData/product2/cloud_card.png
Normal file
|
After Width: | Height: | Size: 180 KiB |
7
content/page/home/productData/product2/product2.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
id: product2
|
||||
title: ''
|
||||
image : ./cloud_card.png
|
||||
url : https://cloud.threefold.io
|
||||
---
|
||||
|
||||
BIN
content/page/home/productData/product3/marketplace_card.png
Normal file
|
After Width: | Height: | Size: 45 KiB |
7
content/page/home/productData/product3/product3.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
id: product3
|
||||
title: ''
|
||||
image : ./marketplace_card.png
|
||||
url : https://marketplace.threefold.io/
|
||||
---
|
||||
|
||||
7
content/page/home/productData/product4/product4.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
id: product4
|
||||
title: ''
|
||||
image : ./twin_card.png
|
||||
url : https://twin.threefold.io
|
||||
---
|
||||
|
||||
BIN
content/page/home/productData/product4/twin_card.png
Normal file
|
After Width: | Height: | Size: 89 KiB |
BIN
content/page/home/productData/product5/grid_card.png
Normal file
|
After Width: | Height: | Size: 106 KiB |
7
content/page/home/productData/product5/product5.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
id: product5
|
||||
title: ''
|
||||
image : ./grid_card.png
|
||||
url : https://threefold.tech
|
||||
---
|
||||
|
||||
BIN
content/page/home/productData/product6/aci_card.png
Normal file
|
After Width: | Height: | Size: 193 KiB |
7
content/page/home/productData/product6/product6.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
id: product6
|
||||
title: ''
|
||||
image : ./aci_card.png
|
||||
url : https://consciousinternet.org
|
||||
---
|
||||
|
||||
BIN
content/page/home/token_old.png
Normal file
|
After Width: | Height: | Size: 161 KiB |
42
content/site/navigation.json
Normal 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
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"social": [
|
||||
{
|
||||
"icon": "linkedin",
|
||||
"link": "https://www.linkedin.com/company/threefold-foundation/"
|
||||
}
|
||||
]
|
||||
}
|
||||
50
filter.py
Normal 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
@@ -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
@@ -0,0 +1,3 @@
|
||||
# how to contribute
|
||||
|
||||
... TODO
|
||||
39
src/assets/images/TFN_black.svg
Normal 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 |
80
src/templates/Projects.vue
Normal 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
@@ -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>
|
||||