Discourse Linkify Hojas de Cálculo de Google

El plugin permite obtener los datos del componente de tema linkify desde una hoja de cálculo de Google. Por ahora, tendrás que instalar esta bifurcación del componente de tema, pero podría haber una solución en el futuro para que puedas usar el componente de tema original con este plugin.


Configuración

Pasos:

  1. Crea una cuenta de servicio en Google Cloud: Create service accounts  |  Identity and Access Management (IAM)  |  Google Cloud Documentation
    Google iniciará la descarga de un archivo JSON. Guarda su contenido de forma segura.

  2. Crea una hoja de cálculo de Google y compártela con la dirección de correo electrónico de la cuenta de servicio.

  3. Pega estas líneas al final de la sección env en tu archivo app.yml:

     GOOGLE_ACCOUNT_TYPE: 'service_account'
     GOOGLE_CLIENT_ID: 'client-id-from-json-file'
     GOOGLE_CLIENT_EMAIL: "service-account-email-address"
     GOOGLE_PRIVATE_KEY:  instrucciones a continuación
    
  • ¿Cómo configurar el parámetro GOOGLE_PRIVATE_KEY?

    • Pega la clave del archivo JSON en un editor de código.
    • Usa la función de buscar y reemplazar para cambiar \n por \\n.
    • Copia el resultado y pégalo en app.yml frente a GOOGLE_PRIVATE_KEY,
      envolviéndolo entre comillas simples ' '.
  1. Ahora sigue los pasos habituales para instalar el plugin.

  2. Instala esta bifurcación del componente de tema Linkify.


Configuración del plugin

linkify_google_sheet_id: Cuando abres la hoja de cálculo de Google en tu navegador, la cadena larga después de https://docs.google.com/spreadsheets/d/ es el ID de la hoja de cálculo.

linkify_google_sheet_name: Puedes tener varias hojas en un archivo de Excel, es decir, Hoja1, Hoja2, etc. Ese nombre de hoja va aquí.

linkify_google_sheet_cell_range: Las columnas desde donde se obtienen los datos de linkify. Por defecto, está configurado en las dos primeras columnas. Puedes cambiar este valor. Aquí hay una guía sobre cómo funcionan los rangos de celdas: Google Sheets API Overview  |  Google for Developers


:page_facing_up: Obtener el código

:raising_hand_woman: Solicitar una característica

:bug: Reportar un error

¿Perdido?

Gracias por patrocinar el plugin @jrgong

7 Me gusta

@sam
Con esto, también propongo un método plugin-api que permita conectar y reemplazar la fuente de datos de dichos componentes de tema de manera limpia.

por ejemplo:

// mientras se usa
let data = useDataSource('linkify-data');
// los plugins y los componentes del tema pueden hacer algo así

setDataSource('linkify-data', customDataObject);

La idea aquí es que otro componente del tema pueda setDataSource a otro objeto.
Esto permitiría reemplazar la fuente de datos de dichos componentes sin cambiar nada en el código.
¿Qué opinan?

4 Me gusta

¡Me encanta! Gracias de nuevo por el gran trabajo y la implementación @fzngagan

2 Me gusta