0,0
рейтинг
18 мая 2014 в 16:52

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



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

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



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

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

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

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

Мы же со своей стороны рекомендуем использовать всегда наш архив, размещенный на mdash.ru, дабы избежать ошибок, допущенных в коде сторонними разработчиками.
Евгений Муравьёв @emuravjev
карма
52,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (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.: Кто не понял, я говорю про первый пункт правил.
        • 0
          Вы правы, исправил.
  • +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 версию пожалуй начну делать.
    • +1
      Давайте :) Будем только рады помочь
    • 0
      Клиентскую или серверную?
      • 0
        Клиентский вариант как jQuery плагин

        $('p.emt').emt();
        подробнее

        alexsuslov.github.io/emt/
  • 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
          А объяснить? Что за мода минусовать по подлому без объяснений?

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