diff --git a/content/bio/andrey.md b/content/bio/andrey-beletsky.md similarity index 88% rename from content/bio/andrey.md rename to content/bio/andrey-beletsky.md index c98a6054..d262e2bd 100644 --- a/content/bio/andrey.md +++ b/content/bio/andrey-beletsky.md @@ -1,6 +1,6 @@ --- -name: Andrey -role: LBRY.tv Engineer -email: Andrey@lbry.com +name: Andrey Beletsky +role: Backend Engineer +email: andrey@lbry.com --- Andrey got into web programming twenty years ago and has done it all, from Perl CGI programming to UI design. At a turning point decided to focus on server-side applications, making exciting technologies accessible to both fellow developers and users. Easily fascinated by distributed and decentralized things. Values understandable code and can agonize over naming a variable for days. Works mostly when everyone is asleep. When not working, travels around South-East Asia, doing scuba diving wherever there’s water around. diff --git a/content/bio/drew-hancock.md b/content/bio/drew-hancock.md new file mode 100644 index 00000000..ad0e745f --- /dev/null +++ b/content/bio/drew-hancock.md @@ -0,0 +1,12 @@ +--- +name: Drew Hancock +role: Community Coordinator +email: drew@lbry.com +twitter: lockoutdays +--- + +Drew's role is to spread awareness of LBRY and get as many people using it as possible. +He's active in the LBRY community, which means he spends a lot of time on social media. +He also produces video content for the official LBRY and Odysee channels. + +Drew is from Missouri and is an avid Kansas City Chiefs fan. \ No newline at end of file diff --git a/content/bio/johnny-nelson.md b/content/bio/johnny-nelson.md new file mode 100644 index 00000000..8941b1ea --- /dev/null +++ b/content/bio/johnny-nelson.md @@ -0,0 +1,17 @@ +--- +name: Johnny Nelson +role: Senior Machine Learning Engineer +email: jbn@lbry.com +twitter: generativist +github: jbn +--- + +Johnny thinks a lot about how attention works on the internet. Having started programming in elementary +school, he became infatuated with how we communicate with and through computers. Eventually, he did +a Ph.D. studying belief systems computationally. Immediately afterwards he left academia, intent on +putting what he learned into practice. + +Johnny cares about the systems we inhabit -- how they allow us to exchange ideas and find each other. +In short, he's motivated by the premise that we can "engineer the noosphere." The internet and +everything after is still in early development! Given that he believes censorship-resistance is a +long-term evolutionary pressure, it doesn't make sense to work on a platform that doesn't treat it as a given. \ No newline at end of file diff --git a/content/bio/josh-finer.md b/content/bio/josh-finer.md index 5e20ffdf..29fc5277 100644 --- a/content/bio/josh-finer.md +++ b/content/bio/josh-finer.md @@ -1,6 +1,6 @@ --- name: Josh Finer -role: Founder, Director of Operations and Analytics +role: Founder, Director of Operations & Analytics email: josh@lbry.com twitter: finer9 github: finer9 diff --git a/content/bio/mark-beamer.md b/content/bio/mark-beamer.md index 77061388..7b870496 100644 --- a/content/bio/mark-beamer.md +++ b/content/bio/mark-beamer.md @@ -1,6 +1,6 @@ --- name: Mark Beamer -role: Backend and Database Engineer +role: Backend Engineer email: mark@lbry.com github: tiger5226 --- diff --git a/content/bio/niko-storni.md b/content/bio/niko-storni.md index 0d779e51..2e65cc57 100644 --- a/content/bio/niko-storni.md +++ b/content/bio/niko-storni.md @@ -1,6 +1,6 @@ --- name: Niko Storni -role: DevOps Engineer +role: Infrastructure Engineer email: Niko@lbry.com twitter: Nikooo777 github: Nikooo777 diff --git a/content/bio/roy-lee.md b/content/bio/roy-lee.md new file mode 100644 index 00000000..18ad8eb3 --- /dev/null +++ b/content/bio/roy-lee.md @@ -0,0 +1,18 @@ +--- +name: Roy Lee +role: Blockchain Engineering Manager +email: roylee@lbry.com +github: roylee17 +--- + +Roy is an outdoor enthusiast, an avid hiker, who has day hiked a few 14ners, including Mt. Whitney, +Langley, Shasta. Recently, he enjoyed his inaugural season of snowboarding at Tahoe, and can’t wait +for more seasons to come. + +Professionally, he is passionate about building software as well as teams. The broad interest in +software architectures, system design, distributed systems, and product development has led him +to the latest endeavor in LBRY. + +Prior to LBRY, he has built and scaled out the Cloud Native Edge Platform at TikTok, which serves +huge traffics around the globe. Before that, he also prototyped and led EMV payment products +developments in PayPal. \ No newline at end of file diff --git a/content/bio/xander-luciano.md b/content/bio/xander-luciano.md new file mode 100644 index 00000000..869f3256 --- /dev/null +++ b/content/bio/xander-luciano.md @@ -0,0 +1,8 @@ +--- +name: Xander Luciano +role: Application Engineer +email: xander@lbry.com +github: DispatchCommit +--- + +Xander works on the apps and livestreaming. \ No newline at end of file diff --git a/controller/Controller.class.php b/controller/Controller.class.php index f2006a12..2979a457 100644 --- a/controller/Controller.class.php +++ b/controller/Controller.class.php @@ -131,6 +131,8 @@ class Controller $router->any('/dmca', 'ReportActions::executeDmca'); $router->any('/dmca/{claimid}', 'ReportActions::executeDmcaWithClaimId'); + $router->any('/team/{slug}', 'TeamActions::executeBio'); + $router->any('/youtube/status/{token}', 'AcquisitionActions::executeYoutubeStatus'); $router->any('/youtube', 'AcquisitionActions::executeYouTube'); diff --git a/controller/action/ContentActions.class.php b/controller/action/ContentActions.class.php index ffd3b6d9..f30674b0 100644 --- a/controller/action/ContentActions.class.php +++ b/controller/action/ContentActions.class.php @@ -231,34 +231,43 @@ class ContentActions extends Actions { $person = $vars['person']; $path = 'bio/' . $person . '.md'; - list($metadata, $bioHtml) = View::parseMarkdown($path); - $imgSrc = 'https://spee.ch/@lbryteam:6/' . $person . '.jpg'; + [$metadata, $bioHtml] = View::parseMarkdown($path); return $vars + $metadata + [ - 'imgSrc' => $imgSrc, - 'bioHtml' => $bioHtml, - 'orientation' => 'vertical' - ]; + 'imgSrc' => '/img/bio/' . $person . '.jpg', + 'bioHtml' => $bioHtml, + ]; + } + + public static function prepareBioCirclePartial(array $vars): array + { + $post = ContentActions::prepareBioPartial(['person' => $vars['slug']]); + return [ + 'bioSlug' => $vars['slug'], + 'imgSrc' => $post['imgSrc'], + 'name' => $post['name'], + 'role' => $post['role'], + ]; } public static function preparePostAuthorPartial(array $vars): array { $post = $vars['post']; return [ - 'authorName' => $post->getAuthorName(), - 'photoImgSrc' => $post->getAuthorPhoto(), - 'authorBioHtml' => $post->getAuthorBioHtml(), - 'authorGithub' => $post->getAuthorGithubID(), - 'authorTwitter' => $post->getAuthorTwitterID(), - 'authorEmail' => $post->getAuthorPostEmail() - ]; + 'authorName' => $post->getAuthorName(), + 'photoImgSrc' => $post->getAuthorPhoto(), + 'authorBioHtml' => $post->getAuthorBioHtml(), + 'authorGithub' => $post->getAuthorGithubID(), + 'authorTwitter' => $post->getAuthorTwitterID(), + 'authorEmail' => $post->getAuthorPostEmail() + ]; } public static function preparePostListPartial(array $vars): array { $count = $vars['count'] ?? 3; return [ - 'posts' => array_slice(Post::find(static::VIEW_FOLDER_NEWS, Post::SORT_DATE_DESC), 0, $count) - ]; + 'posts' => array_slice(Post::find(static::VIEW_FOLDER_NEWS, Post::SORT_DATE_DESC), 0, $count) + ]; } public static function executePostCategoryFilter(string $category) { @@ -269,29 +278,29 @@ class ContentActions extends Actions $posts = array_filter( Post::find(static::VIEW_FOLDER_NEWS, Post::SORT_DATE_DESC), function (Post $post) use ($category) { - return (($post->getCategory() === $category) && (!$post->getDate() || $post->getDate()->format('U') <= date('U'))); - } + return (($post->getCategory() === $category) && (!$post->getDate() || $post->getDate()->format('U') <= date('U'))); + } ); return ['content/news', [ - 'posts' => $posts, - View::LAYOUT_PARAMS => [ - 'showRssLink' => true - ] - ]]; + 'posts' => $posts, + View::LAYOUT_PARAMS => [ + 'showRssLink' => true + ] + ]]; } public static function prepareJobsPartial(array $vars) { $jobs = - array_filter( - array_map('View::parseMarkdown', glob(static::VIEW_FOLDER_JOBS . '/*')), - function ($job) { - return $job[0]['status'] !== 'closed'; - } - ); + array_filter( + array_map('View::parseMarkdown', glob(static::VIEW_FOLDER_JOBS . '/*')), + function ($job) { + return $job[0]['status'] !== 'closed'; + } + ); usort($jobs, function ($jobA, $jobB) { if ($jobA[0]['status'] === 'active' xor $jobB[0]['status'] === 'active') { diff --git a/controller/action/TeamActions.class.php b/controller/action/TeamActions.class.php new file mode 100644 index 00000000..9114cc7a --- /dev/null +++ b/controller/action/TeamActions.class.php @@ -0,0 +1,16 @@ + $slug]]; + } +} diff --git a/view/template/content/_bio.php b/view/template/content/_bio.php index c9deed36..da753d2d 100644 --- a/view/template/content/_bio.php +++ b/view/template/content/_bio.php @@ -33,6 +33,10 @@
+ +

