longitude-one / meta-bundle
A Symfony bundle to manage meta tags
Installs: 20
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:bundle
Requires
- php: ^7.4|^8.0
- symfony/http-kernel: ^5.4|^6.0
- twig/twig: ^3.3
Requires (Dev)
- phpunit/phpunit: ^9.5
- symfony/browser-kit: ^5.4|^6.0
- symfony/console: ^5.4|^6.0
- symfony/framework-bundle: ^5.4|^6.0
- symfony/process: ^5.4|^6.0
- symfony/twig-bundle: ^5.4|^6.0
- symfony/yaml: ^5.4|^6.0
README
This bundle provides a Twig extension and an easy configurable file to customize contents of all your meta tags.
Installation
composer require longitude-one/meta-bundle
Configuration
Edit your twig base view to call functions meta_description()
, meta_title()
, meta('foo:bar')
implemented by our twig extension.
Example:
<!-- templates/base.html.twig --> <!DOCTYPE html> <html lang="fr"> <head> <meta name="description" content="{{ meta_description() }}" /> <meta property="og:image" content="{{ meta('og:image') }}" /> <title>{{ meta_title() }}</title> </head> <body></body> </html>
Create or edit the bundle configuration file and
# config/packages/meta.yaml meta: defaults: description: 'My default description' # the default description 'og-image': 'My default image' # the default image title: 'My default title' # the default title paths: '/foo/bar/': # For this url, our extension will return customs description: 'My custom description for /foo/bar url' 'og-image': 'My custom image for /foo/bar url' title: 'My custom title for /foo/bar url' '/bar': #For this url, our extension will return a custom title and the default image and title. title: 'My custom description for /bar url'
Contributing
- Fork the github project.
- Clone it
A very simple docker is embedded to:
- provide you a PHP8.1 environment
- provide you composer, symfony and phpcsfixer as external tools
- launch local symfony server to help you to dev
Then simply build your container:
docker-compose up --build
With your browser, you can access the embedded application by accessing the symfony local server http://127.0.0.1/
Update the code, fix bugs or implement new feature, then check the test.
docker exec bundle-php ./vendor/bin/phpunit
Check quality code with PHP-CS-FIXER:
docker exec bundle-php tools/php-cs-fixer/vendor/bin/php-cs-fixer fix --config=tools/php-cs-fixer/.php-cs-fixer.php
All is OK ? commit your code, push it and pull request it ;)