trexima / european-cv
Bundle provides form for creating CV in european format.
Requires
- php: ^7.4 || ^8.0
- claviska/simpleimage: ^3.3
- mpdf/mpdf: ^8.0
- pelago/emogrifier: ^6.0
- symfony/asset: ^4.2 || ^5.0 || ^6.0
- symfony/framework-bundle: ^4.2 || ^5.0 || ^6.0
- symfony/translation: ^4.2|| ^5.0 || ^6.0
- symfony/twig-bundle: ^4.2 || ^5.0 || ^6.0
- symfony/yaml: ^4.2 || ^5.0 || ^6.0
Requires (Dev)
- phpunit/phpunit: ^8.0
- roave/security-advisories: dev-master
README
Bundle provides form for creating CV in european format. It also optionally embeds required JS and predefined CSS. CV can be saved to database, exported to DOC or PDF format.
Installation
Add to composer.json:
composer require trexima/european-cv
JS and CSS libs:
yarn add bootstrap
yarn add @fortawesome/fontawesome-free
yarn add jquery
yarn add jquery-ui
yarn add blueimp-file-upload
yarn add sortablejs
yarn add jquery.dirtyforms
yarn add select2
yarn add select2-bootstrap-theme
yarn add parsleyjs
yarn add flatpickr
yarn add bs-custom-file-input
NOTE: For required external libs include:
./vendor/trexima/european-cv-bundle/Resources/assets/css/shared.scss
Installing assets with Webpack encore:
Encore.addEntry('trexima-european-cv', [ './vendor/trexima/european-cv/Resources/assets/js/main.js', './vendor/trexima/european-cv/Resources/public/build/trexima-european-cv.css' ])
Fucking jquery.dirtyforms hack(webpack.config.js):
const config = Encore.getWebpackConfig(); // Required because of bug in jquery.dirtyforms https://github.com/snikch/jquery.dirtyforms/issues/82 config.externals = { window: 'window', document: 'document' }; // export the final configuration module.exports = config;
Add CSS and JS to Twig templates:
{% block stylesheets %} {{ encore_entry_link_tags('trexima-european-cv') }} {{ parent() }} {% endblock %} {% block javascripts %} {{ encore_entry_script_tags('trexima-european-cv') }} {{ parent() }} {% endblock %}
Configuration
Add upload route to global configuration:
trexima_european_cv_annotations:
resource: '@TreximaEuropeanCvBundle/Controller/'
type: annotation
Route name for AJAX images uploading:
trexima_european_cv_bundle_image
Define entity that will be in relation with european CV and upload dir:
trexima_european_cv:
upload_url: '/uploads/european-cv/'
upload_dir: '%kernel.project_dir%/public/uploads/european-cv/'
user_class: App\Entity\User
trexima_european_cv.yaml
NOTE: Don't forget to update Doctrine schema.
Translations
If you wish to use default texts provided in this bundle, you have to make sure you have translator enabled in your config.
framework: translator: ~