From f6eaf4fb13102e39a2c11021a20bfe74b9d7fcd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=83=9D=E3=83=BC=E3=83=AB=20=E3=82=A6=E3=82=A7=E3=83=83?= =?UTF-8?q?=E3=83=96?= Date: Fri, 13 Jul 2018 11:28:24 -0500 Subject: [PATCH] Added more pages and created component --- public/css/style.css | 2 +- public/css/style.css.map | 2 +- sass/partials/_feature-links.scss | 77 +++++++++++++++++++ sass/style.scss | 1 + server.js | 2 +- views/pages/build.md | 54 +++++++++++++ views/pages/community.md | 11 +++ views/pages/contribute.md | 124 ++++++++++++++++++++++++++++++ views/pages/home.js | 6 -- views/pages/overview.md | 2 +- views/pages/page.js | 2 +- views/partials/feature-links.js | 77 +++++++++++++++++++ 12 files changed, 349 insertions(+), 11 deletions(-) create mode 100644 sass/partials/_feature-links.scss create mode 100644 views/pages/build.md create mode 100644 views/pages/community.md create mode 100644 views/pages/contribute.md create mode 100644 views/partials/feature-links.js diff --git a/public/css/style.css b/public/css/style.css index 15fec13..2e05a93 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -1 +1 @@ -html{box-sizing:border-box;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}*,*::before,*::after{margin:0;padding:0;box-sizing:inherit;outline:0 !important}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:currentColor;text-decoration:none}*[readonly]{cursor:not-allowed}textarea[disabled]{resize:none}textarea:not[disabled]{resize:vertical}button:not(:disabled){cursor:pointer}button:active{top:2px}button,input,select,textarea{border:none;border-radius:0;font-family:inherit;font-size:inherit;-moz-appearance:none;-webkit-appearance:none}button:focus,input:focus,select:focus,textarea:focus{outline:none}input,select,textarea{background-color:transparent}input[type=submit]{cursor:pointer}.left{float:left}.right{float:right}iframe{border:0}img{font-size:0;max-width:100%}img::after{width:100%;height:100%;top:-100%;left:0;background-color:#fcfcfc;background-image:url("../media/images/missing.png");background-size:cover;box-shadow:0 0 1px 0 rgba(34,34,34,.3);content:"";display:block;position:relative}@media print{pre,blockquote{border:1px solid #999 !important;page-break-inside:avoid !important}tr,img{page-break-inside:avoid !important}img{max-width:100% !important}@page{margin:.5cm !important}p,h2,h3{orphans:3 !important;widows:3 !important}h2,h3{page-break-after:avoid !important}thead{display:table-header-group !important}*{background:transparent !important;color:#000 !important;text-shadow:none !important;filter:none !important}p a[href]::after{content:" (" attr(href) ")" !important}p abbr[title]::after{content:" (" attr(title) ")" !important}p a[href^="javascript:"]::after,p a[href^="#"]::after{content:"" !important}p a,p abbr{word-wrap:break-word !important;text-decoration:underline !important}}input::-moz-focus-inner,button::-moz-focus-inner{display:none}input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fcfcfc inset !important}input:-webkit-autofill:focus{outline:none}.clear{clear:both;content:"";display:block}.hide-text{border:0;color:transparent;font:0/0 a;text-shadow:none}.__button-base,.__button-gray,.__button-white,.__button-black,.home .intro .cta,.home .docs .cta,.home .contribute .cta,.home .develop .cta,.home .community .cta,.home .features .home__feature__cta,.__button-plain,.__button-basic,.newsletter-cta__submit{border:1px solid;font-size:1rem;letter-spacing:.025rem;position:relative;transition:all .2s}.__button-plain{background-color:transparent;border-color:transparent}.__button-plain::after{width:100%;height:2px;bottom:2px;left:0;content:"";display:block;transition:background-color .2s}.__button-plain:not(:hover)::after{background-color:transparent}.__button-plain:hover::after{background-color:#222}.__button-black:not(:hover),.home .intro .cta:not(:hover),.home .docs .cta:not(:hover),.home .contribute .cta:not(:hover),.home .develop .cta:not(:hover),.home .community .cta:not(:hover),.home .features .home__feature__cta:not(:hover){background-color:#222;border-color:#fcfcfc;box-shadow:2px 2px 0 #fcfcfc;color:#fcfcfc}.__button-black:hover,.home .intro .cta:hover,.home .docs .cta:hover,.home .contribute .cta:hover,.home .develop .cta:hover,.home .community .cta:hover,.home .features .home__feature__cta:hover{background-color:#fcfcfc;border-color:#222;box-shadow:2px 2px 0 #222;color:inherit}.__button-white:not(:hover){background-color:#fcfcfc;border-color:transparent;box-shadow:2px 2px 0 #222;color:inherit}.__button-white:hover{background-color:#222;border-color:#fcfcfc;box-shadow:2px 2px 0 #fcfcfc;color:#fcfcfc}.__button-gray{background-color:#fcfcfc}.__button-gray:not(:hover){border-color:transparent;box-shadow:2px 2px 0 #222}.__button-gray:hover{border-color:#3abf7d;box-shadow:2px 2px 0 #3abf7d;color:#3abf7d}.__button-padding-vertical,.newsletter-cta__submit,.__button-black,.home .intro .cta,.home .docs .cta,.home .contribute .cta,.home .develop .cta,.home .community .cta,.home .features .home__feature__cta,.__button-white,.__button-gray{padding-top:.5rem;padding-bottom:.5rem}.__button-padding-horizontal,.newsletter-cta__input,.newsletter-cta__submit,.__button-black,.home .intro .cta,.home .docs .cta,.home .contribute .cta,.home .develop .cta,.home .community .cta,.home .features .home__feature__cta,.__button-white,.__button-gray{padding-right:1rem;padding-left:1rem}.__grid:first-of-type{cursor:default;font-size:.8rem;font-weight:600;letter-spacing:.2rem;text-transform:uppercase}.__grid:not(:first-of-type){border-left:1px solid #a3b7ad}.__grid:not(:first-of-type) .col{border-bottom-style:solid;border-bottom-width:1px}.__grid:not(:first-of-type) .col:last-of-type{border-right-style:solid;border-right-width:1px}.__grid:not(:first-of-type) .col:not(.red):not(.orange):not(.yellow):not(.green){border-color:#a3b7ad}@media(min-width: 600px){.__grid{display:table;table-layout:fixed;width:100%}.__grid .col{display:table-cell}}.col{padding:.5rem 1rem;width:100%}.col:not(:first-of-type){text-align:right}@media(min-width: 600px){.grid-padded{margin-right:-1rem;margin-left:-1rem}.grid-padded .grid{border-spacing:1rem 0}}.grid-align-middle .col{vertical-align:middle}.grid-reverse{direction:rtl}.grid-reverse .col{direction:ltr}@font-face{font-family:"Karla";font-style:normal;font-weight:400;src:local("Karla Regular"),url(//brick.freetls.fastly.net/fonts/karla/400.woff) format("woff")}@font-face{font-family:"Karla";font-style:italic;font-weight:400;src:local("Karla Italic"),url(//brick.freetls.fastly.net/fonts/karla/400i.woff) format("woff")}@font-face{font-family:"Karla";font-style:normal;font-weight:700;src:local("Karla Bold"),url(//brick.freetls.fastly.net/fonts/karla/700.woff) format("woff")}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ecosystem{margin-bottom:2rem;padding-top:1rem;display:grid;font-size:1rem;grid-gap:1rem}.ecosystem:not(.expand-left):not(.expand-right){grid-template-columns:144px auto 144px}.ecosystem:not(.expand-left):not(.expand-right) .ecosystem__submodules{padding-top:2.5rem}.ecosystem.expand-left{grid-template-columns:50% auto}.ecosystem.expand-left .ecosystem__submodules:last-of-type,.ecosystem.expand-left .ecosystem__submodule:not(.active){display:none}.ecosystem.expand-right{grid-template-columns:auto 50%}.ecosystem.expand-right .ecosystem__submodules:first-of-type,.ecosystem.expand-right .ecosystem__submodule:not(.active){display:none}.ecosystem__module{position:relative;width:100%}.ecosystem__module > *{z-index:1}.ecosystem__module h2{position:relative;width:100%}.ecosystem__module h2 > div{float:right;font-size:1rem;padding-top:1.95rem;padding-right:3rem;position:relative;text-align:right}.ecosystem__module h2 > div::before{font-family:Georgia,serif;top:.9rem;right:3rem;content:"explore";font-size:80%;font-style:italic;opacity:.3;position:absolute;text-align:right;width:100%}.ecosystem__module h2 > div span{cursor:pointer;display:inline-block;position:relative}.ecosystem__module h2 > div span:not(:last-of-type){margin-right:1rem}.ecosystem__module h2 > div span:not(:last-of-type)::after{top:0;right:-0.7rem;color:rgba(163,183,173,.3);content:"/";font-style:italic;position:absolute}.ecosystem__module h3{position:relative}.ecosystem__module::before{width:100%;height:100%;top:0;left:0;content:"";position:absolute;z-index:0}.ecosystem__module:not(.active){align-items:center;display:inline-flex;justify-content:center}.ecosystem__module:not(.active) h2{font-size:1.5rem;text-align:center}.ecosystem__module:not(.active) h2 > span{cursor:pointer;display:block;padding:1.9rem 2rem}.ecosystem__module:not(.active) h2 > span em{display:block;font-size:70%;font-weight:normal}.ecosystem__module:not(.active) h2 > div{display:none}.ecosystem__module:not(.active) .ecosystem__module__details{display:none}.ecosystem__module:not(.active) .__close{top:2rem;transform:rotate(45deg);z-index:0}.ecosystem__module.active{padding:1.9rem 2rem}.ecosystem__module.active h2{font-size:3rem;margin-bottom:1rem}.ecosystem__module.active h2 > span{cursor:default}.ecosystem__module.active h2 > span em{display:none}.ecosystem__module.active::before{background-color:#fcfcfc}.ecosystem__module.active .__close{top:2.35rem;z-index:3}.ecosystem__module.lbrycrd,.ecosystem__module.lbry{margin-bottom:1rem}.ecosystem__module.lbry:not(.active) h2,.ecosystem__module.applications:not(.active) h2{margin-bottom:.5rem}.ecosystem__module.lbry:not(.active) h2::after,.ecosystem__module.applications:not(.active) h2::after{bottom:1rem;left:0;font-size:.5rem;letter-spacing:.1rem;position:absolute;width:100%;z-index:-1}.ecosystem__module.lbrycrd:not(.active)::before{background-color:#db3e3e}.ecosystem__module.lbrycrd.active::before{border:2px solid #db3e3e}.ecosystem__module.lbry:not(.active)::before{background-color:#3e8cdb}.ecosystem__module.lbry:not(.active) h2::after{content:"◼︎◼︎"}.ecosystem__module.lbry.active::before{border:2px solid #3e8cdb}.ecosystem__module.applications:not(.active)::before{background-color:#3edb3e}.ecosystem__module.applications:not(.active) h2::after{content:"◼︎◼︎◼︎◼︎◼︎"}.ecosystem__module.applications.active::before{border:2px solid #3edb3e}.ecosystem__module__piece{background-color:#fcfcfc;left:10%;line-height:2;position:relative;width:80%}.ecosystem__module__piece:not(:last-of-type){margin-bottom:.5rem}.ecosystem__submodule{border-width:2px;cursor:default;position:relative;transition:border-color .2s;z-index:2}.ecosystem__submodule:not(:last-of-type){margin-bottom:1rem}.ecosystem__submodule:not(.on):not(.active){color:transparent}.ecosystem__submodule:not(.active){align-items:center;display:inline-flex;justify-content:center;width:144px;height:144px;border-radius:50%;border-style:dashed}.ecosystem__submodule:not(.active) .ecosystem__submodule__title{width:100%;height:100%;line-height:140px;text-align:center}.ecosystem__submodule:not(.active) .ecosystem__submodule__description{display:none}.ecosystem__submodule.active{width:100%;height:100%;max-height:378px;border-style:solid;overflow-y:auto;padding:2rem}.ecosystem__submodule.active .ecosystem__submodule__title{line-height:1.33;margin-bottom:1rem}.ecosystem__submodule:not(.blue):not(.green):not(.red){border-color:rgba(163,183,173,.3)}.ecosystem__submodule.blue:not(.active),.ecosystem__submodule.green:not(.active),.ecosystem__submodule.red:not(.active){cursor:pointer}.ecosystem__submodule.blue{background-color:rgba(62,140,219,.025);border-color:#3e8cdb}.ecosystem__submodule.green{background-color:rgba(62,219,62,.025);border-color:#3edb3e}.ecosystem__submodule.red{background-color:rgba(219,62,62,.025);border-color:#db3e3e}.ecosystem__submodule__title{font-size:1.15rem}.ecosystem__submodule__description{margin-bottom:2rem}.ecosystem__submodule__description .__close{top:-0.7rem;right:-2rem}.ecosystem__submodule__description__title{color:rgba(34,34,34,.3);letter-spacing:.1rem;text-transform:uppercase}.__parents{top:2rem;right:4rem;font-size:1.15rem;line-height:1.33;list-style-type:none;padding-right:1rem;position:absolute;z-index:1}.__parents::before,.__parents::after{position:absolute}.__parents::before{font-family:Georgia,serif;top:.3rem;left:-3.4rem;color:rgba(34,34,34,.3);content:"back to";font-size:.8rem;font-style:italic;font-weight:700}.__parents::after{width:2px;height:100%;top:0;right:0;background-color:rgba(34,34,34,.3);content:""}.__parent{font-weight:700}.__parent:not(.active){display:none}.__parent.active{cursor:pointer}.__close{cursor:pointer;font-size:2rem;position:absolute;right:2rem;transition:all .2s}.newsletter-cta{background-color:rgba(34,34,34,.2);padding-top:1rem;padding-bottom:1rem;text-align:center}.newsletter-cta > div:first-of-type{margin-right:auto;margin-left:auto}@media(min-width: 551px){.newsletter-cta > div:first-of-type{width:500px}}@media(max-width: 550px){.newsletter-cta > div:first-of-type{width:90%}}.newsletter-cta::after{clear:both;content:"";display:block}.newsletter-cta__title{font-size:.8rem;letter-spacing:.05rem;margin-bottom:.75rem;text-transform:uppercase}.newsletter-cta__input,.newsletter-cta__submit{border-style:solid;border-width:1px}@media(max-width: 550px){.newsletter-cta__input,.newsletter-cta__submit{width:100%}}.newsletter-cta__input{background-color:#fcfcfc;font-size:1rem;height:38px;transition:border .2s}@media(min-width: 551px){.newsletter-cta__input{float:left;width:calc(100% - 112px)}}@media(max-width: 550px){.newsletter-cta__input{text-align:center}}.newsletter-cta__input:not(:focus){border-top-color:#222;border-left-color:#222}@media(min-width: 551px){.newsletter-cta__input:not(:focus){border-bottom-color:#222;border-right-color:transparent}}@media(max-width: 550px){.newsletter-cta__input:not(:focus){border-bottom-color:transparent;border-right-color:#222}}.newsletter-cta__input:focus{border-top-color:#35a06b;border-left-color:#35a06b}@media(min-width: 551px){.newsletter-cta__input:focus{border-bottom-color:#35a06b;border-right-color:transparent}}@media(max-width: 550px){.newsletter-cta__input:focus{border-bottom-color:transparent;border-right-color:#35a06b}}.newsletter-cta__submit{color:#fcfcfc}@media(min-width: 551px){.newsletter-cta__submit{width:112px;height:38px;float:right;left:-1px}}@media(max-width: 550px){.newsletter-cta__submit{display:block;top:-1px}}.newsletter-cta__submit:not(:hover){background-color:#222;border-color:#222}.newsletter-cta__submit:hover{background-color:#3abf7d;border-color:#35a06b}.newsletter-cta__message{clear:both;content:"";display:block;color:#db3e3e;padding-top:1rem}.github-feed{border-bottom:1px solid rgba(34,34,34,.05);border-left:1px solid rgba(34,34,34,.05);font-size:.8rem;grid-area:github;position:relative}@media(min-width: 1301px){.github-feed{padding-top:3.7rem}}@media(min-width: 1001px)and (max-width: 1300px){.github-feed{padding-top:2.95rem}}@media(min-width: 1001px){.github-feed{padding-bottom:2rem;padding-right:10%;padding-left:2rem}}@media(max-width: 1000px){.github-feed{padding-top:2rem;padding-bottom:2rem}}@media(min-width: 901px){.github-feed{padding-right:1rem;padding-left:1rem}}@media(max-width: 900px){.github-feed{padding-right:2rem;padding-left:2rem}}@media(max-width: 700px){.github-feed{overflow-x:auto;overflow-y:hidden;white-space:nowrap}}@media(min-width: 1001px){.github-feed h3,.github-feed h5{text-align:center}}.github-feed h3{letter-spacing:.1rem;line-height:1;text-transform:uppercase;width:100%}@media(min-width: 1301px){.github-feed h3{top:2.15rem;left:0;color:rgba(34,34,34,.045);font-size:4rem;position:absolute}}@media(max-width: 1300px){.github-feed h3{color:#222}}@media(min-width: 901px)and (max-width: 1300px){.github-feed h3{font-size:3rem}}@media(max-width: 900px){.github-feed h3{font-size:2rem;margin-bottom:1rem}}.github-feed h5{font-style:italic;font-weight:normal}@media(min-width: 1001px){.github-feed h5{margin-bottom:3rem}}@media(min-width: 901px)and (max-width: 1000px){.github-feed h5{margin-bottom:2rem}}@media(max-width: 900px){.github-feed h5{margin-bottom:.5rem;position:relative;top:-1rem}}.github-feed__event{line-height:1.55}@media(max-width: 700px){.github-feed__event{display:inline-block;margin-right:1.25rem;vertical-align:top;width:200px}}@media(min-width: 701px){.github-feed__event:not(:last-of-type){margin-bottom:1.25rem}}.github-feed__event > a:first-of-type{font-weight:700;margin-bottom:.5rem;width:100%}@media(max-width: 700px){.github-feed__event > p:first-of-type{box-shadow:0 2px 5px rgba(34,34,34,.025)}}.github-feed__event > p:first-of-type code{background-color:#222;border-radius:3px;color:#fcfcfc;font-size:80%;letter-spacing:.05rem;padding:.2rem .5rem;position:relative;top:-1px}.github-feed__event > p:first-of-type em:not(.github-feed__event__time){text-decoration:underline}@media(min-width: 701px){.github-feed__event > p:first-of-type{display:inline-block;margin-left:.5rem;vertical-align:top;width:calc(100% - 4.5rem)}}@media(max-width: 700px){.github-feed__event > p:first-of-type{top:-3.5rem;left:5%;background-color:#fcfcfc;border:1px solid rgba(163,183,173,.1);border-radius:3px;padding:1rem;position:relative;white-space:normal;width:90%}}.github-feed__event__avatar{border:1px solid rgba(163,183,173,.1);border-radius:3px;object-position:center;object-fit:cover}@media(min-width: 701px){.github-feed__event__avatar{width:2.5rem;height:2.5rem}}@media(max-width: 700px){.github-feed__event__avatar{width:100%;height:100%}}.github-feed__event__time{color:#a3b7ad;display:block}@media(max-width: 700px){.github-feed__event__time{padding-top:1rem}}.navigation{top:0;left:0;background-color:#fcfcfc;box-shadow:0 1px 5px rgba(34,34,34,.1);padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left);position:fixed;width:100%;z-index:10}.navigation > div:first-of-type{position:relative}@media(min-width: 701px){.navigation > div:first-of-type{align-items:stretch;display:flex;flex-flow:row wrap}}@media(max-width: 700px){.navigation > div:first-of-type{overflow:auto;overflow-scrolling:touch;white-space:nowrap;width:100%}.navigation > div:first-of-type::before{width:2rem;height:4rem;top:0;right:0;background-image:linear-gradient(90deg, rgba(252, 252, 252, 0), #fcfcfc 50%, #fcfcfc);content:"";position:fixed;z-index:2}}.navigation__item{overflow:hidden;padding-right:.5rem;padding-left:.5rem;position:relative}@media(max-width: 700px){.navigation__item{display:inline-block;transform:translate3d(0, 0, 0);transition:opacity .2s .2s ease,transform .4s .2s cubic-bezier(0.215, 0.61, 0.355, 1);vertical-align:top}.navigation__item:last-of-type{margin-right:3rem}}.navigation__item:first-of-type{border:0;color:transparent;font:0/0 a;text-shadow:none;width:10rem;height:3rem;background-image:url("../media/svg/logo.svg");background-repeat:no-repeat;background-size:contain;flex:1;top:.5rem}.navigation__item:not(:first-of-type){color:inherit;font-size:1rem;line-height:4rem}.navigation__item:not(:first-of-type)::after{width:100%;height:3px;background-color:#3abf7d;content:"";left:0;position:absolute;transition:bottom .2s}.navigation__item:not(:first-of-type):not(:hover)::after{bottom:-3px}.navigation__item:not(:first-of-type):hover::after,.navigation__item:not(:first-of-type).active::after{bottom:0}.component--mission-statement{margin-bottom:1.5rem;padding:1rem 1rem 1rem 1.25rem;background-color:rgba(58,191,125,.1);border-left:.5rem solid #3abf7d;line-height:1.55;position:relative}@media(min-width: 901px){.component--mission-statement{font-size:1.25rem}}@media(max-width: 900px){.component--mission-statement{font-size:1.05rem}}.component--mission-statement__title{color:#3abf7d;display:block;letter-spacing:.025rem;text-transform:uppercase}.modal{align-items:center;display:inline-flex;justify-content:center;top:0;left:0;bottom:0;right:0;background-color:rgba(34,34,34,.5);position:fixed;z-index:10}@media(min-width: 901px){.modal h3{font-size:1.5rem;margin-bottom:.25rem}}@media(max-width: 900px){.modal h3{font-size:1.25rem}}.modal p{margin-bottom:1rem}@media(min-width: 901px){.modal p{font-size:1.15rem;line-height:1.33}}@media(max-width: 900px){.modal p{font-size:1.05rem;line-height:1.55}}.modal p a{color:#3abf7d}.modal-wrap{background-color:#fcfcfc;padding:2rem 1.5rem}@media(min-width: 501px){.modal-wrap{width:500px}}@media(max-width: 500px){.modal-wrap{width:100%}}.footer{background-color:#222;color:rgba(252,252,252,.15);font-size:1rem;padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left);position:relative}@media(max-width: 980px){.footer::before{width:3rem;height:100%;bottom:0;right:0;background-image:linear-gradient(90deg, rgba(34, 34, 34, 0), #222 50%, #222);content:"";position:absolute;z-index:2}}@media(max-width: 980px){.footer > div:first-of-type{overflow:auto;overflow-scrolling:touch;white-space:nowrap;width:100%}}.footer ul{list-style-type:none;padding-top:2rem;padding-bottom:2rem}@media(min-width: 981px){.footer ul{align-items:stretch;display:flex;flex-flow:row wrap}}.footer ul li{padding-right:.5rem;padding-left:.5rem;vertical-align:bottom}@media(max-width: 980px){.footer ul li{display:inline-block;transform:translate3d(0, 0, 0);transition:opacity .2s .2s ease,transform .4s .2s cubic-bezier(0.215, 0.61, 0.355, 1)}.footer ul li:last-of-type{margin-right:3rem}}.footer ul li:first-of-type{flex:1}.footer a{transition:color .2s}.footer a:not(:hover){color:#fcfcfc}.footer a:hover{color:#3abf7d}html,body{width:100%;height:100%}html{background-color:#fcfcfc}body{font-family:Karla,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";color:#222;font-size:12px;min-width:320px;overflow-x:hidden;position:relative;z-index:0}body:not(.home) main > div:first-of-type{flex:1}@media(min-width: 1001px){body.home main > div:first-of-type{display:grid;grid-gap:0;grid-template-areas:"header header header" "features features features" "intro intro github" "docs docs github" "contribute contribute contribute" "develop develop develop" "community community community"}}main{display:flex;flex-direction:column;min-height:100vh;padding-top:4rem}.inner-wrap{margin-right:auto;margin-left:auto;max-width:1200px}@media(min-width: 901px){.inner-wrap{padding-right:1rem;padding-left:1rem}}@media(max-width: 900px){.inner-wrap{padding-right:2rem;padding-left:2rem}}.inner-wrap::after{clear:both;content:"";display:block}h1 .header-anchor,h2 .header-anchor,h3 .header-anchor,h4 .header-anchor,h5 .header-anchor{display:none}.alert{bottom:0;left:0;background-color:#dbdb3e;line-height:1.33;padding-top:1rem;padding-right:env(safe-area-inset-right);padding-bottom:1rem;padding-left:env(safe-area-inset-left);position:fixed;text-align:left;width:100%;z-index:3}.alert > div:first-of-type{position:relative}@media(min-width: 901px){.alert{font-size:1rem}}@media(max-width: 900px){.alert{font-size:.8rem}}.alert p,.alert button{display:inline-block}.alert p{padding-right:1rem;width:calc(100% - 2.25rem)}.alert a{font-weight:600;text-decoration:underline}.alert button{width:1.25rem;height:1.25rem;top:0;right:0;background-color:#fcfcfc;border-radius:50%;display:block;font-size:1rem;line-height:1;margin-right:1rem;margin-left:1rem;position:absolute;text-align:center}.home{padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left)}.home h2{font-weight:normal;margin-bottom:4rem;text-align:center}@media(min-width: 851px){.home h2{font-size:1.75rem}}@media(max-width: 850px){.home h2{font-size:1.25rem}}.home hr{width:100%;height:1px;background-color:rgba(34,34,34,.1);border:none;margin-bottom:4rem}.home .hero{align-items:center;background-color:#222;background-image:url("../media/svg/text-logo--white.svg");background-position:center;background-repeat:no-repeat;display:flex;grid-area:header;height:calc(50vh - 4rem);min-height:300px;justify-content:center}@media(max-width: 850px){.home .hero{background-size:cover}}.home .hero h1{background-color:#fcfcfc;border:1px solid rgba(34,34,34,.1);box-decoration-break:clone;display:inline;font-weight:normal;line-height:2;padding:.4rem 1rem}@media(min-width: 851px){.home .hero h1{font-size:1.75rem}}@media(max-width: 850px){.home .hero h1{font-size:1.25rem}}.home .features{grid-area:features}.home .features .home__features{align-content:center;border-bottom:1px solid rgba(34,34,34,.05);display:flex;flex-flow:row wrap;list-style-type:none;padding-top:2rem;padding-bottom:2rem}.home .features .home__feature{position:relative;text-align:center;vertical-align:top}@media(min-width: 651px){.home .features .home__feature{width:50%}}@media(max-width: 650px){.home .features .home__feature{width:100%}.home .features .home__feature:first-of-type{padding-bottom:1rem}.home .features .home__feature:last-of-type{padding-top:1rem}}.home .features .home__feature__title{font-size:2rem;margin-bottom:.5rem}.home .features .home__feature__description{font-size:1rem;left:10%;margin-bottom:1rem;position:relative;width:80%}.home .features .home__feature__cta{display:inline-block;font-size:1rem;position:relative}.home .intro,.home .docs,.home .contribute,.home .develop,.home .community{padding-top:3rem;padding-bottom:3.5rem}.home .intro .inner-wrap,.home .docs .inner-wrap,.home .contribute .inner-wrap,.home .develop .inner-wrap,.home .community .inner-wrap{position:relative}.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{letter-spacing:.1rem;line-height:1;text-transform:uppercase}@media(min-width: 1301px){.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{top:-0.85rem;left:-2rem;color:rgba(34,34,34,.045);font-size:4rem;position:absolute}}@media(max-width: 1300px){.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{color:#222}}@media(min-width: 901px)and (max-width: 1300px){.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{font-size:3rem}}@media(max-width: 900px){.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{font-size:2rem;margin-bottom:1rem}}.home .intro p,.home .docs p,.home .contribute p,.home .develop p,.home .community p{margin-bottom:1.5rem;max-width:1000px}@media(min-width: 901px){.home .intro p,.home .docs p,.home .contribute p,.home .develop p,.home .community p{font-size:1.5rem;line-height:1.55}}@media(max-width: 900px){.home .intro p,.home .docs p,.home .contribute p,.home .develop p,.home .community p{font-size:1.25rem;line-height:1.33}}.home .intro p:first-of-type,.home .docs p:first-of-type,.home .contribute p:first-of-type,.home .develop p:first-of-type,.home .community p:first-of-type{padding-top:.5rem}.home .intro .cta,.home .docs .cta,.home .contribute .cta,.home .develop .cta,.home .community .cta{top:.5rem}.home .intro,.home .docs,.home .contribute,.home .develop{border-bottom:1px solid rgba(34,34,34,.05)}@media(min-width: 1301px){.home .intro,.home .docs{padding-left:10%}}.home .intro{grid-area:intro}.home .docs{grid-area:docs}@media(min-width: 1301px){.home .community p,.home .contribute p{margin-right:auto;margin-left:auto;text-align:center}}.home .community ul,.home .contribute ul{list-style-type:none;padding-top:1rem}.home .community ul::after,.home .contribute ul::after{clear:both;content:"";display:block}@media(min-width: 901px){.home .community ul,.home .contribute ul{font-size:1.5rem}}@media(min-width: 751px)and (max-width: 900px){.home .community ul,.home .contribute ul{font-size:1.25rem}}@media(max-width: 750px){.home .community ul,.home .contribute ul{font-size:1rem}}.home .community ul li,.home .contribute ul li{float:left;position:relative;text-align:center}@media(max-width: 750px){.home .community ul li,.home .contribute ul li{margin-bottom:2rem;min-width:8rem}}.home .community ul li a,.home .contribute ul li a{display:block;position:relative;padding-top:4rem;transition:color .2s}.home .community ul li a::before,.home .contribute ul li a::before{width:100%;height:100%;background-position:center 0;background-repeat:no-repeat;content:"";left:0;position:absolute}.home .community ul li a:not(:hover),.home .contribute ul li a:not(:hover){color:inherit}.home .community ul li a:hover,.home .contribute ul li a:hover{color:#3abf7d}.home .contribute{grid-area:contribute}@media(min-width: 701px){.home .contribute ul li{width:calc(100% / 5)}}@media(max-width: 700px){.home .contribute ul li{width:50%}}@media(min-width: 901px){.home .contribute ul li a::before{background-size:4rem;top:-1rem}}@media(max-width: 900px){.home .contribute ul li a::before{background-size:3rem;top:0}}.home .contribute ul li:nth-child(1) a::before{background-image:url("../media/svg/flag.svg")}.home .contribute ul li:nth-child(2) a::before{background-image:url("../media/svg/keyboard.svg")}.home .contribute ul li:nth-child(3) a::before{background-image:url("../media/svg/anchor.svg")}.home .contribute ul li:nth-child(4) a::before{background-image:url("../media/svg/chat.svg")}.home .contribute ul li:nth-child(5) a::before{background-image:url("../media/svg/monitor.svg")}.home .develop{grid-area:develop}.home .community{grid-area:community}@media(min-width: 701px){.home .community ul li{width:50%}}@media(max-width: 700px){.home .community ul li{width:50%}}@media(min-width: 901px){.home .community ul li a::before{background-size:6rem;top:-2rem}}@media(max-width: 900px){.home .community ul li a::before{background-size:4rem;top:-0.5rem}}.home .community ul li:nth-child(1) a::before{background-image:url("../media/svg/discord.svg")}.home .community ul li:nth-child(2) a::before{background-image:url("../media/svg/reddit.svg")}.home .community ul li:nth-child(3) a::before{background-image:url("../media/svg/slack.svg")}.contributing table th:first-of-type{width:30%}.contributing table th:nth-of-type(2){width:20%}.documentation ol + h1,.documentation ul + h1{padding-top:2rem}.documentation h4 + h2{padding-top:2rem}.documentation .blog-posts{list-style-type:none}.documentation .blog-post{position:relative}.documentation .blog-post::before{background-color:#222;border-radius:50%;content:"";line-height:0;position:absolute}@media(min-width: 901px){.documentation .blog-post::before{width:7px;height:7px;top:14px;left:-1.05rem}}@media(max-width: 900px){.documentation .blog-post::before{width:6px;height:6px;top:11px;left:-0.95rem}}.documentation .blog-post__title{line-height:1.33}.documentation .blog-post__title::after{content:"";display:block}.documentation .blog-post__meta{font-size:80%;line-height:1;margin-bottom:1rem}.documentation .blog-post__meta__author::before{content:"by"}@media(min-width: 901px){.documentation .blog-post__meta__author::before{left:-1.2rem}}@media(max-width: 900px){.documentation .blog-post__meta__author::before{left:-1rem}}@media(min-width: 901px){.documentation .blog-post__meta__date{margin-right:1.4rem;margin-left:3.1rem}}@media(max-width: 900px){.documentation .blog-post__meta__date{margin-right:1.2rem;margin-left:2.6rem}}.documentation .blog-post__meta__date::before{content:"posted"}@media(min-width: 901px){.documentation .blog-post__meta__date::before{left:-3.1rem}}@media(max-width: 900px){.documentation .blog-post__meta__date::before{left:-2.6rem}}.documentation .blog-post__meta__author,.documentation .blog-post__meta__date{display:inline-block;position:relative}.documentation .blog-post__meta__author::before,.documentation .blog-post__meta__date::before{color:rgba(34,34,34,.5);font-style:italic;position:absolute;vertical-align:bottom}.page{display:flex;flex:1;flex-direction:column;height:100%}.page__header-wrap{width:100%}.page__header{align-items:center;display:inline-flex;justify-content:center;background-position:center;background-repeat:no-repeat;background-size:cover;color:#fcfcfc;padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left);position:relative;width:100%}.page__header__title{font-weight:300;text-shadow:1px 1px 2px rgba(34,34,34,.3)}@media(min-width: 901px){.page__header__title{font-size:3rem;line-height:6.5rem}}@media(max-width: 900px){.page__header__title{font-size:2rem;line-height:1;padding-top:1rem;padding-bottom:1rem}}.page__content{background-repeat:repeat;background-size:32px;flex:1;padding-top:2rem;padding-bottom:2rem;padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left)}.page__content h1{margin-bottom:.25rem}@media(min-width: 901px){.page__content h1{font-size:3rem}}@media(max-width: 900px){.page__content h1{font-size:2rem}}.page__content h1 + h2{margin-bottom:2rem}@media(min-width: 901px){.page__content h2:not(.__title){font-size:2rem}}@media(max-width: 900px){.page__content h2:not(.__title){font-size:1.5rem}}.page__content h2:not(.__title) + h3{margin-bottom:1rem;padding-top:.25rem}@media(min-width: 901px){.page__content h3:not(.ecosystem__submodule__title){font-size:1.5rem}}@media(max-width: 900px){.page__content h3:not(.ecosystem__submodule__title){font-size:1.25rem}}.page__content h3:not(.ecosystem__submodule__title) + table{top:.25rem}.page__content h4:not(.ecosystem__submodule__description__title){letter-spacing:.05rem;text-transform:uppercase}@media(min-width: 901px){.page__content h4:not(.ecosystem__submodule__description__title){font-size:1.25rem}}@media(max-width: 900px){.page__content h4:not(.ecosystem__submodule__description__title){font-size:1.15rem}}.page__content h5{font-size:1rem}.page__content sup{font-family:"Courier New",monospace}.page__content blockquote{left:2px;line-height:1.5;margin-bottom:.5rem;position:relative}@media(min-width: 601px){.page__content blockquote{margin-left:15%;padding:.5rem 0 .05rem 2rem;font-size:1.5rem;width:70%}}@media(max-width: 600px){.page__content blockquote{font-size:1.25rem;padding:.5rem 0 .05rem 0}}@media(min-width: 376px)and (max-width: 600px){.page__content blockquote{margin-left:5%;width:90%}}.page__content blockquote p{font-size:inherit;line-height:inherit}.page__content blockquote::before{font-family:Georgia,serif;width:150px;height:100px;top:3rem;left:-2rem;color:rgba(58,191,125,.2);content:"“";font-size:20rem;line-height:.5;position:absolute}.page__content p code,.page__content ol code,.page__content ul:not(.overview__ecosystem__module) code,.page__content table code{background-color:#222;border-radius:3px;color:#fcfcfc;font-size:60%;letter-spacing:.05rem;padding:.3rem .5rem;vertical-align:middle}@media(max-width: 900px){.page__content p code,.page__content ol code,.page__content ul:not(.overview__ecosystem__module) code,.page__content table code{position:relative;top:-1px}}.page__content p,.page__content ol,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){margin-bottom:1rem;position:relative}@media(min-width: 901px){.page__content p,.page__content ol,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){font-size:1.25rem;line-height:1.6}}@media(max-width: 900px){.page__content p,.page__content ol,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){font-size:1.05rem;line-height:1.55}}.page__content ol,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){padding-top:.5rem}.page__content ol li:not(:last-of-type),.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) li:not(:last-of-type){margin-bottom:.25rem}.page__content ol + h2,.page__content ol + h3,.page__content ol + h4,.page__content ol + h5,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h2,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h3,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h4,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h5{padding-top:2rem}.page__content ol{list-style-type:lower-roman;padding-left:1.6rem}.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){padding-left:1.25rem}.page__content p img{float:right}.page__content a:not(.__button-black):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit){background-image:linear-gradient(#fcfcfc, #fcfcfc),linear-gradient(#fcfcfc, #fcfcfc),linear-gradient(#3abf7d, #3abf7d);background-position:0 88%,100% 88%,0 88%;background-repeat:no-repeat,no-repeat,repeat-x;background-size:.05rem 1px,.05rem 1px,1px 1px;box-decoration-break:clone;display:inline;text-decoration:none;text-shadow:.03rem 0 #fcfcfc,-0.03rem 0 #fcfcfc,0 .03rem #fcfcfc,0 -0.03rem #fcfcfc,.06rem 0 #fcfcfc,-0.06rem 0 #fcfcfc,.09rem 0 #fcfcfc,-0.09rem 0 #fcfcfc,.12rem 0 #fcfcfc,-0.12rem 0 #fcfcfc,.15rem 0 #fcfcfc,-0.15rem 0 #fcfcfc;color:#3abf7d}.page__content a:not(.__button-black):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit)::selection{background-color:#3abf7d;color:#fcfcfc;text-shadow:none}.page__content a:not(.__button-black):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit)::-moz-selection{background-color:#3abf7d;color:#fcfcfc;text-shadow:none}@-moz-document url-prefix(){.page__content a:not(.__button-black):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit){background-position:0 90%,100% 90%,0 90%}}.page__content pre{margin-bottom:2rem;padding:2rem;border-radius:3px;font-size:1rem;line-height:1.33;overflow-x:auto;overflow-y:hidden}.page__content pre:not([class]),.page__content pre.language-text{background-color:#222;color:#fcfcfc}.page__content pre.language-yaml{background-color:#27273f;color:#ffe066}.page__content pre.language-yaml .atrule{color:#f083ac}.page__content pre.language-yaml .important{color:#ffa94d}.page__content pre.language-yaml .punctuation{color:#fcfcfc}.page__content table{background-color:#fcfcfc;border:1px solid rgba(163,183,173,.3);border-spacing:0;margin-bottom:2rem;position:relative;width:100%}@media(max-width: 1030px){.page__content table{display:inline-grid}.page__content table thead{display:none}.page__content table tbody,.page__content table tr,.page__content table td{display:block}.page__content table tbody tr:last-of-type td:not(:last-of-type){border-bottom:1px solid rgba(163,183,173,.3)}}.page__content table thead{background-color:#222;color:#fcfcfc;cursor:default;position:relative}.page__content table thead tr{position:relative;z-index:1}.page__content table thead:not(*:root)::after{z-index:-1}.page__content table thead::after{width:calc(100% + 2px);height:calc(100% + 2px);top:-1px;left:-1px;background-color:#222;content:"";position:absolute;z-index:0}.page__content table tbody{line-height:1.55}.page__content table tr:nth-of-type(even){background-color:rgba(34,34,34,.025)}.page__content table th,.page__content table td{padding:.5rem 1rem}.page__content table th{font-size:.8rem;letter-spacing:.1rem;text-transform:uppercase}.page__content table tbody tr:not(:last-of-type) td{border-bottom:1px solid rgba(163,183,173,.3)}.page__content table td{font-size:1rem}.page__header{background-image:url("../media/images/background-a.jpg")}.page__content{background-image:url("../media/images/grid.png")}/*# sourceMappingURL=style.css.map */ +html{box-sizing:border-box;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}*,*::before,*::after{margin:0;padding:0;box-sizing:inherit;outline:0 !important}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:currentColor;text-decoration:none}*[readonly]{cursor:not-allowed}textarea[disabled]{resize:none}textarea:not[disabled]{resize:vertical}button:not(:disabled){cursor:pointer}button:active{top:2px}button,input,select,textarea{border:none;border-radius:0;font-family:inherit;font-size:inherit;-moz-appearance:none;-webkit-appearance:none}button:focus,input:focus,select:focus,textarea:focus{outline:none}input,select,textarea{background-color:transparent}input[type=submit]{cursor:pointer}.left{float:left}.right{float:right}iframe{border:0}img{font-size:0;max-width:100%}img::after{width:100%;height:100%;top:-100%;left:0;background-color:#fcfcfc;background-image:url("../media/images/missing.png");background-size:cover;box-shadow:0 0 1px 0 rgba(34,34,34,.3);content:"";display:block;position:relative}@media print{pre,blockquote{border:1px solid #999 !important;page-break-inside:avoid !important}tr,img{page-break-inside:avoid !important}img{max-width:100% !important}@page{margin:.5cm !important}p,h2,h3{orphans:3 !important;widows:3 !important}h2,h3{page-break-after:avoid !important}thead{display:table-header-group !important}*{background:transparent !important;color:#000 !important;text-shadow:none !important;filter:none !important}p a[href]::after{content:" (" attr(href) ")" !important}p abbr[title]::after{content:" (" attr(title) ")" !important}p a[href^="javascript:"]::after,p a[href^="#"]::after{content:"" !important}p a,p abbr{word-wrap:break-word !important;text-decoration:underline !important}}input::-moz-focus-inner,button::-moz-focus-inner{display:none}input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fcfcfc inset !important}input:-webkit-autofill:focus{outline:none}.clear{clear:both;content:"";display:block}.hide-text{border:0;color:transparent;font:0/0 a;text-shadow:none}.__button-base,.__button-gray,.__button-white,.__button-black,.home .intro .cta,.home .docs .cta,.home .contribute .cta,.home .develop .cta,.home .community .cta,.home .features .home__feature__cta,.__button-plain,.__button-basic,.newsletter-cta__submit{border:1px solid;font-size:1rem;letter-spacing:.025rem;position:relative;transition:all .2s}.__button-plain{background-color:transparent;border-color:transparent}.__button-plain::after{width:100%;height:2px;bottom:2px;left:0;content:"";display:block;transition:background-color .2s}.__button-plain:not(:hover)::after{background-color:transparent}.__button-plain:hover::after{background-color:#222}.__button-black:not(:hover),.home .intro .cta:not(:hover),.home .docs .cta:not(:hover),.home .contribute .cta:not(:hover),.home .develop .cta:not(:hover),.home .community .cta:not(:hover),.home .features .home__feature__cta:not(:hover){background-color:#222;border-color:#fcfcfc;box-shadow:2px 2px 0 #fcfcfc;color:#fcfcfc}.__button-black:hover,.home .intro .cta:hover,.home .docs .cta:hover,.home .contribute .cta:hover,.home .develop .cta:hover,.home .community .cta:hover,.home .features .home__feature__cta:hover{background-color:#fcfcfc;border-color:#222;box-shadow:2px 2px 0 #222;color:inherit}.__button-white:not(:hover){background-color:#fcfcfc;border-color:transparent;box-shadow:2px 2px 0 #222;color:inherit}.__button-white:hover{background-color:#222;border-color:#fcfcfc;box-shadow:2px 2px 0 #fcfcfc;color:#fcfcfc}.__button-gray{background-color:#fcfcfc}.__button-gray:not(:hover){border-color:transparent;box-shadow:2px 2px 0 #222}.__button-gray:hover{border-color:#3abf7d;box-shadow:2px 2px 0 #3abf7d;color:#3abf7d}.__button-padding-vertical,.newsletter-cta__submit,.__button-black,.home .intro .cta,.home .docs .cta,.home .contribute .cta,.home .develop .cta,.home .community .cta,.home .features .home__feature__cta,.__button-white,.__button-gray{padding-top:.5rem;padding-bottom:.5rem}.__button-padding-horizontal,.newsletter-cta__input,.newsletter-cta__submit,.__button-black,.home .intro .cta,.home .docs .cta,.home .contribute .cta,.home .develop .cta,.home .community .cta,.home .features .home__feature__cta,.__button-white,.__button-gray{padding-right:1rem;padding-left:1rem}.__grid:first-of-type{cursor:default;font-size:.8rem;font-weight:600;letter-spacing:.2rem;text-transform:uppercase}.__grid:not(:first-of-type){border-left:1px solid #a3b7ad}.__grid:not(:first-of-type) .col{border-bottom-style:solid;border-bottom-width:1px}.__grid:not(:first-of-type) .col:last-of-type{border-right-style:solid;border-right-width:1px}.__grid:not(:first-of-type) .col:not(.red):not(.orange):not(.yellow):not(.green){border-color:#a3b7ad}@media(min-width: 600px){.__grid{display:table;table-layout:fixed;width:100%}.__grid .col{display:table-cell}}.col{padding:.5rem 1rem;width:100%}.col:not(:first-of-type){text-align:right}@media(min-width: 600px){.grid-padded{margin-right:-1rem;margin-left:-1rem}.grid-padded .grid{border-spacing:1rem 0}}.grid-align-middle .col{vertical-align:middle}.grid-reverse{direction:rtl}.grid-reverse .col{direction:ltr}@font-face{font-family:"Karla";font-style:normal;font-weight:400;src:local("Karla Regular"),url(//brick.freetls.fastly.net/fonts/karla/400.woff) format("woff")}@font-face{font-family:"Karla";font-style:italic;font-weight:400;src:local("Karla Italic"),url(//brick.freetls.fastly.net/fonts/karla/400i.woff) format("woff")}@font-face{font-family:"Karla";font-style:normal;font-weight:700;src:local("Karla Bold"),url(//brick.freetls.fastly.net/fonts/karla/700.woff) format("woff")}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ecosystem{margin-bottom:2rem;padding-top:1rem;display:grid;font-size:1rem;grid-gap:1rem}.ecosystem:not(.expand-left):not(.expand-right){grid-template-columns:144px auto 144px}.ecosystem:not(.expand-left):not(.expand-right) .ecosystem__submodules{padding-top:2.5rem}.ecosystem.expand-left{grid-template-columns:50% auto}.ecosystem.expand-left .ecosystem__submodules:last-of-type,.ecosystem.expand-left .ecosystem__submodule:not(.active){display:none}.ecosystem.expand-right{grid-template-columns:auto 50%}.ecosystem.expand-right .ecosystem__submodules:first-of-type,.ecosystem.expand-right .ecosystem__submodule:not(.active){display:none}.ecosystem__module{position:relative;width:100%}.ecosystem__module > *{z-index:1}.ecosystem__module h2{position:relative;width:100%}.ecosystem__module h2 > div{float:right;font-size:1rem;padding-top:1.95rem;padding-right:3rem;position:relative;text-align:right}.ecosystem__module h2 > div::before{font-family:Georgia,serif;top:.9rem;right:3rem;content:"explore";font-size:80%;font-style:italic;opacity:.3;position:absolute;text-align:right;width:100%}.ecosystem__module h2 > div span{cursor:pointer;display:inline-block;position:relative}.ecosystem__module h2 > div span:not(:last-of-type){margin-right:1rem}.ecosystem__module h2 > div span:not(:last-of-type)::after{top:0;right:-0.7rem;color:rgba(163,183,173,.3);content:"/";font-style:italic;position:absolute}.ecosystem__module h3{position:relative}.ecosystem__module::before{width:100%;height:100%;top:0;left:0;content:"";position:absolute;z-index:0}.ecosystem__module:not(.active){align-items:center;display:inline-flex;justify-content:center}.ecosystem__module:not(.active) h2{font-size:1.5rem;text-align:center}.ecosystem__module:not(.active) h2 > span{cursor:pointer;display:block;padding:1.9rem 2rem}.ecosystem__module:not(.active) h2 > span em{display:block;font-size:70%;font-weight:normal}.ecosystem__module:not(.active) h2 > div{display:none}.ecosystem__module:not(.active) .ecosystem__module__details{display:none}.ecosystem__module:not(.active) .__close{top:2rem;transform:rotate(45deg);z-index:0}.ecosystem__module.active{padding:1.9rem 2rem}.ecosystem__module.active h2{font-size:3rem;margin-bottom:1rem}.ecosystem__module.active h2 > span{cursor:default}.ecosystem__module.active h2 > span em{display:none}.ecosystem__module.active::before{background-color:#fcfcfc}.ecosystem__module.active .__close{top:2.35rem;z-index:3}.ecosystem__module.lbrycrd,.ecosystem__module.lbry{margin-bottom:1rem}.ecosystem__module.lbry:not(.active) h2,.ecosystem__module.applications:not(.active) h2{margin-bottom:.5rem}.ecosystem__module.lbry:not(.active) h2::after,.ecosystem__module.applications:not(.active) h2::after{bottom:1rem;left:0;font-size:.5rem;letter-spacing:.1rem;position:absolute;width:100%;z-index:-1}.ecosystem__module.lbrycrd:not(.active)::before{background-color:#db3e3e}.ecosystem__module.lbrycrd.active::before{border:2px solid #db3e3e}.ecosystem__module.lbry:not(.active)::before{background-color:#3e8cdb}.ecosystem__module.lbry:not(.active) h2::after{content:"◼︎◼︎"}.ecosystem__module.lbry.active::before{border:2px solid #3e8cdb}.ecosystem__module.applications:not(.active)::before{background-color:#3edb3e}.ecosystem__module.applications:not(.active) h2::after{content:"◼︎◼︎◼︎◼︎◼︎"}.ecosystem__module.applications.active::before{border:2px solid #3edb3e}.ecosystem__module__piece{background-color:#fcfcfc;left:10%;line-height:2;position:relative;width:80%}.ecosystem__module__piece:not(:last-of-type){margin-bottom:.5rem}.ecosystem__submodule{border-width:2px;cursor:default;position:relative;transition:border-color .2s;z-index:2}.ecosystem__submodule:not(:last-of-type){margin-bottom:1rem}.ecosystem__submodule:not(.on):not(.active){color:transparent}.ecosystem__submodule:not(.active){align-items:center;display:inline-flex;justify-content:center;width:144px;height:144px;border-radius:50%;border-style:dashed}.ecosystem__submodule:not(.active) .ecosystem__submodule__title{width:100%;height:100%;line-height:140px;text-align:center}.ecosystem__submodule:not(.active) .ecosystem__submodule__description{display:none}.ecosystem__submodule.active{width:100%;height:100%;max-height:378px;border-style:solid;overflow-y:auto;padding:2rem}.ecosystem__submodule.active .ecosystem__submodule__title{line-height:1.33;margin-bottom:1rem}.ecosystem__submodule:not(.blue):not(.green):not(.red){border-color:rgba(163,183,173,.3)}.ecosystem__submodule.blue:not(.active),.ecosystem__submodule.green:not(.active),.ecosystem__submodule.red:not(.active){cursor:pointer}.ecosystem__submodule.blue{background-color:rgba(62,140,219,.025);border-color:#3e8cdb}.ecosystem__submodule.green{background-color:rgba(62,219,62,.025);border-color:#3edb3e}.ecosystem__submodule.red{background-color:rgba(219,62,62,.025);border-color:#db3e3e}.ecosystem__submodule__title{font-size:1.15rem}.ecosystem__submodule__description{margin-bottom:2rem}.ecosystem__submodule__description .__close{top:-0.7rem;right:-2rem}.ecosystem__submodule__description__title{color:rgba(34,34,34,.3);letter-spacing:.1rem;text-transform:uppercase}.__parents{top:2rem;right:4rem;font-size:1.15rem;line-height:1.33;list-style-type:none;padding-right:1rem;position:absolute;z-index:1}.__parents::before,.__parents::after{position:absolute}.__parents::before{font-family:Georgia,serif;top:.3rem;left:-3.4rem;color:rgba(34,34,34,.3);content:"back to";font-size:.8rem;font-style:italic;font-weight:700}.__parents::after{width:2px;height:100%;top:0;right:0;background-color:rgba(34,34,34,.3);content:""}.__parent{font-weight:700}.__parent:not(.active){display:none}.__parent.active{cursor:pointer}.__close{cursor:pointer;font-size:2rem;position:absolute;right:2rem;transition:all .2s}.newsletter-cta{background-color:rgba(34,34,34,.2);padding-top:1rem;padding-bottom:1rem;text-align:center}.newsletter-cta > div:first-of-type{margin-right:auto;margin-left:auto}@media(min-width: 551px){.newsletter-cta > div:first-of-type{width:500px}}@media(max-width: 550px){.newsletter-cta > div:first-of-type{width:90%}}.newsletter-cta::after{clear:both;content:"";display:block}.newsletter-cta__title{font-size:.8rem;letter-spacing:.05rem;margin-bottom:.75rem;text-transform:uppercase}.newsletter-cta__input,.newsletter-cta__submit{border-style:solid;border-width:1px}@media(max-width: 550px){.newsletter-cta__input,.newsletter-cta__submit{width:100%}}.newsletter-cta__input{background-color:#fcfcfc;font-size:1rem;height:38px;transition:border .2s}@media(min-width: 551px){.newsletter-cta__input{float:left;width:calc(100% - 112px)}}@media(max-width: 550px){.newsletter-cta__input{text-align:center}}.newsletter-cta__input:not(:focus){border-top-color:#222;border-left-color:#222}@media(min-width: 551px){.newsletter-cta__input:not(:focus){border-bottom-color:#222;border-right-color:transparent}}@media(max-width: 550px){.newsletter-cta__input:not(:focus){border-bottom-color:transparent;border-right-color:#222}}.newsletter-cta__input:focus{border-top-color:#35a06b;border-left-color:#35a06b}@media(min-width: 551px){.newsletter-cta__input:focus{border-bottom-color:#35a06b;border-right-color:transparent}}@media(max-width: 550px){.newsletter-cta__input:focus{border-bottom-color:transparent;border-right-color:#35a06b}}.newsletter-cta__submit{color:#fcfcfc}@media(min-width: 551px){.newsletter-cta__submit{width:112px;height:38px;float:right;left:-1px}}@media(max-width: 550px){.newsletter-cta__submit{display:block;top:-1px}}.newsletter-cta__submit:not(:hover){background-color:#222;border-color:#222}.newsletter-cta__submit:hover{background-color:#3abf7d;border-color:#35a06b}.newsletter-cta__message{clear:both;content:"";display:block;color:#db3e3e;padding-top:1rem}.feature-links{display:grid;grid-gap:2rem;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));list-style-type:none;padding-top:.5rem}.feature-link{width:320px;min-height:135px;background-color:#fcfcfc;border:1px solid rgba(34,34,34,.1);border-radius:3px;cursor:pointer;display:inline-block;position:relative;transition:box-shadow .2s;vertical-align:top}.feature-link > div:first-of-type{top:85px;left:5%;position:relative;text-align:center;width:90%;z-index:1}.feature-link:not(:hover) .feature-link__background{filter:brightness(0.5)}.feature-link:hover{box-shadow:0 0 15px rgba(34,34,34,.15)}.feature-link:hover .feature-link__title{color:#3abf7d}.feature-link__title{background-color:#fcfcfc;border:1px solid rgba(128,128,128,.1);box-shadow:0 2px 5px rgba(34,34,34,.025);border-radius:3px;box-decoration-break:clone;display:inline;font-size:1rem;line-height:1.7;padding:.25rem .5rem;transition:color .2s;position:relative}.feature-link__background{width:calc(100% + 2px);height:100px;top:-1px;left:-1px;background-color:#3abf7d;border-top-right-radius:3px;border-top-left-radius:3px;transition:filter .2s;overflow:hidden;position:absolute;z-index:0}.feature-link__background img{width:100%;height:100%;object-fit:cover;object-position:center}.github-feed{border-bottom:1px solid rgba(34,34,34,.05);border-left:1px solid rgba(34,34,34,.05);font-size:.8rem;grid-area:github;position:relative}@media(min-width: 1301px){.github-feed{padding-top:3.7rem}}@media(min-width: 1001px)and (max-width: 1300px){.github-feed{padding-top:2.95rem}}@media(min-width: 1001px){.github-feed{padding-bottom:2rem;padding-right:10%;padding-left:2rem}}@media(max-width: 1000px){.github-feed{padding-top:2rem;padding-bottom:2rem}}@media(min-width: 901px){.github-feed{padding-right:1rem;padding-left:1rem}}@media(max-width: 900px){.github-feed{padding-right:2rem;padding-left:2rem}}@media(max-width: 700px){.github-feed{overflow-x:auto;overflow-y:hidden;white-space:nowrap}}@media(min-width: 1001px){.github-feed h3,.github-feed h5{text-align:center}}.github-feed h3{letter-spacing:.1rem;line-height:1;text-transform:uppercase;width:100%}@media(min-width: 1301px){.github-feed h3{top:2.15rem;left:0;color:rgba(34,34,34,.045);font-size:4rem;position:absolute}}@media(max-width: 1300px){.github-feed h3{color:#222}}@media(min-width: 901px)and (max-width: 1300px){.github-feed h3{font-size:3rem}}@media(max-width: 900px){.github-feed h3{font-size:2rem;margin-bottom:1rem}}.github-feed h5{font-style:italic;font-weight:normal}@media(min-width: 1001px){.github-feed h5{margin-bottom:3rem}}@media(min-width: 901px)and (max-width: 1000px){.github-feed h5{margin-bottom:2rem}}@media(max-width: 900px){.github-feed h5{margin-bottom:.5rem;position:relative;top:-1rem}}.github-feed__event{line-height:1.55}@media(max-width: 700px){.github-feed__event{display:inline-block;margin-right:1.25rem;vertical-align:top;width:200px}}@media(min-width: 701px){.github-feed__event:not(:last-of-type){margin-bottom:1.25rem}}.github-feed__event > a:first-of-type{font-weight:700;margin-bottom:.5rem;width:100%}@media(max-width: 700px){.github-feed__event > p:first-of-type{box-shadow:0 2px 5px rgba(34,34,34,.025)}}.github-feed__event > p:first-of-type code{background-color:#222;border-radius:3px;color:#fcfcfc;font-size:80%;letter-spacing:.05rem;padding:.2rem .5rem;position:relative;top:-1px}.github-feed__event > p:first-of-type em:not(.github-feed__event__time){text-decoration:underline}@media(min-width: 701px){.github-feed__event > p:first-of-type{display:inline-block;margin-left:.5rem;vertical-align:top;width:calc(100% - 4.5rem)}}@media(max-width: 700px){.github-feed__event > p:first-of-type{top:-3.5rem;left:5%;background-color:#fcfcfc;border:1px solid rgba(163,183,173,.1);border-radius:3px;padding:1rem;position:relative;white-space:normal;width:90%}}.github-feed__event__avatar{border:1px solid rgba(163,183,173,.1);border-radius:3px;object-position:center;object-fit:cover}@media(min-width: 701px){.github-feed__event__avatar{width:2.5rem;height:2.5rem}}@media(max-width: 700px){.github-feed__event__avatar{width:100%;height:100%}}.github-feed__event__time{color:#a3b7ad;display:block}@media(max-width: 700px){.github-feed__event__time{padding-top:1rem}}.navigation{top:0;left:0;background-color:#fcfcfc;box-shadow:0 1px 5px rgba(34,34,34,.1);padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left);position:fixed;width:100%;z-index:10}.navigation > div:first-of-type{position:relative}@media(min-width: 701px){.navigation > div:first-of-type{align-items:stretch;display:flex;flex-flow:row wrap}}@media(max-width: 700px){.navigation > div:first-of-type{overflow:auto;overflow-scrolling:touch;white-space:nowrap;width:100%}.navigation > div:first-of-type::before{width:2rem;height:4rem;top:0;right:0;background-image:linear-gradient(90deg, rgba(252, 252, 252, 0), #fcfcfc 50%, #fcfcfc);content:"";position:fixed;z-index:2}}.navigation__item{overflow:hidden;padding-right:.5rem;padding-left:.5rem;position:relative}@media(max-width: 700px){.navigation__item{display:inline-block;transform:translate3d(0, 0, 0);transition:opacity .2s .2s ease,transform .4s .2s cubic-bezier(0.215, 0.61, 0.355, 1);vertical-align:top}.navigation__item:last-of-type{margin-right:3rem}}.navigation__item:first-of-type{border:0;color:transparent;font:0/0 a;text-shadow:none;width:10rem;height:3rem;background-image:url("../media/svg/logo.svg");background-repeat:no-repeat;background-size:contain;flex:1;top:.5rem}.navigation__item:not(:first-of-type){color:inherit;font-size:1rem;line-height:4rem}.navigation__item:not(:first-of-type)::after{width:100%;height:3px;background-color:#3abf7d;content:"";left:0;position:absolute;transition:bottom .2s}.navigation__item:not(:first-of-type):not(:hover)::after{bottom:-3px}.navigation__item:not(:first-of-type):hover::after,.navigation__item:not(:first-of-type).active::after{bottom:0}.component--mission-statement{margin-bottom:1.5rem;padding:1rem 1rem 1rem 1.25rem;background-color:rgba(58,191,125,.1);border-left:.5rem solid #3abf7d;line-height:1.55;position:relative}@media(min-width: 901px){.component--mission-statement{font-size:1.25rem}}@media(max-width: 900px){.component--mission-statement{font-size:1.05rem}}.component--mission-statement__title{color:#3abf7d;display:block;letter-spacing:.025rem;text-transform:uppercase}.modal{align-items:center;display:inline-flex;justify-content:center;top:0;left:0;bottom:0;right:0;background-color:rgba(34,34,34,.5);position:fixed;z-index:10}@media(min-width: 901px){.modal h3{font-size:1.5rem;margin-bottom:.25rem}}@media(max-width: 900px){.modal h3{font-size:1.25rem}}.modal p{margin-bottom:1rem}@media(min-width: 901px){.modal p{font-size:1.15rem;line-height:1.33}}@media(max-width: 900px){.modal p{font-size:1.05rem;line-height:1.55}}.modal p a{color:#3abf7d}.modal-wrap{background-color:#fcfcfc;padding:2rem 1.5rem}@media(min-width: 501px){.modal-wrap{width:500px}}@media(max-width: 500px){.modal-wrap{width:100%}}.footer{background-color:#222;color:rgba(252,252,252,.15);font-size:1rem;padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left);position:relative}@media(max-width: 980px){.footer::before{width:3rem;height:100%;bottom:0;right:0;background-image:linear-gradient(90deg, rgba(34, 34, 34, 0), #222 50%, #222);content:"";position:absolute;z-index:2}}@media(max-width: 980px){.footer > div:first-of-type{overflow:auto;overflow-scrolling:touch;white-space:nowrap;width:100%}}.footer ul{list-style-type:none;padding-top:2rem;padding-bottom:2rem}@media(min-width: 981px){.footer ul{align-items:stretch;display:flex;flex-flow:row wrap}}.footer ul li{padding-right:.5rem;padding-left:.5rem;vertical-align:bottom}@media(max-width: 980px){.footer ul li{display:inline-block;transform:translate3d(0, 0, 0);transition:opacity .2s .2s ease,transform .4s .2s cubic-bezier(0.215, 0.61, 0.355, 1)}.footer ul li:last-of-type{margin-right:3rem}}.footer ul li:first-of-type{flex:1}.footer a{transition:color .2s}.footer a:not(:hover){color:#fcfcfc}.footer a:hover{color:#3abf7d}html,body{width:100%;height:100%}html{background-color:#fcfcfc}body{font-family:Karla,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";color:#222;font-size:12px;min-width:320px;overflow-x:hidden;position:relative;z-index:0}body:not(.home) main > div:first-of-type{flex:1}@media(min-width: 1001px){body.home main > div:first-of-type{display:grid;grid-gap:0;grid-template-areas:"header header header" "features features features" "intro intro github" "docs docs github" "contribute contribute contribute" "develop develop develop" "community community community"}}main{display:flex;flex-direction:column;min-height:100vh;padding-top:4rem}.inner-wrap{margin-right:auto;margin-left:auto;max-width:1200px}@media(min-width: 901px){.inner-wrap{padding-right:1rem;padding-left:1rem}}@media(max-width: 900px){.inner-wrap{padding-right:2rem;padding-left:2rem}}.inner-wrap::after{clear:both;content:"";display:block}h1 .header-anchor,h2 .header-anchor,h3 .header-anchor,h4 .header-anchor,h5 .header-anchor{display:none}.alert{bottom:0;left:0;background-color:#dbdb3e;line-height:1.33;padding-top:1rem;padding-right:env(safe-area-inset-right);padding-bottom:1rem;padding-left:env(safe-area-inset-left);position:fixed;text-align:left;width:100%;z-index:3}.alert > div:first-of-type{position:relative}@media(min-width: 901px){.alert{font-size:1rem}}@media(max-width: 900px){.alert{font-size:.8rem}}.alert p,.alert button{display:inline-block}.alert p{padding-right:1rem;width:calc(100% - 2.25rem)}.alert a{font-weight:600;text-decoration:underline}.alert button{width:1.25rem;height:1.25rem;top:0;right:0;background-color:#fcfcfc;border-radius:50%;display:block;font-size:1rem;line-height:1;margin-right:1rem;margin-left:1rem;position:absolute;text-align:center}.home{padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left)}.home h2{font-weight:normal;margin-bottom:4rem;text-align:center}@media(min-width: 851px){.home h2{font-size:1.75rem}}@media(max-width: 850px){.home h2{font-size:1.25rem}}.home hr{width:100%;height:1px;background-color:rgba(34,34,34,.1);border:none;margin-bottom:4rem}.home .hero{align-items:center;background-color:#222;background-image:url("../media/svg/text-logo--white.svg");background-position:center;background-repeat:no-repeat;display:flex;grid-area:header;height:calc(50vh - 4rem);min-height:300px;justify-content:center}@media(max-width: 850px){.home .hero{background-size:cover}}.home .hero h1{background-color:#fcfcfc;border:1px solid rgba(34,34,34,.1);box-decoration-break:clone;display:inline;font-weight:normal;line-height:2;padding:.4rem 1rem}@media(min-width: 851px){.home .hero h1{font-size:1.75rem}}@media(max-width: 850px){.home .hero h1{font-size:1.25rem}}.home .features{grid-area:features}.home .features .home__features{align-content:center;border-bottom:1px solid rgba(34,34,34,.05);display:flex;flex-flow:row wrap;list-style-type:none;padding-top:2rem;padding-bottom:2rem}.home .features .home__feature{position:relative;text-align:center;vertical-align:top}@media(min-width: 651px){.home .features .home__feature{width:50%}}@media(max-width: 650px){.home .features .home__feature{width:100%}.home .features .home__feature:first-of-type{padding-bottom:1rem}.home .features .home__feature:last-of-type{padding-top:1rem}}.home .features .home__feature__title{font-size:2rem;margin-bottom:.5rem}.home .features .home__feature__description{font-size:1rem;left:10%;margin-bottom:1rem;position:relative;width:80%}.home .features .home__feature__cta{display:inline-block;font-size:1rem;position:relative}.home .intro,.home .docs,.home .contribute,.home .develop,.home .community{padding-top:3rem;padding-bottom:3.5rem}.home .intro .inner-wrap,.home .docs .inner-wrap,.home .contribute .inner-wrap,.home .develop .inner-wrap,.home .community .inner-wrap{position:relative}.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{letter-spacing:.1rem;line-height:1;text-transform:uppercase}@media(min-width: 1301px){.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{top:-0.85rem;left:-2rem;color:rgba(34,34,34,.045);font-size:4rem;position:absolute}}@media(max-width: 1300px){.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{color:#222}}@media(min-width: 901px)and (max-width: 1300px){.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{font-size:3rem}}@media(max-width: 900px){.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{font-size:2rem;margin-bottom:1rem}}.home .intro p,.home .docs p,.home .contribute p,.home .develop p,.home .community p{margin-bottom:1.5rem;max-width:1000px}@media(min-width: 901px){.home .intro p,.home .docs p,.home .contribute p,.home .develop p,.home .community p{font-size:1.5rem;line-height:1.55}}@media(max-width: 900px){.home .intro p,.home .docs p,.home .contribute p,.home .develop p,.home .community p{font-size:1.25rem;line-height:1.33}}.home .intro p:first-of-type,.home .docs p:first-of-type,.home .contribute p:first-of-type,.home .develop p:first-of-type,.home .community p:first-of-type{padding-top:.5rem}.home .intro .cta,.home .docs .cta,.home .contribute .cta,.home .develop .cta,.home .community .cta{top:.5rem}.home .intro,.home .docs,.home .contribute,.home .develop{border-bottom:1px solid rgba(34,34,34,.05)}@media(min-width: 1301px){.home .intro,.home .docs{padding-left:10%}}.home .intro{grid-area:intro}.home .docs{grid-area:docs}@media(min-width: 1301px){.home .community p,.home .contribute p{margin-right:auto;margin-left:auto;text-align:center}}.home .community ul,.home .contribute ul{list-style-type:none;padding-top:1rem}.home .community ul::after,.home .contribute ul::after{clear:both;content:"";display:block}@media(min-width: 901px){.home .community ul,.home .contribute ul{font-size:1.5rem}}@media(min-width: 751px)and (max-width: 900px){.home .community ul,.home .contribute ul{font-size:1.25rem}}@media(max-width: 750px){.home .community ul,.home .contribute ul{font-size:1rem}}.home .community ul li,.home .contribute ul li{float:left;position:relative;text-align:center}@media(max-width: 750px){.home .community ul li,.home .contribute ul li{margin-bottom:2rem;min-width:8rem}}.home .community ul li a,.home .contribute ul li a{display:block;position:relative;padding-top:4rem;transition:color .2s}.home .community ul li a::before,.home .contribute ul li a::before{width:100%;height:100%;background-position:center 0;background-repeat:no-repeat;content:"";left:0;position:absolute}.home .community ul li a:not(:hover),.home .contribute ul li a:not(:hover){color:inherit}.home .community ul li a:hover,.home .contribute ul li a:hover{color:#3abf7d}.home .contribute{grid-area:contribute}@media(min-width: 701px){.home .contribute ul li{width:calc(100% / 5)}}@media(max-width: 700px){.home .contribute ul li{width:50%}}@media(min-width: 901px){.home .contribute ul li a::before{background-size:4rem;top:-1rem}}@media(max-width: 900px){.home .contribute ul li a::before{background-size:3rem;top:0}}.home .contribute ul li:nth-child(1) a::before{background-image:url("../media/svg/flag.svg")}.home .contribute ul li:nth-child(2) a::before{background-image:url("../media/svg/keyboard.svg")}.home .contribute ul li:nth-child(3) a::before{background-image:url("../media/svg/anchor.svg")}.home .contribute ul li:nth-child(4) a::before{background-image:url("../media/svg/chat.svg")}.home .contribute ul li:nth-child(5) a::before{background-image:url("../media/svg/monitor.svg")}.home .develop{grid-area:develop}.home .community{grid-area:community}@media(min-width: 701px){.home .community ul li{width:50%}}@media(max-width: 700px){.home .community ul li{width:50%}}@media(min-width: 901px){.home .community ul li a::before{background-size:6rem;top:-2rem}}@media(max-width: 900px){.home .community ul li a::before{background-size:4rem;top:-0.5rem}}.home .community ul li:nth-child(1) a::before{background-image:url("../media/svg/discord.svg")}.home .community ul li:nth-child(2) a::before{background-image:url("../media/svg/reddit.svg")}.home .community ul li:nth-child(3) a::before{background-image:url("../media/svg/slack.svg")}.contributing table th:first-of-type{width:30%}.contributing table th:nth-of-type(2){width:20%}.documentation ol + h1,.documentation ul + h1{padding-top:2rem}.documentation h4 + h2{padding-top:2rem}.documentation .blog-posts{list-style-type:none}.documentation .blog-post{position:relative}.documentation .blog-post::before{background-color:#222;border-radius:50%;content:"";line-height:0;position:absolute}@media(min-width: 901px){.documentation .blog-post::before{width:7px;height:7px;top:14px;left:-1.05rem}}@media(max-width: 900px){.documentation .blog-post::before{width:6px;height:6px;top:11px;left:-0.95rem}}.documentation .blog-post__title{line-height:1.33}.documentation .blog-post__title::after{content:"";display:block}.documentation .blog-post__meta{font-size:80%;line-height:1;margin-bottom:1rem}.documentation .blog-post__meta__author::before{content:"by"}@media(min-width: 901px){.documentation .blog-post__meta__author::before{left:-1.2rem}}@media(max-width: 900px){.documentation .blog-post__meta__author::before{left:-1rem}}@media(min-width: 901px){.documentation .blog-post__meta__date{margin-right:1.4rem;margin-left:3.1rem}}@media(max-width: 900px){.documentation .blog-post__meta__date{margin-right:1.2rem;margin-left:2.6rem}}.documentation .blog-post__meta__date::before{content:"posted"}@media(min-width: 901px){.documentation .blog-post__meta__date::before{left:-3.1rem}}@media(max-width: 900px){.documentation .blog-post__meta__date::before{left:-2.6rem}}.documentation .blog-post__meta__author,.documentation .blog-post__meta__date{display:inline-block;position:relative}.documentation .blog-post__meta__author::before,.documentation .blog-post__meta__date::before{color:rgba(34,34,34,.5);font-style:italic;position:absolute;vertical-align:bottom}.page{display:flex;flex:1;flex-direction:column;height:100%}.page__header-wrap{width:100%}.page__header{align-items:center;display:inline-flex;justify-content:center;background-position:center;background-repeat:no-repeat;background-size:cover;color:#fcfcfc;padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left);position:relative;width:100%}.page__header__title{font-weight:300;text-shadow:1px 1px 2px rgba(34,34,34,.3)}@media(min-width: 901px){.page__header__title{font-size:3rem;line-height:6.5rem}}@media(max-width: 900px){.page__header__title{font-size:2rem;line-height:1;padding-top:1rem;padding-bottom:1rem}}.page__content{background-repeat:repeat;background-size:32px;flex:1;padding-top:2rem;padding-bottom:2rem;padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left)}.page__content h1{margin-bottom:.25rem}@media(min-width: 901px){.page__content h1{font-size:3rem}}@media(max-width: 900px){.page__content h1{font-size:2rem}}.page__content h1 + h2{margin-bottom:2rem}@media(min-width: 901px){.page__content h2:not(.__title){font-size:2rem}}@media(max-width: 900px){.page__content h2:not(.__title){font-size:1.5rem}}.page__content h2:not(.__title) + h3{margin-bottom:1rem;padding-top:.25rem}@media(min-width: 901px){.page__content h3:not(.ecosystem__submodule__title){font-size:1.5rem}}@media(max-width: 900px){.page__content h3:not(.ecosystem__submodule__title){font-size:1.25rem}}.page__content h3:not(.ecosystem__submodule__title) + table{top:.25rem}.page__content h4:not(.ecosystem__submodule__description__title){letter-spacing:.05rem;text-transform:uppercase}@media(min-width: 901px){.page__content h4:not(.ecosystem__submodule__description__title){font-size:1.25rem}}@media(max-width: 900px){.page__content h4:not(.ecosystem__submodule__description__title){font-size:1.15rem}}.page__content h5{font-size:1rem}.page__content sup{font-family:"Courier New",monospace}.page__content blockquote{left:2px;line-height:1.5;margin-bottom:.5rem;position:relative}@media(min-width: 601px){.page__content blockquote{margin-left:15%;padding:.5rem 0 .05rem 2rem;font-size:1.5rem;width:70%}}@media(max-width: 600px){.page__content blockquote{font-size:1.25rem;padding:.5rem 0 .05rem 0}}@media(min-width: 376px)and (max-width: 600px){.page__content blockquote{margin-left:5%;width:90%}}.page__content blockquote p{font-size:inherit;line-height:inherit}.page__content blockquote::before{font-family:Georgia,serif;width:150px;height:100px;top:3rem;left:-2rem;color:rgba(58,191,125,.2);content:"“";font-size:20rem;line-height:.5;position:absolute}.page__content p code,.page__content ol code,.page__content ul:not(.overview__ecosystem__module) code,.page__content table code{background-color:#222;border-radius:3px;color:#fcfcfc;font-size:60%;letter-spacing:.05rem;padding:.3rem .5rem;vertical-align:middle}@media(max-width: 900px){.page__content p code,.page__content ol code,.page__content ul:not(.overview__ecosystem__module) code,.page__content table code{position:relative;top:-1px}}.page__content p,.page__content ol,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){margin-bottom:1rem;position:relative}@media(min-width: 901px){.page__content p,.page__content ol,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){font-size:1.25rem;line-height:1.6}}@media(max-width: 900px){.page__content p,.page__content ol,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){font-size:1.05rem;line-height:1.55}}.page__content ol,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){padding-top:.5rem}.page__content ol li:not(:last-of-type),.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) li:not(:last-of-type){margin-bottom:.25rem}.page__content ol + h2,.page__content ol + h3,.page__content ol + h4,.page__content ol + h5,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h2,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h3,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h4,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h5{padding-top:2rem}.page__content ol{list-style-type:lower-roman;padding-left:1.6rem}.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){padding-left:1.25rem}.page__content p img{float:right}.page__content a:not(.__button-black):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit){background-image:linear-gradient(#fcfcfc, #fcfcfc),linear-gradient(#fcfcfc, #fcfcfc),linear-gradient(#3abf7d, #3abf7d);background-position:0 88%,100% 88%,0 88%;background-repeat:no-repeat,no-repeat,repeat-x;background-size:.05rem 1px,.05rem 1px,1px 1px;box-decoration-break:clone;display:inline;text-decoration:none;text-shadow:.03rem 0 #fcfcfc,-0.03rem 0 #fcfcfc,0 .03rem #fcfcfc,0 -0.03rem #fcfcfc,.06rem 0 #fcfcfc,-0.06rem 0 #fcfcfc,.09rem 0 #fcfcfc,-0.09rem 0 #fcfcfc,.12rem 0 #fcfcfc,-0.12rem 0 #fcfcfc,.15rem 0 #fcfcfc,-0.15rem 0 #fcfcfc;color:#3abf7d}.page__content a:not(.__button-black):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit)::selection{background-color:#3abf7d;color:#fcfcfc;text-shadow:none}.page__content a:not(.__button-black):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit)::-moz-selection{background-color:#3abf7d;color:#fcfcfc;text-shadow:none}@-moz-document url-prefix(){.page__content a:not(.__button-black):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit){background-position:0 90%,100% 90%,0 90%}}.page__content pre{margin-bottom:2rem;padding:2rem;border-radius:3px;font-size:1rem;line-height:1.33;overflow-x:auto;overflow-y:hidden}.page__content pre:not([class]),.page__content pre.language-text{background-color:#222;color:#fcfcfc}.page__content pre.language-yaml{background-color:#27273f;color:#ffe066}.page__content pre.language-yaml .atrule{color:#f083ac}.page__content pre.language-yaml .important{color:#ffa94d}.page__content pre.language-yaml .punctuation{color:#fcfcfc}.page__content table{background-color:#fcfcfc;border:1px solid rgba(163,183,173,.3);border-spacing:0;margin-bottom:2rem;position:relative;width:100%}@media(max-width: 1030px){.page__content table{display:inline-grid}.page__content table thead{display:none}.page__content table tbody,.page__content table tr,.page__content table td{display:block}.page__content table tbody tr:last-of-type td:not(:last-of-type){border-bottom:1px solid rgba(163,183,173,.3)}}.page__content table thead{background-color:#222;color:#fcfcfc;cursor:default;position:relative}.page__content table thead tr{position:relative;z-index:1}.page__content table thead:not(*:root)::after{z-index:-1}.page__content table thead::after{width:calc(100% + 2px);height:calc(100% + 2px);top:-1px;left:-1px;background-color:#222;content:"";position:absolute;z-index:0}.page__content table tbody{line-height:1.55}.page__content table tr:nth-of-type(even){background-color:rgba(34,34,34,.025)}.page__content table th,.page__content table td{padding:.5rem 1rem}.page__content table th{font-size:.8rem;letter-spacing:.1rem;text-transform:uppercase}.page__content table tbody tr:not(:last-of-type) td{border-bottom:1px solid rgba(163,183,173,.3)}.page__content table td{font-size:1rem}.page__header{background-image:url("../media/images/background-a.jpg")}.page__content{background-image:url("../media/images/grid.png")}/*# sourceMappingURL=style.css.map */ diff --git a/public/css/style.css.map b/public/css/style.css.map index a2b437d..2f3bfa9 100755 --- a/public/css/style.css.map +++ b/public/css/style.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../../sass/init/_base.scss","../../sass/init/_colors.scss","../../sass/init/_mixins.scss","../../sass/init/_extends.scss","../../sass/type/_karla.scss","../../sass/partials/_animation.scss","../../sass/partials/_ecosystem.scss","../../sass/partials/_email-subscribe.scss","../../sass/partials/_github-feed.scss","../../sass/partials/_navigation.scss","../../sass/partials/_mission-statement.scss","../../sass/partials/_modal.scss","../../sass/partials/_footer.scss","../../sass/_layout.scss","../../sass/pages/_home.scss","../../sass/pages/_contributing.scss","../../sass/pages/_documentation.scss","../../sass/pages/_page.scss"],"names":[],"mappings":"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","file":"style.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../../sass/init/_base.scss","../../sass/init/_colors.scss","../../sass/init/_mixins.scss","../../sass/init/_extends.scss","../../sass/type/_karla.scss","../../sass/partials/_animation.scss","../../sass/partials/_ecosystem.scss","../../sass/partials/_email-subscribe.scss","../../sass/partials/_feature-links.scss","../../sass/partials/_github-feed.scss","../../sass/partials/_navigation.scss","../../sass/partials/_mission-statement.scss","../../sass/partials/_modal.scss","../../sass/partials/_footer.scss","../../sass/_layout.scss","../../sass/pages/_home.scss","../../sass/pages/_contributing.scss","../../sass/pages/_documentation.scss","../../sass/pages/_page.scss"],"names":[],"mappings":"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","file":"style.css"} \ No newline at end of file diff --git a/sass/partials/_feature-links.scss b/sass/partials/_feature-links.scss new file mode 100644 index 0000000..53f4364 --- /dev/null +++ b/sass/partials/_feature-links.scss @@ -0,0 +1,77 @@ +.feature-links { + display: grid; + grid-gap: 2rem; + grid-template-columns: repeat(auto-fit, minmax(320px,1fr)); + list-style-type: none; + padding-top: 0.5rem; +} + +.feature-link { + width: 320px; min-height: 135px; + + background-color: $white; + border: 1px solid rgba($black, 0.1); + border-radius: 3px; + cursor: pointer; + display: inline-block; + position: relative; + transition: box-shadow 0.2s; + vertical-align: top; + + > div:first-of-type { + top: 85px; left: 5%; + + position: relative; + text-align: center; + width: 90%; + z-index: 1; + } + + &:not(:hover) { + .feature-link__background { + filter: brightness(0.5); + } + } + + &:hover { + box-shadow: 0 0 15px rgba($black, 0.15); + + .feature-link__title { + color: $teal; + } + } +} + +.feature-link__title { + background-color: $white; + border: 1px solid rgba(gray, 0.1); + box-shadow: 0 2px 5px rgba($black, 0.025); + border-radius: 3px; + box-decoration-break: clone; + display: inline; + font-size: 1rem; + line-height: 1.7; + padding: 0.25rem 0.5rem; + transition: color 0.2s; + position: relative; +} + +.feature-link__background { + width: calc(100% + 2px); height: 100px; + top: -1px; left: -1px; + + background-color: $teal; + border-top-right-radius: 3px; + border-top-left-radius: 3px; + transition: filter 0.2s; + overflow: hidden; + position: absolute; + z-index: 0; + + img { + width: 100%; height: 100%; + + object-fit: cover; + object-position: center; + } +} diff --git a/sass/style.scss b/sass/style.scss index 3ab1433..3c20a49 100755 --- a/sass/style.scss +++ b/sass/style.scss @@ -11,6 +11,7 @@ "partials/animation", "partials/ecosystem", "partials/email-subscribe", + "partials/feature-links", "partials/github-feed", "partials/navigation", "partials/mission-statement", diff --git a/server.js b/server.js index 26f829b..dd3d656 100755 --- a/server.js +++ b/server.js @@ -39,7 +39,7 @@ if (typeof process.env.REDISCLOUD_URL !== "undefined") { client.on("error", redisError => { process.env.NODE_ENV === "development" ? - log("Unable to connect to Redis client. You may be missing an .env file") : + log(`\n${chalk.yellow("Unable to connect to Redis client.")}\nYou may be missing an .env file or your connection was reset.`) : logSlackError("An error occured with Redis", redisError) ; }); diff --git a/views/pages/build.md b/views/pages/build.md new file mode 100644 index 0000000..e4036c5 --- /dev/null +++ b/views/pages/build.md @@ -0,0 +1,54 @@ +--- +title: Development +--- + +Want to build something on top of LBRY? This is the place to get you started. + +At least, it's the place to get started so long as you have some idea of what LBRY _is_. If you don't, you should read the +[Overview](/overview) first. + +## When to Use LBRY + +- You want to build an application that contributes to the world's knowledge, or benefits from global, shared discovery (flesh this out). +- You want to replace an existing centralized service related to digital content distribution with a decentralized/community-controlled one. + +## When Not to Use LBRY + +- You want to privately distribute data/information. +- You want to do illegal things. + +## How (Ways?) to Build on LBRY + +### Web, Desktop, and Mobile Applications (Daemon-based Applications) + +Almost all web, desktop, and mobile applications will use the [lbry daemon](https://github.com/lbryio/lbry) as a way of accessing and communicating with the LBRY network. + +#### Web Applications + +1. Set up a web server. +1. Install lbry. (Docker images? Other convenient ways of doing this?) +1. Bridging basics. + +#### Desktop Applications + +1. Desktop applications will typically bundle the [lbry daemon](https://github.com/lbryio/lbry). +1. lbry-desktop as example + +#### Android Applications + +1. (Whatever magic you have to do to get a daemon running on Android.) + +#### iOS Applications + +It is not currently possible to use LBRY on iOS. [There is a bounty](lbry.io/bounty/ios-daemon) for this. + +### Blockchain and Wallet Level (Full Node Applications) + +Not all applications will want to use the full LBRY protocol, or some applications may be specifically designed with full blockchain interactions in mind. + +1. How to install lbrycrd. +1. lbrycrd documentation + +## Desired Applications + +TBD diff --git a/views/pages/community.md b/views/pages/community.md new file mode 100644 index 0000000..b387987 --- /dev/null +++ b/views/pages/community.md @@ -0,0 +1,11 @@ +--- +title: Community +--- + +Sometimes we say that the LBRY [[blockchain]] is the foundation of the LBRY protocol, but that's a lie. + +The foundation of LBRY is the community of people that make it possible. LBRY uses computers to move bits around, but it's people that tell them how. + +## Commune Yourself + + diff --git a/views/pages/contribute.md b/views/pages/contribute.md new file mode 100644 index 0000000..14bda0e --- /dev/null +++ b/views/pages/contribute.md @@ -0,0 +1,124 @@ +--- +title: Contributing +--- + +## Contributing to LBRY + +Interested in working on the LBRY protocol, an official LBRY app, or other LBRY infrastructure? Awesome! This guide will get you started. + +This guide is for contributing to the code bases maintained by the LBRY organization. For building on top of the LBRY protocol, see [Build](/build). + +Contributors that provide accepted pull requests, well-specified issues, or assist in testing and quality assurance typically receive LBC tokens as appreciation. + +## Ecosystem Overview + +Typical usage of LBRY does not involve a single piece of software, but several interacting components. + +If you want to contribute to LBRY, the first step is to understand where. + +### Core Protocol Components + +| Component | Language (Toolset) | What Is It +--- | --- | --- +| [lbrycrd](https://github.com/lbryio/lbrycrd) | C++ | A full node for the LBRY blockchain, including a standalone wallet. Used by miners and some applications. Most consumer applications do not bundle `lbrycrd` directly. +| [lbry](https://github.com/lbryio/lbry) | Python (Twisted) | A daemon that implements the LBRY protocol. Bundled with and/or used by most LBRY applications. +| [lbryum](https://github.com/lbryio/lbryum) | Python | The Simple Payment Verification (SPV) wallet bundled with `lbry`. +| [lbryum-server](https://github.com/lbryio/lbryschema) | Protobuf, Python | The wallet server for the `lbryum` SPV wallet. +| [lbry-schema](https://github.com/lbryio/lbryschema) | Protobuf, Python | The structure of the metadata stored in the LBRY blockchain. + +### Official Applications +| Application | Language (Toolset) | What Is It +--- | --- | --- +| [lbry-desktop](https://github.com/lbryio/lbry-desktop) | JavaScript (ReactJS, Electron) | A graphical browser for the LBRY protocol for Windows, macOS, and Linux. `lbry-desktop` bundles `lbry` and is primarily frontend code. +| [lbry-android](https://github.com/lbryio/lbry-desktop) | JavaScript (ReactNative), Python (kivy) | A graphical browser for the LBRY protocol for Android. `lbry-android` bundles `lbry` and is primarily frontend code. +| [lbry-redux](https://github.com/lbryio/lbry-redux) | JavaScript (Redux) | A common codebase for shared Redux logic between `lbry-desktop` and `lbry-android`. +| [spee.ch](https://github.com/lbryio/spee.ch) | JavaScript (Node, ReactJS, Express) | A web-based host for free LBRY content. Usable directly as a content link dump site or as a customized, standalone install. + +### Websites +| Domain | Language (Toolset) | What Is It +--- | --- | --- +| [lbry.tech](https://github.com/lbryio/lbry.tech) | JavaScript (Vue, Vuepress) | You're on it. +| [lbry.io](https://github.com/lbryio/lbry.io) | PHP (vanilla) | A website for LBRY end-users and creators. +| [lbry.fund](https://github.com/lbryio/lbry.fund) | HTML | A website for receiving funding from LBRY, Inc. + +### Auxiliary Services and Applications +| Domain | Language (Toolset) | What Is It +--- | --- | --- +| [chainquery](https://github.com/lbryio/chainquery) | Go | A utility for parsing, extracting, and updating the LBRY blockchain into structured SQL data. Used by several internal tools and useful for 3rd-party application development. +| [lighthouse](https://github.com/lbryio/lighthouse) | JavaScript, ElasticSearch | A search service for the LBRY blockchain. +| [wunderbot](https://github.com/lbryio/lbry-wunderbot) | JavaScript (Node) | A chatbot used by the LBRY discord. +| [block-explorer](https://github.com/lbryio/block-explorer) | PHP (vanilla) | A blockchain explorer for the LBRY blockchain. +| Add more? other tipbots... | + +## Coding + +Several hundred extremely good-looking, intelligent and popular people, as well as our CTO, have contributed to LBRY. Join us! + +Additionally, every technical employee of LBRY outside of the founding team started as a public contributor. + +### How To Contribute Code + +1. **Identify the component you want to work on**. LBRY has code bases in Python, JavaScript, PHP, and C++. See [Ecosystem Overview](#ecosystem-overview). +1. **Get set up.** Each repo has a `README.md` with clear instructions on how to get the repo up and running properly. Thanks, [Repository Standards](/repository-standards)! +1. **Find something to work on**. All actively developed repositories should have issues tagged "Good First Issues" specifically for new contributors. Some projects use a "level: n" tagging system, where lower numbers are simpler and higher numbers are more complex. Of course, you are also welcome to work on something not currently filed if you have your own idea! Additionally, all repositories have contact information for the maintainer if you have trouble finding an issue to work on. +1. **Abide coding and commit standards**. Any specific information necessary to know in this regard should be in the `README`. +1. **Commit early and ask questions**. Is an issue confusing? Please comment and say so! Not sure if you've got the right approach? Commit your code and we'll give feedback. Certain you're doing everything right? Commit it anyway. Once you commit, open a pull request. We encourage work-in-progress commits to let us know you're working on something and to facilitate feedback. +1. **Accept feedback and finish**. Most pull requests are reviewed within two business days. Once the repository maintainer has approved your contribution, it will get merged and we'll try really hard to give you LBC even if you say no. + +## Designing + +Web and application designers are requested to be able to work directly on CSS in the project they'd be contributing to. Please follow the [Coding](#coding) instructions for any website or application you want to improve. + +## Writing + +Most written content at LBRY is checked into source control. To improve content we've written: + +1. Identify which website or application it is in (see the [overview])(#ecosystem-overview). +1. Search for a quoted phrase of the content you want to change. +1. Edit the content via the GitHub interface and submit it as a pull request. + +## Testing + +If you want to contribute without getting directly into the code, one of the best ways you can contribute is testing. + +A number of our code bases (`lbrycrd`, `lbry`, all applications, more...) go through regular release cycles where new versions are shipped every several weeks. Testing pre-release versions is a great way to help us identify issues and ship bug-free code. + +For any projects that you want to be a tester on, "Watch" the repo on GitHub. You will receive an email with release notes whenever a release candidate is out. + +For even harder-core testing, you can follow the `README` instructions in a project and test against the `master` branch of a project at any time. Additionally, `master` builds for some projects are always available via [releases.lbry.io](http://releases.lbry.io). + +Opening well-specified issues against release candidates or master builds is extremely useful in helping us create quality software. + +**Note: that you perform testing at your own risk! If using release candidates and especially master builds, back up your wallet and be cautious.** + +## Raising Issues + +If you're about to raise an issue because you've found a problem with LBRY, or you'd like to request a new feature, or for any other reason, please read this first. + +GitHub is the preferred channel for [bug reports](#reporting-a-bug) and [feature requests](#feature-requests). + +### Reporting a Bug + +A bug is a _demonstrable problem_ that is caused by the code in the repository. Good bug reports are extremely helpful - thank you! +Guidelines for bug reports: + +1. **Identify the correct repo**. See [ecosystem overview](#ecosystem-overview). While it's okay if you get this wrong, it's a big help to us if you get it right. +2. **Use the GitHub issue search** — check if the issue has already been reported (or fixed). Be sure to include closed tickets in your search. +3. **Follow the instructions** — When you open an issue inside of GitHub, each repo contains a template for how to create a good bug report. Please follow it! + +Well-specified bug reports save developers lots of time and are extremely appreciated, typically with an LBRY credit tip. + +### Feature Requests + +Feature requests are welcome. Before you submit one be sure to: + +1. **Identify the correct repo**. See [ecosystem overview](#ecosystem-overview). +2. **Use the Github Issues search** and check the feature hasn't already been requested. Be sure to include closed tickets. +3. **Consider whether it's feasible** for us to tackle this feature in the next 6-12 months. The LBRY team is currently stretched thin just adding basic functionality. If this is a nice to have rather than a need, it is probably more clutter than helpful. +4. **Make a strong case** to convince the project's leaders of the merits of this feature. Please provide as much detail and context as possible. This means explaining the use case and why it is likely to be common. + +## Tips + +We offer LBC as a thank you to anyone who contributes to LBRY. While we think we're fair-to-generous in our tips, tipping is more about recognizing and appreciating what you've given to the community than providing compensation. + +The amount of LBC is not typically specified in advance of a contribution, though if you're particularly motivated by this aspect you are welcome to ask. diff --git a/views/pages/home.js b/views/pages/home.js index dc509bb..ec849a7 100755 --- a/views/pages/home.js +++ b/views/pages/home.js @@ -5,12 +5,6 @@ // P A C K A G E const html = require("choo-async/html"); -// const local = require("app-root-path").require; - - -// const test = local("/views/partials/github-feed"); -// console.log(test()); -// test(); diff --git a/views/pages/overview.md b/views/pages/overview.md index 8527ce3..b79bca0 100644 --- a/views/pages/overview.md +++ b/views/pages/overview.md @@ -34,4 +34,4 @@ Learn more about how LBRY works from this ecosystem overview. - Explore live metadata and add your own blockchain entry on [the Tour](/tour). - Read the whitepaper, the API specification and other documentation in [Resources](/resources). -- Learn how to [contribute to LBRY](/contribute/) or [build your own application](/build). +- Learn how to [contribute to LBRY](/contribute) or [build your own application](/build). diff --git a/views/pages/page.js b/views/pages/page.js index 514ba14..82eb848 100644 --- a/views/pages/page.js +++ b/views/pages/page.js @@ -79,7 +79,7 @@ function partialFinder(markdownBody) { const regexToFindPartials = /<\w+\/>/g; const partials = markdownBody.match(regexToFindPartials); - if (!partials) return; + if (!partials) return markdownBody; for (const partial of partials) { const filename = decamelize(partial, "-").replace("<", "").replace("/>", ""); diff --git a/views/partials/feature-links.js b/views/partials/feature-links.js new file mode 100644 index 0000000..ab0c89f --- /dev/null +++ b/views/partials/feature-links.js @@ -0,0 +1,77 @@ +"use strict"; + + + +// P A C K A G E + +const dedent = require("dedent"); + +// V A R I A B L E + +const links = [ // TODO: Update images + { + href: "https://discord.gg/YjYbwhS", + image: "http://static.simpledesktops.com/static/images/sd-bg.png", + title: "Join us in chat" + }, + { + href: "https://lbry.io/developer", + image: "http://static.simpledesktops.com/uploads/desktops/2017/02/28/GeoShapes_2880x1800.png", + title: "Join the developer email list" + }, + { + href: "https://lbry.io/meet", + image: "http://static.simpledesktops.com/uploads/desktops/2016/12/05/Untitled-1-03-01.png", + title: "Host a meet-up" + }, + { + href: "https://www.reddit.com/r/lbry", + image: "http://static.simpledesktops.com/uploads/desktops/2016/08/28/Wind-Vector-resize.png", + title: "Reddit" + }, + { + href: "https://lbry.fund", + image: "http://static.simpledesktops.com/uploads/desktops/2015/08/20/Sunset_by_Banned.png", + title: "Get funding for a project" + }, + { + href: "https://lbry.io/join-us", + image: "http://static.simpledesktops.com/uploads/desktops/2015/09/25/Siri.png", + title: "Get a job" + }, + { + href: "https://lbry.io/twitter", + title: "Twitter" + } +]; + + + +// E X P O R T + +module.exports = exports = () => { + const renderedLinks = []; + let imageLink = ""; + + for (const link of links) { + if (link.image) imageLink = `${link.title}`; + + renderedLinks.push(` + + `); + } + + return dedent` + + `; +};