Форум » Разговор о сервисах, доменах, скриптах, кодах и пр. » Онлайн-типограф JSTypography » Ответить

Онлайн-типограф JSTypography

-1.#IND0000: &nbsp; &nbsp; Представляю всем свой скрипт типографа. Для тех, кто не знает, что это такое, объясняю: &nbsp; &nbsp; Типографская обработка подразумевает стилизацию текста. Все уважающие себя книжные издания делают такие обработки своих книг. Типографский вид подразумевает замену простых "кавычек" на «ёлочки» и вложенные „лапки“, и замену дефиса на тире в соответствующих местах. Это основное отличие текста, но настоящая типографская обработка включает в себя сотни правил. &nbsp; &nbsp; Пример: &nbsp; &nbsp; Она добавила: "И цвет мой самый любимый - "эсмеральда"". //необработанный вариант &nbsp; &nbsp; Она добавила: «И цвет мой самый любимый — „эсмеральда“». //обработанный вариант &nbsp; &nbsp; Качественная обработка существенно облегчает чтение текста и делает его красивее. Особенно это заметно в диалогах, выражении мыслей персонажей и т.п. &nbsp; &nbsp; Данный скрипт немолод и содержит сотни различных правил обработки текста. На данный момент мой типограф значительно превосходит знаменитый скрипт от Лебедева, и практически не уступает типографу от Eugene Spearance. Скрипт Eugene Spearance создан для обработки html и просто текст выдавать вообще не способен, в обработке же текста JSTypogaphy вне конкуренции. Кстати, в позициях обработки HTML он тоже силён. &nbsp; &nbsp; JSTypogaphy был создан мной специально для ролевой, и скрипт заточен на привязку к формам ввода постов. Большинство типографов находятся на чьих-то сайтах и не распространяются, другие же весьма слабы в обработке. JSTypogaphy лишён этих недостатков - привязать его можно практически на любую форму ввода любого сайта, он способен обрабатывать практически неограниченное количество текста. Он включает в себя разбиение текста на абзацы (добавляет красную строку), частично расставляет пунктуацию, проставляет пробелы после знаков препинания (и не только), и многое другое. Повторюсь: скрипт создавался именно для форумов, и способен привести в читабельный вид даже посты манчкинов. Опробовать способности JSTypogaphy можно здесь: &nbsp; &nbsp; Страница примера &nbsp; &nbsp; Подробнее о возможностях: &nbsp; &nbsp; [more]&nbsp; &nbsp; Возможность установки на любой сайт и привязки к любой форме ввода, к примеру, к форме ввода сообщения на форуме. &nbsp; &nbsp; Неограниченный размер обрабатываемого текста. &nbsp; &nbsp; Замена "Кавычек и "вложенных и даже "дважды вложенных"" кавычек" на «ёлочки», „лапки“ и ‚коготки‘. &nbsp; &nbsp; Расстановка отступов или тегов <p>. Длина отступа равна четырём пробелам. Присутствует механизм для преобразования пробелов в понятный для html вид. &nbsp; &nbsp; Замена дефисов на тире, где надо. &nbsp; &nbsp; Замена дробей на соответствующие символы. &nbsp; &nbsp; Расстановка неразрывных пробелов. &nbsp; &nbsp; Внутри тегов <untypo> текст экранируется от обработки. &nbsp; &nbsp; Простановка отсутствующих на клавиатуре символов с помощью псевдофункций. &nbsp; &nbsp; &nbsp; &nbsp; Функция УДАР(буква) — поставит на букву ударе́ние. &nbsp; &nbsp; &nbsp; &nbsp; Функция СТРЛ(Направление) создаст символ стрелки. Направления: В,Н,П,Л,ЛП,ВН. Так же на стрелки заменяются ->, <-, <-> &nbsp; &nbsp; &nbsp; &nbsp; Функция ГРАД(цифра) для указания градусов. &nbsp; &nbsp; &nbsp; &nbsp; Функция ПАРА(Римская/арабская цифра) для параграфа &nbsp; &nbsp; &nbsp; &nbsp; Функция ЕВРО(цифра) заменится на символа евро. &nbsp; &nbsp; &nbsp; &nbsp; Функция ФУНТ(буква) заменится на символа фунта. &nbsp; &nbsp; &nbsp; &nbsp; Функция ДЮЙМ(буква) заменится на дюйм. &nbsp; &nbsp; &nbsp; &nbsp; Функция КОРН(буква,цифра) подставит корень. &nbsp; &nbsp; &nbsp; &nbsp; Функция ИНТГ(буква,цифра) заменится на интеграл. &nbsp; &nbsp; &nbsp; &nbsp; Функция ГРЕЧ(лат.буква) заменит букву из латинского алфавита на наиболее подходящую букву из греческого алфавита (которые часто используюся в математических формулах). &nbsp; &nbsp; &nbsp; &nbsp; Все вышеописанные псевдофункции кроме СТРЛ и ГРЕЧ работают и без аргументов. В таком случае они заменятся на символ. К примеру, записи ГРАД(45) и 45ГРАД() идентичны и заменятся на 45°. &nbsp; &nbsp; &nbsp; &nbsp; Имена функций в английской обработке: ACNT, ARRW, DEGR, SECT, EURO, PUND, INCH, RADC, INTG, GREK соответственно. &nbsp; &nbsp; Автопростановка пробелов после знаков препинания, где присутствует однозначность. &nbsp; &nbsp; Исправление последовательности из двух или четырёх точек на многоточие. &nbsp; &nbsp; (tm), (r), (c) заменятся на ™, ® и ©. &nbsp; &nbsp; Вывод как в виде готовых символов, так и в виде html-кодов. &nbsp; &nbsp; Поддержка как русских, так и английских правил типографики. &nbsp; &nbsp; Возможность обработки лишь выделенного текста. &nbsp; &nbsp; Операции с числами: &nbsp; &nbsp; &nbsp; &nbsp; 2x2 заменяется на 2×2; &nbsp; &nbsp; &nbsp; &nbsp; 3^2 заменяется на 3²; &nbsp; &nbsp; &nbsp; &nbsp; +/- заменяется на ±; &nbsp; &nbsp; &nbsp; &nbsp; != заменяется на ≠; &nbsp; &nbsp; &nbsp; &nbsp; ~= заменяется на ≈; &nbsp; &nbsp; &nbsp; &nbsp; >=, <= заменяется на ≥, ≤; &nbsp; &nbsp; &nbsp; &nbsp; Некоторые дроби заменяются на соответствующие им символы. &nbsp; &nbsp; Замена ' на апостроф. &nbsp; &nbsp; Исправление пунктуации, простановка дефисов в часто встречающихся ошибках. &nbsp; &nbsp; Привязка сокращений, предлогов и т. п. &nbsp; &nbsp; Удаление повторяющихся слов. &nbsp; &nbsp; Выборка из текста ссылок и почтовых ящиков (только в html). &nbsp; &nbsp; И множество других мелочей. [/more] &nbsp; &nbsp; Инструкция по установке: &nbsp; &nbsp; 1) Загрузите jstypography.js на сайт. &nbsp; &nbsp; 2) В коде сайта: &nbsp; &nbsp; В тег <head> добавьте: &nbsp; &nbsp; [pre]<script type="text/javascript" src="http://your_site/jstypography.js"></script>[/pre] &nbsp; &nbsp; где your_site=ваш сайт. &nbsp; &nbsp; После обрабатываемого поля ввода и кнопки, на которую забинден скрипт (это может быть не только кнопка, и запускаться не только по клику), добавьте: &nbsp; &nbsp; [pre]<script type="text/javascript"> &nbsp; &nbsp; jstypograph ({параметры}) &nbsp; &nbsp; </script>[/pre] &nbsp; &nbsp; Параметры: &nbsp; &nbsp; obj: кнопка, на которой будет «висеть» типограф. В случае нескольких кнопок указывать весь список через запятую в квадратных скобках. &nbsp; &nbsp; tabobj: кнопка, при нажатию которой будет производиться замена отступов на неразрывные пробелы. В случае нескольких кнопок указывать весь список через запятую в квадратных скобках. Обычно это кнопка «Добавить сообщение». Необязательно. &nbsp; &nbsp; bind: событие, по которому будет запускаться типограф. Обычно — "click", т. е. нажатие на кнопку &nbsp; &nbsp; language: язык. "rus" или "eng", третьего не дано. По умолчанию русский. &nbsp; &nbsp; type: тип выводимых символов. "norm" или "html". Обычно выбирают "norm". &nbsp; &nbsp; txts: Список обрабатываемых textarea. В случае нескольких полей указывать весь список через запятую в квадратных скобках. &nbsp; &nbsp; off: список отключаемых функций типографа, опять в квадратных скобках. Отключаемые функции: spaces, tabs, dashs, chars, quotes, functions, nbsp, br. Необязательно. &nbsp; &nbsp; Пример (полная обработка текста для людей): &nbsp; &nbsp; [pre]jstypograph({obj:["button","button2"],bind:"click",language:"rus",type:"norm", txts:["textarea1","bl17~textarea2"],off:["br"]})[/pre] &nbsp; &nbsp; Пример установки на форум Ucoz: &nbsp; &nbsp; 1) Зайдите в Панель Управления→Редактор страниц→Управление дизайном модуля→Форум→Форма добавления сообщения. &nbsp; &nbsp; 2) В начале кода добавьте строчку: &nbsp; &nbsp; [pre]<script type="text/javascript" src="http://your_site/jstypography.js"></script>[/pre] &nbsp; &nbsp; Получить адрес скрипта можно в файловом менеджере. &nbsp; &nbsp; 3) Найдите: &nbsp; &nbsp; [pre]<input style="width:110px;" id="frF17" class="postReset" type="reset" value="Отменить" />[/pre] &nbsp; &nbsp; Сразу после неё добавьте пробел и &nbsp; &nbsp; [pre]<input style="width:110px;" type="button" id="typograf" value="Типографировать"/>[/pre] &nbsp; &nbsp; 4) В конце кода добавьте строчку: &nbsp; &nbsp; [pre]<script type="text/javascript">jstypograph ({obj:"typograf", tabobj:"frF16", bind:"click", type:"norm", txts:"message", off:"br"}) </script>[/pre] &nbsp; &nbsp; Ссылки на скачивание: &nbsp; &nbsp; Страница примера. &nbsp; &nbsp; JSTypography.js (всегда последняя версия). &nbsp; &nbsp; JSTypography.js source (для изменения кода).

