thumb

Ми можемо налаштувати локальну версію нашого Jekyll GitHub Pages веб-сайту для попереднього перегляду нашого веб-сайту, перш ніж публікувати зміни. Але коли я запускаю jekyll serve команду, він видає таке повідомлення про помилку:

GitHub Metadata: No GitHub API authentication could be found. Some fields may be missing or have incorrect data.

Ось рішення цієї проблеми:

Створи персональний токен доступу GitHub з public_repo scope. Ти можеш знайти керівництво тут.

Як виправити попередження про Jekyll + GitHub Metadata

Примітка: Пам’ятай про те щоб тримати ключ в секреті - адже ти ж не хочеш щоб інші люди використовували API від твого імені!

Відкрий ~/.bash_profile файл (ти можеш використовувати твій улюблений текстовий редактор замість nano).

nano ~/.bash_profile

Примітка: Цей файл може мати різні імена і місця розташування в залежності від використовуваних shell і OS. Наприклад: .profile, .bashrc, .zshenv. У MacOS це .bash_profile який розташований в призначеній для користувача домашньої директорії (~/). Ти можеш знайти в Google інформацію про файл в якій ти можеш додати нову змінну оточення саме для твоєї OS.


Потім визначте нову змінну оточення з ім’ям змінної JEKYLL_GITHUB_TOKEN і токен доступу GitHub як значення змінної (яке виглядає як abc123def456). Ти можеш зробити це додавши наступний рядок в кінець файлу:

export JEKYLL_GITHUB_TOKEN='abc123def456'

Примітка: Ізміні abc123def456 на твій токен.


Тепер запустити знову термінал.

Ти можеш перевірити нову змінну оточення з наступною командним рядком, яка повинна відобразити твій GitHub токен.

echo $JEKYLL_GITHUB_TOKEN

На додаток

З міркувань безпеки ти можеш також отримати доступ до GitHub токену використовуючи наступний командний рядок при будівництві або адмініструванні веб-сайту на Jekyll:

JEKYLL_GITHUB_TOKEN=abc123def456 bundle exec jekyll serve

Також ти можеш встановити тимчасову змінну оточення за допомогою наступного командного рядка:

export JEKYLL_GITHUB_TOKEN=abc123def456

Комманда export яка запускається самостійно, а не з .bash_profile файла буде лише тимчасовим налаштуванням і змінна оточення буде існувати тільки до перезавантаження.