CodeHere

En un post anterior, les platiqué de mis eternos problemas para insertar snippets de código en este humilde blog. En aquella ocasión había llegado a la conclusión que Gist era la herramienta perfecta pero la verdad es que tiene un defecto: el código no se ve en el feed.

Así que se me ocurrió que no era necesario para nada escribir el código “a mano” en el post (lo cual apesta) sino que es más fácil subirlo WordPress, adjuntarlo al post y luego usar un plugin para colorear el código. Y aqui les presento éste plugin.

Bueno, lo presento despues del salto.

Continue reading

5 Ideas para hacer temas ágiles en WordPress


Ya sea que desarrolles temas para tu propio uso o para distribuirlos, debes considerar que un sitio no debe permanecer estático durante meses o años.

Al contrario, un sitio tiene que estar siendo optimizado constantemente, ajustado a las necesidades de sus usuarios, midiendo cada vez cambio y viendo qué da mejores resultados.

¿Tu tema es lo suficientemente ágil como para adaptarse fácilmente? Aqui te propongo 5 ideas para ayudarte a que lo sea.

Continue reading

CSML

CSML es una pequeña clase (requiere PHP5) que permite generar tags de HTML, usando selectores de CSS sin salir de sus bloques de código, sin necesidad de hacer complicadas concatenaciones ni aprender sintaxis complicadas.

download-button

Hay una cosa que odio: mezclar bloques de PHP con bloques de HTML. Será que CakePHP me ha mal acostumbrado a tener separadas las vistas de la lógica, pero de verdad me molesta código que se ve así (tomado del tema default de WordPress):

No se a ustedes, pero a mí tanto <? ?> me marea y luego se me hace muy dificil entender donde empieza y donde termina un bloque. Desgraciadamente éste tipo de programación es muy común en el mundo de WordPress, algunos pupulares temas y plugins son verdaderos spaghettis indescifrables, y esto es en cierta manera porque asi es la manera en que WP está escrito.

CakePHP, por otra parte, tiene una solución interesante para este problema (en realidad, creo que es una solución para un problema distinto, pero denme chance) en la forma del HTMLHelper, pero para tags complicados y con muchos atributos, el código se vuelve demasiado y a mi siempre me cuesta recordar el orden de los parametros.

Cuando decidí aventarme a crear temas premium para WP, una solución para éste problema fue una de las principales razones para escribir el Duperrific Theme Engine de donde finalmente extraigo lo que ahora les presento como CSML.

Ejemplo:

Como verás csml::tag() toma un selector como parametro y regresa un tag de HTML, mientras que csml::entag() toma una cadena y la envuelve con el selector designado en el segundo parametro. En el caso de csml::entag() el segundo parametro tambien puede ser un array de selectores, lo que hará que anide los selectores uno dentro de otro, empezando por el último selector del array.

Aunque la forma más facil de utilizar csml, es usando las dos funciones incluídas: t() y en() que son wrappers para csml::tag() y csml::entag() respectivamente y además imprimen el tag.

Un ejemplo más de la vida real:

Apenas estoy empezando en esto de liberar cosas que he hecho, así que espero que les resulte tan útil como a mí me ha resultado. Si la usan me avisan y si encuentran algún bug me dicen o, mejor aún, forkean el proyecto y lo arreglan.

download-button

Duperrific Manifesto – parte I

Como algunos ya saben, estoy a punto de lanzar una tienda de temas premium, cuyo nombre será Duperrific y en un ejercicio de desvergonzada auto-promoción, hoy les quiero platicar por qué mis temas serán distintos a lo que ya existe en el mercado y por qué quizá, querrías comprar uno.

La primera cosa que noté en los temas que se venden como premium en el mercado es al parecer su enfoque es muy estrecho. Pareciera que su único objetivo es verse muy bien y ser muy atractivo para el usuario final o lector del sitio y dejan de lado a los otros roles que intervienen en un sitio web: desarrolladores, diseñadores y editores o colaboradores, dándoles poca o ninguna importancia.