+ +
diff --git a/view/template/content/_bioCircle.php b/view/template/content/_bioCircle.php new file mode 100644 index 00000000..a5329b67 --- /dev/null +++ b/view/template/content/_bioCircle.php @@ -0,0 +1,7 @@ +
+ + + +
+ +
\ No newline at end of file diff --git a/view/template/content/bio.php b/view/template/content/bio.php new file mode 100644 index 00000000..1b356c07 --- /dev/null +++ b/view/template/content/bio.php @@ -0,0 +1,16 @@ + + + + +
+
+
+

The Team

+

Teamwork makes the dream work

+
+
+ + $slug, 'showName' => true]) ?> + +
+ diff --git a/view/template/page/team.php b/view/template/page/team.php index 458977fe..da49ce79 100644 --- a/view/template/page/team.php +++ b/view/template/page/team.php @@ -5,49 +5,31 @@
-

{{page.team.header}}

-

Teamwork makes the dream work.

+

The Team

+

Teamwork makes the dream work

-
-
-

Leadership

-
+ ['jeremy-kauffman', 'alex-grintsvayg'], + "Technical" => ['lex-berezhny', 'brannon-king', 'jack-robison', 'akinwale-ariwodola', + 'andrey-beletsky', 'niko-storni', 'mark-beamer', 'roy-lee', 'johnny-nelson'], + "Growth" => ['julian-chandra', 'drew-hancock'], + "Business" => ['josh-finer', 'tom-zarebczan'], + "Advisory Team" => ['alex-tabarrok', 'ray-carballada', 'stephan-kinsella', 'michael-huemer'], + ] ?> - - $bioSlug]) ?> - -
- -
-
-

