-
-
Notifications
You must be signed in to change notification settings - Fork 0
feat: Initial Implementation of Open Graph (OG) Plugin #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
shahzan01
wants to merge
49
commits into
main
Choose a base branch
from
feature/seo-improvements
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 38 commits
Commits
Show all changes
49 commits
Select commit
Hold shift + click to select a range
77a6f18
initial commit for jacademyseo_opengraph plugin for joomla seo improv…
shahzan01 eb22627
feat : added manifest and language files for jacademyseo_opengraph pl…
shahzan01 ece1af5
fix : rename plugin to opengraph and update language files
shahzan01 905cca3
fix : file name changed to opengraph.php
shahzan01 085ff65
feat: added forms for article and category to opengraph plugin
shahzan01 8cb7864
feat : add og tag injection into html
shahzan01 ce47b06
fix : added docblocks and comments
shahzan01 7ba727c
feat : form improvements - custom fields mapping and manual override …
shahzan01 768a2bf
feat : created opengraph service interface and field type for opengra…
shahzan01 6b71fbf
feat: add opengraph field mapping and form changes
shahzan01 2fac558
fix : updated form and used the interface check to render form
shahzan01 4b65016
Segregate fields for opengraph into different form dropdowns
shahzan01 89149f9
fix : Separated the mapping form and conditionally combined them only…
shahzan01 b05a861
fix : forms now correclty save values in both category and article
shahzan01 b41f698
feat : added custom fields options to opengraph mappings and used gro…
shahzan01 a6e28cd
fix : made some changes to the form and made isSupported function mor…
shahzan01 fea4185
feat : implemented the OGInterface in com_menus
shahzan01 6d37b9b
feat: add custom fields filtering to opengraph field
shahzan01 7cfde55
feat : og tag injection into html
shahzan01 1f95b29
fix : used the component helper to get the article and category
shahzan01 19fe1f7
fix : get custom fields for the respective category in dropdown
shahzan01 cbbff6c
Chore: Apply PHP-CS-Fixer formatting across the codebase
shahzan01 419dfa7
Chore: Normalize line endings and fix code style via PHPCBF
shahzan01 928ad4b
feat : add string sanitization and truncate to the plugin
shahzan01 063adfa
fix : sorted language strings
shahzan01 8a9441b
feat : added the javascript to auto update the placeholder values in …
shahzan01 30689d6
feat : added script for OpenGraph placeholder in build folder
shahzan01 8f94056
removed the custom field logic from this branch
shahzan01 c215b7a
fix : fix some bugs and modified the plugins settings page
shahzan01 53b3576
chore : changed opengraph.xml to use JYES/JNO instead of JENABLED/JDI…
shahzan01 9db1b2c
feat : added global default option in the settings and refactored Ope…
shahzan01 ff3a891
feat : made the OpenGraph field more flexible , removed hardcoded com…
shahzan01 3e47961
feat : added support for multi article page view
shahzan01 e63a335
fix : run php-cs-fixer and sorted language strings
shahzan01 e2f0c94
Merge remote-tracking branch 'Academy2025_SEO/6.1-dev' into academy/2…
bembelimen 7e7aaea
fix : Check PHP code style fixes
shahzan01 775bc4b
Merge branch 'feature/seo-improvements' of https://github.com/joomla-…
shahzan01 0f8c467
fix : removed the phpstan error
shahzan01 64bf434
fix : many minor fixes and improvements for SEO plugin
shahzan01 a635837
fix : PHP-CS-Fixer applied
shahzan01 5b33522
fixed the function call to include the missing parameter.
shahzan01 27b2c30
fix : removed the hardcoded component name 'com_content' to make it d…
shahzan01 a8d5996
fix : made the OpenGraph plugin more generic to support other content…
shahzan01 10b1014
fix : added fallback for getModelName method if not exists in component
shahzan01 bdc382e
fix : changed $cmp to $component to avoid confusion and potential iss…
shahzan01 b721d72
fix : minor fixes and improvements
shahzan01 78a4e3b
fix : added getmodelname method to opengraph service interface and re…
shahzan01 1a98cc5
fix : add getModelName to MenusComponent
shahzan01 edd13bf
fix : Rename opengraph.php to Opengraph.php for consistency
shahzan01 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| { | ||
| "$schema": "https://developer.joomla.org/schemas/json-schema/web_assets.json", | ||
| "name": "plg_system_opengraph", | ||
| "version": " __DEPLOY_VERSION__", | ||
| "description": "Joomla CMS", | ||
| "license": "GPL-2.0-or-later", | ||
| "assets": [ | ||
| { | ||
| "name": "plg_system_opengraph.opengraph-placeholder", | ||
| "type": "script", | ||
| "uri": "plg_system_opengraph/opengraph-placeholder.min.js", | ||
| "dependencies": ["core"], | ||
shahzan01 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| "attributes": { | ||
| "type": "module" | ||
| } | ||
| } | ||
| ] | ||
| } | ||
94 changes: 94 additions & 0 deletions
94
build/media_source/plg_system_opengraph/js/opengraph-placeholder.es6.js
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,94 @@ | ||
| document.addEventListener("DOMContentLoaded", () => { | ||
shahzan01 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| const maps = Joomla.getOptions("plgOgMappings", {}); | ||
|
|
||
| const selectorFor = (token) => { | ||
| if (token.startsWith("field.")) { | ||
| const n = CSS.escape(token.slice(6)); | ||
| return `[name="jform[com_fields][${n}]"]`; | ||
| } | ||
| if (token.startsWith("image_")) { | ||
| return `[name="jform[images][${CSS.escape(token)}]"]`; | ||
| } | ||
| return `[name="jform[${CSS.escape(token)}]"]`; | ||
| }; | ||
|
|
||
| function getSourceName(token) { | ||
| if (token.startsWith("field.")) { | ||
| const fieldKey = token.slice(6).replace(/_/g, " "); | ||
| return `Custom Field: ${fieldKey}`; | ||
| } | ||
|
|
||
| const mapCoreNames = { | ||
shahzan01 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| title: "Title", | ||
| alias: "Alias", | ||
| metadesc: "Meta Description", | ||
| metakey: "Meta Keywords", | ||
| articletext: "Article Text", | ||
| image_intro: "Intro Image", | ||
| image_intro_alt: "Intro Image Alt", | ||
| image_fulltext: "Fulltext Image", | ||
| image_fulltext_alt: "Fulltext Image Alt", | ||
| created_by_alias: "Author Alias", | ||
| }; | ||
|
|
||
| return mapCoreNames[token] || token; | ||
shahzan01 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| } | ||
|
|
||
| function sanitizeText(input, maxLen = 60) { | ||
| if (typeof input !== "string" || !input.trim()) return ""; | ||
|
|
||
| // Remove HTML tags manually (just in case innerText fails) | ||
| const noTags = input.replace(/<[^>]*>/g, " "); | ||
|
|
||
| // Decode HTML entities using a temporary div | ||
| const tempDiv = document.createElement("div"); | ||
| tempDiv.innerHTML = noTags; | ||
| const decoded = tempDiv.textContent || tempDiv.innerText || ""; | ||
|
|
||
| // Normalize whitespace | ||
| const cleaned = decoded.replace(/\s+/g, " ").trim(); | ||
|
|
||
| // Truncate with word boundary safety | ||
| if (cleaned.length <= maxLen) return cleaned; | ||
|
|
||
| const cut = cleaned.lastIndexOf(" ", maxLen - 1); | ||
| const safeCut = cut > maxLen * 0.6 ? cut : maxLen - 1; | ||
| return cleaned.slice(0, safeCut).replace(/[.,;:\-\s]+$/, "") + "…"; | ||
| } | ||
|
|
||
| const maxLen = { | ||
| og_title: Number(maps.maxTitleLen) || 60, | ||
| og_description: Number(maps.maxDescLen) || 160, | ||
| og_image_alt: Number(maps.maxAltLen) || 125, | ||
| }; | ||
|
|
||
| Object.entries(maps).forEach(([ogKey, token]) => { | ||
| const ogInput = document.getElementById(`jform_attribs_${ogKey}`); | ||
| const srcInput = document.querySelector(selectorFor(token)); | ||
|
|
||
| if (!ogInput || !srcInput) return; | ||
shahzan01 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| const originalPh = ogInput.placeholder; | ||
| const inherited = Joomla.Text._("PLG_SYSTEM_OPENGRAPH_INHERITED"); | ||
| const paint = () => { | ||
| if (ogInput.value.trim()) return; // user override | ||
shahzan01 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| let v = srcInput.value.trim(); | ||
|
|
||
| if (ogKey !== "og_image") { | ||
| v = sanitizeText(v, maxLen[ogKey]); | ||
| } | ||
| const sourceLabel = getSourceName(token); | ||
| ogInput.placeholder = v | ||
| ? `${v} — ${inherited} from ${sourceLabel}` | ||
| : originalPh; | ||
| }; | ||
|
|
||
| paint(); // initial | ||
| srcInput.addEventListener("input", paint); | ||
|
|
||
| ogInput.addEventListener("input", () => { | ||
| ogInput.placeholder = originalPh; // detach | ||
| srcInput.removeEventListener("input", paint); | ||
| }); | ||
| }); | ||
| }); | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,33 @@ | ||
| <?php | ||
|
|
||
| /** | ||
| * Joomla! Content Management System | ||
| * | ||
| * @copyright (C) 2025 Open Source Matters, Inc. <https://www.joomla.org> | ||
| * @license GNU General Public License version 2 or later; see LICENSE.txt | ||
| */ | ||
|
|
||
| namespace Joomla\CMS\Opengraph; | ||
|
|
||
| // phpcs:disable PSR1.Files.SideEffects | ||
| \defined('_JEXEC') or die; | ||
| // phpcs:enable PSR1.Files.SideEffects | ||
|
|
||
|
|
||
| /** | ||
| * The Opengraph service. | ||
| * | ||
| * @since __DEPLOY_VERSION__ | ||
| */ | ||
| interface OpengraphServiceInterface | ||
| { | ||
| /** | ||
| * Returns valid contexts. | ||
| * | ||
| * @return array | ||
| * | ||
| * @since __DEPLOY_VERSION__ | ||
| * | ||
| */ | ||
| public function getOpengraphFields(): array; | ||
shahzan01 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| } | ||
99 changes: 99 additions & 0 deletions
99
plugins/system/opengraph/language/en-GB/plg_system_opengraph.ini
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,99 @@ | ||
| ; Open Graph Plugin Language File | ||
shahzan01 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| ; Copyright (C) 2025 Open Source Matters, Inc. | ||
| ; License GNU General Public License version 2 or later | ||
|
|
||
shahzan01 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| PLG_SYSTEM_OPENGRAPH_ADVANCED_SECTION ="Advanced Settings" | ||
| PLG_SYSTEM_OPENGRAPH_DEFAULT_DESC_DESC="Fallback description for OpenGraph tags." | ||
| PLG_SYSTEM_OPENGRAPH_DEFAULT_DESC_LABEL="Default OG Description" | ||
| PLG_SYSTEM_OPENGRAPH_DEFAULT_IMAGE_ALT_DESC="Alt text for the default OpenGraph image." | ||
| PLG_SYSTEM_OPENGRAPH_DEFAULT_IMAGE_ALT_LABEL="Default OG Image Alt" | ||
| PLG_SYSTEM_OPENGRAPH_DEFAULT_IMAGE_DESC="Fallback image for OpenGraph (recommended 1200×630)." | ||
| PLG_SYSTEM_OPENGRAPH_DEFAULT_IMAGE_LABEL="Default OG Image" | ||
| PLG_SYSTEM_OPENGRAPH_DEFAULT_SITENAME_DESC="Fallback for og:site_name if you choose to include it." | ||
| PLG_SYSTEM_OPENGRAPH_DEFAULT_SITENAME_LABEL="Default Site Name" | ||
| PLG_SYSTEM_OPENGRAPH_DEFAULT_TITLE_DESC="Used when no title is mapped or provided by Menu/Category/Item." | ||
| PLG_SYSTEM_OPENGRAPH_DEFAULT_TITLE_LABEL="Default OG Title" | ||
| PLG_SYSTEM_OPENGRAPH_DESCRIPTION="Open Graph Plugin automatically generates Open Graph tags for improved social media sharing. Features hierarchical override system supporting global, category, and article-level metadata configuration." | ||
| PLG_SYSTEM_OPENGRAPH_DESCRIPTION_FIELD_DESC="Select which article field to use for og:description meta tag. Meta description is preferred over article text." | ||
| PLG_SYSTEM_OPENGRAPH_DESCRIPTION_FIELD_LABEL="Description Source" | ||
| PLG_SYSTEM_OPENGRAPH_ENABLE_DESC="Enable OpenGraph tags for this content." | ||
| PLG_SYSTEM_OPENGRAPH_ENABLE_LABEL="Enable OpenGraph" | ||
| PLG_SYSTEM_OPENGRAPH_ENABLE_OG_GENERATION="Enable OpenGraph" | ||
| PLG_SYSTEM_OPENGRAPH_ENABLE_OG_GENERATION_DESC="Enable OpenGraph tags generation." | ||
| PLG_SYSTEM_OPENGRAPH_FB_APP_ID_DESC="Needed only for Facebook Insights." | ||
| PLG_SYSTEM_OPENGRAPH_FB_APP_ID_LABEL="Facebook App ID" | ||
| PLG_SYSTEM_OPENGRAPH_FEATURES_DESC="• Generates complete Open Graph and Twitter Card metadata on the fly. • Hierarchical override system: Menu → Article → Category → Global. • Auto‑picks intro/full images and alt text. • Smart sanitisation & trimming prevents broken previews." | ||
| PLG_SYSTEM_OPENGRAPH_FEATURES_LABEL="What this plugin does" | ||
| PLG_SYSTEM_OPENGRAPH_FIELDSET_ARTICLE="OpenGraph" | ||
| PLG_SYSTEM_OPENGRAPH_FIELDSET_ARTICLE_DESC="Configure OpenGraph metadata for social media sharing. These settings override global defaults." | ||
| PLG_SYSTEM_OPENGRAPH_FIELDSET_GLOBAL_DEFAULTS="Global Defaults" | ||
| PLG_SYSTEM_OPENGRAPH_FIELDSET_GLOBAL_DEFAULTS_DESC="Set site-wide OpenGraph fallback values. Menu and item-level settings will override these." | ||
| PLG_SYSTEM_OPENGRAPH_FIELD_MAPPING_SECTION="Field Mapping Configuration" | ||
| PLG_SYSTEM_OPENGRAPH_GLOBAL_DESC="Global defaults used when no article / menu overrides are present." | ||
| PLG_SYSTEM_OPENGRAPH_GLOBAL_OG_SETTINGS="Global Open Graph Settings" | ||
| PLG_SYSTEM_OPENGRAPH_IMAGE_ALT_FIELD_DESC="Select which article field to use for og:image:alt meta tag for accessibility" | ||
| PLG_SYSTEM_OPENGRAPH_IMAGE_ALT_FIELD_LABEL="Image Alt Text Source" | ||
| PLG_SYSTEM_OPENGRAPH_IMAGE_FIELD_DESC="Select which article field to use for og:image meta tag" | ||
| PLG_SYSTEM_OPENGRAPH_IMAGE_FIELD_LABEL="Image Source" | ||
| PLG_SYSTEM_OPENGRAPH_INHERITED="inherited" | ||
| PLG_SYSTEM_OPENGRAPH_MANUAL_OVERRIDE_SECTION="Manual Override Options" | ||
| PLG_SYSTEM_OPENGRAPH_MAX_ALT_DESC="Recommended: ≤125 characters (based on WCAG guidelines)." | ||
| PLG_SYSTEM_OPENGRAPH_MAX_ALT_LABEL="Max Alt Text Length" | ||
| PLG_SYSTEM_OPENGRAPH_MAX_DESC_DESC="Recommended: ≤160 characters (Twitter truncates beyond this)." | ||
| PLG_SYSTEM_OPENGRAPH_MAX_DESC_LABEL="Max Description Length" | ||
| PLG_SYSTEM_OPENGRAPH_MAX_TITLE_DESC="Recommended: ≤60 characters for best display in Facebook and Twitter cards." | ||
| PLG_SYSTEM_OPENGRAPH_MAX_TITLE_LABEL="Max Title Length" | ||
| PLG_SYSTEM_OPENGRAPH_NO_FIELD_SELECTED="-- No Field Selected --" | ||
| PLG_SYSTEM_OPENGRAPH_OG_DESCRIPTION_DESC="Brief description for social media sharing. Recommended length: 120-160 characters." | ||
| PLG_SYSTEM_OPENGRAPH_OG_DESCRIPTION_HINT="Enter a brief, engaging description" | ||
| PLG_SYSTEM_OPENGRAPH_OG_DESCRIPTION_LABEL="OpenGraph Description" | ||
| PLG_SYSTEM_OPENGRAPH_OG_IMAGE_ALT_DESC="Alternative text for the OpenGraph image for accessibility." | ||
| PLG_SYSTEM_OPENGRAPH_OG_IMAGE_ALT_HINT="Enter a brief description of the image for accessibility" | ||
| PLG_SYSTEM_OPENGRAPH_OG_IMAGE_ALT_LABEL="OpenGraph Image Alt Text" | ||
| PLG_SYSTEM_OPENGRAPH_OG_IMAGE_DESC="Image for social media sharing. Recommended size: 1200x630 pixels." | ||
| PLG_SYSTEM_OPENGRAPH_OG_IMAGE_LABEL="OpenGraph Image" | ||
| PLG_SYSTEM_OPENGRAPH_OG_TITLE_DESC="Custom title for social media sharing. Recommended length: 40-60 characters." | ||
| PLG_SYSTEM_OPENGRAPH_OG_TITLE_HINT="Enter a compelling title for social sharing" | ||
| PLG_SYSTEM_OPENGRAPH_OG_TITLE_LABEL="OpenGraph Title" | ||
| PLG_SYSTEM_OPENGRAPH_OG_TYPE_DESC="Content type for social media platforms." | ||
| PLG_SYSTEM_OPENGRAPH_OG_TYPE_LABEL="OpenGraph Type" | ||
| PLG_SYSTEM_OPENGRAPH_OG_URL_DESC="Override the canonical URL for sharing." | ||
| PLG_SYSTEM_OPENGRAPH_OG_URL_HINT="Leave empty to use the article's URL" | ||
| PLG_SYSTEM_OPENGRAPH_OG_URL_LABEL="Custom URL" | ||
| PLG_SYSTEM_OPENGRAPH_OVERRIDE_SETTINGS="Override Settings" | ||
| PLG_SYSTEM_OPENGRAPH_OVERVIEW="Overview & Help" | ||
| PLG_SYSTEM_OPENGRAPH_QUICKSTART_DESC="1. Enable the plugin. 2. Optional: enter your Facebook App ID above. 3. Edit any article → ‘Open Graph’ tab to override title, description, or image. 4. Clear cache, share your URL and enjoy rich previews!" | ||
| PLG_SYSTEM_OPENGRAPH_QUICKSTART_LABEL="How to use" | ||
| PLG_SYSTEM_OPENGRAPH_SHOW_ADVANCED_DESC="Show advanced settings for OpenGraph metadata." | ||
| PLG_SYSTEM_OPENGRAPH_SHOW_ADVANCED_LABEL="Show Advanced Settings" | ||
| PLG_SYSTEM_OPENGRAPH_SHOW_MANUAL_OVERRIDE_DESC="Enable this to manually set OG tags like title, description, and image." | ||
| PLG_SYSTEM_OPENGRAPH_SHOW_MANUAL_OVERRIDE_LABEL="Show Manual Override Settings" | ||
| PLG_SYSTEM_OPENGRAPH_TIPS_DESC="• Changed an image but Facebook still shows the old one? Clear Joomla & CDN caches, then run Facebook Sharing Debugger. • Large images (>5 MB) may be ignored by Twitter. • Verify that og:image is an absolute URL (use the built‑in sanitiser)." | ||
| PLG_SYSTEM_OPENGRAPH_TIPS_LABEL="Troubleshooting" | ||
| PLG_SYSTEM_OPENGRAPH_TITLE_FIELD_DESC="Select which article field to use for og:title meta tag" | ||
| PLG_SYSTEM_OPENGRAPH_TITLE_FIELD_LABEL="Title Source" | ||
| PLG_SYSTEM_OPENGRAPH_TWITTER_CARD_DESC="Select the type of Twitter card to use for this content." | ||
| PLG_SYSTEM_OPENGRAPH_TWITTER_CARD_LABEL="Twitter Card Type" | ||
| PLG_SYSTEM_OPENGRAPH_TWITTER_CARD_SUMMARY="Summary" | ||
| PLG_SYSTEM_OPENGRAPH_TWITTER_CARD_SUMMARY_LARGE_IMAGE="Summary Large Image" | ||
| PLG_SYSTEM_OPENGRAPH_TWITTER_DESC_DESC="Custom description for Twitter sharing. Recommended length: 120-160 characters." | ||
| PLG_SYSTEM_OPENGRAPH_TWITTER_DESC_HINT="Enter a brief, engaging description" | ||
| PLG_SYSTEM_OPENGRAPH_TWITTER_DESC_LABEL="Twitter Description" | ||
| PLG_SYSTEM_OPENGRAPH_TWITTER_IMAGE_DESC="Image for Twitter sharing. Recommended size: 1200x630 pixels." | ||
| PLG_SYSTEM_OPENGRAPH_TWITTER_IMAGE_LABEL="Twitter Image" | ||
| PLG_SYSTEM_OPENGRAPH_TWITTER_TITLE_DESC="Custom title for Twitter sharing. Recommended length: 70 characters." | ||
| PLG_SYSTEM_OPENGRAPH_TWITTER_TITLE_HINT="Enter a compelling title for Twitter sharing" | ||
| PLG_SYSTEM_OPENGRAPH_TWITTER_TITLE_LABEL="Twitter Title" | ||
| PLG_SYSTEM_OPENGRAPH_TYPE_ARTICLE="Article" | ||
| PLG_SYSTEM_OPENGRAPH_TYPE_BLOG="Blog" | ||
| PLG_SYSTEM_OPENGRAPH_TYPE_BOOK="Book" | ||
| PLG_SYSTEM_OPENGRAPH_TYPE_EVENT="Event" | ||
| PLG_SYSTEM_OPENGRAPH_TYPE_FIELD_DESC="Select a custom field to use as the OpenGraph type source." | ||
| PLG_SYSTEM_OPENGRAPH_TYPE_FIELD_LABEL="Type Field" | ||
| PLG_SYSTEM_OPENGRAPH_TYPE_MUSIC="Music" | ||
| PLG_SYSTEM_OPENGRAPH_TYPE_PRODUCT="Product" | ||
| PLG_SYSTEM_OPENGRAPH_TYPE_PROFILE="Profile" | ||
| PLG_SYSTEM_OPENGRAPH_TYPE_VIDEO="Video" | ||
| PLG_SYSTEM_OPENGRAPH_TYPE_WEBSITE="Website" | ||
| PLG_SYSTEM_OPENGRAPH_USE_DEFAULT="Use Default" | ||
13 changes: 13 additions & 0 deletions
13
plugins/system/opengraph/language/en-GB/plg_system_opengraph.sys.ini
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| ; Open Graph Plugin System Language File | ||
shahzan01 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| ; Copyright (C) 2025 Open Source Matters, Inc. | ||
| ; License GNU General Public License version 2 or later | ||
| ; Plugin Name and Description for Extension Manager | ||
| PLG_SYSTEM_OPENGRAPH="System - Open Graph" | ||
| PLG_SYSTEM_OPENGRAPH_DESCRIPTION="Automatic Open Graph tag generation plugin for Joomla 6.x with hierarchical metadata override system. Improves social media sharing with intelligent fallback mechanisms." | ||
| ; Installation Messages | ||
| PLG_SYSTEM_OPENGRAPH_INSTALL_SUCCESS="Open Graph Plugin installed successfully!" | ||
| PLG_SYSTEM_OPENGRAPH_UPDATE_SUCCESS="Open Graph Plugin updated successfully!" | ||
| PLG_SYSTEM_OPENGRAPH_UNINSTALL_SUCCESS="Open Graph Plugin uninstalled successfully!" | ||
| ; Custom Fields Group | ||
| PLG_SYSTEM_OPENGRAPH_FIELDS_GROUP="Open Graph Metadata" | ||
| PLG_SYSTEM_OPENGRAPH_FIELDS_GROUP_DESC="Custom fields for Open Graph metadata configuration" | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.