Devitácora

Un blog informático

El viejo inconveniente del modo «Vista previa» de Blogger

Cuando empleamos la etiqueta data:blog.url en una sentencia condicional para preguntar si nos encontramos en la página principal, su comportamiento no será el esperado en tal caso visualicemos una entrada o una página desde el editor. Para dejarlo más claro, supongamos que tenemos lo siguiente en nuestra plantilla:

<b:if cond='data:blog.url == data:blog.homepageUrl'>
¡HOLA, ESTÁS EN LA PÁGINA PRINCIPAL!
</b:if>

Ese mensaje debería aparecer solo en la página principal de nuestro blog; sin embargo, cuando estemos creando o editando una publicación y vayamos a modo Vista previa, de igual forma lo veremos. Lo anterior se debe a que data:blog.url vale lo mismo que data:blog.homepageUrl en ese caso.

Para parchear el asunto, podemos preguntar si el tipo de página en la que estamos es de tipo index (la página principal es de clase index), ya que la etiqueta que contiene dicho dato siempre arrojará el valor previsto: item para las entradas o static_page para las páginas. Continuando con el ejemplo, ahora quedaría así:

<b:if cond='data:blog.url == data:blog.homepageUrl and data:blog.pageType == &quot;index&quot;'>
¡HOLA, ESTÁS EN LA PÁGINA PRINCIPAL!
</b:if>

Actualización (19/02/18): Gracias a las nuevas etiquetas de Blogger, podemos recurrir a data:view.isPreview para averiguar si nos encontramos en el modo Vista previa:

<b:if cond='data:blog.url == data:blog.homepageUrl and not data:view.isPreview'>
¡HOLA, ESTÁS EN LA PÁGINA PRINCIPAL!
</b:if>

Reemplazar el «No hay comentarios» en Blogger

Cambiar el mensaje «No hay comentarios» por uno de nuestra preferencia es muy sencillo. La etiqueta que se encarga de mostrarlo (se repite varias veces) es la siguiente:

<data:post.commentLabelFull/>

Basta con reemplazarlo por esta línea:

<b:eval expr='data:post.numComments == 0 ? &quot;Sé el primero en comentar&quot; : data:post.commentLabelFull'/>

Lo que se hizo fue emplear el operador ternario para preguntar si el número de comentarios, almacenado en data:post.numComments, es cero, y mostrar nuestro mensaje en tal caso de serlo; de lo contrario, que haga lo suyo.


Distinguir siempre la etiqueta actual en Blogger

Al listar las entradas por una etiqueta, esta deja de ser un enlace en el widget correspondiente, pero al pasar a la página siguiente, vuelve a ser un vínculo, desentonando con el proceder anterior. La línea responsable es la siguiente:

<b:if cond='data:blog.url == data:label.url'>

Esa sentencia lo que hace es comparar si la dirección actual de la página en la que estás es igual al de la etiqueta del widget. Al principio funciona, ambas direcciones son iguales, pero cuando se añaden los parámetros necesarios a la dirección del blog para mostrar las entradas de las páginas posteriores, data:label.url toma todo eso y la sigue comparando con la dirección inicial de la etiqueta, comportándose de la manera descrita al inicio.

Una posible solución sería reemplazar lo anterior (aparece dos veces) por esto:

<b:if cond='data:label.name == data:blog.searchLabel'>

En data:label.name se almacena el nombre de la etiqueta del widget y en data:blog.searchLabel el nombre de la etiqueta con la que se realizó la consulta, algo que no va a cambiar por más páginas que pasemos.


Resaltar la entrada actual en el «Archivo del blog»

Continuando con el Archivo del blog, también deseaba resaltar el enlace de la entrada en tal caso estuviéramos en ella. La parte del widget encargada de maquetar la lista es la siguiente:

<b:includable id='posts' var='posts'>
  <ul class='posts'>
    <b:loop values='data:posts' var='post'>
      <li>
        <a expr:href='data:post.url'>
          <data:post.title/>
        </a>
      </li>
    </b:loop>
  </ul>
</b:includable>

