Skip to content

Releases: danieldevera/weareedit-site-engine

v1.5.869

Choose a tag to compare

@github-actions github-actions released this 10 Sep 09:29

Changelog

v1.5.869 — 2026-09-10 (origin.weareedit.io → 301 to weareedit.io; PTISP decommission)

Direct requests to origin.weareedit.io (browsers, crawlers) now 301 to the same path on https://weareedit.io, with X-Robots-Tag: noindex and Cache-Control: no-store on the redirect. Google had been indexing the origin host (730 impr/28d on one URL, brand queries at position 1) and Daniel found the old Remote Learning page still served there after the premium site took the page over natively. Requests from the Cloudflare Pages proxy are spared by their X-Forwarded-Host header (weareedit.io / www / empresas), so the hybrid fallback keeps working and the middleware's hostloop guard never fires. Excluded from the redirect: /wp-admin, /wp-login.php, /wp-cron.php, /wp-json/, xmlrpc.php and every POST (admin, updater and the CF7 anti-bot path stay as they were). Hook runs at plugins_loaded priority -10, before the empresas early-serve. Context: on 10 Set the premium build took over 15 more pages natively and added 631 legacy redirects; the origin only backs /bookingsopps* and stragglers until it is switched off.

v1.5.866 — 2026-07-04 (CF7 anti-bot — block via wpcf7_before_send_mail, not wpcf7_spam)

Live testing proved v1.5.865 (and the original honeypot) were INEFFECTIVE: in CF7 6.1.6, the wpcf7_spam filter returning true marks the message as spam (Flamingo) but NO LONGER prevents the mail — a filled honeypot AND a bk.ru/camelCase bot both returned mail_sent. Rewrote EDIT_CF7_AntiBot to abort in wpcf7_before_send_mail ($abort = true), the mechanism that actually stops the mail, while keeping wpcf7_spam for the Flamingo record. Also fixed the honeypot read (the injected field is absent from get_posted_data(), so it now merges raw $_POST). Detection unchanged: honeypot, Cyrillic, links, .ru/free-mail domains, mostly-numeric email local part, camelCase/low-vowel single-token names. Verified: a legit lead ("João Silva", gmail) still returns mail_sent.

v1.5.865 — 2026-07-04 (CF7 anti-bot — content heuristics, not just honeypot)

The "Fale Conosco" spam flood (mail.ru/bk.ru/list.ru senders, camelCase/gibberish names, several/hr) got through because the bots POST a hardcoded payload DIRECTLY to origin.weareedit.io/wp-json/contact-form-7/…/feedback (bypassing the Cloudflare edge entirely) and never load the form — so the honeypot field stays empty and never trips. EDIT_CF7_AntiBot::detect_bot() now inspects the actual submission and marks it spam (silently dropped, no mail) on any high-signal bot pattern: Cyrillic, links in fields, .ru/free-mail spam domains, mostly-numeric email local part (au8834386@…), and camelCase/low-vowel single-token names. Honeypot kept as the first layer. Tuned for near-zero false positives on a PT-language audience (real names have spaces + normal vowels, PT/EU emails). Permanent belt-and-suspenders remains a CAPTCHA (Cloudflare Turnstile) on the form. NOTE: origin.weareedit.io is publicly reachable and accepts CF7 POSTs directly — worth locking to Cloudflare-only at the host/DNS to close the bypass.

v1.5.863 — 2026-07-03 (/go/ shortener — add Data Science short links)

Added dsba-fb and dsba-li to the branded link shortener, both pointing at /data-science-business-analytics/ with utm_source facebook/linkedin, utm_medium=social, utm_campaign=data_science. Pairs with the existing uxui-fb/uxui-li for the 22 Set (DSBA) + 21 Set (UX/UI) course-launch social posts. IG uses link-na-bio (no short link).

