1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Markdown для XF - нужен или нет?

Тема в разделе "Основные вопросы по XenForo", создана пользователем Yoskaldyr, 28.10.2011.

Загрузка
  1. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Тот кто не в курсе что такое маркдаун дальше можно не читать :)

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

    К примеру дублирование * и [i], дублирование > и [quote], учитывая что довольно трудно в ббкод дереве отследить цитату маркдауна (> ).

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

    К примеру мне маркдаун нужен и я для себя уже написал поддержку заголовков (### - это h3 к примеру), списков (которые лично мне кажутся более удобными чем в ббкодах), и горизонтальных разделителей (------ - это hr).
     
  2. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    По сути это та же вики. Есть ведь плагин соответствующий. Наверное, есть смысл посмотреть, как в нем это реализовано. Если что, может тогда проще его допиливать?
     
  3. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    если речь идет о 8WR XenCarta, то разраб специально отметил что не будет поддерживать маркдаун - для всего достаточно ббкодов.
    Да, ббкодов достаточно, но оверхед на обычных статьях просто большой (легко можно забыть тег и т.д.)

    Для сравнения ббкодом и маркдауна (будем считать что ббкод заголовка H2 установлен в ксене) ниже пример:
    надо получить что-то типа этого (заголовок h2 тегом):

    Заголовок раздела статьи
    1. элемент нумерованного списка
    2. элемент нумерованного списка
    3. элемент нумерованного списка
      • элемент маркированного подсписка
      • элемент маркированного подсписка
      • элемент маркированного подсписка
    ббкодами будет так:
    Код:
    [h2]Заголовок раздела статьи[/h2]
    [LIST=1]
    [*]элемент нумерованного списка
    [*]элемент нумерованного списка
    [*]элемент нумерованного списка
    [LIST]
    [*]элемент маркированного подсписка
    [*]элемент маркированного подсписка
    [*]элемент маркированного подсписка
    [/LIST]
    [/LIST]
    а вот маркдаун:
    Код:
    ## Заголовок раздела статьи
    1. элемент нумерованного списка
    2. элемент нумерованного списка
    3. элемент нумерованного списка
     + элемент маркированного подсписка
     + элемент маркированного подсписка
     + элемент маркированного подсписка
    
    у ббкодов значительно больше синтаксического шума, к тому же при сильной вложенности списков очень легко ошибиться и не там закрыть ббкод, в результате получим полностью съехавшую верстку статьи.

    И еще насчет того что бы посмотреть как сделано в вики - я ее смотрел с самых первых версий и как была не айс так и осталась. К том у же я маркдаун собираюсь поддерживать везде где есть ббкоды, а не только в одном плагине, как это в вики.
     
  4. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Можно, конечно, пойти по тупому пути и сделать bb-код типа
    Код:
    [markdown]
    ## Заголовок раздела статьи
    1. элемент нумерованного списка
    2. элемент нумерованного списка
    ...
    [/markdown]
    Ну и сделать обработчик такого bb-кода.
    Не айс?
     
  5. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Не совсем айс. Повторюсь:
    Т.е. в маркдауне нет к примеру позиционирования текста - а это часто бывает необходимо.
    В идеале хотелось бы использовать ббкоды и маркдаун одновременно, а получить что-то типа:
    Код:
    [markdown]
    ## Заголовок раздела статьи
    1. элемент [i]нумерованного[/i] списка
    2. элемент нумерованного [b]списка[/b]
    
    [center]
    Текст по центру
    [attach]1234[/attach]
    [/center]
    ## Заголовок следующего раздела
    1. элемент [i]нумерованного[/i] списка
    2. элемент нумерованного [b]списка[/b]
    ....
    [/markdown]
    Но совместить весь синтаксис маркдауна с ббкодами сложно, поэтому и спросил а нужно ли это или я оставлю только списки, отступы, заголовки и горизонтальные разделители. Т.е. делать что-то что совсем не кому не надо - не вижу смысла, лично мне достаточно описанного выше.
     
  6. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Да, одновременно совмещать, конечно же, значительно сложнее. Не уверен, что это в принципе следует делать. Все же пусть ответят те, кому это реально нужно. Если ответов не последует, тогда забить на это дело, да и все.
     
  7. niki-timofe

    niki-timofe Пользователь

    Регистрация:
    24.06.12
    Сообщения:
    8
    Симпатии:
    3
    Версия XF:
    1.1.2
    Да, нужно, есть либы маркдауна для зенда: https://github.com/EvanDotPro/EdpMarkdown, а если приделать "sanitiser", то можно вовсе заменить бб на html, и, вообще, убрать его (бб) из ксена.
     
  8. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    вообще-то у меня уже как с год есть маркдаун для ксена, но вот выпилять полностью ббкоды все равно не получится - без ббкодов точно что-то перестанет работать :)

    P.S. Пример работы здесь
     
    CyberAP нравится это.
  9. niki-timofe

    niki-timofe Пользователь

    Регистрация:
    24.06.12
    Сообщения:
    8
    Симпатии:
    3
    Версия XF:
    1.1.2
    Нельзя ли сказать как его сделать?
     
  10. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    ???
    Очень странная постановка вопроса. Если именно сделать - то брать и делать, т.е. писать код (КЭП рекомедует :) ).
    Если просто хотите получить этот хак и он нужен срочно - то можете купить, за подробностями в личку.
     

Поделиться этой страницей