RU

"QSP:Типограф" — модуль для форматирования текста

Olegus t.Gl. #12 06.02.2011 00:48 14 comments 15399 views

Платформа QSP позволяет задействовать возможности HTML для форматирования текстов описаний и всего такого, и это хорошо. Плохо то, что писать html-ready текст — сущая мука: теги загромождают текст и мешают его восприятию в редакторе.

Чтобы хоть немного облегчить подобную работу, я написал небольшой модуль для форматирования текста. Он позволяет использовать сокращённые формы записи тегов, что изрядно облегчает как написание, так и визуальное восприятие “исходного” текста.

Например, для вставки заголовка в обычный html-текст, в него нужно добавить запись: “<h1>Заголовок</h1>”. Для вставки параграфа, растянутого по ширине, — “<p align=justify>Текст</p>”. С помощью представляемого модуля данные записи можно сократить до “з1. Заголовок” и “п. Текст” соответственно.

Кроме этого есть сокращённые формы для выделения текста: жирный, курсив, подчёркнутый, подстрочный, надстрочный и т.п.

И можно отметить автоматическую расстановку длинных тире и правильных кавычек.

Текущая версия: 1.6 (скачать)
Документация on-line: http://ifiction.ru/h/otg_lib_typograph_help.html

Пример форматирования:

з1. Демонстрация работы модуля "QSP: Типограф"
----
п. Попробуем-ка строчные теги: **жирный**, //курсив//, __подчёркивание__, Примечания^^2^^, Индексы: C~~2~~H~~5~~OH, ++Крупный текст++ , --мелкий текст--.

цт. Волшебник владел дюжиной заклятий, способных в мгновение ока превратить юного Принца в пар. Он владел заклятиями, способными заставить нахала корчиться в непрерывных муках в течение года, прежде чем позволить ему сдохнуть. Он владел заклятиями, способными обречь на участь куда худшую, нежели самая страшная гибель. И у всех этих заклятий имелся один общий предосаднейший недостаток – они требовали подготовки. Некоторые – совсем небольшой, но ни одно нельзя было применить прямо сейчас.

>. Джон Мур "Принц быстрого реагирования"


п. А ещё дроби: 1/2, 1/4, 3/4

п. Плюс-минус: 40+-3, правильный минус: 9-6=4

~
~

><. Так, разместим что-нибудь по центру... <- тут должно быть многоточие

п. А так можно вставить текст моноширинным шрифтом прямо в параграф:$$00FFFF:##

  ADDQST "otg_lib_typograph.qsp"
  *NL func("Типограф", "пробный //круглый// шар")

##$$
вот так!

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

Edited at 06.09.2011 06:46 (14 years ago)

Я скачал, но не понел что за херь. Он ошибку выдаёт

Евген:

Я скачал, но не понел что за херь. Он ошибку выдаёт

А ты хоть что запускал-то?

Ага. Еслиб не запускал не писал бы.

Евген:

Ага. Еслиб не запускал не писал бы.

Ну так я и спрашиваю — что ты запускал (какой именнно файл)?

все 4

Евген:

все 4

Ну так нет смысла запускать все четыре. Распакуй их в одну папку и запусти хотя бы “example_typograph.qsp”.

Dark[Ol(U23)leneri] #34 06.02.2011 11:56 (15 years ago)

Олегус, зачем тебе велосипед выдумывать? Оптимизировал бы под bb-code

Dark(Ol(U23)leneri):

Олегус, зачем тебе велосипед выдумывать? Оптимизировал бы под bb-code

BB-code не решают тех проблем, которые мне хотелось бы закрыть данным модулем. Кроме того это всё же не “велосипед” — подобная реализация форматирования текста скорее адаптирована мной, чем “выдумана”.

Версия 1.1:

  • У функции “Типограф” появился второй параметр. Если параметр не указан (или указан 0), то все символы “<”, “>”, “&” в тексте экранируются, т.е. выводятся именно как символы, а не части записи html-тегов.
  • Для тегов “h(1-6).”, “p.” и “bq.” добавлены русскоязычные синонимы: “з(1-6).”, “п.”, “цт.” соответственно.
  • Сочетание “––” (на отдельной строке) заменяется на тег “<hr/>”.
  • Блоки “<pre>…</pre>” исключаются из обработки.
  • Блоки “/*…*/” полностью вырезаются из исходного текста (комментарии!).
  • Добавлен тег “о:NNN.” (англоязычный вариант: “i:NNN.”), где NNN - отступ в пикселах (”о:25.” - 25 пикселов) или процентах (”о:25%.” - 25%). Блок преобразуется в таблицу, состоящую из двух колонок - ширина левой колонки соответствует указанному отступу. Таблица обрамляется в “<div>” - иначе html-движок QSP косячит с предыдущим абзацем.
  • Добавлена автозамена некоторых символов: дробей, знака умножения, многоточия и т.п.

Модуль обновлён до версии 1.2:

  • Исправлен недочёт в реализации тега $$ - теперь цветом можно выделять многострочный блок.
  • Убрана замена символа ’ на код “39”, потому как это портит ссылки в QSP.
  • Немного почищен код.

Надо ознакомиться :)

Версия 1.4. Убран баг с распознаванием последовательностей “п.”, “>.” и т.п. внутри строки как блочных тегов.

Выложена версия 1.5:

  • Прекращена поддержка англоязычных команд и тегов.
  • Добавлена функция “ПустаяСтрока”.
  • Добавлен тег “кс.” (параграф с красной строкой).
  • Добавлена команда “Типограф.Отступ”.
  • Добавлена команда “Типограф.Инициализация”.
  • Улучшена обработка блочных тегов.

Версия 1.6:

  • Изменён порядок вызова обработчиков текста, в результате чего исчезли некоторые глюки.

Log in or Register to post comments.