v1.5.599 — 2026-06-18 (Editorial #3 — shorten slug + 301 redirect)

Editorial #3 slug shortened to /blog/do-prompt-ao-produto/ (Rank Math URL-length fix, 84→short). (1) Output-buffer enrichment now keys off the new slug 'do-prompt-ao-produto'. (2) Added a loop-safe 301 (old long slug → new) that only fires on a genuine 404, as a backup to WP core wp_old_slug_redirect. Email article link updated to the short URL (UTMs preserved). Daniel changes the post slug in WP + Atualizar.

v1.5.598 — 2026-06-18 (Blog body — lighter general text)

Blog post body copy lightened from #6f6f6f to #aaaaaa (.text-block-container) for a softer, more readable read on the dark editorial background.

v1.5.597 — 2026-06-18 (Editorial #3 hero — widen to content width)

Hero max-width 1000px → 1200px so the banner matches the article content width (measured ~1196px / 200→1396 at a 1600 viewport) instead of sitting narrower than the body.

v1.5.596 — 2026-06-18 (Editorial #3 hero — point at Daniel's WP media URL)

Hero now points at Daniel's WP-media upload (editorial_3_trimmed-4.png) instead of the plugin-bundled copy (which is removed). WP-hosted = Imagify/WebP optimized, no plugin bloat. Placement unchanged.

v1.5.595 — 2026-06-18 (Editorial #3 hero — Daniel's clean image as-is)

Replaced the hero asset with Daniel's re-exported clean banner (editorial_#3_trimmed.png, 2549x1144) byte-for-byte — no crop, no re-encode, no alteration. Plain placement unchanged.

v1.5.594 — 2026-06-18 (Editorial #3 hero — crop black top/right bars off the image)

Cropped the baked-in pure-black margins (97px top, 345px right) off editorial-3-hero.png so the gradient fills the frame; pencil preserved. Image only — no code/placement change (1655x743, ratio 2.227).

v1.5.593 — 2026-06-18 (Editorial #3 hero — just place the image, no CSS hacks)

Removed all hero aspect/cover/inline-style adjustment code. The theme's background-cover .about-image div (which kept cropping the banner) is now replaced with a plain at natural aspect (width:100%, max-width:1000px, height:auto, centered) — the full 2000x840 art shows uncropped, no cover, no aspect-ratio overrides. og:image still pointed at the full 1200x630 share image.

v1.5.592 — 2026-06-18 (HOTFIX — hero aspect: force inline so the banner stops cropping)

The per-post 2.381 hero aspect was set via a same-specificity head rule, which lost the cascade to the global single-blog .about-image rule (2.23) / WP Rocket used-CSS — so the box rendered taller than the art and background-size:cover vertical-centre-cropped it (DISRUPTIVE BLOG tag + "Por Daniel Devera" byline cut off, zoomed title). Now forced INLINE on the element (inline !important beats every stylesheet; Rocket lazyload only appends background-image so it survives) plus a bumped-specificity [data-bg] head rule as backup.

v1.5.591 — 2026-06-18 (HOTFIX — black hero: doubled URL in data-bg/og)

v1.5.590 rewrote the hero data-bg + og:image to an ABSOLUTE plugin URL, but the targets already carried the https://weareedit.io prefix — producing a doubled domain (https://weareedit.iohttps://weareedit.io/...), a broken URL, and a black hero (no background image loaded). Fixed by using wp_make_link_relative() so the replacement is a relative /wp-content/plugins/... path.

v1.5.590 — 2026-06-18 (Editorial #3 — fix hero: crop dead black top)

The full-size hero led with a large black band (the artwork's black top half). Re-cropped to lead with the gradient — keeps DISRUPTIVE BLOG + title + "Por Daniel Devera" byline + full pencil, drops the dead black top. Bundled asset now 2000x840 (ratio 2.381); per-post aspect-ratio updated to match.

v1.5.589 — 2026-06-18 (Editorial #3 article — full-size hero, OG image, color avatar)

More per-post enrichment for "Do prompt ao produto". (1) Hero now uses the FULL-size artwork (byline + full pencil) instead of the trimmed/cropped banner: data-bg rewritten to bundled assets/img/editorial-3-hero.png (2000x1292, ratio 1.548) + per-post aspect-ratio override. (2) og:image rewritten from the small trimmed 768x345 thumb to assets/img/editorial-3-og.png (1200x630, full composition). (3) Author block headshot swapped to Daniel's color chalkboard avatar (WP media URL) and dropped the CSS pink border since the ring is baked into the image.

v1.5.588 — 2026-06-18 (Editorial #3 article — authority links + author block)

Per-article enrichment for "Do prompt ao produto" that the WYSIWYG body editor strips on save, injected via the output buffer (scoped to the exact post slug). (1) External authority links woven onto the named tools: Framer Agents, Figma Make, Figma Sites, MCP, Claude Code, Cursor, Framer, Webflow, Framer 3.0. (2) The locked "Sobre o autor" dark-bleed block for Daniel (148px circle photo + pink ring, role, bio, Perfil/LinkedIn/Wikidata CTAs) injected just above the "Partilhar:" share row. TODO: generalise into the Blog Uploader / a reusable author field so this isn't post-specific.

v1.5.587 — 2026-06-18 (Blog post — fix hero banner aspect + lighter body grey)

Two single-blog fixes. (1) The hero banner (.about-image data-bg div) was rendering as a giant near-square block because the theme gives the div a large height and background-size:cover cropped the wide 2.23:1 banner into a tall sliver. Pinned the div to the banner's own aspect-ratio (2549/1144) with height:auto so the whole image shows as a clean letterbox, still capped to the 1000px content width. (2) Softened blog body copy from near-black to a lighter editorial grey (#6f6f6f) on .text-block-container.

v1.5.586 — 2026-06-18 (Blog post hero — dual-colour H1)

Blog post hero H1 is now dual-colour: the part after the first ": " is wrapped (output buffer, scoped to single blog posts) and rendered in brand pink (#f92869) — e.g. "Do prompt ao produto: [pink]o design já não termina num ficheiro[/pink]". No-op for titles without a colon.

v1.5.585 — 2026-06-18 (Blog post hero — cap the full-bleed banner)

Single blog post hero (.about-image) was full-bleed (~850px tall on wide screens) and bled past the article column. The editorial banner carries title/author top-to-bottom so it can't be cropped — capped it by constraining width to the content layout (max-width 1000px, centered), dropping height to ~450px while keeping the whole image. Scoped to body.single-blog.

v1.5.584 — 2026-06-17 (Course content — darker grey body text + bold links)

Cu...

Read more

v1.5.868

Choose a tag to compare

@github-actions github-actions released this 05 Jul 10:16

Changelog

v1.5.866 — 2026-07-04 (CF7 anti-bot — block via wpcf7_before_send_mail, not wpcf7_spam)

Live testing proved v1.5.865 (and the original honeypot) were INEFFECTIVE: in CF7 6.1.6, the wpcf7_spam filter returning true marks the message as spam (Flamingo) but NO LONGER prevents the mail — a filled honeypot AND a bk.ru/camelCase bot both returned mail_sent. Rewrote EDIT_CF7_AntiBot to abort in wpcf7_before_send_mail ($abort = true), the mechanism that actually stops the mail, while keeping wpcf7_spam for the Flamingo record. Also fixed the honeypot read (the injected field is absent from get_posted_data(), so it now merges raw $_POST). Detection unchanged: honeypot, Cyrillic, links, .ru/free-mail domains, mostly-numeric email local part, camelCase/low-vowel single-token names. Verified: a legit lead ("João Silva", gmail) still returns mail_sent.

v1.5.865 — 2026-07-04 (CF7 anti-bot — content heuristics, not just honeypot)

The "Fale Conosco" spam flood (mail.ru/bk.ru/list.ru senders, camelCase/gibberish names, several/hr) got through because the bots POST a hardcoded payload DIRECTLY to origin.weareedit.io/wp-json/contact-form-7/…/feedback (bypassing the Cloudflare edge entirely) and never load the form — so the honeypot field stays empty and never trips. EDIT_CF7_AntiBot::detect_bot() now inspects the actual submission and marks it spam (silently dropped, no mail) on any high-signal bot pattern: Cyrillic, links in fields, .ru/free-mail spam domains, mostly-numeric email local part (au8834386@…), and camelCase/low-vowel single-token names. Honeypot kept as the first layer. Tuned for near-zero false positives on a PT-language audience (real names have spaces + normal vowels, PT/EU emails). Permanent belt-and-suspenders remains a CAPTCHA (Cloudflare Turnstile) on the form. NOTE: origin.weareedit.io is publicly reachable and accepts CF7 POSTs directly — worth locking to Cloudflare-only at the host/DNS to close the bypass.

v1.5.863 — 2026-07-03 (/go/ shortener — add Data Science short links)

Added dsba-fb and dsba-li to the branded link shortener, both pointing at /data-science-business-analytics/ with utm_source facebook/linkedin, utm_medium=social, utm_campaign=data_science. Pairs with the existing uxui-fb/uxui-li for the 22 Set (DSBA) + 21 Set (UX/UI) course-launch social posts. IG uses link-na-bio (no short link).

v1.5.599 — 2026-06-18 (Editorial #3 — shorten slug + 301 redirect)

Editorial #3 slug shortened to /blog/do-prompt-ao-produto/ (Rank Math URL-length fix, 84→short). (1) Output-buffer enrichment now keys off the new slug 'do-prompt-ao-produto'. (2) Added a loop-safe 301 (old long slug → new) that only fires on a genuine 404, as a backup to WP core wp_old_slug_redirect. Email article link updated to the short URL (UTMs preserved). Daniel changes the post slug in WP + Atualizar.

v1.5.598 — 2026-06-18 (Blog body — lighter general text)

Blog post body copy lightened from #6f6f6f to #aaaaaa (.text-block-container) for a softer, more readable read on the dark editorial background.

v1.5.597 — 2026-06-18 (Editorial #3 hero — widen to content width)

Hero max-width 1000px → 1200px so the banner matches the article content width (measured ~1196px / 200→1396 at a 1600 viewport) instead of sitting narrower than the body.

v1.5.596 — 2026-06-18 (Editorial #3 hero — point at Daniel's WP media URL)

Hero now points at Daniel's WP-media upload (editorial_3_trimmed-4.png) instead of the plugin-bundled copy (which is removed). WP-hosted = Imagify/WebP optimized, no plugin bloat. Placement unchanged.

v1.5.595 — 2026-06-18 (Editorial #3 hero — Daniel's clean image as-is)

Replaced the hero asset with Daniel's re-exported clean banner (editorial_#3_trimmed.png, 2549x1144) byte-for-byte — no crop, no re-encode, no alteration. Plain placement unchanged.

v1.5.594 — 2026-06-18 (Editorial #3 hero — crop black top/right bars off the image)

Cropped the baked-in pure-black margins (97px top, 345px right) off editorial-3-hero.png so the gradient fills the frame; pencil preserved. Image only — no code/placement change (1655x743, ratio 2.227).

v1.5.593 — 2026-06-18 (Editorial #3 hero — just place the image, no CSS hacks)

Removed all hero aspect/cover/inline-style adjustment code. The theme's background-cover .about-image div (which kept cropping the banner) is now replaced with a plain at natural aspect (width:100%, max-width:1000px, height:auto, centered) — the full 2000x840 art shows uncropped, no cover, no aspect-ratio overrides. og:image still pointed at the full 1200x630 share image.

v1.5.592 — 2026-06-18 (HOTFIX — hero aspect: force inline so the banner stops cropping)

The per-post 2.381 hero aspect was set via a same-specificity head rule, which lost the cascade to the global single-blog .about-image rule (2.23) / WP Rocket used-CSS — so the box rendered taller than the art and background-size:cover vertical-centre-cropped it (DISRUPTIVE BLOG tag + "Por Daniel Devera" byline cut off, zoomed title). Now forced INLINE on the element (inline !important beats every stylesheet; Rocket lazyload only appends background-image so it survives) plus a bumped-specificity [data-bg] head rule as backup.

v1.5.591 — 2026-06-18 (HOTFIX — black hero: doubled URL in data-bg/og)

v1.5.590 rewrote the hero data-bg + og:image to an ABSOLUTE plugin URL, but the targets already carried the https://weareedit.io prefix — producing a doubled domain (https://weareedit.iohttps://weareedit.io/...), a broken URL, and a black hero (no background image loaded). Fixed by using wp_make_link_relative() so the replacement is a relative /wp-content/plugins/... path.

v1.5.590 — 2026-06-18 (Editorial #3 — fix hero: crop dead black top)

The full-size hero led with a large black band (the artwork's black top half). Re-cropped to lead with the gradient — keeps DISRUPTIVE BLOG + title + "Por Daniel Devera" byline + full pencil, drops the dead black top. Bundled asset now 2000x840 (ratio 2.381); per-post aspect-ratio updated to match.

v1.5.589 — 2026-06-18 (Editorial #3 article — full-size hero, OG image, color avatar)

More per-post enrichment for "Do prompt ao produto". (1) Hero now uses the FULL-size artwork (byline + full pencil) instead of the trimmed/cropped banner: data-bg rewritten to bundled assets/img/editorial-3-hero.png (2000x1292, ratio 1.548) + per-post aspect-ratio override. (2) og:image rewritten from the small trimmed 768x345 thumb to assets/img/editorial-3-og.png (1200x630, full composition). (3) Author block headshot swapped to Daniel's color chalkboard avatar (WP media URL) and dropped the CSS pink border since the ring is baked into the image.

v1.5.588 — 2026-06-18 (Editorial #3 article — authority links + author block)

Per-article enrichment for "Do prompt ao produto" that the WYSIWYG body editor strips on save, injected via the output buffer (scoped to the exact post slug). (1) External authority links woven onto the named tools: Framer Agents, Figma Make, Figma Sites, MCP, Claude Code, Cursor, Framer, Webflow, Framer 3.0. (2) The locked "Sobre o autor" dark-bleed block for Daniel (148px circle photo + pink ring, role, bio, Perfil/LinkedIn/Wikidata CTAs) injected just above the "Partilhar:" share row. TODO: generalise into the Blog Uploader / a reusable author field so this isn't post-specific.

v1.5.587 — 2026-06-18 (Blog post — fix hero banner aspect + lighter body grey)

Two single-blog fixes. (1) The hero banner (.about-image data-bg div) was rendering as a giant near-square block because the theme gives the div a large height and background-size:cover cropped the wide 2.23:1 banner into a tall sliver. Pinned the div to the banner's own aspect-ratio (2549/1144) with height:auto so the whole image shows as a clean letterbox, still capped to the 1000px content width. (2) Softened blog body copy from near-black to a lighter editorial grey (#6f6f6f) on .text-block-container.

v1.5.586 — 2026-06-18 (Blog post hero — dual-colour H1)

Blog post hero H1 is now dual-colour: the part after the first ": " is wrapped (output buffer, scoped to single blog posts) and rendered in brand pink (#f92869) — e.g. "Do prompt ao produto: [pink]o design já não termina num ficheiro[/pink]". No-op for titles without a colon.

v1.5.585 — 2026-06-18 (Blog post hero — cap the full-bleed banner)

Single blog post hero (.about-image) was full-bleed (~850px tall on wide screens) and bled past the article column. The editorial banner carries title/author top-to-bottom so it can't be cropped — capped it by constraining width to the content layout (max-width 1000px, centered), dropping height to ~450px while keeping the whole image. Scoped to body.single-blog.

v1.5.584 — 2026-06-17 (Course content — darker grey body text + bold links)

Curriculum/content body text was a faint theme grey; darkened to #333 (scoped to .programa/.text-block-container, with :not([color="#0090eb"]) protecting the authored-blue description list). Course-content links now darker grey + bold so they stand out from the body text; blue hover on Remote courses retained.

v1.5.583 — 2026-06-17 (Course content links — fix white-on-white + blue hover)

Inline links inside the curriculum/description cards were painted white by the theme (designed for dark sections), so on the white cards they were invisible and hovered yellow. Course-content links (.sobre-curso/.programa/.text-block-container, incl. font-wrapped) now use a readable darker grey (#555) by default and the page main colour on hover — Remote courses → blue (#0090eb), scoped via :has(.class-remote-learning).

v1.5.582 — 2026-06-17 (Course pages — hide legacy empresas banner + new banner follows typology colour)

(1) The legacy theme in-company banner ("Gostavas de realizar este curso na tua empresa…") was still showing on courses whose variant is section.banner.bg-black (the old hide rule only caught `.split-black-gr...

Read more

v1.5.867

Choose a tag to compare

@github-actions github-actions released this 05 Jul 09:50

Changelog

v1.5.866 — 2026-07-04 (CF7 anti-bot — block via wpcf7_before_send_mail, not wpcf7_spam)

Live testing proved v1.5.865 (and the original honeypot) were INEFFECTIVE: in CF7 6.1.6, the wpcf7_spam filter returning true marks the message as spam (Flamingo) but NO LONGER prevents the mail — a filled honeypot AND a bk.ru/camelCase bot both returned mail_sent. Rewrote EDIT_CF7_AntiBot to abort in wpcf7_before_send_mail ($abort = true), the mechanism that actually stops the mail, while keeping wpcf7_spam for the Flamingo record. Also fixed the honeypot read (the injected field is absent from get_posted_data(), so it now merges raw $_POST). Detection unchanged: honeypot, Cyrillic, links, .ru/free-mail domains, mostly-numeric email local part, camelCase/low-vowel single-token names. Verified: a legit lead ("João Silva", gmail) still returns mail_sent.

v1.5.865 — 2026-07-04 (CF7 anti-bot — content heuristics, not just honeypot)

The "Fale Conosco" spam flood (mail.ru/bk.ru/list.ru senders, camelCase/gibberish names, several/hr) got through because the bots POST a hardcoded payload DIRECTLY to origin.weareedit.io/wp-json/contact-form-7/…/feedback (bypassing the Cloudflare edge entirely) and never load the form — so the honeypot field stays empty and never trips. EDIT_CF7_AntiBot::detect_bot() now inspects the actual submission and marks it spam (silently dropped, no mail) on any high-signal bot pattern: Cyrillic, links in fields, .ru/free-mail spam domains, mostly-numeric email local part (au8834386@…), and camelCase/low-vowel single-token names. Honeypot kept as the first layer. Tuned for near-zero false positives on a PT-language audience (real names have spaces + normal vowels, PT/EU emails). Permanent belt-and-suspenders remains a CAPTCHA (Cloudflare Turnstile) on the form. NOTE: origin.weareedit.io is publicly reachable and accepts CF7 POSTs directly — worth locking to Cloudflare-only at the host/DNS to close the bypass.

v1.5.863 — 2026-07-03 (/go/ shortener — add Data Science short links)

Added dsba-fb and dsba-li to the branded link shortener, both pointing at /data-science-business-analytics/ with utm_source facebook/linkedin, utm_medium=social, utm_campaign=data_science. Pairs with the existing uxui-fb/uxui-li for the 22 Set (DSBA) + 21 Set (UX/UI) course-launch social posts. IG uses link-na-bio (no short link).

v1.5.599 — 2026-06-18 (Editorial #3 — shorten slug + 301 redirect)

Editorial #3 slug shortened to /blog/do-prompt-ao-produto/ (Rank Math URL-length fix, 84→short). (1) Output-buffer enrichment now keys off the new slug 'do-prompt-ao-produto'. (2) Added a loop-safe 301 (old long slug → new) that only fires on a genuine 404, as a backup to WP core wp_old_slug_redirect. Email article link updated to the short URL (UTMs preserved). Daniel changes the post slug in WP + Atualizar.

v1.5.598 — 2026-06-18 (Blog body — lighter general text)

Blog post body copy lightened from #6f6f6f to #aaaaaa (.text-block-container) for a softer, more readable read on the dark editorial background.

v1.5.597 — 2026-06-18 (Editorial #3 hero — widen to content width)

Hero max-width 1000px → 1200px so the banner matches the article content width (measured ~1196px / 200→1396 at a 1600 viewport) instead of sitting narrower than the body.

v1.5.596 — 2026-06-18 (Editorial #3 hero — point at Daniel's WP media URL)

Hero now points at Daniel's WP-media upload (editorial_3_trimmed-4.png) instead of the plugin-bundled copy (which is removed). WP-hosted = Imagify/WebP optimized, no plugin bloat. Placement unchanged.

v1.5.595 — 2026-06-18 (Editorial #3 hero — Daniel's clean image as-is)

Replaced the hero asset with Daniel's re-exported clean banner (editorial_#3_trimmed.png, 2549x1144) byte-for-byte — no crop, no re-encode, no alteration. Plain placement unchanged.

v1.5.594 — 2026-06-18 (Editorial #3 hero — crop black top/right bars off the image)

Cropped the baked-in pure-black margins (97px top, 345px right) off editorial-3-hero.png so the gradient fills the frame; pencil preserved. Image only — no code/placement change (1655x743, ratio 2.227).

v1.5.593 — 2026-06-18 (Editorial #3 hero — just place the image, no CSS hacks)

Removed all hero aspect/cover/inline-style adjustment code. The theme's background-cover .about-image div (which kept cropping the banner) is now replaced with a plain at natural aspect (width:100%, max-width:1000px, height:auto, centered) — the full 2000x840 art shows uncropped, no cover, no aspect-ratio overrides. og:image still pointed at the full 1200x630 share image.

v1.5.592 — 2026-06-18 (HOTFIX — hero aspect: force inline so the banner stops cropping)

The per-post 2.381 hero aspect was set via a same-specificity head rule, which lost the cascade to the global single-blog .about-image rule (2.23) / WP Rocket used-CSS — so the box rendered taller than the art and background-size:cover vertical-centre-cropped it (DISRUPTIVE BLOG tag + "Por Daniel Devera" byline cut off, zoomed title). Now forced INLINE on the element (inline !important beats every stylesheet; Rocket lazyload only appends background-image so it survives) plus a bumped-specificity [data-bg] head rule as backup.

v1.5.591 — 2026-06-18 (HOTFIX — black hero: doubled URL in data-bg/og)

v1.5.590 rewrote the hero data-bg + og:image to an ABSOLUTE plugin URL, but the targets already carried the https://weareedit.io prefix — producing a doubled domain (https://weareedit.iohttps://weareedit.io/...), a broken URL, and a black hero (no background image loaded). Fixed by using wp_make_link_relative() so the replacement is a relative /wp-content/plugins/... path.

v1.5.590 — 2026-06-18 (Editorial #3 — fix hero: crop dead black top)

The full-size hero led with a large black band (the artwork's black top half). Re-cropped to lead with the gradient — keeps DISRUPTIVE BLOG + title + "Por Daniel Devera" byline + full pencil, drops the dead black top. Bundled asset now 2000x840 (ratio 2.381); per-post aspect-ratio updated to match.

v1.5.589 — 2026-06-18 (Editorial #3 article — full-size hero, OG image, color avatar)

More per-post enrichment for "Do prompt ao produto". (1) Hero now uses the FULL-size artwork (byline + full pencil) instead of the trimmed/cropped banner: data-bg rewritten to bundled assets/img/editorial-3-hero.png (2000x1292, ratio 1.548) + per-post aspect-ratio override. (2) og:image rewritten from the small trimmed 768x345 thumb to assets/img/editorial-3-og.png (1200x630, full composition). (3) Author block headshot swapped to Daniel's color chalkboard avatar (WP media URL) and dropped the CSS pink border since the ring is baked into the image.

v1.5.588 — 2026-06-18 (Editorial #3 article — authority links + author block)

Per-article enrichment for "Do prompt ao produto" that the WYSIWYG body editor strips on save, injected via the output buffer (scoped to the exact post slug). (1) External authority links woven onto the named tools: Framer Agents, Figma Make, Figma Sites, MCP, Claude Code, Cursor, Framer, Webflow, Framer 3.0. (2) The locked "Sobre o autor" dark-bleed block for Daniel (148px circle photo + pink ring, role, bio, Perfil/LinkedIn/Wikidata CTAs) injected just above the "Partilhar:" share row. TODO: generalise into the Blog Uploader / a reusable author field so this isn't post-specific.

v1.5.587 — 2026-06-18 (Blog post — fix hero banner aspect + lighter body grey)

Two single-blog fixes. (1) The hero banner (.about-image data-bg div) was rendering as a giant near-square block because the theme gives the div a large height and background-size:cover cropped the wide 2.23:1 banner into a tall sliver. Pinned the div to the banner's own aspect-ratio (2549/1144) with height:auto so the whole image shows as a clean letterbox, still capped to the 1000px content width. (2) Softened blog body copy from near-black to a lighter editorial grey (#6f6f6f) on .text-block-container.

v1.5.586 — 2026-06-18 (Blog post hero — dual-colour H1)

Blog post hero H1 is now dual-colour: the part after the first ": " is wrapped (output buffer, scoped to single blog posts) and rendered in brand pink (#f92869) — e.g. "Do prompt ao produto: [pink]o design já não termina num ficheiro[/pink]". No-op for titles without a colon.

v1.5.585 — 2026-06-18 (Blog post hero — cap the full-bleed banner)

Single blog post hero (.about-image) was full-bleed (~850px tall on wide screens) and bled past the article column. The editorial banner carries title/author top-to-bottom so it can't be cropped — capped it by constraining width to the content layout (max-width 1000px, centered), dropping height to ~450px while keeping the whole image. Scoped to body.single-blog.

v1.5.584 — 2026-06-17 (Course content — darker grey body text + bold links)

Curriculum/content body text was a faint theme grey; darkened to #333 (scoped to .programa/.text-block-container, with :not([color="#0090eb"]) protecting the authored-blue description list). Course-content links now darker grey + bold so they stand out from the body text; blue hover on Remote courses retained.

v1.5.583 — 2026-06-17 (Course content links — fix white-on-white + blue hover)

Inline links inside the curriculum/description cards were painted white by the theme (designed for dark sections), so on the white cards they were invisible and hovered yellow. Course-content links (.sobre-curso/.programa/.text-block-container, incl. font-wrapped) now use a readable darker grey (#555) by default and the page main colour on hover — Remote courses → blue (#0090eb), scoped via :has(.class-remote-learning).

v1.5.582 — 2026-06-17 (Course pages — hide legacy empresas banner + new banner follows typology colour)

(1) The legacy theme in-company banner ("Gostavas de realizar este curso na tua empresa…") was still showing on courses whose variant is section.banner.bg-black (the old hide rule only caught `.split-black-gr...

Read more

v1.5.866

Choose a tag to compare

@github-actions github-actions released this 04 Jul 18:34

Changelog

v1.5.866 — 2026-07-04 (CF7 anti-bot — block via wpcf7_before_send_mail, not wpcf7_spam)

Live testing proved v1.5.865 (and the original honeypot) were INEFFECTIVE: in CF7 6.1.6, the wpcf7_spam filter returning true marks the message as spam (Flamingo) but NO LONGER prevents the mail — a filled honeypot AND a bk.ru/camelCase bot both returned mail_sent. Rewrote EDIT_CF7_AntiBot to abort in wpcf7_before_send_mail ($abort = true), the mechanism that actually stops the mail, while keeping wpcf7_spam for the Flamingo record. Also fixed the honeypot read (the injected field is absent from get_posted_data(), so it now merges raw $_POST). Detection unchanged: honeypot, Cyrillic, links, .ru/free-mail domains, mostly-numeric email local part, camelCase/low-vowel single-token names. Verified: a legit lead ("João Silva", gmail) still returns mail_sent.

v1.5.865 — 2026-07-04 (CF7 anti-bot — content heuristics, not just honeypot)

The "Fale Conosco" spam flood (mail.ru/bk.ru/list.ru senders, camelCase/gibberish names, several/hr) got through because the bots POST a hardcoded payload DIRECTLY to origin.weareedit.io/wp-json/contact-form-7/…/feedback (bypassing the Cloudflare edge entirely) and never load the form — so the honeypot field stays empty and never trips. EDIT_CF7_AntiBot::detect_bot() now inspects the actual submission and marks it spam (silently dropped, no mail) on any high-signal bot pattern: Cyrillic, links in fields, .ru/free-mail spam domains, mostly-numeric email local part (au8834386@…), and camelCase/low-vowel single-token names. Honeypot kept as the first layer. Tuned for near-zero false positives on a PT-language audience (real names have spaces + normal vowels, PT/EU emails). Permanent belt-and-suspenders remains a CAPTCHA (Cloudflare Turnstile) on the form. NOTE: origin.weareedit.io is publicly reachable and accepts CF7 POSTs directly — worth locking to Cloudflare-only at the host/DNS to close the bypass.

v1.5.863 — 2026-07-03 (/go/ shortener — add Data Science short links)

Added dsba-fb and dsba-li to the branded link shortener, both pointing at /data-science-business-analytics/ with utm_source facebook/linkedin, utm_medium=social, utm_campaign=data_science. Pairs with the existing uxui-fb/uxui-li for the 22 Set (DSBA) + 21 Set (UX/UI) course-launch social posts. IG uses link-na-bio (no short link).

v1.5.599 — 2026-06-18 (Editorial #3 — shorten slug + 301 redirect)

Editorial #3 slug shortened to /blog/do-prompt-ao-produto/ (Rank Math URL-length fix, 84→short). (1) Output-buffer enrichment now keys off the new slug 'do-prompt-ao-produto'. (2) Added a loop-safe 301 (old long slug → new) that only fires on a genuine 404, as a backup to WP core wp_old_slug_redirect. Email article link updated to the short URL (UTMs preserved). Daniel changes the post slug in WP + Atualizar.

v1.5.598 — 2026-06-18 (Blog body — lighter general text)

Blog post body copy lightened from #6f6f6f to #aaaaaa (.text-block-container) for a softer, more readable read on the dark editorial background.

v1.5.597 — 2026-06-18 (Editorial #3 hero — widen to content width)

Hero max-width 1000px → 1200px so the banner matches the article content width (measured ~1196px / 200→1396 at a 1600 viewport) instead of sitting narrower than the body.

v1.5.596 — 2026-06-18 (Editorial #3 hero — point at Daniel's WP media URL)

Hero now points at Daniel's WP-media upload (editorial_3_trimmed-4.png) instead of the plugin-bundled copy (which is removed). WP-hosted = Imagify/WebP optimized, no plugin bloat. Placement unchanged.

v1.5.595 — 2026-06-18 (Editorial #3 hero — Daniel's clean image as-is)

Replaced the hero asset with Daniel's re-exported clean banner (editorial_#3_trimmed.png, 2549x1144) byte-for-byte — no crop, no re-encode, no alteration. Plain placement unchanged.

v1.5.594 — 2026-06-18 (Editorial #3 hero — crop black top/right bars off the image)

Cropped the baked-in pure-black margins (97px top, 345px right) off editorial-3-hero.png so the gradient fills the frame; pencil preserved. Image only — no code/placement change (1655x743, ratio 2.227).

v1.5.593 — 2026-06-18 (Editorial #3 hero — just place the image, no CSS hacks)

Removed all hero aspect/cover/inline-style adjustment code. The theme's background-cover .about-image div (which kept cropping the banner) is now replaced with a plain at natural aspect (width:100%, max-width:1000px, height:auto, centered) — the full 2000x840 art shows uncropped, no cover, no aspect-ratio overrides. og:image still pointed at the full 1200x630 share image.

v1.5.592 — 2026-06-18 (HOTFIX — hero aspect: force inline so the banner stops cropping)

The per-post 2.381 hero aspect was set via a same-specificity head rule, which lost the cascade to the global single-blog .about-image rule (2.23) / WP Rocket used-CSS — so the box rendered taller than the art and background-size:cover vertical-centre-cropped it (DISRUPTIVE BLOG tag + "Por Daniel Devera" byline cut off, zoomed title). Now forced INLINE on the element (inline !important beats every stylesheet; Rocket lazyload only appends background-image so it survives) plus a bumped-specificity [data-bg] head rule as backup.

v1.5.591 — 2026-06-18 (HOTFIX — black hero: doubled URL in data-bg/og)

v1.5.590 rewrote the hero data-bg + og:image to an ABSOLUTE plugin URL, but the targets already carried the https://weareedit.io prefix — producing a doubled domain (https://weareedit.iohttps://weareedit.io/...), a broken URL, and a black hero (no background image loaded). Fixed by using wp_make_link_relative() so the replacement is a relative /wp-content/plugins/... path.

v1.5.590 — 2026-06-18 (Editorial #3 — fix hero: crop dead black top)

The full-size hero led with a large black band (the artwork's black top half). Re-cropped to lead with the gradient — keeps DISRUPTIVE BLOG + title + "Por Daniel Devera" byline + full pencil, drops the dead black top. Bundled asset now 2000x840 (ratio 2.381); per-post aspect-ratio updated to match.

v1.5.589 — 2026-06-18 (Editorial #3 article — full-size hero, OG image, color avatar)

More per-post enrichment for "Do prompt ao produto". (1) Hero now uses the FULL-size artwork (byline + full pencil) instead of the trimmed/cropped banner: data-bg rewritten to bundled assets/img/editorial-3-hero.png (2000x1292, ratio 1.548) + per-post aspect-ratio override. (2) og:image rewritten from the small trimmed 768x345 thumb to assets/img/editorial-3-og.png (1200x630, full composition). (3) Author block headshot swapped to Daniel's color chalkboard avatar (WP media URL) and dropped the CSS pink border since the ring is baked into the image.

v1.5.588 — 2026-06-18 (Editorial #3 article — authority links + author block)

Per-article enrichment for "Do prompt ao produto" that the WYSIWYG body editor strips on save, injected via the output buffer (scoped to the exact post slug). (1) External authority links woven onto the named tools: Framer Agents, Figma Make, Figma Sites, MCP, Claude Code, Cursor, Framer, Webflow, Framer 3.0. (2) The locked "Sobre o autor" dark-bleed block for Daniel (148px circle photo + pink ring, role, bio, Perfil/LinkedIn/Wikidata CTAs) injected just above the "Partilhar:" share row. TODO: generalise into the Blog Uploader / a reusable author field so this isn't post-specific.

v1.5.587 — 2026-06-18 (Blog post — fix hero banner aspect + lighter body grey)

Two single-blog fixes. (1) The hero banner (.about-image data-bg div) was rendering as a giant near-square block because the theme gives the div a large height and background-size:cover cropped the wide 2.23:1 banner into a tall sliver. Pinned the div to the banner's own aspect-ratio (2549/1144) with height:auto so the whole image shows as a clean letterbox, still capped to the 1000px content width. (2) Softened blog body copy from near-black to a lighter editorial grey (#6f6f6f) on .text-block-container.

v1.5.586 — 2026-06-18 (Blog post hero — dual-colour H1)

Blog post hero H1 is now dual-colour: the part after the first ": " is wrapped (output buffer, scoped to single blog posts) and rendered in brand pink (#f92869) — e.g. "Do prompt ao produto: [pink]o design já não termina num ficheiro[/pink]". No-op for titles without a colon.

v1.5.585 — 2026-06-18 (Blog post hero — cap the full-bleed banner)

Single blog post hero (.about-image) was full-bleed (~850px tall on wide screens) and bled past the article column. The editorial banner carries title/author top-to-bottom so it can't be cropped — capped it by constraining width to the content layout (max-width 1000px, centered), dropping height to ~450px while keeping the whole image. Scoped to body.single-blog.

v1.5.584 — 2026-06-17 (Course content — darker grey body text + bold links)

Curriculum/content body text was a faint theme grey; darkened to #333 (scoped to .programa/.text-block-container, with :not([color="#0090eb"]) protecting the authored-blue description list). Course-content links now darker grey + bold so they stand out from the body text; blue hover on Remote courses retained.

v1.5.583 — 2026-06-17 (Course content links — fix white-on-white + blue hover)

Inline links inside the curriculum/description cards were painted white by the theme (designed for dark sections), so on the white cards they were invisible and hovered yellow. Course-content links (.sobre-curso/.programa/.text-block-container, incl. font-wrapped) now use a readable darker grey (#555) by default and the page main colour on hover — Remote courses → blue (#0090eb), scoped via :has(.class-remote-learning).

v1.5.582 — 2026-06-17 (Course pages — hide legacy empresas banner + new banner follows typology colour)

(1) The legacy theme in-company banner ("Gostavas de realizar este curso na tua empresa…") was still showing on courses whose variant is section.banner.bg-black (the old hide rule only caught `.split-black-gr...

Read more

v1.5.865

Choose a tag to compare

@github-actions github-actions released this 04 Jul 17:10

Changelog

v1.5.865 — 2026-07-04 (CF7 anti-bot — content heuristics, not just honeypot)

The "Fale Conosco" spam flood (mail.ru/bk.ru/list.ru senders, camelCase/gibberish names, several/hr) got through because the bots POST a hardcoded payload DIRECTLY to origin.weareedit.io/wp-json/contact-form-7/…/feedback (bypassing the Cloudflare edge entirely) and never load the form — so the honeypot field stays empty and never trips. EDIT_CF7_AntiBot::detect_bot() now inspects the actual submission and marks it spam (silently dropped, no mail) on any high-signal bot pattern: Cyrillic, links in fields, .ru/free-mail spam domains, mostly-numeric email local part (au8834386@…), and camelCase/low-vowel single-token names. Honeypot kept as the first layer. Tuned for near-zero false positives on a PT-language audience (real names have spaces + normal vowels, PT/EU emails). Permanent belt-and-suspenders remains a CAPTCHA (Cloudflare Turnstile) on the form. NOTE: origin.weareedit.io is publicly reachable and accepts CF7 POSTs directly — worth locking to Cloudflare-only at the host/DNS to close the bypass.

v1.5.863 — 2026-07-03 (/go/ shortener — add Data Science short links)

Added dsba-fb and dsba-li to the branded link shortener, both pointing at /data-science-business-analytics/ with utm_source facebook/linkedin, utm_medium=social, utm_campaign=data_science. Pairs with the existing uxui-fb/uxui-li for the 22 Set (DSBA) + 21 Set (UX/UI) course-launch social posts. IG uses link-na-bio (no short link).

v1.5.599 — 2026-06-18 (Editorial #3 — shorten slug + 301 redirect)

Editorial #3 slug shortened to /blog/do-prompt-ao-produto/ (Rank Math URL-length fix, 84→short). (1) Output-buffer enrichment now keys off the new slug 'do-prompt-ao-produto'. (2) Added a loop-safe 301 (old long slug → new) that only fires on a genuine 404, as a backup to WP core wp_old_slug_redirect. Email article link updated to the short URL (UTMs preserved). Daniel changes the post slug in WP + Atualizar.

v1.5.598 — 2026-06-18 (Blog body — lighter general text)

Blog post body copy lightened from #6f6f6f to #aaaaaa (.text-block-container) for a softer, more readable read on the dark editorial background.

v1.5.597 — 2026-06-18 (Editorial #3 hero — widen to content width)

Hero max-width 1000px → 1200px so the banner matches the article content width (measured ~1196px / 200→1396 at a 1600 viewport) instead of sitting narrower than the body.

v1.5.596 — 2026-06-18 (Editorial #3 hero — point at Daniel's WP media URL)

Hero now points at Daniel's WP-media upload (editorial_3_trimmed-4.png) instead of the plugin-bundled copy (which is removed). WP-hosted = Imagify/WebP optimized, no plugin bloat. Placement unchanged.

v1.5.595 — 2026-06-18 (Editorial #3 hero — Daniel's clean image as-is)

Replaced the hero asset with Daniel's re-exported clean banner (editorial_#3_trimmed.png, 2549x1144) byte-for-byte — no crop, no re-encode, no alteration. Plain placement unchanged.

v1.5.594 — 2026-06-18 (Editorial #3 hero — crop black top/right bars off the image)

Cropped the baked-in pure-black margins (97px top, 345px right) off editorial-3-hero.png so the gradient fills the frame; pencil preserved. Image only — no code/placement change (1655x743, ratio 2.227).

v1.5.593 — 2026-06-18 (Editorial #3 hero — just place the image, no CSS hacks)

Removed all hero aspect/cover/inline-style adjustment code. The theme's background-cover .about-image div (which kept cropping the banner) is now replaced with a plain at natural aspect (width:100%, max-width:1000px, height:auto, centered) — the full 2000x840 art shows uncropped, no cover, no aspect-ratio overrides. og:image still pointed at the full 1200x630 share image.

v1.5.592 — 2026-06-18 (HOTFIX — hero aspect: force inline so the banner stops cropping)

The per-post 2.381 hero aspect was set via a same-specificity head rule, which lost the cascade to the global single-blog .about-image rule (2.23) / WP Rocket used-CSS — so the box rendered taller than the art and background-size:cover vertical-centre-cropped it (DISRUPTIVE BLOG tag + "Por Daniel Devera" byline cut off, zoomed title). Now forced INLINE on the element (inline !important beats every stylesheet; Rocket lazyload only appends background-image so it survives) plus a bumped-specificity [data-bg] head rule as backup.

v1.5.591 — 2026-06-18 (HOTFIX — black hero: doubled URL in data-bg/og)

v1.5.590 rewrote the hero data-bg + og:image to an ABSOLUTE plugin URL, but the targets already carried the https://weareedit.io prefix — producing a doubled domain (https://weareedit.iohttps://weareedit.io/...), a broken URL, and a black hero (no background image loaded). Fixed by using wp_make_link_relative() so the replacement is a relative /wp-content/plugins/... path.

v1.5.590 — 2026-06-18 (Editorial #3 — fix hero: crop dead black top)

The full-size hero led with a large black band (the artwork's black top half). Re-cropped to lead with the gradient — keeps DISRUPTIVE BLOG + title + "Por Daniel Devera" byline + full pencil, drops the dead black top. Bundled asset now 2000x840 (ratio 2.381); per-post aspect-ratio updated to match.

v1.5.589 — 2026-06-18 (Editorial #3 article — full-size hero, OG image, color avatar)

More per-post enrichment for "Do prompt ao produto". (1) Hero now uses the FULL-size artwork (byline + full pencil) instead of the trimmed/cropped banner: data-bg rewritten to bundled assets/img/editorial-3-hero.png (2000x1292, ratio 1.548) + per-post aspect-ratio override. (2) og:image rewritten from the small trimmed 768x345 thumb to assets/img/editorial-3-og.png (1200x630, full composition). (3) Author block headshot swapped to Daniel's color chalkboard avatar (WP media URL) and dropped the CSS pink border since the ring is baked into the image.

v1.5.588 — 2026-06-18 (Editorial #3 article — authority links + author block)

Per-article enrichment for "Do prompt ao produto" that the WYSIWYG body editor strips on save, injected via the output buffer (scoped to the exact post slug). (1) External authority links woven onto the named tools: Framer Agents, Figma Make, Figma Sites, MCP, Claude Code, Cursor, Framer, Webflow, Framer 3.0. (2) The locked "Sobre o autor" dark-bleed block for Daniel (148px circle photo + pink ring, role, bio, Perfil/LinkedIn/Wikidata CTAs) injected just above the "Partilhar:" share row. TODO: generalise into the Blog Uploader / a reusable author field so this isn't post-specific.

v1.5.587 — 2026-06-18 (Blog post — fix hero banner aspect + lighter body grey)

Two single-blog fixes. (1) The hero banner (.about-image data-bg div) was rendering as a giant near-square block because the theme gives the div a large height and background-size:cover cropped the wide 2.23:1 banner into a tall sliver. Pinned the div to the banner's own aspect-ratio (2549/1144) with height:auto so the whole image shows as a clean letterbox, still capped to the 1000px content width. (2) Softened blog body copy from near-black to a lighter editorial grey (#6f6f6f) on .text-block-container.

v1.5.586 — 2026-06-18 (Blog post hero — dual-colour H1)

Blog post hero H1 is now dual-colour: the part after the first ": " is wrapped (output buffer, scoped to single blog posts) and rendered in brand pink (#f92869) — e.g. "Do prompt ao produto: [pink]o design já não termina num ficheiro[/pink]". No-op for titles without a colon.

v1.5.585 — 2026-06-18 (Blog post hero — cap the full-bleed banner)

Single blog post hero (.about-image) was full-bleed (~850px tall on wide screens) and bled past the article column. The editorial banner carries title/author top-to-bottom so it can't be cropped — capped it by constraining width to the content layout (max-width 1000px, centered), dropping height to ~450px while keeping the whole image. Scoped to body.single-blog.

v1.5.584 — 2026-06-17 (Course content — darker grey body text + bold links)

Curriculum/content body text was a faint theme grey; darkened to #333 (scoped to .programa/.text-block-container, with :not([color="#0090eb"]) protecting the authored-blue description list). Course-content links now darker grey + bold so they stand out from the body text; blue hover on Remote courses retained.

v1.5.583 — 2026-06-17 (Course content links — fix white-on-white + blue hover)

Inline links inside the curriculum/description cards were painted white by the theme (designed for dark sections), so on the white cards they were invisible and hovered yellow. Course-content links (.sobre-curso/.programa/.text-block-container, incl. font-wrapped) now use a readable darker grey (#555) by default and the page main colour on hover — Remote courses → blue (#0090eb), scoped via :has(.class-remote-learning).

v1.5.582 — 2026-06-17 (Course pages — hide legacy empresas banner + new banner follows typology colour)

(1) The legacy theme in-company banner ("Gostavas de realizar este curso na tua empresa…") was still showing on courses whose variant is section.banner.bg-black (the old hide rule only caught .split-black-grey). Broadened the hide to section.banner:has(.info-banner) so every legacy variant is suppressed — the new .ceb-mini banner replaces it. (2) The new Empresas banner (.ceb-mini) was hard-yellow; now its accents (eyebrow, italic, CTA) follow the page's typology colour — Remote Learning courses → blue (#0090eb), white CTA label; presencial keeps yellow. Scoped via :has(.class-remote-learning).

v1.5.581 — 2026-06-17 (Single course page — hide redundant hero/CTA promo badges)

On single course (product) pages the theme echoes the promo badge slot (AI UPGRADE / EARLY15) into the hero + sticky-CTA chrome, where it renders dark-on-dark and is redundant (Daniel: "not supposed to render"). Hidden via body.single-formacao .special-labels-container{display:none}, with body.single-formacao .course-box .special-labels-container{display:flex} re-showing the badges o...

Read more

v1.5.864

Choose a tag to compare

@github-actions github-actions released this 04 Jul 07:26

Changelog

v1.5.863 — 2026-07-03 (/go/ shortener — add Data Science short links)

Added dsba-fb and dsba-li to the branded link shortener, both pointing at /data-science-business-analytics/ with utm_source facebook/linkedin, utm_medium=social, utm_campaign=data_science. Pairs with the existing uxui-fb/uxui-li for the 22 Set (DSBA) + 21 Set (UX/UI) course-launch social posts. IG uses link-na-bio (no short link).

v1.5.599 — 2026-06-18 (Editorial #3 — shorten slug + 301 redirect)

Editorial #3 slug shortened to /blog/do-prompt-ao-produto/ (Rank Math URL-length fix, 84→short). (1) Output-buffer enrichment now keys off the new slug 'do-prompt-ao-produto'. (2) Added a loop-safe 301 (old long slug → new) that only fires on a genuine 404, as a backup to WP core wp_old_slug_redirect. Email article link updated to the short URL (UTMs preserved). Daniel changes the post slug in WP + Atualizar.

v1.5.598 — 2026-06-18 (Blog body — lighter general text)

Blog post body copy lightened from #6f6f6f to #aaaaaa (.text-block-container) for a softer, more readable read on the dark editorial background.

v1.5.597 — 2026-06-18 (Editorial #3 hero — widen to content width)

Hero max-width 1000px → 1200px so the banner matches the article content width (measured ~1196px / 200→1396 at a 1600 viewport) instead of sitting narrower than the body.

v1.5.596 — 2026-06-18 (Editorial #3 hero — point at Daniel's WP media URL)

Hero now points at Daniel's WP-media upload (editorial_3_trimmed-4.png) instead of the plugin-bundled copy (which is removed). WP-hosted = Imagify/WebP optimized, no plugin bloat. Placement unchanged.

v1.5.595 — 2026-06-18 (Editorial #3 hero — Daniel's clean image as-is)

Replaced the hero asset with Daniel's re-exported clean banner (editorial_#3_trimmed.png, 2549x1144) byte-for-byte — no crop, no re-encode, no alteration. Plain placement unchanged.

v1.5.594 — 2026-06-18 (Editorial #3 hero — crop black top/right bars off the image)

Cropped the baked-in pure-black margins (97px top, 345px right) off editorial-3-hero.png so the gradient fills the frame; pencil preserved. Image only — no code/placement change (1655x743, ratio 2.227).

v1.5.593 — 2026-06-18 (Editorial #3 hero — just place the image, no CSS hacks)

Removed all hero aspect/cover/inline-style adjustment code. The theme's background-cover .about-image div (which kept cropping the banner) is now replaced with a plain at natural aspect (width:100%, max-width:1000px, height:auto, centered) — the full 2000x840 art shows uncropped, no cover, no aspect-ratio overrides. og:image still pointed at the full 1200x630 share image.

v1.5.592 — 2026-06-18 (HOTFIX — hero aspect: force inline so the banner stops cropping)

The per-post 2.381 hero aspect was set via a same-specificity head rule, which lost the cascade to the global single-blog .about-image rule (2.23) / WP Rocket used-CSS — so the box rendered taller than the art and background-size:cover vertical-centre-cropped it (DISRUPTIVE BLOG tag + "Por Daniel Devera" byline cut off, zoomed title). Now forced INLINE on the element (inline !important beats every stylesheet; Rocket lazyload only appends background-image so it survives) plus a bumped-specificity [data-bg] head rule as backup.

v1.5.591 — 2026-06-18 (HOTFIX — black hero: doubled URL in data-bg/og)

v1.5.590 rewrote the hero data-bg + og:image to an ABSOLUTE plugin URL, but the targets already carried the https://weareedit.io prefix — producing a doubled domain (https://weareedit.iohttps://weareedit.io/...), a broken URL, and a black hero (no background image loaded). Fixed by using wp_make_link_relative() so the replacement is a relative /wp-content/plugins/... path.

v1.5.590 — 2026-06-18 (Editorial #3 — fix hero: crop dead black top)

The full-size hero led with a large black band (the artwork's black top half). Re-cropped to lead with the gradient — keeps DISRUPTIVE BLOG + title + "Por Daniel Devera" byline + full pencil, drops the dead black top. Bundled asset now 2000x840 (ratio 2.381); per-post aspect-ratio updated to match.

v1.5.589 — 2026-06-18 (Editorial #3 article — full-size hero, OG image, color avatar)

More per-post enrichment for "Do prompt ao produto". (1) Hero now uses the FULL-size artwork (byline + full pencil) instead of the trimmed/cropped banner: data-bg rewritten to bundled assets/img/editorial-3-hero.png (2000x1292, ratio 1.548) + per-post aspect-ratio override. (2) og:image rewritten from the small trimmed 768x345 thumb to assets/img/editorial-3-og.png (1200x630, full composition). (3) Author block headshot swapped to Daniel's color chalkboard avatar (WP media URL) and dropped the CSS pink border since the ring is baked into the image.

v1.5.588 — 2026-06-18 (Editorial #3 article — authority links + author block)

Per-article enrichment for "Do prompt ao produto" that the WYSIWYG body editor strips on save, injected via the output buffer (scoped to the exact post slug). (1) External authority links woven onto the named tools: Framer Agents, Figma Make, Figma Sites, MCP, Claude Code, Cursor, Framer, Webflow, Framer 3.0. (2) The locked "Sobre o autor" dark-bleed block for Daniel (148px circle photo + pink ring, role, bio, Perfil/LinkedIn/Wikidata CTAs) injected just above the "Partilhar:" share row. TODO: generalise into the Blog Uploader / a reusable author field so this isn't post-specific.

v1.5.587 — 2026-06-18 (Blog post — fix hero banner aspect + lighter body grey)

Two single-blog fixes. (1) The hero banner (.about-image data-bg div) was rendering as a giant near-square block because the theme gives the div a large height and background-size:cover cropped the wide 2.23:1 banner into a tall sliver. Pinned the div to the banner's own aspect-ratio (2549/1144) with height:auto so the whole image shows as a clean letterbox, still capped to the 1000px content width. (2) Softened blog body copy from near-black to a lighter editorial grey (#6f6f6f) on .text-block-container.

v1.5.586 — 2026-06-18 (Blog post hero — dual-colour H1)

Blog post hero H1 is now dual-colour: the part after the first ": " is wrapped (output buffer, scoped to single blog posts) and rendered in brand pink (#f92869) — e.g. "Do prompt ao produto: [pink]o design já não termina num ficheiro[/pink]". No-op for titles without a colon.

v1.5.585 — 2026-06-18 (Blog post hero — cap the full-bleed banner)

Single blog post hero (.about-image) was full-bleed (~850px tall on wide screens) and bled past the article column. The editorial banner carries title/author top-to-bottom so it can't be cropped — capped it by constraining width to the content layout (max-width 1000px, centered), dropping height to ~450px while keeping the whole image. Scoped to body.single-blog.

v1.5.584 — 2026-06-17 (Course content — darker grey body text + bold links)

Curriculum/content body text was a faint theme grey; darkened to #333 (scoped to .programa/.text-block-container, with :not([color="#0090eb"]) protecting the authored-blue description list). Course-content links now darker grey + bold so they stand out from the body text; blue hover on Remote courses retained.

v1.5.583 — 2026-06-17 (Course content links — fix white-on-white + blue hover)

Inline links inside the curriculum/description cards were painted white by the theme (designed for dark sections), so on the white cards they were invisible and hovered yellow. Course-content links (.sobre-curso/.programa/.text-block-container, incl. font-wrapped) now use a readable darker grey (#555) by default and the page main colour on hover — Remote courses → blue (#0090eb), scoped via :has(.class-remote-learning).

v1.5.582 — 2026-06-17 (Course pages — hide legacy empresas banner + new banner follows typology colour)

(1) The legacy theme in-company banner ("Gostavas de realizar este curso na tua empresa…") was still showing on courses whose variant is section.banner.bg-black (the old hide rule only caught .split-black-grey). Broadened the hide to section.banner:has(.info-banner) so every legacy variant is suppressed — the new .ceb-mini banner replaces it. (2) The new Empresas banner (.ceb-mini) was hard-yellow; now its accents (eyebrow, italic, CTA) follow the page's typology colour — Remote Learning courses → blue (#0090eb), white CTA label; presencial keeps yellow. Scoped via :has(.class-remote-learning).

v1.5.581 — 2026-06-17 (Single course page — hide redundant hero/CTA promo badges)

On single course (product) pages the theme echoes the promo badge slot (AI UPGRADE / EARLY15) into the hero + sticky-CTA chrome, where it renders dark-on-dark and is redundant (Daniel: "not supposed to render"). Hidden via body.single-formacao .special-labels-container{display:none}, with body.single-formacao .course-box .special-labels-container{display:flex} re-showing the badges on the "outras formações" related-courses grid cards. Grid/archive/pillar card badges untouched.

v1.5.580 — 2026-06-17 (Remote courses — keep authored blue accent, not pink)

The course-description highlight on Remote Learning courses (e.g. /curso-marketing-digital-online/) rendered PINK even though the content is authored blue (#0090eb) and Remote's typology colour IS blue. Cause: our own rule in class-pillar-cross-links.php force-recoloured .sobre-curso font[color="#0090eb"] to #f92869 site-wide. Scoped it to EXCLUDE remote courses via body:not(:has(.class-remote-learning)), so Remote courses keep their authored blue (title mention + the AI/Social/SEO/… bullet list) and other course types are unchanged. Degrades safely to authored blue if :has() is unsupported.

v1.5.579 — 2026-06-17 (Augment feedback — edit notes + visual add-mode cursor)

(1) Edit existing notes: added a PUT /notes/{id} route (update_note, token-gated) + an "Editar" button in each note bubble that swaps to an editable textarea (Guardar/Cancelar); shows "· editado" after. (2) More visual add-mode: replaced the ...

Read more

v1.5.863

Choose a tag to compare

@github-actions github-actions released this 03 Jul 14:54

Changelog

v1.5.863 — 2026-07-03 (/go/ shortener — add Data Science short links)

Added dsba-fb and dsba-li to the branded link shortener, both pointing at /data-science-business-analytics/ with utm_source facebook/linkedin, utm_medium=social, utm_campaign=data_science. Pairs with the existing uxui-fb/uxui-li for the 22 Set (DSBA) + 21 Set (UX/UI) course-launch social posts. IG uses link-na-bio (no short link).

v1.5.599 — 2026-06-18 (Editorial #3 — shorten slug + 301 redirect)

Editorial #3 slug shortened to /blog/do-prompt-ao-produto/ (Rank Math URL-length fix, 84→short). (1) Output-buffer enrichment now keys off the new slug 'do-prompt-ao-produto'. (2) Added a loop-safe 301 (old long slug → new) that only fires on a genuine 404, as a backup to WP core wp_old_slug_redirect. Email article link updated to the short URL (UTMs preserved). Daniel changes the post slug in WP + Atualizar.

v1.5.598 — 2026-06-18 (Blog body — lighter general text)

Blog post body copy lightened from #6f6f6f to #aaaaaa (.text-block-container) for a softer, more readable read on the dark editorial background.

v1.5.597 — 2026-06-18 (Editorial #3 hero — widen to content width)

Hero max-width 1000px → 1200px so the banner matches the article content width (measured ~1196px / 200→1396 at a 1600 viewport) instead of sitting narrower than the body.

v1.5.596 — 2026-06-18 (Editorial #3 hero — point at Daniel's WP media URL)

Hero now points at Daniel's WP-media upload (editorial_3_trimmed-4.png) instead of the plugin-bundled copy (which is removed). WP-hosted = Imagify/WebP optimized, no plugin bloat. Placement unchanged.

v1.5.595 — 2026-06-18 (Editorial #3 hero — Daniel's clean image as-is)

Replaced the hero asset with Daniel's re-exported clean banner (editorial_#3_trimmed.png, 2549x1144) byte-for-byte — no crop, no re-encode, no alteration. Plain placement unchanged.

v1.5.594 — 2026-06-18 (Editorial #3 hero — crop black top/right bars off the image)

Cropped the baked-in pure-black margins (97px top, 345px right) off editorial-3-hero.png so the gradient fills the frame; pencil preserved. Image only — no code/placement change (1655x743, ratio 2.227).

v1.5.593 — 2026-06-18 (Editorial #3 hero — just place the image, no CSS hacks)

Removed all hero aspect/cover/inline-style adjustment code. The theme's background-cover .about-image div (which kept cropping the banner) is now replaced with a plain at natural aspect (width:100%, max-width:1000px, height:auto, centered) — the full 2000x840 art shows uncropped, no cover, no aspect-ratio overrides. og:image still pointed at the full 1200x630 share image.

v1.5.592 — 2026-06-18 (HOTFIX — hero aspect: force inline so the banner stops cropping)

The per-post 2.381 hero aspect was set via a same-specificity head rule, which lost the cascade to the global single-blog .about-image rule (2.23) / WP Rocket used-CSS — so the box rendered taller than the art and background-size:cover vertical-centre-cropped it (DISRUPTIVE BLOG tag + "Por Daniel Devera" byline cut off, zoomed title). Now forced INLINE on the element (inline !important beats every stylesheet; Rocket lazyload only appends background-image so it survives) plus a bumped-specificity [data-bg] head rule as backup.

v1.5.591 — 2026-06-18 (HOTFIX — black hero: doubled URL in data-bg/og)

v1.5.590 rewrote the hero data-bg + og:image to an ABSOLUTE plugin URL, but the targets already carried the https://weareedit.io prefix — producing a doubled domain (https://weareedit.iohttps://weareedit.io/...), a broken URL, and a black hero (no background image loaded). Fixed by using wp_make_link_relative() so the replacement is a relative /wp-content/plugins/... path.

v1.5.590 — 2026-06-18 (Editorial #3 — fix hero: crop dead black top)

The full-size hero led with a large black band (the artwork's black top half). Re-cropped to lead with the gradient — keeps DISRUPTIVE BLOG + title + "Por Daniel Devera" byline + full pencil, drops the dead black top. Bundled asset now 2000x840 (ratio 2.381); per-post aspect-ratio updated to match.

v1.5.589 — 2026-06-18 (Editorial #3 article — full-size hero, OG image, color avatar)

More per-post enrichment for "Do prompt ao produto". (1) Hero now uses the FULL-size artwork (byline + full pencil) instead of the trimmed/cropped banner: data-bg rewritten to bundled assets/img/editorial-3-hero.png (2000x1292, ratio 1.548) + per-post aspect-ratio override. (2) og:image rewritten from the small trimmed 768x345 thumb to assets/img/editorial-3-og.png (1200x630, full composition). (3) Author block headshot swapped to Daniel's color chalkboard avatar (WP media URL) and dropped the CSS pink border since the ring is baked into the image.

v1.5.588 — 2026-06-18 (Editorial #3 article — authority links + author block)

Per-article enrichment for "Do prompt ao produto" that the WYSIWYG body editor strips on save, injected via the output buffer (scoped to the exact post slug). (1) External authority links woven onto the named tools: Framer Agents, Figma Make, Figma Sites, MCP, Claude Code, Cursor, Framer, Webflow, Framer 3.0. (2) The locked "Sobre o autor" dark-bleed block for Daniel (148px circle photo + pink ring, role, bio, Perfil/LinkedIn/Wikidata CTAs) injected just above the "Partilhar:" share row. TODO: generalise into the Blog Uploader / a reusable author field so this isn't post-specific.

v1.5.587 — 2026-06-18 (Blog post — fix hero banner aspect + lighter body grey)

Two single-blog fixes. (1) The hero banner (.about-image data-bg div) was rendering as a giant near-square block because the theme gives the div a large height and background-size:cover cropped the wide 2.23:1 banner into a tall sliver. Pinned the div to the banner's own aspect-ratio (2549/1144) with height:auto so the whole image shows as a clean letterbox, still capped to the 1000px content width. (2) Softened blog body copy from near-black to a lighter editorial grey (#6f6f6f) on .text-block-container.

v1.5.586 — 2026-06-18 (Blog post hero — dual-colour H1)

Blog post hero H1 is now dual-colour: the part after the first ": " is wrapped (output buffer, scoped to single blog posts) and rendered in brand pink (#f92869) — e.g. "Do prompt ao produto: [pink]o design já não termina num ficheiro[/pink]". No-op for titles without a colon.

v1.5.585 — 2026-06-18 (Blog post hero — cap the full-bleed banner)

Single blog post hero (.about-image) was full-bleed (~850px tall on wide screens) and bled past the article column. The editorial banner carries title/author top-to-bottom so it can't be cropped — capped it by constraining width to the content layout (max-width 1000px, centered), dropping height to ~450px while keeping the whole image. Scoped to body.single-blog.

v1.5.584 — 2026-06-17 (Course content — darker grey body text + bold links)

Curriculum/content body text was a faint theme grey; darkened to #333 (scoped to .programa/.text-block-container, with :not([color="#0090eb"]) protecting the authored-blue description list). Course-content links now darker grey + bold so they stand out from the body text; blue hover on Remote courses retained.

v1.5.583 — 2026-06-17 (Course content links — fix white-on-white + blue hover)

Inline links inside the curriculum/description cards were painted white by the theme (designed for dark sections), so on the white cards they were invisible and hovered yellow. Course-content links (.sobre-curso/.programa/.text-block-container, incl. font-wrapped) now use a readable darker grey (#555) by default and the page main colour on hover — Remote courses → blue (#0090eb), scoped via :has(.class-remote-learning).

v1.5.582 — 2026-06-17 (Course pages — hide legacy empresas banner + new banner follows typology colour)

(1) The legacy theme in-company banner ("Gostavas de realizar este curso na tua empresa…") was still showing on courses whose variant is section.banner.bg-black (the old hide rule only caught .split-black-grey). Broadened the hide to section.banner:has(.info-banner) so every legacy variant is suppressed — the new .ceb-mini banner replaces it. (2) The new Empresas banner (.ceb-mini) was hard-yellow; now its accents (eyebrow, italic, CTA) follow the page's typology colour — Remote Learning courses → blue (#0090eb), white CTA label; presencial keeps yellow. Scoped via :has(.class-remote-learning).

v1.5.581 — 2026-06-17 (Single course page — hide redundant hero/CTA promo badges)

On single course (product) pages the theme echoes the promo badge slot (AI UPGRADE / EARLY15) into the hero + sticky-CTA chrome, where it renders dark-on-dark and is redundant (Daniel: "not supposed to render"). Hidden via body.single-formacao .special-labels-container{display:none}, with body.single-formacao .course-box .special-labels-container{display:flex} re-showing the badges on the "outras formações" related-courses grid cards. Grid/archive/pillar card badges untouched.

v1.5.580 — 2026-06-17 (Remote courses — keep authored blue accent, not pink)

The course-description highlight on Remote Learning courses (e.g. /curso-marketing-digital-online/) rendered PINK even though the content is authored blue (#0090eb) and Remote's typology colour IS blue. Cause: our own rule in class-pillar-cross-links.php force-recoloured .sobre-curso font[color="#0090eb"] to #f92869 site-wide. Scoped it to EXCLUDE remote courses via body:not(:has(.class-remote-learning)), so Remote courses keep their authored blue (title mention + the AI/Social/SEO/… bullet list) and other course types are unchanged. Degrades safely to authored blue if :has() is unsupported.

v1.5.579 — 2026-06-17 (Augment feedback — edit notes + visual add-mode cursor)

(1) Edit existing notes: added a PUT /notes/{id} route (update_note, token-gated) + an "Editar" button in each note bubble that swaps to an editable textarea (Guardar/Cancelar); shows "· editado" after. (2) More visual add-mode: replaced the ...

Read more

v1.5.862

Choose a tag to compare

@github-actions github-actions released this 02 Jul 08:03

Changelog

v1.5.599 — 2026-06-18 (Editorial #3 — shorten slug + 301 redirect)

Editorial #3 slug shortened to /blog/do-prompt-ao-produto/ (Rank Math URL-length fix, 84→short). (1) Output-buffer enrichment now keys off the new slug 'do-prompt-ao-produto'. (2) Added a loop-safe 301 (old long slug → new) that only fires on a genuine 404, as a backup to WP core wp_old_slug_redirect. Email article link updated to the short URL (UTMs preserved). Daniel changes the post slug in WP + Atualizar.

v1.5.598 — 2026-06-18 (Blog body — lighter general text)

Blog post body copy lightened from #6f6f6f to #aaaaaa (.text-block-container) for a softer, more readable read on the dark editorial background.

v1.5.597 — 2026-06-18 (Editorial #3 hero — widen to content width)

Hero max-width 1000px → 1200px so the banner matches the article content width (measured ~1196px / 200→1396 at a 1600 viewport) instead of sitting narrower than the body.

v1.5.596 — 2026-06-18 (Editorial #3 hero — point at Daniel's WP media URL)

Hero now points at Daniel's WP-media upload (editorial_3_trimmed-4.png) instead of the plugin-bundled copy (which is removed). WP-hosted = Imagify/WebP optimized, no plugin bloat. Placement unchanged.

v1.5.595 — 2026-06-18 (Editorial #3 hero — Daniel's clean image as-is)

Replaced the hero asset with Daniel's re-exported clean banner (editorial_#3_trimmed.png, 2549x1144) byte-for-byte — no crop, no re-encode, no alteration. Plain placement unchanged.

v1.5.594 — 2026-06-18 (Editorial #3 hero — crop black top/right bars off the image)

Cropped the baked-in pure-black margins (97px top, 345px right) off editorial-3-hero.png so the gradient fills the frame; pencil preserved. Image only — no code/placement change (1655x743, ratio 2.227).

v1.5.593 — 2026-06-18 (Editorial #3 hero — just place the image, no CSS hacks)

Removed all hero aspect/cover/inline-style adjustment code. The theme's background-cover .about-image div (which kept cropping the banner) is now replaced with a plain at natural aspect (width:100%, max-width:1000px, height:auto, centered) — the full 2000x840 art shows uncropped, no cover, no aspect-ratio overrides. og:image still pointed at the full 1200x630 share image.

v1.5.592 — 2026-06-18 (HOTFIX — hero aspect: force inline so the banner stops cropping)

The per-post 2.381 hero aspect was set via a same-specificity head rule, which lost the cascade to the global single-blog .about-image rule (2.23) / WP Rocket used-CSS — so the box rendered taller than the art and background-size:cover vertical-centre-cropped it (DISRUPTIVE BLOG tag + "Por Daniel Devera" byline cut off, zoomed title). Now forced INLINE on the element (inline !important beats every stylesheet; Rocket lazyload only appends background-image so it survives) plus a bumped-specificity [data-bg] head rule as backup.

v1.5.591 — 2026-06-18 (HOTFIX — black hero: doubled URL in data-bg/og)

v1.5.590 rewrote the hero data-bg + og:image to an ABSOLUTE plugin URL, but the targets already carried the https://weareedit.io prefix — producing a doubled domain (https://weareedit.iohttps://weareedit.io/...), a broken URL, and a black hero (no background image loaded). Fixed by using wp_make_link_relative() so the replacement is a relative /wp-content/plugins/... path.

v1.5.590 — 2026-06-18 (Editorial #3 — fix hero: crop dead black top)

The full-size hero led with a large black band (the artwork's black top half). Re-cropped to lead with the gradient — keeps DISRUPTIVE BLOG + title + "Por Daniel Devera" byline + full pencil, drops the dead black top. Bundled asset now 2000x840 (ratio 2.381); per-post aspect-ratio updated to match.

v1.5.589 — 2026-06-18 (Editorial #3 article — full-size hero, OG image, color avatar)

More per-post enrichment for "Do prompt ao produto". (1) Hero now uses the FULL-size artwork (byline + full pencil) instead of the trimmed/cropped banner: data-bg rewritten to bundled assets/img/editorial-3-hero.png (2000x1292, ratio 1.548) + per-post aspect-ratio override. (2) og:image rewritten from the small trimmed 768x345 thumb to assets/img/editorial-3-og.png (1200x630, full composition). (3) Author block headshot swapped to Daniel's color chalkboard avatar (WP media URL) and dropped the CSS pink border since the ring is baked into the image.

v1.5.588 — 2026-06-18 (Editorial #3 article — authority links + author block)

Per-article enrichment for "Do prompt ao produto" that the WYSIWYG body editor strips on save, injected via the output buffer (scoped to the exact post slug). (1) External authority links woven onto the named tools: Framer Agents, Figma Make, Figma Sites, MCP, Claude Code, Cursor, Framer, Webflow, Framer 3.0. (2) The locked "Sobre o autor" dark-bleed block for Daniel (148px circle photo + pink ring, role, bio, Perfil/LinkedIn/Wikidata CTAs) injected just above the "Partilhar:" share row. TODO: generalise into the Blog Uploader / a reusable author field so this isn't post-specific.

v1.5.587 — 2026-06-18 (Blog post — fix hero banner aspect + lighter body grey)

Two single-blog fixes. (1) The hero banner (.about-image data-bg div) was rendering as a giant near-square block because the theme gives the div a large height and background-size:cover cropped the wide 2.23:1 banner into a tall sliver. Pinned the div to the banner's own aspect-ratio (2549/1144) with height:auto so the whole image shows as a clean letterbox, still capped to the 1000px content width. (2) Softened blog body copy from near-black to a lighter editorial grey (#6f6f6f) on .text-block-container.

v1.5.586 — 2026-06-18 (Blog post hero — dual-colour H1)

Blog post hero H1 is now dual-colour: the part after the first ": " is wrapped (output buffer, scoped to single blog posts) and rendered in brand pink (#f92869) — e.g. "Do prompt ao produto: [pink]o design já não termina num ficheiro[/pink]". No-op for titles without a colon.

v1.5.585 — 2026-06-18 (Blog post hero — cap the full-bleed banner)

Single blog post hero (.about-image) was full-bleed (~850px tall on wide screens) and bled past the article column. The editorial banner carries title/author top-to-bottom so it can't be cropped — capped it by constraining width to the content layout (max-width 1000px, centered), dropping height to ~450px while keeping the whole image. Scoped to body.single-blog.

v1.5.584 — 2026-06-17 (Course content — darker grey body text + bold links)

Curriculum/content body text was a faint theme grey; darkened to #333 (scoped to .programa/.text-block-container, with :not([color="#0090eb"]) protecting the authored-blue description list). Course-content links now darker grey + bold so they stand out from the body text; blue hover on Remote courses retained.

v1.5.583 — 2026-06-17 (Course content links — fix white-on-white + blue hover)

Inline links inside the curriculum/description cards were painted white by the theme (designed for dark sections), so on the white cards they were invisible and hovered yellow. Course-content links (.sobre-curso/.programa/.text-block-container, incl. font-wrapped) now use a readable darker grey (#555) by default and the page main colour on hover — Remote courses → blue (#0090eb), scoped via :has(.class-remote-learning).

v1.5.582 — 2026-06-17 (Course pages — hide legacy empresas banner + new banner follows typology colour)

(1) The legacy theme in-company banner ("Gostavas de realizar este curso na tua empresa…") was still showing on courses whose variant is section.banner.bg-black (the old hide rule only caught .split-black-grey). Broadened the hide to section.banner:has(.info-banner) so every legacy variant is suppressed — the new .ceb-mini banner replaces it. (2) The new Empresas banner (.ceb-mini) was hard-yellow; now its accents (eyebrow, italic, CTA) follow the page's typology colour — Remote Learning courses → blue (#0090eb), white CTA label; presencial keeps yellow. Scoped via :has(.class-remote-learning).

v1.5.581 — 2026-06-17 (Single course page — hide redundant hero/CTA promo badges)

On single course (product) pages the theme echoes the promo badge slot (AI UPGRADE / EARLY15) into the hero + sticky-CTA chrome, where it renders dark-on-dark and is redundant (Daniel: "not supposed to render"). Hidden via body.single-formacao .special-labels-container{display:none}, with body.single-formacao .course-box .special-labels-container{display:flex} re-showing the badges on the "outras formações" related-courses grid cards. Grid/archive/pillar card badges untouched.

v1.5.580 — 2026-06-17 (Remote courses — keep authored blue accent, not pink)

The course-description highlight on Remote Learning courses (e.g. /curso-marketing-digital-online/) rendered PINK even though the content is authored blue (#0090eb) and Remote's typology colour IS blue. Cause: our own rule in class-pillar-cross-links.php force-recoloured .sobre-curso font[color="#0090eb"] to #f92869 site-wide. Scoped it to EXCLUDE remote courses via body:not(:has(.class-remote-learning)), so Remote courses keep their authored blue (title mention + the AI/Social/SEO/… bullet list) and other course types are unchanged. Degrades safely to authored blue if :has() is unsupported.

v1.5.579 — 2026-06-17 (Augment feedback — edit notes + visual add-mode cursor)

(1) Edit existing notes: added a PUT /notes/{id} route (update_note, token-gated) + an "Editar" button in each note bubble that swaps to an editable textarea (Guardar/Cancelar); shows "· editado" after. (2) More visual add-mode: replaced the plain crosshair with a custom purple ring+plus SVG cursor, plus a fixed top hint banner ("Clica em qualquer ponto para deixar a tua nota · ESC para cancelar"; squared 8px, not a pill) shown only while adding, and ESC now cancels add-mode. JS syntax-checked. (Existing notes flushed on request.)

v1.5.578 — 2026-06-17 (Augment feedback — fix save for logged-in users)

Notes failed to save for logged-in admin...

Read more

v1.5.861

Choose a tag to compare

@github-actions github-actions released this 02 Jul 07:52

Changelog

v1.5.599 — 2026-06-18 (Editorial #3 — shorten slug + 301 redirect)

Editorial #3 slug shortened to /blog/do-prompt-ao-produto/ (Rank Math URL-length fix, 84→short). (1) Output-buffer enrichment now keys off the new slug 'do-prompt-ao-produto'. (2) Added a loop-safe 301 (old long slug → new) that only fires on a genuine 404, as a backup to WP core wp_old_slug_redirect. Email article link updated to the short URL (UTMs preserved). Daniel changes the post slug in WP + Atualizar.

v1.5.598 — 2026-06-18 (Blog body — lighter general text)

Blog post body copy lightened from #6f6f6f to #aaaaaa (.text-block-container) for a softer, more readable read on the dark editorial background.

v1.5.597 — 2026-06-18 (Editorial #3 hero — widen to content width)

Hero max-width 1000px → 1200px so the banner matches the article content width (measured ~1196px / 200→1396 at a 1600 viewport) instead of sitting narrower than the body.

v1.5.596 — 2026-06-18 (Editorial #3 hero — point at Daniel's WP media URL)

Hero now points at Daniel's WP-media upload (editorial_3_trimmed-4.png) instead of the plugin-bundled copy (which is removed). WP-hosted = Imagify/WebP optimized, no plugin bloat. Placement unchanged.

v1.5.595 — 2026-06-18 (Editorial #3 hero — Daniel's clean image as-is)

Replaced the hero asset with Daniel's re-exported clean banner (editorial_#3_trimmed.png, 2549x1144) byte-for-byte — no crop, no re-encode, no alteration. Plain placement unchanged.

v1.5.594 — 2026-06-18 (Editorial #3 hero — crop black top/right bars off the image)

Cropped the baked-in pure-black margins (97px top, 345px right) off editorial-3-hero.png so the gradient fills the frame; pencil preserved. Image only — no code/placement change (1655x743, ratio 2.227).

v1.5.593 — 2026-06-18 (Editorial #3 hero — just place the image, no CSS hacks)

Removed all hero aspect/cover/inline-style adjustment code. The theme's background-cover .about-image div (which kept cropping the banner) is now replaced with a plain at natural aspect (width:100%, max-width:1000px, height:auto, centered) — the full 2000x840 art shows uncropped, no cover, no aspect-ratio overrides. og:image still pointed at the full 1200x630 share image.

v1.5.592 — 2026-06-18 (HOTFIX — hero aspect: force inline so the banner stops cropping)

The per-post 2.381 hero aspect was set via a same-specificity head rule, which lost the cascade to the global single-blog .about-image rule (2.23) / WP Rocket used-CSS — so the box rendered taller than the art and background-size:cover vertical-centre-cropped it (DISRUPTIVE BLOG tag + "Por Daniel Devera" byline cut off, zoomed title). Now forced INLINE on the element (inline !important beats every stylesheet; Rocket lazyload only appends background-image so it survives) plus a bumped-specificity [data-bg] head rule as backup.

v1.5.591 — 2026-06-18 (HOTFIX — black hero: doubled URL in data-bg/og)

v1.5.590 rewrote the hero data-bg + og:image to an ABSOLUTE plugin URL, but the targets already carried the https://weareedit.io prefix — producing a doubled domain (https://weareedit.iohttps://weareedit.io/...), a broken URL, and a black hero (no background image loaded). Fixed by using wp_make_link_relative() so the replacement is a relative /wp-content/plugins/... path.

v1.5.590 — 2026-06-18 (Editorial #3 — fix hero: crop dead black top)

The full-size hero led with a large black band (the artwork's black top half). Re-cropped to lead with the gradient — keeps DISRUPTIVE BLOG + title + "Por Daniel Devera" byline + full pencil, drops the dead black top. Bundled asset now 2000x840 (ratio 2.381); per-post aspect-ratio updated to match.

v1.5.589 — 2026-06-18 (Editorial #3 article — full-size hero, OG image, color avatar)

More per-post enrichment for "Do prompt ao produto". (1) Hero now uses the FULL-size artwork (byline + full pencil) instead of the trimmed/cropped banner: data-bg rewritten to bundled assets/img/editorial-3-hero.png (2000x1292, ratio 1.548) + per-post aspect-ratio override. (2) og:image rewritten from the small trimmed 768x345 thumb to assets/img/editorial-3-og.png (1200x630, full composition). (3) Author block headshot swapped to Daniel's color chalkboard avatar (WP media URL) and dropped the CSS pink border since the ring is baked into the image.

v1.5.588 — 2026-06-18 (Editorial #3 article — authority links + author block)

Per-article enrichment for "Do prompt ao produto" that the WYSIWYG body editor strips on save, injected via the output buffer (scoped to the exact post slug). (1) External authority links woven onto the named tools: Framer Agents, Figma Make, Figma Sites, MCP, Claude Code, Cursor, Framer, Webflow, Framer 3.0. (2) The locked "Sobre o autor" dark-bleed block for Daniel (148px circle photo + pink ring, role, bio, Perfil/LinkedIn/Wikidata CTAs) injected just above the "Partilhar:" share row. TODO: generalise into the Blog Uploader / a reusable author field so this isn't post-specific.

v1.5.587 — 2026-06-18 (Blog post — fix hero banner aspect + lighter body grey)

Two single-blog fixes. (1) The hero banner (.about-image data-bg div) was rendering as a giant near-square block because the theme gives the div a large height and background-size:cover cropped the wide 2.23:1 banner into a tall sliver. Pinned the div to the banner's own aspect-ratio (2549/1144) with height:auto so the whole image shows as a clean letterbox, still capped to the 1000px content width. (2) Softened blog body copy from near-black to a lighter editorial grey (#6f6f6f) on .text-block-container.

v1.5.586 — 2026-06-18 (Blog post hero — dual-colour H1)

Blog post hero H1 is now dual-colour: the part after the first ": " is wrapped (output buffer, scoped to single blog posts) and rendered in brand pink (#f92869) — e.g. "Do prompt ao produto: [pink]o design já não termina num ficheiro[/pink]". No-op for titles without a colon.

v1.5.585 — 2026-06-18 (Blog post hero — cap the full-bleed banner)

Single blog post hero (.about-image) was full-bleed (~850px tall on wide screens) and bled past the article column. The editorial banner carries title/author top-to-bottom so it can't be cropped — capped it by constraining width to the content layout (max-width 1000px, centered), dropping height to ~450px while keeping the whole image. Scoped to body.single-blog.

v1.5.584 — 2026-06-17 (Course content — darker grey body text + bold links)

Curriculum/content body text was a faint theme grey; darkened to #333 (scoped to .programa/.text-block-container, with :not([color="#0090eb"]) protecting the authored-blue description list). Course-content links now darker grey + bold so they stand out from the body text; blue hover on Remote courses retained.

v1.5.583 — 2026-06-17 (Course content links — fix white-on-white + blue hover)

Inline links inside the curriculum/description cards were painted white by the theme (designed for dark sections), so on the white cards they were invisible and hovered yellow. Course-content links (.sobre-curso/.programa/.text-block-container, incl. font-wrapped) now use a readable darker grey (#555) by default and the page main colour on hover — Remote courses → blue (#0090eb), scoped via :has(.class-remote-learning).

v1.5.582 — 2026-06-17 (Course pages — hide legacy empresas banner + new banner follows typology colour)

(1) The legacy theme in-company banner ("Gostavas de realizar este curso na tua empresa…") was still showing on courses whose variant is section.banner.bg-black (the old hide rule only caught .split-black-grey). Broadened the hide to section.banner:has(.info-banner) so every legacy variant is suppressed — the new .ceb-mini banner replaces it. (2) The new Empresas banner (.ceb-mini) was hard-yellow; now its accents (eyebrow, italic, CTA) follow the page's typology colour — Remote Learning courses → blue (#0090eb), white CTA label; presencial keeps yellow. Scoped via :has(.class-remote-learning).

v1.5.581 — 2026-06-17 (Single course page — hide redundant hero/CTA promo badges)

On single course (product) pages the theme echoes the promo badge slot (AI UPGRADE / EARLY15) into the hero + sticky-CTA chrome, where it renders dark-on-dark and is redundant (Daniel: "not supposed to render"). Hidden via body.single-formacao .special-labels-container{display:none}, with body.single-formacao .course-box .special-labels-container{display:flex} re-showing the badges on the "outras formações" related-courses grid cards. Grid/archive/pillar card badges untouched.

v1.5.580 — 2026-06-17 (Remote courses — keep authored blue accent, not pink)

The course-description highlight on Remote Learning courses (e.g. /curso-marketing-digital-online/) rendered PINK even though the content is authored blue (#0090eb) and Remote's typology colour IS blue. Cause: our own rule in class-pillar-cross-links.php force-recoloured .sobre-curso font[color="#0090eb"] to #f92869 site-wide. Scoped it to EXCLUDE remote courses via body:not(:has(.class-remote-learning)), so Remote courses keep their authored blue (title mention + the AI/Social/SEO/… bullet list) and other course types are unchanged. Degrades safely to authored blue if :has() is unsupported.

v1.5.579 — 2026-06-17 (Augment feedback — edit notes + visual add-mode cursor)

(1) Edit existing notes: added a PUT /notes/{id} route (update_note, token-gated) + an "Editar" button in each note bubble that swaps to an editable textarea (Guardar/Cancelar); shows "· editado" after. (2) More visual add-mode: replaced the plain crosshair with a custom purple ring+plus SVG cursor, plus a fixed top hint banner ("Clica em qualquer ponto para deixar a tua nota · ESC para cancelar"; squared 8px, not a pill) shown only while adding, and ESC now cancels add-mode. JS syntax-checked. (Existing notes flushed on request.)

v1.5.578 — 2026-06-17 (Augment feedback — fix save for logged-in users)

Notes failed to save for logged-in admin...

Read more

v1.5.860

Choose a tag to compare

@github-actions github-actions released this 02 Jul 07:32

Changelog

v1.5.599 — 2026-06-18 (Editorial #3 — shorten slug + 301 redirect)

Editorial #3 slug shortened to /blog/do-prompt-ao-produto/ (Rank Math URL-length fix, 84→short). (1) Output-buffer enrichment now keys off the new slug 'do-prompt-ao-produto'. (2) Added a loop-safe 301 (old long slug → new) that only fires on a genuine 404, as a backup to WP core wp_old_slug_redirect. Email article link updated to the short URL (UTMs preserved). Daniel changes the post slug in WP + Atualizar.

v1.5.598 — 2026-06-18 (Blog body — lighter general text)

Blog post body copy lightened from #6f6f6f to #aaaaaa (.text-block-container) for a softer, more readable read on the dark editorial background.

v1.5.597 — 2026-06-18 (Editorial #3 hero — widen to content width)

Hero max-width 1000px → 1200px so the banner matches the article content width (measured ~1196px / 200→1396 at a 1600 viewport) instead of sitting narrower than the body.

v1.5.596 — 2026-06-18 (Editorial #3 hero — point at Daniel's WP media URL)

Hero now points at Daniel's WP-media upload (editorial_3_trimmed-4.png) instead of the plugin-bundled copy (which is removed). WP-hosted = Imagify/WebP optimized, no plugin bloat. Placement unchanged.

v1.5.595 — 2026-06-18 (Editorial #3 hero — Daniel's clean image as-is)

Replaced the hero asset with Daniel's re-exported clean banner (editorial_#3_trimmed.png, 2549x1144) byte-for-byte — no crop, no re-encode, no alteration. Plain placement unchanged.

v1.5.594 — 2026-06-18 (Editorial #3 hero — crop black top/right bars off the image)

Cropped the baked-in pure-black margins (97px top, 345px right) off editorial-3-hero.png so the gradient fills the frame; pencil preserved. Image only — no code/placement change (1655x743, ratio 2.227).

v1.5.593 — 2026-06-18 (Editorial #3 hero — just place the image, no CSS hacks)

Removed all hero aspect/cover/inline-style adjustment code. The theme's background-cover .about-image div (which kept cropping the banner) is now replaced with a plain at natural aspect (width:100%, max-width:1000px, height:auto, centered) — the full 2000x840 art shows uncropped, no cover, no aspect-ratio overrides. og:image still pointed at the full 1200x630 share image.

v1.5.592 — 2026-06-18 (HOTFIX — hero aspect: force inline so the banner stops cropping)

The per-post 2.381 hero aspect was set via a same-specificity head rule, which lost the cascade to the global single-blog .about-image rule (2.23) / WP Rocket used-CSS — so the box rendered taller than the art and background-size:cover vertical-centre-cropped it (DISRUPTIVE BLOG tag + "Por Daniel Devera" byline cut off, zoomed title). Now forced INLINE on the element (inline !important beats every stylesheet; Rocket lazyload only appends background-image so it survives) plus a bumped-specificity [data-bg] head rule as backup.

v1.5.591 — 2026-06-18 (HOTFIX — black hero: doubled URL in data-bg/og)

v1.5.590 rewrote the hero data-bg + og:image to an ABSOLUTE plugin URL, but the targets already carried the https://weareedit.io prefix — producing a doubled domain (https://weareedit.iohttps://weareedit.io/...), a broken URL, and a black hero (no background image loaded). Fixed by using wp_make_link_relative() so the replacement is a relative /wp-content/plugins/... path.

v1.5.590 — 2026-06-18 (Editorial #3 — fix hero: crop dead black top)

The full-size hero led with a large black band (the artwork's black top half). Re-cropped to lead with the gradient — keeps DISRUPTIVE BLOG + title + "Por Daniel Devera" byline + full pencil, drops the dead black top. Bundled asset now 2000x840 (ratio 2.381); per-post aspect-ratio updated to match.

v1.5.589 — 2026-06-18 (Editorial #3 article — full-size hero, OG image, color avatar)

More per-post enrichment for "Do prompt ao produto". (1) Hero now uses the FULL-size artwork (byline + full pencil) instead of the trimmed/cropped banner: data-bg rewritten to bundled assets/img/editorial-3-hero.png (2000x1292, ratio 1.548) + per-post aspect-ratio override. (2) og:image rewritten from the small trimmed 768x345 thumb to assets/img/editorial-3-og.png (1200x630, full composition). (3) Author block headshot swapped to Daniel's color chalkboard avatar (WP media URL) and dropped the CSS pink border since the ring is baked into the image.

v1.5.588 — 2026-06-18 (Editorial #3 article — authority links + author block)

Per-article enrichment for "Do prompt ao produto" that the WYSIWYG body editor strips on save, injected via the output buffer (scoped to the exact post slug). (1) External authority links woven onto the named tools: Framer Agents, Figma Make, Figma Sites, MCP, Claude Code, Cursor, Framer, Webflow, Framer 3.0. (2) The locked "Sobre o autor" dark-bleed block for Daniel (148px circle photo + pink ring, role, bio, Perfil/LinkedIn/Wikidata CTAs) injected just above the "Partilhar:" share row. TODO: generalise into the Blog Uploader / a reusable author field so this isn't post-specific.

v1.5.587 — 2026-06-18 (Blog post — fix hero banner aspect + lighter body grey)

Two single-blog fixes. (1) The hero banner (.about-image data-bg div) was rendering as a giant near-square block because the theme gives the div a large height and background-size:cover cropped the wide 2.23:1 banner into a tall sliver. Pinned the div to the banner's own aspect-ratio (2549/1144) with height:auto so the whole image shows as a clean letterbox, still capped to the 1000px content width. (2) Softened blog body copy from near-black to a lighter editorial grey (#6f6f6f) on .text-block-container.

v1.5.586 — 2026-06-18 (Blog post hero — dual-colour H1)

Blog post hero H1 is now dual-colour: the part after the first ": " is wrapped (output buffer, scoped to single blog posts) and rendered in brand pink (#f92869) — e.g. "Do prompt ao produto: [pink]o design já não termina num ficheiro[/pink]". No-op for titles without a colon.

v1.5.585 — 2026-06-18 (Blog post hero — cap the full-bleed banner)

Single blog post hero (.about-image) was full-bleed (~850px tall on wide screens) and bled past the article column. The editorial banner carries title/author top-to-bottom so it can't be cropped — capped it by constraining width to the content layout (max-width 1000px, centered), dropping height to ~450px while keeping the whole image. Scoped to body.single-blog.

v1.5.584 — 2026-06-17 (Course content — darker grey body text + bold links)

Curriculum/content body text was a faint theme grey; darkened to #333 (scoped to .programa/.text-block-container, with :not([color="#0090eb"]) protecting the authored-blue description list). Course-content links now darker grey + bold so they stand out from the body text; blue hover on Remote courses retained.

v1.5.583 — 2026-06-17 (Course content links — fix white-on-white + blue hover)

Inline links inside the curriculum/description cards were painted white by the theme (designed for dark sections), so on the white cards they were invisible and hovered yellow. Course-content links (.sobre-curso/.programa/.text-block-container, incl. font-wrapped) now use a readable darker grey (#555) by default and the page main colour on hover — Remote courses → blue (#0090eb), scoped via :has(.class-remote-learning).

v1.5.582 — 2026-06-17 (Course pages — hide legacy empresas banner + new banner follows typology colour)

(1) The legacy theme in-company banner ("Gostavas de realizar este curso na tua empresa…") was still showing on courses whose variant is section.banner.bg-black (the old hide rule only caught .split-black-grey). Broadened the hide to section.banner:has(.info-banner) so every legacy variant is suppressed — the new .ceb-mini banner replaces it. (2) The new Empresas banner (.ceb-mini) was hard-yellow; now its accents (eyebrow, italic, CTA) follow the page's typology colour — Remote Learning courses → blue (#0090eb), white CTA label; presencial keeps yellow. Scoped via :has(.class-remote-learning).

v1.5.581 — 2026-06-17 (Single course page — hide redundant hero/CTA promo badges)

On single course (product) pages the theme echoes the promo badge slot (AI UPGRADE / EARLY15) into the hero + sticky-CTA chrome, where it renders dark-on-dark and is redundant (Daniel: "not supposed to render"). Hidden via body.single-formacao .special-labels-container{display:none}, with body.single-formacao .course-box .special-labels-container{display:flex} re-showing the badges on the "outras formações" related-courses grid cards. Grid/archive/pillar card badges untouched.

v1.5.580 — 2026-06-17 (Remote courses — keep authored blue accent, not pink)

The course-description highlight on Remote Learning courses (e.g. /curso-marketing-digital-online/) rendered PINK even though the content is authored blue (#0090eb) and Remote's typology colour IS blue. Cause: our own rule in class-pillar-cross-links.php force-recoloured .sobre-curso font[color="#0090eb"] to #f92869 site-wide. Scoped it to EXCLUDE remote courses via body:not(:has(.class-remote-learning)), so Remote courses keep their authored blue (title mention + the AI/Social/SEO/… bullet list) and other course types are unchanged. Degrades safely to authored blue if :has() is unsupported.

v1.5.579 — 2026-06-17 (Augment feedback — edit notes + visual add-mode cursor)

(1) Edit existing notes: added a PUT /notes/{id} route (update_note, token-gated) + an "Editar" button in each note bubble that swaps to an editable textarea (Guardar/Cancelar); shows "· editado" after. (2) More visual add-mode: replaced the plain crosshair with a custom purple ring+plus SVG cursor, plus a fixed top hint banner ("Clica em qualquer ponto para deixar a tua nota · ESC para cancelar"; squared 8px, not a pill) shown only while adding, and ESC now cancels add-mode. JS syntax-checked. (Existing notes flushed on request.)

v1.5.578 — 2026-06-17 (Augment feedback — fix save for logged-in users)

Notes failed to save for logged-in admin...

Read more