๐ Fediverse Integration for Lume & Hono.
Add Aoba to your deno.json or import_map.json (replace {{version}} with
the current version):
{
  "imports": {
    "aoba/": "https://deno.land/x/aoba@v{{version}}/"
  }
}Set up static nodeinfo for your site.
import nodeinfo from 'aoba/lume/plugins/nodeinfo.ts'
site.use(nodeinfo())Set up static webfinger for your site.
import webfinger from 'aoba/lume/plugins/webfinger.ts'
site.use(webfinger())Set up _headers file for your site. (Netlify and Cloudflare Pages)
import headers from 'aoba/lume/plugins/headers.ts'
site.use(headers())Set up _redirects file for your site. (Netlify and Cloudflare Pages)
import redirects from 'aoba/lume/plugins/redirects.ts'
site.use(redirects())Hatsu Integration is consistent with the latest version of Hatsu, so it does not follow semver.
For Hatsu users.
Copy the .well-known/* file from the Hatsu instance and set the link alternate
for matched page.
import hatsuPlugin from 'aoba/lume/plugins/hatsu.ts'
site.use(
  hatsuPlugin({
    instance: new URL('https://hatsu.local'),
  }),
)Redirecting .well-known/* and activity+json requests.
import hatsuMiddleware from 'aoba/lume/middlewares/hatsu.ts'
server.use(
  hatsuMiddleware({
    instance: new URL('https://hatsu.local'),
    location: site.options.location,
  }),
)Redirecting .well-known/* and activity+json requests.
import { hatsuObject, hatsuWellKnown } from 'aoba/hono/middlewares/hatsu.ts'
const instance = new URL('https://hatsu.local')
app.use('/.well-known/*', hatsuWellKnown({ instance }))
app.use('/posts/*', hatsuObject({ instance }))Licensed under MIT.