+5
.env.example
+7
README.md
···maybe! i'm not sure if i can or will go for 100% feature parity but i'm going to try my darndest+* [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+* [pdsls.dev](https://pdsls.dev) for helping me figure out what API endpoints to call from the network tab
+2
config.php
···define('FRONTPAGE_FEED', "at://did:plc:ffkgesg3jsv2j7aagkzrtcvt/app.bsky.feed.generator/aaagllxbcbsje");define('FAVORITE_FEEDS', [ // list of feeds you want to display in the sidebar to users not logged in
+46
css/_partials/_fonts.scss
···
+31
css/_partials/_layout.scss
···
+1
css/main.scss
+2
-2
css/themes/blank.scss
+2
-2
css/themes/catppuccin.scss
······
+2
-2
css/themes/dracula.scss
······
+2
-2
css/themes/rosepine.scss
······
+2
-2
css/themes/solarized.scss
······
fonts/RecursiveMonoCslSt-BdItalic.woff2
This is a binary file and will not be displayed.
fonts/RecursiveMonoCslSt-Bold.woff2
This is a binary file and will not be displayed.
fonts/RecursiveMonoCslSt-Italic.woff2
This is a binary file and will not be displayed.
fonts/RecursiveMonoCslSt-Regular.woff2
This is a binary file and will not be displayed.
fonts/alegreyasc-bold-webfont.woff
This is a binary file and will not be displayed.
fonts/alegreyasc-bold-webfont.woff2
This is a binary file and will not be displayed.
fonts/alegreyasc-bolditalic-webfont.woff
This is a binary file and will not be displayed.
fonts/alegreyasc-bolditalic-webfont.woff2
This is a binary file and will not be displayed.
fonts/alegreyasc-italic-webfont.woff
This is a binary file and will not be displayed.
fonts/alegreyasc-italic-webfont.woff2
This is a binary file and will not be displayed.
fonts/alegreyasc-regular-webfont.woff
This is a binary file and will not be displayed.
fonts/alegreyasc-regular-webfont.woff2
This is a binary file and will not be displayed.
fonts/geometria-bold-webfont.woff
This is a binary file and will not be displayed.
fonts/geometria-bold-webfont.woff2
This is a binary file and will not be displayed.
fonts/geometria-bolditalic-webfont.woff
This is a binary file and will not be displayed.
fonts/geometria-bolditalic-webfont.woff2
This is a binary file and will not be displayed.
fonts/geometria-italic-webfont.woff
This is a binary file and will not be displayed.
fonts/geometria-italic-webfont.woff2
This is a binary file and will not be displayed.
fonts/geometria-webfont.woff
This is a binary file and will not be displayed.
fonts/geometria-webfont.woff2
This is a binary file and will not be displayed.
+12
-1
index.php
···-<body class="<?= Smallnest\Helpers\getTheme() ? Smallnest\Helpers\getTheme() : DEFAULT_THEME; ?>">+data-theme="<?= Smallnest\Helpers\getTheme() ? Smallnest\Helpers\getTheme() : DEFAULT_THEME; ?>"···
+10
-3
js/themes.mjs
···
+183
-99
lib/bskyToucher.php
······-$ret = $httpClient->request("GET", $this->slingshotBase.'com.atproto.repo.getRecord?collection='.$collection.'&repo='.$repo.'&rkey='.$rkey);···+function getConstellationLinkData($target, $collection, $path, $limit = 50, $offset = 0, $endpoint = '') {······$profileLink = $prettyUrls ? "/profile/".$author->handle : "/?p=profile&handle=".$author->handle;-$postLink = $prettyUrls ? $profileLink."/post/".$post->postId : $profileLink."&post=".$post->postId;······-<button type="button" class="btn-invis" popovertarget="img-full-$context->postId"><img src="$embed->thumb" alt="$altSanitized" /></button>+<button type="button" class="btn-invis" popovertarget="img-full-$context->postId"><img src="$embed->thumb" alt="$altSanitized" /></button>······+preg_match('/at:\/\/(did:plc:[a-z0-9]+)\/([a-zA-Z0-9\.])\/([a-z0-9]+)/', $embeds[0], $recComponents);···-preg_match('/^at:\/\/(did:plc:[a-z0-9]+)\/app.bsky.feed.post\/([a-z0-9]+)$/', $post->reply->parent->uri, $atUriSplit);···+$ret = $this->getConstellationLinkData($post, "app.bsky.feed.like", ".subject.uri", "/distinct-dids");···+$ret = $this->getConstellationLinkData($post, "app.bsky.feed.repost", ".subject.uri", "/distinct-dids");$ret = $this->getConstellationLinkData($post, "app.bsky.feed.post", ".embed.record.record.uri");···+$ret = $this->getConstellationLinkData($post, "app.bsky.feed.post", ".embed.record.record.uri");···+preg_match('/^at:\/\/(did:plc:[a-z0-9]+)\/app.bsky.feed.post\/([a-z0-9]+)$/', $post->reply->parent->uri, $atUriSplit);-$userData = json_decode(file_get_contents($this->bskyApiBase.$this->apiEndpoints['getUserPosts']."?actor=".$user.$cursorString));···-$feedData = $this->getConstellationLinkData($atUri, "app.bsky.feed.post", ".embed.record.uri", $limit, $cursor);+//$feedData = $this->getConstellationLinkData($atUri, "app.bsky.feed.post", ".embed.record.uri", $limit, $cursor);···
+7
lib/helpers.php
+31
pages/post.php
···