Этап
Готова
Тип
Задача
Приоритет
Повышенный
Трудоемкость
Обычная
Создана
Дата создания
4 года назад
Назначена
Обновлена
год и 10 месяцев назад

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

Пока мы не определились с бд и схемой хранения в ней ссылок, надо как минимум разобраться в рендерере md и дополнить его отрисовкой тега [link] в ссылку, просто, без проверки существования такой ссылки.

Панель управления

Комментарии могут оставлять только авторизованные пользователи
 demius год и 10 месяцев назад

Засим останавливаем работу. Что найдем - будем оформлять как ошибки

 demius год и 10 месяцев назад

Может ссылки на документы делать как в вики, с тайтлом в качестве текста ссылки?

 demius год и 10 месяцев назад

Кстати сейчас квадатные скобки убираются. Посмотроим как это пойдет дальше

 demius год и 10 месяцев назад

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

 demius год и 10 месяцев назад

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

 demius год и 11 месяцев назад

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

 demius год и 11 месяцев назад

Выложилина dev, погуляли, нашли еще немного багов. подумали что просто редиректить неправильно, надо бы пользователю скзаать что он перешел по отсутствующей ссылке, чтобы не зависеть от реквеста и не нагружать wikiService не свойственной ему работой, начали еще один сервис, в котором реализовали добавление в flashBag, но что-то оно не работает

 demius 2 года назад

Ну вроде сделали все, что хотели и даже чуток больше.

 demius 2 года назад

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

 demius 2 года назад

Хороший вопрос, мне в этой задаче реализовывать возможность делать ссылки на документы по номеру, или делать в вики сервисе сразу поиск документа, для вычисления slug из id?

 demius 2 года назад

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

 demius 2 года назад

Ну, что нашли таки время. Да, конвертер commonmark twig подхватывает автоматически, но в том, который он подхватывает тот запускается без параметров. А надо бы не так. Поэтому мы написали свой и инъектировали в twig.runtime.markdown

 demius 2 года назад

up. Немного поглазели на задачу в летнем расслабоне. рендер наших сслок пока не добавили.

 demius 2 года назад

Подключили, по идее он и работает. Теперь можно в него добавлять и писать расширения

 demius 2 года назад

Ну что, возобновляем работу

 demius 2 года назад

Итак, мы поставили https://commonmark.thephpleague.com/2.4/basic-usage/ Он аиболее гибок, а какая-то особая скорость нам и не нужна.

 demius 2 года назад

Кстати никто же не мешает добавлять несколько синтаксисов под одну конструкцию, главное, чтобы они не конфликтовали с остальным синтаксисом, так что вполне можно на первом этапе превращать в ссылки и tndt-1 и [tndt-11], а после написания и прогона фиксера, удрать один из вариантов.

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

 demius 2 года назад

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

 demius 2 года назад

Здесь же возможно придется и списки исправлять. Причем возможно не единожды, так что нужна команда которую можно запускать периодически fix-md, и отдельные хендлеры исправляторы, чтобы потом их можно пускать в воркере например

 demius 3 года назад

Перенесено из tndt-114: Так же тут все таки подумать считать своимитегами [\w+] или [[\w+]] вроде бы мы начали с первого, но ушли ко второму. Так же нам бы в будущем дополнить его автокомплитом, т.е. после набора [ (или [[) открыть выпадашку с саггестами, и по мере набора предлагать разные задачи и документы) Но это конечно же отдельной задачей

 demius 4 года назад

Для начала стоит выбрать md-парсер. Правильнее всего, но и сложнее всего имплементировать https://commonmark.thephpleague.com/ Даже для этой системы нужно будет сначала создавать тег ,а потом создавать рендерер, изучать AST и т.д. Альтернатива: https://github.com/cebe/markdown - гораздо проще расширить.

 demius 4 года назад

Вот этим мы уже давно пытаемся пользоваться, проставляя неработающие ссылки. [tntd-9]