Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add more quotes. #573

Merged
merged 3 commits into from
Jul 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
182 changes: 102 additions & 80 deletions site/src/pages/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ export default function Home(): JSX.Element {
<main>
<SectionFeatures />

<SectionTweets />
<SectionQuotes />

<SectionPlayground />

Expand Down Expand Up @@ -128,22 +128,23 @@ export default function Home(): JSX.Element {
)
}

function TweetQuote({
function Quote({
avatar,
authorName,
authorTitle,
tweetLink,
link,
text,
}: {
avatar: string
tweetLink: string
link: string
authorName: string
authorTitle: string
text: string
}) {
return (
<a
href={tweetLink}
href={link}
target="_blank"
style={{
position: 'relative',
flex: '0 1 300px',
Expand All @@ -157,7 +158,7 @@ function TweetQuote({
textDecoration: 'none',
}}
>
<TwitterIcon />
{link.includes('twitter') ? <TwitterIcon /> : <DiscordIcon />}
<div style={{ display: 'flex', gap: 8 }}>
<img
className="avatar__photo"
Expand All @@ -182,7 +183,7 @@ function TweetQuote({
)
}

function SectionTweets() {
function SectionQuotes() {
return (
<section
style={{
Expand All @@ -203,184 +204,178 @@ function SectionTweets() {
gap: 16,
}}
>
<TweetQuote
<Quote
authorName={'Lee "leerob" Robinson'}
authorTitle={'Next.js comm lead, Vercel VP of DX'}
avatar={'/img/avatars/leerob.jpeg'}
link={'https://twitter.com/leeerob/status/1576929372811849730'}
text={'Type-safe SQL queries with PlanetScale and Kysely 😍'}
/>

<Quote
authorName={'Ben Holmes'}
authorTitle={'Astro SWE'}
avatar={'/img/avatars/benholmes.jpeg'}
tweetLink={
'https://twitter.com/BHolmesDev/status/1673715776946143233'
}
link={'https://twitter.com/BHolmesDev/status/1673715776946143233'}
text={"Kysely I love you, but I still can't spell your name"}
/>

<TweetQuote
<Quote
authorName={'Julius Marminge'}
authorTitle={'tRPC & create-t3-app core team'}
avatar={'/img/avatars/julius.jpeg'}
link={'https://twitter.com/jullerino/status/1676687249998598148'}
text={
'Utterly astounded by how Kysely manages to make all of this typesafe. Seems like no matter how complex you get, it can infer it correctly.'
}
/>

<Quote
authorName={'Shoubhit "nexxel" Dash'}
authorTitle={'create-t3-app creator'}
avatar={'/img/avatars/nexxel.jpeg'}
link={'https://twitter.com/nexxeln/status/1676975946606452737'}
text={'kysely is great btw'}
/>

<Quote
authorName={'Dax "thdxr" Raad'}
authorTitle={'SST core team'}
avatar={'/img/avatars/daxraad.jpeg'}
tweetLink={
'https://twitter.com/thdxr/status/1623136475914043392?ref_src=twsrc%5Etfw'
}
link={'https://twitter.com/thdxr/status/1623136475914043392'}
text={"Kysely is the best written TS codebase I've ever seen"}
/>

<TweetQuote
<Quote
authorName={'Harminder Virk'}
authorTitle={'AdonisJS creator'}
avatar={'/img/avatars/harminder.jpeg'}
tweetLink={
'https://twitter.com/AmanVirk1/status/1666636685583568897'
}
link={'https://twitter.com/AmanVirk1/status/1666636685583568897'}
text={
'Kysely is great. Keeping an eye on it to see how it evolves in coming months'
}
/>

<TweetQuote
<Quote
authorName={'Gal Schlezinger'}
authorTitle={'fnm creator, Vercel SWE'}
avatar={'/img/avatars/gal.jpeg'}
text={'Kysely is 🐐'}
tweetLink={'https://twitter.com/galstar/status/1645452990147436546'}
link={'https://twitter.com/galstar/status/1645452990147436546'}
/>

<TweetQuote
<Quote
authorName={'Yusuke "yusukebe" Wada'}
authorTitle={'Hono creator, Cloudflare DevRel'}
avatar={'/img/avatars/yusuke.jpeg'}
text={'Kysely is great. D1 will be great. This is great.'}
tweetLink={
'https://twitter.com/yusukebe/status/1581775103167066112'
}
link={'https://twitter.com/yusukebe/status/1581775103167066112'}
/>

<TweetQuote
<Quote
authorName={'"pilcrow"'}
authorTitle={'Lucia creator'}
avatar={'/img/avatars/pilcrowonpaper.jpeg'}
text={
"Ok, so I'm not a big fan of Drizzle. I don't like how I have to import everything when declaring schemas and queries, and I just prefer the simplicity and the overall API of Kysely."
}
tweetLink={
link={
'https://twitter.com/pilcrowonpaper/status/1675135710981165057'
}
/>

<TweetQuote
<Quote
authorName={'Theo "t3dotgg" Browne'}
authorTitle={'Uploadthing creator, Ping.gg CEO'}
avatar={'/img/avatars/theo.jpeg'}
tweetLink={'https://twitter.com/t3dotgg/status/1632949634728599552'}
link={'https://twitter.com/t3dotgg/status/1632949634728599552'}
text={
"Planetscale's DatabaseJS combined with Kysely or DrizzleORM is pretty dope to stay on edge"
}
/>

<TweetQuote
<Quote
authorName={'Nicholas Griffin'}
authorTitle={'sqs-consumer maintainer, BBC SWE'}
avatar={'/img/avatars/nicholas.jpeg'}
text="I don't actually like prisma that much, I prefer Kysely, not an ORM though."
tweetLink={
'https://twitter.com/ngriffin_uk/status/1599891725404676096'
link={'https://twitter.com/ngriffin_uk/status/1599891725404676096'}
/>

<Quote
authorName={'R. Alex Anderson'}
authorTitle={'Thorium Nova creator'}
avatar={'/img/avatars/alexanderson.jpeg'}
link={'https://twitter.com/ralex1993/status/1677632989260390403'}
text={
'Shout out to Kysely for adding extensive JSDoc comments above the methods. It makes it much easier to figure out how to use it the way I want without having to dig into the docs. (though the docs are vv good too)'
}
/>

<TweetQuote
<Quote
authorName={'Ross Coundon'}
authorTitle={'leadent digital CTO'}
avatar={'/img/avatars/ross.jpeg'}
text={
"I particularly like Kysely here, it's a type-safe query builder and as such doesn't enforce the specifics of an ORM on you, therefore I feel, in the medium-to-long term, it'll save you the time and effort of working around ORM-specific and enforced structures/approaches"
}
tweetLink={
'https://twitter.com/rcoundon/status/1676244054109978624'
}
link={'https://twitter.com/rcoundon/status/1676244054109978624'}
/>

<TweetQuote
<Quote
authorName={'Alberto "gimenete" Gimeno'}
authorTitle={'Railway SWE'}
avatar={'/img/avatars/alberto.jpeg'}
tweetLink={
'https://twitter.com/gimenete/status/1653121152854765569'
}
link={'https://twitter.com/gimenete/status/1653121152854765569'}
text={
"I'm a happy Kysely user. It's great to see that the code I'm writing now can work with serverless PostgreSQL now!"
}
/>

<TweetQuote
<Quote
authorName={'Johan Eliasson'}
authorTitle={'OneLab CTO'}
avatar={'/img/avatars/johan.jpeg'}
tweetLink={
'https://twitter.com/elitasson/status/1642090379066449920'
}
link={'https://twitter.com/elitasson/status/1642090379066449920'}
text={
"Instead of Prisma, I'm testing Kysely, Kysely Codegen, and Atlas. Works great."
}
/>

<TweetQuote
<Quote
authorName={'Mehul Mohan'}
authorTitle={'Codedamn Founder'}
avatar={'/img/avatars/mehul.jpeg'}
text="We went with query builder because we did not have more time to waste on ORMs. ORMs might be great but we have the technical capability to pull off just using a query builder. However, we type safety and sanitization for DX and security was a must - hence Kysely."
tweetLink={
'https://twitter.com/mehulmpt/status/1650480912759685120'
}
link={'https://twitter.com/mehulmpt/status/1650480912759685120'}
/>

<TweetQuote
<Quote
authorName={'Sam Cook'}
authorTitle={'Gamma.io SWE'}
avatar={'/img/avatars/samcook.jpeg'}
tweetLink={
'https://twitter.com/sjc5_/status/1623210443874639873?ref_src=twsrc%5Etfw'
}
link={'https://twitter.com/sjc5_/status/1623210443874639873'}
text={'Kysely is amazing.'}
/>

<TweetQuote
<Quote
authorName={'Gannon Hall'}
authorTitle={'Astro Labs Founder'}
avatar={'/img/avatars/gannon.jpeg'}
tweetLink={'https://twitter.com/gannonh/status/1653109305368018944'}
link={'https://twitter.com/gannonh/status/1653109305368018944'}
text={
'Vercel just announced native Postgres support and published Prisma and Kysely templates. I like the DX of Prisma and the type safety of Kysely so I use both via prisma-kysely.'
}
/>

<TweetQuote
<Quote
authorName={'Alisson "thelinuxlich" C.Agiani'}
authorTitle="Opensourcerer"
avatar={'/img/avatars/sommelier.jpeg'}
tweetLink={
'https://twitter.com/solinvictvs/status/1615549659115655169'
}
text={`Kysely is superior and with each release gets even more awesome`}
/>

<TweetQuote
authorName={'"Sock, the dev"'}
authorTitle="Opensourcerer"
avatar={'/img/avatars/sock.jpeg'}
tweetLink="https://twitter.com/sockthedev/status/1599814152771760128"
text="YES! Completed the initial version of this. Finally. Huge shoutout to Kysely for making this way less painful than it should have been. The BEST TypeScript based SQL query builder. ♥️"
/>

<TweetQuote
authorName={'"CodeMonument"'}
authorTitle="Opensourcerer"
avatar={'/img/avatars/codemonument.jpeg'}
tweetLink={
'https://twitter.com/CodeMonument/status/1571637269424996354'
link={'https://twitter.com/solinvictvs/status/1615549659115655169'}
text={
'Kysely is superior and with each release gets even more awesome'
}
text={`Deno + @planetscale/database + Kysely + kysely-planetscale is absolutely awesome!

Knew nothing about the adapter and Kysely before and got the PoC in Code in 45 minutes.
It's so stupidly simple! [...]
`}
/>
</div>
</div>
Expand Down Expand Up @@ -409,6 +404,33 @@ function TwitterIcon() {
)
}

function DiscordIcon() {
return (
<svg
aria-hideen="true"
viewBox="0 -28.5 256 256"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
preserveAspectRatio="xMidYMid"
style={{
position: 'absolute',
top: 18,
right: 18,
height: 20,
width: 20,
}}
>
<g>
<path
d="M216.856339,16.5966031 C200.285002,8.84328665 182.566144,3.2084988 164.041564,0 C161.766523,4.11318106 159.108624,9.64549908 157.276099,14.0464379 C137.583995,11.0849896 118.072967,11.0849896 98.7430163,14.0464379 C96.9108417,9.64549908 94.1925838,4.11318106 91.8971895,0 C73.3526068,3.2084988 55.6133949,8.86399117 39.0420583,16.6376612 C5.61752293,67.146514 -3.4433191,116.400813 1.08711069,164.955721 C23.2560196,181.510915 44.7403634,191.567697 65.8621325,198.148576 C71.0772151,190.971126 75.7283628,183.341335 79.7352139,175.300261 C72.104019,172.400575 64.7949724,168.822202 57.8887866,164.667963 C59.7209612,163.310589 61.5131304,161.891452 63.2445898,160.431257 C105.36741,180.133187 151.134928,180.133187 192.754523,160.431257 C194.506336,161.891452 196.298154,163.310589 198.110326,164.667963 C191.183787,168.842556 183.854737,172.420929 176.223542,175.320965 C180.230393,183.341335 184.861538,190.991831 190.096624,198.16893 C211.238746,191.588051 232.743023,181.531619 254.911949,164.955721 C260.227747,108.668201 245.831087,59.8662432 216.856339,16.5966031 Z M85.4738752,135.09489 C72.8290281,135.09489 62.4592217,123.290155 62.4592217,108.914901 C62.4592217,94.5396472 72.607595,82.7145587 85.4738752,82.7145587 C98.3405064,82.7145587 108.709962,94.5189427 108.488529,108.914901 C108.508531,123.290155 98.3405064,135.09489 85.4738752,135.09489 Z M170.525237,135.09489 C157.88039,135.09489 147.510584,123.290155 147.510584,108.914901 C147.510584,94.5396472 157.658606,82.7145587 170.525237,82.7145587 C183.391518,82.7145587 193.761324,94.5189427 193.539891,108.914901 C193.539891,123.290155 183.391518,135.09489 170.525237,135.09489 Z"
fill="#5865F2"
fill-rule="nonzero"
/>
</g>
</svg>
)
}

function SectionPlayground() {
return (
<section className="container">
Expand Down
Binary file added site/static/img/avatars/alexanderson.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed site/static/img/avatars/codemonument.jpeg
Binary file not shown.
Binary file added site/static/img/avatars/julius.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added site/static/img/avatars/leerob.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added site/static/img/avatars/nexxel.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added site/static/img/avatars/orta.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed site/static/img/avatars/sock.jpeg
Binary file not shown.