Внешняя компонента реализующая возможность преобразования текста в формате Markdown, в обычный текст или текст html из OneScript.
Компонента представляет собой обертку над библиотекой Markdig.
Установка осуществляется простым копированием файлов dll в какую-нибудь папку.
Установка осуществляется копированием файлов dll в папку Bin веб-приложения. Затем, необходимо подключить библиотеку, добавив нижеследующую строку в секцию , файла web.config:
<add key="MarkdigMarkdownProcessor" value="attachAssembly" />
- Необходимо скопировать файлы dll в какую-нибудь папку.
- Необходимо зарегистрировать MarkdigMarkdownProcessorCom.dll при помощи утилиты regasm.
- Для использования в 64-битных операционных системах, необходимо создать COM+ приложение.
Конфигурирование расширений осуществляется в соответствии с их строковыми представлениями, а также с учетом того факта, что расширения advanced и attributes должны быть последними, в соответствии с комментарием. В настоящее время доступны нижеследующие расширения:
- common
- advanced
- pipetables (входит в advanced)
- emphasisextras (входит в advanced)
- listextras (входит в advanced)
- hardlinebreak
- footnotes (входит в advanced)
- footers (входит в advanced)
- citations (входит в advanced)
- attributes (входит в advanced, должен быть последним в списке подключаемых расширений)
- gridtables (входит в advanced)
- abbreviations (входит в advanced)
- emojis
- definitionlists (входит в advanced)
- customcontainers (входит в advanced)
- figures (входит в advanced)
- mathematics (входит в advanced)
- bootstrap
- medialinks (входит в advanced)
- smartypants
- autoidentifiers (входит в advanced)
- tasklists (входит в advanced)
- diagrams (входит в advanced)
- nofollowlinks
- nohtml
- yaml
- nonascii-noescape
- autolinks (входит в advanced)
Более подробное описание расширений можно посмотреть здесь.
// Подключение внешней компоненты не требуется при использовании с http-сервисами,
// т.к. библиотека подключается через web.config
ПодключитьВнешнююКомпоненту("ПутьКПапкеСDll\MarkdigMarkdownProcessor.dll");
Процессор = Новый MarkdownПроцессорMarkdig;
// Список возможных расширений и их текстовое представление см. выше
Процессор.СконфигурироватьРасширения("yaml+advanced");
СтрокаMarkdown = "This is a text with some *emphasis*";
// Вызов без обработки расширений Markdown
СтрокаHtml = Процессор.ПолучитьHtmlИзMarkdown(СтрокаMarkdown);
СтрокаТекст = Процессор.ПолучитьСтрокуИзMarkdown(СтрокаMarkdown);
Сообщить(СтрокаHtml); // <p>This is a text with some <em>emphasis</em></p>
Сообщить(СтрокаТекст); //
Код, написанный в 1С:Предприятие, за исключением создания COM-объекта является платформеннонезависимым и может быть напрямую перенесен в OneScript.
ТекстMarkdown = "This is a text with some *emphasis*";
// Создание COM-объекта является платформо-зависимым
Процессор = Новый COMОбъект("MarkdigMarkdownProcessorCom.MarkdigMarkdownProcessor");
Процессор.ConfigureExtensions("yaml+advanced");
ТекстHtml = Процессор.GetHtmlFromMarkdown(ТекстMarkdown);