Ustaw podkatalog jako katalog główny na stronach Github

W tym celu korzystam z Github Pages do hostowania i serwowania statycznej strony internetowej.

Statyczna strona internetowa ma typową strukturę katalogów dla aplikacji:

|_ source
|_ build
   |_index.html
 .gitignore
 config.rb
 Gemfile
 ...
 README.MD

index.html jest pod build/, więc chcę, aby była to domyślna ścieżka www.

Więc gdy użytkownik naciśnie {[4] } renderuje zawartość w tym podkatalogu, a mimo to nie pokazuje"/ build " / na adresie URL, ponieważ jest ustawiony jako folder główny.

Uwagi:

  • nie mam niestandardowej domeny ani nie planuję jej zdobyć w tym celu. Jak widzisz, próbuję wykorzystać domyślną konwencję nazw URL, którą zapewnia github.
  • nie używając Jekyll ani funkcji automatycznego generatora stron.
Author: Oriol, 2016-04-22

3 answers

Jest szczegółowy gist ze wszystkimi wymaganymi krokami.

The gist is here:
https://gist.github.com/cobyism/4730490


Z gist

[[23]}wdrażanie podfolderu do stron GitHub

Czasami chcesz, aby podkatalog w gałęzi master był głównym katalogiem gałęzi gh-pages repozytorium. Jest to przydatne dla rzeczy takich jak strony opracowane z Yeoman, lub jeśli masz stronę Jekyll zawarte w / Align = "left" /

Dla tego przykładu, załóżmy, że podfolder zawierający twoją witrynę nazywa się dist.

Krok 1

Usuń katalog dist z pliku .gitignore projektu(domyślnie ignorowany przez Yeoman).

Krok 2

Upewnij się, że git wie o Twoim podfolderze (podfolderze z Twoją stroną).

git add dist && git commit -m "Initial dist subtree commit"

Krok 3

Użyj subtree push, aby wysłać go do gh-pages oddział na Githubie.

git subtree push --prefix dist origin gh-pages

Bum. Jeśli twój folder nie jest wywołany dist, musisz to zmienić w każdym z powyższych poleceń.


Jeśli robisz to regularnie, możesz również utworzyć skrypt zawierający następujące elementy gdzieś w twojej ścieżce:

#!/bin/sh
if [ -z "$1" ]
then
  echo "Which folder do you want to deploy to GitHub Pages?"
  exit 1
fi
git subtree push --prefix $1 origin gh-pages

Który pozwala na wpisywanie poleceń typu:

git gh-deploy path/to/your/site
 24
Author: CodeWizard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-22 00:30:34

Od sierpnia 2016 możesz używać podfolderu /docs gałęzi master dla swoich źródeł.

Więc jeśli możesz powiedzieć generatorowi witryny, aby użył /docs zamiast /build, to gotowe (bez poddrzewa).

Uwaga: Jak zauważył @thislooksfun w komentarzu, jest to ważne tylko dla stron projektu (jak <username>.github.io/<projectname>), ale nie dla Stron Użytkowników lub organizacji(jak <name>.github.io).

 11
Author: Kpym,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-04 12:51:32

Push-dir zrobi to:

npm install push-direxample
push-dir --dir=build --branch=gh-pages
 -2
Author: RobLoach,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-19 00:42:41