-
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #41 from yossydev/update-blog
update blog
- Loading branch information
Showing
14 changed files
with
281 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
[ | ||
{ | ||
"title": "Fast JSX: Don't clone props object #28768", | ||
"link": "https://speakerdeck.com/yossydev/fast-jsx-dont-clone-props-object-number-28768", | ||
"pubDate": "Wed, 24 Apr 2024 00:00:00 -0400", | ||
"content:encoded": "", | ||
"content": "", | ||
"contentSnippet": "", | ||
"guid": "https://speakerdeck.com/yossydev/fast-jsx-dont-clone-props-object-number-28768", | ||
"isoDate": "2024-04-24T04:00:00.000Z" | ||
}, | ||
{ | ||
"title": "2023 Spindle Review", | ||
"link": "https://speakerdeck.com/yossydev/2023-spindle-review", | ||
"pubDate": "Fri, 12 Jan 2024 00:00:00 -0500", | ||
"content:encoded": "2023年度にSpindleに対して自分が取り組んだこと、学んだことの話です。", | ||
"content:encodedSnippet": "2023年度にSpindleに対して自分が取り組んだこと、学んだことの話です。", | ||
"content": "2023年度にSpindleに対して自分が取り組んだこと、学んだことの話です。", | ||
"contentSnippet": "2023年度にSpindleに対して自分が取り組んだこと、学んだことの話です。", | ||
"guid": "https://speakerdeck.com/yossydev/2023-spindle-review", | ||
"isoDate": "2024-01-12T05:00:00.000Z" | ||
}, | ||
{ | ||
"title": "Core Web Vitalsについて", | ||
"link": "https://speakerdeck.com/yossydev/core-web-vitalsnituite", | ||
"pubDate": "Sat, 01 Jul 2023 00:00:00 -0400", | ||
"content:encoded": "", | ||
"content": "", | ||
"contentSnippet": "", | ||
"guid": "https://speakerdeck.com/yossydev/core-web-vitalsnituite", | ||
"isoDate": "2023-07-01T04:00:00.000Z" | ||
}, | ||
{ | ||
"title": "React の色々な スタイリング方法", | ||
"link": "https://speakerdeck.com/yossydev/react-nose-na-sutairingufang-fa", | ||
"pubDate": "Fri, 03 Jun 2022 00:00:00 -0400", | ||
"content:encoded": "", | ||
"content": "", | ||
"contentSnippet": "", | ||
"guid": "https://speakerdeck.com/yossydev/react-nose-na-sutairingufang-fa", | ||
"isoDate": "2022-06-03T04:00:00.000Z" | ||
} | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
import type { FC } from "hono/jsx"; | ||
import { createRoute } from "honox/factory"; | ||
import { Link } from "honox/server"; | ||
import { Heading } from "../../components/Heading"; | ||
import { LINK } from "../../constants"; | ||
import { getAge } from "../../libs/date"; | ||
|
||
const SnsList: { | ||
id: number; | ||
|
@@ -44,6 +44,11 @@ const SnsList: { | |
title: "Youtube", | ||
href: LINK.YOUTUBE, | ||
}, | ||
{ | ||
id: 9, | ||
title: "Speakerdeck", | ||
href: LINK.SPEAKERDECK, | ||
}, | ||
]; | ||
|
||
const Text: FC<{ text: string }> = ({ text }) => { | ||
|
@@ -54,20 +59,44 @@ export default createRoute((c) => { | |
return c.render( | ||
<> | ||
<Heading title="About Me" /> | ||
<Text text="都内在住の技術好きなエンジニアです。出身は日本です。🇯🇵🏯" /> | ||
<Text text="TypeScriptを主に扱っており、最近ではパフォーマンス改善 / Rust / Webブラウザ / Developer Experience / OSS開発に興味があります。" /> | ||
<Text text="2022年からフルタイムでエンジニアとして働き始め、スピード感のある開発をしていく中で、フロントエンドとバックエンド両方の経験をさせていただけたのはとてもいい経験でした。そして2023年、新しい会社にジョインし、Webフロントエンド領域の様々なことに挑戦し、開発者としてレベルアップすることに注力しています。" /> | ||
<Text text="空いた時間で、技術のキャッチアップをし、それを実際に自分の手で動かしてみたりすること。理解が足りない部分や、新しく学んだことを記事にすることも好きです。あとは勉強会に行って発表したりすることも好きです。" /> | ||
|
||
<Text text="都内在住の技術好きなエンジニアです。出身は日本です。TypeScriptを主に扱っており、最近ではRust / Developer Experience / OSS開発に興味があります。" /> | ||
<br /> | ||
自分のアウトプットに関しては、 | ||
<a href={"/"} class="underline-offset-2 underline mr-1 text-blue-600"> | ||
Blog | ||
</a> | ||
<a | ||
href={"/slides"} | ||
class="underline-offset-2 underline mr-1 text-blue-600" | ||
> | ||
Slides | ||
</a> | ||
<a | ||
href={"/youtube"} | ||
class="underline-offset-2 underline mr-1 text-blue-600" | ||
> | ||
Youtube | ||
</a> | ||
<a | ||
href={LINK.GITHUB} | ||
class="underline-offset-2 underline mr-1 text-blue-600" | ||
> | ||
GitHub | ||
</a> | ||
でチェックできます。 | ||
<Heading title="Sponsor" /> | ||
<Text text="GitHub Sponsorで応援していただけるとモチベーションにつながります🔥" /> | ||
<Text text="GitHub Sponcerで応援してくださる方を募集しています🙏" /> | ||
<br /> | ||
<iframe | ||
src="https://github.com/sponsors/yossydev/card" | ||
title="Sponsor yossydev" | ||
class="md:w-[600px] w-full md:h-auto h-40" | ||
/> | ||
|
||
<ul class="text-lg mt-6 pt-6 border-t border-black"> | ||
<Heading title="Contact" /> | ||
<Text text="お仕事や登壇のご依頼などはXのDMもしくは[email protected]までご連絡ください。" /> | ||
<br /> | ||
<Heading title="Link" /> | ||
<ul class="text-lg mt-6"> | ||
{SnsList.map(({ id, title, href }) => ( | ||
<li key={id} class="flex items-center py-1"> | ||
<div class="w-2 h-2 rounded bg-black mr-2" /> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
import { Fragment } from "hono/jsx"; | ||
import { Heading } from "../../components/Heading"; | ||
import { rssClient } from "../../libs/rss/rss"; | ||
|
||
const FIRST_SPEAKERDECK_YEAR = 2022; | ||
|
||
export default function Slide() { | ||
const yearlyBlogs = () => { | ||
const data = []; | ||
const thisYear = new Date().getFullYear(); | ||
for (let year = FIRST_SPEAKERDECK_YEAR; year <= thisYear; year++) { | ||
const speakerdeck = rssClient | ||
.findSpeakerdeck() | ||
.filter((post) => { | ||
const postYear = new Date(post.date).getFullYear(); | ||
return postYear === year; | ||
}) | ||
.map((post) => ({ | ||
id: post.id, | ||
date: post.date, | ||
title: post.title, | ||
link: post.link, | ||
postedIn: "speakerdeck", | ||
})); | ||
|
||
data.push({ | ||
year: year, | ||
posts: speakerdeck.sort((a, b) => { | ||
const dateA = new Date(a.date).getTime(); | ||
const dateB = new Date(b.date).getTime(); | ||
return dateB - dateA; | ||
}), | ||
}); | ||
} | ||
return data; | ||
}; | ||
|
||
return ( | ||
<div class="mt-16"> | ||
<Heading title="Slides" /> | ||
<ul class="mt-10"> | ||
{yearlyBlogs() | ||
.reverse() | ||
.map((res, index) => { | ||
return ( | ||
// biome-ignore lint/suspicious/noArrayIndexKey: enable index | ||
<Fragment key={`${index}`}> | ||
<h3 class="text-xl my-5 font-bold">{res.year}</h3> | ||
{res.posts.map(({ id, title, date, link }) => { | ||
return ( | ||
<li key={id} class="text-lg mt-2 md:mt-1"> | ||
<time class="tabular-nums tnum date pr-3">{date}</time> | ||
<br class="block md:hidden" /> | ||
<a class="text-blue-600 underline" href={link}> | ||
{title} | ||
</a> | ||
|
||
<img | ||
src="/static/speaker_deck_logo.webp" | ||
alt="zenn-logo" | ||
class="ml-2 w-5 h-5 inline" | ||
/> | ||
</li> | ||
); | ||
})} | ||
</Fragment> | ||
); | ||
})} | ||
</ul> | ||
</div> | ||
); | ||
} |
Oops, something went wrong.