Do Blog para as Redes Sociais: Como eu posto em Redes Sociais?
03 Apr 2026 (updated: 03 Apr 2026 )
No made by romeo é assim: Eu desenho, escaneio o Doodle ou o Desenho, trato as imagens, escrevo o post, sincronizo o rascunho com a produção, mando tudo para o Gitea e, como num passe de mágica, está tudo postado no Blog e, depois de alguns minutos, nas Redes Sociais em que tenho presença.
E isso tudo, sem nem mesmo entrar nas Redes Sociais para postar. Apenas postando no meu Blog. Mas como eu fiz isso?
Passo #1: a escolha da Ferramenta para criar o Blog
Primeiramente, é a escolha da ferramenta para criar o meu Blog. Eu fiz a Toca do Rapoelho e o made by romeo usando o Hugo, um Gerador de Sites Estáticos1 escrito em Go e que é extremamente flexível, e que usa modelos para fazer as páginas HTML do site.
E sim, HTML. Como os Homens das Cavernas faziam na Internet Antiga, em que sequer existiam coisas como o Wordpress e todos os sites eram feitos forjando o HTML. Um bom exemplo de um site atual feito com HTML Puro (e um teco de JS para o Analytics) é o Motherfucking Website
E claro usando o CSS, outra tecnologia que surgiu no final do milênio passado, para dar um estilo ao site. Você pode fazer tudo isso na mão? Pode. Mas qualquer mudança que você queira fazer, simplesmente fodeu. Vai ter que alterar vários arquivos HTML para adequar as mudanças, o que é viável em sites menores, não para um Blog, que poderá ser atualizado todos os dias.
E é isso que o Hugo faz: Ele “automatiza” a criação do HTML do site, por meio de modelos, que poderiam ser comparados a “moldes” para criar todas as páginas. E entre os modelos que podem ser personalizados, está o RSS, e que pode ser usado em ferramentas como o Make.com.
Mas o que diabos é o RSS?
Eu sei, você deve estar se perguntando o que é essa sigla. RSS, ou “Really Simple Syndication” (o que na língua de Camões soa como “Distribuição Verdadeiramente Simples”), é um formato de arquivo XML2 que permite e distribuição automática de conteúdo como notícias, posts de Blogs e podcasts.
Basicamente, é um meio para que o conteúdo seja enviado diretamente para o Leitor sem ter que entrar no Blog, bastando adicionar o link do RSS num Leitor e assim ter o conteúdo.
E o que é o Make.com?
Eu já sabia do potencial dos leitores terem os posts sendo entregues via RSS, afinal eu meio que fazia isso no Cantinho do Romeo usando o Jetpack. Mas como fazer isso no Hugo, se ele é apenas um Gerador de Site Estático?
Foi em pesquisas de “Como fazer crossposts usando o Hugo”, acabei topando com um post feito por Aaron Bieber em seu Blog que falava exatamente disso.
E nesse post, o Aaron Bieber falou de uma ferramenta chamada Make.com, com isso pensei: “Hum… posso testar na Toca do Rapoelho, ao menos para postar no Bluesky e no Facebook”. E foi mexendo nele, que eu percebi um potencial enorme em criar novos campos no RSS do site.

