48
archive/partners/btc_alpha/index.md
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
id: btc_alpha
|
||||
title: BTC-Alpha
|
||||
description: BTC-Alpha is a digital asset trading platform providing advanced financial services to traders worldwide since 2016.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: [blockchain]
|
||||
data: 2020-04-20
|
||||
extra:
|
||||
countries: []
|
||||
cities: []
|
||||
rank: 5
|
||||
imgPath: images/btc_alpha.png
|
||||
image_caption: btc_alpha
|
||||
partner_logo: images/btc_alphaLogo.png
|
||||
members: []
|
||||
websites: https://btc-alpha.com/en/
|
||||
private: 0
|
||||
linkedin: ''
|
||||
---
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
||||
## About
|
||||
|
||||
BTC-Alpha is a digital asset trading platform providing advanced financial services to traders worldwide since 2016. Our platform is a reliable, secure and stable environment for crypto trading with low commission fee and 24/7 customer support.
|
||||
<br/>
|
||||
<br/>
|
||||
Our team is focused on providing the best customer experience and ceaseless product improving and developing. There are 98 coins and 188 currency pairs presented on the BTC-Alpha.
|
||||
<br/>
|
||||
<br/>
|
||||
BTC-Alpha is one of the top world secure crypto exchange.
|
||||
According to latest General Exchange Security Rating, provided by ICOrating, BTC-Alpha was ranked #14 out of 221 studied crypto exchanges with “A” rating.
|
||||
|
||||
## BTC-Alpha and ThreeFold
|
||||
|
||||
The ThreeFold Token (TFT) is listed [on BTC-Alpha](https://btc-alpha.com/en/coin/TFT).
|
||||
|
||||
<!-- ## Support this project
|
||||
|
||||
## TFGrid Solution
|
||||
|
||||
### Roadmap -->
|
||||
39
archive/partners/cloud_28/index.md
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
id: cloud_28
|
||||
title: Cloud 28+
|
||||
description: Cloud 28+ is the world's largest independent community promoting cloud service and knowledge sharing.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: [technology]
|
||||
extra:
|
||||
countries: []
|
||||
cities: []
|
||||
rank: 3
|
||||
imgPath: images/cloud28plus.png
|
||||
image_caption: cloud_28
|
||||
partner_logo: images/cloud_28Logo.png
|
||||
members: []
|
||||
websites: https://cloud28plus.com
|
||||
private: 0
|
||||
linkedin: ''
|
||||
---
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
||||
## About
|
||||
|
||||
Cloud 28+ is the world's largest independent community promoting cloud service and knowledge sharing. It serves end customers, cloud service providers, solution providers, ISVs, systems integrators, distributors, and government entities dedicated to accelerating enterprise cloud adoption.
|
||||
<br/>
|
||||
<br/>
|
||||
Cloud28+ supports the expansion of the Threefold Grid by proposing ThreeFold solutions within their communities.
|
||||
|
||||
<!-- ## Support this project
|
||||
|
||||
## TFGrid Solution
|
||||
|
||||
### Roadmap -->
|
||||
49
archive/partners/codescalers/index.md
Normal file
@@ -0,0 +1,49 @@
|
||||
---
|
||||
id: codescalers
|
||||
title: CodeScalers
|
||||
description: CodeScalers mission is to develop promising technology for start-up companies in cloud computing and datacenters.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: []
|
||||
extra:
|
||||
countries: [Egypt]
|
||||
cities: [Cairo]
|
||||
rank: 4
|
||||
imgPath: images/codescalers.png
|
||||
image_caption: codescalers
|
||||
partner_logo: images/codescalersLogo.png
|
||||
category: []
|
||||
members: []
|
||||
websites: https://codescalers.com/
|
||||
tags: []
|
||||
private: 0
|
||||
linkedin: ''
|
||||
---
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
||||
## About
|
||||
|
||||
CodeScalers’ mission is to develop promising technology for start-up companies in cloud computing and data centers. Our customers are high tech startups that have found with CodeScalers a pool of talent that extends their R&D organisations. Our offices are in Dubai and Cairo.
|
||||
|
||||
<!-- ## Mission
|
||||
|
||||
## Impact
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
## Join saving our planet! -->
|
||||
|
||||
<!-- ## Support this project
|
||||
|
||||
## TFGrid Solution
|
||||
|
||||
### Roadmap -->
|
||||
|
||||
|
||||
|
||||
67
archive/partners/covidfighters/index.md
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
id: covidfighters
|
||||
title: COVID Fighters
|
||||
description: Re-gaining social life and staying healthy with COVID testing solution on Crystal Twin.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: [experience, impact]
|
||||
extra:
|
||||
countries: [Austria]
|
||||
cities: [Vienna]
|
||||
rank: 5
|
||||
imgPath: images/covidfighters.png
|
||||
image_caption: covid_fighters
|
||||
partner_logo: images/covidfightersLogo.png
|
||||
members: [boris_fahrnberger]
|
||||
websites: https://www.artichoke-computing.com/
|
||||
private: 0
|
||||
linkedin: https://www.linkedin.com/company/covidfighters/
|
||||
---
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
||||
## About
|
||||
|
||||
COVID Fighters have built a technology consortium to test COVID 19 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.
|
||||
<br/>
|
||||
<br/>
|
||||
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’.
|
||||
|
||||
<BR>
|
||||
|
||||
<iframe src="https://player.vimeo.com/video/412336565" width="800" height="450" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>
|
||||
|
||||
<BR>
|
||||
|
||||
## 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.
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
||||
## 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.
|
||||
|
||||
<!-- ## TFGrid Solution
|
||||
|
||||
### Roadmap
|
||||
-->
|
||||
|
||||
68
archive/partners/crystal_language/index.md
Normal file
@@ -0,0 +1,68 @@
|
||||
---
|
||||
id: crystal_language
|
||||
title: Crystal Programming Language
|
||||
description: A programming language for programmer and the computer - the best of both worlds.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: [technology]
|
||||
extra:
|
||||
countries: [Argentina]
|
||||
cities: [Buenos Aires]
|
||||
rank: 4
|
||||
imgPath: images/crystallang.png
|
||||
image_caption: crystal_language
|
||||
partner_logo: images/crystal_languageLogo.png
|
||||
members: [juan_wajnerman, brian_j_cardiff]
|
||||
websites: https://crystal-lang.org/
|
||||
private: 0
|
||||
linkedin: https://www.linkedin.com/company/crystal-language/about/
|
||||
---
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
||||
## 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.
|
||||
|
||||
<BR>
|
||||
|
||||
<iframe src="https://player.vimeo.com/video/444820297" width="800" height="450" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>
|
||||
|
||||
<BR>
|
||||
|
||||
## 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://library.threefold.me/info/tfgrid/#/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.
|
||||
|
||||
|
||||
## TFGrid Solution
|
||||
|
||||
### Roadmap
|
||||
|
||||
- Q1 2021
|
||||
- Serverless Functions/Actors based on Crystal Lang on top of TFGrid
|
||||
- Q2 2021
|
||||
- Crystal Twin Core v2.0 -->
|
||||
75
archive/partners/crystal_twin/index.md
Normal file
@@ -0,0 +1,75 @@
|
||||
---
|
||||
id: crystal_twin
|
||||
title: Crystal Twin
|
||||
description: Your digital twin serving as a gateway to the new digital world of peer-to-peer experiences.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: []
|
||||
extra:
|
||||
countries: [Global]
|
||||
cities: [Global]
|
||||
rank: 5
|
||||
imgPath: images/crystaltwin.png
|
||||
image_caption: crystal_twin
|
||||
partner_logo: images/crystal_twinLogo.png
|
||||
members: [brooks_cole, sacha_obeegadoo]
|
||||
websites:
|
||||
private: 0
|
||||
linkedin: ""
|
||||
---
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
||||
## 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.
|
||||
|
||||
<BR>
|
||||
|
||||
<iframe src="https://player.vimeo.com/video/412762729" width="800" height="450" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>
|
||||
|
||||
<BR>
|
||||
|
||||
## 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.
|
||||
<br/>
|
||||
<br/>
|
||||
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.
|
||||
<br/>
|
||||
<br/>
|
||||
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://library.threefold.me/info/tfgrid/#/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.
|
||||
|
||||
## TFGrid Solution
|
||||
|
||||
### Roadmap
|
||||
|
||||
- Q1 2021
|
||||
- Crystal Twin's Public Release v.1
|
||||
- Q1 2021
|
||||
- Crystal Twin Promotion / Expansion Phase
|
||||
- Q2 2021
|
||||
- Crystal Twin Rebranding / Public Release v.2 -->
|
||||
57
archive/partners/cultivo/index.md
Normal file
@@ -0,0 +1,57 @@
|
||||
---
|
||||
id: cultivo
|
||||
title: Cultivo
|
||||
description: A digital alliance to protect our tropical rainforest and empower its inhabitants.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: []
|
||||
extra:
|
||||
countries: []
|
||||
cities: []
|
||||
rank: 4
|
||||
imgPath: images/placeholder.jpg
|
||||
image_caption: cultivo
|
||||
partner_logo: images/cultivoLogo.png
|
||||
members: []
|
||||
websites: https://cultivo.earth
|
||||
private: 0
|
||||
linkedin: ""
|
||||
---
|
||||
|
||||
## About
|
||||
|
||||
In the tropical rainforest of southern Costa Rica, Cultivo is an organization that carries out and promotes reforestation and organic food forest farming, using regenerative methods and practices in close harmony with the natural environment while providing sustainable livelihoods and access to responsible digital technologies for farmers and rural communities.
|
||||
<br/>
|
||||
<br/>
|
||||
To achieve its mission and objectives, Cultivo:
|
||||
<br/>
|
||||
<br/>
|
||||
- Regrows forests and farms by promoting the practices of regenerative, food forest farming in harmony with the tropical rainforest and its natural wildlife.
|
||||
- Establishes land buffers between organic farmers and industrial mono-crop farming.
|
||||
- Invests in research and education to build local capacity and promote knowledge sharing.
|
||||
- Provides a digital platform that enables farmers to tokenize land and product
|
||||
|
||||
## Mission
|
||||
|
||||
Empowering farmers with digital technologies to regrow our natural environment through the use of ThreeFold digital technology. Cultivo is able to focus its attention on what matters most: Forests-Farmers-Food
|
||||
|
||||
## Impact
|
||||
|
||||
Cultivo provides sustainable economic opportunities for farmers and their families by empowering them to become part of a digital economy that drives fair and organic cultivation, alleviating the destruction of our rainforests and natural environment.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
Cultivo’s Objectives with ThreeFold:
|
||||
<br/>
|
||||
<br/>
|
||||
1. Alleviate the destruction of our rainforests and natural environment.
|
||||
2. Lessen the technological divide to allow farmers to become part of the digital economy.
|
||||
3. Provide sustainable economic opportunities for farmers and their families.
|
||||
|
||||
<!-- ## Support this project
|
||||
|
||||
## TFGrid Solution
|
||||
|
||||
### Roadmap
|
||||
-->
|
||||
43
archive/partners/digital_energy/index.md
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
id: digital_energy
|
||||
title: DigitalEnergy
|
||||
description: DigitalEnergy is a large ThreeFold farmer with a datacenter based in Moscow, Russia.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: []
|
||||
extra:
|
||||
countries: []
|
||||
cities: []
|
||||
rank: 5
|
||||
imgPath: images/digital_energyPlaceHolder.jpg
|
||||
image_caption: digital_energy
|
||||
partner_logo: images/digital_energyLogo.png
|
||||
members: []
|
||||
websites: https://digitalenergy.online/
|
||||
private: 0
|
||||
linkedin: ''
|
||||
---
|
||||
|
||||
## About
|
||||
|
||||
DigitalEnergy is a large ThreeFold farmer with a data center based in Moscow, Russia.
|
||||
|
||||
<!--
|
||||
## Mission
|
||||
|
||||
## Impact
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
## Join saving our planet! -->
|
||||
|
||||
<!--
|
||||
## Support this project
|
||||
|
||||
## TFGrid Solution
|
||||
|
||||
### Roadmap -->
|
||||
|
||||
|
||||
|
||||
45
archive/partners/freeflownation/index.md
Normal file
@@ -0,0 +1,45 @@
|
||||
---
|
||||
id: freeflownation
|
||||
title: FreeFlow Nation
|
||||
description: FreeFlow Nation is a complementary digital nation which flows freely across physical borders, and which welcomes everyone as a digital citizen.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: []
|
||||
extra:
|
||||
countries: []
|
||||
cities: []
|
||||
rank: 5
|
||||
imgPath: images/placeholder.jpg
|
||||
image_caption: freeflownation
|
||||
partner_logo: images/freeflownationLogo.png
|
||||
members: []
|
||||
websites: https://freeflownation.org
|
||||
private: 0
|
||||
linkedin: ''
|
||||
---
|
||||
|
||||
## About
|
||||
|
||||
FreeFlow Nation is a complementary digital nation which flows freely across physical borders, and which welcomes everyone as a digital citizen. FreeFlow Nation is building a framework for a better way forward for humanity and our planet. Let's reduce dependencies on – and eliminate barriers created by – flawed and biased centralized systems, and put people back in control of their lives.
|
||||
<br/>
|
||||
<br/>
|
||||
FreeFlow Nation aims to empower billions of people with sustainable access to complementary education, internet, and currencies (banking) for less than $1 per month. ThreeFold is part of the FreeFlow Nation.
|
||||
|
||||
<!-- ## Mission
|
||||
|
||||
## Impact
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
## Join saving our planet! -->
|
||||
|
||||
|
||||
<!-- ## Support this project
|
||||
|
||||
## TFGrid Solution
|
||||
|
||||
### Roadmap -->
|
||||
|
||||
|
||||
|
||||
24
archive/partners/incubaid/incubaid.md
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
id: incubaid
|
||||
title: Incubaid
|
||||
description:
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: []
|
||||
extra:
|
||||
countries: [Belgium]
|
||||
cities: [Ghent]
|
||||
rank: 5
|
||||
imgPath: images/incubaid.jpg
|
||||
image_caption: Incubaid
|
||||
partner_logo: images/incubaidLogo.png
|
||||
members: []
|
||||
websites: https://btc-alpha.com/en/
|
||||
private: 0
|
||||
linkedin: ''
|
||||
---
|
||||
|
||||
# TODO
|
||||
|
||||
|
||||
|
||||
45
archive/partners/jimber/index.md
Normal file
@@ -0,0 +1,45 @@
|
||||
---
|
||||
id: jimber
|
||||
title: Jimber
|
||||
description: Jimber is an Enterprise Security Solution provider. Using the ThreeFold Grid for enterprise security gateway solutions.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: []
|
||||
extra:
|
||||
countries: []
|
||||
cities: []
|
||||
rank: 4
|
||||
imgPath: images/jimber.png
|
||||
image_caption: Jimber
|
||||
partner_logo: images/jimberLogo.png
|
||||
members: [jonas_delrue,ivan_coene,ken_de_moor,tobias_chielens]
|
||||
websites: https://jimber.org
|
||||
private: 0
|
||||
linkedin: https://www.linkedin.com/company/jimber/
|
||||
---
|
||||
|
||||
## About
|
||||
|
||||
Jimber is an Enterprise Security Solution provider. Using the ThreeFold Grid for enterprise security gateway solutions, it aims to empower applications and solutions that are fully secure for both consumers and businesses.
|
||||
<br/>
|
||||
<br/>
|
||||
Jimber is currently involved in 3Bot technology development as well as some experiences (autonomous and decentralized applications) that will live on the ThreeFold Grid, and accessible by 3Bot.
|
||||
|
||||
<!-- ## Mission
|
||||
|
||||
## Impact
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
## Support this project
|
||||
|
||||
## TFGrid Solution
|
||||
|
||||
### Roadmap
|
||||
|
||||
-->
|
||||
|
||||
|
||||
52
archive/partners/liquid/index.md
Normal file
@@ -0,0 +1,52 @@
|
||||
---
|
||||
id: liquid
|
||||
title: Liquid
|
||||
description: Liquid is the world’s most comprehensive and secure trading platform.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: []
|
||||
extra:
|
||||
countries: []
|
||||
cities: []
|
||||
rank: 5
|
||||
imgPath: images/liquid.png
|
||||
image_caption: liquid
|
||||
partner_logo: images/liquidLogo.png
|
||||
members: []
|
||||
websites: https://www.liquid.com
|
||||
private: 0
|
||||
linkedin: https://www.linkedin.com/company/liquidglobal/
|
||||
---
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
||||
## About
|
||||
|
||||
Liquid is the world’s most comprehensive and secure trading platform. Buy and sell Bitcoin, Ethereum, XRP and many other cryptocurrencies with fiat or crypto.
|
||||
|
||||
## Liquid and ThreeFold
|
||||
|
||||
The ThreeFold Token (TFT) [has been listed](https://app.liquid.com/exchange/TFTBTC) on the Liquid exchange as from May 2020.
|
||||
|
||||
<!--
|
||||
## Mission
|
||||
|
||||
## Impact
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
## Support this project
|
||||
|
||||
## TFGrid Solution
|
||||
|
||||
### Roadmap -->
|
||||
|
||||
|
||||
|
||||
47
archive/partners/neo/index.md
Normal file
@@ -0,0 +1,47 @@
|
||||
---
|
||||
id: neo
|
||||
title: NEO
|
||||
description: Scalable, fast, and ultra-secure blockchain driven by a global community of developers.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: [blockchain]
|
||||
extra:
|
||||
countries: [Global]
|
||||
cities: []
|
||||
rank: 3
|
||||
imgPath: images/neo.png
|
||||
image_caption: neo
|
||||
partner_logo: images/neoLogo.png
|
||||
members: [denis_suslov]
|
||||
websites: https://neo.org/
|
||||
private: 0
|
||||
linkedin: https://www.linkedin.com/company/neo-blockchain/
|
||||
---
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
||||
## About
|
||||
[NEO](https://neo.org/) is a scalable, fast, and ultra-secure blockchain driven by a global community of developers and node operators.
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
- It utilizes blockchain technology and digital identities to digitize and automate the management of assets using smart contracts.
|
||||
- Using a distributed network, it aims to create a smart economy by building infrastructures of the next-gen Internet and creating a solid foundation for mass blockchain adoption.
|
||||
|
||||
## Mission
|
||||
|
||||
Solving IT decentralization and cloud computing efficiency for NEO dApp developers and node operators!
|
||||
|
||||
## NEO and ThreeFold
|
||||
|
||||
ThreeFold and NEO came together to solve one major problem, which is IT decentralization for dApp developers, and particularly for developers and enterprises looking into building decentralized applications on top of the NEO Blockchain.
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
- Through our collaboration, ThreeFold is empowering NEO dApp developers with peer-to-peer cloud capacity for decentralized storage, compute, and networking to further cost-efficiently decentralize their IT infrastructure – escaping the monopolies of centralized cloud providers, without compromising on security and efficiency.
|
||||
- With the ThreeFold P2P Cloud as a decentralized IT infrastructure, NEO dApp developers have the ability to build highly-scalable and decentralized, cloud-native, and blockchain-based applications using the open-source frameworks and tools they need (Docker, Kubernetes clusters, S3 storage, Database clusters, etc) and with an autonomous IT workload execution through ThreeFold’s Smart contract for IT.
|
||||
62
archive/partners/polygon/index.md
Normal file
@@ -0,0 +1,62 @@
|
||||
---
|
||||
id: polygon
|
||||
title: Polygon
|
||||
description: Protocol and framework for building Ethereum-compatible blockchain networks.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: [blockchain]
|
||||
extra:
|
||||
countries: [Global]
|
||||
cities: [Global]
|
||||
rank: 3
|
||||
imgPath: images/polygon.png
|
||||
image_caption: Polygon
|
||||
partner_logo: images/polygonLogo.png
|
||||
category: []
|
||||
members: [anurag_arjun, arjun_kalsy]
|
||||
websites: https://polygon.technology/
|
||||
private: 0
|
||||
linkedin: https://www.linkedin.com/company/matic-network/
|
||||
---
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
||||
## About
|
||||
|
||||
[Polygon](https://polygon.technology/) (Previously Matic Network) is the first well-structured, easy-to-use platform for Ethereum scaling and infrastructure development. Its core component is Polygon SDK, a modular, flexible framework that supports building multiple types of decentralized applications.
|
||||
<br/>
|
||||
<br/>
|
||||
Polygon is one of the go-to solutions for developers building dApps on Ethereum, as it effectively transforms Ethereum into a full-fledged multi-chain system (aka Internet of Blockchains). Using Polygon, one can create Optimistic Rollup chains, ZK Rollup chains, standalone chains, or any other kind of infrastructure required by the developer.
|
||||
<br/>
|
||||
<br/>
|
||||
With Polygon, new features are being built around the existing proven technology to expand the ability to cater to diverse needs from the developer ecosystem. Polygon will continue to develop the core technology so that it can scale to a larger ecosystem. The $MATIC token is playing an increasingly important role, securing the system and enabling governance.
|
||||
|
||||
## Polygon and ThreeFold
|
||||
|
||||
Polygon and ThreeFold joined forces to provide key benefits in successfully running a Polygon validator node and other related IT workloads, as well as providing decentralized cloud infrastructure for dApps powered by Polygon, which are primarily the ease-of-deployment, customization, privacy, and monitoring.
|
||||
<br/>
|
||||
<br/>
|
||||
By leveraging the ThreeFold P2P Cloud and its developer tools (the Edge Virtual Data Center, 3Bot Virtual Admin, the quantum safe filesystem) the Polygon community – developers and non-developers – receive the following benefits:
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
- They can easily get started and run their own validators nodes for their staking directly from the web, and in just a few clicks.
|
||||
- Polygon dApp developers can leverage ThreeFold's P2P infrastructure (compute and storage) to totally decentralize their IT infrastructure, and not rely on centralized cloud providers
|
||||
<br/>
|
||||
<br/>
|
||||
Together we will expand Polygon's community-led Blockchain across the geographical edges, while creating a more inclusive and cost-effective participation model for anybody on earth to be involved in the growing Polygon ecosystem.
|
||||
|
||||
<!-- ### Roadmap
|
||||
|
||||
- Q4 2020
|
||||
- 1-click Matic validator node deployment
|
||||
-Q1 2021
|
||||
- Matic’s ETH SideChain integration with the ThreeFold grid and 3BOT: Build autonomous Ethereum dApps on Matic, powered by ThreeFold’s P2P cloud
|
||||
Q2 2021
|
||||
- Additional 1-click storage and compute solutions for the Matic community
|
||||
-->
|
||||
47
archive/partners/safe_city/index.md
Normal file
@@ -0,0 +1,47 @@
|
||||
---
|
||||
id: safe_city
|
||||
title: Safe City
|
||||
description: Safe City is a technology partner, with a core focus on deploying digital technologies within the UAE.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: [technology]
|
||||
extra:
|
||||
countries: []
|
||||
cities: []
|
||||
rank: 5
|
||||
imgPath: images/safe_city.png
|
||||
image_caption: safe_city
|
||||
partner_logo: images/safe_cityLogo.png
|
||||
members: [ali_omari]
|
||||
websites: https://www.safecity.com
|
||||
private: 0
|
||||
linkedin: https://www.linkedin.com/company/safecitygroup/
|
||||
---
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
||||
## About
|
||||
|
||||
Safe City is a technology partner, with a core focus on deploying digital technologies within the UAE. They are currently working on deploying autonomous driving cars, advanced police vehicle integrations and secure data center facilities across the UAE. SafeCity would will implement TF Platform to scale smart city features to bridge Capacity, IOT, security and safety in their ongoing projects.
|
||||
|
||||
<!-- ## Mission
|
||||
|
||||
## Impact
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
## Support this project
|
||||
|
||||
## TFGrid Solution
|
||||
|
||||
### Roadmap
|
||||
|
||||
TODO: Add people?
|
||||
-->
|
||||
54
archive/partners/selfkey/index.md
Normal file
@@ -0,0 +1,54 @@
|
||||
---
|
||||
id: selfkey
|
||||
title: SelfKey
|
||||
description: SelfKey is a fast-growing blockchain startup developing digital identity solutions.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: []
|
||||
extra:
|
||||
countries: []
|
||||
cities: []
|
||||
rank: 4
|
||||
imgPath: images/selfkey.png
|
||||
image_caption: selfkey
|
||||
partner_logo: images/selfkeyLogo.png
|
||||
members: []
|
||||
websites: https://selfkey.org
|
||||
private: 0
|
||||
linkedin: ''
|
||||
---
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
||||
## About
|
||||
|
||||
SelfKey is a fast-growing blockchain startup developing digital identity solutions that empowers individuals and corporations to truly own, control, and manage their identity data. They provide non-custodial wallets whereby you are in full control of your data, documents and digital assets.
|
||||
<br/>
|
||||
<br/>
|
||||
Currently, ThreeFold and SelfKey are exploring various use cases including potential KYC for ThreeFold Farmers and more.
|
||||
|
||||
<!--
|
||||
## Mission
|
||||
|
||||
## Impact
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
## Support this project
|
||||
|
||||
## TFGrid Solution
|
||||
|
||||
### Roadmap
|
||||
|
||||
TODO: Missing People and Other Metadata
|
||||
-->
|
||||
|
||||
|
||||
|
||||
42
archive/partners/sequoyah/index.md
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
id: sequoyah
|
||||
title: Sequoyah
|
||||
description: Build a decentralized banking system where by each user will have access to multiple digital and market assets at the palm of their hand.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: [technology]
|
||||
extra:
|
||||
countries: [Denmark]
|
||||
cities: [Copenhagen]
|
||||
rank: 4
|
||||
imgPath: images/sequoyah.png
|
||||
image_caption: sequoyah
|
||||
partner_logo: images/sequoyahLogo.png
|
||||
members: [dennis_lindberg]
|
||||
websites: https://sequoyah.dk/
|
||||
private: 0
|
||||
linkedin: ''
|
||||
---
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
||||
## About
|
||||
|
||||
Sequoyah is the leading provider of diamonds, alloys and prefabricated alloys to jewelers and designers in Denmark and Scandinavia.
|
||||
|
||||
## Mission
|
||||
|
||||
Ecologically sound, conflict-free sources for diamonds and alloys, and provide a safe haven for their customers' data - the gold of the internet.
|
||||
|
||||
## Impact
|
||||
|
||||
A partnership with TF Tech to build a decentralized banking system where by each user will have access to multiple digital and market assets at the palm of their hand.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
In partnership with ThreeFold, Sequoyah will build on top of the ThreeFold Grid to secure both the identity of their customers and their digital assets. ThreeFold represents a gateway to to both fiat & cryptocurrencies and Sequoyah plans to create a token that is fully backed by gold and that is exchangeable over the counter with other cryptocurrencies.
|
||||
45
archive/partners/skale_labs/index.md
Normal file
@@ -0,0 +1,45 @@
|
||||
---
|
||||
id: skale_labs
|
||||
title: SKALE
|
||||
description: Run your dApps in a decentralized modular cloud built for real-world needs and configured for your requirements.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: [blockchain]
|
||||
extra:
|
||||
countries: [USA]
|
||||
cities: [San Francisco]
|
||||
rank: 3
|
||||
imgPath: images/skale_labs.png
|
||||
image_caption: skale_labs
|
||||
partner_logo: images/skale_labsLogo.png
|
||||
members: [christine_renee_perry]
|
||||
websites: https://skale.network/
|
||||
private: 0
|
||||
linkedin: https://www.linkedin.com/company/skale-labs/
|
||||
---
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
||||
## About
|
||||
|
||||
[SKALE](https://skale.network/) is an elastic blockchain network that gives developers the ability to easily provision highly configurable fully decentralized chains that are instantly compatible with Ethereum.
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
- SKALE chains can execute sub-second block times, run up to 2,000 tps per chain, and run full-state smart contracts in addition to decentralized storage, execute Rollups, and machine learning in EVM.
|
||||
- The SKALE Network is an open-source project with many contributors including SKALE Labs.
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
The SKALE and ThreeFold collaboration focuses on solving scalability and decentralization limitations faced by Ethereum and blockchain developers. The effort empowers the SKALE developer community, and Web3 developers, with the ThreeFold Peer-to-Peer Cloud, enabling them to:
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
- Build highly scalable dApps on Ethereum using SKALE’s elastic Blockchain network
|
||||
- Completely decentralize their IT infrastructure using ThreeFold’s P2P compute, storage, and networking capacities, providing far more affordability, privacy, and decentralization through its native cloud automation and Smart Contract for IT
|
||||
|
||||
50
archive/partners/stellar/index.md
Normal file
@@ -0,0 +1,50 @@
|
||||
---
|
||||
id: stellar
|
||||
title: Stellar
|
||||
description: Stellar is an open-source network for currencies and payments.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: []
|
||||
extra:
|
||||
countries: []
|
||||
cities: []
|
||||
rank: 3
|
||||
imgPath: images/stellar.png
|
||||
image_caption: stellar
|
||||
partner_logo: images/stellarLogo.png
|
||||
members: []
|
||||
websites: https://www.stellar.org
|
||||
private: 0
|
||||
linkedin: https://www.linkedin.com/company/stellar-development-foundation/
|
||||
---
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
||||
## About
|
||||
|
||||
Stellar is an open-source network for currencies and payments. Stellar makes it possible to create, send and trade digital representations of all forms of money—dollars, pesos, bitcoin, pretty much anything. It’s designed so all the world’s financial systems can work together on a single network.
|
||||
<br/>
|
||||
<br/>
|
||||
TFT lives on the Stellar Blockchain. TFT holders benefit from a big ecosystem of proven wallets and mediums of exchange. Stellar's mission to promote financial inclusion is completely aligned with the ThreeFold's vision for an inclusive Internet.
|
||||
|
||||
<!-- ## Mission
|
||||
|
||||
## Impact
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
## Support this project
|
||||
|
||||
## TFGrid Solution
|
||||
|
||||
### Roadmap -->
|
||||
|
||||
|
||||
|
||||
107
archive/partners/threefold_chapters/index.md
Normal file
@@ -0,0 +1,107 @@
|
||||
---
|
||||
id: threefold_chapters
|
||||
title: ThreeFold Chapters
|
||||
description: Chapters are independent groups of people and organizations who are representing and promoting the ThreeFold Movement.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: []
|
||||
extra:
|
||||
countries: []
|
||||
cities: []
|
||||
rank: 5
|
||||
imgPath: images/placeholder.jpg
|
||||
image_caption: threefold_chapters
|
||||
partner_logo: images/logo_threefold_chapters.png
|
||||
category: []
|
||||
members: []
|
||||
websites:
|
||||
tags: []
|
||||
private: 0
|
||||
linkedin: ''
|
||||
---
|
||||
|
||||
# ThreeFold Chapters
|
||||
|
||||
Chapters are independent groups of people and organizations who are representing and promoting the ThreeFold Foundation, Ecosystem & Technology to the general public and assist newcomers to onboard within the TF ecosystem. Chapters themselves may also be engaged in farming, product development and investment within the ThreeFold Ecosystem. In order to start a TF Chapter one needs to become a TF Ambassador.
|
||||
<br/>
|
||||
<br/>
|
||||
If you feel inspired to create your own chapter, please connect with the TF Ambassador Admin Team to get started! ([Owen Kemp](http://t.me/OwenKemp), [Gregor Sideris](http://t.me/Gregsideris), [Simin Gerards](http://t.me/simings), Nisha Grimes or [Olivia Jurado](http://t.me/juradoo))
|
||||
|
||||
#### Cherry Chapter, Vienna
|
||||
Vienna based farm. A company established similar to agricultural cooperative consisting of so far 17 members paying membership fee which is used to purchase farming equipment. Can scale infinitely. Onboarding of small investors via a registered cooperative
|
||||
<br/>
|
||||
<br/>
|
||||
Coordinator: Wolfgang Wittmer
|
||||
|
||||
[ Cherry Chapter on FreeFlow Pages](https://freeflowpages.com/s/vienna-cherry-chapter/space/space/home )
|
||||
|
||||
|
||||
#### Lisbon In Tech, Portugal
|
||||
Attracts developers to use the TF Grid and design relevant solutions to the local communities
|
||||
|
||||
Coordinators: Stela Suils Cuesta & Osama Shihab Fitoria
|
||||
|
||||
[Connect via Meetup](https://www.meetup.com/Lisbon-in-Tech/)
|
||||
|
||||
#### Team Orange, Netherlands
|
||||
Tokenizing prize money at Golf Club; offering info sessions at Club House; installing wallets with members
|
||||
|
||||
Coordinators: Rob Tol & Oscar Landman
|
||||
|
||||
[Team Oragne on FreeFlow Pages](https://freeflowpages.com/s/team-orange/)
|
||||
|
||||
|
||||
#### DaVinci Chapter, Belgium
|
||||
Education on blockchain and crypto to youth groups.
|
||||
|
||||
Coordinators: Gert De Spiegeleer
|
||||
|
||||
|
||||
#### ThreeFold Americas Chapter
|
||||
TFAmericas is a chapter to include all the Americas and in it there are subchapters from different regions/areas in the Americas. TF AMericas will be used as a section of information on activities/events etc happening in the Americas. This may include cross references to the TFYouthGroup or the TFLove initiatives in the Americas. Subchapter in Reno, NV wants to assist TFTech and TF Foundation to pursue government contracts to put capacity in rural areas, on tribal lands, in community colleges and to engage in projects with the University of Nevada innovation centers (public). To engage in community meetings to begin TF farming and other use cases for industry, for individuals and small businesses. ThreeFold KMC would be a subchapter of the Americas Chapter. The description of that subchapter is below.
|
||||
|
||||
Coordinator: Jennifer Long
|
||||
|
||||
[Americas Chapter FreeFlowPages](https://freeflowpages.com/s/tf-americas/ )
|
||||
|
||||
#### ThreeFold KCM Chapter, USA
|
||||
Community engagement and TF Farming opportunities in the Kansas City Metro area.
|
||||
|
||||
Coordinator: Michael Gaffney
|
||||
|
||||
|
||||
#### TF Youth Chapter, Ibiza
|
||||
Creates partnerships and projects that promote TF among youth communities, and aims to make youth engagement programs a primary social impact activity related to TF.
|
||||
|
||||
Coordinators: Isabelle Peeters
|
||||
|
||||
[ Youth Chapter on FreeFlowPages](https://freeflowpages.com/s/tf-youth-chapter/)
|
||||
|
||||
#### TF Istanbul Chapter, Turkey
|
||||
Aims to serve ThreeFold in grid expansion, fundraising, strategic business development, networking, PR and Marketing activities via utilizing the favourable demographics and the technological hub and ecosystem dynamics in Turkey and in the surrounding geography.
|
||||
|
||||
Coordinators: Simin Gerards
|
||||
|
||||
|
||||
#### ThreeFold Talks, UAE
|
||||
A meetup style forum for free flow discussion, talks and community engagement. Focused on topics such as innovation, collaboration, decentralization, social impact, tech for good, digital currency, sharing economy, circular economy, green tech, blockchain, Dapps (decentralized applications), sustainability and ThreeFold technologies. Based in Dubai, UAE - sponsored by Mazraa.
|
||||
|
||||
Coordinators: Olivia Jurado & Adnan Fatayerji
|
||||
|
||||
[TF Talks on FreeFlow Pages](https://freeflowpages.com/s/threefold-talks/)
|
||||
|
||||
|
||||
#### ThreeFold CIS Chapter, Ukraine
|
||||
Representative chapter based in Ukraine for Russian speaking community to assist Russian speaking farmers, token users, projects to join ThreeFold ecosystem.
|
||||
|
||||
Coordinator: Valentin Korobko
|
||||
|
||||
[CIS Chapter on FreeFlowPages](https://freeflowpages.com/s/threefold-sng-tf-cis-chapter/)
|
||||
|
||||
#### Co:Inpetto, Belgium & Netherlands
|
||||
Co:Inpetto connects projects to the TF Grid.
|
||||
|
||||
Coordinator: Lieve Vereycken
|
||||
|
||||
[Co:Inpetto FreeFlowPages](https://freeflowpages.com/s/coinpetto/)
|
||||
72
archive/partners/threefold_foundation/index.md
Normal file
@@ -0,0 +1,72 @@
|
||||
---
|
||||
id: threefold_foundation
|
||||
title: ThreeFold Foundation
|
||||
description: The ThreeFold Foundation along with its partners is growing the ThreeFold Grid and a new peer-to-peer internet.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: [aci]
|
||||
tags: [impact, community, farming]
|
||||
extra:
|
||||
countries: [UAE, Switzerland, Belgium]
|
||||
cities: [Dubai, Lugano, Ghent]
|
||||
rank: 1
|
||||
imgPath: images/threefold_foundation.png
|
||||
image_caption: threefold_foundation
|
||||
partner_logo: images/threefold_foundationLogo.png
|
||||
members: [kristof_de_spiegeleer, roel_van_sabben, kristine_vilnite, sam_taggart, sacha_obegadoo, adnan_fatayerji, karoline_zizka, maximilian_rang]
|
||||
websites: https://www.threefold.io
|
||||
private: 0
|
||||
linkedin: https://www.linkedin.com/company/threefold-foundation/
|
||||
---
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
||||
## 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 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).
|
||||
|
||||
<BR>
|
||||
|
||||
<iframe src="https://player.vimeo.com/video/412749710" width="800" height="450" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>
|
||||
|
||||
<BR>
|
||||
|
||||
## 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://library.threefold.me/info/tfgrid/#/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. -->
|
||||
|
||||
<!-- ## TFGrid Solution
|
||||
|
||||
### Roadmap
|
||||
|
||||
- Q3 2020
|
||||
- Promotion Phase I
|
||||
- Q3 2020
|
||||
- TF Grid Enhancements
|
||||
- Q4 2020
|
||||
- TF Grid user interface
|
||||
- Q1 2021
|
||||
- Promotion Phase II
|
||||
-->
|
||||
52
archive/partners/threefold_grid/index.md
Normal file
@@ -0,0 +1,52 @@
|
||||
---
|
||||
id: threefold_grid
|
||||
title: ThreeFold Grid
|
||||
description: The ThreeFold Grid is built by independent people that together create a pool of connected compute and storage capacity.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: []
|
||||
extra:
|
||||
countries: []
|
||||
cities: []
|
||||
rank: 5
|
||||
imgPath: images/placeholder.jpg
|
||||
image_caption: threefold_grid
|
||||
partner_logo: images/logo_threefold_grid.png
|
||||
members: []
|
||||
websites: https://threefold.tech/
|
||||
private: 0
|
||||
linkedin: ''
|
||||
---
|
||||
|
||||
# The ThreeFold Grid
|
||||
|
||||
## About
|
||||
|
||||
The ThreeFold Grid is built by independent people that together create a pool of connected compute and storage capacity. This is a tokenomy where compute hardware mints a stable currency (the TF Token) which is used to rent capacity on the grid to run current and future IT workloads. The currency should be a stable currency and ThreeFold hopes it will be a currency that us used in local economies for many other value transaction ad well.
|
||||
<br/>
|
||||
<br/>
|
||||
This WIKI presents the basic information required to participate in the ThreeFold Grid. There are a number of different ways to use the technology:
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
- **as a farmer minting ThreeFold tokens**: farmers investment in hardware to build and operate the internet capacity pool. Farmers purchase and operate compute and storage hardware that they list on the TF Grid by downloading and installing ThreeFold software. A farmer mints the ThreeFold token(s). Farmers come in many different size and shapes. Farmers can be individuals that have a spare computer or some spare cash. Farmers can also be companies that actively go out and find people to invest in there business of building farming sites and mint Threefold tokens. An example of with a company is [Green Edge Cloud](https://www.greenedgecloud.com/)
|
||||
- **as a developer using the TF grid to create and run IT workloads by using Farmers capacity**:
|
||||
these are people that build services and applications on the TF Grid.
|
||||
- **as a customer is using applications and services developed by developers on Farmers capacity**:
|
||||
customers use applications on the TF Grid and consume TF Grid resources for which they pay in TF tokens.
|
||||
|
||||
<!--
|
||||
## Mission
|
||||
|
||||
## Impact
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
## Support this project
|
||||
|
||||
## TFGrid Solution
|
||||
|
||||
### Roadmap -->
|
||||
58
archive/partners/threefold_love/index.md
Normal file
@@ -0,0 +1,58 @@
|
||||
---
|
||||
id: threefold_love
|
||||
title: ThreeFold Love
|
||||
description: A tokenized initiative promoting the TF Token Economy while supporting the growth of worthy causes and projects.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: []
|
||||
date: 2020-04-20
|
||||
extra:
|
||||
countries: []
|
||||
cities: []
|
||||
rank: 5
|
||||
imgPath: images/placeholder.jpg
|
||||
image_caption: threefold_love
|
||||
partner_logo: images/logo_threefold_love.png
|
||||
members: [olivia_jurado]
|
||||
websites: https://www.threefold.love/
|
||||
private: 0
|
||||
linkedin: ''
|
||||
---
|
||||
|
||||
# ThreeFold Love
|
||||
|
||||
## About
|
||||
|
||||
A tokenized initiative promoting the TF Token Economy while supporting the growth of worthy causes and projects.
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
- TF Love Stories, ThreeFold Love Farm, Love Nodes
|
||||
- Public & TF Community Engagement
|
||||
- Empowering women and marginalized communities by guiding them into the digital economy
|
||||
- Alternative fundraising methods for grassroots projects
|
||||
- Digital Platform (coming soon)
|
||||
- Connect with us and share your love stories with us on FFP, Instagram [@threefold.love](https://www.instagram.com/threefold.love/), Twitter [@love_threefold](https://twitter.com/love_threefold) & FB
|
||||
<br/>
|
||||
<br/>
|
||||
Purchase TF Love branded fair trade merchandise and TF Love swag (stickers, pins, t-shirts, caps etc.) that directly support the causes we partner with. [ TFTs Accepted :) ]
|
||||
|
||||
## Mission
|
||||
|
||||
ThreeFold Love is a people-centered movement behind the technology, working on the ground to activate and engage communities around the world to come together to become more responsible digital citizens and inviting nonprofits, grassroots organizations and the rapid expanding global conscious community into the fold.
|
||||
|
||||
<!-- ## Impact
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
## Support this project
|
||||
|
||||
## TFGrid Solution
|
||||
|
||||
### Roadmap
|
||||
|
||||
-->
|
||||
|
||||
61
archive/partners/threefold_tech/index.md
Normal file
@@ -0,0 +1,61 @@
|
||||
---
|
||||
id: threefold_tech
|
||||
title: ThreeFold Tech
|
||||
description: Powering the Information Technology workloads of tomorrow.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: [technology, infrastructure]
|
||||
extra:
|
||||
countries: [Belgium]
|
||||
cities: [Lochristi]
|
||||
rank: 1
|
||||
imgPath: images/threefold_tech.png
|
||||
image_caption: threefold tech
|
||||
partner_logo: images/threefold_techLogo.jpg
|
||||
members: [kristof_de_spiegeleer, christopher_hutton, andreas_hartl, roel_van_sabben, sabrina_sadik, owen_kemp]
|
||||
websites: https://threefold.tech/
|
||||
private: 0
|
||||
linkedin: https://www.linkedin.com/company/threefold-tech/
|
||||
---
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
||||
## About
|
||||
|
||||
ThreeFold Tech is a company based on 15+ years of tech experience. (Established in Belgium.) Their Autonomous IT technology is positioned to disrupt IT infrastructure across sectors – internet, banking, telco, etc.
|
||||
<br/>
|
||||
<br/>
|
||||
ThreeFold Technology empowers a grid of IT capacity, which today is 10x bigger than all other blockchain players combined. More than $15MM USD has been spent creating this technology.
|
||||
|
||||
## Mission
|
||||
|
||||
Empowering data privacy and sovereignty through decentralized Web 3.0 infrastructure. The cure to the cyber pandemic.
|
||||
|
||||
## Impact
|
||||
|
||||
- Better security
|
||||
- More uptime
|
||||
- Greater efficiencies
|
||||
- Endless scalability
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
ThreeFold Foundation is focused on democratizing internet compute and storage capacity to enable a responsible Internet for all. This is the primary reference of ThreeFold Tech. TFTech software empowers people to create neutral, green and private capacity across the globe that’s blockchain-driven and 100% decentralized. This “hyper-distributed” network enables developers from all over the world to bring to life decentralized applications and solutions, and digital service/application providers to host their applications closer to end users.
|
||||
|
||||
<!-- # Support this project
|
||||
|
||||
Make a wise investment.
|
||||
Make a positive impact.
|
||||
|
||||
Become a TF Tech investor https://www.threefold.tech/investors.html -->
|
||||
<!--
|
||||
## TFGrid Solution
|
||||
|
||||
### Roadmap
|
||||
|
||||
-->
|
||||
48
archive/partners/veda/index.md
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
id: veda
|
||||
title: Veda
|
||||
description: Discover ancient Egypt and feel its special energies.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: [aci]
|
||||
tags: [community, experience]
|
||||
extra:
|
||||
countries: [Egypt]
|
||||
cities: [Nile]
|
||||
rank: 1
|
||||
imgPath: images/veda.png
|
||||
image_caption: veda
|
||||
partner_logo: images/vedaLogo.png
|
||||
members: [isabelle_peeters]
|
||||
websites: https://www.veda-egypt.com
|
||||
private: 0
|
||||
linkedin: ''
|
||||
---
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
||||
## About
|
||||
|
||||
VEDA offers unique, authentic, and private cruises with organic food, green energy, and a warm-hearted crew. There is no other experience like us on the Nile.
|
||||
<br/>
|
||||
<br/>
|
||||
From time to time, ThreeFold gathers on the Nile on VEDA boats with partners and investors to share, connect, and build.
|
||||
|
||||
<!-- ## Impact
|
||||
|
||||
## Powered by ThreeFold
|
||||
|
||||
## Join saving our planet!
|
||||
|
||||
## Support this project
|
||||
|
||||
## TFGrid Solution
|
||||
|
||||
### Roadmap
|
||||
-->
|
||||
|
||||
|
||||
55
archive/partners/waykichain/index.md
Normal file
@@ -0,0 +1,55 @@
|
||||
---
|
||||
id: waykichain
|
||||
title: Waykichain
|
||||
description: Community driven Blockchain for DeFi and financial dApps.
|
||||
template: partnerPage.html
|
||||
taxonomies:
|
||||
partners-category: []
|
||||
tags: [blockchain]
|
||||
extra:
|
||||
countries: [Hong Kong]
|
||||
cities: []
|
||||
rank: 3
|
||||
imgPath: images/waykichain.png
|
||||
image_caption: waykichain
|
||||
partner_logo: images/waykichainLogo.png
|
||||
members: [richard_chen]
|
||||
websites: https://www.waykichain.com/
|
||||
private: 0
|
||||
linkedin: https://www.linkedin.com/company/waykichain%E7%BB%B4%E5%9F%BA%E9%93%BE/
|
||||
---
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
||||
## About
|
||||
|
||||
[WaykiChain](https://www.waykichain.com/) is a prominent blockchain platform based in China with a global community.
|
||||
<br/>
|
||||
<br/>
|
||||
It is a DPoS (Delegated Proof of Stake) public blockchain that is highly scalable and with high-performance transaction processing capabilities (TPS 3300) and an efficient consensus mechanism.
|
||||
<br/>
|
||||
<br/>
|
||||
WaykiChain has a variety of product lines, with the WaykiChain core wallet, the WaykiTimes and their DeFi-vertical technologies that are built within the core layer of blockchain, i.e. the crypto-asset backed stablecoin technology as well as its built-in decentralized exchange.
|
||||
<br/>
|
||||
<br/>
|
||||
Waykichain’s blockchain enables developers to build performing dApps on top of it using its developer tools, and has throughout these 3 years, built an extended ecosystem of Dapps.
|
||||
|
||||
## WaykiChain and ThreeFold
|
||||
|
||||
ThreeFold and WaykiChain found clear alignment on decentralizing the Internet for people and businesses and share the same core values that encompass their respective visions.
|
||||
<br/>
|
||||
<br/>
|
||||
By using The ThreeFold P2P cloud and the 3Bot, The WaykiChain community of developers, non-developers, and node operators are enabled to deploy and maintain their WaykiChain nodes and any of their IT workloads in just a few clicks directly from the browser or from a local machine.
|
||||
<br/>
|
||||
<br/>
|
||||
ThreeFold's compute, storage, and networking capacities empower them to decentralize their cloud-computing infrastructures, with far more affordability and distribution compared to centralized cloud-providers, and with native cloud automation via ThreeFold’s Smart contract for IT.
|
||||
|
||||
<!-- ## TFGrid Solution
|
||||
|
||||
### Roadmap -->
|
||||
|
||||
|
||||
361
css/admonition.css
Normal file
@@ -0,0 +1,361 @@
|
||||
:root {
|
||||
--md-admonition-icon--note: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z'/></svg>");
|
||||
--md-admonition-icon--abstract: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M17 9H7V7h10m0 6H7v-2h10m-3 6H7v-2h7M12 3a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1m7 0h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2z'/></svg>");
|
||||
--md-admonition-icon--info: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2z'/></svg>");
|
||||
--md-admonition-icon--tip: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M17.66 11.2c-.23-.3-.51-.56-.77-.82-.67-.6-1.43-1.03-2.07-1.66C13.33 7.26 13 4.85 13.95 3c-.95.23-1.78.75-2.49 1.32-2.59 2.08-3.61 5.75-2.39 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.23.1-.47.04-.66-.12a.58.58 0 0 1-.14-.17c-1.13-1.43-1.31-3.48-.55-5.12C5.78 10 4.87 12.3 5 14.47c.06.5.12 1 .29 1.5.14.6.41 1.2.71 1.73 1.08 1.73 2.95 2.97 4.96 3.22 2.14.27 4.43-.12 6.07-1.6 1.83-1.66 2.47-4.32 1.53-6.6l-.13-.26c-.21-.46-.77-1.26-.77-1.26m-3.16 6.3c-.28.24-.74.5-1.1.6-1.12.4-2.24-.16-2.9-.82 1.19-.28 1.9-1.16 2.11-2.05.17-.8-.15-1.46-.28-2.23-.12-.74-.1-1.37.17-2.06.19.38.39.76.63 1.06.77 1 1.98 1.44 2.24 2.8.04.14.06.28.06.43.03.82-.33 1.72-.93 2.27z'/></svg>");
|
||||
--md-admonition-icon--success: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='m9 20.42-6.21-6.21 2.83-2.83L9 14.77l9.88-9.89 2.83 2.83L9 20.42z'/></svg>");
|
||||
--md-admonition-icon--question: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='m15.07 11.25-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 0 0-2-2 2 2 0 0 0-2 2H8a4 4 0 0 1 4-4 4 4 0 0 1 4 4 3.2 3.2 0 0 1-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10c0-5.53-4.5-10-10-10z'/></svg>");
|
||||
--md-admonition-icon--warning: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M13 14h-2V9h2m0 9h-2v-2h2M1 21h22L12 2 1 21z'/></svg>");
|
||||
--md-admonition-icon--failure: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 6.91 17.09 4 12 9.09 6.91 4 4 6.91 9.09 12 4 17.09 6.91 20 12 14.91 17.09 20 20 17.09 14.91 12 20 6.91z'/></svg>");
|
||||
--md-admonition-icon--danger: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M11 15H6l7-14v8h5l-7 14v-8z'/></svg>");
|
||||
--md-admonition-icon--bug: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M14 12h-4v-2h4m0 6h-4v-2h4m6-6h-2.81a5.985 5.985 0 0 0-1.82-1.96L17 4.41 15.59 3l-2.17 2.17a6.002 6.002 0 0 0-2.83 0L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8z'/></svg>");
|
||||
--md-admonition-icon--example: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 13v-2h14v2H7m0 6v-2h14v2H7M7 7V5h14v2H7M3 8V5H2V4h2v4H3m-1 9v-1h3v4H2v-1h2v-.5H3v-1h1V17H2m2.25-7a.75.75 0 0 1 .75.75c0 .2-.08.39-.21.52L3.12 13H5v1H2v-.92L4 11H2v-1h2.25z'/></svg>");
|
||||
--md-admonition-icon--quote: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3l-2 4z'/></svg>");
|
||||
--md-details-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23000000'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z'/%3E%3C/svg%3E");
|
||||
}
|
||||
|
||||
:is(.admonition) {
|
||||
display: flow-root;
|
||||
margin: 1.5625em 0;
|
||||
padding: 0 1.2rem;
|
||||
color: var(--fg);
|
||||
page-break-inside: avoid;
|
||||
background-color: var(--bg);
|
||||
border: 0 solid black;
|
||||
border-inline-start-width: 0.4rem;
|
||||
border-radius: 0.2rem;
|
||||
box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.05), 0 0 0.1rem rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.admonition p {
|
||||
display: block;
|
||||
margin-block-start: 1em;
|
||||
margin-block-end: 1em;
|
||||
margin-inline-start: 0px;
|
||||
margin-inline-end: 0px;
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
@media print {
|
||||
:is(.admonition) {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
:is(.admonition) > * {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
:is(.admonition) :is(.admonition) {
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
:is(.admonition) > .tabbed-set:only-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
html :is(.admonition) > :last-child {
|
||||
margin-bottom: 1.2rem;
|
||||
}
|
||||
|
||||
:is(.admonition-title, summary) {
|
||||
position: relative;
|
||||
margin-block: 0;
|
||||
margin-inline: -1.6rem -1.2rem;
|
||||
padding-block: 0.8rem;
|
||||
padding-inline: 4rem 1.2rem;
|
||||
font-weight: 700;
|
||||
background-color: rgba(68, 138, 255, 0.1);
|
||||
border: 0 solid #448aff;
|
||||
border-inline-start-width: 0.4rem;
|
||||
border-start-start-radius: 0.2rem;
|
||||
display: flex;
|
||||
}
|
||||
:is(.admonition-title, summary) > p {
|
||||
margin: 0;
|
||||
}
|
||||
html :is(.admonition-title, summary):last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
:is(.admonition-title, summary)::before {
|
||||
position: absolute;
|
||||
top: 0.625em;
|
||||
inset-inline-start: 1.2rem;
|
||||
width: 1.4rem;
|
||||
height: 1.4rem;
|
||||
background-color: #448aff;
|
||||
mask-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"></svg>');
|
||||
-webkit-mask-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"></svg>');
|
||||
mask-repeat: no-repeat;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
mask-size: contain;
|
||||
-webkit-mask-size: contain;
|
||||
content: "";
|
||||
}
|
||||
|
||||
:is(.admonition):is(.note) {
|
||||
border-color: #448aff;
|
||||
}
|
||||
|
||||
:is(.note) > :is(.admonition-title, summary) {
|
||||
background-color: rgba(68, 138, 255, 0.1);
|
||||
border-color: #448aff;
|
||||
}
|
||||
:is(.note) > :is(.admonition-title, summary)::before {
|
||||
background-color: #448aff;
|
||||
mask-image: var(--md-admonition-icon--note);
|
||||
-webkit-mask-image: var(--md-admonition-icon--note);
|
||||
mask-repeat: no-repeat;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
mask-size: contain;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
}
|
||||
|
||||
:is(.admonition):is(.abstract, .summary, .tldr) {
|
||||
border-color: #00b0ff;
|
||||
}
|
||||
|
||||
:is(.abstract, .summary, .tldr) > :is(.admonition-title, summary) {
|
||||
background-color: rgba(0, 176, 255, 0.1);
|
||||
border-color: #00b0ff;
|
||||
}
|
||||
:is(.abstract, .summary, .tldr) > :is(.admonition-title, summary)::before {
|
||||
background-color: #00b0ff;
|
||||
mask-image: var(--md-admonition-icon--abstract);
|
||||
-webkit-mask-image: var(--md-admonition-icon--abstract);
|
||||
mask-repeat: no-repeat;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
mask-size: contain;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
}
|
||||
|
||||
:is(.admonition):is(.info, .todo) {
|
||||
border-color: #00b8d4;
|
||||
}
|
||||
|
||||
:is(.info, .todo) > :is(.admonition-title, summary) {
|
||||
background-color: rgba(0, 184, 212, 0.1);
|
||||
border-color: #00b8d4;
|
||||
}
|
||||
:is(.info, .todo) > :is(.admonition-title, summary)::before {
|
||||
background-color: #00b8d4;
|
||||
mask-image: var(--md-admonition-icon--info);
|
||||
-webkit-mask-image: var(--md-admonition-icon--info);
|
||||
mask-repeat: no-repeat;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
mask-size: contain;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
}
|
||||
|
||||
:is(.admonition):is(.tip, .hint, .important) {
|
||||
border-color: #00bfa5;
|
||||
}
|
||||
|
||||
:is(.tip, .hint, .important) > :is(.admonition-title, summary) {
|
||||
background-color: rgba(0, 191, 165, 0.1);
|
||||
border-color: #00bfa5;
|
||||
}
|
||||
:is(.tip, .hint, .important) > :is(.admonition-title, summary)::before {
|
||||
background-color: #00bfa5;
|
||||
mask-image: var(--md-admonition-icon--tip);
|
||||
-webkit-mask-image: var(--md-admonition-icon--tip);
|
||||
mask-repeat: no-repeat;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
mask-size: contain;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
}
|
||||
|
||||
:is(.admonition):is(.success, .check, .done) {
|
||||
border-color: #00c853;
|
||||
}
|
||||
|
||||
:is(.success, .check, .done) > :is(.admonition-title, summary) {
|
||||
background-color: rgba(0, 200, 83, 0.1);
|
||||
border-color: #00c853;
|
||||
}
|
||||
:is(.success, .check, .done) > :is(.admonition-title, summary)::before {
|
||||
background-color: #00c853;
|
||||
mask-image: var(--md-admonition-icon--success);
|
||||
-webkit-mask-image: var(--md-admonition-icon--success);
|
||||
mask-repeat: no-repeat;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
mask-size: contain;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
}
|
||||
|
||||
:is(.admonition):is(.question, .help, .faq) {
|
||||
border-color: #64dd17;
|
||||
}
|
||||
|
||||
:is(.question, .help, .faq) > :is(.admonition-title, summary) {
|
||||
background-color: rgba(100, 221, 23, 0.1);
|
||||
border-color: #64dd17;
|
||||
}
|
||||
:is(.question, .help, .faq) > :is(.admonition-title, summary)::before {
|
||||
background-color: #64dd17;
|
||||
mask-image: var(--md-admonition-icon--question);
|
||||
-webkit-mask-image: var(--md-admonition-icon--question);
|
||||
mask-repeat: no-repeat;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
mask-size: contain;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
}
|
||||
|
||||
:is(.admonition):is(.warning, .caution, .attention) {
|
||||
border-color: #ff9100;
|
||||
}
|
||||
|
||||
:is(.warning, .caution, .attention) > :is(.admonition-title, summary) {
|
||||
background-color: rgba(255, 145, 0, 0.1);
|
||||
border-color: #ff9100;
|
||||
}
|
||||
:is(.warning, .caution, .attention) > :is(.admonition-title, summary)::before {
|
||||
background-color: #ff9100;
|
||||
mask-image: var(--md-admonition-icon--warning);
|
||||
-webkit-mask-image: var(--md-admonition-icon--warning);
|
||||
mask-repeat: no-repeat;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
mask-size: contain;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
}
|
||||
|
||||
:is(.admonition):is(.failure, .fail, .missing) {
|
||||
border-color: #ff5252;
|
||||
}
|
||||
|
||||
:is(.failure, .fail, .missing) > :is(.admonition-title, summary) {
|
||||
background-color: rgba(255, 82, 82, 0.1);
|
||||
border-color: #ff5252;
|
||||
}
|
||||
:is(.failure, .fail, .missing) > :is(.admonition-title, summary)::before {
|
||||
background-color: #ff5252;
|
||||
mask-image: var(--md-admonition-icon--failure);
|
||||
-webkit-mask-image: var(--md-admonition-icon--failure);
|
||||
mask-repeat: no-repeat;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
mask-size: contain;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
}
|
||||
|
||||
:is(.admonition):is(.danger, .error) {
|
||||
border-color: #ff1744;
|
||||
}
|
||||
|
||||
:is(.danger, .error) > :is(.admonition-title, summary) {
|
||||
background-color: rgba(255, 23, 68, 0.1);
|
||||
border-color: #ff1744;
|
||||
}
|
||||
:is(.danger, .error) > :is(.admonition-title, summary)::before {
|
||||
background-color: #ff1744;
|
||||
mask-image: var(--md-admonition-icon--danger);
|
||||
-webkit-mask-image: var(--md-admonition-icon--danger);
|
||||
mask-repeat: no-repeat;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
mask-size: contain;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
}
|
||||
|
||||
:is(.admonition):is(.bug) {
|
||||
border-color: #f50057;
|
||||
}
|
||||
|
||||
:is(.bug) > :is(.admonition-title, summary) {
|
||||
background-color: rgba(245, 0, 87, 0.1);
|
||||
border-color: #f50057;
|
||||
}
|
||||
:is(.bug) > :is(.admonition-title, summary)::before {
|
||||
background-color: #f50057;
|
||||
mask-image: var(--md-admonition-icon--bug);
|
||||
-webkit-mask-image: var(--md-admonition-icon--bug);
|
||||
mask-repeat: no-repeat;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
mask-size: contain;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
}
|
||||
|
||||
:is(.admonition):is(.example) {
|
||||
border-color: #7c4dff;
|
||||
}
|
||||
|
||||
:is(.example) > :is(.admonition-title, summary) {
|
||||
background-color: rgba(124, 77, 255, 0.1);
|
||||
border-color: #7c4dff;
|
||||
}
|
||||
:is(.example) > :is(.admonition-title, summary)::before {
|
||||
background-color: #7c4dff;
|
||||
mask-image: var(--md-admonition-icon--example);
|
||||
-webkit-mask-image: var(--md-admonition-icon--example);
|
||||
mask-repeat: no-repeat;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
mask-size: contain;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
}
|
||||
|
||||
:is(.admonition):is(.quote, .cite) {
|
||||
border-color: #9e9e9e;
|
||||
}
|
||||
|
||||
:is(.quote, .cite) > :is(.admonition-title, summary) {
|
||||
background-color: rgba(158, 158, 158, 0.1);
|
||||
border-color: #9e9e9e;
|
||||
}
|
||||
:is(.quote, .cite) > :is(.admonition-title, summary)::before {
|
||||
background-color: #9e9e9e;
|
||||
mask-image: var(--md-admonition-icon--quote);
|
||||
-webkit-mask-image: var(--md-admonition-icon--quote);
|
||||
mask-repeat: no-repeat;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
mask-size: contain;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.navy :is(.admonition) {
|
||||
background-color: var(--sidebar-bg);
|
||||
}
|
||||
|
||||
.ayu :is(.admonition),
|
||||
.coal :is(.admonition) {
|
||||
background-color: var(--theme-hover);
|
||||
}
|
||||
|
||||
.rust :is(.admonition) {
|
||||
background-color: var(--sidebar-bg);
|
||||
color: var(--sidebar-fg);
|
||||
}
|
||||
|
||||
:is(.admonition-title) {
|
||||
font-feature-settings: "kern", "liga";
|
||||
font-weight: 600;
|
||||
font-size: 0.84rem;
|
||||
border: none;
|
||||
padding: 10px 50px;
|
||||
}
|
||||
|
||||
:is(summary)::after {
|
||||
position: absolute;
|
||||
top: 0.625em;
|
||||
width: 1.4rem;
|
||||
height: 1.4rem;
|
||||
mask-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"></svg>');
|
||||
-webkit-mask-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"></svg>');
|
||||
mask-repeat: no-repeat;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
mask-size: contain;
|
||||
-webkit-mask-size: contain;
|
||||
content: "";
|
||||
}
|
||||
|
||||
:is(summary)::after {
|
||||
background-color: black;
|
||||
mask-image: var(--md-details-icon);
|
||||
-webkit-mask-image: var(--md-details-icon);
|
||||
mask-repeat: no-repeat;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
mask-size: contain;
|
||||
-webkit-mask-repeat: no-repeat;
|
||||
position: absolute;
|
||||
transform: rotate(-90deg);
|
||||
transition: transform 0.25s;
|
||||
right: 0.4rem;
|
||||
}
|
||||
|
||||
details[open] > summary::after {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
94
css/code.css
Normal file
@@ -0,0 +1,94 @@
|
||||
code.language-html,
|
||||
code.language-css,
|
||||
code.language-md,
|
||||
code.language-cmd,
|
||||
code.language-bash,
|
||||
code.language-text,
|
||||
code.language-js,
|
||||
span.o,
|
||||
span.nx {
|
||||
color: rgb(255, 255, 255);
|
||||
line-height: 1.4;
|
||||
}
|
||||
span.c {
|
||||
color: hsl(120, 100%, 20%);
|
||||
}
|
||||
|
||||
.active {
|
||||
color: #2E83FF;
|
||||
}
|
||||
|
||||
span.p,
|
||||
span.s1,
|
||||
span.s2,
|
||||
span.nt {
|
||||
color: hsl(40, 100%, 30%);
|
||||
}
|
||||
|
||||
span.gs,
|
||||
span.gh,
|
||||
span.ge {
|
||||
color: hsl(208, 100%, 50%);
|
||||
}
|
||||
|
||||
span.gs {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
span.ge {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
pre,
|
||||
code {
|
||||
@apply font-mono;
|
||||
}
|
||||
|
||||
code {
|
||||
background-color: hsl(0, 0%, 98%);
|
||||
border-radius: 3px;
|
||||
color: hsl(120, 100%, 20%);
|
||||
font-size: 85%;
|
||||
}
|
||||
|
||||
pre {
|
||||
margin: 0;
|
||||
margin: 0;
|
||||
padding: 1rem;
|
||||
overflow: scroll;
|
||||
}
|
||||
|
||||
pre code {
|
||||
background-color: transparent;
|
||||
color: inherit;
|
||||
font-size: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
background-color: transparent;
|
||||
border-radius: 3px;
|
||||
margin: 0 0 0.5rem;
|
||||
padding: 0;
|
||||
|
||||
& pre {
|
||||
margin-bottom: 0;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
& .lineno {
|
||||
color: hsla(0, 0%, 67%, 0.72);
|
||||
display: inline-block; /* Ensures the null space also isn't selectable */
|
||||
padding: 0 0.75rem 0 0.25rem;
|
||||
/* Make sure numbers aren't selectable */
|
||||
}
|
||||
}
|
||||
|
||||
/* TODO: dark theme for future
|
||||
@media (prefers-color-scheme: dark) {
|
||||
code {
|
||||
color: #fff;
|
||||
background: hsl(200, 63%, 15%);
|
||||
}
|
||||
}
|
||||
*/
|
||||
9
css/ffoxobliq.css
Normal file
@@ -0,0 +1,9 @@
|
||||
/* === handling obliquing issues in Firefox */
|
||||
|
||||
@supports (-moz-appearance: none) {
|
||||
.italic, i, cite, em, var, address, dfn, h3, .h3, h5, .h5 {
|
||||
font-style: oblique 8deg;
|
||||
}
|
||||
}
|
||||
|
||||
/* === end, handling obliquing issues in Firefox */
|
||||
509
css/index.css
Normal file
@@ -0,0 +1,509 @@
|
||||
/*! purgecss start ignore */
|
||||
/* @import "nav.css"; */
|
||||
@import "code.css";
|
||||
/*! purgecss end ignore */
|
||||
|
||||
@import "tailwindcss/base";
|
||||
@import "layout.css";
|
||||
@import "tailwindcss/components";
|
||||
@import "admonition.css";
|
||||
@import "tailwindcss/utilities";
|
||||
@import url("https://fonts.googleapis.com/css2?family=Ubuntu&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&display=swap");
|
||||
|
||||
/* Custom CSS for header partial */
|
||||
.backdrop-blur {
|
||||
-webkit-backdrop-filter: blur(40px);
|
||||
}
|
||||
|
||||
* {
|
||||
font-family: "Lato", sans-serif;
|
||||
}
|
||||
|
||||
.bg-semi-white {
|
||||
background-color: rgba(255, 255, 255, 0.75);
|
||||
}
|
||||
|
||||
/* Custom css allowing image styling in markdown */
|
||||
img[src*="#mx-auto"] {
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
img[src*="#small"] {
|
||||
width: 68px;
|
||||
}
|
||||
|
||||
img[src*="#medium"] {
|
||||
width: 400px;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
img[src*="#logo"] {
|
||||
max-width: min(250px, 100%);
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
img[src*="#icon"] {
|
||||
width: 200px;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
img[src*="#social"] {
|
||||
width: 100px;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
|
||||
img[src*="#large"] {
|
||||
width: 700px;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
img[src*="#tft_img"] {
|
||||
width: 150px;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
img[src*="#absolute"] {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
a img:hover{
|
||||
opacity: 0.5 !important;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.footer-cust a{
|
||||
color: #999;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.footer-cust a:hover {
|
||||
color: rgb(65, 65, 65);
|
||||
}
|
||||
|
||||
.footer-cust h6{
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.logo_size{
|
||||
width:200px
|
||||
}
|
||||
|
||||
h1 {
|
||||
line-height: 3rem;
|
||||
}
|
||||
.blue{
|
||||
color:#2E83FF
|
||||
}
|
||||
|
||||
.nav p > a {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
text-align: left;
|
||||
line-height: 1.5rem;
|
||||
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
|
||||
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
||||
transition-duration: 150ms;
|
||||
border-radius: 0.25rem;
|
||||
border-width: 2px;
|
||||
border-color: transparent;
|
||||
padding: 0.5rem;
|
||||
margin-top: 0.75rem;
|
||||
margin-bottom: 0.75rem;
|
||||
display: inline-block;
|
||||
border-width: 2px;
|
||||
border-color: rgb(0 0 0 / var(--tw-border-opacity));
|
||||
padding-left: 3rem;
|
||||
padding-right: 3rem;
|
||||
padding-top: 0.25rem;
|
||||
padding-bottom: 0.25rem;
|
||||
text-transform: capitalize;
|
||||
box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
|
||||
}
|
||||
|
||||
.nav p > a:hover {
|
||||
--tw-border-opacity: 1;
|
||||
border-color: rgb(231 229 228 / var(--tw-border-opacity));
|
||||
--tw-bg-opacity: 1;
|
||||
background-color: rgb(245 245 244 / var(--tw-bg-opacity));
|
||||
}
|
||||
|
||||
@layer components {
|
||||
h1 {
|
||||
@apply text-4xl lg:text-6xl font-normal;
|
||||
color: #2b2b2b;
|
||||
}
|
||||
h2 {
|
||||
@apply text-3xl lg:text-4xl my-4 font-normal leading-none;
|
||||
color: #2b2b2b;
|
||||
}
|
||||
h2 strong {
|
||||
@apply font-semibold;
|
||||
}
|
||||
h3 {
|
||||
@apply text-2xl lg:text-3xl my-4 font-extralight;
|
||||
color: #2b2b2b;
|
||||
}
|
||||
h3 strong {
|
||||
@apply font-normal;
|
||||
}
|
||||
h4 {
|
||||
@apply text-xl lg:text-2xl font-normal;
|
||||
}
|
||||
h5 {
|
||||
@apply text-md my-1 tracking-widest text-zinc-500 font-semibold;
|
||||
}
|
||||
h6 {
|
||||
@apply text-md not-italic font-normal my-1;
|
||||
}
|
||||
p {
|
||||
@apply text-lg;
|
||||
color: #3d3d3d;
|
||||
}
|
||||
blockquote {
|
||||
@apply border-l-4 border-gray-400 mx-2 my-2 p-2;
|
||||
}
|
||||
li {
|
||||
@apply text-base lg:text-base font-normal;
|
||||
}
|
||||
li li {
|
||||
@apply text-sm lg:text-sm font-light;
|
||||
}
|
||||
button {
|
||||
@apply
|
||||
inline-block
|
||||
lg:text-lg
|
||||
lg:mr-3
|
||||
py-1
|
||||
my-4
|
||||
border
|
||||
rounded
|
||||
shadow
|
||||
border-gray-400
|
||||
capitalize
|
||||
bg-gray-200
|
||||
}
|
||||
.my-header h4{
|
||||
color:#9f9f9f;
|
||||
|
||||
}
|
||||
|
||||
h3 a{
|
||||
color:#2b2b2b;
|
||||
|
||||
}
|
||||
|
||||
h3 a:hover{
|
||||
color:#2E83FF;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.article h2{
|
||||
font-size: 2.25rem;
|
||||
font-family: Lato,sans-serif!important;
|
||||
line-height: 1.5;
|
||||
font-weight: 700;
|
||||
color:#333;
|
||||
}
|
||||
|
||||
.article h1{
|
||||
font-family: Lato,sans-serif!important;
|
||||
}
|
||||
|
||||
}
|
||||
.article p{
|
||||
font-size: 1.125rem;
|
||||
font-family: Lato,sans-serif!important;
|
||||
line-height: 1.7;
|
||||
color:#333
|
||||
}
|
||||
|
||||
.post-content-text a, .article a{
|
||||
color: #4ec48f;
|
||||
}
|
||||
|
||||
.post-content-text a:hover, .article a:hover{
|
||||
color: #2e9969;
|
||||
}
|
||||
|
||||
.article li{
|
||||
font-size: 1.125rem;
|
||||
}
|
||||
.main-title {
|
||||
font-family: Lato,sans-serif!important;
|
||||
}
|
||||
|
||||
|
||||
button:hover :is(:where(a)) {
|
||||
color: #5e5e5e;
|
||||
}
|
||||
|
||||
button :is(:where(p)) {
|
||||
color: #3d3b39;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
button a {
|
||||
line-height: 1.3;
|
||||
@apply
|
||||
text-black
|
||||
px-12
|
||||
}
|
||||
|
||||
.long-text a{
|
||||
padding-left: 2rem;
|
||||
padding-right: 2rem;
|
||||
--tw-text-opacity: 1;
|
||||
color: rgb(0 0 0 / var(--tw-text-opacity));
|
||||
}
|
||||
|
||||
a {
|
||||
border-width: 0px;
|
||||
}
|
||||
|
||||
header {
|
||||
font-family: "Work Sans";
|
||||
}
|
||||
|
||||
.nav_btn {
|
||||
margin: 0 !important;
|
||||
border: none !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
.quicklinks {
|
||||
box-sizing: border-box;
|
||||
-webkit-align-items: center;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
width: auto;
|
||||
margin: 0 auto;
|
||||
border-radius: 10px;
|
||||
margin-top: 30px;
|
||||
-webkit-flex-wrap: wrap;
|
||||
-ms-flex-wrap: wrap;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.quicklinks img {
|
||||
height: auto;
|
||||
max-width: 200px;
|
||||
display: inline-block;
|
||||
padding: 10px;
|
||||
-webkit-filter: grayscale(100%);
|
||||
filter: grayscale(100%);
|
||||
position: relative;
|
||||
|
||||
-webkit-transition: all 0.2s ease;
|
||||
transition: all 0.2s ease;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.quicklinks img:hover {
|
||||
opacity: 1;
|
||||
-webkit-transition: all 0.2s ease;
|
||||
transition: all 0.2s ease;
|
||||
-webkit-filter: grayscale(0%);
|
||||
filter: grayscale(0%);
|
||||
}
|
||||
|
||||
|
||||
.banner {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 120px 0;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
display: block;
|
||||
color: #fff !important;
|
||||
letter-spacing: 0.5px;
|
||||
overflow: hidden;
|
||||
background: #00838d;
|
||||
transition: 1.5s;
|
||||
}
|
||||
|
||||
.header {
|
||||
height: auto;
|
||||
background: none;
|
||||
padding: 200px 0;
|
||||
}
|
||||
|
||||
.banner h2,
|
||||
.header h1 {
|
||||
margin: auto;
|
||||
color: #fff;
|
||||
position: relative;
|
||||
transition: 0.3s;
|
||||
z-index: 1;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.header h1 {
|
||||
color: #000;
|
||||
transition: none;
|
||||
}
|
||||
|
||||
.banner h2 svg {
|
||||
font-size: 40px;
|
||||
margin-left: 15px;
|
||||
position: absolute;
|
||||
top: 55%;
|
||||
transform: translateY(-50%) scale(0.5);
|
||||
opacity: 0;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.banner .back {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-position: center;
|
||||
background-size: cover;
|
||||
filter: grayscale(1) contrast(1.4);
|
||||
opacity: 0.25;
|
||||
transition: 1.5s;
|
||||
}
|
||||
|
||||
.header .back {
|
||||
filter: none;
|
||||
opacity: 1;
|
||||
background-position: center;
|
||||
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.banner:hover {
|
||||
background: #4b3a92;
|
||||
}
|
||||
|
||||
.header:hover {
|
||||
background: none;
|
||||
}
|
||||
|
||||
.banner:hover h2 svg {
|
||||
transform: translateY(-50%) scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.banner:hover h2 {
|
||||
padding-right: 40px;
|
||||
}
|
||||
|
||||
.header:hover h1 {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.banner:hover .back {
|
||||
transform: scale(1.03);
|
||||
}
|
||||
|
||||
.header:hover .back {
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.my-test{
|
||||
font-family: "Work Sans", sans-serif !important;
|
||||
}
|
||||
.post-content-text .my-test {
|
||||
font-family: "Work Sans", sans-serif !important;
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
.post-content-text h2 {
|
||||
font-family: Lato,sans-serif!important;
|
||||
line-height: 1.5;
|
||||
font-size: 2.25rem;
|
||||
font-weight: 700;
|
||||
}
|
||||
.container-fluid {
|
||||
width: 100%;
|
||||
/* padding-right: 15px;
|
||||
padding-left: 15px; */
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.zola-anchor {
|
||||
display: none;
|
||||
}
|
||||
@media (min-width: 1024px){
|
||||
h2 {
|
||||
font-size: 3.5rem;
|
||||
}
|
||||
}
|
||||
@media (max-width: 640px) {
|
||||
.banner h2 {
|
||||
font: 600 7vw/10vw;
|
||||
}
|
||||
|
||||
.header h1 {
|
||||
font-size: 35px;
|
||||
}
|
||||
|
||||
.banner h2 svg {
|
||||
font-size: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.banner,
|
||||
.header {
|
||||
padding: 80px 0;
|
||||
}
|
||||
|
||||
.article h2{
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
img[src*="#medium"] {
|
||||
width: 250px;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
img[src*="#sm_none"] {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
header #menu button {
|
||||
@apply
|
||||
lg:text-lg
|
||||
px-6
|
||||
py-1
|
||||
lg:mr-5
|
||||
my-3
|
||||
shadow
|
||||
bg-white
|
||||
border-black
|
||||
capitalize
|
||||
leading-6
|
||||
border-transparent
|
||||
flex
|
||||
flex-col
|
||||
border-2
|
||||
w-full
|
||||
items-start
|
||||
rounded
|
||||
transition
|
||||
hover:first:text-gray-500
|
||||
hover:border-stone-200
|
||||
hover:bg-stone-100
|
||||
p-2
|
||||
text-left
|
||||
}
|
||||
|
||||
header #menu button a{
|
||||
@apply
|
||||
px-0
|
||||
}
|
||||
466
css/layout.css
Normal file
@@ -0,0 +1,466 @@
|
||||
main {
|
||||
@apply pt-0;
|
||||
}
|
||||
|
||||
article p{
|
||||
@apply text-lg;
|
||||
}
|
||||
/*
|
||||
html, body {
|
||||
@apply dark:bg-black;
|
||||
|
||||
body {
|
||||
@apply font-serif dark:text-gray-200;
|
||||
}
|
||||
*/
|
||||
|
||||
p {
|
||||
/* for handling Markdown-created <p> and <li> */
|
||||
@apply text-lg;
|
||||
}
|
||||
|
||||
pre,
|
||||
code {
|
||||
font-feature-settings: normal;
|
||||
}
|
||||
|
||||
.navWhite,
|
||||
.navWhite:visited {
|
||||
@apply text-white;
|
||||
}
|
||||
|
||||
.navWhite:focus,
|
||||
.navWhite:active {
|
||||
@apply text-gray-400;
|
||||
}
|
||||
|
||||
.text-blue-light {
|
||||
@apply text-gray-500;
|
||||
}
|
||||
|
||||
.text-blue-dark {
|
||||
/* for dark mode
|
||||
@apply text-blue-200;
|
||||
*/
|
||||
}
|
||||
|
||||
.text-shadow-titles {
|
||||
text-shadow: 4px 4px 2px #000;
|
||||
}
|
||||
|
||||
.gradient-titles {
|
||||
@apply bg-gradient-to-b from-blue-700 to-black;
|
||||
}
|
||||
|
||||
.ctr {
|
||||
@apply text-center;
|
||||
}
|
||||
|
||||
.legal {
|
||||
@apply text-xs;
|
||||
}
|
||||
|
||||
nav h4 a:hover {
|
||||
@apply border-0 text-blue-300 font-light;
|
||||
}
|
||||
nav h4 a,
|
||||
nav h4 a:focus,
|
||||
nav h4 a:active {
|
||||
@apply border-0 text-black font-light;
|
||||
}
|
||||
|
||||
a h2 {
|
||||
@apply text-black;
|
||||
}
|
||||
|
||||
a {
|
||||
@apply text-blue-600 font-semibold;
|
||||
}
|
||||
a:focus,
|
||||
a:hover {
|
||||
@apply text-blue-300;
|
||||
}
|
||||
a:active {
|
||||
@apply text-blue-800 border-blue-500;
|
||||
}
|
||||
|
||||
h5 a {
|
||||
@apply text-gray-900 font-normal;
|
||||
}
|
||||
|
||||
/*
|
||||
a:hover {
|
||||
@apply dark:text-blue-300;
|
||||
}
|
||||
*/
|
||||
|
||||
sup a,
|
||||
a.previous,
|
||||
a.next,
|
||||
.footnote-return {
|
||||
@apply border-b-0;
|
||||
}
|
||||
|
||||
#nav-toggle:checked + #navMenu {
|
||||
@apply block;
|
||||
}
|
||||
|
||||
a.navborderless {
|
||||
@apply border-b-0;
|
||||
}
|
||||
/*
|
||||
.dateInfo {
|
||||
@apply text-gray-700 dark:text-gray-400;
|
||||
}
|
||||
*/
|
||||
|
||||
h1,
|
||||
.h1,
|
||||
h2,
|
||||
.h2,
|
||||
h3,
|
||||
.h3,
|
||||
h4,
|
||||
.h4,
|
||||
h5,
|
||||
.h5,
|
||||
h6,
|
||||
.h6 {
|
||||
@apply font-sans leading-tight tracking-tight;
|
||||
}
|
||||
|
||||
h1,
|
||||
.h1 {
|
||||
@apply text-4xl mb-4 font-extrabold;
|
||||
}
|
||||
|
||||
h2,
|
||||
.h2,
|
||||
h3,
|
||||
.h3,
|
||||
h4,
|
||||
.h4,
|
||||
h5,
|
||||
.h5,
|
||||
h6,
|
||||
.h6 {
|
||||
@apply font-bold;
|
||||
}
|
||||
|
||||
h2,
|
||||
.h2 {
|
||||
@apply text-4xl;
|
||||
}
|
||||
|
||||
h4,
|
||||
.h4 {
|
||||
@apply text-2xl;
|
||||
}
|
||||
|
||||
h5 {
|
||||
@apply not-italic;
|
||||
}
|
||||
|
||||
h5,
|
||||
.h5,
|
||||
h6,
|
||||
.h6 {
|
||||
@apply text-lg;
|
||||
}
|
||||
|
||||
.height-hero {
|
||||
height: 45vh;
|
||||
max-height: 45vh;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.height-post {
|
||||
height: 35vh;
|
||||
max-height: 35vh;
|
||||
}
|
||||
|
||||
.imgCover {
|
||||
@apply object-cover object-center h-full w-full;
|
||||
}
|
||||
|
||||
.background-hero-image-div {
|
||||
@apply relative overflow-hidden w-full bg-black;
|
||||
/* Have to allow for mobile browsers' own "chrome"; can't go by Inspector simulations of smaller breakpoints */
|
||||
height: 80vh;
|
||||
max-height: 80vh;
|
||||
}
|
||||
|
||||
.background-hero-title-block-fit {
|
||||
@apply block w-full absolute bottom-0 px-4 pt-3 pb-6 bg-gradient-to-t from-black;
|
||||
}
|
||||
|
||||
.background-hero-title-text {
|
||||
text-shadow: 4px 4px 2px #000;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 768px) {
|
||||
.background-hero-title-block-fit {
|
||||
@apply px-12;
|
||||
}
|
||||
|
||||
.background-hero-image-div {
|
||||
height: 85vh;
|
||||
max-height: 85vh;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 1024px) {
|
||||
.background-hero-title-block-fit {
|
||||
@apply px-16;
|
||||
}
|
||||
|
||||
.background-hero-image-div {
|
||||
height: 95vh;
|
||||
max-height: 95vh;
|
||||
}
|
||||
}
|
||||
|
||||
.text-nowrap,
|
||||
.text-nobrk {
|
||||
@apply whitespace-nowrap;
|
||||
}
|
||||
|
||||
article h1,
|
||||
article h2,
|
||||
article h3,
|
||||
article h4 {
|
||||
@apply tracking-tight mt-8 mb-6;
|
||||
}
|
||||
|
||||
article p {
|
||||
@apply text-lg leading-relaxed;
|
||||
}
|
||||
|
||||
article img.containedImage {
|
||||
min-width: 100%;
|
||||
max-width: 100%;
|
||||
@apply w-full h-auto;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 768px) {
|
||||
.height-hero {
|
||||
height: 70vh;
|
||||
max-height: 70vh;
|
||||
}
|
||||
|
||||
.height-post {
|
||||
height: 40vh;
|
||||
max-height: 40vh;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 768px) {
|
||||
article p {
|
||||
@apply text-xl leading-relaxed;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 1920px) {
|
||||
article p {
|
||||
@apply text-2xl leading-relaxed;
|
||||
}
|
||||
}
|
||||
/*
|
||||
.yellowBox {
|
||||
@apply font-sans bg-yellow-200 border border-gray-900 border-solid mx-auto my-2 w-full px-6 py-2 dark:bg-gray-800 dark:border-gray-500;
|
||||
}
|
||||
*/
|
||||
|
||||
.yellowbox p {
|
||||
@apply w-full p-2 m-0;
|
||||
}
|
||||
|
||||
ul,
|
||||
ol {
|
||||
@apply pl-8;
|
||||
}
|
||||
|
||||
ul {
|
||||
@apply list-disc;
|
||||
}
|
||||
|
||||
ol {
|
||||
@apply list-decimal;
|
||||
}
|
||||
|
||||
.twitter-tweet {
|
||||
@apply mt-4 mx-auto mb-0;
|
||||
}
|
||||
|
||||
table.leagues {
|
||||
@apply w-11/12 mt-4 mx-auto mb-0 border-0 border-collapse;
|
||||
}
|
||||
|
||||
table.leagues td.col {
|
||||
@apply w-1/2;
|
||||
}
|
||||
|
||||
@media (min-width: 900px) {
|
||||
table.leagues {
|
||||
@apply w-3/5;
|
||||
}
|
||||
table.noborders {
|
||||
@apply w-11/12;
|
||||
}
|
||||
}
|
||||
|
||||
table.noborders {
|
||||
@apply w-full border-0 border-collapse mt-6 mx-auto mb-4;
|
||||
}
|
||||
|
||||
table.noborders td {
|
||||
@apply text-gray-800 text-left align-middle py-1 pr-0 pl-2;
|
||||
/* text-align: left !important; */
|
||||
}
|
||||
|
||||
table.noborders td img {
|
||||
@apply inline-block align-middle m-0;
|
||||
}
|
||||
|
||||
table.noborders tr {
|
||||
@apply bg-blue-100;
|
||||
}
|
||||
|
||||
table.noborders tr:nth-child(even) {
|
||||
@apply bg-gray-200;
|
||||
}
|
||||
|
||||
table.noborders thead tr {
|
||||
@apply bg-blue-700;
|
||||
}
|
||||
|
||||
table.noborders thead td {
|
||||
@apply text-white font-bold;
|
||||
}
|
||||
|
||||
table.noborders td.td70 {
|
||||
width: 70%;
|
||||
}
|
||||
table.noborders td.td70 img {
|
||||
@apply block w-1/2 h-auto;
|
||||
max-width: 50%;
|
||||
}
|
||||
|
||||
table.noborders td.td30 {
|
||||
width: 30%;
|
||||
}
|
||||
/*
|
||||
blockquote {
|
||||
@apply px-6 text-gray-700 dark:text-gray-400;
|
||||
}
|
||||
*/
|
||||
|
||||
/* start, footnotes */
|
||||
|
||||
.footnote-definition,
|
||||
.footnote-reference {
|
||||
@apply font-sans;
|
||||
}
|
||||
|
||||
.footnote-reference {
|
||||
font-size: 0.65em;
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
.footnote-sim {
|
||||
font-size: 0.65em;
|
||||
color: #0000ff;
|
||||
@media (prefers-color-scheme: dark) {
|
||||
color: #00aaff;
|
||||
}
|
||||
}
|
||||
|
||||
.footnotes {
|
||||
& ol {
|
||||
padding-inline-start: 1.5rem;
|
||||
}
|
||||
& ol li {
|
||||
margin-bottom: 0.5rem;
|
||||
font-size: $pokey;
|
||||
}
|
||||
& li p {
|
||||
font-size: 100%;
|
||||
line-height: 1.4;
|
||||
}
|
||||
& .footnote-backref {
|
||||
font-size: 75%;
|
||||
}
|
||||
}
|
||||
|
||||
a.footnote-return {
|
||||
font-size: 50%;
|
||||
}
|
||||
|
||||
article > .footnote-definition {
|
||||
border-top: 1px solid black;
|
||||
padding-top: 1em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
article > .footnote-definition ~ .footnote-definition {
|
||||
border-top: 0;
|
||||
padding-top: 0;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.footnote-definition-label {
|
||||
top: -0.4em;
|
||||
font-size: 0.65em;
|
||||
}
|
||||
|
||||
.footnote-definition-label + p {
|
||||
font-size: 75%;
|
||||
margin-top: -1.75em;
|
||||
margin-left: 1em;
|
||||
line-height: 1.35;
|
||||
}
|
||||
|
||||
.footnote-definition-label::after {
|
||||
content: ".";
|
||||
}
|
||||
|
||||
/* == end, footnotes */
|
||||
|
||||
.aspect-16x9 {
|
||||
padding-bottom: 56.25%;
|
||||
}
|
||||
/*
|
||||
hr {
|
||||
@apply border-solid border-gray-900 dark:border-gray-100;
|
||||
}
|
||||
*/
|
||||
|
||||
footer {
|
||||
@apply font-sans;
|
||||
}
|
||||
|
||||
.lazypicturecaption {
|
||||
@apply text-sm p-0 mt-2 leading-snug text-center;
|
||||
}
|
||||
|
||||
.home-colOne p {
|
||||
@apply leading-8 mb-4;
|
||||
}
|
||||
|
||||
.home-colOne img {
|
||||
@apply my-4;
|
||||
}
|
||||
|
||||
.container-comments {
|
||||
margin: 0 auto;
|
||||
font-size: 85%;
|
||||
width: 85%;
|
||||
max-width: 720px !important;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 900px) {
|
||||
.container-comments {
|
||||
width: 40%;
|
||||
}
|
||||
}
|
||||
0
css/nav.css
Normal file
54
templates/_default/base.html
Normal file
@@ -0,0 +1,54 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" charset="utf-8">
|
||||
{% include "partials/head.html" %}
|
||||
{% include "partials/header.html" %}
|
||||
|
||||
<body>
|
||||
|
||||
<!-- Google Tag Manager (noscript) -->
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-N7PNMFH" height="0" width="0"
|
||||
style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<!-- End Google Tag Manager (noscript) -->
|
||||
|
||||
<!-- Twitter universal website tag code -->
|
||||
<script>
|
||||
!function (e, t, n, s, u, a) {
|
||||
e.twq || (s = e.twq = function () {
|
||||
s.exe ? s.exe.apply(s, arguments) : s.queue.push(arguments);
|
||||
}, s.version = '1.1', s.queue = [], u = t.createElement(n), u.async = !0, u.src = '//static.ads-twitter.com/uwt.js',
|
||||
a = t.getElementsByTagName(n)[0], a.parentNode.insertBefore(u, a))
|
||||
}(window, document, 'script');
|
||||
// Insert Twitter Pixel ID and Standard Event data below
|
||||
twq('init', 'o745b');
|
||||
twq('track', 'PageView');
|
||||
|
||||
|
||||
// makes all links outside of hostname open in new tab
|
||||
// from: https://stackoverflow.com/a/4425214
|
||||
var links = document.links;
|
||||
var internal_hosts = [
|
||||
'www.threefold.io',
|
||||
'threefold.io',
|
||||
'www2.threefold.io',
|
||||
'localhost',
|
||||
'127.0.0.1'
|
||||
]
|
||||
for (var i = 0, linksLength = links.length; i < linksLength; i++) {
|
||||
if (!internal_hosts.includes(links[i].hostname)) {
|
||||
links[i].target = '_blank';
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<!-- End Twitter universal website tag code -->
|
||||
|
||||
{% include "partials/header.html" %}
|
||||
<div id="content" class="px-4 lg:px-0 pt-12 overflow-hidden">
|
||||
{% block content %}{% endblock %}
|
||||
</div>
|
||||
<div class="p-8">
|
||||
{% include "partials/footer.html" %}
|
||||
</div>
|
||||
<script type="text/javascript" src="{{ get_url(path='js/custom.js')}}"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
101
templates/blogPage.html
Normal file
@@ -0,0 +1,101 @@
|
||||
{% extends "_default/base.html" %}
|
||||
{% block content %}
|
||||
|
||||
{% if page.taxonomies.people %}
|
||||
{% set people = get_section(path="people/_index.md") %}
|
||||
{% set pages_str = people.pages | json_encode() | as_str %}
|
||||
{% if pages_str is containing(page.taxonomies.people[0]) %}
|
||||
{% set author_path = 'people/' ~ page.taxonomies.people[0] ~ '/index.md' %}
|
||||
{% set author = get_page(path=author_path) %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<!-- Default page template for blog posts and basic informative markdown files -->
|
||||
|
||||
{% set split = page.content | split(pat="threefold.io") %}
|
||||
{% if split | length < 2 %} {% set content=page.content %} {% else %} {% set content="" %} {% for part in split %} {% if
|
||||
part is starting_with("/blog") %} {% set split_part=part | split(pat='/">' ) %} {% set link=split_part[0] %} {% set
|
||||
link=link | replace(from="/blog/post" , to="/blog" ) %} {% set link=link | replace(from="_" , to="-" ) %} {% set
|
||||
rest_part=split_part | slice(start=1) | join(sep='/">' ) %} {% set part=link ~ '/">' ~ rest_part %} {% endif %} {% if
|
||||
loop.first %} {% set_global content=part%} {% else %} {% set_global content=content ~ "threefold.io" ~ part%} {% endif
|
||||
%} {% endfor %} {% endif %} <main>
|
||||
|
||||
<div class="container mx-auto mt-10">
|
||||
|
||||
<div>
|
||||
<article class="article lg:w-4/6 mx-auto">
|
||||
<h1 class="lg:text-5xl text-2xl font-medium leading-none mt-0 text-gray-700">
|
||||
{{ page.title }}
|
||||
</h1>
|
||||
|
||||
<h4 class="lg:text-2xl text-base text-gray-600 leading-8">
|
||||
{{ page.description }}
|
||||
</h4>
|
||||
<section class="post-author-list mb-3 mx-0">
|
||||
<div class="flex items-center">
|
||||
<div class="flex justify-between items-center">
|
||||
<ul class="list-none flex author-list m-0">
|
||||
<li class="author-list-item">
|
||||
{% if author %}
|
||||
{% set author_img = get_url(path='/' ~ author.relative_path | replace(from='_', to='-') |
|
||||
replace(from='index.md', to=author.extra.imgPath)) %}
|
||||
<img src="{{author_img}}" alt="{{author.title}}" class="
|
||||
h-8
|
||||
w-8
|
||||
sm:h-10
|
||||
sm:w-10
|
||||
rounded-full
|
||||
bg-gray-200
|
||||
border-2 border-white
|
||||
" />
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="pl-3 flex flex-col text-xs leading-none uppercase">
|
||||
{% if author %}
|
||||
<a href="{{author.permalink}}" class="text-gray-700 text-xs">{{ author.title }}</a>
|
||||
{% endif %}
|
||||
<p class="text-gray-700 text-xs">
|
||||
<time datetime="{{ page.date }}"> {{ page.date | date(format="%B %e, %Y", timezone="America/Chicago")
|
||||
}}</time><br />
|
||||
<span id="time"
|
||||
class="time"></span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="my-2 sharethis-inline-share-buttons"></div>
|
||||
</section>
|
||||
{% set img_url = get_url(path='/' ~ page.relative_path | replace(from='_', to='-') | replace(from='index.md',
|
||||
to=page.extra.imgPath)) %}
|
||||
<img class="mb-8 mx-auto" src={{img_url}} alt="{{page.title ~ 'Picture'}}">
|
||||
<div>{{ content | safe }}</div>
|
||||
<section class="post-tags container relative py-10">
|
||||
{% for tag in page.taxonomies.tags %}
|
||||
{% set fullpath = "/tags/" ~ tag | replace(from='_', to='-' ) %}
|
||||
<button 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
|
||||
"><a href="{{fullpath}}">{{ tag }}</a></button>
|
||||
|
||||
{% endfor %}
|
||||
</section>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
{% endblock content %}
|
||||
4
templates/categories/list.html
Normal file
@@ -0,0 +1,4 @@
|
||||
{% extends "index.html" %}
|
||||
|
||||
{% block content %}
|
||||
{% endblock content %}
|
||||
14
templates/categories/single.html
Normal file
@@ -0,0 +1,14 @@
|
||||
{% extends "index.html" %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<main class="pt-16">
|
||||
|
||||
<div class="flex flex-col md:flex-row">
|
||||
{% include "partials/blogPosts.html" %}
|
||||
{% include "partials/blogSidebar.html" %}
|
||||
</div>
|
||||
</main>
|
||||
|
||||
{% endblock content %}
|
||||
|
||||
9
templates/index.html
Normal file
@@ -0,0 +1,9 @@
|
||||
{% extends "_default/base.html" %}
|
||||
{% block content %}
|
||||
|
||||
<!-- home page template, has a banner and rows of page summaries -->
|
||||
<div>
|
||||
{% set page = get_page(path="home/index.md") %}
|
||||
{{page.content | safe}}
|
||||
</div>
|
||||
{% endblock content %}
|
||||
40
templates/jobPage.html
Normal file
@@ -0,0 +1,40 @@
|
||||
{% extends "_default/base.html" %}
|
||||
{% block content %}
|
||||
|
||||
<div class="container sm:pxi-0 mx-auto min-h-screen pt-24 mt-5">
|
||||
<div class="flex flex-row flex-wrap items-center mx-4 sm:mx-0">
|
||||
<div class="w-full md:w-5/6 md:pl-8 lg:pl-0">
|
||||
<h3 class="
|
||||
uppercase
|
||||
leading-none
|
||||
text-bold
|
||||
text-gray-800
|
||||
font-black font-heading
|
||||
">
|
||||
{{ page.title }}
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<section class="post-content mx-auto relative font-serif text-gray-700">
|
||||
<div class="mt-6 mb-8 text-gray-900">{{ page.content | safe }}</div>
|
||||
<button class="
|
||||
inline-block
|
||||
bg-green-500
|
||||
text-sm
|
||||
learn-button
|
||||
hover:bg-green-600
|
||||
px-8
|
||||
py-2
|
||||
mr-2
|
||||
my-0
|
||||
shadow
|
||||
rounded-full
|
||||
active--exact active
|
||||
">
|
||||
<a href="{{page.extra.link}}" target="_blank" aria-current="page">
|
||||
{{ page.extra.button }}
|
||||
</a>
|
||||
</button>
|
||||
</section>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
32
templates/layouts/blog.html
Normal file
@@ -0,0 +1,32 @@
|
||||
{% extends "_default/base.html" %}
|
||||
<!-- blog template
|
||||
the template for displaying the blog page.
|
||||
consists of a featured blog row,
|
||||
a paginated list of posts (sorted by date),
|
||||
and a side nav for category and featured post navigation
|
||||
-->
|
||||
|
||||
{% block content %}
|
||||
|
||||
<main>
|
||||
|
||||
<!--sets global featured variable as the most recent post with the isFeatured tag-->
|
||||
{%- set section = get_section(path="blog/_index.md") %}
|
||||
{% for page in section.pages %}
|
||||
{% if page.extra.isFeatured %}
|
||||
{%- set_global featured = page %}
|
||||
{% break %}
|
||||
{% endif %}
|
||||
{% if not featured %}
|
||||
{%- set_global featured = section.pages[0] %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
|
||||
<div class="flex flex-col md:flex-row container mx-auto my-6">
|
||||
{% include "partials/blogPosts.html" %}
|
||||
{% include "partials/blogSidebar.html" %}
|
||||
</div>
|
||||
</main>
|
||||
|
||||
{% endblock content %}
|
||||
8
templates/layouts/faq.html
Normal file
@@ -0,0 +1,8 @@
|
||||
{% extends "_default/base.html" %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container-fluid sm:pxi-0 mx-auto overflow-x-hidden">
|
||||
{% include "partials/accordion.html" %}
|
||||
</div>
|
||||
|
||||
{% endblock content %}
|
||||
18
templates/layouts/horizontal_section.html
Normal file
@@ -0,0 +1,18 @@
|
||||
{% extends "_default/base.html" %}
|
||||
{% import "macros.html" as macros %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<main class="lg:mt-6">
|
||||
<div class="flex">
|
||||
<div class="w-4/6 pr-20">
|
||||
{{ section.content | safe}}
|
||||
</div>
|
||||
<div class="w-2/6 pl-20">
|
||||
{{ macros::page_list(item_type="page-box", group=false) }}
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
</main>
|
||||
|
||||
{% endblock content %}
|
||||
33
templates/layouts/newsroom.html
Normal file
@@ -0,0 +1,33 @@
|
||||
{% extends "_default/base.html" %}
|
||||
<!-- News template
|
||||
the template for displaying the news page.
|
||||
consists of a featured news row,
|
||||
a paginated list of posts (sorted by date),
|
||||
and a side nav for category and featured post navigation
|
||||
-->
|
||||
|
||||
{% block content %}
|
||||
|
||||
<main>
|
||||
|
||||
<!--sets global featured variable as the most recent post with the isFeatured tag-->
|
||||
{%- set section = get_section(path="newsroom/_index.md") %}
|
||||
{% for page in section.pages %}
|
||||
{% if page.extra.isFeatured %}
|
||||
{%- set_global featured = page %}
|
||||
{% break %}
|
||||
{% endif %}
|
||||
{% if not featured %}
|
||||
{%- set_global featured = section.pages[0] %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% include "partials/featuredNews.html" %}
|
||||
|
||||
<div class="flex flex-col md:flex-row container mx-auto my-6">
|
||||
{% include "partials/newsPosts.html" %}
|
||||
{% include "partials/newsSidebar.html" %}
|
||||
</div>
|
||||
</main>
|
||||
|
||||
{% endblock content %}
|
||||
18
templates/layouts/partners.html
Normal file
@@ -0,0 +1,18 @@
|
||||
{% extends "_default/base.html" %}
|
||||
<!-- partners template
|
||||
the template for displaying the partners page.
|
||||
consists of a featured partners row,
|
||||
a paginated list of posts (sorted by date),
|
||||
and a side nav for category and featured post navigation
|
||||
-->
|
||||
{% block content %}
|
||||
<main>
|
||||
<!--sets global featured variable as the most recent post with the isFeatured tag-->
|
||||
{%- set section = get_section(path="partners/_index.md") %}
|
||||
{% include "partials/intro.html" %}
|
||||
<div class="flex flex-row container mx-auto my-10">
|
||||
{% include "partials/partnersCards.html" %}
|
||||
{% include "partials/partnersSidebar.html" %}
|
||||
</div>
|
||||
</main>
|
||||
{% endblock content %}
|
||||
83
templates/layouts/people.html
Normal file
@@ -0,0 +1,83 @@
|
||||
{% extends "_default/base.html" %}
|
||||
<!-- partners template
|
||||
the template for displaying the partners page.
|
||||
consists of a featured partners row,
|
||||
a paginated list of posts (sorted by date),
|
||||
and a side nav for category and featured post navigation
|
||||
-->
|
||||
|
||||
{% block content %}
|
||||
|
||||
<main>
|
||||
|
||||
<!--sets global featured variable as the most recent post with the isFeatured tag-->
|
||||
{%- set section = get_section(path="people/_index.md") %}
|
||||
<div class="container mx-auto">
|
||||
{% include "partials/filter_bar.html" %}
|
||||
<div class="text-center main-title px-0 md:w-full">
|
||||
<h1
|
||||
class="tracking-tight text-5xl text-left text-2xl sm:text-3xl md:text-4xl lg:text-5xl fw-500 leading-snug font-normal mb-10"
|
||||
>
|
||||
{% set path_array = current_path | split(pat="/") %}
|
||||
{% set taxonomy = path_array[1] %}
|
||||
{% set category = path_array[2] %}
|
||||
{{category | replace(from='-', to=' ' ) | title}}
|
||||
</h1>
|
||||
<div>
|
||||
<div class="mt-12 grid gap-5 max-w-lg mx-auto lg:grid-cols-2 xl:grid-cols-4 lg:max-w-none">
|
||||
{%- for page in paginator.pages %}
|
||||
{% if "Engineering" == "Engineering"%}
|
||||
{% include "partials/personCard.html" %}
|
||||
{%endif%} {%- endfor %}
|
||||
</div>
|
||||
<hr class="mt-6" />
|
||||
<p class="text-center text-sm mt-2 mb-16">
|
||||
{% if paginator.previous %}
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="First page"
|
||||
href="{{ paginator.first }}"
|
||||
>{% include "partials/icons/svgPrevPageIcon.html" %}{% include
|
||||
"partials/icons/svgPrevPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Previous page"
|
||||
href="{{ paginator.previous }}"
|
||||
>{% include "partials/icons/svgPrevPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
{% else %} {%
|
||||
include "partials/icons/svgFirstPageIcon.html" %}{% include
|
||||
"partials/icons/svgFirstPageIcon.html" %}
|
||||
{% include
|
||||
"partials/icons/svgFirstPageIcon.html" %}
|
||||
|
||||
{% endif %} {% if
|
||||
paginator.next %}
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Next page"
|
||||
href="{{ paginator.next }}"
|
||||
>{% include "partials/icons/svgNextPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Last page"
|
||||
href="{{ paginator.last }}"
|
||||
>{% include "partials/icons/svgNextPageIcon.html" %}{% include
|
||||
"partials/icons/svgNextPageIcon.html" %}</a
|
||||
>
|
||||
{% else %} {% include "partials/icons/svgLastPageIcon.html" %}
|
||||
{% include
|
||||
"partials/icons/svgLastPageIcon.html" %}{% include
|
||||
"partials/icons/svgLastPageIcon.html" %} {% endif %}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
{% endblock content %}
|
||||
14
templates/list.html
Normal file
@@ -0,0 +1,14 @@
|
||||
{% extends "_default/base.html" %}
|
||||
{% block content %}
|
||||
|
||||
<!-- Page template for blog posts and basic informative markdown files -->
|
||||
<h1 class="title">
|
||||
{{ section.title }}
|
||||
</h1>
|
||||
<ul>
|
||||
{% for page in section.pages %}
|
||||
<li>{{ page.date | date(format="%B %e, %Y", timezone="America/Chicago") }} • <a href="{{ page.permalink | safe }}">{{ page.title }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<p>This comes from /templates/_default/list.html.</p>
|
||||
{% endblock content %}
|
||||
39
templates/macros.html
Normal file
@@ -0,0 +1,39 @@
|
||||
<!-- Takes the path of a page and checks if it exists
|
||||
- if exists sets the page
|
||||
-->
|
||||
{% macro get_if_exists(path, type="text") %}
|
||||
{% set pages_str = people.pages | json_encode() | as_str %}
|
||||
{% if pages_str is containing(person.name) %}
|
||||
{% set page = get_page(path=page_path) %}
|
||||
{% endif %}
|
||||
{{ page }}
|
||||
{% endmacro get_if_exists %}
|
||||
|
||||
{% macro page_list(type="text") %}
|
||||
<div id="list"></div>
|
||||
{% if section.extra.group_pages_by %}
|
||||
<div class="flex flex-col md:grid md:grid-cols-2 md:gap-12 lg:flex lg:flex-row justify-around text-center">
|
||||
{% set taxonomy = get_taxonomy(kind=section.extra.group_pages_by) %}
|
||||
{% set roles = taxonomy.items %}
|
||||
{% for role in roles %}
|
||||
<div class="flex flex-col items-start text-left my-8 mx-4 md:mx-8 lg:mx-4 flex-1 w-72">
|
||||
{% set icon_path = config.extra.taxonomies["roles"][role.name].icon_path | as_str %}
|
||||
<img src="{{icon_path}}" alt="role category icon" class="h-10 my-4">
|
||||
{% set path = role.name | slugify %}
|
||||
{% set fullpath = "/roles/" ~ path %}
|
||||
<a href={{fullpath}} class="text-2xl text-black font-normal lg:mb-8 cursor-pointer"> {{role.name}} </a>
|
||||
{% for page in role.pages %}
|
||||
{% include "partials/pageBox.html"%}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
{% for page in section.pages %}
|
||||
{{page}}
|
||||
{% include "partials/pageBox.html"%}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endmacro page_list %}
|
||||
|
||||
|
||||
4
templates/memberships/list.html
Normal file
@@ -0,0 +1,4 @@
|
||||
{% extends "index.html" %}
|
||||
|
||||
{% block content %}
|
||||
{% endblock content %}
|
||||
88
templates/memberships/single.html
Normal file
@@ -0,0 +1,88 @@
|
||||
{% extends "index.html" %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% if not paginator %}
|
||||
{% set paginator = section %}
|
||||
{% endif %}
|
||||
|
||||
{% set path_array = current_path | split(pat="/") %}
|
||||
{% set taxonomy = path_array[1] %}
|
||||
{% set category = path_array[2] %}
|
||||
{% if path_array | length < 3%}
|
||||
{% set category = "All" %}
|
||||
{% endif %}
|
||||
|
||||
<div class="mt-16 mx-auto max-w-7xl px-6 lg:px-8">
|
||||
{% include "partials/filter_bar.html" %}
|
||||
<div class="text-center main-title px-0 md:w-full">
|
||||
<div class="my-4 flex flex-col items-start">
|
||||
<h2 class="tracking-tight text-left text-3xl lg:text-5xl fw-500 leading-snug font-normal">
|
||||
{{category | replace(from='-', to=' ' ) | title}}
|
||||
</h2>
|
||||
<div class="text-xl text-gray-800">
|
||||
{{ paginator.total_pages ~ " People"}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div>
|
||||
<div class="mx-auto mt-4 grid max-w-2xl grid-cols-1 gap-x-4 gap-y-8 sm:grid-cols-2 lg:mx-0 lg:max-w-none lg:grid-cols-3 xl:grid-cols-4">
|
||||
{%- for page in paginator.pages %}
|
||||
{% include "partials/person_card.html" %}
|
||||
{%- endfor %}
|
||||
</div>
|
||||
<hr class="mt-6" />
|
||||
<p class="text-center text-sm mt-2 mb-16">
|
||||
{% if paginator.previous %}
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="First page"
|
||||
href="{{ paginator.first }}"
|
||||
>{% include "partials/icons/svgPrevPageIcon.html" %}{% include
|
||||
"partials/icons/svgPrevPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Previous page"
|
||||
href="{{ paginator.previous }}"
|
||||
>{% include "partials/icons/svgPrevPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
{% else %} {%
|
||||
include "partials/icons/svgFirstPageIcon.html" %}{% include
|
||||
"partials/icons/svgFirstPageIcon.html" %}
|
||||
{% include
|
||||
"partials/icons/svgFirstPageIcon.html" %}
|
||||
|
||||
{% endif %} {% if
|
||||
paginator.next %}
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Next page"
|
||||
href="{{ paginator.next }}"
|
||||
>{% include "partials/icons/svgNextPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Last page"
|
||||
href="{{ paginator.last }}"
|
||||
>{% include "partials/icons/svgNextPageIcon.html" %}{% include
|
||||
"partials/icons/svgNextPageIcon.html" %}</a
|
||||
>
|
||||
{% else %} {% include "partials/icons/svgLastPageIcon.html" %}
|
||||
{% include
|
||||
"partials/icons/svgLastPageIcon.html" %}{% include
|
||||
"partials/icons/svgLastPageIcon.html" %} {% endif %}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{% endblock content %}
|
||||
|
||||
|
||||
4
templates/news-category/list.html
Normal file
@@ -0,0 +1,4 @@
|
||||
{% extends "index.html" %}
|
||||
|
||||
{% block content %}
|
||||
{% endblock content %}
|
||||
14
templates/news-category/single.html
Normal file
@@ -0,0 +1,14 @@
|
||||
{% extends "index.html" %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<main class="pt-16">
|
||||
|
||||
<div class="flex flex-col md:flex-row">
|
||||
{% include "partials/newsPosts.html" %}
|
||||
{% include "partials/newsSidebar.html" %}
|
||||
</div>
|
||||
</main>
|
||||
|
||||
{% endblock content %}
|
||||
|
||||
143
templates/newsPage.html
Normal file
@@ -0,0 +1,143 @@
|
||||
{% extends "_default/base.html" %}
|
||||
{% block content %}
|
||||
|
||||
{% set split = page.content | split(pat="threefold.io") %}
|
||||
{% if split | length < 2 %}
|
||||
{% set content = page.content %}
|
||||
{% else %}
|
||||
{% set content = "" %}
|
||||
{% for part in split %}
|
||||
{% if part is starting_with("/blog") %}
|
||||
{% set split_part = part | split(pat='/">') %}
|
||||
{% set link = split_part[0] %}
|
||||
{% set link = link | replace(from="/blog/post", to="/blog") %}
|
||||
{% set link = link | replace(from="_", to="-") %}
|
||||
{% set rest_part = split_part | slice(start=1) | join(sep='/">') %}
|
||||
{% set part = link ~ '/">' ~ rest_part %}
|
||||
{% endif %}
|
||||
{% if part is starting_with("/people") %}
|
||||
{% set split_part = part | split(pat='/">') %}
|
||||
{% set link = split_part[0] %}
|
||||
{% set link = link | replace(from="_", to="-") %}
|
||||
{% set rest_part = split_part | slice(start=1) | join(sep='/">') %}
|
||||
{% set part = link ~ '/">' ~ rest_part %}
|
||||
{% endif %}
|
||||
{% if loop.first %}
|
||||
{% set_global content = part %}
|
||||
{% else %}
|
||||
{% set_global content = content ~ "threefold.io" ~ part %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
<!-- Default page template for news posts and basic informative markdown files -->
|
||||
<main>
|
||||
|
||||
<div class="container sm:pxi-0 mx-auto overflow-x-hidden pt-16 lg:w-4/6">
|
||||
|
||||
<div class="pt-8">
|
||||
<section class="post-header container mx-auto px-0 mb-4 border-b">
|
||||
<h1 class="lg:text-5xl text-2xl font-medium leading-none mt-0">
|
||||
{{ page.title }}
|
||||
</h1>
|
||||
<div class="lg:text-2xl text-base pt-4 pb-10 text-gray-700">{{ page.description }}</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 my-10 mr-2 px-0">
|
||||
{% if page.taxonomies.people %}
|
||||
{% for person in page.taxonomies.people %}
|
||||
{% set author_path = 'people/' ~ person ~ '/index.md' %}
|
||||
{% set people = get_section(path="people/_index.md") %}
|
||||
{% set pages_str = people.pages | json_encode() | as_str %}
|
||||
{% if pages_str is containing(person) %}
|
||||
{% set author = get_page(path=author_path) %}
|
||||
{% set author_img = get_url(path='/' ~ author.relative_path | replace(from='_', to='-') | replace(from='index.md', to=author.extra.imgPath)) %}
|
||||
<li class="author-list-item">
|
||||
<a href="{{author.permalink}}" tooltip="{{author.title}}">
|
||||
<img src="{{author_img}}" alt="{{ author.title }}" class="
|
||||
w-10
|
||||
h-10
|
||||
rounded-full
|
||||
bg-gray-200
|
||||
border-2 border-white
|
||||
" />
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="pl-3 flex flex-col text-xs leading-none uppercase">
|
||||
<p>
|
||||
{% if page.taxonomies.people %}
|
||||
{% for person in page.taxonomies.people %}
|
||||
{% set author_path = 'people/' ~ person ~ '/index.md' %}
|
||||
{% set people = get_section(path="people/_index.md") %}
|
||||
{% set pages_str = people.pages | json_encode() | as_str %}
|
||||
{% if pages_str is containing(person) %}
|
||||
{% set author = get_page(path=author_path) %}
|
||||
{% set author_img = get_url(path='/' ~ author.relative_path | replace(from='_', to='-') | replace(from='index.md', to=author.extra.imgPath)) %}
|
||||
<span>
|
||||
<a href="{{author.permalink}}" tooltip="{{author.title}}" class="hover:underline text-gray-800">{{ author.title }}</a>
|
||||
</span>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</p>
|
||||
<p class="text-gray-700">
|
||||
<time datetime="{{page.date}}">
|
||||
{{ page.date | date(format="%B %e, %Y", timezone="America/Chicago") }}
|
||||
</time>
|
||||
{# · {{ page.news.timeToRead }} min read #}
|
||||
</p>
|
||||
</div>
|
||||
<div class="my-2 ml-auto sharethis-inline-share-buttons"></div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<section class="post-image mx-auto w-full">
|
||||
{% if page.extra.imgPath %}
|
||||
{% set img_url = get_url(path='/' ~ page.relative_path | replace(from='_', to='-') | replace(from='index.md', to=page.extra.imgPath)) %}
|
||||
<img src="{{img_url}}" />
|
||||
{%endif%}
|
||||
</section>
|
||||
|
||||
<div class="py-12">
|
||||
<section class="
|
||||
post-content
|
||||
container
|
||||
mx-auto
|
||||
relative
|
||||
font-serif
|
||||
text-gray-700
|
||||
">
|
||||
<div class="post-content-text text-xl">{{ content | safe }}</div>
|
||||
</section>
|
||||
|
||||
<section class="post-tags container mx-auto relative py-10">
|
||||
{% for tag in page.taxonomies.tags %}
|
||||
{% set fullpath = "/tags/" ~ tag | replace(from='_', to='-' ) %}
|
||||
<a href="{{fullpath}}" 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 }}</a>
|
||||
{% endfor %}
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
{% endblock content %}
|
||||
252
templates/oldheader.html
Normal file
@@ -0,0 +1,252 @@
|
||||
<!--
|
||||
Tailwind UI components require Tailwind CSS v1.8 and the @tailwindcss/ui plugin.
|
||||
Read the documentation to get started: https://tailwindui.com/documentation
|
||||
-->
|
||||
<!-- This example requires Tailwind CSS v1.4.0+ -->
|
||||
<script type="text/javascript">
|
||||
|
||||
var displayedMenu = "";
|
||||
var hamburgerShown = false;
|
||||
let width = screen.width;
|
||||
var isMobile = width < 1024;
|
||||
|
||||
function toggleMenu(button) {
|
||||
if (displayedMenu === button.id.split("-")[0]) {
|
||||
button.className = button.className.replace(" text-blue-500 bg-stone-200 sm:bg-transparent", " text-gray-900");
|
||||
hideMenu(button.id.split("-")[0]);
|
||||
button.lastElementChild.className = button.lastElementChild.className.replace("rotate-0", "-rotate-90")
|
||||
displayedMenu = "";
|
||||
}
|
||||
else {
|
||||
showMenu(button.id.split("-")[0]);
|
||||
button.lastElementChild.className = button.lastElementChild.className.replace("-rotate-90", "rotate-0")
|
||||
button.className = button.className.replace(" text-gray-900", " text-blue-500 bg-stone-200 sm:bg-transparent");
|
||||
displayedMenu = button.id.split("-")[0]
|
||||
}
|
||||
}
|
||||
|
||||
function handleClick(button) {
|
||||
if (button.id === "hamburger-btn" || button.id === "close-hamburger-btn") { toggleHamburger() }
|
||||
if (button.id.indexOf("menu") !== -1 ) {
|
||||
toggleMenu(button)
|
||||
}
|
||||
}
|
||||
|
||||
function toggleHamburger() {
|
||||
if (hamburgerShown) {
|
||||
hideHamburger();
|
||||
hamburgerShown = false;
|
||||
}
|
||||
else {
|
||||
showHamburger();
|
||||
hamburgerShown = true;
|
||||
}
|
||||
}
|
||||
|
||||
function showMenu(menuName) {
|
||||
var menuId = menuName + (isMobile ? '-mobile-menu' : '-menu');
|
||||
var menuBtnId = menuName + (isMobile ? '-mobile-menu' : '-menu');
|
||||
var menuElement = document.getElementById(menuId)
|
||||
menuElement.className = menuElement.className.replace(" hidden" , "");
|
||||
setTimeout(function() { menuElement.className = menuElement.className.replace("duration-200 ease-in opacity-0 -translate-y-1", "duration-150 ease-out opacity-1 -translate-y-0"); }, 10);
|
||||
}
|
||||
|
||||
function hideMenu(menuName) {
|
||||
var menuId = menuName + (isMobile ? '-mobile-menu' : '-menu');
|
||||
var menuElement = document.getElementById(menuId)
|
||||
menuElement.className = menuElement.className.replace("duration-150 ease-out opacity-1 -translate-y-0", "duration-200 ease-in opacity-0 -translate-y-1");
|
||||
setTimeout(function() { menuElement.className = menuElement.className + " hidden" }, 300);
|
||||
}
|
||||
|
||||
function showHamburger() {
|
||||
document.getElementById('header-container').className = "overflow-hidden";
|
||||
document.getElementById('hamburger').className = "fixed mt-16 z-20 top-0 inset-x-0 transition transform origin-top-right";
|
||||
document.getElementById('hamburger-btn').className = "hidden lg:hidden inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out my-2";
|
||||
document.getElementById('close-hamburger-btn').className = "inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out my-2";
|
||||
}
|
||||
|
||||
function hideHamburger() {
|
||||
document.getElementById('header-container').className = "";
|
||||
document.getElementById('hamburger').className = "hidden absolute z-20 top-0 inset-x-0 transition transform origin-top-right lg:hidden";
|
||||
document.getElementById('hamburger-btn').className = "inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out my-2";
|
||||
document.getElementById('close-hamburger-btn').className = "hidden lg:hidden inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out my-2";
|
||||
if (displayedMenu !== "") { hideMenu(displayedMenu); }
|
||||
}
|
||||
|
||||
window.onload = function(){
|
||||
let elements = document.getElementsByTagName("button");
|
||||
let buttons = [...elements]
|
||||
buttons.forEach((button) => {
|
||||
button.addEventListener( 'click', function() { handleClick(button) });
|
||||
})
|
||||
document.getElementById("mobile-learn-btn").addEventListener( 'click', toggleMenu);
|
||||
}
|
||||
</script>
|
||||
<!-- set variables used for header template -->
|
||||
{% set section = get_section(path="_index.md") %}
|
||||
{% set subsections_str = section.subsections | join(sep=" ") %}
|
||||
{% set logo_path = get_url(path=section.extra.logo_path | default(value='')) %}
|
||||
|
||||
{% if "header/_index.md" in subsections_str %}
|
||||
{% set section = get_section(path="header/_index.md") %}
|
||||
{% set header_items = section.content | safe | split(pat="
|
||||
<li>
|
||||
") %}
|
||||
{% include "partials/header_custom.html" %}
|
||||
{% else %}
|
||||
<header id="header-container">
|
||||
{% set header_class = config.extra.header_class | default(value='') %}
|
||||
<div class="{{'z-10 bg-white fixed w-screen ' ~ header_class}}">
|
||||
<div class="relative z-50 shadow">
|
||||
<div class="mx-auto flex z-50 shadow justify-between items-center pl-6 pr-2 md:pr-0 lg:py-5 md:px-12 py-2 lg:px-20 lg:justify-start lg:space-x-20">
|
||||
<div>
|
||||
<a href="/" class="flex">
|
||||
<img class="w-48 h-auto sm:w-15" src="{{logo_path}}" alt="FreeFlow Logo">
|
||||
</a>
|
||||
</div>
|
||||
<div class="-mr-2 -my-2 lg:hidden">
|
||||
<button id="hamburger-btn" type="button" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out my-2">
|
||||
<!-- Heroicon name: menu -->
|
||||
<svg
|
||||
class="h-6 w-6"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke="currentColor"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
stroke-width="2"
|
||||
d="M4 6h16M4 12h16M4 18h16"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
<button id="close-hamburger-btn" type="button" class="hidden lg:hidden inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out my-2">
|
||||
<!-- Heroicon name: x -->
|
||||
<svg
|
||||
class="h-6 w-6"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke="currentColor"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
stroke-width="2"
|
||||
d="M6 18L18 6M6 6l12 12"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
<div class="hidden lg:flex-1 lg:flex lg:items-center lg:justify-end lg:space-x-12">
|
||||
<nav class="flex space-x-10">
|
||||
{% for page in section.pages %}
|
||||
{% if page.relative_path == "home/index.md" %} {% continue %} {% endif %}
|
||||
<a href="{{page.permalink}}" class="text-lg leading-6 text-gray-900 focus:outline-none focus:text-gray-900 transition ease-in-out duration-150 mt-0">
|
||||
{{page.title}}
|
||||
</a>
|
||||
<div class="relative"></div>
|
||||
{% endfor %}
|
||||
{% for subsection in section.subsections %}
|
||||
{% if subsection == "footer/_index.md" %} {% continue %} {% endif %}
|
||||
{% set button_id = subsection ~ "-menu-btn" | slugify %}
|
||||
<div class="relative">
|
||||
<button type="button" id="{{button_id}}" class="nav_btn text-gray-900 group inline-flex items-center space-x-2 text-lg leading-6 hover:text-blue-300 focus:outline-none transition ease-in-out duration-150">
|
||||
<span>{{ subsection }}</span>
|
||||
<div class="-rotate-90 transition-transform">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
height="24px"
|
||||
viewBox="0 0 24 24"
|
||||
width="24px"
|
||||
fill="#000000"
|
||||
>
|
||||
<path d="M0 0h24v24H0z" fill="none"/>
|
||||
<path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"/>
|
||||
</svg>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% for subsection in section.subsections %}
|
||||
{% if subsection == "footer/_index.md" %} {% continue %} {% endif %}
|
||||
{% set submenu_id = subsection ~ "-menu" | slugify %}
|
||||
<nav>
|
||||
<div id="{{submenu_id}}" class="mt-16 sm:mt-0 md:mt-0 lg:mt-0 xl:mt-0 2xl:mt-0 z-30 absolute inset-x-0 transform shadow-lg lg:backdrop-blur xl:backdrop-blur transition duration-200 ease-in opacity-0 -translate-y-1 hidden">
|
||||
<div class="bg-white lg:bg-semi-white md:bg-semi-white xl:bg-semi-white">
|
||||
<div class="mx-8 lg:mx-20 xl:mx-20 px-6 py-4 sm:p-6 md:p-8 lg:p-12 xl:p-12">
|
||||
{{subsection | safe }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
{% endfor %}
|
||||
<!--
|
||||
Mobile menu, show/hide based on mobile menu state.
|
||||
|
||||
Entering: "duration-200 ease-out"
|
||||
From: "opacity-0 scale-95"
|
||||
To: "opacity-100 scale-100"
|
||||
Leaving: "duration-100 ease-in"
|
||||
From: "opacity-100 scale-100"
|
||||
To: "opacity-0 scale-95"
|
||||
-->
|
||||
<div id="hamburger" class="hidden fixed mt-16 z-20 top-0 inset-x-0 transition transform origin-top-right lg:hidden">
|
||||
<div>
|
||||
<div class="shadow-xs h-screen bg-white divide-y-2 divide-gray-50">
|
||||
<div class="pb-6 sm:px-12 md:px-16 lg:px-20 space-y-6 sm:space-y-8 sm:pb-8 max-h-screen overflow-y-auto">
|
||||
<nav class="flex flex-col justify-around pb-12">
|
||||
{% for page in section.pages %}
|
||||
{% if page.relative_path == "home/index.md" %} {% continue %} {% endif %}
|
||||
<a href="{{page.permalink}}" class="text-lg px-8 py-3 leading-6 font-normal text-gray-900 hover:text-gray-900 focus:outline-none focus:text-gray-900 transition ease-in-out duration-150">
|
||||
{{page.title}}
|
||||
</a>
|
||||
<hr>
|
||||
{% endfor %}
|
||||
{% for subsection in section.subsections %}
|
||||
{% if subsection == "footer/_index.md" %} {% continue %} {% endif %}
|
||||
{% set button_id = subsection ~ "-mobile-menu-btn" | slugify %}
|
||||
{% set menu_id = subsection ~ "-mobile-menu" | slugify %}
|
||||
<button type="button" id="{{button_id}}" class="flex flex px-8 py-3 items-start text-left text-gray-900 group inline-flex space-x-2 text-lg leading-6 font-normal hover:text-gray-900 focus:outline-none focus:text-gray-900 transition ease-in-out duration-150">
|
||||
<span>{{ subsection }}</span>
|
||||
<div class="-rotate-90 transition-transform">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
height="24px"
|
||||
viewBox="0 0 24 24"
|
||||
width="24px"
|
||||
fill="#000000"
|
||||
>
|
||||
<path d="M0 0h24v24H0z" fill="none"/>
|
||||
<path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"/>
|
||||
</svg>
|
||||
</div>
|
||||
</button>
|
||||
<div id="{{menu_id}}" class="z-50 leading-3 pl-12 pt-6 pb-4 inset-x-0 text-sm transform duration-200 ease-in opacity-0 -translate-y-1 hidden">
|
||||
{{ subsection | safe }}
|
||||
</div>
|
||||
<hr>
|
||||
{% endfor %}
|
||||
{% if "footer/_index.md" in subsections_str %}
|
||||
{% set section = get_section(path="footer/_index.md")%}
|
||||
<div class="mx-8 mt-8">
|
||||
<div class="space-y-8 lg:max-w-lg xl:max-w-lg lg:mr-8 lg:mb-8 xl:col-span-1">
|
||||
<img class="w-48 h-auto" src="{{logo_path}}" alt="Company name">
|
||||
<p class="text-gray-500 text-base leading-6 ">
|
||||
{{section.description}}
|
||||
</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
{% endif %}
|
||||
10
templates/page.html
Normal file
@@ -0,0 +1,10 @@
|
||||
{% extends "_default/base.html" %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<main>
|
||||
<script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
|
||||
<script>mermaid.initialize({startOnLoad:true});</script>
|
||||
{{page.content | safe}}
|
||||
|
||||
</main> {% endblock content %}
|
||||
48
templates/partials/accordion.html
Normal file
@@ -0,0 +1,48 @@
|
||||
{% set tfFaq = get_section(path="faq/_index.md") %}
|
||||
{% set farmFaq = get_section(path="farmfaq/_index.md") %}
|
||||
{% set tftFaq = get_section(path="tftfaq/_index.md") %}
|
||||
|
||||
{% if current_path == '/faq/' %}
|
||||
<h2 class="text-center mt-10">{{ tfFaq.title }}</h2>
|
||||
<div class="lg:max-w-5xl mx-auto px-8 space-y-2 mt-10">
|
||||
{% for page in tfFaq.pages %}
|
||||
<details class="p-4 rounded-lg">
|
||||
<summary class="font-semibold">{{ page.title }}</summary>
|
||||
<div class="mt-3">
|
||||
<p class="text-gray-600 text-sm leading-6">{{ page.content | safe }}</p>
|
||||
</div>
|
||||
</details>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{% elif current_path == '/farmfaq/' %}
|
||||
<h2 class="text-center mt-10">{{ farmFaq.title }}</h2>
|
||||
<div class="lg:max-w-5xl mx-auto px-8 space-y-2 mt-10">
|
||||
{% for page in farmFaq.pages %}
|
||||
<details class="p-4 rounded-lg">
|
||||
<summary class="font-semibold">{{ page.title }}</summary>
|
||||
<div class="mt-3">
|
||||
<p class="text-gray-600 text-sm leading-6">{{ page.content | safe }}</p>
|
||||
</div>
|
||||
</details>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{% elif current_path == '/tftfaq/' %}
|
||||
<h2 class="text-center mt-10">{{ tftFaq.title }}</h2>
|
||||
<div class="lg:max-w-5xl mx-auto px-8 space-y-2 mt-10">
|
||||
{% for page in tftFaq.pages %}
|
||||
<details class="p-4 rounded-lg">
|
||||
<summary class="font-semibold">{{ page.title }}</summary>
|
||||
<div class="mt-3">
|
||||
<p class="text-gray-600 text-sm leading-6">{{ page.content | safe }}</p>
|
||||
</div>
|
||||
</details>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
<style>
|
||||
a {
|
||||
color: #4ec48f
|
||||
}
|
||||
</style>
|
||||
60
templates/partials/applicationForm.html
Normal file
@@ -0,0 +1,60 @@
|
||||
<div class="mt-5 md:mt-0 md:col-span-2">
|
||||
<form action="#" method="POST">
|
||||
<div class="shadow sm:rounded-md sm:overflow-hidden">
|
||||
<div class="px-4 py-5 bg-white space-y-6 sm:p-6">
|
||||
<h3 class="text-black text-lg">Application</h3>
|
||||
<div class="grid grid-cols-3 gap-6">
|
||||
<div class="col-span-3 sm:col-span-2">
|
||||
<label for="company-website" class="block text-sm font-medium text-gray-700"> Website </label>
|
||||
<div class="mt-1 flex rounded-md shadow-sm">
|
||||
<span class="inline-flex items-center px-3 rounded-l-md border border-r-0 border-gray-300 bg-gray-50 text-gray-500 text-sm"> http:// </span>
|
||||
<input type="text" name="company-website" id="company-website" class="focus:ring-indigo-500 focus:border-indigo-500 flex-1 block w-full rounded-none rounded-r-md sm:text-sm border-gray-300" placeholder="www.example.com">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="about" class="block text-sm font-medium text-gray-700"> About </label>
|
||||
<div class="mt-1">
|
||||
<textarea id="about" name="about" rows="3" class="shadow-sm focus:ring-indigo-500 focus:border-indigo-500 mt-1 block w-full sm:text-sm border border-gray-300 rounded-md" placeholder="you@example.com"></textarea>
|
||||
</div>
|
||||
<p class="mt-2 text-sm text-gray-500">Brief description for your profile. URLs are hyperlinked.</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-gray-700"> Photo </label>
|
||||
<div class="mt-1 flex items-center">
|
||||
<span class="inline-block h-12 w-12 rounded-full overflow-hidden bg-gray-100">
|
||||
<svg class="h-full w-full text-gray-300" fill="currentColor" viewBox="0 0 24 24">
|
||||
<path d="M24 20.993V24H0v-2.996A14.977 14.977 0 0112.004 15c4.904 0 9.26 2.354 11.996 5.993zM16.002 8.999a4 4 0 11-8 0 4 4 0 018 0z" />
|
||||
</svg>
|
||||
</span>
|
||||
<button type="button" class="ml-5 bg-white py-2 px-3 border border-gray-300 rounded-md shadow-sm text-sm leading-4 font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">Change</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label class="block text-sm font-medium text-gray-700"> Resume </label>
|
||||
<div class="mt-1 flex justify-center px-6 pt-5 pb-6 border-2 border-gray-300 border-dashed rounded-md">
|
||||
<div class="space-y-1 text-center">
|
||||
<svg class="mx-auto h-12 w-12 text-gray-400" stroke="currentColor" fill="none" viewBox="0 0 48 48" aria-hidden="true">
|
||||
<path d="M28 8H12a4 4 0 00-4 4v20m32-12v8m0 0v8a4 4 0 01-4 4H12a4 4 0 01-4-4v-4m32-4l-3.172-3.172a4 4 0 00-5.656 0L28 28M8 32l9.172-9.172a4 4 0 015.656 0L28 28m0 0l4 4m4-24h8m-4-4v8m-12 4h.02" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
|
||||
</svg>
|
||||
<div class="flex text-sm text-gray-600">
|
||||
<label for="file-upload" class="relative cursor-pointer bg-white rounded-md font-medium text-indigo-600 hover:text-indigo-500 focus-within:outline-none focus-within:ring-2 focus-within:ring-offset-2 focus-within:ring-indigo-500">
|
||||
<span>Upload a file</span>
|
||||
<input id="file-upload" name="file-upload" type="file" class="sr-only">
|
||||
</label>
|
||||
<p class="pl-1">or drag and drop</p>
|
||||
</div>
|
||||
<p class="text-xs text-gray-500">PDF up to 10MB</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="px-4 py-3 bg-gray-50 text-right sm:px-6">
|
||||
<button type="submit" class="inline-flex justify-center py-2 px-4 border border-transparent shadow-sm text-sm font-medium rounded-md text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">Save</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
70
templates/partials/blogPosts.html
Normal file
@@ -0,0 +1,70 @@
|
||||
{% block content %}
|
||||
|
||||
<div class="text-center main-title px-0 md:w-2/3 lg:w-2/3 mx-8 md:mx-12">
|
||||
<h1
|
||||
class="tracking-tight text-left text-2xl md:text-4xl lg:text-5xl fw-500 leading-snug font-normal mb-10"
|
||||
>
|
||||
{% set path_array = current_path | split(pat="/") %}
|
||||
{% set taxonomy = path_array[1] %}
|
||||
{% set category = path_array[2] %}
|
||||
ThreeFold stories and project info
|
||||
{% if taxonomy == "categories" %} -
|
||||
{{category | replace(from='-', to=' ' ) | title}}
|
||||
{% endif %}
|
||||
</h1>
|
||||
<div>
|
||||
<div class="mt-12 grid gap-5 max-w-lg mx-auto lg:grid-cols-2 xl:grid-cols-3 lg:max-w-none">
|
||||
{%- for post in paginator.pages %}
|
||||
{% if not post.extra.hidden %}
|
||||
{% include "partials/postCard.html" %}
|
||||
{%endif%} {%- endfor %}
|
||||
</div>
|
||||
<hr class="mt-6" />
|
||||
<p class="text-center text-sm mt-2 mb-16">
|
||||
{% if paginator.previous %}
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="First page"
|
||||
href="{{ paginator.first }}"
|
||||
>{% include "partials/icons/svgPrevPageIcon.html" %}{% include
|
||||
"partials/icons/svgPrevPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Previous page"
|
||||
href="{{ paginator.previous }}"
|
||||
>{% include "partials/icons/svgPrevPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
{% else %} {%
|
||||
include "partials/icons/svgFirstPageIcon.html" %}{% include
|
||||
"partials/icons/svgFirstPageIcon.html" %}
|
||||
{% include
|
||||
"partials/icons/svgFirstPageIcon.html" %}
|
||||
|
||||
{% endif %} {% if
|
||||
paginator.next %}
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Next page"
|
||||
href="{{ paginator.next }}"
|
||||
>{% include "partials/icons/svgNextPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Last page"
|
||||
href="{{ paginator.last }}"
|
||||
>{% include "partials/icons/svgNextPageIcon.html" %}{% include
|
||||
"partials/icons/svgNextPageIcon.html" %}</a
|
||||
>
|
||||
{% else %} {% include "partials/icons/svgLastPageIcon.html" %}
|
||||
{% include
|
||||
"partials/icons/svgLastPageIcon.html" %}{% include
|
||||
"partials/icons/svgLastPageIcon.html" %} {% endif %}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock content %}
|
||||
38
templates/partials/blogSidebar.html
Normal file
@@ -0,0 +1,38 @@
|
||||
|
||||
<div class="mx-8 md:mx-4 flex flex-col">
|
||||
<div class="flex flex-col mb-12 mr-8 lg:mr-24">
|
||||
<h4 class="text-base not-italic font-medium leading-6 text-gray-600 mb-6"> FILTER POSTS BY</h4>
|
||||
<a id="all" class="mb-3 text-black font-normal" href="/blog">All</a>
|
||||
{% set taxonomy = get_taxonomy(kind="categories") %}
|
||||
{% set categories = taxonomy.items %}
|
||||
{% for category in categories %}
|
||||
{% set path = category.name | slugify %}
|
||||
{% set fullpath = "/categories/" ~ path %}
|
||||
<a id="{{path}}" class="mb-3 text-black font-normal" href={{fullpath}}> {{category.name}} </a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{% set section = get_section(path="blog/_index.md")%}
|
||||
|
||||
<div class="lg:pt-6 flex flex-col mb-12 w-64 mr-8 lg:mr-24">
|
||||
<h4 class="text-base not-italic font-medium leading-6 text-gray-600 mb-6"> FEATURED POSTS</h4>
|
||||
|
||||
{% for page in section.pages %}
|
||||
{% if page.extra.isFeatured %}
|
||||
<a class="mb-3 text-blue-700" href={{page.permalink}}>{{ page.title }}</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function setActiveCategory() {
|
||||
let activeCategory = window.location.pathname.split("/")[2]
|
||||
if (typeof activeCategory === "undefined") { activeLink = document.getElementById("all") }
|
||||
else { activeLink = document.getElementById(activeCategory)}
|
||||
activeLink.className = activeLink.className.replace("text-black font-normal", "text-black font-semibold");
|
||||
}
|
||||
|
||||
setActiveCategory()
|
||||
</script>
|
||||
36
templates/partials/featuredBlog.html
Normal file
@@ -0,0 +1,36 @@
|
||||
{% if featured.taxonomies.people %}
|
||||
{% set people = get_section(path="people/_index.md") %}
|
||||
{% set pages_str = people.pages | json_encode() | as_str %}
|
||||
{% if pages_str is containing(featured.taxonomies.people[0]) %}
|
||||
{% set author_path = 'people/' ~ featured.taxonomies.people[0] ~ '/index.md' %}
|
||||
{% set author = get_page(path=author_path) %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<body>
|
||||
|
||||
<div class="md:grid md:grid-cols-2 md:gap-8 relative mt-16 lg:mt-16 items-center container mx-auto">
|
||||
<div class="relative lg:ml-8 my-8 w-full md:w-auto">
|
||||
<h3 class="text-base not-italic leading-6 text-gray-600">FEATURED POST</h3>
|
||||
<a href={{featured.permalink}} class="">
|
||||
<h2
|
||||
class="mt-8 text-2xl main-title sm:text-3xl md:text-4xl lg:text-5xl fw-500 leading-snug font-normal mb-4 md:mb-10 ">
|
||||
{{ featured.title }}
|
||||
</h2>
|
||||
</a>
|
||||
<h4 class="text-sm not-italic font-light leading-6 text-gray-600">
|
||||
{{ featured.date | date(format="%B %e, %Y", timezone="America/Chicago")}} -
|
||||
</h4>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="mx-4 relative lg:mt-0 max-w-full">
|
||||
<img class="relative mx-auto md:w-auto rounded md:max-w-full max-h-80" src={{featured.permalink}}{{featured.extra.imgPath}} alt="" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr class="mt-6">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
42
templates/partials/featuredNews.html
Normal file
@@ -0,0 +1,42 @@
|
||||
<body>
|
||||
|
||||
<div class="md:grid md:grid-cols-2 md:gap-8 relative mt-16 lg:mt-16 items-center container mx-auto">
|
||||
<div class="relative lg:ml-8 my-8 w-full md:w-auto">
|
||||
<h3 class="text-base not-italic leading-6 text-gray-600">FEATURED NEWS</h3>
|
||||
<a href={{featured.permalink}} class="">
|
||||
<h2
|
||||
class="mt-8 text-2xl main-title sm:text-3xl md:text-4xl lg:text-5xl fw-500 leading-snug font-normal mb-4 md:mb-10 ">
|
||||
{{ featured.title }}
|
||||
</h2>
|
||||
</a>
|
||||
|
||||
<h4 class="text-sm not-italic font-light leading-6 text-gray-600">
|
||||
{{ featured.date | date(format="%B %e, %Y", timezone="America/Chicago")}} -
|
||||
{% for author in featured.taxonomies.people %}
|
||||
{% set author_path = 'people/' ~ author ~ '/index.md' %}
|
||||
{% set author = get_page(path=author_path) %}
|
||||
{% set author_img = get_url(path='/' ~ author.relative_path | replace(from='_', to='-') | replace(from='index.md', to=author.extra.imgPath)) %}
|
||||
<a href="{{author.permalink}}" tooltip="{{author.title}}" class="capitalize text-gray-800"> <img
|
||||
src="{{ author_img }}" alt="{{ author.title }}" class="
|
||||
inline-flex
|
||||
w-8
|
||||
h-8
|
||||
rounded-full
|
||||
bg-gray-200
|
||||
border-2 border-white
|
||||
" /> {{ author.title }}</a>
|
||||
{% endfor %}
|
||||
</h4>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="mx-4 relative lg:mt-0 max-w-full">
|
||||
{% if featured.extra.imgPath %}
|
||||
<img class="relative mx-auto md:w-auto md:max-w-full max-h-80" src={{featured.permalink}}{{featured.extra.imgPath}} alt="" />
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<hr class="mt-6">
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
48
templates/partials/filter_bar.html
Normal file
@@ -0,0 +1,48 @@
|
||||
{% set path_array = current_path | split(pat="/") %}
|
||||
{% set taxonomy = path_array[1] %}
|
||||
{% set category = path_array[2] %}
|
||||
{% if path_array | length < 4%}
|
||||
{% set category = "All" %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
|
||||
<div class="left-0 z-50 border border-gray-200 bg-gray-100 my-6 w-full rounded-md">
|
||||
<header class="flex flex-wrap container mx-auto pb-0 sm:px-0 transition-all transition-500">
|
||||
<div class="flex justify-between px-4 sm:p-0">
|
||||
<div class="ml-8 inline-flex flex-shrink-0">
|
||||
<span class="flex text-base items-center capitalize">
|
||||
Filter:
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<nav class="inline-flex md:order-2 pt-2 pb-4 sm:flex sm:p-0 bg-transparent">
|
||||
<ul class="list-none sm:flex justify-left capitalize transition-all transition-500 ">
|
||||
<li class="flex items-center">
|
||||
<div class="relative">
|
||||
<button id="filter-btn" class="rounded border-0 px-5 !shadow-none flex flex-row items-center w-full md:w-auto md:inline md:mt-0 mb-0 animated-link">
|
||||
<span class="text-base capitalize">{{category | replace(from='-', to=' ' ) | title}}</span>
|
||||
<svg data-v-21fd5df0="" fill="currentColor" viewBox="0 0 20 20" class="inline w-4 h-4 mt-1 ml-1 transition-transform duration-200 transform md:-mt-1 rotate-180"><path data-v-21fd5df0="" fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg>
|
||||
</button>
|
||||
<div id="filter-menu" x-show="open" x-transition:enter="transition ease-out duration-100" x-transition:enter-start="transform opacity-0 scale-95" x-transition:enter-end="transform opacity-100 scale-100" x-transition:leave="transition ease-in duration-75" x-transition:leave-start="transform opacity-100 scale-100" x-transition:leave-end="transform opacity-0 scale-95" class="hidden absolute w-full mt-2 origin-top-right rounded-md shadow-lg md:w-48 z-30">
|
||||
<div data-v-21fd5df0="" class="w-64 px-2 py-2 bg-white rounded-md shadow dark:bg-gray-700">
|
||||
<a data-v-21fd5df0="" href="/people" class="text-gray-700 cursor-pointer block px-4 py-2 mt-2 text-sm font-semibold bg-transparent rounded-lg dark:bg-transparent dark:hover:bg-gray-600 dark-:focus:bg-gray-600 dark:focus:text-white dark:hover:text-white dark:text-gray-200 md:mt-0 hover:text-gray-900 focus:text-gray-900 hover:bg-gray-200 focus:bg-gray-200 focus:outline-none focus:shadow-outline">
|
||||
All
|
||||
</a>
|
||||
{% set taxonomy = get_taxonomy(kind="memberships") %}
|
||||
{% set categories = taxonomy.items %}
|
||||
{% for category in categories %}
|
||||
{% set path = category.name | slugify %}
|
||||
{% set fullpath = "/memberships/" ~ path %}
|
||||
<a href="{{fullpath}}" class="text-gray-700 cursor-pointer block px-4 py-2 mt-2 text-sm font-semibold bg-transparent rounded-lg dark:bg-transparent dark:hover:bg-gray-600 dark-:focus:bg-gray-600 dark:focus:text-white dark:hover:text-white dark:text-gray-200 md:mt-0 hover:text-gray-900 focus:text-gray-900 hover:bg-gray-200 focus:bg-gray-200 focus:outline-none focus:shadow-outline">
|
||||
{{category.name}}
|
||||
</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
</div>
|
||||
2
templates/partials/footer.html
Normal file
@@ -0,0 +1,2 @@
|
||||
{% set page = get_page(path="header.md") %}
|
||||
{{page.content | safe}}
|
||||
165
templates/partials/head.html
Normal file
@@ -0,0 +1,165 @@
|
||||
{% set cloudiBase = 'https://res.cloudinary.com/brycewray-com/image/upload/' %}
|
||||
{% set xFmPart1 = 'f_auto,q_auto:eco,w_' %}
|
||||
{% set xFmPart2 = ',x_0,z_1/' %}
|
||||
{% set fallbackImg = 'typewriter-monochrome_2242164_6260x4374.jpg' %}
|
||||
{% set zolaVer = '0.13.0' %}
|
||||
<head>
|
||||
<link rel="icon" type="image/x-icon" href="{{ get_url(path='images/icons/favicon.png')}}">
|
||||
{% block title %}
|
||||
<title>{{ config.title }}</title>
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:site_name" content="{{ config.base_url }}">
|
||||
{% if section.title %}
|
||||
<title>{{ section.title }}</title>
|
||||
<meta property="og:title" content="{{ section.title }}">
|
||||
{% elif page.title %}
|
||||
<title>{{ page.title }}</title>
|
||||
<meta property="og:title" content="{{ page.title }}">
|
||||
{%endif%}
|
||||
|
||||
{%if section.extra.imgPath %}
|
||||
<meta name="image" content="{{section.permalink}}{{ section.extra.imgPath }}">
|
||||
<meta property="og:image" content="{{section.permalink}}{{ section.extra.imgPath }}">
|
||||
<meta property="twitter:image" content="{{section.permalink}}{{ section.extra.imgPath }}">
|
||||
{% elif page.extra.imgPath %}
|
||||
<meta name="image" content="{{page.permalink}}{{ page.extra.imgPath }}">
|
||||
<meta property="og:image" content="{{page.permalink}}{{ page.extra.imgPath }}">
|
||||
<meta property="twitter:image" content="{{page.permalink}}{{ page.extra.imgPath }}">
|
||||
{%endif%}
|
||||
|
||||
{%if section.description%}
|
||||
<meta name="description" content="{{ section.description }}">
|
||||
<meta property="og:description" content="{{ section.description }}">
|
||||
<meta property="twitter:description" content="{{ section.description }}">
|
||||
{%elif page.description%}
|
||||
<meta name="description" content="{{ page.description }}">
|
||||
<meta property="og:description" content="{{ page.description }}">
|
||||
<meta property="twitter:description" content="{{ page.description }}">
|
||||
{%endif%}
|
||||
<meta name="twitter:card" content="summary">
|
||||
{% endblock title %}
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/brands.min.css">
|
||||
<!-- Cookie Consent by https://www.FreePrivacyPolicy.com -->
|
||||
<script type="text/javascript" src="//www.freeprivacypolicy.com/public/cookie-consent/4.0.0/cookie-consent.js" charset="UTF-8"></script>
|
||||
<script type="text/javascript" charset="UTF-8">
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
cookieconsent.run({ "notice_banner_type": "headline", "consent_type": "express", "palette": "light", "language": "en", "page_load_consent_levels": ["strictly-necessary"], "notice_banner_reject_button_hide": false, "preferences_center_close_button_hide": false, "website_name": "https://threefold.io/", "website_privacy_policy_url": "https://library.threefold.me/info/legal/#/legal__privacypolicy" });
|
||||
});
|
||||
</script>
|
||||
<!-- Google Tag Manager -->
|
||||
<script>(function (w, d, s, l, i) {
|
||||
w[l] = w[l] || []; w[l].push({
|
||||
'gtm.start':
|
||||
new Date().getTime(), event: 'gtm.js'
|
||||
}); var f = d.getElementsByTagName(s)[0],
|
||||
j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =
|
||||
'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);
|
||||
})(window, document, 'script', 'dataLayer', 'GTM-N7PNMFH');
|
||||
</script>
|
||||
<!-- End Google Tag Manager -->
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-100065546-1"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag() { dataLayer.push(arguments); }
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'UA-100065546-1');
|
||||
</script>
|
||||
<!-- Matomo Tag Manager -->
|
||||
<script>
|
||||
var _mtm = window._mtm = window._mtm || [];
|
||||
_mtm.push({ 'mtm.startTime': (new Date().getTime()), 'event': 'mtm.Start' });
|
||||
var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];
|
||||
g.async = true; g.src = 'https://analytics.threefold.io/js/container_KIcuIdn4.js'; s.parentNode.insertBefore(g, s);
|
||||
</script>
|
||||
<!-- End Matomo Tag Manager -->
|
||||
<!-- Crisp -->
|
||||
<script type="text/plain" cookie-consent="tracking">
|
||||
window.$crisp = [];
|
||||
window.CRISP_WEBSITE_ID = "1a5a5241-91cb-4a41-8323-5ba5ec574da0";
|
||||
(function () {
|
||||
d = document;
|
||||
s = d.createElement("script");
|
||||
s.src = "https://client.crisp.chat/l.js";
|
||||
s.async = 1;
|
||||
d.getElementsByTagName("head")[0].appendChild(s);
|
||||
})();
|
||||
</script>
|
||||
<!-- Crisp without cookies -->
|
||||
<!-- <script type="text/javascript" cookie-consent="tracking">
|
||||
window.$crisp = [];
|
||||
window.CRISP_WEBSITE_ID = "1a5a5241-91cb-4a41-8323-5ba5ec574da0";
|
||||
(function () {
|
||||
d = document;
|
||||
s = d.createElement("script");
|
||||
s.src = "https://client.crisp.chat/l.js";
|
||||
s.async = 1;
|
||||
d.getElementsByTagName("head")[0].appendChild(s);
|
||||
})();
|
||||
</script> -->
|
||||
<!-- end of Crisp-->
|
||||
<!-- Required meta tags -->
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<!-- **** BEGINNING, favicons **** -->
|
||||
<!-- generics -->
|
||||
<!-- iOS -->
|
||||
<!-- Android -->
|
||||
<!-- Windows 8, IE 10 -->
|
||||
<!-- Windows 8.1 and up, IE 11 -->
|
||||
<!-- **** CONCLUSION, favicons **** -->
|
||||
<!-- CSS/SCSS -->
|
||||
<link rel="stylesheet" href="{{ get_url(path='css/index.css', trailing_slash=false, cachebust=true) | safe }}">
|
||||
<style>
|
||||
.space-x-10>:not([hidden])~:not([hidden]){
|
||||
margin-left: calc(1.5rem*calc(1 - var(--tw-space-x-reverse)))!important;
|
||||
}
|
||||
@-moz-document url-prefix() {
|
||||
.lazy:-moz-loading {
|
||||
visibility: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.ieOnly {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media all and (-ms-high-contrast: none),
|
||||
(-ms-high-contrast: active) {
|
||||
.ieOnly {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
@media (min-width: 640px){
|
||||
.sm\:space-x-4>:not([hidden])~:not([hidden]){
|
||||
margin-left: calc(2rem*calc(1 - var(--tw-space-x-reverse)))!important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript" src="https://platform-api.sharethis.com/js/sharethis.js#property=62556aac80366d0019fc1af2&product=sop" async="async"></script>
|
||||
<!-- MailerLite Universal -->
|
||||
<script>
|
||||
(function (m, a, i, l, e, r) {
|
||||
m['MailerLiteObject'] = e; function f() {
|
||||
var c = { a: arguments, q: [] }; var r = this.push(c); return "number" != typeof r ? r : f.bind(c.q);
|
||||
}
|
||||
f.q = f.q || []; m[e] = m[e] || f.bind(f.q); m[e].q = m[e].q || f.q; r = a.createElement(i);
|
||||
var _ = a.getElementsByTagName(i)[0]; r.async = 1; r.src = l + '?v' + (~~(new Date().getTime() / 1000000));
|
||||
_.parentNode.insertBefore(r, _);
|
||||
})(window, document, 'script', 'https://static.mailerlite.com/js/universal.js', 'ml');
|
||||
|
||||
var ml_account = ml('accounts', '1778010', 'x2d3d9f8n1', 'load');
|
||||
</script>
|
||||
<!-- End MailerLite Universal -->
|
||||
<!-- RSS feed -->
|
||||
{% block rss %}
|
||||
<link
|
||||
rel="alternate"
|
||||
type="application/rss+xml"
|
||||
title="RSS"
|
||||
href="{{ get_url(path='atom.xml', trailing_slash=false) }}"
|
||||
>
|
||||
{% endblock %}
|
||||
</head>
|
||||
2
templates/partials/header.html
Normal file
@@ -0,0 +1,2 @@
|
||||
{% set page = get_page(path="header.md") %}
|
||||
{{page.content | safe}}
|
||||
0
templates/partials/header_copy.html
Normal file
82
templates/partials/icons/bar-svgrepo-com.svg
Normal file
@@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||||
<path style="fill:#A39B8D;" d="M406.261,155.826h-11.13V11.13h11.13V155.826z M261.565,11.13h-11.13v144.696h11.13V11.13z
|
||||
M116.87,11.13h-11.13v144.696h11.13V11.13z"/>
|
||||
<path style="fill:#F7F2CD;" d="M467.478,278.261H333.913l55.652-133.565h22.261L467.478,278.261z M267.13,144.696H244.87
|
||||
l-55.652,133.565h133.565L267.13,144.696z M122.435,144.696h-22.261L44.522,278.261h133.565L122.435,144.696z"/>
|
||||
<path style="fill:#FFFCE3;" d="M446.609,278.261h-91.826l40.812-122.435h10.203L446.609,278.261z M261.101,155.826h-10.203
|
||||
l-40.811,122.435h91.826L261.101,155.826z M116.405,155.826h-10.203L65.391,278.261h91.826L116.405,155.826z"/>
|
||||
<path style="fill:#F5D470;" d="M369.212,155.826c-1.231-3.483-1.908-7.227-1.908-11.13c0-18.442,14.949-33.391,33.391-33.391
|
||||
s33.391,14.949,33.391,33.391c0,3.903-0.677,7.648-1.908,11.13H369.212z M287.484,155.826c1.231-3.483,1.908-7.227,1.908-11.13
|
||||
c0-18.442-14.949-33.391-33.391-33.391s-33.391,14.949-33.391,33.391c0,3.903,0.677,7.648,1.908,11.13H287.484z M142.788,155.826
|
||||
c1.231-3.483,1.908-7.227,1.908-11.13c0-18.442-14.949-33.391-33.391-33.391s-33.391,14.949-33.391,33.391
|
||||
c0,3.903,0.677,7.648,1.908,11.13H142.788z"/>
|
||||
<path style="fill:#D19B3F;" d="M434.087,144.696c0,3.903-0.677,7.648-1.908,11.13h-20.353v-11.13c0-6.147-4.983-11.13-11.13-11.13
|
||||
c-6.147,0-11.13,4.983-11.13,11.13v11.13h-20.353c-1.231-3.483-1.908-7.227-1.908-11.13c0-18.442,14.949-33.391,33.391-33.391
|
||||
S434.087,126.254,434.087,144.696z M256,111.304c-18.442,0-33.391,14.949-33.391,33.391c0,3.903,0.677,7.648,1.908,11.13h20.353
|
||||
v-11.13c0-6.147,4.983-11.13,11.13-11.13s11.13,4.983,11.13,11.13v11.13h20.353c1.231-3.483,1.908-7.227,1.908-11.13
|
||||
C289.391,126.254,274.442,111.304,256,111.304z M111.304,111.304c-18.442,0-33.391,14.949-33.391,33.391
|
||||
c0,3.903,0.677,7.648,1.908,11.13h20.353v-11.13c0-6.147,4.983-11.13,11.13-11.13c6.147,0,11.13,4.983,11.13,11.13v11.13h20.353
|
||||
c1.231-3.483,1.908-7.227,1.908-11.13C144.696,126.254,129.746,111.304,111.304,111.304z"/>
|
||||
<path style="fill:#57544C;" d="M500.87,22.261H11.13C4.983,22.261,0,17.278,0,11.13l0,0C0,4.983,4.983,0,11.13,0H500.87
|
||||
C507.017,0,512,4.983,512,11.13l0,0C512,17.278,507.017,22.261,500.87,22.261z"/>
|
||||
<path style="fill:#D3C6A8;" d="M434.087,489.739L434.087,489.739c0,12.295-9.966,22.261-22.261,22.261H100.174
|
||||
c-12.295,0-22.261-9.966-22.261-22.261l0,0c0-12.295,9.966-22.261,22.261-22.261h311.652
|
||||
C424.121,467.478,434.087,477.444,434.087,489.739z"/>
|
||||
<path style="fill:#6E5840;" d="M478.609,467.478H33.391V267.13h445.217V467.478z"/>
|
||||
<path style="fill:#323030;" d="M500.87,478.609H11.13c-6.147,0-11.13-4.983-11.13-11.13l0,0c0-6.147,4.983-11.13,11.13-11.13H500.87
|
||||
c6.147,0,11.13,4.983,11.13,11.13l0,0C512,473.626,507.017,478.609,500.87,478.609z M512,267.13L512,267.13
|
||||
c0-6.147-4.983-11.13-11.13-11.13H11.13C4.983,256,0,260.983,0,267.13l0,0c0,6.147,4.983,11.13,11.13,11.13H500.87
|
||||
C507.017,278.261,512,273.278,512,267.13z"/>
|
||||
<path style="fill:#C6984F;" d="M125.217,500.87h-22.261l38.957-166.957h22.261L125.217,500.87z M347.826,333.913h-22.261
|
||||
L286.609,500.87h22.261L347.826,333.913z"/>
|
||||
<path style="fill:#AA8144;" d="M164.174,333.913h22.261l38.957,166.957H203.13L164.174,333.913z M386.783,500.87h22.261
|
||||
l-38.957-166.957h-22.261L386.783,500.87z"/>
|
||||
<path style="fill:#ADA58C;" d="M208.696,356.174h-89.043c-6.147,0-11.13-4.983-11.13-11.13v-22.261c0-6.147,4.983-11.13,11.13-11.13
|
||||
h89.043c6.147,0,11.13,4.983,11.13,11.13v22.261C219.826,351.191,214.843,356.174,208.696,356.174z M403.478,345.043v-22.261
|
||||
c0-6.147-4.983-11.13-11.13-11.13h-89.043c-6.147,0-11.13,4.983-11.13,11.13v22.261c0,6.147,4.983,11.13,11.13,11.13h89.043
|
||||
C398.495,356.174,403.478,351.191,403.478,345.043z"/>
|
||||
<path style="fill:#D3C6A8;" d="M108.522,322.783L108.522,322.783c0-6.147,4.983-11.13,11.13-11.13h89.043
|
||||
c6.147,0,11.13,4.983,11.13,11.13l0,0H108.522z M403.478,322.783L403.478,322.783c0-6.147-4.983-11.13-11.13-11.13h-89.043
|
||||
c-6.147,0-11.13,4.983-11.13,11.13l0,0H403.478z"/>
|
||||
<path style="fill:#92393C;" d="M66.783,256c0,6.147-4.983,11.13-11.13,11.13h-11.13c-6.147,0-11.13-4.983-11.13-11.13v-33.391
|
||||
h33.391V256z"/>
|
||||
<path style="fill:#DB6D53;" d="M50.087,256L50.087,256c-3.073,0-5.565-2.492-5.565-5.565v-27.826h11.13v27.826
|
||||
C55.652,253.508,53.16,256,50.087,256z"/>
|
||||
<path style="fill:#C6984F;" d="M178.087,250.435v11.13c0,3.073-2.492,5.565-5.565,5.565h-66.783c-3.073,0-5.565-2.492-5.565-5.565
|
||||
v-11.13c0-3.073,2.492-5.565,5.565-5.565h66.783C175.595,244.87,178.087,247.362,178.087,250.435z"/>
|
||||
<path style="fill:#AA8144;" d="M178.087,250.435V256h-77.913v-5.565c0-3.073,2.492-5.565,5.565-5.565h66.783
|
||||
C175.595,244.87,178.087,247.362,178.087,250.435z"/>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.0 KiB |
95
templates/partials/icons/code-svgrepo-com.svg
Normal file
@@ -0,0 +1,95 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||||
<path style="fill:#E4EAF8;" d="M494.345,472.276H17.655C7.904,472.276,0,464.372,0,454.621V57.379
|
||||
c0-9.751,7.904-17.655,17.655-17.655h476.69c9.751,0,17.655,7.904,17.655,17.655v397.241
|
||||
C512,464.372,504.096,472.276,494.345,472.276z"/>
|
||||
<path style="fill:#5B5D6E;" d="M494.345,472.276H256V83.862h256v370.759C512,464.372,504.096,472.276,494.345,472.276z"/>
|
||||
<path style="fill:#D5DCED;" d="M512,83.862H0V57.379c0-9.751,7.904-17.655,17.655-17.655h476.69c9.751,0,17.655,7.904,17.655,17.655
|
||||
V83.862z"/>
|
||||
<path style="fill:#E4EAF8;" d="M26.483,75.034h-8.828c-4.875,0-8.828-3.953-8.828-8.828v-8.828c0-4.875,3.953-8.828,8.828-8.828
|
||||
h8.828c4.875,0,8.828,3.953,8.828,8.828v8.828C35.31,71.082,31.358,75.034,26.483,75.034z"/>
|
||||
<path style="fill:#FF5050;" d="M423.724,75.034h-8.828c-4.875,0-8.828-3.953-8.828-8.828v-8.828c0-4.875,3.953-8.828,8.828-8.828
|
||||
h8.828c4.875,0,8.828,3.953,8.828,8.828v8.828C432.552,71.082,428.599,75.034,423.724,75.034z"/>
|
||||
<path style="fill:#FFF082;" d="M459.034,75.034h-8.828c-4.875,0-8.828-3.953-8.828-8.828v-8.828c0-4.875,3.953-8.828,8.828-8.828
|
||||
h8.828c4.875,0,8.828,3.953,8.828,8.828v8.828C467.862,71.082,463.91,75.034,459.034,75.034z"/>
|
||||
<path style="fill:#A0FFB4;" d="M494.345,75.034h-8.828c-4.875,0-8.828-3.953-8.828-8.828v-8.828c0-4.875,3.953-8.828,8.828-8.828
|
||||
h8.828c4.875,0,8.828,3.953,8.828,8.828v8.828C503.172,71.082,499.22,75.034,494.345,75.034z"/>
|
||||
<path style="fill:#00C3FF;" d="M144.898,150.826l-59.75,59.75c-3.229,3.229-3.463,8.386-0.54,11.893L256,428.138V145.655h-98.618
|
||||
C152.7,145.655,148.209,147.516,144.898,150.826z"/>
|
||||
<polygon style="fill:#80E1FF;" points="256,145.655 176.552,216.276 256,216.276 "/>
|
||||
<g>
|
||||
<path style="fill:#00AAF0;" d="M176.552,216.276l-25.97-69.254c-2.103,0.878-4.039,2.159-5.681,3.801L85.15,210.575
|
||||
c-1.578,1.578-2.415,3.619-2.543,5.7L176.552,216.276L176.552,216.276z"/>
|
||||
<polygon style="fill:#00AAF0;" points="176.552,216.276 256,428.138 256,216.276 "/>
|
||||
</g>
|
||||
<path style="fill:#AFB9D2;" d="M256,489.931c-4.879,0-8.828-3.953-8.828-8.828V30.897c0-4.875,3.948-8.828,8.828-8.828
|
||||
c4.879,0,8.828,3.953,8.828,8.828v450.207C264.828,485.978,260.879,489.931,256,489.931z"/>
|
||||
<g>
|
||||
<path style="fill:#FF5050;" d="M317.793,163.31h-17.655c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h17.655
|
||||
c4.879,0,8.828,3.953,8.828,8.828S322.673,163.31,317.793,163.31z"/>
|
||||
<path style="fill:#FF5050;" d="M317.793,233.931h-17.655c-4.879,0-8.828-3.953-8.828-8.828c0-4.875,3.948-8.828,8.828-8.828h17.655
|
||||
c4.879,0,8.828,3.953,8.828,8.828C326.621,229.978,322.673,233.931,317.793,233.931z"/>
|
||||
</g>
|
||||
<path style="fill:#A0FFB4;" d="M344.276,198.621h-17.655c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h17.655
|
||||
c4.879,0,8.828,3.953,8.828,8.828S349.155,198.621,344.276,198.621z"/>
|
||||
<path style="fill:#FFFFFF;" d="M467.862,163.31H353.103c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h114.759
|
||||
c4.879,0,8.828,3.953,8.828,8.828S472.742,163.31,467.862,163.31z"/>
|
||||
<path style="fill:#FFF082;" d="M467.862,233.931H353.103c-4.879,0-8.828-3.953-8.828-8.828c0-4.875,3.948-8.828,8.828-8.828h114.759
|
||||
c4.879,0,8.828,3.953,8.828,8.828C476.69,229.978,472.742,233.931,467.862,233.931z"/>
|
||||
<path style="fill:#D5DCED;" d="M467.862,198.621h-88.276c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h88.276
|
||||
c4.879,0,8.828,3.953,8.828,8.828S472.742,198.621,467.862,198.621z"/>
|
||||
<path style="fill:#A0FFB4;" d="M344.276,269.241h-17.655c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h17.655
|
||||
c4.879,0,8.828,3.953,8.828,8.828S349.155,269.241,344.276,269.241z"/>
|
||||
<path style="fill:#D5DCED;" d="M467.862,269.241h-88.276c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h88.276
|
||||
c4.879,0,8.828,3.953,8.828,8.828S472.742,269.241,467.862,269.241z"/>
|
||||
<g>
|
||||
<path style="fill:#FF5050;" d="M317.793,304.552h-17.655c-4.879,0-8.828-3.953-8.828-8.828c0-4.875,3.948-8.828,8.828-8.828h17.655
|
||||
c4.879,0,8.828,3.953,8.828,8.828C326.621,300.599,322.673,304.552,317.793,304.552z"/>
|
||||
<path style="fill:#FF5050;" d="M317.793,375.172h-17.655c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h17.655
|
||||
c4.879,0,8.828,3.953,8.828,8.828S322.673,375.172,317.793,375.172z"/>
|
||||
</g>
|
||||
<path style="fill:#A0FFB4;" d="M344.276,339.862h-17.655c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h17.655
|
||||
c4.879,0,8.828,3.953,8.828,8.828S349.155,339.862,344.276,339.862z"/>
|
||||
<path style="fill:#FFFFFF;" d="M467.862,304.552H353.103c-4.879,0-8.828-3.953-8.828-8.828c0-4.875,3.948-8.828,8.828-8.828h114.759
|
||||
c4.879,0,8.828,3.953,8.828,8.828C476.69,300.599,472.742,304.552,467.862,304.552z"/>
|
||||
<path style="fill:#FFF082;" d="M467.862,375.172H353.103c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h114.759
|
||||
c4.879,0,8.828,3.953,8.828,8.828S472.742,375.172,467.862,375.172z"/>
|
||||
<path style="fill:#D5DCED;" d="M467.862,339.862h-88.276c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h88.276
|
||||
c4.879,0,8.828,3.953,8.828,8.828S472.742,339.862,467.862,339.862z"/>
|
||||
<path style="fill:#A0FFB4;" d="M344.276,410.483h-17.655c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h17.655
|
||||
c4.879,0,8.828,3.953,8.828,8.828S349.155,410.483,344.276,410.483z"/>
|
||||
<path style="fill:#D5DCED;" d="M467.862,410.483h-88.276c-4.879,0-8.828-3.953-8.828-8.828s3.948-8.828,8.828-8.828h88.276
|
||||
c4.879,0,8.828,3.953,8.828,8.828S472.742,410.483,467.862,410.483z"/>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.7 KiB |
67
templates/partials/icons/form-svgrepo-com.svg
Normal file
@@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||||
<g>
|
||||
<g>
|
||||
<path style="fill:#9F6459;" d="M416,32H272c0,8.836-7.164,16-16,16s-16-7.164-16-16H96c-22.055,0-40,17.945-40,40v400
|
||||
c0,22.055,17.945,40,40,40h320c22.055,0,40-17.945,40-40V72C456,49.945,438.054,32,416,32z M416,464c0,4.418-3.582,8-8,8H104
|
||||
c-4.418,0-8-3.582-8-8V80c0-4.418,3.582-8,8-8h304c4.418,0,8,3.582,8,8V464z"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path style="fill:#D8DCE1;" d="M152,368c-1.891,0-3.789-0.664-5.312-2.023c-3.305-2.93-3.602-7.992-0.664-11.289l64-72
|
||||
c2.328-2.625,6.094-3.422,9.289-1.969l80.445,36.57l52.844-128.336c1.688-4.078,6.359-6,10.445-4.352
|
||||
c4.086,1.68,6.031,6.359,4.352,10.445l-56,136c-0.828,2.008-2.438,3.594-4.453,4.391s-4.273,0.742-6.258-0.156l-82.625-37.555
|
||||
l-60.086,67.586C156.398,367.094,154.203,368,152,368z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<circle style="fill:#FF4F19;" cx="152" cy="360" r="24"/>
|
||||
</g>
|
||||
<g>
|
||||
<circle style="fill:#FF9600;" cx="216" cy="288" r="24"/>
|
||||
</g>
|
||||
<g>
|
||||
<circle style="fill:#FFD200;" cx="304" cy="328" r="24"/>
|
||||
</g>
|
||||
<g>
|
||||
<circle style="fill:#74D24F;" cx="360" cy="192" r="24"/>
|
||||
</g>
|
||||
<g>
|
||||
<path style="fill:#B9BBC1;" d="M304,16h-20.391C277.969,6.242,267.484,0,256,0s-21.969,6.242-27.609,16H208
|
||||
c-22.055,0-40,17.945-40,40v32c0,4.418,3.578,8,8,8h160c4.422,0,8-3.582,8-8V56C344,33.945,326.055,16,304,16z M256,40
|
||||
c-4.418,0-8-3.582-8-8c0-4.418,3.582-8,8-8s8,3.582,8,8C264,36.418,260.418,40,256,40z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
79
templates/partials/icons/paint-brush-art-svgrepo-com.svg
Normal file
@@ -0,0 +1,79 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 496 496" style="enable-background:new 0 0 496 496;" xml:space="preserve">
|
||||
<path style="fill:#996632;" d="M264,465.6c-4,4-10.4,6.4-16,6.4c-0.8,0-1.6,0-2.4,0c-12-1.6-21.6-12.8-21.6-25.6v-84
|
||||
c0-32-26.4-58.4-58.4-58.4h-2.4c-14.4,0-26.4-12-26.4-26.4V256h224v21.6c0,14.4-12,26.4-26.4,26.4H332c-32,0-58.4,26.4-58.4,58.4
|
||||
V448C272,454.4,268.8,461.6,264,465.6z M264,448c0-8.8-7.2-16-16-16c-8.8,0-16,7.2-16,16s7.2,16,16,16C256.8,464,264,456.8,264,448z
|
||||
"/>
|
||||
<path style="fill:#D9CDC1;" d="M364,232c6.4,0,12-5.6,12-12v-24c0-6.4-5.6-12-12-12h20h4c6.4,0,12,5.6,12,12v24c0,6.4-5.6,12-12,12
|
||||
h-12H364z"/>
|
||||
<circle style="fill:#42210B;" cx="328" cy="208" r="16"/>
|
||||
<path style="fill:#CC9966;" d="M296,80c0-8.8,7.2-16,16-16s16,7.2,16,16v40c0,17.6,14.4,32,32,32c5.6,0,11.2-1.6,16-4.8V168h-91.2
|
||||
c6.4-5.6,11.2-14.4,11.2-24V80z"/>
|
||||
<g>
|
||||
<circle style="fill:#42210B;" cx="248" cy="448" r="16"/>
|
||||
<circle style="fill:#42210B;" cx="248" cy="208" r="16"/>
|
||||
</g>
|
||||
<path style="fill:#FFF8EF;" d="M248,192c-8.8,0-16,7.2-16,16s7.2,16,16,16c8.8,0,16-7.2,16-16S256.8,192,248,192z M364,184
|
||||
c6.4,0,12,5.6,12,12v24c0,6.4-5.6,12-12,12H168c17.6,0,32-14.4,32-32v-16H364z M328,224c8.8,0,16-7.2,16-16s-7.2-16-16-16
|
||||
s-16,7.2-16,16S319.2,224,328,224z"/>
|
||||
<path style="fill:#CC9966;" d="M200,80c0-8.8,7.2-16,16-16s16,7.2,16,16v64c0,9.6,4,18.4,11.2,24H200V80z"/>
|
||||
<path style="fill:#FF6600;" d="M360,136c-8.8,0-16-7.2-16-16V80c0-17.6-14.4-32-32-32s-32,14.4-32,32v64c0,8.8-7.2,16-16,16
|
||||
s-16-7.2-16-16V80c0-17.6-14.4-32-32-32s-32,14.4-32,32v120c0,8.8-7.2,16-16,16s-16-7.2-16-16V96c0-19.2-13.6-35.2-32-39.2V56
|
||||
c0-22.4,17.6-40,40-40h176c22.4,0,40,17.6,40,40v64C376,128.8,368.8,136,360,136z"/>
|
||||
<path style="fill:#FF7D00;" d="M168,208c-4.8,0-8-3.2-8-8V96c0-20-12.8-38.4-31.2-44.8C131.2,35.2,144,24,160,24h176
|
||||
c17.6,0,32,14.4,32,32v64c0,4.8-3.2,8-8,8s-8-3.2-8-8V80c0-22.4-17.6-40-40-40s-40,17.6-40,40v64c0,4.8-3.2,8-8,8s-8-3.2-8-8V80
|
||||
c0-22.4-17.6-40-40-40s-40,17.6-40,40v120C176,204.8,172.8,208,168,208z"/>
|
||||
<path style="fill:#CC9966;" d="M136,96v72h-16V73.6C129.6,76.8,136,85.6,136,96z"/>
|
||||
<path style="fill:#FFF8EF;" d="M136,200c0,17.6,13.6,32,31.2,32h-34.4c-6.4,0-12-5.6-12-12v-24c0-6.4,5.6-12,12-12h3.2V200z"/>
|
||||
<path style="fill:#875426;" d="M165.6,304c32,0,58.4,26.4,58.4,58.4v84c0,12.8,9.6,24,21.6,25.6c0.8,0,1.6,0,2.4,0
|
||||
c6.4,0,12-2.4,16-6.4c4.8-4.8,8-11.2,8-17.6v-85.6c0-32,26.4-58.4,58.4-58.4h2.4c14.4,0,26.4-12,26.4-26.4V256H136v21.6
|
||||
c0,14.4,12,26.4,26.4,26.4H165.6z M244.8,480c-16-1.6-28.8-16-28.8-33.6v-84c0-28-22.4-50.4-50.4-50.4h-2.4
|
||||
c-19.2,0-34.4-15.2-34.4-34.4V248h240v29.6c0,19.2-15.2,34.4-34.4,34.4H332c-28,0-50.4,22.4-50.4,50.4V448c0,8.8-4,17.6-10.4,24
|
||||
C262.4,477.6,253.6,480.8,244.8,480z"/>
|
||||
<path style="fill:#D9CDC1;" d="M120.8,220c0,6.4,5.6,12,12,12H120h-12c-6.4,0-12-5.6-12-12v-24c0-6.4,5.6-12,12-12h4h20.8
|
||||
c-6.4,0-12,5.6-12,12V220z"/>
|
||||
<path style="fill:#42210B;" d="M136,96c0-10.4-6.4-19.2-16-22.4V168h16V96z M165.6,312c28,0,50.4,22.4,50.4,50.4v84
|
||||
c0,17.6,12.8,32,28.8,33.6c8.8,0.8,17.6-2.4,24.8-8c6.4-6.4,10.4-14.4,10.4-24v-85.6c0-28,22.4-50.4,50.4-50.4h2.4
|
||||
c19.2,0,34.4-15.2,34.4-34.4V248H128v29.6c0,19.2,15.2,34.4,34.4,34.4H165.6z M243.2,168c-6.4-5.6-11.2-14.4-11.2-24V80
|
||||
c0-8.8-7.2-16-16-16s-16,7.2-16,16v88H243.2z M200,200c0,17.6-14.4,32-32,32h196h12h12c6.4,0,12-5.6,12-12v-24c0-6.4-5.6-12-12-12
|
||||
h-4h-20H200V200z M330.4,328c-19.2,0-34.4,15.2-34.4,34.4V448c0,13.6-5.6,26.4-16,35.2c-8.8,8-20.8,12.8-32.8,12.8
|
||||
c-1.6,0-3.2,0-4.8,0c-24-2.4-43.2-24-43.2-49.6v-84c0-19.2-15.2-34.4-34.4-34.4h-2.4c-28,0-50.4-22.4-50.4-50.4V248h-4
|
||||
c-15.2,0-28-12.8-28-28v-24c0-14.4,10.4-25.6,24-27.2V56c0-31.2,24.8-56,56-56h176c31.2,0,56,24.8,56,56v112
|
||||
c13.6,1.6,24,13.6,24,27.2v24c0,15.2-12.8,28-28,28h-4v29.6c0,28-22.4,50.4-50.4,50.4h-3.2V328z M296,144c0,9.6-4,18.4-11.2,24H376
|
||||
v-20.8c-4.8,3.2-10.4,4.8-16,4.8c-17.6,0-32-14.4-32-32V80c0-8.8-7.2-16-16-16s-16,7.2-16,16V144z M120,232h12.8h34.4
|
||||
c-17.6,0-31.2-14.4-31.2-32v-16h-3.2H112h-4c-6.4,0-12,5.6-12,12v24c0,6.4,5.6,12,12,12H120z M280,80c0-17.6,14.4-32,32-32
|
||||
s32,14.4,32,32v40c0,8.8,7.2,16,16,16s16-7.2,16-16V56c0-22.4-17.6-40-40-40H160c-22.4,0-40,17.6-40,40v0.8c18.4,4,32,20,32,39.2
|
||||
v104c0,8.8,7.2,16,16,16s16-7.2,16-16V80c0-17.6,14.4-32,32-32s32,14.4,32,32v64c0,8.8,7.2,16,16,16s16-7.2,16-16V80z"/>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.6 KiB |
3
templates/partials/icons/svgDribbbleIcon.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg class="h-8 w-8" aria-hidden="true" fill="currentColor" viewBox="0 0 24 24">
|
||||
<path fill-rule="evenodd" d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10c5.51 0 10-4.48 10-10S17.51 2 12 2zm6.605 4.61a8.502 8.502 0 011.93 5.314c-.281-.054-3.101-.629-5.943-.271-.065-.141-.12-.293-.184-.445a25.416 25.416 0 00-.564-1.236c3.145-1.28 4.577-3.124 4.761-3.362zM12 3.475c2.17 0 4.154.813 5.662 2.148-.152.216-1.443 1.941-4.48 3.08-1.399-2.57-2.95-4.675-3.189-5A8.687 8.687 0 0112 3.475zm-3.633.803a53.896 53.896 0 013.167 4.935c-3.992 1.063-7.517 1.04-7.896 1.04a8.581 8.581 0 014.729-5.975zM3.453 12.01v-.26c.37.01 4.512.065 8.775-1.215.25.477.477.965.694 1.453-.109.033-.228.065-.336.098-4.404 1.42-6.747 5.303-6.942 5.629a8.522 8.522 0 01-2.19-5.705zM12 20.547a8.482 8.482 0 01-5.239-1.8c.152-.315 1.888-3.656 6.703-5.337.022-.01.033-.01.054-.022a35.318 35.318 0 011.823 6.475 8.4 8.4 0 01-3.341.684zm4.761-1.465c-.086-.52-.542-3.015-1.659-6.084 2.679-.423 5.022.271 5.314.369a8.468 8.468 0 01-3.655 5.715z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
3
templates/partials/icons/svgFacebookIcon.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg class="h-8 w-8" aria-hidden="true" fill="currentColor" viewBox="0 0 24 24">
|
||||
<path fill-rule="evenodd" d="M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 407 B |
1
templates/partials/icons/svgFirstPageIcon.html
Normal file
@@ -0,0 +1 @@
|
||||
<svg width="12px" height="12px" class="inline" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(1.22465e-16,-2,2,1.22465e-16,0,48)"><path d="M12,0L24,24L0,24L12,0Z" style="fill:rgb(128,128,128);"/></g></svg>
|
||||
|
After Width: | Height: | Size: 435 B |
3
templates/partials/icons/svgGithubIcon.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg class="h-8 w-8" aria-hidden="true" fill="currentColor" viewBox="0 0 24 24">
|
||||
<path fill-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 865 B |
3
templates/partials/icons/svgInstagramIcon.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg class="h-8 w-8" aria-hidden="true" fill="currentColor" viewBox="0 0 24 24">
|
||||
<path fill-rule="evenodd" d="M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
1
templates/partials/icons/svgLastPageIcon.html
Normal file
@@ -0,0 +1 @@
|
||||
<svg width="12px" height="12px" class="inline" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(-1.22465e-16,-2,-2,1.22465e-16,48,48)"><path d="M12,0L24,24L0,24L12,0Z" style="fill:rgb(128,128,128);"/></g></svg>
|
||||
|
After Width: | Height: | Size: 438 B |
1
templates/partials/icons/svgLinkedInIcon.html
Normal file
@@ -0,0 +1 @@
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" class="h-8 w-8"><path fill="currentColor" d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z" ></path></svg>
|
||||
|
After Width: | Height: | Size: 634 B |
1
templates/partials/icons/svgNextPageIcon.html
Normal file
@@ -0,0 +1 @@
|
||||
<svg width="12px" height="12px" class="inline" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(-1.22465e-16,-2,-2,1.22465e-16,48,48)"><path d="M12,0L24,24L0,24L12,0Z" style="fill:rgb(0,170,255);"/></g></svg>
|
||||
|
After Width: | Height: | Size: 436 B |
1
templates/partials/icons/svgPrevPageIcon.html
Normal file
@@ -0,0 +1 @@
|
||||
<svg width="12px" height="12px" class="inline" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(1.22465e-16,-2,2,1.22465e-16,0,48)"><path d="M12,0L24,24L0,24L12,0Z" style="fill:rgb(0,170,255);"/></g></svg>
|
||||
|
After Width: | Height: | Size: 433 B |
1
templates/partials/icons/svgTelegram.html
Normal file
@@ -0,0 +1 @@
|
||||
<svg data-v-14efe4a7="" xmlns="http://www.w3.org/2000/svg" width="1.6rem" height="1.6rem" fill="currentColor" viewBox="0 0 16 16" class="bi bi-telegram mt-1"><path data-v-14efe4a7="" d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.287 5.906c-.778.324-2.334.994-4.666 2.01-.378.15-.577.298-.595.442-.03.243.275.339.69.47l.175.055c.408.133.958.288 1.243.294.26.006.549-.1.868-.32 2.179-1.471 3.304-2.214 3.374-2.23.05-.012.12-.026.166.016.047.041.042.12.037.141-.03.129-1.227 1.241-1.846 1.817-.193.18-.33.307-.358.336a8.154 8.154 0 0 1-.188.186c-.38.366-.664.64.015 1.088.327.216.589.393.85.571.284.194.568.387.936.629.093.06.183.125.27.187.331.236.63.448.997.414.214-.02.435-.22.547-.82.265-1.417.786-4.486.906-5.751a1.426 1.426 0 0 0-.013-.315.337.337 0 0 0-.114-.217.526.526 0 0 0-.31-.093c-.3.005-.763.166-2.984 1.09z"></path></svg>
|
||||
|
After Width: | Height: | Size: 828 B |
3
templates/partials/icons/svgTwitterIcon.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg class="h-8 w-8" aria-hidden="true" fill="currentColor" viewBox="0 0 24 24">
|
||||
<path d="M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 530 B |
9
templates/partials/intro.html
Normal file
@@ -0,0 +1,9 @@
|
||||
{% block content %}
|
||||
<div class="mb-6 mt-14">
|
||||
<h2 class="mb-4 text-center text-4xl lg:text-5xl text-gray-900 md:mb-6">{{ section.title }}</h2>
|
||||
<p class="mx-auto max-w-5xl text-center text-gray-900 md:text-lg">
|
||||
{{ section.description }}
|
||||
</p>
|
||||
</div>
|
||||
{# <hr class="mt-6"> #}
|
||||
{% endblock content %}
|
||||
85
templates/partials/memberships.html
Normal file
@@ -0,0 +1,85 @@
|
||||
{% block content %}
|
||||
|
||||
{% if not paginator %}
|
||||
{% set paginator = section %}
|
||||
{% endif %}
|
||||
|
||||
{% set path_array = current_path | split(pat="/") %}
|
||||
{% set taxonomy = path_array[1] %}
|
||||
{% set category = path_array[2] %}
|
||||
{% if path_array | length < 3%}
|
||||
{% set category = "All" %}
|
||||
{% endif %}
|
||||
|
||||
<div class="mt-16 mx-auto max-w-7xl px-6 lg:px-8">
|
||||
{% include "partials/filter_bar.html" %}
|
||||
<div class="text-center main-title px-0 md:w-full mx-8 md:mx-12">
|
||||
<div class="my-4 flex flex-col items-start">
|
||||
<h1 class="tracking-tight text-left text-2xl sm:text-3xl md:text-4xl lg:text-5xl fw-500 leading-snug font-normal">
|
||||
{{category | replace(from='-', to=' ' ) | title}}
|
||||
</h1>
|
||||
test
|
||||
<div class="text-xl text-gray-800">
|
||||
{{ paginator.total_pages ~ " People"}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div>
|
||||
<div class="mx-auto mt-4 grid max-w-2xl grid-cols-1 gap-x-4 gap-y-8 sm:grid-cols-2 lg:mx-0 lg:max-w-none lg:grid-cols-3 xl:grid-cols-4">
|
||||
{%- for page in paginator.pages %}
|
||||
{% include "partials/person_card.html" %}
|
||||
{%- endfor %}
|
||||
</div>
|
||||
<hr class="mt-6" />
|
||||
<p class="text-center text-sm mt-2 mb-16">
|
||||
{% if paginator.previous %}
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="First page"
|
||||
href="{{ paginator.first }}"
|
||||
>{% include "partials/icons/svgPrevPageIcon.html" %}{% include
|
||||
"partials/icons/svgPrevPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Previous page"
|
||||
href="{{ paginator.previous }}"
|
||||
>{% include "partials/icons/svgPrevPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
{% else %} {%
|
||||
include "partials/icons/svgFirstPageIcon.html" %}{% include
|
||||
"partials/icons/svgFirstPageIcon.html" %}
|
||||
{% include
|
||||
"partials/icons/svgFirstPageIcon.html" %}
|
||||
|
||||
{% endif %} {% if
|
||||
paginator.next %}
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Next page"
|
||||
href="{{ paginator.next }}"
|
||||
>{% include "partials/icons/svgNextPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Last page"
|
||||
href="{{ paginator.last }}"
|
||||
>{% include "partials/icons/svgNextPageIcon.html" %}{% include
|
||||
"partials/icons/svgNextPageIcon.html" %}</a
|
||||
>
|
||||
{% else %} {% include "partials/icons/svgLastPageIcon.html" %}
|
||||
{% include
|
||||
"partials/icons/svgLastPageIcon.html" %}{% include
|
||||
"partials/icons/svgLastPageIcon.html" %} {% endif %}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{% endblock content %}
|
||||
57
templates/partials/newsCard.html
Normal file
@@ -0,0 +1,57 @@
|
||||
<div class="flex flex-col rounded-lg shadow-lg overflow-hidden">
|
||||
<div class="flex-1">
|
||||
<a href={{ post.permalink }} class="block">
|
||||
<div class="flex-shrink-0">
|
||||
{% if post.extra.imgPath %}
|
||||
{% set img_url = get_url(path='/' ~ post.relative_path | replace(from='_', to='-') | replace(from='index.md', to=post.extra.imgPath)) %}
|
||||
<img class="h-48 w-full mx-auto object-cover" src={{img_url}} alt="" />
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="flex-1 bg-white p-4 flex flex-col justify-between">
|
||||
|
||||
<h3 class="mt-2 text-xl leading-7 font-medium text-gray-900 text-left not-italic">
|
||||
{{ post.title }}
|
||||
</h3>
|
||||
{% if post.description %}
|
||||
<p class="mt-3 text-sm font-normal leading-5 text-gray-500 text-left">
|
||||
{{ post.description }}
|
||||
</p>
|
||||
{% endif %}
|
||||
</a>
|
||||
<div class="flex items-center">
|
||||
<div class="flex justify-between items-center">
|
||||
<ul class="list-none flex author-list my-10 mr-2 px-0">
|
||||
{% if post.taxonomies.people %}
|
||||
{% for author in post.taxonomies.people %}
|
||||
{% set author_path = 'people/' ~ author ~ '/index.md' %}
|
||||
{% set people = get_section(path="people/_index.md") %}
|
||||
{% set pages_str = people.pages | json_encode() | as_str %}
|
||||
{% if pages_str is containing(author) %}
|
||||
{% set author = get_page(path=author_path) %}
|
||||
{% set author_img = get_url(path='/' ~ author.relative_path | replace(from='_', to='-') | replace(from='index.md', to=author.extra.imgPath)) %}
|
||||
<li class="author-list-item">
|
||||
<a href="{{ author.permalink }}" tooltip="{{ author.title }}">
|
||||
<img src="{{ author_img }}" alt="{{ author.title }}" class="
|
||||
w-8
|
||||
h-8
|
||||
rounded-full
|
||||
bg-gray-200
|
||||
border-2 border-white
|
||||
" />
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p class="text-gray-700 text-xs">
|
||||
<time datetime="{{post.date}}">
|
||||
{{ post.date | date(format="%B %e, %Y", timezone="America/Chicago") }}
|
||||
</time>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
70
templates/partials/newsPosts.html
Normal file
@@ -0,0 +1,70 @@
|
||||
{% block content %}
|
||||
|
||||
<div class="text-center main-title px-0 md:w-2/3 lg:w-2/3 mx-8 md:mx-12">
|
||||
<h1
|
||||
class="tracking-tight text-left text-2xl md:text-4xl lg:text-5xl fw-500 leading-snug font-normal mb-10"
|
||||
>
|
||||
{% set path_array = current_path | split(pat="/") %}
|
||||
{% set taxonomy = path_array[1] %}
|
||||
{% set category = path_array[2] %}
|
||||
News and updates from the ecosystem
|
||||
{% if taxonomy == "news-category" %} -
|
||||
{{category | replace(from='-', to=' ' ) | title}}
|
||||
{% endif %}
|
||||
</h1>
|
||||
<div>
|
||||
<div class="mt-12 grid gap-5 max-w-lg mx-auto lg:grid-cols-2 xl:grid-cols-3 lg:max-w-none">
|
||||
{%- for post in paginator.pages %}
|
||||
{% if "Engineering" == "Engineering"%}
|
||||
{% include "partials/newsCard.html" %}
|
||||
{%endif%} {%- endfor %}
|
||||
</div>
|
||||
<hr class="mt-6" />
|
||||
<p class="text-center text-sm mt-2 mb-16">
|
||||
{% if paginator.previous %}
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="First page"
|
||||
href="{{ paginator.first }}"
|
||||
>{% include "partials/icons/svgPrevPageIcon.html" %}{% include
|
||||
"partials/icons/svgPrevPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Previous page"
|
||||
href="{{ paginator.previous }}"
|
||||
>{% include "partials/icons/svgPrevPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
{% else %} {%
|
||||
include "partials/icons/svgFirstPageIcon.html" %}{% include
|
||||
"partials/icons/svgFirstPageIcon.html" %}
|
||||
{% include
|
||||
"partials/icons/svgFirstPageIcon.html" %}
|
||||
|
||||
{% endif %} {% if
|
||||
paginator.next %}
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Next page"
|
||||
href="{{ paginator.next }}"
|
||||
>{% include "partials/icons/svgNextPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Last page"
|
||||
href="{{ paginator.last }}"
|
||||
>{% include "partials/icons/svgNextPageIcon.html" %}{% include
|
||||
"partials/icons/svgNextPageIcon.html" %}</a
|
||||
>
|
||||
{% else %} {% include "partials/icons/svgLastPageIcon.html" %}
|
||||
{% include
|
||||
"partials/icons/svgLastPageIcon.html" %}{% include
|
||||
"partials/icons/svgLastPageIcon.html" %} {% endif %}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock content %}
|
||||
38
templates/partials/newsSidebar.html
Normal file
@@ -0,0 +1,38 @@
|
||||
|
||||
<div class="mx-8 md:mx-4 flex flex-col">
|
||||
<div class="flex flex-col mb-12 mr-8 lg:mr-24">
|
||||
<h4 class="text-base not-italic font-medium leading-6 text-gray-600 mb-6"> FILTER NEWS BY</h4>
|
||||
<a id="all" class="mb-3 text-black font-normal" href="/newsroom">All</a>
|
||||
{% set taxonomy = get_taxonomy(kind="news-category") %}
|
||||
{% set categories = taxonomy.items %}
|
||||
{% for category in categories %}
|
||||
{% set path = category.name | slugify %}
|
||||
{% set fullpath = "/news-category/" ~ path %}
|
||||
<a id="{{path}}" class="mb-3 text-black font-normal" href={{fullpath}}> {{category.name}} </a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{% set section = get_section(path="newsroom/_index.md")%}
|
||||
|
||||
<div class="lg:pt-6 flex flex-col mb-12 w-64 mr-8 lg:mr-24">
|
||||
<h4 class="text-base not-italic font-medium leading-6 text-gray-600 mb-6"> FEATURED NEWS</h4>
|
||||
|
||||
{% for page in section.pages %}
|
||||
{% if page.extra.isFeatured %}
|
||||
<a class="mb-3 text-blue-700" href={{page.permalink}}>{{ page.title }}</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function setActiveCategory() {
|
||||
let activeCategory = window.location.pathname.split("/")[2]
|
||||
if (typeof activeCategory === "undefined") { activeLink = document.getElementById("all") }
|
||||
else { activeLink = document.getElementById(activeCategory)}
|
||||
activeLink.className = activeLink.className.replace("text-black font-normal", "text-black font-semibold");
|
||||
}
|
||||
|
||||
setActiveCategory()
|
||||
</script>
|
||||
9
templates/partials/pageBox.html
Normal file
@@ -0,0 +1,9 @@
|
||||
<div class="mb-8 flex flex-col">
|
||||
<a href="{{page.permalink}}" class="text-lg font-medium cursor-pointer text-blue-400 py-4">
|
||||
{{page.title | safe}}
|
||||
</a>
|
||||
{% include "partials/tags.html" %}
|
||||
<p>
|
||||
{{page.description | safe}}
|
||||
</p>
|
||||
</div>
|
||||
19
templates/partials/page_list.html
Normal file
@@ -0,0 +1,19 @@
|
||||
<div id="list"></div>
|
||||
{% if section.extra.group_pages_by %}
|
||||
<div class="flex flex-col md:grid md:grid-cols-2 md:gap-12 lg:flex lg:flex-row justify-around text-center">
|
||||
{% set taxonomy = get_taxonomy(kind=section.extra.group_pages_by) %}
|
||||
{% set roles = taxonomy.items %}
|
||||
{% for role in roles %}
|
||||
<div class="flex flex-col items-start text-left my-8 mx-4 md:mx-8 lg:mx-4 flex-1 w-72">
|
||||
{% set icon_path = config.extra.taxonomies["roles"][role.name].icon_path | as_str %}
|
||||
<img src="{{icon_path}}" alt="role category icon" class="h-10 my-4">
|
||||
{% set path = role.name | slugify %}
|
||||
{% set fullpath = "/roles/" ~ path %}
|
||||
<a href={{fullpath}} class="text-2xl text-black font-normal lg:mb-8 cursor-pointer"> {{role.name}} </a>
|
||||
{% for page in role.pages %}
|
||||
{% include "partials/pageBox.html"%}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
22
templates/partials/partnerCard.html
Normal file
@@ -0,0 +1,22 @@
|
||||
<div class="flex flex-col rounded-lg shadow-lg overflow-hidden">
|
||||
<div class="flex-1">
|
||||
<a href="{{post.permalink}}" class="block">
|
||||
|
||||
<div class="flex-shrink-0">
|
||||
{% set url = get_url(path='/' ~ post.relative_path | replace(from='_', to='-') | replace(from='index.md', to=post.extra.imgPath)) %}
|
||||
<img class="h-48 w-full mx-auto object-cover" src="{{url}}" alt="{{post.title ~ ' Picture'}}" />
|
||||
</div>
|
||||
<div class="flex-1 bg-white p-6 flex flex-col justify-between">
|
||||
|
||||
<h3 class="mt-2 text-xl leading-7 font-medium text-gray-900 text-left not-italic">
|
||||
{{ post.title }}
|
||||
</h3>
|
||||
{% if post.description %}
|
||||
<p class="mt-3 text-sm font-normal leading-6 text-gray-500 text-left">
|
||||
{{ post.description }}
|
||||
</p>
|
||||
{% endif %}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
69
templates/partials/partnersCards.html
Normal file
@@ -0,0 +1,69 @@
|
||||
{% block content %}
|
||||
|
||||
<div class="text-center px-0 md:w-2/3 lg:w-2/3 mx-8 md:mx-12">
|
||||
<h1
|
||||
class="tracking-tight text-left text-2xl sm:text-3xl md:text-4xl lg:text-5xl fw-500 leading-snug font-normal mb-10"
|
||||
>
|
||||
{% set path_array = current_path | split(pat="/") %}
|
||||
{% set taxonomy = path_array[1] %}
|
||||
{% set category = path_array[2] %}
|
||||
{% if taxonomy == "partners-category" %} -
|
||||
{{category | replace(from='-', to=' ' ) | title}}
|
||||
{% endif %}
|
||||
</h1>
|
||||
<div>
|
||||
<div class="mt-12 grid gap-5 max-w-lg mx-auto lg:grid-cols-2 xl:grid-cols-3 lg:max-w-none">
|
||||
{%- for post in paginator.pages %}
|
||||
{% if "Engineering" == "Engineering"%}
|
||||
{% include "partials/partnerCard.html" %}
|
||||
{%endif%} {%- endfor %}
|
||||
</div>
|
||||
<hr class="mt-6" />
|
||||
<p class="text-center text-sm mt-2 mb-16">
|
||||
{% if paginator.previous %}
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="First page"
|
||||
href="{{ paginator.first }}"
|
||||
>{% include "partials/icons/svgPrevPageIcon.html" %}{% include
|
||||
"partials/icons/svgPrevPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Previous page"
|
||||
href="{{ paginator.previous }}"
|
||||
>{% include "partials/icons/svgPrevPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
{% else %} {%
|
||||
include "partials/icons/svgFirstPageIcon.html" %}{% include
|
||||
"partials/icons/svgFirstPageIcon.html" %}
|
||||
{% include
|
||||
"partials/icons/svgFirstPageIcon.html" %}
|
||||
|
||||
{% endif %} {% if
|
||||
paginator.next %}
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Next page"
|
||||
href="{{ paginator.next }}"
|
||||
>{% include "partials/icons/svgNextPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Last page"
|
||||
href="{{ paginator.last }}"
|
||||
>{% include "partials/icons/svgNextPageIcon.html" %}{% include
|
||||
"partials/icons/svgNextPageIcon.html" %}</a
|
||||
>
|
||||
{% else %} {% include "partials/icons/svgLastPageIcon.html" %}
|
||||
{% include
|
||||
"partials/icons/svgLastPageIcon.html" %}{% include
|
||||
"partials/icons/svgLastPageIcon.html" %} {% endif %}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock content %}
|
||||
24
templates/partials/partnersSidebar.html
Normal file
@@ -0,0 +1,24 @@
|
||||
<div class="mx-8 md:mx-4 flex flex-col">
|
||||
<div class="flex flex-col mb-12 mr-8 lg:mr-16">
|
||||
<h4 class="text-base not-italic font-medium leading-6 text-gray-600 mb-6"> FILTER PARTNERS BY</h4>
|
||||
<a id="all" class="mb-3 text-black font-normal" href="/partners">All</a>
|
||||
{% set taxonomy = get_taxonomy(kind="partners-category") %}
|
||||
{% set categories = taxonomy.items %}
|
||||
{% for category in categories %}
|
||||
{% set path = category.name | slugify %}
|
||||
{% set fullpath = "/partners-category/" ~ path %}
|
||||
<a id="{{path}}" class="mb-3 text-black font-normal" href={{fullpath}}> {{category.name}} </a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function setActiveCategory() {
|
||||
let activeCategory = window.location.pathname.split("/")[2]
|
||||
if (typeof activeCategory === "undefined") { activeLink = document.getElementById("all") }
|
||||
else { activeLink = document.getElementById(activeCategory) }
|
||||
activeLink.className = activeLink.className.replace("text-black font-normal", "text-black font-semibold");
|
||||
}
|
||||
|
||||
setActiveCategory()
|
||||
</script>
|
||||
26
templates/partials/personCard.html
Normal file
@@ -0,0 +1,26 @@
|
||||
<div class="flex flex-col px-0 sm:px-4 pb-2">
|
||||
<a href="{{page.permalink}}" class="border-0 text-gray-700 hover:!text-gray-700 font-normal text-left">
|
||||
{% set url = get_url(path='/' ~ page.relative_path | replace(from='_', to='-') | replace(from='index.md', to=page.extra.imgPath)) %}
|
||||
<img src="{{url}}" alt="{{page.title ~ ' Picture'}}" />
|
||||
<div>
|
||||
<h2 class="text-2xl">{{page.title}}</h2>
|
||||
<div class="text-md text-gray-700 text-left line-clamp-3 text-ellipsis">
|
||||
{% if page.description %}
|
||||
{{page.description}}
|
||||
{% else %}
|
||||
{{page.content | safe}}
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="my-2 flex flex-row items-start flex-wrap">
|
||||
{% if page.taxonomies.memberships %}
|
||||
{% for tag in page.taxonomies.memberships %}
|
||||
<a href="{{'/memberships/' ~ tag | replace(from='_', to='-' )}}" class="border-1 text-xs font-light bg-transparent hover:text-blue-700 py-1 px-2 mr-2 my-1 border hover:border-blue-500 border-gray-600 text-gray-700 rounded-full ">
|
||||
{{tag}}
|
||||
</a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
26
templates/partials/person_card.html
Normal file
@@ -0,0 +1,26 @@
|
||||
<div class="flex flex-col px-0 sm:px-4 pb-2">
|
||||
<a href="{{page.permalink}}" class="border-0 text-gray-700 hover:!text-gray-700 font-normal text-left">
|
||||
{% set url = get_url(path='/' ~ page.relative_path | replace(from='_', to='-') | replace(from='index.md', to=page.extra.imgPath)) %}
|
||||
<img class="aspect-[14/13] w-full rounded-2xl object-cover" src="{{url}}" alt="{{page.title ~ ' Picture'}}" />
|
||||
<div class="text-center">
|
||||
<h2 class="text-xl">{{page.title}}</h2>
|
||||
<div class="text-base text-gray-700 line-clamp-3 leading-5 text-ellipsis">
|
||||
{% if page.description %}
|
||||
{{page.description}}
|
||||
{% else %}
|
||||
{{page.content | safe}}
|
||||
{% endif %}
|
||||
</div>
|
||||
{# <div class="my-2 flex flex-row items-start flex-wrap">
|
||||
{% if page.taxonomies.memberships %}
|
||||
{% for tag in page.taxonomies.memberships %}
|
||||
<a href="{{'/memberships/' ~ tag | replace(from='_', to='-' )}}" class="border-1 text-xs font-light bg-transparent hover:text-blue-700 py-1 px-2 mr-2 my-1 border hover:border-blue-500 border-gray-600 text-gray-700 rounded-full ">
|
||||
{{tag}}
|
||||
</a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div> #}
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
75
templates/partials/postCard.html
Normal file
@@ -0,0 +1,75 @@
|
||||
{% if post.date %}
|
||||
{% if post.taxonomies.people %}
|
||||
{% set people = get_section(path="people/_index.md") %}
|
||||
{% set pages_str = people.pages | json_encode() | as_str %}
|
||||
{% if pages_str is containing(post.taxonomies.people[0]) %}
|
||||
{% set author_path = 'people/' ~ post.taxonomies.people[0] ~ '/index.md' %}
|
||||
{% set author = get_page(path=author_path) %}
|
||||
{% set content = get_page(path=author_path) %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<div class="flex flex-col rounded-lg shadow-lg overflow-hidden">
|
||||
<div class="flex-1 border-b">
|
||||
<a href="{{ post.permalink }}" class="block">
|
||||
{% if post.extra.imgPath %}
|
||||
{% set img_url = get_url(path='/' ~ post.relative_path | replace(from='_', to='-') | replace(from='index.md',
|
||||
to=post.extra.imgPath)) %}
|
||||
<div class="flex-shrink-0">
|
||||
<img class="h-48 w-full mx-auto object-cover" src={{img_url}} alt="{{post.title ~ ' Picture'}}" />
|
||||
</div>
|
||||
{%endif%}
|
||||
<div class="flex-1 bg-white p-6 flex flex-col justify-between">
|
||||
|
||||
<h3 class="mt-2 text-xl leading-6 font-medium text-gray-900 text-left not-italic">
|
||||
{{ post.title }}
|
||||
</h3>
|
||||
{% if post.description %}
|
||||
<p class="mt-3 text-sm font-normal text-gray-500 text-left">
|
||||
{{ post.description }}
|
||||
</p>
|
||||
{% endif %}
|
||||
<div class="article hidden">{{ post.content | safe }}</div>
|
||||
|
||||
<div class="w-full post-card-meta py-3">
|
||||
<div class="avatars">
|
||||
<div class="flex">
|
||||
<div class="flex">
|
||||
<ul class="list-none flex author-list mr-2 pl-0">
|
||||
{% if author %}
|
||||
{% set author_img = get_url(path='/' ~ author.relative_path | replace(from='_', to='-') |
|
||||
replace(from='index.md', to=author.extra.imgPath)) %}
|
||||
<li class="author-list-item"><img alt="{{author.title}}" src="{{author_img}}"
|
||||
class="w-8 h-8 rounded-full bg-gray-200 border-2 border-white"></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="flex flex-col text-left leading-none uppercase">
|
||||
{% if author %}
|
||||
<p class="text-gray-700 text-xs">{{ author.title }}</p>
|
||||
{% endif %}
|
||||
<p class="text-gray-700 text-xs">
|
||||
<time datetime="{{post.date}}">
|
||||
{{ post.date | date(format="%B %e, %Y", timezone="America/Chicago") }}
|
||||
</time>
|
||||
</p>
|
||||
<p class="flex justify-between lowercase my-2 items-center text-gray-700 text-xs"><span id="time"
|
||||
class="time"></span>
|
||||
</p>
|
||||
</div>
|
||||
<br />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.border-b {
|
||||
border-bottom-width: 1px !important;
|
||||
}
|
||||
</style>
|
||||
{% endif %}
|
||||
33
templates/partials/socialLinks.html
Normal file
@@ -0,0 +1,33 @@
|
||||
{% if not section %}
|
||||
{% set section = page %}
|
||||
{% endif %}
|
||||
|
||||
<div class="flex space-x-4">
|
||||
{%if section.extra.socialLinks%}
|
||||
{% for key, link in section.extra.socialLinks %}
|
||||
|
||||
<a href="{{link}}" target="_blank" class="text-gray-400 hover:text-gray-500">
|
||||
<span class="sr-only">{{key}}</span>
|
||||
{% if key == "Facebook" %}
|
||||
{% include "partials/icons/svgFacebookIcon.html" %}
|
||||
{% elif key == "Github" %}
|
||||
{% include "partials/icons/svgGithubIcon.html" %}
|
||||
{% elif key == "Github2" %}
|
||||
{% include "partials/icons/svgGithubIcon.html" %}
|
||||
{% elif key == "Instagram" %}
|
||||
{% include "partials/icons/svgInstagramIcon.html" %}
|
||||
{% elif key == "LinkedIn" %}
|
||||
{% include "partials/icons/svgLinkedInIcon.html" %}
|
||||
{% elif key == "Twitter" %}
|
||||
{% include "partials/icons/svgTwitterIcon.html" %}
|
||||
{% elif key == "Dribbble" %}
|
||||
{% include "partials/icons/svgDribbbleIcon.html" %}
|
||||
{% elif key == "Telegram" %}
|
||||
{% include "partials/icons/svgTelegram.html" %}
|
||||
{% endif %}
|
||||
</a>
|
||||
|
||||
{% endfor %}
|
||||
{%endif%}
|
||||
|
||||
</div>
|
||||
22
templates/partials/tagCard.html
Normal file
@@ -0,0 +1,22 @@
|
||||
<div class="flex flex-col rounded-lg shadow-lg overflow-hidden">
|
||||
<div class="flex-1">
|
||||
<a href={{ post.permalink }} class="block">
|
||||
<div class="flex-shrink-0">
|
||||
{% if post.extra.imgPath %}
|
||||
<img class="h-48 w-full mx-auto object-cover" src={{ post.permalink }}{{post.extra.imgPath}} alt="" />
|
||||
{%endif %}
|
||||
</div>
|
||||
<div class="flex-1 bg-white p-6 flex flex-col justify-between">
|
||||
|
||||
<h3 class="mt-2 text-xl leading-7 font-medium text-gray-900 text-left not-italic">
|
||||
{{ post.title }}
|
||||
</h3>
|
||||
{% if post.description %}
|
||||
<p class="mt-3 text-sm font-normal leading-6 text-gray-500 text-left">
|
||||
{{ post.description }}
|
||||
</p>
|
||||
{% endif %}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
5
templates/partials/tags.html
Normal file
@@ -0,0 +1,5 @@
|
||||
<div class="flex mb-4">
|
||||
{% for tag in page.taxonomies.tags %}
|
||||
<div class="bg-gray-200 rounded font-semibold text-xs w-auto px-2 py-1 mr-2">{{tag}}</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
69
templates/partials/tagsCards.html
Normal file
@@ -0,0 +1,69 @@
|
||||
{% block content %}
|
||||
|
||||
<div class="text-center px-0 md:w-2/3 lg:w-2/3 mx-8 md:mx-12">
|
||||
<h1
|
||||
class="tracking-tight text-left text-2xl sm:text-3xl md:text-4xl lg:text-5xl fw-500 leading-snug font-normal mb-10"
|
||||
>
|
||||
{% set path_array = current_path | split(pat="/") %}
|
||||
{% set taxonomy = path_array[1] %}
|
||||
{% set tag = path_array[2] %}
|
||||
{% if taxonomy == "tags" %} #
|
||||
{{tag | replace(from='-', to='_' ) | title}}
|
||||
{% endif %}
|
||||
</h1>
|
||||
<div>
|
||||
<div class="mt-12 grid gap-5 max-w-lg mx-auto lg:grid-cols-2 xl:grid-cols-3 lg:max-w-none">
|
||||
{%- for post in paginator.pages %}
|
||||
{% if "Engineering" == "Engineering"%}
|
||||
{% include "partials/tagCard.html" %}
|
||||
{%endif%} {%- endfor %}
|
||||
</div>
|
||||
<hr class="mt-6" />
|
||||
<p class="text-center text-sm mt-2 mb-16">
|
||||
{% if paginator.previous %}
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="First page"
|
||||
href="{{ paginator.first }}"
|
||||
>{% include "partials/icons/svgPrevPageIcon.html" %}{% include
|
||||
"partials/icons/svgPrevPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Previous page"
|
||||
href="{{ paginator.previous }}"
|
||||
>{% include "partials/icons/svgPrevPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
{% else %} {%
|
||||
include "partials/icons/svgFirstPageIcon.html" %}{% include
|
||||
"partials/icons/svgFirstPageIcon.html" %}
|
||||
{% include
|
||||
"partials/icons/svgFirstPageIcon.html" %}
|
||||
|
||||
{% endif %} {% if
|
||||
paginator.next %}
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Next page"
|
||||
href="{{ paginator.next }}"
|
||||
>{% include "partials/icons/svgNextPageIcon.html" %}</a
|
||||
>
|
||||
|
||||
<a
|
||||
class="border-transparent"
|
||||
aria-label="Last page"
|
||||
href="{{ paginator.last }}"
|
||||
>{% include "partials/icons/svgNextPageIcon.html" %}{% include
|
||||
"partials/icons/svgNextPageIcon.html" %}</a
|
||||
>
|
||||
{% else %} {% include "partials/icons/svgLastPageIcon.html" %}
|
||||
{% include
|
||||
"partials/icons/svgLastPageIcon.html" %}{% include
|
||||
"partials/icons/svgLastPageIcon.html" %} {% endif %}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock content %}
|
||||
23
templates/partials/tagsSidebar.html
Normal file
@@ -0,0 +1,23 @@
|
||||
<div class="mx-8 md:mx-4 flex flex-col">
|
||||
<div class="flex flex-col mb-12 mr-8 lg:mr-24">
|
||||
<h4 class="text-base not-italic font-medium leading-6 text-gray-600 mb-6"> FILTER BY</h4>
|
||||
{% set taxonomy = get_taxonomy(kind="tags") %}
|
||||
{% set tags = taxonomy.items %}
|
||||
{% for tag in tags %}
|
||||
{% set path = tag.name | slugify %}
|
||||
{% set fullpath = "/tags/" ~ path %}
|
||||
<a id="{{path}}" class="mb-3 text-black font-normal" href={{fullpath}}> #{{tag.name}} </a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function setActiveCategory() {
|
||||
let activeCategory = window.location.pathname.split("/")[2]
|
||||
if (typeof activeCategory === "undefined") { activeLink = document.getElementById("all") }
|
||||
else { activeLink = document.getElementById(activeCategory) }
|
||||
activeLink.className = activeLink.className.replace("text-black font-normal", "text-black font-semibold");
|
||||
}
|
||||
|
||||
setActiveCategory()
|
||||
</script>
|
||||
57
templates/partnerPage.html
Normal file
@@ -0,0 +1,57 @@
|
||||
{% extends "_default/base.html" %}
|
||||
{% block content %}
|
||||
|
||||
<div class="container sm:pxi-0 mx-auto overflow-x-hidden pt-16 lg:w-4/6">
|
||||
<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">
|
||||
<img src="{{page.extra.partner_logo}}" class="
|
||||
rounded-full
|
||||
bg-gray-200
|
||||
w-32
|
||||
h-32
|
||||
border-4 border-gray-400
|
||||
mx-auto
|
||||
md:mx-0
|
||||
" />
|
||||
</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.title }}
|
||||
</h1>
|
||||
|
||||
<div class="avatars">
|
||||
<section class="container mx-auto py-2">
|
||||
<ul class="list-none flex author-list my-2 px-0">
|
||||
{% if page.extra.websites %}
|
||||
<li class="mr-2">
|
||||
<a href="{{page.extra.websites}}" target="_blank" rel="noopener noreferrer"
|
||||
class="text-gray-400 hover:text-black linkedin_size mx-1">
|
||||
<i class="fa-solid fa-globe fa-2x"></i> </a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if page.extra.linkedin %}
|
||||
<li>
|
||||
<a href="{{page.extra.linkedin}}" target="_blank" rel="noopener noreferrer"
|
||||
class="text-gray-400 hover:text-black linkedin_size mx-1">
|
||||
<i class="fa-brands fa-linkedin fa-2x"></i> </a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% for tag in page.taxonomies.tags %}
|
||||
<a href="{{'/tags/' ~ tag}}" class="border-1 font-light 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}}
|
||||
</a>
|
||||
{% endfor %}
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pt-8 border-b mx-4 sm:-mx-4"></div>
|
||||
|
||||
<section class="post-content container mx-auto relative text-gray-700">
|
||||
<div class="post-content-text text-xl">{{ page.content | safe }}</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
{% endblock content %}
|
||||
4
templates/partners-category/list.html
Normal file
@@ -0,0 +1,4 @@
|
||||
{% extends "index.html" %}
|
||||
|
||||
{% block content %}
|
||||
{% endblock content %}
|
||||
14
templates/partners-category/single.html
Normal file
@@ -0,0 +1,14 @@
|
||||
{% extends "index.html" %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<main class="pt-16">
|
||||
|
||||
<div class="flex flex-col md:flex-row">
|
||||
{% include "partials/partnersCards.html" %}
|
||||
{% include "partials/partnersSidebar.html" %}
|
||||
</div>
|
||||
</main>
|
||||
|
||||
{% endblock content %}
|
||||
|
||||