Подключение MARKDOWN (Markdig) в Zennoposter

kagorec

Client
Регистрация
24.08.2013
Сообщения
923
Благодарностей
477
Баллы
63
Приветствую.

Задача:
Добавить в шаблон возможность конвертировать (статью) разметку html в markdown, а также наличие возможности конвертации обратно в html.

1. Были скачана и установлена необходимая dll библиотека в папку ...\Progs\ExternalAssemblies



2. В шаблоне подключены GAC и using
GAC


using

и

3. В шаблоне C# сниппет
C#:
using HtmlAgilityPack;
using Markdig;

string ConvertHtmlToMarkdown(string article)
{
    string text = project.ExecuteMacro(article);

    // Create an HTML document from the text
    HtmlDocument doc = new HtmlDocument();
    doc.LoadHtml(text);

    // Create a Markdown pipeline
    MarkdownPipeline pipeline = new MarkdownPipelineBuilder().Build();

    // Convert the HTML to Markdown
    string markdown = Markdig.Markdown.ToMarkdown(doc.DocumentNode.OuterHtml, pipeline);

    // Return the Markdown
    return markdown;
}

// Usage:
string articleHtml = project.ExecuteMacro(project.Variables["article"].Value);
string markdownText = ConvertHtmlToMarkdown(articleHtml);
return markdownText;
4. При выполнении шаблона сыпятся ошибки:
Код:
Компиляция кода  Ошибка в действии "CS1003" "Syntax error, '(' expected". [Строка: 1; Cтолбец: 7]
Компиляция кода  Ошибка в действии "CS1026" ") expected". [Строка: 1; Cтолбец: 22]
Компиляция кода  Ошибка в действии "CS1003" "Syntax error, '(' expected". [Строка: 2; Cтолбец: 7]
Компиляция кода  Ошибка в действии "CS1026" ") expected". [Строка: 2; Cтолбец: 14]
Подскажите, как пофиксить ошибки чтоб работала конвертация html -> mardown?
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 764
Благодарностей
2 407
Баллы
113
Примерно так вижу что работает:
Markdown в HTML:
string html = "*текст*";
return Markdig.Markdown.ToHtml(html, new Markdig.MarkdownPipelineBuilder().Build());
109501



Но, метода ToMarkdown у библиотеки нет - обратное преобразование скорее всего невозможно - нужна какая-то другая библиотека.
109502
 
  • Спасибо
Реакции: K R и kagorec

kagorec

Client
Регистрация
24.08.2013
Сообщения
923
Благодарностей
477
Баллы
63
Спасибо)
Примерно так вижу что работает:
Markdown в HTML:
string html = "*текст*";
return Markdig.Markdown.ToHtml(html, new Markdig.MarkdownPipelineBuilder().Build());
...
В GAC добавил недостающую `netstandart` и скорее всего нужна новая версия библиотеки 2.1.0....
Решено: надо было библиотеку из \lib\netstandard2.0 теперь без ошибок работает

п.с. Для конвертации html -> markdown используется блиблиотека ReverseMarkdown
 
Последнее редактирование:
  • Спасибо
Реакции: BAZAg

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 764
Благодарностей
2 407
Баллы
113
Спасибо)

В GAC добавил недостающую `netstandart` и скорее всего нужна новая версия библиотеки 2.1.0....
Решено: надо было библиотеку из \lib\netstandard2.0 теперь без ошибок работает
Чтобы не нужна была netstandart нужно использовать dll для net462.
109519


п.с. Для конвертации html -> markdown используется блиблиотека ReverseMarkdown
Странно, что нет какой-то библиотеки-конвертера, где в одном месте было бы конвертирование туда и обратно..
Но, главное что Вы смогли решить свою проблему.
Хорошего дня.
 
  • Спасибо
Реакции: kagorec

bad robot

Client
Регистрация
07.03.2011
Сообщения
178
Благодарностей
28
Баллы
28
Спасибо)

В GAC добавил недостающую `netstandart` и скорее всего нужна новая версия библиотеки 2.1.0....
Решено: надо было библиотеку из \lib\netstandard2.0 теперь без ошибок работает

п.с. Для конвертации html -> markdown используется блиблиотека ReverseMarkdown
можешь скинуть dll, которую подключал? у меня не хочет добавляться в ни одна версия ReverseMarkdown

 

kagorec

Client
Регистрация
24.08.2013
Сообщения
923
Благодарностей
477
Баллы
63
можешь скинуть dll, которую подключал? у меня не хочет добавляться в ни одна версия ReverseMarkdown

Все эти dll не стоят траты времени, в основном нерабочие или полурабочие.
https://zenno.club/discussion/threads/dannye-obrabotka-teksta-markdown.115933/ - Pandoc идеально справляется с конвертацией, в теме приведены примеры подключения
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)