Passo #2: Configurando as Postagens
O Hugo tem uma coisa chamada de “Front Matter”, que nada mais é do que uma área no começo de todo post que contém algumas propriedades que são usadas pelo Hugo. E o Front Matter é muito flexível, podendo criar novos parâmetros que poderão ser usados em alguns dos modelos. E para exemplificar como isso funciona, usarei o post de um desenho da Ruby.
E o que faz tudo funcionar é essa parte aqui. Indo para cada uma delas. Primeiramente para a socialTags, que nada mais são do que as Hashtags do post nas Redes Sociais que suportam isso.
socialTags:
- furry
- brfurry
- furryart
- oc
- furryoc
- dress
Depois, vamos para as configurações das postagens. Aqui, elas são divididas em parâmetros gerais e nas mais específicos em cada uma das redes. Esses são os parâmetros gerais:
social:
post: true
enCaption: "Just Ruby, a cute young fox >w<"
ptCaption: "Apenas a Ruby, uma Jovem Raposa fofa >w<"
O primeiro parâmetro, o post é aquele que controla se o postagem será realizada ou não. Isso serve muito, pois tem algumas coisas que eu não gostaria de postar, como algumas notinhas.
Depois temos outros dois parâmetros de texto: enCaption e ptCaption. Esses parâmetros servem para definir o texto da postagem. Para algumas das Redes, eu posto somente em Inglês, em outras, posto em Português e Inglês e no Facebook, somente em Português.
Com isso, temos os parâmetros específicos para as Redes Sociais. Em cada uma delas, há os parâmetros em que controla se a postagem será feita naquela Rede Social ou não, o texto da postagem; seja com enCaption, ptCaption ou ambos; e o usuário que será marcado, caso for algum desenho que fiz para alguém.
twitter:
post: true
enCaption:
userTag:
bluesky:
post: true
enCaption:
userTag:
insta:
post: true
enCaption:
ptCaption:
userTag:
facebook:
post: true
ptCaption:
userTag:
Por fim, vem os parâmetros para as imagens. O image é autoexplicativo: É a imagem que irá ser postada na Rede Social. Já o instagram é a versão em jpg daquela imagem, já que o módulo do Make.com para o Instagram aceita apenas imagens nesse formato.
E o carrousel é específico para aquelas postagens que tem várias imagens no Instagram, que são chamadas de Carrossel, mas quais imagens serão usadas nesse Carrossel? Isso é definido por outra lista, que tem o nome de carrousel
image: /images/desenhos/260330-ruby.webp
instagram: /images/social/260330-ruby.jpg
carrousel: true
carrousel:
- /images/social/rta.jpg
- /images/social/200907-ruby.jpg
- /images/social/260330-ruby.jpg
Mas onde esses parâmetros serão usados? No modelo de RSS personalizado, que iremos montar em seguida.
Passo #3: Configurando o RSS para as Redes Sociais
E com isso pensei: “Como criar um Feed RSS personalizado, só para Redes Sociais?”. Comecei a minha pesquisa, até que topei com um post de 2018 no Fórum do Hugo e que tinha o que eu precisava. Em contents, precisei criar um arquivo chamado social.md com esse conteúdo:
---
hidden: true
url: /social.xml
layout: social
outputs:
- rss
---
Sendo que o parâmetro hidden diz basicamente que essa página será escondida da busca do site, o url configura a URL onde esse RSS será acessado, o layout diz qual é o leiaute usado e o output diz qual será a saída. No caso, rss. Mas o que é esse tal de social que está em leiaute?
Passo #4: Criando o Feed Personalizado
É aqui que o layout: social entra. Assim como falei anteriormente, o Hugo trabalha com Modelos para gerar as páginas, e não é diferente com o Feed RSS. Ao invés de simplesmente modificar o padrão para poder atender ao que eu queria, decidi fazer um novo modelo.
E como falado anteriormente, o RSS é basicamente um arquivo XML, e tudo começa com esse cabeçalho, que indica o que é esse arquivo XML. Nesse caso, um RSS.
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="https://www.rssboard.org/media-rss">
E depois disso, as páginas serão selecionadas para esse Feed. Basicamente, todas as páginas regulares em que a Seção não é slides e em que o parâmetro skip não é verdadeiro.
<channel>
{{ range (where (where .Site.RegularPages "Section" "ne" "slides") ".Params.skip" "ne" "true") }}
Com essa condição satisfeita, passemos para os campos do item em que teremos os detalhes dele. Assim como nos parâmetros do Front Matter, em que temos aqueles que são mais gerais para todas as Redes Sociais e para aqueles em que são específicos para cada Rede Social, aqui temos o mesmo.
Campos Gerais
Primeiramente, uma variável em que será preenchida com o Link permanente daquela postagem, e depois com os itens <title> que é o título, <link> que é o Link para a postagem e <post> que é a configuração do post.
<item>
{{ $post := .Permalink }}
<title>{{ .Title }}</title>
<link>{{ .Permalink }}</link>
<post>{{ if .Params.Social.Post }}{{.Params.Social.Post}}{{else}}false{{end}}</post>
E o <post> por padrão, é false, e esse parâmetro é definido no Front Matter da postagem, como eu mencionei no passo anterior.
Depois disso, para algo que é muito importante para um Blog de Desenhos: A Imagem do post. Como o made by romeo trabalha tanto com imagens “dentro” da estrutura do post, como em pastas de uso comum (no diretório /static/images), fiz com que esse parâmetro identificasse os dois tipos de estrutura.
{{ if .Params.Social.Image }}
<image>{{ if (not (strings.HasPrefix .Params.social.image "/")) }}{{.Permalink}}{{.Params.social.image}}{{ else }}{{.Params.social.image | absURL }}{{ end }}</image>{{ else if .Params.image }}
<image>{{ if (not (strings.HasPrefix .Params.image "/"))}}{{.Permalink}}{{.Params.image}}{{ else }}{{ .Params.image | absURL }}{{ end }}</image>{{ end }}
E ainda são usados os parâmetros de dois campos: Params.Social.Image e Params.Image. Já o <instagram> é um parâmetro que está aí desde a primeira versão desse modelo, pois o módulo do Instagram no Make.com aceita apenas imagens em .jpg e como eu salvo essas imagens em static/social, esse parâmetro ficou bem mais simples.
<instagram>{{ .Params.social.instagram | absURL }}</instagram>
Algumas Redes Sociais aceitam Hashtags, e assim eu coloquei um parâmetro nas postagens para definir isso.
<tags>{{ if .Params.SocialTags }}{{ range sort .Params.SocialTags }} #{{ . }}{{ end }}{{end}}</tags>
E o que isso faz? Pega a lista do .Params.SocialTags, organiza em Ordem Alfabética e coloca um # na frente de cada item dessa lista. Por fim, tem os campos que são para os textos em Inglês e Português das postagens, e isso fica no final do RSS personalizado.
{{ if ( .Params.social.post | default false) }}
<enCaption>{{ printf "<![CDATA[" | safeHTML }}{{ .Params.Social.enCaption | safeHTML }}{{ printf "]]>" | safeHTML }}</enCaption>{{ if .Params.Social.ptCaption }}
<ptCaption>{{ printf "<![CDATA[" | safeHTML }}{{ .Params.Social.ptCaption | safeHTML }}{{ printf "]]>" | safeHTML }}</ptCaption>{{ end }}
{{ end }}
</item>
{{ end }}
</channel>
</rss>
E o resultado no social.xml é esse aqui:
<item>
<title>26.03.30 - Ruby</title>
<link>https://madebyromeo.com/artes/260330-ruby/</link>
<post>true</post>
<image>https://madebyromeo.com/images/desenhos/260330-ruby.webp</image>
<instagram>https://madebyromeo.com/images/social/260330-ruby.jpg</instagram>
<tags> #brfurry #dress #furry #furryart #furryoc #oc</tags>
E os Textos das postagens ficam no final.
<enCaption>Just Ruby, a cute young fox >w<</enCaption>
<ptCaption>Apenas a Ruby, uma Jovem Raposa fofa >w<</ptCaption>
</item>
Especificando cada Rede Social
Entre o Início, onde tem alguns dados das postagens e o final, onde temos os textos em Inglês e Portugês, temos a configuração para cada uma das Redes Sociais.
Eu configurei as postagens apenas para o Twitter/X, Bluesky, Instagram e Facebook. Apesar disso, acabei me “espalhando” por outras Redes Sociais. Algumas delas, são mais simples e outras são um pouco mais complicadas. Indo para cada uma delas.
Twitter/X, Bluesky e Facebook
Começando pelo Twitter/X , Bluesky e Facebook. Essas redes são muito mais simples, pois eu usa apenas um único idioma para todas elas: Ou Inglês ou Português. E essas três redes seguem mais ou menos a mesma estrutura.
Começando pelo campo para controlar se o Post será feito ou não. E cada um deles pegam o valor no parâmetro do Front Matter, e todos são falsos por padrão. No Twitter/X, esse campo é assim:
<twitterPost>{{ if .Params.Social.Twitter.Post }}{{.Params.Social.Twitter.Post}}{{else}}false{{end}}</twitterPost>
No Bluesky é assim:
<blueskypost>{{ if .Params.Social.Bluesky.Post }}{{.Params.Social.Bluesky.Post}}{{else}}false{{end}}</blueskypost>
E no Facebook é assim:
<facebookpost>{{ if .Params.Social.Facebook.Post }}{{.Params.Social.Facebook.Post}}{{else}}false{{end}}</facebookpost>
Depois disso, vem o Texto das Postagens. Em todos, pode ser usado tanto o texto especificado no Parâmetro de cada uma das Redes Sociais no Front Matter da postagem ou o texto geral, para todas. E é isso no Twitter/X…
<twitterCaption>{{ if .Params.Social.Twitter.enCaption }}{{ printf "<![CDATA[" | safeHTML }}{{ .Params.Social.Twitter.enCaption | safeHTML }}{{ printf "]]>" | safeHTML }} {{ else }}{{ printf "<![CDATA[" | safeHTML }}{{ .Params.Social.enCaption | safeHTML }}{{ printf "]]>" | safeHTML }}{{end}}</twitterCaption>
… Bluesky…
<blueskycaption>{{ if .Params.Social.Bluesky.enCaption }}{{ printf "<![CDATA[" | safeHTML }}{{ .Params.Social.Bluesky.enCaption | safeHTML }}{{ printf "]]>" | safeHTML }} {{ else }}{{ printf "<![CDATA[" | safeHTML }}{{ .Params.Social.enCaption | safeHTML }}{{ printf "]]>" | safeHTML }}{{end}}</blueskycaption>
… e no Facebook. A única diferença é que no Facebook é usado o texto em Português.
<facebookcaption>{{ if .Params.Social.Facebook.ptCaption }}{{ printf "<![CDATA[" | safeHTML }}{{ .Params.Social.Facebook.ptCaption | safeHTML }}{{ printf "]]>" | safeHTML }} {{ else }}{{ printf "<![CDATA[" | safeHTML }}{{ .Params.Social.ptCaption | safeHTML }}{{ printf "]]>" | safeHTML }}{{end}}</facebookcaption>
Por fim, a marcação do usuário. Por enquanto, é usado apenas um único texto, o “Desenho feito para” ou “Drawing made for”. É isso no Twitter/X…
{{ if .Params.Social.Twitter.UserTag }}<twitteruserTag>Drawing made for @{{ .Params.Social.Twitter.UserTag }}</twitteruserTag>{{ end }}
… no Bluesky…
{{ if .Params.Social.Bluesky.UserTag }}<blueskyuserTag>Drawing made for @{{ .Params.Social.Bluesky.UserTag }}</blueskyuserTag>{{ end }}
… e no Facebook. Mas, não acabo usando isso no Facebook.
{{ if .Params.Social.Facebook.UserTag }}<facebookuserTag>Drawing made for @{{ .Params.Social.Facebook.UserTag }}</facebookuserTag>{{ end }}
E como elas ficam no RSS que será usado pelo Make?
<twitterPost>true</twitterPost>
<twitterCaption>Just Ruby, a cute young fox >w<</twitterCaption>
<blueskypost>true</blueskypost>
<blueskycaption>Just Ruby, a cute young fox >w<</blueskycaption>
<facebookpost>true</facebookpost>
<facebookcaption>Apenas a Ruby, uma Jovem Raposa fofa >w<</facebookcaption>
Fechando essas três Redes Sociais, vamos para o Instagram, que pra mim foi a que ficou mais interessante.
Instagram, Tumblr, Pinterest e Threads
No princípio, era apenas o Instagram. Mas, acabei me espalhando para o Tumblr, Pinterest e o Threads. E para mim, a configuração do Instagram é a mais interessante, pois eu quis fazer com que ele fosse bilíngue.
Começando pelo campo para controlar se o Post será feito ou não. Assim como no Twitter/X, Bluesky e Facebook, o do Instagram pega o valor no parâmetro do Front Matter, e é falso por padrão.
<instagrampost>{{ if .Params.Social.Insta.Post }}{{.Params.Social.Insta.Post}}{{else}}false{{end}}</instagrampost>
Depois, os campos mais interessantes: O texto em Inglês e em Português. Aqui, acabei tendo uma ideia: Por que não, sinalizar o idioma com uma bandeira dos Estados Unidos para simbolizar o Inglês e não ter essa bandeira quando necessário?
E foi isso que fiz. A condição para aparecer essa bandeira, é que o Texto em Português esteja presente. E se não estiver presente, a bandeira não aparece.
<instagramcaption>{{ if .Params.Social.Insta.ptCaption }}🇺🇸: {{ else if .Params.Social.ptCaption }}🇺🇸: {{end}} {{ if .Params.Social.Insta.enCaption }}{{ printf "<![CDATA[" | safeHTML }}{{ .Params.Social.Insta.enCaption | safeHTML }}{{ printf "]]>" | safeHTML }} {{ else }}{{ printf "<![CDATA[" | safeHTML }}{{ .Params.Social.enCaption | safeHTML }}{{ printf "]]>" | safeHTML }}{{end}}</instagramcaption>
E depois, o texto em Português, que é mais simples. O texto sempre será acompanhado da bandeira do Brasil.
<instagramptcaption>{{ if .Params.Social.Insta.ptCaption }}🇧🇷: {{ else if .Params.Social.ptCaption }}🇧🇷: {{end}} {{ if .Params.Social.Insta.ptCaption }}{{ printf "<![CDATA[" | safeHTML }}{{ .Params.Social.Insta.ptCaption | safeHTML }}{{ printf "]]>" | safeHTML }} {{ else }}{{ printf "<![CDATA[" | safeHTML }}{{ .Params.Social.ptCaption | safeHTML }}{{ printf "]]>" | safeHTML }}{{end}}</instagramptcaption>
E ambos os textos podem ser obtidos tanto do Parâmetro para todas as redes sociais (.Params.Social.enCaption e .Params.Social.ptCaption) quanto do Parâmetro específico para o Instagram (.Params.Social.Insta.enCaption e .Params.Social.Insta.ptCaption).
Com isso, vem a Marcação do Usuário do Instagram. Que é igual à do Twitter/X, Bluesky e Facebook.
{{ if .Params.Social.Insta.UserTag }}<instagramuserTag>Drawing made for @{{ .Params.Social.Insta.UserTag }}</instagramuserTag>{{ end }}
Por fim, a Configuração do Carrossel do Instagram. O Carrossel é aquele tipo de postagem em que há múltiplas imagens e que eu uso somente em alguns tipos de postagens. Essa configuração começa com o campo que indica se aquela postagem é um Carrossel ou não.
<instagramCarrousel>{{ if .Params.Social.Carrousel }}{{.Params.Social.Carrousel}}{{else}}false{{end}}</instagramCarrousel>
E por fim, as imagens que serão usadas no Carrossel. É aqui que aquela variável de $post é usada, para ter a possibilidade de usar imagens fora da pasta static/images/social. Cada um dos itens da lista das imagens para o Carrossel é tratada com um separador (,) para que isso possa ser separado depois.
{{ if and (.Params.Social.Carrousel) .Params.Carrousel }}
<carrousel>{{ range .Params.Carrousel }}
{{ if (not (strings.HasPrefix . "/")) }}{{$post}}{{ . }}{{ else }}{{ . | absURL }} , {{ end }}{{end}} </carrousel>{{ end }}
E esse é o resultado de tudo isso.
<instagrampost>true</instagrampost>
<instagramcaption>🇺🇸: Just Ruby, a cute young fox >w<</instagramcaption>
<instagramptcaption>🇧🇷: Apenas a Ruby, uma Jovem Raposa fofa >w<</instagramptcaption>
<instagramCarrousel>true</instagramCarrousel>
<carrousel>https://madebyromeo.com/images/social/rta.jpg , https://madebyromeo.com/images/social/200907-ruby.jpg , https://madebyromeo.com/images/social/260330-ruby.jpg ,</carrousel>
Passo #5: Automatizando as coisas
Tá. A postagem foi configurada no Front Matter, foi criado todo um RSS personalizado com cada uma das configurações do Front Matter, mas onde que cada uma dessas coisas serão usadas? É aqui que entra o Make.com. E esse aqui é todo o Pipeline no Make.com

