#mastodontools — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #mastodontools, aggregated by home.social.
-
#Mastodon #MastodonTools #статистика
О. ВНЕЗАПНО! заработал снова очень интересный сервис:
Анализирует ваш аккаунт, показывает наиболее «взлетевшие» посты, но это не самая нужная функция. Еще он умеет мониторить активность ваших подписчиков и выводит список людей, которые наиболее активно вас лайкают, бустят и комментируют. (Внимание, анализ происходит на основе списка уведомлений, так что если вы его чистите — может быть неточным!)
Конечно, реальной практической пользы с этого примерно ноль, но посмотреть очень интересно :-)
https://mastometrics.com -
#Mastodon #MastodonTools #виброкодинг #ChatGPT
Когда выбираешь сервер для регистрации, хочется, разумеется, знать лимит на символы поста. Почему-то эту информацию все тщательно скрывают. Вот небольшой букмарклет, который выводит окошко с capabilities сервера: какой fabric сколько details лимит поста, поддержку форматирования, размеры загружаемых медиа, наличие перевода и т.д. + сырой Json со всеми остальными (не особо важными) параметрами.
javascript:(async()=>{const s=location.hostname,u=`https://${s}/api/v2/instance`;try{const r=await fetch(u);if(!r.ok)throw new Error(`HTTP ${r.status}`);const j=await r.json(),c=j.configuration;if(!c)return alert("configuration не найден");const mime=(c.statuses?.supported_mime_types||[]).join(", ")||"—";const d=document.createElement("div");d.style.cssText="position:fixed;top:10px;right:10px;width:70vw;max-height:80vh;overflow:auto;background:#111;color:#eee;border:2px solid #4da3ff;z-index:99999;padding:16px;font:13px monospace;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.5)";d.innerHTML=`<h3 style="margin:0 0 10px;color:#6cb6ff">${s}</h3><p><b>Пост:</b> ${c.statuses?.max_characters||"—"} симв.<br><b>Медиа:</b> ${c.statuses?.max_media_attachments||"—"} влож.<br><b>Форматирование:</b> ${mime}<br><b>Изображение:</b> ${Math.round((c.media_attachments?.image_size_limit||0)/1048576)} МБ<br><b>Видео:</b> ${Math.round((c.media_attachments?.video_size_limit||0)/1048576)} МБ<br><b>Перевод:</b> ${c.translation?.enabled?"вкл":"выкл"}</p><pre style="white-space:pre-wrap;background:#1b1b1b;padding:10px;border-radius:6px">${JSON.stringify(c,null,2)}</pre>`;document.body.appendChild(d);d.onclick=e=>e.target===d&&d.remove()}catch(e){alert("Ошибка: "+e.message+"\n"+u)}})();P.S. Чтобы закрыть окно, надо кликнуть возле рамки.
P.P.S. Чтобы скопировать текст — нажимайте Ctrl+C, не отпуская мышку, иначе окно закроется. -
#Mastodon #MastodonTools #виброкодинг #userscript
Потому что «надоело это терпеть» — дополнил скрипт скрытия прочитанных постов функцией, которая скрывает и бусты тех постов, которые я уже видел.
Хорошо теперь. Чистенько в ленте.
🙂
-
...Раз уж придется, наверно, иногда и на mastodon.ml заходить (ибо #GlitchSoc v 4.6.0-alpha.5 неможет федерироваться с social.sley.nl, tags.pub и хрен его знает, с чем там еще; одмины-ханжи блокируют zhub.link и вот это всио), то надо, стало быть, в форме постинга порядочек навести 😉
.dropdown-button {
width: 32px
}
.compose-form__dropdowns {
align-self: end;
order: 2;
}
.compose-form__input {
order: 1;
}
.compose-form__footer {
order: 3;
} -
...А кто там давеча спрашивал про площадку для длиннопостов? Нашлось прям чудестное:
В сравнении с недоделанным Writefreely это пушкабомба: тут и хостинг картинок, и WISIWYG-редактор (при этом писать можно в Markdown, а редактировать в HTML), и каменты, и автопост анонса в слонопотамник... Выглядит очень и очень круто. Даже авторизоваться можно через аккаунт слонопотамника.
-
#Mastodon #MastodonTools #userscript #Tampermonkey #виброкодинг
Итак! В связи с тем, что #Gemini заработал в этой стране без СМС и регистрации, первым делом скормил ему скрипт скрытия прочитанных постов для допиливания. Работает. Вот прямо так, как мне нужно было 😀 👍
Что конкретно делает: когда вы скроллите ленту (неважно, вверх или вниз), фиксирует тот факт, что пост был полностью, от начала до конца, виден на экране, и после того, как он проскроллится за его пределы — скрывает его. Запоминает идентификаторы 1000 последних постов в local storage.
Включается / выключается вот этой кнопочкой. Но эта кнопочка появляется только в многоколоночном режиме, одноколоночным я не пользуюсь, а усложнять не хочу.
Типичный случай использования — вот вы листаете ленту, остановились где-то, сверху новые посты накопились, вы страничку перезагрузили и получается, что у вас будут непрочитанные, потом прочитанные, потом опять недочитанные. А так — нет 😀 Или, допустим, у вас лента поделена на списки, и нужно решить проблему дублирования.
Known Issues:
- Наравне с постами съедает и уведомления (и вдобавок список списков 🙃 ). Я пока не решил, плохо это или хорошо, усложнять не хочу, а включить/выключить не проблема.
- Если хотите добраться до очень старых постов, то кнопку Загрузить еще внизу придется нажимать много раз. Это не глюк, это, в принципе, логично.
- Почему-то с первого раза (т.е. при открытии сайта из адресной строки) скрипт не цепляется, только после перезагрузки страницы по F5 🤔 Причину ищу, а пока так.
Забирайте, пробуйте, ставьте лайки, спрашивайте вопросы, предлагайте предложения!
https://github.com/Johan-foreva/Mastodon-Hide-Read-Posts/blob/main/Hide-Read-Posts.js
-
#Fediverse #Mastodon #MastodonTools
Во какая фигня у нас появилась: Holos Discover — opt-in поисковик по постам Федиверса. Пишут, что очень уважают прайваси, легко включать/отключать и блокировать, обещают не индексировать френдс-онли посты...
Но на всякий случай будьте внимательны, если эта пепяка подпишется на вас 😉
-
#виброкодинг #Mastodon #MastodonTools #Вопрос #виброкодинг
Знатоки #HTML и #JavaScript, натолкните на правильный ход мысли. Пытаюсь навиброкодить #userscript, который будет скрывать из ленты просмотренные посты, черновой вариант есть, но не могу понять/решить, как по-элегантнее присваивать посту атрибут потраченопросмотрено: как формалинизировать тот факт, что пост «был на экране», допустим, более 2 секунд, если лента думскроллится в произвольном направлении, чтобы не было ложных срабатываний для частично попавших на экран (сверху или снизу)?
-
#fediverse_ppl #смищно #Firefox #addons #ТрудностиПеревода #NeuralNetwork #userscript #Mastodon #MastodonTools
Лол, кек. Удивительно непонятное, но от этого иещеболее занятное взаимодействие переводчика, который (каюсь, грешен) иногда включаю в ленте, и юзерскрипта, чтобы комментировать кого-то вот прямо в ленте.
В комментарии — только 🚫 🤖— как напоминание о том, что @iron_bug не приемлет генерацию. Уважаю, позывы сдерживаю. Откуда берется такая интерпретация — совершенно непонятно. Пробовал добавлять тот же комментарий другим пользователям — не работает.
P.S. Сейчас у кого-то, кажется, подгорит на тему «мои посты отправляются на сервера гугла без моего ведома, а я всего-то хотела посрать на площади, прикрываяь ладошкой».
Блок через 5-4-3-2...
-
Here's a list of tools for easily viewing and picking custom emoji on the web:
https://iliazeus.lol/mastodon-emoji-picker/
https://emojos.in/
https://fedimoji.tela.moe/ -
#fediverse #fediadmin #poweruser #mastodontools #fedihelp
Ich suche ein Mastodon Tool egal ob Web oder für Linux welches:
"threads" geplant posten kann.
Bitte keine komerziellen tools.Vorschläge?
-
#Mastodon #MastodonTools #виброкодинг #userscript #NeuralNetwork #Grok #ЯСделяль
Вотх, навиброкодил с помощью Grok (гопота не осилила, заковырявшись в простейшем алгоритме) юзерскрипет для #tampermonkey.
Алгоритм примерно такой: если вы смотрите на пост больше секунды (настраивается) — при прокрутке за границы экрана он скрывается.
Добавляется кнопочка показа / скрытия просмотренных постов.
ID 1000 последних постов запоминаются в локальном хранилище (после перезагрузки страницы всё равно не видны).
Потратил на пинание искусственных идиотов более шести часов (!). Подозреваю, что если бы знал жаваскрипт, управился бы за полтора, но поскольку кроме меня эта идея никому не пришла... Имеем то, что имеем. Пользуйтесь.
[Userscript для скрытия просмотренных постов.(]https://github.com/Johan-foreva/Mastodon-Hide-Read-Posts/blob/main/Mastodon%20Hide%20Read%20Posts%20(Logic%20Fixed)%205.9%20(Grok)-5.9.user.js)
-
Странно, что я зарегился, но почему-то не пользовался сервизом отложенного/запланированного постинга Publer. А оказалось, что среди всех он единственных может в длиннопосты для слоновника: остальные ограничивают 500 символами либо предлагают расширение на платных тарифах.
В остальном там ± как у всех: черновики, календарь, ИИшница (вроде бесплатно, но только на английском), неработающий аддон для браузера. В общем и целом по функционалу Buffer лучше, но ограничение в 500 символов угнитает.
https://app.publer.com/ -
#Mastodon #MastodonTools #дизигн #NeuralNetwork #виброкодинг #митол #CSS
Ура, при помощи #ChatGPT, такой-то матери и китайского блэка¹ (ЗБС, кстати) на фоне я зделол это!!!
Было — стало.
Заебись я хакир? 😉
-
#Mastodon #MastodonTools #GlitchSoc #виброкодинг #ChatGPT #NeuralNetwork
ВАРНИНГ! Всё ниже написанное актуально только для серверов с glitch-soc, тем, кто сидит на ванильке, можно не читать.
А остальные — признайтесь, кого не бесит лишний клик при добавлении картинки? Ведь никто не пользуется этой дудль-рисовалкой, реально.
Поэтому, покумекав, родили такой скрипт для #Tampermonkey
// ==UserScript==
// @name Button triggers LI click & hide menu
// @description Button triggers LI click & hide menu
// @version 0.1
// @match https://cr8r.gg/*
// @match https://tilde.zone/*
// @match https://infosec.exchange/*
// @match https://expressional.social/*
// @match https://toot.cat/*
// @run-at document-idle
// ==/UserScript==
(function() {
'use strict';
// Интервал для поиска кнопки
const buttonInterval = setInterval(() => {
const button = document.querySelector('.compose-form__upload-button button');
if (button) {
clearInterval(buttonInterval);
// console.log('Button found!');
// Навешиваем обработчик на кнопку
button.addEventListener('click', () => {
// console.log('Button clicked, waiting for LI...');
// Создаём MutationObserver на body
const observer = new MutationObserver(mutations => {
for (const mutation of mutations) {
for (const node of mutation.addedNodes) {
if (node.nodeType === 1) { // только элементы
const li = node.querySelector('li[data-index="upload"]');
if (li) {
// Скрываем родительский div
const container = li.closest('div');
if (container) container.style.display = 'none';
// console.log('Upload menu hidden immediately!');
// Вызываем клик на li
li.click();
// console.log('LI clicked automatically!');
// Отключаем observer
observer.disconnect();
return;
}
}
}
}
});
// Наблюдаем только за вставкой новых узлов
observer.observe(document.body, { childList: true, subtree: true });
});
}
}, 250); // ищем кнопку каждые 250 мс
})();Он что делает: обрабатывает клик по кнопке добавления медии, скрывает менюшку с выбором и сам «кликает» на добавление картинки. Мелочь (да какая, к черту, мелочь — дико бесит же, ну!), а приятно.
-
#Mastodon #MastodonTools #CSS #UI
Видел вчерась в ленте псто недовольства огромными кнопками выбора языка и видимости поста (думаю, это никому не по нраву, просто все молчат).
Какова была мотивация Евгена вынести самые редко используемые кнопки на самое видное место — мне неведомо, но вот код, который это исправляет.
.dropdown-button {width: 32px}
.compose-form__footer {flex-direction: row-reverse;}
.compose-form__dropdowns {flex-direction: column; align-self: flex-end;}
.compose-form__actions {flex: 1 0 auto; gap: 6px; width: min-content;} -
Запилил еще одну интерфейсную шпульку, которая, по идее, будет интересна уже более широкому кругу пользователей.
Что делает
- подсвечивает аккаунты, сервера которых вы укажете: боты, мосты, места, где вас всё равно забанили — ну, чтобы не беседовать с копипастой 😉 Это хардкодится в самом скрипте в самом начале.
- Можно добавлять свои комментарии к конкретным пользователям, будут после ника в скобочках.
Инфа лежит в локальном хранилище браузера, над синхронизацией не задумывался (потому что мне не особо надо), но если придумаете юзкейс — пишите, что-то подобное всё же надо реализовать.
Добавление камента — через новую кнопочку в меню. В первом запросе пишем ID, во втором — камент. Если камент пустой, запись удоляется.
Я не стал пихать стилизацию прямо в скрипт, подразумевая, что без внешнего CSS пользоваться стандартным вебмордием всё равно невозможно. Там два класса: первый, это для подсветки ID'а, второй — для комментария.
.highlight-account {
color: #b30000 !important;
font-weight: bold !important;
}
.personal-user-note {
color: #b30000 !important;
font-weight: bold !important;
} -
#CSS #javascript #userscript #UX #UI #MastodonTools #дизигн
#Вопрос: кому-нибудь в здравом уме вообще может понадобиться, чтобы в окне просмотре теги не только выглядели как ссылки, но и риальни вели куда-то?.. 🤔
-
#CSS #javascript #userscript #UX #UI #MastodonTools #дизигн #мюсли
Как засунуть Мастодонта в холодильник?
Как интегрировать нормальный дизигн в #Mastodont, вот в чём вопрос! 🤔
-
#userscript #MastodonTools #вдогонку #NeuralNetwork
У-у-ухъ!
Код не читай — сразу запускай! 😡
Отсутствие контроля за говном, написанным ИИшницей, которое было «похоже на правду» — только что стоило мне проебанного длиннопоста на пол-экрана 😭
Причем. Самое блядство — это то, что написано было там В точности наоборот относительно того, что я просил! 😤 Причем зловредный кусок кода был не нужен!
А в итоге? Виноват-то всё равно мясной им не стыдно, зато токенов наелись... 🍖
-
В общем, раз у нас нет алгоритмической ленты, то ее стоит придумать. Ибо советы типа «ищите интересное в глобалке» работают хреново без статистики. Поэтому, просматривая бота @rur, который на моем сервере и «делает» глобалку, ставил лайки всем подряд всем сколько-нибудь зацепившим постам.
Потом сел думать, что с этим делать. Запросил архив, загрузил в MARL - Mastodon Archive Reader Lite, очень хороший просмотрщик слоноархива прямо в бравузере, помимо прочего показывает ваши лайки в пригодном для парсинга формате (в .json лежат тупо URL'ы постов). Правда, это касается только Mastodon-инстансов, посты с других площадок, к сожалению, остались безымянными, т.к. не включают username в URL (ну, #Pixelfed вроде можно разобрать, но попозже).
Дальше интересно, кстати, было. Поскольку я не погромист, у меня были F12, #Notepad++, #Excel и подозрение, что придется виброкодить. #ChatGPT на запрос #REGEXP'а выродила нечто с виду рабочее, но не в Notepad++. Извинялась, потом пыталась брехать и менсплейнила настройки, но... Не судьба. #Grok справился с первой попытки и еще подсказал, что в Excel #статистика удобно подбвается через «сводную таблицу», буду знать.
В общем, подписался на всех, кого лайкал 2+ раз и добавил их в отдельный список. И туда же — тех, кто часто лайкает/бустит меня, это можно посмотреть через сервис MastoMetrics, тоже полезная штука. Потом убрал лишних ботов вроде «лисичка каждый час», и вот смотрю, что получилось.
На первый взгляд, много англоязычного (и мунспика), бустов (в списках их нельзя вырубить, в отличие от домашки) и в целом «кто все эти люди?», но вроде же так и должна выглядеть алгоритмическая лента, не? 😉
-
#CSS #Mastodon #MastodonTools
#ChatGPT говорит, что надо вот так написать:.status__content.status__content--collapsed {
max-height: none;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 30; /* количество строк, которые должны быть видны */
-webkit-box-orient: vertical;
}Тогда обрезание постов будет не по пикселям, а по строкам (30-строчный псто у меня как раз на высоту экрана) и с многоточием. #НоЭтоНеТочно, но я подзадолбался ковыряться.
-
Mastodon Time & Progress Panel :cat_code:
Продолжаем прошлую тему «Мини календарик на Mastodon». Что ж, посидел это утро над кодиком и вроде привел его в более менее нормальное состояние, которое мне в принципе нравится и вроде можно даже показывать другим :blobfoxlaugh:
В общем вот, кто хочет, пользуйтесь на здоровье :blobfoxcomfytea:
https://github.com/ZenonEl/mastodon-time-progress-panel -
Мини календарик на Mastodon :cat_code:
Было мне немного скучно и я решил потратить немножко своего свободного времени чтобы добавить себе вот такой вот самописный мини-календарик. Вроде мелочь, а приятно. Та и получилось вроде его органично вписать в интерфейс :blobfoxbox:
Хотя думаю ещё немного поиграться с кодом, а там если не забуду то и на гитхаб свой выложу :blobfoxcomfysleepy:
-
#ВеселыеКартинки #webcomic #Mastodon #addons #перевод #MastodonTools
О, оказывается, встроенный Deepl-перевод (такое есть на некоторых инстансах) работает и для ALT-описания. Хотя переводчик TWP - Translate Web Pages сделает то же самое, работает на любом сайте, а, умея переводить сгенерированный контент на лету, позволяет читать всю ленту сразу с переводом.
Я это в основном к чему — веселый художник и комиксы интересные 😉 https://troet.cafe/@fernandez
Но он немец... Но это поправимо 🤣
Двое астронавтов стоят в темной, биомеханической пещере – прямо перед большой коллекцией жутко выглядящих яиц, какими мы знаем их по фильмам «Чужой». Один из них серьезно спрашивает: «Что вы скажете на это, капитан?» Другой радостно вскидывает руки и кричит: «С Пасхой!»
-
#MastodonTools #Mastodon #лайфхак
Чтобы точно не пропустить сообщения от интересных пользователей, можно «нажать на колокольчик» в профиле.
-
#MastodonTools #glitch #Tampermonkey #userscript
Предпросмотр #Markdown
Вот тут некто справедливо заметил, что негоже на #GlitchSoc не иметь предпросмотра отформатированного текста.
И, хотя Markdown вроде и предназначен для форматирования «в уме», но почему бы и не да? 😉
За основу был взят код из этого примера. Вот здесь разъясняется, как он работает, но я просто скромил #ChatGPT, но то ли она дура, то ли не умею правильно формулировать ТЗ, в общем, многое пришлось править, а #JavaScript я не знаю 😔
Поэтому пока самая базовая реализация:
Для просмотра нажать Esc, для возврата к редактирванию Enter.
-
...И тут до него дошло, что использование нулевого пробела в середине слова — всё же не есть хорошо с т.з. копипаста. Что у нас еще есть? Есть #HTML-тег <wbr> и спецсимвол ­. Пробуем:
#tags — <wbr>
#tags — ­
#tags — ​В итоге корректно копируется в буфер только первый. Поэтому отлеплять окончание от тега следует при помощи <wbr>.
-
#MastodonTools #JavaScript #userscript #Firefox #TamperMonkey #NeuralNetwork #ChatGPT
Господамы, #вопрос: у вас ведь тоже в вебмордии #Mastodon при включенной «медленной загрузке» (когда ленту обновлять вручную надо) она чаще всего «съзжает», да? Это же ведь не у одного меня такая беда?
Кто как борется с этим? А то, может, я зря сижу скрипт пилю и всё проще решается? 🤔