Merge remote-tracking branch 'origin/master' into bounties

This commit is contained in:
Jeremy Kauffman 2016-08-03 06:59:24 -04:00
commit 369d72a9f5
47 changed files with 766 additions and 188 deletions

View file

@ -24,7 +24,7 @@ class Autoloader
public static function reload($reload = false)
{
$key = 'lbry-classes-4';
$key = 'lbry-classes-5';
if (ini_get('apc.enabled') && !$reload)
{
$classes = apc_fetch($key, $success);

View file

@ -83,6 +83,10 @@ class Controller
case '/lbry-linux-latest.deb':
case '/dl/lbry_setup.sh':
return static::redirect('/get', 301);
case '/get/lbry.dmg':
return static::redirect(DownloadActions::getDownloadUrl(DownloadActions::OS_OSX));
case '/get/lbry.deb':
return static::redirect(DownloadActions::getDownloadUrl(DownloadActions::OS_LINUX));
case '/art':
return static::redirect('/what', 301);
case '/why':

View file

@ -18,10 +18,15 @@ class Session
public static function init()
{
session_start([
'cookie_secure' => IS_PRODUCTION, // cookie over ssl only
'cookie_httponly' => true, // no js access
]);
ini_set('session.cookie_secure', IS_PRODUCTION); // send cookie over ssl only
ini_set('session.cookie_httponly', true); // no js access to cookies
session_start();
if (!static::get('secure_and_httponly_set'))
{
session_regenerate_id(); // ensure that old cookies get new settings
}
static::set('secure_and_httponly_set', true);
}
public static function get($key, $default = null)

View file

@ -32,6 +32,7 @@ class ContentActions extends Actions
'wallet' => 'The LBRY Wallet',
'hosting' => 'Hosting Content',
'mining' => 'Mining LBC',
'policy' => 'Policies',
'developer' => 'Developers',
'other' => 'Other Questions',
];

View file

@ -22,11 +22,12 @@ class DownloadActions extends Actions
public static function executeGet()
{
$email = static::param('e');
$user = [];
if ($email)
{
$emailIsValid = filter_var($email, FILTER_VALIDATE_EMAIL);
$user = [];
if ($emailIsValid)
{
$user = Prefinery::findUser($email);
@ -187,7 +188,7 @@ class DownloadActions extends Actions
return null;
}
protected static function getDownloadUrl($os, $useCache = true)
public static function getDownloadUrl($os, $useCache = true)
{
if (!in_array($os, array_keys(static::getOses())))
{

229
data/i18n/en.yaml Normal file
View file

@ -0,0 +1,229 @@
# This file contains the text of the LBRY website, organized with labels.
# Text segments are organized hierarchically. For any given language, the user's
# browser will look at the corresponding language file for the appropriate label
# and render the segment in the correct language.
# For example, global.tagline renders as "Play, Share, Earn" if the user's langu
# age settings are set to English, and the same label renders as "Assista, Compa
# rtilhe, Ganhe" if the user's settings are set to Portuguese.
#
#
description:
allowed: Download/install the latest version of LBRY for %os%.
faq: Frequently asked questions about LBRY.
get: Download/install the latest version of LBRY.
home: Meet LBRY, a content sharing and publishing platform that is decentralized and owned by its users.
join: Follow along and receive updates about LBRY via email.
learn: Learn more about LBRY, the technology that puts you back in control of the internet.
news: Access information and content in ways you never dreamed possible. Earn credits for your unused bandwidth and diskspace.
no-os: Download or install the latest version of LBRY.
press: LBRY Press Kit. Information and media for those who want to report on LBRY.
publish: Publish your content on the world's first platform that leaves creators in control.
team: LBRY is founded by a team passionate about connecting producers and consumers and breaking down broken models. Learn more about them.
test: WHAT WHAT
what: Access information and content in ways you never dreamed possible. Earn credits for your unused bandwidth and diskspace.
download:
beta: This is still a beta.
creator: Creator? Skip the Line
credits: Claim Credits
curse: While LBRY is now live, it may crash, work unreliably, or inadvertently put a curse on your family for generations (a common programming error). Use at your own risk.
deb: Download .deb
earn1: Earn
# this many credits
earn2: for completing the survey below after install.
email1: After download, use email
email2: and the code you received via email to receive your credits.
email3: If you received a printed code and it does not work after you download, check your email for a different code.
for-os: LBRY for %os%
github: Or, view the source and compile instructions on
osx: Arrival is expected by July 5.
osx2: Download for OS X
other: Other Systems
popular: Popular publishers can earn $1,000 and early access for publishing via LBRY.
select: Select an OS
signup: LBRY is currently in invite only mode. Enter your email to join the waitlist, or your email and invite code for access.
unavailable: LBRY is not yet out on your platform. You will receive an email as we expand LBRY to your preferred platform.
verb: Download
windows: Arrival is expected this month.
works: "Works with Ubuntu, Debian, or any distro with <code>apt</code> or <code>dpkg</code>."
email:
address: Email
code: Invite Code
disclaimer: You will receive 1-2 messages a month, only from LBRY, Inc. and only about LBRY. You can easily unsubscribe at any time.
go: Go
nocode: None, but I want in as soon as possible!
placeholder: someone@somewhere.com
subs: Subscribe
subscribe: Subscribe to our email list
updates: Get Updates
yescode: "Yes"
global:
get: Get LBRY
learn: Learn More
sentence: Watch, read and play in a decentralized digital library controlled by the community.
tagline: Play, Share, Earn.
learn:
100: LBRY in 100 Seconds
art: Art in the Internet Age
essay: Read the Essay
exchange: Bittrex Exchange
explore: Explore
explorer: Block Explorer
how: Learn how LBRY will forever improve how we create and share with one another.
join: Join Us
nerd: Nerd Out
rebels: Learn more about the relentless rebels changing the internet.
team: About The Team
nav:
get: Get
home: Home
learn: Learn
news: News
news:
# It is worth noting other languages use different date formats.
author: Author
desk: The Front Desk
musings: News and musings from the LBRY team.
next: Next
prev: Previous
page:
faq:
back: Back to FAQ
header: Frequently Asked Questions
funnier: One day this will be funnier but today is not that day.
join: Join Email List
refer:
count0: Don't fret, we still like you.
count1: Great start! Thanks for sharing.
count2: Well done! Thank you.
count3: You are really doing your part! Amazing.
count4: You are an elite LBRY sharer. Thank you much!
# earn1 and earn2 form a sentence with a number between them:
earn1: Earn
# this many credits
earn2: "for each user who joins via this URL:"
# The whole sentence should make sense, even if each of these segments are n
# ot translated literally.
# This might be the case if required by the syntax of the translated languag
# e.
more: more on referrals
referone: <strong>1 LBRYian</strong> has joined because of you.
refermany: <strong>%count% LBRYians</strong> have joined because of you.
status: Your Sharing Status
zero: Zero
notfound: Page Not Found
team:
advisory: Advisory Team
alex:
parag1: Alex Tabarrok is Bartley J. Madden Chair in Economics at the <a href="http://mercatus.org/" class="link-primary">Mercatus Center</a> and a professor of economics at <a href="https://gmu.edu" class="link-primary">George Mason University</a>. He specializes in intellectual property reform, the effectiveness of markets, and the justice system.
parag2: Tabarrok is the coauthor, with Mercatus colleague Tyler Cowen, of the popular economics blog <a class="link-primary" href="http://www.marginalrevolution.com/"><em>Marginal Revolution</em></a> and cofounder of the online educational platform <a class="link-primary" href="http://mruniversity.com/">Marginal Revolution University</a>. He is the coauthor of <em><a href="http://www.amazon.com/Modern-Principles-Economics-Tyler-Cowen/dp/1429239972" class="link-primary">Modern Principles of Economics</a></em>, and author of the recent book <em><a href="http://www.amazon.com/Launching-The-Innovation-Renaissance-Market-ebook/dp/B006C1HX24" class="link-primary">Launching the Innovation Renaissance</em></a>. His articles have appeared in the<em> New York Times</em>, the<em> Washington Post</em>, the<em> Wall Street Journal</em>, and many other prestigious publications.
parag3: Tabarrok received his PhD in economics from <a class="link-primary" href="http://en.wikipedia.org/wiki/George_Mason_University" title="George Mason University">George Mason University</a>.
title: Economic Advisor
grin:
parag1: One of Alex's job titles is Wizard, so named because he can seemingly understand and utilize new technologies faster than they can be created.
parag2: Alex designs and manages scalable infrastructure solutions for SaaS firms, and is leveraging that experience to ensure LBRY's architecture is rock-solid.
parag3: Alex is the 3rd dual-degree graduate from RPI on this team, receiving degrees in Computer Science and Psychology. He is also an alumni of Stuyvesant High School.
title: Founder, Chief Infrastructure Officer
header: The Team
jack:
parag1: Jack's path to developer with LBRY is fairly typical() <a href="http://www.masslive.com/localbuzz/index.ssf/2009/06/actionreaction_how_one_teens_c.html" class="link-primary"> face sixty years in prison for innocent chemistry experiments</a>; lose interest in chemistry; <a href="https://www.youtube.com/watch?v=dXZi4UZjiiI&t=10" class="link-primary">program insane electric guitars for Kiss</a>; decide to revolutionize the internet.
parag2: Jack was one of the first people to discover LBRY and took to it so fast he may understand more about it than anyone.
parag3: Jack has Asperger's Syndrome and is actively involved in the autism community. He was a regular on Wrong Planet's Autism Talk TV, has appeared on <em>National Public Radio</em>, the <em>New York Times</em>, and presents around the country.
title: Founder, Core Developer
jeremy:
parag1: Jeremy knows how to build and scale a startup starting from day one. He knows how to deliver usable products and get those products in front of the right people.
parag2: Jeremy is responsible for the packing, presentation, and strategy of LBRY, as well as some design aspects. He is a longtime BitTorrent community enthusiast.
parag3: Jeremy founded <a href="//usetopscore.com" class="link-primary">TopScore</a>, a startup that processes millions of dollars monthly in event and activity registrations. He also attended <a href="//rpi.edu" class="link-primary">Rensselaer Polytechnic Institute</a>, where he received degrees in physics and computer science.
title: Founder, Chief Executive Officer
jimmy:
parag1: Jimmy is the second member of team LBRY to graduate from Rensselaer with degrees in computer science and physics. After, he found himself mired in government bureaucracy, spending too much time to get too little done.
parag2: Ready to work on a project he believed in, Jimmy left a national security programming job to start LBRY. Jimmy created the LBRY protocol and the first LBRY application.
parag3: Jimmy is a Bitcoin fanatic and has been since its early days. He has long been interested in the benefits of decentralization.
title: Founder, Chief Product Officer
josh:
parag1: Josh's combination of an MBA, strong analytical skills, programming skills, advertising expertise, and a perceptive insight to financial markets lead him to frequently bear the only title that can summarize such diverse wizardry () problem solver.
parag2: Josh has founded innovative financial companies (later acquired), run millions of dollars in Adwords campaigns, and been an early actor in other crypto projects. Josh's contributions to LBRY will be as diverse as his background.
title: Founder, Chief Operations & Growth Officer
michael:
parag1: Michael Huemer is Professor of Philosophy and Ethics at the <a href="//www.colorado.edu/" class="link-primary">University of Colorado</a>, where he has taught since 1998. He has published three single-author scholarly books (including <em><a href="http://www.amazon.com/Ethical-Intuitionism-Michael-Huemer/dp/0230573746" class="link-primary">Ethical Intuitionism</a></em>), one edited anthology, and more than fifty academic articles in epistemology, ethics, political philosophy, and metaphysics.
parag2: Huemer's articles have appeared in such journals as the <em>Philosophical Review</em>, <em>Mind</em>, the <em>Journal of Philosophy</em>, <em>Ethics</em>, and others. His materials are used as readings in classrooms nationwide. He received a B.A. from UC Berkeley and a Ph.D. from Rutgers University.
title: Ethical Advisor
mike:
parag1: With a humble BA in Philosophy from <a href="http://tulane.edu/" class="link-primary">Tulane University</a>, Mike has built a successful financial services marketing company, <a href="http://www.centinel.net/" class="link-primary">Centinel Consulting</a>. Centinel has helped clients grow from close to nothing to hundreds of thousands of visitors. He manages email marketing lists and social media accounts of the same size.
parag2: Mike has been involved with the Bitcoin community since the early days. His friends have launched companies like <a class="link-primary" href="//lamassu.is">Lamassu BTM</a>, <a class="link-primary" href="//coinapult.com">Coinapult</a>, <a class="link-primary" href="//shapeshift.io">Shapeshift</a>. Now, he's ready to change the world by harnessing blockchain technology. Mike heads up LBRY's marketing efforts and serves as an ambassador for our platform to media, investors, and the public.
title: Founder, Evangelist
people: LBRY is made possible by more people than we could ever list here. The founding team is listed below.
stephan:
parag1: Stephan Kinsella is a registered patent attorney and has over twenty years' experience in patent, intellectual property, and general commercial and corporate law. He is the founder and director of the <a href="http://c4sif.org/" class="link-primary">Center for the Study of Innovative Freedom</a>. Kinsella has published numerous articles and books on intellectual property law and legal topics including <a href="http://www.amazon.com/International-Investment-Political-Dispute-Resolution/dp/0379215225" class="link-primary"> <em>International Investment, Political Risk, and Dispute Resolution() A Practitioner's Guide</em> </a> and <a href="https://mises.org/library/against-intellectual-property-0" class="link-primary"><em>Against Intellectual Property</em></a>.
parag2: He received an LL.M. in international business law from <a href="http://www.kcl.ac.uk/" class="link-primary">King's College London</a>, a JD from the Paul M. Hebert Law Center at <a href="//lsu.edu" class="link-primary">Lousiana State University</a>, as well as BSEE and MSEE degrees. His websites are <a href="stephankinsella.com" class="link-primary">stephankinsella.com</a> and <a href="kinsellalaw.com" class="link-primary">kinsellalaw.com</a>
title: Legal Advisor
you:
advheader: Technical or Media Advisor
advtext: LBRY is seeking an extremely experienced technical advisor or an advisor with a strong background in the publishing and media space. If you're that person or have a suggestion, <a href="mailto:jeremy@lbry.io?subject=Advisor" class="link-primary">let us know</a>.
header: You
parag1: Do you think opening up information would facilitate human flourishing? Do you want to join a bright core of people with an obsession for upending broken systems? <a href="mailto:jeremy@lbry.io" class="link-primary">Say hello.</a>
title: Developer, Designer, Economist, Marketer, Investor, ???
zargham:
parag1: Michael has spent years managing, designing, and overseeing a data science team and framework used to make multi-million dollar purchasing decisions for a large media company. He brings knowledge of the media distribution business, software development expertise, business development experience, technical skill and a network of corporate contacts.
parag2: Michael's ability to rapidly adapt new skill sets makes him a technical and business pocketknife of our startup team. He has a PhD in systems engineering from the University of Pennsylvania, with a focus on distributed systems.
title: Founder, Chief Technical Officer
updates: Join our email list and receive updates about LBRY via email.
press:
advisory: Advisory Team
archive: Download Media Archive
includes: This archive includes all logos, screenshots, and bios, but does not include all text on this page.
info: Information and media for those who want to write or report on LBRY.
title: LBRY Press Kit
logos: Logos and Product Images
team: Founding Team
used: Any information or media on this page or in our kit can be re-used or otherwise published without attribution.
zip: Download ZIP
publish:
abundance: Experience digital abundance.
allow: Allowance for us to promote availability of your content.
control: Complete Creator Control
credits: Receive $1,000 worth of LBRY credits to hold, use or sell.
earn: "Earn $1,000 and join the next content epoch: the viewer and you, with nobody in between."
feature: Content featured on the LBRY landing screen seen by all users, as well as on our blog, social media, and 100,000 person email list, including links to your YouTube or other profiles.
hand: We hold your hand every step of the way while taking none of your revenue.
how: How It Works
keepl: Keep Learning
keepr: Keep Reading
loading: Loading...
mention: A single social media mention about your availability on LBRY.
next: What's Next?
now: Get In Now
onlbry: Publish on LBRY
open: Open, Trustworthy Technology
partner: Publishing Partnership
premier: Premier Partner status. Receive insider access and support for life.
profit: More, Better Profit
questions: Questions?
quote: You was inspired by the world; allow the world to be inspired by [you]
upload: Upload five videos via the LBRY interface (we'll help you out).
watch: Watch "LBRY in 100 Seconds", an introduction to the wonderful technology of LBRY.
what: What is LBRY?
why: Why LBRY?
youget: What You Get
yougive: What You Give
rss:
description: Recent news about LBRY
lang: en
title: LBRY News
social:
also: Also On
github: GitHub (source code)
header: Build With Us
humansheader: Humans
humanstext: Let's create a freer, more creative world.
robotsheader: Wanna Be Robots
robotstext: Make with us. All LBRY code is open source.
slack: Slack (chat)
tweets: Tweets by @LBRYio
title:
home: LBRY - Play, Share, Earn
join: Join LBRY Email List
learn: Learn About LBRY
publish: Publish
refer: Share and Earn
what: "Art in the Internet Age: An Introduction to LBRY"

89
data/i18n/pt.yaml Normal file
View file

@ -0,0 +1,89 @@
# I'm inserting ten lines of comments here just so that line numbers align with
# en.yaml.
#
#
#
#
#
#
#
global:
tagline: Assista, Compartilhe, Ganhe.
sentence: Acesse vídeo, texto e música numa biblioteca digital descentralizada e controlada pela comunidade.
title:
home: LBRY - Assista, Compartilhe, Ganhe
description:
home: Conheça o LBRY - a plataforma de publicação e compartilhamento de conteúdo descentralizada e controlada pelos usuários.
faq: Perguntas frequentes sobre o LBRY.
news: Acesse informação e conteúdo de maneiras que você nunca imaginou. Ganhe créditos pela conexão e espaço em disco que você não usa.
what: Acesse informação e conteúdo de maneiras que você nunca imaginou. Ganhe créditos pela conexão e espaço em disco que você não usa.
team: O LBRY foi fundado por uma equipe apaixonada por conectar produtores e consumidores e acabar com sistemas disfuncionais. Saiba mais sobre eles.
email:
disclaimer: Você receberá 1 ou 2 mensagens por mês, enviadas somente pela LBRY Inc. e somente sobre o LBRY. É fácil cancelar sua assinatura a qualquer momento.
page:
home:
primary_button: Baixe o LBRY
learn_button: Saiba Mais
faq:
header: Perguntas Frequentes (FAQ)
team:
header: O Time
people: Muitas pessoas - mais do que nós conseguiríamos listar aqui - fazem o LBRY acontecer. Abaixo, o time de fundadores.
jeremy:
title: Fundador e Diretor Executivo (CEO)
parag1: Jeremy sabe fazer uma empresa <i>startup</i> crescer desde o primeiro dia. Ele sabe criar produtos fáceis de usar, e sabe levá-los às pessoas certas.
parag2: Sua atribuição é a apresentação, "embalagem" e estratégia do LBRY, junto com alguns aspectos do <i>design</i>. Ele é um fã de longa data da comunidade do BitTorrent.
parag3: Ele fundou a <a href="//usetopscore.com" class="link-primary">TopScore</a>, uma <i>startup</i> que processa inscrições para eventos e atividades no valor de milhões de dólares por mês. É formado pelo <a href="//rpi.edu" class="link-primary">Instituto Politécnico Rensselaer</a>, com diplomas em Física e Ciência da Computação.
zargham:
title: Fundador e Diretor Técnico (CTO)
parag1: Michael tem anos de experiência na gestão, projeto e supervisão do sistema e da equipe de análise de dados usados por uma grande empresa de mídia para tomar decisões de compra multimilionárias. Ele traz consigo seu conhecimento do ramo de distribuição de mídia, especialidade em desenvolvimento de <i>software</i>, experiência no desenvolvimento de negócios, habilidades técnicas e uma rede de contatos empresariais.
parag2: Sua capacidade de se adaptar rapidamente a novas habilidades o faz um canivete suíço da tecnologia e dos negócios na nossa <i>startup</i>. Ele é PhD em Engenharia de Sistemas pela Universidade da Pensilvânia, com concentração em sistemas distribuídos.
josh:
title: Fundador e Diretor de Operações e Crescimento (COO)
parag1: "Josh combina um MBA, forte capacidade analítica, conhecimento em programação, experiência em publicidade e uma afiada percepção de mercados financeiros; por isso, com frequência ele recebe o único título que resume toda a sua mágica: o de resolvedor de problemas."
parag2: Ele fundou empresas financeiras inovadoras (posteriormente vendidas), gerenciou campanhas milionárias no Adwords, e foi um pioneiro em outros projetos envolvendo criptografia. Suas contribuições ao LBRY serão tão diversas quanto seu histórico.
jimmy:
title: Fundador e Diretor de Produto (CPO)
parag1: Jimmy é o segundo membro do Time LBRY a estudar Ciência da Computação e Física no Instituto Rensselaer. Após se formar, ele se viu atolado em burocracia do governo, gastando tempo demais e realizando de menos.
parag2: Pronto para trabalhar num projeto no qual acredita, Jimmy deixou um emprego de programador na área de segurança nacional para dar início ao LBRY. Ele criou o protocolo e o primeiro aplicativo do LBRY.
parag3: Jimmy é fanático por Bitcoin desde os primeiros dias. Há tempos ele se interessa pelos benefícios da descentralização.
mike:
title: Fundador e Divulgador
parag1: Com um humilde Bacharelado em Filosofia pela <a href="http://tulane.edu/" class="link-primary">Universidade Tulane</a>, Mike construiu uma bem-sucedida empresa de <i>marketing</i> de serviços financeiros, a <a href="http://www.centinel.net/" class="link-primary">Centinel Consulting</a>. A Centinel ajuda seus clientes a crescer de quase nenhum até centenas de milhares de visitantes. Mike gerencia listas de <i>marketing</i> e contas de redes sociais da mesma envergadura.
parag2: Seu envolvimento com a comunidade do Bitcoin vem dos primeiros dias. Amigos de Mike criaram empresas como a <a class="link-primary" href="//lamassu.is">Lamassu BTM</a>, a <a class="link-primary" href="//coinapult.com">Coinapult</a> e o <a class="link-primary" href="//shapeshift.io">Shapeshift</a>. Agora, ele está pronto para mudar o mundo usando a tecnologia da <i>blockchain</i>. Mike comanda as atividades de <i>marketing</i> do LBRY e atua como embaixador de nossa plataforma para a mídia, investidores e o público.
grin:
title: Fundador e Diretor de Infraestrutura
parag1: Um dos cargos de Alex é "Bruxo", porque, ao que parece, ele consegue entender e usar novas tecnologias mais rápido do que elas são criadas.https://www.google.com/search?q=CIO&oq=CIO&aqs=chrome..69i57j0l5.429j0j7&sourceid=chrome&ie=UTF-8#q=expans%C3%ADvel
parag2: Ele projeta e gerencia soluções de infraestrutura expansíveis para empresas de <i>software</i> como serviço (Saas); sua experiência ajuda a garantir que a arquitetura do LBRY é firme como uma rocha.
parag3: Ele é o terceiro desta lista a ter dois diplomas do IPR - graduou-se em Ciência da Computação e Psicologia. No ensino médio, cursou o prestigioso Colégio Stuyvesant, em Nova York.
jack:
title: Fundador e Desenvolvedor Principal
parag1: O percurso de Jack até se tornar o desenvolvedor do LBRY é bastante comum () ele <a href="http://www.masslive.com/localbuzz/index.ssf/2009/06/actionreaction_how_one_teens_c.html" class="link-primary"> correu o risco de passar 60 anos na cadeia por inocentes experimentos químicos</a>; perdeu o interesse em química; <a href="https://www.youtube.com/watch?v=dXZi4UZjiiI&t=10" class="link-primary">programou guitarras animais para a banda Kiss</a>; e decidiu revolucionar a Internet.
parag2: Jack foi um dos primeiros a descobrir o LBRY e o absorveu tão rápido que ele pode ser quem mais entende do assunto.
parag3: Ele tem a síndrome de Asperger e se envolve ativamente na comunidade do autismo. Ele aparecia regularmente no programa 'Autism Talk TV', do <i>site</i> 'Wrong Planet', apareceu na <em>National Public Radio</em> e no <em>New York Times</em> e dá palestras por todo o país.
you:
header: Você
title: Desenvolvedor, <i>Designer</i>, Economista, Marqueteiro, Investidor, ???
parag1: Você acredita que facilitar o acesso à informação promoveria o desenvolvimento humano? Você quer entrar para um núcleo de pessoas brilhantes obcecadas por arrasar sistemas obsoletos? <a href="mailto:jeremy@lbry.io" class="link-primary">Diga oi.</a>
advheader: Conselheiro Técnico ou de MídiaA
advtext: O LBRY busca um conselheiro técnico extremamente experiente ou um consultor com uma trajetória robusta em mídia e editoração. Se você é essa pessoa, ou se tem uma sugestão, <a href="mailto:jeremy@lbry.io?subject=Advisor" class="link-primary">escreva para a gente</a>.
advisory: Time de Conselheiros
alex:
title: Conselheiro Econômico
parag1: Alex Tabarrok é o titular da Cátedra de Economia Bartley J. Madden no <a href="http://mercatus.org/" class="link-primary">Centro Mercatus</a> e professor de economia na <a href="https://gmu.edu" class="link-primary">Universidade George Mason</a>. Sua especialidade é a reforma da legislação de propriedade intelectual, a eficácia dos mercados e o sistema de justiça.
parag2: Junto com seu colega de Mercatus Tyler Cowen, ele é coautor do renomado blog de economia<a class="link-primary" href="http://www.marginalrevolution.com/"><em>Marginal Revolution</em></a> e cofundador da plataforma educacional digital <a class="link-primary" href="http://mruniversity.com/">Marginal Revolution University</a>. É coautor do livro <em><a href="http://www.amazon.com/Modern-Principles-Economics-Tyler-Cowen/dp/1429239972" class="link-primary">Modern Principles of Economics</a></em>, e autor do recente <em><a href="http://www.amazon.com/Launching-The-Innovation-Renaissance-Market-ebook/dp/B006C1HX24" class="link-primary">Launching the Innovation Renaissance</em></a>. Teve artigos publicados no <em> New York Times</em>, <em> Washington Post</em>, <em> Wall Street Journal</em> e muitos outros periódicos de prestígio.
parag3: Tabarrok é PhD em economia pela <a class="link-primary" href="http://en.wikipedia.org/wiki/George_Mason_University" title="George Mason University">Universidade George Mason</a>.
stephan:
title: Conselheiro Jurídico
parag1: Stephan Kinsella é advogado de patentes e tem mais de 20 anos de experiência em Direito das Patentes, propriedade intelectual, e Direito Comercial e Empresarial em geral. É fundador e diretor do <a href="http://c4sif.org/" class="link-primary">Centro de Estudos da Liberdade de Inovação</a>. Kinsella publicou numerosos artigos e livros sobre o Direito da propriedade intelectual e temas jurídicos, a exemplo de <a href="http://www.amazon.com/International-Investment-Political-Dispute-Resolution/dp/0379215225" class="link-primary"> <em>International Investment, Political Risk, and Dispute Resolution() A Practitioners Guide</em> </a> e <a href="https://mises.org/library/against-intellectual-property-0" class="link-primary"><em>Against Intellectual Property</em></a>.
parag2: Fez mestrado em Direito Comercial Internacional no <a href="http://www.kcl.ac.uk/" class="link-primary">Kings College London</a>, doutorado no <i>Paul M. Hebert Law Center</i> da <a href="//lsu.edu" class="link-primary">Universidade Estadual da Louisiana</a>, e diplomas de BSEE e MSEE. Seus <i>websites</i> são <a href="stephankinsella.com" class="link-primary">stephankinsella.com</a> e <a href="kinsellalaw.com" class="link-primary">kinsellalaw.com</a>
michael:
title: Conselheiro de Ética
parag1: Michael Huemer é Professor de Filosofia e Ética na <a href="//www.colorado.edu/" class="link-primary">Universidade do Colorado</a>, onde leciona desde 1998. É o autor de três obras acadêmicas (incluindo <em><a href="http://www.amazon.com/Ethical-Intuitionism-Michael-Huemer/dp/0230573746" class="link-primary">Ethical Intuitionism</a></em>), editor de uma antologia, e mais de 50 artigos acadêmicos sobre epistemologia, ética, filosofia política e metafísica.
parag2: Os artigos de Huemer foram publicados na <em>Philosophical Review</em>, <em>Mind</em>, <em>Journal of Philosophy</em>, <em>Ethics</em> e outros periódicos. Seus textos são lidos em salas de aula em todos os EUA. Formou-se na Universidade da Califórnia em Berkeley e obteve seu Ph.D. na Universidade Rutgers.
social:
tweets: Tweets de @LBRYio (em inglês)
download:
main:
title: LBRY para %os%

View file

@ -4,8 +4,8 @@
* i18n dummy we'll be happy to have later
*/
function __($msg, $args = [])
{
return strtr($msg, $args);
{
return strtr(i18n::translate($msg), $args);
}
/**
@ -15,9 +15,43 @@ function __($msg, $args = [])
*/
class i18n
{
public static function register() /*needed to trigger class include, presumably setup would happen here*/
protected static
$language = null,
$translations = [],
$country = null;
public static function register($culture = null) /*needed to trigger class include, presumably setup would happen here*/
{
setlocale(LC_MONETARY, 'en_US.UTF-8');
if ($culture === null)
{
$urlTokens = $_SERVER['HTTP_HOST'] ? explode('.', $_SERVER['HTTP_HOST']) : [];
$code = $urlTokens ? reset($urlTokens) : 'en';
switch($code)
{
case 'pt':
$culture = 'pt_PT'; break;
case 'en':
case 'www':
default:
$culture = 'en_US';
}
}
list($language, $country) = explode('_', $culture);
static::$language = $language;
static::$country = $country;
setlocale(LC_MONETARY, $culture . '.UTF-8');
}
public static function getLanguage()
{
return static::$language;
}
public static function getCountry()
{
return static::$country;
}
public static function formatCurrency($amount, $currency = 'USD')
@ -29,4 +63,31 @@ class i18n
{
return '<span class="formatted-credits">' . number_format($amount, 1) . ' LBC</span>';
}
public static function translate($token, $language = null)
{
$language = $language === null ? static::$language : $language;
if (!isset(static::$translations[$language]))
{
$path = ROOT_DIR . '/data/i18n/' . $language . '.yaml';
static::$translations[$language] = file_exists($path) ? Spyc::YAMLLoadString(file_get_contents($path)) : [];
}
$scope = static::$translations[$language];
foreach(explode('.', $token) as $level)
{
if (isset($scope[$level]))
{
$scope = $scope[$level];
}
else
{
$scope = [];
}
}
if (!$scope && $language != 'en')
{
return static::translate($token, 'en');
}
return $scope ?: $token;
}
}

View file

@ -0,0 +1,84 @@
---
title: The ClaimTrie Implementation in LBRY
category: developer
---
## Introduction
This document describes the implementation detail of the ClaimTrie in LBRY. The ClaimTrie is the data structure which LBRY uses to store claims to names. It uses a [Trie](https://en.wikipedia.org/wiki/Trie) to efficiently store all claimed names, which can then be hashed the same way a [Merkle Tree](https://en.wikipedia.org/wiki/Merkle_tree) is hashed. The root hash of the ClaimTrie is stored in the blockheader of each LBRY block, enabling nodes in the LBRY network to efficiently and securely validate the state of the ClaimTrie.
Bids to claim a name must win out against other claims for the same name, before they can be inserted into the ClaimTrie. The short summary is that the bid with the most LBRY credits assigned to it will win the right to claim a name, but the implementation detail is more involved and this is what we aim to cover in this document. Bids to claim a name have four properties tied to it :
1. *Name* : The name is a human readable address and is the property that the bids compete to obtain.
2. *Value* : The values is the data that is attached to the name.
3. *Quantity* : The quantity is the number of LBRY credits assigned to the bid.
4. *Claim Id* : A unique ID used to identify the bid.
There are also three different bid types : claim, update, and support.
1. *Claim*: A claim represent new bids for a name. If a user want to make a claim to a brand new name, or submit a competing claim to an existing name, this bid type is used.
2. *Support*: A support adds to the total quantity of credits assigned to any bid by referring to a bid's Claim Id. A support bid can be made by anyone on any bid. It does not have its own Value or its own Claim Id, but it does contain the Claim Id of the bid that it is supporting.
3. *Update*: An update modifies the value and the quantity for a pre-existing claim without changing the Claim Id or the name that it is bidding on. Since the Claim Id of the original bid is not changed, an updated bid will still retain all the supports attached to the original bid.
## ClaimTrie Bid States
This section describes how bids are processed by the ClaimTrie in order to determine which bids have won the rights to claim a particular name. There are 6 states a bid can be in, and they are explained below.
1. *Not accepted*: This bid is in a transaction which has not yet been included in a block which has been included in the blockchain.
2. *Accepted*: This bid has been accepted into the blockchain. this happens when the transaction containing the txout which contains the bid is included in a block which is included in the blockchain.
3. *Active*: This bid is capable of controlling a name. Active bids must be in the “accepted” state and not “expired” or “spent”. Bids are “active” when either of the two conditions below are met:
* The current block height exceeds the height of the block at which the bid became accepted plus the activation delay for the name as calculated at either the block at which the bid was accepted or any block after the bid was accepted. The activation delay is calculated as follows:
* If, immediately before this block was included in the blockchain, there were no active bids for the name and therefore no controlling bids, the delay is 0.
* If there is a “controlling” bid for the name: Delay = (HeightB - HeightA) / 32
* HeightA = the most recent height at which the bid controlling the name changed
* HeightB = the current height
* Maximum delay is 7 days of blocks at 2.5 min/block (or 4032 blocks) . Thus maximum delay can be reached in 224 (7x32) days.
* The bids Claim Id matches the Claim Id of the bid which was the controlling bid immediately before the block containing this bid was included in the blockchain. In other words, it is either an update to the previous controlling bid, or an update to an update to the previous controlling bid if the bid was updated twice in this block, etc
4. *Controlling*: This bid currently controls the name. When clients ask which bid controls the name as of the current block, this is the bid that will be returned. Must be in the “active” state and only one bid for any name may be in this state. A support can not be in the “controlling” state. To determine which “active” bid is the “controlling” bid for each name:
* Add the value of each active bid to the value of all active supports for that bid, and take whichever is greatest.
* If the bid with the greatest amount does not have the same claimID as the bid which was controlling prior to including the current block, change the delay for the name as of the current block to 0, redetermine which bids and supports should be active, and then perform the previous calculation again.
* At this point, the bid calculated to have the greatest amount behind it is the controlling bid as of this block
5. *Spent*: A transaction has been included in the blockchain which spends the txout which contains the bid
Must be in the accepted state
6. *Expired*: All bids expire regardless of what state they are in when the current block height exceeds the height of the block at which the bid was accepted plus 52416 blocks, or 91 days ( currently this is set to 262974 blocks, or 456 days, which will be fixed in a future hard fork ).
## ClaimTrie Transaction Implementation
This section describes how the three ClaimTrie bid types are implemented as transactions on the blockchain. Readers should have prior knowledge of Bitcoin [transactions](https://en.bitcoin.it/wiki/Transaction) and the Bitcoin [scripting system](https://en.bitcoin.it/wiki/Script). LBRY supports three op codes that do not exist in Bitcoin: OP_CLAIM_NAME, OP_SUPPORT_CLAIM, and OP_UPDATE_CLAIM (in Bitcoin they are respectively OP_NOP6, OP_NOP7, and OP_NOP8). Each op code will push a zero on to the execution stack, and in addition will trigger the ClaimTrie to perform calculations necessary for each bid type. Below are the three supported transactions scripts using these op codes.
```python
OP_CLAIM_NAME <Name> <Value> OP_2DROP OP_DROP [script pubkey]
OP_UPDATE_CLAIM <Name> <ClaimId> <Value> OP_2DROP OP_2DROP [script pubkey]
OP_SUPPORT_CLAIM <Name> <ClaimId> OP_2DROP OP_DROP [script pubkey]
```
[script pubkey] can be any valid Bitcoin payout script, thus it can be something like a standard “pay to pubkey” script to a user controlled address. Also note that the zero pushed onto the stack by the ClaimTrie op codes, and the ClaimTrie vectors, are all dropped by the preceding OP_2DROP and OP_DROP. This means that ClaimTrie transactions exist as prefixes to Bitcoin payout scripts and can be spent in the same way as is expected in Bitcoin.
For example, a claim transaction using a pay to pubkey script will have the below full payout script. Let's also say that this claim is for the name “Fruit” to be set to value “Apple”.
```python
OP_CLAIM_NAME <Fruit> <Apple> OP_2DROP OP_DROP OP_DUP OP_HASH160 <LBRY_Address_A> OP_EQUALVERIFY OP_CHECKSIG
```
Like any standard Bitcoin transaction output script, it will be associated with a transaction hash, and a transaction output index. The transaction hash and transaction output index is concatenated and hashed using RIPEMD-160 to create the Claim Id for this claim. For the example above, let's say it has a Claim Id X. A support for this bid will have the below full payout script.
```python
OP_SUPPORT_CLAIM <Apple> <X> OP_2DROP OP_DROP OP_DUP OP_HASH160 <LBRY_Address_B> OP_EQUALVERIFY OP_CHECKSIG
```
And now let's say we want to update the original claim to change the value to “Banana”. An update transaction has a special requirement that it must spend the existing claim that it wishes to update in its redeem script. Otherwise, it will be considered invalid and will not make it into the ClaimTrie. Thus it will have the below redeem script to spend the claim created to set name “Fruit” to “Apple”. Note that this is identical to the standard way of redeeming a “pay to pubkey” script in Bitcoin.
```python
<Signature> <Public_key_for_LBRY_Address_A>
```
And the payout script for the update transaction is below.
```python
OP_UPDATE_CLAIM <Fruit> <X> <Banana> OP_2DROP OP_2DROP OP_DUP OP_HASH160 <LBRY_Address_C> OP_EQUALVERIFY OP_CHECKSIG
```

View file

@ -0,0 +1,71 @@
---
title: LBRY Credit Policy
category: policy
---
LBRY, Inc. controls a significant number of LBRY credits (LBC). At the inception of the blockchain, it was 400,000,000 LBC.
This document outlines LBRY, Inc. policies, disclosures and intentions in administering those credits. Its purpose is to ensure we operate forthrightly and in the best interests of the LBRY community.
## Credit Overview
The initial 400m credits are broken down as follows:
| Name | Amount | Purpose | Wallet (initial) |
| ---- | ------ | ---------------- | -------- |
| Community | 200m | Reward early adopters, new users, and community contributions. | [link](https://explorer.lbry.io/address/rMT5Sg8SyFP3ax2PRaweRCRZoMeYw4znEi) |
| Operational | 100m | To allow LBRY, Inc. to function and profit. | [link](https://explorer.lbry.io/address/rEQKyb7nd7UUGyEEn5xRkk1fgXdTCf2ZCg) |
| Institutional | 100m | For strategic partnerships or assistance with charities, non-profits, or other institutions. | [link](https://explorer.lbry.io/address/r9DarmxyPjWkF7ocyxMzaNZN3a9gJvNTZJ) |
## Quartery Reports
LBRY issues a quarterly report every 3 months in January, April, July, and October, covering the preceding 3 full months. These reports outline the corresponding transaction history as the current state of LBRY, Inc.'s balance sheet and anticipated future expenditures.
| Date | Report | Balance Sheet |
| ---- | ------ | ------------ |
| July 2016 | [report](/faq/quarterly-report-july-2016) | [sheet](https://docs.google.com/spreadsheets/d/1r7puheE4Ut4c08R47uCDZbDdMHAoQa0WDqw470gjMIw/edit#gid=0) |
Specific details of historic, ongoing, and anticipated fund expenditures can be seen in the most recent quarterly report.
## Community Fund
The Community Fund is 200m LBC reserved for spreading usage and adoption of the LBRY protocol. The more people that use and love LBRY, the stronger the LBRY network is.
At a high-level, this fund will be used for the following purposes:
- Seeding consumers with initial credits
- Recruiting producers to use LBRY
- Encouraging all users to share LBRY and invite friends
- Rewarding community contributors
We expect a dispersal of this fund lasting a period a minimum of 5 years and likely closer to 10.
## Operational Fund
The Operational Fund is 100m LBC reserved for LBRY, Inc. itself.
LBRY, Inc. reserves the rights to do whatever it wants with these credits at any time, to be deployed in the best interests of LBRY, Inc.
However, no one believes in the LBRY protocol more, or has more incentive for its success, than LBRY, Inc. We believe LBRY can be an world-altering technology and as such our intentions are to minimize the expenditure of these credits until we've achieved that reality.
Minimal engagement in the market is especially necessary throughout stages of low liquidity, when any action has disproportionate impact.
Should LBRY make placements from this fund, it will seek long-term engagements and commitments that align interests with LBRY, Inc. and minimize market influence.
## Institutional Fund
The Institutional Fund is 100m LBC reserved for the formation of institutional partnerships and benefiting organizations of need, and institutional partnerships, grants, donations, and other ways of strengthening relationships with organizations of need or like-mindedness.
Sample usages of this fund include:
- Loaning or giving to non-profit or educational publishers to maintain a namespace or make content available
- Partnering with charities or other non-governmental organizations with similar interests to LBRY
- Granting to organizations in need
- Establishing separate entities related to LBRY Inc. (e.g. a non-profit to manage the protocol)
- Strategic partnerships or affiliations with other institutions
LBRY, Inc. anticipates a dispersion period for these tokens significantly exceeding the administration of the community fund. It has no plans to utilize these credits until achieving more community growth and drafting specific programs for participation.
## More Details
For specific details of fund utilization, check the most recent quarterly report.

View file

@ -0,0 +1,36 @@
---
title: "Quarterly Credit Report: July 2016"
category: policy
---
## Summary
This is LBRY's first quarterly report. We enter with zero credits expended. We anticipate zero institutional expenditures, zero or limited organizational expenditures, and light community expenditures.
## Current Balance Sheet
[Available here](https://docs.google.com/spreadsheets/d/1r7puheE4Ut4c08R47uCDZbDdMHAoQa0WDqw470gjMIw/edit#gid=0)
## Overview By Fund
### Community Fund
Currently, we are engaging in the following programs:
- 3-20 LBC for users invited to participate in the beta. This program is expected to continue well through this quarter.
- 1-5 LBC for referrals. This program is expected to continue in parallel with above.
- Up to 2000LBC for certain publishers to join LBRY. This program is new and experimental and subject to revision.
- A [bounty program](http://lbry.io/bounty) with awards varying from small awards to 10,000+ LBC. This program is new and experimental.
- Tipping on our community chat for user contribution and participation. This program is expected to continue.
We have allocated approximately 2,000,000 LBC across these categories, but do not anticipate actually awarding this much.
### Operational Fund
We anticipate most expenses continuing to be met via existing assets.
Depending on fundraising over the next 3 months, we may entertain private placements via structures that align with the long-term interest in LBRY and minimize market impact.
### Institutional Fund
We anticipate zero expenditures from this fund this quarter.

View file

@ -1,5 +1,5 @@
---
title: How does the referral program work?
title: How does the referral and waitlist program work?
category: getstarted
---
@ -9,6 +9,18 @@ You can earn credits and move up the LBRY waitlist for referring others to use L
The more LBRYians you refer, the sooner you'll be granted access and the more credits you'll earn.
### How long will I be on the list? How frequently do you take people off?
We anticipate taking anywhere from several hundreds to several thousand off each week. It depends on how development continues.
Your wait time will depend on how many you invite and how long you've been on the list. See below.
### How do you determine who to take off the list?
Your waitlist score is the sum of number of weeks on the list and number of people invited. We take the people with the highest scores every time we do another invite wave.
Currently, invites outside of English speaking countries are paused pending better international support.
### How many credits do I get?
The current referral reward as well as the number of people you have referred can be seen on the [Get](/get) page.
@ -23,10 +35,6 @@ Access the [Get](/get) page. If it does not already display your status when you
You will not receive any credits until you get off the waitlist. As soon as you do, you will receive an acceptance bonus. You will not receive rewards for each referral until those users join and use LBRY themselves. This is to combat referral fraud.
### How frequently do you take people off the waitlist?
We anticipate taking anywhere from several hundreds to several thousand off each week. It depends on how development continues.
### Is there a limit to the credits I can earn?
If you expect to refer more than 50-100 people, please discuss it with us on [Slack](http://slack.lbry.io) or email [us](mailto:josh@lbry.io).

View file

@ -1,7 +0,0 @@
---
author: jeremy
title: LBRY Promo Video Raw Footage
date: '2015-08-06 17:08:53'
---
<iframe width="770" height="433" src="https://www.youtube.com/embed/5HSKK1tbD-o" frameborder="0" allowfullscreen style="margin-left: auto; margin-right: auto"></iframe>

View file

@ -57,7 +57,8 @@ class View
throw $e;
}
return ob_get_clean();
return static::interpolateTokens(ob_get_clean());
}
public static function markdownToHtml($path)
@ -123,4 +124,11 @@ class View
$css = $scssCompiler->compile(file_get_contents(ROOT_DIR.'/web/scss/all.scss'));
file_put_contents(ROOT_DIR.'/web/css/all.css', $css);
}
protected static function interpolateTokens($html)
{
return preg_replace_callback('/{{[\w\.]+}}/is', function($m) {
return i18n::translate(trim($m[0], '}{'));
}, $html);
}
}

View file

@ -5,7 +5,7 @@
<img src="/img/team/<?php echo $photoImgSrc ?>" alt="<?php echo __('Photo of %name%', ['%name%' => $authorName]) ?>"/>
</div>
<div class="span9">
<div class="meta">Author</div>
<div class="meta">{{news.author}}</div>
<h3><?php echo $authorName ?></h3>
<?php echo $authorBioHtml ?>
</div>

View file

@ -2,7 +2,7 @@
<div class="prev span6">
<?php if ($prevPost = $post->getPrevPost()): ?>
<div class="prev-next-label">
<a href="/<?php echo $prevPost->getRelativeUrl() ?>" class="link-primary"> Previous</a>
<a href="/<?php echo $prevPost->getRelativeUrl() ?>" class="link-primary"> {{news.prev}}</a>
</div>
<div class="meta">
<a href="/<?php echo $prevPost->getRelativeUrl() ?>">
@ -14,7 +14,7 @@
<div class="next span6">
<?php if ($nextPost = $post->getNextPost()): ?>
<div class="prev-next-label">
<a href="/<?php echo $nextPost->getRelativeUrl() ?>" class="link-primary">Next </a>
<a href="/<?php echo $nextPost->getRelativeUrl() ?>" class="link-primary">{{news.next}} </a>
</div>
<div class="meta">
<a class="prev-next-title" href="/<?php echo $nextPost->getRelativeUrl() ?>">

View file

@ -7,7 +7,7 @@
<div class="content">
<br />
<div class="meta">
<a href="/faq">« Back to FAQ</a>
<a href="/faq"><< {{page.faq.back}}</a>
</div>
<h1><?php echo htmlentities($post->getTitle()) ?></h1>
<?php echo $post->getContentHtml() ?>

View file

@ -1,9 +1,9 @@
<?php Response::setMetaDescription('Frequently asked questions about LBRY.') ?>
<?php Response::setMetaDescription(__('description.faq')) ?>
<?php NavActions::setNavUri('/learn') ?>
<?php echo View::render('nav/_header', ['isDark' => false]) ?>
<main>
<section class="content content-readable spacer2">
<h1>Frequently Asked Questions</h1>
<h1>{{page.faq.header}}</h1>
<?php foreach($postGroups as $group => $posts): ?>
<h2><?php echo $groupNames[$group] ?></h2>
<?php foreach($posts as $post): ?>
@ -14,4 +14,5 @@
<?php endforeach ?>
</section>
</main>
<?php echo View::render('nav/_footer') ?>

View file

@ -1,11 +1,11 @@
<?php Response::setMetaDescription('Access information and content in ways you never dreamed possible. Earn credits for your unused bandwidth and diskspace.') ?>
<?php Response::setMetaDescription(__('description.news')) ?>
<?php echo View::render('nav/_header', ['isDark' => false]) ?>
<main>
<div class="hero hero-quote hero-img spacer2" style="background-image: url(/img/cover-team.jpg)">
<div class="hero-content-wrapper">
<div class="hero-content text-center">
<h1 class="cover-title">The Front Desk</h1>
<h2 class="cover-subtitle">News and musings from the LBRY team.</h2>
<h1 class="cover-title">{{news.desk}}</h1>
<h2 class="cover-subtitle">{{news.musings}}</h2>
</div>
</div>
</div>

View file

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>LBRY News</title>
<title>{{rss.title}}</title>
<link>https://lbry.io<?php echo ContentActions::URL_NEWS ?></link>
<description>Recent news about LBRY</description>
<description>{{rss.description}}</description>
<generator>https://github.com/lbryio/lbry.io</generator>
<language>en</language>
<language>{{rss.lang}}</language>
<?php //<lastBuildDate>Sat, 07 Sep 2002 09:42:31 GMT</lastBuildDate> ?>
<atom:link href="https://lbry.io<?php echo ContentActions::URL_NEWS . '/' . ContentActions::RSS_SLUG ?>" rel="self" type="application/rss+xml" />
<?php foreach ($posts as $post): ?>

View file

@ -1,5 +1,4 @@
<div class="notice notice-info">
<strong>This is still a beta.</strong>
While LBRY is now live, it may crash, work unreliably, or inadvertently put a curse on your family for generations (a common programming error).
Use at your own risk.
<strong>{{download.beta}}</strong>
{{download.curse}}
</div>

View file

@ -1,8 +0,0 @@
<?php $reward = CreditApi::getCurrentTestCreditReward() ?>
<p>
Earn <?php echo i18n::formatCredits($reward) ?>* for completing the survey below after install.
</p>
<div class="meta spacer1">
*What is this worth? Who knows! But it is the largest reward we will <strong>ever</strong> offer to early adopters.
</div>

View file

@ -9,10 +9,10 @@
data-analytics-action="Download"
data-analytics-label="Linux"
*/ ?>
>Download .deb</a>
>{{download.deb}}</a>
</p>
<div class="meta">
Works with Ubuntu, Debian, or any distro with <code>apt</code> or <code>dpkg</code>.
{{download.works}}
Prefer to build from source? Go <a href="https://github.com/lbryio/lbry" class="link-primary">here</a>.
</div>
</div>

View file

@ -1,4 +1,4 @@
<?php $title = isset($title) ? $title : __('Other Systems') ?>
<?php $title = isset($title) ? $title : __('download.other') ?>
<div class="cover cover-light content content-light">
<h3><?php echo $title ?></h3>
<?php $buckets = array_fill(0, 3, []) ?>

View file

@ -9,9 +9,9 @@
data-analytics-action="Download"
data-analytics-label="OSX"
*/ ?>
>Download for OS X</a>
>{{download.osx2}}</a>
</p>
<p class="meta">Or, view the source and compile instructions on
<p class="meta">{{download.github}}
<a href="https://github.com/lbryio/lbry-setup/blob/master/README_OSX.md" class="link-primary">GitHub</a>.
</p>
</div>

View file

@ -1,5 +1,5 @@
<div class="cover cover-dark cover-center content content-dark" style="background-image:url('/img/cover-home3.jpg')">
<h2 class="cover-title cover-title-tile">Creator? Skip the Line</h2>
<p class="cover-subtitle text-center" style="max-width: 450px">Popular publishers can earn $1,000 and early access for publishing via LBRY.</p>
<a href="/publish" class="btn btn-alt">Learn More</a>
<h2 class="cover-title cover-title-tile">{{download.creator}}</h2>
<p class="cover-subtitle text-center" style="max-width: 450px">{{download.popular}}</p>
<a href="/publish" class="btn btn-alt">{{global.learn}}</a>
</div>

View file

@ -1,5 +1,5 @@
<h3>Share and Earn</h3>
<p>Earn <?php echo i18n::formatCredits($prefineryUser['id'] < 75000 ? 10 : 5) ?> for each user who joins via this URL:</p>
<h3>{{title.refer}}</h3>
<p>{{page.refer.earn1}} <?php echo i18n::formatCredits($prefineryUser['id'] < 75000 ? 10 : 5) ?> {{page.refer.earn2}}</p>
<p>
<input type="text" value="https://lbry.io/get?r=<?php echo $referralCode ?>" style="width: 100%; border-color: #155B4A" readonly id="referral-url-input"/>
<?php js_start() ?>
@ -8,28 +8,30 @@
.click(function() { $(this).select(); });
<?php js_end() ?>
</p>
<h3>Your Sharing Status</h3>
<p><strong><?php echo $prefineryUser['share_signups_count'] ?: 'Zero' ?> LBRYians</strong> have joined because of you.
<h3>{{page.refer.status}}</h3>
<p><?php echo __($prefineryUser['share_signups_count'] == 1 ? 'page.refer.referone' : 'page.refer.refermany',
['%count%' => $prefineryUser['share_signups_count']]) ?>
<?php
if ($prefineryUser['share_signups_count'] <= 0)
{
echo 'Don\'t fret, we still like you.';
echo __('page.refer.count0');
}
elseif ($prefineryUser['share_signups_count'] <= 5)
{
echo 'Great start! Thanks for sharing.';
echo __('page.refer.count1');
}
elseif ($prefineryUser['share_signups_count'] <= 10)
{
echo 'Well done! Thank you.';
echo __('page.refer.count2');
}
elseif ($prefineryUser['share_signups_count'] <= 25)
{
echo 'You are really doing your part! Amazing.';
echo __('page.refer.count3');
}
elseif ($prefineryUser['share_signups_count'] <= 100)
{
echo 'You are an elite LBRY sharer. Thank you much!';
echo __('page.refer.count4');
}
else
{
@ -37,4 +39,4 @@
}
?>
</p>
<div class="meta"><a href="/faq/referrals" class="link-primary">more on referrals</a></div>
<div class="meta"><a href="/faq/referrals" class="link-primary">{{page.refer.more}}</a></div>

View file

@ -4,7 +4,7 @@
</div>
<div class="form-row">
<label for="email">
<?php echo __('Email') ?>
<?php echo __('email.address') ?>
</label>
<div class="form-input">
<input type="text" value="<?php echo $defaultEmail ?>" name="email" class="required standard" placeholder="someone@somewhere.com">
@ -13,18 +13,18 @@
<?php if ($allowInviteCode): ?>
<div class="form-row">
<label for="code_select">
<?php echo __('Invite Code') ?>
<?php echo __('email.code') ?>
</label>
<div class="form-input">
<label class="label-radio">
<input name="code_select" type="radio" value="" />
None, but I want in as soon as possible!
{{email.nocode}}
</label>
</div>
<div class="form-input">
<label class="label-radio">
<input name="code_select" type="radio" value="yes" />
Yes
{{email.yescode}}
</label>
</div>
<div class="form-input has-code">

View file

@ -1,14 +1,14 @@
<div class="cover cover-light-alt cover-light-alt-grad content content-light">
<h3>Build With Us</h3>
<h3>{{social.header}}</h3>
<div class="row-fluid">
<div class="span6">
<h4>Humans</h4>
<p>Let's create a freer, more creative world.</p>
<h4>{{social.humansheader}}</h4>
<p>{{social.humanstext}}</p>
<?php echo View::render('social/_list') ?>
</div>
<div class="span6">
<h4>Wanna Be Robots</h4>
<p>Make with us. All LBRY code is open source.</p>
<h4>{{social.robotsheader}}</h4>
<p>{{social.robotstext}}</p>
<?php echo View::render('social/_listDev') ?>
</div>
</div>

View file

@ -1,8 +1,8 @@
<div class="notice notice-info">
<p>LBRY is not yet out on your platform. You will receive an email as we expand LBRY to your preferred platform.</p>
<p>{{download.unavailable}}</p>
<?php if ($os == DownloadActions::OS_OSX): ?>
<p>Arrival is expected by July 5.</p>
<p>{{download.osx}}</p>
<?php elseif ($os == DownloadActions::OS_WINDOWS): ?>
<p>Arrival is expected this month.</p>
<p>{{download.windows}}</p>
<?php endif ?>
</div>

View file

@ -1,10 +1,10 @@
<?php Response::setMetaDescription('Download or install the latest version of LBRY.') ?>
<?php Response::setMetaTitle(__('Get LBRY')) ?>
<?php Response::setMetaDescription(__('description.no-os')) ?>
<?php Response::setMetaTitle(__('global.get')) ?>
<?php echo View::render('nav/_header', ['isDark' => false]) ?>
<main class="column-fluid">
<div class="span6">
<?php echo View::render('download/_list', [
'title' => __('Select an OS')
'title' => __('download.select')
]) ?>
</div>
<div class="span6">

View file

@ -1,11 +1,11 @@
<?php Response::setMetaDescription(__('Download/install the latest version of LBRY.')) ?>
<?php Response::setMetaDescription(__('description.get')) ?>
<?php NavActions::setNavUri('/get') ?>
<?php echo View::render('nav/_header', ['isDark' => false]) ?>
<main class="column-fluid">
<div class="span7">
<div class="cover cover-dark cover-dark-grad content content-stretch content-dark">
<h1>Get LBRY</h1>
<h1>{{global.get}}</h1>
<?php if (Session::get(Session::KEY_DOWNLOAD_ACCESS_ERROR)): ?>
<div class="notice notice-error spacer1"><?php echo Session::get(Session::KEY_DOWNLOAD_ACCESS_ERROR) ?></div>
<?php Session::unsetKey(Session::KEY_DOWNLOAD_ACCESS_ERROR) ?>
@ -14,7 +14,7 @@
<?php if (Session::get(Session::KEY_PREFINERY_USER_ID)): ?>
<?php echo View::render('download/_refer') ?>
<?php else: ?>
<p>LBRY is currently in invite only mode. Enter your email to join the waitlist, or your email and invite code for access.</p>
<p>{{download.signup}}</p>
<?php echo View::render('download/_signup') ?>
<?php endif ?>
</div>
@ -25,4 +25,4 @@
</div>
</main>
<?php echo View::render('nav/_footer') ?>
<?php echo View::render('nav/_footer') ?>

View file

@ -1,19 +1,19 @@
<?php Response::setMetaDescription(__('Download/install the latest version of LBRY for %os%.', ['%os%' => $osTitle])) ?>
<?php Response::setMetaDescription(__('description.allowed', ['%os%' => $osTitle])) ?>
<?php NavActions::setNavUri('/get') ?>
<?php echo View::render('nav/_header', ['isDark' => false]) ?>
<main class="column-fluid">
<div class="span7">
<div class="cover cover-dark cover-dark-grad content content-stretch content-dark">
<h1>LBRY for <?php echo $osTitle ?> <span class="<?php echo $osIcon ?>"></span></h1>
<h1><?php echo __('download.for-os', ['%os%' => $osTitle]) ?> <span class="<?php echo $osIcon ?>"></span></h1>
<?php if ($downloadHtml): ?>
<?php echo View::render('download/_betaNotice') ?>
<h4>Download</h4>
<h4>{{download.verb}}</h4>
<?php echo $downloadHtml ?>
<h4>Claim Credits</h4>
<h4>{{download.credits}}</h4>
<?php if ($prefineryUser): ?>
<p>After download, use email <strong><?php echo $prefineryUser['email'] ?></strong> and the code you received via email to receive your credits.</p>
<div class="meta">If you received a printed code and it does not work after you download, check your email for a different code.</div>
<p>{{download.email1}}<strong><?php echo $prefineryUser['email'] ?></strong>{{download.email2}}</p>
<div class="meta">{{download.email3}}</div>
<?php endif ?>
<?php else: ?>
<?php echo View::render('download/_unavailable', [

View file

@ -15,8 +15,8 @@
<input type="hidden" name="returnUrl" value="<?php echo $returnUrl ?>"/>
<input type="hidden" name="listId" value="<?php echo $listId ?>"/>
<input type="hidden" name="listSig" value="<?php echo $listSig ?>"/>
<input type="email" value="" name="email" class="required email standard" placeholder="someone@somewhere.com">
<input type="submit" value="<?php echo isset($submitLabel) ? $submitLabel : 'Subscribe' ?>" name="subscribe" id="mc-embedded-subscribe" class="<?php echo $btnClass ?>">
<input type="email" value="" name="email" class="required email standard" placeholder= "__('email.placeholder')">
<input type="submit" value="<?php echo isset($submitLabel) ? $submitLabel : __('email.subs') ?>" name="subscribe" id="mc-embedded-subscribe" class="<?php echo $btnClass ?>">
<?php if (isset($fbEvent)): ?>
<input type="hidden" name="fbEvent" value="<?php echo $fbEvent ?>" />
<?php endif ?>
@ -25,8 +25,7 @@
<?php endif ?>
<?php if (isset($meta) && $meta): ?>
<div class="meta">
<?php echo __('You will receive 1-2 messages a month, only from LBRY, Inc. and only about LBRY.') ?>
<?php echo __('You can easily unsubscribe at any time.') ?>
{{email.disclaimer}}
</div>
<?php endif ?>
</div>

View file

@ -7,7 +7,7 @@
<div class="content footer-standard">
<nav class="control-group">
<div class="control-item">
<a href="/"><?php echo __('Home') ?></a>
<a href="/"><?php echo __('nav.home') ?></a>
</div>
<?php echo View::render('nav/_globalItems') ?>
<div class="control-item">

View file

@ -1,7 +1,7 @@
<?php foreach([
'/get' => __('Get'),
'/news' => __('News'),
'/learn' => __('Learn')
'/get' => __('nav.get'),
'/news' => __('nav.news'),
'/learn' => __('nav.learn')
] as $url => $label): ?>
<div class="control-item">
<a href="<?php echo $url ?>" <?php echo $selectedItem === $url ? 'class="nav-active"' : ''?>><?php echo $label ?></a>

View file

@ -2,26 +2,26 @@
<div class="content <?php echo $isDark ? 'content-dark' : 'content-light' ?>">
<div class="row-fluid">
<div class="span6">
<h3><?php echo __('What\'s Next?') ?></h3>
<h3><?php echo __('publish.next') ?></h3>
<table class="table-layout">
<tr>
<td>
<a href="/get" class="<?php echo $isDark ? 'btn-alt' : 'btn-primary' ?> btn-full-width"><?php echo __('Get LBRY') ?></a>
<a href="/get" class="<?php echo $isDark ? 'btn-alt' : 'btn-primary' ?> btn-full-width"><?php echo __('global.get') ?></a>
</td>
<td>
<?php echo __('Experience digital abundance.') ?>
<?php echo __('publish.abundance') ?>
</td>
</tr>
</table>
<ul>
<li><a href="/join-list" class="link-primary"><?php echo __('Subscribe to our email list') ?></a>.</li>
<li><a href="/join-list" class="link-primary"><?php echo __('email.subscribe') ?></a>.</li>
<li>Join us on <a href="//twitter.com/lbryio" class="link-primary"><span class="btn-label">Twitter</span><span class="icon icon-twitter"></span></a>,
<a href="//facebook.com/lbryio" class="link-primary"><span class="btn-label">Facebook</span><span class="icon icon-facebook"></span></a>,
or <a href="//reddit.com/r/lbry" class="link-primary"><span class="btn-label">Reddit</span><span class="icon icon-reddit"></span></a>.</li>
</ul>
</div>
<div class="span6">
<h3><?php echo __('Keep Learning') ?></h3>
<h3><?php echo __('publish.keepl') ?></h3>
<ul>
<?php if ($_SERVER['REQUEST_URI'] != '/what'): ?>
<li>Read "<a href="/what" class="link-primary">Art in the Internet Age</a>", an introductory essay.</li>

View file

@ -1,7 +1,7 @@
<?php echo View::render('nav/_header', ['isDark' => false]) ?>
<main>
<div class="content">
<h1>Page Not Found</h1>
<p>One day this will be funnier but today is not that day.</p>
<h1>{{page.notfound}}</h1>
<p>{{page.funnier}}</p>
</div>
</main>

View file

@ -1,16 +1,14 @@
<div class="bg-image-full" style="background-image: url(/img/cover-home2.jpg)"></div>
<?php Response::setMetaTitle(__('LBRY - Play, Share, Earn')) ?>
<?php Response::setMetaDescription(__('Meet LBRY, a content sharing and publishing platform that is decentralized and owned by it\'s users.')) ?>
<?php Response::setMetaTitle(__('title.home')) ?>
<?php Response::setMetaDescription(__('description.home')) ?>
<?php echo View::render('nav/_header', ['isDark' => true]) ?>
<main class="column-fluid">
<div class="span12">
<div class="cover cover-dark">
<div class="content content-wide content-dark">
<div class="text-center">
<h1 class="cover-title">Play, Share, Earn.</h1>
<h2 class="cover-subtitle" style="max-width: 600px; margin-left: auto; margin-right: auto">
Watch, read and play in a decentralized digital library controlled by the community.
</h2>
<h1 class="cover-title">{{global.tagline}}</h1>
<h2 class="cover-subtitle" style="max-width: 600px; margin-left: auto; margin-right: auto">{{global.sentence}}</h2>
</div>
<?php /*
@ -36,10 +34,10 @@
*/ ?>
<div class="control-group spacer2 text-center">
<div class="control-item">
<a href="/get" class="btn-primary">Early Access</a>
<a href="/get" class="btn-primary">{{global.get}}</a>
</div>
<div class="control-item">
<a href="/learn" class="btn-alt">Learn More</a>
<a href="/learn" class="btn-alt">{{global.learn}}</a>
</div>
</div>
<div class="video" style="margin-bottom: 80px">
@ -49,9 +47,9 @@
<div class="content content-dark">
<div class="row-fluid">
<div class="span4">
<h3><?php echo __('Get Updates') ?></h3>
<h3><?php echo __('email.updates') ?></h3>
<?php echo View::render('mail/_joinList', [
'submitLabel' => 'Go',
'submitLabel' => __('email.go'),
'listId' => Mailchimp::LIST_GENERAL_ID,
'mergeFields' => ['CLI' => 'No'],
'meta' => true,
@ -66,7 +64,7 @@
</div>
</div>
<div class="span4 text-center">
<a width="300" class="twitter-timeline" href="https://twitter.com/LBRYio" data-widget-id="671104143034073088">Tweets by @LBRYio</a>
<a width="300" class="twitter-timeline" href="https://twitter.com/LBRYio" data-widget-id="671104143034073088">{{social.tweets}}</a>
</div>
</div>
</div>

View file

@ -1,13 +1,13 @@
<?php Response::setMetaTitle(__('Join LBRY Email List')) ?>
<?php Response::setMetaDescription(__('Follow along and receive updates about LBRY via email.')) ?>
<?php Response::setMetaTitle(__('title.join')) ?>
<?php Response::setMetaDescription(__('description.join')) ?>
<?php echo View::render('nav/_header', ['isDark' => false ]) ?>
<main>
<div class="content">
<div class="row-fluid">
<div class="span9">
<h1><?php echo __('Join Email List') ?></h1>
<h1><?php echo __('page.join') ?></h1>
<p>
<?php echo __('Join our email list and receive updates about LBRY via email.') ?>
<?php echo __('page.updates') ?>
</p>
<?php echo View::render('mail/_joinList', [
'submitLabel' => 'Subscribe',
@ -17,7 +17,7 @@
]) ?>
</div>
<div class="span3">
<h3><?php echo __('Also On') ?></h3>
<h3><?php echo __('social.also') ?></h3>
<?php echo View::render('social/_list') ?>
</div>
</div>

View file

@ -1,21 +1,20 @@
<?php Response::setMetaDescription(__('Learn more about LBRY, the technology that puts you back in control of the internet.')) ?>
<?php Response::setMetaTitle(__('Learn About LBRY')) ?>
<?php Response::setMetaDescription(__('description.learn')) ?>
<?php Response::setMetaTitle(__('title.learn')) ?>
<?php echo View::render('nav/_header', ['isDark' => false]) ?>
<main class="column-fluid ">
<div class="span6">
<div class="cover cover-dark cover-dark-grad">
<div class="content content-dark content-tile">
<h1 class="cover-title cover-title-tile">LBRY in 100 Seconds</h1>
<h1 class="cover-title cover-title-tile">{{learn.100}}</h1>
<?php echo View::render('download/_videoIntro') ?>
</div>
</div>
</div>
<div class="span6">
<div class="cover cover-dark cover-center content content-dark" style="background-image:url(/img/altamira-bison.jpg)">
<h2 class="cover-title cover-title-tile">Art in the Internet Age</h2>
<p class="cover-subtitle text-center" style="max-width: 660px">Learn how LBRY will forever improve how we create and share with one another.</p>
<a href="/what" class="btn-alt"><?php echo __('Read the Essay') ?></a>
<h2 class="cover-title cover-title-tile">{{learn.art}}</h2>
<p class="cover-subtitle text-center" style="max-width: 660px">{{learn.how}}</p>
<a href="/what" class="btn-alt"><?php echo __('learn.essay') ?></a>
</div>
</div>
<div class="span6">
@ -23,19 +22,19 @@
<div class=" content content-light content-tile">
<div class="row-fluid">
<div class="span6">
<h3>Explore</h3>
<h3>{{learn.explore}}</h3>
<div class="spacer1">
<a href="/faq" class="link-primary">Frequently Asked Questions</a>
<a href="/faq" class="link-primary">{{page.faq.header}}</a>
</div>
<div class="spacer1">
<a href="http://explorer.lbry.io" class="link-primary">Block Explorer</a>
<a href="http://explorer.lbry.io" class="link-primary">{{learn.explorer}}</a>
</div>
<div class="spacer1">
<a href="https://bittrex.com/Market/Index?MarketName=BTC-LBC" class="link-primary">Bittrex Exchange</a>
<a href="https://bittrex.com/Market/Index?MarketName=BTC-LBC" class="link-primary">{{learn.exchange}}</a>
</div>
</div>
<div class="span6">
<h3>Nerd Out</h3>
<h3>{{learn.nerd}}</h3>
<p>LBRY is 100% open source in the <a class="link-primary" href="https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar">Bazaar tradition</a>.</p>
<?php echo View::render('social/_listDev') ?>
</div>
@ -48,12 +47,12 @@
<div class="content content-light content-tile">
<div class="row-fluid">
<div class="span6">
<h3><?php echo __('The Team') ?></h3>
<p><?php echo __('Learn more about the relentless rebels changing the internet.') ?></p>
<a href="/team" class="btn-alt"><?php echo __('About The Team') ?></a>
<h3><?php echo __('page.team.header') ?></h3>
<p><?php echo __('learn.rebels') ?></p>
<a href="/team" class="btn-alt"><?php echo __('learn.team') ?></a>
</div>
<div class="span6">
<h3>Join Us</h3>
<h3>{{learn.join}}</h3>
<?php echo View::render('social/_list') ?>
</div>
</div>
@ -121,4 +120,4 @@
</div>
</div>
</main> */ ?>
<?php echo View::render('nav/_footer') ?>
<?php echo View::render('nav/_footer') ?>

View file

@ -1,24 +1,24 @@
<?php if (!isset($showHeader) || $showHeader): ?>
<?php Response::setMetaDescription('LBRY Press Kit. Information and media for those who want to report on LBRY.') ?>
<?php Response::setMetaDescription('description.press') ?>
<?php NavActions::setNavUri('/learn') ?>
<?php echo View::render('nav/_header', ['isDark' => false]) ?>
<?php endif ?>
<main>
<div class="content content-light markdown">
<h1>LBRY Press Kit</h1>
<h1>{{press.title}}</h1>
<p>
Information and media for those who want to write or report on LBRY.
Any information or media on this page or in our kit can be re-used or otherwise published without attribution.
{{press.info}}
{{press.used}}
</p>
<h3>Download Media Archive</h3>
<h3>{{press.archive}}</h3>
<div class="spacer-half">
<a href="/press-kit.zip" class="btn-primary"><span class="icon icon-download"></span><span class="btn-label">Download ZIP</span></a>
<a href="/press-kit.zip" class="btn-primary"><span class="icon icon-download"></span><span class="btn-label">{{press.zip}}</span></a>
</div>
<p>This archive includes all logos, screenshots, and bios, but does not include all text on this page.</p>
<p>{{press.includes}}</p>
<?php echo View::render('press-kit.md') ?>
<h3 id="images">Logos and Product Images</h3>
<h3 id="images">{{press.logos}}</h3>
<div class="column-fluid">
<?php foreach(glob(ROOT_DIR . '/web/img/press/*') as $imgPath): ?>
<div class="span6">
@ -31,7 +31,7 @@
<?php endforeach ?>
</div>
<h3>Founding Team</h3>
<h3>{{press.team}}</h3>
<?php foreach(['jeremy-kauffman', 'michael-zargham', 'josh-finer', 'alex-grintsvayg', 'mike-vine', 'jimmy-kiselak', 'jack-robison'] as $person): ?>
<?php list($metadata, $bioHtml) = View::parseMarkdown('bio/' . $person . '.md') ?>
<section class="row-fluid">
@ -52,7 +52,7 @@
</div>
</section>
<?php endforeach ?>
<h3>Advisory Team</h3>
<h3>{{press.advisory}}</h3>
<?php foreach(['alex-tabarrok', 'stephan-kinsella', 'michael-huemer'] as $person): ?>
<?php list($metadata, $bioHtml) = View::parseMarkdown('bio/' . $person . '.md') ?>
<section class="row-fluid">

View file

@ -1,22 +1,22 @@
<?php NavActions::setNavUri('/get') ?>
<?php Response::setMetaDescription('Publish your content on the world\'s first platform that leaves creators in control.') ?>
<?php Response::setMetaTitle(__('Publish')) ?>
<?php Response::setMetaDescription('description.publish') ?>
<?php Response::setMetaTitle(__('title.publish')) ?>
<?php echo View::render('nav/_header', ['isDark' => true, 'isAbsolute' => true]) ?>
<main >
<?php //if you change the image, change it on download/_publish too! ?>
<div class="cover cover-dark cover-center cover-full" style="background-image:url(/img/cover-home3.jpg)">
<h1 class="cover-title" id="art">Publish on LBRY</h1>
<h1 class="cover-title" id="art">{{publish.onlbry}}</h1>
<div class="cover-subtitle" style="max-width: 580px; text-align: center">
<strong>Earn $1,000 and join the next content epoch: the viewer and you, with nobody in between.</strong>
<strong>{{publish.earn}}</strong>
</div>
<a href="#learn-more" class="btn-alt">Keep Reading</a>
<a href="#learn-more" class="btn-alt">{{publish.keepr}}</a>
</div>
<div class="column-fluid" id="learn-more">
<div class="span6">
<div class="cover cover-light">
<div class="content content-light content-tile">
<h2 class="cover-title cover-title-tile cover-title-flat">Publishing Partnership</h2>
<h3>How It Works</h3>
<h2 class="cover-title cover-title-tile cover-title-flat">{{publish.partner}}</h2>
<h3>{{publish.how}}</h3>
<ul>
<li>
Publish five pieces of content with the LBRY app.
@ -36,8 +36,8 @@
<div class="span6">
<div class="cover cover-dark cover-dark-grad">
<div class="content content-dark content-tile">
<h3 class="cover-title cover-title-tile">What is LBRY?</h3>
<p>Watch "LBRY in 100 Seconds", an introduction to the wonderful technology of LBRY.</p>
<h3 class="cover-title cover-title-tile">{{publish.what}}</h3>
<p>{{publish.watch}}</p>
<?php echo View::render('download/_videoIntro') ?>
</div>
</div>
@ -47,7 +47,7 @@
<div class="hero-content-wrapper">
<div class="hero-content" style="max-width: 540px">
<blockquote>
<p>You was inspired by the world; allow the world to be inspired by [you]</p>
<p>{{publish.quote}}</p>
</blockquote>
<cite>J. Cole, <em><a href="https://www.youtube.com/watch?v=UMCGOAGb4Y0&amp;t=496s">Note to Self</a></em></cite>
</div>
@ -57,16 +57,16 @@
<div class="span6">
<div class="cover cover-dark cover-dark-grad">
<div class="content content-dark content-tile">
<h3 class="cover-title cover-title-tile cover-title-flat">Why LBRY?</h3>
<h4>More, Better Profit</h4>
<h3 class="cover-title cover-title-tile cover-title-flat">{{publish.why}}</h3>
<h4>{{publish.profit}}</h4>
<p>Any price you charge for content settles near-instantly into an account only you control. You receive 100% of the price. Micro-payments (and free content) supported.</p>
<h4>Open, Trustworthy Technology</h4>
<h4>{{publish.open}}</h4>
<p>
LBRY uses the ground-breaking innovation of the blockchain to leave no one in control of your content except for you (including us!).</p>
<p>
LBRY is an open-source protocol that is controlled by it's users: we could not change the rules even if we wanted to.
LBRY is an open-source protocol that is controlled by its users: we could not change the rules even if we wanted to.
</p>
<h4>Complete Creator Control</h4>
<h4>{{publish.control}}</h4>
<p>Update your content at any time. Change the price. Change the title. Publish, unpublish. You and only you can do this in LBRY.</p>
</li>
</ul>
@ -76,34 +76,34 @@
<div class="span6">
<div class="cover cover-light-alt cover-light-alt-grad">
<div class="content content-light content-tile">
<h3 class="cover-title cover-title-tile cover-title-flat" id="what-you-get" >What You Get</h3>
<h3 class="cover-title cover-title-tile cover-title-flat" id="what-you-get">{{publish.youget}}</h3>
<ul>
<li>Premier Partner status. Receive insider access and support for life.</li>
<li>Content featured on the LBRY landing screen seen by all users, as well as on our blog, social media, and 100,000 person email list, including links to your YouTube or other profiles.</li>
<li>{{publish.premier}}</li>
<li>{{publish.feature}}</li>
<li>
Receive $1,000 worth of LBRY credits to hold, use or sell.
{{publish.credits}}
<div class="meta">
We make no guarantee of the current or future monetary value of a credit, but credits are actively traded. Current credit market prices can be seen
<a class="link-primary" href="https://bittrex.com/Market/Index?MarketName=BTC-LBC">here</a> or <a class="link-primary" href="https://poloniex.com/exchange#btc_lbc">here</a>.
</div>
</li>
<li>We hold your hand every step of the way while taking none of your revenue.</li>
<li>{{publish.hand}}</li>
</ul>
<h3 class="cover-title cover-title-tile cover-title-flat">What You Give</h3>
<h3 class="cover-title cover-title-tile cover-title-flat">{{publish.yougive}}</h3>
<ul>
<li>Upload five videos via the LBRY interface (well help you out).</li>
<li>A single social media mention about your availability on LBRY.</li>
<li>Allowance for us to promote availability of your content.</li>
<li>{{publish.upload}}</li>
<li>{{publish.mention}}</li>
<li>{{publish.allow}}</li>
</ul>
</div>
</div>
</div>
</div>
<div class="content content-readable">
<h3>Get In Now</h3>
<h3>{{publish.now}}</h3>
<iframe id="feedback-form-iframe" src="https://docs.google.com/forms/d/17yrFsY1W86N9hfNt1batFbySY-1z-tq0wDjFjXKjgp8/viewform?embedded=true"
width="760" height="1000" frameborder="0" marginheight="0" marginwidth="0">Loading...</iframe>
<h3>Questions?</h3>
width="760" height="1000" frameborder="0" marginheight="0" marginwidth="0">{{publish.loading}}</iframe>
<h3>{{publish.questions}}</h3>
<p>Email <a class="link-primary" href=mailto:reilly@lbry.io?subject=Publishing Program">Reilly Smith</a> with questions or to schedule a call.</p>
<?php echo View::render('content/_bio', ['person' => 'reilly-smith', 'orientation' => 'horizontal']) ?>
</div>

View file

@ -1,11 +1,11 @@
<?php NavActions::setNavUri('/learn') ?>
<?php Response::addMetaImage('https://lbry.io/img/cover-team.jpg') ?>
<?php Response::setMetaDescription('LBRY is founded by a team passionate about connecting producers and consumers and breaking down broken models. Learn more about them.') ?>
<?php Response::setMetaDescription('description.team') ?>
<?php echo View::render('nav/_header', ['isDark' => false]) ?>
<main>
<div class="content photo-grid spacer2">
<h1>The Team</h1>
<p>LBRY is made possible by more people than we could ever list here. The founding team is listed below.</p>
<h1>{{page.team.header}}</h1>
<p>{{page.team.people}}</p>
<?php foreach([
['jeremy-kauffman', 'michael-zargham'],
['josh-finer', 'alex-grintsvayg'],
@ -27,17 +27,15 @@
<img src="/img/team/spooner-644x450.jpg" alt="you!"/>
</div>
<div>
<h4>You</h4>
<div class="meta spacer1">Developer, Designer, Economist, Marketer, Investor, ???</div>
<h4>{{page.team.you.header}}</h4>
<div class="meta spacer1">{{page.team.you.title}}</div>
<p>
Do you think opening up information would facilitate human flourishing?
Do you want to join a bright core of people with an obsession for upending broken systems?
<a href="mailto:jeremy@lbry.io" class="link-primary">Say hello.</a>
{{page.team.you.parag1}}
</p>
</div>
</div>
</div>
<h2>Advisory Team</h2>
<h2>{{page.team.advisory}}</h2>
<div class="row-fluid">
<div class="span6 spacer2">
<?php echo View::render('content/_bio', ['person' => 'alex-tabarrok']) ?>

View file

@ -1,5 +1,5 @@
<?php Response::setMetaDescription('Access information and content in ways you never dreamed possible. Earn credits for your unused bandwidth and diskspace.') ?>
<?php Response::setMetaTitle(__('Art in the Internet Age: An Introduction to LBRY')) ?>
<?php Response::setMetaDescription(__('description.what')) ?>
<?php Response::setMetaTitle(__('title.what')) ?>
<?php NavActions::setNavUri('/learn') ?>
<?php echo View::render('nav/_header', ['isDark' => true, 'isAbsolute' => true]) ?>
<main>

View file

@ -4,8 +4,8 @@
</div>
*/ ?>
<div class="spacer1">
<a href="https://github.com/lbryio" class="link-primary"><span class="icon-github icon-fw"></span><span class="btn-label">GitHub (source code)</span></a>
<a href="https://github.com/lbryio" class="link-primary"><span class="icon-github icon-fw"></span><span class="btn-label">{{social.github}}</span></a>
</div>
<div class="spacer1">
<a href="http://slack.lbry.io" class="link-primary"><span class="icon-slack icon-fw"></span><span class="btn-label">Slack (chat)</span></a>
<a href="http://slack.lbry.io" class="link-primary"><span class="icon-slack icon-fw"></span><span class="btn-label">{{social.slack}}</span></a>
</div>

0
web/css/.gitkeep Normal file → Executable file
View file