Типограф Муравьёва опубликован на GitHub



    Нас очень давно просят опубликовать типограф ГитХабе, чтобы дать возможность развивать продукту еще быстрее. Так как мы не создаем модули для разных систем, а делаем, только код типографа, то пришло время опубликовать типограф на ГитХабе и предоставить всем желающим возможность делать форки и открыто развивать продукт под свои нужды.

    Велком: https://github.com/emuravjev/mdash



    Пользуясь случаем, хочу рассказать о том, что это уже версия 3.3 — исправленная и дополненная. С момента публикации первой версии на ПХП, мы внесли много изменений (их можно посмотреть на сайте) и выпустили версию для Питона. На ГитХабе мы опубликовали только основной код продукта, но помимо него, у нас есть автотесты и компилятор кода для Питона. Все это тоже будет опубликовано в обозримом будущем.

    Следующая версия, скорее всего будет для Руби и включит несколько новых фишек. Мы по прежнему продолжаем развивать сервис и очень рады, что уже десятки сайтов пользуются нашей работой. Буду благодарен комментариям и новым предложениям.

    Первая версия анонса типографа

    Рекомендация
    Уважаемые разработчики, если вы вносите изменения в код и выкладываете его для пользования, пожалуйста, указывайте, что это не официальная версия.

    Мы же со своей стороны рекомендуем использовать всегда наш архив, размещенный на mdash.ru, дабы избежать ошибок, допущенных в коде сторонними разработчиками.
    Метки:
    Поделиться публикацией
    Похожие публикации
    Комментарии 64
    • –13
      Печально, что типограф не умеет делать списки.
      Из такого:

      * один
      * два

      такое:

      <ul>
      <li>один</li>
      <li>два</li>
      </ul>
      

      Это, пожалуй, единственное, что мешает его использовать по сравнению с typograf.ru
      • +18
        Ну это не назовешь типографикой, это уже форматирование. Мы думаем в эту сторону, но пока кажется она только мешать будет простым людям.
        • +1
          Не спорю, что не типографика. Но это инструмент. Причем в первую очередь скорее всего контент-менеджера.
          Странно, что минусуют люди, которые по идее должны быть заинтересованы в том, чтобы их сотрудники поменьше оплачиваемого времени тратили на задачу.
          Если будет аналог разметки, что я указал, человеку не придется лезть в другой инструмент и формировать список и тратить время, пусть и небольшое, на его создание. Разумеется, о чем-то сложном типа стилей, таблиц и прочего речи нет.
          • +1
            Было бы вам интересно совместное развитие такого форматтера? У меня с 2009 года есть проект вики-разметки, учитывающий особенности русской раскладки (никаких backticks, апострофов и т.п). Сам им пользуюсь в своей работе, но уверен, что он может пригодиться не только мне.

            Вот ссылка на документацию: uverse.i-forge.net/wiki/demo/Basic. Парсер самодостаточный, PHP 5+.
            Если заинтересовало — буду рад пообщаться.
            • 0
              Это очень интересный вопрос.
              Удаление повторяющихся слов (по умолчанию выключено).
              Обрамление в <p></p> каждого абзаца.
              Проставлять <br /> для новой строки.
              Выделение ссылок из текста.
              Выделение эл. почты из текста.

              Типограф все-таки что-то размечает и в связке с маркдауном уже не работает, в силу того, что ставит эти <br>.
              • +1
                Согласен. Не всем надо абзацы выделять. Мне бы было интересно скармливать типографу HTML-тексты.
                • 0
                  В принципе, вы можете выключить эти правила в скрипте и тогда проблем быть не должно.
              • +11
                Прикрутите markdown поверх типографа. Мне кажется логичным что типограф занимается типографией, а разметкой другие утилиты. Комбайны городить плохо
                • 0
                  Поддерживаю, как раз про списки подумал — а зачем вообще типограф, если можно
                  markdown < file.txt > file.html
                  • 0
                    Вопрос и был в том, будет ли развитие в этом направлении :) может я не так сформулировал
                    Типограф + авторазметка = незаменимая вещь для контентера.
              • +8
                Эх, жаль js версии нет, так бы можно было делать все в реальном времени прямо на клиенте. Или встроить в какой нибудь из редакторов.
                • 0
                  Почему-то кажется, что для такого скрипта нет смысла делать js-версию. Разве что только использовать его минуя сервер, сразу вставлять в редактор. Возможно, вначале мы сделаем js-версию, которая будет смотреть на наш API, не используя ваш сервер.
                  • +6
                    Ну js версию можно с легкостью реиспользовать на сервере (node.js)
                    • +1
                      Будем рады, если поможете с этим =)
                      • +4
                        Могу присоединиться, если что.
                    • +1
                      Имеет смысл модуль для Gulp и Grunt
                    • 0
                      из типографов на JavaScript могу порекомендовать Devanagari
                    • +3
                      В голову сразу приходит условие которое очень сильно раздражает, мне кажется было бы не лишним добавить его в Типограф:
                      — Пробел после точки (запятой или другого знака препинания)
                      • 0
                        У нас есть правило №17 «Удаление пробелов перед и после знаков препинания». Можете привести пример, который наш типограф неправильно обрабатывает?
                        • +1
                          После знаков препинания пробел удалять как раз не нужно.
                          • 0
                            Здесь имеется ввиду, если после запятой стоит два и более пробелов.
                      • +14
                        Было бы логичнее выложить две версии — одна Python, другая PHP. Или хотя бы в две разные папки в одном репозитории, но уж точно не смешивать в одно.
                        • +4
                          А какая у вас лицензия? Правильно было бы разместить файлы LICENSE в репозитории.
                          • +2
                            Типограф является общественным достоянием (об этом написано в футере сайта). Файл добавили.
                            • +4
                              Всё же разумнее воспользоваться какой-нибудь готовой лицензией (например, MIT). Там как минимум прописан отказ от ответственности: если ваша программа нанесёт кому-то ущерб в результате бага или неверного использования, вы снимаете с себя за это ответственность.
                              • +1
                                Мы отдаем это как общественное достояние, а логика любого человека предупреждает его, что перед тем, как массово использовать что-то, надо это проверить — не важно по какой лицензии он это получил =) Public Domain говорит, что любой может делать с этим что хочет, даже продать и разбогатеть.
                          • +7
                            Во-первых, зачем питоновская версия вместе с PHP?
                            Во-вторых, PHP-код старый очень, уже давно есть нативные неймспейсы, Composer и PSR-автозагрузка. Попробую на досуге форкнуть и переписать что ли.
                            • 0
                              Да, я тоже обратил внимание на этот момент. Подожду нормального форка.
                              • +4
                                python код тоже вызывает вопросы. Начиная с такой банальной вещи, что документация к функциям написана не в виде docstrings. Зачем это делать абсолютно непонятно, это все равно, что документацию к ядру Linux писать в формате Microsoft Word.
                                • +9
                                  Ну так это-то уж точно несложно самому переделать и запуллреквестить?
                                  Автор сделал крутую штуку, давайте все поможем ему чем можем.
                                • +2
                                  Я не так давно пытался это сделать. Правда версия 3.1.
                                  github.com/Prime-Developers/EMT
                                  packagist.org/packages/prime/emt
                                  • 0
                                    Готово, сам типограф тут (еще буду допиливать и причесывать, там местами нашелся eval например): github.com/kix/mdash
                                    А тут бандл симфонийский: github.com/kix/mdash-bundle
                                  • НЛО прилетело и опубликовало эту надпись здесь
                                    • 0
                                      Позову сюда разработчика, чтобы он более точно ответил на этот вопрос.
                                    • +6
                                      Пост носит какой-то явно рекламный характер, Опишите пожалуйста в пару абзацев, что за типограф, какой функционал и какие отличия от других.
                                      • +2
                                        Реклама носит коммерческий характер. Детали про типограф можете почитать здесь: habrahabr.ru/post/195564/
                                      • 0
                                        Может не в тему, но хотелось бы узнать, как в совсременном вебе дела с мягкими переносами? Всё тот же факультативный &shy; или уже что-то кроссбраузерное придумали?
                                        • +1
                                          Расстановка дефисов в обезличенных местоимениях и междометиях (напр.: кто-то → кто-то, где-то → где-то и так далее).

                                          А здесь нет ошибки? Кажется, будто должно быть «кто то» → «кто-то» и так далее.
                                          • 0
                                            Может, это замена дефисоминуса на простой или неразрывный дефис?
                                            • 0
                                              У символов в обоих случаях ASCII-код равен 45.
                                              • 0
                                                Их в ASCII нет.
                                                • 0
                                                  Я говорил дефисоминусе. Он есть в ASCII, и код его такой же, как и в Unicode, используемом в качестве HTML Char Code.
                                                  Но спасибо за исправление, говорить об ASCII-кодах в данном случае было некорректно.
                                            • 0
                                              Сейчас так и работает «кто то» заменяется на «кто-то». Может я вас не так понял?
                                              • 0
                                                Аа, я понял о чем вы. Там после дефиса стоит пробел кто-ПРОБЕЛто заменится на кто-то =)
                                                • +1
                                                  Смотрите, прикрепляю «кусочек» исходного кода в виде скриншота:

                                                  Скрытый текст

                                                  И, собственно, в виде кода:

                                                  напр.: кто-то <span class="arial"><small>→</small></span> кто-то<span style="margin-right:-0.2em;">,

                                                  Зуб даю, нет там пробела!

                                                  P. S.: Кто не понял, я говорю про первый пункт правил.
                                            • +2
                                              Евгений, прежде всего спасибо за софтину, дальше, если позволите небольшой фидбек о питоновской версии:
                                              1. Очень медленно: 0:00:00.390000 для хтмл текста в 8000 знаков (core2uo, 4gb ram), скрипт работал в составе проекта со следующей конфой:
                                              EMT.setup({
                                                  'OptAlign.all': 'off',
                                                  'OptAlign.oa_oquote': 'off',
                                                  'OptAlign.oa_obracket_coma': 'off',
                                                  'OptAlign.layout': 'off',
                                                  'Text.paragraphs': 'off',
                                                  'Text.auto_links': 'off',
                                                  'Text.email': 'off',
                                                  'Text.breakline': 'off',
                                                  'Text.no_repeat_words': 'off',
                                              })
                                              

                                              2. все-таки мешать разметку с типографикой не очень удачная идея. Без вышеперечисленных настроек типограф лепит br:
                                              <h2>title</h2>
                                              <br>
                                              <p>paragraph</p>
                                              

                                              3. Питоновский код никуда не годится:
                                              text = re.sub('(\</?)(.+?)(\>)', lambda m: m.group(1)+(u"%%___" if m.group(2).strip()[0:1] == u'a' else u"") + EMT_Lib.encrypt_tag(m.group(2).strip()) + m.group(3), text, 0, re.S |re.U)   
                                              

                                              И что самое обидное, если попытаться его переписать совсем не понятно с чего начинать, хотя бы потому что global и globals() используются на всю катушку :-(
                                              • 0
                                                Феерично, что в вашем тексте столько ошибок :)
                                                Открыть

                                                Но проект хороший, желаю вам удачи! Просто будьте немного внимательней :)
                                                • +1
                                                  Уважаемые разработчики, если вы вносите изменения в код и выкладываете его для пользования, пожалуйста, указывайте, что это не официальная версия.

                                                  А принимаются ли пулл реквесты в официальный репозиторий?
                                                  • 0
                                                    Давайте посмотрим, что за реквесты будут. Будем каждый тестировать и ревьюить.
                                                  • 0
                                                    Спасибо!
                                                    • +1
                                                      js версию пожалуй начну делать.
                                                    • 0
                                                      пока на ноду, потом сделаю и для браузера.

                                                      1. работало
                                                      2. быстро
                                                      3. красиво

                                                      github.com/alexsuslov/emt/tree/dev
                                                      • 0
                                                        Мы же со своей стороны рекомендуем использовать всегда наш архив, размещенный на mdash.ru

                                                        Теперь только с гит и, если я правильно понял, нужен пхп чтобы собрать питоновскую либо, так? :)
                                                        • 0
                                                          Ответили на тикет на гитхабе: дистрибутивы появились на сайте.
                                                        • 0
                                                          Друзья, мы обновили типограф до версии 3.4.
                                                          • –4
                                                            Вы бы еще обратили внимание на грамотность непосредственно самой статьи:

                                                            Нас очень давно просят опубликовать типограф на Гитхабе, чтобы дать возможность развивать продукту еще быстрее. Так как мы не создаем модули для разных систем, а делаем, только код типографа, то пришло время опубликовать его (повторение) на Гитхабе.

                                                            Велкам пишется через «а» (английское слово come произносится как «кам» (например «come in» — «кам ин»).

                                                            Дальше лень просто анализировать… Благодарю за понимание!
                                                            • +2
                                                              Спасибо за комментарий, но лучше такие замечания писать в личку, т.к. общественной пользы он не несет.
                                                              • –3
                                                                Вот про это я не подумал на самом деле… Действительно)

                                                                P. S. И естесственно минусцов словить надо, как без этого?
                                                                • –3
                                                                  Какое-то странное у Хабра понимание полезности комментов, сколько раз я в этом убеждался…
                                                                  • –3
                                                                    А объяснить? Что за мода минусовать по подлому без объяснений?

                                                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.