Diseños
ghchronicle -card-layoutsLos imprime con los campos que muestra cada uno por omisión. Cada diseño de
abajo tiene su propia sección, que dice su familia, su movimiento, el ancho al
que se dibuja y esos campos, sobre una imagen de la tarjeta. Cada tarjeta se
muestra en la paleta en la que está esta página, clara u oscura; todos los
diseños dibujan las dos, y auto mete ambas en un fichero.
Donde un diseño se anima, la animación se reproduce una vez y se asienta en la tarjeta estática completa, así que cada imagen de abajo es ese fotograma final y no un instante intermedio. Cómo se fija y qué la desactiva está en Movimiento.
Las dos familias
Sección titulada «Las dos familias»La familia chronicle es el aspecto propio de esta herramienta. La familia github usa la paleta Primer de GitHub y números monoespaciados para que la tarjeta encaje en un README de perfil como si la hubiera dibujado GitHub.
summary
Sección titulada «summary»La tarjeta original: título, dos filas de números, un sparkline y los repositorios con más estrellas.
- Familia
- chronicle
- Movimiento
- quieto
- Ancho
- 495 px, se dibuja de 300 a 1200
- Campos por omisión
stars,forks,followers,repos,contributions,views,visitors,sparkline,top_repos
Orden para summary
Binario
ghchronicle -card-layout summary -card-theme both -card-only -card card.svg -config config.yamlGitHub Action
- uses: jmrplens/ghchronicle@v1 with: token: ${{ secrets.GHCHRONICLE_TOKEN }} mode: card card: generated/card.svg card-layout: summary card-theme: bothgithub-stats
Sección titulada «github-stats»La caja propia de GitHub: una banda de cabecera, filas de cuatro números monoespaciados y una barra de reparto de lenguajes con su leyenda. El más ancho de todos, y el que parece más nativo en un README de perfil. Los números cuentan hacia arriba, y la barra crece desde su borde izquierdo en cuanto se asientan.
- Familia
- github
- Movimiento
- se reproduce una vez
- Ancho
- 800 px, se dibuja de 600 a 1200
- Campos por omisión
repos,stars,forks,followers,commits,pull_requests,views,clones,languages
Orden para github-stats
Binario
ghchronicle -card-layout github-stats -card-theme both -card-only -card card.svg -config config.yamlGitHub Action
- uses: jmrplens/ghchronicle@v1 with: token: ${{ secrets.GHCHRONICLE_TOKEN }} mode: card card: generated/card.svg card-layout: github-stats card-theme: bothgithub-compact
Sección titulada «github-compact»Una fila de números monoespaciados bajo una banda de cabecera fina.
- Familia
- github
- Movimiento
- quieto
- Ancho
- 495 px, se dibuja de 300 a 1200
- Campos por omisión
stars,forks,followers,repos,commits
Orden para github-compact
Binario
ghchronicle -card-layout github-compact -card-theme both -card-only -card card.svg -config config.yamlGitHub Action
- uses: jmrplens/ghchronicle@v1 with: token: ${{ secrets.GHCHRONICLE_TOKEN }} mode: card card: generated/card.svg card-layout: github-compact card-theme: bothbadge-row
Sección titulada «badge-row»Una fila de píldoras de 20 píxeles, una por número, para una línea de README.
- Familia
- chronicle
- Movimiento
- quieto
- Ancho
- sigue al contenido
- Campos por omisión
stars,forks,followers,repos,contributions
Orden para badge-row
Binario
ghchronicle -card-layout badge-row -card-theme both -card-only -card card.svg -config config.yamlGitHub Action
- uses: jmrplens/ghchronicle@v1 with: token: ${{ secrets.GHCHRONICLE_TOKEN }} mode: card card: generated/card.svg card-layout: badge-row card-theme: bothwide-banner
Sección titulada «wide-banner»Un banner de ancho completo y 60 píxeles de alto: el login a la izquierda, los números repartidos, y el sparkline dibujándose solo por detrás.
- Familia
- chronicle
- Movimiento
- se reproduce una vez
- Ancho
- 800 px, se dibuja de 500 a 1200
- Campos por omisión
stars,forks,followers,contributions,sparkline
Orden para wide-banner
Binario
ghchronicle -card-layout wide-banner -card-theme both -card-only -card card.svg -config config.yamlGitHub Action
- uses: jmrplens/ghchronicle@v1 with: token: ${{ secrets.GHCHRONICLE_TOKEN }} mode: card card: generated/card.svg card-layout: wide-banner card-theme: bothsparkline-hero
Sección titulada «sparkline-hero»El sparkline de contribuciones es toda la tarjeta, con hasta tres números superpuestos. La línea se dibuja sola al cargar.
- Familia
- chronicle
- Movimiento
- se reproduce una vez
- Ancho
- 495 px, se dibuja de 300 a 1200
- Campos por omisión
contributions,stars,followers,sparkline
Orden para sparkline-hero
Binario
ghchronicle -card-layout sparkline-hero -card-theme both -card-only -card card.svg -config config.yamlGitHub Action
- uses: jmrplens/ghchronicle@v1 with: token: ${{ secrets.GHCHRONICLE_TOKEN }} mode: card card: generated/card.svg card-layout: sparkline-hero card-theme: bothlanguage-ring
Sección titulada «language-ring»Un donut de reparto de lenguajes con la leyenda al lado y una fila de números destacados. Cada porción se dibuja alrededor del anillo detrás de la anterior, y la leyenda aparece cuando el donut está completo.
- Familia
- github
- Movimiento
- se reproduce una vez
- Ancho
- 495 px, se dibuja de 400 a 1200
- Campos por omisión
languages,stars,repos
Orden para language-ring
Binario
ghchronicle -card-layout language-ring -card-theme both -card-only -card card.svg -config config.yamlGitHub Action
- uses: jmrplens/ghchronicle@v1 with: token: ${{ secrets.GHCHRONICLE_TOKEN }} mode: card card: generated/card.svg card-layout: language-ring card-theme: bothrepo-list
Sección titulada «repo-list»Los repositorios con más estrellas como contenido principal: punto de lenguaje, estrellas y una barra por fila, con los totales debajo.
- Familia
- github
- Movimiento
- quieto
- Ancho
- 495 px, se dibuja de 300 a 1200
- Campos por omisión
top_repos,stars,forks,repos
Orden para repo-list
Binario
ghchronicle -card-layout repo-list -card-theme both -card-only -card card.svg -config config.yamlGitHub Action
- uses: jmrplens/ghchronicle@v1 with: token: ${{ secrets.GHCHRONICLE_TOKEN }} mode: card card: generated/card.svg card-layout: repo-list card-theme: bothactivity-heatmap
Sección titulada «activity-heatmap»Todo el calendario de contribuciones que quepa en el ancho, hasta un año de él,
como los cuadrados verdes de GitHub, con hasta tres números al lado. El número
de semanas no es una cifra fija: la rejilla ocupa el sitio que le dejan los
números de al lado, así que termina donde termina la tarjeta en vez de quedarse
a un tercio del final. Con el ancho que declara este diseño son veintitrés
semanas, con su mínimo dieciséis, y -card-width en el extremo lejano que
dicen sus datos dibuja el año entero que guarda el recolector. Una cuenta con
cifras de siete dígitos se lleva una columna más ancha y le deja a la rejilla
una o dos semanas menos, que es la misma regla vista del otro lado: con el
ancho que declara este diseño, un millón de contribuciones son veintidós
semanas en vez de veintitrés, y seis dígitos siguen cabiendo dentro de las
etiquetas. El extremo lejano es donde cae el año para los tres números que este
diseño dibuja por omisión, así que una tarjeta a la que se le piden menos, o
números con etiquetas más cortas, llega al año antes de él y le sobra sitio al
final: -card-fields sparkline dibuja su año entero bastante antes del extremo
lejano. Las semanas aparecen desde la izquierda, y la ola cruza la rejilla en
0,22 s tenga las semanas que tenga, así que el calendario se llena como una ola
de la misma duración a cualquier ancho.
- Familia
- github
- Movimiento
- se reproduce una vez
- Ancho
- 495 px, se dibuja de 400 a 891
- Campos por omisión
sparkline,contributions,commits,pull_requests
Orden para activity-heatmap
Binario
ghchronicle -card-layout activity-heatmap -card-theme both -card-only -card card.svg -config config.yamlGitHub Action
- uses: jmrplens/ghchronicle@v1 with: token: ${{ secrets.GHCHRONICLE_TOKEN }} mode: card card: generated/card.svg card-layout: activity-heatmap card-theme: bothanimated-counters
Sección titulada «animated-counters»Números que cuentan hacia arriba al cargar sobre un sparkline que se dibuja solo, asentándose en la tarjeta estática.
- Familia
- chronicle
- Movimiento
- se reproduce una vez
- Ancho
- 495 px, se dibuja de 300 a 1200
- Campos por omisión
stars,forks,followers,repos,contributions,views,sparkline
Orden para animated-counters
Binario
ghchronicle -card-layout animated-counters -card-theme both -card-only -card card.svg -config config.yamlGitHub Action
- uses: jmrplens/ghchronicle@v1 with: token: ${{ secrets.GHCHRONICLE_TOKEN }} mode: card card: generated/card.svg card-layout: animated-counters card-theme: bothterminal
Sección titulada «terminal»Una ventana de terminal con la marca del proyecto en su barra de título, una línea de salida por número y otra por repositorio. Los números se teclean solos, línea a línea, bajo una tapa pintada del color de fondo de la propia tarjeta.
El cursor del prompt es el único movimiento sin final de la tarjeta, y hace algo
distinto en cada modo. Con once se queda encendido mientras llegan las cifras,
parpadea un par de veces cuando aterriza la última y se queda encendido, que es
el estado en el que descansa la tarjeta terminada. Con loop parpadea desde que
se dibuja la ventana y no para, porque un cursor parpadea por la razón por la
que una terminal está abierta, no por la razón por la que una tarjeta ha
terminado. El tecleo ocurre una sola vez en los dos casos.
- Familia
- chronicle
- Movimiento
- se reproduce una vez, o en bucle
- Ancho
- 495 px, se dibuja de 360 a 1200
- Campos por omisión
stars,forks,followers,repos,contributions,top_repos
Orden para terminal
Binario
ghchronicle -card-layout terminal -card-theme both -card-only -card card.svg -config config.yamlghchronicle -card-layout terminal -card-theme both -card-only -card card.svg -config config.yaml -card-motion loopGitHub Action
- uses: jmrplens/ghchronicle@v1 with: token: ${{ secrets.GHCHRONICLE_TOKEN }} mode: card card: generated/card.svg card-layout: terminal card-theme: both- uses: jmrplens/ghchronicle@v1 with: token: ${{ secrets.GHCHRONICLE_TOKEN }} mode: card card: generated/card.svg card-layout: terminal card-theme: both card-motion: loopUna banda de píldoras, una por número y otra por repositorio, que se desplaza de derecha a izquierda. El contenido se repite de punta a punta y la banda avanza exactamente una copia, así que la imagen al final de una pasada es la imagen de su comienzo y el bucle no tiene salto. Reproducido una vez, hace una sola pasada y vuelve al inicio. La banda se desplaza a velocidad fija, así que una tarjeta con más contenido tarda en dar la vuelta más de lo que cualquier otro diseño tarda en asentarse.
- Familia
- chronicle
- Movimiento
- se reproduce una vez, o en bucle
- Ancho
- 800 px, se dibuja de 400 a 1200
- Campos por omisión
stars,forks,followers,repos,contributions,commits,views,top_repos
Orden para ticker
Binario
ghchronicle -card-layout ticker -card-theme both -card-only -card card.svg -config config.yamlghchronicle -card-layout ticker -card-theme both -card-only -card card.svg -config config.yaml -card-motion loopGitHub Action
- uses: jmrplens/ghchronicle@v1 with: token: ${{ secrets.GHCHRONICLE_TOKEN }} mode: card card: generated/card.svg card-layout: ticker card-theme: both- uses: jmrplens/ghchronicle@v1 with: token: ${{ secrets.GHCHRONICLE_TOKEN }} mode: card card: generated/card.svg card-layout: ticker card-theme: both card-motion: looplanguage-bars
Sección titulada «language-bars»Una barra de ancho completo por lenguaje, cada una creciendo desde su propio
borde izquierdo detrás de la anterior, con el nombre y el porcentaje llegando en
cuanto su barra se detiene. Es el diseño que da a cada lenguaje una línea propia,
donde language-ring los muestra todos en un donut y github-stats en una sola
barra.
- Familia
- github
- Movimiento
- se reproduce una vez
- Ancho
- 495 px, se dibuja de 360 a 1200
- Campos por omisión
languages
Orden para language-bars
Binario
ghchronicle -card-layout language-bars -card-theme both -card-only -card card.svg -config config.yamlGitHub Action
- uses: jmrplens/ghchronicle@v1 with: token: ${{ secrets.GHCHRONICLE_TOKEN }} mode: card card: generated/card.svg card-layout: language-bars card-theme: bothMovimiento
Sección titulada «Movimiento»Cada sección de arriba dice el movimiento de su diseño, y hay un hecho que
decide lo que esa línea puede decir: una revelación nunca se repite. Una cifra
que ya ha contado, una barra que ya ha crecido y una línea que ya se ha
dibujado no se quitan, así que -card-motion loop dibuja exactamente la
tarjeta que dibuja once en todos los diseños salvo los dos cuyo movimiento no
termina, el cursor parpadeante de terminal y la banda que se desplaza de
ticker. Esos dos son los que llevan el botón de bucle bajo su imagen, y el
razonamiento está en
Un bucle nunca repite.
Cada diseño declara el ancho con el que se dibuja y los dos extremos fuera de
los cuales se niega a hacerlo, y su propia sección de arriba dice los tres.
-card-width en el binario, y card-width en la Action, piden otro: cualquiera
entre los dos extremos de ese diseño. Un ancho fuera de ahí se rechaza antes de
la pasada, nombrando los dos, y -card-layouts los imprime. Si no se dice nada,
la tarjeta sale con el ancho de su diseño, que es el ancho con el que salían
todas antes de que existiera la opción. badge-row no declara ninguno de los
tres, porque una fila de píldoras estirada a un ancho fijo tendría huecos; su
ancho sigue al contenido, y la opción ni se lo cambia ni la rechaza.
El extremo cercano es donde una columna deja de caber. El lejano casi siempre
es solo una defensa contra una errata, porque a un diseño con más sitio lo que
le pasa es que reparte el mismo contenido por él, y uno al que se le pedían
veinte mil se dibujaba de veinte mil unidades. activity-heatmap es el que
tiene uno de verdad, y es la razón de que los extremos sean los de cada diseño
y no un par para todos: lee el ancho en vez de limitarse a que lo dimensione, y
calcula cuántas semanas del calendario de contribuciones caben en el sitio que
le deja, así que la misma tarjeta son dieciséis semanas en su extremo cercano,
veintitrés con el ancho que declara y el año entero que guarda el recolector en
su extremo lejano. Más allá ya no hay calendario que dibujar, así que el
extremo lejano es justo el ancho en el que cae el año y a la tarjeta nunca se
le pide que llene un sitio para el que no tiene nada.
Campos que un diseño no puede dibujar
Sección titulada «Campos que un diseño no puede dibujar»Cada diseño declara qué campos soporta. Pedir uno que no, como top_repos en
github-compact, lo descarta en silencio. Pedir un nombre que no está en el
vocabulario en absoluto es un error que lista los válidos.
Doce de los quince campos son números, y todos los diseños admiten los doce. Solo están restringidos los tres que necesitan sitio propio:
| Campo | Lo dibujan |
|---|---|
languages | summary, github-stats, language-ring, language-bars |
top_ | summary, github-stats, repo-list, terminal, ticker |
sparkline | summary, github-stats, wide-banner, sparkline-hero, activity-heatmap, animated-counters |
ghchronicle -card-layouts imprime los diseños con los campos que dibuja cada
uno por omisión.
Por dónde seguir
Sección titulada «Por dónde seguir»- La tarjeta es lo que las dibuja, y cómo poner una en un README.
- Llamarlo desde un programa es la forma soportada de sacar una desde otro lenguaje.