Automatización de tutoriales semanales de repositorios populares de GitHub con Gemini AI y publicación en WordPress

Intermedio

Este es unContent Creation, Multimodal AIflujo de automatización del dominio deautomatización que contiene 9 nodos.Utiliza principalmente nodos como Code, SplitOut, EmailSend, Wordpress, HttpRequest. Generación automática semanal de tutoriales de repositorios populares de GitHub con Gemini AI y publicación en WordPress

Requisitos previos
  • Pueden requerirse credenciales de autenticación para la API de destino
  • Clave de API de Google Gemini
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "meta": {
    "instanceId": "2000c64071c20843606b95c63795bb0797c41036047055a6586498e855b96efc"
  },
  "nodes": [
    {
      "id": "a821ae55-bb91-4a7b-9962-2cbe3c83ead9",
      "name": "Nota Adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -128,
        -208
      ],
      "parameters": {
        "width": 380,
        "height": 440,
        "content": "## Weekly Tutorial Generator\n\n**What it does:**\n\n**Author: David Olusola**\n- Scans GitHub for trending repos every Monday\n- Creates comprehensive tutorials based on hot projects\n- Generates step-by-step guides with code examples\n- Saves as drafts + emails you notifications\n\n**Setup Required:**\n1. Configure WordPress credentials\n2. Set up email credentials for notifications\n3. Optionally add GitHub token for higher API limits\n\n**Perfect for:**\n- Developer blogs\n- Programming education sites\n- Staying current with trending technologies\n- Building tutorial content library"
      },
      "typeVersion": 1,
      "Google Gemini Chat Model": {
        "ai_languageModel": [
          [
            {
              "node": "AI Tutorial Generator",
              "type": "ai_languageModel",
              "index": 0
            }
          ]
        ]
      }
    },
    {
      "id": "8c8478b1-b8dd-486e-890b-06fc4653832b",
      "name": "Todos los Lunes a las 10AM",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        16,
        80
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 10 * * 1"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "0fa5dbc6-78a8-4bf7-858a-b1789f2933ff",
      "name": "Obtener Repositorios Populares",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        240,
        80
      ],
      "parameters": {
        "url": "https://api.github.com/search/repositories",
        "options": {}
      },
      "typeVersion": 4.1
    },
    {
      "id": "24c45e82-449d-42c7-a9b3-23a3771890ca",
      "name": "Generador de Tutoriales con IA",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        688,
        80
      ],
      "parameters": {
        "options": {
          "systemMessage": "You are a technical tutorial writer. Based on the provided GitHub repository information, create a comprehensive tutorial that teaches developers how to build something similar or use this technology. Include: 1) Introduction and overview, 2) Prerequisites, 3) Step-by-step implementation guide with code examples, 4) Best practices, 5) Common pitfalls to avoid, 6) Next steps and resources. Make it beginner-friendly but technically accurate. Format with proper markdown including code blocks."
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "428f39bc-ee5a-4a98-b15d-cb432eb67261",
      "name": "Modelo de chat Google Gemini",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        768,
        304
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "id": "wNw45YZvXXpeocJ2",
          "name": "TST API"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "f7e650f7-ec34-4aa3-b534-8232dff02270",
      "name": "Crear Entrada de Tutorial",
      "type": "n8n-nodes-base.wordpress",
      "position": [
        1264,
        80
      ],
      "parameters": {
        "title": "=Tutorial: Building with {{$json.name}} - {{$json.language}} Guide",
        "additionalFields": {
          "tags": [
            "tutorial",
            "{{$json.language}}",
            "development",
            "guide",
            "{{$json.name}}"
          ],
          "status": "draft",
          "content": "",
          "categories": [
            "Tutorials",
            "Programming",
            "{{$json.language}}"
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "3b9f51a2-c4c0-49f5-b12c-161ec09754f7",
      "name": "Notificar al Administrador",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1488,
        80
      ],
      "webhookId": "721daf9a-7dd8-4cbb-a480-19c08487d65a",
      "parameters": {
        "options": {},
        "subject": "=New Tutorial Draft Created: {{$json.name}}"
      },
      "credentials": {
        "smtp": {
          "id": "0xVva6dyyi5SuxBe",
          "name": "SMTP account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "b7eb9512-221d-4347-83cb-ed37e9342672",
      "name": "Dividir Elementos del Repositorio",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        464,
        80
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "5c38943d-e55a-490e-90e5-be4154243db3",
      "name": "Analizar la Salida del Tutorial de IA",
      "type": "n8n-nodes-base.code",
      "position": [
        1040,
        80
      ],
      "parameters": {
        "jsCode": "const items = $input.all();\n\nreturn items.map(item => {\n  // Parse the AI tutorial output\n  let aiOutput = item.json.output;\n  \n  // Remove markdown code blocks if present\n  aiOutput = aiOutput.replace(/```json\\s*/, '').replace(/```\\s*$/, '');\n  \n  // Try to parse as JSON, fallback to using the content directly\n  let parsedOutput;\n  try {\n    parsedOutput = JSON.parse(aiOutput.trim());\n  } catch (e) {\n    // If not JSON, treat as plain markdown content\n    parsedOutput = {\n      title: `Tutorial: Building with ${item.json.name} - ${item.json.language} Guide`,\n      content: aiOutput\n    };\n  }\n  \n  return {\n    json: {\n      title: parsedOutput.title || `Tutorial: Building with ${item.json.name} - ${item.json.language} Guide`,\n      content: parsedOutput.content || aiOutput,\n      repoName: item.json.name,\n      language: item.json.language,\n      description: item.json.description,\n      url: item.json.html_url,\n      stars: item.json.stargazers_count\n    }\n  };\n});"
      },
      "typeVersion": 2
    }
  ],
  "pinData": {},
  "connections": {
    "0fa5dbc6-78a8-4bf7-858a-b1789f2933ff": {
      "main": [
        [
          {
            "node": "b7eb9512-221d-4347-83cb-ed37e9342672",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8c8478b1-b8dd-486e-890b-06fc4653832b": {
      "main": [
        [
          {
            "node": "0fa5dbc6-78a8-4bf7-858a-b1789f2933ff",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f7e650f7-ec34-4aa3-b534-8232dff02270": {
      "main": [
        [
          {
            "node": "3b9f51a2-c4c0-49f5-b12c-161ec09754f7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "24c45e82-449d-42c7-a9b3-23a3771890ca": {
      "main": [
        [
          {
            "node": "5c38943d-e55a-490e-90e5-be4154243db3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b7eb9512-221d-4347-83cb-ed37e9342672": {
      "main": [
        [
          {
            "node": "24c45e82-449d-42c7-a9b3-23a3771890ca",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "24c45e82-449d-42c7-a9b3-23a3771890ca",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "5c38943d-e55a-490e-90e5-be4154243db3": {
      "main": [
        [
          {
            "node": "f7e650f7-ec34-4aa3-b534-8232dff02270",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Intermedio - Creación de contenido, IA Multimodal

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Flujos de trabajo relacionados recomendados

Generar automáticamente artículos de blog de noticias tecnológicas con NewsAPI y Google Gemini, y publicarlos en WordPress
Usar NewsAPI y Google Gemini para generar automáticamente artículos de blog de noticias tecnológicas y publicarlos en WordPress
Code
Wordpress
Http Request
+
Code
Wordpress
Http Request
9 NodosDavid Olusola
Creación de contenido
Publicación automática de artículos de WordPress en redes sociales con Gemini AI y Blotato
Usar Gemini AI y Blotato para publicar automáticamente artículos de WordPress en redes sociales
If
Code
Split Out
+
If
Code
Split Out
11 NodosDavid Olusola
Redes sociales
Usar Gemini para generar boletines de correo electrónico semanales impulsados por IA desde WordPress
Generar una boletín semanal de correo electrónico impulsado por IA desde WordPress con Gemini
If
Code
Email Send
+
If
Code
Email Send
8 NodosDavid Olusola
Redes sociales
contenidogenerador v3
AI驱动blogautomatización:usoGPT-4generación并publicaciónSEOartículo至WordPressyTwitter
If
Set
Code
+
If
Set
Code
144 NodosJay Emp0
Creación de contenido
Flujo automatizado de blog SEO de palabras clave a WordPress con GPT-5 e imágenes de fal.ai
Usar GPT-5 y fal.ai imágenes para automatizar el flujo de blog SEO de palabras clave a WordPress
Set
Code
Wait
+
Set
Code
Wait
96 NodosPaul
Creación de contenido
WordPress Blog Automation Pro (Investigación profunda) v2.1 Marketplace
Usar GPT-4o, Perplexity AI y soporte multilingüe para automatizar la creación de blogs optimizados para SEO
If
Set
Xml
+
If
Set
Xml
125 NodosDaniel Ng
Creación de contenido
Información del flujo de trabajo
Nivel de dificultad
Intermedio
Número de nodos9
Categoría2
Tipos de nodos9
Descripción de la dificultad

Adecuado para usuarios con experiencia intermedia, flujos de trabajo de complejidad media con 6-15 nodos

Autor
David Olusola

David Olusola

@dae221

I help ambitious businesses eliminate operational bottlenecks and scale faster with AI automation. My clients typically see 40-60% efficiency gains within 90 days. Currently accepting 3 new projects this quarter - david@daexai.com

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34