+14
-3
README.md
+14
-3
README.md
·········+* [pdsls.dev](https://pdsls.dev) for helping me figure out what API endpoints to call from the network tab* [constellation](https://constellation.microcosm.blue) and [slingshot](https://slingshot.microcosm.blue) for a lot of data fetching to reduce load on PDS + dependence on bsky.app* [plc.directory](https://plc.directory) and [plc.parakeet.at](https://plc.parakeet.at) for plc lookups-* [pdsls.dev](https://pdsls.dev) for helping me figure out what API endpoints to call from the network tab* [red dwarf](https://reddwarf.whey.party) for being inspirational (and *also* helping me figure out what API endpoints to call)+* [bailey townsend]() because i stared at your rust oauth code for several hours trying to divine how to make PHP work. thank youok wowee!! just so you know this isn't fully cooked yet so there's a lot of features missing. there's a lot of stuff that goes into one of these things as it turns out. but if you really want to:-- edit the values in config.php. if you don't have a pds you're willing to let people sign up with (or don't know what that is) just leave it set as-is. if you have a particular feed you want to show on the front page, set that there; otherwise it defaults to bird pictures+- edit the values in config.php. if you don't have a pds you're willing to let people sign up with or don't have a favorite (or don't know what that is) just leave it set as-is. you'll need to graph the atURIs of feeds to use for your frontpage/favorite feeds area; you can look those up using [pdsls.dev](https://pdsls.dev).- copy the files in the data folder and remove the .example suffix. these are for globally banning/suspending people at the client level (e.g. if you just don't want anyone to be able to see j*sse s*ngal on your client).
+5
-4
index.php
+5
-4
index.php
···+Flight::route('/u/@handle:[a-z0-9\.]+/@rkey:[a-z0-9]+', function (string $handle, string $rkey): void {···+Flight::route('/u/@handle:[a-z0-9\.]+(/@tab:[a-z]+)', function (string $handle, ?string $tab): void {···+Flight::route('/f/@did:did:plc:[0-9a-z]+/@name:[a-z0-9\-\_]+', function (string $did, string $name): void {···
-36
oauth/router.php
-36
oauth/router.php
···-$provider = new Bsky($options, $http, new HttpFactory, new HttpFactory, new HttpFactory, $storage);
+8
-1
pages/about.md
+8
-1
pages/about.md
···the ethos of smallbird social is to be as low-tech as possible. as few dependencies as possible, as little javascript as possible. we are mostly on the internet of 2003 here. this also means there are no apps. nothing is going in an app store although i intend for this to be as mobile-friendly as possible but i do not want to deal with 1) building an app and 2) dealing with the app store review process, which would mean this whole process would be subject to censorship.-Sorry, I am one woman and can't deal with potentially incurring a fuckton in fines if someone decides i look legit enough.+Sorry, I am one woman and can't deal with potentially incurring a fuckton in fines if someone decides i look legit enough.
+10
-1
public/config.php
+10
-1
public/config.php
······
-1
templates/layout.latte
-1
templates/layout.latte
+5
-2
templates/search.latte
+5
-2
templates/search.latte
···
+6
-1
templates/settings.latte
+6
-1
templates/settings.latte
+23
-23
templates/single.latte
+23
-23
templates/single.latte
···-<button type="button" popovertarget="likes" class="btn-invis">See Likes</button> <button type="button" popovertarget="reposts" class="btn-invis">See Reposts</button> <button type="button" popovertarget="quotes" class="btn-invis">See Quotes</button>+<button type="button" popovertarget="likes" class="btn-invis">See Likes</button> <button type="button" popovertarget="reposts" class="btn-invis">See Reposts</button> <button type="button" popovertarget="quotes" class="btn-invis">See Quotes</button>
+1
-1
vendor/autoload.php
+1
-1
vendor/autoload.php
+5
-5
vendor/composer/autoload_real.php
+5
-5
vendor/composer/autoload_real.php
······-spl_autoload_register(array('ComposerAutoloaderInitd5149d77d4e37381fd8c08eb5617487a', 'loadClassLoader'), true, true);+spl_autoload_register(array('ComposerAutoloaderInit084207acd9d27dbf5822b930886b2c3d', 'loadClassLoader'), true, true);-spl_autoload_unregister(array('ComposerAutoloaderInitd5149d77d4e37381fd8c08eb5617487a', 'loadClassLoader'));+spl_autoload_unregister(array('ComposerAutoloaderInit084207acd9d27dbf5822b930886b2c3d', 'loadClassLoader'));-call_user_func(\Composer\Autoload\ComposerStaticInitd5149d77d4e37381fd8c08eb5617487a::getInitializer($loader));+call_user_func(\Composer\Autoload\ComposerStaticInit084207acd9d27dbf5822b930886b2c3d::getInitializer($loader));
+5
-5
vendor/composer/autoload_static.php
+5
-5
vendor/composer/autoload_static.php
···'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',···-$loader->prefixLengthsPsr4 = ComposerStaticInitd5149d77d4e37381fd8c08eb5617487a::$prefixLengthsPsr4;-$loader->prefixDirsPsr4 = ComposerStaticInitd5149d77d4e37381fd8c08eb5617487a::$prefixDirsPsr4;+$loader->prefixLengthsPsr4 = ComposerStaticInit084207acd9d27dbf5822b930886b2c3d::$prefixLengthsPsr4;+$loader->prefixDirsPsr4 = ComposerStaticInit084207acd9d27dbf5822b930886b2c3d::$prefixDirsPsr4;
+2
-2
vendor/composer/installed.php
+2
-2
vendor/composer/installed.php
······