Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vasily257/resume
The single-page resume with preloader, scroll indicator and small animation.
https://github.com/vasily257/resume
gulp javascript pugjs scss
Last synced: about 2 months ago
JSON representation
The single-page resume with preloader, scroll indicator and small animation.
- Host: GitHub
- URL: https://github.com/vasily257/resume
- Owner: Vasily257
- Created: 2023-08-22T04:50:58.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-21T05:12:23.000Z (9 months ago)
- Last Synced: 2024-10-18T01:36:08.806Z (2 months ago)
- Topics: gulp, javascript, pugjs, scss
- Language: JavaScript
- Homepage: https://v1364358.hosted-by-vdsina.ru/resume/
- Size: 3.67 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README-RU.md
Awesome Lists containing this project
README
# Resume
Этот проект — тестовое задание для вакансии «HTML-верстальщик» компании [9 линий](https://ninelines.agency/).## Функциональность
Проект является одностраничным сайтом-резюме с отзывчивой версткой, построенной на flexbox и grid layout.
На сайте есть прелоадер, индикатор скролла и анимация «Появление со смещением» (`fade`).## Особенности
У проекта есть несколько особенностей:
1. Изменен порядок разделов в меню, чтобы он соответствовал контенту на сайте.
2. Контент сайта отличается от макета, так как использована личная информация, но по возможности соблюдается Perfect Pixel.
3. В мобильном макете у заголовка «Навыки» высота 22px, но на сайте используется 20px, как у других заголовков.
4. В десктопном макете изображение жонглера заходит за пределы колонки сетки, поэтому оно уменьшено до границ колонки.
5. На сайте нет верхней и нижней волн, так как они сильно искажаются на промежуточных разрешениях экрана.
6. Анимация `fade` добавлена для всех блоков сайта, чтобы сделать его более динамичным.
7. Прелоадер движется, учитывая скорость загрузки изображений. То есть он зависит не от количества загруженных изображений,
а от количества загруженных байт. При этом скорость загрузки других ресурсов — например, `vendor.js` — не учитывается.
8. Индикатор скролла меняет не только значение в процентах, но и цвет своей границы.
9. Предыдущий запуск прелоадера и анимации отслеживается с помощью локального хранилища. В качестве альтернативы можно использовать
значение `max-age` в заголовке `Cache-Control` или статус `304`, но при условии, что на сервере настроен этот функционал.
10. На сайте добавлен динамический шеринг с помощью библиотеки `html2canvas`. Для шеринга используется скрытый компонент `share`.
11. Gulp-сборка некорректно обрабатывает svg-иконки с радиальными градиентами, поэтому такие иконки включены в png-спрайт.
12. Плагин `autoprefixer` выдает предупреждение, что в IE не работает значение `auto-fit` для `grid-template-columns`.
Но IE сейчас не поддерживается, поэтому предупреждения игнорируются. В качестве альтернативы можно использовать медиа-выражения.
13. В Gulp-сборке активно используется JQuery, но функциональность сайта написана в основном на нативном JS.## Технологический стек
`Pug`, `SCSS`, `JS`, `Gulp`, `Webpack`## Ссылки
Макет/Техническое задание: https://www.figma.com/file/ct6rzbxMtNxSYp4eTXEWv6/Frontend-test?type=design&node-id=0-1&mode=design&t=i9sNcEw7V0NMRwUE-0## Использование
Чтобы склонировать проект, надо открыть нужную директорию и использовать команды:
**HTTPS**: `git clone https://github.com/Vasily257/resume.git`
**SSH**: `git clone [email protected]:Vasily257/resume.git`Чтобы запустить проект, нужно открыть папку с проектом через терминал и использовать команду `npm run start`.
Но перед этим надо установить Gulp CLI, если у вас его нет: `npm install --global gulp-cli`.## Статус
Проект завершен, нет планов по доработке.