Bastaba con añadir una clase o emplear un nombre único al vínculo para posteriormente aplicarle los estilos, así que recurrí al operador ternario para colocarlo en el enlace correspondiente, comparando su dirección con la de la página actual:

<b:includable id='posts' var='posts'>
  <ul class='posts'>
    <b:loop values='data:posts' var='post'>
      <li>
        <a expr:href='data:post.url' expr:class='data:post.url == data:blog.url ? &quot;current-post&quot; : &quot;&quot;'>
          <data:post.title/>
        </a>
      </li>
    </b:loop>
  </ul>
</b:includable>

Lo que restaba por hacer era agregar las instrucciones en el CSS. Un ejemplo sería:

#ArchiveList .current-post {
  color: red !important; /* Lo colorea de rojo */
  text-decoration: none !important; /* Evita que se subraye */
}

Contraer los períodos del «Archivo del blog» de Blogger

De aquí en adelante iré publicando mis experiencias en Blogger, tratando de compartir lo que no esté ya trillado. ¡Empecemos!

Uno de los aspectos que me incomodó cuando estaba diseñando el blog fue ver en el archivo del mismo (estilo jerárquico) la fecha reciente expandida, ¡ansiaba contraerlo! Era un mero capricho, así que no entremos en razonamientos. Para lograr tal cometido, solo edité algunas líneas en el código de dicho elemento:

La siguiente línea es la responsable de mantenerlos expandidos o contraídos:

<li expr:class='&quot;archivedate &quot; + data:interval.expclass'>

El valor de data:interval.expclass será expanded o collapsed dependiendo del caso, así que bastaría con reemplazarlo por collapsed para obligarlos a contraerse:

<li class='archivedate collapsed'>

El tema no terminó ahí, porque el comportamiento de los iconos que acompañan a los días, semanas, meses y años ahora no era el acertado. El trozo responsable era este:

<b:if cond='data:interval.expclass == &quot;expanded&quot;'>
[CÓDIGO]
</b:if>

Con eliminar lo anterior y colocar el código HTML de la flechita en su lugar se zanja el asunto:

&#9658;&#160;

Hablemos un poco de las plantillas en Blogger

Blogger nos ofrece decenas de plantillas para nuestros blogs con la posibilidad de personalizarlas de manera sencilla; sin embargo, si ninguna nos convence, también nos facilita el medio para optar por las de terceros. Uno de mis sitios preferidos para empezar la búsqueda es BTemplates, que cuenta con una inmensa colección de plantillas gratuitas para el servicio de Google. Una vez que nos cansemos de tanto observar, simplemente descargamos una y seguimos las instrucciones que ellos mismos nos describen.

En tal caso deseemos manipular nuestra plantilla, debemos comprender primero el lenguaje que emplea Blogger en ella, cuya documentación está siempre a la mano en la página de Ayuda de Blogger. Los temas que nos interesan están agrupadas en el apartado Cambiar el aspecto de tu blog:

En el foro de Blogger en inglés suelen explicar a fondo las novedades:

La documentación de Blogger puede ser un suplicio si no poseemos ciertas nociones en algunos temas, es ahí en donde su gran comunidad entra en acción para tendernos una mano, comenzando con su Foro de ayuda en español y pasando por sitios como Oloblogger o Vagabundia.

Hace poco (20 de agosto de 2018) descubrí Blogger Code, un hermoso lugar en donde se detalla todas las etiquetas de Blogger. No hay nada que se le compare. Está en francés, pero eso no es ningún inconveniente en estos días, el mismo sitio nos ofrece un traductor.


¿Me «hackearon» la cuenta?

Seguridad

