Thank you for purchasing HOMER admin theme. If you have any questions about the template, please feel free to contact us via email: support@webapplayers.com.
Documentation created: 10/04/2015
Latest update: 26/07/2015
By: WebAppLayers Team
This documentation is focused on HOMER ASP MVC5 version. It assumes a minimum knowledge of html/css/js language. It describe mainly files and structure in project.
Please note that this documentation is dedicated to the main element of the template. With each version, we will try to develop it.
But if you have any questions going beyond what is described here don't hesitate to write to us on support email. We would love to help.
Tool and Technologies used:
HOMER ASP.NET MVC theme consists project files for Visual Studio 2013 with below structure:
Homer_MVC/
├── App_Data/
├── App_Start/
├── bin/
├── Content/
├── Controllers/
├── Helpers/
├── Icons/
├── Images/
├── Models/
├── obj/
├── Properties/
├── Scripts/
├── Vendor/
├── Views/
├── Global.asax
├── Global.asax.cs
├── Homer_MVC.csproj
├── Homer_MVC.csproj.user
├── package.config
├── Web.config
├── Web.Debug.config
├── Web.Release.config
This is example of basic (minimal version) layout structure.
<!-- Header -->
<div id="header">
@Html.Partial("_Header")
</div>
<!-- Navigation -->
<aside id="menu">
@Html.Partial("_Navigation")
</aside>
<!-- Main view -->
<div id="wrapper">
@RenderBody()
<!-- Right Sidebar -->
@Html.Partial("Right_Sidebar")
<!-- Footer -->
@Html.Partial("_Footer")
</div>
Page <head /> contains Metadata and CSS bundle files for theme. We use special section @RenderSection, to import styles for specific plugins on pages that need it.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>HOMER | @ViewBag.Title</title>
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700' rel='stylesheet' type='text/css'>
<!-- Primary vendor style -->
@Styles.Render("~/bundles/font-awesome/css")
@Styles.Render("~/bundles/animate/css")
@Styles.Render("~/bundles/bootstrap/css")
@Styles.Render("~/bundles/peicon7stroke/css")
<!-- Add local styles, mostly for plugins css file -->
@if (IsSectionDefined("Styles"))
{@RenderSection("Styles", required: false)}
<!-- Primary HOMER style -->
@Styles.Render("~/bundles/homer/css")
</head>
On bottom of file are bundle script located. _Layout.cshtml contains all major plugin scripts and Homer scripts. In section @RenderSection, will be import scripts for specific plugins on pages that need it.
<!-- Section for main scripts render -->
@Scripts.Render("~/bundles/jquery/js")
@Scripts.Render("~/bundles/bootstrap/js")
@Scripts.Render("~/bundles/homer/js")
<!-- Handler for local scripts -->
@RenderSection("scripts", required: false)
To add for example bootstrapTour plugin at the bottom of page (view) you have to specifie Styles and Scripts with name plugin as example below. Or if you want to add it to entire app you can add it to _Layout file.
@section Styles {
@Styles.Render("~/bundles/bootstrapTour/css")
}
@section Scripts {
@Scripts.Render("~/bundles/bootstrapTour/js")
<script type="text/javascript">
$(function () {
// Local scripts
});
</script>
}
Fixed sidebar is a (left menu) sidebar that is sticked on screen.
To add fixed sidebar you need to add .fixed-sidebar class to body.
<body class="fixed-sidebar">
Fixed navbar is a top navbar that is sticked on screen.
To add fixed sidebar you need to add .fixed-navbar class to body.
<body class="fixed-navbar">
Bundle contains all neccesery scripts and style. You can add it to any part of your app. With convention:
CSS styles: @Styles.Render("~/bundles/{PluginName}/css")
JS scripts: @Scripts.Render("~/bundles/{PluginName}/js")
Please note that some plugin have own images so path to the bundle has to be relative for example starRating plugins.
// Homer style
bundles.Add(new StyleBundle("~/bundles/homer/css").Include(
"~/Content/style.css", new CssRewriteUrlTransform()));
// Homer script
bundles.Add(new ScriptBundle("~/bundles/homer/js").Include(
"~/Vendor/metisMenu/dist/metisMenu.min.js",
"~/Vendor/iCheck/icheck.min.js",
"~/Vendor/peity/jquery.peity.min.js",
"~/Vendor/sparkline/index.js",
"~/Scripts/homer.js",
"~/Scripts/charts.js"));
// Animate.css
bundles.Add(new StyleBundle("~/bundles/animate/css").Include(
"~/Vendor/animate.css/animate.min.css"));
// Pe-icon-7-stroke
bundles.Add(new StyleBundle("~/bundles/peicon7stroke/css").Include(
"~/Icons/pe-icon-7-stroke/css/pe-icon-7-stroke.css", new CssRewriteUrlTransform()));
// Font Awesome icons style
bundles.Add(new StyleBundle("~/bundles/font-awesome/css").Include(
"~/Vendor/fontawesome/css/font-awesome.min.css", new CssRewriteUrlTransform()));
// Bootstrap style
bundles.Add(new StyleBundle("~/bundles/bootstrap/css").Include(
"~/Vendor/bootstrap/dist/css/bootstrap.min.css", new CssRewriteUrlTransform()));
// Bootstrap
bundles.Add(new ScriptBundle("~/bundles/bootstrap/js").Include(
"~/Vendor/bootstrap/dist/js/bootstrap.min.js"));
// jQuery
bundles.Add(new ScriptBundle("~/bundles/jquery/js").Include(
"~/Vendor/jquery/dist/jquery.min.js"));
// jQuery UI
bundles.Add(new ScriptBundle("~/bundles/jqueryui/js").Include(
"~/Vendor/jquery-ui/jquery-ui.min.js"));
// Flot chart
bundles.Add(new ScriptBundle("~/bundles/flot/js").Include(
"~/Vendor/flot/jquery.flot.js",
"~/Vendor/flot/jquery.flot.tooltip.min.js",
"~/Vendor/flot/jquery.flot.resize.js",
"~/Vendor/flot/jquery.flot.pie.js",
"~/Vendor/flot.curvedlines/curvedLines.js",
"~/Vendor/jquery.flot.spline/index.js"));
// Star rating
bundles.Add(new ScriptBundle("~/bundles/starRating/js").Include(
"~/Vendor/bootstrap-star-rating/js/star-rating.min.js"));
// Star rating style
bundles.Add(new StyleBundle("~/bundles/starRating/css").Include(
"~/Vendor/bootstrap-star-rating/css/star-rating.min.css", new CssRewriteUrlTransform()));
// Sweetalert
bundles.Add(new ScriptBundle("~/bundles/sweetAlert/js").Include(
"~/Vendor/sweetalert/lib/sweet-alert.min.js"));
// Sweetalert style
bundles.Add(new StyleBundle("~/bundles/sweetAlert/css").Include(
"~/Vendor/sweetalert/lib/sweet-alert.css"));
// Toastr
bundles.Add(new ScriptBundle("~/bundles/toastr/js").Include(
"~/Vendor/toastr/build/toastr.min.js"));
// Toastr style
bundles.Add(new StyleBundle("~/bundles/toastr/css").Include(
"~/Vendor/toastr/build/toastr.min.css"));
// Nestable
bundles.Add(new ScriptBundle("~/bundles/nestable/js").Include(
"~/Vendor/nestable/jquery.nestable.js"));
// Toastr
bundles.Add(new ScriptBundle("~/bundles/bootstrapTour/js").Include(
"~/Vendor/bootstrap-tour/build/js/bootstrap-tour.min.js"));
// Toastr style
bundles.Add(new StyleBundle("~/bundles/bootstrapTour/css").Include(
"~/Vendor/bootstrap-tour/build/css/bootstrap-tour.min.css"));
// Moment
bundles.Add(new ScriptBundle("~/bundles/moment/js").Include(
"~/Vendor/moment/moment.js"));
// Full Calendar
bundles.Add(new ScriptBundle("~/bundles/fullCalendar/js").Include(
"~/Vendor/fullcalendar/dist/fullcalendar.min.js"));
// Full Calendar style
bundles.Add(new StyleBundle("~/bundles/fullCalendar/css").Include(
"~/Vendor/fullcalendar/dist/fullcalendar.min.css"));
// Chart JS
bundles.Add(new ScriptBundle("~/bundles/chartjs/js").Include(
"~/Vendor/chartjs/Chart.min.js"));
// Datatables
bundles.Add(new ScriptBundle("~/bundles/datatables/js").Include(
"~/Vendor/datatables/media/js/jquery.dataTables.min.js"));
// Datatables bootstrap
bundles.Add(new ScriptBundle("~/bundles/datatablesBootstrap/js").Include(
"~/Vendor/datatables_plugins/integration/bootstrap/3/dataTables.bootstrap.min.js"));
// Datatables style
bundles.Add(new StyleBundle("~/bundles/datatables/css").Include(
"~/Vendor/datatables_plugins/integration/bootstrap/3/dataTables.bootstrap.css"));
// Xeditable
bundles.Add(new ScriptBundle("~/bundles/xeditable/js").Include(
"~/Vendor/xeditable/bootstrap3-editable/js/bootstrap-editable.min.js"));
// Xeditable style
bundles.Add(new StyleBundle("~/bundles/xeditable/css").Include(
"~/Vendor/xeditable/bootstrap3-editable/css/bootstrap-editable.css", new CssRewriteUrlTransform()));
// Select 2
bundles.Add(new ScriptBundle("~/bundles/select2/js").Include(
"~/Vendor/select2-3.5.2/select2.min.js"));
// Select 2 style
bundles.Add(new StyleBundle("~/bundles/select2/css").Include(
"~/Vendor/select2-3.5.2/select2.css",
"~/Vendor/select2-bootstrap/select2-bootstrap.css"));
// Touchspin
bundles.Add(new ScriptBundle("~/bundles/touchspin/js").Include(
"~/Vendor/bootstrap-touchspin/dist/jquery.bootstrap-touchspin.min.js"));
// Touchspin style
bundles.Add(new StyleBundle("~/bundles/touchspin/css").Include(
"~/Vendor/bootstrap-touchspin/dist/jquery.bootstrap-touchspin.min.css"));
// Datepicker
bundles.Add(new ScriptBundle("~/bundles/datepicker/js").Include(
"~/Vendor/bootstrap-datepicker-master/dist/js/bootstrap-datepicker.min.js"));
// Datepicker style
bundles.Add(new StyleBundle("~/bundles/datepicker/css").Include(
"~/Vendor/bootstrap-datepicker-master/dist/css/bootstrap-datepicker3.min.css"));
// Datepicker
bundles.Add(new ScriptBundle("~/bundles/summernote/js").Include(
"~/Vendor/summernote/dist/summernote.min.js"));
// Datepicker style
bundles.Add(new StyleBundle("~/bundles/summernote/css").Include(
"~/Vendor/summernote/dist/summernote.css",
"~/Vendor/summernote/dist/summernote-bs3.css"));
// Bootstrap checkbox style
bundles.Add(new StyleBundle("~/bundles/bootstrapCheckbox/css").Include(
"~/Vendor/awesome-bootstrap-checkbox/awesome-bootstrap-checkbox.css"));
// Blueimp gallery
bundles.Add(new ScriptBundle("~/bundles/blueimp/js").Include(
"~/Vendor/blueimp-gallery/js/jquery.blueimp-gallery.min.js"));
// Blueimp gallery style
bundles.Add(new StyleBundle("~/bundles/blueimp/css").Include(
"~/Vendor/blueimp-gallery/css/blueimp-gallery.min.css", new CssRewriteUrlTransform()));
If you have any question or find some issue feel free to contact with us on
support@webapplayers.com