mirror of
https://github.com/BradNut/awesome-uses
synced 2025-09-08 17:40:31 +00:00
Merge branch 'master' into slow-html
This commit is contained in:
commit
7358ccb06a
5 changed files with 40 additions and 75 deletions
|
|
@ -1,63 +0,0 @@
|
||||||
import type { AppLoadContext, ServerBuild } from '@netlify/remix-runtime'
|
|
||||||
import { createRequestHandler as createRemixRequestHandler } from '@netlify/remix-runtime'
|
|
||||||
import type { Context } from '@netlify/edge-functions'
|
|
||||||
|
|
||||||
type LoadContext = AppLoadContext & Context
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A function that returns the value to use as `context` in route `loader` and
|
|
||||||
* `action` functions.
|
|
||||||
*
|
|
||||||
* You can think of this as an escape hatch that allows you to pass
|
|
||||||
* environment/platform-specific values through to your loader/action.
|
|
||||||
*/
|
|
||||||
export type GetLoadContextFunction = (request: Request, context: Context) => Promise<LoadContext> | LoadContext
|
|
||||||
|
|
||||||
export type RequestHandler = (request: Request, context: LoadContext) => Promise<Response | void>
|
|
||||||
|
|
||||||
export function createRequestHandler({
|
|
||||||
build,
|
|
||||||
mode,
|
|
||||||
getLoadContext,
|
|
||||||
}: {
|
|
||||||
build: ServerBuild
|
|
||||||
mode?: string
|
|
||||||
getLoadContext?: GetLoadContextFunction
|
|
||||||
}): RequestHandler {
|
|
||||||
const remixHandler = createRemixRequestHandler(build, mode)
|
|
||||||
|
|
||||||
const assetPath = build.assets.url.split('/').slice(0, -1).join('/')
|
|
||||||
|
|
||||||
return async (request: Request, context: LoadContext): Promise<Response | void> => {
|
|
||||||
const { pathname } = new URL(request.url)
|
|
||||||
// Skip the handler for static files
|
|
||||||
if (pathname.startsWith(`${assetPath}/`)) {
|
|
||||||
// Temporary fix - passing the request to the Netlify static asset handler causes a 203 Not Content error. Passing the through remix works, but I asssume isn't ideal
|
|
||||||
// console.log('Skipping Remix handler for static file', pathname)
|
|
||||||
// return;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
const loadContext = (await getLoadContext?.(request, context)) || context
|
|
||||||
|
|
||||||
const response = await remixHandler(request, loadContext)
|
|
||||||
|
|
||||||
// A useful header for debugging
|
|
||||||
response.headers.set('x-nf-runtime', 'Edge')
|
|
||||||
|
|
||||||
if (response.status === 404) {
|
|
||||||
// Check if there is a matching static file
|
|
||||||
const originResponse = await context.next({
|
|
||||||
sendConditionalRequest: true,
|
|
||||||
})
|
|
||||||
if (originResponse.status !== 404) {
|
|
||||||
return originResponse
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return response
|
|
||||||
} catch (error: unknown) {
|
|
||||||
console.error(error)
|
|
||||||
|
|
||||||
return new Response('Internal Error', { status: 500 })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -37,6 +37,7 @@ This readme is auto-generated from the data.js file, so please don't PR this fil
|
||||||
* [Alex O'Reilly](https://alekzandriia.com/uses/) — Scientist turned Web developer from the Great White North.
|
* [Alex O'Reilly](https://alekzandriia.com/uses/) — Scientist turned Web developer from the Great White North.
|
||||||
* [Martin Bean](https://martinbean.dev/uses) — Web developer and software engineer.
|
* [Martin Bean](https://martinbean.dev/uses) — Web developer and software engineer.
|
||||||
* [Dominic Ruggiero](https://userexe.me/uses) — Student and idiot
|
* [Dominic Ruggiero](https://userexe.me/uses) — Student and idiot
|
||||||
|
* [Maicol Santos](https://maicolsantos.github.io/#/uses) — Front End Developer.
|
||||||
* [Carretta Riccardo](https://carrettariccardo.dev/uses/) — Software Developer & UX/UI Designer
|
* [Carretta Riccardo](https://carrettariccardo.dev/uses/) — Software Developer & UX/UI Designer
|
||||||
* [Josh Medeski](https://www.joshmedeski.com/uses/) — Full-stack developer and content creator.
|
* [Josh Medeski](https://www.joshmedeski.com/uses/) — Full-stack developer and content creator.
|
||||||
* [Simon Rogers](https://midnite.uk/uses) — Software Engineer
|
* [Simon Rogers](https://midnite.uk/uses) — Software Engineer
|
||||||
|
|
@ -650,6 +651,7 @@ This readme is auto-generated from the data.js file, so please don't PR this fil
|
||||||
* [Tomek Buszewski](https://www.buszewski.com/uses/) — Developer and team leader based in Warsaw, Poland.
|
* [Tomek Buszewski](https://www.buszewski.com/uses/) — Developer and team leader based in Warsaw, Poland.
|
||||||
* [Benjamin Mock](https://codesnacks.net/uses/) — coder, runner, reader, maker
|
* [Benjamin Mock](https://codesnacks.net/uses/) — coder, runner, reader, maker
|
||||||
* [Dan Holloran](https://danholloran.me/uses/) — Full Stack Developer
|
* [Dan Holloran](https://danholloran.me/uses/) — Full Stack Developer
|
||||||
|
* [Sean Boult](https://boult.me/uses) — Full stack developer who likes ReactJS
|
||||||
* [Kevin Woblick](https://www.kovah.de/uses/) — I turn Pizza into Code and Photos
|
* [Kevin Woblick](https://www.kovah.de/uses/) — I turn Pizza into Code and Photos
|
||||||
* [Michal Slepko](https://michalslepko.dev/uses) — Senior web developer learning iOS development. Live coding streamer on Twitch
|
* [Michal Slepko](https://michalslepko.dev/uses) — Senior web developer learning iOS development. Live coding streamer on Twitch
|
||||||
* [Michał Miszczyszyn](https://typeofweb.com/michal-miszczyszyn-uses/) — Motivated full-stack developer not afraid to use any technology. Experienced developer and leader. He, him.
|
* [Michał Miszczyszyn](https://typeofweb.com/michal-miszczyszyn-uses/) — Motivated full-stack developer not afraid to use any technology. Experienced developer and leader. He, him.
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
// Import path interpreted by the Remix compiler
|
// Import path interpreted by the Remix compiler
|
||||||
import * as build from "@remix-run/dev/server-build";
|
import * as build from "@remix-run/dev/server-build";
|
||||||
// import { createRequestHandler } from "@netlify/remix-edge-adapter";
|
import { createRequestHandler } from "@netlify/remix-edge-adapter";
|
||||||
import { createRequestHandler } from "./netlify-server";
|
|
||||||
|
|
||||||
export default createRequestHandler({
|
export default createRequestHandler({
|
||||||
build,
|
build,
|
||||||
|
|
@ -12,4 +11,6 @@ export default createRequestHandler({
|
||||||
export const config = {
|
export const config = {
|
||||||
cache: "manual",
|
cache: "manual",
|
||||||
path: "/*",
|
path: "/*",
|
||||||
|
// Pass all assets to the netlify asset server
|
||||||
|
excluded_patterns: ["/_assets/*", "/_shared/*", "/**/*.js"],
|
||||||
};
|
};
|
||||||
|
|
|
||||||
35
src/data.js
35
src/data.js
|
|
@ -216,6 +216,30 @@ module.exports = [
|
||||||
computer: 'linux',
|
computer: 'linux',
|
||||||
tags: ['Student', 'Node.js', 'Javascript', 'Ubuntu'],
|
tags: ['Student', 'Node.js', 'Javascript', 'Ubuntu'],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'Maicol Santos',
|
||||||
|
description: 'Front End Developer.',
|
||||||
|
url: 'https://maicolsantos.github.io/#/uses',
|
||||||
|
emoji: '🤘🏻',
|
||||||
|
country: '🇧🇷',
|
||||||
|
computer: 'apple',
|
||||||
|
phone: 'iphone',
|
||||||
|
tags: [
|
||||||
|
'JavaScript',
|
||||||
|
'TypeScript',
|
||||||
|
'React',
|
||||||
|
'React Native',
|
||||||
|
'Next',
|
||||||
|
'Vue.js',
|
||||||
|
'Angular',
|
||||||
|
'AlpineJS',
|
||||||
|
'Front End',
|
||||||
|
'Redux',
|
||||||
|
'React Query',
|
||||||
|
'GraphQL',
|
||||||
|
'Developer',
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'Carretta Riccardo',
|
name: 'Carretta Riccardo',
|
||||||
description: 'Software Developer & UX/UI Designer',
|
description: 'Software Developer & UX/UI Designer',
|
||||||
|
|
@ -13623,6 +13647,17 @@ module.exports = [
|
||||||
'Photographer',
|
'Photographer',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'Sean Boult',
|
||||||
|
description: 'Full stack developer who likes ReactJS',
|
||||||
|
url: 'https://boult.me/uses',
|
||||||
|
twitter: '@Hacksore',
|
||||||
|
emoji: '🫠',
|
||||||
|
country: '🇺🇸',
|
||||||
|
computer: 'apple',
|
||||||
|
phone: 'iphone',
|
||||||
|
tags: ['Full Stack', 'React', 'Typescript', 'Node.js', 'Hacking'],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'Kevin Woblick',
|
name: 'Kevin Woblick',
|
||||||
description: 'I turn Pizza into Code and Photos',
|
description: 'I turn Pizza into Code and Photos',
|
||||||
|
|
|
||||||
|
|
@ -294,13 +294,3 @@ body::-webkit-scrollbar-thumb {
|
||||||
grid-template-columns: 1fr;
|
grid-template-columns: 1fr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.People {
|
|
||||||
display: grid;
|
|
||||||
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
|
|
||||||
grid-gap: 5rem;
|
|
||||||
|
|
||||||
@media all and (max-width: 400px) {
|
|
||||||
grid-template-columns: 1fr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue