2012-07-01 2 views
7

Для моего веб-интерфейса я должен реализовать подмножества синтаксиса wiki в моей системе. Нужно ли вручную указывать правила и изобретать колесо? Есть ли существующая библиотека javascript или плагин jquery, который мог бы помочь в этом?JQuery/Javascript для преобразования wiki-текста в HTML и наоборот?

Например, пользователь вводит == Header == Так как это необходимо, чтобы преобразовать в средний заголовок, например (предполагая, что среда определена в данном контексте как промежуток, как показано ниже)

<span class="mediumHeader" id = "Header">Header</span> 

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

<span...> ... </span> с ==...==

Теперь для каждой системы я разрабатываю это будет в соответствии с «моими правилами» d почти всегда придется изобретать велосипед. Есть ли что-то, что я мог бы использовать для облегчения этой вики в/из преобразования HTML с помощью Jquery/Javascript? Я уверен, что это проблема с известным решением.

Я бы предпочел настроить то, что приемлемо, а что нет. Я не все, чтобы быть переведенным в синтаксис (или HTML) только в виде вики. Должен ли я просто заказывать свою заявку?

+0

Какой диалект wikitext? Их очень много, и ответ на этот вопрос невозможен без этой информации.Вы говорите о формате MediaWiki, который используется в Википедии? – hippietrail

ответ

5

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

Есть несколько вариантов javascript - вы, вероятно, смотрите на instaview (проверьте test/test.js), или, может быть, Wiky.js (тем менее полностью задокументирован).

Если вы не ограничены Javascript, ознакомьтесь с полным списком парсеров MediaWiki по адресу http://www.mediawiki.org/wiki/Alternative_parsers - множество инструментов для C++, Java, Perl, ruby ​​и других. Это ссылка, чтобы следить за новыми событиями.

3

На момент написания статьи Parsoid представляется единственной, которая переводится в обоих направлениях. Это также обеспечивает визуальный редактор в Википедии. Но это не удобная клиентская база lib для включения в ваше приложение, а полнофункциональный пакет синтаксического анализа и преобразования. Доступ к производственной версии Parsoid в кластере Wikimedia можно получить по адресу http://parsoid-lb.eqiad.wikimedia.org/.

Другие JavaScript библиотеки, которые перевод из вики-текста в HTML только (отсортированы по популярности), являются:

  • Wiky.js - не поддерживает полный синтаксис вики-текста. (tanin47, не следует путать с Wiki.js из Requarks - совсем другой проект)
  • wtf_wikipedia - не напрямую переводится в HTML, но JSON, что приводит к гораздо более мощным возможностям (например, инфо-боксы, пары значений). Это самая современная библиотека и «» ее комбинация instaview, txtwiki и использует межъязыковые данные из парсеидного анализатора JavaScript. «
  • instaview - никаких обновлений за последние 2 года.

Также проверьте текущий и полный список alternative MediaWiki parsers.

+1

Хороший и полный вопрос. Это должен быть принятый ответ. – Sebastialonso

Смежные вопросы