mirror of
https://github.com/LBRYFoundation/lbry.com.git
synced 2025-08-31 17:31:26 +00:00
Merge branch 'master' into patch-4
This commit is contained in:
commit
2f7e005522
25 changed files with 190 additions and 70 deletions
18
content/bounty/automatic-app-updates.md
Normal file
18
content/bounty/automatic-app-updates.md
Normal file
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
category: browser
|
||||
title: Automatic App Updates
|
||||
award: 1000
|
||||
status: available
|
||||
date: '2017-07-22'
|
||||
---
|
||||
|
||||
The LBRY app currently does not update itself automatically, however electron does support this feature.
|
||||
|
||||
To complete this bounty, [lbry-app](https://github.com/lbryio/lbry-app) must be modified as follows:
|
||||
|
||||
- Detect when a new latest release is available, download it and prompt the user with a "Restart LBRY" / "I'll do it later" dialog to have the update take effect.
|
||||
- Parse the changelog for the latest release, if it contains `Security` items carry out the update automatically without presenting the "I'll do it later" option.
|
||||
- When an update begins store an update-history tracking file detailing what the version being updated is, what version it is being updated to, and when the update happened.
|
||||
- Upon starting the app after an update, alert the user that the update was successful (and note if it contained security updates), and update the history file to indicate that the update was successful.
|
||||
|
||||
It is probably a good idea to consult with our development team on [Slack](https://slack.lbry.io) or via email before completing this bounty in it's entirety.
|
|
@ -6,22 +6,45 @@ status: available
|
|||
date: '2016-07-01'
|
||||
---
|
||||
|
||||
Add support for the BitTorrent protocol to [`lbry`](https://github.com/lbryio/lbry).
|
||||
Add support for the BitTorrent protocol to [`lbrynet`](https://github.com/lbryio/lbry) and [`lbryschema`](https://www.github.com/lbryio/lbryschema).
|
||||
|
||||
The LBRY blockchain supports storing metadata about media content. A simplified, sample entry looks like:
|
||||
The LBRY blockchain supports storing metadata that can be resolved by a human friendly uri.
|
||||
This metadata is defined by a flexible protobuf based schema, [lbryschema](https://www.github.com/lbryio/lbryschema).
|
||||
|
||||
A simple example 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"
|
||||
{
|
||||
"version": "_0_0_1",
|
||||
"claimType": "streamType",
|
||||
"stream": {
|
||||
"source": {
|
||||
"source": "d5169241150022f996fa7cd6a9a1c421937276a3275eb912790bd07ba7aec1fac5fd45431d226b8fb402691e79aeb24b",
|
||||
"version": "_0_0_1",
|
||||
"contentType": "video/mp4",
|
||||
"sourceType": "lbry_sd_hash"
|
||||
},
|
||||
"version": "_0_0_1",
|
||||
"metadata": {
|
||||
"license": "LBRY inc",
|
||||
"description": "What is LBRY? An introduction with Alex Tabarrok",
|
||||
"language": "en",
|
||||
"author": "Samuel Bryan",
|
||||
"title": "What is LBRY?",
|
||||
"version": "_0_1_0",
|
||||
"nsfw": false,
|
||||
"licenseUrl": "",
|
||||
"preview": "",
|
||||
"thumbnail": "https://s3.amazonaws.com/files.lbry.io/logo.png"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
The `sources` field is designed to be extended and support resolution to multiple protocols. To complete this the LBRY daemon must be modified to:
|
||||
The [source field](https://github.com/lbryio/lbryschema/blob/master/lbryschema/proto/source.proto) is designed to be extended and support resolution to multiple protocols. To complete this, lbryschema and lbrynet 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
|
||||
- Support the `sourceType` of `btih` in source.proto in lbryschema
|
||||
- Add a BitTorrent downloader and factory for use in `EncryptedFileManager`, to be used as an alternative to `ManagedEncryptedFileDownloader`
|
||||
- Use all of this to resolve a BTIH from a claim and download data via BitTorrent when requested
|
||||
- Probably a lot more stuff!
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
category: web
|
||||
title: Typos and Edits
|
||||
award: 10
|
||||
award: 5
|
||||
status: available
|
||||
date: '2016-11-01'
|
||||
---
|
||||
|
@ -10,4 +10,4 @@ This bounty is awarded for finding and correcting a typo, misspelling, or poor p
|
|||
|
||||
This includes everything from low-level help messages or comments in code to the copy of the website itself.
|
||||
|
||||
Please initiate a pull-request on GitHub to receive this bounty.
|
||||
Please initiate a pull request on GitHub to receive this bounty.
|
||||
|
|
|
@ -57,7 +57,7 @@ Should LBRY make placements from this fund, it will seek long-term engagements a
|
|||
|
||||
## 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.
|
||||
The Institutional Fund is 100m LBC reserved for the formation of institutional partnerships, and for grants, donations, and other ways of strengthening relationships with organizations of need or like-mindedness.
|
||||
|
||||
Sample usages of this fund include:
|
||||
|
||||
|
|
|
@ -9,4 +9,5 @@ We are listed on several exchanges. You can buy or sell credits at one of these:
|
|||
- [Poloniex](https://poloniex.com/exchange#btc_lbc)
|
||||
- [Shapeshift](https://shapeshift.io)
|
||||
- [Changelly](https://changelly.com/exchange/BTC/LBC/1)
|
||||
- [BitSquare](https://bitsquare.io/)
|
||||
- [BitSquare](https://bitsquare.io/)
|
||||
- [Cryptopia](https://www.cryptopia.co.nz/Exchange/?market=LBC_BTC)
|
||||
|
|
|
@ -7,8 +7,7 @@ Right now, it's simple: you host what you download.
|
|||
|
||||
While the LBRY app is running, it communicates to the network what
|
||||
content you're making available. If somebody downloads content from
|
||||
you, you will receive LBRY Credits (LBC) for that. The prices are
|
||||
currently set by the app and can't be changed.
|
||||
you, you will receive LBRY credits (LBC) for the data you upload.
|
||||
|
||||
Think of it like how torrents or any other peer-to-peer (P2P) service
|
||||
works. First you download a file from the hosts that have it available.
|
||||
|
|
|
@ -3,4 +3,4 @@ title: How do I stop LBRY from the command line?
|
|||
category: setup
|
||||
---
|
||||
|
||||
You can ctrl-c or run `stop-lbrynet-daemon`. It is natural for the program to take 2-3 seconds to close.
|
||||
You can press `ctrl-c` or run `lbrynet-cli daemon_stop`. It is natural for the program to take 2-3 seconds to close.
|
||||
|
|
|
@ -12,3 +12,4 @@ While we try to work with reliable pool operators, LBRY does not officially run
|
|||
- [MaxMiners](https://maxminers.net/lbry/index.php?page=gettingstarted)
|
||||
- [YIIMP](http://yiimp.ccminer.org/site/mining/lbry)
|
||||
- [CoinQuarry](https://mining.coinquarry.org/)
|
||||
- [AikaPool](https://aikapool.com/lbry/index.php?page=gettingstarted)
|
||||
|
|
|
@ -3,4 +3,13 @@ title: Is there a standalone wallet?
|
|||
category: wallet
|
||||
---
|
||||
|
||||
Yes, please visit [Coinomi](http://www.coinomi.com) to download their excellent wallet.
|
||||
Yes, please visit [Coinomi](http://www.coinomi.com) to download their excellent and easy to use wallet.
|
||||
|
||||
For technical users we have [lbrycrd](https://github.com/lbryio/lbrycrd/releases), a full blockchain node very similar to bitcoind. You'll need to set up a `lbrycrd.conf` file in the `lbrycrd` [directory for your OS](https://lbry.io/faq/lbry-directories) with values for `rpcuser` and `rpcpassword` provided. For example:
|
||||
|
||||
```
|
||||
rpcuser=lbryrpc
|
||||
rpcpassword=do_not_copy_paste_this_password
|
||||
```
|
||||
|
||||
The lbrycrdd daemon can be started with `lbrycrdd -server -printtoconsole`. For help using the command line, `lbrycrd-cli help`.
|
||||
|
|
|
@ -3,6 +3,4 @@ title: How can I see the log in the terminal?
|
|||
category: developer
|
||||
---
|
||||
|
||||
Run LBRY with the `--log-to-console` flag set:
|
||||
|
||||
lbrynet-daemon --log-to-console
|
||||
Simply run `lbry`, or the daemon `lbrynet-daemon`, in a terminal.
|
||||
|
|
31
content/news/117-jordanbpeterson.md
Normal file
31
content/news/117-jordanbpeterson.md
Normal file
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
author: reilly
|
||||
title: 'The Root of All Good'
|
||||
date: '2017-06-23 00:10:00'
|
||||
cover: 'jordan-banner.jpg'
|
||||
---
|
||||
People do strange things for seemingly mystical reasons.
|
||||
|
||||
Jordan Peterson cuts through the myst and gets to the heart of, well, everyone’s heart.
|
||||
|
||||

|
||||
|
||||
A professor and psychologist at the University of Toronto, Dr. Peterson has lectured, written and made videos covering some of the most deeply profound topics of our time in an accessible way. From [postmodernism](lbry://jp-Urd0IK0WEWU), to what the Bible [says about our relationship to authority](lbry://jp-R-GPAl-q2QQ), to [debating house bill C16](lbry://jp-KnIAAkSNtqo), he covers the root of humanity’s collective psychology in earnest.
|
||||
|
||||
A commenter on his Biblical series summarized his channel best:
|
||||
|
||||
📂Documents
|
||||
|
||||
└📁Videos
|
||||
|
||||
└📁 Jordan B Peterson
|
||||
└📁 Bad Videos
|
||||
└⚠️ This folder is empty
|
||||
|
||||
Check out some of the best lectures on LBRY at:
|
||||
|
||||
- lbry://@JordanBPeterson
|
||||
|
||||
You can learn more about Dr. Peterson, and [pre-order his next book](https://jordanbpeterson.com/12-rules-for-life/), here on his [website](https://jordanbpeterson.com/).
|
||||
|
||||
**Not on LBRY yet?** [Get an invite here](https://lbry.io/get). Know the meaning of life? Email reilly@lbry.io because he’s desperate to know. Or sync your channel at: https://api.lbry.io/yt/connect
|
23
content/news/118-lukehall.md
Normal file
23
content/news/118-lukehall.md
Normal file
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
author: reilly
|
||||
title: 'Young Gun'
|
||||
date: '2017-06-29 00:10:00'
|
||||
cover: 'lukehall-banner.jpg'
|
||||
---
|
||||
Continuing with our slate of indie musicians is a young, entrepreneurial artist we found on Twitter.
|
||||
|
||||
When we mean LBRY enables anyone to monetize content, we mean from the biggest Disneys to the self-made fresh EPs of artists taking their first leap of faith. It’s a level playing field.
|
||||
|
||||

|
||||
|
||||
Luke Hall recently released his debut EP, and spent no time learning the ropes of LBRY. I was so blown away by his commitment to learning LBRY hands-on after a shout-out on Twitter.
|
||||
|
||||
This is the first channel I know on LBRY to host a variety of multimedia options--hat tip to Matt Skokol for [his musicians guide to publishing](https://medium.com/@heymattsokol/how-to-upload-and-sell-your-music-on-lbry-fa4f299413a1)--from music videos to mp3 streams to a full downloadable album, everything a musician could offer is available on Luke Hall’s LBRY channel at a variety of prices.
|
||||
|
||||
Please do yourselves the honor, and get your indie electronica on at:
|
||||
|
||||
<a href='lbry://@iamlukehall'>@iamlukehall</a>
|
||||
|
||||
<a href='lbry://pieceofmind-mp3bundle'>pieceofmind-mp3bundle</a>
|
||||
|
||||
**Not on LBRY yet?** [Get an invite here](https://lbry.io/get). Can you make sick beats? Email reilly@lbry.io because he’s still listening to the same things he did at university eight years ago. Or sync your channel at: https://api.lbry.io/yt/connect
|
|
@ -14,17 +14,16 @@ On our [official bounty page](https://lbry.io/bounty), you’ll find details for
|
|||
|
||||
The bounty list will be constantly growing, so bookmark it and check in regularly for updates. You’ll currently find:
|
||||
|
||||
- [Adding support for BitTorrent](https://lbry.io/bounty/bittorrent-support) – 4,000 LBC
|
||||
- [Add transaction history to LBRY browser](https://lbry.io/bounty/transaction-history) – 2,000 LBC
|
||||
- [Modified block explorer](https://lbry.io/bounty/modified-block-explorer) – 1,500 LBC
|
||||
- [PKG installer for OS X](https://lbry.io/bounty/pkg-installer-for-osx) – 1,500 LBC
|
||||
- [Create URL handler for Slack](https://lbry.io/bounty/slack-lbry-url-handler) – 1,000 LBC
|
||||
- [Internationalization of lbry.io](https://lbry.io/bounty/web-i18n) – 1,000 LBC
|
||||
- [LBRY Community Rep](https://lbry.io/bounty/lbry-club) – 500 LBC
|
||||
- [Write, broadcast or share LBRY](https://lbry.io/bounty/pr-for-lbry) – 500 LBC
|
||||
- [Create social media cover images](https://lbry.io/bounty/social-media-cover-images) - 400 LBC
|
||||
- [Publish open content](https://lbry.io/bounty/publish-open-content) – 250-1,000+ LBC
|
||||
- [Refer a publisher to LBRY](https://lbry.io/bounty/refer-publisher) – 100 LBC
|
||||
- [Adding support for BitTorrent](https://lbry.io/bounty/bittorrent-support) – 17,660 LBC
|
||||
- [Adding support for HTTP](https://lbry.io/bounty/http-support) – 5,220 LBC
|
||||
- [Internationalization of lbry.io](https://lbry.io/bounty/web-i18n) – 3,530 LBC
|
||||
- [LBRY Community Rep](https://lbry.io/bounty/lbry-club) – 530 LBC
|
||||
- [Write, broadcast or share LBRY](https://lbry.io/bounty/pr-for-lbry) – 440 LBC
|
||||
- [Publish open content](https://lbry.io/bounty/publish-open-content) – 500-10,000+ LBC
|
||||
- [Refer a publisher to LBRY](https://lbry.io/bounty/refer-publisher) – 440 LBC
|
||||
- [Automatic App Updates](https://lbry.io/bounty/automatic-app-updates) – 1,740 LBC
|
||||
- [Custom Project](https://lbry.io/bounty/custom-project) – 250-50,000+ LBC
|
||||
- [Typos and Edits](https://lbry.io/bounty/typos-and-edits) – 5-10 LBC
|
||||
|
||||
You can even [pitch us your own custom project](https://lbry.io/bounty/custom-project) and earn as much as *20,000 LBC* (reward determined by LBRY team).
|
||||
|
||||
|
|
|
@ -134,7 +134,7 @@ class Controller
|
|||
'/api' => 'https://lbryio.github.io/lbry',
|
||||
'/api-help' => 'https://lbryio.github.io/lbry',
|
||||
'/security' => '/faq/security',
|
||||
'/live' => 'https://www.youtube.com/channel/UCXAcp3dJuPqeUekOacsuyaQ',
|
||||
'/live' => 'https://www.youtube.com/watch?v=WM60vLOCRps', //'https://www.youtube.com/channel/UCXAcp3dJuPqeUekOacsuyaQ',
|
||||
];
|
||||
|
||||
|
||||
|
|
|
@ -220,9 +220,9 @@ class ContentActions extends Actions
|
|||
{
|
||||
$lastItem = end($items);
|
||||
$project = $lastItem['project'];
|
||||
if (!isset($projectMaxVersions[$project]) || strnatcasecmp($lastItem['version'], $projectMaxVersions[$project]) > 0)
|
||||
if (!isset($projectMaxVersions[$project]) || $lastItem['sort_key'] > $projectMaxVersions[$project])
|
||||
{
|
||||
$projectMaxVersions[$project] = $lastItem['version'];
|
||||
$projectMaxVersions[$project] = $lastItem['sort_key'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
10
lib/thirdparty/Asana.class.php
vendored
10
lib/thirdparty/Asana.class.php
vendored
|
@ -19,7 +19,7 @@ class Asana
|
|||
$tasks = [];
|
||||
|
||||
$tags = [
|
||||
192699565737944 => 'Ongoing',
|
||||
192699565737944 => 'Open Beta',
|
||||
192699565737946 => 'Upcoming',
|
||||
192699565737948 => 'Future'
|
||||
];
|
||||
|
@ -40,12 +40,14 @@ class Asana
|
|||
else
|
||||
{
|
||||
$projectName = 'Other';
|
||||
$projectId = null;
|
||||
}
|
||||
$tasks[$tagLabel][] = array_intersect_key($fullTask, ['name' => null]) + [
|
||||
'badge' => $projectName,
|
||||
'date' => $fullTask['due_on'] ?? null,
|
||||
'body' => nl2br($fullTask['notes']) ,
|
||||
'body' => nl2br($fullTask['notes']),
|
||||
'group' => $tagLabel,
|
||||
'project_id' => $projectId,
|
||||
'assignee' => $fullTask['assignee'] ? ucwords($fullTask['assignee']['name']) : ''
|
||||
];
|
||||
}
|
||||
|
@ -64,6 +66,10 @@ class Asana
|
|||
{
|
||||
return $tA['date'] ? -1 : 1;
|
||||
}
|
||||
if ($tA['project_id'] xor $tB['project_id'])
|
||||
{
|
||||
return $tA['project_id'] ? -1 : 1;
|
||||
}
|
||||
return $tA['date'] < $tB['date'] ? -1 : 1;
|
||||
});
|
||||
}
|
||||
|
|
62
lib/thirdparty/Github.class.php
vendored
62
lib/thirdparty/Github.class.php
vendored
|
@ -106,21 +106,24 @@ class Github
|
|||
$sets = [];
|
||||
$allReleases = [];
|
||||
|
||||
$project = 'lbry';
|
||||
$page = 1;
|
||||
$projects = ['lbry' => 'Daemon', 'lbry-app' => 'App'];
|
||||
|
||||
do
|
||||
foreach($projects as $project => $projectLabel)
|
||||
{
|
||||
$releases = static::get('/repos/lbryio/' . $project . '/releases?page=' . $page, $cache);
|
||||
$page++;
|
||||
$allReleases = array_merge($allReleases, array_map(function ($release) use ($project)
|
||||
$page = 1;
|
||||
do
|
||||
{
|
||||
return $release + ['project' => $project];
|
||||
}, array_filter($releases, function ($release)
|
||||
{
|
||||
return ($release['tag_name'] ?? null) && ($release['published_at'] ?? null) && !$release['prerelease'];
|
||||
})));
|
||||
} while (count($releases) >= 30);
|
||||
$releases = static::get('/repos/lbryio/' . $project . '/releases?page=' . $page, $cache);
|
||||
$page++;
|
||||
$allReleases = array_merge($allReleases, array_map(function ($release) use ($project, $projectLabel)
|
||||
{
|
||||
return $release + ['project' => $projectLabel];
|
||||
}, array_filter($releases, function ($release)
|
||||
{
|
||||
return isset($release['tag_name']) && isset($release['published_at']) && $release['published_at'];
|
||||
})));
|
||||
} while (count($releases) >= 30);
|
||||
}
|
||||
|
||||
foreach ($allReleases as $release)
|
||||
{
|
||||
|
@ -128,23 +131,36 @@ class Github
|
|||
$matches = null;
|
||||
if (preg_match('/^v(\d+)\.(\d+)\./', $release['tag_name'] ?? '', $matches))
|
||||
{
|
||||
$group = 'v' . $matches[1] . '.' . $matches[2];
|
||||
$group = $release['project'] . ' v' . $matches[1] . '.' . $matches[2];
|
||||
}
|
||||
if ($group)
|
||||
{
|
||||
$sets[$group][] = [
|
||||
'project' => $release['project'],
|
||||
'date' => date('Y-m-d', strtotime($release['created_at'])),
|
||||
'created_at' => $release['created_at'],
|
||||
'name' => $release['name'] ?: $release['tag_name'],
|
||||
'url' => $release['html_url'],
|
||||
'version' => $release['tag_name'],
|
||||
'body' => ParsedownExtra::instance()->text($release['body'])
|
||||
];
|
||||
$sets[$group][] = array_intersect_key($release, [
|
||||
'prerelease' => null, 'tag_name' => null, 'published_at' => null, 'project' => null
|
||||
]) + [
|
||||
'date' => date('Y-m-d', strtotime($release['created_at'])),
|
||||
//I thought published_at, but GitHub displays created_at and published_at is out of sync sometimes (0.3.2, 0.3.3)
|
||||
'name' => $release['name'] ?: $release['tag_name'],
|
||||
'url' => $release['html_url'],
|
||||
'major_version' => (int)$matches[1],
|
||||
'minor_version' => (int)$matches[2],
|
||||
'patch_version' => (int)isset($matches[3]) ? $matches[3] : 0,
|
||||
'sort_key' => (int)$matches[1] * 1000000 + (int)$matches[2] * 1000 + (int)($matches[3] ?? 0),
|
||||
'version' => $matches[1] . '.' . $matches[2] . '.' . (isset($matches[3]) ? $matches[3] : ''),
|
||||
'body' => ParsedownExtra::instance()->text($release['body'])
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
uasort($sets, function ($sA, $sB) { return $sA[0]['created_at'] <=> $sB[0]['created_at']; });
|
||||
uasort($sets, function ($sA, $sB)
|
||||
{
|
||||
if ($sA[0]['project'] != $sB[0]['project'])
|
||||
{
|
||||
return $sA[0]['project'] < $sB[0]['project'] ? -1 : 1;
|
||||
}
|
||||
return $sA[0]['sort_key'] < $sB[0]['sort_key'] ? -1 : 1;
|
||||
});
|
||||
|
||||
foreach ($sets as $group => &$groupSet)
|
||||
{
|
||||
usort($groupSet, function ($rA, $rB) { return $rA['created_at'] <=> $rB['created_at']; });
|
||||
|
|
2
lib/thirdparty/Mailgun.class.php
vendored
2
lib/thirdparty/Mailgun.class.php
vendored
|
@ -13,7 +13,7 @@ class Mailgun
|
|||
{
|
||||
list($status, $headers, $body) = static::post('/' . static::MAIL_DOMAIN . '/messages', [
|
||||
'from' => 'LBRY <mail@' . static::MAIL_DOMAIN . '>',
|
||||
'to' => 'jeremy@lbry.io',
|
||||
'to' => 'help@lbry.io',
|
||||
'subject' => 'DMCA Report #' . $data['report_id'],
|
||||
'html' => '<pre>' . var_export($data, true) . '</pre>',
|
||||
'o:tracking-clicks' => 'no',
|
||||
|
|
|
@ -29,15 +29,15 @@
|
|||
<div class="text-center"><a href="javascript:;" class="link-primary show-all-roadmap-groups">Show Earlier Releases</a></div>
|
||||
<?php foreach($items as $group => $groupItems): ?>
|
||||
<?php $lastItem = end($groupItems) ?>
|
||||
<?php $isOpen = !isset($lastItem['project']) || !isset($lastItem['version']) || $lastItem['version'] === $projectMaxVersions[$lastItem['project']] ?>
|
||||
<?php $isOpen = !isset($lastItem['project']) || !isset($lastItem['sort_key']) || $lastItem['sort_key'] === $projectMaxVersions[$lastItem['project']] ?>
|
||||
<h2 class="roadmap-group-title" <?php echo !$isOpen ? 'style="display: none"' : '' ?>">
|
||||
<span class="roadmap-group-title-label">
|
||||
<?php echo $group ?> <?php echo isset($lastItem['version']) && $lastItem['version'] === $projectMaxVersions[$lastItem['project']] ? '(latest)' : '' ?>
|
||||
<?php echo $group ?> <?php echo isset($lastItem['sort_key']) && $lastItem['sort_key'] === $projectMaxVersions[$lastItem['project']] ? '(latest)' : '' ?>
|
||||
</span>
|
||||
</h2>
|
||||
<div class="roadmap-group <?php echo !$isOpen ? 'roadmap-group-closed' : '' ?>">
|
||||
<?php $lastItem = end($groupItems) ?>
|
||||
<?php $maxItems = isset($lastItem['version']) ? 1 : count($groupItems) ?>
|
||||
<?php $maxItems = isset($lastItem['sort_key']) ? 1 : count($groupItems) ?>
|
||||
<?php $index = 0 ?>
|
||||
<?php if (count($groupItems) > $maxItems): ?>
|
||||
<div class="text-center spacer1"><a href="javascript:;" class="link-primary show-all-roadmap-group-items">Show All Items for <?php echo $group ?></a></div>
|
||||
|
|
|
@ -8,11 +8,7 @@
|
|||
<ul>
|
||||
<li><h3>Learned the basics of the LBRY API.</h3></li>
|
||||
<li><h3>Irrevocably inscribed a piece of knowledge. Possibly of a cat.</h3>
|
||||
<div class="meta">
|
||||
<sup>1</sup>USD price equivalent of <?php echo DeveloperActions::DEVELOPER_REWARD ?> LBC as received from the <a href="https://bittrex.com/Market/Index?MarketName=BTC-LBC" class="link-primary">Bittrex</a> exchange.
|
||||
LBC is a cryptographic blockchain token used to secure and administer LBRY's shared, distributed catalog. The future is weird.
|
||||
</div>
|
||||
</li>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="text-center">
|
||||
<a href="/quickstart/<?php echo $firstStep ?>" class="btn-alt">Begin the Guide</a>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<h3>{{title.refer}}</h3>
|
||||
<p>{{page.refer.earn1}} <?php echo i18n::formatCredits($prefineryUser['id'] < 75000 ? 10 : 5) ?> {{page.refer.earn2}}</p>
|
||||
<p>{{page.refer.earn1}} <?php echo i18n::formatCredits($prefineryUser['id'] < 75000 ? 10 : (date('Y-m-d') > '2017-06-19' ? 2.5 : 5)) ?> {{page.refer.earn2}}</p>
|
||||
<p>
|
||||
<input type="text" value="<?php echo Request::getHostAndProto() ?>/get?r=<?php echo $referralCode ?>" style="width: 100%; border-color: #155B4A" readonly id="referral-url-input"/>
|
||||
<?php js_start() ?>
|
||||
|
|
BIN
web/img/blog-covers/jordan-banner.jpg
Normal file
BIN
web/img/blog-covers/jordan-banner.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 71 KiB |
BIN
web/img/blog-covers/lukehall-banner.jpg
Normal file
BIN
web/img/blog-covers/lukehall-banner.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 47 KiB |
BIN
web/img/news/jordan-inline.jpg
Normal file
BIN
web/img/news/jordan-inline.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 43 KiB |
BIN
web/img/news/lukehall-inline.jpg
Normal file
BIN
web/img/news/lukehall-inline.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 85 KiB |
Loading…
Add table
Reference in a new issue