Smart Message-maler skrives i Twig 3. Denne siden viser alle variabler, funksjoner og filtre Nonli støtter i den konteksten, med type, når de kan mangle og et testet eksempel. Hvis du vil lage en mal steg for steg, begynner du med Slik lager du en Smart Message.
1. Hvor denne konteksten gjelder#
Den samme konteksten er tilgjengelig to steder:
- Smart Message-maler, brukt av roboter, av lyspæreknappen i innleggseditoren og av knappen for første kommentar. De kan fylle ut meldingen, tittelen, beskrivelsen, kommentaren, videotittelen, alternativteksten og TikTok-ankertittelen.
- Dynamiske verdier i Smart Image, når en tekst eller farge i Smart Image bruker en Smart Message-mal som kilde. I så fall er variabelen
contextlik'smart_image'. Se Slik bruker du dynamiske farger i Smart Image.
Dynamiske URL-parametere og den dynamiske betalingsmuren bruker også Twig, men med en mye mindre kontekst: et begrenset post (source, social_account, post_type, author, user_id, breaking_news, short_id), referer, funksjonen isComment() samt tellere og persentiler. organic, aliasene på toppnivå og Smart Message-funksjonene nedenfor finnes ikke der.
2. Regler for navn og typer#
- Foretrekk fullstendige baner. Skriv
organic.titleellerpost.social_account.typei stedet for et alias på toppnivå. Aliasene støttes fortsatt for eksisterende maler. - Navn skrives i snake_case og følger de lagrede feltnavnene:
canonical_url,published_at,open_graph. - Skill mellom entall og flertall. Banene er
organic.category,organic.tag,organic.author; aliasene ertagsogauthors. Et feil navn somcategories,organic.categories,tagellerauthorgir ingen feil: det gir en tom verdi. - Typer. En streng er tekst. En liste er en rekke verdier: test den med
in, les den med|firsteller|join(', '), og skriv den aldri ut direkte. Et objekt grupperer andre baner. Tall, boolske verdier og datoer kommer i tillegg. Datoer er ISO 8601-strenger i UTC, for eksempel2026-10-18T07:30:00.000Z; formater dem med|date. - Fravær. En verdi finnes bare når kilden oppgir den. Det avhenger av opprinnelsen til innlegget (artikkel, manuelt innlegg, innlegg uten lenke), det sosiale nettverket, innleggstype og metadataene skraperen fant på siden. En manglende
organic-bane gir en tom verdi; en tom liste behandles som manglende.
Bruk ?? for å erstatte en manglende eller null-verdi, og ?: eller |default() for å erstatte også en tom streng:
| Uttrykk | Verdi mangler | Verdi '' | Verdi 'A' |
|---|---|---|---|
{{ x ?? 'B' }} | B | (tom) | A |
{{ x ?: 'B' }} | B | B | A |
{{ x|default('B') }} | B | B | A |
Etter et filter bruker du ?: eller |default(), aldri ??: {{ x|upper ?? 'B' }} er en syntaksfeil, og malen avvises når du lagrer den.
3. Variabler på toppnivå#
Disse variablene er alltid definert i en Smart Message.
| Bane | Type | Tilgjengelighet | Beskrivelse | Eksempel |
|---|---|---|---|---|
social_network | streng | Alltid | Nettverket til målkontoen; facebook når det er ukjent. | instagram |
post_type | streng | Alltid | Innleggstype; link når den er ukjent. | photo |
empty_message | streng | Alltid | En tom streng, for å bevisst returnere ingenting. | '' |
shortlink_prefix | streng | Alltid | Merkevarens tekst som plasseres foran en kort lenke. | ➡️ |
post | objekt | Alltid | Innlegget som opprettes eller redigeres (se post.*). | |
organic | objekt | Alltid | Kildeartikkelen (se organic.*); en tom liste [] når innlegget ikke har noen artikkel. | |
context | streng | Alltid | Feltet som genereres: message, title, description, comment, videoTitle, altText, tikTokAnchorTitle, eller smart_image når Smart Image rendrer malen. | message |
3.1. Eldre alias#
Når innlegget kommer fra en artikkel, kopierer Nonli også noen artikkelfelt til toppnivået. Disse aliasene er definert (muligens null) så snart det finnes en artikkel, og udefinert når innlegget ikke har noen. Hvert av dem har en foretrukket fullstendig bane.
| Alias | Foretrukket fullstendig bane | Type | Innhold |
|---|---|---|---|
title | organic.title | streng | Artikkeltittel valgt av Nonli |
description | organic.description | streng | Artikkelbeskrivelse valgt av Nonli |
title1 | organic.html.h1 | streng | Første H1-overskrift på siden |
title2 | organic.html.h2 | streng | Første H2-overskrift på siden |
head_title | organic.head.title | streng | HTML-koden title, ofte en lengre SEO-tittel |
meta_description | organic.meta.description | streng | Sidens opprinnelige metabeskrivelse |
og_title | organic.meta.open_graph.title | streng | Open Graph-tittel |
og_description | organic.meta.open_graph.description | streng | Open Graph-beskrivelse |
twitter_title | organic.meta.twitter.title | streng | Twitter Card-tittel |
twitter_description | organic.meta.twitter.description | streng | Twitter Card-beskrivelse |
meta_custom_facebook, meta_custom_twitter, meta_custom_instagram, meta_custom_linkedin, meta_custom_tiktok, meta_custom_pinterest | organic.meta.custom.facebook (og så videre) | streng | Egendefinerte metadata per nettverk, hentet ut av en nettstedspesifikk regel |
meta_custom_publisher | organic.meta.custom.publisher | streng | Egendefinert utgiverfelt hentet ut av en nettstedspesifikk regel, for eksempel første avsnitt i brødteksten |
meta_custom_rss_title | organic.meta.custom.rss.title | streng | Tittel fra RSS-elementet |
meta_custom_rss_description | organic.meta.custom.rss.description | streng | Beskrivelse fra RSS-elementet |
authors | organic.author | liste | Artikkelens forfattere |
tags | organic.tag | liste | Artikkelens emneord |
I en ekte artikkel har title og title1 ofte samme overskrift, head_title inneholder den lengre SEO-tittelen, og meta_description begynner ofte med ingressen. Hvilken som helst av dem kan være tom, så planlegg alltid en reserveløsning.
Valgene «Meta custom …» i editoren og robotkildene tilsvarer disse meta_custom_*-aliasene. De fylles bare ut på nettsteder der Nonli har konfigurert en egen uthentingsregel. En artikkel fra et nettsted utenfor selskapet ditt viser bare de offentlige feltene sine, så organic.counter.view mangler for den.
4. [object Object],: kildeartikkelen#
organic finnes når innlegget kommer fra en artikkel (robot, URL limt inn i editoren, SDK, RSS). Et manuelt innlegg eller et innlegg uten lenke har ingen artikkel: organic er da en tom liste, og hver organic.*-bane er tom.
| Bane | Type | Tilgjengelighet | Beskrivelse | Eksempel |
|---|---|---|---|---|
organic.url | streng | Hver artikkel | Artikkelens URL | https://www.example.com/politics/budget |
organic.canonical_url | streng | Når deklarert | Kanonisk URL | https://www.example.com/politics/budget |
organic.type | streng | Hver artikkel | Innholdstype som er oppdaget | article |
organic.language | streng | Når oppdaget | Språkkode | fr |
organic.title | streng | De fleste artikler | Tittel valgt av Nonli | Budget 2027: what changes |
organic.description | streng | Når funnet | Beskrivelse valgt av Nonli | The government presents its budget. |
organic.html.h1 / organic.html.h2 | streng | Når til stede | Første H1- / H2-overskrift | Key measures |
organic.head.title | streng | Når til stede | HTML-koden title | Budget 2027 - Example News |
organic.meta.description | streng | Når til stede | Opprinnelig metabeskrivelse | The government presents its budget. |
organic.meta.open_graph.title / .description | streng | Når til stede | Open Graph-tittel / -beskrivelse | Budget 2027 |
organic.meta.open_graph.article.section | streng | Når til stede | Open Graph article:section | Politics |
organic.meta.twitter.title / .description | streng | Når til stede | Twitter Card-tittel / -beskrivelse | Budget 2027 |
organic.meta.custom.* | streng | Nettstedspesifikk regel | Egendefinerte felt som er oppført i aliastabellen | |
organic.category | liste | Når funnet | Normaliserte kategorier, inkludert JSON-LD articleSection | ['politics', 'economy'] |
organic.tag | liste | Når funnet | Artikkelens emneord | ['budget', 'taxes'] |
organic.author | liste | Når funnet | Artikkelens forfattere | ['Camille Martin'] |
organic.image | liste | Når funnet | Bilde-URL-er funnet på siden | ['https://…/budget.jpg'] |
organic.image_alt | streng | Når funnet | Alternativtekst til hovedbildet | The National Assembly chamber |
organic.published_at | dato | Når funnet | Publiseringsdato (UTC) | 2026-10-18T07:30:00.000Z |
organic.modified_at | dato | Når funnet | Dato for siste endring (UTC) | 2026-10-18T09:00:00.000Z |
organic.counter.view | tall | Se tellere | Artikkelvisninger målt av Nonli | 1520 |
4.1. Kategorier og ,[object Object]#
Nonli lagrer JSON-LD-verdien articleSection, og de andre kategorisignalene på siden, i organic.category. Det er en liste, ikke en tekst, og det finnes ingen variabel categories. Verdiene er normalisert: små bokstaver, aksenter fjernet, skilletegn gjort om til mellomrom. For eksempel blir Politique & Société, Économie og Sports > Rugby til politique societe, economie og sports rugby. Sammenlign alltid med verdier du faktisk har sett på dine egne artikler.
1{%- set categories = organic.category ?? [] -%}2{%- if 'politique' in categories -%}3Politics4{%- endif -%}Første kategori, eller ingenting: {{ organic.category|default([])|first|default('') }}
Alle kategorier: {{ organic.category|default([])|join(', ') }}
Den rå Open Graph-seksjonen, uten normalisering, er fortsatt tilgjengelig som {{ organic.meta.open_graph.article.section ?? '' }}.
5. [object Object],: innlegget#
post beskriver innlegget som opprettes eller redigeres. Feltene fylles ut gradvis: et felt som genereres, er fortsatt tomt mens sin egen mal rendres.
| Bane | Type | Tilgjengelighet | Beskrivelse | Eksempel |
|---|---|---|---|---|
post.post_type | streng | Alltid | Innleggstype | link |
post.message | streng | Når skrevet | Gjeldende melding | Three ways to save energy. |
post.title | streng | Når skrevet | Gjeldende tittel | Budget 2027 |
post.description | streng | Når skrevet | Gjeldende beskrivelse | What changes for households. |
post.author | streng | Når kjent | Forfatteren av innleggets innhold (én tekst, ikke en liste) | Camille Martin |
post.tag | liste | Når kjent | Innleggets emneord | ['budget'] |
post.language | streng | Når kjent | Språkkode | fr |
post.target_url | streng | Lenkeinnlegg | Mål-URL | https://www.example.com/politics/budget |
post.short_id | streng | Etter forkorting | Identifikator for den korte lenken | aB3xY |
post.social_account.type | streng | Alltid | Målnettverk | linkedin |
post.social_account.name | streng | Alltid | Kontonavn | Example News |
post.social_account.slug | streng | Alltid | Kontoens slug | example-news |
post.social_account.external_id | streng | Alltid | Kontoens identifikator i nettverket | 1000000001 |
post.source.type | streng | Når kjent | Opprinnelsen til innlegget (robot, manuell og så videre) | bot |
post.source.bot_title | streng | Robotinnlegg | Navnet på roboten som opprettet innlegget | Politics bot |
post.source.organic_url | streng | Artikkelinnlegg | URL til kildeartikkelen | https://www.example.com/politics/budget |
post.breaking_news.active | boolsk | Alltid | Modus for siste nytt | false |
post.schedule.start_date | dato | Planlagte innlegg | Planlagt publiseringsdato (UTC) | 2026-10-19T06:00:00.000Z |
post.published_at | dato | Etter publisering | Publiseringsdato (UTC) | 2026-10-19T06:00:04.000Z |
post.comment.message | streng | Når skrevet | Teksten i den første kommentaren | Read more: [SHORTLINK] |
post.counter.* | tall | Se tellere | Innleggets resultater | 42 |
Interne identifikatorer og tekniske felt (bruker-, selskaps- og merkevare-ID-er, e-postadresse til kontoen, webhook-URL, statuser, feilspor, rå tellere) er bevisst utelatt: de er ikke et stabilt offentlig grensesnitt og må ikke vises i publisert tekst. post.user_id er bare dokumentert for URL-parametere.
6. Tellere og persentiler#
En teller lastes bare når malen navngir den eksplisitt, for eksempel post.counter.click. Den mangler når måltallet ikke finnes ennå, noe som alltid er tilfellet for et innlegg som ikke er publisert. Skriv alltid en reserveverdi: {{ post.counter.click ?? 0 }}.
| Bane | Type | Beskrivelse |
|---|---|---|
post.counter.click | tall | Klikk |
post.counter.engagement | tall | Engasjement |
post.counter.reach | tall | Rekkevidde |
post.counter.videoViews | tall | Videovisninger |
post.counter.ctr | tall | Klikkrate |
post.counter.overperforming | tall | Poengsum for overprestasjon |
post.counter.monetization | tall | Inntekter fra inntektsgenerering av innhold |
organic.counter.view | tall | Artikkelvisninger (bare når innlegget har en artikkel) |
En persentilvariabel sammenligner et innlegg med innleggene som samme konto har publisert over en periode, med siste nytt utelatt. Navnet er percentile + persentil (1 eller 2 sifre) + måltall + varighet (1 eller 2 sifre) + enhet:
- måltall:
Click,Engagement,Reach,VideoViews,Ctr,Overperforming,Monetization; - enheter:
htime,ddag,wuke,mmåned,yår.
percentile50Click1d er medianen av klikk over 1 dag; percentile90Engagement7d er den 90. persentilen av engasjement over 7 dager. Verdien er null uten data og hurtiglagres i 30 minutter.
1{%- if (post.counter.engagement ?? 0) > (percentile50Engagement7d ?? 0) -%}TOP{%- else -%}NORMAL{%- endif -%}7. Funksjoner#
| Funksjon | Returnerer | Beskrivelse |
|---|---|---|
hasLink() | boolsk | true når innlegget har en lenke. Sjekk den før du skriver [SHORTLINK]. |
hasFirstCommentShortlink() | boolsk | true når den første kommentaren allerede inneholder [SHORTLINK]. |
canPublishPostWithoutSpam() | boolsk | true når kontoens regler mot spam tillater et nytt lenkeinnlegg nå. |
canPublishCommentWithoutSpam() | boolsk | Samme kontroll for en kommentar som inneholder en lenke. |
shouldAddComment(metric) | boolsk | Bruker den konfigurerte regelen for utvalg av kommentarer; det valgfrie måltallet angir hvilken teller som brukes. Resultatet kan variere. |
aiGenerated(source, min, target, max, ending, justCrop) | streng | Oppsummerer source, eller beskjærer den ved en ordgrense når justCrop er true. |
gpt(prompt, model), claude(…), gemini(…), mistral(…) | streng | Genererer tekst med merkevarens legitimasjon hos leverandøren. Se Bruk AI-funksjonene for å generere meldinger. |
airtable(…) | streng | Leser en verdi fra en tilkoblet Airtable-base. Den returnerer bare tekst. |
aiGenerated() løser bare opp navn på toppnivå som er oppgitt som tekst. Send 'description' eller selve verdien (organic.title), aldri teksten 'organic.title', som returneres bokstavelig. Et navn som ikke finnes, returneres også bokstavelig: i et innlegg uten artikkel returnerer aiGenerated('description', …) ordet description. Beskytt den med en betingelse:
1{%- if organic -%}2{{- aiGenerated('description', null, null, 40, '…', true) -}}3{%- endif -%}8. Filtre#
Standard Twig-filtre og -operatorer (default, first, join, length, trim, replace, date, map, in, ??, ?:, ~) er dokumentert i Twig-dokumentasjonen. Nonli legger til eller erstatter følgende filtre. Alle resultatene nedenfor kommer fra Nonlis renderer.
| Filter | Effekt | Eksempel | Resultat |
|---|---|---|---|
upper | Store bokstaver, aksenter beholdes | 'élan VITAL'|upper | ÉLAN VITAL |
lower | Små bokstaver | 'élan VITAL'|lower | élan vital |
capitalize | Første bokstav med stor bokstav, resten uendret | 'élan VITAL'|capitalize | Élan VITAL |
slugify | URL-slug | 'Budget 2027 : ménages'|slugify | budget-2027-menages |
camel | Ord slått sammen, hvert med stor forbokstav | 'budget des ménages'|camel | BudgetDesMénages |
clean | Slår sammen og trimmer mellomrom, og fjerner mellomrommene rundt en bindestrek | ' Paris - Lyon '|clean | Paris-Lyon |
ucPhrase | Stor forbokstav i hvert ord, korte ord beholdes med små bokstaver | 'le budget des ménages'|ucPhrase | Le Budget des Ménages |
encode | URL-koder, men beholder reserverte tegn som &, =, /, ?, # | 'a b&c'|encode | a+b&c |
extractMatch(regex) | Første fangstgruppe, eller null | 'Price: 10 €'|extractMatch('/([[:digit:]]+)/u') | 10 |
pregReplace(regex, replacement) | Erstatning med regulært uttrykk | 'Budget 2027'|pregReplace('/[[:digit:]]+/', 'N') | Budget N |
cleanText | Typografisk opprydding: trimmer og legger til franske harde mellomrom | 'Lire aussi : le budget. '|cleanText | Lire aussi : le budget. (hardt mellomrom før kolonet) |
Regler som unngår renderingsfeil:
extractMatchogpregReplacefeiler når verdien ernull. Legg til|default('')foran dem:{{ meta_custom_publisher|default('')|extractMatch('/^(.+?[.!?…])(?=[[:space:]]|$)/u') }}.encodebeskytter ikke&,=eller#: ikke bruk det til å bygge en parameter fra en verdi som kan inneholde dem.- Foretrekk POSIX-klasser som
[[:digit:]],[[:space:]]og[[:alpha:]]framfor sekvenser med omvendt skråstrek: de overlever kopiering og liming. Kopier maler fra en kodeblokk, aldri fra en rendret chat- eller e-postlinje, som kan miste omvendte skråstreker.
9. Testede oppskrifter#
Hver oppskrift nedenfor ble rendret med Nonlis Twig-motor på komplette, delvise og tomme artikkeldata.
Overskrift (H1 eller tittel) etterfulgt av metabeskrivelsen, med en kort lenke bare der den trengs. I et Facebook-lenkeinnlegg returnerer den overskriften og beskrivelsen; i et Facebook-bilde legger den til ➡️ [SHORTLINK]; på Instagram legger den aldri til en lenke; uten artikkel returnerer den en tom tekst.
1{%- set titre = title1 ?: title -%}2{%- set desc = meta_description ?: description -%}3{{- titre -}}4{%- if desc -%}{{- '\n\n' ~ desc -}}{%- endif -%}5{%- if post_type != 'link' and social_network not in ['instagram', 'tiktok', 'pinterest'] and not hasFirstCommentShortlink() and hasLink() -%}6{{- '\n\n' ~ shortlink_prefix -}}[SHORTLINK]7{%- endif -%}Første setning i beskrivelsen, deretter beskrivelsen, deretter tittelen.
1{%- set source = meta_description ?: description ?: '' -%}2{{- source|extractMatch('/^(.+?[.!?…])(?=[[:space:]]|$)/u') ?: source ?: title -}}Første setning i det egendefinerte utgiverfeltet, med alternativteksten til bildet som reserve, deretter tittelen.
1{{- meta_custom_publisher|default('')|extractMatch('/^(.+?[.!?…])(?=[[:space:]]|$)/u') ?: organic.image_alt|default('') ?: title -}}Tekst etter nettverk og innleggstype.
1{%- if social_network == 'instagram' -%}2{{- title -}}3{%- elseif post_type == 'link' -%}4{{- description ?: title -}}5{%- else -%}6{{- title -}}7{%- endif -%}Farge i Smart Image etter kategori. Returnerer #E50032 for politikk, #16A34A for sport og #6F819D ellers.
1{%- set categories = organic.category ?? [] -%}2{%- if 'politique' in categories -%}#E500323{%- elseif 'sport' in categories -%}#16A34A4{%- else -%}#6F819D5{%- endif -%}Sporingsverdier fra målkontoen.
1utm_source={{ post.social_account.type|default('social') }}&utm_campaign={{ post.social_account.slug|default('')|encode }}Publiseringsdato i redaksjonens tidssone. 2026-10-18T07:30:00.000Z blir 18/10/2026 09:30. Uten publiseringsdato ville date skrevet ut dagens dato, så betingelsen lar teksten være tom i stedet.
1{%- if organic.published_at|default(null) -%}2{{- organic.published_at|date('d/m/Y H:i', 'Europe/Paris') -}}3{%- endif -%}Emneknagger fra emneord. ['budget', 'impots'] blir #Budget #Impots.
1{{ tags|default([])|map(t => '#' ~ t|camel)|join(' ') }}Hold korte ord og tall sammen med neste ord (for titler i Smart Image, som aldri bryter en linje ved et hardt mellomrom). La finale se jouera à guichets fermés holder La, se og à festet til det følgende ordet, og 16 septembre eller 3 000 euros blir stående sammen. Endringen gjelder bare nylig genererte bilder.
1{%- set titre = organic.title ?? title -%}2{{- titre|pregReplace("/(?<=^|[[:space:]])([[:alpha:]]{1,2}|[[:digit:]]+)[[:space:]]+/u", "$1\xC2\xA0") -}}Twig gjør \xC2\xA0 om til et hardt mellomrom; $1 beholder det korte ordet eller tallet som ble funnet.
10. Automatiske smarte felt og smarte felt ved klikk#
Hver merkevare har to innstillinger: Automatic configuration of smart fields og Smart field configuration at the click of the button. Knappen i editoren bruker konfigurasjonen ved klikk, og faller tilbake på den automatiske bare når det ikke finnes noen konfigurasjon ved klikk. Et felt som er satt til den offentlige malen Empty, tømmes når du klikker på knappen, fordi editoren skriver den genererte verdien tilbake i feltet.
Roboter bruker ikke disse innstillingene for merkevaren. Hver robot har sine egne kilder, for eksempel Message's source og Description's source, som peker på en innebygd verdi (Title, Description og så videre) eller på en Smart Message-mal.
11. Feilsøking#
11.1. Roboten min kontrollerer kilden sin, men oppretter ikke noe innlegg#
En aktiv robot kan finne artikkelen og likevel ikke opprette noe innlegg når Smart Message-malen gir en tom melding. Det skjer for eksempel når malen leser et valgfritt felt som meta_custom_publisher, og artikkelen ikke har det. Nonli filtrerer da bort kandidaten før publisering: en melding som er tom, eller som er fem tegn eller færre etter at den korte lenken er fjernet, forkastes, og det samme gjelder et lenkeinnlegg med tom tittel. Kontrollen av tom melding gjelder ikke roboter satt til No message eller Pinterest; kontrollen av tom tittel gjelder alle roboter.
Dette er noe annet enn et innlegg som ble opprettet og deretter feilet i nettverket: et slikt innlegg er synlig i Posts-menyen med en feilstatus. Se Hvorfor publiserte ikke roboten min denne artikkelen? for å finne ut hvilket trinn det gjelder først.
-
Sammenlign. Identifiser nøyaktig hvilken robot det gjelder. Sammenlign noen meldinger den har generert uten problemer tidligere med metadataene til de tilsvarende artiklene, og sjekk hva som er endret i konfigurasjonen. Et malnavn eller den gjeldende HTML-koden på siden alene beviser ikke hva som fungerte før. Render den gjeldende malen på en representativ artikkel som kvalifiserer, og sjekk om variabelen mangler eller er til stede, men tom.
-
Rett opp. Foretrekk å gjenopprette den forrige meldingskilden når den ga ønsket ordlyd, eller legg til en reserveløsning som passer til variabeltypen:
twig1{{- meta_custom_publisher ?: title -}}Hvis artikkeltittelen passer til ønsket ordlyd, åpner du roboten, setter Message's source til Title og klikker deretter på Save. Dette endrer den genererte teksten.

