Сообщество - Программы и Браузеры

Программы и Браузеры

787 постов 5 368 подписчиков

Популярные теги в сообществе:

8

Продолжение поста «Добавил иконки в Gmail почту! Красота =)»1

Напомню. Я сделал расширение, которое добавляет иконки в Gmail почту. И в комментариях попросили сделать не расширением, а скриптом для Tampermonkey. Мне было лень, но потом я подумал почему бы и нет. Скинул код в chatGPT и он подогнал его под формат Tampermonkey. Ниже расскажу как поставить чтоб работало.

Выглядит вот так:

Продолжение поста «Добавил иконки в Gmail почту! Красота =)»

Как поставить?

  1. Установить Tampermonkey если у вас его ещё нет https://chromewebstore.google.com/detail/tampermonkey/dhdgff...

  2. Правой кнопкой по иконке расширения и Параметры

  3. В верхнем меню панели Tampermonkey жмём на плюсик и открывается страница создания нового скрипта

  4. Вставляем код скприта сюда и сохраняем

  5. Готово.

Вот сам код скрипта:

// ==UserScript==

// @name Gmail Sender Favicon (base + S2, fallback letter)

// @namespace https://tampermonkey.net/

// @VERSION 2026-01-02

// @Description Gmail: show sender base-domain favicon; fallback to Google S2; then fallback to letter.

// @match https://mail.google.com/*

// @run-at document-idle

// ==/UserScript==

