Долгожданное обновление
Больше года прошло с момента первого релиза и накопились кое-какие обновления.
А накопились они, а не деплоились сразу, потому что я пытался перейти на новую архитектуру. Попытки эти включали:
- Бекенд на
go
, фронтэнд наvanilla js
иgit
в качестве хранилища (черезlibgit2
). Очень хотелось yoba-хранилище и поддержку разного рода историй и диффов. В принципе даже какие-то успехи в этой попытки были, но оказалось очень трудоемко и я забросил. Хотя поиски крупиц документации поlibgit2
конечно неплохо развивали навыки ресерча. - Бекенд на
postgrest
, фронтэнд наvue3
, авторизация черезjwt
. Это была погоня за призначной мечтой о бекенде без бекенда. В моей реальности, как показала практика, такого не бывает, хотьpostgrest
мне и понравился.
Все эти попытки упирались в неоправданный объем работ, непонятно ради чего, и кучи багов с самого начала проекта из-за ошибок на стыках. В итоге я вернулся к старой версии проекта на рельсах. И тогда дело пошло.
У веточки появились пользователи
Первой из множества функций, которых не хватало сервису были пользователи, и вся связанная с ними обвязка - аутентификация, авторизация ресурсов и прочее. Без пользователей было сделано так, что каждый мог редачить код другого. Супер по изичу, но уж слишком хаотично.
При помощи omniauth и встроенных рельсовых сессий удалось несложно пользователей организовать. Пока работает только вход через гитхаб, но впоследствии думаю, что я добавлю другие виды - через gitlab
, тележку и электронную почту.
С появлением пользователей, каждый кусочек кода теперь принадлежит кому-то, что с одной стороны хорошо, а с другой создает трудности в редактировании. Чтобы трудностей не было, у чужих кусочков кнопка “Сохранить” заменена на кнопку “Скопировать”, которая копирует код к вам и далее уже спокойно с ним работать:
Не забыта и возможность анонимного создания и редактирования, сделана она через костылики, но кажется работает.
Добавлено превью
Теперь при просмотре вверху отображается небольшая плашка с названием и ссылкой на редактирование. Появилась она потому что мне периодически приходилось давать 2 ссылки - просмотр и редактирование. Теперь ссылка может быть одна.
Кстати маленькая кнопочка для переходя из редактирования в просмотр тоже есть.
Появилась дока
Еще у сервиса появилась небольшая дока, которую вы сейчас читаете. Начал я с блога, в котором пишу про обновления, но со временем здесь появится больше информации - неплохо бы написать какой-нибудь краткий хелп и раздел про API, когда оно будет готово.
Смена редактора кода
Тут писать особо нечего — старый codemirror сломался, новый какой-то навороченный с какими-то view
и state
‘ами. Разделение на вью и стейт это конечно хорошо, но мне нужен был всего лишь текстовый редактор, чтобы навесить его на HTML-элемент. Взамен codemirror
пришел новый, модный, молодежный codejar. По UX он правда чуть отстает, но я думаю, что со временем мы это поправим.