Крупное обновление! Из-за изменения логики работы нет обратной совместимости, необходимо сбросить старые данные!
- Обновлён Ruby 2.7.7->3.3.2;
- Поддержка OpenGraph для предпросмотра постов;
- Добавлен импорт постов при постинге из ТГ;
- Опция 'делать скрытыми' автоматически добавленные посты;
- Добавлен счётчик просмотров поста;
- Теперь посты имеют UUID;
- Добавлена генерация slug на основе названия поста;
- Добавлена опция скрытия поста из ленты (их видит только автор);
- Добавлена панель уведомлений:
- При создании/изменении/удалении постов в платформах будут приходить уведомления о статусе операции;
- При создании/изменении/удалении комментариев также будут приходить уведомления;
- Измемены комментарии:
- Теперь комментарии имеют иерархию (на основе ответов);
- Возможность отвечать в комментариях:
- При создании комментария можно выбрать каналы (Пока доступно только для ТГ);
- При ответе на комментарии ответ автоматически постится в нужную платформу;
- Обновлены темы:
- Для тем Gruvbox, Twilight добавлена тёмная тема для feed;
- Для темы по-умолчанию добавлена отдельно тёмная подтема для feed;
- Изменена тема 'Ruby';
- Для feed теперь также есть счётчик просмотров и комментарии;
- Предпросмотр темы через параметр
?theme=<название>
в URL-адресе;
- Добавлена страница создания пользователя-администратора (если включена и нет других пользователей);
- Возможность постить в платформы, если нет существующих постов в платформах;
- Возможность выбора предзагрузки вложений в ТГ канал, или напрямую для каждого канала;
- Добавлены ссылки на каналы платформ в шапке поста;
- Исправлен баг с плохо видимой каптчей;
- Исправлен баги постинга в Matrix;
- Обновлены docker-контейнеры;
- Добавлен файл devbox для NixOS;
- Параметр rss_token в строке
/rss?rss_token=<token>
заменён на:/rss?token=<token>
; - Кнопка 'Скопировать URL' копирует весь URL-адрес (для rss);
- Новый вид аттачментов;
- Удалена поддержка sqlite3;
- Мелкие фиксы;
- Интеграция telegram-poller в проект:
- При добавлении tg каналов в отдельном потоке будет запущен poller бота;
- При удалении каналов poller будет автоматически останавливаться;
- Настроены потоки при публикации поста в платформы;
- Возможность изменять локаль в личном кабинете пользователя;
- Персональные категории для каждого пользователя (раньше были общие);
- Возможность просматривать главную страницу без авторизации (настраивается в credentials);
- Возможность запускать telegram ботов через socks прокси (настраивается в credentials);
- Переменная secret_key_base перемещена из secrets.yml в credentials (не забудьте её настроить!);
- Изменено имя и путь директории javascripts: app/assets/javascripts -> app/javascript
- Обновлён ruby 2.7.0 => 2.7.7 и все библиотеки;
- Огромное количество исправлений;
- Улучшена система уведомлений;
- Рефракторинг кода;
Был обновлён файл credentials.yml, а также файлы тем!
- Добавлена новая страница - /feed/:
- Стилизована под twitter-style отображение постов;
- Доступна панель фильтров, возможности:
- Поиск по тексту;
- Сортировка по дате создания;
- Сортировка записей до какого-либо числа;
- Поиск по тэгам;
- Переделана система доступа к контенту (ActionPolicy);
- Убраны навязчивые поля повторения пароля при редактировании профиля;
- Добавлено поле 'Отображаемое имя', используется при отображении авторства постов;
- Добавлены валидации при редактировании профиля:
- Лимит размера аватара (10 МБ);
- Длина ника (256), отображаемого имени (64);
- Импорт постов вынесен в отдельный сервис;
- Теперь RSS отображает 'публичные' посты;
- Теперь всем доступным к записи доступен её экспорт;
- Исправлен баг обновления постов при удалении платформы;
- Исправлено отображение заголовков в RSS и постах;
- Исправлен баг при экспорте постов;
- Обновлены библиотеки;
- Рефракторинг кода;
- Мелкие фиксы;
- Переписаны сервисы отправки постов по платформам;
- Поддержка статического анализатора кода rubocop;
- Поддержка rspec тестов (+factory);
- Множество фиксов различных багов;
- README.md теперь на английском (но есть и русская версия);
- Обновлены все гемы и js библиотеки;
- Добавлены категории:
- Теперь заметка может относиться к какой-либо категории;
- У каждой категории есть название и цвет;
- Цвет категории отображается в списке заметок на сайте в виде небольшого вертикального столбика перед заголовком заметки;
- Категории можно создавать, изменять, удалять;
- При удалении категории все заметки имевшие эту категорию становятся без категории;
- Порядок категорий можно менять методом перетаскивания категорий мышкой в нужную позицию;
- Категория присутствует при экспорте/импорте заметки, в rss тэгах;
- Также категория отображается при подробном просмотре заметки в её шапке;
- Добавлен поиск заметок по категории - пока что он работает только из подробного просмотра заметок, но в будущем планиную сделать отдельный блок для более удобного поиска;
- Поддержку категорий можно включить/выключить в credentials.yml (вдруг кому не надо);
- Управление тэгами перенесено из отдельной страницы во вкладку 'Управление' и оформлено по образу и подобию категорий;
- Добавлять новые тэги можно прямо при создании/редактировании статьи, через запятую;
- Исправлен баг в raw-режиме когда ссылки на аттачменты были относительные, а не полные;
- В связи с возможностью перетаскивания категорий добавлено пару новых гемов;
- Добавлены недостающие бесплатные шрифты FontAwesome;
- Мелкие фиксы;
- Добавлен просмотр 'Raw' текста заметки;
- Добавлена колонка 'Options' в метаданных поста:
- Raw текст и экпорт (если разрешено) перенесены туда;
- Добавлена возможность скачивать прикреплённые к посту файлы;
- Экспорт постов теперь в markdown-синтаксисе;
- Название сайта вынесено в credentials.yml;
- Изменён background у темы 'Ruby';
- Мелкие фиксы;
- Добавлен поиск по заголовку заметки на (главной странице заметок);
- Добавлена поддержка регистрации по инвайт-кодам:
- Инвайт коды генерируются админом во вкладке 'Управление';
- Доступные опции при генерации:
- Активен ли инвайт код?;
- Многоразовый ли код?;
- Максимальное число использований;
- Число 0 обозначает бесконечное число использований;
- Дата просрочки кода, после которой он станет невалидным;
- Таблица отображения инвайт-кодов (всё там же);
- Добавлено отображение зарегистрированных пользователей (во вкладке 'Статистика');
- Исправлено отображение тирушечек в хромиуме;
- Мелкие фиксы;
Был обновлён файл credentials.yml, а также файлы тем!
- Добавлена возможность создавать темы:
- Тема указывается в настройках профиля;
- Добавлены 3 новые темы:
- Ruby (вырвиглазно светлая);
- Twilight (тёмно-синяя);
- Gruvbox (оранжевая?);
- Фикс загрузки аватара;
- Мелкие фиксы;
- Добавлена опция 'Опубликовать как ссылку', которая заместо текста публикует на канале ссылку на него;
- Добавлен лимит вывода постов в RSS:
- Настроить лимиты можно в личном кабинете пользователя;
- Максимальные лимиты устанавливаются в credentials.yml
- Автозамена ссылок в тексте кликабельными ссылками;
- Автозамена почтовых адресов на опцию mailto;
- Автозамена ссылки youtube на плеер youtube (в превью редактора пока не работает);
- Чтобы оставить youtube ссылкой, нужно либо явно задать её в виде ссылки, либо использовать сокращённый вариант youtu.be;
- Важный фикс, из-за которого мог дублироваться контент;
- Фикс ошибки когда фото указывалось, но по ссылке было не найдено;
- Фикс ошибки когда в тексте присутствует номерной список - теперь не вылетает, номер пока заменён звёздочкой;
- Добавлено редактирование каналов;
- Проверка данных после редактирования;
- Обновление аватарок в случае изменения;
- Добавлена возможность оставлять комментарии на сайте:
- Они не будут отправляться в платформы и будут видны только там;
- Исправлено отображение контента в RSS ленте:
- Исправлено отображение аттачментов;
- Markdown текст переводится в HTML и виден RSS ридерами;
- Исправлен баг когда тег по-умолчанию включался в новой статье;
- При добавлении поста теперь есть опции для платформ:
- При выборе платформы теперь есть чекбоксы опций;
- Добавлена опция 'Включить уведомления' для Telegram;
- Настройка по-умолчанию задаётся при добавлении канала или при его редактировани;
- Немного переделан личный кабинет - он всё ещё кривоват, но теперь стало чуть получше:
- Теперь можно ставить себе аватарку;
- Мелкий рефракторинг кода;
- Добавлен экспорт/импорт статей:
- Если пост состоит из текста, то экспортируется только .md файл;
- Если у поста есть аттачменты, то они пакуются в архив и отправляются вместе с .md файлом;
- Импорт поддерживает пока что только .md файлы (в будущем добавлю поддержку zip);
- Так же экспорт/импорт возможен только по одной статье (в будущем возможно это доработаю до множественного экспорта/импорта);
- Помимо текста, экспортируются/импортируются метаданные (время создания, приватность, тэги).
- Если время не задано, или оно больше чем оно есть сейчас, то ставится текущее время;
- Если приватность не задана, то по-умолчанию ставится 'только для себя';
- Если тэги не найдены, то создаются новые;
- Передизайнена страница 404;
- Добавлен режим приватности (видимости) для постов;
- Существует 3 режима:
- 'Публичный' - виден всем. Режим по-умолчанию (включая старые посты);
- 'Для других участников' - видят другие пользователи;
- 'Только я' - виден только автору;
- Существует 3 режима:
- Режим отображается в виде значка (замок) справа от названия поста;
- Текущий режим можно определить по цвету замка:
- обычный режим - замка нет;
- режим "для других участников":
- синий - если пост опубликован на какой-либо платформе;
- зелёный - есть пост не опубликован на платформах;
- режим "только я":
- красный - если пост опубликован на какой-либо платформе;
- сумеречный - есть пост не опубликован на платформах;
- Если у человека недостаточно прав для просмотра/редактирования контента, то он отправляется на 404;
- Теперь для вставки картинок прямо в текст можно использовать:
![Example](https://link/to/image.png)
. При этом в платформах оно будет отправляться как ссылка на картинку;
Важное обновление! Старые записи будут работать некорректно, поэтому необходимо сбрасывать базу данных!
- Поддержка добавления и управления каналами через личный кабинет для каждого пользователя:
- При добавлении канала выводятся сопутствующие ошибки (неверный токен, мало прав и т.д.);
- При добавлении канала автоматически заполняются: название, описание, аватарка;
- При запущенном poller'e телеги, автоматическое обновление параметров выше;
- Теперь poller для каналов может запускаться сам, но это ещё не допилено;
- Обновлена и добавлена в файлы схема .drawio (чтобы опять не потерять);
- Оповещение в телегу о регистрации пользователя пока что отключено;
- Обновлён .scss файл стилей, почти все цвета вынесены в переменные;
- Переделан дизайн страниц авторизации/регистрации, фиксы дизайна;
- Фикс новых тэгов, которые не определялись для старых статей;
- Обновлены библиотеки, добавлен sidekiq;
- Поправлен баг с кнопками;
- Обновлён README.md;
- Прочие фиксы;
- Теперь на гитхабе есть ToDo доска;
- Теперь буду обозначать версии проекта;
- Передизайнен личный кабинет пользователя;
- Теперь тэги похоже на тэги, а не на чекбоксы;
- Исправлен год в футере сайта (с 2020 на 2020-2021);
- Исправлено принудительное форматирование названия тэга;
- Исправлено некорректное отображение пробелов при просмотре поста с сайта;
- Добавлена поддержка комментариев (Telegram);
- Изменена часовая зона на Europe/Moscow (мне так удобнее);
- Обновил credentials.yml, необходимо его перенастроить!
- Все фразы теперь вынесены в файлы локализаций;
- Локаль по-умолчанию изменена на en (see: application.rb);
- Исправлено отображение загрузки аттачментов на production;
- Блокировка индексирования сайта роботами (see: public/robots.txt);
- Добавлена возможность 'вернуться назад' при создании/редактировании статьи;
- Фикс заливки некоторых файлов в matrix;
- Гем 'colorize' для цветного вывода в консоль;
- Для Telegram изменён алгоритм добавления подписи:
- Подпись в первом сообщении если сообщение одно;
- Подпись в последнем сообщении если их несколько;
- Теперь можно заливать видео, аудио, файлы в matrix и tg:
- В Matrix каждый файл заливается отдельным сообщением;
- В Telegram файлы группируются при условии, что они одного формата;
- Если тип файла почему-то не распознался, то отправляется как документ;
- Изменён механизм удаления аттачментов. Теперь, когда аттачменты для телеги могут быть сгруппированы не по порядку, нужная картинка ищется по некоторому уникальному идентификатору. В связи с этим старые загруженные аттачменты могут удаляться некорректно;
- Поиск заметок по тэгам;
- Изменены чекбоксы платформы;
- Кнопка Сброса фильтров при поиске;
- Добавлено отображение тэгов в заметке;
- Возможность удаления поста с платформы;
- Фикс заливки в matrix картинки с кириллицей в имени;
- Теперь при отсутствии заголовка поста отображается его #ID;
- Изменён формат даты публикации с %d.%m.%y на %y.%m.%d. Просто мне так удобнее (:
- Добавлена поддержка обновления поста в matrix;
- Пофикшено удаление поста в тг;
- Пофикшен пост в matrix;
- Вынесены ссылки из главной станицы в credentials;
- Добавлена поддержка списка обновлений;
- Добавлена поддержка платформы matrix:
- Отправка аттачментов: картинки;
- Удаление текста/аттачментов;
- Отправка текста;
- Обновлены все ruby и js библиотеки;
- Немного потыкан общий дезигн:
- Изменены отступы, шрифт;