(() => {

'use strict';

const STYLE_ID = 'gm-sender-favicon-style-final';

const BADGE_CLASS = 'gm-sender-badge-final';

function injectStyles() {

if (document.getElementById(STYLE_ID)) return;

const style = document.createElement('style');

style.id = STYLE_ID;

style.textContent = `

.${BADGE_CLASS}{

display:inline-flex;

align-items:center;

margin-right:6px;

vertical-align:middle;

flex: 0 0 auto;

transform: translateY(-0.5px);

}

.${BADGE_CLASS} img{

width:14px;height:14px;border-radius:3px;display:block;

}

.${BADGE_CLASS} .gm-letter{

font-weight:700;

font-size:12px;

line-height:1;

display:inline-block;

}

`;

document.documentElement.appendChild(style);

}

// ---------- domain/email helpers ----------

function extractEmailLike(str) {

if (!str) return '';

const s = String(str);

// <mail@domain>

const m1 = s.match(/<\s*([a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,})\s*>/i);

if (m1) return m1[1];

// mail@domain

const m2 = s.match(/([a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,})/i);

if (m2) return m2[1];

return '';

}

function getDomainFromEmail(email) {

const at = (email || '').indexOf('@');

if (at === -1) return '';

return email.slice(at + 1).trim().toLowerCase();

}

// Простая нормализация к base-domain: example.com

function baseDomain(domain) {

const parts = (domain || '').split('.').filter(Boolean);

if (parts.length < 2) return domain || '';

return parts.slice(-2).join('.');

}

// стабильный цвет по seed (чтобы буква была “привычного” цвета)

function stableColor(seed) {

let h = 0;

for (let i = 0; i < seed.length; i++) h = (h * 31 + seed.charCodeAt(i)) | 0;

const hue = Math.abs(h) % 360;

return `hsl(${hue}, 70%, 40%)`;

}

function pickLetter(senderText, base) {

const m = (senderText || '').match(/[a-z0-9а-яё]/i);

if (m) return m[0].toUpperCase();

if (base) return base[0].toUpperCase();

return '?';

}

// ---------- locating sender in a row ----------

function findSenderInfo(row) {

// 1) самый надежный: span[email]

const emailSpan = row.querySelector('span[email]');

if (emailSpan) {

const email = emailSpan.getAttribute('email') || '';

const senderText =

(emailSpan.getAttribute('name') || '').trim() ||

(emailSpan.getAttribute('aria-label') || '').trim() ||

(emailSpan.textContent || '').trim();

return { email, senderText, senderNode: emailSpan };

}

// 2) data-hovercard-id часто содержит email

const hcSpan = row.querySelector('span[data-hovercard-id]');

if (hcSpan) {

const hc = hcSpan.getAttribute('data-hovercard-id') || '';

const email = extractEmailLike(hc) || extractEmailLike(hcSpan.getAttribute('aria-label')) || '';

const senderText =

(hcSpan.getAttribute('name') || '').trim() ||

(hcSpan.getAttribute('aria-label') || '').trim() ||

(hcSpan.textContent || '').trim();

return { email, senderText, senderNode: hcSpan };

}

// 3) иногда sender виден как yP/zF

const nameSpan = row.querySelector('span.yP, span.zF');

if (nameSpan) {

const email =

extractEmailLike(nameSpan.getAttribute('aria-label')) ||

extractEmailLike(nameSpan.getAttribute('title')) ||

'';

const senderText =

(nameSpan.getAttribute('aria-label') || '').trim() ||

(nameSpan.getAttribute('title') || '').trim() ||

(nameSpan.textContent || '').trim();

return { email, senderText, senderNode: nameSpan };

}

return null;

}

// ---------- badge creation ----------

function makeBadge(base, letter, fontSizePx) {

const badge = document.createElement('span');

badge.className = BADGE_CLASS;

badge.setAttribute('data-base', base || '');

const img = document.createElement('img');

img.alt = '';

img.referrerPolicy = 'no-referrer';

const sources = base

? [

`https://${base}/favicon.ico`,

`https://www.google.com/s2/favicons?sz=64&amp;domain=%24%7Ben...}`

]

: [];

let idx = 0;

const fallbackToLetter = () => {

img.remove();

const span = document.createElement('span');

span.className = 'gm-letter';

span.textContent = letter;

span.style.color = stableColor(base || letter || 'x');

if (fontSizePx) span.style.fontSize = fontSizePx;

badge.appendChild(span);

};

img.onerror = () => {

idx++;

if (idx < sources.length) {

img.src = sources[idx];

} else {

fallbackToLetter();

}

};

if (sources.length) {

img.src = sources[0];

badge.appendChild(img);

} else {

fallbackToLetter();

}

return badge;

}

// ---------- main enhancer ----------

function enhanceRow(row) {

const info = findSenderInfo(row);

if (!info) return;

const domain = getDomainFromEmail(info.email);

const base = baseDomain(domain);

// текст для буквы

const senderText = info.senderText || (info.senderNode?.textContent || '').trim();

const letter = pickLetter(senderText, base);

// куда вставлять:

// A) предпочитаем контейнер отправителя (как у тебя работало)

let target = row.querySelector('.yX.xY');

// B) если нет — рядом с узлом senderNode

let insertBeforeNode = null;

if (!target && info.senderNode && info.senderNode.parentElement) {

target = info.senderNode.parentElement;

insertBeforeNode = info.senderNode;

}

if (!target) return;

// уже вставлено?

const existing = target.querySelector(`:scope > .${BADGE_CLASS}`);

if (existing) {

const exBase = existing.getAttribute('data-base') || '';

if (exBase === (base || '')) return;

existing.remove();

}

const cs = window.getComputedStyle(target);

const fontSizePx = cs.fontSize ? `calc(${cs.fontSize} - 1px)` : '';

const badge = makeBadge(base, letter, fontSizePx);

if (insertBeforeNode) target.insertBefore(badge, insertBeforeNode);

else target.prepend(badge);

}

function enhanceAll() {

injectStyles();

document.querySelectorAll('.zA').forEach(enhanceRow);

}

// ---------- observer (throttled) ----------

let rafPending = false;

function schedule() {

if (rafPending) return;

rafPending = true;

requestAnimationFrame(() => {

rafPending = false;

enhanceAll();

});

}

const obs = new MutationObserver(schedule);

obs.observe(document.body, { childList: true, subtree: true });

enhanceAll();

})();

Показать полностью

В AIMP свершилось чудо!

Ну если быть совсем точным оно только свершится после следующего релиза. Но слову автора AIMP нет склонности не доверять.

Итак суть: есть такая фича у достаточно большого количества софта как Close to tray. То есть когда вы нажимаете на кнопку с крестиком закрытия окна, само приложение не закрывается и остаётся в фоне, а единственным упоминанием от него остаётся значек в трее (в области рядом с часами). При этом кнопка свернуть "_" сворачивает приложение на панель задач.