E todo esse Pipeline é dividido em cinco partes. Primeiramente, temos o começo de tudo. Um Webhook, um Timer de 3 minutos, um leitor de RSS e um conversor de imagens, pois já tive problemas com as imagens nos módulos do Make.

Logo depois, temos um Router para o Pinterest, outro Router e dois módulos do Buffer. Isso se fez necessário por dois motivos: O Twitter/X não é suportado oficialmente no Make.com e configurar o Bluesky é um trabalho de corno.

Depois disso, temos um segundo Router, que vai para o Facebook, Tumblr e Instagram. O do Facebook é bem simples: Posta no Facebook e cria um comentário naquela postagem com o Link da Postagem no Blog.

Logo em seguida, para o Tumblr. As Hashtags do Tumblr são diferentes, então tive que separar as Tags, para aí ser colocado no Tumblr.

E por fim, o Instagram e o Threads. Há duas formas de fazer uma postagem com Imagem no Instagram: Uma única imagem ou num Carrossel. E há dois módulos do Make para isso e é usado um módulo de if-else para poder fazer isso.
Tudo começa com o campo de Instagramcarrousel. Se for Falso, segue para a postagem normal, de uma única imagem. Se for Verdadeiro, segue para algo que irá separar as imagens do carrousel, repassar cada uma das imagens para o Conversor e depois para uma Lista formatada de acordo com o que o módulo de Carrousel aceita.

