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.
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 GitHubCzasami chcesz, aby podkatalog w gałęzi
master
był głównym katalogiem gałęzigh-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
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
).
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
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