Об этом проекте

Rezuma — это проект с открытым исходным кодом, представляющий собой клиентский конструктор резюме, предназначенный для обеспечения того, чтобы резюме были не только визуально привлекательными, но и читаемыми машинами для систем отслеживания кандидатов (ATS). В отличие от типичных конструкторов, которые полагаются на визуальные превью, Rezuma фокусируется на фактическом процессе извлечения текста, гарантируя, что экспортированный PDF содержит выбираемый, искомый и извлекаемый векторный текст, а не растрированные изображения. **Ключевые особенности** - **Реальный экспорт PDF**: использует `jsPDF` для рисования документов с встроенными шрифтами, обеспечивая высокую точность и целостность текста. - **Верификация ATS**: включает в себя скрипт `verify:pdf`, который генерирует PDF-файлы и использует `pdf.js` для извлечения текста, утверждая, что вся критическая информация (имена, даты, навыки) сохраняется в процессе, включая сложные скрипты, такие как арабский. - **Живые проверки ATS**: предоставляет обратную связь в реальном времени о возможности разбора дат, разрывах в хронологии, покрытии ключевыми словами и структуре пунктов. - **Поддержка нескольких языков и RTL**: поддерживает английский, французский и арабский. Арабский язык обрабатывается с правильным право-влево формированием и переупорядочиванием в PDF, а не просто зеркально отображается на экране. - **Конфиденциальность в первую очередь**: нет сервера, нет учетных записей, нет аналитики. Все данные хранятся в `localStorage` браузера. PDF-файлы генерируются локально и никогда не загружаются. **Техническая реализация** - **Стек**: Vue 3, TypeScript, Vite, jsPDF, pdf.js. - **Шрифты**: встроенные шрифты TrueType (Source Serif/Sans, Noto Arabic) для обеспечения совместимости с jsPDF, который не может встраивать woff2. - **Движок макета**: пользовательский двухпроходный наборщик (`layout.ts`), который обрабатывает пагинацию и удерживает связанные элементы вместе (например, названия должностей с датами). Он поддерживает четыре макета: Stacked, Side Headings, Timeline и Sidebar. - **Обработка RTL**: реализует логические координаты для кода макета, чтобы беспрепятственно обслуживать как LTR, так и RTL направления. Арабский текст формируется с использованием Presentation Forms-B и нормализуется во время извлечения, чтобы соответствовать ожиданиям парсера. **Развертывание** Rezuma — это статический сайт, который легко развертывается на таких платформах, как Cloudflare Workers, Vercel или Netlify. Он включает в себя конкретные конфигурации для обработки маршрутизации SPA и заголовков кэширования.