Saswat Saubhagya Rout

Saswat Saubhagya Rout

Automated Blog Generation with Gemini AI, GitHub & Jekyll Publishing

πŸ“ Use Case

This n8n workflow automates the creation and publication of technical blog posts based on a list of topics stored in Google Sheets. It fetches context using Tavily and Wikipedia , generates Markdown-formatted content with Gemini AI , commits it to a GitHub repository , and updates a Jekyll-powered blog β€” all without manual intervention.

Ideal for developers, bloggers, or content teams who want to streamline technical content creation and publishing.


βš™οΈ Setup Instructions

πŸ”‘ Prerequisites

  • n8n (cloud or self-hosted)
  • Tavily API key
  • Google Sheets with blog topics
  • Gemini (Google Palm) API key
  • GitHub repository (Jekyll enabled)
  • GitHub OAuth2 credentials
  • Google OAuth2 credentials

🧩 Setup Steps

  1. Import the workflow JSON into your n8n instance.
  2. Set up the following credentials in n8n:
    • Tavily API
    • Google Sheets OAuth2
    • Google Palm/Gemini AI
    • GitHub OAuth2
  3. Prepare your Google Sheet :
    • Columns: Title , status , row_number
    • Set status to blank for topics to be picked up.
  4. Configure:
    • GitHub repo and _posts/ path
    • Jekyll setup (front matter, _config.yml , GitHub Pages)
  5. Adjust prompt/custom parameters if needed.
  6. Enable and deploy the workflow. Schedule it daily or trigger manually.

πŸ”„ Workflow Details

Node Function
Schedule Trigger Triggers the flow at a set interval
Google Sheets (Get Topic) Fetches the next incomplete blog topic
Extract Topic Parses topic text from the sheet
Tavily Search Gathers up-to-date content related to the topic
Wikipedia Tool Optionally adds more context or images
Summarize Results Formats the context for the AI
Gemini AI Agent (LangChain) Generates a Markdown blog post with YAML front matter
Set File Parameters Prepares the filename, content, and commit message
GitHub Commit Uploads the .md file to the _posts/ directory
Update Google Sheet Marks topic as done after successful commit

πŸ› οΈ Customization Options

  • Change LLM prompt (eg tone, depth, format).
  • Use OpenAI instead of Gemini by switching nodes.
  • Modify filename pattern or GitHub repo path.
  • Add Slack/Discord notifications after publish.
  • Extend flow to upload images or embed YouTube links.

⚠️ Community Nodes Used

This workflow uses the following community nodes :

  • @tavily/n8n-nodes-tavily.tavily – for deep search

⚠️ Ensure these are installed and enabled in your n8n instance.


πŸ’‘ Pro Tips

  • Use GitHub Actions to trigger an automatic Jekyll build post-commit.
  • Structure blog posts with front matter, headings, and table of contents for SEO.
  • Set Schedule Trigger to daily at a fixed time to keep content flowing.
  • Enhance formatting in AI output using code blocks, images, and lists.

βœ… Example Output

 ---
 title: "How LLMs Are Changing Web Development"
 date: "2025-07-25"
 categories: [webdev, AI]
 tags: [LLM, Gemini, n8n, automation]
 excerpt: "Learn how LLMs like Gemini are transforming how we generate and deploy developer content."
 author: "Saswat Saubhagya"
 ---

 ## Table of Contents
 - [Introduction](#introduction)
 - [Understanding LLMs](#understanding-llms)
 - [Use Cases in Web Development](#use-cases-in-web-development)
 - [Challenges](#challenges)
 - [Conclusion](#conclusion)

 ...

Do you want to automate your business?

Let's talk about your project