Так выглядит значок AIMP в трее

Так выглядит значок AIMP в трее

Так ведут себя мессенджеры, всякие службы, из плееров WinAMP, foobar2000, Яндекс музыка, да много что из софта еще. НО НЕ AIMP! У него небыло и нет такой даже опции (которую можно было бы включить или выключить по желанию). Точнее, свернуть в трэй можно, но только не нажатием на "крест" без дополнительных махинаций. И вот это сильно бесило, и как показали исследования не только меня.

Как по вашему, нужна ли такая функция для АУДИОплеера?
Всего голосов:

Для ЛЛ: скоро такой плагин появится.

Примерно год назад у меня пригорело от того, что в очередной раз на автопилоте закрыл плеер вместо того, чтобы его свернуть. И я попытался сдвинуть эту проблему с мёртвой точки сначала эмоционально вывалив всё что думаю по этому поводу, а потом уже и агрументированно. Но как оказалось, это прям какое-то табу для разработчика AIMP.

Любые доводы разбивались о стену неаргументированной непоколебимости.

Нашелся правда один способ реализации этой фичи, но только на стандартных скинах, о котором я написал отдельно на том же форуме. Способ не без бубна, и не совсем для рядового пользователя, о чём тоже кто-то написал.

Но в конечном итоге удолось добиться как мне кажется главного.

15 голосов за плагин в условиях широко известного в узких кругах форума. Прикинув динамику по соседним голосовалкам выходило ~14 голосов в год. О чём я открыто напилал, на что получил ответ автора.

ок, стёб засчитан

ок, стёб засчитан

Голосовалка стартовала 27 декабря 2024 г. И, нужно сказать, прогноз оказался весьма точным. Сегодня 30 декабря 2025 г. я обнаружил, что нужные 15 голосов набрались.

Да, можно было бы сразу накрутить эти несчастные 15 голосов, но у меня был в том числе свой интерес играть максимально честно, без привлечения ботов или своих знакомых.

Состояние голосовалки на 30.12.2025

Состояние голосовалки на 30.12.2025

Еще из голосовалки мне непонятна логика людей, которые голосовали против. При том что везде речь шла о том, что данная функция по дефолту выключена. И её появления вообще никто не заметит. Не нужна она тебе, так не включай просто.

В общем, свершилось чудо! Теперь будем ждать плагина и будем тратить меньше нервов при использовании AIMP.

Всех с наступающим!

Я пользуюсь AIMP
Всего голосов:
Показать полностью 7 2
68

Добавил иконки в Gmail почту! Красота =)1

Сегодня переписал бесплатное расширение меток для гугловской почты и теперь это расширение, которое добавляет в гугл почту иконки отправителей, а если иконки нет, то показывается метку.

Мне кажется, что стало красиво!
Скачать можно тут https://chromewebstore.google.com/detail/gmail-email-icons/n...

Стало:

Было:

Работает локально, ничего не собирает, никуда не отправляет, рекламу не показывает.
Всё как мы любим.

Поднимите вверх, чтоб больше людей увидело =)

Показать полностью 1
1

Для любителей поиграть созвонившись с другом/подругой без геморроя и Николаев*

С другом давно любители поиграть в старенькое** и, естественно, созвониться, но всё блокируют, остался ВК только и тот лагает, пост для тех, кто как и мы собираемся поиграть и созвониться где нибудь, другие могут тапками кидаться )

На помощь пришел Яндекс (да, у них есть что то полезное), а именно Яндекс Телемост, скачал на компьютер, друг создал на сайте сессию, кидает ссылку, я перехожу по ней, открывается программа и всё, мы слышим друг друга, качество офигеть какое, первое что мы сказали друг другу это:

- всё?

- в смысле?

- ты слышишь меня?

- да!

- и всё??? то есть всё было так просто? мы мозги делали с Николаем* и прочим, а тут вот так всё?

Короче были в шоке если честно, поэтому о чём пост, если у кого проблемы с мессенджерами и созвоном, то советую попробовать эту штуку! Не реклама, естественно, просто совет для тех, кто играет и общается или просто с родственниками и пр., далее информация с оф. сайта:

Видеовстречи и чаты в одном мобильном приложении

