Платформа QSP позволяет задействовать возможности HTML для форматирования текстов описаний и всего такого, и это хорошо. Плохо то, что писать html-ready текст — сущая мука: теги загромождают текст и мешают его восприятию в редакторе.
Чтобы хоть немного облегчить подобную работу, я написал небольшой модуль для форматирования текста. Он позволяет использовать сокращённые формы записи тегов, что изрядно облегчает как написание, так и визуальное восприятие "исходного" текста.
Например, для вставки заголовка в обычный html-текст, в него нужно добавить запись: "<h1>Заголовок</h1>". Для вставки параграфа, растянутого по ширине, — "<p align=justify>Текст</p>". С помощью представляемого модуля данные записи можно сократить до "з1. Заголовок" и "п. Текст" соответственно.
Кроме этого есть сокращённые формы для выделения текста: жирный, курсив, подчёркнутый, подстрочный, надстрочный и т.п.
И можно отметить автоматическую расстановку длинных тире и правильных кавычек.
Текущая версия: 1.6 (скачать)
Документация on-line: https://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("Типограф", "пробный //круглый// шар") ##$$ вот так!
Неактивен
Надо бы добавить:
Неактивен
версия 1.1:
Неактивен
Olegus t.Gl. написал:
Пример форматирования:
Код:
п. Попробуем-ка строчные теги: **жирный**, //курсив//, __подчёркивание__, Примечания^^2^^, Индексы: C~~2~~H~~5~~OH, ++Крупный текст++ , --мелкий текст--.
Раз уж удвоенный минус использован для мелкого текста — я бы предложил утроенный для ---зачёркнутого---.
Правда, в выбранном варианте остаётся открытым вопрос длинного и среднего тире.
Отредактировано NooS (08.02.2011 00:20)
Неактивен
NooS написал:
Раз уж удвоенный минус использован для мелкого текста — я бы предложил утроенный для ---зачёркнутого---.
Правда, в выбранном варианте остаётся открытым вопрос длинного и среднего тире.
Изначально "--" предполагался именно для зачёркивания текста. Однако в html-движке QSP-Classic тег "<s>" не работает, а "<strike>" работает как подчёркивающий тег "<u>". Потому "--" и стал заменой тегу "<small>".
Неактивен
Обнаружен недочёт в реализации тега $$ — цветом можно было выделять только часть строки. В версии 1.2. можно будет выделять многострочный блок.
Также в версии 1.2 будет убрана замена символа ' на html-код "39", потому как это портит ссылки в QSP.
Неактивен
Вам лишь бы потрепаться
По сути, не совсем понял как у Олегуса идет закрытие тега
Неактивен
Dark[Ol(U23)leneri] написал:
Вам лишь бы потрепаться
По сути, не совсем понял как у Олегуса идет закрытие тега
Блочные теги "закрываются" двойным переводом строки.
Неактивен
Модуль обновлён до версии 1.2:
Неактивен
Olegus t.Gl. написал:
Dark[Ol(U23)leneri] написал:
Вам лишь бы потрепаться
По сути, не совсем понял как у Олегуса идет закрытие тегаБлочные теги "закрываются" двойным переводом строки.
Наглядный пример в студию, как это делается, а то уж интересно стало.
Неактивен
Eten написал:
Olegus t.Gl. написал:
Dark[Ol(U23)leneri] написал:
По сути, не совсем понял как у Олегуса идет закрытие тега
Блочные теги "закрываются" двойным переводом строки.
Наглядный пример в студию, как это делается, а то уж интересно стало.
Можно посмотреть, как работает пример, который идёт в комплекте с модулем.
Но если уж объяснять тут, то текст:
п. Первый абзац. п. Второй абзац.
преобразуется в такой html-код:
<p align=justify>Первый абзац.</p><p align=justify>Второй абзац.</p>
а текст:
п. Первый абзац. Второй абзац.
преобразуется в такой html-код:
<p align=justify>Первый абзац.Второй абзац.</p>
Разница между двумя текстами (и способами их обработки) — в дополнительном переводе строки, между строками.
Неактивен
Olegus t.Gl., не сочти за юмор, но простые случаи, всегда решаются просто. А как быть со сложным форматированием (см. цитату ниже)?
Например текст в цитате ниже является абзацем, в котором встречается жирный текст, курсивный текст, жирный и курсивный текст.
Тот самый текст:
Интерактивная Литература (далее ИЛ) — это русский эквивалент англоязычного понятия Interactive Fiction (IF). В самом широком понимании термина, это — любая разновидность художественных произведений, текст которых не является фиксированным, а способен меняться в зависимости от действий читателя (в «компьютерном» варианте — пользователя). Например, популярные некогда книжки с нелинейным или «ветвящимся» сюжетом — это тоже вариант ИЛ.
Как у тебя будет реализован этот текст из цитаты выше в виде кода?
З.Ы.
Наглядный пример, в котором видна актуальность данного модуля. Если может, флаг в руки, иначе, тогда стоит доработать. И все это не беря в расчет все теги форматирования, а лишь некоторые.
Неактивен
Eten написал:
Olegus t.Gl., не сочти за юмор, но простые случаи, всегда решаются просто. А как быть со сложным форматированием (см. цитату ниже)?
Например текст в цитате ниже является абзацем, в котором встречается жирный текст, курсивный текст, жирный и курсивный текст.
Тот самый текст:Интерактивная Литература (далее ИЛ) — это русский эквивалент англоязычного понятия Interactive Fiction (IF). В самом широком понимании термина, это — любая разновидность художественных произведений, текст которых не является фиксированным, а способен меняться в зависимости от действий читателя (в «компьютерном» варианте — пользователя). Например, популярные некогда книжки с нелинейным или «ветвящимся» сюжетом — это тоже вариант ИЛ.
Как у тебя будет реализован этот текст из цитаты выше в виде кода?
З.Ы.
Наглядный пример, в котором видна актуальность данного модуля. Если может, флаг в руки, иначе, тогда стоит доработать. И все это не беря в расчет все теги форматирования, а лишь некоторые.
Этэн, то, что ты привёл, — это как раз простое форматирование. Сложное — это когда есть вложенные блочные теги (абзацы, цитаты, прижатый к какому-либо краю текст). Вот такое форматирование модуль не поддерживает и его нужно прописывать вручную.
Что до твоего примера, то в Типограф нужно загнать такой текст:
п. **Интерактивная Литература** (далее ИЛ) - это русский эквивалент англоязычного понятия Interactive Fiction (IF). В самом широком понимании термина, это - любая разновидность художественных //произведений, текст которых не является фиксированным//, а способен меняться в зависимости от действий читателя (в "компьютерном" варианте - пользователя).// **Например, популярные некогда книжки с нелинейным или "ветвящимся" сюжетом - это тоже вариант ИЛ.** //
Но тут есть нюанс — между тегами // и ** должен быть пробел, поскольку Типограф спутает их сочетание с тегами комментария (/* … */) и вырежет текст между ними напрочь.
Неактивен
Ладно, видно, что не велосипед. А что-то действительно упрощающее.
Надеюсь, что подобные примеры у тебя включены там в какой-нибудь реадми.
Неактивен
Версия 1.4. Убран баг с распознаванием последовательностей "п.", ">." и т.п. внутри строки как блочных тегов.
Неактивен
В рамках работы над "Адским Движком" добавил функцию "ПустаяСтрока" (да, прямо как в 1С), которая проверяет, является ли строка пустой, снося все переносы строк и пробельные символы.
Также немного доработал расстановку блочных тегов и тегов заголовков.
Всё это будет включено в следующую версию.
Неактивен
В модуль добавлен именной тег (тег имени кое-кого) — "кс.", т.е. красная строка. Делает то же самое, что и "п.", только в начало текста вставляет отступ (вид отступа настраивается командой "Типограф.Отступ").
Неактивен
Выложена версия 1.5:
Неактивен
Выложена версия 1.6:
Неактивен