Форматирование текста в стиле Wiki
-
03-07-2019 - |
Вопрос
Я ищу какой-нибудь анализатор текста для ASP.NET, который может создавать HTML из некоторого стиля текста, использующего специальный формат.Например, в Wiki есть какой-то специальный синтаксис для заголовков и тому подобного.Я попытался поискать в Google, но ничего не нашел для .NET.
Кто-нибудь знает о библиотеке для .NET, которая может анализировать текст в стиле HTML wiki?У меня не обязательно должен быть тот же синтаксис, что и в вики?Если нет, то как лучше всего спроектировать такую систему самостоятельно?
Заранее благодарю
Решение
как насчет Уценки, которую использует StackOverflow?
http://daringfireball.net/projects/markdown/
с их домашней страницы:
Таким образом, “Уценка” - это две вещи:(1) синтаксис форматирования обычного текста;и (2) программный инструмент, написанный на Perl, который преобразует форматирование обычного текста в HTML.
Другие советы
Для серверной части вы можете использовать Markdown.Библиотека Net от Милана Негована : http://www.aspnetresources.com/blog/markdown_announced.aspx
Markdown великолепен - очень интуитивно понятный синтаксис, и у вас есть WMD - это потрясающий инструмент редактирования который я сейчас набираю.
Я бы хотел сильно рекомендуйте текстиль по уценке. Textile.NET должен делать то, что ты хочешь.
Почему?Мне больше нравится синтаксис Textile, и я думаю, что пользователям проще его изучить и использовать.Нет ни одной серьезной причины - просто множество мелочей.
В Markdown вы можете сделать *italics*
и **bold**
легко, но синтаксис кажется произвольным.Сравните с эквивалентным синтаксисом в Textile для _italics_
и *bold*
, который отражает обычный способ указания этих модификаторов в обычных текстовых форматах.
Или, для другого примера, в Textile вы создаете упорядоченный список, добавляя к каждому элементу префикс "#".В Markdown вы добавляете к нему префикс "n.", где n - любое целое число.Markdown пытается имитировать синтаксис, который люди используют в плоских текстовых файлах при написании списков (что приятно), но это означает, что этот код Markdown:
3. Test1
2. Test2
1. Test3
Отображается следующим образом:
- Тест1
- Тест2
- Тест3
По сути, Markdown запрашивает у вас номер, который затем игнорирует.Мне это кажется неэлегантным, хотя я не мог бы точно объяснить, почему.
Textile также создает таблицы (и желает иметь приятный компактный синтаксис).Уценка этого не делает.Есть еще несколько второстепенных моментов, но я думаю, что это покрывает большую часть проблемы.:)