Подтвердить что ты не робот

Как запретить GitHub Pages "Автоматический генератор" удалять все, прежде чем регенерировать сайт?

Я создал замечательный сайт GitHub Pages для моего маленького проекта, и я добавил некоторые другие страницы в ветвь gh-pages. Моя проблема заключается в том, что каждый раз, когда я восстанавливаю веб-сайт из "Настройки = > Автоматический генератор страниц", все очищается, и мне приходится вручную восстанавливать файлы.

Есть ли способ предотвратить или обойти это?

Было бы намного лучше, если бы автоматический генератор просто перезаписывал свои вещи без удаления существующих файлов.

4b9b3361

Ответ 1

  • Обратите внимание на ветвь gh-pages.
  • mkdir _layouts
  • переместить index.html в _layouts
  • edit _layouts/index.html замените внутренний html раздела содержимого {{content}}
  • создать новый файл index.md
  • Вставить значение разметки автоматического генератора страниц в index.md
  • добавьте следующее к index.md

    ---
    layout: index
    ---
    
  • create _config.yml
  • включить в _config.yml следующее:

    markdown: kramdown
    kramdown:
       auto_ids: true
    

    этот шаг должен соответствовать синтаксису синтаксиса github

  • добавить и зафиксировать изменения, а затем отбросить назад к github.

Теперь вы можете просто отредактировать index.md из gh-branch в вашем браузере источника github, и он будет обновляться с помощью jekyll автоматически и не испортить ничего в вашей ветки gh.

Вы также можете сделать больше элементов, редактируемых в макете, с помощью держателя места {{page.varname}}, а затем добавив varname:your text в заголовок вашего index.md.

Ответ 2

Ну, после некоторых попыток я нашел решение.

Я заметил, что единственным файлом, измененным для моего сайта, был index.html, остальная часть сгенерированного сайта была такой же. Внутри index.html был тег <section>content</section>, который содержал html, сгенерированный из уценки.

Итак, я создал два файла header.inc и footer.inc, которые содержали "статическую" часть для индексной страницы. Часть содержимого должна быть сгенерирована из файла README.md.

Я обнаружил, что API, предоставленный github, отображает утилизацию RAW в необработанном режиме на html.
Итак, последний кусочек головоломки заключался в том, чтобы получить постоянную ссылку для README.md моего проекта с содержанием RAW; который мне удалось найти здесь.

Итак, я написал этот простой bash script, который восстанавливает только index.html, не касаясь остальной части сайта:

#!/bin/sh
PG_DIR=$(dirname $0)
RAW_README_URL=https://raw.github.com/lviggiano/owner/master/README.md
GITHUB_API_URL=https://api.github.com/markdown/raw

cat $PG_DIR/header.inc
curl -s $RAW_README_URL | curl -s --data-binary @- -H 'Content-Type: text/plain' $GITHUB_API_URL 
cat $PG_DIR/footer.inc

Затем я запускаю script как:

$ cd myproject
$ git checkout gh-pages
$ git pull origin gh-pages:gh-pages
$ ./bin/autogen > index.html
$ git commit -m "updated index.html from latest README.md" index.html
$ git push origin gh-pages:gh-pages

Подробнее см. подробности реализации здесь.

Я тестировал макет "Leap Day"; но я полагаю, что это работает и для других.

Ответ 3

Нет, это невозможно. GitHub стирает репозиторий gh-страниц, когда вы выполняете "генерировать". Лучше всего вы можете сделать то, что вы сейчас делаете. Другой вариант может заключаться в том, чтобы не использовать генератор страниц GitHub для изменения стилей, но чтобы найти источник стилей (они, вероятно, где-то в GitHub) и вручную изменить их, совершив изменения (замените файлы css и другие мелкие настройки)

Ответ 5

Вы можете настроить Jekyll, чтобы пропустить определенные каталоги с опцией exclude.

(Обратите внимание, что Jekyll имеет параметр keep_files - это файлы в каталоге destintation.)