Звоните близким из списка контактов, переписывайтесь в личных или групповых чатах и пользуйтесь всеми привычными инструментами — от реакций до расшифровки аудиосообщений

Создайте встречу прямо в браузере или скачайте приложение

Создайте встречу прямо в браузере или скачайте приложение

*Николаев: Всем Поможет Николай

(читать заглавные буквы)

**старенькое: квака арена, варкрафт 3 карты типа ТД, арена, C&C Zero Hour и т.п.

https://360.yandex.ru/telemost/

Показать полностью 2
10

Сделал приложение для зубрёжки стихов без слёз "СловаНет"

Сделал приложение для зубрёжки стихов без слёз &quot;СловаНет&quot;

Привет, Пикабу! Это мой первый пост здесь.
Как и многие авторы тут, все перед первым постом лет 10 сидят на Пикабу (это мой второй аккаунт), а уже затем им приходит гениальная идея чем-то поделиться. Специфику закидывания тапок я примерно знаю, поэтому буду держать удар.

В процессе своей жизни, а в основном учебы я много раз сталкивался с процессом зубрежки определений (стих, статья устава, определения, термина). И универсального подхода для максимизации этого процесса я не находил. Моя идея не нова, но вместе с тем представлена в новом интерактивном формате.
Помню, когда-то давно на Пикабу один автор рекламировал приложение LearnPoem для заучивания стихов. Тогда оно казалось крутым и я им пользовался, но ставить приходилось через стор, и с тех пор оно сильно состарилось и почему-то я его снова найти не смог (или плохо искал О_о)

Кратко опишу принцип работы, а потом перейду к стеку технологий который я использовал.


Суть методики запоминания

Основной принцип зубрежки представлен на скриншоте. Уже здесь можете проверить как хорошо вы знаете Александра Блока и оценить методику заучивания

Основной принцип зубрежки представлен на скриншоте. Уже здесь можете проверить как хорошо вы знаете Александра Блока и оценить методику заучивания

Суть в методе интервального скрытия текста. Сначала видишь полный текст, потом постепенно убираются буквы/слова, пока не восстановишь всё по памяти.

Вставляешь любой текст определение из учебника, список иностранных слов, термин или статью гражданского кодекса. (для демонстрации я добавил возможность вставки стихотворения из библиотеки)

Выбираешь режим сложности - по буквам по словам, также задаешь скорость скрытия (сколько букв или слов скрывается за шаг) и возможность оставления первой буквы в слове.

Логика настройки представлена на одной странице вместе с самим "игровым процессом"

Логика настройки представлена на одной странице вместе с самим "игровым процессом"

Все максимально просто.

Для поддержания дисциплины добавил стрики. Все мы знаем, что лучше любой поток информации запоминается путем интервального повторения, здесь логика такая же, но с мотивацией.

Само приложение реализовано на платформе вк

Почему именно VK Mini Apps (тапочки полетели)


У меня есть целых 4 причины почему я использовал эту социальную сеть:
1. Хостинг бесплатный. За счет того, что сервис получает трафик (банерная реклама) он представляет свои мощности для размещения своих идей. По этой причине мне не пришлось покупать хостинг или разворачивать vps серверы, покупать домены и т.д.
2. Вытекает из 1. Я фронтенд разработчик, и с девопсом и бекендом не дружу. Вк предоставляет свой storage для хранения данных, поэтому если вы зайдете сначала с телефона, потом с компа стих не потеряется.
3. Не пришлось задумываться как реализовать логику работу на мобилках. За счет vk mini apps приложение работает без проблем на любом устройстве.
4. Исходит из 3. Я добавил себе на главный экран телефона (пока поддерживается только android)

Поздравляю - ты молодец! (Экран с конфетти при финише)

Поздравляю - ты молодец! (Экран с конфетти при финише)

Перейдем к неформальной части.

Сам тестил неделю - стрик держится. Знакомый, над которым ставил эксперимент, за вечер осилил громоздкое определение по юриспруденции.

Планирую в дальнейшем добавить возможность сохранения изученных/изучаемых текстов
в архив, но тут нужно подумать над логикой. Vk storage - имеет ограничение на сохраняемый текст.


