summarum/README.ru.md

7.3 KiB
Raw Blame History

Summarum

English

Калькулятор, который работает как блокнот. Пишешь что думаешь — каждая строка сразу даёт ответ в правой колонке. Никаких кнопок, никакого синтаксиса формул, просто текст.

# Поездка в Лиссабон
билеты $420
отель $95 * 4 ночи
еда 30€ в день * 4 дня и музеи 25€
итого                          → $1,066.97

5 дюймов в см                  → 12.7 cm
100 км/ч в миль/ч              → 62.14 mph
$2000 в рублях                 → 144,060 ₽
скидка 20% от 1500             → 1,200
сегодня + 6 недель             → 22 Июля 2026
время в Токио                  → 14:25

Работает на английском и русском одновременно: 5 метров в см, 20$ в евро, сумма — переключать язык не нужно.

Установка

Скачай последний Summarum_*_x64-setup.exe из Releases, запусти — готово. Весь установщик около 2 МБ.

Требования:

  • Windows 10 (1803+) или Windows 11, 64-бит.
  • WebView2 Runtime — уже встроен в Windows 11 и большинство обновлённых Windows 10; если отсутствует, установщик скачает его автоматически.
  • Интернет нужен только для живых курсов валют — всё остальное работает офлайн (курсы берутся из кэша или встроенного снимка).

Что понимает

Обычная математика — 2 + 2, 8 / (45 - 20%), скобки, ^, sqrt, sin, факториалы. Точная десятичная арифметика: 0.1 + 0.2 это 0.3, а не 0.30000000000000004.

Слова как операторы — 12 плюс 4, 20 делить на 4, 5 и 3. Текст вокруг математики игнорируется: потратил 20 на пиццу и 5 на кофе даст 25.

Единицы — длина, масса, объём, площадь, температура, время, углы, данные (1 ГиБ в МБ), CSS px/em, скорость, давление, энергия, мощность, частота, расход топлива:

6 футов в метрах       1 атм в мм рт.ст.    8 л/100км в mpg
2 часа 30 мин в мин    150 л.с. в кВт       32 px в em

Деньги — ~150 валют и топ-20 криптовалют с живыми курсами (обновляются раз в час, кэшируются для офлайна). $100 + 20%, 5 eth в USD, 9800 рублей в долларах.

Проценты по-человечески — 20% от 80, скидка 20% от 1500, 5 это сколько % от 25, 20% от какого числа равно 30.

Даты и время — сегодня + 2 недели, завтра - сегодня, время в Нью-Йорке, сейчас в unix, 1750000000 как дата.

Для программистов — 0xFF & 0x0F, 1 << 4, 255 в hex, в binary, плюс в дроби (0.75 → 3/4) и в roman (2026 → MMXXVI).

Листы с переменными — переменные (аренда = $500), нарастающие итоги (сумма, avg, prev), заголовки #, комментарии //. Строка статуса всегда показывает итог листа; выдели несколько строк — увидишь их сумму.

Удобные мелочи

  • Ctrl+Alt+N (настраивается — поле в настройках записывает нажатые клавиши) показывает/скрывает окно из любого места. Закрытие прячет в трей.
  • Клик по результату копирует его. Копирование строки копирует её вместе с ответом (аренда * 3 = $1,500). Ctrl+Shift+C копирует весь лист с ответами.
  • Потяни разделитель чтобы изменить ширину колонки результатов.
  • Брось файл .numi, .sum, .txt или .md в окно — откроется как лист.
  • Резервные копии автоматические: ежедневный снимок всех листов (хранятся 14 дней), удалённые листы лежат в корзине 14 дней (настраивается) — верни перетащив обратно. Настройки → Backups откроет папку.
  • Папка данных настраивается — укажи OneDrive/Dropbox и листы синхронизируются между машинами.
  • Светлая/тёмная тема, интерфейс en/ru, настраиваемая точность и разделители.

Расширения

Брось .js-файл в папку расширений (Настройки → Extensions folder) и перезапусти. API совместим с расширениями Numi:

numi.setVariable("ндс", { double: 20 });
numi.addUnit({ id: "этаж", phrases: "этаж,этажей", baseUnitId: "meter",
               format: "эт", ratio: 3 });
numi.addFunction({ id: "гипот", phrases: "гипот" },
  (v) => ({ double: Math.hypot(v[0].double, v[1].double) }));

Тогда 5 этажей в метрах → 15 m и гипот(3; 4) → 5.

Баги и идеи

Открой issue. Строка того что написал и что ожидал увидеть — достаточно.

Для разработчиков

Устройство движка, структура проекта и как добавлять единицы/валюты: см. ARCHITECTURE.ru.md.

npm install
npm test               # тесты движка
npm run tauri dev      # запустить приложение
npm run tauri build    # собрать установщик

Для сборки нужны:

Стек: Tauri 2 + TypeScript + CodeMirror 6.

Благодарности

Вдохновлён отличным Numi от Дмитрия Николаева — если ты на macOS, купи его. Summarum — независимый проект, написанный с нуля для Windows.

Лицензия

MIT