#Práctica: GitHub API
Descripción
El objetivo es facilitar el uso del repositorio a todo tipo de usuarios, ya estén familizarizados con gitbook y github o no. Para ello haremos
uso de la API de GitHub para poder crearle un repo en la plataforma.
Pasos a ejecutar
1. Instala nuestro paquete de forma global
npm install -g gitbook-start-elt
2. Ejecuta el binario para el render del template
Tienes la opción de crear el repositorio o la opción de no crearlo:
Crear repositorio
Cuando ejecutes el paso anterior si no es la primera vez que lo haces te pedirá el usuario y
contraseña de github.Si introduces los datos correctamente te pedirá que introduzcas el nombre que quieres ponerle al repo,
Ahora se desplegará el libro en github:
Ejemplo de uso:
Una vez que se te creado el repo ya puedes trabajar en él,ya no tendrás que poner más el
usuario y contraseña gracias a que se te generó un token para evitar que cada vez que quieras
crear un repo te pida tus credenciales.
El token que se genera se guarda en el ./gitbook-start/config.json un lugar seguro para que no pueda acceder nadie
que no seas tu.
La siguiente función es la que se utiliza para guardar el token que se obtiene
auth().then(function (resolve, reject) {
fs.mkdirSync(directorioHome + '/.gitbook-start');
var pac = directorioHome + '/.gitbook-start/';
fs.writeFile(pac + 'config.json', JSON.stringify(json), function (err) {
if (err) throw err;
else resolviendo(console.log("guardando el json correctamente.."));
});
});
No Crear repositorio
3. Entra en la carpeta
cd Carpeta
PLUGINS
1. Instala el plugin forma global
npm install -g PLUGIN
2. Ejecuta el plugin que desees, asegúrate de estar dentro de la carpeta
gitbook-start -d PLUGIN
!! También puedes usar la opción --deploy
3. Ejecuta el gulp creado
gulp deploy-plugin
Correción
En el archivo /bin/octonode.js utilizamos la función ghme.info para obtener el email y nombre del usuario
y guardarlo en el pck.json
ghme.info((err, data, headers) => {
pck.email = data.email;
pck.author = data.name;
}
Ejemplo del package.json con el nombre del usuario e email
A continuación se muestra de como quedaría el package.json del usuario una vez obtenido los datos de email
y el nombre del usuario de la función ghme.info() sería el siguiente:
"email": "alu0100785265@ull.edu.es",
"author": "José Lucas"
Explicación
Cunado se ejecuta el gitbook-start -d PLUGIN se te lanzará el initialize del módulo,
el initialize crea una tarea en el gulp para realizar el deploy. Además de guardarte el paquete
elegido en el package.json.
Opciones
gitbook-start [OPTIONS]
--dir nombre_del_directorio a crear gitbook-start --dir miDirectorio
-a autor del libro a crear node gitbook-star -a AutorDelLibro
-e email del autor del libro node gitbook-star -e eric.ramos.suarez@gmail.com
-r repositorio github contra el que se va a trabajar -r nameRepo
-v muestra la version del paquete gitbook-start -v
-h muestra ayuda sobre las opciones disponibles
--repo opción que te permite crear un repositorio en GitHub
Enlaces interesantes
Componentes del grupo de trabajo