Customizing AdminLTE - mhulse/mhulse.github.io GitHub Wiki
Download latest release from the AdminLTE GitHub releases page.
Move those files into your project’s repo (e.g. myproject
).
Next, normalize file permissions:
$ find myproject/ -type f -exec chmod 0664 {} \;
$ find myproject/ -type d -exec chmod 0775 {} \;
… and remove any extended attributes:
$ xattr -rc myproject/
Clean up repo
Add to README.md
:
# For more information, check out [this repo’s Wiki](../../wiki).
Change package.json
to look like:
{
"name": "animovil-theme",
"version": "0.1.0",
"main": "dist/js/app.min.js",
"repository": {
"type": "git",
"url": "git://bitbucket.org/ieq/animovil-theme.git"
},
"scripts": {
"start": "grunt"
},
"devDependencies": {
"grunt-bootlint": "^0.9.1",
"grunt-cli": "^1.2.0",
"grunt-contrib-connect": "^1.0.2",
"grunt-contrib-csslint": "^0.5.0",
"grunt-contrib-jshint": "^0.11.2",
"grunt-contrib-less": "^0.12.0",
"grunt-contrib-uglify": "^0.7.0",
"grunt-contrib-watch": "~0.6.1",
"grunt": "~0.4.5"
}
}
Update the Gruntfile.js
to look something like this:
module.exports = function(grunt) {
'use strict';
grunt.initConfig({
connect: {
server: {
options: {
livereload: true
}
}
},
watch: {
files: [
'build/less/*.less',
'build/less/skins/*.less',
'dist/js/app.js'
],
tasks: [
'less',
'uglify'
]
},
less: {
development: {
options: {
compress: false
},
files: {
'dist/css/AdminLTE.css': 'build/less/AdminLTE.less',
'dist/css/skins/skin-blue.css': 'build/less/skins/skin-blue.less',
'dist/css/skins/skin-black.css': 'build/less/skins/skin-black.less',
'dist/css/skins/skin-yellow.css': 'build/less/skins/skin-yellow.less',
'dist/css/skins/skin-green.css': 'build/less/skins/skin-green.less',
'dist/css/skins/skin-red.css': 'build/less/skins/skin-red.less',
'dist/css/skins/skin-purple.css': 'build/less/skins/skin-purple.less',
'dist/css/skins/skin-blue-light.css': 'build/less/skins/skin-blue-light.less',
'dist/css/skins/skin-black-light.css': 'build/less/skins/skin-black-light.less',
'dist/css/skins/skin-yellow-light.css': 'build/less/skins/skin-yellow-light.less',
'dist/css/skins/skin-green-light.css': 'build/less/skins/skin-green-light.less',
'dist/css/skins/skin-red-light.css': 'build/less/skins/skin-red-light.less',
'dist/css/skins/skin-purple-light.css': 'build/less/skins/skin-purple-light.less',
'dist/css/skins/_all-skins.css': 'build/less/skins/_all-skins.less'
}
},
production: {
options: {
compress: true
},
files: {
'dist/css/AdminLTE.min.css': 'build/less/AdminLTE.less',
'dist/css/skins/skin-blue.min.css': 'build/less/skins/skin-blue.less',
'dist/css/skins/skin-black.min.css': 'build/less/skins/skin-black.less',
'dist/css/skins/skin-yellow.min.css': 'build/less/skins/skin-yellow.less',
'dist/css/skins/skin-green.min.css': 'build/less/skins/skin-green.less',
'dist/css/skins/skin-red.min.css': 'build/less/skins/skin-red.less',
'dist/css/skins/skin-purple.min.css': 'build/less/skins/skin-purple.less',
'dist/css/skins/skin-blue-light.min.css': 'build/less/skins/skin-blue-light.less',
'dist/css/skins/skin-black-light.min.css': 'build/less/skins/skin-black-light.less',
'dist/css/skins/skin-yellow-light.min.css': 'build/less/skins/skin-yellow-light.less',
'dist/css/skins/skin-green-light.min.css': 'build/less/skins/skin-green-light.less',
'dist/css/skins/skin-red-light.min.css': 'build/less/skins/skin-red-light.less',
'dist/css/skins/skin-purple-light.min.css': 'build/less/skins/skin-purple-light.less',
'dist/css/skins/_all-skins.min.css': 'build/less/skins/_all-skins.less'
}
}
},
uglify: {
options: {
mangle: true,
preserveComments: 'some'
},
my_target: {
files: {
'dist/js/app.min.js': ['dist/js/app.js']
}
}
},
jshint: {
options: {
jshintrc: '.jshintrc'
},
core: {
src: 'dist/js/app.js'
},
demo: {
src: 'dist/js/demo.js'
},
pages: {
src: 'dist/js/pages/*.js'
}
},
csslint: {
options: {
csslintrc: 'build/less/.csslintrc'
},
dist: [
'dist/css/AdminLTE.css'
]
},
bootlint: {
options: {
relaxerror: [
'W005'
]
},
files: [
'pages/**/*.html',
'*.html'
]
}
});
grunt.loadNpmTasks('grunt-bootlint');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-csslint');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask(
'lint', [
'jshint',
'csslint',
'bootlint'
]
);
grunt.registerTask(
'default', [
'lint',
'connect',
'watch'
]
);
};
Replace the contents of .gitignore
with this file and add this to end:
# PROJECT-SPECIFIC #
####################
node_modules/
Add these .gitattributes
file and .editorconfig
files.
Final directory structure should look like:
Install dependencies:
$ cd myproject/
$ npm install
Add the Grunt.js CLI:
$ npm install grunt-cli --save-dev
Now that our build tool is setup, run run the app:
$ npm start
Open http://localhost:8000 in your browser.
Next, navigate to the build/less
folder; we will customize variables.less
and AdminLTE.less
.
Look at build/less/AdminLTE.less
, if there’s anything not needed, feel free to comment it out.
Open build/less/variables.less
and modify the variables to achieve the desired end look/feel.