«Me hackearon», lo primero que expresamos cuando notamos manipulaciones en nuestras cuentas personales; aunque en la mayoría de los casos no se trata de hackeos como tal, sino que son el resultado de la inocencia de nuestra parte más la viveza de los amigos de lo ajeno. Estos son algunos puntos que nos hacen más propensos a caer en tales situaciones:

  • Tenemos esa mala costumbre de asignar la misma vieja contraseña a todas las cuentas, cediendo el control total de nuestra existencia en la red al afortunado que logre descubrirla.
  • Tendemos a crear contraseñas simples y fáciles de adivinar o captar, como emplear palabras familiares, frases comunes o combinaciones recurrentes.
  • Somos muy perezosos y hasta nos irritamos cuando el servicio nos aconseja agregar un correo electrónico alternativo o un número telefónico, datos que pueden salvarnos.
  • Somos muy confiados cuando se trata de prestar nuestros equipos a extraños, dándoles la oportunidad de acceder a las contraseñas guardadas en el navegador a través de tretas o de instalar aplicaciones que registran nuestra actividad.
  • No cerramos nuestras sesiones cuando empleamos equipos de terceros, como cuando dejamos nuestras cuentas abiertas al salir de un cibercafé, confiando demasiado en la buena fe del siguiente cliente.
  • Nos pasamos de inocentes con cuanto correo recibamos, obedeciendo instrucciones, siguiendo enlaces y ofreciendo datos sin detenernos a observar de dónde procede el mensaje y de lo que estamos comprometiendo.

Siempre es aconsejable pasarse por las opciones de seguridad de nuestras cuentas y averiguar cómo podemos protegernos. Muchos sitios nos permiten revisar si hay actividades extrañas, cerrar las sesiones que hayamos dejado activas en otros equipos y fortalecer la seguridad con la Verificación de dos pasos, levantando un muro ante cualquiera que logre obtener nuestras contraseñas, ya que siempre se requerirá de un código enviado a nuestros móviles para poder proseguir con la autenticación.

Fuente de la imagen


Políticas de Google Chrome para cuentas locales en Windows

A veces se nos presenta la necesidad de limitar el uso de ciertas funciones de Chrome a los usuarios locales (usuario estándar) en Windows. Gracias a las Políticas de Google Chrome podemos hacer lo anterior, como restringir el acceso a secciones del navegador, bloquear la instalación de extensiones, entre otros aspectos.

Para no complicarnos tanto, sigamos los pasos en nuestra sesión con permisos administrativos:

  1. Lo primero que debemos hacer es descargar las plantillas haciendo clic aquí. Descomprime el archivo, localiza la carpeta adm y guárdala.
  2. Presiona las teclas Windows + R, escribe el comando mmc y presiona el botón Aceptar.
  3. Haz clic en el menú Archivo de la nueva ventana que se despliega, luego en Agregar o quitar complemento, doble clic en Editor de objetos de directiva de grupo de la lista del panel izquierdo, presiona el botón Examinar, clic en la pestaña Usuarios, doble clic en la cuenta local deseada, presiona el botón Finalizar y luego Aceptar
  4. Expande Directiva Equipo Local, haz lo mismo con Configuración de usuario, clic derecho en Plantillas administrativas, clic en Agregar o quitar plantillas, presiona el botón Agregar, ubícate en la carpeta adm guardada anteriormente, ingresa en la carpeta del idioma preferido (es), doble clic en el archivo chrome.adm y cierra la ventana.
  5. Expande Plantillas administrativas, luego Plantillas administrativas clásicas (ADM), sigue con Google y haz clic en Google Chrome.

Lo demás ya es cuestión de lo que deseas hacer, aquí encontrarás la documentación sobre el tema: Policy List.

Sistema operativo empleado: Windows 10.


¡Y empezamos!

La primera entrada oficial de este sencillo blog, y puede que esta sea la única por largo tiempo, porque no tengo la más remota idea de qué publicar en este espacio. Tenía pensado ir en contra de la esencia de este servicio y utilizarlo solo como una sencilla tarjeta de presentación, que es lo que se ve al principio (ya no existe), algo común en los que desean hacer una simple y vaga presencia en la red; sin embargo, terminé también adaptando el blog, resultado de la ociosidad, como todo lo demás. Y pues... heme aquí, publicando esta aburrida entrada sin sentido alguno.

Primer logotipo
Primer intento de logotipo.

Editado para hacer algunas aclaraciones con respecto al estado actual del blog.


search-icon home-icon blog-icon about-icon envelop-icon calendar-icon tag-icon comment-icon share-icon gmail-icon blogger-icon twitter-icon facebook-icon printer-icon link-icon list-icon rss-icon logo-icon