feat: Add comprehensive documentation suite and reorganize project structure
- Created complete documentation in docs/ directory - Added PROJECT_OVERVIEW.md with feature highlights and getting started guide - Added ARCHITECTURE.md with system design and technical details - Added SECURITY.md with comprehensive security implementation guide - Added DEVELOPMENT.md with development workflows and best practices - Added DEPLOYMENT.md with production deployment instructions - Added API.md with complete REST API documentation - Added CONTRIBUTING.md with contribution guidelines - Added CHANGELOG.md with version history and migration notes - Reorganized all documentation files into docs/ directory for better organization - Updated README.md with proper documentation links and quick navigation - Enhanced project structure with professional documentation standards
This commit is contained in:
80
f_offline/assets/js/main.js
Normal file
80
f_offline/assets/js/main.js
Normal file
@@ -0,0 +1,80 @@
|
||||
(function($) {
|
||||
|
||||
"use strict";
|
||||
|
||||
$(window).on('load', function() {
|
||||
|
||||
/* Page Loader active
|
||||
========================================================*/
|
||||
$('#preloader').fadeOut();
|
||||
|
||||
// Sticky Nav
|
||||
$(window).on('scroll', function() {
|
||||
if ($(window).scrollTop() > 200) {
|
||||
$('.scrolling-navbar').addClass('top-nav-collapse');
|
||||
} else {
|
||||
$('.scrolling-navbar').removeClass('top-nav-collapse');
|
||||
}
|
||||
});
|
||||
|
||||
/* slicknav mobile menu active */
|
||||
$('.mobile-menu').slicknav({
|
||||
prependTo: '.navbar-header',
|
||||
parentTag: 'liner',
|
||||
allowParentLinks: true,
|
||||
duplicate: true,
|
||||
label: '',
|
||||
closedSymbol: '<i class="icon-arrow-right"></i>',
|
||||
openedSymbol: '<i class="icon-arrow-down"></i>',
|
||||
});
|
||||
|
||||
/* ==========================================================================
|
||||
countdown timer
|
||||
========================================================================== */
|
||||
if(!ln['until'].includes("/")) {
|
||||
ln['until'] = new Date().getTime() + (ln['until'] * 1000);
|
||||
}
|
||||
jQuery('#clock').countdown(ln['until'],function(event){
|
||||
var $this=jQuery(this).html(event.strftime(''
|
||||
+'<div class="time-entry days"><span>%-D</span> '+ln['days']+'</div> '
|
||||
+'<div class="time-entry hours"><span>%H</span> '+ln['hours']+'</div> '
|
||||
+'<div class="time-entry minutes"><span>%M</span> '+ln['minutes']+'</div> '
|
||||
+'<div class="time-entry seconds"><span>%S</span> '+ln['seconds']+'</div> '));
|
||||
});
|
||||
|
||||
/* WOW Scroll Spy
|
||||
========================================================*/
|
||||
var wow = new WOW({
|
||||
//disabled for mobile
|
||||
mobile: false
|
||||
});
|
||||
wow.init();
|
||||
|
||||
// one page navigation
|
||||
$('.onepage-nev').onePageNav({
|
||||
currentClass: 'active'
|
||||
});
|
||||
|
||||
/* Back Top Link active
|
||||
========================================================*/
|
||||
var offset = 200;
|
||||
var duration = 500;
|
||||
$(window).scroll(function() {
|
||||
if ($(this).scrollTop() > offset) {
|
||||
$('.back-to-top').fadeIn(400);
|
||||
} else {
|
||||
$('.back-to-top').fadeOut(400);
|
||||
}
|
||||
});
|
||||
|
||||
$('.back-to-top').on('click',function(event) {
|
||||
event.preventDefault();
|
||||
$('html, body').animate({
|
||||
scrollTop: 0
|
||||
}, 600);
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
}(jQuery));
|
||||
Reference in New Issue
Block a user