Agora que tem uma explicação por cima, que tal olhar um pouco mais por dentro?
Criando o Webhook, que ativará todo o processo
Eu poderia fazer com que todo esse Pipeline fosse executado em determinados horários, mas eu queria que isso fosse feito de uma maneira mais natural: Postou no Blog, posta automaticamente nas Redes Sociais.
Como fazer isso? Basicamente temos que contratar um mensageiro que veja que o Git do Blog foi atualizado e assim, avisar ao Make que há conteúdo novo. E esse “mensageiro” se chama Webhook, e é ele quem vai comunicar ao Make quando ativar todo o processo.
A criação do Webhook é muito simples. A primeira coisa que se deve fazer, é criar um Módulo de Webhook. Assim, pesquise por “webhook” e clique no módulo…

… depois em “Custom webhook.

Isso vai abrir essa tela aqui. Só clicar em “Create a webhook”…

… dar um nome ao Webhook…

… e pronto! O Webhook já está criado. E será dado um Link que será usado para receber a “mensagem” para ativar todo o processo da postagem.

Mas o que fazer com esse Link? Ele deverá ser adicionado no cliente Git, no caso do made by romeo, é o Gitea. E isso é até que bem simples, e fica mais ou menos assim.

Puxando o Feed RSS
Depois do Webhook, vem uma pausa de três minutos. Eu coloquei essa pausa, justamente para dar tempo da Hostinger puxar o conteúdo do /public que está no Gitea.