Это мой первый релиз в каталоге VK Mini Apps. Хочу честного фидбека. Ваши предложения по UI, что добавить, где вы увидели косяки.

Ищите «СловаНет» в сервисах ВК. А если лень, то вот ссылка: https://m.vk.com/slovanet_app

Еще больше моего мнения: инструмент очень должен зайти детям, которым приходится заучивать большие стихотворения в школе.
Если идея зайдет, то я продолжу написание таких мини приложений. У меня сейчас вагон новых практических идей, которые я уже давно хотел бы воплотить в жизнь. Также я буду очень рад услышать ваши идеи, чтобы вы хотели увидеть еще в таком формате.

Показать полностью 4
4

Как создать видео-стикер в формате webm с прозрачным фоном для Telegram при помощи Honeycam

UPD:

Как создать видео-стикер, сразу без водяных знаков(и потери качества), при помощи другой программы, читайте в другой статье: Как сделать видео-стикер с лицом реального человека для Telegram

Как создать видео-стикер в формате webm с прозрачным фоном для Telegram при помощи Honeycam

Как создать видео-стикер в формате webm с прозрачным фоном для Telegram при помощи Honeycam

Требования к видео-стикерам, которые позволяет выполнить эта программа:

-сжатие кодеком VP9;
-размер — 512 пикселей по одной стороне и не более 512 пикселей по другой;
-длительность — до 3 секунд;
-объём — 256 килобайт или меньше;
-прозрачный слой с альфа-каналом;
-отсутствие аудиопотока.

1. Перетаскиваем свое видео во вкладку редактор

2. В верхней части программы находим кнопку" Изменение размера, поворот, отражение"

В верхней части программы находим кнопку" Изменение размера, поворот, отражение"

В верхней части программы находим кнопку" Изменение размера, поворот, отражение"

Здесь ставим разрешение 512х512, чтобы Телеграм мог принять к загрузке ваше видео.

Здесь ставим разрешение 512х512, чтобы Телеграм мог принять к загрузке ваше видео.

Здесь ставим разрешение 512х512, чтобы Телеграм мог принять к загрузке ваше видео.

3. В верхней части программы находим кнопку "Регулировка/Фильтры".

В верхней части программы находим кнопку "Регулировка/Фильтры".

В верхней части программы находим кнопку "Регулировка/Фильтры".

4. В появившемся окне выбираем фильтр "Хромакей".
Именно он убирает фон и делает прозрачным фон вашего видео-стикера.

5. Во всплывающем окне, под надписью "цветовая гамма", понажимайте на шкалу, чтобы отрегулировать степень прозрачности фона и т.д.

Далее нажимаем кнопку "ОК".

В появившемся окне выбираем фильтр "Хромакей

В появившемся окне выбираем фильтр "Хромакей

6. В нижней части программы нажмите кнопку "Сохранить"

В нижней части программы нажмите кнопку "Сохранить"

В нижней части программы нажмите кнопку "Сохранить"

7. В появившемся окне "Сохранить", под надписью "Сохранить как" выберите формат WEBM , а затем нажмите на значок шестеренки/настройки.

В появившемся окне "Сохранить",

В появившемся окне "Сохранить",

В появившихся настройках WEBm выберите видеокодек VP9, а ниже выберите галочку "Сохранять альфа-канал", и нажмите кнопку "ОК" снизу.

В появившихся настройках WEBm

В появившихся настройках WEBm

8. Попав снова в окно "Сохранить", под надписью качество регулируйте шкалу, пока Ожидаемый размер файла не будет отображаться ниже 250 кб.

9. В нижней части окна найдите "Название файла", и нажмите на многоточие, куда сохранить файл, а затем уже на кнопку сохранить.
Вы получите файл формата webm с прозрачным фоном и анимацией.

