init
26
.gitignore
vendored
@@ -1,18 +1,8 @@
|
||||
# Build and Release Folders
|
||||
bin-debug/
|
||||
bin-release/
|
||||
[Oo]bj/
|
||||
[Bb]in/
|
||||
|
||||
# Other files and folders
|
||||
.settings/
|
||||
|
||||
# Executables
|
||||
*.swf
|
||||
*.air
|
||||
*.ipa
|
||||
*.apk
|
||||
|
||||
# Project files, i.e. `.project`, `.actionScriptProperties` and `.flexProperties`
|
||||
# should NOT be excluded as they contain compiler settings and other important
|
||||
# information for Eclipse / Flash Builder.
|
||||
*.log
|
||||
.cache
|
||||
.DS_Store
|
||||
src/.temp
|
||||
node_modules
|
||||
dist
|
||||
.env
|
||||
.env.*
|
||||
|
||||
42
README.md
@@ -1 +1,41 @@
|
||||
# www_partners_v2
|
||||
<div align="center">
|
||||
|
||||
<a href="https://www.jammeryhq.com" title="JammeryHQ" target="_blank">
|
||||
|
||||
<img src="https://jammeryhq.com/jammeryhq.png" width="128" />
|
||||
|
||||
</a>
|
||||
|
||||
<p>
|
||||
Fast-track your JAMstack development & learning
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
# About the starter
|
||||
|
||||
Gridsome starter based on the Casper theme for Ghost. Content is added via markdown, while Tailwind CSS is used for the layout/styling.
|
||||
|
||||
## Key features
|
||||
|
||||
* Built with Tailwind CSS
|
||||
* Responsive
|
||||
* Blog
|
||||
* Author pages
|
||||
* Tags
|
||||
* Categories
|
||||
* Dynamic custom pages
|
||||
* Pagination
|
||||
|
||||
## Installation
|
||||
|
||||
Run the following command to create a new gridsome project
|
||||
|
||||
```
|
||||
gridsome create my-blog https://github.com/jammeryhq/gridsome-starter-casper-v3
|
||||
```
|
||||
|
||||
## Credits
|
||||
|
||||
This starter is based on [Ghost Casper V3](https://github.com/TryGhost/Casper).
|
||||
|
||||
25
content/author/christine.md
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: christine
|
||||
name: Christine
|
||||
bio: Primis vitae mauris turpis ornare libero odio torquent vehicula proin consequat curabitur mattis
|
||||
facebook: https://www.facebook.com
|
||||
twitter: https://www.twitter.com
|
||||
linkedin: https://www.linkedin.com
|
||||
image: ./images/author1.png
|
||||
---
|
||||
|
||||
# hi
|
||||
|
||||
- ss
|
||||
- sss
|
||||
|
||||
<br>
|
||||
|
||||
test
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
BIN
content/author/images/author1.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
content/author/images/author2.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
BIN
content/author/images/author3.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
20
content/author/kristof.md
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
id: kristof
|
||||
name: kds
|
||||
bio: Primis vitae mauris turpis ornare libero odio torquent vehicula proin consequat curabitur mattis
|
||||
facebook: https://www.facebook.com
|
||||
twitter: https://www.twitter.com
|
||||
linkedin: https://www.linkedin.com
|
||||
image: ./images/author1.png
|
||||
---
|
||||
|
||||
# hi
|
||||
|
||||
1. ss
|
||||
2. sss
|
||||
|
||||
|
||||
test
|
||||
|
||||
|
||||
|
||||
BIN
content/blog/artheon/artheon.jpg
Normal file
|
After Width: | Height: | Size: 228 KiB |
95
content/blog/artheon/artheon.md
Normal file
@@ -0,0 +1,95 @@
|
||||
---
|
||||
title: Virtual Reality Museum
|
||||
tags: grid, solution
|
||||
category: gridusecase
|
||||
excerpt: A virtual museum online with 50.000+ pieces of art on top of TFGrid.
|
||||
created: 2019-03-20
|
||||
image: ./artheon.jpg
|
||||
image_caption: artheon
|
||||
author: christine
|
||||
---
|
||||
|
||||
# Artheon
|
||||
|
||||
## About
|
||||
|
||||
*The Artheon VR Museum* is and always will be a free educational platform offering immersive, next level interaction with objects of cultural heritage. Our vision is to provide a one stop full spectrum art education platform to access, learn and share knowledge in art and culture from across the globe for free. To date, we have compiled 40,000 pieces of art from all around the world into our database, and we aim to become the world's largest art and cultural gallery, available to everyone, everywhere.
|
||||
|
||||
## Mission
|
||||
|
||||
Our mission at Artheon is to enable free global access to history, art and culture to accelerate human development and improve our ability to tap into collective intelligence.
|
||||
|
||||
## Impact
|
||||
|
||||
Art can act as a catalyst to tap into our inner potential as well as our collective intelligence. When going through the history of humanity, it is clear that Art played a major role in shaping the most advanced civilizations of humankind, across eras. Art is a proven tool to inspire faith and elevate cultural growth, while bringing a new perspectives about our reality. Today, studies show that there is a positive correlation between schoolchildren's grades in math and literacy, and their involvement with drama or music activities. Also, art brings people together and gives people a chance to be part of a community. Art influences society by changing opinions, instilling values and translating experiences across space and time. Research has shown art affects the fundamental sense of self. Therefore we believe that free global access to art and culture is a prerequisite for a development of human kind.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
Artheon is supported by the ThreeFold Foundation and is hosted on the ThreeFold Grid. Being hosted on the ThreeFold Grid was an evident choice for Artheon so as to share our history, art and culture on an equal and sustainable Internet.
|
||||
|
||||
## Join saving our planet
|
||||
|
||||
Artheon VR Museum is growing into a crowdsourced global art database empowering smaller museums, private collections, galleries and individuals with tools to publish and display artwork and provide courses, tours, lectures, events, around art culture and history. By being hosted on the ThreeFold Grid, we aim to become the most inclusive and sustainable museum in the world!
|
||||
|
||||
## Support this project
|
||||
|
||||
Artheon is included in ThreeFold’s [Token Distribution Event (TDE)](https://wiki.threefold.io/#/tdeoverview)</a> for the impact it brings to our planet, humanity and the ThreeFold Grid.
|
||||
The ThreeFold Token (TFT) represents a unit of capacity on the new Internet and is created only when new capacity is added to the ThreeFold Grid.
|
||||
Each project on the TDE benefits from TFT fund allocations. You can buy TFT's and support Artheon, and the growth of a new Conscious Internet.
|
||||
|
||||
|
||||
### Roadmap
|
||||
|
||||
```python
|
||||
|
||||
[milestone]
|
||||
name = "Integration with ThreeFold Grid"
|
||||
#date format: Q YYYY
|
||||
date = "Q3 2020"
|
||||
funding_required_tft = "500,000"
|
||||
funding_required_usd = ""
|
||||
description = "Have virtual museum online with 50.000+ pieces of art on top of TFGrid."
|
||||
|
||||
[milestone]
|
||||
name = "v2.0 Social"
|
||||
#date format: YYYY/MM
|
||||
date = "Q4 2020"
|
||||
funding_required_tft = "n/a"
|
||||
funding_required_usd = ""
|
||||
description = "Crowdsourcing tools - upload, display and manage art data; Collaborative - up to 16 users in one location; Social collections - build communities of art lovers; Similarity search - visual, theme, style, details; Recommendations - advanced, personalized; Learning games - history of art."
|
||||
|
||||
[milestone]
|
||||
name = "v3.0 AI"
|
||||
date = "Q1 2021"
|
||||
funding_required_tft = "n/a"
|
||||
funding_required_usd = ""
|
||||
description = "Marketplace - earn for being active, create and sell your educational materials; Tours - unlimited participants; Events and Guides - lectures, masterclasses, guided tours and art performances; Visual Data Stories - dashboards, graphs, history and parallels between artists and cultures based on data; Proactive Recommendations - get something new and interesting every time; Learning Courses - art and performance."
|
||||
|
||||
```
|
||||
|
||||
### data
|
||||
|
||||
```python
|
||||
|
||||
[links]
|
||||
linkedin = ""
|
||||
websites = ["https://artheon.co/"]
|
||||
wiki = ""
|
||||
video = "https://player.vimeo.com/video/412681114"
|
||||
|
||||
[info]
|
||||
name = "Artheon"
|
||||
rank = 4
|
||||
mission = "Virtual Reality Museum providing free global access to fine art and culture from all over the world."
|
||||
description = "Art is one of the most important tools to inspire faith and cultural growth giving a new perspective of looking at reality. We believe that free global access to fine art and culture is a prerequisite for the development of human kind. The Artheon is supported by the ThreeFold Foundation and is hosted on ThreeFold Grid. Hosting on ThreeFold Grid allows us to share free global access to history, art and culture across geographical and cultural borders in true decentralized manner."
|
||||
team = ["Vasily Gnuchev"]
|
||||
countries = ["Russia"]
|
||||
cities = ["Moscow"]
|
||||
|
||||
[ecosystem]
|
||||
# can be chosen from: experience, solution, farmer, infrastructure
|
||||
categories = ["experience"]
|
||||
# can be chosen from: tftgranted (receiving TFT Grant)
|
||||
badges = ["tftgranted"]
|
||||
|
||||
```
|
||||
BIN
content/blog/artheon/logo.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
88
content/blog/beliive/beliive.md
Normal file
@@ -0,0 +1,88 @@
|
||||
---
|
||||
title: Worlds First Time Token
|
||||
tags: grid, solution
|
||||
category: gridusecase
|
||||
excerpt: World First Time Token enables 200.000+ users for exchanging value.
|
||||
created: 2019-03-20
|
||||
image: ./beliive.png
|
||||
image_caption: beliive
|
||||
author: christine
|
||||
---
|
||||
|
||||
|
||||
# Beliive
|
||||
|
||||
## About
|
||||
|
||||
*Beliive* is a community where people can exchange experiences and services using time as the only currency. With 200.000 members to date Beliive is the world's largest time bank. Our vision is to be a movement that rethinks and rebuilds the value of money, the value of time and the way we collaborate with each other. When the money economy is failing at giving us a way to exchange our value independently of the circumstances, Beliive decided to create a complimentary economy based on an abundant resource available to everyone equally.
|
||||
|
||||
## Mission
|
||||
|
||||
Our mission is to empower and inspire people to recognize abundance by living new experiences one hour at a time.
|
||||
|
||||
## Impact
|
||||
|
||||
We have created a platform where low-income and unemployed people can exchange their time (hours) of volunteering for knowledge and skills. To scale this and to allow for collaboration opportunities, Beliive has an open API and a web widget that can integrate our time banking technology with different platforms and systems. Soon our time credits will use blockchain technology.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
Beliive and ThreeFold recognize the power of equality to include and connect people to their unlimited abundance. We are peer-to-peer systems that are here to support the awakening of humanity to its own potential. Beliive will connect users' wallets and identity with ThreeFold, using its technology to support time exchange transactions. Beliive will also connect time credits to TF Foundation partners and communities, providing a peer-to-peer platform for TF Foundation to spread the use of time credits for economic empowerment.
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
The world has 3 trillion idle hours per year and Beliive is using TIME as the common currency to promote reciprocal exchanges and financial inclusion. With Beliive you can offer for example one hour of Spanish Lessons receiving a time credit of one hour in return, then you can exchange this credit for any activity available in the community, like financial advice, dance lessons or someone to fix something for you.
|
||||
|
||||
|
||||
## Support this project
|
||||
|
||||
Beliive is included in ThreeFold’s [Token Distribution Event (TDE)](https://wiki.threefold.io/#/tdeoverview)</a> for the impact it brings to our planet, humanity and the ThreeFold Grid.
|
||||
The ThreeFold Token (TFT) represents a unit of capacity on the new Internet and is created only when new capacity is added to the ThreeFold Grid.
|
||||
Each project on the TDE benefits from TFT fund allocations. You can buy TFT's and support Beliive, and the growth of a new Conscious Internet.
|
||||
|
||||
|
||||
### Roadmap
|
||||
|
||||
```python
|
||||
[milestone]
|
||||
name = "API integration"
|
||||
#date format: Q YYYY
|
||||
date = "Q4 2020"
|
||||
funding_required_tft = "333,333"
|
||||
funding_required_usd = ""
|
||||
description = "API integration of users ID and balance of time credits"
|
||||
|
||||
[milestone]
|
||||
name = "Crystal Twin Integration"
|
||||
date = "Q1 2021"
|
||||
funding_required_tft = "tbd"
|
||||
funding_required_usd = ""
|
||||
description = "Full integration with the 3bot (Crystal Twin optioanlly)"
|
||||
|
||||
```
|
||||
|
||||
### data
|
||||
|
||||
```python
|
||||
|
||||
[links]
|
||||
linkedin = "https://www.linkedin.com/company/beliive"
|
||||
websites = ["https://beliive.com"]
|
||||
wiki = ""
|
||||
video = "https://player.vimeo.com/video/413225889"
|
||||
|
||||
[info]
|
||||
name = "Beliive"
|
||||
rank = 4
|
||||
mission = "Inspiring people to recognize abundance by living new experiences one hour at a time."
|
||||
description = "Beliive is a community where people can exchange experiences and services using time as the only currency. With 200.000 members to date Beliive is the world's largest time bank. Our vision is to be a movement that rethinks and rebuilds the value of money, the value of time and the way we collaborate with each other. When the money economy is failing at giving us a way to exchange our value independently of the circumstances, Beliive decided to create a complimentary economy based on an abundant resource available to everyone equally. The world has 3 trillion idle hours per year and Beliive is using TIME as the common currency to promote reciprocal exchanges and financial inclusion. With Beliive you can offer one hour of Spanish Lessons receiveing a time credit of one hour in return, then you can exchange this credit for any activity available in the community, like financial advice, dance lessons or someone to fix your computer. Beliive and ThreeFold recognize the power of equality to include and connect people to their unlimited abundance. We are peer-to-peer systems that are here to support the awakening of humanity to it's own potential. Beliive is going to connect users wallet and identity with ThreeFold Network. Using their time exchange balance and reputation, users can transfer time credits and use their reviews as an additional way to showcase their skills and experiences. We aim towards global impact providing platform where low-income and unemployed people can exchannge their time (hours) of volunteering for knowledge and skills. Beliive already have an open API and a web widget that can integrate our time banking technology with different platforms and systems. Soon our time credits will use blockchain technology."
|
||||
team = ["Lorrana Scarpioni"]
|
||||
countries = ["Global"]
|
||||
cities = ["Global"]
|
||||
|
||||
[ecosystem]
|
||||
# can be chosen from: experience, solution, farmer, infrastructure
|
||||
categories = ["experience"]
|
||||
# can be chosen from: tftgranted (receiving TFT Grant)
|
||||
badges = ["tftgranted"]
|
||||
|
||||
```
|
||||
BIN
content/blog/beliive/beliive.png
Normal file
|
After Width: | Height: | Size: 98 KiB |
BIN
content/blog/beliive/logo.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
88
content/blog/cicolab/cicolab.md
Normal file
@@ -0,0 +1,88 @@
|
||||
---
|
||||
title: Collective Intelligence Collaboratory
|
||||
tags: crystaltwin, planned
|
||||
countries: france, switzerland
|
||||
team: Lauren Moore Nignon, Charles Blass
|
||||
rank: 1
|
||||
category: crystaltwin
|
||||
excerpt: CICOLAB brings together visionaries from diverse fields to develop simple, practical ways to amplify network intelligence
|
||||
created: 2019-03-20
|
||||
image: ./cicolab.png
|
||||
image_caption: cicolab
|
||||
author: Christine
|
||||
---
|
||||
|
||||
# Collective Intelligence Collaboratory
|
||||
|
||||
## About
|
||||
|
||||
At *Collective Intelligence Collaboratory - CICOLAB*, we know that by combining the right mix of diverse voices, simple tools, and methods that really work – such as better profiling methods, mapping, collaborative editing, peer learning, and Rapid Sensemaking – we can create the conditions where paradigm-shifters in multiple fields can better collaborate. In these ways we can better find each other, communicate more easily about what we are working on, and learn about tools and techniques to co-create, co-work and co-produce more effectively.
|
||||
|
||||
<BR>
|
||||
|
||||
<iframe src="https://player.vimeo.com/video/436772110" width="800" height="450" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>
|
||||
|
||||
<BR>
|
||||
|
||||
|
||||
### The Problem
|
||||
|
||||
Arguably, our planet depends upon humans figuring out how to get together and make good decisions together. But we don’t yet have the social frameworks or technology to effectively collaborate – we don’t flow as we grow – and we may be “running out of time” much more quickly than most of us realize.
|
||||
Generally when we try collaborating between more than three people, we struggle to overcome many barriers. These include using various messaging or collaboration tools (Facebook, Telegram, Instagram, etc.) which – by design – do not interoperate.
|
||||
New social operating systems have little insight or grounding in decentralized collective decision-making without top-down power structures. Even when people do manage to raise collaborative processes off the ground, projects often crash in flames.
|
||||
|
||||
### The Solution
|
||||
|
||||
CICOLAB brings together thought leaders and experts from diverse areas of collective intelligence to figure out how we might work, build and learn together, better and faster.
|
||||
We host and moderate online events for people with projects, initiatives and organizations which may overlap in surprising and synergistic ways. Through conversation we can meet each other and form deeper relationships.
|
||||
|
||||
Here are some examples of our colleagues’ activities:
|
||||
|
||||
<BR>
|
||||
|
||||
- Marc-Antoine is a programmer and specialist in interoperable data structures;
|
||||
- Jillian is a facilitator guiding collaborative groups experiencing emotional difficulties;
|
||||
- Christina is designing software to map social relationships decentrally within a network;
|
||||
- Sean is developing a framework for measuring business impact beyond financial profits.
|
||||
|
||||
<BR>
|
||||
|
||||
While everyone is working on very different projects, we are all striving to create better conditions for decision-making, knowledge sharing, and highlighting flows of valuable information which may be invisible. CICOLAB cultivates an extensive “knowledge garden” i.e. database of interviews and roundtable discussions, plus maps and other visuals showing (a) various core aspects of collective intelligence, (b) who is working on what, and (c) their actual or possible relationships.
|
||||
|
||||
### The Process:
|
||||
|
||||
We design easy ways to generate “Deep Profiles,” videos and short texts that capture an individual’s role within a group plus the group’s role within a network. Then it’s much easier to know who is doing what and who has which talents or interests. The Deep Profile lets one’s reputation emerge naturally without creating a top-heavy or dystopian “reputation system.”
|
||||
|
||||
<BR>
|
||||
|
||||
CICOLAB is at the crossroads of many different networks. Our prolific network weaving is driven by purpose, creativity and fun. Increasingly we include groups of many cultures speaking many languages.
|
||||
We host discussions and process them thoroughly (generating transcripts, summary notes, and graphic art) to leave behind “knowledge trails” for anyone to follow.
|
||||
|
||||
|
||||
## Mission
|
||||
|
||||
CICOLAB brings together visionaries from diverse fields to develop simple, practical ways to amplify network intelligence.
|
||||
|
||||
## Impact
|
||||
|
||||
We create, collect and apply effective, accessible tools and methods to make groups smarter. Our approach is to allow the communication of projects, ideas and people to be easier and better so network members can find, align and collaborate with each other.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
We can help people, projects and companies “Powered by ThreeFold” to find their “soul mates” (i.e. ideal partners) around the world by developing a dynamic, scalable onboarding system that helps network members find their place in the ecosystem and better convey their needs and offers.
|
||||
|
||||
<BR>
|
||||
|
||||
We’re also developing innovative gaming methods to assess risk and minimize mis- or disinformation (aka “Crap Detection”). Thus the ThreeFold network can remain safe, healthy and vibrant, and protect itself from toxic patterns of abuse that have destroyed other coalitions.
|
||||
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
We invite you to [join the conversation](https://www.collectiveintelligencecollaboratory.com/the-collaboratory), explore our [knowledge repository](https://workflowy.com/s/collective-intellige/j4VFPGtdeKapOPmH), get involved in and support our [Rapid Learning Network](https://docs.google.com/presentation/d/1fJyb323YcNEdXBlhbMd5OtLd4zRhXJsd-dGkCysXGBs/edit#slide=id.g6cb7bf93bd_0_19).
|
||||
|
||||
|
||||
## links
|
||||
|
||||
* linkedin: https://www.linkedin.com/company/cicollaboratory
|
||||
* website: https://www.collectiveintelligencecollaboratory.com
|
||||
|
||||
BIN
content/blog/cicolab/cicolab.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
content/blog/cicolab/logo.png
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
65
content/blog/covidfighters/covid_fighters.md
Normal file
@@ -0,0 +1,65 @@
|
||||
---
|
||||
title: Testing solution for Covid using Crystal Twin.
|
||||
tags: crystaltwin, planned
|
||||
countries:
|
||||
team:
|
||||
rank: 1
|
||||
category: crystaltwin
|
||||
excerpt: People are social individuals and need contact with each other. On the other hand, pandemic situations like now with corona are very dangerous especially to the weakest and older people. We need to help in both ways - re-gaining social life and staying healthy. Threefold could be a great partner for the identification of individuals and secure transmission of data. It is one of very few serious alternatives that are not owned by states or governments.Both data security and storage capabilities provided by ThreeFold will be used. We will provide people with individual 3bots, so they would be identified before getting their attests.
|
||||
created: 2019-03-20
|
||||
image: ./covid_fighters.png
|
||||
image_caption: covid_fighters
|
||||
author: christine
|
||||
---
|
||||
|
||||
|
||||
# CovidFighters
|
||||
|
||||
## About
|
||||
|
||||
Covid Fighters have built a technology consortium to test Covid19 from a mobile unit to test whether or not a test subject is infected and contagious. The actual test takes only a few hours and the mobile unit can be deployed in a matter of days.
|
||||
Various types of people (that need to be tested) can be tested easily and frequently and have their contamination state verified and stored in a way that is easily auditable. The process is end-to-end and involves remote medical specialists to assist and advise. Covid Fighters are putting this consortium together to make the world a safer place for people and economies to maintain their 'normal’.
|
||||
|
||||
## Mission
|
||||
|
||||
To bring the highest standards of safety during Covid 19 while empowering people to maintain their ‘normal lives’ during such situations.
|
||||
|
||||
## Impact
|
||||
|
||||
By bringing the necessary solutions for mass testing and auditing, Covid Fighters can prevent the further spread of viruses such as Covid 19 while enabling individuals, businesses and economies to maintain their 'usual' ongoing activities. Considering how Covid Impacted our world, such solutions are of upmost importance to protect our poeple and economies.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
Covid Fighters applications will run on the ThreeFold Grid. ThreeFold may also potentially provide 3bot technology to ensure privacy and security around people's data.
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
Providing the necessary technology, logistics and solutions to maintain a safe environment for societies while eradicating pandemics and other similar threats.
|
||||
|
||||
|
||||
### data
|
||||
|
||||
```python
|
||||
|
||||
[links]
|
||||
linkedin = ""
|
||||
websites = ["https://www.artichoke-computing.com/"]
|
||||
wiki = ""
|
||||
video = "https://player.vimeo.com/video/412336565"
|
||||
|
||||
[info]
|
||||
name = "CovidFighters"
|
||||
rank = 1
|
||||
mission = "Helping people to restore normal life keeping the highest standards of safety in times of pandemic."
|
||||
description = "People are social individuals and need contact with each other. On the other hand, pandemic situations like now with corona are very dangerous especially to the weakest and older people. We need to help in both ways - re-gaining social life and staying healthy. Threefold could be a great partner for the identification of individuals and secure transmission of data. It is one of very few serious alternatives that are not owned by states or governments.Both data security and storage capabilities provided by ThreeFold will be used. We will provide people with individual 3bots, so they would be identified before getting their attests."
|
||||
team = ["Boris Fahrnberger", "Martin Käfer"]
|
||||
countries = ["Austria"]
|
||||
cities = ["Vienna"]
|
||||
|
||||
[ecosystem]
|
||||
# can be chosen from: experience, solution, farmer, infrastructure
|
||||
categories = ["experience"]
|
||||
# can be chosen from: tftgranted (receiving TFT Grant)
|
||||
badges = []
|
||||
|
||||
```
|
||||
BIN
content/blog/covidfighters/covid_fighters.png
Normal file
|
After Width: | Height: | Size: 370 KiB |
BIN
content/blog/covidfighters/logo.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
content/blog/crystal_home/crystal_home.jpg
Normal file
|
After Width: | Height: | Size: 660 KiB |
92
content/blog/crystal_home/crystal_home.md
Normal file
@@ -0,0 +1,92 @@
|
||||
---
|
||||
title: Circular & self-sufficient homes reducing the CO2 footprint and the waste flow of the construction industry.
|
||||
tags: crystaltwin, planned, grid
|
||||
countries:
|
||||
team:
|
||||
rank: 1
|
||||
category: crystaltwin
|
||||
excerpt: Our planet needs a different approach to housing. The construction industry is one of the most polluting sectors out there, and we are changing it. We are building circular and fully self-sufficient homes that make housing construction affordable and sustainable without compromising on quality. All of the construction materials are second hand and refurbished for a new life.
|
||||
created: 2019-03-20
|
||||
image: ./crystal_home.jpg
|
||||
image_caption: crystal_home
|
||||
author: christine
|
||||
---
|
||||
|
||||
|
||||
# Crystal Home
|
||||
|
||||
## About
|
||||
|
||||
Our planet needs a different approach to housing. The construction industry is one of the most polluting sectors out there, and we are changing it. We are building circular and fully self-sufficient homes that make housing construction affordable and sustainable without compromising on quality. All of the construction materials are second hand and refurbished for a new life.
|
||||
|
||||
## Mission
|
||||
|
||||
Crystal home is building circular & self-sufficient homes reducing the CO2 footprint and the waste flow of the construction industry. And by doing this project we also can provide many people affordable housing in a sustainable way.
|
||||
|
||||
## Impact
|
||||
|
||||
The linear “take, make, waste” economic model is reaching its limits. The environment simply does not have the capacity to sustain it anymore. A circular approach creates an economy that’s both sustainable and profitable.
|
||||
|
||||
We use the city as our source. All our materials are carefully harvested and refurbished to new standards by our partner-companies, ready for a second life. Example of the structures of our homes: Currently, there are 17 million shipping containers across the globe. Of those 17 million containers, however, only six million are actually being used for transport or any other practical usage. That means approximately 11 million shipping containers are unused and are just sitting stagnant all over the world. To reduce that amount is one of the main reasons we use them as our basic structure for the house.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
Each crystal home can be equipped with its very own node, meaning each new home adds capacity to the more equal, fair, and sustainable ThreeFold peer-to-peer internet. This provides conscious connectivity to the crystal home owners and their surrounding areas.
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
Today’s challenges require bold and imaginative leaps into the future. They demand ideas that inspire, unite and create impact. Let’s reinvent reality together!
|
||||
|
||||
## Support this project
|
||||
|
||||
Crystal Home is included in ThreeFold’s [Token Distribution Event (TDE)](https://wiki.threefold.io/#/tdeoverview)</a> for the impact it brings to our planet, humanity and the ThreeFold Grid.
|
||||
The ThreeFold Token (TFT) represents a unit of capacity on the new Internet and is created only when new capacity is added to the ThreeFold Grid.
|
||||
Each project on the TDE benefits from TFT fund allocations. You can buy TFT's and support Crystal Home, and the growth of a new Conscious Internet.
|
||||
|
||||
### Roadmap
|
||||
|
||||
```python
|
||||
|
||||
[milestone]
|
||||
name = "First 10 Crystal Homes Sold"
|
||||
#date format: Q YYYY
|
||||
date = "Q4 2020"
|
||||
funding_required_tft = "n/a"
|
||||
funding_required_usd = ""
|
||||
description = "Selling first 10 Crystal Homes to kick off the project."
|
||||
|
||||
[milestone]
|
||||
name = "Ingegrate 3bot"
|
||||
date = "Q1 2021"
|
||||
funding_required_tft = "150,000"
|
||||
funding_required_usd = ""
|
||||
description = "Integration of the 3bot into the Crystal Home as an operating system of the home."
|
||||
|
||||
```
|
||||
|
||||
### data
|
||||
|
||||
```python
|
||||
|
||||
[links]
|
||||
linkedin = ""
|
||||
websites = ["https://www.crystalhome.org/"]
|
||||
wiki = ""
|
||||
video = "https://player.vimeo.com/video/432586040"
|
||||
|
||||
[info]
|
||||
name = "Crystal Home"
|
||||
rank = 4
|
||||
mission = "Crystal home is building circular & self-sufficient homes reducing the CO2 footprint and the waste flow of the construction industry."
|
||||
description = "Our planet needs a different approach to housing. The construction industry is one of the most polluting sectors out there, and we are changing it. We are building circular and fully self-sufficient homes that make housing construction affordable and sustainable without compromising on quality. All of the construction materials are second hand and refurbished for a new life."
|
||||
team = ["Bert Van Decraen"]
|
||||
countries = ["Global"]
|
||||
cities = ["Global"]
|
||||
|
||||
[ecosystem]
|
||||
# can be chosen from: experience, solution, farmer, infrastructure
|
||||
categories = ["experience"]
|
||||
# can be chosen from: tftgranted (receiving TFT Grant)
|
||||
badges = ["tftgranted"]
|
||||
|
||||
```
|
||||
BIN
content/blog/crystal_home/logo.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
113
content/blog/crystal_language/crystal_language.md
Normal file
@@ -0,0 +1,113 @@
|
||||
---
|
||||
title: Crystal Programming Language
|
||||
tags: technology, active
|
||||
countries:
|
||||
team:
|
||||
rank: 1
|
||||
category: crystaltwin
|
||||
excerpt: A programming language adjusting to the needs of the programmer and the computer - the best of both worlds.
|
||||
created: 2019-03-20
|
||||
image: ./crystal_language.png
|
||||
image_caption: crystal_language
|
||||
author: christine
|
||||
---
|
||||
|
||||
|
||||
# Crystal Programming Language
|
||||
|
||||
## About
|
||||
|
||||
It started out, like many things at [Manas.Tech](https://manas.tech/), as an experiment. Easy to write languages used to mean that you had to sacrifice speed. And getting fast meant enduring difficult syntax. So it began with asking ourselves: “What if we didn’t have to choose one or the other”, “what if we could compile Ruby?”. It turned out that it worked, so we decided to turn that experiment into an actual project and give it our best shot. It is our pride and joy: time and time again, we find that it is delightful to write code in Crystal, and that it outperforms everything else out there.
|
||||
|
||||
## Mission
|
||||
|
||||
Easy to write languages used to mean that you had to sacrifice speed. And getting fast meant enduring difficult syntax. Crystal means no longer having to choose: a programming language that adjusts to the needs of the programmer and the computer: easy to learn and code, but very performant and typesafe. The best of both worlds.
|
||||
|
||||
## Impact
|
||||
|
||||
Crystal is easy to write, which makes it easy to learn: that gives developers a short ramp-up time, and beginners can get things running in a very short time. Crystal is also super fast: it is used by scientists to run genome sequencing faster than ever before, and that helps save lives, save resources and, being so user-friendly, it saves them time in costly and tedious maintenance.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
Crystal is a project of Manas.Tech, built along the years with the support of the community and Manas’ own: we match the contributions of the community to double every dollar’s impact. But it means that a great deal of effort goes, not only into developing the language, but also into trying to get funding. ThreeFold’s contribution allows our team to focus on doing what we do best, and enables us to dedicate more full-time engineers to accelerate Crystal’s development.
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
You can join our mission to build better technology for the future, by becoming a direct sponsor of Crystal.
|
||||
|
||||
## Support this project
|
||||
|
||||
Crystal Programming Language is included in ThreeFold’s [Token Distribution Event (TDE)](https://wiki.threefold.io/#/tdeoverview)</a> for the impact it brings to our planet, humanity and the ThreeFold Grid.
|
||||
The ThreeFold Token (TFT) represents a unit of capacity on the new Internet and is created only when new capacity is added to the ThreeFold Grid.
|
||||
Each project on the TDE benefits from TFT fund allocations. You can buy TFT's and support Crystal Programming Language, and the growth of a new Conscious Internet.
|
||||
|
||||
|
||||
### Roadmap
|
||||
|
||||
```python
|
||||
|
||||
[milestone]
|
||||
name = "Base language for some future workloads like Crystal Twin"
|
||||
#date format: Q YYYY
|
||||
date = "Q3 2020"
|
||||
funding_required_tft = "n/a"
|
||||
funding_required_usd = ""
|
||||
description = "The project Crystal Twin is working with Crystal Lang and runs on top of the grid."
|
||||
|
||||
[milestone]
|
||||
name = "Improve developer tools"
|
||||
date = "Q4 2020"
|
||||
funding_required_tft = "500,000"
|
||||
funding_required_usd = ""
|
||||
description = "Improve developer tools, including a language server, editor tooling and debugging tools. With that, we want to continue improving the Crystal experience for developers and bringing it up to par with other languages."
|
||||
|
||||
[milestone]
|
||||
name = "Serverless Functions/Actors based on Crystal Lang on top of TFGrid"
|
||||
date = "Q1 2021"
|
||||
funding_required_tft = "1,000,000"
|
||||
funding_required_usd = ""
|
||||
description = "By using Crystal Lang as serverless functions, everyone developer in world can use the TFGrid in green and super efficient way. Serverless functions are the new hype, we want to show how this can be done more sustainable"
|
||||
|
||||
[milestone]
|
||||
name = "Improve compilation times"
|
||||
date = "Q1 2021"
|
||||
funding_required_tft = "500,000"
|
||||
funding_required_usd = ""
|
||||
description = "Research and develop ways to improve compiling times, either by incremental compilation or alternative strategies."
|
||||
|
||||
[milestone]
|
||||
name = "Digital Twin Core v2.0"
|
||||
date = "Q2 2021"
|
||||
funding_required_tft = "2,000,000"
|
||||
funding_required_usd = ""
|
||||
description = "New version of our core engine for Crystal Twin & 3bot, created in Crystal lang, leading to even more efficiency."
|
||||
|
||||
```
|
||||
|
||||
|
||||
### data
|
||||
|
||||
```python
|
||||
|
||||
[links]
|
||||
linkedin = "https://www.linkedin.com/company/65515595/"
|
||||
websites = ["https://crystal-lang.org/"]
|
||||
wiki = ""
|
||||
video = ""
|
||||
|
||||
[info]
|
||||
name = "Crystal Programming Language"
|
||||
rank = 3
|
||||
mission = "A programming language adjusting to the needs of the programmer and the computer - the best of both worlds."
|
||||
description = "It started out, like many things at Manas.Tech, as an experiment. Easy to write languages used to mean that you had to sacrifice speed. And getting fast meant enduring difficult syntax. So it began with asking ourselves: “What if we didn’t have to choose one or the other”, “what if we could compile Ruby?”. It turned out that it worked, so we decided to turn that experiment into an actual project and give it our best shot. It is our pride and joy: time and time again, we find that it is delightful to write code in Crystal, and that it outperforms everything else out there."
|
||||
team = ["Juan Wajnerman", "Brian J. Cardiff"]
|
||||
countries = ["Argentina"]
|
||||
cities = ["Buenos Aires"]
|
||||
|
||||
[ecosystem]
|
||||
# can be chosen from: experience, solution, farmer, infrastructure
|
||||
categories = ["solution"]
|
||||
# can be chosen from: tftgranted (receiving TFT Grant)
|
||||
badges = ["tftgranted"]
|
||||
|
||||
```
|
||||
BIN
content/blog/crystal_language/crystal_language.png
Normal file
|
After Width: | Height: | Size: 87 KiB |
BIN
content/blog/crystal_language/logo.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
102
content/blog/crystal_twin/crystal_twin.md
Normal file
@@ -0,0 +1,102 @@
|
||||
---
|
||||
title: Your Digital Twin
|
||||
tags: crystaltwin, active
|
||||
countries:
|
||||
team:
|
||||
rank: 1
|
||||
category: crystaltwin
|
||||
excerpt: Your digital twin serving as a gateway to the new digital world of peer-to-peer experiences.
|
||||
created: 2019-03-20
|
||||
image: ./crystal_twin.png
|
||||
image_caption: crystal_twin
|
||||
author: christine
|
||||
---
|
||||
|
||||
|
||||
|
||||
# Crystal Twin
|
||||
|
||||
## About
|
||||
|
||||
*Crystal Twin* is your digital twin, a beautiful light being that is always connected with you, 24h per day, 7 days per week. A digital avatar of your being that sets you free, independently capable, grows into anything as required in the new Crystal Universe, a fully decentralized, peer-to-peer ecosystem that upholds their human counterpart’s digital privacy and freedom. Every Crystal Twin can interact and learn from each other in the Crystal Universe and they realize they need their peers to become stronger together.
|
||||
|
||||
## Mission
|
||||
|
||||
Our mission is to shape a conscious digital world together. The world where all individuals, across regions have equal chances to learn, partake, and succeed. A world where freedom and liberalism are at the center. We are building a world where we live sustainably and where we think circularly. The priority is to ensure the best environment possible for us and all living species of this plant. Creating circular economies that use resources consciously, and where that which has true value becomes the center. Future economies will be digital and promote sustainability.
|
||||
|
||||
## Impact
|
||||
|
||||
Today's economies are successful when depleting our planet's resources. This is a flawed approach to value creation. Crystal Twin will connect you to new sustainable digital economies that help drive success through green initiatives and value exchanges that live through Crystal experiences, minimizing carbon footprint, using resources consciously and creating a world where we live sustainably and through digital economies that promotes sustainability.
|
||||
|
||||
While Crystal Twin may seem like a technological solution, its roots and goals are strongly humanitarian. Every person who signs up for Crystal Twin makes a significant impact. The P2P infrastructure is up to 10x more efficient and sustainable and ensures that data privacy and security is preserved. The internet cost is less than half a dollar a month per user, greatly increasing access to underserved communities.
|
||||
|
||||
Additionally, the Crystal Universe ecosystem is creating a number of P2P experiences and solutions such as videoconferencing, file storage and social networking that will impact both the effectiveness and security of online communication.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
Crystal Twin is built by Crystal Company, and lives on Threefold grid, serving as your digital self to the new digital world - the Crystal Universe - a new internet and peer-to-peer experiences. Developers, creators, and users can create their own experiences within the Crystal Universe, functionalities and features within the Threefold Grid’s peer-to-peer ecosystem.
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
While 3bot may seem like a technological solution, its roots and goals are strongly humanitarian. Every person who signs up for 3bot makes a significant impact. The P2P infrastructure is up to 10x more efficient and sustainable and ensures that data privacy and security is preserved. The internet cost is less than half a dollar a month per user, greatly increasing access to underserved communities. Additionally, the 3bot ecosystem is creating a number of P2P experiences and solutions such as videoconferencing, file storage and social networking that will impact both the effectiveness and security of online communication.
|
||||
|
||||
## Support this project
|
||||
|
||||
Crystal Twin is included in ThreeFold’s [Token Distribution Event (TDE)](https://wiki.threefold.io/#/tdeoverview)</a> for the impact it brings to our planet, humanity and the ThreeFold Grid.
|
||||
The ThreeFold Token (TFT) represents a unit of capacity on the new Internet and is created only when new capacity is added to the ThreeFold Grid.
|
||||
Each project on the TDE benefits from TFT fund allocations. You can buy TFT's and support Crystal Twin, and the growth of a new Conscious Internet.
|
||||
|
||||
|
||||
### Roadmap
|
||||
|
||||
```python
|
||||
[milestone]
|
||||
name = "Crystal Public Release v.1"
|
||||
#date format: Q YYYY
|
||||
date = "Q4 2020 - Q1 2021"
|
||||
funding_required_tft = "1,000,000"
|
||||
funding_required_usd = ""
|
||||
description = "The Crystal Twin public release will include Crystal Connect, p2p video conferencing, p2p social network, decentralized file storage, browser and wallet. It will also include the Crystal SDK which will allow developers to begin building the ecosystem of Crystal experiences. There is no need for hundreds of different apps, there should only be 1, our digital twin should be that app, the “life” app which allows us to re-experience the simplicity of our childhood. A place where we are protected and have connection to the universal truth."
|
||||
|
||||
[milestone]
|
||||
name = "Crystal Twin Promotion / Expansion Phase"
|
||||
date = "Q1 2021"
|
||||
funding_required_tft = "5,000,000"
|
||||
funding_required_usd = ""
|
||||
description = "After Crystal Public Release v.1, will focus on bringing early adopters, developers and ecosystem partners into the Crystal Universe ecosystem, with strong marketing campaigns and compelling media to rapidly grow the community and platform."
|
||||
|
||||
[milestone]
|
||||
name = "Crystal Twin Rebranding / Public Release v.2"
|
||||
date = "Q2 2021"
|
||||
funding_required_tft = "5,000,000"
|
||||
funding_required_usd = ""
|
||||
description = "Once the community of early adopters have been onboarded with Crystal Twin and the 1st generation of experiences are available, the outreach will then focus on the larger public. At this point, we will rebrand ‘Crystal Experiences’ to make it more easily accessible and understandable by the everyday internet user."
|
||||
|
||||
```
|
||||
|
||||
### data
|
||||
|
||||
```python
|
||||
[links]
|
||||
linkedin = ""
|
||||
websites = ["www.crystaltwin.me"]
|
||||
wiki = ""
|
||||
video = "https://player.vimeo.com/video/412762729"
|
||||
|
||||
[info]
|
||||
name = "Crystal Twin"
|
||||
rank = 5
|
||||
mission = "Your digital twin serving as a gateway to the new digital world of peer-to-peer experiences."
|
||||
#description = "Crystal Twin is your digital twin; a beautiful light being that is always connected with you, 24h per day, 7 days per week. A digital avatar of your being that sets you free, independently capable, grows into anything as required in the new Crystal Universe; a fully decentralized, peer-to-peer ecosystem that upholds their human counterpart’s digital privacy and freedom. Every Crystal Twin; mine and yours, can interact and learn from each other in the Crystal Universe and they realize they need their peers to become stronger together.."
|
||||
team = ["Brooks Cole", "Sasha Astiadi", "Justin Snyder"]
|
||||
countries = ["Global"]
|
||||
cities = ["Global"]
|
||||
|
||||
[ecosystem]
|
||||
# can be chosen from: experience, solution, farmer, infrastructure
|
||||
categories = ["experience", "solution"]
|
||||
# can be chosen from: tftgranted (receiving TFT Grant)
|
||||
badges = ["tftgranted"]
|
||||
|
||||
|
||||
```
|
||||
BIN
content/blog/crystal_twin/crystal_twin.png
Normal file
|
After Width: | Height: | Size: 306 KiB |
BIN
content/blog/crystal_twin/logo.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
84
content/blog/digibyte/digibyte.md
Normal file
@@ -0,0 +1,84 @@
|
||||
---
|
||||
title: Most secure & decentralized money blockchain.
|
||||
tags: planned, grid
|
||||
countries:
|
||||
team:
|
||||
rank: 1
|
||||
category: crystaltwin
|
||||
excerpt: DigiByte is a rapidly growing open-source blockchain created in late 2013 and released in early 2014. After 6 years of forward-thinking development, DigiByte has become one of the safest, fastest, longest and most decentralized UTXO blockchain in existence. Thousands of volunteers from all over the world have contributed to DigiByte in countless ways for years to make it what it is today. It is a truly grassroots movement to protect and promote the true principles of decentralization and empower DigiByte and its community to establish and maintain a sustainable decentralized world. Planet first!
|
||||
created: 2019-03-20
|
||||
image: ./digibyte.png
|
||||
image_caption: digibyte
|
||||
author: christine
|
||||
---
|
||||
|
||||
|
||||
# DigiByte Foundation
|
||||
|
||||
## About
|
||||
|
||||
The Digibyte Foundation's vision is to empower a sustainable decentralized world. The core values of the Digibyte community are decentralization, inclusiveness, permissionless, integrity, transparency - openness, consensus, thought leadership. We aim to stimulate global adoption of our blockchain and similar technologies that fulfil the core principles of decentralization in general. Decentralization needs to happen to see a better redistribution of opportunities, growth and value within our global society.
|
||||
|
||||
## Mission
|
||||
|
||||
DigiByte is more than a faster digital currency; it is an innovative blockchain that can be used for digital assets, smart contracts, decentralized applications and secure authentication.
|
||||
|
||||
## Impact
|
||||
|
||||
Thousands of volunteers from all over the world have contributed to DigiByte in countless ways for years to make it what it is today. DigiByte is a collective movement to protect and promote the true principles of decentralization and empower communities to establish and maintain a sustainable decentralized world. The DigiByte Foundation aims to initiate and promote projects and community initiatives, but also promote the DigiByte ecosystem and further development by supporting creators, developers and marketers, with a focus on outreach, awareness, education, adoption.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
The DigiByte network runs on a mix of servers managed by DigiByte volunteers and virtual machines or containers in commercial cloud provider environments. This is decentralized to a degree but can be more decentralized if the DigiByte blockchain nodes can run on ThreeFold Grid nodes truly decentralized, energy-efficient and everywhere.
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
ThreeFold's technology helps the DigiByte software to use less underlying capacity for processing and that networking enhances time to reach consensus.
|
||||
|
||||
## Support this project
|
||||
|
||||
Digibyte Foundation is included in ThreeFold’s [Token Distribution Event (TDE)](https://wiki.threefold.io/#/tdeoverview)</a> for the impact it brings to our planet, humanity and the ThreeFold Grid.
|
||||
The ThreeFold Token (TFT) represents a unit of capacity on the new Internet and is created only when new capacity is added to the ThreeFold Grid.
|
||||
Each project on the TDE benefits from TFT fund allocations. You can buy TFT's and support Digibyte Foundation, and the growth of a new Conscious Internet.
|
||||
|
||||
|
||||
### Roadmap
|
||||
|
||||
```python
|
||||
|
||||
[milestone]
|
||||
name = "Go to market integration for TF Token"
|
||||
#date format: Q YYYY
|
||||
date = "Q3 2020"
|
||||
funding_required_tft = "1,000,000"
|
||||
funding_required_usd = ""
|
||||
description = "Onboarding token for ThreeFold Grid and go to market partner, integration in TF Wallet."
|
||||
|
||||
```
|
||||
|
||||
### data
|
||||
|
||||
```python
|
||||
|
||||
[links]
|
||||
linkedin = "https://www.linkedin.com/company/digibyte-payment-network/"
|
||||
websites = ["https://digibyte.io/"]
|
||||
wiki = ""
|
||||
video = "https://player.vimeo.com/video/413179934"
|
||||
|
||||
[info]
|
||||
name = "DigiByte Foundation"
|
||||
rank = 4
|
||||
mission = "An innovative blockchain that is a truly grassroots movement, protecting and promoting the true principles of decentralization."
|
||||
description = "DigiByte is a rapidly growing open-source blockchain created in late 2013 and released in early 2014. After 6 years of forward-thinking development, DigiByte has become one of the safest, fastest, longest and most decentralized UTXO blockchain in existence. Thousands of volunteers from all over the world have contributed to DigiByte in countless ways for years to make it what it is today. It is a truly grassroots movement to protect and promote the true principles of decentralization and empower DigiByte and its community to establish and maintain a sustainable decentralized world. Planet first!"
|
||||
team = ["Hans Koning", "Rudy Bouwman", "Rutger Krijnen"]
|
||||
countries = ["Global"]
|
||||
cities = ["Global"]
|
||||
|
||||
[ecosystem]
|
||||
# can be chosen from: experience, solution, farmer, infrastructure
|
||||
categories = ["solution"]
|
||||
# can be chosen from: tftgranted (receiving TFT Grant)
|
||||
badges = ["tftgranted"]
|
||||
|
||||
```
|
||||
BIN
content/blog/digibyte/digibyte.png
Normal file
|
After Width: | Height: | Size: 614 KiB |
BIN
content/blog/digibyte/logo.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
92
content/blog/earthproject/earthproject.md
Normal file
@@ -0,0 +1,92 @@
|
||||
---
|
||||
title: earthproject
|
||||
tags: crystaltwin, planned, grid
|
||||
countries:
|
||||
team:
|
||||
rank: 1
|
||||
category: crystaltwin
|
||||
excerpt:
|
||||
created: 2019-03-20
|
||||
image: ./earthproject.png
|
||||
image_caption: earthproject
|
||||
author: christine
|
||||
---
|
||||
|
||||
|
||||
# EarthProject
|
||||
|
||||
## About
|
||||
|
||||
Every child deserves an education. We have built a community of thousands of teachers globally which allows us to connect to children and teachers in refugee camps. Our platform allows to train teachers in refugee camps (67% of which haven't completed secondary education) and have interactions between refugee students and students globally changing their mindset and fighting polarization.
|
||||
|
||||
## Mission
|
||||
|
||||
EarthProject aims to develop a platform for peer-to-peer education, where teachers become students and students become teachers.
|
||||
|
||||
## Impact
|
||||
|
||||
We want to raise the bar of education by having experts to teach the students and by initiating teacher training with help of technology. For years we have been working to bring positive and needed change to the education system and this is another step forward. A peer-to-peer education system opens up the possibilities for learning and positive solutions for our world. Additionally we will be able to set up global projects to tackle climate change and other issues allowing students to connect, brainstorm, create, share, solve problems and take action.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
Our peer-to-peer platform will be run on the ThreeFold Grid and will utilize elements of Crystal Universe technology. Crystal Meet solution will be used to allow teachers to teach refugees. We have already been doing this for five years with projectkakuma.com and thanks to the ThreeFold we will be able to allow people globally to connect and learn from peers including refugees and people living in harsh conditions.
|
||||
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
Every child deserves an education. Inspire change. Take action. Join us making the planet a better place by fighting polarization and giving everyone in the world a quality education.
|
||||
|
||||
## Support this project
|
||||
|
||||
EarthProject is included in ThreeFold’s [Token Distribution Event (TDE)](https://wiki.threefold.io/#/tdeoverview)</a> for the impact it brings to our planet, humanity and the ThreeFold Grid.
|
||||
The ThreeFold Token (TFT) represents a unit of capacity on the new Internet and is created only when new capacity is added to the ThreeFold Grid.
|
||||
Each project on the TDE benefits from TFT fund allocations. You can buy TFT's and support EarthProject, and the growth of a new Conscious Internet.
|
||||
|
||||
|
||||
|
||||
### Roadmap
|
||||
|
||||
```python
|
||||
[milestone]
|
||||
name = "Platform launch with focus on refugees"
|
||||
#date format: Q YYYY
|
||||
date = "Q3 2020"
|
||||
funding_required_tft = "1,500,000"
|
||||
funding_required_usd = ""
|
||||
description = "Utilize technology built by ThreeFold (e.g. 3Bot, Crystal Meet, the grid) to build a platform that allows students and teachers to connect globally. 300,000 Refugees will receive free education."
|
||||
|
||||
[milestone]
|
||||
name = "Platform extension with focus on climate change"
|
||||
date = "Q4 2021"
|
||||
funding_required_tft = "1,500,000"
|
||||
funding_required_usd = ""
|
||||
description = "Extend the platform that connects students globally allowing them to explore, discuss, create and share solutions about climate change, and take actions. We will work with governments to bring substantial change in 10 countries."
|
||||
|
||||
```
|
||||
|
||||
### data
|
||||
|
||||
```python
|
||||
[links]
|
||||
linkedin = "https://www.linkedin.com/company/take-action-global/"
|
||||
websites = ["http://projectkakuma.com", "http://innovationlabschools.com", "http://takeactionglobal.org"]
|
||||
wiki = ""
|
||||
video = "https://player.vimeo.com/video/414512607"
|
||||
|
||||
[info]
|
||||
name = "EarthProject"
|
||||
rank = 5
|
||||
mission = "Providing refugees the chance to connect to the world, learn, create, share, solve problems, equaly partake and succeed."
|
||||
description = "In the first stage, we will target refugees and teachers globally, and in the second stage we will focus on global projects like climate, poverty, and more. For years we have been working to bring positive and needed changes to the education system and this is another step forward. A peer-to-peer education system opens up the possibilities for learning and positive solutions for our world. The platform will be run on the ThreeFold Grid and will utilize elements of 3Bot technology. The P2P Zoom (tentatively named 3Bot Meet) solution will be used to allow teachers to teach refugees. (We have already been doing this for five years: projectkakuma.com.).We have a community of thousands of teachers globally which allows to connect to children and teachers in refugee camps. Our platform allows to connect, create and share. This way we can train teachers in refugee camps (important as 67% did not complete secondary education), have interactions between refugee students and students globally changing their mindset and fighting polarization, teach refugee students and teach young adults to code so they can find a job. Thanks to TFTechnology (e.g. 3Bot Meet), we will be able to allow people globally to connect and learn from peers including refugees and people living in harsh conditions. Aditionally we will be able to set up global projects to tackle climate change and other issues allowing students to connect, brainstorm, create, share, solve problems and take action. We will measure impact in multiple ways – number of teachers and students brought on to the platform, number / impact of solutions brought for global projects, and more. We will work with universities of Harvard, Brussels and Nairobi to collect qualitative and quantitative data measuring impact."
|
||||
|
||||
team = ["Koen Timmers"]
|
||||
countries = ["Belgium", "US"]
|
||||
cities = ["Hasselt", "Florida"]
|
||||
|
||||
[ecosystem]
|
||||
# can be chosen from: experience, solution, farmer, infrastructure
|
||||
categories = ["experience", "solution"]
|
||||
# can be chosen from: tftgranted (receiving TFT Grant)
|
||||
badges = ["tftgranted"]
|
||||
|
||||
```
|
||||
BIN
content/blog/earthproject/earthproject.png
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
content/blog/earthproject/logo.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
91
content/blog/generation_blue/generation_blue.md
Normal file
@@ -0,0 +1,91 @@
|
||||
---
|
||||
title: generation_blue
|
||||
tags: crystaltwin, planned, grid
|
||||
countries:
|
||||
team:
|
||||
rank: 1
|
||||
category: crystaltwin
|
||||
excerpt:
|
||||
created: 2019-03-20
|
||||
image: ./generation_blue.png
|
||||
image_caption: generation_blue
|
||||
author: christine
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
||||
# Generation Blue
|
||||
|
||||
## About
|
||||
|
||||
Earth positive means taking responsibility for our footprint and leaving the planet better than when we found it. We enable the shift to an Earth Positive economy based on reciprocity, where every act of consumption is met with an opposite act of regeneration and protection of nature. We do this by building a marketplace of products and services powered by positive impact assets – tokens that when purchased, go directly and verifiably (via blockchain) to regenerative impact like the protection of rainforest or restoration of mangroves.
|
||||
|
||||
## Mission
|
||||
|
||||
Empower every global citizen to protect and regenerate nature
|
||||
|
||||
## Impact
|
||||
|
||||
We protect biodiversity – focusing on the most threatened ecosystems such as tropical forests and mangroves – by empowering communities with verified positive impact assets. Anyone can get earth positive via our marketplace of token-backed products and services.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
We are proud to partner with ThreeFold to securely host our decentralized mobile apps.
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
Shifting just 1% of the world’s wealth to positive impact assets can reverse ecological damage and make humanity a force of regeneration and conservation of nature.
|
||||
|
||||
## Support this project
|
||||
|
||||
Generation Blue is included in ThreeFold’s [Token Distribution Event (TDE)](https://wiki.threefold.io/#/tdeoverview)</a> for the impact it brings to our planet, humanity and the ThreeFold Grid.
|
||||
The ThreeFold Token (TFT) represents a unit of capacity on the new Internet and is created only when new capacity is added to the ThreeFold Grid.
|
||||
Each project on the TDE benefits from TFT fund allocations. You can buy TFT's and support Generation Blue, and the growth of a new Conscious Internet.
|
||||
|
||||
### Roadmap
|
||||
|
||||
```python
|
||||
[milestone]
|
||||
name = "Integrate on ThreeFold Grid, 3Bot and TF Wallet"
|
||||
#date format: Q YYYY
|
||||
date = "Q3 2020"
|
||||
funding_required_tft = "333,333"
|
||||
funding_required_usd = ""
|
||||
description = "Creating a next generation token to protect natural forests and empowere anyone to make investments to receive natural capital dividends utilizing TF Grid and technology"
|
||||
|
||||
[milestone]
|
||||
name = "Crowdfunding event"
|
||||
date = "Q4 2020"
|
||||
funding_required_tft = "tbd"
|
||||
funding_required_usd = ""
|
||||
description = "Allowing European investors to invest in tokenized rainforest bond 1eur at a time. Using platforms like Vlinder to list the tokens. Target fundraise from 500k EUR to 5m EUR."
|
||||
|
||||
```
|
||||
|
||||
### data
|
||||
|
||||
```python
|
||||
|
||||
[links]
|
||||
linkedin = "https://www.linkedin.com/company/genblue/"
|
||||
websites = ["https://generation.blue/"]
|
||||
wiki = ""
|
||||
video = "https://player.vimeo.com/video/430716502"
|
||||
|
||||
[info]
|
||||
name = "Generation Blue"
|
||||
rank = 2
|
||||
mission = "Empowering every global citizen to protect and regenerate nature."
|
||||
description = "We enable the shift to an Earth Positive economy based on reciprocity, where every act of consumption is met with an opposite act of regeneration and protection of nature. Our blockchain based ecosystems accounting system enables anyone to get Earth Positive by investing in environmental impact tokens."
|
||||
team = ["Alan Laubsch"]
|
||||
countries = ["Global"]
|
||||
cities = ["Global"]
|
||||
|
||||
[ecosystem]
|
||||
# can be chosen from: experience, solution, farmer, infrastructure
|
||||
categories = ["experience", "solution"]
|
||||
# can be chosen from: tftgranted (receiving TFT Grant)
|
||||
badges = ["tftgranted"]
|
||||
|
||||
```
|
||||
BIN
content/blog/generation_blue/generation_blue.png
Normal file
|
After Width: | Height: | Size: 812 KiB |
BIN
content/blog/generation_blue/logo.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
65
content/blog/green_edge/green_edge.md
Normal file
@@ -0,0 +1,65 @@
|
||||
---
|
||||
title: green_edge
|
||||
tags: crystaltwin, planned, grid
|
||||
countries:
|
||||
team:
|
||||
rank: 1
|
||||
category: crystaltwin
|
||||
excerpt:
|
||||
created: 2019-03-20
|
||||
image: ./green_edge.png
|
||||
image_caption: green_edge
|
||||
author: christine
|
||||
---
|
||||
|
||||
|
||||
|
||||
# Green Edge Sustainable Development
|
||||
|
||||
## About
|
||||
|
||||
*Green Edge Sustainable Development* is planning to offer affordable, distributed and decentralised storage and computing capacity for developers and partner telecom companies in Africa to locally host websites and other services. More than 360 million young people are currently excluded from the educational benefits afforded by internet access by poverty, geography or other circumstances. Green Edge Sustainable Development seeks to address this inequity.
|
||||
|
||||
## Mission
|
||||
|
||||
Green Edge supports ThreeFold in creating a decentralised internet that is inherently equal, sustainable, fast, private and secure to empower our planet, humanity and technologies.
|
||||
|
||||
## Impact
|
||||
|
||||
The United Nations Agenda 2030 declared: “to leave no one behind”. Green Edge Sustainable Development in collaboration with our telecom, educational and funding partners will work to connect the 3.6 billion people still off-line at an affordable monthly cost of $1 per person.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
Green Edge Sustainable Development is the Environmental and Sustainability Impact arm of Green Edge, the largest global, independent ‘farmer’ on the ThreeFold Grid. Green Edge values and objectives are aligned with those of the ThreeFold Foundation and the Alliance for a Conscious Internet. The energy efficient, self-driving, automated technology developed by ThreeFold running on Green Edge computers is the technology combination that makes our ambitious programme possible.
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
Green Edge Sustainable Development’s overriding priority is to put the Planet First in everything we do. We want to bring the benefits of technology to the people in every area and every walk of life. But we must achieve this in the most energy efficient and secure manner possible and in a way that protects each person’s sovereign identity and their data from abuse and theft.
|
||||
|
||||
|
||||
### data
|
||||
|
||||
```python
|
||||
|
||||
[links]
|
||||
linkedin = "https://www.linkedin.com/company/green-edge-cloud/"
|
||||
websites = ["https://green-edge.net/"]
|
||||
wiki = ""
|
||||
video = "https://player.vimeo.com/video/413148180"
|
||||
|
||||
[info]
|
||||
name = "Green Edge Sustainable Development"
|
||||
rank = 2
|
||||
mission = "Co-creating a decentralised internet that is inherently faster, greener, more private, and more secure than today's internet."
|
||||
#description = "Green Edge Sustainable Development is planning to offer inexpensive, distributed and decentralised storage and computing capacity for developers and partner telecom companies in Africa to locally host websites and other services. More than 360 million young people are currently excluded from the educational benefits afforded by internet access by poverty, geography or other circumstances. Green Edge Sustainable Development seeks to address this inequity."
|
||||
team = ["Joseph Foxton", "Mariza Kain"]
|
||||
countries = ["South Africa", "East Africa"]
|
||||
cities = ["Johannesburg", "Cape Town", "Nairobi", "Dar Es Salaam", "Kigali"]
|
||||
|
||||
[ecosystem]
|
||||
# can be chosen from: experience, solution, farmer, infrastructure
|
||||
categories = ["solution", "farmer"]
|
||||
# can be chosen from: tftgranted (receiving TFT Grant)
|
||||
badges = []
|
||||
|
||||
```
|
||||
BIN
content/blog/green_edge/green_edge.png
Normal file
|
After Width: | Height: | Size: 140 KiB |
BIN
content/blog/green_edge/logo.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
content/blog/money_of_good/logo.png
Normal file
|
After Width: | Height: | Size: 8.2 KiB |
BIN
content/blog/money_of_good/money_of_good.jpg
Normal file
|
After Width: | Height: | Size: 493 KiB |
94
content/blog/money_of_good/money_of_good.md
Normal file
@@ -0,0 +1,94 @@
|
||||
---
|
||||
title: money_of_good
|
||||
tags: crystaltwin, planned, grid
|
||||
countries:
|
||||
team:
|
||||
rank: 1
|
||||
category: crystaltwin
|
||||
excerpt:
|
||||
created: 2019-03-20
|
||||
image: ./money_of_good.png
|
||||
image_caption: money_of_good
|
||||
author: christine
|
||||
---
|
||||
|
||||
|
||||
# Money of Good
|
||||
|
||||
## About
|
||||
|
||||
*Money of Good* is a socioeconomic platform that uses disruptive proof-of-meditation technology (neurofeedback+blockchain) to offer people the chance to earn money as a reward for practicing meditation, improving their health, raising consciousness while fostering a new fair and sustainable economic model.
|
||||
<br /><br />
|
||||
We love this approach because the reward mechanism based on proof-of-meditation makes it possible to run the most effective and reliable basic income program globally, empowering individuals economically at the same time that encourages large parts of the population to embrace the daily practice of meditation.
|
||||
|
||||
Plus, because the [currency issue](https://cda71153-0003-4d0a-acef-88cf4099ed33.filesusr.com/ugd/bc41a1_a40c5cac0327482fb6f0223ed9711982.pdf) mechanism is backed on the value generated by the collaboration between the MoG platform, customers/meditators, and the [B companies](https://www.bcorporation.net/) (businesses which are driven by creating positive impact) taking part in the conscious economic ecosystem, the platform feeds the new regenerative economy.
|
||||
|
||||
## Mission
|
||||
|
||||
Driving the transition to a new fair and sustainable economy while raising consciousness and well-being through meditation.
|
||||
|
||||
## Impact
|
||||
|
||||
The main direct impacts are the raise of global consciousness and the birth of a new regenerative and conscious economic model. The sub impacts are the improvement of global health, the empowerment of individuals economically by minimizing inequality, and the leverage of sustainable local businesses.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
ThreeFold will provide the perfect framework to run the blockchain (DLT/database) of Money of Good financial system. It will also make it possible to scale the solution for large populations by empowering people in places that used to have poor or no internet access to start their own [Meditation Banks](https://youtu.be/6lFRJhUblvw) (places where people have free access to the proof-of-meditation reward system).
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
Join the [Future of Good](https://www.thefutureofgood.info/), the movement for a conscious, fair, and sustainable world for everyone.
|
||||
|
||||
## Support this project
|
||||
|
||||
Money of Good is included in ThreeFold’s [Token Distribution Event (TDE)](https://wiki.threefold.io/#/tdeoverview)</a> for the impact it brings to our planet, humanity and the ThreeFold Grid.
|
||||
The ThreeFold Token (TFT) represents a unit of capacity on the new Internet and is created only when new capacity is added to the ThreeFold Grid.
|
||||
Each project on the TDE benefits from TFT fund allocations. You can buy TFT's and support Money of Good, and the growth of a new Conscious Internet.
|
||||
|
||||
### Roadmap
|
||||
|
||||
```python
|
||||
|
||||
[milestone]
|
||||
name = "Integration on TF Grid, 3Bot, TF Wallet"
|
||||
#date format: Q YYYY
|
||||
date = "Q3 2020"
|
||||
funding_required_tft = "150,000"
|
||||
funding_required_usd = ""
|
||||
description = "With this fund, we plan to integrate our solution on TF Grid and produce a super inspiring video that presents how the platform works and how positive its impact will be when launched. This promotional video will serve to raise awareness, expand the community, and gather more partners."
|
||||
|
||||
[milestone]
|
||||
name = "MoG Phase 2"
|
||||
date = "Q4 2020"
|
||||
funding_required_tft = "tbd"
|
||||
funding_required_usd = ""
|
||||
description = "The goals of MoG Phase 2 are - Meditation app to improve the calibration of the neurofeedback system and gamification of the app. Banking app to implement the basic banking operations plus the sharing and donating features. System integration to improve and automate the accounting of the Good credits scored by the meditation app with users accounts on Cyclos. Operational website to implement the registration and account management system on the website. Build new partnerships and grow the commercial network, establishing a commercial partnership with 10 B-Corps for creating a credit reserve of 500 thousand USD for the issue of Goods. Hardware acquisition, purchase of 80 Muse neuro-sensors and 80 basic smartphones. Support the implementation of 20 Meditation Banks."
|
||||
|
||||
```
|
||||
|
||||
### data
|
||||
|
||||
```python
|
||||
|
||||
[links]
|
||||
linkedin = "linkedin.com/company/moneyofgood"
|
||||
websites = ["https://www.thefutureofgood.info"]
|
||||
wiki = ""
|
||||
video = "https://player.vimeo.com/video/424095155"
|
||||
|
||||
[info]
|
||||
name = "Money of Good"
|
||||
rank = 5
|
||||
mission = "Driving the transition to a new fair and sustainable economy while raising consciousness and well-being through meditation."
|
||||
description = "Money of Good is a socioeconomic platform that uses disruptive proof-of-meditation technology (neurofeedback+blockchain) to offer people the chance to earn money as a reward for practicing meditation, improving their health, raising consciousness while fostering a new fair and sustainable economic model: the conscious economy of the common good. We love this approach because the reward mechanism based on proof-of-meditation makes it possible to run the most effective and reliable basic income program globally, empowering individuals economically at the same time that encourages large part of the population to embrace the daily practice of meditation. Plus, because the currency issue mechanism is backed on the value generated by the collaboration between the MoG platform, customers/meditators, and the B* companies taking part in the conscious economy ecosystem, the platform feeds the new regenerative conscious economic ecosystem. B* (B-Corps: businesses which are driven by creating positive impact)"
|
||||
team = ["Marcelo Bohrer"]
|
||||
countries = ["Germany"]
|
||||
cities = ["Munich"]
|
||||
|
||||
[ecosystem]
|
||||
# can be chosen from: experience, solution, farmer, infrastructure
|
||||
categories = ["experience"]
|
||||
# can be chosen from: tftgranted (receiving TFT Grant)
|
||||
badges = ["tftgranted"]
|
||||
|
||||
```
|
||||
BIN
content/blog/seeds/logo.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
67
content/blog/seeds/seeds.md
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
name: seeds
|
||||
title: seeds
|
||||
tags: crystaltwin, planned, grid
|
||||
status: planned
|
||||
startdate: 2021-03-01
|
||||
countries:
|
||||
team:
|
||||
rank: 1
|
||||
category: crystaltwin
|
||||
excerpt:
|
||||
created: 2019-03-20
|
||||
image: ./seeds.png
|
||||
image_caption: seeds
|
||||
author: christine, kristof
|
||||
---
|
||||
|
||||
|
||||
|
||||
# SEEDS
|
||||
|
||||
## About
|
||||
|
||||
*SEEDS* is a regenerative financial system for a thriving global society. A global movement that aligns radical empowerment of purpose with finance with the mission to bring about a modern day Renaissance. Since its alpha release on November 5th 2019 and its public launch in March 2020, SEEDS has gathered 150+ alliance members from across multiple bioregions. We're leaving the age of siloed competition where people and planet were exploited by systems and entering an age of cooperation where the people are in direct control and ownership of the abundant systems they inhabit. We are in the stage of cultivating a grassroots movement uniting the people and organizations dedicated to a breakthrough towards genuine sustainability, freedom, and peace.
|
||||
|
||||
## Mission
|
||||
|
||||
SEEDS is a global movement that aligns radical empowerment of purpose with finance with the mission to bring about a modern day Renaissance. SEEDS is a regenerative financial system for a thriving global society.
|
||||
|
||||
## Impact
|
||||
|
||||
Holistic approaches are accomplished by evaluating the effectiveness through all four dimensions of natural, human, social and built capital. We measure effectiveness based on the valuation of all outcomes with the understanding that human activity should enhance the environment and the community by providing benefits to the majority and not only a few.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
SEEDS and ThreeFold are a natural pair of decentralized cooperative internet to run a decentralized cooperative financial system. We intend to integrate our systems. Together we provide essential tools for shaping a civilization which is more resilient, rewarding, and regenerative.
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
The evidence is clear, the current system is reaching a historical moment that demands a paradigmatic shift. Join us!
|
||||
|
||||
|
||||
|
||||
### data
|
||||
|
||||
```python
|
||||
[links]
|
||||
linkedin = "https://www.linkedin.com/company/seeds-the-conscious-currency/"
|
||||
websites = ["https://www.joinseeds.com/"]
|
||||
wiki = ""
|
||||
video = "https://player.vimeo.com/video/412275062"
|
||||
|
||||
[info]
|
||||
name = "SEEDS"
|
||||
rank = 3
|
||||
mission = "Creating a regenerative financial system for a thriving global society aligning radical empowerment of purpose with finance."
|
||||
description = "We're leaving the age of siloed competition where people and planet were exploited by systems and entering an age of cooperation where the people are in direct control and ownership of the abundant systems they inhabit. SEEDS and Threefold are a natural pair a decentralized cooperative internet to run a decentralized cooperative financial system. We intend to integrate our systems. Together we provide essential tools for shaping a civilization which is more resilient, rewarding, and regenerative."
|
||||
team = ["Rieki Cordon", "Nikolaus Heger", "Franz Josef Allmayer"]
|
||||
countries = ["Global"]
|
||||
cities = ["Global"]
|
||||
|
||||
[ecosystem]
|
||||
# can be chosen from: experience, solution, farmer, infrastructure
|
||||
categories = ["experience", "solution"]
|
||||
# can be chosen from: tftgranted (receiving TFT Grant)
|
||||
badges = []
|
||||
```
|
||||
BIN
content/blog/seeds/seeds.png
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
content/blog/shareitt/logo.png
Normal file
|
After Width: | Height: | Size: 5.6 KiB |
84
content/blog/shareitt/shareitt.md
Normal file
@@ -0,0 +1,84 @@
|
||||
---
|
||||
title: shareitt
|
||||
tags: crystaltwin, planned, grid
|
||||
countries:
|
||||
team:
|
||||
rank: 1
|
||||
category: crystaltwin
|
||||
excerpt:
|
||||
created: 2019-03-20
|
||||
image: ./shareitt.png
|
||||
image_caption: shareitt
|
||||
author: christine
|
||||
---
|
||||
|
||||
|
||||
|
||||
# Shareitt
|
||||
|
||||
## About
|
||||
|
||||
Shareitt aims to do good while doing well. We believe that changing the economic system and moving towards a sustainable business, cities, and communities is essential to create a healthy environment. Shareitt is an impact technology startup to empower communities socially, financially, and environmentally. Our unique technology redefines collaborative economies and mutual support and provides the tools to “Community Assets Based UBI” by nurturing long term capacities. All of Shareitt employees, management, and shareholders support the social impact, purpose, and objectives of the company.
|
||||
|
||||
## Mission
|
||||
|
||||
Enhance world prosperity to create a better world, where doing good becomes easy and rewarding.
|
||||
|
||||
## Impact
|
||||
|
||||
Facilitate and Empower communities socially, financially, and environmentally using a unique technology solution. With our tools, people, and organizations all over the world can create collaborative economies and develop thriving vibrant communities. Among the company goals for 2025 is Recycling more than 250 million items and creating an additional average save of 200 euros per month per user - in over 2500 communities using Shareitt.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
Threefold provides a unique decentralized, uncontrolled Internet solution that will enable collaborative communities to exchange resources directly with one another without any controlling 3rd party. Communities all over the world with or without a stable internet connection will be able to operate a sustainable community that will serve their values and purposes.
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
A community of several hundred active women using our platform for 12 months resulted in: over 40,000 items reused within the community with zero footprint, a value of $360,000 exchanged and saved by the participants, hundreds of new friendships formed.
|
||||
|
||||
## Support this project
|
||||
|
||||
Shareitt is included in ThreeFold’s [Token Distribution Event (TDE)](https://wiki.threefold.io/#/tdeoverview)</a> for the impact it brings to our planet, humanity and the ThreeFold Grid.
|
||||
The ThreeFold Token (TFT) represents a unit of capacity on the new Internet and is created only when new capacity is added to the ThreeFold Grid.
|
||||
Each project on the TDE benefits from TFT fund allocations. You can buy TFT's and support Shareitt, and the growth of a new Conscious Internet.
|
||||
|
||||
### Roadmap
|
||||
|
||||
```python
|
||||
|
||||
[milestone]
|
||||
name = "Integrate on ThreeFold Grid, 3Bot and TF Wallet"
|
||||
#date format: Q YYYY
|
||||
date = "Q3 2020"
|
||||
funding_required_tft = "500,000"
|
||||
funding_required_usd = ""
|
||||
description = "Integration of Shareitt app on TFGrid & Crystal Twin"
|
||||
|
||||
```
|
||||
|
||||
### data
|
||||
|
||||
```python
|
||||
|
||||
[links]
|
||||
linkedin = "https://www.linkedin.com/company/shareitt/"
|
||||
websites = ["https://www.shareitt.com"]
|
||||
wiki = ""
|
||||
video = ""
|
||||
|
||||
[info]
|
||||
name = "Shareitt"
|
||||
rank = 4
|
||||
mission = "Enhance world prosperity to create a better world, where doing good becomes easy and rewarding."
|
||||
description = "Shareitt aims to do good while doing well. We believe that changing the economic system and moving towards a sustainable business, cities, and communities is essential to create a healthy environment. Shareitt is an impact technology startup to empower communities socially, financially, and environmentally. Our unique technology redefines collaborative economies and mutual support and provides the tools to “Community Assets Based UBI” by nurturing long term capacities. All of Shareitt employees, management, and shareholders support the social impact, purpose, and objectives of the company. Among the company goals for 2025 is Recycling more than 250 million items and creating an additional average save of 200 euros per month per user - in over 2500 communities using Shareitt."
|
||||
team = ["Arie Ben David", "Mickey Malul", "Roel Wofert"]
|
||||
countries = ["Global"]
|
||||
cities = ["Global"]
|
||||
|
||||
[ecosystem]
|
||||
# can be chosen from: experiencecreator, experiencepartner, solutionprovider, farmer, systemintegrator
|
||||
categories = ["experiencepartner"]
|
||||
# can be chosen from: tftgranted (receiving TFT Grant)
|
||||
badges = []
|
||||
|
||||
```
|
||||
BIN
content/blog/shareitt/shareitt.png
Normal file
|
After Width: | Height: | Size: 262 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
@@ -0,0 +1,92 @@
|
||||
---
|
||||
title: the_humanized_internet
|
||||
tags: crystaltwin, planned, grid
|
||||
countries:
|
||||
team:
|
||||
rank: 1
|
||||
category: crystaltwin
|
||||
excerpt:
|
||||
created: 2019-03-20
|
||||
image: ./the_humanized_internet.png
|
||||
image_caption: the_humanized_internet
|
||||
author: christine
|
||||
---
|
||||
|
||||
|
||||
# The Humanized Internet
|
||||
|
||||
## About
|
||||
|
||||
*The Humanized Internet* is working to use new technologies to defend the rights of vulnerable people, and give every human being worldwide secure, sovereign control over their own digital identity. The Humanized Internet is building a broad coalition of NGOs, international organizations and other actors to build a global consensus regarding each human being’s sovereign digital rights.
|
||||
|
||||
## Mission
|
||||
|
||||
A non-profit organization focused on providing digital identity for those individuals most underserved.
|
||||
|
||||
## Impact
|
||||
|
||||
Over one billion people worldwide have no official identity, making them vulnerable to abuses like incarceration and human trafficking. That includes 230 million children under five, and ten million stateless people. Not only can a secure identity help defend their rights, but it can provide access to essential services like education, health and banking. It can enable them to be sovereign individuals.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
ThreeFold has technology in place to run decentralized programs created by The Humanized Internet. In partnership with ThreeFold The Humanized Internet can scale it's mission of providing digital identity for large populations empowering people in places that are most vulnerable to identity abuse.
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
“Human dignity is based upon freedom, and freedom upon human dignity. The one presupposes the other.” Join us in creating Conscious Humanized Internet for everyone.
|
||||
|
||||
|
||||
### Roadmap
|
||||
|
||||
```python
|
||||
|
||||
[milestone]
|
||||
name = "Publishing a book"
|
||||
date = "Q3 2020"
|
||||
funding_required_tft = "n/a"
|
||||
funding_required_usd = ""
|
||||
description = "The goal of the book is to define the next generation Internet: the Humanized Internet. The authors describe the trust deficit and the polarities between institutions as we know today. Has the Internet evolved to a control by a few rather than inclusive for everyone? The Humanized Internet book is also focused on identity as a basic human right as foundational to the overall narrative."
|
||||
|
||||
[milestone]
|
||||
name = "Integrate on ThreeFold Grid, 3Bot"
|
||||
#date format: Q YYYY
|
||||
date = "Q4 2020"
|
||||
funding_required_tft = "500,000"
|
||||
funding_required_usd = ""
|
||||
description = "The Humanized Internet projects integration on TFGrid, 3Bot."
|
||||
|
||||
[milestone]
|
||||
name = "Standardizing THI tenets on ITSA"
|
||||
date = "Q4 2020"
|
||||
funding_required_tft = "n/a"
|
||||
funding_required_usd = ""
|
||||
description = "The International Token Standardization Association (ITSA) is a Berlin-based association of German law with more than 100 associated founding members. ITSA is a non-profit organization and special interest group aiming at the development and implementation of comprehensive market standards for the identification, classification, and analysis of cryptographic tokens."
|
||||
|
||||
```
|
||||
|
||||
### data
|
||||
|
||||
```python
|
||||
|
||||
[links]
|
||||
linkedin = ""
|
||||
websites = ["https://www.thehumanizedinternet.org/"]
|
||||
wiki = ""
|
||||
video = "https://player.vimeo.com/video/442276485"
|
||||
|
||||
[info]
|
||||
name = "The Humanized Internet"
|
||||
rank = 4
|
||||
mission = "A non-profit organization focused on providing digital identity for those individuals most underserved."
|
||||
description = "The Humanized Internet is working to use new technologies to defend the rights of vulnerable people, and give every human being worldwide secure, sovereign control over their own digital identity. The Humanized Internet is building a broad coalition of NGOs, international organizations and other actors to build a global consensus regarding each human being’s sovereign digital rights. "
|
||||
team = ["Monique Morrow", "Akram Alfawakheeri"]
|
||||
countries = ["Switzerland", "Germany"]
|
||||
cities = ["Zürich", "Berlin"]
|
||||
|
||||
[ecosystem]
|
||||
# can be chosen from: experience, solution, farmer, infrastructure
|
||||
categories = ["experience", "solution"]
|
||||
# can be chosen from: tftgranted (receiving TFT Grant)
|
||||
badges = []
|
||||
|
||||
```
|
||||
BIN
content/blog/the_humanized_internet/the_humanized_internet.png
Normal file
|
After Width: | Height: | Size: 879 KiB |
BIN
content/blog/threefold_foundation/logo.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
105
content/blog/threefold_foundation/threefold_foundation.md
Normal file
@@ -0,0 +1,105 @@
|
||||
---
|
||||
title: threefold_foundation
|
||||
tags: crystaltwin, planned, grid
|
||||
countries:
|
||||
team:
|
||||
rank: 1
|
||||
category: crystaltwin
|
||||
excerpt:
|
||||
created: 2019-03-20
|
||||
image: ./threefold_foundation.png
|
||||
image_caption: threefold_foundation
|
||||
author: christine
|
||||
---
|
||||
|
||||
# ThreeFold Foundation (The TF Grid)
|
||||
|
||||
## About
|
||||
|
||||
Today's internet is fundamentally broken. Less than 60% of the world has access, it is being fragmented into pieces, its users (and their data) are exploited by big corporations, and it consumes up to 10% of the world's energy. It is powered by large, centralized data centers which benefit specific geographic regions and leave the rest behind.
|
||||
The *ThreeFold Grid* is the answer. "Nodes" distributed around the world and owned by independent [ThreeFold Farmers](https://wiki.threefold.io/#/what_is_a_farmer) create the physical infrastructure that empowers a new, democratized, peer-to-peer internet based on our values of equality (access), autonomy (digital sovereignty), and sustainability (for our planet).
|
||||
The ThreeFold Foundation is a non-profit based out of Belgium which, along with its partners, advocates for the adoption, growth, and expansion of the ThreeFold Grid and a new peer-to-peer internet.
|
||||
|
||||
## Mission
|
||||
|
||||
Growing a green and responsible peer-to-peer Internet that is available everywhere and owned by everyone – across geographical and cultural borders, empowering people to be digitally independent and providing equal chances to learn, partake and succeed.
|
||||
|
||||
## Impact
|
||||
|
||||
ThreeFold's Grid will help to give data sovereignty back to people and countries, give access to information, knowledge, communication and financial tools and more, to billions of people in countries lacking in internet infrastructure and help dramatically reduce the footprint of our current internet by using smaller and more efficient mini data nodes.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
The ThreeFold Grid provides a global mesh network to run and store our internet applications and services. It is the fundamental backbone of a new internet that empowers our planet and humanity.
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
The world needs a new, more responsible internet – one that is more accessible, empowers its users, and minimizes energy consumption. If not us, who? If not now, when?
|
||||
|
||||
## Support this project
|
||||
|
||||
TF Foundation is included in ThreeFold’s [Token Distribution Event (TDE)](https://wiki.threefold.io/#/tdeoverview)</a> for the impact it brings to our planet, humanity and the ThreeFold Grid.
|
||||
The ThreeFold Token (TFT) represents a unit of capacity on the new Internet and is created only when new capacity is added to the ThreeFold Grid.
|
||||
Each project on the TDE benefits from TFT fund allocations. You can buy TFT's and support TF Foundation, and the growth of a new Conscious Internet.
|
||||
|
||||
|
||||
### Roadmap
|
||||
|
||||
```python
|
||||
[milestone]
|
||||
name = "Promotion Phase I"
|
||||
#date format: Q YYYY
|
||||
date = "Q3 2020"
|
||||
funding_required_tft = "12,000,000"
|
||||
funding_required_usd = ""
|
||||
description = "The aim is to grow the grid to 30-40 countries and to promote ThreeFold developer audiences in the blockchain and cloud space with a minumum of 15 blockchain projects utilizing the grid as well as 15 cloud based intitatives by August 2020"
|
||||
|
||||
[milestone]
|
||||
name = "TF Grid Enhancements"
|
||||
date = "Q3 2020"
|
||||
funding_required_tft = "10,000,000"
|
||||
funding_required_usd = ""
|
||||
description = "Further improvements on the grid."
|
||||
|
||||
[milestone]
|
||||
name = "TF Grid user interface"
|
||||
date = "Q3 2020"
|
||||
funding_required_tft = "1,000,000"
|
||||
funding_required_usd = ""
|
||||
description = "Easy to use interface to provision IT workloads on the grid."
|
||||
|
||||
[milestone]
|
||||
name = "Promotion Phase II"
|
||||
#date format: Q YYYY
|
||||
date = "Q4 2020"
|
||||
funding_required_tft = "12,000,000"
|
||||
funding_required_usd = ""
|
||||
description = "The aim is to grow the grid to 60-80 countries and to promote ThreeFold developer audiences in the blockchain and cloud space with a minumum of 30 blockchain projects utilizing the grid as well as 30 cloud based intitatives by Dec 2020"
|
||||
```
|
||||
|
||||
### data
|
||||
|
||||
```python
|
||||
[links]
|
||||
linkedin = "https://www.linkedin.com/company/threefold-foundation/"
|
||||
wiki = "http://wiki.threefold.io/docs/grid/index.html"
|
||||
websites = ["https://threefold.io/capacity.html"]
|
||||
video = "https://player.vimeo.com/video/412749710"
|
||||
|
||||
[info]
|
||||
name = "ThreeFold Foundation"
|
||||
rank = 5
|
||||
mission = "Growing a green and responsible peer-to-peer Internet available everywhere and owned by everyone."
|
||||
description = "Our project is about promoting the adoption and expansion of ThreeFold Grid in order to empower a new and democratized digital economy based on our values of equality, autonomy and sustainability. ThreeFold's Grid will help to give data sovereignty back to people and countries, as well as enable accessibility to internet access to billions of people in countries lacking in internet infrastructure, and finally it will help dramatically reduce the footprint of our current internet by using smaller and more efficient mini data nodes, less fiber network, a unique storage algorithm, and more. The ThreeFold Grid is one of the most essential elements of building a new internet as it provides a global network to run and store our internet applications and services. Today we are live with more than 80,000,000 GB of capacity and 25,000 CPU cores across 22 countries. We have launched the ThreeFold Grid SDK meaning that anyone can begin to utilize the ThreeFold Grid. We are currently talking with more than 25 blockchain projects out of top 200 to invite them to explore possible use cases on the ThreeFold Grid. And we have a number of other partners ready to host or build on top of the ThreeFold Grid. The success of our efforts can be measured by the growth of the ThreeFold Grid in terms of number of hardware nodes, the amount of capacity utilized on the ThreeFold Grid and the number of projects using and promoting the ThreeFold Grid."
|
||||
|
||||
team = ["Adnan Fatayerji", "Sam Taggart", "Sacha Obeegadoo", "Kristine Vilnite", "Roel van Sabben", "Weynand Kuijpers"]
|
||||
countries = ["Global"]
|
||||
cities = ["Global"]
|
||||
|
||||
[ecosystem]
|
||||
# can be chosen from: experience, solution, farmer, infrastructure
|
||||
categories = ["solution", "farmer", "infrastructure"]
|
||||
# can be chosen from: tftgranted (receiving TFT Grant), planetfirstalliance (memeber of Planet First Alliance)
|
||||
badges = ["tftgranted"]
|
||||
|
||||
```
|
||||
BIN
content/blog/threefold_foundation/threefold_foundation.png
Normal file
|
After Width: | Height: | Size: 106 KiB |
BIN
content/blog/unit/logo.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
92
content/blog/unit/unit.md
Normal file
@@ -0,0 +1,92 @@
|
||||
---
|
||||
title: unit
|
||||
tags: crystaltwin, planned, grid
|
||||
countries:
|
||||
team:
|
||||
rank: 1
|
||||
category: crystaltwin
|
||||
excerpt:
|
||||
created: 2019-03-20
|
||||
image: ./unit.png
|
||||
image_caption: unit
|
||||
author: christine
|
||||
---
|
||||
|
||||
|
||||
|
||||
# Unit
|
||||
|
||||
## About
|
||||
|
||||
We want to support people who are passionate about something by helping them develop a business around it, by connecting them with clients, so they can support themselves, their family and friends. So if someone wants to teach yoga, make art, sell cars, or design clothing - we support them by helping them develop a business around it.
|
||||
|
||||
We have an underlying UNIT technology which powers two-sided marketplaces (like uber, or airbnb) which powers a platform for a specific vertical or industry. We invest in these projects and companies, with the vision to create millions of jobs, and support projects by allocating funds and resources to them.
|
||||
|
||||
## Mission
|
||||
|
||||
To build the next economy.
|
||||
|
||||
## Impact
|
||||
|
||||
We believe well-being of all is important, and are committed to creating opportunities and solving inequality in the world by moving towards being structured as a cooperative, this means that the value created is distributed with the customers and providers, not just the founders and the investors. This will ultimately solve the huge income inequity. We believe this will give an opportunity for people to do good, and focus on what they enjoy, rather than simply making money to support themselves.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
We are planning to use ThreeFold's peer-to-peer infrastructure for the Unit.
|
||||
|
||||
## Join saving our planet
|
||||
|
||||
Reach out to one of our community members, to join the platforms or events, as well as if you’re interested in being a provider or customer to support the circular economy.
|
||||
|
||||
## Support this project
|
||||
Unit is included in ThreeFold’s [Token Distribution Event (TDE)](https://wiki.threefold.io/#/tdeoverview)</a> for the impact it brings to our planet, humanity and the ThreeFold Grid.
|
||||
The ThreeFold Token (TFT) represents a unit of capacity on the new Internet and is created only when new capacity is added to the ThreeFold Grid.
|
||||
Each project on the TDE benefits from TFT fund allocations. You can buy TFT's and support Unit, and the growth of a new Conscious Internet.
|
||||
|
||||
### Roadmap
|
||||
|
||||
```python
|
||||
|
||||
[milestone]
|
||||
name = "Integration on TF Grid, 3Bot"
|
||||
#date format: Q YYYY
|
||||
date = "Q3 2020"
|
||||
funding_required_tft = "150,000"
|
||||
funding_required_usd = ""
|
||||
description = "Integration of Unit on top of TFGrid / 3bot to empower small businesses."
|
||||
|
||||
[milestone]
|
||||
name = "Financing next round for Unit"
|
||||
date = "Q3 2020"
|
||||
funding_required_tft = "n/a"
|
||||
funding_required_usd = ""
|
||||
description = "We are putting together and allocating 25mil in capital to support, invest and develop the unit ventures."
|
||||
|
||||
```
|
||||
|
||||
### data
|
||||
|
||||
```python
|
||||
|
||||
[links]
|
||||
linkedin = "https://www.linkedin.com/company/unitventures"
|
||||
websites = ["https://unit.ventures/"]
|
||||
wiki = ""
|
||||
video = "https://player.vimeo.com/video/438885099"
|
||||
|
||||
[info]
|
||||
name = "Unit"
|
||||
rank = 3
|
||||
mission = "To build the next economy."
|
||||
description = "We want to support people who are passionate about something by helping them develop a business around it, by connecting them with clients, so they can support themselves, their family and friends. So if someone wants to teach yoga, make art, sell cars, or design clothing - we support them by helping them develop a business around it. We have an underlying UNIT technology which powers two-sided marketplaces (like uber, or airbnb) which powers a platform for a specific vertical or industry. We invest in these projects and companies, with the vision to create millions of jobs, and support projects by allocating funds and resources to them."
|
||||
team = ["Michael Healy"]
|
||||
countries = ["Indonesia", "UAE", "UK"]
|
||||
cities = ["Bali", "Singapore", "Dubai", "London"]
|
||||
|
||||
[ecosystem]
|
||||
# can be chosen from: experience, solution, farmer, infrastructure
|
||||
categories = ["experience"]
|
||||
# can be chosen from: tftgranted (receiving TFT Grant)
|
||||
badges = ["tftgranted"]
|
||||
|
||||
```
|
||||
BIN
content/blog/unit/unit.png
Normal file
|
After Width: | Height: | Size: 564 KiB |
BIN
content/blog/vlinder/logo_vlinder.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
94
content/blog/vlinder/vlinder.md
Normal file
@@ -0,0 +1,94 @@
|
||||
---
|
||||
title: Increasing happiness by providing a new perspective on people's lifestyle empowering them to act on Earth’s global problems.
|
||||
tags: crystaltwin, planned, experience
|
||||
countries: austria, russia
|
||||
cities: Salzburg, Perm
|
||||
team: Sergey Ivliev
|
||||
rank: 1
|
||||
category: crystaltwin
|
||||
excerpt: Vlinder means butterfly in Dutch. We believe in the butterfly effect of a small behavioral change in a connected world. We envision the Vlinder app as a tool empowering you to make those changes. You will be able to know and mitigate your personal environmental footprint by investing in high-impact products and connecting with sustainability-focused businesses. We will provide you with a helicopter view of your bank cards, crypto wallets, and cash expenses while automatically estimating your carbon footprint. You will be able to contribute to community projects and make a profit from offsetting your CO2 emissions by investing in green products with high return.
|
||||
created: 2019-03-20
|
||||
image: ./vlinder.png
|
||||
image_caption: vlinder
|
||||
author: christine
|
||||
---
|
||||
|
||||
# Vlinder
|
||||
|
||||
## About
|
||||
|
||||
Vlinder means butterfly in Dutch. We believe in the butterfly effect of a small behavioral change in a connected world. We envision the Vlinder app as a tool empowering you to make those changes. You will be able to know and mitigate your personal environmental footprint by investing in high-impact products and connecting with sustainability-focused businesses. We will provide you with a helicopter view of your bank cards, crypto wallets, and cash expenses while automatically estimating your carbon footprint. You will be able to contribute to community projects and make a profit from offsetting your CO2 emissions by investing in green products with high return.
|
||||
|
||||
|
||||
<BR>
|
||||
|
||||
<iframe src="https://player.vimeo.com/video/434681704" width="800" height="450" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>
|
||||
|
||||
<BR>
|
||||
|
||||
|
||||
|
||||
## Mission
|
||||
|
||||
Our mission is to make people happier by providing a new perspective on their lifestyle and empowering them to act on Earth’s global problems.
|
||||
|
||||
## Impact
|
||||
|
||||
COVID-19 mitigation is a great example of what can be done when we act together. Vlinder helps people become more mindful about their consumption behaviour and investments and empowers them to act on climate change. If we join forces, we can face any challenge, even climate change.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
Vlinder will provide carbon offset options for ThreeFold ecosystem making it planet-positive and optimize its own running costs using ThreeFold infrastructure.
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
We invite you to join us on this journey of creating an ecosystem for conscious consumption and sustainable financial decisions.
|
||||
How can you contribute? First of all, by becoming our first user. [The Vlinder app beta](https://vlinder.app) is available for iOS and Android in the eurozone countries.
|
||||
If you are in Germany or Austria and run a sustainable business or manage an impact community, feel free to reach out to us to discuss possible partnerships.
|
||||
|
||||
## Support this project
|
||||
|
||||
Vlinder is included in ThreeFold’s [Token Distribution Event (TDE)](https://wiki.threefold.io/#/tdeoverview)</a> for the impact it brings to our planet, humanity and the ThreeFold Grid.
|
||||
The ThreeFold Token (TFT) represents a unit of capacity on the new Internet and is created only when new capacity is added to the ThreeFold Grid.
|
||||
Each project on the TDE benefits from TFT fund allocations. You can buy TFT's and support Vlinder, and the growth of a new Conscious Internet.
|
||||
|
||||
### Roadmap
|
||||
|
||||
```python
|
||||
|
||||
[milestone]
|
||||
name = "Integrate on ThreeFold Grid, 3Bot"
|
||||
#date format: Q YYYY
|
||||
date = "Q3 2020"
|
||||
funding_required_tft = "500,000"
|
||||
funding_required_usd = ""
|
||||
description = "Integration of personal planet first finance app on top of 3bot/Crystal Twin."
|
||||
|
||||
```
|
||||
|
||||
### data
|
||||
|
||||
```python
|
||||
|
||||
[links]
|
||||
linkedin = ""
|
||||
websites = ["https://vlinder.app"]
|
||||
wiki = ""
|
||||
video = "https://player.vimeo.com/video/434681704"
|
||||
|
||||
[info]
|
||||
name = "Vlinder"
|
||||
rank = 3
|
||||
mission = "Increasing happiness by providing a new perspective on people's lifestyle empowering them to act on Earth’s global problems."
|
||||
description = "Vlinder means butterfly in Dutch. We believe in the butterfly effect of a small behavioral change in a connected world. We envision the Vlinder app as a tool empowering you to make those changes. You will be able to know and mitigate your personal environmental footprint by investing in high-impact products and connecting with sustainability-focused businesses. We will provide you with a helicopter view of your bank cards, crypto wallets, and cash expenses while automatically estimating your carbon footprint. You will be able to contribute to community projects and make a profit from offsetting your CO2 emissions by investing in green products with high return."
|
||||
team = ["Sergey Ivliev"]
|
||||
countries = ["Austria", "Russia"]
|
||||
cities = ["Salzburg", "Perm"]
|
||||
|
||||
[ecosystem]
|
||||
# can be chosen from: experience, solution, farmer, infrastructure
|
||||
categories = ["experience"]
|
||||
# can be chosen from: tftgranted (receiving TFT Grant)
|
||||
badges = []
|
||||
|
||||
```
|
||||
BIN
content/blog/vlinder/vlinder.png
Normal file
|
After Width: | Height: | Size: 142 KiB |
BIN
content/blog/zetako/logo.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
90
content/blog/zetako/zetako.md
Normal file
@@ -0,0 +1,90 @@
|
||||
---
|
||||
title: zetako
|
||||
tags: crystaltwin, planned, grid
|
||||
countries:
|
||||
team:
|
||||
rank: 1
|
||||
category: crystaltwin
|
||||
excerpt:
|
||||
created: 2019-03-20
|
||||
image: ./zetako.png
|
||||
image_caption: zetako
|
||||
author: christine
|
||||
---
|
||||
|
||||
|
||||
# Zetako
|
||||
|
||||
## About
|
||||
|
||||
We are creating, storing, and sending more data than ever before, and this trend will certainly continue as more people come online and with trends such as Internet of Things and 5G, as examples. More data means more energy consumption, which is not good for our planet.
|
||||
|
||||
For many years, research has been focused on increasing the capacity of 40 year old compressions algorithms (LZW) instead of developing new approaches. We believe that the world’s exponential data creation, processing and storage needs cannot be met with old optimized algorithms. To use Albert Einstein's words: “We cannot solve our problems with the same thinking we used when we created them.”
|
||||
|
||||
This next part is a little geeky. :) We have developed a brand new mathematical theory based on Statistical Predictive modeling and applied this to a new lossless data compression technology. The result is a technology that provides 30% more compression and Speed and uses 70% less energy in the process. In addition to this, the technology is capable of doing bit-by-bit compression allowing for real time bandwidth reduction - the technology does NOT need a prior knowledge of the dataset to start compression. In layman terms, this means that our technology does not require the data stream to be chopped up into chunks - we apply compression the moment the first bit (1 or 0) comes in.
|
||||
|
||||
## Mission
|
||||
|
||||
Zetako is dedicated to reducing energy usage & CO2 emission for the transmission and storage of data by applying a new lossless data compression technology.
|
||||
|
||||
## Impact
|
||||
|
||||
We are in a position to become the standard of lossless data compression for the next decades that will provide a solution to the problem of every growing amount of data and the energy used to transport and store it.
|
||||
|
||||
By reducing the size of data files - whether when transported or stored - we reduce the amount of energy that is required to do so and by reducing energy consumption we reduce C02 emissions.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
We would like to be embedded into the backbone of ThreeFold - to be the de facto lossless data compression algorithm being used - benefitting all stakeholders. In combination with ThreeFold's already-efficient infrastructure, we will provide State-of-the-Art lossless compression made for the 21st century, culminating it less use of resources for the benefit of all.
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
It is expected that in 2025 the world will produce 175 ZB of data and an eye-watering 9.000 Terawatt will be used to operate and handle this - We need to look at reducing the energy consumption that goes into our digital lives.
|
||||
|
||||
## Support this project
|
||||
|
||||
Zetako is included in ThreeFold’s [Token Distribution Event (TDE)](https://wiki.threefold.io/#/tdeoverview)</a> for the impact it brings to our planet, humanity and the ThreeFold Grid.
|
||||
The ThreeFold Token (TFT) represents a unit of capacity on the new Internet and is created only when new capacity is added to the ThreeFold Grid.
|
||||
Each project on the TDE benefits from TFT fund allocations. You can buy TFT's and support Zetako, and the growth of a new Conscious Internet.
|
||||
|
||||
### Roadmap
|
||||
|
||||
```python
|
||||
|
||||
[milestone]
|
||||
name = "Integrate within ThreeFold Grid"
|
||||
#date format: Q YYYY
|
||||
date = "Q3 2020"
|
||||
funding_required_tft = "500,000"
|
||||
funding_required_usd = ""
|
||||
description = "Integration of new data lossless compression technology in TF Grid."
|
||||
|
||||
```
|
||||
|
||||
### data
|
||||
|
||||
```python
|
||||
[links]
|
||||
linkedin = "https://www.linkedin.com/company/zetako/"
|
||||
websites = ["https://zetako.ai/"]
|
||||
wiki = ""
|
||||
video = "https://player.vimeo.com/video/427718385"
|
||||
|
||||
[info]
|
||||
name = "Zetako"
|
||||
rank = 2
|
||||
mission = "Reducing energy usage and CO2 emissions for data transmission and storage with a new lossless data compression technology."
|
||||
#description = "For many years, research has been focused on increasing the capacity of 40 year old compressions algorithms (LZW) instead of developing new approaches. We believe that the world’s exponential data creation, processing and storage needs cannot be met with old optimized algorithms. To use Albert Einstein's words: “We cannot solve our problems with the same thinking we used when we created them.” We have developed a brand mathematical theory based on Statistical Predictive modeling and applied this to a new lossless data compression technology. The result is a technology that provides 30% more compression and Speed and using 70% less energy in the process. In addition to this, the technology is capable of doing bit-by-bit compression allowing for real time bandwidth reduction - the technology does NOT need a prior knowledge of the dataset to start compression. We are in a position to become the standard of lossless data compression for the next decades that will provide a solution to the problem of every growing amount of data and the energy used to transport and store it."
|
||||
|
||||
team = ["Claus Rosenberg Gotthard"]
|
||||
countries = ["Luxembourg", "France", "Portugal"]
|
||||
cities = ["Luxembourg", "St. Florent", "Lisbon"]
|
||||
|
||||
[ecosystem]
|
||||
# can be chosen from: experience, solution, farmer, infrastructure
|
||||
categories = ["solution", "infrastructure"]
|
||||
# can be chosen from: tftgranted (receiving TFT Grant)
|
||||
badges = []
|
||||
|
||||
|
||||
```
|
||||
BIN
content/blog/zetako/zetako.png
Normal file
|
After Width: | Height: | Size: 384 KiB |
33
content/readme.md
Normal file
@@ -0,0 +1,33 @@
|
||||
|
||||
## metadata per project page
|
||||
|
||||
---
|
||||
name: seeds
|
||||
title: seeds
|
||||
tags: crystaltwin, planned, grid
|
||||
status: planned
|
||||
startdate: 2021-03-01
|
||||
countries:
|
||||
cities:
|
||||
team:
|
||||
rank: 1
|
||||
category: crystaltwin
|
||||
excerpt:
|
||||
created: 2019-03-20
|
||||
image: ./seeds.png
|
||||
image_caption: seeds
|
||||
author: christine, kristof
|
||||
---
|
||||
|
||||
- name uniquely chosen name
|
||||
- title which shows on overview
|
||||
- tags: generic to allow us to search & shows
|
||||
- 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)
|
||||
- category: crystaltwin, team, tfgrid (for listing in navigation)
|
||||
- excerpt: short content to show in overview (DONT MAKE IT TOO LONG)
|
||||
- created: when the project was registered
|
||||
- author: 1 or more people behind project
|
||||
45
content/site/navigation.json
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"headerNavigation": [
|
||||
{
|
||||
"name": "Home",
|
||||
"link": "/",
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "Values",
|
||||
"link": "/about",
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "Grid",
|
||||
"link": "/category/gridusecase",
|
||||
"external": false
|
||||
} ,
|
||||
{
|
||||
"name": "CrystalTwin",
|
||||
"link": "/category/crystaltwin",
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"footerNavigation": [{
|
||||
"name": "Latest Posts",
|
||||
"link": "/",
|
||||
"external" : false
|
||||
},
|
||||
{
|
||||
"name": "Facebook",
|
||||
"link": "https://www.facebook.com",
|
||||
"external": true
|
||||
},
|
||||
{
|
||||
"name": "Gridsome",
|
||||
"link": "https://www.gridsome.org",
|
||||
"external": true
|
||||
},
|
||||
{
|
||||
"name": "RSS",
|
||||
"link": "/rss.xml",
|
||||
"external": false
|
||||
}
|
||||
]
|
||||
}
|
||||
16
content/site/social.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"social": [
|
||||
{
|
||||
"icon": "facebook",
|
||||
"link": "https://www.facebook.com"
|
||||
},
|
||||
{
|
||||
"icon": "twitter",
|
||||
"link": "https://twitter.com/"
|
||||
},
|
||||
{
|
||||
"icon": "linkedin",
|
||||
"link": "https://www.linkedin.com"
|
||||
}
|
||||
]
|
||||
}
|
||||
88
gridsome.config.js
Normal file
@@ -0,0 +1,88 @@
|
||||
// This is where project configuration and plugin options are located.
|
||||
// Learn more: https://gridsome.org/docs/config
|
||||
|
||||
// Changes here require a server restart.
|
||||
// To restart press CTRL + C in terminal and run `gridsome develop`
|
||||
|
||||
module.exports = {
|
||||
siteName: 'Alliance for a Conscious Internet',
|
||||
siteDescription: 'ThreeFold Partners',
|
||||
siteUrl: 'http://localhost:8080',
|
||||
plugins: [
|
||||
{
|
||||
use: 'gridsome-plugin-tailwindcss',
|
||||
options: {
|
||||
tailwindConfig: './tailwind.config.js',
|
||||
purgeConfig: {
|
||||
whitelist: ['svg-inline--fa', 'table', 'table-striped', 'table-bordered', 'table-hover', 'table-sm'],
|
||||
whitelistPatterns: [/fa-$/, /blockquote$/, /code$/, /pre$/, /table$/, /table-$/]
|
||||
},
|
||||
presetEnvConfig: {},
|
||||
shouldPurge: false,
|
||||
shouldImport: true,
|
||||
shouldTimeTravel: true,
|
||||
shouldPurgeUnusedKeyframes: true,
|
||||
}
|
||||
},
|
||||
{
|
||||
use: 'gridsome-source-static-meta',
|
||||
options: {
|
||||
path: 'content/site/*.json'
|
||||
}
|
||||
},
|
||||
{
|
||||
use: '@gridsome/source-filesystem',
|
||||
options: {
|
||||
typeName: 'Author',
|
||||
path: './content/author/*.md'
|
||||
}
|
||||
},
|
||||
{
|
||||
use: '@gridsome/source-filesystem',
|
||||
options: {
|
||||
typeName: 'Blog',
|
||||
path: './content/blog/**/*.md',
|
||||
refs: {
|
||||
author: 'Author',
|
||||
tags: {
|
||||
typeName: 'Tag',
|
||||
create: true
|
||||
},
|
||||
category: {
|
||||
typeName: 'Category',
|
||||
create: true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
transformers: {
|
||||
remark: {
|
||||
plugins: [
|
||||
'@noxify/gridsome-remark-table-align',
|
||||
['@noxify/gridsome-remark-classes', {
|
||||
'table': 'table table-striped',
|
||||
'tableCell[align=center]': 'text-center',
|
||||
'tableCell[align=right]': 'text-right'
|
||||
}]
|
||||
]
|
||||
}
|
||||
},
|
||||
templates: {
|
||||
Blog: [{
|
||||
path: '/blog/:title'
|
||||
}],
|
||||
Category: [{
|
||||
path: '/category/:title',
|
||||
component: '~/templates/Category.vue'
|
||||
}],
|
||||
Author: [{
|
||||
path: '/author/:name',
|
||||
component: '~/templates/Author.vue'
|
||||
}],
|
||||
Tag: [{
|
||||
path: '/tags/:title',
|
||||
component: '~/templates/Tag.vue'
|
||||
}],
|
||||
}
|
||||
}
|
||||
71
gridsome.server.js
Normal file
@@ -0,0 +1,71 @@
|
||||
// Server API makes it possible to hook into various parts of Gridsome
|
||||
// on server-side and add custom data to the GraphQL data layer.
|
||||
// Learn more: https://gridsome.org/docs/server-api/
|
||||
|
||||
// Changes here require a server restart.
|
||||
// To restart press CTRL + C in terminal and run `gridsome develop`
|
||||
|
||||
module.exports = function (api) {
|
||||
api.loadSource(({
|
||||
addCollection
|
||||
}) => {
|
||||
// Use the Data Store API here: https://gridsome.org/docs/data-store-api/
|
||||
})
|
||||
|
||||
api.createPages(({
|
||||
createPage
|
||||
}) => {
|
||||
// Use the Pages API here: https://gridsome.org/docs/pages-api/
|
||||
})
|
||||
|
||||
api.onCreateNode(options => {
|
||||
if (options.internal.typeName === 'Blog') {
|
||||
|
||||
options.tags = (typeof options.tags === 'string') ? options.tags.split(',').map(string => string.trim()) : options.tags;
|
||||
options.author = (typeof options.author === 'string') ? options.author.split(',').map(string => string.trim()) : options.author;
|
||||
return {
|
||||
...options
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
api.createPages(async ({
|
||||
graphql,
|
||||
createPage
|
||||
}) => {
|
||||
// Use the Pages API here: https://gridsome.org/docs/pages-api
|
||||
const {
|
||||
data
|
||||
} = await graphql(`{
|
||||
allBlog {
|
||||
edges {
|
||||
previous {
|
||||
id
|
||||
}
|
||||
next {
|
||||
id
|
||||
}
|
||||
node {
|
||||
id
|
||||
path
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`);
|
||||
|
||||
data.allBlog.edges.forEach(function (element) {
|
||||
createPage({
|
||||
path: element.node.path,
|
||||
component: './src/templates/BlogPost.vue',
|
||||
context: {
|
||||
previousElement: (element.previous) ? element.previous.id : '##empty##',
|
||||
nextElement: (element.next) ? element.next.id : '##empty##',
|
||||
id: element.node.id
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
3
netlify.toml
Normal file
@@ -0,0 +1,3 @@
|
||||
[build]
|
||||
publish = "dist"
|
||||
command = "gridsome build"
|
||||
33
package.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"name": "my-blog",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "gridsome build",
|
||||
"develop": "gridsome develop",
|
||||
"explore": "gridsome explore"
|
||||
},
|
||||
"dependencies": {
|
||||
"@gridsome/source-filesystem": "^0.6.2",
|
||||
"@gridsome/transformer-remark": "^0.6.2",
|
||||
"@noxify/gridsome-remark-classes": "^1.0.0",
|
||||
"@noxify/gridsome-remark-table-align": "^1.0.0",
|
||||
"core-js": "^3.6.5",
|
||||
"gridsome": "^0.7.20",
|
||||
"gridsome-plugin-tailwindcss": "^3.0.1",
|
||||
"gridsome-source-static-meta": "github:noxify/gridsome-source-static-meta#master",
|
||||
"lodash": "^4.17.20",
|
||||
"node-sass": "^4.14.1",
|
||||
"pluralize": "^8.0.0",
|
||||
"sass-loader": "^10.0.2",
|
||||
"tailwindcss": "^1.8.4",
|
||||
"tailwindcss-gradients": "^3.0.0",
|
||||
"tailwindcss-tables": "^0.4.0",
|
||||
"v-tooltip": "^2.0.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@fortawesome/fontawesome-svg-core": "^1.2.30",
|
||||
"@fortawesome/free-brands-svg-icons": "^5.14.0",
|
||||
"@fortawesome/free-solid-svg-icons": "^5.14.0",
|
||||
"@fortawesome/vue-fontawesome": "^2.0.0"
|
||||
}
|
||||
}
|
||||
194
src/assets/scss/main.scss
Normal file
@@ -0,0 +1,194 @@
|
||||
@tailwind base;
|
||||
|
||||
blockquote {
|
||||
@apply border-l;
|
||||
@apply border-l-4;
|
||||
@apply border-l-blue-500;
|
||||
@apply pl-4;
|
||||
@apply italic;
|
||||
@apply my-8;
|
||||
|
||||
p {
|
||||
padding: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
pre {
|
||||
@apply border-l;
|
||||
@apply border-l-2;
|
||||
@apply border-l-gray-500;
|
||||
@apply pl-4;
|
||||
@apply mt-4;
|
||||
@apply text-base;
|
||||
@apply break-words;
|
||||
@apply overflow-x-auto;
|
||||
}
|
||||
|
||||
ol {
|
||||
@apply list-decimal;
|
||||
@apply ml-5;
|
||||
}
|
||||
|
||||
ul {
|
||||
@apply list-disc;
|
||||
@apply ml-5;
|
||||
}
|
||||
|
||||
:not(pre)>code {
|
||||
@apply text-red-600;
|
||||
@apply text-base;
|
||||
}
|
||||
|
||||
@tailwind components;
|
||||
|
||||
@tailwind utilities;
|
||||
|
||||
@responsive {
|
||||
.pxi-0 {
|
||||
@apply px-0 #{!important};
|
||||
}
|
||||
|
||||
.pyi-0 {
|
||||
@apply py-0 #{!important};
|
||||
}
|
||||
|
||||
.pi-0 {
|
||||
@apply p-0 #{!important};
|
||||
}
|
||||
}
|
||||
|
||||
.animated-link:after {
|
||||
content: '';
|
||||
width: 0px;
|
||||
height: 1px;
|
||||
display: block;
|
||||
transition: 300ms;
|
||||
@apply bg-gray-500;
|
||||
}
|
||||
|
||||
.animated-link:hover:after {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.height-30px {
|
||||
height:30px;
|
||||
}
|
||||
|
||||
.no-border {
|
||||
border-width: 0px !important;
|
||||
}
|
||||
|
||||
.flex-post {
|
||||
@apply border-b;
|
||||
@apply border-b-gray-300;
|
||||
@apply flex-col;
|
||||
@apply w-full;
|
||||
|
||||
.post-card-image {
|
||||
@apply h-56;
|
||||
@apply w-full;
|
||||
@apply object-cover;
|
||||
@apply rounded;
|
||||
@apply relative;
|
||||
}
|
||||
|
||||
.post-card-title {
|
||||
@apply leading-none;
|
||||
@apply text-2xl;
|
||||
@apply font-medium;
|
||||
}
|
||||
|
||||
.post-card-excerpt {
|
||||
@apply font-serif;
|
||||
}
|
||||
}
|
||||
|
||||
.author-list-item:nth-child(n+2) {
|
||||
@apply -ml-3
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.with-large>.flex-post:nth-child(6n+1) {
|
||||
@apply flex-100;
|
||||
@apply flex-row;
|
||||
|
||||
.post-card-image-link {
|
||||
@apply flex-auto;
|
||||
@apply relative;
|
||||
min-height: 380px;
|
||||
@apply mr-6;
|
||||
}
|
||||
|
||||
.post-card-image {
|
||||
@apply absolute;
|
||||
@apply h-full;
|
||||
@apply w-full;
|
||||
@apply object-cover;
|
||||
@apply rounded-lg;
|
||||
}
|
||||
|
||||
.post-card-content {
|
||||
@apply flex-post-large-content;
|
||||
@apply self-center
|
||||
}
|
||||
|
||||
.post-card-title {
|
||||
@apply text-4xl;
|
||||
}
|
||||
|
||||
.post-card-excerpt {
|
||||
@apply text-xl;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
body[data-theme="dark"] {
|
||||
|
||||
background-color: #191b1f;
|
||||
@apply text-gray-300;
|
||||
|
||||
.post-content-text {
|
||||
@apply text-gray-300;
|
||||
}
|
||||
|
||||
.post-card-excerpt {
|
||||
@apply text-gray-500;
|
||||
}
|
||||
|
||||
.pagination li {
|
||||
@apply bg-gray-700;
|
||||
@apply text-gray-200;
|
||||
@apply border-gray-600;
|
||||
|
||||
&:hover {
|
||||
@apply bg-gray-600;
|
||||
@apply text-gray-900;
|
||||
}
|
||||
}
|
||||
|
||||
.pagination li.border-l-black {
|
||||
@apply border-l-gray-300;
|
||||
}
|
||||
|
||||
pre {
|
||||
@apply text-gray-500;
|
||||
}
|
||||
|
||||
.flex-post {
|
||||
@apply border-b-gray-800;
|
||||
}
|
||||
|
||||
.author-list-item img {
|
||||
border-color: #191b1f;
|
||||
}
|
||||
|
||||
.author-social {
|
||||
a {
|
||||
&:hover {
|
||||
@apply text-white
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
86
src/components/Pagination.vue
Normal file
@@ -0,0 +1,86 @@
|
||||
<template>
|
||||
<ul class="flex pl-0 list-none rounded my-2">
|
||||
|
||||
<li class="w-10 relative block text-center py-2 leading-tight bg-white border border-gray-300 text-black ml-0 mr-1 rounded hover:bg-gray-300" v-if="!isFirstPage(currentPage, totalPages)">
|
||||
<g-link :to="previousPage(currentPage,totalPages)" class="page-link" tabindex="-1" >«</g-link>
|
||||
</li>
|
||||
|
||||
<li
|
||||
v-for="page in pages" :key="page.name"
|
||||
v-bind:class="[isCurrentPage(currentPage, page.name) ? 'border-l-2 border-l-black' : '']"
|
||||
class="w-10 relative block py-2 text-center leading-tight bg-white border border-gray-300 text-black rounded hover:bg-gray-300 ml-1 mr-1">
|
||||
<g-link
|
||||
:to="page.link"
|
||||
class="page-link"
|
||||
:aria-label="page.name"
|
||||
:aria-current="page.name"
|
||||
>{{page.name}}</g-link>
|
||||
</li>
|
||||
|
||||
<li class="w-10 relative block py-2 text-center leading-tight bg-white border border-gray-300 text-black ml-1 rounded hover:bg-gray-300" v-if="!isLastPage(currentPage, totalPages)">
|
||||
<g-link :to="nextPage(currentPage,totalPages)" class="page-link" tabindex="-1" >»</g-link>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
baseUrl: String,
|
||||
currentPage: Number,
|
||||
totalPages: Number,
|
||||
maxVisibleButtons: {
|
||||
type: Number,
|
||||
required: false,
|
||||
default: 3
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
isFirstPage(currentPage, totalPages) {
|
||||
return currentPage == 1;
|
||||
},
|
||||
isLastPage(currentPage, totalPages) {
|
||||
return currentPage == totalPages;
|
||||
},
|
||||
isCurrentPage(currentPage, pageElement) {
|
||||
return currentPage == pageElement;
|
||||
},
|
||||
nextPage(currentPage, totalPages) {
|
||||
return `${this.baseUrl}/${currentPage + 1}`;
|
||||
},
|
||||
previousPage(currentPage, totalPages) {
|
||||
return currentPage === 2
|
||||
? `${this.baseUrl}/`
|
||||
: `${this.baseUrl}/${currentPage - 1}`;
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
startPage() {
|
||||
if (this.currentPage === 1) {
|
||||
return 1;
|
||||
}
|
||||
if (this.currentPage === this.totalPages) {
|
||||
return this.currentPage - 1;
|
||||
}
|
||||
return this.currentPage - 1;
|
||||
},
|
||||
pages() {
|
||||
const range = [];
|
||||
for (
|
||||
let i = this.startPage;
|
||||
i <=
|
||||
Math.min(this.startPage + this.maxVisibleButtons - 1, this.totalPages);
|
||||
i += 1
|
||||
) {
|
||||
range.push({
|
||||
name: i,
|
||||
isDisabled: i === this.currentPage,
|
||||
link: i === 1 ? `${this.baseUrl}/` : `${this.baseUrl}/${i}`
|
||||
});
|
||||
}
|
||||
return range;
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
62
src/components/PostListItem.vue
Normal file
@@ -0,0 +1,62 @@
|
||||
<template>
|
||||
<div class="flex flex-post px-0 sm:px-4 pb-8 mb-8" v-bind:class="{'no-border': !border}">
|
||||
<g-link :to="record.path" class="post-card-image-link">
|
||||
<g-image :src="record.image" :alt="record.title" class="post-card-image"></g-image>
|
||||
</g-link>
|
||||
<div class="post-card-content">
|
||||
<g-link :to="record.path">
|
||||
<p class="uppercase font-medium text-xs text-blue-700 mt-3">{{ record.category.title }}</p>
|
||||
<h2 class="post-card-title mt-0">
|
||||
{{ record.title }}
|
||||
</h2>
|
||||
<p class="post-card-excerpt">{{ record.excerpt }}</p>
|
||||
</g-link>
|
||||
<div class="w-full post-card-meta pt-4">
|
||||
<div class="avatars">
|
||||
<div class="flex items-center">
|
||||
<div class="flex justify-between items-center">
|
||||
<ul class="list-none flex author-list">
|
||||
<li v-for="author in record.author" :key="author.id" class="author-list-item">
|
||||
<g-link :to="author.path" v-tooltip="author.name">
|
||||
<g-image
|
||||
:src="author.image"
|
||||
:alt="author.name"
|
||||
class="w-8 h-8 rounded-full bg-gray-200 border-2 border-white"
|
||||
/>
|
||||
</g-link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="ml-3 pl-3 border-l flex flex-col text-xs leading-none uppercase">
|
||||
<p>
|
||||
<time :datetime="record.datetime" >{{ record.humanTime }}</time>
|
||||
</p>
|
||||
<time :datetime="record.datetime" >{{ record.startDate }}</time>
|
||||
{{ record.status }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
record: {},
|
||||
border: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
44
src/components/ThemeSwitcher.vue
Normal file
@@ -0,0 +1,44 @@
|
||||
<template>
|
||||
<a role="button" @click.prevent="toggleTheme()"
|
||||
:aria-label="'Toggle ' + nextTheme"
|
||||
:title="'Toggle ' + nextTheme"
|
||||
class="toggle-theme"
|
||||
>
|
||||
|
||||
<font-awesome :icon="['fas', 'sun']" class="mr-3" v-if="theme === 'dark'"></font-awesome>
|
||||
<font-awesome :icon="['fas', 'moon']" class="mr-3" v-if="theme === 'light'"></font-awesome>
|
||||
</a>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
let themes = ['light', 'dark']
|
||||
|
||||
export default {
|
||||
props: {
|
||||
theme: {
|
||||
type: String,
|
||||
},
|
||||
},
|
||||
|
||||
computed: {
|
||||
nextTheme() {
|
||||
const currentIndex = themes.indexOf(this.theme)
|
||||
const nextIndex = (currentIndex + 1) % themes.length
|
||||
return themes[nextIndex]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
toggleTheme() {
|
||||
const currentIndex = themes.indexOf(this.theme);
|
||||
const nextIndex = (currentIndex + 1) % themes.length;
|
||||
window.__setPreferredTheme(themes[nextIndex])
|
||||
|
||||
this.$emit('setTheme', themes[nextIndex])
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
// set default
|
||||
if (typeof window.__theme !== 'undefined') this.$emit('setTheme', window.__theme)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
27
src/components/VacationCard.vue
Normal file
@@ -0,0 +1,27 @@
|
||||
<template>
|
||||
<div>
|
||||
<img class="rounded" :src="img" :alt="imgAlt">
|
||||
<div class="mt-2">
|
||||
<div>
|
||||
<div class="text-xs text-gray-600 uppercase font-bold">{{ eyebrow }}</div>
|
||||
<div class="font-bold text-gray-700 leading-snug">
|
||||
<a :href="url" class="hover:underline">{{ title }}</a>
|
||||
</div>
|
||||
<div class="mt-2 text-sm text-gray-600">{{ pricing }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- TODO: how do I get markdown in here? -->
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: ['img', 'imgAlt', 'eyebrow', 'title', 'pricing', 'url']
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
BIN
src/favicon.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
47
src/index.html
Normal file
@@ -0,0 +1,47 @@
|
||||
<!DOCTYPE html>
|
||||
<html ${htmlAttrs}>
|
||||
<head>
|
||||
${head}
|
||||
</head>
|
||||
<body ${bodyAttrs}>
|
||||
|
||||
<script>
|
||||
// Add dark / light detection that runs before Vue.js load. Borrowed from overreacted.io
|
||||
// for this starter, i used the code from gridsome.org
|
||||
(function() {
|
||||
window.__onThemeChange = function() {};
|
||||
function setTheme(newTheme) {
|
||||
|
||||
window.__theme = newTheme;
|
||||
preferredTheme = newTheme;
|
||||
document.body.setAttribute('data-theme', newTheme);
|
||||
|
||||
window.__onThemeChange(newTheme);
|
||||
}
|
||||
|
||||
var preferredTheme;
|
||||
try {
|
||||
preferredTheme = localStorage.getItem('theme');
|
||||
} catch (err) { }
|
||||
|
||||
window.__setPreferredTheme = function(newTheme) {
|
||||
setTheme(newTheme);
|
||||
try {
|
||||
localStorage.setItem('theme', newTheme);
|
||||
} catch (err) {}
|
||||
}
|
||||
|
||||
var darkQuery = window.matchMedia('(prefers-color-scheme: dark)');
|
||||
|
||||
darkQuery.addListener(function(e) {
|
||||
window.__setPreferredTheme(e.matches ? 'dark' : 'light');
|
||||
});
|
||||
|
||||
setTheme(preferredTheme || (darkQuery.matches ? 'dark' : 'light'));
|
||||
})();
|
||||
</script>
|
||||
|
||||
${app}
|
||||
${scripts}
|
||||
</body>
|
||||
</html>
|
||||
56
src/layouts/Default.vue
Normal file
@@ -0,0 +1,56 @@
|
||||
<template>
|
||||
<div id="app" dark>
|
||||
<HeaderPartial v-if="hideHeader!=true" @setTheme="setTheme" :theme="this.theme"></HeaderPartial>
|
||||
<slot/>
|
||||
<NavbarPartial :disableScroll="disableScroll" @setTheme="setTheme" :theme="this.theme"></NavbarPartial>
|
||||
<FooterPartial></FooterPartial>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<static-query>
|
||||
query {
|
||||
metadata {
|
||||
siteName
|
||||
}
|
||||
}
|
||||
</static-query>
|
||||
|
||||
<script>
|
||||
import HeaderPartial from '~/layouts/partials/HeaderWithNavbar.vue'
|
||||
import NavbarPartial from '~/layouts/partials/Navbar.vue'
|
||||
import FooterPartial from '~/layouts/partials/Footer.vue'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
hideHeader: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
disableScroll: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data: function() {
|
||||
return {
|
||||
theme: 'light'
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
setTheme(mode) {
|
||||
this.theme = mode
|
||||
}
|
||||
},
|
||||
components: {
|
||||
HeaderPartial,
|
||||
NavbarPartial,
|
||||
FooterPartial
|
||||
},
|
||||
|
||||
metaInfo: {
|
||||
bodyAttrs: {
|
||||
class: "m-0"
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
47
src/layouts/partials/Footer.vue
Normal file
@@ -0,0 +1,47 @@
|
||||
<template>
|
||||
<nav class="relative bg-black pt-4 pb-16 text-sm text-gray-500">
|
||||
<div class="container mx-auto flex flex-wrap justify-between h-12 items-center">
|
||||
<div class="w-full md:w-1/2 text-center md:text-left">
|
||||
Copyright {{ currentYear }} by {{ $static.metadata.siteName }}
|
||||
| Design by <a href="https://ghost.org" target="_blank" class="hover:text-white">Ghost</a>
|
||||
</div>
|
||||
<div class="w-full md:w-1/2">
|
||||
<ul class="list-none flex justify-center md:justify-end">
|
||||
|
||||
<li
|
||||
:key="element.name"
|
||||
v-for="(element,index) in $static.metadata.navigation"
|
||||
class="hover:text-white"
|
||||
v-bind:class="{'mr-6' : index != Object.keys($static.metadata.navigation).length - 1}"
|
||||
>
|
||||
<a :href="element.link" v-if="element.external" target="_blank" rel="noopener noreferrer">{{ element.name }}</a>
|
||||
<g-link v-else :to="element.link" >{{element.name}}</g-link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</template>
|
||||
|
||||
<static-query>
|
||||
query {
|
||||
metadata {
|
||||
siteName
|
||||
navigation : footerNavigation {
|
||||
name
|
||||
link
|
||||
external
|
||||
}
|
||||
}
|
||||
}
|
||||
</static-query>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
computed: {
|
||||
currentYear() {
|
||||
return new Date().getFullYear();
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
92
src/layouts/partials/HeaderWithNavbar.vue
Normal file
@@ -0,0 +1,92 @@
|
||||
<template>
|
||||
<header class="bg-black relative z-1000 bg-radial-t-gray-to-black" id="header">
|
||||
<nav class="flex items-center justify-between flex-wrap container mx-auto px-4 sm:px-0 py-4">
|
||||
<div class="block flex-grow flex items-center w-auto height-30px">
|
||||
<div class="text-sm flex-grow uppercase">
|
||||
<ul class="list-none flex justify-left text-gray-300 uppercase">
|
||||
<li
|
||||
:key="element.name"
|
||||
v-for="(element,index) in $static.metadata.navigation"
|
||||
class="hover:text-white"
|
||||
v-bind:class="{'mr-4' : index != Object.keys($static.metadata.navigation).length - 1}"
|
||||
>
|
||||
<a
|
||||
:href="element.link"
|
||||
v-if="element.external"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="animated-link"
|
||||
>{{ element.name }}</a>
|
||||
<g-link v-else :to="element.link" class="animated-link">{{element.name}}</g-link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="inline-block text-gray-400">
|
||||
<ul class="list-none flex justify-center md:justify-end">
|
||||
<li class="mr-0 sm:mr-6">
|
||||
<theme-switcher v-on="$listeners" :theme="theme"/>
|
||||
</li>
|
||||
<li
|
||||
:key="element.name"
|
||||
v-for="(element,index) in $static.metadata.social"
|
||||
class="hover:text-white hidden sm:block"
|
||||
v-bind:class="{'mr-6' : index != Object.keys($static.metadata.social).length - 1}"
|
||||
>
|
||||
<span class="text-sm">
|
||||
<a :href="element.link" target="_blank" rel="noopener noreferrer">
|
||||
<font-awesome :icon="['fab', element.icon]" />
|
||||
</a>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="logo pt-0 pb-16 md:pb-32 md:pt-16 container mx-auto text-center text-white">
|
||||
<h2 class="m-0">
|
||||
<span class="text-4xl">
|
||||
<font-awesome :icon="['fas', 'ghost']" class="mb-1 mr-3"></font-awesome>
|
||||
</span>
|
||||
<span class="text-5xl text-white">{{ $static.metadata.siteName }}</span>
|
||||
</h2>
|
||||
<div class="text-gray-400 font-thin text-xl">{{ $static.metadata.siteDescription }}</div>
|
||||
</div>
|
||||
</header>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import ThemeSwitcher from '~/components/ThemeSwitcher'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
theme: {
|
||||
type: String,
|
||||
},
|
||||
},
|
||||
components : {
|
||||
ThemeSwitcher
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<static-query>
|
||||
query {
|
||||
metadata {
|
||||
siteName
|
||||
siteDescription
|
||||
navigation : headerNavigation {
|
||||
name
|
||||
link
|
||||
external
|
||||
}
|
||||
social {
|
||||
icon
|
||||
link
|
||||
}
|
||||
}
|
||||
}
|
||||
</static-query>
|
||||
126
src/layouts/partials/Navbar.vue
Normal file
@@ -0,0 +1,126 @@
|
||||
<template>
|
||||
<div class="fixed inset-0 h-16 bg-black">
|
||||
<nav
|
||||
class="flex items-center justify-between flex-wrap container mx-auto px-4 sm:px-0 py-4 transition-all transition-500"
|
||||
v-bind:class="{
|
||||
'opacity-100': !disableScroll && scrollPosition > headerHeight,
|
||||
'opacity-0': !disableScroll && scrollPosition < headerHeight
|
||||
}">
|
||||
<div class="block flex-grow flex items-center w-auto">
|
||||
<div class="flex items-center flex-shrink-0 text-white mr-6">
|
||||
<font-awesome :icon="['fas', 'ghost']" class="mr-3"></font-awesome>
|
||||
<span class="font-semibold text-xl tracking-tight">{{ $static.metadata.siteName }}</span>
|
||||
</div>
|
||||
<div class="text-sm flex-grow uppercase">
|
||||
<ul
|
||||
class="list-none flex justify-left text-gray-300 uppercase transition-all transition-500">
|
||||
<li
|
||||
:key="element.name"
|
||||
v-for="(element,index) in $static.metadata.navigation"
|
||||
class="hover:text-white"
|
||||
v-bind:class="{'mr-4' : index != Object.keys($static.metadata.navigation).length - 1}"
|
||||
>
|
||||
<a
|
||||
:href="element.link"
|
||||
v-if="element.external"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="animated-link"
|
||||
>{{ element.name }}</a>
|
||||
<g-link v-else :to="element.link" class="animated-link">{{element.name}}</g-link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="inline-block text-gray-400">
|
||||
<ul class="list-none flex justify-center md:justify-end">
|
||||
<li class="mr-0 sm:mr-6">
|
||||
<theme-switcher v-on="$listeners" :theme="theme"/>
|
||||
</li>
|
||||
<li
|
||||
:key="element.name"
|
||||
v-for="(element,index) in $static.metadata.social"
|
||||
class="hover:text-white hidden sm:block"
|
||||
v-bind:class="{'mr-6' : index != Object.keys($static.metadata.social).length - 1}"
|
||||
>
|
||||
<span class="text-sm">
|
||||
<a :href="element.link" target="_blank" rel="noopener noreferrer">
|
||||
<font-awesome :icon="['fab', element.icon]" />
|
||||
</a>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
/*
|
||||
* I'm a lazy guy, so i used this script
|
||||
* https://codepen.io/ninaregli/pen/OjeMLP
|
||||
* to calculate the current scroll position
|
||||
*
|
||||
* Will be used to add/remove the additional
|
||||
* css classes to show the sticky navbar
|
||||
*/
|
||||
|
||||
import ThemeSwitcher from '~/components/ThemeSwitcher'
|
||||
|
||||
export default {
|
||||
components : {
|
||||
ThemeSwitcher
|
||||
},
|
||||
props: {
|
||||
disableScroll: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
theme: {
|
||||
type: String
|
||||
}
|
||||
},
|
||||
data: function() {
|
||||
return {
|
||||
scrollPosition: null,
|
||||
headerHeight: 0
|
||||
};
|
||||
},
|
||||
|
||||
methods: {
|
||||
updateScroll() {
|
||||
this.scrollPosition = window.scrollY;
|
||||
},
|
||||
setHeaderHeight(height) {
|
||||
this.headerHeight = height;
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
if( !this.disableScroll ) {
|
||||
var height = document.getElementById("header").clientHeight;
|
||||
this.setHeaderHeight(height);
|
||||
window.addEventListener("scroll", this.updateScroll);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<static-query>
|
||||
query {
|
||||
metadata {
|
||||
siteName
|
||||
navigation : headerNavigation {
|
||||
name
|
||||
link
|
||||
external
|
||||
}
|
||||
social {
|
||||
icon
|
||||
link
|
||||
}
|
||||
}
|
||||
}
|
||||
</static-query>
|
||||
29
src/main.js
Normal file
@@ -0,0 +1,29 @@
|
||||
import DefaultLayout from '~/layouts/Default.vue'
|
||||
import VTooltip from 'v-tooltip'
|
||||
|
||||
import '~/assets/scss/main.scss';
|
||||
|
||||
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';
|
||||
import { config, library } from '@fortawesome/fontawesome-svg-core';
|
||||
import { fas } from '@fortawesome/free-solid-svg-icons';
|
||||
import { fab } from '@fortawesome/free-brands-svg-icons'
|
||||
|
||||
import '@fortawesome/fontawesome-svg-core/styles.css';
|
||||
|
||||
import VacationCard from "~/components/VacationCard.vue";
|
||||
|
||||
config.autoAddCss = false;
|
||||
library.add(fas);
|
||||
library.add(fab);
|
||||
|
||||
export default function (Vue, {router, head, isClient}) {
|
||||
Vue.component('Layout', DefaultLayout)
|
||||
Vue.component('VacationCard', VacationCard)
|
||||
|
||||
Vue.component('font-awesome', FontAwesomeIcon)
|
||||
|
||||
Vue.use(VTooltip, {
|
||||
defaultPlacement: 'top-end',
|
||||
defaultClass: 'bg-black text-xs px-2 leading-normal py-1 rounded absolute text-gray-400 max-w-xs mb-1'
|
||||
})
|
||||
}
|
||||
33
src/pages/About.vue
Normal file
@@ -0,0 +1,33 @@
|
||||
<template>
|
||||
<Layout :hideHeader="false" :disableScroll="true">
|
||||
|
||||
<div class="container sm:pxi-0 mx-auto overflow-x-hidden">
|
||||
|
||||
<VacationCard
|
||||
img="/img/garden.jpg"
|
||||
imgAlt="Beach in Cancun"
|
||||
eyebrow="Private Villa"
|
||||
title="
|
||||
- Relaxing All-Inclusive Resort in Cancun
|
||||
- Test
|
||||
"
|
||||
pricing="$299 USD per night"
|
||||
url="/vacations/cancun"
|
||||
/>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</Layout>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
metaInfo: {
|
||||
title: "About us"
|
||||
}
|
||||
};
|
||||
</script>
|
||||
62
src/pages/Index.vue
Normal file
@@ -0,0 +1,62 @@
|
||||
<template>
|
||||
<Layout>
|
||||
<div class="container sm:pxi-0 mx-auto overflow-x-hidden">
|
||||
<div class="flex flex-wrap with-large 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($page:Int) {
|
||||
|
||||
entries: allBlog(perPage: 9, page: $page) @paginate {
|
||||
totalCount
|
||||
pageInfo {
|
||||
totalPages
|
||||
currentPage
|
||||
}
|
||||
edges {
|
||||
node {
|
||||
name
|
||||
title
|
||||
team
|
||||
rank
|
||||
excerpt
|
||||
image(width:800)
|
||||
path
|
||||
timeToRead
|
||||
humanTime : created(format:"DD MMM YYYY")
|
||||
datetime : created
|
||||
category {
|
||||
id
|
||||
title
|
||||
}
|
||||
author {
|
||||
id
|
||||
name
|
||||
image(width:64, height:64, fit:inside)
|
||||
path
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</page-query>
|
||||
|
||||
<script>
|
||||
|
||||
import PostListItem from '~/components/PostListItem.vue';
|
||||
|
||||
export default {
|
||||
metaInfo: {
|
||||
title: "Hello, world!"
|
||||
},
|
||||
components: {
|
||||
PostListItem
|
||||
}
|
||||
};
|
||||
</script>
|
||||
143
src/templates/Author.vue
Normal file
@@ -0,0 +1,143 @@
|
||||
<template>
|
||||
<Layout :hideHeader="true" :disableScroll="true">
|
||||
<div class="container sm:pxi-0 mx-auto overflow-x-hidden pt-24">
|
||||
<div class="flex flex-row flex-wrap items-center mx-4 sm:mx-0">
|
||||
<div class="w-full md:w-1/6 mx-auto sm:mx-0">
|
||||
<g-image
|
||||
:src="$page.author.image"
|
||||
class="rounded-full bg-gray-200 w-32 h-32 border-4 border-gray-400 mx-auto md:mx-0"
|
||||
></g-image>
|
||||
</div>
|
||||
<div class="w-full md:w-5/6 text-center md:text-left md:pl-8 lg:pl-0">
|
||||
<h1 class="pb-0 mb-0 mt-0 text-4xl font-medium">{{ $page.author.name }}</h1>
|
||||
<p class="text-gray-700 text-xl" v-if="$page.author.bio">{{ $page.author.bio }}</p>
|
||||
<div class="author-social">
|
||||
{{ $page.author.belongsTo.totalCount }} Projects
|
||||
·
|
||||
<!-- <a
|
||||
:href="$page.author.facebook"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="text-gray-400 hover:text-black"
|
||||
>
|
||||
<font-awesome :icon="['fab', 'facebook']" />
|
||||
</a>
|
||||
|
||||
<a
|
||||
:href="$page.author.twitter"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="text-gray-400 hover:text-black"
|
||||
>
|
||||
<font-awesome :icon="['fab', 'twitter']" />
|
||||
</a>
|
||||
-->
|
||||
<a
|
||||
:href="$page.author.linkedin"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="text-gray-400 hover:text-black"
|
||||
>
|
||||
<font-awesome :icon="['fab', 'linkedin']" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pt-8 border-b mx-4 sm:-mx-4"></div>
|
||||
|
||||
<section class="post-content container mx-auto relative font-serif text-gray-700">
|
||||
<div class="post-content-text text-xl" v-html="$page.author.content"></div>
|
||||
</section>
|
||||
|
||||
|
||||
<div class="pt-8 border-b mx-4 sm:-mx-4"></div>
|
||||
|
||||
<div class="flex flex-wrap pt-8 pb-8 mx-4 sm:-mx-4">
|
||||
<PostListItem
|
||||
v-for="edge in $page.author.belongsTo.edges"
|
||||
:key="edge.node.id"
|
||||
:record="edge.node"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="pagination flex justify-center mb-8">
|
||||
<Pagination
|
||||
:baseUrl="$page.author.path"
|
||||
:currentPage="$page.author.belongsTo.pageInfo.currentPage"
|
||||
:totalPages="$page.author.belongsTo.pageInfo.totalPages"
|
||||
:maxVisibleButtons="5"
|
||||
v-if="$page.author.belongsTo.pageInfo.totalPages > 1"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</Layout>
|
||||
</template>
|
||||
|
||||
<page-query>
|
||||
query($id: ID!, $page:Int) {
|
||||
author(id: $id) {
|
||||
name
|
||||
path
|
||||
bio
|
||||
image(width:150, height:150)
|
||||
facebook
|
||||
twitter
|
||||
linkedin
|
||||
content
|
||||
belongsTo(perPage: 5, page: $page) @paginate {
|
||||
totalCount
|
||||
pageInfo {
|
||||
totalPages
|
||||
currentPage
|
||||
}
|
||||
edges {
|
||||
node {
|
||||
... on Blog {
|
||||
title
|
||||
excerpt
|
||||
image(width:800)
|
||||
path
|
||||
timeToRead
|
||||
humanTime : created(format:"DD MMM YYYY")
|
||||
datetime : created
|
||||
category {
|
||||
id
|
||||
title
|
||||
}
|
||||
author {
|
||||
id
|
||||
name
|
||||
image(width:64, height:64, fit:inside)
|
||||
path
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</page-query>
|
||||
|
||||
<script>
|
||||
import PostListItem from "~/components/PostListItem.vue";
|
||||
import Pagination from "~/components/Pagination.vue";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
Pagination,
|
||||
PostListItem
|
||||
},
|
||||
computed: {
|
||||
postLabel: function() {
|
||||
var pluralize = require("pluralize");
|
||||
return pluralize("post", this.$page.author.belongsTo.totalCount);
|
||||
}
|
||||
},
|
||||
metaInfo() {
|
||||
return {
|
||||
title: this.$page.author.name
|
||||
};
|
||||
}
|
||||
};
|
||||
</script>
|
||||
189
src/templates/BlogPost.vue
Normal file
@@ -0,0 +1,189 @@
|
||||
<template>
|
||||
<Layout :hideHeader="true" :disableScroll="true">
|
||||
<div class="container sm:pxi-0 mx-auto overflow-x-hidden pt-20">
|
||||
<div class="lg:mx-32 md:mx-16 sm:mx-8 mx-4 pt-8">
|
||||
<section class="post-header container mx-auto px-0 mb-4 border-b">
|
||||
<span class="text-blue-500 font-medium uppercase tracking-wide text-sm">
|
||||
<g-link
|
||||
:to="$page.blog.category.path"
|
||||
class="hover:underline"
|
||||
>{{ $page.blog.category.title }}</g-link>
|
||||
</span>
|
||||
<h1 class="text-5xl font-medium leading-none mt-0">{{ $page.blog.title}}</h1>
|
||||
|
||||
<div class="text-2xl pt-4 pb-10 text-gray-700 font-serif" v-html="$page.blog.excerpt"></div>
|
||||
</section>
|
||||
<section class="post-author-list mb-10 mx-0">
|
||||
<div class="flex items-center">
|
||||
<div class="flex justify-between items-center">
|
||||
<ul class="list-none flex author-list">
|
||||
<li v-for="author in $page.blog.author" :key="author.id" class="author-list-item">
|
||||
<g-link :to="author.path" v-tooltip="author.name">
|
||||
<g-image
|
||||
:src="author.image"
|
||||
:alt="author.name"
|
||||
class="h-8 w-8 sm:h-10 sm:w-10 rounded-full bg-gray-200 border-2 border-white"
|
||||
/>
|
||||
</g-link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="pl-3 flex flex-col text-xs leading-none uppercase">
|
||||
<p>
|
||||
<span v-for="(author, index) in $page.blog.author" :key="author.id">
|
||||
<g-link
|
||||
:to="author.path"
|
||||
v-tooltip="author.name"
|
||||
class="hover:underline"
|
||||
>{{ author.name }}</g-link>
|
||||
<span v-if="index < $page.blog.author.length-1">,</span>
|
||||
</span>
|
||||
</p>
|
||||
<p class="text-gray-700">
|
||||
<time :datetime="$page.blog.datetime">{{ $page.blog.humanTime }}</time>
|
||||
<!-- · {{ $page.blog.timeToRead }} min read -->
|
||||
·
|
||||
<time :datetime="$page.blog.datetime" >{{ $page.blog.startDate }}</time>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<section class="post-image mx-auto w-full">
|
||||
<g-image :src="$page.blog.image"></g-image>
|
||||
</section>
|
||||
|
||||
<div class="lg:mx-32 md:mx-16 px-4 sm:px-0">
|
||||
<section class="post-content container mx-auto relative font-serif text-gray-700">
|
||||
<div class="post-content-text text-xl" v-html="$page.blog.content"></div>
|
||||
</section>
|
||||
|
||||
<section class="post-tags container mx-auto relative py-10">
|
||||
<g-link
|
||||
v-for="tag in $page.blog.tags"
|
||||
:key="tag.id"
|
||||
:to="tag.path"
|
||||
class="text-xs bg-transparent hover:text-blue-700 py-2 px-4 mr-2 border hover:border-blue-500 border-gray-600 text-gray-700 rounded-full"
|
||||
>{{ tag.title }}</g-link>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<section class="post-related bg-black text-gray-200 pt-10 border-b border-b-gray-900">
|
||||
<div class="container mx-auto">
|
||||
<div class="flex flex-wrap pt-8 pb-8 mx-4 sm:-mx-4">
|
||||
<PostListItem v-if="$page.previous" :record="$page.previous" :border=false></PostListItem>
|
||||
<PostListItem v-if="$page.next" :record="$page.next" :border=false></PostListItem>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</Layout>
|
||||
</template>
|
||||
|
||||
<page-query>
|
||||
query($id: ID!, $previousElement: ID!, $nextElement: ID!) {
|
||||
blog(id: $id) {
|
||||
title
|
||||
name
|
||||
rank
|
||||
path
|
||||
startDate : startdate(format:"MM YYYY")
|
||||
image(width:1600, height:800)
|
||||
image_caption
|
||||
excerpt
|
||||
content
|
||||
humanTime : created(format:"DD MMMM YYYY")
|
||||
datetime : created(format:"ddd MMM DD YYYY hh:mm:ss zZ")
|
||||
timeToRead
|
||||
tags {
|
||||
id
|
||||
title
|
||||
path
|
||||
}
|
||||
category {
|
||||
id
|
||||
title
|
||||
path
|
||||
belongsTo(limit:4) {
|
||||
totalCount
|
||||
edges {
|
||||
node {
|
||||
... on Blog {
|
||||
title
|
||||
path
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
author {
|
||||
id
|
||||
name
|
||||
image
|
||||
path
|
||||
}
|
||||
tags {
|
||||
id
|
||||
title
|
||||
path
|
||||
}
|
||||
}
|
||||
|
||||
previous: blog(id: $previousElement) {
|
||||
title
|
||||
excerpt
|
||||
image(width:800)
|
||||
path
|
||||
timeToRead
|
||||
category {
|
||||
id
|
||||
title
|
||||
}
|
||||
author {
|
||||
id
|
||||
name
|
||||
image(width:64, height:64, fit:inside)
|
||||
path
|
||||
}
|
||||
}
|
||||
|
||||
next: blog(id: $nextElement) {
|
||||
title
|
||||
excerpt
|
||||
image(width:800)
|
||||
path
|
||||
timeToRead
|
||||
category {
|
||||
id
|
||||
title
|
||||
}
|
||||
author {
|
||||
id
|
||||
name
|
||||
image(width:64, height:64, fit:inside)
|
||||
path
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
</page-query>
|
||||
|
||||
<script>
|
||||
import PostListItem from "~/components/PostListItem.vue";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
PostListItem
|
||||
},
|
||||
metaInfo() {
|
||||
return {
|
||||
title: this.$page.blog.title
|
||||
};
|
||||
}
|
||||
|
||||
};
|
||||
</script>
|
||||
100
src/templates/Category.vue
Normal file
@@ -0,0 +1,100 @@
|
||||
<template>
|
||||
<Layout :hideHeader="true" :disableScroll="true">
|
||||
<div class="container sm:pxi-0 mx-auto overflow-x-hidden pt-24">
|
||||
<div class="mx-4 sm:mx-0">
|
||||
<h1 class="pb-0 mb-0 text-5xl font-medium">{{ $page.category.title }}</h1>
|
||||
<p class="text-gray-700 text-xl">
|
||||
A collection of
|
||||
<span
|
||||
class="self-center"
|
||||
>{{ $page.category.belongsTo.totalCount }} {{ postLabel }}</span>
|
||||
</p>
|
||||
|
||||
<div class="pt-8 border-b"></div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap pt-8 pb-8 mx-4 sm:-mx-4">
|
||||
<PostListItem
|
||||
v-for="edge in $page.category.belongsTo.edges"
|
||||
:key="edge.node.id"
|
||||
:record="edge.node"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="pagination flex justify-center mb-8">
|
||||
<Pagination
|
||||
:baseUrl="$page.category.path"
|
||||
:currentPage="$page.category.belongsTo.pageInfo.currentPage"
|
||||
:totalPages="$page.category.belongsTo.pageInfo.totalPages"
|
||||
:maxVisibleButtons="5"
|
||||
v-if="$page.category.belongsTo.pageInfo.totalPages > 1"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</Layout>
|
||||
</template>
|
||||
|
||||
<page-query>
|
||||
query($id: ID!, $page:Int) {
|
||||
category(id: $id) {
|
||||
title
|
||||
path
|
||||
belongsTo(perPage: 12, page: $page) @paginate {
|
||||
totalCount
|
||||
pageInfo {
|
||||
totalPages
|
||||
currentPage
|
||||
}
|
||||
edges {
|
||||
node {
|
||||
... on Blog {
|
||||
title
|
||||
name
|
||||
status
|
||||
excerpt
|
||||
image(width:800)
|
||||
path
|
||||
timeToRead
|
||||
startDate : startdate(format:"MM YYYY")
|
||||
humanTime : created(format:"DD MMM YYYY")
|
||||
datetime : created
|
||||
category {
|
||||
id
|
||||
title
|
||||
}
|
||||
author {
|
||||
id
|
||||
name
|
||||
image(width:64, height:64, fit:inside)
|
||||
path
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</page-query>
|
||||
|
||||
<script>
|
||||
import PostListItem from "~/components/PostListItem.vue";
|
||||
import Pagination from "~/components/Pagination.vue";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
Pagination,
|
||||
PostListItem
|
||||
},
|
||||
computed: {
|
||||
postLabel: function() {
|
||||
var pluralize = require("pluralize");
|
||||
return pluralize("post", this.$page.category.belongsTo.totalCount);
|
||||
}
|
||||
},
|
||||
metaInfo() {
|
||||
return {
|
||||
title: this.$page.category.title
|
||||
};
|
||||
}
|
||||
};
|
||||
</script>
|
||||
97
src/templates/Tag.vue
Normal file
@@ -0,0 +1,97 @@
|
||||
<template>
|
||||
<Layout :hideHeader="true" :disableScroll="true">
|
||||
<div class="container sm:pxi-0 mx-auto overflow-x-hidden pt-24">
|
||||
<div class="mx-4 sm:mx-0">
|
||||
<h1 class="pb-0 mb-0 text-5xl font-medium">{{ $page.tag.title }}</h1>
|
||||
<p class="text-gray-700 text-xl">
|
||||
A collection of
|
||||
<span
|
||||
class="self-center"
|
||||
>{{ $page.tag.belongsTo.totalCount }} {{ postLabel }}</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="pt-8 border-b"></div>
|
||||
|
||||
<div class="flex flex-wrap pt-8 pb-8 mx-4 sm:-mx-4">
|
||||
<PostListItem
|
||||
v-for="edge in $page.tag.belongsTo.edges"
|
||||
:key="edge.node.id"
|
||||
:record="edge.node"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="pagination flex justify-center mb-8">
|
||||
<Pagination
|
||||
:baseUrl="$page.tag.path"
|
||||
:currentPage="$page.tag.belongsTo.pageInfo.currentPage"
|
||||
:totalPages="$page.tag.belongsTo.pageInfo.totalPages"
|
||||
:maxVisibleButtons="5"
|
||||
v-if="$page.tag.belongsTo.pageInfo.totalPages > 1"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</Layout>
|
||||
</template>
|
||||
|
||||
<page-query>
|
||||
query($id: ID!, $page:Int) {
|
||||
tag(id: $id) {
|
||||
title
|
||||
path
|
||||
belongsTo(perPage: 5, page: $page) @paginate {
|
||||
totalCount
|
||||
pageInfo {
|
||||
totalPages
|
||||
currentPage
|
||||
}
|
||||
edges {
|
||||
node {
|
||||
... on Blog {
|
||||
title
|
||||
excerpt
|
||||
image(width:800)
|
||||
path
|
||||
timeToRead
|
||||
humanTime : created(format:"DD MMM YYYY")
|
||||
datetime : created
|
||||
category {
|
||||
id
|
||||
title
|
||||
}
|
||||
author {
|
||||
id
|
||||
name
|
||||
image(width:64, height:64, fit:inside)
|
||||
path
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</page-query>
|
||||
|
||||
<script>
|
||||
import PostListItem from "~/components/PostListItem.vue";
|
||||
import Pagination from "~/components/Pagination.vue";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
Pagination,
|
||||
PostListItem
|
||||
},
|
||||
computed: {
|
||||
postLabel: function() {
|
||||
var pluralize = require("pluralize");
|
||||
return pluralize("post", this.$page.tag.belongsTo.totalCount);
|
||||
}
|
||||
},
|
||||
metaInfo() {
|
||||
return {
|
||||
title: this.$page.tag.title
|
||||
};
|
||||
}
|
||||
};
|
||||
</script>
|
||||
3
static/README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
Add static files here. Files in this directory will be copied directly to `dist` folder during build. For example, /static/robots.txt will be located at https://yoursite.com/robots.txt.
|
||||
|
||||
This file should be deleted.
|
||||
BIN
static/img/garden.jpg
Normal file
|
After Width: | Height: | Size: 3.1 MiB |
165
tailwind.config.js
Normal file
@@ -0,0 +1,165 @@
|
||||
//tailwind border color plugin powered by
|
||||
//https://github.com/tailwindcss/tailwindcss/pull/560#issuecomment-503222143
|
||||
var _ = require('lodash')
|
||||
var flattenColorPalette = require('tailwindcss/lib/util/flattenColorPalette').default
|
||||
|
||||
|
||||
module.exports = {
|
||||
purge: ["./src/**/*.html", "./src/**/*.vue", "./src/**/*.jsx"],
|
||||
theme: {
|
||||
borderWidth: {
|
||||
default: '1px',
|
||||
'0': '0',
|
||||
'2': '2px',
|
||||
'3': '3px',
|
||||
'4': '4px',
|
||||
'6': '6px',
|
||||
'8': '8px'
|
||||
},
|
||||
flex: {
|
||||
'1': '1 1 0%',
|
||||
auto: '1 1 auto',
|
||||
initial: '0 1 auto',
|
||||
none: 'none',
|
||||
'post': '1 1 300px',
|
||||
'100': '1 1 100%',
|
||||
'post-large-content': '0 1 361px',
|
||||
},
|
||||
zIndex: {
|
||||
'-10': '-10',
|
||||
'0': 0,
|
||||
'10': 10,
|
||||
'20': 20,
|
||||
'30': 30,
|
||||
'40': 40,
|
||||
'50': 50,
|
||||
'25': 25,
|
||||
'50': 50,
|
||||
'75': 75,
|
||||
'100': 100,
|
||||
'1000': 1000,
|
||||
'auto': 'auto',
|
||||
},
|
||||
corePlugins: {
|
||||
container: false
|
||||
},
|
||||
extend: {},
|
||||
radialGradients: {
|
||||
shapes: { // defaults to this value
|
||||
'default': 'ellipse',
|
||||
},
|
||||
sizes: { // defaults to this value
|
||||
'default': '',
|
||||
},
|
||||
positions: { // defaults to these values
|
||||
'default': 'center',
|
||||
't': 'top'
|
||||
},
|
||||
colors: { // defaults to {}
|
||||
'gray-to-black': ['rgba(25, 25, 25, 1)', 'rgba(8, 8, 8, 1)', 'rgba(0, 0, 0, 1)']
|
||||
},
|
||||
},
|
||||
},
|
||||
variants: {},
|
||||
plugins: [
|
||||
function ({
|
||||
addComponents
|
||||
}) {
|
||||
addComponents({
|
||||
'.container': {
|
||||
maxWidth: '100%',
|
||||
'@screen sm': {
|
||||
maxWidth: '640px',
|
||||
},
|
||||
'@screen md': {
|
||||
maxWidth: '768px',
|
||||
},
|
||||
'@screen lg': {
|
||||
maxWidth: '1024px',
|
||||
},
|
||||
'@screen xl': {
|
||||
maxWidth: '1040px',
|
||||
},
|
||||
}
|
||||
})
|
||||
},
|
||||
function ({
|
||||
addUtilities,
|
||||
e,
|
||||
theme,
|
||||
variants
|
||||
}) {
|
||||
const colors = flattenColorPalette(theme('borderColor'))
|
||||
|
||||
const utilities = _.flatMap(_.omit(colors, 'default'), (value, modifier) => ({
|
||||
|
||||
[`.${e(`border-t-${modifier}`)}`]: {
|
||||
borderTopColor: `${value}`
|
||||
},
|
||||
[`.${e(`border-r-${modifier}`)}`]: {
|
||||
borderRightColor: `${value}`
|
||||
},
|
||||
[`.${e(`border-b-${modifier}`)}`]: {
|
||||
borderBottomColor: `${value}`
|
||||
},
|
||||
[`.${e(`border-l-${modifier}`)}`]: {
|
||||
borderLeftColor: `${value}`
|
||||
},
|
||||
}))
|
||||
|
||||
addUtilities(utilities, variants('borderColor'))
|
||||
},
|
||||
function ({
|
||||
addBase,
|
||||
config
|
||||
}) {
|
||||
|
||||
addBase({
|
||||
'h1': {
|
||||
fontSize: config('theme.fontSize.5xl'),
|
||||
fontWeight: config('theme.fontWeight.bold'),
|
||||
fontFamily: config('theme.fontFamily.sans').join(', '),
|
||||
marginTop: config('theme.margin.4'),
|
||||
marginBottom: config('theme.margin.4')
|
||||
},
|
||||
'h2': {
|
||||
fontSize: config('theme.fontSize.4xl'),
|
||||
fontWeight: config('theme.fontWeight.bold'),
|
||||
fontFamily: config('theme.fontFamily.sans').join(', '),
|
||||
marginTop: config('theme.margin.4'),
|
||||
marginBottom: config('theme.margin.4')
|
||||
},
|
||||
'h3': {
|
||||
fontSize: config('theme.fontSize.3xl'),
|
||||
fontWeight: config('theme.fontWeight.bold'),
|
||||
fontFamily: config('theme.fontFamily.sans').join(', '),
|
||||
marginTop: config('theme.margin.4'),
|
||||
marginBottom: config('theme.margin.4')
|
||||
},
|
||||
'h4': {
|
||||
fontSize: config('theme.fontSize.2xl'),
|
||||
fontWeight: config('theme.fontWeight.bold'),
|
||||
fontFamily: config('theme.fontFamily.sans').join(', '),
|
||||
marginTop: config('theme.margin.4'),
|
||||
marginBottom: config('theme.margin.4')
|
||||
},
|
||||
'h5': {
|
||||
fontSize: config('theme.fontSize.xl'),
|
||||
fontWeight: config('theme.fontWeight.bold'),
|
||||
fontFamily: config('theme.fontFamily.sans').join(', '),
|
||||
marginTop: config('theme.margin.4'),
|
||||
marginBottom: config('theme.margin.4')
|
||||
},
|
||||
'h6': {
|
||||
fontSize: config('theme.fontSize.lg'),
|
||||
fontWeight: config('theme.fontWeight.bold'),
|
||||
fontFamily: config('theme.fontFamily.sans').join(', '),
|
||||
marginTop: config('theme.margin.4'),
|
||||
marginBottom: config('theme.margin.4')
|
||||
},
|
||||
})
|
||||
},
|
||||
require('tailwindcss-tables')(),
|
||||
require('tailwindcss-gradients')
|
||||
]
|
||||
}
|
||||