experimenting with making decentralized fanfic archives on atproto. github mirror: https://github.com/haetae-bit/fanfic-atproto
at main 4.3 kB view raw
1// @ts-check 2import { defineConfig, fontProviders } from 'astro/config'; 3import node from '@astrojs/node'; 4import db from "@astrojs/db"; 5import authproto from "@fujocoded/authproto"; 6import unocss from "unocss/astro"; 7import preact from "@astrojs/preact"; 8 9// https://astro.build/config 10export default defineConfig({ 11 output: "server", 12 adapter: node({ 13 mode: 'standalone', 14 }), 15 integrations: [ 16 db(), 17 authproto({ 18 applicationName: "fan archive", 19 applicationDomain: "localhost:4321", 20 driver: { 21 name: "astro:db", 22 }, 23 scopes: { 24 genericData: true, 25 }, 26 }), 27 unocss(), 28 preact({ compat: true }) 29 ], 30 vite: { 31 ssr: { 32 noExternal: ["atproto-ui"], 33 }, 34 }, 35 // session: { // could this work for slices oauth? 36 // driver: process.env.PROD ? "db0" : "memory", 37 // options: { 38 // database: db(), 39 // tableName: "oauth", 40 // }, 41 // cookie: { 42 // name: "fics.fan-session", 43 // secure: process.env.PROD ? true : false, 44 // sameSite: "lax", 45 // path: "/", 46 // } 47 // }, 48 experimental: { 49 fonts: [ 50 { 51 provider: fontProviders.fontsource(), 52 name: "IBM Plex Serif", 53 cssVariable: "--plex-serif", 54 }, 55 { 56 provider: fontProviders.fontsource(), 57 name: "Libertinus Serif", 58 cssVariable: "--libertinus-serif", 59 }, 60 { 61 provider: fontProviders.fontsource(), 62 name: "Noto Serif", 63 cssVariable: "--noto-serif", 64 }, 65 { 66 provider: fontProviders.fontsource(), 67 name: "Lora", 68 cssVariable: "--lora", 69 }, 70 { 71 provider: fontProviders.fontsource(), 72 name: "iA Writer Mono", 73 cssVariable: "--writer-mono", 74 }, 75 { 76 provider: fontProviders.fontsource(), 77 name: "Intel One Mono", 78 cssVariable: "--intel-mono", 79 }, 80 { 81 provider: fontProviders.fontsource(), 82 name: "Recursive", 83 cssVariable: "--recursive", 84 styles: ["oblique", "normal"], 85 weights: [300, 1000], 86 variationSettings: "'slnt' -15 0, 'CASL' 0 1, 'CRSV' 0 1, 'MONO' 0 1", 87 }, 88 { 89 provider: fontProviders.fontsource(), 90 name: "iA Writer Quattro", 91 cssVariable: "--quattro", 92 }, 93 { 94 provider: fontProviders.fontsource(), 95 name: "Sora", 96 cssVariable: "--sora", 97 }, 98 { 99 provider: fontProviders.fontsource(), 100 name: "Readex Pro", 101 cssVariable: "--readex", 102 }, 103 { 104 provider: fontProviders.fontsource(), 105 name: "Atkinson Hyperlegible Next", 106 cssVariable: "--atkinson", 107 }, 108 { 109 provider: "local", 110 name: "OpenDyslexic", 111 cssVariable: "--dyslexic", 112 variants: [ 113 { 114 src: [ 115 "./src/assets/fonts/opendyslexic/OpenDyslexic-Regular.otf", 116 "./src/assets/fonts/opendyslexic/OpenDyslexic-Regular.woff", 117 "./src/assets/fonts/opendyslexic/OpenDyslexic-Regular.woff2", 118 ], 119 weight: 400, 120 style: "normal" 121 }, 122 { 123 src: [ 124 "./src/assets/fonts/opendyslexic/OpenDyslexic-Italic.otf", 125 "./src/assets/fonts/opendyslexic/OpenDyslexic-Italic.woff", 126 "./src/assets/fonts/opendyslexic/OpenDyslexic-Italic.woff2", 127 ], 128 weight: 400, 129 style: "italic", 130 }, 131 { 132 src: [ 133 "./src/assets/fonts/opendyslexic/OpenDyslexic-Bold.otf", 134 "./src/assets/fonts/opendyslexic/OpenDyslexic-Bold.woff", 135 "./src/assets/fonts/opendyslexic/OpenDyslexic-Bold.woff2", 136 ], 137 weight: 700, 138 style: "normal", 139 }, 140 { 141 src: [ 142 "./src/assets/fonts/opendyslexic/OpenDyslexic-Bold-Italic.otf", 143 "./src/assets/fonts/opendyslexic/OpenDyslexic-Bold-Italic.woff", 144 "./src/assets/fonts/opendyslexic/OpenDyslexic-Bold-Italic.woff2", 145 ], 146 weight: 700, 147 style: "italic", 148 }, 149 ], 150 }, 151 { 152 provider: fontProviders.fontsource(), 153 name: "Jacquard 12", 154 cssVariable: "--jacquard-12", 155 }, 156 ], 157 }, 158});