Config

Most powerful file of this template is config.json you can find in tools/gulp/. The gulp file generates bundles of the Styles and Javascript, and also bumps assets in dist/ for that gulpfile.js refer config.json to get respective assets path.

Take a look config file code below:

{
    "name": "listigo",
    "version": "2.0.0",
    "desc": "Directory Listing Template",
    "config": {
        "debug": false,
        "root": "../src",
        "output": "../dist",
        "node_modules": "./node_modules",
        "compile": {
            "compressJs": false,
            "compressCss": false,
            "compressHtml": false,
            "jsSourcemaps": false,
            "cssSourcemaps": false
        }
    },
    "assets": {
        "html": "{$config.root}/**/*.html",
        "images": "{$config.root}/assets/images/**/*",
        "styles": "{$config.root}/assets/scss/**/*.scss",
        "scripts": "{$config.root}/assets/js/**/*.js"
    },
    "build": {
        "resources": {
            "base": {
                "src": {
                    "styles": [
                        "{$config.root}/assets/scss/styles.scss"
                    ],
                    "scripts": [
                        "{$config.root}/assets/js/basic/**/*.js"
                    ]
                },
                "dist": {
                    "styles": "{$config.output}/assets/css/styles.bundle.css",
                    "scripts": "{$config.output}/assets/js/scripts.bundle.js"
                }
            },
            "files": {
                "src": {
                    "scripts": [
                        "{$config.root}/assets/js/custom/**/*.js"
                    ],
                    "images": [
                        "{$config.root}/assets/images/**/*.*"
                    ],
                    "html": [
                        "{$config.root}/**/*.html"
                    ]
                },
                "output": {
                    "scripts": "{$config.output}/assets/js/custom",
                    "images": "{$config.output}/assets/images",
                    "html": "{$config.output}"
                }
            }
        },
        "plugins": {
            "global": {
                "src": {
                    "mandatory": {
                        "jquery": {
                            "scripts": [
                                "{$config.node_modules}/jquery/dist/jquery.js"
                            ]
                        },
                        "bootstrap": {
                            "styles": [
                                "{$config.root}/vendors/bootstrap/bootstrap.scss"
                            ],
                            "scripts": [
                                "{$config.node_modules}/bootstrap/dist/js/bootstrap.bundle.min.js"
                            ]
                        },
                        "moment": {
                            "scripts": [
                                "{$config.node_modules}/moment/min/moment.min.js"
                            ]
                        },
                        "perfect-scrollbar": {
                            "styles": [
                                "{$config.node_modules}/perfect-scrollbar/css/perfect-scrollbar.css"
                            ],
                            "scripts": [
                                "{$config.node_modules}/perfect-scrollbar/dist/perfect-scrollbar.js"
                            ]
                        }
                    },
                    "optional": {
                        "chart.js": {
                            "scripts": [
                                "{$config.node_modules}/chart.js/dist/Chart.bundle.min.js",
                                "{$config.root}/assets/js/plugins/chart.js"
                            ]
                        },
                        "dropzone": {
                            "styles": [
                                "{$config.node_modules}/dropzone/dist/min/dropzone.min.css"
                            ],
                            "scripts": [
                                "{$config.node_modules}/dropzone/dist/min/dropzone.min.js"
                            ]
                        },
                        "jquery-countdown-timer": {
                            "scripts": [
                                "{$config.node_modules}/jquery-countdown-timer/countdown-timer.min.js"
                            ]
                        },
                        "date-time-picker": {
                            "styles": [
                                "{$config.node_modules}/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css"
                            ],
                            "scripts": [
                                "{$config.node_modules}/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js"
                            ]
                        },
                        "imagesLoaded": {
                            "scripts": [
                                "{$config.node_modules}/imagesloaded/imagesloaded.pkgd.min.js"
                            ]
                        },
                        "ionicons": {
                            "styles": [
                                "{$config.node_modules}/ionicons/dist/css/ionicons.min.css"
                            ],
                            "fonts": [
                                "{$config.node_modules}/ionicons/dist/fonts/**/*"
                            ]
                        },
                        "nouislider": {
                            "styles": [
                                "{$config.node_modules}/nouislider/distribute/nouislider.css"
                            ],
                            "scripts": [
                                "{$config.node_modules}/nouislider/distribute/nouislider.js"
                            ]
                        },
                        "owl.carousel": {
                            "styles": [
                                "{$config.node_modules}/owl.carousel/dist/assets/owl.carousel.css"
                            ],
                            "scripts": [
                                "{$config.node_modules}/owl.carousel/dist/owl.carousel.js"
                            ],
                            "images": [
                                "{$config.node_modules}/owl.carousel/dist/assets/owl.video.play.png",
                                "{$config.node_modules}/owl.carousel/dist/assets/ajax-loader.gif"
                            ]
                        },
                        "masonry": {
                            "scripts": [
                                "{$config.node_modules}/masonry-layout/dist/masonry.pkgd.min.js"
                            ]
                        },
                        "parallax": {
                            "scripts": [
                                "{$config.node_modules}/jquery-parallax.js/parallax.min.js"
                            ]
                        },
                        "photoswipe":{
                            "styles": [
                                "{$config.node_modules}/photoswipe/dist/photoswipe.css",
                                "{$config.node_modules}/photoswipe/dist/default-skin/default-skin.css"
                            ],
                            "scripts": [
                                "{$config.node_modules}/photoswipe/dist/photoswipe.min.js",
                                "{$config.node_modules}/photoswipe/dist/photoswipe-ui-default.min.js",
                                "{$config.root}/assets/js/plugins/photo.gallery.js"
                            ],
                            "images": [
                                "{$config.node_modules}/photoswipe/dist/default-skin/default-skin.png",
                                "{$config.node_modules}/photoswipe/dist/default-skin/default-skin.svg",
                                "{$config.node_modules}/photoswipe/dist/default-skin/preloader.gif"
                            ],
                            "fonts": [
                                "{$config.node_modules}/photoswipe/dist/default-skin/default-skin.svg"
                            ]
                        },
                        "stars": {
                            "scripts": [
                                "{$config.root}/vendors/stars/stars.min.js"
                            ]
                        },
                        "scrolltofixed": {
                            "scripts": [
                                "{$config.node_modules}/scrolltofixed/jquery-scrolltofixed-min.js"
                            ]
                        },
                        "wowjs": {
                            "scripts": [
                                "{$config.node_modules}/wowjs/dist/wow.min.js"
                            ]
                        },
                        "repeater": {
                            "scripts": [
                                "{$config.node_modules}/jquery.repeater/jquery.repeater.min.js"
                            ]
                        }
                    }
                },
                "dist": {
                    "styles": "{$config.output}/assets/css/plugins.bundle.css",
                    "scripts": "{$config.output}/assets/js/plugins.bundle.js",
                    "images": "{$config.output}/assets/images",
                    "fonts": "{$config.output}/assets/fonts"
                }
            },
            "custom": {
                "jquery-ui": {
                    "src": {
                        "styles": [
                            "{$config.root}/vendors/jquery-ui/jquery-ui.min.css"
                        ],
                        "scripts": [
                            "{$config.root}/vendors/jquery-ui/jquery-ui.min.js"
                        ],
                        "images": [
                            "{$config.root}/vendors/jquery-ui/images/*"
                        ]
                    },
                    "dist": {
                        "styles": "{$config.output}/vendors/custom/jquery-ui/jquery-ui.bundle.css",
                        "scripts": "{$config.output}/vendors/custom/jquery-ui/jquery-ui.bundle.js",
                        "images": "{$config.output}/vendors/custom/jquery-ui/images"
                    }
                }
            }
        }
    }
}

Build options

Config options
Key name Type Description
config.debug boolean Enable/disable debug console log.
config.root string Holds resources path.
config.output string Holds output path.
config.node_modules string Holds node modules path.
config.compile.compressJs boolean Enable/disable output Javascript minify.
config.compile.compressCss boolean Enable/disable output CSS minify.
config.compile.compressHtml boolean Enable/disable output HTML compress.
config.compile.jsSourcemaps boolean Enable/disable output Javascript with sourcemaps.
config.compile.cssSourcemaps boolean Enable/disable output CSS with sourcemaps.
config.assets object Assets file paths to use for gulp watch.
Build options
build.resources.base object This object specifies the core resources to be added into the base css and js demo bundles.
build.resources.files object This object specifies the resources to be added into the files to copy in the dist.
build.plugins.global object This object specifies required 3rd party resources to be added into the global css and js plugins bundles.
build.plugins.custom object This object specifies global 3rd party resources to be added into the custom css and js plugins bundles.