Innehållsproduktion fastnar på tråkiga ställen. En ämneslista bor i ett kalkylark, researchen är utspridd över flikar och publiceringen blir en försiktig copy-paste-rutin som du måste få “precis rätt” varje gång.
Den här automatiseringen av Jekyll-inlägg slår hårdast mot stressade marknadsförare, men grundare som levererar thought leadership och byråteam som hanterar kundbloggar känner också av det. Du lägger en timme på processen i stället för på att skriva, redigera eller marknadsföra.
Det här flödet förvandlar en ämnesrad i Google Sheets till en strukturerad, Jekyll-klar Markdown-fil som committas till GitHub och markerar sedan ämnet som klart. Du får se hur det fungerar, vad du behöver och var team oftast kör fast.
Så fungerar automatiseringen
Hela n8n-flödet, från trigger till slutligt resultat:
n8n Workflow Template: Google Sheets till GitHub, Jekyll-inlägg klara
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n8@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
end
subgraph sg1["Flow 2"]
direction LR
n9@{ icon: "mdi:database", form: "rounded", label: "Get Topic from Google Sheet", pos: "b", h: 48 }
end
subgraph sg2["Flow 3"]
direction LR
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Extract Blog Title", pos: "b", h: 48 }
end
subgraph sg3["Flow 4"]
direction LR
n7@{ icon: "mdi:cog", form: "rounded", label: "Tavily Web Search", pos: "b", h: 48 }
end
subgraph sg4["Flow 5"]
direction LR
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Summarize Search Results"]
end
subgraph sg5["Generate Blog with G Flow"]
direction LR
n0@{ icon: "mdi:robot", form: "rounded", label: "Generate Blog with Gemini", pos: "b", h: 48 }
end
subgraph sg6["Flow 7"]
direction LR
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/github.dark.svg' width='40' height='40' /></div><br/>Commit Blog Post to GitHub"]
end
subgraph sg7["Flow 8"]
direction LR
n10@{ icon: "mdi:database", form: "rounded", label: "Mark Topic as Done in Sheet", pos: "b", h: 48 }
end
subgraph sg8["Flow 9"]
direction LR
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Prepare File for Commit", pos: "b", h: 48 }
end
subgraph sg9["Flow 10"]
direction LR
n3@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model", pos: "b", h: 48 }
end
subgraph sg10["Fetch Wikipedia Cont Flow"]
direction LR
n1@{ icon: "mdi:wrench", form: "rounded", label: "Fetch Wikipedia Context", pos: "b", h: 48 }
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n8 trigger
class n0 ai
class n3 aiModel
class n1 ai
class n9,n10 database
class n4 code
classDef customIcon fill:none,stroke:none
class n4,n5 customIcon
Problemet: Jekyll-publicering blir till kalkylarkskaos
Det låter enkelt: välj ett ämne, gör research, skriv inlägget och publicera. I praktiken dör den “enkla” delen så fort du behöver konsekvent front matter, korrekta filnamn, rätt _posts/-sökväg och ett pålitligt sätt att följa upp vad som är klart. En person uppdaterar arket, en annan publicerar sent, och plötsligt har du dubbletter, saknade datum eller inlägg som bygger lokalt men skapar fel på GitHub Pages. Värst av allt, om vi ska vara ärliga: du kan inte avgöra om flaskhalsen är skrivandet eller processen runt omkring.
Friktionen byggs på.
- Du tappar ungefär 30 minuter per inlägg bara på att “sätta upp” researchen över flikar och källor.
- Front matter glider över tid, vilket ger inkonsekventa kategorier, taggar och utdrag.
- GitHub-commits blir en manuell ceremoni, så inlägg fastnar i draft-limbo i flera dagar.
- Statusspårning i kalkylark är lätt att glömma, så din “pipeline” är aldrig korrekt.
Lösningen: Google Sheets → researchat utkast → GitHub-commit
Det här n8n-flödet tar din ämnesbacklogg i Google Sheets och gör om den till publicerbara Jekyll-inlägg, utan att du behöver sy ihop delarna manuellt. Det startar enligt schema, hämtar nästa rad där status är tom, och använder sedan titeln som “single source of truth”. Därefter samlar det in kontext via Tavily-sökning och (valfritt) Wikipedia, kondenserar researchen till något som AI:n faktiskt kan använda, och ber Gemini generera ett Markdown-inlägg med YAML front matter. Till sist bygger det filnamn och commit-meddelande, committar .md-filen till din GitHub-repos _posts/-katalog och markerar raden i Google Sheets som klar när committen lyckas.
Det börjar med en schemalagd trigger och en enda “nästa ämne”-hämtning i Google Sheets. Research och sammanfattning sker i mitten, så AI:n inte behöver gissa. Resultatet är en Jekyll-klar Markdown-fil i GitHub, redo för GitHub Pages att bygga.
Vad du får: automatisering vs. resultat
| Vad det här flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att du publicerar 3 tekniska inlägg i veckan från en Google Sheets-backlogg. Manuellt kan du lägga cirka 30 minuter på att samla källor, ytterligare 20 minuter på att formatera Markdown och YAML front matter, och sedan 10 minuter på att committa, lägga filen rätt och uppdatera arket. Säg runt 1 timme per inlägg. Med det här flödet lägger du kanske 5 minuter på att underhålla ämnesraden, väntar på att körningen ska bli klar och gör en snabb redaktionell genomgång. Det är ungefär 2 till 3 timmar tillbaka varje vecka, och din GitHub-historik hålls snygg.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
- Google Sheets för din ämneslista och statusspårning
- GitHub för att lagra inlägg i din Jekyll-repo
- Tavily API-nyckel (hämta den i din Tavily-dashboard)
- Gemini API-nyckel (hämta den via Google AI Studio / Google Cloud)
Kunskapsnivå: Medel. Du kopplar behörigheter, bekräftar repo-sökvägar och justerar en prompt, men du behöver inte skriva kod om du inte vill djupare anpassning.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Ett schema drar igång allt. Flödet körs dagligen (eller i den takt du väljer) så att din innehållsmotor fortsätter rulla även när kalendern inte gör det.
En enda ämnesrad blir input. n8n läser Google Sheets, hittar nästa rad där status är tom och plockar ut titeln så att varje efterföljande steg hålls synkat.
Research samlas in och kondenseras. Tavily hämtar relevanta källor för ämnet, Wikipedia kan lägga till bakgrund, och ett sammanfattningssteg förvandlar textmassan till en tajt brief som Gemini kan använda.
Gemini skriver, GitHub publicerar. AI:n genererar Markdown med YAML front matter, n8n sätter filnamn och commit-detaljer och committar sedan filen till din repos _posts/-katalog. Efter en lyckad commit markeras raden i Google Sheets som klar.
Du kan enkelt ändra prompten och filnamnsmönstret så att det matchar din sajt och dina redaktionella regler. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-implementeringsguide
Steg 1: Konfigurera den schemalagda triggern
Ställ in schemat som startar automatiseringen så att den kan hämta nästa bloggäme varje dag.
- Lägg till och öppna Scheduled Automation Trigger.
- Ställ in schemaregeln så att den körs dagligen vid Trigger At Hour
9. - Bekräfta att arbetsflödets tidszon matchar ert önskade schema (det här arbetsflödet använder
Asia/Kolkata).
Steg 2: Anslut Google Sheets
Hämta ett opublicerat ämne från ett kalkylark och uppdatera senare dess status till ”done”.
- Öppna Retrieve Topic from Sheet och välj ert kalkylark.
- Ställ in Document till
YOUR_GOOGLE_SHEETS_DOCUMENT_IDoch Sheet tillgid=0. - Behåll filtret så att status är lika med
=för att rikta in rader som väntar på bearbetning. - Behörighet krävs: Anslut era googleSheetsOAuth2Api-uppgifter.
- Öppna Update Sheet Status Done, ställ in Operation till
updateoch mappa status tilldonesamt row_number till{{$json.row_number}}. - Behörighet krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Update Sheet Status Done.
row_number; se till att ert ark innehåller den här kolumnen och att den returneras av Retrieve Topic from Sheet.Steg 3: Förbered ämnet och forskningskontexten
Normalisera ämnet, kör en webbsökning och kondensera toppresultaten till ett kompakt kontextblock.
- I Isolate Topic Title, behåll tilldelningen där topic är satt till
{{ $json.Title }}. - Öppna Tavily Web Lookup och ställ in Query till
{{ $json.topic }}. - Säkerställ att options.search_depth är satt till
advancedför djupare resultat. - Behörighet krävs: Anslut era tavilyApi-uppgifter.
- I Condense Search Findings, behåll JavaScript-koden som bygger
TopicochContextfrån de tre främsta resultaten.
Steg 4: Konfigurera AI-skrivande med Gemini
Generera ett fullt formaterat Markdown-blogginlägg med hjälp av den kondenserade kontexten och verktygsstöd för Wikipedia.
- Öppna Gemini Chat Language Model och ställ in Model Name till
models/gemini-2.5-pro. - Behörighet krävs: Anslut era googlePalmApi-uppgifter i Gemini Chat Language Model.
- Öppna Compose Article via Gemini och behåll Prompt Type satt till
define. - Ställ in Text till mallen som injicerar
{{$json["Topic"]}}och{{$json["Context"]}}. - Behåll det detaljerade systemMessage som definierar YAML front matter och Markdown-formatering.
- Bekräfta att Retrieve Wikipedia Details är ansluten som ett AI-verktyg till Compose Article via Gemini.
Steg 5: Konfigurera publicering till GitHub
Bygg Markdown-filnamnet och innehållet, och committa det sedan till ert GitHub-repository.
- I Assemble Commit File, ställ in filePath till
{{ $now.format('yyyy-MM-dd') }}-{{ $('Isolate Topic Title').item.json.topic.toLowerCase().replace(/ /g, '-') }}.md. - Ställ in fileContent till
{{$json["output"]}}. - Ställ in commitMessage till
Add blog post: {{ $('Retrieve Topic from Sheet').item.json.Title }}. - Öppna Publish Post to GitHub och ställ in Owner till
YOUR_GITHUB_USERNAMEsamt Repository tillYOUR_REPOSITORY_NAME. - Ställ in File Path till
_posts/{{ $json.filePath }}, File Content till{{ $json.fileContent }}och Commit Message till{{ $json.commitMessage }}. - Behörighet krävs: Anslut era githubOAuth2Api-uppgifter.
_posts och att filnamnsformatet matchar reglerna för er site generator.Steg 6: Testa och aktivera ert arbetsflöde
Kör ett manuellt test för att validera dataflödet och aktivera sedan schemat för produktion.
- Klicka på Execute Workflow för att köra ett manuellt test från Scheduled Automation Trigger.
- Verifiera att Retrieve Topic from Sheet returnerar en rad och att Isolate Topic Title matar ut en
topic. - Kontrollera att Compose Article via Gemini matar ut en fullständig Markdown-artikel och att Publish Post to GitHub skapar en fil i
_posts. - Bekräfta att Update Sheet Status Done sätter arkradens status till
done. - Slå på arbetsflödet Active för att aktivera den schemalagda publiceringscykeln.
Vanliga fallgropar
- OAuth-behörigheter för Google Sheets kan löpa ut eller sakna åtkomst till kalkylarket. Om ämnen slutar laddas, kontrollera behörigheten i n8n och bekräfta att arket är delat med det anslutna Google-kontot.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder misslyckas på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in ditt varumärkes röst tidigt, annars kommer du redigera output för alltid.
- GitHub OAuth-behörigheter är lätta att ge för snävt. Om commits misslyckas, kontrollera scopes för GitHub-app/token och bekräfta att flödet pekar på rätt repo och rätt
_posts/-sökväg.
Vanliga frågor
Cirka 45 minuter om dina behörigheter och din repo redan är redo.
Nej. Du kommer mest koppla konton och redigera en prompt. Den enda “tekniska” delen är att bekräfta sökvägen i din Jekyll-repo och filnamnsformatet.
Ja. n8n har ett gratis alternativ för egen drift och en gratis testperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in kostnader för Tavily- och Gemini-API-användning.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och hanterar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serveradministration.
Ja, och det är en av de bästa justeringarna du kan göra. Uppdatera instruktionerna i agenten “Compose Article via Gemini” så att YAML:en matchar din sajt (kategorier, taggar, författare, utdrag, till och med en innehållsförteckning). Om du också vill ha ett annat filnamnsschema ändrar du det i steget “Assemble Commit File” där sökväg och commit-meddelande förbereds. Team lägger ofta till ett eget slug-fält från Google Sheet, tvingar standardkategorier och standardiserar utdragslängd.
Oftast handlar det om OAuth-scope eller repo-åtkomst. Anslut GitHub OAuth2-behörigheten på nytt i n8n, bekräfta att den kan skriva till målrepositoriet och dubbelkolla _posts/-sökvägen du committar till. Om det bara misslyckas ibland kan rate limiting eller ett tillfälligt GitHub-avbrott vara orsaken, så titta i körloggarna för exakt svar.
På egenhostad n8n begränsas det i praktiken av din server och dina API-kvoter.
Ofta, ja, eftersom det här flödet kräver lite mer än enkel “A till B”. Du hämtar flera källor, kondenserar research, genererar långform-Mardown och committar filer till en specifik repo-sökväg, vilket är där n8n:s flexibilitet hjälper. Det stödjer också egen drift, så du betalar inte mer bara för att du kör det dagligen. Zapier eller Make kan fortfarande fungera om du håller det väldigt enkelt, men du kan slå i taket när logiken blir mer grenad. Prata med en automationsexpert om du vill ha en snabb rekommendation för din stack.
När detta väl rullar slutar ditt kalkylark vara en kyrkogård av “ämnen någon gång” och börjar fungera som en riktig publiceringspipeline. Flödet tar hand om det repetitiva. Du tar hand om idéerna och den sista redigeringen.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.