Con esto en mente me puse una serie de reglas o lineamientos que tenía que seguir a la hora de desarrollar mis temas, con la premisa de que no liberaría nada hasta que pudiera satisfacer todas ellas. Este es el Duperrific Manifesto:


  1. La usabilidad es primero, la apariencia viene después. Antes de comenzar hay que tener nuestras prioridades en su lugar.

  2. Ofrecer soluciones completas y en paquete. Mi cliente no tiene porque buscar entre miles de plugins para ver cual satisface sus necesidades, todo lo que necesita viene empaquetado en su descarga.

  3. Ofrecer un verdadero framework de desarrollo. Donde al igual que en todos los frameworks que se respetan: “Convención sobre configuración” es la frase clave.

  4. Escribir código extensible y reutilizable. ¿Por qué repetir código?

  5. Programar Orientado a Objetos. Tanto como WP, que es casi completamente funcional lo permita.

  6. Los temas deben ser absoloutamente flexibles. Los widgets, son una poderosa característica que WordPress trae de fábrica y que aún no se ha aprovechado cual debe ser.

  7. Configurar el sitio debe ser sencillo.  El diseñador no tiene por que editar una línea de código. WP nos permite añadir nuevos paneles de control a la administración del sitio, démosle buen uso.

  8. Crear contenido debe ser simple. Por lo tanto, las funcionalidades avanzadas de nuestros temas deben ser abstraídas. Los editores no tienen por que saber qué es un campo personalizado para meterle una foto a un artículo.


En los próximos post, les contaré de como cumplir estás reglas es mucho más complicado de lo que parece, y quizá les adelante como logramos algunas de ellas.

Los 4 Roles que intervienen en un sitio web

Siguiendo con lo de los premium themes, me pareció que la mejor manera de desarrollar un producto que diera justo en el clavo era estudiando a mi mercado meta, ver sus necesidades y buscar la manera más eficaz de resolverlas.

Estuve meditando mucho al respecto, estudiando las propuestas del mercado y comparándolas con necesidades reales que me he topado en estos 5 años que llevo desarrollando para la web y estas son mis conclusiones.

Continue reading

¿Qué esperamos de un tema premium?

Primero que nada, hay que preguntar ¿Han usado o usarían un tema (para WordPress) de paga? Y de ser así ¿Qué caracterísiticas buscan o buscarían en un tema de este tipo?

Para quien no lo sepa, los temas premium son temas que ofrecen características adicionales a los temas tradicionales que solo modifican la apariencia de nuestro blog.

Los premium, que por lo general son de paga, casi siempre buscan transformar nuestra instalación de WP en mucho más que un simple blog. Los hay para una gran variedad de aplicaciones y en determinados proyectos podrían ser la solución perfecta para el presupuesto apretado.

En mi investigación, he visto que existen basicamente dos corrientes dentro de los temas premium: Primero están los que son súper flexibles y súper genéricos como Thesis o WPRemix que son más un framework para construír tu sitio que una solución lista para usarse. Tambien suelen ser los más caros.

Luego están los temas que son más específicos, como los que hacen los de WooThemes que bien pueden usarse tal cual, poniendo solamente el logo de nuestro cliente (Eso no significa que no puedan modificarse ad nauseam, para muestra vean el showcase de freshnews).

¿Si ustedes fueran a usar un tema de paga para algun proyecto que preferirían? ¿Un theme-framework súper flexible, uno listo-para-usarse o una mezcla entre estos dos conceptos?

Ojala me puedan ayudar contestando en los comentarios. Puede que vengan algunos temas premium marca soska en camino y sus opiniones serán invaluables.

WordPress 2.7

Es bien sabido que hace mucho renuncié a que este fuera un blog de actualidad y generalmente no publico lo que se que toda la blogosfera va a escribir. Pero esta cajita de QuickPress en el nuevo dashboard —que de repente se volvió útil — es irresistible.

WordPress 2.7