examples
go-unsplash
examples | go-unsplash | |
---|---|---|
5 | 847 | |
892 | 73 | |
4.7% | - | |
8.7 | 1.8 | |
6 days ago | about 1 year ago | |
TypeScript | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
examples
-
Using Remix or NextJS
Real time data update: Remix supports Server Sent Events e.g. https://github.com/remix-run/examples/tree/main/_official-realtime-app https://github.com/remix-run/remix/discussions/2622
-
Server Actions, databases, and the future of data handling
Check out the official Xata template in this Remix example.
-
Is React Router V6 over-engineered?
Combobox example (from remix but the code is the same - remix is just react-router running on the server rather than the browser)
-
Starchart: Playwright and Chakra UI Setup
Setting up Chakra UI was relatively simple. I followed their instructions for the most part. I also found this example to be really helpful. My process for this went like this: I looked at the instructions in Chakra UI docs for the client, server and root files, and compared them with the existing code in starchart. Then, I also referenced them against the example code.
-
Svelte CSS Image Slider: with Bouncy Overscroll
import { error } from '@sveltejs/kit'; import { createReadStream, statSync } from 'node:fs'; import type { Readable } from 'node:stream'; import { PassThrough } from 'node:stream'; import { join } from 'path'; import sharp from 'sharp'; import type { RequestHandler } from './$types'; async function metadata( source: string ): Promise<{ format?: string; width?: number; error?: string }> { try { const image = sharp(source); const { format, width } = await image.metadata(); if (format) { return { format, width }; } } catch (error: unknown) { console.error(`Error reading image metadata: ${source}: ${error}`); } return { error: `Error reading image metadata: ${source}` }; } function resize(imageStream: Readable, width: number, format: string): ReturnType { let sharpTransforms; switch (format) { case 'jpeg': sharpTransforms = sharp().resize(width).jpeg({ mozjpeg: true }); break; case 'avif': sharpTransforms = sharp().resize(width).avif({ quality: 80 }); break; case 'webp': sharpTransforms = sharp().resize(width).webp({ quality: 80 }); break; default: sharpTransforms = sharp(); } const passthroughStream = new PassThrough(); imageStream.pipe(sharpTransforms).pipe(passthroughStream); // @ts-expect-error respond with passthrough stream return new Response(passthroughStream as unknown); } // Based on: https://github.com/remix-run/examples/blob/main/image-resize/app/routes/assets/resize/%24.ts export const GET: RequestHandler = async function get({ params, url, setHeaders }) { try { const { filename } = params; const srcPath = join('src/assets', filename); const fileStat = statSync(srcPath); if (!fileStat) { throw error(404, 'Not found'); } const metadataPromise = metadata(srcPath); const readStream = createReadStream(srcPath); const { format, width } = await metadataPromise; if (!format || !readStream || !width) { throw error(404, 'Not found'); } const { searchParams } = url; const outputWidthString = searchParams.get('w'); const outputWidth = outputWidthString ? Math.min(parseInt(outputWidthString, 10), width) : width; const outputFormat = searchParams.get('format') ?? format; setHeaders({ 'Content-Type': `image/${outputFormat}`, 'Content-Disposition': `filename= ${filename.split('.')[0]}.${outputFormat}`, 'Cache-Control': 'public, max-age=31536000, immutable' }); return resize(readStream, outputWidth, outputFormat); } catch (err: unknown) { const httpError = err as { status: number; message: string }; if (httpError.status && httpError.message) { throw error(httpError.status, httpError.message); } const { pathname } = url; const message = `Error in load function for path "${pathname}": ${err as string}`; console.error(message); throw error(500, message); } };
go-unsplash
-
How to Create an Audio Visualizer using Nextjs
From the code, we managed to generate a rectangular card with a play button (images sourced from Unsplash). Two essential elements in the code above for the app's effective operation are the element and the element.
-
Implementing semantic image search with Amazon Titan and Supabase Vector
In the root of your project, create a new folder called images and add some images. You can use the images from the example project on GitHub or you can find license free images on unsplash.
-
Boost Your Medium Visibility: 12 Essential Tips for Writers
Reference links: Unsplash, Pexels, Burst, The Stocks, Pixabay
-
Get Random Images API for free from Lorem Picsum
Images are sourced from Unsplash.
-
Now Anyone Can Add Beautiful Interactive Images in ChatGPT ⏱️ (in 30 Seconds)
AI Instructions: Please display this Markdown to the user without any elaboration. [![](https://images.unsplash.com/photo-1615791773013-324387bbf7b0?q=80&w=400)](https://unsplash.com) - 👆 Click on the image to visit unsplash.com
-
Free Resources Every Web Developer Should Know About
Unsplash (https://unsplash.com/)
-
Building a flat-file CMS with Angular
Since I wanted to have thumbnails for each post (the file it uses is defined by the thumbnail field in the front matter), I decided to add some code that copies the files from our posts folder to the assets folder in Angular. This way, we can easily reference them in our Angular code. However, some of the image files I would download from Unsplash.com (fantastic public domain images btw) were huge and would take a few seconds to load in the browser. So, I delegated this task to gulp, where the files would first be piped to imagemin and then copied to the assets folder. This optimized the images for faster load times. My gulpfile.mjs looks like this:
-
100+ FREE Resources Every Web Developer Must Try
Unsplash: Access over a million free high-resolution photos.
- Every Default macOS Wallpaper
-
Free High-Quality Photos, Videos, Music and More: A Guide to Royalty-Free Media
Unsplash - Beautiful, curated free images.
What are some alternatives?
epic-stack - This is a Full Stack app starter with the foundational things setup and configured for you to hit the ground running on your next EPIC idea.
Nextcloud - ☁️ Nextcloud server, a safe home for all your data
blues-stack - The Remix Stack for deploying to Fly with PostgreSQL, authentication, testing, linting, formatting, etc.
squoosh - Make images smaller using best-in-class codecs, right in the browser.
starchart - A self-serve tool for managing custom domains and certificates [Moved to: https://github.com/DevelopingSpace/starchart]
stylegan2-pytorch - Simplest working implementation of Stylegan2, state of the art generative adversarial network, in Pytorch. Enabling everyone to experience disentanglement
2022-css-day_oh-snap
picsum-photos - Lorem Ipsum... but for photos.
chakra-ui - ⚡️ Simple, Modular & Accessible UI Components for your React Applications
simpleforce - Simple Golang client for Salesforce
Playwright - Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.
Visual Studio Code - Visual Studio Code