jueves, 3 de abril de 2014

Comunidades FrontEnd de habla hispana??


Hola amigos,  heme aquí cumpliendo mi promesa anterior, éste post es una pequeña recopilación de algunas de las comunidades de desarrollo FrontEnd de habla hispana.




Enlace: html5facil.com 
Temáticas: HTML5, CSS3, JavaScript, etc...
Alexa Ranking: 128,301
Temáticas: Node.JS
Alexa Ranking: 826,615


Temáticas: HTML5
Alexa Ranking: 1,820,314


Enlace: yuiblog.es
Temáticas: YUI
Alexa Ranking: 18,248,314

Comunidad WEB
Temáticas: HTML5, CSS3, JAVASCRIPT, JQuery, NODE.JS, RESPONSIVE DESIGN
Miembros: 17.606
Aprendiendo y Mejorando HTML5, CSS3, MongoDb, etc

Temáticas: HTML5, CSS3, JAVASCRIPT, JQuery, NODE.JS, RESPONSIVE DESIGN
Miembros: 16.090

Desarrollo y Diseño Web y Mobile
Temáticas: HTML5, Mobile
Miembros: 14.000


¿Eres miembro de una comunidad que no está aquí?

¿Conoces que alguna falte en ésta lista?

Por favor, Compártela!!!

Hello World v0.2.0

Hola amigos, después de haber leído el blog de  +Zeno Rocha se ha despertado en mi un apetito por escribir y compartir lo poco que he aprendido y lo que voy aprendiendo con la comunidad FrontEnd de habla hispana. Zeno es un ejemplo a seguir, pero bueno ya le dedicaremos algún post.

Lo importante es que quiero comprometerme a escribir al menos un artículo semanal sobre algún tema que les pueda ser de interés. Así que ahí vamos. Si alguno de ustedes desea compartir algo, siéntase como si éste blog fuera suyo.

Mantente hambriento, mantente alocado.
                                           Steve Jobs

martes, 20 de agosto de 2013

Como contribuir con el desarrollo de un módulo de Node.js usando github.


Se asume que se tienen conocimientos básicos de git, github, node.js, linux.

Tomaremos como ejemplo el módulo yuidoc http://yui.github.io/yuidoc/ el cuál nos permite la generación de documentación automática. Este módulo puede ser instalado mediante npm install -g yuidocjs de esta manera estamos instalando yuidoc de manera global en nuestra PC. En la dirección /usr/local/lib/node_modules podemos ver todos los módulos de Node.js que han sido instalados hasta el momento, y ahora también yuidoc.
También se habrá creado un link simbólico en /usr/local/bin que apunta al fichero definido por el módulo como su ejecutable. Para ver qué fichero es el que se ha definido como ejecutable de un módulo abrimos el fichero package.json que se encuentra en la raíz del módulo y buscamos la sentencia “bin”:  {“yuidoc ” :  ”./lib/cli.js”} en este caso, la misma le indica a npm que debe crear un link simbólico cuyo nombre es “yuidoc ” y que el mismo va a apuntar alm fichero ”./lib/cli.js” .
Buscamos en github el repositorio de desarrollo del módulo, para hacerle fork.





Luego nos clonamos nuestro fork, git clone git@github.com:yui/yuidoc.git en nuestra carpeta local, agregamos un remote del repositorio original para estar sincronizados con las actualizaciones que se le hagan al módulo por parte de sus desarrolladores.

git remote add upstream git://github.com/darielnoel/yuidoc.git
Sincronizamos el módulo con la última versión.
git pull upstream master
El anterior proceso se encuentra muy bien explicado en la siguiente url, http://yuilibrary.com/yui/docs/tutorials/contribute/.
Bueno hasta aqui ya tenemos el módulo, en nuestra PC, sincronizado con los últimos cambios hechos al mismo, y pudiéramos empezar a modificarlo. Una práctica recomendable es crear una nueva rama para cada nueva funcionalidad, y trabajar en ella por ejemplo
git checkout -b funcionalidadX upstream/master
Esto nos da la posibilidad de que si llegamos a un punto en el que queremos ir a la versión original simplemente nos cambiamos a la rama master y listo.
git checkout master
¿Cómo probar que nuestros cambios funcionan realmente como esperamos?
Suponiendo que estemos en la raíz de la carpeta que contiene el módulo que descargamos hacemos
npm install .
para que se instalen localmente las dependencias del módulo. Después de esto vamos a /usr/local/bin y renombramos el link simbólico que aparece allí, en el ejemplo yuidoc.
Luego creamos un link simbólico del fichero descrito en package.json como el bin, “bin”:  {“yuidoc ” :  ”./lib/cli.js”}
ln -s /rutaAlModuloQueClonaste/bin/cli.js usr/local/bin/yuidoc
De esta manera cuando ejecutemos en la consola yuidoc --help se ejecutará el módulo nuestro y no el módulo que se ha instalado globalmente.
Existen otras maneras de lograr lo anteriormente descrito, pero esta es la que probé y me funciona, si alguien quiere compartir otra se lo agradezco de antemano.