Ответов - 9

-1.#IND0000: Черт... В предосмотре &nbsp; заменяются на неразрывные пробелы, а в самом посте, оказывается, нет. Администратор, вы не могли бы удалить тему, чтобы я мог её создать нормально? А то я не регистрировался

Solo: -1.#IND0000 пишет: В предосмотре &nbsp; заменяются на неразрывные пробелы, а в самом посте, оказывается, нет. Это не самое страшное, кто захочет, тот поймёт. -1.#IND0000 пишет: Типографский вид подразумевает замену простых "кавычек" на «ёлочки» и вложенные „лапки“, и замену дефиса на тире в соответствующих местах. Это подходит не для каждого хостинга. Например, на нашем хостинге кавычки-"ёлочки" некорректно отображаются и их наоборот, приходится удалять. То же самое и про "тире". Его всё равно приходится заменять на дефис. Хотя "народ.ру", например, поддерживает и то и другое.

-1.#IND0000: Solo пишет: Например, на нашем хостинге кавычки-"ёлочки" некорректно отображаются и их наоборот, приходится удалять. То же самое и про "тире". Его всё равно приходится заменять на дефис. Хм... Ну, это исключительный случай. Не знаю, что это за хостинг такой... При желании, в типографе это отключается. Останется расстановка пунктуации, пробелов и другие полезные функции. На Юкозе поддерживаются все возможности.


