This commit is contained in:
Alex Grintsvayg 2016-04-13 11:54:12 -04:00
parent f2c34f7382
commit 88b5a42399
32 changed files with 176 additions and 50 deletions

View file

@ -44,17 +44,17 @@ class Post
return $this->contentHtml; return $this->contentHtml;
} }
public function getPrevPostSlug() public function getPrevPost()
{ {
$slugs = array_keys(Blog::getSlugMap()); $slugs = array_keys(Blog::getSlugMap());
$key = array_search($this->getSlug(), $slugs); $key = array_search($this->getSlug(), $slugs);
return $key === false || $key === 0 ? null : $slugs[$key-1]; return $key === false || $key === 0 ? null : Blog::getPost($slugs[$key-1]);
} }
public function getNextPostSlug() public function getNextPost()
{ {
$slugs = array_keys(Blog::getSlugMap()); $slugs = array_keys(Blog::getSlugMap());
$key = array_search($this->getSlug(), $slugs); $key = array_search($this->getSlug(), $slugs);
return $key === false || $key >= count($slugs)-1 ? null : $slugs[$key+1]; return $key === false || $key >= count($slugs)-1 ? null : Blog::getPost($slugs[$key+1]);
} }
} }

View file

@ -21,7 +21,7 @@ As I recently traveled across Europe, and ultimately to [PorcFest](www.porcfest.
##### Join Mailing List ##### Join Mailing List
<div id="mc_embed_signup"> <div id="mc_embed_signup">
<form action="//lbry.us9.list-manage.com/subscribe/post?u=6dff893a9da0ab62d6704afc9&amp;id=7b74c90030" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate> <form action="//lbry.us9.list-manage.com/subscribe/post?u=6dff893a9da0ab62d6704afc9&id=7b74c90030" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
<div id="mc_embed_signup_scroll" > <div id="mc_embed_signup_scroll" >
<div class="mc-field-group" style="margin-bottom: 10px"> <div class="mc-field-group" style="margin-bottom: 10px">
<label for="mce-EMAIL">Email Address </label> <label for="mce-EMAIL">Email Address </label>

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: mike
title: 'Introducing LBRY: The Bitcoin of Content' title: 'Introducing LBRY: The Bitcoin of Content'
date: '2015-09-09 13:28:35' date: '2015-09-09 13:28:35'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: jimmy
title: Why Not Use Bitcoin? A Dialogue title: Why Not Use Bitcoin? A Dialogue
date: '2015-09-23 17:57:00' date: '2015-09-23 17:57:00'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: mike
title: Mike Vine Joins LBRY as Technology Evangelist title: Mike Vine Joins LBRY as Technology Evangelist
date: '2015-10-22 15:55:07' date: '2015-10-22 15:55:07'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: lbry
title: "LBRY Gets Content Creators Out of Precarious Position - Daily Decrypt's Amanda B. Johnson" title: "LBRY Gets Content Creators Out of Precarious Position - Daily Decrypt's Amanda B. Johnson"
date: '2015-10-26 15:10:51' date: '2015-10-26 15:10:51'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: mike
title: Renowned IP Attorney Kinsella Joins LBRY As Legal Advisor title: Renowned IP Attorney Kinsella Joins LBRY As Legal Advisor
date: '2015-10-29 13:57:25' date: '2015-10-29 13:57:25'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: lbry
title: 'Digging Into LBRY: Our Inspiration & The Future of Content' title: 'Digging Into LBRY: Our Inspiration & The Future of Content'
date: '2015-11-05 21:08:22' date: '2015-11-05 21:08:22'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: lbry
title: Its Time To Liberate Anne Franks Diary title: Its Time To Liberate Anne Franks Diary
date: '2015-11-18 14:27:39' date: '2015-11-18 14:27:39'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: lbry
title: 'Free LBRY Credits: Come and Get Em!' title: 'Free LBRY Credits: Come and Get Em!'
date: '2015-11-24 19:43:59' date: '2015-11-24 19:43:59'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: lbry
title: Open a Valve to Gush Classic Movies title: Open a Valve to Gush Classic Movies
date: '2015-12-02 19:04:36' date: '2015-12-02 19:04:36'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: lbry
title: GMU Economist Alex Tabarrok Joins LBRY title: GMU Economist Alex Tabarrok Joins LBRY
date: '2015-12-07 17:33:37' date: '2015-12-07 17:33:37'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: lbry
title: 'Web 3.0 with Albert K Lu: Movies, Songs, and Books with No Gatekeepers (Sorry iTunes)' title: 'Web 3.0 with Albert K Lu: Movies, Songs, and Books with No Gatekeepers (Sorry iTunes)'
date: '2015-12-09 16:38:00' date: '2015-12-09 16:38:00'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: lbry
title: 'BraveNewCoin Compares LBRY to Alexandria: Who Will Be the First to Supplant BitTorrent?' title: 'BraveNewCoin Compares LBRY to Alexandria: Who Will Be the First to Supplant BitTorrent?'
date: '2015-12-17 21:55:57' date: '2015-12-17 21:55:57'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: mike
title: Our Christmas Surprise! title: Our Christmas Surprise!
date: '2015-12-24 02:27:31' date: '2015-12-24 02:27:31'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: lbry
title: LBRY Blockchain App Can Now Tell Right From Wrong title: LBRY Blockchain App Can Now Tell Right From Wrong
date: '2015-12-30 14:59:29' date: '2015-12-30 14:59:29'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: lbry
title: Jack Robison Escaped 60 Years in Prison; Now Hes Revolutionizing the Internet title: Jack Robison Escaped 60 Years in Prison; Now Hes Revolutionizing the Internet
date: '2015-12-31 17:10:59' date: '2015-12-31 17:10:59'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: lbry
title: LBRY Means Business With Addition of Josh Finer, MBA title: LBRY Means Business With Addition of Josh Finer, MBA
date: '2016-01-06 15:11:11' date: '2016-01-06 15:11:11'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: jack
title: The DMCA's Chilling Effect on Security Research and Innovation title: The DMCA's Chilling Effect on Security Research and Innovation
date: '2016-01-14 16:31:51' date: '2016-01-14 16:31:51'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: lbry
title: 'LBRY App Sneak Peak + Big Questions Answered - LBRY on #Blocktalk Last Night' title: 'LBRY App Sneak Peak + Big Questions Answered - LBRY on #Blocktalk Last Night'
date: '2016-01-15 19:17:12' date: '2016-01-15 19:17:12'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: lbry
title: Try LBRY's Graphical Interface On OS X El Capitan title: Try LBRY's Graphical Interface On OS X El Capitan
date: '2016-01-23 00:15:31' date: '2016-01-23 00:15:31'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: lbry
title: Wikimedia Forced to Remove Anne Frank's Diary title: Wikimedia Forced to Remove Anne Frank's Diary
date: '2016-02-12 19:21:53' date: '2016-02-12 19:21:53'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: lbry
title: 'If LBRY Succeeds, Humanity Wins: LBRY CEO on Lions of Liberty Podcast' title: 'If LBRY Succeeds, Humanity Wins: LBRY CEO on Lions of Liberty Podcast'
date: '2016-02-17 17:45:37' date: '2016-02-17 17:45:37'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: lbry
title: LBRY Exposes Itself to World; Adds Mad Scientist to Team title: LBRY Exposes Itself to World; Adds Mad Scientist to Team
date: '2016-03-02 18:12:13' date: '2016-03-02 18:12:13'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: lbry
title: Why Doesnt LBRY Just Use Bitcoin? title: Why Doesnt LBRY Just Use Bitcoin?
date: '2016-03-17 13:31:10' date: '2016-03-17 13:31:10'
--- ---

View file

@ -1,5 +1,5 @@
--- ---
author: jeremy author: lbry
title: 'Built for Artists by Autists: LBRY Takes Autism Personally' title: 'Built for Artists by Autists: LBRY Takes Autism Personally'
date: '2016-03-21 20:06:18' date: '2016-03-21 20:06:18'
--- ---

View file

@ -15,6 +15,9 @@ class BlogActions extends Actions
public static function executeHome() public static function executeHome()
{ {
$posts = Blog::getPosts(); $posts = Blog::getPosts();
usort($posts, function(Post $a, Post $b) {
return strcasecmp($b->getDate()->format('Y-m-d'), $a->getDate()->format('Y-m-d'));
});
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1; $page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
return ['blog/home', [ return ['blog/home', [
'posts' => $posts, 'posts' => $posts,

View file

@ -1,15 +1,19 @@
<?php Response::setMetaDescription('Access information and content in ways you never dreamed possible. Earn credits for your unused bandwidth and diskspace.') ?> <?php Response::setMetaDescription('Access information and content in ways you never dreamed possible. Earn credits for your unused bandwidth and diskspace.') ?>
<?php echo View::render('nav/header', ['isDark' => false]) ?> <?php echo View::render('nav/header', ['isDark' => false]) ?>
<main> <main>
<div class="content"> <div class="hero hero-quote hero-img spacer2" style="background-image: url(/img/frontdesk.jpg)">
<h1>The Front Desk</h1> <div class="hero-content-wrapper">
News and musings from the LBRY team. <div class="hero-content blog-header">
<h1>The Front Desk</h1>
<p>News and musings from the LBRY team.</p>
</div>
</div>
</div> </div>
<section class="content"> <section class="content post-list">
<?php foreach($posts as $post): ?> <?php foreach($posts as $post): ?>
<div> <div>
<a href="/blog/<?php echo $post->getSlug() ?>"><h2><?php echo $post->getTitle() ?></h2></a> <a href="/blog/<?php echo $post->getSlug() ?>"><?php echo $post->getTitle() ?></a>
<h4><?php echo $post->getDate()->format('Y-m-d') ?></h4> <span title="<?php echo $post->getDate()->format('F jS, Y') ?>"><?php echo $post->getDate()->format('M j') ?></span>
</div> </div>
<?php endforeach ?> <?php endforeach ?>
</section> </section>

View file

@ -1,20 +1,74 @@
<?php Response::setMetaDescription($post->getTitle()) ?> <?php Response::setMetaDescription($post->getTitle()) ?>
<?php echo View::render('nav/header') ?> <?php echo View::render('nav/header') ?>
<main class='blog'> <main class='blog-post'>
<header class="content">
<a href="/blog"><< Return to LBRY Front Desk</a>
</header>
<div class="content"> <div class="content">
<h1><?php echo $post->getTitle() ?></h1> <div class="date" title="<?php echo $post->getDate()->format('F jS, Y') ?>">
<h2><?php echo $post->getAuthor() ?></h2> <?php echo $post->getDate()->format('M j') ?>
<h3><?php echo $post->getDate()->format('Y-m-d') ?></h3> </div>
<h1><?php echo htmlentities($post->getTitle()) ?></h1>
<?php echo $post->getContentHtml() ?> <?php echo $post->getContentHtml() ?>
</div> </div>
<footer class="content">
<?php if ($prevSlug = $post->getPrevPostSlug()): ?> <nav class="content prev-next row-fluid">
<a href="/blog/<?php echo $prevSlug ?>"><< Previous</a> <div class="prev span5">
<?php endif ?> <?php if ($prevPost = $post->getPrevPost()): ?>
<?php if ($nextSlug = $post->getNextPostSlug()): ?> <div class="prev-next-label">
<a href="/blog/<?php echo $nextSlug ?>">Next >></a> <a href="/blog/<?php echo $prevPost->getSlug() ?>"><< Previous</a>
<?php endif ?> </div>
</footer> <a class="prev-next-title" href="/blog/<?php echo $prevPost->getSlug() ?>">
<?php echo htmlentities($prevPost->getTitle()) ?>
</a>
<?php endif ?>
</div>
<div class="next span2"></div>
<div class="next span5">
<?php if ($nextPost = $post->getNextPost()): ?>
<div class="prev-next-label">
<a href="/blog/<?php echo $nextPost->getSlug() ?>">Next >></a>
</div>
<a class="prev-next-title" href="/blog/<?php echo $nextPost->getSlug() ?>">
<?php echo htmlentities($nextPost->getTitle()) ?>
</a>
<?php endif ?>
</div>
</nav>
<section class="author">
<div class="content">
<em>Author</em>
<?php switch(strtolower($post->getAuthor())):
case 'jeremy' ?>
<h2>Jeremy Kauffman</h2>
<p>
Jeremy is the creator of TopScore (usetopscore.com), LBRY (lbry.io), and that joke where the first two items in your list are serious while the third one is a run-on sentence.
</p>
<?php break ?>
<?php case 'mike': ?>
<h2>Mike Vine</h2>
<?php break ?>
<?php case 'jimmy': ?>
<h2>Jimmy Kiselak</h2>
<?php break ?>
<?php case 'jack': ?>
<h2>Jack Robison</h2>
<p>
Jack was one of the first people to discover LBRY and took to it so fast he may understand more about it than anyone. He has Asperger's Syndrome and is actively involved in the autism community.
</p>
<?php break ?>
<?php case 'lbry': ?>
<h2>Samuel Bryan</h2>
<p>
Much of our writing is a collaboration between LBRY team members, so we use SamueL BRYan to share credit. Sam has become a friend... an imaginary friend... even though we're adults...
</p>
<?php break ?>
<?php endswitch ?>
</div>
</section>
</main> </main>
<?php echo View::render('nav/footer') ?> <?php echo View::render('nav/footer') ?>

View file

@ -12,7 +12,7 @@
'LBRY' ?> 'LBRY' ?>
<title><?php echo $title ?></title> <title><?php echo $title ?></title>
<link href='https://fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,600|Raleway:300,300italic,600' rel='stylesheet' type='text/css'> <link href='https://fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,600|Raleway:300,300italic,400,600' rel='stylesheet' type='text/css'>
<link href="/css/all.css" rel="stylesheet" type="text/css" media="screen,print" /> <link href="/css/all.css" rel="stylesheet" type="text/css" media="screen,print" />
<link rel="apple-touch-icon" sizes="60x60" href="/img/fav/apple-touch-icon-60x60.png"> <link rel="apple-touch-icon" sizes="60x60" href="/img/fav/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="114x114" href="/img/fav/apple-touch-icon-114x114.png"> <link rel="apple-touch-icon" sizes="114x114" href="/img/fav/apple-touch-icon-114x114.png">

BIN
web/img/frontdesk.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

View file

@ -1,6 +1,71 @@
@import "global"; @import "global";
.blog {
.blog-post {
.date {
margin-top: $spacing-vertical * 2;
}
h1 {
font-size: 2em;
margin-top: 0 !important;
}
p, li { p, li {
font-weight: 400; font-weight: 400;
} }
img + p {
margin-top: $spacing-vertical;
}
.prev-next {
margin-top: $spacing-vertical * 2;
margin-bottom: $spacing-vertical * 2;
.prev-next-label {
font-weight: 700;
}
.next {
text-align: right;
}
}
blockquote {
padding-left: 40px;
border-left: solid 8px #f2f2f2;
}
.author {
background-color: #f2f2f2;
.content {
padding-top: $spacing-vertical * 2;
padding-bottom: $spacing-vertical * 2;
}
h2 {
font-weight: 400;
margin-top: 0;
text-transform: uppercase;
}
}
}
.blog-header {
font-size: 2em;
h1 {
font-weight: 400;
&:after {
clear: right;
}
}
}
.post-list {
font-family: $bodyFont;
margin-bottom: $spacing-vertical * 2;
div {
margin-bottom: $spacing-vertical;
}
a {
font-weight: 400;
}
span {
margin-left: 10px;
}
} }