Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Tag component #507

Closed
wants to merge 39 commits into from
Closed
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
d536451
Add Deno and Node.js badge
Sep 18, 2022
14299f5
Merge branch 'main' into badge
Sep 19, 2022
97d4291
Apply suggestions from code review
Sep 19, 2022
da70b26
Redesign the badge
Sep 19, 2022
f06b4f7
Implement badge into plugin
Sep 19, 2022
1db7dd7
Add Tag component
Sep 20, 2022
94c8558
Update all tags
Sep 20, 2022
3f701c5
Merge branch 'main' into badge
Sep 20, 2022
c6df756
Update tag
Sep 24, 2022
9647995
Fix typo on menu entry
Sep 24, 2022
50e1525
Sync updates to all languages
Sep 24, 2022
3b95be2
Fix build error
Sep 24, 2022
92c4c8a
Update tag component
Sep 30, 2022
1d9fc86
Reduce delay and fix icon transition
Oct 1, 2022
0c5d208
Fix alignment on mobile view
Oct 1, 2022
90e0dd8
Change <a> element dynamically to increase SEO score
Oct 1, 2022
d1b77b6
Add favicon to third-party plugin menu
Oct 1, 2022
347b473
Merge branch 'main' into badge
KnorpelSenf Oct 2, 2022
190a5b3
Adjust TagGroup margin
Oct 4, 2022
bf5fb4c
Add Autotag plugin
Oct 5, 2022
1f24a0d
Remove tag from plugins page
Oct 7, 2022
0c5add6
Merge branch 'main' into badgex
Oct 7, 2022
8a4c853
Fix css
Oct 7, 2022
9c16c6f
Rename component to circumvent adblocker
Oct 7, 2022
c83f639
Replace tags with autotag
Oct 7, 2022
6c78490
Merge branch 'main' into badge
Oct 7, 2022
7dbef4a
Merge branch 'badgex' into badge
Oct 7, 2022
ee29599
Update extensions list
Oct 7, 2022
fad5c9a
Add dynamic link referencing to asset files
Oct 8, 2022
4d4cbab
Rename icon files
Oct 8, 2022
808738f
Rename `type` property to `template`
Oct 8, 2022
8253351
Add some workspace tools and configs
Oct 8, 2022
509bbbe
Refactor
Oct 8, 2022
07df0e1
update tsconfig
Oct 8, 2022
41bb81c
Add autotagMenu plugin
Oct 9, 2022
c07fd0a
Merge branch 'main' into badge-autotagmenu
Oct 13, 2022
df5b131
Add transition
Oct 15, 2022
f4ff085
Add `gap` option to `TagGroup`
Oct 15, 2022
04f5f89
Merge branch 'main' into badge
Oct 18, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions site/docs/.vuepress/components/Tag.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<script setup lang="ts">
import { computed } from 'vue';

const props = defineProps({
type: {
type: String,
required: true,
},
});

const items = computed(() => {
return props.type.split(" ").map(value => {
return {src: `/badges/${value}.svg`, alt: value};
});
})
</script>

<template>
<p>
<div v-for="item in items" class="tag">
<img :src="item.src" :alt="item.alt"/>
</div>
</p>
</template>

<style scoped>
.tag {
margin-right: 0.5rem;
display: inline;
}
</style>
2 changes: 2 additions & 0 deletions site/docs/.vuepress/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { defaultTheme, defineUserConfig } from "vuepress-vite";
import { betterLineBreaks } from "./plugins/better-line-breaks";
import { currentVersions } from "./plugins/current-versions/plugin";
import { docsearch } from "./plugins/docsearch";
import { registerComponents } from "./plugins/registerComponents";

