news: add author picture, nicer looks (#71)

This commit is contained in:
VDawg 2024-10-09 01:20:46 +03:00 committed by GitHub
parent 9f8e87bf1a
commit 0de6e85eac
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 83 additions and 42 deletions

View file

@ -1,8 +1,10 @@
--- ---
title: Hyprland 0.37.0 + 2 year anniversary! title: Hyprland 0.37.0 + 2 year anniversary!
date: 1710548497 date: 1710548497
author: Vaxry author:
authorLink: https://github.com/vaxerski/ name: Vaxry
link: https://github.com/vaxerski/
picture: /imgs/profile_pictures/vaxry.webp
--- ---
It's march 16th, and as such we're celebrating the 2 year anniversary of Hyprland! It's march 16th, and as such we're celebrating the 2 year anniversary of Hyprland!

View file

@ -1,8 +1,10 @@
--- ---
title: Wallpaper contest winners title: Wallpaper contest winners
date: 1706570428 date: 1706570428
author: Vaxry author:
authorLink: https://github.com/vaxerski/ name: Vaxry
link: https://github.com/vaxerski/
picture: /imgs/profile_pictures/vaxry.webp
--- ---
The competition has ended, we got some great submissions, and have finally managed to narrow down 3 winners. The competition has ended, we got some great submissions, and have finally managed to narrow down 3 winners.

View file

@ -1,8 +1,10 @@
--- ---
title: Hyprland is now fully independent! title: Hyprland is now fully independent!
date: 1721559307 date: 1721559307
author: Vaxry author:
authorLink: https://github.com/vaxerski/ name: Vaxry
link: https://github.com/vaxerski/
picture: /imgs/profile_pictures/vaxry.webp
--- ---
With great pleasure may I announce that our move off of wlroots is now complete and [MR 6608](https://github.com/hyprwm/Hyprland/pull/6608) is With great pleasure may I announce that our move off of wlroots is now complete and [MR 6608](https://github.com/hyprwm/Hyprland/pull/6608) is

View file

@ -1,8 +1,10 @@
--- ---
title: A Hyprland mega-release 0.40.0 title: A Hyprland mega-release 0.40.0
date: 1714838440 date: 1714838440
author: Vaxry author:
authorLink: https://github.com/vaxerski/ name: Vaxry
link: https://github.com/vaxerski/
picture: /imgs/profile_pictures/vaxry.webp
--- ---
Changing over 15,000 lines of code, the Hyprland 0.40.0 update has finally dropped. This Changing over 15,000 lines of code, the Hyprland 0.40.0 update has finally dropped. This

View file

@ -1,8 +1,10 @@
--- ---
title: A huge Hyprland release 0.41.0 title: A huge Hyprland release 0.41.0
date: 1718030074 date: 1718030074
author: Vaxry author:
authorLink: https://github.com/vaxerski/ name: Vaxry
link: https://github.com/vaxerski/
picture: /imgs/profile_pictures/vaxry.webp
--- ---
Just as we thought 0.40.0 was a mega-release, we now proudly present 0.41.0, which is almost twice as sizeable. Just as we thought 0.40.0 was a mega-release, we now proudly present 0.41.0, which is almost twice as sizeable.

View file

@ -1,8 +1,10 @@
--- ---
title: Hyprland 0.43.0 released! title: Hyprland 0.43.0 released!
date: 1725814920 date: 1725814920
author: Vaxry author:
authorLink: https://github.com/vaxerski/ name: Vaxry
link: https://github.com/vaxerski/
picture: /imgs/profile_pictures/vaxry.webp
--- ---
Quite a while after 0.42.0, 0.43.0 has finally been released. Quite a while after 0.42.0, 0.43.0 has finally been released.

View file

@ -1,8 +1,10 @@
--- ---
title: Hyprland 0.44.0 is out! title: Hyprland 0.44.0 is out!
date: 1728213146 date: 1728213146
author: Vaxry author:
authorLink: https://github.com/vaxerski/ name: Vaxry
link: https://github.com/vaxerski/
picture: /imgs/profile_pictures/vaxry.webp
--- ---
0.44.0 is finally upon us! 0.44.0 is finally upon us!

View file

@ -1,8 +1,10 @@
--- ---
title: We're hosting a Hyprland wallpaper contest! title: We're hosting a Hyprland wallpaper contest!
date: 1702852617 date: 1702852617
author: Vaxry author:
authorLink: https://github.com/vaxerski/ name: Vaxry
link: https://github.com/vaxerski/
picture: /imgs/profile_pictures/vaxry.webp
--- ---
To all artists, designers and enjoyers of graphics: this is a piece of news for you! To all artists, designers and enjoyers of graphics: this is a piece of news for you!

View file

@ -120,7 +120,7 @@ export function getRandom(array) {
return array.at(Math.floor(Math.random() * array.length)) return array.at(Math.floor(Math.random() * array.length))
} }
export function formatDate(date, dateStyle = 'medium', locales = 'en') { export function formatDate(date, dateStyle = 'long', locales = 'en') {
const dateToFormat = new Date(date) const dateToFormat = new Date(date)
const dateFormatter = new Intl.DateTimeFormat(locales, { dateStyle }) const dateFormatter = new Intl.DateTimeFormat(locales, { dateStyle })

View file

@ -8,6 +8,8 @@
export let data export let data
</script> </script>
<div class="fancy-top-gradient" />
<section> <section>
<div class="hero-wrapper"> <div class="hero-wrapper">
<div class="japanese" aria-hidden="true"> <div class="japanese" aria-hidden="true">
@ -16,7 +18,6 @@
'ベンソンハウス-デイアングルオン:地面にスニーカー。カメラが上に移動して、バリーベンソンのベッドルームアングルを表示します。バリーの手がクローゼットの中でさまざまなセーターをめくっています。バリーイエローブラック、イエローブラック、イエローブラック、イエローブラック、イエローブラック、イエローブラック...うーん、ブラックとイエロー...アングル:バリーが選んだセーターを着て、鏡を見て。バリー(続き)ええ、少し振りましょう彼は黒と黄色のものを選びます。彼はそれから流しに行き、蜂蜜の容器を外し、髪に蜂蜜を入れます。彼は口の中でいくつか潮吹きしてうがいをします。それから彼はボトルの蓋を外し、デオドラントのようにいくつかを転がします。カット' 'ベンソンハウス-デイアングルオン:地面にスニーカー。カメラが上に移動して、バリーベンソンのベッドルームアングルを表示します。バリーの手がクローゼットの中でさまざまなセーターをめくっています。バリーイエローブラック、イエローブラック、イエローブラック、イエローブラック、イエローブラック、イエローブラック...うーん、ブラックとイエロー...アングル:バリーが選んだセーターを着て、鏡を見て。バリー(続き)ええ、少し振りましょう彼は黒と黄色のものを選びます。彼はそれから流しに行き、蜂蜜の容器を外し、髪に蜂蜜を入れます。彼は口の中でいくつか潮吹きしてうがいをします。それから彼はボトルの蓋を外し、デオドラントのようにいくつかを転がします。カット'
</div> </div>
</div> </div>
<div class="gradient_" />
<Title> <Title>
<TitleHeading slot="title" class="">Hall of Fame</TitleHeading> <TitleHeading slot="title" class="">Hall of Fame</TitleHeading>
<TitleSubtile slot="subtitle" class="class-w-[40ch]"> <TitleSubtile slot="subtitle" class="class-w-[40ch]">
@ -69,15 +70,6 @@
margin-bottom: min(-10vh, -6rem); margin-bottom: min(-10vh, -6rem);
} }
.gradient_ {
position: absolute;
inset: 0;
z-index: -1000;
mask-image: radial-gradient(70% 50% at 50% 0%, white 70%, transparent);
background: url('/imgs/grain.webp'),
radial-gradient(70% 50% at 50% 0%, theme(colors.cyan.500 / 40%), transparent);
}
.japanese { .japanese {
position: relative; position: relative;
width: 100%; width: 100%;

View file

@ -68,6 +68,8 @@
<title>Hyprland News</title> <title>Hyprland News</title>
</svelte:head> </svelte:head>
<div class="fancy-top-gradient" />
<section> <section>
<header class="header"> <header class="header">
<pre class="spinner-wrapper" bind:this={asciiElement} /> <pre class="spinner-wrapper" bind:this={asciiElement} />
@ -89,7 +91,7 @@
<style lang="postcss"> <style lang="postcss">
section { section {
@apply relative flex min-h-screen flex-col items-center justify-center gap-14 overflow-hidden px-6; @apply relative flex min-h-screen flex-col items-center justify-center gap-14 overflow-hidden px-6 lg:px-12 xl:px-12;
} }
.header { .header {
@ -107,6 +109,7 @@
} }
.spinner-wrapper { .spinner-wrapper {
mix-blend-mode: color-dodge;
@apply mb-4 flex items-center justify-center bg-gradient-to-tr from-blue-500/0 to-cyan-500 bg-clip-text text-transparent animate-in fade-in-0; @apply mb-4 flex items-center justify-center bg-gradient-to-tr from-blue-500/0 to-cyan-500 bg-clip-text text-transparent animate-in fade-in-0;
animation-duration: 2000ms; animation-duration: 2000ms;
font-size: min(1vh, 1rem); font-size: min(1vh, 1rem);

View file

@ -3,6 +3,7 @@
import TitleHeading from '$lib/components/Title/TitleHeading.svelte' import TitleHeading from '$lib/components/Title/TitleHeading.svelte'
import Title from '$lib/components/Title/TitleWrapper.svelte' import Title from '$lib/components/Title/TitleWrapper.svelte'
import NewsThumb from '$lib/components/news-thumb.svelte' import NewsThumb from '$lib/components/news-thumb.svelte'
import clsx from 'clsx'
export let data export let data
</script> </script>
@ -13,25 +14,44 @@
<meta property="og:title" content={data.meta.title} /> <meta property="og:title" content={data.meta.title} />
</svelte:head> </svelte:head>
<div class="fancy-top-gradient fad animate-in" />
<article <article
class="mx-auto mt-navbar flex max-w-4xl flex-col gap-6 px-6 pt-20 md:gap-8 md:px-8 lg:mt-32 lg:gap-14" class="mx-auto mt-navbar flex max-w-4xl flex-col gap-4 px-6 pt-20 md:gap-8 md:px-8 lg:mt-32 lg:gap-14"
> >
<hgroup class="flex flex-col gap-5 duration-1000 animate-in fade-in-0 slide-in-from-bottom-4"> <hgroup
class="flex flex-col items-start gap-8 duration-1000 animate-in fade-in-0 slide-in-from-bottom-4"
>
<h1 class="text-4xl font-bold lg:text-6xl">{data.meta.title}</h1> <h1 class="text-4xl font-bold lg:text-6xl">{data.meta.title}</h1>
<div class="font-medium text-slate-300"> <div class="flex items-center gap-8 text-base font-medium text-slate-400">
<time datetime={new Date(data.meta.date * 1000).toISOString()}
>Published on {formatDate(data.meta.date * 1000)}</time
>
{#if data.meta.author} {#if data.meta.author}
by <svelte:element
{#if data.meta.authorLink} this={data.meta.author.link ? 'a' : 'div'}
<a href={data.meta.authorLink} rel="authro" target="_blank" class="hover:underline" href={data.meta.author.link}
>{data.meta.author}</a rel="author"
> target="_blank"
{:else} class={clsx(
{data.meta.author} 'flex items-center gap-3 rounded-full bg-slate-700/50 px-4 py-2 text-base font-medium text-slate-300 ',
{/if} data.meta.author.link && 'transition-colors hover:bg-slate-700/70 hover:text-slate-200'
)}
>
{#if data.meta.author.picture}
<img
class="size-10 rounded-full"
src={data.meta.author.picture}
alt={`Picture of ${data.meta.author.name}`}
/>
{/if}
<div class="">
{#if data.meta.author.name}
by {data.meta.author.name}
{/if}
</div>
</svelte:element>
{/if} {/if}
<time class="" datetime={new Date(data.meta.date * 1000).toISOString()}
>{formatDate(data.meta.date * 1000)}</time
>
</div> </div>
</hgroup> </hgroup>

View file

@ -76,3 +76,13 @@ body {
0%,50%,to { opacity: 0 } 0%,50%,to { opacity: 0 }
66.667%,83.333% { opacity: 1 } 66.667%,83.333% { opacity: 1 }
} }
.fancy-top-gradient {
--sizethis: 70% 800px at 50% 0%;
position: absolute;
inset: 0;
z-index: -1000;
mask-image: radial-gradient(var(--sizethis), white 70%, transparent);
background: url('/imgs/grain.webp'),
radial-gradient(var(--sizethis), theme(colors.cyan.500 / 40%), transparent);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB