rOpenSci | Generar y personalizar insignias en R-Universe

Generar y personalizar insignias en R-Universe

Este post es parte de una serie de artículos sobre r-universe, un nuevo proyecto marco de rOpenSci bajo el cual experimentamos con varias ideas para mejorar la publicación y el descubrimiento de software de investigación en R. A medida que el proyecto evolucione, publicaremos actualizaciones para documentar características y detalles técnicos. Para más información, visita la página del proyecto r-universe.

🔗 Insignias en R-Universe

Después de crear tu universo personal el panel de control en https://{yourname}.r-universe.dev muestra la versión y otros detalles de cada paquete de tu repositorio. También hemos añadido una nueva pestaña que muestra las insignias disponibles para el repositorio.

captura de pantalla de la pestaña insignias

Las insignias son una buena forma de mostrar el estado de tu repositorio o de paquetes individuales en páginas web externas, como un archivo LÉAME, tu página de inicio o tus personal u organización LÉEME del perfil en GitHub.

Actualmente hay dos tipos de insignias en r-universe: insignias de paquetes individuales que muestran la versión actual del paquete, e insignias globales (donde el punto final lleva el prefijo :) que muestran el nombre, el recuento y el estado de todo el repositorio.

🔗 Insignias de la versión del paquete

En /badges/{pkg} proporciona un distintivo con la versión actual del paquete dado en el repositorio. Un lugar habitual para mostrar esta insignia es en el archivo README del paquete, junto con las instrucciones de instalación del paquete.

Si el paquete también está en CRAN, podrías colocarlo junto a una insignia de r-pkg.org para contrastarlo con la versión actual de CRAN y las instrucciones de instalación, por ejemplo, la página LÉEME del paquete gert:

![runiverse-name example badge](https://ropensci.r-universe.dev/badges/:name)
![runiverse-package example badge for gert package](https://ropensci.r-universe.dev/badges/gert)
![cran-badge example for gert package](http://www.r-pkg.org/badges/version/gert)

Que tiene el siguiente aspecto. Aquí los usuarios pueden ver inmediatamente en el README que el paquete está disponible en el universo rOpenSci, y que la versión de R-Universe es superior a la versión de CRAN.

captura de pantalla del paquete gert mostrando la placa en uso

🔗 Insignias de estado del repositorio

Además de las insignias para paquetes individuales, el sistema también proporciona algunas insignias con información sobre el estado de todo el repositorio de paquetes. Por ejemplo:

  • /badges/:name el nombre del universo, es decir, tu nombre de usuario de github.
  • /badges/:total el número total de paquetes del repositorio.
  • /badges/:registry si la última actualización de monorepo se ha realizado correctamente, es decir, si tu registro de paquetes está bien.

La última insignia en particular puede serte muy útil ya que se pondrá en rojo cuando algo vaya mal en tu archivo de registro de paquetes. Esto suele significar que tu packages.json puede hacer referencia a repositorios git o ramas que no existen, o que el sistema no encontró un paquete adecuado en la ubicación indicada.

Este es el aspecto de las insignias para el universo rOpenSci:

![runiverse-name](https://ropensci.r-universe.dev/badges/:name)
![runiverse-registry](https://ropensci.r-universe.dev/badges/:registry)
![runiverse-total](https://ropensci.r-universe.dev/badges/:total)

runiverso-nombre ejemplo de insignia ejemplo de insignia runiverse-registry ejemplo de insignia runiverse-total

🔗 Personaliza el estilo de la insignia

Uno de los primeros usuarios de R-universe solicitó algunas opciones para personalizar el aspecto visual de las insignias. Hemos añadido 3 parámetros http a la API de las insignias:

  • scale el tamaño de la insignia (donde 1 es el valor por defecto);
  • color el color de la insignia;
  • style ajústalo a “plano” para obtener insignias de estilo retro.

Por ejemplo: https://ropensci.r-universe.dev/badges/:total?scale=2&color=pink&style=flat

Ejemplo de insignia con estilo personalizado

En badgen contiene más detalles sobre estos parámetros. Nuestro backend para esta API es bastante sencillo, intenta enviar una solicitud de ¿extracción? si tienes ideas para otras insignias útiles.


Start discussion