E depois dessa pausa de três minutos, o Módulo de RSS lê o RSS personalizado, com o máximo de um item.

E com isso, passamos por um filtro. Se o campo post for verdadeiro, prossegue com tudo.

Com isso, vem mais um módulo, que é o CloudConvert. Isso foi necessário porque alguns módulos estavam dando problemas com as imagens.
![]() |
![]() |
|---|
O CloudConvert dá uma URL temporária para as imagens, e assim, começa a brincadeira em outros módulos.
Postando no Twitter, Bluesky e Threads
Para postar no Twitter, Bluesky e no Threads, eu “quarterizei” esse serviço para o Buffer, para deixar as coisas bem mais simples. Aqui, eu usei o Texto em Inglês no Twitter/X e Bluesky e o Texto Bilíngue do Instagram no Threads. Para poder fazer essa ponte, precisa ter uma conta no Buffer.
![]() |
![]() |
|---|
O Buffer aceita até três contas em sua versão gratuita e o uso dele no Make é legal justamente para módulos que não existem oficialmente, como o caso do Twitter/X e do Threads, ou para aqueles em que a configuração é mais complicada, como no caso do Bluesky.
Postando no Pinterest
Depois, é a vez do Pinterest. A configuração é bem simples, apenas com o Tipo de Fonte, o Link da Imagem, Quadro, Título, Texto e o Link.
![]() |
![]() |
|---|
E é apenas isso.
Postando no Facebook
O Facebook também é bem simples. Basicamente, você seleciona a Página em que o post será feito, configura a URL da imagem a ser postada (Aqui é usada a URL temporária que foi dado pelo CloudConvert), a Legenda da Imagem e o Texto da Postagem.
![]() |
![]() |
|---|
Uma coisa legal do Facebook no Make, é que é possível adicionar um comentário em uma postagem. Aqui, ele pega o ID do post e cria um comentário com a URL da postagem do Blog.