export default defineUserConfig({
locales: {
Expand Down Expand Up @@ -1504,6 +1505,7 @@ export default defineUserConfig({
}),
betterLineBreaks(),
currentVersions(),
registerComponents(),
],
markdown: {
typographer: true,
Expand Down
11 changes: 11 additions & 0 deletions site/docs/.vuepress/plugins/registerComponents.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { registerComponentsPlugin } from "@vuepress/plugin-register-components";
import { getDirname, path } from "@vuepress/utils";
import { type Plugin } from "vuepress-vite";

export function registerComponents(): Plugin {
const __dirname = getDirname(import.meta.url);

return registerComponentsPlugin({
componentsDir: path.resolve(__dirname, "../components"),
});
}
1 change: 1 addition & 0 deletions site/docs/.vuepress/public/badges/deno.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions site/docs/.vuepress/public/badges/nodejs.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions site/docs/.vuepress/public/badges/official-es.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions site/docs/.vuepress/public/badges/official-id.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions site/docs/.vuepress/public/badges/official-zh.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions site/docs/.vuepress/public/badges/official.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions site/docs/.vuepress/public/badges/third-party-es.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions site/docs/.vuepress/public/badges/third-party-id.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions site/docs/.vuepress/public/badges/third-party-zh.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions site/docs/.vuepress/public/badges/third-party.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 3 additions & 1 deletion site/docs/es/hosting/deno-deploy.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Alojamiento: Deno Deploy

<Tag type="deno"/>

Esta guía le informa sobre las formas de alojar sus bots de grammY en [Deno Deploy](https://deno.com/deploy).

Ten en cuenta que esta guía es sólo para usuarios de Deno, y que necesitas tener una cuenta de [GitHub](https://github.com) para crear una cuenta de [Deno Deploy](https://deno.com/deploy).
Expand Down Expand Up @@ -89,7 +91,7 @@ deployctl deploy --project <project> ./mod.ts --prod --token <token>
Después de poner en marcha tu aplicación, debes configurar los ajustes de los webhooks de tu bot para que apunten a tu aplicación.
Para ello, envía una petición a

```text
```md:no-line-numbers
https://api.telegram.org/bot<token>/setWebhook?url=<url>
```

Expand Down
2 changes: 2 additions & 0 deletions site/docs/es/hosting/heroku.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Alojamiento: Heroku

<Tag type="deno nodejs"/>

> Asumimos que tienes los conocimientos básicos sobre la creación de bots usando grammY.
> Si aún no estás preparado, ¡no dudes en dirigirte a nuestra amigable [Guía](../guide)! :cohete:

Expand Down
2 changes: 2 additions & 0 deletions site/docs/es/hosting/supabase.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Hosting: Supabase Edge Functions

<Tag type="deno"/>

Esta guía te explica cómo puedes alojar tus bots de grammY en [Supabase](https://supabase.com/).

Ten en cuenta que necesitas tener una cuenta de [GitHub](https://github.com) antes de poder utilizar [Supabase Edge Functions](https://supabase.com/docs/guides/functions).
Expand Down
2 changes: 2 additions & 0 deletions site/docs/es/hosting/vps.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Alojamiento: VPS

<Tag type="deno nodejs"/>

Un servidor virtual privado, mayormente conocido como VPS, es una máquina virtual que se ejecuta en la nube y cuyos usuarios tienen el control total de su sistema.

En esta guía, aprenderás varios métodos para ejecutar tu bot en un VPS, manteniéndolo en línea 24/7, haciendo que se ejecute automáticamente cuando tu VPS se inicie y se reinicie en caso de caída.
Expand Down
2 changes: 2 additions & 0 deletions site/docs/es/plugins/auto-retry.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Reintentar solicitudes de la API (`auto-retry`)

<Tag type="official-es"/>

> Considera usar el [plugin throttler](./transformer-throttler.md) en su lugar.

Este plugin es una [función transformadora de la API](../advanced/transformers.md), lo que significa que le permite interceptar y modificar las peticiones HTTP salientes sobre la marcha.
Expand Down
2 changes: 2 additions & 0 deletions site/docs/es/plugins/autoquote.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Responder siempre a los mensajes

<Tag type="third-party-es deno nodejs"/>

A veces es necesario enviar siempre los mensajes como respuestas, especialmente para los bots que están destinados a ser utilizados en grupos.
Normalmente hacemos esto añadiendo el parámetro `reply_to_message_id` a los métodos que envían el mensaje: `sendText`, `reply`, `sendPhoto`, `replyWithPhoto` y otros.
Sin embargo, si estás haciendo esto para cada mensaje, puede ser un desastre y aburrido.
Expand Down
2 changes: 2 additions & 0 deletions site/docs/es/plugins/console-time.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Registro en la consola mientras se depura

<Tag type="third-party-es nodejs"/>

Si estás familiarizado con JavaScript / TypeScript probablemente hayas utilizado [`console.log`](https://developer.mozilla.org/en-US/docs/Web/API/Console/log) o [`console.time`](https://developer.mozilla.org/en-US/docs/Web/API/Console/time) para comprobar lo que está sucediendo mientras depuras algo.
Mientras trabajas en tu bot o middleware puede que quieras comprobar algo similar: ¿Qué ha pasado y cuánto tiempo ha tardado?

Expand Down
2 changes: 2 additions & 0 deletions site/docs/es/plugins/conversations.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Conversaciones (`conversations`)

<Tag type="official-es"/>

Crea potentes interfaces conversacionales con facilidad.

## Introducción
Expand Down
2 changes: 2 additions & 0 deletions site/docs/es/plugins/emoji.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Plugin Emoji (`emoji`)

<Tag type="official-es"/>

Con este plugin, puedes insertar fácilmente emojis en tus respuestas buscándolos en lugar de copiar y pegar manualmente un emoji de la web en tu código.

## ¿Por qué debería utilizarlo?
Expand Down
2 changes: 2 additions & 0 deletions site/docs/es/plugins/files.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Manejo de archivos simplificado en grammY (`files`)

<Tag type="official-es"/>

Este plugin te permite descargar fácilmente archivos de los servidores de Telegram, y obtener una URL para que puedas descargar el archivo tú mismo.

## Descargando Archivos
Expand Down
2 changes: 2 additions & 0 deletions site/docs/es/plugins/fluent.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Internacionalización con Fluent (`fluent`)

<Tag type="official-es"/>

[Fluent](https://projectfluent.org/) es un sistema de localización creado por la Fundación Mozilla para realizar traducciones naturales.
Tiene una sintaxis muy potente y elegante que permite a cualquiera escribir traducciones eficientes y totalmente comprensibles.
Este plugin aprovecha este increíble sistema de localización para hacer que los bots alimentados por grammY sean fluidos con traducciones de alta calidad.
Expand Down
2 changes: 2 additions & 0 deletions site/docs/es/plugins/hydrate.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Plugin Hydration para grammY (`hydrate`)

<Tag type="official-es"/>

Este plugin instala métodos útiles en dos tipos de objetos, a saber

1. los resultados de las llamadas a la API, y
Expand Down
2 changes: 2 additions & 0 deletions site/docs/es/plugins/i18n.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Internacionalización (`i18n`)

<Tag type="official-es"/>

El plugin de internacionalización hace que tu bot hable varios idiomas.

::: tip No se debe confundir
Expand Down
2 changes: 2 additions & 0 deletions site/docs/es/plugins/menu.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Menús interactivos (`menu`)

<Tag type="official-es"/>

Crea fácilmente menús interactivos.

## Introducción
Expand Down
2 changes: 2 additions & 0 deletions site/docs/es/plugins/middlewares.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Conjunto de middlewares útiles

<Tag type="third-party-es nodejs"/>

Seguí reescribiendo los mismos middlewares una y otra vez para todos mis bots así que decidí extraerlos todos a un paquete separado.

## Instalación
Expand Down
2 changes: 2 additions & 0 deletions site/docs/es/plugins/parse-mode.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Parse Mode Plugin (`parse-mode`)

<Tag type="official-es"/>

Este plugin proporciona un transformador para establecer el `parse_mode` por defecto, y un middleware para hidratar el `Context` con los métodos variantes familiares de `reply` - es decir, `replyWithHTML`, `replyWithMarkdown`, etc.

## Uso
Expand Down
2 changes: 2 additions & 0 deletions site/docs/es/plugins/ratelimiter.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Usuarios con límite de velocidad (`ratelimiter`)

<Tag type="official-es"/>

ratelimiter es un middleware de limitación de tasa para los bots de Telegram hechos con los frameworks de bots grammY o [Telegraf](https://github.com/telegraf/telegraf).
En términos simples, es un plugin que te ayuda a desviar el spam pesado en tus bots.
Para entender mejor ratelimiter, puedes echar un vistazo a la siguiente ilustración:
Expand Down
2 changes: 2 additions & 0 deletions site/docs/es/plugins/router.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Router (`router`)

<Tag type="official-es"/>

La clase `Router` ([Referencia API](https://doc.deno.land/https://deno.land/x/grammy_router/router.ts)) proporciona una forma de estructurar tu bot enrutando objetos de contexto a diferentes partes de tu código.
Es una versión más sofisticada de `bot.route` en `Composer` ([grammY API Reference](https://doc.deno.land/https://deno.land/x/grammy/mod.ts/~/Composer#route)).

Expand Down
2 changes: 2 additions & 0 deletions site/docs/es/plugins/runner.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Concurrencia con grammY runner (`runner`)

<Tag type="official-es"/>

Este paquete se puede utilizar si ejecutas tu bot [usando long polling](../guide/deployment-types.md), y quieres que los mensajes se procesen concurrentemente.

> Asegúrate de entender [Scaling Up II](../advanced/scaling.md#long-polling) antes de usar el runner de grammY.
Expand Down
2 changes: 2 additions & 0 deletions site/docs/es/plugins/stateless-question.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Pregunta sin estado (`stateless-question`)

<Tag type="official-es"/>

> Crear preguntas sin estado a los usuarios de Telegram que trabajan en modo de privacidad

¿Quieres mantener la privacidad del usuario con el [modo de privacidad de Telegram activado (por defecto)](https://core.telegram.org/bots#privacy-mode), enviar a los usuarios preguntas traducidas en su idioma y no guardar el estado que los usuarios están haciendo actualmente?
Expand Down
Loading