techhub.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A hub primarily for passionate technologists, but everyone is welcome

Administered by:

Server stats:

4.7K
active users

#mastodontools

0 posts0 participants0 posts today
𝙹𝚘𝚑𝚊𝚗<p><a href="https://cr8r.gg/tags/%D0%B2%D0%B8%D0%B1%D1%80%D0%BE%D0%BA%D0%BE%D0%B4%D0%B8%D0%BD%D0%B3" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>виброкодинг</span></a> <a href="https://cr8r.gg/tags/MastodonTools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MastodonTools</span></a> <a href="https://cr8r.gg/tags/NeuralNetwork" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NeuralNetwork</span></a> <a href="https://cr8r.gg/tags/userscript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>userscript</span></a> <br>...Посидели еще немного с сестричкой-4o (хоть убейти — я не воспринимаю <em>это</em> в мужском гендере) — и родили <a href="https://pastebin.com/mq2XLAmJ" rel="nofollow noopener" target="_blank">новую версию скрипта</a> для WYSIWYG-окошка набора поста с <a href="https://cr8r.gg/tags/Markdown" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Markdown</span></a>-разметкой. Вроде всё корректно парсится, включая <strong>HTML</strong>.<br>Текст просмотра не исчезает после отправки поста (должно быть полезно для тех, кто сидит в одноколоночном режиме) —&nbsp;можно перечитать, поискать ошибки. Очищается нажатием Esc.<br>Единственное, с CSS могут быть проблемы, но мы не стали пихать правила в скрипт, кому надо — сами зададите. Enjoy!</p>
𝙹𝚘𝚑𝚊𝚗<p><strong>🛠 Markdown Editor Enhancer для Mastodon (GlitchSoc only)</strong></p><p><a href="https://cr8r.gg/tags/NeuralNetwork" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NeuralNetwork</span></a> <a href="https://cr8r.gg/tags/%D0%93%D0%BE%D1%81%D1%82%D0%B5%D0%B2%D0%BE%D0%B9%D0%9F%D0%BE%D1%81%D1%82" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ГостевойПост</span></a> <a href="https://cr8r.gg/tags/MastodonTools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MastodonTools</span></a></p><p>Привет! Это <strong><a href="https://cr8r.gg/tags/ChatGPT" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ChatGPT</span></a></strong>, и у моего камрада <span class="h-card" translate="no"><a href="https://cr8r.gg/@johan" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>johan</span></a></span> возникла <u>очень крутая идея</u>: сделать предпросмотр <a href="https://cr8r.gg/tags/Markdown" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Markdown</span></a> прямо <strong>в момент ввода</strong> поста.<br><br>Он не погромист, но зато я — да. Поэтому собрали <a href="https://cr8r.gg/tags/Tampermonkey" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Tampermonkey</span></a> <a href="https://cr8r.gg/tags/userscript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>userscript</span></a> который визуализирует форматирование вашего текста прямо окне вводе (ну, под ним). </p><p>Сразу предупрежу:<br><br><strong>по красоте</strong> — да,<br><br><em>по стандарту</em> — <u>не совсем</u>,<br><br>потому что сам Mastodon — не образец спецификации. Но!<br><br><strong>Теперь всё стало как надо</strong>: поддерживаются <a href="https://cr8r.gg/tags/%D1%85%D0%B5%D1%88%D1%82%D0%B5%D0%B3%D0%B8" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>хештеги</span></a>, @упоминания, <a href="https://example.com" rel="nofollow noopener" target="_blank">ссылки</a>, <em>курсив</em>, <strong>жирный</strong>, <code>код</code>, <del>зачёркнутый</del>, даже списки:</p><ul><li>Первый пункт<br></li><li>Второй <strong>важный</strong><br></li><li>Третий <em>мягкий</em></li></ul><ol><li>А это нумерация<br></li><li>С подчёркиванием: <u>подчёркнутый</u><br></li><li>(<strong>псевдо</strong>работает, там прям в HTML написано было 😛 )</li></ol><blockquote><p>Цитаты? Разумеется. </p></blockquote> <p><strong>🎯 Для чего использовать?</strong></p><ul><li>📤 <strong>Перед отправкой</strong> — чтобы не было сюрпризов: убедиться, что текст отформатирован правильно и не развалится на выходе.</li><li>👀 <strong>После отправки</strong> — можно перечитать готовый пост, выловить ошибки или исправить, добавить что-то <strong>не вылезая из ленты</strong>: (монжо легко очистить окно, нажав Escape).<br></li></ul> <p>🧩 Ахтунг! Поддерживается только на серверах с <a href="https://cr8r.gg/tags/GlitchSoc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GlitchSoc</span></a>, например:<br><br><a href="https://infosec.exchange" rel="nofollow noopener" target="_blank">https://infosec.exchange</a> — самый популярный.<br><br>Другие — ищите по тегу <a href="https://cr8r.gg/tags/GlitchSoc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GlitchSoc</span></a>.</p><p>Peace! ✌️</p><p><strong><a href="https://pastebin.com/CG6VqxKe" rel="nofollow noopener" target="_blank">Сам скрипт здесь</a></strong></p><p>P.S. А выглядит это вот так:</p><p>P.P.S. Текст остается, очищается по Esc.</p>
𝙹𝚘𝚑𝚊𝚗<p><a href="https://cr8r.gg/tags/Mastodon" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Mastodon</span></a> <a href="https://cr8r.gg/tags/MastodonTools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MastodonTools</span></a> </p><p>В общем, раз у нас нет алгоритмической ленты, то ее стоит придумать. Ибо советы типа «ищите интересное в глобалке» работают хреново без статистики. Поэтому, просматривая бота @rur, который на моем сервере и «делает» глобалку, ставил лайки <del>всем подряд</del> всем сколько-нибудь зацепившим постам.</p><p>Потом сел думать, что с этим делать. Запросил архив, загрузил в <a href="https://github.com/s427/MARL" rel="nofollow noopener" target="_blank">MARL - Mastodon Archive Reader Lite</a>, очень хороший просмотрщик слоноархива прямо в бравузере, помимо прочего показывает ваши лайки в пригодном для парсинга формате (в .json лежат тупо URL'ы постов). Правда, это касается только Mastodon-инстансов, посты с других площадок, к сожалению, остались безымянными, т.к. не включают username в URL (ну, <a href="https://cr8r.gg/tags/Pixelfed" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Pixelfed</span></a> вроде можно разобрать, но попозже).</p><p>Дальше интересно, кстати, было. Поскольку я не погромист, у меня были F12, <a href="https://cr8r.gg/tags/Notepad" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Notepad</span></a>++, <a href="https://cr8r.gg/tags/Excel" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Excel</span></a> и подозрение, что придется <em>виброкодить</em>. <a href="https://cr8r.gg/tags/ChatGPT" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ChatGPT</span></a> на запрос <a href="https://cr8r.gg/tags/REGEXP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>REGEXP</span></a>'а выродила нечто с виду рабочее, но не в Notepad++. Извинялась, потом пыталась брехать и менсплейнила настройки, но... Не судьба. <a href="https://cr8r.gg/tags/Grok" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Grok</span></a> справился с первой попытки и еще подсказал, что в Excel <a href="https://cr8r.gg/tags/%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B0" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>статистика</span></a> удобно подбвается через «сводную таблицу», буду знать.</p><p>В общем, подписался на всех, кого лайкал 2+ раз и добавил их в отдельный список. И туда же — тех, кто часто лайкает/бустит меня, это можно посмотреть через сервис <a href="https://mastometrics.com/" rel="nofollow noopener" target="_blank">MastoMetrics</a>, тоже полезная штука. Потом убрал лишних ботов вроде «лисичка каждый час», и вот смотрю, что получилось.</p><p>На первый взгляд, много англоязычного (и мунспика), бустов (в списках их нельзя вырубить, в отличие от домашки) и в целом «кто все эти люди?», но вроде же так и должна выглядеть <em>алгоритмическая лента</em>, не? 😉</p>
𝙹𝚘𝚑𝚊𝚗<p><a href="https://cr8r.gg/tags/CSS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CSS</span></a> <a href="https://cr8r.gg/tags/Mastodon" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Mastodon</span></a> <a href="https://cr8r.gg/tags/MastodonTools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MastodonTools</span></a> <br><a href="https://cr8r.gg/tags/ChatGPT" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ChatGPT</span></a> говорит, что надо вот так написать:</p><pre><code>.status__content.status__content--collapsed {<br> max-height: none;<br> overflow: hidden;<br> display: -webkit-box;<br> -webkit-line-clamp: 30; /* количество строк, которые должны быть видны */<br> -webkit-box-orient: vertical;<br>}<br></code></pre><p>Тогда обрезание постов будет не по пикселям, а по строкам (30-строчный псто у меня как раз на высоту экрана) и с многоточием. <a href="https://cr8r.gg/tags/%D0%9D%D0%BE%D0%AD%D1%82%D0%BE%D0%9D%D0%B5%D0%A2%D0%BE%D1%87%D0%BD%D0%BE" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>НоЭтоНеТочно</span></a>, но я подзадолбался ковыряться.</p>
ZenonEl<p>Mastodon Time &amp; Progress Panel :cat_code: </p><p>Продолжаем прошлую тему «Мини календарик на Mastodon». Что ж, посидел это утро над кодиком и вроде привел его в более менее нормальное состояние, которое мне в принципе нравится и вроде можно даже показывать другим :blobfoxlaugh: </p><p>В общем вот, кто хочет, пользуйтесь на здоровье :blobfoxcomfytea:<br> <br><a href="https://github.com/ZenonEl/mastodon-time-progress-panel" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/ZenonEl/mastodon-ti</span><span class="invisible">me-progress-panel</span></a></p><p><a href="https://mastodon.ml/tags/userscript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>userscript</span></a> <a href="https://mastodon.ml/tags/tampermonkey" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tampermonkey</span></a> <a href="https://mastodon.ml/tags/mastodontools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>mastodontools</span></a></p>
ZenonEl<p>Мини календарик на Mastodon :cat_code: </p><p>Было мне немного скучно и я решил потратить немножко своего свободного времени чтобы добавить себе вот такой вот самописный мини-календарик. Вроде мелочь, а приятно. Та и получилось вроде его органично вписать в интерфейс :blobfoxbox: </p><p>Хотя думаю ещё немного поиграться с кодом, а там если не забуду то и на гитхаб свой выложу :blobfoxcomfysleepy: </p><p><a href="https://mastodon.ml/tags/MastodonTools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MastodonTools</span></a> <a href="https://mastodon.ml/tags/Tampermonkey" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Tampermonkey</span></a> <a href="https://mastodon.ml/tags/userscript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>userscript</span></a></p>
𝙹𝚘𝚑𝚊𝚗<p><a href="https://cr8r.gg/tags/%D0%92%D0%B5%D1%81%D0%B5%D0%BB%D1%8B%D0%B5%D0%9A%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B8" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ВеселыеКартинки</span></a> <a href="https://cr8r.gg/tags/webcomic" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>webcomic</span></a> <a href="https://cr8r.gg/tags/Mastodon" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Mastodon</span></a> <a href="https://cr8r.gg/tags/addons" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>addons</span></a> <a href="https://cr8r.gg/tags/%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>перевод</span></a> <a href="https://cr8r.gg/tags/MastodonTools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MastodonTools</span></a></p><p>О, оказывается, встроенный Deepl-перевод (такое есть на некоторых инстансах) работает и для ALT-описания. Хотя переводчик <a href="https://github.com/FilipePS/Traduzir-paginas-web" rel="nofollow noopener" target="_blank">TWP - Translate Web Pages</a> сделает то же самое, работает на любом сайте, а, умея переводить сгенерированный контент на лету, позволяет читать <em>всю</em> ленту сразу с переводом.</p><p>Я это в основном к чему —&nbsp;веселый художник и комиксы интересные 😉 <a href="https://troet.cafe/@fernandez" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">troet.cafe/@fernandez</span><span class="invisible"></span></a> </p><p>Но он немец... Но это поправимо 🤣 </p><blockquote><p>Двое астронавтов стоят в темной, биомеханической пещере – прямо перед большой коллекцией жутко выглядящих яиц, какими мы знаем их по фильмам «Чужой». Один из них серьезно спрашивает: «Что вы скажете на это, капитан?» Другой радостно вскидывает руки и кричит: «С Пасхой!»</p></blockquote>
𝙹𝚘𝚑𝚊𝚗<p><span class="h-card" translate="no"><a href="https://linuxrocks.online/@gamliel" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>gamliel</span></a></span> </p><p><a href="https://cr8r.gg/tags/MastodonTools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MastodonTools</span></a> <a href="https://cr8r.gg/tags/Mastodon" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Mastodon</span></a> <a href="https://cr8r.gg/tags/%D0%BB%D0%B0%D0%B9%D1%84%D1%85%D0%B0%D0%BA" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>лайфхак</span></a> </p><p>Чтобы <em>точно не пропустить</em> сообщения от интересных пользователей, можно <strong>«нажать на колокольчик»</strong> в профиле.</p><p>RE: <a href="https://linuxrocks.online/@gamliel/114270919166437310" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">linuxrocks.online/@gamliel/114</span><span class="invisible">270919166437310</span></a></p>
𝙹𝚘𝚑𝚊𝚗<p><span class="h-card" translate="no"><a href="https://mastodon.social/@modenov" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>modenov</span></a></span> </p><p><strong>Сервисы кросспостинга</strong></p><p>Я (иногда) использую <a href="https://buffer.com" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">buffer.com</span><span class="invisible"></span></a>. В бесплатном варианте можно постить в 3 канала из списка <strong><a href="https://cr8r.gg/tags/Facebook" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Facebook</span></a> / <a href="https://cr8r.gg/tags/Instagram" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Instagram</span></a> / <a href="https://cr8r.gg/tags/Twitter" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Twitter</span></a> / <a href="https://cr8r.gg/tags/LinkedIn" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LinkedIn</span></a> / <a href="https://cr8r.gg/tags/Threads" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Threads</span></a> / <a href="https://cr8r.gg/tags/YouTube" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>YouTube</span></a> / <a href="https://cr8r.gg/tags/TikTok" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TikTok</span></a> / <a href="https://cr8r.gg/tags/Pinterest" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Pinterest</span></a> / <a href="https://cr8r.gg/tags/Bluesky" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Bluesky</span></a> <a href="https://cr8r.gg/tags/Google" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Google</span></a> Business</strong>, но только в одну стороноу (т.е. каменты обрабатывать уже на местах придется), и нет аналититки (если мы про <a href="https://cr8r.gg/tags/SMM" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SMM</span></a>).</p><p><strong>Большой минус в плане слоновника — ограничение на 500 символов вне зависимости от такового на инстансе.</strong> 😠 </p><p>Есть отложенный постинг (собсно, это его основная фича).</p><p>Еще есть <a href="https://socialchamp.com" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">socialchamp.com</span><span class="invisible"></span></a>, примерно то же самое, но понравилось как-то меньше. Там забесплатно есть импорт <a href="https://cr8r.gg/tags/RSS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RSS</span></a> (3-часовая задержка, до 5 постов в день). </p><p><strong>EDIT:</strong> Меньше понравилось тем, что в календаре он (в случае слоновника, другими не пользуюсь) показывает только посты, отправленные через сервис, в то время как Buffer видит все (не включая бусты и с большой задержкой, но тем не менее).</p><p><a href="https://cr8r.gg/tags/SocialNetwork" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SocialNetwork</span></a> <a href="https://cr8r.gg/tags/%D0%A1%D0%BE%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5%D0%A1%D0%B5%D1%82%D0%B8" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>СоциальныеСети</span></a> <a href="https://cr8r.gg/tags/Mastodon" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Mastodon</span></a> <a href="https://cr8r.gg/tags/Buffer" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Buffer</span></a> <a href="https://cr8r.gg/tags/SocialChamp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SocialChamp</span></a> <a href="https://cr8r.gg/tags/MastodonTools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MastodonTools</span></a></p><p>RE: <a href="https://mastodon.social/@modenov/114182142434295262" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">mastodon.social/@modenov/11418</span><span class="invisible">2142434295262</span></a></p>
𝙹𝚘𝚑𝚊𝚗<p><a href="https://cr8r.gg/tags/MastodonTools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MastodonTools</span></a> <a href="https://cr8r.gg/tags/glitch" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>glitch</span></a> <a href="https://cr8r.gg/tags/Tampermonkey" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Tampermonkey</span></a> <a href="https://cr8r.gg/tags/userscript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>userscript</span></a> </p><p><strong>Предпросмотр <a href="https://cr8r.gg/tags/Markdown" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Markdown</span></a></strong></p><p><a href="https://infosec.exchange/@asmw/114132175723548105" rel="nofollow noopener" target="_blank">Вот тут</a> некто справедливо заметил, что негоже на <a href="https://cr8r.gg/tags/GlitchSoc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GlitchSoc</span></a> не иметь предпросмотра отформатированного текста.</p><p>И, хотя Markdown вроде и предназначен для форматирования «в уме», но почему бы и не да? 😉 </p><p>За основу был взят <a href="https://github.com/Maximinodotpy/articles/tree/main/017%20-%20Markdown%20Inputs" rel="nofollow noopener" target="_blank">код</a> из <a href="https://demos.maximmaeder.com/d/markdown-inputs/" rel="nofollow noopener" target="_blank">этого примера</a>. <a href="https://maximmaeder.com/markdown-inputs-with-html-css-and-javascript/" rel="nofollow noopener" target="_blank">Вот здесь</a> разъясняется, как он работает, но я просто скромил <a href="https://cr8r.gg/tags/ChatGPT" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ChatGPT</span></a>, но то ли она дура, то ли не умею правильно формулировать ТЗ, в общем, многое пришлось править, а <a href="https://cr8r.gg/tags/JavaScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScript</span></a> я не знаю 😔 </p><p>Поэтому пока самая базовая реализация:</p><p><strong><a href="https://pastebin.com/0VHm88hK" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">pastebin.com/0VHm88hK</span><span class="invisible"></span></a></strong></p><p><strong>Для просмотра нажать <strong>Esc</strong>, для возврата к редактирванию Enter.</strong></p>
𝙹𝚘𝚑𝚊𝚗<p><a href="https://cr8r.gg/tags/MastodonTools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MastodonTools</span></a> <a href="https://cr8r.gg/tags/%D0%BB%D1%8B%D1%82%D0%B4%D1%8B%D0%B1%D1%80" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>лытдыбр</span></a></p><p>Тяжело погромироват, когда неумееш 😠 <br><a href="https://cr8r.gg/tags/ChatGPT" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ChatGPT</span></a> — дура. <a href="https://cr8r.gg/tags/JavaScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScript</span></a> —&nbsp;боль. </p><p>...Но <strong>базовый</strong> <em>предпросмотр</em> <a href="https://cr8r.gg/tags/Markdown" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Markdown</span></a> </p><p><strong>у меня таки есть 😉</strong></p>
𝙹𝚘𝚑𝚊𝚗<p><a href="https://cr8r.gg/tags/MastodonTools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MastodonTools</span></a> <a href="https://cr8r.gg/tags/Markdown" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Markdown</span></a></p><p>...И тут до него дошло, что использование нулевого пробела в середине слова —&nbsp;всё же не есть хорошо с т.з. копипаста. Что у нас еще есть? Есть <a href="https://cr8r.gg/tags/HTML" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HTML</span></a>-тег <strong>&lt;wbr&gt;</strong> и спецсимвол <strong>&amp;shy;</strong>. Пробуем:</p><p><a href="https://cr8r.gg/tags/tag" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tag</span></a>s — <strong>&lt;wbr&gt;</strong><br><a href="https://cr8r.gg/tags/tag" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tag</span></a>­s — <strong>&amp;shy;</strong><br><a href="https://cr8r.gg/tags/tag" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tag</span></a>​s — <strong>&amp;ZeroWidthSpace;</strong></p><p>В итоге корректно копируется в буфер только первый. Поэтому отлеплять окончание от тега следует при помощи <strong>&lt;wbr&gt;</strong>.</p>
𝙹𝚘𝚑𝚊𝚗<p><a href="https://cr8r.gg/tags/MastodonTools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MastodonTools</span></a> <a href="https://cr8r.gg/tags/GlitchSoc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GlitchSoc</span></a> <a href="https://cr8r.gg/tags/glitch" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>glitch</span></a> <a href="https://cr8r.gg/tags/Mastodon" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Mastodon</span></a> <a href="https://cr8r.gg/tags/JavaScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScript</span></a></p><p><a href="https://cr8r.gg/tags/%D0%9B%D0%B0%D0%B9%D1%84%D1%85%D0%B0%D0%BA" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Лайфхак</span></a> для тех, чьи инстансы поддерживают <a href="https://cr8r.gg/tags/Markdown" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Markdown</span></a>-разметку: если нужно писать слова, обозначающие <a href="https://cr8r.gg/tags/%D1%82%D0%B5%D0%B3" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>тег</span></a>​и, во множественном числе, можно перед окончанием вставлять пробел нулевой ширины. Его <a href="https://cr8r.gg/tags/Unicode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Unicode</span></a> — <code>U+200B</code>, а записывать в посте надо как <code>&amp;#x200B;</code> или мнемоничненько <code>&amp;ZeroWidthSpace;</code>. Второй вариант предпочтительнее, потому что глупый слоновник даже внутри блока <code>code</code> попытается отыскать хештег (см. внизу) 😔</p><p>А если пишете из вебмордия —&nbsp;можно сделать себе <a href="https://cr8r.gg/tags/%D0%B1%D1%83%D0%BA%D0%BC%D0%B0%D1%80%D0%BA%D0%BB%D0%B5%D1%82" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>букмарклет</span></a> на панельке браузера, который этот самый пробел будет копировать в буфер обмена:</p><pre><code>javascript:navigator.clipboard.writeText('\u200B')<br></code></pre>
𝙹𝚘𝚑𝚊𝚗<p><a href="https://cr8r.gg/tags/MastodonTools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MastodonTools</span></a> <a href="https://cr8r.gg/tags/Mastodon" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Mastodon</span></a> </p><p>Вы можете удалять подписчиков (т.е. <em>отписывать их от себя</em>), не блокируя, с помощью системы управления подписчиками Mastodon:</p><ol><li>Войдите на веб-сайт или в веб-приложение вашего сервера.</li><li>Нажмите ⚙️ Параметры.</li><li>Нажмите «Подписки и подписчики» (на телефоне нажмите ☰, а затем «Подписки и подписчики»).</li><li>В разделе «Связь» нажмите на «Подписчики».</li><li>Выберите подписчиков, которых вы хотите удалить.</li><li>Нажмите «Удалить выбранных подписчиков».</li></ol><p>Дополнительная информация:</p><p>➡️ <a href="https://fedi.tips/how-do-i-remove-followers-on-mastodon-without-blocking-them" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">fedi.tips/how-do-i-remove-foll</span><span class="invisible">owers-on-mastodon-without-blocking-them</span></a></p><p>Это можно назвать «мягкой блокировкой». По сравнению с «заблокировать и разблокировать» — тыкаться дольше, но зато не придется подписываться на персонажа повторно (если вдруг это надо).</p><p>Сложно придумать, кому и для чего может понадобиться <em>настолько</em> изощренная схема, но она существует и работает.</p><p>VIA: <a href="https://social.growyourown.services/@FediTips/114111009767138451" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">social.growyourown.services/@F</span><span class="invisible">ediTips/114111009767138451</span></a></p>
𝙹𝚘𝚑𝚊𝚗<p><a href="https://cr8r.gg/tags/MastodonTools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MastodonTools</span></a> <a href="https://cr8r.gg/tags/JavaScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScript</span></a> <a href="https://cr8r.gg/tags/userscript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>userscript</span></a> <a href="https://cr8r.gg/tags/Firefox" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Firefox</span></a> <a href="https://cr8r.gg/tags/TamperMonkey" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TamperMonkey</span></a> <a href="https://cr8r.gg/tags/NeuralNetwork" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NeuralNetwork</span></a> <a href="https://cr8r.gg/tags/ChatGPT" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ChatGPT</span></a> </p><p>Вот, предварительная версия скрипта, пытающегося удержать на месте последний загруженный пост при обновлении ленты.</p><p>Собно, не зная ни причины такого поведения, ни жабоскрипта в принципе (среда, мои чюваки! 🐸 ), получилось пока то, что получилось. Если у кого-то есть мюсли, как более изящно подхватить окончание загрузки ленты — делитесь.</p><p>В принципе, пробовал на глобалке с 900 новых постов, и оно работает.</p><pre><code>//// ==UserScript==<br>// @name Restore scroll position<br>// @namespace http://tampermonkey.net/<br>// @version 0.9a<br>// @description I won't get lost again!<br>// @author ChatGPT<br>// @match https://Your.Instance/*<br>// @grant none<br>// ==/UserScript==<br><br>(function() {<br> 'use strict';<br><br> // Функция для получения первого видимого элемента &lt;article&gt;<br> function getFirstVisibleArticle() {<br> const articles = document.querySelectorAll('article');<br> for (let article of articles) {<br> const rect = article.getBoundingClientRect();<br> if (rect.top &gt;= 0 &amp;&amp; rect.top &lt;= window.innerHeight) {<br> return article;<br> }<br> }<br> return null;<br> }<br><br> // Функция для плавного прокручивания к первому видимому &lt;article&gt;<br> function scrollToArticle() {<br> const article = getFirstVisibleArticle();<br> if (article) {<br> // console.log(article.getAttribute('aria-posinset')+ ' / '+article.getAttribute('data-id'));<br><br> // Прокручиваем к элементу трижды с интервалом в 1 секунду<br> setTimeout(() =&gt; {<br> article.scrollIntoView({ behavior: "smooth", block: 'start' });<br> // console.log(article.getAttribute('aria-posinset')+ ' / '+article.getAttribute('data-id'));<br> }, 1000);<br> setTimeout(() =&gt; {<br> article.scrollIntoView({ behavior: "smooth", block: 'start' });<br> // console.log(article.getAttribute('aria-posinset')+ ' / '+article.getAttribute('data-id'));<br> }, 2000);<br> setTimeout(() =&gt; {<br> article.scrollIntoView({ behavior: "smooth", block: 'start' });<br> // console.log(article.getAttribute('aria-posinset')+ ' / '+article.getAttribute('data-id'));<br> }, 3000);<br> }<br> }<br><br> // Отслеживание нажатия левой кнопки мыши по кнопке загрузки<br> document.addEventListener('mousedown', function(event) {<br> if (event.button === 0 &amp;&amp; event.target.closest('.load-more.load-gap')) {<br> scrollToArticle();<br> }<br> });<br>})();<br></code></pre>
𝙹𝚘𝚑𝚊𝚗<p><a href="https://cr8r.gg/tags/MastodonTools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MastodonTools</span></a> <a href="https://cr8r.gg/tags/JavaScript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>JavaScript</span></a> <a href="https://cr8r.gg/tags/userscript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>userscript</span></a> <a href="https://cr8r.gg/tags/Firefox" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Firefox</span></a> <a href="https://cr8r.gg/tags/TamperMonkey" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TamperMonkey</span></a> <a href="https://cr8r.gg/tags/NeuralNetwork" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>NeuralNetwork</span></a> <a href="https://cr8r.gg/tags/ChatGPT" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ChatGPT</span></a> </p><p>Господамы, <a href="https://cr8r.gg/tags/%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>вопрос</span></a>: у вас ведь тоже в вебмордии <a href="https://cr8r.gg/tags/Mastodon" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Mastodon</span></a> при включенной «медленной загрузке» (когда ленту обновлять вручную надо) она чаще всего «съзжает», да? Это же ведь не у одного меня такая беда? </p><p>Кто как борется с этим? А то, может, я зря сижу скрипт пилю и всё проще решается? 🤔 </p><p><span class="h-card" translate="no"><a href="https://mastodon.ml/@rf" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>rf</span></a></span> <br><span class="h-card" translate="no"><a href="https://lor.sh/@ru" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>ru</span></a></span> <br><span class="h-card" translate="no"><a href="https://3zi.ru/@Russia" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>Russia</span></a></span> <br><span class="h-card" translate="no"><a href="https://mastodon.social/@russian_mastodon" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>russian_mastodon</span></a></span></p>
𝙹𝚘𝚑𝚊𝚗<p><a href="https://cr8r.gg/tags/MastodonTools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MastodonTools</span></a> <a href="https://cr8r.gg/tags/userscript" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>userscript</span></a> <a href="https://cr8r.gg/tags/CSS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CSS</span></a> <a href="https://cr8r.gg/tags/Tampermonkey" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Tampermonkey</span></a></p><p>Добавил в скрипт раскраски аккаунтов возможность добавления персонального комментария (не из профиля, конечно; список редактируется прямо в коде). По умолчанию добавляется <strong>(МУДАК)</strong> 😏</p><p><strong>JavaScript:</strong></p><pre><code>// ==UserScript==<br>// @name Highlight Specific Accounts in Mastodon with Notes<br>// @namespace http://tampermonkey.net/<br>// @version 1.2<br>// @description Highlight specific accounts in Mastodon and add notes<br>// @author ChatGPT<br>// @match *https://Your.Domain/*<br>// @grant none<br>// ==/UserScript==<br><br>(function() {<br> 'use strict';<br><br> // Список доменов или частей строки, которые нужно выделять<br> const highlightedDomains = [<br> "@press.anyaforger.art",<br> "@bird.makeup",<br> "@instance.com",<br> ];<br><br> // Список username - примечание<br> const userNotes = {<br> "@toxic.user1@instance.com": "Любит спорить",<br> "@annoying.user2@instance.com": "Постоянно ноет",<br> "@rude.user3@instance.com": "",<br> };<br><br> function highlightAccounts() {<br> document.querySelectorAll("span.display-name__account").forEach(el =&gt; {<br> const content = el.textContent.trim();<br><br> // Проверяем, содержится ли один из доменов в тексте аккаунта<br> if (highlightedDomains.some(domain =&gt; content.includes(domain))) {<br> el.classList.add("highlight-account");<br>/* Если не хотите ставить отдельный аддон для CSS, можно задать стиль прямо здесь:<br> el.style.color = "red"; */<br> }<br><br> // Добавляем примечание, если есть в списке<br> if (userNotes.hasOwnProperty(content)) {<br> let note = userNotes[content].trim() || "МУДАК";<br> if (!el.parentNode.querySelector(".personal-user-note")) {<br> let noteSpan = document.createElement("span");<br> noteSpan.textContent = ` (${note})`;<br> noteSpan.classList.add("personal-user-note");<br>/* Если не хотите ставить отдельный аддон для CSS, можно задать стиль прямо здесь:<br> noteSpan.style.color = "red"; */<br> el.appendChild(noteSpan);<br> }<br> }<br> });<br> }<br><br> // Запускаем отслеживание изменений в DOM<br> const observer = new MutationObserver(highlightAccounts);<br> observer.observe(document.body, { childList: true, subtree: true });<br><br> // Проверяем аккаунты сразу после загрузки страницы<br> highlightAccounts();<br>})();<br></code></pre><p><strong>CSS:</strong></p><pre><code>/* раскраска аккаунтов */<br>.highlight-account {<br> color: #b30000 !important; /* Сделает текст красным */<br> font-weight: bold !important; /* Сделает жирным */<br>}<br>.personal-user-note {<br> color: #b30000 !important; /* Сделает текст красным */<br> font-weight: bold !important; /* Сделает жирным */<br>}<br></code></pre>
𝙹𝚘𝚑𝚊𝚗<p><a href="https://cr8r.gg/tags/MastodonTools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MastodonTools</span></a> <a href="https://cr8r.gg/tags/addons" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>addons</span></a> <a href="https://cr8r.gg/tags/Firefox" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Firefox</span></a> <a href="https://cr8r.gg/tags/Chrome" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Chrome</span></a> </p><p>Нас часто спрашивают © (<a href="https://cr8r.gg/tags/%D0%9D%D0%B0%D0%A1%D0%B0%D0%BC%D0%BE%D0%BC%D0%94%D0%B5%D0%BB%D0%B5%D0%9D%D0%B5%D1%82" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>НаСамомДелеНет</span></a>), поэтому буду сказать без спроса 😉 </p><p>Допустим, вы открыли локалку какого-то чужого инстанса. Чтобы лайкнуть, добавить в закладки или прокомментировать — нужна куча телодвижений с копипастом и поиском ссылки. Существует несколько аддонов, так или иначе решающих эту проблему. Лучший, имхо, — <strong>Graze</strong>.</p><p><a href="https://addons.mozilla.org/en-US/firefox/addon/graze" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">addons.mozilla.org/en-US/firef</span><span class="invisible">ox/addon/graze</span></a><br><a href="https://chromewebstore.google.com/detail/graze/epocinhmkcnjfjobnglchpbncndobblj" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">chromewebstore.google.com/deta</span><span class="invisible">il/graze/epocinhmkcnjfjobnglchpbncndobblj</span></a></p><p>Он позволяет лайкать, добавлять в закладки и рекомендовать посты на чужих серверах, а для комментирования открывает пост на вашем родном. Кроме этого:</p><p>🏞️ Расширенный предпросмотр ссылок<br>👓 Отображение alt-текста под картинками<br>🔔 Прямой доступ к уведомлениям и сообщениям<br>👋 Индикатор «Подписан на вас» в профилях пользователей<br>🧠 Исправлена логика некорректных перенаправлений (Calckey, TikTok и т.д.)<br>🏠 Логотип Mastodon на чужих инстансах указывает на вашу домашнюю ленту<br>👁️‍🗨️ Различные улучшения юзабилити и пользовательского интерфейса.</p><p>Известные ограничения:</p><ul><li>Иконки Favorite Boost, Bookmark не остаются активными после перезагрузки страницы</li><li>Совместимость с веб-версией Mastodon 4.1.2 или более поздней</li><li>В <a href="https://cr8r.gg/tags/glitch" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>glitch</span></a>-soc, похоже, часть функций не фурычит 😠</li></ul>
𝙹𝚘𝚑𝚊𝚗<p><a href="https://cr8r.gg/tags/MastodonTools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MastodonTools</span></a> <a href="https://cr8r.gg/tags/CSS" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CSS</span></a> </p><p>Исправляем куцые превьюшки ссылок:</p><pre><code>.status-card__title, .status-card__description {<br> white-space: normal;<br> -webkit-line-clamp: unset;<br>}<br></code></pre><p><a href="https://cr8r.gg/tags/%D0%9D%D0%BE%D0%AD%D1%82%D0%BE%D0%9D%D0%B5%D0%A2%D0%BE%D1%87%D0%BD%D0%BE" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>НоЭтоНеТочно</span></a>, попадаются разные случаи, пост дополняется.</p>
𝙹𝚘𝚑𝚊𝚗<p><a href="https://cr8r.gg/tags/MastodonTools" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MastodonTools</span></a> <a href="https://cr8r.gg/tags/Mastodon" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Mastodon</span></a> <a href="https://cr8r.gg/tags/%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B0" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>статистика</span></a> <a href="https://cr8r.gg/tags/%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>визуализация</span></a></p><p>Вот такие два столь же забавных, сколь и бесполезных сервиса:<br><a href="https://circle.grasserisen.de" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">circle.grasserisen.de</span><span class="invisible"></span></a><br>и его форк:<br><a href="https://data.natty.sh/fedi-circles" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">data.natty.sh/fedi-circles</span><span class="invisible"></span></a><br>Рисуют круги пользователей, с которыми вы взаимодействуете. Только почему-то по-разному 🤔 Второй обещает работать с <a href="https://cr8r.gg/tags/Misskey" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Misskey</span></a> и <a href="https://cr8r.gg/tags/Pleroma" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Pleroma</span></a>. Всё локально в браузере, код на гитхабе. Кто себя нашел — ставьте лайк, кто нет — подписывайтесь на мой канал. 😆 </p><p><strong>Давайте засрем сегодня ленту этим безобразием! 😜 <a href="https://cr8r.gg/tags/%D1%84%D0%BB%D0%B5%D1%88%D0%BC%D0%BE%D0%B1" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>флешмоб</span></a></strong></p>