From 3cfd95ee81e376225eef9b63090f4e0c39d25171 Mon Sep 17 00:00:00 2001 From: Dan Chadwick Date: Tue, 9 Apr 2024 01:47:04 +0000 Subject: [PATCH] Rebuild --- .gitattributes | 3 + .gitignore | 5 +- .gitlab-ci.yml | 41 +- TODO.md | 4 + composer.json | 11 +- composer.lock | 1136 +- config/default/automated_cron.settings.yml | 3 - .../block.block.bootstrap5_account_menu.yml | 27 + .../block.block.bootstrap5_branding.yml | 25 + .../block.block.bootstrap5_breadcrumbs.yml | 22 + .../block.block.bootstrap5_content.yml | 22 + .../default/block.block.bootstrap5_footer.yml | 27 + .../default/block.block.bootstrap5_help.yml | 22 + .../block.block.bootstrap5_local_actions.yml | 20 + .../block.block.bootstrap5_local_tasks.yml | 22 + ...block.block.bootstrap5_main_navigation.yml | 27 + .../block.block.bootstrap5_messages.yml | 22 + .../block.block.bootstrap5_page_title.yml | 20 + ...ock.block.bootstrap5_powered_by_drupal.yml | 22 + .../block.block.bootstrap5_search_form.yml | 23 + .../block.block.dchadwick_account_menu.yml | 4 +- .../default/block.block.dchadwick_content.yml | 2 +- .../block.block.dchadwick_main_menu.yml | 2 +- .../block.block.dchadwick_messages.yml | 2 +- .../block.block.dchadwick_page_title.yml | 16 +- ....block.dchadwick_primary_admin_actions.yml | 2 +- ...ck.block.dchadwick_primary_local_tasks.yml | 4 +- ....block.dchadwick_secondary_local_tasks.yml | 4 +- ..._block__fighter_fight_list_past_fights.yml | 32 + config/default/block_content.type.expense.yml | 8 - config/default/block_content.type.hero.yml | 8 + .../default/block_content.type.hero_slide.yml | 8 + config/default/bootstrap5.settings.yml | 10 + config/default/comment.settings.yml | 3 - config/default/comment.type.comment.yml | 10 - .../config_split.config_split.local.yml | 17 + .../config_split.config_split.production.yml | 17 + ...ase_field_override.node.budget.promote.yml | 22 - ..._display.block_content.expense.default.yml | 28 - ...orm_display.block_content.hero.default.yml | 20 + ...splay.block_content.hero_slide.default.yml | 50 + ...y_form_display.comment.comment.default.yml | 36 - ...form_display.media.audio.media_library.yml | 22 + ...m_display.media.document.media_library.yml | 22 + ...form_display.media.image.media_library.yml | 32 + ...splay.media.remote_video.media_library.yml | 22 + ...form_display.media.video.media_library.yml | 22 + ...tity_form_display.node.article.default.yml | 8 - ...ntity_form_display.node.budget.default.yml | 84 - ...entity_form_display.node.fight.default.yml | 91 + ...tity_form_display.node.fighter.default.yml | 378 + ...splay.taxonomy_term.ufc_events.default.yml | 42 + ...e.entity_form_mode.media.media_library.yml | 16 + ..._display.block_content.expense.default.yml | 24 - ...iew_display.block_content.hero.default.yml | 12 + ...splay.block_content.hero_slide.default.yml | 46 + ...y_view_display.comment.comment.default.yml | 27 - ...view_display.media.audio.media_library.yml | 34 + ...w_display.media.document.media_library.yml | 34 + ...ntity_view_display.media.image.default.yml | 3 +- ...view_display.media.image.media_library.yml | 34 + ...splay.media.remote_video.media_library.yml | 34 + ...view_display.media.video.media_library.yml | 34 + ...tity_view_display.node.article.default.yml | 12 - ...e.entity_view_display.node.article.rss.yml | 2 - ...ntity_view_display.node.article.teaser.yml | 2 - ...ntity_view_display.node.budget.default.yml | 41 - ...entity_view_display.node.budget.teaser.yml | 24 - ...entity_view_display.node.fight.default.yml | 82 + ....entity_view_display.node.fight.teaser.yml | 44 + ...tity_view_display.node.fighter.default.yml | 426 + ...e.entity_view_display.node.fighter.rss.yml | 101 + ...ntity_view_display.node.fighter.teaser.yml | 84 + ....entity_view_display.node.page.default.yml | 5 +- ...splay.taxonomy_term.ufc_events.default.yml | 48 + .../core.entity_view_mode.comment.full.yml | 13 - .../core.entity_view_mode.comment.token.yml | 11 - ...e.entity_view_mode.media.media_library.yml | 16 + config/default/core.extension.yml | 7 +- .../core.menu.static_menu_link_overrides.yml | 10 +- ...ld.block_content.expense.field_expense.yml | 23 - ...k_content.hero_slide.field_slide_image.yml | 29 + ...ck_content.hero_slide.field_slide_link.yml | 23 + ...ck_content.hero_slide.field_slide_text.yml | 24 + ...eld.field.comment.comment.comment_body.yml | 24 - .../field.field.node.article.comment.yml | 35 - ....field.node.budget.field_expenses_list.yml | 29 - ...field.node.budget.field_total_expenses.yml | 23 - .../default/field.field.node.fight.body.yml | 26 + .../field.field.node.fight.field_event.yml | 31 + .../default/field.field.node.fighter.body.yml | 26 + .../field.field.node.fighter.field_age.yml | 8 +- ....node.fighter.field_average_fight_time.yml | 23 + ...ield.node.fighter.field_clinch_strikes.yml | 23 + ...eld.field.node.fighter.field_decisions.yml | 8 +- ...ield.field.node.fighter.field_division.yml | 31 + ...ode.fighter.field_first_round_finishes.yml | 23 + ...ield.node.fighter.field_ground_strikes.yml | 23 + .../field.field.node.fighter.field_losses.yml | 14 +- ....node.fighter.field_sig_strike_defense.yml | 23 + ...ld.node.fighter.field_standing_strikes.yml | 23 + ...eld.node.fighter.field_strikes_to_body.yml | 23 + ...eld.node.fighter.field_strikes_to_head.yml | 23 + ...ield.node.fighter.field_strikes_to_leg.yml | 23 + ...de.fighter.field_submission_avg_per_15.yml | 23 + ...ld.node.fighter.field_takedown_defense.yml | 23 + .../field.field.node.fighter.field_wins.yml | 14 +- ...onomy_term.ufc_events.field_event_date.yml | 23 + ...xonomy_term.ufc_events.field_event_url.yml | 23 + ...orage.block_content.field_slide_image.yml} | 12 +- ...storage.block_content.field_slide_link.yml | 19 + ...storage.block_content.field_slide_text.yml | 19 + .../field.storage.comment.comment_body.yml | 21 - config/default/field.storage.node.comment.yml | 22 - .../default/field.storage.node.field_age.yml | 10 +- ...storage.node.field_average_fight_time.yml} | 14 +- ...ield.storage.node.field_clinch_strikes.yml | 20 + .../field.storage.node.field_decisions.yml | 10 +- .../field.storage.node.field_division.yml | 22 + .../field.storage.node.field_event.yml | 22 + ...torage.node.field_first_round_finishes.yml | 20 + ...ield.storage.node.field_ground_strikes.yml | 20 + .../field.storage.node.field_losses.yml | 11 +- ....storage.node.field_sig_strike_defense.yml | 20 + ...ld.storage.node.field_standing_strikes.yml | 20 + ...eld.storage.node.field_strikes_to_body.yml | 20 + ...eld.storage.node.field_strikes_to_head.yml | 20 + ...ield.storage.node.field_strikes_to_leg.yml | 20 + ...rage.node.field_submission_avg_per_15.yml} | 6 +- ...ld.storage.node.field_takedown_defense.yml | 20 + .../default/field.storage.node.field_wins.yml | 11 +- ...storage.taxonomy_term.field_event_date.yml | 22 + ....storage.taxonomy_term.field_event_url.yml | 19 + config/default/filter.format.basic_html.yml | 9 +- config/default/image.style.media_library.yml | 20 + config/default/media_library.settings.yml | 3 + config/default/node.type.budget.yml | 18 - config/default/pathauto.pattern.fighter.yml | 22 + .../pathauto.pattern.ufc_divisions.yml | 22 + .../default/pathauto.pattern.ufc_events.yml | 22 + .../system.action.comment_delete_action.yml | 13 - .../system.action.comment_publish_action.yml | 13 - .../system.action.comment_save_action.yml | 13 - ...system.action.comment_unpublish_action.yml | 13 - config/default/system.performance.yml | 4 +- .../taxonomy.vocabulary.ufc_divisions.yml | 10 + .../taxonomy.vocabulary.ufc_events.yml | 10 + config/default/user.role.anonymous.yml | 2 - config/default/user.role.authenticated.yml | 4 - config/default/user.role.content_editor.yml | 2 - config/default/views.settings.yml | 4 +- config/default/views.view.all_fighters.yml | 576 + config/default/views.view.events_list.yml | 374 + .../default/views.view.fighter_fight_list.yml | 553 + config/default/views.view.frontpage.yml | 312 - ...mment.yml => views.view.media_library.yml} | 2363 +- ...ecent.yml => views.view.recent_fights.yml} | 322 +- config/default/views.view.taxonomy_term.yml | 508 +- config/envs/local/.htaccess | 24 + .../envs/local/stage_file_proxy.settings.yml | 9 + config/envs/prod/system.performance.yml | 15 + drush/sites/self.site.yml | 1 + scripts/update_everything.sh | 6 + web/modules/custom/ufc/.babelrc | 6 + web/modules/custom/ufc/fights_output.txt | 24 - web/modules/custom/ufc/js/dist/main.min.js | 33553 ++++++++++++++++ .../custom/ufc/js/dist/main.min.js.map | 1 + .../custom/ufc/js/src/components/Button.js | 9 + .../custom/ufc/js/src/components/Table.js | 22 + web/modules/custom/ufc/js/src/index.jsx | 14 + web/modules/custom/ufc/package-lock.json | 3846 ++ web/modules/custom/ufc/package.json | 28 + .../src/Controller/DcjsRouteController.php | 211 + .../Controller/FightTrainingController.php | 220 + web/modules/custom/ufc/src/FightPredictor.php | 313 - web/modules/custom/ufc/src/Fighter.php | 470 +- .../custom/ufc/src/FighterImporter.php | 202 - .../ufc/src/Form/SelfHealKickoffForm.php | 54 - .../custom/ufc/src/Services/FightImporter.php | 280 + .../ufc/src/Services/FighterImporter.php | 241 + .../ufc/src/Traits/NameConversionTrait.php | 137 + .../ufc/src/Traits/ScraperHelperTrait.php | 132 + .../ufc/templates/fighter-for-dcjs.html.twig | 44 + .../templates/fighters-dcjs-list.html.twig | 9 + .../ufc/templates/fighters-dcjs.html.twig | 10 + web/modules/custom/ufc/ufc.libraries.yml | 10 + web/modules/custom/ufc/ufc.module | 166 +- web/modules/custom/ufc/ufc.routing.yml | 49 +- web/modules/custom/ufc/ufc.services.yml | 19 +- web/modules/custom/ufc/webpack.config.js | 28 + web/sites/default/settings.php | 18 + web/themes/custom/dchadwick/css/style.css | 297 +- .../custom/dchadwick/dchadwick.info.yml | 3 +- .../custom/dchadwick/dchadwick.libraries.yml | 29 +- web/themes/custom/dchadwick/dchadwick.theme | 81 + web/themes/custom/dchadwick/gulpfile.js | 5 + web/themes/custom/dchadwick/js/global.js | 59 +- .../custom/dchadwick/js/predictEvent.js | 73 + .../custom/dchadwick/js/predictFight.js | 36 + web/themes/custom/dchadwick/package.json | 3 +- web/themes/custom/dchadwick/src/.DS_Store | Bin 6148 -> 0 bytes .../dchadwick/src/sass/partials/articles.scss | 4 - .../dchadwick/src/sass/partials/event.scss | 32 + .../dchadwick/src/sass/partials/fight.scss | 31 + .../dchadwick/src/sass/partials/fighter.scss | 134 + .../src/sass/partials/fighters-view.scss | 16 + .../dchadwick/src/sass/partials/header.scss | 86 +- .../src/sass/partials/local-tasks.scss | 27 + .../dchadwick/src/sass/partials/main.scss | 14 + .../custom/dchadwick/src/sass/style.scss | 111 +- .../block--inline-block--hero.html.twig | 47 + .../templates/components/button.html.twig | 15 + .../templates/components/card.html.twig | 24 + .../templates/components/heading.html.twig | 1 + .../templates/node/node--fight.html.twig | 138 + .../node/node--fighter--teaser.html.twig | 90 + .../templates/node/node--fighter.html.twig | 52 + .../templates/system/page--taxonomy.html.twig | 14 + .../dchadwick/templates/system/page.html.twig | 11 + 219 files changed, 47894 insertions(+), 3767 deletions(-) create mode 100644 TODO.md delete mode 100644 config/default/automated_cron.settings.yml create mode 100644 config/default/block.block.bootstrap5_account_menu.yml create mode 100644 config/default/block.block.bootstrap5_branding.yml create mode 100644 config/default/block.block.bootstrap5_breadcrumbs.yml create mode 100644 config/default/block.block.bootstrap5_content.yml create mode 100644 config/default/block.block.bootstrap5_footer.yml create mode 100644 config/default/block.block.bootstrap5_help.yml create mode 100644 config/default/block.block.bootstrap5_local_actions.yml create mode 100644 config/default/block.block.bootstrap5_local_tasks.yml create mode 100644 config/default/block.block.bootstrap5_main_navigation.yml create mode 100644 config/default/block.block.bootstrap5_messages.yml create mode 100644 config/default/block.block.bootstrap5_page_title.yml create mode 100644 config/default/block.block.bootstrap5_powered_by_drupal.yml create mode 100644 config/default/block.block.bootstrap5_search_form.yml create mode 100644 config/default/block.block.dchadwick_views_block__fighter_fight_list_past_fights.yml delete mode 100644 config/default/block_content.type.expense.yml create mode 100644 config/default/block_content.type.hero.yml create mode 100644 config/default/block_content.type.hero_slide.yml create mode 100644 config/default/bootstrap5.settings.yml delete mode 100644 config/default/comment.settings.yml delete mode 100644 config/default/comment.type.comment.yml create mode 100644 config/default/config_split.config_split.local.yml create mode 100644 config/default/config_split.config_split.production.yml delete mode 100644 config/default/core.base_field_override.node.budget.promote.yml delete mode 100644 config/default/core.entity_form_display.block_content.expense.default.yml create mode 100644 config/default/core.entity_form_display.block_content.hero.default.yml create mode 100644 config/default/core.entity_form_display.block_content.hero_slide.default.yml delete mode 100644 config/default/core.entity_form_display.comment.comment.default.yml create mode 100644 config/default/core.entity_form_display.media.audio.media_library.yml create mode 100644 config/default/core.entity_form_display.media.document.media_library.yml create mode 100644 config/default/core.entity_form_display.media.image.media_library.yml create mode 100644 config/default/core.entity_form_display.media.remote_video.media_library.yml create mode 100644 config/default/core.entity_form_display.media.video.media_library.yml delete mode 100644 config/default/core.entity_form_display.node.budget.default.yml create mode 100644 config/default/core.entity_form_display.node.fight.default.yml create mode 100644 config/default/core.entity_form_display.node.fighter.default.yml create mode 100644 config/default/core.entity_form_display.taxonomy_term.ufc_events.default.yml create mode 100644 config/default/core.entity_form_mode.media.media_library.yml delete mode 100644 config/default/core.entity_view_display.block_content.expense.default.yml create mode 100644 config/default/core.entity_view_display.block_content.hero.default.yml create mode 100644 config/default/core.entity_view_display.block_content.hero_slide.default.yml delete mode 100644 config/default/core.entity_view_display.comment.comment.default.yml create mode 100644 config/default/core.entity_view_display.media.audio.media_library.yml create mode 100644 config/default/core.entity_view_display.media.document.media_library.yml create mode 100644 config/default/core.entity_view_display.media.image.media_library.yml create mode 100644 config/default/core.entity_view_display.media.remote_video.media_library.yml create mode 100644 config/default/core.entity_view_display.media.video.media_library.yml delete mode 100644 config/default/core.entity_view_display.node.budget.default.yml delete mode 100644 config/default/core.entity_view_display.node.budget.teaser.yml create mode 100644 config/default/core.entity_view_display.node.fight.default.yml create mode 100644 config/default/core.entity_view_display.node.fight.teaser.yml create mode 100644 config/default/core.entity_view_display.node.fighter.default.yml create mode 100644 config/default/core.entity_view_display.node.fighter.rss.yml create mode 100644 config/default/core.entity_view_display.node.fighter.teaser.yml create mode 100644 config/default/core.entity_view_display.taxonomy_term.ufc_events.default.yml delete mode 100644 config/default/core.entity_view_mode.comment.full.yml delete mode 100644 config/default/core.entity_view_mode.comment.token.yml create mode 100644 config/default/core.entity_view_mode.media.media_library.yml delete mode 100644 config/default/field.field.block_content.expense.field_expense.yml create mode 100644 config/default/field.field.block_content.hero_slide.field_slide_image.yml create mode 100644 config/default/field.field.block_content.hero_slide.field_slide_link.yml create mode 100644 config/default/field.field.block_content.hero_slide.field_slide_text.yml delete mode 100644 config/default/field.field.comment.comment.comment_body.yml delete mode 100644 config/default/field.field.node.article.comment.yml delete mode 100644 config/default/field.field.node.budget.field_expenses_list.yml delete mode 100644 config/default/field.field.node.budget.field_total_expenses.yml create mode 100644 config/default/field.field.node.fight.body.yml create mode 100644 config/default/field.field.node.fight.field_event.yml create mode 100644 config/default/field.field.node.fighter.body.yml create mode 100644 config/default/field.field.node.fighter.field_average_fight_time.yml create mode 100644 config/default/field.field.node.fighter.field_clinch_strikes.yml create mode 100644 config/default/field.field.node.fighter.field_division.yml create mode 100644 config/default/field.field.node.fighter.field_first_round_finishes.yml create mode 100644 config/default/field.field.node.fighter.field_ground_strikes.yml create mode 100644 config/default/field.field.node.fighter.field_sig_strike_defense.yml create mode 100644 config/default/field.field.node.fighter.field_standing_strikes.yml create mode 100644 config/default/field.field.node.fighter.field_strikes_to_body.yml create mode 100644 config/default/field.field.node.fighter.field_strikes_to_head.yml create mode 100644 config/default/field.field.node.fighter.field_strikes_to_leg.yml create mode 100644 config/default/field.field.node.fighter.field_submission_avg_per_15.yml create mode 100644 config/default/field.field.node.fighter.field_takedown_defense.yml create mode 100644 config/default/field.field.taxonomy_term.ufc_events.field_event_date.yml create mode 100644 config/default/field.field.taxonomy_term.ufc_events.field_event_url.yml rename config/default/{field.storage.block_content.field_expense.yml => field.storage.block_content.field_slide_image.yml} (58%) create mode 100644 config/default/field.storage.block_content.field_slide_link.yml create mode 100644 config/default/field.storage.block_content.field_slide_text.yml delete mode 100644 config/default/field.storage.comment.comment_body.yml delete mode 100644 config/default/field.storage.node.comment.yml rename config/default/{field.storage.node.field_expenses_list.yml => field.storage.node.field_average_fight_time.yml} (51%) create mode 100644 config/default/field.storage.node.field_clinch_strikes.yml create mode 100644 config/default/field.storage.node.field_division.yml create mode 100644 config/default/field.storage.node.field_event.yml create mode 100644 config/default/field.storage.node.field_first_round_finishes.yml create mode 100644 config/default/field.storage.node.field_ground_strikes.yml create mode 100644 config/default/field.storage.node.field_sig_strike_defense.yml create mode 100644 config/default/field.storage.node.field_standing_strikes.yml create mode 100644 config/default/field.storage.node.field_strikes_to_body.yml create mode 100644 config/default/field.storage.node.field_strikes_to_head.yml create mode 100644 config/default/field.storage.node.field_strikes_to_leg.yml rename config/default/{field.storage.node.field_total_expenses.yml => field.storage.node.field_submission_avg_per_15.yml} (68%) create mode 100644 config/default/field.storage.node.field_takedown_defense.yml create mode 100644 config/default/field.storage.taxonomy_term.field_event_date.yml create mode 100644 config/default/field.storage.taxonomy_term.field_event_url.yml create mode 100644 config/default/image.style.media_library.yml create mode 100644 config/default/media_library.settings.yml delete mode 100644 config/default/node.type.budget.yml create mode 100644 config/default/pathauto.pattern.fighter.yml create mode 100644 config/default/pathauto.pattern.ufc_divisions.yml create mode 100644 config/default/pathauto.pattern.ufc_events.yml delete mode 100644 config/default/system.action.comment_delete_action.yml delete mode 100644 config/default/system.action.comment_publish_action.yml delete mode 100644 config/default/system.action.comment_save_action.yml delete mode 100644 config/default/system.action.comment_unpublish_action.yml create mode 100644 config/default/taxonomy.vocabulary.ufc_divisions.yml create mode 100644 config/default/taxonomy.vocabulary.ufc_events.yml create mode 100644 config/default/views.view.all_fighters.yml create mode 100644 config/default/views.view.events_list.yml create mode 100644 config/default/views.view.fighter_fight_list.yml delete mode 100644 config/default/views.view.frontpage.yml rename config/default/{views.view.comment.yml => views.view.media_library.yml} (52%) rename config/default/{views.view.comments_recent.yml => views.view.recent_fights.yml} (53%) create mode 100644 config/envs/local/.htaccess create mode 100644 config/envs/local/stage_file_proxy.settings.yml create mode 100644 config/envs/prod/system.performance.yml create mode 100644 scripts/update_everything.sh create mode 100644 web/modules/custom/ufc/.babelrc delete mode 100644 web/modules/custom/ufc/fights_output.txt create mode 100644 web/modules/custom/ufc/js/dist/main.min.js create mode 100644 web/modules/custom/ufc/js/dist/main.min.js.map create mode 100644 web/modules/custom/ufc/js/src/components/Button.js create mode 100644 web/modules/custom/ufc/js/src/components/Table.js create mode 100644 web/modules/custom/ufc/js/src/index.jsx create mode 100644 web/modules/custom/ufc/package-lock.json create mode 100644 web/modules/custom/ufc/package.json create mode 100644 web/modules/custom/ufc/src/Controller/DcjsRouteController.php create mode 100644 web/modules/custom/ufc/src/Controller/FightTrainingController.php delete mode 100644 web/modules/custom/ufc/src/FightPredictor.php delete mode 100644 web/modules/custom/ufc/src/FighterImporter.php delete mode 100644 web/modules/custom/ufc/src/Form/SelfHealKickoffForm.php create mode 100644 web/modules/custom/ufc/src/Services/FightImporter.php create mode 100644 web/modules/custom/ufc/src/Services/FighterImporter.php create mode 100644 web/modules/custom/ufc/src/Traits/NameConversionTrait.php create mode 100644 web/modules/custom/ufc/src/Traits/ScraperHelperTrait.php create mode 100644 web/modules/custom/ufc/templates/fighter-for-dcjs.html.twig create mode 100644 web/modules/custom/ufc/templates/fighters-dcjs-list.html.twig create mode 100644 web/modules/custom/ufc/templates/fighters-dcjs.html.twig create mode 100644 web/modules/custom/ufc/ufc.libraries.yml create mode 100644 web/modules/custom/ufc/webpack.config.js create mode 100644 web/themes/custom/dchadwick/dchadwick.theme create mode 100644 web/themes/custom/dchadwick/js/predictEvent.js create mode 100644 web/themes/custom/dchadwick/js/predictFight.js delete mode 100644 web/themes/custom/dchadwick/src/.DS_Store delete mode 100644 web/themes/custom/dchadwick/src/sass/partials/articles.scss create mode 100644 web/themes/custom/dchadwick/src/sass/partials/event.scss create mode 100644 web/themes/custom/dchadwick/src/sass/partials/fight.scss create mode 100644 web/themes/custom/dchadwick/src/sass/partials/fighter.scss create mode 100644 web/themes/custom/dchadwick/src/sass/partials/fighters-view.scss create mode 100644 web/themes/custom/dchadwick/src/sass/partials/local-tasks.scss create mode 100644 web/themes/custom/dchadwick/src/sass/partials/main.scss create mode 100644 web/themes/custom/dchadwick/templates/blocks/block--inline-block--hero.html.twig create mode 100644 web/themes/custom/dchadwick/templates/components/button.html.twig create mode 100644 web/themes/custom/dchadwick/templates/components/card.html.twig create mode 100644 web/themes/custom/dchadwick/templates/components/heading.html.twig create mode 100644 web/themes/custom/dchadwick/templates/node/node--fight.html.twig create mode 100644 web/themes/custom/dchadwick/templates/node/node--fighter--teaser.html.twig create mode 100644 web/themes/custom/dchadwick/templates/node/node--fighter.html.twig create mode 100644 web/themes/custom/dchadwick/templates/system/page--taxonomy.html.twig diff --git a/.gitattributes b/.gitattributes index 76ea8fe..e7b792f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -42,6 +42,9 @@ *.xml text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 *.yml text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2 +# PHPStan's baseline uses tabs instead of spaces. +core/.phpstan-baseline.php text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tabwidth=2 diff=php linguist-language=php + # Define binary file attributes. # - Do not treat them as text. # - Include binary diff in patches instead of "binary files differ." diff --git a/.gitignore b/.gitignore index 2c25169..8509c84 100644 --- a/.gitignore +++ b/.gitignore @@ -2,9 +2,12 @@ vendor/ web/modules/contrib web/core web/sites/default/files +web/themes/contrib web/sites/default/files/* web/sites/default/settings.local.php */node_modules/ web/themes/custom/dchadwick/node_modules/* web/themes/custom/dchadwick/node_modules - +.DS_STORE +.ddev/ +web/modules/custom/*/node_modules diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4b90cc7..dcbdb08 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -30,20 +30,25 @@ build-job: # This job runs in the build stage, which runs first. - apt-get install rsync php php-curl php-zip curl -y - curl -sS https://getcomposer.org/installer -o composer-setup.php - php composer-setup.php --install-dir=/usr/local/bin --filename=composer - - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' - - mkdir -p ~/.ssh - - eval $(ssh-agent -s) - - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config' + - rm composer-setup.php script: - - ssh-add <(echo "$ZOIDBERG") - - ssh -o StrictHostKeyChecking=no dan@164.92.85.112 'cd /var/www/html/dchadwick/web && ls -lah' - composer install --ignore-platform-reqs --no-dev --optimize-autoloader --no-ansi --no-interaction - # - rsync -r ./ dan@164.92.85.112:/var/www/html/dchadwick/ + +#install-drupal: + # stage: test + #before_script: + # - apt-get update -y + #- apt-get install rsync php php-curl php-zip curl -y + #- curl -sS https://getcomposer.org/installer -o composer-setup.php + #- php composer-setup.php --install-dir=/usr/local/bin --filename=composer + #- rm composer-setup.php + #script: +# - composer install --ignore-platform-reqs --no-dev --optimize-autoloader --no-ansi --no-interaction + unit-test-job: # This job runs in the test stage. stage: test # It only starts when the job in the build stage completes successfully. script: - echo "Running unit tests... This will take about 60 seconds." - - sleep 60 - echo "Code coverage is 90%" lint-test-job: # This job also runs in the test stage. @@ -56,7 +61,23 @@ lint-test-job: # This job also runs in the test stage. deploy-job: # This job runs in the deploy stage. stage: deploy # It only runs when *both* jobs in the test stage complete successfully. environment: production + before_script: + - apt-get update -y + - apt-get install rsync git php php-curl php-zip curl -y + - curl -sS https://getcomposer.org/installer -o composer-setup.php + - php composer-setup.php --install-dir=/usr/local/bin --filename=composer + - rm composer-setup.php + - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' + - mkdir -p ~/.ssh + - eval $(ssh-agent -s) + - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config' script: - #- rsync -r ./ dan@164.92.85.112:/var/www/html/dchadwick/ - - echo "Deploying application..." + - ssh-add <(echo "$ZOIDBERG") + - ssh -o StrictHostKeyChecking=no dan@164.92.85.112 'cd /var/www/html/dchadwick/web && ls -lah' + - composer install --ignore-platform-reqs --no-dev --optimize-autoloader --no-ansi --no-interaction + - ls -lah + - rsync -avzr ./ dan@164.92.85.112:/tmp/build --delete + - ssh -t dan@164.92.85.112 'SUDO_ASKPASS="/home/dan/pass" sudo -A cp -r /tmp/build/. /var/www/html/dchadwick/' + #- drush @self.prod updb -y + #- drush @self.prod cim -y - echo "Application successfully deployed." diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..c1264de --- /dev/null +++ b/TODO.md @@ -0,0 +1,4 @@ +1. Create API endpoints for recent fights +2. Switch to DCJS for fighter page +3. Create react based component for recent fights +4. Create unit tests for the web scraper diff --git a/composer.json b/composer.json index e709b5a..b2760d1 100644 --- a/composer.json +++ b/composer.json @@ -16,15 +16,23 @@ ], "require": { "composer/installers": "^2.0", + "cweagans/composer-patches": "^1.7", "drupal/admin_toolbar": "^3.4", + "drupal/bootstrap5": "^3.0", + "drupal/config_split": "^2.0", "drupal/core-composer-scaffold": "^10.2", "drupal/core-project-message": "^10.2", "drupal/core-recommended": "^10.2", + "drupal/devel_entity_updates": "^4.1", + "drupal/field_group": "^3.4", "drupal/migrate_plus": "^6.0", "drupal/migrate_tools": "^6.0", "drupal/pathauto": "^1.12", + "drupal/stage_file_proxy": "^2.1", "drupal/views_json_source": "^2.0", "drush/drush": "^12.4", + "symfony/css-selector": "^7.0", + "symfony/dom-crawler": "^7.0", "symfony/polyfill-iconv": "1.28", "symfony/polyfill-php80": "^1.29", "symfony/polyfill-php81": "^1.29", @@ -42,7 +50,8 @@ "drupal/core-project-message": true, "phpstan/extension-installer": true, "dealerdirect/phpcodesniffer-composer-installer": true, - "php-http/discovery": true + "php-http/discovery": true, + "cweagans/composer-patches": true }, "sort-packages": true }, diff --git a/composer.lock b/composer.lock index d9c43c0..5216abe 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "8c373b8c3dcdeee153a365e81766e481", + "content-hash": "e7e102a26bf77765332247d29436a2d2", "packages": [ { "name": "asm89/stack-cors", @@ -864,6 +864,54 @@ }, "time": "2022-12-06T17:57:16+00:00" }, + { + "name": "cweagans/composer-patches", + "version": "1.7.3", + "source": { + "type": "git", + "url": "https://github.com/cweagans/composer-patches.git", + "reference": "e190d4466fe2b103a55467dfa83fc2fecfcaf2db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cweagans/composer-patches/zipball/e190d4466fe2b103a55467dfa83fc2fecfcaf2db", + "reference": "e190d4466fe2b103a55467dfa83fc2fecfcaf2db", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0 || ^2.0", + "php": ">=5.3.0" + }, + "require-dev": { + "composer/composer": "~1.0 || ~2.0", + "phpunit/phpunit": "~4.6" + }, + "type": "composer-plugin", + "extra": { + "class": "cweagans\\Composer\\Patches" + }, + "autoload": { + "psr-4": { + "cweagans\\Composer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Cameron Eagans", + "email": "me@cweagans.net" + } + ], + "description": "Provides a way to patch Composer packages.", + "support": { + "issues": "https://github.com/cweagans/composer-patches/issues", + "source": "https://github.com/cweagans/composer-patches/tree/1.7.3" + }, + "time": "2022-12-20T22:53:13+00:00" + }, { "name": "dflydev/dot-access-data", "version": "v3.0.2", @@ -1015,6 +1063,97 @@ }, "time": "2023-02-01T09:20:38+00:00" }, + { + "name": "doctrine/common", + "version": "3.4.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/common.git", + "reference": "8b5e5650391f851ed58910b3e3d48a71062eeced" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/common/zipball/8b5e5650391f851ed58910b3e3d48a71062eeced", + "reference": "8b5e5650391f851ed58910b3e3d48a71062eeced", + "shasum": "" + }, + "require": { + "doctrine/persistence": "^2.0 || ^3.0", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9.0 || ^10.0", + "doctrine/collections": "^1", + "phpstan/phpstan": "^1.4.1", + "phpstan/phpstan-phpunit": "^1", + "phpunit/phpunit": "^7.5.20 || ^8.5 || ^9.0", + "squizlabs/php_codesniffer": "^3.0", + "symfony/phpunit-bridge": "^6.1", + "vimeo/psalm": "^4.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "PHP Doctrine Common project is a library that provides additional functionality that other Doctrine projects depend on such as better reflection support, proxies and much more.", + "homepage": "https://www.doctrine-project.org/projects/common.html", + "keywords": [ + "common", + "doctrine", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/common/issues", + "source": "https://github.com/doctrine/common/tree/3.4.3" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcommon", + "type": "tidelift" + } + ], + "time": "2022-10-09T11:47:59+00:00" + }, { "name": "doctrine/deprecations", "version": "1.1.3", @@ -1062,6 +1201,97 @@ }, "time": "2024-01-30T19:34:25+00:00" }, + { + "name": "doctrine/event-manager", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/event-manager.git", + "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/750671534e0241a7c50ea5b43f67e23eb5c96f32", + "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "conflict": { + "doctrine/common": "<2.9" + }, + "require-dev": { + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.8.8", + "phpunit/phpunit": "^9.5", + "vimeo/psalm": "^4.28" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", + "homepage": "https://www.doctrine-project.org/projects/event-manager.html", + "keywords": [ + "event", + "event dispatcher", + "event manager", + "event system", + "events" + ], + "support": { + "issues": "https://github.com/doctrine/event-manager/issues", + "source": "https://github.com/doctrine/event-manager/tree/2.0.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager", + "type": "tidelift" + } + ], + "time": "2022-10-12T20:59:15+00:00" + }, { "name": "doctrine/lexer", "version": "2.1.1", @@ -1140,6 +1370,104 @@ ], "time": "2024-02-05T11:35:39+00:00" }, + { + "name": "doctrine/persistence", + "version": "3.3.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/persistence.git", + "reference": "477da35bd0255e032826f440b94b3e37f2d56f42" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/persistence/zipball/477da35bd0255e032826f440b94b3e37f2d56f42", + "reference": "477da35bd0255e032826f440b94b3e37f2d56f42", + "shasum": "" + }, + "require": { + "doctrine/event-manager": "^1 || ^2", + "php": "^7.2 || ^8.0", + "psr/cache": "^1.0 || ^2.0 || ^3.0" + }, + "conflict": { + "doctrine/common": "<2.10" + }, + "require-dev": { + "composer/package-versions-deprecated": "^1.11", + "doctrine/coding-standard": "^11", + "doctrine/common": "^3.0", + "phpstan/phpstan": "1.9.4", + "phpstan/phpstan-phpunit": "^1", + "phpstan/phpstan-strict-rules": "^1.1", + "phpunit/phpunit": "^8.5 || ^9.5", + "symfony/cache": "^4.4 || ^5.4 || ^6.0", + "vimeo/psalm": "4.30.0 || 5.3.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Persistence\\": "src/Persistence" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.", + "homepage": "https://www.doctrine-project.org/projects/persistence.html", + "keywords": [ + "mapper", + "object", + "odm", + "orm", + "persistence" + ], + "support": { + "issues": "https://github.com/doctrine/persistence/issues", + "source": "https://github.com/doctrine/persistence/tree/3.3.2" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fpersistence", + "type": "tidelift" + } + ], + "time": "2024-03-12T14:54:36+00:00" + }, { "name": "drupal/admin_toolbar", "version": "3.4.2", @@ -1222,17 +1550,145 @@ } }, { - "name": "drupal/core", - "version": "10.2.4", + "name": "drupal/bootstrap5", + "version": "3.0.11", "source": { "type": "git", - "url": "https://github.com/drupal/core.git", - "reference": "d1c5b44adfc79bda03252471491b0fba89d87eff" + "url": "https://git.drupalcode.org/project/bootstrap5.git", + "reference": "3.0.11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core/zipball/d1c5b44adfc79bda03252471491b0fba89d87eff", - "reference": "d1c5b44adfc79bda03252471491b0fba89d87eff", + "url": "https://ftp.drupal.org/files/projects/bootstrap5-3.0.11.zip", + "reference": "3.0.11", + "shasum": "ea2ada76567d00cb84aa18904fd35e60dce716eb" + }, + "require": { + "drupal/core": "^9.4 || ^10" + }, + "type": "drupal-theme", + "extra": { + "drupal": { + "version": "3.0.11", + "datestamp": "1711069787", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Vladimir Roudakov (vladimiraus)", + "homepage": "https://www.drupal.org/u/vladimiraus", + "role": "Maintainer" + }, + { + "name": "VladimirAus", + "homepage": "https://www.drupal.org/user/673120" + } + ], + "description": "Master theme using Bootstrap 5: powerful front-end framework for faster and easier web development.", + "homepage": "https://www.drupal.org/project/bootstrap5", + "support": { + "source": "https://git.drupalcode.org/project/bootstrap5", + "issues": "https://www.drupal.org/project/issues/bootstrap5" + } + }, + { + "name": "drupal/config_split", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/config_split.git", + "reference": "2.0.0" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/config_split-2.0.0.zip", + "reference": "2.0.0", + "shasum": "be9fd0aba1206e0f19e8448f69d4210e53dae069" + }, + "require": { + "drupal/core": "^8.8 || ^9 || ^10" + }, + "conflict": { + "drush/drush": "<10" + }, + "require-dev": { + "drupal/config_filter": "^1||^2" + }, + "suggest": { + "drupal/chosen": "Chosen uses the Chosen jQuery plugin to make the