Merge remote-tracking branch 'origin/master' into roadmap
|
@ -24,9 +24,11 @@ class BountyActions extends Actions
|
|||
uasort($bounties, function($postA, $postB) {
|
||||
$metadataA = $postA->getMetadata();
|
||||
$metadataB = $postB->getMetadata();
|
||||
if ($metadataA['award'] != $metadataB['award'])
|
||||
$awardA = strpos('-', $metadataA['award']) !== false ? rtrim(explode('-', $metadataA['award'])[0], '+') : $metadataA['award'];
|
||||
$awardB = strpos('-', $metadataB['award']) !== false ? rtrim(explode('-', $metadataB['award'])[0], '+') : $metadataB['award'];
|
||||
if ($awardA != $awardB)
|
||||
{
|
||||
return $metadataA['award'] > $metadataB['award'] ? -1 : 1;
|
||||
return $awardA > $awardB ? -1 : 1;
|
||||
}
|
||||
return $metadataA['title'] < $metadataB['title'] ? -1 : 1;
|
||||
});
|
||||
|
|
|
@ -82,8 +82,11 @@ class ContentActions extends Actions
|
|||
|
||||
public static function executeNewsPost($relativeUri)
|
||||
{
|
||||
$post = Post::load(ltrim($relativeUri, '/'));
|
||||
if (!$post)
|
||||
try
|
||||
{
|
||||
$post = Post::load(ltrim($relativeUri, '/'));
|
||||
}
|
||||
catch (PostNotFoundException $e)
|
||||
{
|
||||
return ['page/404', []];
|
||||
}
|
||||
|
@ -97,8 +100,11 @@ class ContentActions extends Actions
|
|||
|
||||
public static function executeFaqPost($relativeUri)
|
||||
{
|
||||
$post = Post::load(ltrim($relativeUri, '/'));
|
||||
if (!$post)
|
||||
try
|
||||
{
|
||||
$post = Post::load(ltrim($relativeUri, '/'));
|
||||
}
|
||||
catch (PostNotFoundException $e)
|
||||
{
|
||||
return ['page/404', []];
|
||||
}
|
||||
|
|
|
@ -197,4 +197,4 @@ class CurlException extends Exception
|
|||
|
||||
parent::__construct($this->error, $this->errno, $previous);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,24 +2,24 @@
|
|||
|
||||
class Debug
|
||||
{
|
||||
public static function exceptionToString(Exception $e)
|
||||
public static function exceptionToString(Throwable $e)
|
||||
{
|
||||
return static::getExceptionMessageWithoutTrace($e) . "\n" . static::getFullTrace($e);
|
||||
}
|
||||
|
||||
public static function getExceptionMessageWithoutTrace(Exception $e)
|
||||
public static function getExceptionMessageWithoutTrace(Throwable $e)
|
||||
{
|
||||
return 'exception \'' . get_class($e) . '\' with message \'' . $e->getMessage() . '\' in ' . $e->getFile() . ':' . $e->getLine();
|
||||
}
|
||||
|
||||
/**
|
||||
* Same as the normal getTraceAsString(), but does not truncate long lines.
|
||||
* @param Exception $exception
|
||||
* @param Throwable $exception
|
||||
* @return string
|
||||
* @see http://stackoverflow.com/questions/1949345/how-can-i-get-the-full-string-of-phps-gettraceasstring/6076667#6076667
|
||||
* @see https://gist.github.com/1437966
|
||||
*/
|
||||
public static function getFullTrace(Exception $exception)
|
||||
public static function getFullTrace(Throwable $exception)
|
||||
{
|
||||
$rtn = '';
|
||||
foreach ($exception->getTrace() as $count => $frame)
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
class PostNotFoundException extends Exception {}
|
||||
|
||||
class Post
|
||||
{
|
||||
const SORT_DATE_DESC = 'sort_date_desc';
|
||||
|
@ -33,7 +35,7 @@ class Post
|
|||
return static::load($slugMap[$slug]);
|
||||
}
|
||||
}
|
||||
throw new InvalidArgumentException('No post found for path: ' . $relativeOrAbsolutePath);
|
||||
throw new PostNotFoundException('No post found for path: ' . $relativeOrAbsolutePath);
|
||||
}
|
||||
|
||||
list($ignored, $frontMatter, $content) = explode('---', file_get_contents($path), 3);
|
||||
|
|
27
posts/bounty/bittorrent-support.md
Normal file
|
@ -0,0 +1,27 @@
|
|||
---
|
||||
category: daemon
|
||||
title: Add Support for BitTorrent
|
||||
award: 4000
|
||||
status: available
|
||||
date: '2016-07-01'
|
||||
---
|
||||
|
||||
Add support for the BitTorrent protocol to [`lbry`](https://github.com/lbry).
|
||||
|
||||
The LBRY blockchain supports storing metadata about media content. A simplified, sample entry looks like:
|
||||
|
||||
```
|
||||
title: "What is LBRY?",
|
||||
language: "en",
|
||||
description: "What is LBRY? An introduction with Alex Tabarrok",
|
||||
author: "Samuel Bryan",
|
||||
sources: {
|
||||
lbry_sd_hash : "d5169241150022f996fa7cd6a9a1c421937276a3275eb912790bd07ba7aec1fac5fd45431d226b8fb402691e79aeb24b"
|
||||
}
|
||||
```
|
||||
|
||||
The `sources` field is designed to be extended and support resolution to multiple protocols. To complete this the LBRY daemon must be modified to:
|
||||
|
||||
- Support the BitTorrent protocol via `python-libtorrent` or similar.
|
||||
- Read `btih` as a source key and use this key to access the data via BitTorrent when requested
|
||||
- Probably a lot more stuff!
|
11
posts/bounty/custom-project.md
Normal file
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
category: other
|
||||
title: Custom Project
|
||||
award: 250-20000+
|
||||
status: available
|
||||
date: '2016-07-01'
|
||||
---
|
||||
|
||||
Have a great idea on how to improve or spread LBRY? Let's talk.
|
||||
|
||||
Come to us with a specific proposal of how you can help LBRY grow and we'll let you know what it's worth.
|
19
posts/bounty/lbry-club.md
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
category: human
|
||||
title: LBRY Community Rep
|
||||
award: 500
|
||||
status: available
|
||||
date: '2016-07-01'
|
||||
---
|
||||
|
||||
Excited about LBRY? Earn some credits for it!
|
||||
|
||||
We're looking for people who can introduce and provide expertise to specific communities. This could be a college, music scene, city, or online community.
|
||||
|
||||
Participants in this program will:
|
||||
|
||||
- Receive invites for their group
|
||||
- Receive additional credits to share with their group
|
||||
- Communicate regularly with LBRY team members
|
||||
|
||||
This bounty is not open to anyone. Please contact [Jeremy](mailto:jeremy@lbry.io) and let him know what community you would like to introduce LBRY to.
|
18
posts/bounty/modified-block-explorer.md
Normal file
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
category: code
|
||||
title: Modified Block Explorer
|
||||
award: 1500
|
||||
status: available
|
||||
date: '2016-07-01'
|
||||
---
|
||||
|
||||
LBRY currently maintains and runs a block explorer at [explorer.lbry.io/](https://explorer.lbry.io/).
|
||||
|
||||
This explorer is a fork of Iquidus Explorer and is [on Github](https://github.com/lbryio/lbry-explorer).
|
||||
|
||||
Iquidus explorer is great, but does not currently support LBRY specific operations.
|
||||
|
||||
The explorer should be modified to:
|
||||
|
||||
- Display what LBRY name claims and supports
|
||||
- Exploration of name claims in a way similar to transactions
|
13
posts/bounty/pkg-installer-for-osx.md
Normal file
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
category: osx
|
||||
title: PKG Installer for OS X
|
||||
award: 1500
|
||||
status: available
|
||||
date: '2016-07-01'
|
||||
---
|
||||
|
||||
Currently, [`lbry`](https://github.com/lbry/lbry) is packaged as a DMG for OS X installs.
|
||||
|
||||
To claim this bounty, the install process should be done via a `.pkg` file instead.
|
||||
|
||||
This process must be done in a way that is repeatable in our CircleCI continuous integration environment.
|
16
posts/bounty/pr-for-lbry.md
Normal file
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
category: human
|
||||
title: Write, Broadcast or Share LBRY
|
||||
award: 500
|
||||
status: available
|
||||
date: '2016-07-01'
|
||||
---
|
||||
|
||||
This bounty is for writers, podcasters, streamers, or others in the media industry. To be eligible, you must:
|
||||
|
||||
- Create a piece of content about LBRY
|
||||
- Have the content accessed by over 2,000 people
|
||||
- Have over 100 of those people join the LBRY beta
|
||||
|
||||
We reserve the right to deny this bounty if we feel the article or generated traffic/signups are non-genuine.
|
||||
|
14
posts/bounty/publish-open-content.md
Normal file
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
category: code
|
||||
title: Publish Open Content
|
||||
award: 250-1000+
|
||||
status: available
|
||||
date: '2016-07-01'
|
||||
---
|
||||
|
||||
There are a large number of open content sources. Everything from public domain movies on [Internet Archive](https://archive.org/details/movies)
|
||||
to books from [Project Gutenberg](https://www.gutenberg.org/).
|
||||
|
||||
This project is to programmatically index, download, and port this content to the LBRY network.
|
||||
|
||||
Credits will vary on the difficulty and usefulness of the source. We will provide credits to reserve the names for content. You must open-source any code created for this bounty.
|
|
@ -2,7 +2,7 @@
|
|||
category: slack
|
||||
title: Create a Slack Greeter
|
||||
award: 250
|
||||
status: available
|
||||
status: complete
|
||||
date: '2016-07-01'
|
||||
---
|
||||
|
||||
|
|
16
posts/bounty/social-media-cover-images.md
Normal file
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
category: design
|
||||
title: Create Social Media Cover Images
|
||||
award: 400
|
||||
status: available
|
||||
date: '2016-07-01'
|
||||
---
|
||||
|
||||
The current background images on our [Twitter](https://twitter.com/lbryio) and [Facebook](https://facebook.com/lbryio) are the same stock photo
|
||||
that is on our homepage. We'd like to do something a little more unique.
|
||||
|
||||
Candidate replacements could be either a photo or a graphic design. Either way, the image should:
|
||||
|
||||
- Connote what LBRY is about: openness and fun
|
||||
- Be unique to LBRY or otherwise not in significant use
|
||||
- Suitable for white or LBRY green (#155B4A) text on top
|
18
posts/bounty/transaction-history.md
Normal file
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
category: browser
|
||||
title: Add Transaction History to LBRY Browser
|
||||
award: 2000
|
||||
status: available
|
||||
date: '2016-07-01'
|
||||
---
|
||||
|
||||
Add a screen showing transaction history the LBRY Browser [`lbry-web-ui`](https://github.com/lbry/lbry-web-ui).
|
||||
|
||||
The screen must:
|
||||
|
||||
- Display past outgoing and incoming transactions
|
||||
- Link to the LBRY [block explorer](https://explorer.lbry.io) for transactions
|
||||
|
||||
The LBRY daemon already supports an API call, `get_transaction_history` to retrieve transaction history. While running LBRY, type the following in your browser console:
|
||||
|
||||
`lbry.call('get_transaction_history', {}, function(response) { console.log(response); });`
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
category: browser
|
||||
title: Add Wallet Interface to LBRY Browser
|
||||
award: 1000
|
||||
award: 2000
|
||||
status: complete
|
||||
pr: https://github.com/lbryio/lbry-web-ui/pull/23/files
|
||||
date: '2016-07-01'
|
||||
|
@ -13,3 +13,4 @@ The interface must support:
|
|||
|
||||
- Generating a new wallet address.
|
||||
- Sending a variable number of credits to a specified address from the active wallet.
|
||||
- Displaying an address to receive credits
|
||||
|
|
17
posts/bounty/web-i18n.md
Normal file
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
category: web
|
||||
title: Internationalization of lbry.io
|
||||
award: 1000
|
||||
status: available
|
||||
date: '2016-07-01'
|
||||
---
|
||||
|
||||
lbry.io already has a partial internationalization framework and some translations, but additional work is required before they can be enabled.
|
||||
|
||||
To complete this bounty, lbry.io must be modified to:
|
||||
|
||||
- Allow modification of your selected language in the navigation
|
||||
- Storing selected language in the user session
|
||||
- Reverse look-up your IP and choose a default language if a user has not selected one
|
||||
|
||||
[`lbry.io` on GitHub](https://github.com/lbryio/lbry.io)
|
|
@ -1,22 +0,0 @@
|
|||
---
|
||||
category: human
|
||||
title: Bug and Security Bounty
|
||||
award: 10-10,000+
|
||||
status: available
|
||||
date: '2016-07-01'
|
||||
---
|
||||
|
||||
LBRY will award LBC for all cleanly documented bugs, security vulnerabilities, or other flaws in LBRY's software, servers, infrastructure, or procedures.
|
||||
|
||||
Awards will be variable based on the severity of the issue. Any discoveries that risk exploitation of the LBRY network, it's users, or LBRY Inc. should be disclosed privately to [grin@lbry.io](mailto:grin@lbry.io).
|
||||
|
||||
Extremely severe discoveries will warrant commensurate awards. Typical bug discoveries will be at the bottom of the scale.
|
||||
|
||||
### Reporting a Bug
|
||||
|
||||
To report a bug, please open an Issue on the relevant Github project:
|
||||
|
||||
[`lbry-web-ui`](https://github.com/lbry/lbry-web-ui) - UI bugs or display issues
|
||||
[`lbry`](https://github.com/lbry/lbry-web-ui) - Connection or hosting issues
|
||||
[`lbrycrdd`](https://github.com/lbry/lbry-web-ui) - Blockchain related issues
|
||||
|
|
@ -23,4 +23,4 @@ The best place to get real-time help is our [Slack channel](https://slack.lbry.i
|
|||
|
||||
### I want to complete a bounty that is not listed.
|
||||
|
||||
Send an email our bounty team at [bounty@lbry.io](mailto:bounty@lbry.io).
|
||||
Send an email to our bounty team at [bounty@lbry.io](mailto:bounty@lbry.io).
|
||||
|
|
21
posts/faq/gpg-key.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
title: Do you have a GPG key?
|
||||
category: other
|
||||
---
|
||||
|
||||
[Yep, here it is](https://keybase.io/lbry/key.asc).
|
||||
|
||||
<pre><code id="keybase-key"></code></pre>
|
||||
<script type="text/javascript">
|
||||
try {
|
||||
var request = new XMLHttpRequest();
|
||||
request.open('GET', 'https://keybase.io/lbry/key.asc', true);
|
||||
request.onload = function() {
|
||||
if (request.status >= 200 && request.status < 400) {
|
||||
el = document.getElementById('keybase-key');
|
||||
el.textContent = request.responseText;
|
||||
}
|
||||
};
|
||||
request.send();
|
||||
} catch(e) {}
|
||||
</script>
|
36
posts/news/54-shapeshift-adds-lbc.md
Normal file
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
author: lbry
|
||||
title: 'ShapeShift Adds LBRY Credits! Instant Conversion to Bitcoin, Ethereum, and More'
|
||||
date: '2016-08-08 00:06:18'
|
||||
---
|
||||
*LBC now traded on the fastest, safest digital asset exchange in the world.*
|
||||
|
||||
As of today, LBRY Credits (LBC) are now available for exchange with other digital assets on [ShapeShift.io](https://shapeshift.io/#/coins). Using the groundbreaking service, anyone can exchange their preferred digital currency for LBRY Credits (LBC) instantly with no account, no emails, and no passwords.
|
||||
|
||||

|
||||
|
||||
ShapeShift founder and CEO [Erik Voorhees](https://en.wikipedia.org/wiki/Erik_Voorhees) commented on the announcement:
|
||||
|
||||
>“The world is improved by the existence of LBRY – an innovative method of content dissemination – and we’re honored to add it to ShapeShift. I’ve been watching the LBRY project for months, and am thrilled to make it instantly available for trading with all other leading digital assets.”
|
||||
|
||||
Following the [July 4th launch](https://lbry.io/news/beta-live-declare-independence-big-media) of LBRY’s beta and live blockchain, LBRY Credits have been listed on both the well-known [Bittrex](https://www.bittrex.com/Market/Index?MarketName=BTC-LBC) and [Poloniex](https://poloniex.com/exchange#btc_lbc) exchanges. This gave cryptocoin markets global access to LBC. As a result, the appcoin’s value has gone from essentially nothing to today’s trading price of about US$0.26. On top of that, the hashrate of the LBRY blockchain grew by 693,000% in the first 10 days after the launch of beta, and another 2X since then – to about 1.7 TH/s today.
|
||||
|
||||
Listing on ShapeShift is expected to bring additional depth and liquidity to LBC. ShapeShift is widely considered the most convenient digital asset exchange, and it also expands the potential of LBRY through its application programming interfaces (APIs). These will allow any developer to integrate LBC into third-party wallets and software platforms that are primarily designed around Bitcoin.
|
||||
|
||||
**While this is big news for LBC as a digital asset, it also has bearing on LBRY’s core purpose to enable content creators to connect with their fans.**
|
||||
|
||||
One of LBRY’s hurdles to mainstream acceptance – a barrier the founders have anticipated from the beginning – is making LBC a truly useful method of payment. *You’re a brilliant filmmaker who has just released his feature-length film on LBRY, and it’s a hit! The LBC are flowing into your wallet. Now what do you do with them?*
|
||||
|
||||
With ShapeShift, anyone who holds LBC will be able to quickly and securely exchange them for another cryptocurrency, such as Bitcoin. From there, creators can spend them anywhere Bitcoin is accepted – including Overstock, Amazon (via Purse), Gyft, Expedia, and a rapidly increasing number of brick-and-mortar stores.
|
||||
|
||||
And that process works in reverse. Content consumers will now be able to easily acquire LBC to make purchases on LBRY.
|
||||
|
||||
>”ShapeShift has dramatically lowered transaction costs between cryptocoins, creating a kind of 'universal translator' that allows people to use specialized coins for particular purposes but enjoy the benefits of Bitcoin's widespread use. It is an important milestone to have LBRY Credits listed there, and we are exploring ways to integrate ShapeShift into the LBRY protocol.” **- Mike Vine, LBRY Evangelist**
|
||||
|
||||
**About ShapeShift**
|
||||
|
||||
ShapeShift is how blockchain asset exchange should work. From start to finish users can convert digital assets in seconds, with no account required. No emails or passwords. No lengthy signup process. No accounts. No bid and ask orders. No friction. ShapeShift's goal is to be the fastest, safest, and most convenient way to trade digital assets. [ShapeShift Press Kit](https://info.shapeshift.io/press).
|
||||
|
||||
**About LBRY**
|
||||
|
||||
LBRY is a content-sharing and publishing platform that is decentralized and owned by its users. It allows content creators to post their works to the hosting network, set their price per view/download, and collect payment in a new cryptocoin called LBRY Credits. Since LBRY is a protocol as opposed to a centralized service, there is no entity to take a “cut” of transactions or change the terms in an attempt to “monetize” the product. It’s like a new extension of the internet for delivering all media – films, ebooks, songs, and apps – from creators directly to consumers with radical efficiency. [LBRY Press Kit](https://lbry.io/press-kit)
|
32
posts/news/55-fight-of-century.md
Normal file
|
@ -0,0 +1,32 @@
|
|||
---
|
||||
author: lbry
|
||||
title: 'LBRY Brings You the Fight of the Century'
|
||||
date: '2016-08-10 00:06:18'
|
||||
---
|
||||
LBRY is the junction where creativity and economics meet. It’s a place to share, but also a carefully designed marketplace to *reward* creators for their efforts. [Learn more about the economics of LBRY here](https://lbry.io/what). That’s why we are so pleased to have as a featured video, *Fight of the Century: Keynes vs. Hayek Rap Battle.*
|
||||
|
||||

|
||||
|
||||
*Fight of the Century* depicts a musical debate between economic heavyweights [Friedrich Hayek](https://en.wikipedia.org/wiki/Friedrich_Hayek) and [John Maynard Keynes](https://en.wikipedia.org/wiki/John_Maynard_Keynes). The film brilliantly contrasts Keynes’ penchant for government interventionism with Hayek’s free market approach. It’s a rap battle pitting central planning against spontaneous order.
|
||||
|
||||
Now this may sound like a real snoozer, but if you’re one of the millions of people who have watched the film, you know it’s anything but.
|
||||
|
||||
John Papola and Russ Roberts released the video in 2010. It does the seemingly impossible: make economic principles fun and entertaining. The characterizations are as sharp as they are hilarious. Keynes comes off as the publicly adored playboy and Hayek as the oft-snubbed underdog.
|
||||
|
||||
And it really is a rap battle!
|
||||
|
||||
Papola and Roberts brought some serious street-cred to the project and strike the perfect balance between nerdy and funny. Papola worked as a creative director at SpikeTV and learned Austrian economics listening to podcasts on his commute. Roberts is an economist affiliated with the [Mercatus Center at George Mason University](http://mercatus.org/).
|
||||
|
||||
Papola’s aptly named company [Emergent Order](http://emergentorder.com/) signed on as a featured content provider before [our beta launch on July 4](https://lbry.io/news/beta-live-declare-independence-big-media). The production company creates everything from feature films to virtual reality experiences. They call themselves “geeks with a heart.”
|
||||
|
||||
EO’s latest project is their first feature-length film: *[At The Fork](http://www.attheforkfilm.com/)* – “a film about husbandry and wife”. It stars Papola himself and his wife, Lisa Versaci, who “offer up a timely, entertaining, and unbiased look at how farm animals are raised for food.” EO has partnered with some big names to produce it – Whole Foods Market and The Humane Society of the United States. It was released just last month, and it’s already getting great reviews – [8.3 stars on IMDB](http://www.imdb.com/title/tt5726712/) and [100% critic reviews on Rotten Tomatoes](https://www.rottentomatoes.com/m/at_the_fork/).
|
||||
|
||||
With your help, LBRY may one day add *At The Fork* to its featured content, as well as EO’s other amazing works.
|
||||
|
||||
If you’ve received a LBRY beta invite, you can do us and yourself a favor by heading to [lbry://keynesvhayek](lbry://keynesvhayek) and watching *Fight of the Century: Keynes vs. Hayek Rap Battle* right now!
|
||||
|
||||
We think you’ll enjoy it, and your views will help prove to intrepid creators like EO that LBRY is the future of content distribution.
|
||||
|
||||
*Still waiting on your LBRY Beta invite? [Submit your original creative works](https://lbry.io/publish) for a chance to jump the queue and receive $1000 in LBRY Credits.*
|
||||
|
||||
|
29
posts/news/56-mde-on-lbry.md
Normal file
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
author: lbry
|
||||
title: 'Adult Swim's Million Dollar Extreme Joins LBRY'
|
||||
date: '2016-08-11 00:06:18'
|
||||
cover: 'mde.jpg'
|
||||
---
|
||||
[MillionDollarExtreme (MDE)](https://en.wikipedia.org/wiki/Million_Dollar_Extreme) is the first comedy series to become a [LBRY publishing partner](https://lbry.io/publish). MDE's classics are being added to LBRY, and you can start with:
|
||||
|
||||
- *[Sam Hyde’s 2070 Paradigm Shift](lbry://samhyde2070)* – The ultimate TEDx troll; an instant internet classic.
|
||||
- *[College Cunts](lbry://collegecunts)* – Practical and expertly vulgar advice for would-be college students.
|
||||
|
||||

|
||||
|
||||
MDE is a comedy sketch group featuring Sam Hyde, Charles Carroll, and Nick Rochefort. Their signature, fast-paced style of random jump-cuts, meaningless text overlays, crude humor, and nonsensical characters pushed boundaries several years ago. Now it’s practically internet gospel for cutting-edge satire and comedy.
|
||||
|
||||
MDE has since exploded from extremely super humble origins on YouTube to Adult Swim darlings, following in the footsteps of *[Tim & Eric](https://en.wikipedia.org/wiki/Tim_%26_Eric)* and *[Wonder Showzen](https://en.wikipedia.org/wiki/Wonder_Showzen)*.
|
||||
|
||||
In fact, tomorrow night you can catch episode two of their brand new Adult Swim series *[MillionDollarExtreme Presents: World Peace](http://www.adultswim.com/videos/schedule)*. Tune in at 9:15 PM PT on Friday and 12:45 AM PT on Saturday.
|
||||
|
||||
**When you're done, check out their O.G. videos.** Look for the following titles on LBRY:
|
||||
|
||||
- *[Williamsburg Fashion series](lbry://WilliamsburgFashion1)*
|
||||
- *[Boston Ross](lbry://BostonRoss)*
|
||||
- *[IDEAS Man](lbry://IDEASman)*
|
||||
- *[LA Street Fashion series](lbry://LAstreetFashion1)*
|
||||
|
||||
**Not on LBRY yet?** [Get an invite here](https://lbry.io/get). Just can’t wait? If you’re a creator – filmmaker, musician, artist, writer – you can skip our waiting list line and earn $1,000 in LBRY Credits at the same time. [Learn more here](https://lbry.io/publish).
|
||||
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
<?php NavActions::setNavUri('/learn') ?>
|
||||
<?php echo View::render('nav/_header', ['isDark' => false]) ?>
|
||||
<main>
|
||||
<div class="hero hero-quote hero-img hero-img-short spacer1" style="background-image: url(/img/fireworks.png)">
|
||||
<div class="hero hero-quote hero-img hero-img-short spacer1" style="background-image: url(/img/gold-piles.jpg)">
|
||||
<div class="hero-content-wrapper">
|
||||
<div class="hero-content text-center">
|
||||
<h1 class="cover-title">LBRY Bounties</h1>
|
||||
|
@ -39,19 +39,25 @@
|
|||
</section>
|
||||
<section class="content content-light">
|
||||
<?php if (count($bounties)): ?>
|
||||
<div class="tile-fluid clearfix spacer2">
|
||||
<div class="row-fluid">
|
||||
<?php $index = 0 ?>
|
||||
<?php foreach($bounties as $post): ?>
|
||||
<?php $metadata = $post->getMetadata() ?>
|
||||
<div class="span4">
|
||||
<a class="bounty-tile" href="<?php echo $post->getRelativeUrl() ?>">
|
||||
<div class="text-center spacer-half"><span class="icon-mega
|
||||
<?php switch($metadata['category']) {
|
||||
case 'ci': echo 'icon-wrench'; break;
|
||||
case 'android': echo 'icon-android'; break;
|
||||
case 'ios': echo 'icon-apple'; break;
|
||||
case 'osx':
|
||||
case 'ios':
|
||||
echo 'icon-apple'; break;
|
||||
case 'browser': echo 'icon-globe'; break;
|
||||
case 'web': echo 'icon-link'; break;
|
||||
case 'daemon': echo 'icon-server'; break;
|
||||
case 'human': echo 'icon-users'; break;
|
||||
case 'slack': echo 'icon-slack'; break;
|
||||
case 'code': echo 'icon-code'; break;
|
||||
case 'design': echo 'icon-image'; break;
|
||||
default: echo 'icon-dollar'; break;
|
||||
} ?>
|
||||
"></span></div>
|
||||
|
@ -59,6 +65,9 @@
|
|||
<?php echo View::render('bounty/_meta', ['metadata' => $metadata]) ?>
|
||||
</a>
|
||||
</div>
|
||||
<?php if (++$index % 3 == 0): ?>
|
||||
</div><div class="row-fluid">
|
||||
<?php endif ?>
|
||||
<?php endforeach ?>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
|
|
|
@ -34,6 +34,10 @@
|
|||
<div class="spacer1">
|
||||
<a href="/faq/bounties">Read the FAQ</a>
|
||||
</div>
|
||||
<h4>Want Live Help?</h4>
|
||||
<div class="spacer1">
|
||||
<a href="http://slack.lbry.io" class="link-primary">Join Our Chat</a>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
</section>
|
||||
</div>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<a href="/<?php echo $prevPost->getRelativeUrl() ?>" class="link-primary">‹ {{news.prev}}</a>
|
||||
</div>
|
||||
<div class="meta">
|
||||
<a href="/<?php echo $prevPost->getRelativeUrl() ?>">
|
||||
<a class="prev-next-title" href="/<?php echo $prevPost->getRelativeUrl() ?>">
|
||||
<?php echo htmlentities($prevPost->getTitle()) ?>
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
<p>While creating a protocol that we ourselves cannot control sounds chaotic, it is actually about establishing trust. Every other publishing system requires trusting an intermediary that can unilaterally change the rules on you. What happens when you build your business on YouTube or Amazon and they change fees? Or Apple drops your content because the Premier of China thought your comedy went too far?</p>
|
||||
|
||||
<p>Only LBRY consists of a known, promised set of rules that no one can unilaterally change. LBRY provides this by doing something unique: leaving the <em>users</em> in control rather than demanding that control for itself.</p>
|
||||
<footer id="note-decentralized"><sup>2</sup>If it worries you that LBRY's decentralized nature facilitates infringing or unsavory content, this is addressed in <a class="link-primary" Cohref="#combatting-the-ugly">Combatting the Ugly</a>.</footer>
|
||||
<footer id="note-decentralized"><sup>2</sup>If it worries you that LBRY's decentralized nature facilitates infringing or unsavory content, this is addressed in <a class="link-primary" href="#combatting-the-ugly">Combatting the Ugly</a>.</footer>
|
||||
</section>
|
||||
<section>
|
||||
<h2 id="sample-use">A Sample Use</h2>
|
||||
|
|
1
web/google164701be10959176.html
Normal file
|
@ -0,0 +1 @@
|
|||
google-site-verification: google164701be10959176.html
|
BIN
web/img/blog-covers/lbry+ss.png
Normal file
After Width: | Height: | Size: 372 KiB |
BIN
web/img/blog-covers/mde.jpg
Normal file
After Width: | Height: | Size: 80 KiB |
BIN
web/img/gold-piles.jpg
Normal file
After Width: | Height: | Size: 1.4 MiB |
BIN
web/img/news/lbryuiupgrade.png
Normal file
After Width: | Height: | Size: 139 KiB |
BIN
web/img/news/mde-sam-hyde.png
Normal file
After Width: | Height: | Size: 298 KiB |
BIN
web/img/news/reflector.png
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
web/img/news/shapeshift-lbry-logos.png
Normal file
After Width: | Height: | Size: 95 KiB |
|
@ -23,10 +23,15 @@ try
|
|||
}
|
||||
Controller::dispatch(strtok($_SERVER['REQUEST_URI'], '?'));
|
||||
}
|
||||
catch(Exception $e)
|
||||
catch(Throwable $e)
|
||||
{
|
||||
if (IS_PRODUCTION)
|
||||
{
|
||||
$slackErrorNotificationUrl = Config::get('slack_error_notification_url');
|
||||
if ($slackErrorNotificationUrl)
|
||||
{
|
||||
Curl::post($slackErrorNotificationUrl, ['text' => '<!everyone> ' . $e->__toString()], ['json_data' => true]);
|
||||
}
|
||||
throw $e;
|
||||
}
|
||||
|
||||
|
|
|
@ -97,6 +97,9 @@
|
|||
margin-right: auto;
|
||||
max-width: $max-post-content-width;
|
||||
margin-bottom: $spacing-vertical * 2;
|
||||
padding-left: $content-side-padding;
|
||||
padding-right: $content-side-padding;
|
||||
|
||||
a[href]:not([class])
|
||||
{
|
||||
@include anchor($color-primary);
|
||||
|
|
|
@ -19,7 +19,8 @@ pre
|
|||
margin-bottom: $spacing-vertical;
|
||||
border-left: .3rem solid $color-primary;
|
||||
padding: 10px 20px;
|
||||
white-space: pre-wrap;
|
||||
//white-space: pre-wrap;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
max-width: $max-text-width + 200;
|
||||
}
|
||||
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
padding-left: $content-side-padding;
|
||||
padding-right: $content-side-padding;
|
||||
|
||||
h1, h2, h3, h4
|
||||
{
|
||||
|
|
|
@ -19,6 +19,8 @@ $max-post-content-width: 800px;
|
|||
$font-header: 'Raleway', sans-serif;
|
||||
$font-body: 'Raleway', sans-serif;
|
||||
|
||||
$content-side-padding: 15px;
|
||||
|
||||
@mixin anchor($color)
|
||||
{
|
||||
color: $color;
|
||||
|
|