E isso fecha a Postagem do Facebook.
Postando no Instagram
Já o Instagram, foi bem interessante aqui, pois há duas formas de postar imagens no Instagram: Um post com uma única imagem, ou um Carrossel. E como eu quero postar das duas formas, eu usei um módulo de “If-else”.
Começando pelo post de Imagem Única, a configuração é bem simples: basicamente, é a seleção do Perfil do Instagram3, a URL da Imagem (que está sendo usado a URL temporária que foi obtida pelo CloudConvert), e por fim, o texto da postagem.
![]() |
![]() |
|---|
Já para o Carrossel, é um pouco mais complexa. Primeiramente, precisamos separar as URLs que estão no parâmetro do Carrossel no RSS. Isso é feito com o módulo de Iterador, onde é usado um comando de split que separa as URLs…

… cada uma das URLs é repassada para o CloudConvert para serem convertidas….
![]() |
![]() |
|---|
… com isso é criada uma Matriz que tem a URL Temporária que é dada pelo CloudConvert e com o Tipo de Mídia…

… que por fim, é repassada para o módulo de Carrossel do Instagram. A única diferença desse módulo para o que posta uma única imagem, é justamente a Matriz com os arquivos.

Postando no Tumblr
Por fim, o Tumblr. Primeiramente, as Tags são tratadas com uma cadeira de comandos, que basicamente substituem os espaços por vírgulas, já que é dessa forma que as Tags no Tumblr são separadas, e substituem as cerquilhas por espaços, adiciona mais uma Tag e retira os espaços em excesso.

