gitea-actions[bot]
281e742b54
chore(version): pre-release bump to 01.04.08-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 8s
2026-06-23 18:28:10 +00:00
gitea-actions[bot]
8de243b181
chore(version): pre-release bump to 01.04.07-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 8s
2026-06-23 18:21:17 +00:00
gitea-actions[bot]
9793bd4031
chore(version): pre-release bump to 01.04.06-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 7s
2026-06-23 18:07:08 +00:00
gitea-actions[bot]
cf783c6b83
chore(version): pre-release bump to 01.04.05-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 37s
2026-06-23 17:54:40 +00:00
gitea-actions[bot]
bc6ce4397f
chore(version): auto-bump patch 01.04.04-dev [skip ci]
2026-06-23 17:54:31 +00:00
Jonathan Miller
49d644566a
feat: add custom schema, AI generation, XML sitemap, platform images
...
Universal: Auto Version Bump / Version Bump (push) Successful in 14s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 11s
- Custom JSON-LD schema builder: per-article textarea for arbitrary
structured data with JSON validation. Closes #70
- AI-powered meta generation: Generate with AI buttons for OG title
and description, supports Claude and OpenAI APIs. Closes #71
- XML sitemap: auto-generates sitemap.xml on article save, respects
noindex directives. Closes #72
- Per-platform image resizing: Twitter 1200x600, Pinterest 1000x1500,
WhatsApp 400x400 alongside default Facebook 1200x630. Closes #74
- DB migration 01.05.00: adds custom_schema column
2026-06-23 12:54:01 -05:00
Jonathan Miller
2088b3f13f
feat: add OG coverage dashboard to tag manager
...
Shows coverage percentage, article count with/without OG tags,
and counts of missing title, description, and image fields.
Closes #73
2026-06-23 12:53:59 -05:00
Jonathan Miller
f649858fcd
feat: add SEO content scoring panel to article editor
...
JavaScript-based SEO analysis with 7 checks (OG title, description,
image, SEO title, meta description, title length, description
length). Shows pass/fail dots and overall score. Closes #68
2026-06-23 12:53:58 -05:00
gitea-actions[bot]
7a38025b5e
chore(version): pre-release bump to 01.04.03-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 7s
2026-06-23 17:20:08 +00:00
gitea-actions[bot]
e530ca821e
chore(version): auto-bump patch 01.04.02-dev [skip ci]
2026-06-23 17:19:49 +00:00
Jonathan Miller
872074cd5b
feat: add FAQ, HowTo, Event, and Recipe JSON-LD schema types
...
Universal: Auto Version Bump / Version Bump (push) Successful in 10s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 23s
- FAQ: auto-detects h3/h4 + paragraph patterns, outputs FAQPage (#62 )
- HowTo: auto-detects ordered lists, outputs HowTo with steps (#63 )
- Event: per-article fields (dates, venue, tickets), event_data JSON
column, outputs Event schema (#64 )
- Recipe: per-article fields (times, ingredients, nutrition),
recipe_data JSON column, outputs Recipe schema (#66 )
- DB migration 01.04.00: adds event_data and recipe_data columns
Closes #62 , closes #63 , closes #64 , closes #66
2026-06-23 12:19:37 -05:00
gitea-actions[bot]
c871b7d30d
chore(version): pre-release bump to 01.04.01-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 4s
2026-06-23 16:33:35 +00:00
gitea-actions[bot]
641eee753a
chore(version): auto-bump patch 01.03.08-dev [skip ci]
2026-06-23 16:33:26 +00:00
Jonathan Miller
44d9daf3bc
feat: add LocalBusiness JSON-LD schema type
...
Universal: Auto Version Bump / Version Bump (push) Successful in 12s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 11s
Adds configurable LocalBusiness structured data with address,
contact, geo coordinates, and opening hours. Enabled via plugin
parameters. Closes #65
2026-06-23 11:30:45 -05:00
Jonathan Miller
96eea6060f
feat: add Discord, Mastodon, and Slack preview cards to editor
...
Shows how shared links will appear on Discord (dark theme with
accent bar), Mastodon (rounded card), and Slack (compact unfurl)
alongside the existing Facebook, Twitter, and LinkedIn previews.
Closes #69
2026-06-23 11:28:37 -05:00
Jonathan Miller
aeea65423c
feat: add VideoObject JSON-LD schema for video content
...
Outputs VideoObject structured data when an article has a video URL
set, enabling Google video rich results. Closes #67
2026-06-23 11:28:37 -05:00
Jonathan Miller
b4d5b73d15
fix: code quality improvements ( #76 , #77 , #78 , #79 )
...
- Add exception logging to BatchController batch skip (#76 )
- Align form maxlength with DB schema limits (#77 )
- applySeoTags() already uses public API — no change needed (#78 )
- Add strip_tags() input sanitization on OG text fields (#79 )
2026-06-23 11:28:36 -05:00
gitea-actions[bot]
e939e90733
chore(version): pre-release bump to 01.03.07-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 7s
2026-06-23 16:03:42 +00:00
gitea-actions[bot]
d4c22ebdbf
chore(version): auto-bump patch 01.03.06-dev [skip ci]
2026-06-23 16:03:32 +00:00
gitea-actions[bot]
07b296db61
chore(version): pre-release bump to 01.03.05-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 39s
2026-06-23 15:47:35 +00:00
gitea-actions[bot]
6a0ee812d8
chore(version): auto-bump patch 01.03.04-dev [skip ci]
2026-06-23 15:47:22 +00:00
Jonathan Miller
fcfa6838e5
fix: address PR #82 review findings
...
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Blocked by required conditions
Joomla: Extension CI / PHPStan Analysis (pull_request) Blocked by required conditions
Joomla: Extension CI / Build RC Pre-Release (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 5s
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Universal: PR Check / Secret Scan (pull_request) Successful in 8s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 14s
Universal: Auto Version Bump / Version Bump (push) Successful in 16s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 15s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Failing after 54s
- Only emit og:video:secure_url for HTTPS URLs (review #1 )
- Only emit og:video:width/height for direct files, not embeds (review #2 )
- Add server-side http/https scheme validation on og_video save (review #3 )
- Consolidate duplicate com_mokoshop product blocks into one (review #4 )
- Fix stale com_virtuemart reference in SQL comment (review #5 )
- Use COM_MOKOOG_* language keys in tag.xml instead of plugin keys (review #6 )
2026-06-23 10:46:58 -05:00
gitea-actions[bot]
908e1d3e1b
chore(version): pre-release bump to 01.03.03-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 29s
2026-06-23 15:37:27 +00:00
gitea-actions[bot]
9539bb44c2
chore(version): auto-bump patch 01.03.02-dev [skip ci]
2026-06-23 15:37:17 +00:00
Jonathan Miller
5b29690d34
feat: add og:video support and Pinterest rich pin tags
...
Universal: Auto Version Bump / Version Bump (push) Successful in 16s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 12s
- Add og:video meta tags with per-article video URL field and auto
MIME type detection for YouTube/Vimeo/direct files. Includes DB
migration for og_video column. (closes #59 )
- Add Pinterest rich pin tags: article:tag from Joomla content tags
on article pages, product:availability from MokoSuiteShop stock
quantity on product pages. (closes #60 )
2026-06-23 10:36:04 -05:00
Jonathan Miller
881bb0a2ae
feat: add fediverse:creator tag, character counters, LinkedIn preview
...
- Add fediverse:creator meta tag for Mastodon/Fediverse author
attribution — first extension on any CMS to support this (closes #57 )
- Add live character count indicators with green/yellow/red color
coding on OG title, description, SEO title, and meta description
fields in the article/menu editor (closes #58 )
- Add LinkedIn social preview card alongside existing Facebook and
Twitter/X previews in the editor (closes #61 )
2026-06-23 10:36:04 -05:00
gitea-actions[bot]
7d1a939b6a
chore(version): pre-release bump to 01.03.01-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 5s
2026-06-21 22:55:44 +00:00
gitea-actions[bot]
6a3f9c126e
chore(version): auto-bump patch 01.02.04-dev [skip ci]
2026-06-21 22:55:32 +00:00
gitea-actions[bot]
20b62b95d8
chore(version): pre-release bump to 01.02.03-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 6s
2026-06-21 22:27:35 +00:00
gitea-actions[bot]
437a23cec2
chore(version): auto-bump patch 01.02.02-dev [skip ci]
2026-06-21 22:27:19 +00:00
gitea-actions[bot]
b033cfe4e2
chore(version): pre-release bump to 01.02.01-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 4s
2026-06-21 22:22:24 +00:00
gitea-actions[bot]
e86bb5906b
chore(version): auto-bump patch 01.01.02-dev [skip ci]
2026-06-21 22:22:14 +00:00
jmiller
b310ddfab2
fix: restore updateservers to package manifest for Joomla update site registration
Universal: Auto Version Bump / Version Bump (push) Successful in 9s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 14s
2026-06-21 22:21:48 +00:00
gitea-actions[bot]
549a3b5599
chore(version): pre-release bump to 01.01.01-dev [skip ci]
Publish to Composer / Publish Package (release) Successful in 26s
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 25s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 2m51s
2026-06-21 22:00:50 +00:00
gitea-actions[bot]
19e177f1a4
chore(version): auto-bump patch 01.00.09-dev [skip ci]
2026-06-21 22:00:38 +00:00
gitea-actions[bot]
dfd0fef3b8
chore(version): pre-release bump to 01.00.08-dev [skip ci]
2026-06-21 21:43:08 +00:00
Jonathan Miller
26328d530e
Merge branch 'dev' of https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteOpenGraph into dev
Generic: Repo Health / Access control (push) Successful in 2s
Generic: Repo Health / Site Health (push) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 5s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 6s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 9s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 12s
Universal: PR Check / Validate PR (pull_request) Successful in 11s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 1s
Universal: Security Audit / Dependency Audit (pull_request) Successful in 4s
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Has been cancelled
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Has been cancelled
Joomla: Extension CI / PHPStan Analysis (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
2026-06-21 16:42:56 -05:00
Jonathan Miller
77da0c5517
fix: remove remaining @ suppression, check Folder::create() returns
...
- Remove @getimagesize() suppression in ImageHelper, ImageGenerator,
MokoOG — let PHP report warnings for corrupt/unreadable images
- Add Log::add() when ImageHelper::resize() cannot read image dimensions
- Check Folder::create() return value in ImageGenerator and ImageHelper,
return graceful fallback if directory creation fails
2026-06-21 16:42:54 -05:00
gitea-actions[bot]
6a928f856f
chore(version): pre-release bump to 01.00.07-dev [skip ci]
2026-06-21 21:26:34 +00:00
Jonathan Miller
fa75b7d9c4
Merge branch 'dev' of https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteOpenGraph into dev
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 8s
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 14s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 9s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 7s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 1s
Universal: Security Audit / Dependency Audit (pull_request) Successful in 4s
Universal: PR Check / Validate PR (pull_request) Successful in 25s
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Has been cancelled
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Has been cancelled
Joomla: Extension CI / PHPStan Analysis (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
2026-06-21 16:26:18 -05:00
Jonathan Miller
46e30c950b
fix: address PR review findings — error handling and data integrity
...
- Add missing language field to batch-generated records
- Wrap batch insert in try-catch to handle duplicate key races
- Add logging to all empty catch blocks (script.php, MokoOG license check)
- Guard loadShopProduct() with try-catch for missing MokoSuiteShop tables
- Guard reviews query in JsonLdBuilder for missing #__mokoshop_reviews
2026-06-21 16:26:13 -05:00
gitea-actions[bot]
77148d2401
chore(version): pre-release bump to 01.00.06-dev [skip ci]
2026-06-21 20:40:44 +00:00
Jonathan Miller
38af92b876
Merge branch 'dev' of https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteOpenGraph into dev
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Site Health (push) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 1s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 4s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 5s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 8s
Universal: Security Audit / Dependency Audit (pull_request) Successful in 4s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 12s
Universal: PR Check / Validate PR (pull_request) Successful in 32s
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Has been cancelled
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Has been cancelled
Joomla: Extension CI / PHPStan Analysis (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
2026-06-21 15:40:35 -05:00
Jonathan Miller
28d44d6884
fix: undefined $db in findImage(), pass cached product to buildProduct()
...
- Add missing Factory::getDbo() in findImage() category fallback — would
cause fatal error on article pages with no images (found in PR review)
- Pass cached product to JsonLdBuilder::buildProduct() to avoid duplicate
DB query (same pattern as buildArticle with cachedArticle)
- Fix orphaned PHPDoc block for getImageDimensions()
2026-06-21 15:40:01 -05:00
gitea-actions[bot]
3d2d91ace5
chore(version): pre-release bump to 01.00.05-dev [skip ci]
2026-06-21 20:32:13 +00:00
gitea-actions[bot]
0e6137b064
chore(version): pre-release bump to 01.00.04-dev [skip ci]
2026-06-21 20:27:36 +00:00
Jonathan Miller
e105474c68
Merge remote-tracking branch 'origin/dev' into dev
...
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 6s
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
# Conflicts:
# .mokogitea/workflows/pre-release.yml
2026-06-21 15:25:56 -05:00
Jonathan Miller
ca06c86328
perf: consolidate article DB queries into single cached lookup ( #38 )
...
- Add loadArticle() with static per-request cache for article data
- Refactor getArticleDate(), getArticleAuthor() to use cached article
- Refactor findImage() for com_content to use cached article
- Pass cached article to JsonLdBuilder::buildArticle() to skip its query
- Reduces article page DB queries from 5 to 1 for OG tag generation
2026-06-21 11:09:52 -05:00
Jonathan Miller
7a7041c7f3
fix: remove updateservers from package manifest ( #44 )
...
Update server is managed externally, not via static updates.xml.
2026-06-21 11:01:32 -05:00
Jonathan Miller
f484675300
fix: batch limit cap, TagTable validation, CSV language column ( #42 , #43 , #52 )
...
- Cap batch process limit to 200 per request to prevent DoS (#42 )
- Add TagTable::check() validation: og_type enum, field max lengths,
canonical_url format, robots directives, content_type pattern (#43 )
- Add language column to CSV export headers and data (#52 )
- Parse language column on CSV import with format validation
- Include language in duplicate check query to match unique key
2026-06-21 10:57:38 -05:00