Diferencia entre revisiones de «Usuario:Juanda/bootstrap/Themes»
De WikiEducator
< Usuario:Juanda | bootstrap
(→Nuestro tema) |
(→Instalaciones mediante npm) |
||
(9 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 24: | Línea 24: | ||
<source lang="bash"> | <source lang="bash"> | ||
./configure | ./configure | ||
− | + | make | |
sudo make install | sudo make install | ||
</source> | </source> | ||
Línea 39: | Línea 39: | ||
<div class="slide"> | <div class="slide"> | ||
+ | |||
===Bower=== | ===Bower=== | ||
*npm es el gestor de paquetes que utiliza nodejs. | *npm es el gestor de paquetes que utiliza nodejs. | ||
Línea 55: | Línea 56: | ||
root@juandapc:/home/juanda# npm install -g bower | root@juandapc:/home/juanda# npm install -g bower | ||
root@juandapc:/home/juanda# npm install -g grunt-cli | root@juandapc:/home/juanda# npm install -g grunt-cli | ||
− | root@juandapc:/home/juanda# npm install -g | + | root@juandapc:/home/juanda# npm install -g less |
</source> | </source> | ||
Línea 79: | Línea 80: | ||
<div class="slide"> | <div class="slide"> | ||
+ | |||
===ThemeStrap=== | ===ThemeStrap=== | ||
*Vamos a utilizar [https://github.com/divshot/themestrap ThemeStrap] para hacer nuestro theme de Bootstrap | *Vamos a utilizar [https://github.com/divshot/themestrap ThemeStrap] para hacer nuestro theme de Bootstrap | ||
+ | *Es muy poco intrusivo: si Bootstrap cambia, nuestro theme debería actualizarse de forma sencilla. | ||
+ | *Themestrap nos da dos únicos ficheros para modificar: variables.less y theme.less (en el directorio less). El fichero variables.less original no se toca. | ||
+ | |||
*Vamos a clonar una copia de Themestrap para hacer nuestro tema. Yo la voy a llamar bootstrap-theme-daw | *Vamos a clonar una copia de Themestrap para hacer nuestro tema. Yo la voy a llamar bootstrap-theme-daw | ||
<source lang="bash"> | <source lang="bash"> | ||
Línea 92: | Línea 97: | ||
</source> | </source> | ||
+ | *Actualizaremos el fichero bower.json: | ||
+ | <source lang="bash"> | ||
+ | root@juandapc:/home/juanda/bootstrap/bootstrap-theme-daw# cat bower.json | ||
+ | { | ||
+ | "name": "bootstrap-theme-themestrap-sample", | ||
+ | "version": "0.0.1", | ||
+ | "private": true, | ||
+ | "author": "Your Name", | ||
+ | "main": "dist/bootstrap.css", | ||
+ | "themestrap": { | ||
+ | "name": "Themestrap Sample", | ||
+ | "repo": "https://github.com/divshot/themestrap" | ||
+ | }, | ||
+ | "ignore": [ | ||
+ | "**/.*", | ||
+ | "node_modules", | ||
+ | "bower_components", | ||
+ | "test", | ||
+ | "tests" | ||
+ | ], | ||
+ | "dependencies": { | ||
+ | "bootstrap":"3.0.0" | ||
+ | } | ||
+ | } | ||
+ | root@juandapc:/home/juanda/bootstrap/bootstrap-theme-daw# | ||
+ | |||
+ | </source> | ||
+ | |||
+ | *Los campos nombre y autor son los más importantes. | ||
+ | *themestrap/name y themstrap/repo solo son útiles si publicamos nuestro tema en GitHub y lo compartimos con Bower (lo veremos más adelante). | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | + | ===Instalación de módulos=== | |
− | === | + | *Ejecutamos el comando npm install. |
− | * | + | *Se instalaran todas las librerías javascript que están en el fichero package.json. |
− | + | ||
− | * | + | |
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | === | + | ===Configuración de bower=== |
− | * | + | *El fichero bower.json debe quedar similar a lo siguiente: |
− | * | + | <source lang="bash"> |
− | * | + | root@juandapc:/home/juanda/bootstrap/bootstrap-theme-daw# cat bower.json |
+ | { | ||
+ | "name": "bootstrap-theme-themestrap-sample", | ||
+ | "version": "0.0.1", | ||
+ | "private": true, | ||
+ | "author": "Your Name", | ||
+ | "main": "dist/bootstrap.css", | ||
+ | "themestrap": { | ||
+ | "name": "Themestrap Sample", | ||
+ | "repo": "https://github.com/divshot/themestrap" | ||
+ | }, | ||
+ | "ignore": [ | ||
+ | "**/.*", | ||
+ | "node_modules", | ||
+ | "bower_components", | ||
+ | "test", | ||
+ | "tests" | ||
+ | ], | ||
+ | "dependencies": { | ||
+ | "bootstrap":"3.0.0" | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </source> | ||
+ | *Main es el punto donde se va a instalar nuestro paquete | ||
+ | <source lang="bash"> | ||
+ | juanda@juandapc:~/bootstrap/bootstrap-theme-daw$ bower install | ||
+ | </source> | ||
+ | |||
+ | *Una vez instalado bower, tendremos un directorio bower_components con los componentes que nuestro proyecto necesita (en principio boostrap 3.0.0). | ||
+ | *Comprobaremos que también está jQuery. ¿Por qué? Echa un ojo al bower.json del componente Bootstrap: | ||
+ | <source lang="bash"> | ||
+ | { | ||
+ | "name": "bootstrap", | ||
+ | "version": "3.0.0", | ||
+ | "main": ["./dist/js/bootstrap.js", "./dist/css/bootstrap.css"], | ||
+ | "ignore": [ | ||
+ | "**/.*" | ||
+ | ], | ||
+ | "dependencies": { | ||
+ | "jquery": ">= 1.9.0" | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | *¿Se entiende la dinámica? Espero que sí :-) | ||
− | |||
</div> | </div> | ||
+ | <div class="slide"> | ||
+ | ===Grunt=== | ||
+ | *Ya viene configurado para ejecutar ciertas tareas | ||
+ | *Ejecuta grunt para comprobarlo: | ||
+ | <source lang="bash"> | ||
+ | juanda@juandapc:~/bootstrap/bootstrap-theme-daw$ grunt | ||
+ | Running "copy:bootstrap" (copy) task | ||
+ | Copied 5 files | ||
+ | Running "less:compile" (less) task | ||
+ | File dist/css/bootstrap.css created. | ||
− | + | Running "recess:dist" (recess) task | |
− | + | File "dist/css/bootstrap.css" created. | |
− | + | ||
− | + | Running "cssmin:minify" (cssmin) task | |
+ | File dist/css/bootstrap.min.css created. | ||
+ | |||
+ | Running "assemble:pages" (assemble) task | ||
+ | Assembling index.html OK | ||
+ | Assembling examples/kitchen-sink.html OK | ||
+ | >> 2 pages assembled. | ||
+ | |||
+ | Running "clean:0" (clean) task | ||
+ | Cleaning tmp...OK | ||
+ | |||
+ | Done, without errors. | ||
+ | juanda@juandapc:~/bootstrap/bootstrap-theme-daw$ | ||
+ | |||
+ | </source> | ||
+ | *grunt serve es un comando que nos permitirá ver nuestro proyecto en la url: http://localhost:8000. | ||
+ | *Como puedes ver, ejecuta internamente también un grunt watch (vamos, que está controlando posibles cambios para trabajar). | ||
+ | |||
+ | <source lang="bash"> | ||
+ | juanda@juandapc:~/bootstrap/bootstrap-theme-daw$ grunt serve | ||
+ | Running "connect:serve" (connect) task | ||
+ | Started connect web server on localhost:8000. | ||
+ | |||
+ | Running "watch" task | ||
+ | Waiting... | ||
+ | |||
+ | </source> | ||
+ | |||
+ | *Modifica algún dato de los ficheros less para ver el resultado. | ||
+ | |||
+ | {{DGA tarea| | ||
+ | Title=Ejercicio| | ||
+ | Actualiza la versión de Boostrap a la actual para tu proyecto (3.1.1). | ||
+ | }} | ||
+ | </div> | ||
+ | |||
+ | |||
+ | </div> |
Última revisión de 22:16 26 feb 2014