2013-07-24 5 views
11

Mam podstawową stronę jekyll składającą się ze stron (nie postów), ale ponieważ chciałem posortować strony, kiedy je wypisałem, musiałem użyć wtyczki Jekyll-Sort (trochę dziwnych stron sortujących nie jest wbudowanych w jekyll).W jaki sposób mogę przenieść katalog jekyll _site do gałęzi gh-pages i pozostawić źródło w systemie głównym?

Ponieważ korzystam z wtyczki, nie mogę korzystać z automatycznego jekylowania GitHub. Chciałbym przekazać kod źródłowy projektu do gałęzi master i tylko do katalogu _site do gałęzi gh-pages.

nie mogę dowiedzieć się, jak to zrobić - próbowałem dodanie repo git wewnątrz katalogu _site naciskać że do gh-pages ale za każdym razem uruchomić jekyll kasuje że cały katalog i tracę folder .git.

Wszelkie sugestie? Lub sposób na natywne sortowanie?

Odpowiedz

1

Zrobiłem to przez chwilę ze skryptem powłoki.

Rozwiązanie 1.

Tworzenie .gitignore że wyklucza _site/folder. Następnie sprawdź, czy jesteś na kapitanie, a jeśli tak, dodaj wszystkie zmienione pliki i zatwierdz je. Następnie przenieś _site/folder do folderu tymczasowego. Przejdź do gałęzi gh-pages i skopiuj folder tymczasowy. Dodaj wszystkie i zatwierdz. Przepchnij gałąź master gg-master od &.

roztworu 2. skopiuj zawartość _site/folderu do innego repo, który jest dokładnym klonem repo, na którym pracujemy, ale wyrejestrowany na GH-pages branży.Następnie wystarczy wcisnąć oddział główny z repo źródłowego i GH-pages branży od drugiej repo

+2

Obie opcje są tak hacky i nieczyste, że nawet nie spróbuję ich użyć. Musi być lepszy sposób. – mizurnix

+0

Nie jestem pewien, ile zmieniły się strony gh w ciągu ostatnich kilku lat, ale nie mogę sobie wyobrazić, że pozwalają uruchamiać wtyczki na serwerach Github. oznacza to, że będziesz musiał nacisnąć zarówno źródło, jak i wygenerowaną stronę. I bez względu na to, jak to zrobisz, będziesz chciał tego w dwóch oddziałach. Więc tak... – Polygnome

7

mniej bolesne rozwiązanie:

  1. Kasa Twój oddział, gdzie znajduje się Twój build-source (może src, lub master)
  2. (Opcjonalnie: Dodaj _site do swojej .gitconfig, więc to get ignorowane, jeśli jeszcze tego nie zrobiłeś)
  3. Usuń całą zawartość katalogu _site:

    $ rm -r _site/*

  4. sklonować repo gh-pages oddział do katalogu _site:

    $ git clone -b gh-pages `git config remote.origin.url` _site

Czynności końcowe: Po prostu pozwól Jekyll build, czy popełnić & przycisku:

$ jekyll build ,

cd język _site:

$ cd _site,

cel wszystkie pliki za popełnienie:

$ git add -A,

popełniają je:

git commit -am 'Yeah. Built from subdir'

i popchnij witrynę na strony GitHub:

git push.

Powiązane problemy