web-dev-qa-db-fra.com

Définir le sous-répertoire comme racine de site Web sur les pages Github

J'utilise Github Pages pour héberger et servir un site Web statique.

Le site Web statique a la structure de répertoire typique d'une application:

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

index.html est sousbuild/, donc je veux en faire le chemin par défaut www.

Ainsi, lorsque les utilisateurs cliquent sur username.github.io il rend le contenu dans ce sous-répertoire et pourtant il n'affiche pas "/ build"/sur l'URL, car il est défini comme dossier racine.

Remarques:

  • Je n'ai pas de domaine personnalisé ni ne prévois d'en obtenir un à cet effet. Comme vous pouvez le voir, j'essaie de tirer parti de la convention de dénomination d'URL par défaut fournie par github.
  • Ne pas utiliser Jekyll ni la fonction de générateur de page automatique.
44
Oriol

Il y a un Gist détaillé avec toutes les étapes requises.

The Gist est là:
https://Gist.github.com/cobyism/473049


De l'essentiel

Déployer un sous-dossier sur les pages GitHub

Parfois, vous voulez qu'un sous-répertoire sur la branche master soit le répertoire racine de la branche gh-pages D'un référentiel. C'est utile pour des choses comme les sites développés avec Yeoman , ou si vous avez un site Jekyll contenu dans la branche master à côté du reste de votre code.

Pour cet exemple, supposons que le sous-dossier contenant votre site s'appelle dist.

Étape 1

Supprimez le répertoire dist du fichier .gitignore Du projet (il est ignoré par défaut par Yeoman).

Étape 2

Assurez-vous que git connaît votre sous-arbre (le sous-dossier de votre site).

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

Étape 3

Utilisez la sous-arborescence Push pour l'envoyer à la branche gh-pages Sur GitHub.

git subtree Push --prefix dist Origin gh-pages

Boom. Si votre dossier ne s'appelle pas dist, vous devrez le modifier dans chacune des commandes ci-dessus.


Si vous le faites régulièrement, vous pouvez également créer un script contenant les éléments suivants quelque part sur votre chemin:

#!/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

Ce qui vous permet de taper des commandes comme:

git gh-deploy path/to/your/site
35
CodeWizard

Depuis août 2016 vous pouvez utiliser /docs sous-dossier de la branche master pour vos sources.

Donc, si vous pouvez dire à votre générateur de site d'utiliser /docs au lieu de /build vous avez terminé (sans sous-arbre).

Remarque: Comme indiqué par @thislooksfun dans le commentaire, cela n'est valable que pour les pages de projet (comme <username>.github.io/<projectname>), mais pas pour les pages utilisateur ou organisation (comme <name>.github.io).

19
Kpym