Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

typograf

Package Overview
Dependencies
Maintainers
1
Versions
101
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

typograf

The client and server typographer

  • 2.2.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
9K
increased by0.72%
Maintainers
1
Weekly downloads
 
Created
Source

Типограф на JavaScript

NPM version Build Status Coverage Status Dependency Status

Типограф в действии с мобильной версией

Что может типограф:

  • правильно расставлять кавычки и тире;
  • удаляет:
    • «табы» и повторы пробелов;
    • пробелы в начале и конце текста, а также пустые строки;
    • пробелы перед знаками пунктуации, перед знаком %.
  • расстановка абзацев и переносов строк;
  • ставит неразрывный пробел:
    • перед последним словом;
    • после коротких слов;
    • перед частицами: ли, ль, же, ж, бы, б;
    • после знака № и §.
  • заменяет:
    • 10 C на 10 °С и 10 F на 10 °F;
    • 2007г. на 2007 г.;
    • три точки на троеточие;
    • Кв. м (км, дм, см, мм) на м²;
    • Куб. м (км, дм, см, мм) на м³;
    • 12x18 на 12×18;
    • http://example.com на http://example.com;
    • (с) на ©, (r) на ™, +- на ±;
    • и пр.
  • висячая пунктуация.

Черты:

  • гибкость и расширяемость;
  • кроссбраузерность;
  • мультиязычность;
  • utf-8;
  • поддержка Node.js;
  • TDD.

Использование

В браузере

bower install typograf
<script src="dist/typograf.min.js"></script>
<script>
    var tp = new Typograf({lang: 'ru'});
    alert(tp.execute('     Мир - мой мир!      '));
</script>

Node.js

npm install typograf
var Typograf = require('typograf'),
    tp = new Typograf({lang: 'ru'});

console.log(tp.execute(' Мир - мой мир!!   '));

Командная строка

npm install typograf -g

typograf - вывод справки

typograf my_file.txt - оттипографировать текст по русским правилам

typograf -l en my_file.txt - оттипографировать файл по английским правилам

typograf -d ru/quot -e ru/optaling/* my_file.txt > new_my_file - оттипографировать файл с отключенным правилом ru/quot и включенными правилами ru/optaling/*

Висячая пунктуация

По умолчанию висячая пунктуация отключена.

Для включения необходимо подключить правила:

var Typograf = require('typograf'),
    tp = new Typograf({lang: 'ru'});

tp.enable('ru/optalign/*');
console.log(tp.execute('"Мир"'));

А также в HTML-код страницы добавить:

<link rel="stylesheet" href="dist/typograf.css" type="text/css" />

Включить/отключить правило

var tp = new Typograf({lang: 'ru'});
tp.disable('ru/space/afterNum'); // Отключить правило
//...
tp.enable('ru/space/afterNum'); // Включить правило

Добавить правило

Typograf.rule({
    // Заголовок
    title: 'Пример правила',
    // язык/группа/правило
    name: 'common/other/parampampam', 
    // Очередность выполнения правил, чем меньше индекс, тем раньше выполнится правило
    sortIndex: 2000,
    // Функция обработки правила
    func: function(text) {
        return text.replace(/parampampam/g, 'tryam');
    }
});

Режим работы

// Режим по умолчанию, HTML-сущности, как utf-8 символы
var tp = new Typograf({lang: 'ru'});
tp.execute('...'); // …

// HTML-сущности, как имена
var tpName = new Typograf({lang: 'ru', mode: 'name'});
tpName.execute('...'); // &hellip;

// HTML-сущности, как цифры
var tpDigit = new Typograf({lang: 'ru', mode: 'digit'});
tpDigit.execute('...'); //&#8230;

Лицензия

MIT License

Ссылки

Keywords

FAQs

Package last updated on 13 Dec 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc