[Issue #3] - Added grunt.js to run tasks; converted CSS file to SASS; created dummy CoffeeScript file
This commit is contained in:
		
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -4,3 +4,6 @@ blt
 | 
			
		||||
# Local data files
 | 
			
		||||
data/
 | 
			
		||||
 | 
			
		||||
# Compiled assets
 | 
			
		||||
public/css/
 | 
			
		||||
public/js/
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										65
									
								
								Gruntfile.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								Gruntfile.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,65 @@
 | 
			
		||||
module.exports = function(grunt) {
 | 
			
		||||
 | 
			
		||||
  // Project configuration.
 | 
			
		||||
  grunt.initConfig({
 | 
			
		||||
    pkg: grunt.file.readJSON('package.json'),
 | 
			
		||||
 | 
			
		||||
    sass: {
 | 
			
		||||
      dist: {
 | 
			
		||||
        options: {
 | 
			
		||||
          style: 'compressed'
 | 
			
		||||
        },
 | 
			
		||||
        files: [{
 | 
			
		||||
          expand: true,
 | 
			
		||||
          cwd: 'assets/styles',
 | 
			
		||||
          src: ['**/*.sass'],
 | 
			
		||||
          dest: 'public/css',
 | 
			
		||||
          ext: '.css'
 | 
			
		||||
        }]
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    coffee: {
 | 
			
		||||
      options: {
 | 
			
		||||
        sourceMap: true,
 | 
			
		||||
        style: 'compressed'
 | 
			
		||||
      },
 | 
			
		||||
      files: {
 | 
			
		||||
        expand: true,
 | 
			
		||||
        flatten: true,
 | 
			
		||||
        cwd: 'assets/coffee',
 | 
			
		||||
        src: ['*.coffee'],
 | 
			
		||||
        dest: 'public/js',
 | 
			
		||||
        ext: '.js'
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    watch: {
 | 
			
		||||
      css: {
 | 
			
		||||
        files: ['assets/styles/**/*.sass'],
 | 
			
		||||
        tasks: ['sass'],
 | 
			
		||||
        options: {
 | 
			
		||||
          atBegin: true,
 | 
			
		||||
          spawn: false
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      js: {
 | 
			
		||||
        files: ['assets/scripts/**/*.js'],
 | 
			
		||||
        tasks: ['coffee'],
 | 
			
		||||
        options: {
 | 
			
		||||
          atBegin: true,
 | 
			
		||||
          spawn: false
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  // Load plugins.
 | 
			
		||||
  grunt.loadNpmTasks('grunt-contrib-watch');
 | 
			
		||||
  grunt.loadNpmTasks('grunt-contrib-sass');
 | 
			
		||||
  grunt.loadNpmTasks('grunt-contrib-coffee');
 | 
			
		||||
 | 
			
		||||
  // CLI tasks.
 | 
			
		||||
  grunt.registerTask('default', ['sass', 'coffee']);
 | 
			
		||||
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										2
									
								
								assets/scripts/kebos.coffee
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								assets/scripts/kebos.coffee
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
$ ->
 | 
			
		||||
  console.log('DOM is ready.')
 | 
			
		||||
							
								
								
									
										128
									
								
								assets/styles/kourend.sass
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										128
									
								
								assets/styles/kourend.sass
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,128 @@
 | 
			
		||||
html,
 | 
			
		||||
body
 | 
			
		||||
  width: 100%
 | 
			
		||||
  height: 100%
 | 
			
		||||
  margin: 0
 | 
			
		||||
  padding: 0
 | 
			
		||||
 | 
			
		||||
body
 | 
			
		||||
  height: auto
 | 
			
		||||
  min-height: 100%
 | 
			
		||||
  box-sizing: border-box
 | 
			
		||||
  padding-top: 80px
 | 
			
		||||
  padding-bottom: 100px
 | 
			
		||||
  background: #eee
 | 
			
		||||
 | 
			
		||||
a
 | 
			
		||||
  color: teal
 | 
			
		||||
  transition: color 180ms ease-in-out
 | 
			
		||||
  &:hover
 | 
			
		||||
    color: darkcyan
 | 
			
		||||
 | 
			
		||||
button.button-primary
 | 
			
		||||
  background: teal
 | 
			
		||||
  transition: background 180ms ease-in-out
 | 
			
		||||
  &:hover
 | 
			
		||||
    background: darkcyan
 | 
			
		||||
 | 
			
		||||
textarea
 | 
			
		||||
  max-width: 100%
 | 
			
		||||
  min-width: 100%
 | 
			
		||||
  height: 100px
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
form select[multiple]
 | 
			
		||||
  min-height: 100px
 | 
			
		||||
 | 
			
		||||
table
 | 
			
		||||
  border: 1px solid #ddd
 | 
			
		||||
  border-radius: 8px
 | 
			
		||||
  border-spacing: 0
 | 
			
		||||
  overflow: hidden
 | 
			
		||||
 | 
			
		||||
table th,
 | 
			
		||||
table td,
 | 
			
		||||
table th:first-child,
 | 
			
		||||
table td:first-child
 | 
			
		||||
  border: none
 | 
			
		||||
  padding: 7px 12px
 | 
			
		||||
 | 
			
		||||
table thead tr
 | 
			
		||||
  border-radius: 8px 8px 0 0
 | 
			
		||||
  &:last-child
 | 
			
		||||
    border-radius: 0 0 8px 8px
 | 
			
		||||
 | 
			
		||||
table thead tr,
 | 
			
		||||
table tr:nth-child(even)
 | 
			
		||||
  background: #eee
 | 
			
		||||
 | 
			
		||||
/* Material card styles */
 | 
			
		||||
.card-1
 | 
			
		||||
  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24)
 | 
			
		||||
  transition: all 0.3s cubic-bezier(.25,.8,.25,1)
 | 
			
		||||
  &:hover
 | 
			
		||||
    box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22)
 | 
			
		||||
 | 
			
		||||
.card-2
 | 
			
		||||
  box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23)
 | 
			
		||||
 | 
			
		||||
.card-3
 | 
			
		||||
  box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23)
 | 
			
		||||
 | 
			
		||||
.card-4
 | 
			
		||||
  box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22)
 | 
			
		||||
 | 
			
		||||
.card-5
 | 
			
		||||
  box-shadow: 0 19px 38px rgba(0,0,0,0.30), 0 15px 12px rgba(0,0,0,0.22)
 | 
			
		||||
 | 
			
		||||
.container{
 | 
			
		||||
  max-width: 1200px
 | 
			
		||||
 | 
			
		||||
#main-nav{
 | 
			
		||||
  position: fixed
 | 
			
		||||
  top: 0
 | 
			
		||||
  left: 0
 | 
			
		||||
  width: 100%
 | 
			
		||||
  height: 64px
 | 
			
		||||
  background: teal
 | 
			
		||||
  color: white
 | 
			
		||||
  z-index: 20
 | 
			
		||||
 | 
			
		||||
  ul
 | 
			
		||||
    list-style: none
 | 
			
		||||
    display: inline-block
 | 
			
		||||
 | 
			
		||||
    li
 | 
			
		||||
      display: inline-block
 | 
			
		||||
      margin-left: 15px
 | 
			
		||||
 | 
			
		||||
  h4
 | 
			
		||||
    display: inline-block
 | 
			
		||||
    margin-left: 25px
 | 
			
		||||
    line-height: 64px
 | 
			
		||||
 | 
			
		||||
  a
 | 
			
		||||
    color: white
 | 
			
		||||
    font-size: 2.25rem
 | 
			
		||||
    line-height: 64px
 | 
			
		||||
    transition: all 200ms ease-in-out
 | 
			
		||||
  &:hover
 | 
			
		||||
    color: #eee
 | 
			
		||||
    font-size: 2.5rem
 | 
			
		||||
 | 
			
		||||
#main-content
 | 
			
		||||
  padding: 15px 25px
 | 
			
		||||
  background: white
 | 
			
		||||
  border-radius: 8px
 | 
			
		||||
  z-index: 10
 | 
			
		||||
 | 
			
		||||
#main-footer
 | 
			
		||||
  position: fixed
 | 
			
		||||
  bottom: 0
 | 
			
		||||
  left: 0
 | 
			
		||||
  width: 100%
 | 
			
		||||
  height: 64px
 | 
			
		||||
 | 
			
		||||
  p
 | 
			
		||||
    margin-bottom: 5px
 | 
			
		||||
    text-align: center
 | 
			
		||||
							
								
								
									
										35
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "blt",
 | 
			
		||||
  "version": "0.1.0",
 | 
			
		||||
  "description": "Self-hosted PC hardware benchmark logging tool",
 | 
			
		||||
  "main": "index.js",
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "grunt": "grunt"
 | 
			
		||||
  },
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "type": "git",
 | 
			
		||||
    "url": "gitea@git.metaunix.net:BitGoblin/blt.git"
 | 
			
		||||
  },
 | 
			
		||||
  "keywords": [
 | 
			
		||||
    "hardware",
 | 
			
		||||
    "benchmark",
 | 
			
		||||
    "testing",
 | 
			
		||||
    "PC"
 | 
			
		||||
  ],
 | 
			
		||||
  "author": "Gregory Ballanine <gballantine@bitgoblin.tech>",
 | 
			
		||||
  "uploaders": [
 | 
			
		||||
    {
 | 
			
		||||
      "name": "Gregory Ballantine",
 | 
			
		||||
      "email": "gballantine@bitgoblin.tech"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "license": "BSD-2-Clause",
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "grunt": "^1.5.3",
 | 
			
		||||
    "grunt-cli": "^1.4.3",
 | 
			
		||||
    "grunt-contrib-sass": "^2.0.0",
 | 
			
		||||
    "grunt-contrib-coffee": "^2.1.0",
 | 
			
		||||
    "grunt-contrib-watch": "^1.1.0",
 | 
			
		||||
    "sass": "^1.55.0"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,156 +0,0 @@
 | 
			
		||||
html,
 | 
			
		||||
body{
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  height: 100%;
 | 
			
		||||
  margin: 0;
 | 
			
		||||
  padding: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
body{
 | 
			
		||||
  height: auto;
 | 
			
		||||
  min-height: 100%;
 | 
			
		||||
  box-sizing: border-box;
 | 
			
		||||
  padding-top: 80px;
 | 
			
		||||
  padding-bottom: 100px;
 | 
			
		||||
  background: #eee;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a{
 | 
			
		||||
  color: teal;
 | 
			
		||||
  transition: color 180ms ease-in-out;
 | 
			
		||||
}
 | 
			
		||||
a:hover{
 | 
			
		||||
  color: darkcyan;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
button.button-primary{
 | 
			
		||||
  background: teal;
 | 
			
		||||
  transition: background 180ms ease-in-out;
 | 
			
		||||
}
 | 
			
		||||
button.button-primary:hover{
 | 
			
		||||
  background: darkcyan;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
textarea{
 | 
			
		||||
  max-width: 100%;
 | 
			
		||||
  min-width: 100%;
 | 
			
		||||
  height: 100px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
form select[multiple]{
 | 
			
		||||
  min-height: 100px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
table{
 | 
			
		||||
  border: 1px solid #ddd;
 | 
			
		||||
  border-radius: 8px;
 | 
			
		||||
  border-spacing: 0;
 | 
			
		||||
  overflow: hidden;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
table th,
 | 
			
		||||
table td,
 | 
			
		||||
table th:first-child,
 | 
			
		||||
table td:first-child{
 | 
			
		||||
  border: none;
 | 
			
		||||
  padding: 7px 12px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
table thead tr{
 | 
			
		||||
  border-radius: 8px 8px 0 0;
 | 
			
		||||
}
 | 
			
		||||
table tbody tr:last-child{
 | 
			
		||||
  border-radius: 0 0 8px 8px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
table thead tr,
 | 
			
		||||
table tr:nth-child(even){
 | 
			
		||||
  background: #eee;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Material card styles */
 | 
			
		||||
.card-1 {
 | 
			
		||||
  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
 | 
			
		||||
  transition: all 0.3s cubic-bezier(.25,.8,.25,1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.card-1:hover {
 | 
			
		||||
  box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.card-2 {
 | 
			
		||||
  box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.card-3 {
 | 
			
		||||
  box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.card-4 {
 | 
			
		||||
  box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.card-5 {
 | 
			
		||||
  box-shadow: 0 19px 38px rgba(0,0,0,0.30), 0 15px 12px rgba(0,0,0,0.22);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.container{
 | 
			
		||||
  max-width: 1200px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#main-nav{
 | 
			
		||||
  position: fixed;
 | 
			
		||||
  top: 0;
 | 
			
		||||
  left: 0;
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  height: 64px;
 | 
			
		||||
  background: teal;
 | 
			
		||||
  color: white;
 | 
			
		||||
  z-index: 20;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#main-nav ul{
 | 
			
		||||
  list-style: none;
 | 
			
		||||
  display: inline-block;
 | 
			
		||||
}
 | 
			
		||||
#main-nav h4{
 | 
			
		||||
  display: inline-block;
 | 
			
		||||
  margin-left: 25px;
 | 
			
		||||
  line-height: 64px;
 | 
			
		||||
}
 | 
			
		||||
#main-nav ul li{
 | 
			
		||||
  display: inline-block;
 | 
			
		||||
  margin-left: 15px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#main-nav a{
 | 
			
		||||
  color: white;
 | 
			
		||||
  font-size: 2.25rem;
 | 
			
		||||
  line-height: 64px;
 | 
			
		||||
  transition: all 200ms ease-in-out;
 | 
			
		||||
}
 | 
			
		||||
#main-nav a:hover{
 | 
			
		||||
  color: #eee;
 | 
			
		||||
  font-size: 2.5rem;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#main-content{
 | 
			
		||||
  padding: 15px 25px;
 | 
			
		||||
  background: white;
 | 
			
		||||
  border-radius: 8px;
 | 
			
		||||
  z-index: 10;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#main-footer{
 | 
			
		||||
  position: fixed;
 | 
			
		||||
  bottom: 0;
 | 
			
		||||
  left: 0;
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  height: 64px;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#main-footer p{
 | 
			
		||||
  margin-bottom: 5px;
 | 
			
		||||
  text-align: center;
 | 
			
		||||
}
 | 
			
		||||
@@ -9,6 +9,7 @@
 | 
			
		||||
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.min.css">
 | 
			
		||||
  <link rel="stylesheet" href="/css/kourend.css">
 | 
			
		||||
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" charset="utf-8"></script>
 | 
			
		||||
  <script src="/js/kebos.js" charset="utf-8"></script>
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user