Commit Graph

402 Commits

Author SHA1 Message Date
Moko Consulting f3a76c93be refactor(workflows): rename secrets MOKOGITEA_TOKEN/GITHUB_TOKEN, use x-access-token [skip bump]
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Joomla: Repo Health / Access control (push) Has been cancelled
Joomla: Repo Health / Release configuration (push) Has been cancelled
Joomla: Repo Health / Scripts governance (push) Has been cancelled
Joomla: Repo Health / Repository health (push) Has been cancelled
2026-05-28 14:24:11 -05:00
Moko Consulting 72639c1155 fix(workflows): proper suffix handling — use version_set_platform instead of sed [skip bump]
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
Joomla: Repo Health / Access control (push) Has been cancelled
Joomla: Repo Health / Release configuration (push) Has been cancelled
Joomla: Repo Health / Scripts governance (push) Has been cancelled
Joomla: Repo Health / Repository health (push) Has been cancelled
2026-05-28 14:16:05 -05:00
Moko Consulting 000d9a8fb6 feat(workflows): append stability suffix to manifest versions [skip bump]
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
2026-05-28 13:42:28 -05:00
gitea-actions[bot] 8fb6a84e81 feat(ci): add version branch creation on stable release [skip ci] 2026-05-27 02:19:25 +00:00
jmiller 129a9d547b chore(ci): update pre-release.yml from moko-platform [skip ci] 2026-05-26 22:51:25 +00:00
jmiller 7da249ea73 chore(ci): update pre-release.yml from moko-platform [skip ci] 2026-05-26 22:51:25 +00:00
jmiller e1c826a46a chore(ci): update auto-bump.yml from moko-platform [skip ci] 2026-05-26 22:50:14 +00:00
jmiller 9d628412e0 chore(ci): update auto-bump.yml from moko-platform [skip ci] 2026-05-26 22:50:14 +00:00
jmiller 2c90881a5b chore(ci): update auto-release.yml from moko-platform [skip ci] 2026-05-26 22:49:02 +00:00
jmiller 516f7b4832 chore(ci): update auto-release.yml from moko-platform [skip ci] 2026-05-26 22:49:02 +00:00
jmiller d35660b4cf chore(ci): update pre-release.yml from moko-platform [skip ci] 2026-05-26 22:37:36 +00:00
jmiller f86d1bca41 chore(ci): update pre-release.yml from moko-platform [skip ci] 2026-05-26 22:37:35 +00:00
jmiller be05c56d29 chore(ci): update auto-release.yml from moko-platform [skip ci] 2026-05-26 22:36:08 +00:00
jmiller 943b5077b3 chore(ci): update auto-release.yml from moko-platform [skip ci] 2026-05-26 22:36:08 +00:00
jmiller 608ad43242 chore(ci): update auto-bump.yml from moko-platform [skip ci] 2026-05-26 22:25:47 +00:00
jmiller 1954b36720 chore(ci): update auto-bump.yml from moko-platform [skip ci] 2026-05-26 22:25:46 +00:00
jmiller f92b53d24e chore(ci): update auto-release.yml from moko-platform [skip ci] 2026-05-26 22:24:31 +00:00
jmiller fa732f44c8 chore(ci): update auto-release.yml from moko-platform [skip ci] 2026-05-26 22:24:31 +00:00
jmiller 6d6840c68b chore(ci): update pre-release.yml from moko-platform [skip ci] 2026-05-26 22:13:53 +00:00
jmiller 2b5b42567b chore(ci): update pre-release.yml from moko-platform [skip ci] 2026-05-26 22:13:52 +00:00
jmiller 485b0cf696 chore(ci): add auto-bump.yml from moko-platform [skip ci] 2026-05-26 22:12:40 +00:00
jmiller 72e0f85e4b chore(ci): add auto-bump.yml from moko-platform [skip ci] 2026-05-26 22:12:39 +00:00
jmiller a8805d16f1 chore: sync .mokogitea/workflows/update-server.yml from moko-platform [skip ci] 2026-05-26 20:13:20 +00:00
jmiller e4dad451b4 chore: sync .mokogitea/workflows/pre-release.yml from moko-platform [skip ci] 2026-05-26 20:11:27 +00:00
jmiller 42d9de47d5 fix(ci): use release_package.php for Joomla package builds [skip ci] 2026-05-26 19:54:39 +00:00
jmiller 105d282077 fix(ci): use release_package.php for Joomla package builds [skip ci] 2026-05-26 19:54:38 +00:00
jmiller 9753088798 chore(ci): update pre-release.yml from moko-platform [skip ci] 2026-05-26 19:36:23 +00:00
jmiller 23de6dcb07 chore(ci): update pre-release.yml from moko-platform [skip ci] 2026-05-26 19:36:22 +00:00
jmiller b01107d6e6 chore(ci): update auto-release.yml from moko-platform [skip ci] 2026-05-26 19:36:22 +00:00
jmiller bbda9318d8 chore(ci): update auto-release.yml from moko-platform [skip ci] 2026-05-26 19:36:22 +00:00
jmiller fd7ccfb927 chore: sync .mokogitea/workflows/update-server.yml from moko-platform [skip ci] 2026-05-26 19:04:39 +00:00
jmiller 292265841e chore(ci): update auto-release.yml from moko-platform [skip ci] 2026-05-26 17:36:26 +00:00
jmiller 3563c62ec2 chore(ci): update pre-release.yml from moko-platform [skip ci] 2026-05-26 17:35:11 +00:00
gitea-actions[bot] 2fd22c6030 refactor(ci): clean up auto-release, move logic to CLI [skip ci] 2026-05-25 22:21:03 -05:00
jmiller 8054c6c80b chore: sync .mokogitea/workflows/auto-release.yml from moko-platform [skip ci] 2026-05-26 03:08:06 +00:00
jmiller 7c90f05e9d chore: sync .mokogitea/workflows/pre-release.yml from moko-platform [skip ci] 2026-05-26 03:06:09 +00:00
gitea-actions[bot] 648549ea66 fix(ci): auto-release preserves all update channels [skip ci] 2026-05-25 21:59:27 -05:00
jmiller 52b2d89bc5 feat(ci): add issue-branch.yml [skip ci] 2026-05-25 05:13:01 +00:00
gitea-actions[bot] 0b97a62c82 chore: update development channel 01.00.00 [skip ci] 2026-05-24 04:37:35 +00:00
gitea-actions[bot] fc148084a1 chore(version): bump 01.00.00 → 01.00.00-dev [skip ci] 2026-05-24 04:37:34 +00:00
jmiller 11ad5be25e Merge pull request 'chore: cascade main -> dev [skip ci]' (#32) from main into dev
chore: cascade main → dev [skip ci]
2026-05-24 04:31:22 +00:00
Jonathan Miller 0509980b50 fix: production readiness improvements for admin panel and installer
Joomla: Repo Health / Access control (push) Has been cancelled
Universal: Cascade Main → Dev / Cascade main → branches (push) Has been cancelled
Joomla: Repo Health / Release configuration (push) Has been cancelled
Joomla: Repo Health / Scripts governance (push) Has been cancelled
Joomla: Repo Health / Repository health (push) Has been cancelled
Add search/filter tools to tags list view, fix API content type naming,
build proper frontend URLs for social debugger links, and auto-enable
the content plugin on package install.

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-23 23:30:53 -05:00
gitea-actions[bot] f7826ca60a chore: update updates.xml (development: 01.00.00-dev) [skip ci] 2026-05-23 23:30:52 -05:00
Jonathan Miller 400d3759e5 feat(api): add Joomla Web Services API for OG tags (closes #27)
New sub-extension: plg_webservices_mokoog
- Registers REST API routes via onBeforeApiRoute
- CRUD endpoints at /api/index.php/v1/mokoog/tags
- Lookup endpoint at /api/index.php/v1/mokoog/lookup/:type/:id
- SubscriberInterface pattern with DI container

Component API layer (com_mokoog/api/):
- TagsController extending ApiController for CRUD operations
- JsonapiView with whitelisted fields for JSON:API output
- TagModel (AdminModel) for single-item operations

Package updates:
- pkg_mokoog.xml includes plg_webservices_mokoog
- Install script auto-enables webservices plugin
- Component manifest declares api/ directory

Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-23 23:30:31 -05:00
Jonathan Miller 78fbe252cb feat(preview): live social sharing preview in article editor (closes #3)
- Facebook and Twitter/X card previews update in real-time
- Renders below the OG fieldset in article/menu editors
- Reads og_title, og_description, og_image with fallback to
  article title and meta description
- CSS mockups of each platform's card layout
- Registered via joomla.asset.json Web Asset Manager
- Safe DOM construction (no innerHTML with user data)
- MutationObserver watches media field for image changes

Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-23 23:30:31 -05:00
Jonathan Miller 3d855f829f feat(csv): add CSV import/export for OG tags (closes #12)
ImportExportController with export() and import() actions:
- Export: CSV with all OG + SEO fields, joined with article titles
- Import: Upload CSV, match on content_type + content_id
- Upsert logic: creates new or updates existing records
- Reports created/updated/skipped counts
- Toolbar buttons ready for integration

Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-23 23:30:30 -05:00
Jonathan Miller 6674f354c6 feat(overlay): add OG image text overlay generator (closes #7)
ImageGenerator class renders article title onto a template background:
- Center-crop template to 1200x630px
- Semi-transparent dark overlay band for text readability
- TTF font rendering with word wrapping (max 3 lines)
- Cached output in images/mokoog/generated/overlay_*.jpg
- Configurable font size, color, quality

Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-23 23:30:30 -05:00
Jonathan Miller 4a9433d2bb feat(i18n): add multilingual OG tag support (closes #11)
- Add language column to #__mokoog_tags (default * for all languages)
- Updated unique key to include language
- SQL migration 01.02.00 for upgrades
- og:locale output from current Joomla language (en-GB to en_GB)
- Language-aware OG data loading: exact match preferred over wildcard

Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-23 23:30:30 -05:00
Jonathan Miller 3d73ea2f9c feat(jsonld): add JSON-LD structured data output (closes #6)
- JsonLdBuilder helper with Article, WebPage, BreadcrumbList, Organization
- Article schema includes headline, author, datePublished, dateModified, image
- BreadcrumbList built from Joomla's pathway
- Toggle JSON-LD and breadcrumbs independently in plugin settings
- Output via addCustomTag() in onBeforeCompileHead

Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-23 23:30:29 -05:00
Jonathan Miller 9e953646d7 feat(debug): add social platform debugger quick links (closes #9)
- Debug column in admin tag list with FB, LinkedIn, Google buttons
- Links open platform debugger tools in new tab with page URL
- Facebook Sharing Debugger, LinkedIn Post Inspector, Google Rich Results

Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-23 23:30:00 -05:00