1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-Txtmark_old1

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Кодблок Эмиттер реализует Блок Эмиттер

public class CodeBlockEmitter implements BlockEmitter {
    private static void append(StringBuilder out, List<String> lines) {
        out.append("<pre class=\"pre_no_hl\">");
        for (final String l : lines) {
            Utils.escapedAdd(out, l);
            out.append('\n');
        }
        out.append("</pre>");
    }

    @Override
    public void emitBlock(StringBuilder out, List<String> lines, String meta) {
        if (Strings.isEmpty(meta)) {
            append(out, lines);
        } else {
            try {
                // Utils#highlight(...) is not included with txtmark, it's sole purpose
                // is to show what the meta can be used for
                out.append(Utils.highlight(lines, meta));
                out.append('\n');
            } catch (final IOException e) {
                // Ignore or do something, still, pump out the lines
                append(out, lines);
            }
        }
    }
}

Можно затем установить BlockEmitter в txtmark Configuration, используя Configuration.Builder#setCodeBlockEmitter(BlockEmitter emitter).


Соответствие Markdown

Txtmark проходит все тесты внутри MarkdownTest_1.0_2007-05-09, кроме двух:

  1. Images.text

    Не удаётся, потому что Txtmark не создаёт пустые атрибуты title для изображений. (IMHO: Изображения... ОК).

  2. Literal quotes in titles.text

    Что за чёрт... этот тест будет продолжать давать сбой. Извините, но использование неэкранированных кавычек в заголовке, который должен быть заключён в кавычки, неприемлемо для меня;)

    Поменяйте:

    Foo bar. [bar]: /url/ "Title with 'quotes' inside"

    на:

    Foo bar. [bar]: /url/ "Title with "quotes" inside"

    и Txtmark выдаст правильный результат. (IMHO: Литеральные кавычки в заголовках... ОК).


Где Txtmark отличается от Markdown

  • Txtmark не создает пустые атрибуты title в тегах ссылок и изображений.

  • Неэкранированные кавычки в названиях ссылок, начинающихся с кавычек, не распознаются и приводят к неожиданному поведению.

  • Из-за другого подхода к анализу списков некоторые вещи интерпретируются по-разному:

    • Список

    Цитата

    будет выглядеть так при обработке с помощью Markdown:

    • Список

      Цитата

    а так при использовании Txtmark:

    • Список

      Цитата

    Ещё один пример:

    • Список ====

    при обработке с Markdown будет выглядеть как:

    * Список

    а при использовании Txtmark — как:

    • Список

  • Список экранируемых символов:

    \ [ ] ( ) { } # " ' . < > + - _ ! ` ^


Сравнение производительности процессоров Markdown для JVM

Замечания: Эти тесты слишком старые, чтобы иметь какую-либо ценность. Тем не менее я оставляю их здесь для справки.

На основе этого набора тестов (http://henkelmann.eu/2011/01/10/performance_comparison_of_markdown_processor_for_the_jvm).

Выдержка из оригинального поста, касающегося этого набора тестов:

Большинство этих тестов, конечно, нереалистичны: кто будет писать текст, где каждое слово является ссылкой? Тем не менее они служат важной цели: они позволяют разработчику определить, в каких частях парсера есть больше всего возможностей для улучшения. Кроме того, это объясняет, почему определённые тексты могут отображаться некорректно. Перевод текста:

Гораздо быстрее на одном

процессоре, чем на другом.

Система тестирования:

  • Ubuntu Linux 10.04 32 Bit;
  • Intel(R) Core(TM) 2 Duo T7500 @ 2.2GHz;
  • Java(TM) SE Runtime Environment (build 1.6.0_24-b07);
  • Java HotSpot(TM) Server VM (build 19.1-b02, mixed mode).

<Таблица> <Строка><Столбец>Тест</Столбец><colspan="2">Actuarius<colspan="2">PegDown<colspan="2">Knockoff<colspan="2">Txtmark</Строка> <Строка>

Первый запуск (мс)Второй запуск (мс)Первый запуск (мс)Второй запуск (мс)Первый запуск (мс)Второй запуск (мс)Первый запуск (мс)Второй запуск (мс)</Строка> <Строка>Простые абзацы11275771273103774040015764</Строка> <Строка>Каждое слово выделено156210011523151313982132215446</Строка> <Строка>Каждое слово жирным112599711151114954396474441</Строка> <Строка>Каждое слово в виде кода38227710581052911690745139</Строка> <Строка>Каждое слово — быстрая ссылка225716005375313980341010955</Строка> <Строка>Каждое слово состоит из специальных символов XML4045427029853044312377778775</Строка> <Строка>Каждое слово заключено в ручные HTML-теги33342919901896386337367362</Строка> <Строка>Каждая строка с ручным переносом51058814451440152711305656</Строка> <Строка>Каждое слово с полной ссылкой4522461045996188418198655</Строка> <Строка>Каждое слово с полным изображением26815011401132198519083836</Строка> <Строка>Каждое слово со ссылкой на источник98479082189561871912113611541615251380</Строка> <Строка>Каждый блок — цитата445206131213014784575045</Строка> <Строка>Каждый блок — кодовый блок70873733761611756022</Строка> <Строка>Каждый блок — список920912172017256226515555</Строка> <Строка>Все тесты вместе32812885518451961013010460206196</Строка> </Таблица>

Упомянутые/связанные проекты

[Markdown] является авторским правом (C) 2004 Джона Грубера.
[SmartyPants] является авторским правом (C) 2003 Джона Грубера.
[Actuarius] является авторским правом (C) 2010 Кристофа Хенкельманна.
[Knockoff] является авторским правом (C) 2009–2011 Тристана Юричека.
[PegDown] является авторским правом (C) 2010 Матиаса Дёница.
[PHP Markdown & Extra] является авторским правом (C) 2009 Мишеля Фортина.


[Синтаксис Markdown]: http://daringfireball.net/projects/markdown/syntax/ «daringfireball.net».
[Markdown]: http://daringfireball.net/projects/markdown/.
[SmartyPants]: http://daringfireball.net/projects/smartypants/.
[Actuarius]: http://henkelmann.eu/projects/actuarius/.
[Knockoff]: http://tristanhunt.com/projects/knockoff/.
[PegDown]: https://github.com/sirthias/pegdown/.
[PHP Markdown & Extra]: http://michelf.com/projects/php-markdown/.

[repo]: https://github.com/rjeschke/txtmark «Txtmark на GitHub.com».
[tar]: https://github.com/rjeschke/txtmark/tarball/master «ветка: master».
[zip]: https://github.com/rjeschke/txtmark/zipball/master «ветка: master».

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Txtmark — это Markdown-парсер, реализованный на Java, который используется для создания HTML-документа. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-Txtmark_old1.git
git@api.gitlife.ru:oschina-mirror/mirrors-Txtmark_old1.git
oschina-mirror
mirrors-Txtmark_old1
mirrors-Txtmark_old1
master