Skip to content

Commit

Permalink
feat: Serve avatars using Cloudflare Workers (#1)
Browse files Browse the repository at this point in the history
  • Loading branch information
shrink authored Dec 1, 2024
1 parent 034d10e commit 2aba72f
Show file tree
Hide file tree
Showing 14 changed files with 3,159 additions and 0 deletions.
12 changes: 12 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# http://editorconfig.org
root = true

[*]
indent_style = tab
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.yml]
indent_style = space
15 changes: 15 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Run tests

on:
push:

jobs:
run-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 'latest'
- run: npm ci
- run: npm run test
172 changes: 172 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
# Logs

logs
_.log
npm-debug.log_
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)

report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json

# Runtime data

pids
_.pid
_.seed
\*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover

lib-cov

# Coverage directory used by tools like istanbul

coverage
\*.lcov

# nyc test coverage

.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)

.grunt

# Bower dependency directory (https://bower.io/)

bower_components

# node-waf configuration

.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)

build/Release

# Dependency directories

node_modules/
jspm_packages/

# Snowpack dependency directory (https://snowpack.dev/)

web_modules/

# TypeScript cache

\*.tsbuildinfo

# Optional npm cache directory

.npm

# Optional eslint cache

.eslintcache

# Optional stylelint cache

.stylelintcache

# Microbundle cache

.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history

.node_repl_history

# Output of 'npm pack'

\*.tgz

# Yarn Integrity file

.yarn-integrity

# dotenv environment variable files

.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# parcel-bundler cache (https://parceljs.org/)

.cache
.parcel-cache

# Next.js build output

.next
out

# Nuxt.js build / generate output

.nuxt
dist

# Gatsby files

.cache/

# Comment in the public line in if your project uses Gatsby and not Next.js

# https://nextjs.org/blog/next-9-1#public-directory-support

# public

# vuepress build output

.vuepress/dist

# vuepress v2.x temp and cache directory

.temp
.cache

# Docusaurus cache and generated files

.docusaurus

# Serverless directories

.serverless/

# FuseBox cache

.fusebox/

# DynamoDB Local files

.dynamodb/

# TernJS port file

.tern-port

# Stores VSCode versions used for testing VSCode extensions

.vscode-test

# yarn v2

.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.\*

# wrangler project

.dev.vars
.wrangler/
6 changes: 6 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"printWidth": 140,
"singleQuote": true,
"semi": true,
"useTabs": true
}
40 changes: 40 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# 🐶 Avatars Dog

Fetch Bluesky avatars with a single URL. Powered by Cloudflare Workers.
Built for [handles.net](https://handles.net).

```
https://avatars.dog/[handle or did]
```

## Usage

```
https://avatars.dog/bsky.app
```

[<img src="https://avatars.dog/bsky.app" width="96">](https://avatars.dog/bsky.app)

Append `@format` for an optional format.

```
https://avatars.dog/bsky.app@webp
```

[<img src="https://avatars.dog/bsky.app@webp" width="96">](https://avatars.dog/bsky.app@webp)

Use a handle or a `did`.

```
https://avatars.dog/did:plc:z72i7hdynmk6r22z27h6tvur
```

[<img src="https://avatars.dog/did:plc:z72i7hdynmk6r22z27h6tvur" width="96">](https://avatars.dog/did:plc:z72i7hdynmk6r22z27h6tvur)

## Examples

[<img src="https://avatars.dog/bsky.app" width="96">](https://bsky.app/profile/bsky.app) [<img src="https://avatars.dog/nytimes.com" width="96">](https://bsky.app/profile/nytimes.com) [<img src="https://avatars.dog/handles.net" width="96">](https://bsky.app/profile/handles.net) [<img src="https://avatars.dog/shr.ink" width="96">](https://bsky.app/profile/shr.ink)

## Name

The service fetches avatars. Dogs fetch.
Loading

0 comments on commit 2aba72f

Please sign in to comment.