Um Smart Message pode assinar uma publicação com os identificadores dos autores do artigo nas redes sociais, por exemplo By @camille.example.com and Noah Petit. A Nonli lê os nomes dos autores no artigo e procura depois cada nome numa tabela que o utilizador mantém: no Airtable ou diretamente no modelo.
Esta página usa nomes e identificadores fictícios. Cada excerto abaixo foi gerado com o motor de modelos da Nonli em 2026-10-26, com dados de teste e sem publicar nada.
1. O que isto faz e o que não faz#
- Associa os autores conhecidos de um artigo a identificadores. Não encontra pessoas nem empresas citadas no texto do artigo e não adivinha uma conta a partir de um nome.
- O modelo escreve texto. Se esse texto se torna uma verdadeira menção depende da rede (consulte «Que redes transformam o texto numa menção» abaixo).
- Não permite menções de perfis pessoais do LinkedIn. Consulte Posso mencionar pessoas ou empresas em publicações do LinkedIn?
2. Pré-requisitos#
- Nomes dos autores nos seus artigos. A Nonli lê os autores na página do artigo, nos seus dados estruturados (Schema.org
authorem JSON-LD, ou microdadositemprop="author"com umname). Quando a página não os tem, a Nonli recorre à meta tagarticle:author, que alguns sites preenchem com o URL de um perfil em vez de um nome: a pesquisa usa então esse URL. Num modelo, estão disponíveis comoauthors, uma lista de nomes. Verifique primeiro os valores reais num artigo verdadeiro: consulteauthorsem Que variáveis Twig estão disponíveis na Nonli?. Não usepost.author: é um texto único que pode descrever a pessoa que criou a publicação na Nonli, e não o autor do artigo. - Os identificadores dos seus autores em cada rede onde publica.
- Para o método Airtable, um token do Airtable guardado na Nonli e o ID da sua base. Siga Como criar uma chave secreta de API do Airtable para a Nonli. Nunca envie o seu token ao suporte.
3. Método 1: uma tabela do Airtable#
3.1. Crie a tabela#
Crie uma tabela chamada Authors com uma linha por autor:
| Name | Bluesky |
|---|---|
| Camille Martin | camille.example.com |
| Léa Dubois | lea.example.com |
| Sam Lefèvre |
- Name é a chave de pesquisa. Escreva-o exatamente como aparece em
authors, com os mesmos acentos, espaços e maiúsculas. A Nonli não corrige nem normaliza os nomes, pelo que uma variante comoLea DuboisparaLéa Duboisnão é uma correspondência fiável. Se um autor assinar de várias formas, adicione uma linha por grafia. - Mantenha cada nome único. Se duas linhas tiverem o mesmo nome, a Nonli usa a primeira devolvida pelo Airtable e a outra linha é ignorada.
- Adicione uma coluna por rede (por exemplo
Bluesky,Mastodon). Uma célula vazia significa «nenhum identificador para esta rede». - Guarde os identificadores sem
@: é o modelo que o adiciona. - Use um campo single line text (texto de uma linha) para cada coluna de rede. Um campo de registo ligado, de pesquisa ou de seleção múltipla devolve uma lista em vez de texto, e o modelo falha em vez de recorrer ao nome.
3.2. Escreva o modelo#
1{%- set signature = [] -%}2{%- for authorName in authors -%}3 {%- set handle = airtable('appYourBaseId', 'Authors', 'Name', authorName, 'Bluesky') -%}4 {%- set signature = signature|merge([handle ? '@' ~ handle : authorName]) -%}5{%- endfor -%}6{{ title }}7{%- if signature is not empty %}8
9By {{ signature|join(', ', ' and ') }}10{%- endif %}Substitua appYourBaseId pelo ID da sua base, e Authors, Name e Bluesky pelos nomes da sua tabela e das suas colunas. airtable(base, table, searchField, searchValue, fieldToReturn) devolve o valor de fieldToReturn na primeira linha em que searchField é igual a searchValue, ou nada quando essa linha não existe ou a célula está vazia.

O modelo colado num novo modelo Smart message, antes de guardar. appYourBaseId é um marcador de posição.
3.3. Resultado esperado#
Com o título Budget 2027: what changes e a tabela acima:
authors | Resultado |
|---|---|
| (nenhum) | Budget 2027: what changes |
Camille Martin | Budget 2027: what changesBy @camille.example.com |
Noah Petit (não está na tabela) | Budget 2027: what changesBy Noah Petit |
Léa Dubois, Noah Petit, Camille Martin | Budget 2027: what changesBy @lea.example.com, Noah Petit and @camille.example.com |
Sam Lefèvre (célula vazia) | Budget 2027: what changesBy Sam Lefèvre |
Este modelo segue estas regras:
- Sem autor, sem assinatura. A linha
Bysó é adicionada quando existe pelo menos um autor, para que uma publicação nunca termine com umByisolado. - Recurso ao nome. Um autor sem identificador mantém o seu nome completo, pelo que todos os autores continuam a ser creditados.
- A ordem é mantida. Os autores aparecem pela ordem do artigo, separados por vírgulas, com
andantes do último.
3.4. Variante: mostrar apenas os autores com correspondência#
Se preferir creditar apenas os autores que têm um identificador, ignore os restantes:
1{%- set handles = [] -%}2{%- for authorName in authors -%}3 {%- set handle = airtable('appYourBaseId', 'Authors', 'Name', authorName, 'Bluesky') -%}4 {%- if handle -%}5 {%- set handles = handles|merge(['@' ~ handle]) -%}6 {%- endif -%}7{%- endfor -%}8{{ title }}9{%- if handles is not empty %}10
11By {{ handles|join(', ', ' and ') }}12{%- endif %}Com Léa Dubois, Noah Petit, Camille Martin, o resultado é By @lea.example.com and @camille.example.com. Apenas com autores sem correspondência, não há linha By. Escolha esta variante com conhecimento de causa: deixa de fora os autores sem identificador.
3.5. Variante: assinar apenas quando todos os autores têm correspondência#
Algumas equipas preferem tudo ou nada: a assinatura só é adicionada quando todos os autores têm um identificador, e é totalmente omitida caso contrário. Mantenha o ciclo da variante anterior e altere apenas a condição:
1{%- if handles is not empty and handles|length == authors|length %}Com Léa Dubois, Camille Martin, o resultado é By @lea.example.com and @camille.example.com. Com Léa Dubois, Noah Petit, Camille Martin, não há qualquer linha By, porque Noah Petit não tem identificador.
| Política | Autor sem correspondência | Ideal quando |
|---|---|---|
| Recurso ao nome (modelo principal) | Creditado pelo nome | Todos os autores têm de ser sempre creditados |
| Mostrar apenas os autores com correspondência | Deixado de fora | Só os identificadores importam, um crédito parcial é aceitável |
| Assinar apenas quando todos os autores têm correspondência | Assinatura inteira deixada de fora | Uma assinatura parcial seria enganadora |
Nenhuma destas é um comportamento predefinido da Nonli: é o modelo que decide, por isso escolha a política que se adequa às suas regras editoriais.
4. Método 2: uma tabela dentro do modelo#
Para poucos autores, pode manter a tabela no próprio Smart Message, sem Airtable. A entrada (authors) e a regra de recurso são as mesmas do método 1:
1{%- set blueskyHandles = {2 'Camille Martin': 'camille.example.com',3 'Léa Dubois': 'lea.example.com',4 'Alex Moreau': 'alex.example.com',5} -%}6{%- set signature = [] -%}7{%- for authorName in authors -%}8 {%- set handle = blueskyHandles[authorName] ?? null -%}9 {%- set signature = signature|merge([handle ? '@' ~ handle : authorName]) -%}10{%- endfor -%}11{{ title }}12{%- if signature is not empty %}13
14By {{ signature|join(', ', ' and ') }}15{%- endif %}Dá os mesmos resultados que o método 1 para os mesmos nomes: por exemplo, Camille Martin, Noah Petit dá By @camille.example.com and Noah Petit. Os nomes têm de corresponder exatamente: Lea Dubois (sem acento) ou camille martin (em minúsculas) não encontram nada e são impressos tal como estão escritos.
Este método é um exemplo a adaptar, não uma configuração copiada de um cliente.
4.1. Que método escolher#
| Airtable | Tabela no modelo | |
|---|---|---|
| Onde edita a correspondência | Numa única tabela do Airtable | Em cada modelo |
| Partilhada por vários modelos | Sim: uma alteração aplica-se em todo o lado | Não: cada cópia do modelo tem de ser atualizada |
| Requer um token do Airtable | Sim | Não |
| Ideal para | Uma redação com muitos autores | Poucos autores estáveis |
Nenhum dos métodos altera as menções que uma rede aceita.
5. Testar antes de publicar#
No editor de modelos Smart Message, teste o modelo com artigos representativos antes de guardar: um artigo sem autor, um autor com identificador, um sem identificador e vários autores. Depois, teste de ponta a ponta uma publicação fora de produção, publicada por um bot: os identificadores do Bluesky só são transformados em menções nas publicações feitas por bots (ver abaixo). Consulte Como criar um Smart Message.
Verifique o que o resultado contém realmente:
- um nome (
Noah Petit): texto simples; - um identificador (
@camille.example.com): texto que algumas redes podem transformar numa menção; - um URL de perfil: um link, não uma menção;
- uma menção clicável: só visível na publicação publicada, e apenas se a rede a tiver criado.
6. Que redes transformam o texto numa menção#
- Bluesky: quando um bot publica uma publicação, a Nonli procura cada identificador completo escrito na mensagem, como
@camille.example.com. Quando a conta é encontrada, a Nonli publica uma verdadeira menção do Bluesky. Quando não é encontrada, o texto fica simples. Numa publicação criada manualmente, os identificadores escritos não são convertidos: selecione antes a conta nas sugestões de menção do editor. Use o identificador completo, incluindo o seu domínio (por exemploname.bsky.social), e não coloque pontuação, como um ponto final, logo a seguir: seria lida como parte do identificador. - LinkedIn: um identificador ou nome escrito por um modelo fica em texto simples. A Nonli cria menções do LinkedIn apenas para páginas de empresa selecionadas no editor de publicações e ainda não suporta menções de perfis pessoais. Para mencionar uma pessoa, edite a publicação no LinkedIn depois de publicada, como explicado em Posso mencionar pessoas ou empresas em publicações do LinkedIn?
- Outras redes: esta página não as abrange. Verifique uma publicação de teste publicada antes de confiar no resultado.
7. Resolução de problemas#
| Problema | Causa e solução |
|---|---|
Nenhuma linha By | authors está vazio para este artigo. Verifique os dados estruturados do autor na página do artigo. |
| Um autor aparece com o nome em vez do identificador | O nome no Airtable está escrito de forma diferente (acento, maiúscula, nome do meio), a célula está vazia para esta rede ou o nome da coluna no modelo está errado. |
| Aparece o identificador errado | Duas linhas têm o mesmo nome. Mantenha uma linha por nome. |
| Nenhum autor recebe um identificador | Verifique o token do Airtable na Nonli, o ID da base e os nomes da tabela e das colunas. |
| O identificador é publicado, mas não é clicável | A rede não o reconheceu como menção. No Bluesky, verifique o identificador completo e se a publicação foi feita por um bot. No LinkedIn, o texto de um modelo nunca é uma menção. |