Javascript files structure

Javascript files, that load right before closing html <body> tag of page in this template are the following:

<script src="js/jquery.min.js"></script><script src="js/Bootstrap/bootstrap.bundle.min.js"></script><script src="js/js-plugins/navigation.min.js"></script><script src="js/js-plugins/select2.min.js"></script><script src="js/js-plugins/material.min.js"></script><script src="js/js-plugins/swiper.min.js"></script><script src="js/js-plugins/jquery-countTo.min.js"></script><script src="js/js-plugins/waypoints.min.js"></script><script src="js/js-plugins/leaflet.min.js"></script><script src="js/js-plugins/MarkerClusterGroup.min.js"></script><script src="js/js-plugins/jquery.magnific-popup.min.js"></script><script src="js/js-plugins/TimeCircles.min.js"></script><script src="js/js-plugins/smooth-scroll.min.js"></script><script src="js/js-plugins/jquery.matchHeight.min.js"></script><script src="js/js-plugins/imagesLoaded.min.js"></script><script src="js/js-plugins/isotope.pkgd.min.js"></script><script src="js/js-plugins/ajax-pagination.min.js"></script><script src="js/js-plugins/Chart.min.js"></script><script src="js/js-plugins/chartjs-plugin-deferred.min.js"></script><script src="js/js-plugins/modernizr-custom.min.js"></script><script type="text/javascript">   if ('loading' in HTMLImageElement.prototype) {      const images = document.querySelectorAll('img[loading="lazy"]');      images.forEach(img => {         img.src = img.dataset.src;   });   } else {      // Dynamically import the LazySizes library      const script = document.createElement('script');      script.src =         'https://cdnjs.cloudflare.com/ajax/libs/lazysizes/4.1.8/lazysizes.min.js';      document.body.appendChild(script);   }   Modernizr.on('webp', function (result) {      if (result) {         // supported      } else {         // not-supported      }   });</script><script  src="js/main.js"></script>
<script src="js/js-plugins/leaflet-init.js"></script><!-- jQuery-scripts for Modules (Send Message) --><script src="modules/forms/src/js/jquery.validate.min.js"></script><script src="modules/forms/src/js/sweetalert2.all.js"></script><script src="modules/forms/src/js/scripts.js"></script>

jquery.min.js - the latest version of jQuery library connected

bootstrap.bundle.min.js - scripts for working with the Bootstrap framework elements

select2.min.js - script for selects

material.min.js - script for animations and building form elements

swiper.min.js - Most Modern Mobile Touch Slider

jquery-countTo.min.js - script for counters

waypoints.min.js - Waypoints is a library that makes it easy to execute a function whenever you scroll to an element

leaflet.min.js - Leaflet is the leading open-source JavaScript library for mobile-friendly interactive maps.

MarkerClusterGroup.min.js - Marker Clustering plugin for Leaflet

jquery.magnific-popup.min.js - script to open photos and videos in a pop-up window

TimeCircles.min.js - jQuery plugin to show time since or time until a specific time

smooth-scroll.min.js - A lightweight script to animate scrolling to anchor links

jquery.matchHeight.min.js - script to set the equal height for elements in the same row

imagesLoaded.min.js - script for proper work of isotope

isotope.pkgd.min.js - sorting scripts

ajax-pagination.min.js - script to add content to the page by click

Chart.js - Simple HTML5 Charts using the tag

chartjs-plugin-deferred.min.js - Chart.js plugin to defer initial chart updates

modernizr-custom.min.js - adds the “webp” class for the <html> tag if the used browser supports the “* .webp” image format, or the “no-webp” class, if it doesn't.

leaflet-init.js - leaflet map initialization script

main.js - main custom javascript file of the template

jquery.validate.min.js, sweetalert2.all.js, scripts.js - scripts for proper work of the contact form,
as well as to generate messages to the user.

IMPORTANT:
1. If necessary, in the HTML/js/js-plugins-uncompressed folder you can find the non-minified js files and use them.
2. On all HTML-pages all js-scripts that are used in the template are connected, but at the same time, to ensure an increase the “speed test” indicators, scripts that are not used on the current page are commented out (disabled).

For example, on a page where there are no elements with counters, the scripts responsible for their work are commented out:

<!--<script src="js/js-plugins/jquery-countTo.min.js"></script>-->	<!--<script src="js/js-plugins/waypoints.min.js"></script>-->


Therefore, if during development, you need to use an element (for example, a map) on some of the pages which it was not used previously on, you only need to add the map code to the HTML markup of the page and uncomment the scripts responsible for its operation and initialization, namely:

<script src="js/js-plugins/leaflet.min.js"></script><script src="js/js-plugins/MarkerClusterGroup.min.js"></script><script src="js/js-plugins/leaflet-init.js"></script>