examples - Establecer subdirectorio como raíz del sitio web en Github Pages
pagina github (3)
Hay una esencia detallada con todos los pasos requeridos.
La esencia está aquí:
https://gist.github.com/cobyism/4730490
De la esencia
Implementación de una subcarpeta en GitHub Pages
A veces desea que un subdirectorio en la rama
master
sea el directorio raíz de la rama degh-pages
de un repositorio. Esto es útil para cosas como sitios desarrollados con Yeoman , o si tiene un sitio Jekyll contenido en la ramamaster
junto con el resto de su código.Por el bien de este ejemplo, simulemos que la subcarpeta que contiene su sitio se llama
dist
.Paso 1
Elimine el directorio
dist
del archivo.gitignore
del proyecto (.gitignore
lo ignora por defecto).Paso 2
Asegúrese de que git sepa sobre su subárbol (la subcarpeta de su sitio).
git add dist && git commit -m "Initial dist subtree commit"
Paso 3
Use subproceso push para enviarlo a la rama
gh-pages
en GitHub.
git subtree push --prefix dist origin gh-pages
Auge. Si su carpeta no se llama
dist
, entonces deberá cambiar eso en cada uno de los comandos anteriores.
Si hace esto regularmente, también puede crear un script que contenga lo siguiente en algún lugar de su ruta:
#!/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
Lo que te permite escribir comandos como:
git gh-deploy path/to/your/site
Estoy usando Github Pages para alojar y servir un sitio web estático.
El sitio web estático tiene la estructura de directorio típica para una aplicación:
|_ source
|_ build
|_index.html
.gitignore
config.rb
Gemfile
...
README.MD
index.html
está en build/
, así que quiero que sea la ruta www
predeterminada.
Entonces, cuando los usuarios presionan username.github.io
, procesa el contenido dentro de ese subdirectorio y, sin embargo, no muestra "/ build" / en la URL, porque eso está establecido como la carpeta raíz.
Notas:
- No tengo un dominio personalizado ni estoy planeando obtener uno para este propósito. Como puede ver, estoy tratando de aprovechar la convención de nombres de URL predeterminada que proporciona github.
- No usa Jekyll ni la función de generador automático de páginas.
push-dir lo hará:
npm install push-direxample
push-dir --dir=build --branch=gh-pages
Desde agosto de 2016 , puede usar la subcarpeta /docs
de la rama master
para sus fuentes.
Entonces, si puede decirle al generador de su sitio que use /docs
en lugar de /build
, habrá terminado (sin subárbol).
Nota: Tal como lo señala @thislooksfun en el comentario, esto es válido solo para páginas de proyectos (como <username>.github.io/<projectname>
), pero no para páginas de usuario u organización (como <name>.github.io
).