10. В Telegram находим официальный бот @stickers ( https://t.me/Stickers ).

. В Telegram находим официальный бот @Stickers ( <!--noindex--><a href="https://pikabu.ru/story/kak_sozdat_videostiker_v_formate_webm_s_prozrachnyim_fonom_dlya_telegram_pri_pomoshchi_honeycam_13532564?u=https%3A%2F%2Ft.me%2FStickers&t=https%3A%2F%2Ft.me%2FStickers&h=6f7cd678c6f43b2ee6d7953b33f694a537188ec0" title="https://t.me/Stickers" target="_blank" rel="nofollow noopener">https://t.me/Stickers</a><!--/noindex--> ).

. В Telegram находим официальный бот @Stickers ( https://t.me/Stickers ).

Далее: Вводим команду /newvideo , которая позволяет создать стикеры из видео-анимаций сохраненных в формате webm.
Затем следуйте инструкциям бота.

Когда вы загрузите первый стикер в набор, то дополнить набор другими стикерами, можно через команду /addsticker

11. Чтобы убрать лого-надпись от программы в опубликованном стикере, , следуйте инструкции в статье:
Как в Telegram убрать логотип с анимированного webm-стикера созданного в Honeycam и других программах?

Показать полностью 8
13

35 лучших расширений для Chrome по версии Google (2022-2025) — эпичная подборка

35 лучших расширений для Chrome по версии Google (2022-2025) — эпичная подборка

Каждый год Google публикует список лучших расширений для Chrome. Я собрал ссылки за четыре года в один пост (можно установить и в Яндекс.Браузер). Инструменты за 25 год отметил звездочкой.

Забрать подборку здесь →

ИИ-помощники

  1. Monica* — пересказ веб-страниц, помогает с документами

  2. Sider* — боковая панель с доступом к ChatGPT, Gemini, Grok

  3. HARPA AI* — персональный ИИ-агент, автоматизирует задачи

  4. QuillBot* — исправляет ошибки, помощь с грамматикой

  5. Compose AI — для генерации текстов с помощью нейросети

  6. Bardeen AI — автоматизирует рутину с помощью нейросетей

Продуктивность

  1. Todoist — органайзер для управления задачами и приоритетами

  2. Liner ChatGPT — помогает быстрее усвоить информации из интернета

  3. Scribe AI — создает пошаговые инструкции со скриншотами

  4. Visbug — позволяет дизайнерам редактировать текст и изображения на веб-сайтах

  5. Evernote — сохраняет статьи, страницы и заметки

Для рутины

  1. Fireflies.ai* — запись и транскрибация онлайн-звонков в браузере

  2. Bluedot* — готовит краткий перессказ после созвонов

  3. Text Blaze — чтобы не печатать одно и то же вручную снова и снова (письма, комментарии и т. п.)

  4. SwiftRead — ускоряет чтение с помощью техники скорочтения

  5. Speechify — преобразует текст в речь живыми голосами

  6. Tango — создает инструкции, автоматизирует задачи в CRM

Для учебы

  1. QuestionAI* — отвечает на сложные вопросы в боковой панели

  2. eJOY AI* — двойные субтитры в видео для изучения языков

  3. DeepL Translate — переводит тексты на сайтах, почтовиках, видеоплатформах

  4. Equatio — помогает решать математические задачи

  5. Immersive Translate — переводчик веб-страниц, PDF и видео

  6. Transkriptor — преобразует аудио в текст на более чем 100 языках

  7. MyBib— оформляет источники и цитаты для списков литературы, курсовых, рефератов и статей

Для браузера

  1. Bonjourr — домашняя страница с фонами, погодой, часами и быстрыми ссылками

  2. Momentum — превращает браузер в красиво оформленную вкладку

  3. Stylish — меняет внешний вид сайтов под себя (цвета, шрифты, темы)

  4. Turn Off the Lights — затемняет фон, создает эффект домашнего кинотеатра

  5. Workona — упорядочивает вкладки и ускоряет поиск нужных страниц

  6. Equalizer — гибкие настройки звука прямо в браузере

  7. Volume Master — увеличивает громкость до 600%, тонкие настройки звука

  8. CrXMouse — управление браузером с помощью жестов мыши

Разное

  1. Adobe Photoshop* — удаляет фон, меняет цвет картинки и т. п. (6 мес бесплатно)

  2. Phia* — сравнивает цены в магазинах, подсказывает, где купить дешевле

  3. Teal — упрощает поиск работы, отслеживает вакансии

Другие мои статьи


Спасибо, что дочитали

Присоединяйтесь к 16 000+ подписчиков в Бегин, где я делюсь опытом работы с нейросетями и выкладываю полезные подборки.

Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества