1.0.4 • Published 1 year ago

@zkreations/canvas v1.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Canvas Core

Mixins y otros recursos útiles que se utilizan como punto de partida para crear una plantilla de Blogger. Puedes ver un ejemplo básico en: https://github.com/zkreations/canvas

Instalar

npm

npm i @zkreations/canvas -D

Mixins

Una de las grandes ventajas de usar PugJS es que puedes crear mixins, que son bloques de código reutilizables. Canvas cuenta con algunos bloques escritos exclusivamente para facilitar algunas tareas en Blogger:

variables

Crea variables de Blogger, para usarlas dentro de una etiqueta b:skin:

mixin variables(object)

El parámetro del mixin requiere un objeto, los cuales deben contener atributos de variables de Blogger. Por ejemplo

+variables({ 
  "body.background": {
    description: "Background",
    type: "background",
    color: "$(body.background.color)",
    value: "$(color) none repeat scroll top center"
  },
})

El campo value es obligatorio, todos los demás son opcionales. Si el campo type no se especifica se usará por defecto "string". Un ejemplo de variables con los datos mínimos aceptables:

+variables({
  "c.test" : { value: "example"},
  "c.get" : { value: "false"},
})

El código resultante sería:

<Variable name="c.test" description="c.test" type="string" value="example"/>
<Variable name="c.get" description="c.get" type="string" value="false"/>

cdata

Este mixin genera etiquetas html en donde el contenido estará rodeado de etiquetas Character DATA. Estas etiquetas evitan que el lenguaje de Blogger sea interpretado.

mixin cdata(tag="style")

Como único parámetro acepta el nombre de una etiqueta html. Si no se especifica la etiqueta html por defecto será <style>, por ejemplo:

+cdata

El código resultante será:

<style>/*<![CDATA[*/ /*]]>*/</style>

markups

Crea las etiquetas b:defaultmarkups necesarias para configurar inclusiones predeterminadas de Blogger.

mixin markups(object={})

Como único parámetro acepta un objeto de matrices string, las cuales deben corresponder a inclusiones de widgets, por ejemplo:

+markups({
  "AdSense,Blog": [
    "defaultAdUnit",
  ],
})

El código resultante será:

<b:defaultmarkups>
  <b:defaultmarkup type="AdSense,Blog">
    <b:includable id="defaultAdUnit"/>
  </b:defaultmarkup>
</b:defaultmarkups>

markup

Crea el marcado predeterminado para widgets, requiere el mixin +markups como padre para su correcta interpretación en Blogger.

mixin markup(type="Common")

Como único parámetro escribe el nombre de un tipo de widget válido de Blogger, si no se especifica se usará "Common". Si el tipo especificado no es válido o si es un widget de solo lectura, verás un aviso en la consola al compilar.

+markups
  +markup

El código resultante será:

<b:defaultmarkups>
  <b:defaultmarkup type="Common"></b:defaultmarkup>
</b:defaultmarkups>

default-tools

Importa las inclusiones globales de canvas, requiere el mixin +markups como padre para su correcta interpretación en Blogger.

mixin default-tools(tools=defaultTools)

Como único parámetro acepta acepta una matriz de string que contiene el nombre de las inclusiones disponibles. Puedes elegir las que necesites (por defecto se incluyen todas):

[ "ads", "adsense", "attr", "image", "kind", "meta" ]

section

Crea una etiqueta b:section que verifica si contiene widgets, de lo contrario no genera html de la sección en el código fuente.

mixin section(id)

Como único parámetro acepta un identificador único, el cual es obligatorio. Todos los atributos especificados en el mixin también formarán parte del código final:

+section("sidebar")

El código resultante será:

<b:section id="sidebar" cond='data:widgets any (w => w.sectionId == "sidebar")'></b:section>

widget

Crea una etiqueta b:widget que recuerda las veces que ha sido llamado, incrementando su contador en 1 tras cada inclusion.

mixin widget(type="HTML", settings={}, number)

El primer parámetro define el tipo, si no se especifica se creará un widget "HTML". El segundo parámetro es un objeto que crea la configuración predeterminada del widget, el tercer parámetro es un numero que define un valor arbitrario al contador.

+widget("Text", {
  content: "Prueba de contenido"
}, 59)

El código resultante será:

<b:widget id="Text59" type="Text" version="2">
  <b:widget-settings>
    <b:widget-setting name="content">Prueba de contenido</b:widget-setting>
  </b:widget-settings>
</b:widget>

Por defecto el contador de widgets comienza desde el número 1, pero puedes establecer el numero inicial del contador declarando la variable initCall.

- let initCall = 20

Tools

Estas inclusiones son las que se obtienen del mixin default-tools y facilitan algunas tareas en la creación de plantillas, para ello solo debes incluirlas en donde las necesites utilizando la etiqueta b:include.

@:ads

Genera código de adsense que siempre es responsive, para ello se ignorará cualquier configuración del usuario. También acepta código de anuncios personalizados:

<b:include name='@:ads'/>
ParámetroTipoDescripcionRequerido
stylestringEstilos en líneaopcional
slotstringID de bloque personalizadoopcional
layoutstringID de anuncio creado en Adsenseopcional

@:adsense

Agrega la etiqueta que incluye el código JavaScript de AdSense, la cual está actualizada y solo cargará si AdSense esta habilitado en el blog:

<b:include name='@:adsense'/>

@:analytics

Agrega la etiqueta que incluye el código JavaScript de Analytics (GA4). Cargará si la ID de Analytics esta habilitado en el blog:

<b:include name='@:analytics'/>

@:attr

Agrega o remueve multiples atributos al nodo superior. Cada matriz debe estar conformada por dos elementos tipo string, el primer elemento sera el nombre del atributo, el segundo elemento corresponderá a su valor. Si el valor está vació o no está presente, el atributo especificado se borrará del nodo superior:

<b:include name='@:attr'/>
ParámetroTipoDescripcionRequerido
-array[array]Matriz de matricesobligatorio

@:image

Manipula imágenes alojadas en los servidores de Google, principalmente trabaja con datos de Blogger tipo imagen. También permite agregarle nuevos atributos a las imágenes usando los parámetros de imágenes de Blogger:

<b:include name='@:image'/>
ParámetroTipoDescripcionRequerido
srcimageUrl o dato de imagenobligatorio
altstringTexto de respaldoopcional
idstringIdentificador únicoopcional
classstringClases adicionalesopcional
widthstringAncho explícitoopcional
heightstringAlto explícitoopcional
resizenumberCambia las dimensionesopcional
ratiostringRelación de aspectoopcional
sizesstringValor del atributo sizesopcional
srcsetarrayMatriz de tamañosopcional
loadingstringAtributo loadingopcional
paramsstringParámetros adicionalesopcional

@:kind

Agrega clases al nodo superior que contiene información del tipo de página visualizado.

<b:include name='@:kind'/>

@:meta

Meta datos y otras etiquetas para SEO optimizadas, destinados a la cabecera HTML

<b:include name='@:meta'/>
ParámetroTipoDescripcionRequerido
cardTypestringTipo de tarjeta de Twitteropcional
faviconimageImagen de favicon HD (192x192)opcional
favSizesarrayMatriz de números (favicons)opcional
robotsstringMeta robots personalizadoopcional
ogImageimageImagen para redes socialesopcional

License

canvas-core is licensed under the MIT License