Митинг: По-моему, совершенно ненужная фишка. И так везде и всюду куча лишних прибамбасов, а тут ещё это( Чем проще - тем лучше.

-1.#IND0000:     Митинг, ну, типограф — это не сто рублей, чтобы всем нравиться. Но типограф делает текст более читабельным. Его становится проще читать. Следуя вашей логике, от типографа становится лучше. Конечно, при взгляде на кучу опций на странице-примере, может показаться, что разбираться с ним сложно, но это не так. Страница-пример предназначена для демонстрации типографа во всей красе, для рядовых пользователей форума вникать в эти опции не надо.     У нас на форуме всё просто: кнопка «Типограф» рядом с «Отправить», никаких других опций. Юзер нажимает типограф, смотрит, хорошо ли получилось, и нажимает отправить. Сложно было мне его писать, сложно, возможно, установить в первый раз, а пользователю просто, ему не нужно ничего, кроме как нажать на кнопку и полюбоваться видом. Если упростить ещё больше, типограф можно установить прямо на кнопку «Отправить», и сообщение будет типографиться прямо при отправке.

Митинг: Есть такая вещь, как "американский абзац". То бишь, лишний пропуск. Им пользуется большинство грамотных пользователей. чтобы отделить один абзац от другого. Я не говорю, что то, что вы предлагаете, это плохо. Но все-таки это сложно, надо устанавливать и всё такое. -1.#IND0000 пишет: Не знаю, что это за хостинг такой... Кстати, многие хостинги некорректно отображают всякие кавычки-елочки. Скорее, таких хостингов, которые корректно отображают, не так уж много, просто вам повезло. Во всяком случае, в html-коде эти елочки приходится заменять на обычные парные кавычки, а тире - на дефис. Или прописывать их как спец символы. Поясню: я говорю не о сервисах форумов и пр, а про самодельные сайты, которые человек сам заливает на хостинги, покупая там пространство и пр. Форумы же и без типографов прекрасно понимают любые кавычки, которые вы перенесёте из текстового редактора.

Мэгги: Тем пользователям, которые сами не разбираются в скриптах, я бы советовала не ставить НИКАКИХ сторонних скриптов. Если уж так хочется, или так нужно - есть специальные ресурсы, посвящённые яваскриптам, которые администрируют грамотные люди. Там можно найти то, что необходимо, и при необходимости задать все интересующие вопросы. Всё дело в том, что в любой скрипт можно вставить всё, что угодно его создателю, в том числе и фрагменты, при помощи которых взламываются форумы. Непосвящённый этого просто не увидит. Я не имею в виду автора этой темы, просто предупреждаю.

-1.#IND0000:     Через джаваскрипт взлом невозможен. Через php да, но не джаваскрипт. Джаваскрипт выполняется на клиентской, а не серверной стороне (максимум, что там воровать — это куки), и браузеры все потенциально опасные вещи, такие, как отправку информации чёрт знает куда, блокируют с предупреждением. Если у вас не интернет эксплорер 6, конечно :) .     Максимум, что можно сделать в джаваскрипте — подлянку, при которой в определённую, к примеру, дату сайт кривится. Но это — очень редкий случай, когда скрипт пишут школьники, возомнившие себя хакерами, и о нём можно не беспокоиться.     Кстати, многие хостинги некорректно отображают всякие кавычки-елочки. Скорее, таких хостингов, которые корректно отображают, не так уж много, просто вам повезло. Во всяком случае, в html-коде эти елочки приходится заменять на обычные парные кавычки, а тире - на дефис.     И всё равно я в шоке. Тем более, что дефис и тире в хтмл можно писать в открытом виде, и всё нормально отображается во всех браузерах. Даже проблем с кодировкой быть не должно — дефис и все виды кавычек содержатся и в русской ASCII. Разве что хостинги считают их за английские символы и переводят в UTF8, но такое обычно решается выставлением UTF8 изначально.     Есть такая вещь, как "американский абзац". То бишь, лишний пропуск. Им пользуется большинство грамотных пользователей. чтобы отделить один абзац от другого. Я не говорю, что то, что вы предлагаете, это плохо. Но все-таки это сложно, надо устанавливать и всё такое.     Я не против небольшого разрыва между абзацами, но «американский абзац» сильно коверкает диалоги. В русской литературе абзацы всегда отделялись красной строкой.     А что касается установки — не так уж она и сложна :( . И, она требуется лишь один раз.

Solo: -1.#IND0000 пишет: И всё равно я в шоке. Ничего такого особенного. Мы за 4 года побывали на двух разных хостингах. Не обоих кавычки и тире отображались некорректно. -1.#IND0000 пишет: «американский абзац» сильно коверкает диалоги. Дело привычки, не более. На нашей игрушке Wild West все игровые посты и в том числе диалоги, пишутся "американскими абзацами". Никому это не мешает.



полная версия страницы