Skip to content

Instantly share code, notes, and snippets.

@nerdfiles
Last active July 8, 2023 19:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nerdfiles/75a0f6db223f811ce024d55c738eb35c to your computer and use it in GitHub Desktop.
Save nerdfiles/75a0f6db223f811ce024d55c738eb35c to your computer and use it in GitHub Desktop.
more twitter-like client front end customizations to make it hud-like. screens: https://staging.bsky.app/profile/patagnome.bsky.social/post/3jubklt43og2z
/**
* @author aha
* @license wtfpl, version 2
* @description bluesky as a hud. assumes the library of alexandria.
* @appliesTo URLsOnTheDomain staging.bsky.app
*/
/* fix for bsky mods' impersonation sanction */
div[style*="filter: blur(5px)"] {
display: none;
}
div[style*="filter: blur(5px)"] + img {
opacity: 1 !important;
}
[data-testid="userAvatarImage"] + div {
display: none;
}
/* for tabbing and clicking */
* > *:focus {
outline: 4px dashed rgba(200, 0, 150, 1);
}
[data-testid="followingFeedPage-feed-flatlist"] > div { }
[data-testid="followingFeedPage-feed-flatlist"] > div > div {
}
/* zoom menu: 170% */
@media (min-width: 500px) and (min-height: 300px) and (max-height: 700px) {
#root > div > div > div[style*="absolute"] > div:nth-child(1) svg,
#root > div > div > div[style*="absolute"] > div:nth-child(2) svg,
#root > div > div > div[style*="absolute"] > div:nth-child(3) svg,
#root > div > div > div[style*="absolute"] > div:nth-child(4) svg {
display: none;
}
/* menu:base */
#root > div > div > div[style*="absolute"] > div:nth-child(1):before {
display: inline-block;
content: '⚡️';
font-size: 3vw;
text-align: center;
line-height: 0;
margin: 1vw 0;
}
/* menu:search */
#root > div > div > div[style*="absolute"] > div:nth-child(2):before {
display: inline-block;
content: '🧐';
font-size: 3vw;
text-align: center;
line-height: 0;
margin: 1vw 0;
}
/* menu:notifications */
#root > div > div > div[style*="absolute"] > div:nth-child(3):before {
display: inline-block;
content: '📌';
font-size: 3vw;
text-align: center;
line-height: 0;
margin: 1vw 0;
}
/* menu:profile */
#root > div > div > div[style*="absolute"] > div:nth-child(4):before {
display: inline-block;
content: '🧝🏽‍♂️';
font-size: 3vw;
text-align: center;
line-height: 0;
margin: 1vw 0;
}
}
/* hiding things */
[data-testid="menuItemButton-Profile"] {
display: none;
}
/* for the global menu */
#root > div > div > div:last-child:hover {
background-color: rgba(0, 0, 0, 0.4) !important;
}
div:has([class="expo-image-container"]):nth-child(1) { }
[data-testid="profileHeaderDisplayName"] {
/*outline: 2px solid rgba(0, 0, 0, 0.2);*/
}
/* set a background on the profile display lmao */
div div div div div div div div div div div div div div:has([data-testid="profileHeaderDisplayName"]):nth-child(1) {
outline: 2px solid rgba(0, 0, 0, 0.2);
background-color: rgba(0, 0, 0, 0.3) !important;
background-image: url(https://black-mode.surge.sh/trainz.jpg);
background-size: cover;
background-repeat: no-repeat;
background-position-y: 13vw;
background-blend-mode: normal;
}
/* no comment */
div[data-testid="composePostView"],
div[data-testid="drawer"] {
outline: 4px dashed rgba(200, 0, 150, 1);
background-color: rgba(0, 0, 0, 0.4) !important;
}
/* for multicolumn layout on the homepage and feed pages */
[data-testid="whatshotFeedPage-feed-flatlist"],
[data-testid="followingFeedPage-feed-flatlist"] {
}
[data-testid="profileView"] > div > div > div > div {
max-width: 24.5vw;
}
[data-testid="profileView"] > div > div > div img {
max-width: 25vw;
}
[data-testid="profileView"] > div > div > div > div:nth-child(2) {
outline: 4px dashed rgba(200, 0, 150, 1);
position: absolute;
}
/*[id="root"] > div > div > div > div > div > div > div > div > div > div > div > div > div,*/
[data-testid="profileView"] > div > div > div,
[data-testid="whatshotFeedPage-feed-flatlist"] > div,
[data-testid="followingFeedPage-feed-flatlist"] > div {
display: flex;
min-width: 100vw;
flex-direction: row;
flex-wrap: wrap;
}
/*[id="root"] > div > div > div > div > div > div > div > div > div > div > div > div div,*/
[data-testid="whatshotFeedPage-feed-flatlist"] div div,
[data-testid="followingFeedPage-feed-flatlist"] div div {
max-width: 24.5vw;
}
/*
div > div:has([data-testid="userAvatarImage"]) {
position: absolute;
}
*/
/* make footer and nav only highly visible when hovered, giving the semblance
of an intent-seeking interface */
[id="root"] > div > div > div:nth-child(3):hover,
[id="root"] > div > div > div:nth-child(2):hover {
opacity: 1;
}
/* for the footer */
[id="root"] > div > div > div:nth-child(3),
/* for the nav nav */
[id="root"] > div > div > div:nth-child(2) {
opacity: 0.2;
}
/* intentful about post quickviewing or */
[data-testid*="feedItem-by-"]:hover {
background-color: rgba(0, 0, 0, 0.4) !important;
}
/* on the atproto blog their cms whateverness workflow underscores my point: css that gets written as if people don't know css. this structural element
and it's accompanying style could have been afforded without the <div> by using pseudo-elements on the above header. that is a question of design planning.
it plainly is global, just as the header h2 is, to which the pseudo-element could have been applied along with the border-based triangle approach. to reiterate,
simply: this <div>, tho small and apparently trivial, is nevertheless unnecessary and adds, ever so slightly, to the weight of the webpage. why does this matter?:
https://www.nngroup.com/articles/the-need-for-speed/
the wasteland grows.
@note i'm adding this stylesheet rule here even tho i'm restricting my rules to staging.bsky.app in stylish because reasons. (i.e., i don't want to see
"App_triangleWhite__G2fb2" anywhere on the web, in theory.). since i tend to apply the Library of Alexandria stylesheet(s) to all websites, i see more
* cut-the-corners css and html like this as a habit of my daily workflows. sorry not sorry.
* @appliesTo URLsOnTheDomain blueskyweb.xyz
*/
div.App_triangleWhite__G2fb2 { display: none !important; }
/** EOF */
/**
* @author aha
* @version wtfpl, version 2
* @description gridlike
*/
.r-1d5kdc7 > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div > div,
div.r-1d5kdc7:nth-child(4) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div > div,
[data-testid="notifsFeed"] > div > div,
[data-testid="customFeedPage-feed"] [data-testid="customFeedPage-feed-flatlist"] > div > div {
width: 24.96vw;
margin: 0;
padding: 0;
}
[data-testid="customFeedPage-feed"] [data-testid="customFeedPage-feed-flatlist"] > div * {
}
.r-1d5kdc7 > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div,
div.r-1d5kdc7:nth-child(4) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div,
[data-testid="notifsFeed"] > div,
[data-testid="customFeedPage-feed"] [data-testid="customFeedPage-feed-flatlist"] > div {
display: flex;
flex-direction: row;
flex-wrap: wrap;
max-width: 100%;
min-width: 100%;
}
/** EOF */
[data-testid="followingFeedPage-feed-flatlist"] > div {}
[data-testid="followingFeedPage-feed-flatlist"] > div > div:nth-child(1) {
order: 5;
}
[data-testid="followingFeedPage-feed-flatlist"] > div > div:nth-child(2) {
order: 9;
}
[data-testid="followingFeedPage-feed-flatlist"] > div > div:nth-child(3) {
order: 1;
}
[data-testid="followingFeedPage-feed-flatlist"] > div > div:nth-child(4) {
order: 8;
}
[data-testid="followingFeedPage-feed-flatlist"] > div > div:nth-child(5) {
order: 3;
}
[data-testid="followingFeedPage-feed-flatlist"] > div > div:nth-child(6) {
order: 4;
}
[data-testid="followingFeedPage-feed-flatlist"] > div > div:nth-child(7) {
order: 7;
}
[data-testid="followingFeedPage-feed-flatlist"] > div > div:nth-child(8) {
order: 2;
}
[data-testid="followingFeedPage-feed-flatlist"] > div > div:nth-child(9) {
order: 9;
}
[data-testid="followingFeedPage-feed-flatlist"] > div > div:nth-child(10) {
order: 3;
}
// ==UserScript==
// @name nsfw for bsky.app
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://staging.bsky.app/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=bsky.app
// @grant none
// @source https://gist.github.com/DavidBuchanan314/4f0cc29d356eca21a8ea01f2d84395f9
// ==/UserScript==
(window => {
'use strict';
let orig_URL = window.URL;
window.URL = function (url, base) {
let res = new orig_URL(url, base);
if (url == "https://bsky.social/xrpc/app.bsky.unspecced.getPopular") {
res.searchParams.set("includeNsfw", "true");
}
return res;
};
window.setInterval(function () {
const divs = document.querySelectorAll('div');
console.log(divs);
for (let i = 0; i < divs.length; ++i) {
if (divs[i].innerHTML === 'Show') {
divs[i].click();
}
}
}, 4000);
})(window);
@lindamarine
Copy link

Thanks for providing. I would love to know about Professional binary Tools, if you can provide me the CSS code for this

@nerdfiles
Copy link
Author

Thanks for providing. I would love to know about Professional binary Tools, if you can provide me the CSS code for this

that's a non-trivial request. you can review my other stylesheets to learn how to do it yourself with the stylish browser extension.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment