83 votes

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

J'utilise Github Pages d'accueil et service un site web statique.

Le site statique est la typique structure de répertoire pour une application:

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

index.html sousbuild/, je tiens donc à faire que la valeur par défaut www chemin.

Ainsi, lorsque des utilisateurs frappé username.github.io il rend le contenu à l'intérieur de ce sous-répertoire et pourtant il n'a pas d'afficher "/build"/ dans l'URL, parce que c'est ensemble que le dossier racine.

Notes:

  • Je n'ai pas de domaine personnalisé, ni de planification pour en obtenir un pour ce but. Comme vous pouvez le voir, je suis d'essayer d'utiliser l'URL par défaut convention de nommage github fournit.
  • Ne pas utiliser Jekyll , ni la page automatique du générateur de fonction.

70voto

jsexpert Points 704

Il est un détail essentiel à toutes les étapes requises.

L'essentiel est ici:
https://gist.github.com/cobyism/4730490


De l'essentiel

Le déploiement d'un sous-dossier pour GitHub Pages

Parfois, vous voulez avoir un sous-répertoire sur l' master de la branche est le répertoire racine d'un référentiel de l' gh-pages de la branche. Ceci est utile pour des choses comme les sites développés avec Yeoman, ou si vous avez un Jekyll site contenues dans l' master succursale même temps que le reste de votre code.

Pour les besoins de cet exemple, imaginons le sous-dossier contenant votre site est nommé dist.

Étape 1

Supprimer l' dist le répertoire du projet .gitignore le fichier (il est ignoré par défaut par Yeoman).

Étape 2

Assurez-vous que git sait au sujet de votre sous-arbre (le sous-dossier avec votre site).

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

Étape 3

L'utilisation de la sous-arborescence pousser à envoyer à l' gh-pages branche sur GitHub.

git subtree push --prefix dist origin gh-pages

Boom. Si votre dossier n'est pas appelé dist, alors vous aurez besoin de changer cela dans chacune des commandes ci-dessus.


Si vous faites cela sur une base régulière, vous pouvez également créer un script contenant les éléments suivants, quelque part dans 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

Qui vous permet de taper des commandes comme:

git gh-deploy path/to/your/site

30voto

Kpym Points 1447

Depuis le mois d'août 2016 vous pouvez utiliser /docs sous-dossier de l' master direction de vos sources.

Donc, si vous pouvez dire à votre site générateur de /docs à la place de /build vous êtes fait (sans descendance).

Remarque: Comme l'a souligné @thislooksfun dans le commentaire, c'est valable uniquement pour les pages du projet (comme <username>.github.io/<projectname>), mais pas pour l'utilisateur ou de l'organisation des pages (comme <name>.github.io).

-2voto

Rob Loach Points 46

push-dir le fera:

 npm install push-direxample
push-dir --dir=build --branch=gh-pages
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X