Utsnitt av robotinnstillingene: Message's source satt til Title, før du klikker på Save.
-
Omfang. Når du endrer robotens kilde, påvirker det bare robotens fremtidige innlegg. Når du redigerer en delt Smart Message-mal, påvirker det alle roboter og felt som bruker den. Eksisterende innlegg skrives aldri om.
-
Kontroller. Vent til neste vanlige kontroll og se på artikler som fortsatt kvalifiserer. Eldre artikler hentes ikke inn automatisk, og et manuelt innlegg beviser ikke at roboten har kommet seg.
11.2. Overtittel, ingress og første setning er ulike verdier#
En kort redaksjonell overtittel (noen ganger kalt kicker), hele ingressen og den første setningen i en tekst er tre ulike ting. Nonli har ingen egen variabel for den korte overtittelen: en nettstedspesifikk regel kan lagre den i et meta_custom_*-felt, og noen artikler har med rette ingen. Ikke erstatt en manglende overtittel med hele ingressen. Vis overtittelen bare når den finnes:
1{%- set marker = meta_custom_instagram|default('')|trim -%}2{%- if marker -%}{{- marker ~ ' | ' -}}{%- endif -%}3{{- title -}}Med en overtittel blir resultatet EXCLUSIVE | Budget 2027: what changes; uten en blir det bare tittelen. Her er meta_custom_instagram bare et eksempel: bruk feltet som nettstedsregelen din faktisk fyller ut.
meta_description (opprinnelig metabeskrivelse), meta_custom_publisher (egendefinert felt) og description (beskrivelse valgt av Nonli) er separate inndata. En mal som leser én av dem, påvirkes ikke når en annen rettes. Når du oppdaterer et innhentet felt, endrer det ikke den valgte robotkilden, teksten i Smart Image eller innlegg som allerede er generert.
11.3. Fullstendig innhentet beskrivelse eller åpningssetning i ingressen#
Fire verdier forveksles ofte når en robot setter sammen meldingen sin:
- Innhentet beskrivelse (
description,organic.description): artikkelbeskrivelsen som Nonli har innhentet, brukt som den er, ikke delt opp i setninger. Nonli henter den først fra artikkelens strukturerte data, ellers fra Open Graph, deretter Twitter Card, deretter den opprinnelige metabeskrivelsen. Når den kommer fra disse kodene, beholder den grensen deres på 500 tegn. Beskrivelsen i RSS-elementet (meta_custom_rss_description) brukes aldri som innhentet beskrivelse. - Opprinnelige metadata (
meta_description,og_description,twitter_description): beskrivelsene som er deklarert i metakodene på siden. Nonli kutter hver av dem ved 500 tegn når den innhenter dem. Denne grensen gjelder bare disse tre feltene: en innhentet beskrivelse hentet fra strukturerte data kuttes ikke. - Første setning: en mal som
Template: [public] Message from first standfirst sentencebeholder bevisst én setning og håndterer lenken med sin egen[SHORTLINK]-markør. - Overtittel: et valgfritt felt som er beskrevet i forrige avsnitt, og som noen artikler ikke har.
Verken et malnavn eller den valgte kilden beviser at den innhentede beskrivelsen er hele ingressen din. Slik poster du hele den innhentede beskrivelsen i stedet for den første setningen:
- Sjekk hva som ble innhentet. Sammenlign
descriptionmed den fullstendige ingressen du forventer, på noen representative artikler. Hvis den mangler, er avkortet eller inneholder brødtekst i stedet for ingressen, ber du støtten om å rette og kontrollere innhentingen først. Når du endrer robotens kilde, kan du ikke gjenopprette tekst som ikke ble innhentet. - Endre kilden. Åpne roboten, sett Message's source til Description og klikk deretter på Save. Ikke forveksle den med Description's source, som fyller ut beskrivelsesfeltet i innlegget, ikke teksten.
- Sjekk neste melding. Se på det neste innlegget roboten genererer: hele teksten, hvor lenken vises og tekstgrensen til hvert målnettverk. En fullstendig beskrivelse kan være lang, og å velge den garanterer ikke at hvert nettverk godtar hele teksten. Nonli håndterer fortsatt den korte lenken: i et innlegg uten innebygd lenke legger den til den korte lenken rett etter den genererte teksten, før eventuelt suffiks fra roboten og emneknagger, med mindre den første kommentaren allerede inneholder den. Lenke- og delingsinnlegg får ingen tilføyd kort lenke, bortsett fra lenkeinnlegg på X og Mastodon, der den legges til helt til slutt. Meldinger på Instagram og TikTok får ingen kort lenke. En mal for første setning kan forkorte teksten eller plassere lenken annerledes etter nettverk, så ikke forvent samme resultat.
- Omfang. Endringen gjelder bare innleggene denne roboten genererer fra nå av. Eksisterende innlegg, andre roboter og delte Smart Message-maler er uendret, og ingen eldre artikkel importeres eller publiseres på nytt.
11.4. Apostrofer ødelegger malen min#
I en Twig-streng med enkle anførselstegn avslutter en apostrof strengen. Denne malen avvises når du lagrer den, med en feil som «Invalid template syntax at line 1»:
1{{ gpt('Summarize the article's main point') }}Escape apostrofen, bruk en typografisk apostrof, eller bruk doble anførselstegn:
1{{ gpt('Summarize the article\'s main point') }}2{{ gpt('Summarize the article’s main point') }}3{{ gpt("Summarize the article's main point") }}Linjenummeret som rapporteres, er linjen i malen som inneholder feilen.
11.5. En variabel forblir tom#
- Sjekk den nøyaktige stavemåten:
organic.category, ikkecategories;tags, ikketag. - Sjekk at innlegget har en artikkel:
organicer tom for manuelle innlegg og innlegg uten lenke, og aliasene er da udefinerte. - Skriv ut en liste med
|join(', ')eller test den medin. - Sammenlign kategorier med den normaliserte formen (
politique societe, ikkePolitique & Société). - Sjekk tellere med
?? 0: de mangler før publisering.
11.6. Kan en mal legge til samarbeidspartnere på Instagram?#
Nei. Maler fyller bare ut tekstfelt, og airtable() returnerer tekst: den kan skrive en @-omtale, ikke opprette et samarbeid. Legg til samarbeidspartnere i innleggseditoren med Collaborators, eller med API-feltet collaborator[] (slug, type) i POST eller PUT /v2.1/posts/bulk. Meta godtar opptil 3 samarbeidspartnere; se Slik lager du et Instagram-samarbeidsinnlegg med Nonli.