- ✓Actively maintained (<30d)
- ✓Documented (README)
- !No standard license detected
- !No description
git clone https://github.com/dhammagift/dg-nodeTools overview
# dg-node
Поиск и ридер текстов Пали-канона (SuttaCentral Bilara + переводы проекта DhammaGift). Node.js (Fastify в проде, Express — старый сервер), самодостаточный — всё, что фронтенд реально запрашивает из `/assets/...` (jQuery, Bootstrap, DataTables, словарь DPD, картинки кнопок, тулзы мультитула), лежит в `public/overrides/`; `siteroot/assets/` (symlink на легаси-репо) остаётся только запасным маунтом для того, чего в `public/overrides/` нет (тяжёлые PDF/аудио, тексты).
Архитектура и правила разработки — см. [CLAUDE.md](CLAUDE.md).
## Установка и запуск
```bash
git pull
npm install
npm run build-search-db # собрать dg.db (SQLite/FTS5) из свежих Bilara-данных
npm start # запустить прод-сервер (dg-fastify.js), порт 3000
```
`build-search-db` нужно перезапускать при изменении исходных текстов/переводов на диске — сервер каждый раз читает только уже собранный `dg.db`, не сканирует диск заново.
Пути к данным (`SC_BILARA`, `DG_OFFLINE`, офлайн-зеркала) определяются автоматически по окружению (Termux / Windows-разработка / Linux-прод).
`unused/dg-light.js`/`unused/dblight.js` (`npm run start:express`) — старый Express+grep
сервер, legacy, в проде не используется (см. CLAUDE.md).
## Проверка после деплоя/обновления
```bash
curl "http://localhost:3000/search?q=kacchapa&scope=dhamma&langs=ru,en"
curl -I "http://localhost:3000/assets/js/datatables/datatables.min.js" # 200 из public/overrides/js/datatables, не из легаси-репо
curl -I "http://localhost:3000/dn22" # ридер по чистому URL
curl -I "http://localhost:3000/dn22:10.5" # сегментная ссылка (скролл к 10.5)
```
Глазами в браузере:
- `/nodejs/res/?q=kacchapa&scope=dhamma` — поиск, DataTables, экспорт.
- `/dn22` — ридер, полный текст.
- Переключатель Pāḷi/Рус (три режима: пали+перевод → только пали → только перевод) — должен реально прятать текст (проверять `getComputedStyle(el).display`), а не только менять CSS-класс.
- `/?q=dn22#12.1` (старый формат) — должен продолжать работать наравне с `/dn22:12.1`.
## Важно при деплое за Apache/PHP
Если публичный dhamma.gift сейчас обслуживается Apache/PHP, а Node — отдельный бэкенд, проксируемый только на `/search`, то новые роуты (`/`, `/dn22`, `/assets/*`, `/api/text/*`) снаружи видны не будут, пока правила проксирования не расширят на эти пути тоже. Легаси-репозиторий (`/c/soft/dg` в деве, соответствующий путь в проде) при этом не трогаем — правим только конфиг проксирования.
## Структура
```
dg-fastify.js — прод-сервер (Fastify + SQLite/FTS5, dg.db): /search, /api/text/:suttaId,
статика (search/, reader/, siteroot/assets/), офлайн-зеркала,
чистые URL (/dn22, /dn22:12.1)
unused/dg-light.js — legacy Express+grep сервер, в проде не используется (см. CLAUDE.md)
unused/dblight.js — билд-скрипт dg-light.js → dg_db_light.json (легаси, не нужен dg.db)
search/ — страница поиска (DataTables); URL остался /nodejs/res/... (см. CLAUDE.md)
reader/ — ридер (reader-template.html + megareader.js)
configs/ — json-конфиги проекта (openapi, reader/*, search/*), см. CLAUDE.md
docs/ — документация не для каждой сессии (SPA-планы, backward compat)
siteroot/ — публикация от корня сайта: assets/ (легаси-ассеты), 4nt/config/login/
memo/read (легаси-тулзы), см. CLAUDE.md
```
What people ask about dg-node
What is dhammagift/dg-node?
+
dhammagift/dg-node is tools for the Claude AI ecosystem with 1 GitHub stars.
How do I install dg-node?
+
You can install dg-node by cloning the repository (https://github.com/dhammagift/dg-node) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is dhammagift/dg-node safe to use?
+
Our security agent has analyzed dhammagift/dg-node and assigned a Trust Score of 52/100 (tier: OK). See the full breakdown of passed checks and flags on this page.
Who maintains dhammagift/dg-node?
+
dhammagift/dg-node is maintained by dhammagift. The last recorded GitHub activity is dated 2026-10-17, with 23 open issues.
Are there alternatives to dg-node?
+
Yes. On ClaudeWave you can browse similar tools at /categories/tools, sorted by popularity or recent activity.
Deploy dg-node to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/dhammagift-dg-node)<a href="https://claudewave.com/repo/dhammagift-dg-node"><img src="https://claudewave.com/api/badge/dhammagift-dg-node" alt="Featured on ClaudeWave: dhammagift/dg-node" width="320" height="64" /></a>More Tools
A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.
An AI skill that provides design intelligence for building professional UI/UX across multiple platforms.
🪨 why use many token when few token do trick. Viral skill + proxy for coding agents that cuts 65% of tokens by talking like a caveman.
The fastest, litest AI Gateway. Rust core with Python SDK. Call 100+ LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and logging [Bedrock, Azure, OpenAI, Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM]
Use Claude Code, Codex, VSCode, Pi, and OpenCode (and 6 other harnesses) for free (1.3B+ free tokens) from your terminal, app, IDE, or phone, and now from the browser with native browser sessions (multi-harness + multi-model) like OpenClaw (voice supported + ToS friendly)
Wrap Antigravity, ChatGPT Codex, Claude Code, Grok Build, Muse Code, Devin as an OpenAI/Gemini/Claude/Codex compatible API service, allowing you to enjoy the free Gemini Series, GPT Series, Grok Series, Claude model through API