E por fim, isso é repassado para o módulo do Tumblr. E essa é a configuração desse módulo, que ficou bem simples também. Uma coisa a adicionar é que, por padrão, o texto da postagem é no formato html e tive que mudar para markdown para o texto ficar do jeito que eu queria.
![]() |
![]() |
|---|
Passo #6: Depois do Construir, é só usar
Depois de configurar tudo, esse é o único passo relevante: Só escrever, jogar tudo pro Git e com isso, a postagem estará publicada no Blog e nas Redes Sociais.
Com tudo começando num editor de texto, que suporte Markdown e três comandinhos para sincronizar tudo com o Git. E é isso uu fiz isso tudo para fazer as postagens da forma mais tranquila possível e sei que isso não é para todo mundo. Bom, talvez seja algo apenas para malucos mesmo.
-
Um Gerador de Site Estático é uma ferramenta que transforma arquivos simples (geralmente escritos em Markdown) e modelos em arquivos HTML completo e pronto para a publicação. (Disponível em Cloudflare) ↩︎
-
O XML é uma Linguagem de Marcação4 que é usada para estruturar e transferir dados. O XML foca na representação de dados e é usado em várias aplicações (Disponível em Logto). ↩︎
-
Lembrando que você tem que ter o Perfil do Instagram associado no Meta Business Suite para poder ser utilizado aqui ↩︎
-
Linguagem de Marcação é um conjunto de códigos que define estrutura, formatação e exibição sem recorrer à Lógica de Programação ↩︎













