2018-04-20 15:17:16 +02:00
< template >
2018-05-24 00:19:09 +02:00
< main v -bind : class = "{ 'home': $page.frontmatter.home, 'documentation': $page.frontmatter.documentation, 'contributing': $page.frontmatter.contributing }" >
2018-05-02 00:45:31 +02:00
< nav class = "navigation" >
< div class = "inner-wrap" >
2018-05-07 11:01:37 +02:00
< router-link class = "navigation__item" to = "/" title = "Go back home" > LBRY < / router-link >
2018-05-17 21:09:18 +02:00
2018-05-23 02:29:54 +02:00
< router-link class = "navigation__item" to = "/overview" title = "LBRY overview" > Overview < / router-link >
2018-05-17 21:09:18 +02:00
< router-link class = "navigation__item" to = "/resources" title = "View LBRY resources" > Resources < / router-link >
2018-05-23 02:29:54 +02:00
< router-link class = "navigation__item" to = "/contribute" title = "Contribute to LBRY" > Contribute < / router-link >
2018-05-23 15:24:18 +02:00
< router-link class = "navigation__item" to = "/build" title = "View LBRY resources" > Build < / router-link >
2018-05-23 02:29:54 +02:00
< router-link class = "navigation__item" to = "/community" title = "Interact with LBRY" > Community < / router-link >
2018-05-02 00:45:31 +02:00
< / div >
< / nav >
2018-04-20 15:17:16 +02:00
2018-05-07 11:01:37 +02:00
< template v-if = "$page.frontmatter.home" >
2018-05-08 21:07:47 +02:00
< div >
2018-05-21 22:26:15 +02:00
< section class = "hero" >
2018-05-08 21:07:47 +02:00
< div >
< h2 >
LBRY is a free , open , and community - run digital marketplace . < br / >
Build the future of content freedom .
< / h2 >
< / div >
< / section >
2018-05-21 22:26:15 +02:00
< section class = "features" >
2018-05-08 21:07:47 +02:00
< ul class = "home__features" >
< li class = "home__feature" >
< p class = "home__feature__title" > < strong > New to LBRY ? < / strong > < / p >
< p class = "home__feature__description" > Learn how LBRY works in 3 easy steps < / p >
2018-05-24 00:19:09 +02:00
< a class = "home__feature__cta" href = "/hook.html" > Try the welcome guide < / a >
2018-05-08 21:07:47 +02:00
< / li >
< li class = "home__feature" >
< p class = "home__feature__title" > < strong > Want to contribute ? < / strong > < / p >
2018-05-24 00:19:09 +02:00
< p class = "home__feature__description" > Help make LBRY better ! < / p >
< a class = "home__feature__cta" href = "/contribute" > Explore our repos < / a >
2018-05-08 21:07:47 +02:00
< / li >
2018-05-07 11:01:37 +02:00
< / ul >
2018-05-08 21:07:47 +02:00
< / section >
2018-05-21 22:26:15 +02:00
< section class = "intro" >
2018-05-08 21:07:47 +02:00
< div class = "inner-wrap" >
< h3 > Intro / Overview < / h3 >
< p > What if anyone in the world could publish a piece of digital content , anyone else in the world could access it , for free or for payment , and that entire system worked end - to - end without any centralized authority or point of control ? < / p >
< p > That ' s the idea behind LBRY . To create a market for accessing and publishing information that is global , decentralized , robust , optimal and complete . < / p >
2018-05-24 00:19:09 +02:00
< a class = "cta" href = "/overview" > Learn more about our mission < / a >
2018-05-08 21:07:47 +02:00
< / div >
< / section >
2018-05-21 22:26:15 +02:00
< section class = "docs" >
2018-05-08 21:07:47 +02:00
< div class = "inner-wrap" >
< h3 > Documentation < / h3 >
< p > LBRY has enough moving parts to warrant comprehensive documentation . Whether you are interested in learning the technical details of our technology stack or you want to integrate LBRY into your life , you will find everything you need in our docs . < / p >
2018-05-24 00:19:09 +02:00
< a class = "cta" href = "/resources" > Explore our documentation < / a >
2018-05-08 21:07:47 +02:00
< / div >
< / section >
2018-05-18 07:39:36 +02:00
< GithubFeed > < / GithubFeed >
2018-05-21 22:26:15 +02:00
< section class = "contribute" >
2018-05-08 21:07:47 +02:00
< div class = "inner-wrap" >
< h3 > Contribute < / h3 >
< p > Interested in progressing content freedom ? Awesome ! No matter your experience or skill level , < strong > you < / strong > can make a difference . < / p >
< ul >
< li > < a href = "" > Raising Issues < / a > < / li >
< li > < a href = "" > Coding < / a > < / li >
< li > < a href = "" > Creative < / a > < / li >
< li > < a href = "" > Translating < / a > < / li >
< li > < a href = "" > Testing < / a > < / li >
< / ul >
< / div >
< / section >
2018-05-21 22:26:15 +02:00
< section class = "develop" >
2018-05-08 21:07:47 +02:00
< div class = "inner-wrap" >
< h3 > Development < / h3 >
< p > Like a bit of documentation but would prefer to jump in and make your mark on the blockchain ? Perhaps add cats to it ? < / p >
< a class = "cta" href = "" > Learn the LBRY API < / a >
< / div >
< / section >
2018-05-21 22:26:15 +02:00
< section class = "community" >
2018-05-08 21:07:47 +02:00
< div class = "inner-wrap" >
< h3 > Community < / h3 >
< p > Hang out with us ! We have a vibrant community of lbryians and would be < em > delighted < / em > if you joined us . < / p >
< ul >
< li > < a href = "//discord.gg/YjYbwhS" > Discord < / a > < / li >
< li > < a href = "//www.reddit.com/r/lbry" > Reddit < / a > < / li >
< li > < a href = "//chat.lbry.io" > Slack < / a > < / li >
< / ul >
< / div >
< / section >
< / div >
2018-05-07 11:01:37 +02:00
< / template >
2018-05-21 22:26:15 +02:00
< template v -else -if = " $ page.frontmatter.documentation " >
< div >
< article class = "page" itemtype = "http://schema.org/BlogPosting" >
< header class = "page__header" >
< div class = "page__header-wrap" >
< div class = "inner-wrap" >
< h2 class = "page__header__title" itemprop = "name headline" > { { $page . title } } < / h2 >
< / div >
< / div >
< / header >
< section class = "page__content" itemprop = "articleBody" >
< div class = "inner-wrap" >
2018-05-22 08:04:46 +02:00
< h1 > Whitepaper < / h1 >
< h4 > LBRY : A Decentralized Digital Content Marketplace < / h4 >
< p > Some info here about the whitepaper and < a href = "/whitepaper.html" > a link < / a > . < / p >
< h1 > API Specification < / h1 >
< h4 > All of our APIs , in one place < / h4 >
2018-05-22 21:57:34 +02:00
< h2 > chainquery < / h2 >
2018-05-22 08:04:46 +02:00
< ul >
2018-05-22 21:57:34 +02:00
< li > < a href = "https://github.com/lbryio/chainquery" > Codebase < / a > < / li >
< li > < a href = "" > OpenAPI signature < / a > < / li >
< / ul >
< h2 > lbry < / h2 >
< ul >
< li > < a href = "https://lbry.io/api" > Codebase < / a > < / li >
2018-05-23 02:29:54 +02:00
< li > < a href = "/resources/lbry.html" > OpenAPI signature < / a > < / li >
2018-05-22 21:57:34 +02:00
< / ul >
< h2 > lbrycrd < / h2 >
< ul >
< li > < a href = "https://github.com/lbryio/lbrycrd" > Codebase < / a > < / li >
2018-05-23 02:29:54 +02:00
< li > < a href = "/resources/lbrycrd.html" > OpenAPI signature < / a > < / li >
2018-05-22 21:57:34 +02:00
< / ul >
< h2 > Lighthouse < / h2 >
< ul >
< li > < a href = "https://lbryio.github.io/lighthouse" > Codebase < / a > < / li >
< li > < a href = "" > OpenAPI signature < / a > < / li >
2018-05-22 08:04:46 +02:00
< / ul >
< h1 > The Front Desk < / h1 >
< h4 > Latest news and musings from the LBRY team < / h4 >
< ul class = "blog-posts" >
< li class = "blog-post" >
2018-05-24 18:45:15 +02:00
< a class = "blog-post__title" href = "https://lbry.io/news/we-are-hiring-our-boss" > We ' re Hiring Our Boss < / a >
2018-05-22 08:04:46 +02:00
< div class = "blog-post__meta" >
2018-05-24 18:45:15 +02:00
< span class = "blog-post__meta__date" > 2018 / 05 / 11 < / span >
< span class = "blog-post__meta__author" > Samuel Bryan < / span >
2018-05-22 08:04:46 +02:00
< / div >
< / li >
< li class = "blog-post" >
2018-05-24 18:45:15 +02:00
< a class = "blog-post__title" href = "https://lbry.io/news/lbry-development-community-update-apr-2018" > Development and Community Update April 2018 < / a >
2018-05-22 08:04:46 +02:00
< div class = "blog-post__meta" >
2018-05-24 18:45:15 +02:00
< span class = "blog-post__meta__date" > 2018 / 05 / 04 < / span >
< span class = "blog-post__meta__author" > Samuel Bryan < / span >
2018-05-22 08:04:46 +02:00
< / div >
< / li >
< li class = "blog-post" >
2018-05-24 18:45:15 +02:00
< a class = "blog-post__title" href = "https://lbry.io/news/imineblocks" > Hey , mine your own business ! < / a >
2018-05-22 08:04:46 +02:00
< div class = "blog-post__meta" >
2018-05-24 18:45:15 +02:00
< span class = "blog-post__meta__date" > 2018 / 04 / 05 < / span >
< span class = "blog-post__meta__author" > Reilly Smith < / span >
2018-05-22 08:04:46 +02:00
< / div >
< / li >
< li class = "blog-post" >
2018-05-24 18:45:15 +02:00
< a class = "blog-post__title" href = "https://lbry.io/news/lbry-development-community-update-mar-2018" > Development and Community Update March 2018 < / a >
2018-05-22 08:04:46 +02:00
< div class = "blog-post__meta" >
2018-05-24 18:45:15 +02:00
< span class = "blog-post__meta__date" > 2018 / 04 / 03 < / span >
< span class = "blog-post__meta__author" > Tom Zarebczan < / span >
2018-05-22 08:04:46 +02:00
< / div >
< / li >
< li class = "blog-post" >
2018-05-24 18:45:15 +02:00
< a class = "blog-post__title" href = "https://lbry.io/news/if-you-still-havent-found-what-youre-searching-for" > If you still haven 't found what you' re searching for ... < / a >
2018-05-22 08:04:46 +02:00
< div class = "blog-post__meta" >
2018-05-24 18:45:15 +02:00
< span class = "blog-post__meta__date" > 2018 / 03 / 22 < / span >
< span class = "blog-post__meta__author" > Brinck Slattery < / span >
2018-05-22 08:04:46 +02:00
< / div >
< / li >
< / ul >
2018-05-21 22:26:15 +02:00
< / div >
< / section >
< / article >
< / div >
< / template >
2018-05-11 20:01:39 +02:00
< template v -else -if = " $ page.path = = ' / hook.html ' " >
< Content > < / Content >
< / template >
2018-05-07 11:01:37 +02:00
< template v -else -if = " $ page.path = = ' / whitepaper.html ' " >
2018-05-18 07:39:36 +02:00
< Content > < / Content >
2018-05-07 11:01:37 +02:00
< / template >
< template v-else >
2018-05-08 21:07:47 +02:00
< div >
2018-05-08 22:55:33 +02:00
< article class = "page" itemtype = "http://schema.org/BlogPosting" >
< header class = "page__header" >
< div class = "page__header-wrap" >
< div class = "inner-wrap" >
< h2 class = "page__header__title" itemprop = "name headline" > { { $page . title } } < / h2 >
< / div >
< / div >
< / header >
< section class = "page__content" itemprop = "articleBody" >
< div class = "inner-wrap" >
< Content > < / Content >
< / div >
< / section >
< / article >
2018-05-08 21:07:47 +02:00
< / div >
2018-05-07 11:01:37 +02:00
< / template >
2018-04-20 15:17:16 +02:00
2018-05-17 14:30:17 +02:00
< section class = "email-subscribe-container" >
< EmailSubscribe > < / EmailSubscribe >
< / section >
2018-05-24 18:39:10 +02:00
< section class = "alert" id = "alert-beta" >
2018-05-09 21:32:33 +02:00
< div class = "inner-wrap" >
2018-05-24 18:39:10 +02:00
< p > < strong > This website is in beta . < / strong > We are actively developing this website to showcase and teach about the LBRY protocol . All things may not work as expected ! < br / > This website is open source and you can < a href = "https://github.com/lbryio/lbry.tech" target = "_blank" > contribute to it on Github < / a > . < / p >
< button id = "close-alert" > & times ; < / button >
2018-05-09 21:32:33 +02:00
< / div >
< / section >
2018-05-03 23:55:34 +02:00
< footer class = "footer" >
< div class = "inner-wrap" >
< ul >
2018-05-08 20:54:56 +02:00
< li >
2018-05-08 22:55:33 +02:00
< a href = "//lbry.io" title = "Rediscover content freedom" > ← LBRY . io < / a > |
2018-05-08 20:54:56 +02:00
< edit-link :path = "this.$page.path" > < / edit-link >
< / li >
2018-05-03 23:55:34 +02:00
2018-05-23 02:29:54 +02:00
< li > < router-link to = "/overview" title = "LBRY overview" > Overview < / router-link > < / li >
2018-05-17 21:09:18 +02:00
< li > < router-link to = "/resources" title = "View LBRY resources" > Resources < / router-link > < / li >
2018-05-23 02:29:54 +02:00
< li > < router-link to = "/contribute" title = "Contribute to LBRY" > Contribute < / router-link > < / li >
< li > < router-link to = "/community" title = "Interact with LBRY" > Community < / router-link > < / li >
2018-05-08 20:54:56 +02:00
< li > < a href = "/sitemap.html" > Sitemap < / a > < / li >
2018-05-03 23:55:34 +02:00
< li > MIT Licensed < / li >
< / ul >
< / div >
< / footer >
2018-05-07 11:01:37 +02:00
< / main >
2018-04-20 15:17:16 +02:00
< / template >
< script >
import Vue from 'vue'
import VueResource from 'vue-resource'
2018-05-12 12:18:55 +02:00
import VueMoment from 'vue-moment'
2018-04-20 15:17:16 +02:00
Vue . use ( VueResource )
2018-05-12 12:18:55 +02:00
Vue . use ( VueMoment )
2018-04-20 15:17:16 +02:00
export default {
data ( ) {
return {
2018-04-24 10:56:52 +02:00
}
} ,
created ( ) {
if ( this . $ssrContext ) {
this . $ssrContext . title = this . $title
this . $ssrContext . lang = this . $lang
this . $ssrContext . description = this . $page . description || this . $description
}
2018-04-20 15:17:16 +02:00
2018-04-24 10:56:52 +02:00
} ,
mounted ( ) {
// update title / meta tags
this . currentMetaTags = [ ]
const updateMeta = ( ) => {
document . title = this . $title
document . documentElement . lang = this . $lang
const meta = [
{
name : 'description' ,
content : this . $description
} ,
... ( this . $page . frontmatter . meta || [ ] )
]
this . currentMetaTags = updateMetaTags ( meta , this . currentMetaTags )
2018-04-20 15:17:16 +02:00
}
2018-04-24 10:56:52 +02:00
this . $watch ( '$page' , updateMeta )
updateMeta ( )
2018-05-24 18:39:10 +02:00
2018-05-24 18:45:15 +02:00
if ( // Toggle beta message
2018-05-24 18:39:10 +02:00
localStorage . getItem ( "hide lbry alert" ) &&
localStorage . getItem ( "hide lbry alert" ) === "true" // cannot set Booleans for some reason
) {
document . querySelector ( "#alert-beta" ) . style . display = "none" ;
}
document . querySelector ( "#close-alert" ) . onclick = function ( ) {
localStorage . setItem ( "hide lbry alert" , true ) ;
document . querySelector ( "#alert-beta" ) . style . display = "none" ;
} ;
2018-04-24 10:56:52 +02:00
} ,
beforeDestroy ( ) {
updateMetaTags ( null , this . currentMetaTags )
2018-04-20 15:17:16 +02:00
}
}
2018-04-24 10:56:52 +02:00
function updateMetaTags ( meta , current ) {
if ( current ) {
current . forEach ( c => {
document . head . removeChild ( c )
} )
}
if ( meta ) {
return meta . map ( m => {
const tag = document . createElement ( 'meta' )
Object . keys ( m ) . forEach ( key => {
tag . setAttribute ( key , m [ key ] )
} )
document . head . appendChild ( tag )
return tag
} )
}
}
2018-04-20 15:17:16 +02:00
< / script >
< style lang = "scss" >
2018-05-02 00:45:31 +02:00
@ import "../scss/type/karla" ;
@ import "../scss/init/colors" ;
@ import "../scss/init/base" ;
@ import "../scss/init/extends" ;
@ import "../scss/init/mixins" ;
@ import "../scss/layout" ;
@ import "../scss/pages/home" ;
2018-05-08 22:55:33 +02:00
@ import "../scss/pages/page" ;
2018-05-24 00:19:09 +02:00
@ import "../scss/pages/contributing" ;
2018-05-22 08:04:46 +02:00
@ import "../scss/pages/documentation" ;
2018-05-02 00:45:31 +02:00
@ import "../scss/partials/navigation" ;
2018-05-03 23:55:34 +02:00
@ import "../scss/partials/footer" ;
2018-04-26 11:19:37 +02:00
< / style >