# MacronuX Labs — как добавлять проекты

Каталог статический: новые записи добавляются в `site/data/projects.js`, после чего папка `site/` публикуется заново на Cloudflare Pages.

## Добавить проект

1. Откройте `site/data/projects.js`.
2. Добавьте запись в массив `projects`.
3. Если нужен логотип, положите файл в `site/assets/projects/` и укажите путь от папки `site/`, например `assets/projects/voidline.png`.
4. Запустите проверку и откройте сайт локально.

Минимальная запись:

```js
{
  id: 'my-project',
  category: 'discord-bot',
  title: {
    ru: 'Мой проект',
    en: 'My project',
  },
  description: {
    ru: 'Короткое описание проекта.',
    en: 'A short project description.',
  },
  logo: 'assets/projects/my-project.png',
  metric: {
    value: '1.2K',
    label: {
      ru: 'пользователей',
      en: 'users',
    },
  },
  tags: ['Discord', 'Bot'],
  links: [
    { type: 'discord', label: 'Discord', url: 'https://discord.com/invite/your-link' },
  ],
  featured: false,
}
```

Доступные категории:

- `minecraft-mod`
- `minecraft-plugin`
- `discord-bot`
- `telegram-bot`
- `youtube`
- `tiktok`

Доступные `type` ссылок не ограничены: можно использовать `modrinth`, `youtube`, `telegram`, `discord`, `tiktok`, `github` или собственную подпись. Для безопасности каталог принимает только ссылки `http` и `https`.

Поле `logo` можно оставить пустым. Тогда карточка покажет первую букву названия проекта.

## Проверить локально

Из корня проекта:

```powershell
node --test tests/app-core.test.mjs
py -m http.server 4173 --directory site
```

Откройте `http://localhost:4173/` и проверьте язык, поиск, категории, пустой результат, сброс фильтров и ссылки.

## Опубликовать в Cloudflare Pages

Установите и авторизуйте Wrangler в окружении, где его ещё нет. Затем из корня проекта выполните:

```powershell
npx wrangler pages project create
npx wrangler pages deploy site --project-name=labs-macronux
```

Во время создания укажите имя проекта `labs-macronux`. Если проект уже создан, выполняйте только `npx wrangler pages deploy site --project-name=labs-macronux`.

После первой публикации добавьте custom domain `labs.macronux.com` в Cloudflare Pages или в панели DNS аккаунта, которому принадлежит домен `macronux.com`.
