https://github.com/xenohunter/bluesky-overhaul Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Case Studies + Customer Stories + Resources * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} xenohunter / bluesky-overhaul Public * Notifications * Fork 2 * Star 22 UX improvements for Bluesky web app bsky.app License MIT license 22 stars 2 forks Star Notifications * Code * Issues 16 * Pull requests 0 * Actions * Projects 0 * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Security * Insights xenohunter/bluesky-overhaul This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 1 branch 12 tags Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/x] Use Git or checkout with SVN using the web URL. [gh repo clone xenohu] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @xenohunter xenohunter Merge pull request #38 from xenohunter/version-1.5 ... 5cf54ee Apr 30, 2023 Merge pull request #38 from xenohunter/version-1.5 Version 1.5 5cf54ee Git stats * 58 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time docs Add YouTube player embeds April 24, 2023 10:17 icons Change icons April 21, 2023 15:52 pages Add settings, add Vim keybindings, add option to hide profile counts April 30, 2023 16:13 src Add settings, add Vim keybindings, add option to hide profile counts April 30, 2023 16:13 styles Add settings, add Vim keybindings, add option to hide profile counts April 30, 2023 16:13 .eslintrc.cjs [WIP] Fix settings storage April 28, 2023 16:51 .gitignore Support Firefox and improfe webpack pipeline April 18, 2023 19:38 LICENSE Add license information April 19, 2023 00:29 README.md Add settings, add Vim keybindings, add option to hide profile counts April 30, 2023 16:13 manifest.json [WIP] Add post list navigation April 29, 2023 21:15 package-lock.json Add settings, add Vim keybindings, add option to hide profile counts April 30, 2023 16:13 package.json Add settings, add Vim keybindings, add option to hide profile counts April 30, 2023 16:13 pre-commit.sh Move TODO! checks to webpack April 19, 2023 11:40 tsconfig.json Migrate to TypeScript and refactor DOM tools April 26, 2023 14:20 webpack.config.js Add settings, add Vim keybindings, add option to hide profile counts April 30, 2023 16:13 View code [ ] Bluesky Overhaul Table of contents Features Emoji picker Auto quote-posting Exit post composing modal window Send posts with Ctrl+Enter (or Cmd+Enter on Mac) Keyboard navigation for photos YouTube embeds in feed, profile, and post pages Vim keybindings Hide followers, following, and posts counts from profiles Settings popup Development Local build Development guide README.md Bluesky Overhaul Chrome Web Store Mozilla Add-on Liberapay receiving This is a small extension for Chrome (and partially Firefox) that adds some nice and handy functionality to Bluesky, the greatest media platform of all time. Right now (as of April 19, 2023), the app is invite-only and the web app is running at https://staging.bsky.app/ (you may find yours truly at @blisstweeting.ingroup.social). Table of contents * Features * Development Features Implemented features are listed here. For the planned ones, see Issues. Also, some new ideas may appear in this Bluesky thread (login required). You can also create an issue if you have a feature request. Emoji picker Allows you to pick emojis from a palette of all available emojis. You can also search for emojis by name. Doesn't work on Firefox yet. emoji-picker.png Auto quote-posting When you paste a link to someone's post: * removes "staging." from the URL * clicks the "Add link card" button for you * only works if the URL is at the end of the pasted text * you can remove the link from the text after the card is loaded Exit post composing modal window You can now exit the modal window by pressing Esc or clicking outside of it. Send posts with Ctrl+Enter (or Cmd+Enter on Mac) That's pretty much self-explanatory. Keyboard navigation for photos You can navigate through photos with - and - keys and close the modal window with Esc. YouTube embeds in feed, profile, and post pages YouTube player now appears beside YouTube links on some pages (not in search results yet). img.png Vim keybindings You can now use j and k to traverse posts, l to like, and ? to look up the list of all keybindings. (There are 11 or more different actions configured, depending on the extension version.) Hide followers, following, and posts counts from profiles Pretty self-explanatory! Settings popup You can now change some settings in the extension popup window. Development Local build npm install npm run build Development guide Unsorted temporary notes about how to approach development: 1. If you want to implement a feature, please: + Add an issue to the Issues section if it's not there already. + Discuss it with Phil and draft an approximate plan. + Assign it to yourself. + Implement and test it. o It should pass the eslint checks. + Create a pull request. 2. Please, make sure to run the pre-commit hook. + Soon, I'll add a CI pipeline that will run it on GitHub. 3. So far, there are two major abstractions for any behavior: Watcher and Pipeline: + Watchers wait for events globally and react to those. + Pipelines are deployed and terminated for specific DOM elements. + If you need a new abstraction, please discuss it with Phil first. 4. Finding elements in the DOM is a mess right now. It's on my personal vendetta refactoring list. + Some of it happens in the elementsFinder.js file (because it's needed in more than one place) and some of it does not. I'll probably put everything into that one file, but I have to organize it better. About UX improvements for Bluesky web app bsky.app Topics social-media ux-experience Resources Readme License MIT license Stars 22 stars Watchers 1 watching Forks 2 forks Report repository Releases 12 v1.5.0 Latest Apr 30, 2023 + 11 releases Packages 0 No packages published Contributors 3 * @xenohunter xenohunter Phil Filippak * @foxydevloper foxydevloper fox * @aliceisjustplaying aliceisjustplaying Alice Languages * TypeScript 83.1% * JavaScript 13.4% * CSS 1.9% * HTML 1.6% Footer (c) 2023 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.