Technical

-
- - - $bioSlug]) ?> - -
- -
-
-

Business

-
- - - $bioSlug]) ?> - -
- -
-
-

{{page.team.advisory}}

-
- - - $bioSlug]) ?> - -
+ $members): ?> +
+
+

+
+
+ + $bioSlug]) ?> + +
+
+
diff --git a/web/img/bio/akinwale-ariwodola.jpg b/web/img/bio/akinwale-ariwodola.jpg new file mode 100644 index 00000000..906ef35c Binary files /dev/null and b/web/img/bio/akinwale-ariwodola.jpg differ diff --git a/web/img/bio/alex-grintsvayg.jpg b/web/img/bio/alex-grintsvayg.jpg new file mode 100644 index 00000000..7b2ba5c2 Binary files /dev/null and b/web/img/bio/alex-grintsvayg.jpg differ diff --git a/web/img/bio/alex-tabarrok.jpg b/web/img/bio/alex-tabarrok.jpg new file mode 100644 index 00000000..577cb20c Binary files /dev/null and b/web/img/bio/alex-tabarrok.jpg differ diff --git a/web/img/bio/andrey-beletsky.jpg b/web/img/bio/andrey-beletsky.jpg new file mode 100644 index 00000000..3d2a652d Binary files /dev/null and b/web/img/bio/andrey-beletsky.jpg differ diff --git a/web/img/bio/brannon-king.jpg b/web/img/bio/brannon-king.jpg new file mode 100644 index 00000000..a7269804 Binary files /dev/null and b/web/img/bio/brannon-king.jpg differ diff --git a/web/img/bio/brinck-slattery.jpg b/web/img/bio/brinck-slattery.jpg new file mode 100644 index 00000000..5b64ac37 Binary files /dev/null and b/web/img/bio/brinck-slattery.jpg differ diff --git a/web/img/bio/drew-hancock.jpg b/web/img/bio/drew-hancock.jpg new file mode 100644 index 00000000..54f3b47f Binary files /dev/null and b/web/img/bio/drew-hancock.jpg differ diff --git a/web/img/bio/jack-robison.jpg b/web/img/bio/jack-robison.jpg new file mode 100644 index 00000000..a0a37271 Binary files /dev/null and b/web/img/bio/jack-robison.jpg differ diff --git a/web/img/bio/jeremy-kauffman.jpg b/web/img/bio/jeremy-kauffman.jpg new file mode 100644 index 00000000..213136de Binary files /dev/null and b/web/img/bio/jeremy-kauffman.jpg differ diff --git a/web/img/bio/johnny-nelson.jpg b/web/img/bio/johnny-nelson.jpg new file mode 100644 index 00000000..33eef751 Binary files /dev/null and b/web/img/bio/johnny-nelson.jpg differ diff --git a/web/img/bio/josh-finer.jpg b/web/img/bio/josh-finer.jpg new file mode 100644 index 00000000..9a87a381 Binary files /dev/null and b/web/img/bio/josh-finer.jpg differ diff --git a/web/img/bio/julian-chandra.jpg b/web/img/bio/julian-chandra.jpg new file mode 100644 index 00000000..f7418cfa Binary files /dev/null and b/web/img/bio/julian-chandra.jpg differ diff --git a/web/img/bio/julie-sigwart.jpg b/web/img/bio/julie-sigwart.jpg new file mode 100644 index 00000000..ea362f8b Binary files /dev/null and b/web/img/bio/julie-sigwart.jpg differ diff --git a/web/img/bio/kay-kurokawa.jpg b/web/img/bio/kay-kurokawa.jpg new file mode 100644 index 00000000..6b3bbe5d Binary files /dev/null and b/web/img/bio/kay-kurokawa.jpg differ diff --git a/web/img/bio/lex-berezhny.jpg b/web/img/bio/lex-berezhny.jpg new file mode 100644 index 00000000..56fb5002 Binary files /dev/null and b/web/img/bio/lex-berezhny.jpg differ diff --git a/web/img/bio/mark-beamer.jpg b/web/img/bio/mark-beamer.jpg new file mode 100644 index 00000000..c3b94696 Binary files /dev/null and b/web/img/bio/mark-beamer.jpg differ diff --git a/web/img/bio/michael-huemer.jpg b/web/img/bio/michael-huemer.jpg new file mode 100644 index 00000000..2296e4a2 Binary files /dev/null and b/web/img/bio/michael-huemer.jpg differ diff --git a/web/img/bio/niko-storni.jpg b/web/img/bio/niko-storni.jpg new file mode 100644 index 00000000..ab9d3caf Binary files /dev/null and b/web/img/bio/niko-storni.jpg differ diff --git a/web/img/bio/ray-carballada.jpg b/web/img/bio/ray-carballada.jpg new file mode 100644 index 00000000..92628791 Binary files /dev/null and b/web/img/bio/ray-carballada.jpg differ diff --git a/web/img/bio/rob-smith.jpg b/web/img/bio/rob-smith.jpg new file mode 100644 index 00000000..d8d99123 Binary files /dev/null and b/web/img/bio/rob-smith.jpg differ diff --git a/web/img/bio/roy-lee.jpg b/web/img/bio/roy-lee.jpg new file mode 100644 index 00000000..a13cfe71 Binary files /dev/null and b/web/img/bio/roy-lee.jpg differ diff --git a/web/img/bio/samuel-lbryian.jpg b/web/img/bio/samuel-lbryian.jpg new file mode 100644 index 00000000..29cd070f Binary files /dev/null and b/web/img/bio/samuel-lbryian.jpg differ diff --git a/web/img/bio/sean-yesmunt.jpg b/web/img/bio/sean-yesmunt.jpg new file mode 100644 index 00000000..99fef17a Binary files /dev/null and b/web/img/bio/sean-yesmunt.jpg differ diff --git a/web/img/bio/stephan-kinsella.jpg b/web/img/bio/stephan-kinsella.jpg new file mode 100644 index 00000000..2fe2a2f9 Binary files /dev/null and b/web/img/bio/stephan-kinsella.jpg differ diff --git a/web/img/bio/tom-zarebczan.jpg b/web/img/bio/tom-zarebczan.jpg new file mode 100644 index 00000000..83cc937c Binary files /dev/null and b/web/img/bio/tom-zarebczan.jpg differ diff --git a/web/img/bio/xander-luciano.jpg b/web/img/bio/xander-luciano.jpg new file mode 100644 index 00000000..69b90bcf Binary files /dev/null and b/web/img/bio/xander-luciano.jpg differ diff --git a/web/scss/components/_author.scss b/web/scss/components/_author.scss index 23b69fab..d01d03be 100644 --- a/web/scss/components/_author.scss +++ b/web/scss/components/_author.scss @@ -16,3 +16,42 @@ background-color: rgba($lbry-teal-1, 0.3); } } + +//https://www.webfx.com/blog/web-design/circular-images-css/ +.team-members { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; + + .bio-circle { + margin: 1.5rem 2rem; + } +} + +.bio-circle { + text-align: center; + + a { + margin-bottom: 0.5rem; + margin-left: auto; + margin-right: auto; + display: block; + position: relative; + width: 200px; + height: 200px; + overflow: hidden; + border-radius: 50%; + //filter: grayscale(100%); + //&:hover { + // filter: none; + //} + + img { + display: block; + max-width: 250px; + width: 100%; + height: auto; + max-height: none; + } + } +}