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>
|
||||||