Skip to content

Commit

Permalink
docs: refresh quotes. (#1182)
Browse files Browse the repository at this point in the history
  • Loading branch information
igalklebanov authored Oct 13, 2024
1 parent edd82fa commit d86ccda
Show file tree
Hide file tree
Showing 12 changed files with 134 additions and 82 deletions.
29 changes: 16 additions & 13 deletions site/src/components/SectionQuotes/Quote.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,20 @@ export interface QuoteProps {
}

const domainNameToIcon: Record<string, ReactElement> = {
twitter: <TwitterIcon />,
discord: <DiscordIcon />,
github: <GithubIcon />,
x: <XIcon />,
}

export function Quote(props: QuoteProps) {
const { authorName, authorTitle, avatar, link, text } = props

const [, domainName] = link.toLowerCase().match(/https?:\/\/(?:www\.)?(.+)\./)
const [domainName] = new URL(link).hostname.split('.')

console.log(domainName)

return (
<a className={styles.quoteContainer} href={link} target="_blank">
{domainNameToIcon[domainName] || null}
<div className={styles.quoteInnerContainer}>
<img
alt={`${authorName}'s avatar picture`}
Expand All @@ -38,20 +39,21 @@ export function Quote(props: QuoteProps) {
</div>

<small className={styles.quoteText}>{text}</small>
{domainNameToIcon[domainName] || null}
</a>
)
}

function TwitterIcon() {
function XIcon() {
return (
<svg
aria-hidden="true"
className={clsx(styles.icon, styles.twitterIcon)}
viewBox="0 0 24 24"
className={clsx(styles.icon, styles.darkIcon)}
height="271"
viewBox="0 0 271 300"
width="300"
xmlns="http://www.w3.org/2000/svg"
>
<g>
<path d="M23.643 4.937c-.835.37-1.732.62-2.675.733.962-.576 1.7-1.49 2.048-2.578-.9.534-1.897.922-2.958 1.13-.85-.904-2.06-1.47-3.4-1.47-2.572 0-4.658 2.086-4.658 4.66 0 .364.042.718.12 1.06-3.873-.195-7.304-2.05-9.602-4.868-.4.69-.63 1.49-.63 2.342 0 1.616.823 3.043 2.072 3.878-.764-.025-1.482-.234-2.11-.583v.06c0 2.257 1.605 4.14 3.737 4.568-.392.106-.803.162-1.227.162-.3 0-.593-.028-.877-.082.593 1.85 2.313 3.198 4.352 3.234-1.595 1.25-3.604 1.995-5.786 1.995-.376 0-.747-.022-1.112-.065 2.062 1.323 4.51 2.093 7.14 2.093 8.57 0 13.255-7.098 13.255-13.254 0-.2-.005-.402-.014-.602.91-.658 1.7-1.477 2.323-2.41z" />
</g>
<path d="m236 0h46l-101 115 118 156h-92.6l-72.5-94.8-83 94.8h-46l107-123-113-148h94.9l65.5 86.6zm-16.1 244h25.5l-165-218h-27.4z" />
</svg>
)
}
Expand Down Expand Up @@ -81,15 +83,16 @@ function GithubIcon() {
return (
<svg
aria-hidden="true"
className={styles.icon}
viewBox="0 0 98 96"
className={clsx(styles.icon, styles.darkIcon)}
width="98"
height="96"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 98 96"
>
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z"
fill="#fff"
/>
</svg>
)
Expand Down
169 changes: 109 additions & 60 deletions site/src/components/SectionQuotes/quotes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import type { QuoteProps } from './Quote'

export const quotes: QuoteProps[] = [
{
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 😍',
authorName: 'Tim Griesser',
authorTitle: 'Knex.js creator, Cypress Staff Eng',
avatar: '/img/avatars/tgriesser.jpeg',
link: 'https://github.com/kysely-org/kysely/issues/352#issue-1612115150',
text: "👋 First just wanted to say this project looks awesome! Pretty close to what I wish Knex was if I started it now, with the affordances of modern TypeScript instead of 10 years ago when we were stuck in ES5 and Promises weren't even really an official language construct yet.",
},
{
authorName: 'Orta Therox',
Expand All @@ -16,136 +16,185 @@ export const quotes: QuoteProps[] = [
text: "👋 been using Kysely for a few days in Deno and Node, just wanted to say it's been going really well and it feels like a nice abstraction - kudos!",
},
{
authorName: 'Ben Holmes',
authorTitle: 'Astro SWE',
avatar: '/img/avatars/benholmes.jpeg',
link: 'https://twitter.com/BHolmesDev/status/1673715776946143233',
text: "Kysely I love you, but I still can't spell your name",
authorName: 'Niels Sandholt Busch',
authorTitle: 'Maersk SWE',
avatar: '/img/avatars/niels.png',
link: 'https://github.com/kysely-org/kysely/issues/320#issuecomment-2183966432',
text: 'We are using Kysely in production at Maersk inventory control!',
},
{
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.',
},
{
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',
authorName: 'Guðmundur Bjarni Olafsson',
authorTitle: 'Vercel Principal SWE',
avatar: '/img/avatars/gudmundur.png',
link: 'https://x.com/gudmundur/status/1740075197179605250',
text: "I made a strong recommendation internally for using Kysely for a greenfield service that's in the works. Looks very solid. 👌🏻",
},
{
authorName: 'Tim Griesser',
authorTitle: 'Knex.js creator, Cypress Staff Eng',
avatar: '/img/avatars/tgriesser.jpeg',
link: 'https://github.com/kysely-org/kysely/issues/352#issue-1612115150',
text: "👋 First just wanted to say this project looks awesome! Pretty close to what I wish Knex was if I started it now, with the affordances of modern TypeScript instead of 10 years ago when we were stuck in ES5 and Promises weren't even really an official language construct yet.",
authorName: 'Catalin Pit',
authorTitle: 'Documenso SWE',
avatar: '/img/avatars/catalin.png',
link: 'https://x.com/catalinmpit/status/1837850745242104318',
text: 'Kysely is fantastic! We use it at @documenso with Prisma.',
},
{
authorName: 'Dax "thdxr" Raad',
authorTitle: 'SST core team',
authorTitle: 'SST core team, Terminal co-founder',
avatar: '/img/avatars/daxraad.jpeg',
link: 'https://twitter.com/thdxr/status/1623136475914043392',
text: "Kysely is the best written TS codebase I've ever seen",
link: 'https://x.com/thdxr/status/1566512393500463104',
text: "really excited to see Kysely get more attention - been banging this drum for a while and we've integrated pretty deeply with it at SST incidentally its codebase remains the best Typescript codebase I have ever seen - worth poking around",
},
{
authorName: 'Harminder Virk',
authorTitle: 'AdonisJS creator',
avatar: '/img/avatars/harminder.jpeg',
link: 'https://twitter.com/AmanVirk1/status/1666636685583568897',
text: 'Kysely is great. Keeping an eye on it to see how it evolves in coming months',
authorName: 'Julius Marminge',
authorTitle: 'tRPC & create-t3-app core team',
avatar: '/img/avatars/julius.jpeg',
link: 'https://x.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.',
},
{
authorName: 'Gal Schlezinger',
authorTitle: 'fnm creator, Vercel SWE',
avatar: '/img/avatars/gal.jpeg',
text: 'Kysely is 🐐',
link: 'https://twitter.com/galstar/status/1645452990147436546',
link: 'https://x.com/galstar/status/1740049724810695135',
text: 'I love SQL, and I love migrations, most tools don’t provide good migration tools and fine grained control like Kysely which is why it’s my favorite.',
},
{
authorName: 'Yusuke "yusukebe" Wada',
authorTitle: 'Hono creator, Cloudflare DevRel',
avatar: '/img/avatars/yusuke.jpeg',
link: 'https://x.com/yusukebe/status/1581775103167066112',
text: 'Kysely is great. D1 will be great. This is great.',
link: 'https://twitter.com/yusukebe/status/1581775103167066112',
},
{
authorName: 'Harminder Virk',
authorTitle: 'AdonisJS creator, Medusa SWE',
avatar: '/img/avatars/harminder.png',
link: 'https://x.com/AmanVirk1/status/1753348028139024628',
text: 'If not Lucid, Kysely is what I would recommend everyone use. It presents itself as a type-safe SQL query builder and delivers 100% on that promise.',
},
{
authorName: '"pilcrow"',
authorTitle: 'Lucia creator',
avatar: '/img/avatars/pilcrowonpaper.jpeg',
link: 'https://x.com/pilcrowonpaper/status/1675135710981165057',
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.",
link: 'https://twitter.com/pilcrowonpaper/status/1675135710981165057',
},
{
authorName: 'Ben Holmes',
authorTitle: 'Astro SWE',
avatar: '/img/avatars/benholmes.jpeg',
link: 'https://x.com/BHolmesDev/status/1683505989465645056',
text: 'I really like Prisma for schemas and Kysely for querying. Drizzle feels... younger for schemas, but also quite nice',
},
{
authorName: 'Theo "t3dotgg" Browne',
authorTitle: 'Uploadthing creator, Ping.gg CEO',
avatar: '/img/avatars/theo.jpeg',
link: 'https://twitter.com/t3dotgg/status/1632949634728599552',
text: "Planetscale's DatabaseJS combined with Kysely or DrizzleORM is pretty dope to stay on edge",
link: 'https://x.com/t3dotgg/status/1649539910037311495',
text: 'kysely is dope too. Drizzle and kysely are the frontrunners for "new db tools that really understand JS needs" atm',
},
{
authorName: 'Shoubhit "nexxel" Dash',
authorTitle: 'create-t3-app author, Leapflow CTO',
avatar: '/img/avatars/nexxel.jpeg',
link: 'https://x.com/nexxeln/status/1676975946606452737',
text: 'kysely is great btw',
},
{
authorName: 'Lee "leerob" Robinson',
authorTitle: 'Vercel VP Product',
avatar: '/img/avatars/leerob.jpeg',
link: 'https://x.com/leeerob/status/1576929372811849730',
text: 'Type-safe SQL queries with PlanetScale and Kysely 😍',
},
{
authorName: 'Nicholas Griffin',
authorTitle: 'sqs-consumer maintainer, BBC SWE',
avatar: '/img/avatars/nicholas.jpeg',
link: 'https://x.com/ngriffin_uk/status/1599891725404676096',
text: "I don't actually like prisma that much, I prefer Kysely, not an ORM though.",
link: 'https://twitter.com/ngriffin_uk/status/1599891725404676096',
},
{
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)',
authorName: 'Alberto "gimenete" Gimeno',
authorTitle: 'Railway SWE',
avatar: '/img/avatars/alberto.jpeg',
link: 'https://x.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!",
},
{
authorName: 'Guga Guichard',
authorTitle: 'string-ts creator, Seasoned Partner',
avatar: '/img/avatars/guga.png',
link: 'https://x.com/gugaguichard/status/1844896761468551457',
text: "I've been seeing a lot of discussions about ORMs vs raw SQL. What about strongly typed SQL query builders? Kysely is in the sweet spot! Best DX with total freedom I've seen in decades.",
},
{
authorName: 'Bereket "Bek Cru" Engida',
authorTitle: 'better-auth creator',
avatar: '/img/avatars/bekacru.png',
link: 'https://x.com/imbereket/status/1691066440294481920',
text: 'I don’t think they have similar goals from what I see. Drizzle is more dedicated into marketing and having every user possible like prisma but kysely kinda just don’t care about that for most part. And in my experience prisma + kysley is better than drizzle.',
},
{
authorName: 'Ross Coundon',
authorTitle: 'leadent digital CTO',
avatar: '/img/avatars/ross.jpeg',
link: 'https://x.com/rcoundon/status/1676244054109978624',
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",
link: 'https://twitter.com/rcoundon/status/1676244054109978624',
},
{
authorName: 'Alberto "gimenete" Gimeno',
authorTitle: 'Railway SWE',
avatar: '/img/avatars/alberto.jpeg',
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!",
},
{
authorName: 'Johan Eliasson',
authorTitle: 'OneLab CTO',
avatar: '/img/avatars/johan.jpeg',
link: 'https://twitter.com/elitasson/status/1642090379066449920',
link: 'https://x.com/elitasson/status/1642090379066449920',
text: "Instead of Prisma, I'm testing Kysely, Kysely Codegen, and Atlas. Works great.",
},
{
authorName: 'R. Alex Anderson',
authorTitle: 'Thorium Nova creator',
avatar: '/img/avatars/alexanderson.jpeg',
link: 'https://x.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)',
},
{
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.',
link: 'https://twitter.com/mehulmpt/status/1650480912759685120',
link: 'https://x.com/mehulmpt/status/1650480912759685120',
},
{
authorName: 'Sam Cook',
authorTitle: 'Gamma.io SWE',
avatar: '/img/avatars/samcook.jpeg',
link: 'https://twitter.com/sjc5_/status/1623210443874639873',
link: 'https://x.com/sjc5_/status/1623210443874639873',
text: 'Kysely is amazing.',
},
{
authorName: 'Gannon Hall',
authorTitle: 'Astro Labs Founder',
avatar: '/img/avatars/gannon.jpeg',
link: 'https://twitter.com/gannonh/status/1653109305368018944',
link: 'https://x.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.',
},
{
authorName: 'Alisson "thelinuxlich" C.Agiani',
authorTitle: 'Opensourcerer',
avatar: '/img/avatars/sommelier.jpeg',
link: 'https://twitter.com/solinvictvs/status/1615549659115655169',
link: 'https://x.com/solinvictvs/status/1615549659115655169',
text: 'Kysely is superior and with each release gets even more awesome',
},
{
authorName: 'Marvin',
authorTitle: 'Indie Hacker',
avatar: '/img/avatars/marvin.png',
link: 'https://x.com/marvr_/status/1833070144064479434',
text: "I've been saying it many times already, but it's probably one of the best additions to my tech stack. I enjoy writing SQL since I know Kysely 😆",
},
{
authorName: 'Jiří "Capaj" Špác',
authorTitle: 'Langtail SWE',
avatar: '/img/avatars/capaj.png',
link: 'https://x.com/capajj/status/1824003221397885343',
text: 'Kysely is awesome',
},
]
18 changes: 9 additions & 9 deletions site/src/components/SectionQuotes/styles.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@

.quoteTitle,
.quoteSubtitle {
color: var(--gray10);
color: var(--gray11);
}

[data-theme='dark'] .quoteTitle,
[data-theme='dark'] .quoteSubtitle {
color: var(--gray4);
color: var(--gray9);
}

.quoteText {
Expand Down Expand Up @@ -66,14 +66,14 @@
justify-content: center;
}

.twitterIcon {
fill: var(--blue8);
}

.icon {
height: 20px;
bottom: 18px;
height: 16px;
position: absolute;
right: 18px;
top: 18px;
width: 20px;
width: 16px;
}

[data-theme='dark'] .darkIcon {
fill: white;
}
Binary file added site/static/img/avatars/bekacru.png
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/capaj.png
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/catalin.png
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/gudmundur.png
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/guga.png
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/harminder.jpeg
Binary file not shown.
Binary file added site/static/img/avatars/harminder.png
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/marvin.png
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/niels.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit d86ccda

Please sign in to comment.