← Все шаблоны
Приложениепроверен 4 октября 2026 г.
Тест с общей таблицей лидеров
Приложение с живыми данными: вопросы хранит сайт, каждый записывает свой результат, таблица лидеров одна на всех и обновляется сама. Один файл, без своего сервера.
Промпт
Сделай тест с общей таблицей лидеров: приложение в одном HTML-файле, JavaScript внутри, без сборки и внешних библиотек. Тема: [тема теста]. Вопросы: - [вопрос 1: варианты ответа и какой верный] - [вопрос 2: варианты ответа и какой верный] - [ещё 3-8 вопросов] Данные хранит сайт (раздел «Данные Inki» ниже): 1. Коллекция quiz, режим owner: text, answers (список строк), right (номер верного ответа с нуля), order с индексом, читай по order. 2. Вопросы из запроса положи в файл как запасные, пока quiz пуста. 3. Коллекция scores, режим own: name (до 40 знаков), points с индексом. Поведение: 1. Один вопрос на экране, строка «Вопрос 3 из 10», ответ одним нажатием; на секунду подсвети верный и выбранный ответ, потом следующий вопрос. 2. В конце результат «7 из 10», поле «Ваше имя для таблицы», подпись «Имя увидят все», кнопка «Записать результат». 3. Таблица «Лидеры»: десять лучших по points, строка самого человека помечена «это вы» (поле mine), обновляется сама. 4. Кнопка «Пройти ещё раз». Оформление телевикторины: тёмно-синий фон, ответы крупными плитками четырёх ярких цветов с буквами А Б В Г, прогресс чёрточками, результат огромной жёлтой цифрой. Шрифты Google Fonts: Unbounded для заголовков, Onest для текста. Лидеры справа, первые три места в кружках золото, серебро, бронза. Адаптивно под телефон, видимый фокус. В <title> и meta description: тест по [теме].
Правила Inki, добавляются к промпту при копировании:
## Правила Inki (добавь к результату)
- Внешние скрипты, стили и шрифты только с этих хостов: cdnjs.cloudflare.com, cdn.jsdelivr.net, unpkg.com, esm.sh, fonts.googleapis.com, fonts.gstatic.com, code.jquery.com, cdn.tailwindcss.com, mc.yandex.ru. Остальное Inki вырежет при публикации.
- Встраивать видео только с: www.youtube.com, www.youtube-nocookie.com, vk.com, vkvideo.ru, rutube.ru, kinescope.io.
- Без автоматических переходов, скачиваний и всплывающих окон при открытии.
- Отдай один самодостаточный файл index.html: стили и скрипты внутри, картинки рядом с файлом или по https.
- Обязательны <title> и <meta name="description">: из них Inki делает превью для соцсетей и поиска.
- Размер: index.html до 5 МБ, папка страницы до 50 МБ, один файл до 25 МБ.
## Данные Inki (записи хранит сайт)
- Объяви данные блоком в <head>, иначе запись отклонят:
<script type="application/inki+json">
{ "collections": {
"items": { "mode": "owner", "fields": { "title": "string!", "order": "int! @index" } },
"scores": { "mode": "own", "fields": { "name": { "type": "string", "required": true, "maxLength": 40 }, "tags": "string[]", "points": "int! @index" } }
} }
</script>
- Типы: string, text, int, number, bool, datetime, enum(a|b|c), json; string[] это список, ! в конце обязательное (text!, string[]!). Сортировка и сравнения только по полю с @index или по createdAt.
- Режимы: owner: читают все, пишет владелец сайта; own: читают все, каждый правит своё; open: читают и правят все; private: читает и пишет только автор; append: посетители добавляют, читает владелец.
- Личные данные людей (почта, телефон) только в private, append или owner.
- Подключи <script src="/_inki/sdk.js"></script> и работай из <script type="module">:
const scores = inki.db.collection('scores')
await scores.add({ name, points })
const top = scores.orderBy('points', 'desc').limit(10) // без 'desc' по возрастанию
const { docs } = await top.get() // doc: id, поля, createdAt, mine
const stop = top.onSnapshot(({ docs }) => render(docs)) // живое обновление
await scores.doc(id).update({ points: inki.db.op.increment(1) })
- Ещё: where(field, '==', value), mine(), count(), doc(id).get(), doc(id).set(data) со своим id, doc(id).delete().
- Лимиты: запись до 64 КБ, за запрос до 200 записей.
- Без объекта inki (файл с диска, предпросмотр в чате) покажи примерные данные и строку «Записи заработают после публикации на Inki».
- Отказ это ошибка с полем code (quota, rate_limited, schema, forbidden): покажи человеку понятный текст.
- Введённое посетителями вставляй через textContent, не innerHTML.Как достать артефакт
Claude.ai и Claude Desktop
- Открой артефакт справа от ответа
- Меню артефакта, «Скачать»: получишь файл .html
- Перетащи файл на inki.ru/new и нажми «Опубликовать»
ChatGPT
- Открой результат в Canvas
- Меню Canvas, «Скачать»: файл .html
- Перетащи файл на inki.ru/new и нажми «Опубликовать»
DeepSeek
- Скопируй код из ответа целиком
- На inki.ru/new открой вкладку «Код» и вставь
- Нажми «Опубликовать»
Claude Code
- Попроси сохранить результат в папку с index.html
- В терминале: npx -y inki-cli publish ./папка-со-страницей
- Или скажи агенту «опубликуй на Inki»: подключение на inki.ru/agent
Codex
- Попроси сохранить результат в папку с index.html
- В терминале: npx -y inki-cli publish ./папка-со-страницей
- Или скажи агенту «опубликуй на Inki»: подключение на inki.ru/agent
Cursor
- Сохрани файл агента как index.html в отдельную папку
- В терминале: npx -y inki-cli publish ./папка-со-страницей
- Или скажи агенту «опубликуй на Inki»: подключение на inki.ru/agent
Готовый файл или папку: опубликовать на Inki.
Что получится
Тест, который живёт по одному адресу и помнит результаты всех, кто его прошёл: таблица лидеров общая и обновляется на глазах. Вопросы можно менять в кабинете Inki, в разделе «Данные», не трогая страницу.
Как доработать
Добавь таймер: 20 секунд на вопрос, за быстрый верный ответ больше очков.
После каждого ответа показывай, сколько человек выбрали каждый вариант: веди счётчики в отдельной коллекции с режимом open и inki.db.op.increment.
Сделай вход по почте (inki.auth) и личную историю попыток в коллекции с режимом private.