# Your ATProto DID (Decentralized Identifier) # You can find this in your Bluesky profile settings or at https://bsky.app PUBLIC_ATPROTO_DID=did:plc:your-did-here # Enable WhiteWind support (optional) # Set to "true" to check WhiteWind for blog posts, "false" to disable # If disabled, only Leaflet posts will be fetched and redirected # Default: false PUBLIC_ENABLE_WHITEWIND=false # Fallback URL (optional) # If a document cannot be found on WhiteWind or Leaflet, redirect here # Example: https://archive.example.com # Leave empty to return a 404 error instead PUBLIC_BLOG_FALLBACK_URL="" # Publication to Slug Mapping # Configure your publication slugs in src/lib/config/slugs.ts # This allows you to access publications via friendly URLs like /blog, /notes, etc. # Example: { slug: 'blog', publicationRkey: '3m3x4bgbsh22k' } # # Each publication in Leaflet can have its own base_path configured, which will be # automatically used when redirecting. If no base_path is set, the system falls back # to the standard Leaflet URL format (https://leaflet.pub/lish/{did}/{rkey}). # If you have `com.whtwnd.blog.entry` records in your AT Protocol # repository, they will also be fetched and displayed on your website # alongside your Leaflet posts. # The WhiteWind posts are always linked to using the following format: # https://whtwnd.com/[did]/[rkey]. # Slingshot Configuration (optional) # Local Slingshot instance for development - primary source for AT Protocol data # Set to your local Slingshot instance URL (default: http://localhost:3000) # Leave empty to skip local Slingshot and use public Slingshot directly PUBLIC_LOCAL_SLINGSHOT_URL="http://localhost:3000" # Public Slingshot instance - fallback if local is unavailable # Default: https://slingshot.microcosm.blue PUBLIC_SLINGSHOT_URL="https://slingshot.microcosm.blue" # Site Metadata (for SEO and social sharing) PUBLIC_SITE_TITLE="Your Site Title" PUBLIC_SITE_DESCRIPTION="Your site description" PUBLIC_SITE_KEYWORDS="your, keywords, here" PUBLIC_SITE_URL="https://your-site-url.com" # CORS Configuration (for API endpoints) # Comma-separated list of allowed origins for CORS # Use "*" to allow all origins (not recommended for production) # Example: https://example.com,https://app.example.com PUBLIC_CORS_ALLOWED_ORIGINS="https://your-site-url.com" # Cache TTL Configuration (optional) # Configure how long different types of data are cached (in minutes) # Longer TTLs reduce API calls and prevent timeouts, but data may be less fresh # Leave empty to use defaults (optimized for production) # Profile data (default: 5 min dev, 60 min prod) # CACHE_TTL_PROFILE=60 # Site info (default: 5 min dev, 120 min prod) # CACHE_TTL_SITE_INFO=120 # Links (default: 5 min dev, 60 min prod) # CACHE_TTL_LINKS=60 # Music status (default: 2 min dev, 10 min prod) # CACHE_TTL_MUSIC_STATUS=10 # Kibun status (default: 2 min dev, 15 min prod) # CACHE_TTL_KIBUN_STATUS=15 # Tangled repos (default: 5 min dev, 60 min prod) # CACHE_TTL_TANGLED_REPOS=60 # Blog posts (default: 5 min dev, 30 min prod) # CACHE_TTL_BLOG_POSTS=30 # Publications (default: 5 min dev, 60 min prod) # CACHE_TTL_PUBLICATIONS=60 # Individual posts (default: 5 min dev, 60 min prod) # CACHE_TTL_INDIVIDUAL_POST=60 # Identity resolution (default: 30 min dev, 1440 min/24h prod) # CACHE_TTL_IDENTITY=1440