20 ejemplos de helpers para desarrollar themes en ghost

Cuando estamos en el plan desarrollo a veces las documentaciones no están completas, eso sucede cuando por ejemplo el sistema es reciente o tiene un comunidad emergente o muy pequeña, y eso hace que pasen dos cosas la primera es que seamos usuarios avanzados, y podamos ganarnos un puesto de alto nivel entre esa comunidad si logramos captar y desarrollar luego, y la segunda es todo lo contrario, que seamos novatos y eso haga que perdamos la noción y no encontremos cómo hacer las cosas ya que no hay mucho en internet gracias a que es una novedad, Eso me pasó con ghost cuando lo comencé me estaba mudando de php a javascript y se me tornó complicado ya que no había tocado ni node ni mucho menos handlebars, así que me puse a leer y practicar y al fin y al cabo de mucho tiempo logré desarrollar mi propio theme en ghost y agarré camino pero por eso he recopilado ejemplos funcionales de helpers para desarrollar themes en ghost.

Estos ejemplos van desde traer simples post hasta traer cierta cantidad de usuarios, tags, pages, featured-post etc. Es una compilación de los 20 más importantes y básicos, ya que hay muchos que son extremadamente complejos, pero estos son los que necesita un theme básico para quedar bien.

Recomendación importante: verifica en la parte de labs del panel de administración de ghost tener activada la opción de public API

Traer posts (el número de post por defecto es 15)

   {{#get "posts"}}
    {{#foreach posts}}
      //Add html for each post here
    {{/foreach}}
   {{/get}}

Traer todos los posts

   {{#get "posts" limit="all"}}
     {{#foreach posts}}
      //Add html for each post here
     {{/foreach}}
   {{/get}}

Traer posts con información del tag y del autor (los datos de los tag y del autor no están incluídos)

   {{#get "posts" include="tags,author"}}
      {{#foreach posts}}
         //Add html for each post here
      {{/foreach}}
    {{/get}}

Traer cierto número de posts

   {{#get "posts" limit="10"}}
     {{#foreach posts}}
        //Add html for each post here
     {{/foreach}}
   {{/get}}

Traer los posts especiales (featured post)

   {{#get "posts" filter="featured:true"}}
     {{#foreach posts}}
       //Add html for each post here
     {{/foreach}}
   {{/get}}

Traer posts con ciertos tags

   {{#get "posts" filter="tag:sometag"}}
      {{#foreach posts}}
        //Add html for each post here
      {{/foreach}}
   {{/get}}

Traer posts con dos diferentes tags

   {{#get "posts" filter="tag:sometag,tag:othertag"}}
     {{#foreach posts}}
      //Add html for each post here
     {{/foreach}}
   {{/get}}

Traer posts con un tag y un autor en específico

   {{#get "posts" filter="tag:sometag+author:authorname"}}
    {{#foreach posts}}
       //Add html for each post here
    {{/foreach}}
   {{/get}}

Traer posts ordenados por títulos

   {{#get "posts" order="title asc"}}
     {{#foreach posts}}
        //Add html for each post here
     {{/foreach}}
   {{/get}}

Traer posts de la segunda página (si no se especifica el límite trae 15 por defecto o el límite definido en configuraciones)

   {{#get "posts" page="2"}}
     {{#foreach posts}}
      //Add html for each post here
     {{/foreach}}
   {{/get}}

Traer cierta cantidad de posts de la segunda página

   {{#get "posts" page="2" limit="5"}}
     {{#foreach posts}}
      //Add html for each post here
     {{/foreach}}
   {{/get}}

Traer posts por un autor en específico

   {{#get "posts" filter="author:authorname"}}
     {{#foreach posts}}
       //Add html for each post here
     {{/foreach}}
   {{/get}}

Traer páginas

   {{#get "posts" filter="page:true"}}
     {{#foreach posts}}
      //Add html for each page here
     {{/foreach}}
   {{/get}}

Traer todas las páginas

   {{#get "posts" filter="page:true" limit="all"}}
     {{#foreach posts}}
      //Add html for each page here
     {{/foreach}}
   {{/get}}

Traer páginas con tag

   {{#get "posts" filter="page:true+tag:sometag"}}
     {{#foreach posts}}
      //Add html for each page here
     {{/foreach}}
   {{/get}}

Traer cierto número de páginas

   {{#get "posts" filter="page:true" limit="5"}}
     {{#foreach posts}}
      //Add html for each page here
     {{/foreach}}
   {{/get}}

Traer tags

   {{#get "tags"}}
     {{#foreach tags}}
       //Add html for each tag here
     {{/foreach}}
   {{/get}}

Traer todos los tags

   {{#get "tags" limit="all"}}
     {{#foreach tags}}
       //Add html for each tag here
     {{/foreach}}
   {{/get}}

Traer tags con contador de posts

   {{#get "tags" include="count.posts"}}
     {{#foreach tags}}
       //Add html for each tag here
     {{/foreach}}
   {{/get}}

Traer todos los usuario

   {{#get "users" limit="all"}}
     {{#foreach tags}}
       //Add html for each tag here
     {{/foreach}}
   {{/get}}

Traer usuarios con contador de posts

   {{#get "users" include="count.posts"}}
     {{#foreach tags}}
       //Add html for each tag here
     {{/foreach}}
   {{/get}}

sé que eres demasiado inteligente y es obvio por que eres una de las personas que lee mi blog, así que te habrás dado cuenta que todos los helpers tienen su funcionalidad en la primera parte donde dice get así que si te das cuenta casi es lo mismo para todos y hay muchos que se mezclan, si te diste cuenta sabrás que de estos helpers podrás sacar todos los que quieras si quieres más info puedes verla aquí documentación oficial de los themes de ghost y si sabes inglés te recomiendo leer y suscribirte a este blog: ghost for beginners esto ayuda mucho.