Pull to refresh

Comments 11

Сделайте подгрузку постов с опережением на 3-4 штуки, чтобы скролл не лагал.

А вообще, чем ваш проект лучше существующих статических генераторов типа Hugo / Gastby / Jekyll?

Скрипт скролла специально настроил без опережения чтобы при резкой прокрутке доходить до футера (конца страницы), где стоит счетчик посещений и ссылка на репозиторий, иногда туда смотрю. Собственно, вот весь код скроллинга.

      // infinite scroll
    document.addEventListener('scroll', function() {
      if(!PAGE.lock && (window.pageYOffset + window.innerHeight) > document.getElementById('root').offsetHeight-10){
        addPageContent(ROOTS, SUBJ, MSGS, PAGE);
      }
    });

Фрагмент функции addPageContent

setTimeout(function(){ PAGE.lock = (page.titles.length == 0); }, 1000);

Переменная PAGE.lock блокирует скролл пока не завершится загрузка предыдущего +1 сек.

Насчет Jekyll я написал в статье что он долго компилирует шаблоны после пуша, ждать по 2 часа обновление сайта надоело и я его совсем отключил.

Я как-то закостылил Hugo + rsync + nginx Работало моментально. Но потом перешел на netlify. Да, там сборка секунд 30 идёт (раньше была 4-6 минут. Но не вижу в этом проблем.

По поводу футера. У вас же бесконечный скролл. Футер нужен только с одной целью - показать что долистали до конца. Иначе он бесполезен.

Поясню про скроллинг и футер подробнее - он бесконечный только при медленном интервале прокрутки, при интервале прокрутки <1сек он блокируется флагом PAGE.lock. Это поведение я настроил специально под себя чтобы видеть футер с метрикой в этом случае, иначе он все время ускользает.

По поводу Netlify - это из области nodejs, с которым я не работал, но планировал изучать по основной работе, можно будет попробовать. Спасибо за отклик.

Ну то есть вы выложили свой паттерн, который удобен только вам. Совершенно не подумали про то что у людей разные способности к взаимодействию с интерфейсом и разная скорость восприятия.

По поводу Netlify - причём тут вообще «область nodejs»? Это удобный хостинг статических сайтов. Любых. Хоть произвольных папок.

Насчет Jekyll я написал в статье что он долго компилирует шаблоны после пуша, ждать по 2 часа обновление сайта надоело и я его совсем отключил.

Попробуйте Eleventy (11ty). Простой генератор статических страниц. Высокая скорость сборки шаблонов, помимо прочего - одна из его ключевых фич.

Мне пишут исключительно фанаты nodejs... Спасибо за совет буду изучать ноду.

Да почему вы постоянно про nodejs пишете?

Если тулза написана на nodejs, это вовсе не означает что нода нужна для самих сайтов. Вы же чтобы использовать google chrome не изучаете си++?

Дело не в ноде, а в решении для вашей проблемы (медленной компиляции шаблонов после пуша). Так получилось, что Eleventy превосходит по времени сборки многие другие статические генераторы. И так уж получилось, что большинство популярных статических генераторов написаны на ноде и в целом статическая генерация популярна в среде ноды.

Вы можете также попробовать Hugo. Он так же достаточно популярен и ещё быстрее Eleventy, но он написан на Go. На сайте jamstack.org есть большой список статических генераторов с возможностью фильтрации по языку программирования, таким образом можно найти подходящий инструмент для ваших задач и предпочтений.

Возвращаясь к Eleventy, вам не надо знать ноду, если вам нужно сгенерировать из набора markdown-файлов статический сайт. Более того, вам ни строчки JS для этого не придётся написать, если вы остаётесь в рамках стандартного функционала Eleventy.

Реклама
Реклама
Hidden text

Реклама от вас или от github?

Реклама от Яндекс (РСЯ). Давно зарегистрировался в РСЯ лет 7 назад, хотел разместить рекламу ещё на прежнем сайте, но тогда мне Яндекс отказал, а летом прошлого года обнаружил что аккаунт одобрен, получил скрипт вставки, добавил на сайт. Видимо у Яндекса изменилась политика в отношении маленьких сайтов, с небольшой посещаемостью.

Также давно зарегестрировал в Google Adsense но он ни на старый ни на новый разрешения не даёт. Наверное по политическим соображениям, американская компания все-таки.

Sign up to leave a comment.

Articles