#!/usr/bin/perl # # DW::External::Site::BlueskySocial # # Class to support the special case of users with @*.bsky.social usernames (so # you don't have to tack a .bsky on the end). # # Authors: # Joshua Barrett # # Copyright (c) 2026 by Dreamwidth Studios LLC. # # This program is free software; you can redistribute it and/or # modify it under the same terms as Perl itself. For a copy of the # license, please reference 'perldoc perlartistic' or 'perldoc perlgpl'. # package DW::External::Site::BlueskySocial; use strict; use base 'DW::External::Site::Bluesky'; use Carp qw/ croak /; sub canonical_username { my $input = $_[1]; my $user = ""; if ( $input =~ m/^\s*((?:[a-z0-9][a-z0-9\-]*)?[a-z0-9])\s*$/i ) { $user = lc $1 . ".bsky.social"; } return $user; } 1;