Skip to content

Repository files navigation

Be static, and be beautiful.

[English] | 日本語

Static Bluesky Client

A static Bluesky client built with Material Design

Features

  • Login — Sign in with your Bluesky handle and app password
  • Timeline — Fetch and display your home timeline
  • Post — Create text posts
  • Image upload — Attach up to 4 images per post
  • Session persistence — Login state is saved via cookies so you stay logged in on reload
  • Responsive UI — Built with Material Design 3 components

Tech Stack

Layer Technology
Static site generator Hugo v0.140.0+
UI components @material/web (via esm.sh)
Bluesky API @atproto/api v0.13.6 (via esm.sh)
Fonts Google Fonts — Roboto, Material Symbols Outlined

Getting Started

Prerequisites

  • Hugo extended v0.140.0 or later

Installation

git clone https://github.com/kons10/materialblue.git
cd repo-name

Local development

hugo server

Open http://localhost:1313 in your browser.

Build

hugo

The output is generated in the public/ directory.

Deployment

This project is designed for static hosting (e.g. GitHub Pages, Cloudflare Pages, Netlify).

Before deploying, update baseURL in hugo.yaml to match your actual URL:

baseURL: 'https://example.com/'

This application must be placed in the / directory directly under the domain. Otherwise, it may not function correctly.

Usage

  1. Open the app in your browser
  2. Enter your Bluesky handle (e.g. user.bsky.social) and an app password and your PDS
    • App passwords can be created at: Bluesky Settings → Privacy and Security → App Passwords
  3. Click Login
  4. Your timeline will load automatically

Note: Your credentials are never sent anywhere other than your server. Session tokens are stored in browser cookies only.

License

Licensed under the Apache License 2.0.

About

Simply Bluesky Client (bata

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages