Initial Go project structure; added some styles w/ SASS via Grunt
This commit is contained in:
		
							
								
								
									
										9
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -21,3 +21,12 @@ | ||||
| # Go workspace file | ||||
| go.work | ||||
|  | ||||
| # Compiled Go binary | ||||
| colossus | ||||
|  | ||||
| # Compiled CSS/JS | ||||
| public/css/ | ||||
| public/js/ | ||||
|  | ||||
| # NPM dependencies for Grunt | ||||
| node_modules/ | ||||
|   | ||||
							
								
								
									
										65
									
								
								Gruntfile.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								Gruntfile.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,65 @@ | ||||
| module.exports = function(grunt) { | ||||
|  | ||||
|   var pkg = grunt.file.readJSON('package.json') | ||||
|  | ||||
|   // Project configuration. | ||||
|   grunt.initConfig({ | ||||
|     sass: { | ||||
|       dist: { | ||||
|         options: { | ||||
|           style: 'compressed' | ||||
|         }, | ||||
|         files: [{ | ||||
|           expand: true, | ||||
|           cwd: 'assets/sass', | ||||
|           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/sass/*.sass'], | ||||
|         tasks: ['sass'], | ||||
|         options: { | ||||
|           atBegin: true, | ||||
|           spawn: false | ||||
|         } | ||||
|       }, | ||||
|       js: { | ||||
|         files: ['assets/coffee/*.coffee'], | ||||
|         tasks: ['coffee'], | ||||
|         options: { | ||||
|           atBegin: true, | ||||
|           spawn: false | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   }); | ||||
|  | ||||
|   // Load task plugins | ||||
|   grunt.loadNpmTasks('grunt-contrib-sass'); | ||||
|   grunt.loadNpmTasks('grunt-contrib-coffee'); | ||||
|   grunt.loadNpmTasks('grunt-contrib-watch'); | ||||
|  | ||||
|   // Default task(s). | ||||
|   grunt.registerTask('default', ['sass', 'coffee']); | ||||
|  | ||||
| }; | ||||
							
								
								
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | ||||
| Copyright (c) <year> <owner>  | ||||
| Copyright (c) 2022 Bit Goblin | ||||
|  | ||||
| Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: | ||||
|  | ||||
|   | ||||
							
								
								
									
										8
									
								
								assets/sass/nardah.sass
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								assets/sass/nardah.sass
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| html, | ||||
| body | ||||
|   margin: 0 | ||||
|   padding: 0 | ||||
|   background: lightgrey | ||||
|  | ||||
| #main-nav | ||||
|   background: cornflowerblue | ||||
							
								
								
									
										32
									
								
								colossus.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								colossus.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| package main | ||||
|  | ||||
| import ( | ||||
|   "net/http" | ||||
|  | ||||
|   "github.com/flamego/flamego" | ||||
|   "github.com/flamego/template" | ||||
| ) | ||||
|  | ||||
| func main() { | ||||
|   f := flamego.Classic() | ||||
|  | ||||
|   // serve static files from ./public/ | ||||
|   f.Use(flamego.Static( | ||||
|     flamego.StaticOptions{ | ||||
|       Directory: "public", | ||||
|     }, | ||||
|   )) | ||||
|  | ||||
|   // initialize template engine | ||||
|   f.Use(template.Templater(template.Options{ | ||||
|     Directory: "./views", | ||||
|   })) | ||||
|  | ||||
|   // register route handlers | ||||
|   f.Get("/", func(t template.Template, data template.Data) { | ||||
|     data["title"] = "Dashboard" | ||||
|     t.HTML(http.StatusOK, "index") | ||||
|   }) | ||||
|  | ||||
|   f.Run() | ||||
| } | ||||
							
								
								
									
										14
									
								
								go.mod
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								go.mod
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| module git.metaunix.net/BitGoblin/colossus | ||||
|  | ||||
| go 1.18 | ||||
|  | ||||
| require ( | ||||
| 	github.com/alecthomas/participle/v2 v2.0.0-beta.5 // indirect | ||||
| 	github.com/fatih/color v1.13.0 // indirect | ||||
| 	github.com/flamego/flamego v1.7.0 // indirect | ||||
| 	github.com/flamego/template v1.1.0 // indirect | ||||
| 	github.com/mattn/go-colorable v0.1.9 // indirect | ||||
| 	github.com/mattn/go-isatty v0.0.14 // indirect | ||||
| 	github.com/pkg/errors v0.9.1 // indirect | ||||
| 	golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect | ||||
| ) | ||||
							
								
								
									
										19
									
								
								go.sum
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								go.sum
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| github.com/alecthomas/participle/v2 v2.0.0-beta.5 h1:y6dsSYVb1G5eK6mgmy+BgI3Mw35a3WghArZ/Hbebrjo= | ||||
| github.com/alecthomas/participle/v2 v2.0.0-beta.5/go.mod h1:RC764t6n4L8D8ITAJv0qdokritYSNR3wV5cVwmIEaMM= | ||||
| github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= | ||||
| github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= | ||||
| github.com/flamego/flamego v1.7.0 h1:c1Lu16PBAZKkpsjHw42vwotdoQnMMpUi60ITP41W12w= | ||||
| github.com/flamego/flamego v1.7.0/go.mod h1:dnVMBJyHKaxjcqRVN93taSK+YB/9p+Op1GdLIuA1hFQ= | ||||
| github.com/flamego/template v1.1.0 h1:iYtCzY3TeYpsoQiGApFXw2qycKdMzimz2gkO/SlcksM= | ||||
| github.com/flamego/template v1.1.0/go.mod h1:bgnmEXNumarhQIUzFgn18CDG6u8cM6X09c7UOTwZcxM= | ||||
| github.com/mattn/go-colorable v0.1.9 h1:sqDoxXbdeALODt0DAeJCVp38ps9ZogZEAXjus69YV3U= | ||||
| github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= | ||||
| github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= | ||||
| github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= | ||||
| github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= | ||||
| github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= | ||||
| github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | ||||
| golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c h1:F1jZWGFhYfh0Ci55sIpILtKKK8p3i2/krTr0H1rg74I= | ||||
| golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
							
								
								
									
										3128
									
								
								package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										3128
									
								
								package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										26
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| { | ||||
|   "name": "colossus", | ||||
|   "version": "0.1.0", | ||||
|   "description": "Self-hosted database for organizing PC hardware benchmarking results", | ||||
|   "main": "index.js", | ||||
|   "scripts": { | ||||
|     "grunt": "grunt", | ||||
|     "test": "echo \"Error: no test specified\" && exit 1" | ||||
|   }, | ||||
|   "repository": { | ||||
|     "type": "git", | ||||
|     "url": "https://git.metaunix.net/BitGoblin/colossus.git" | ||||
|   }, | ||||
|   "keywords": [ | ||||
|     "benchmarking" | ||||
|   ], | ||||
|   "author": "Gregory Ballantine <gballantine@bitgoblin.tech>", | ||||
|   "license": "BSD-2-Clause", | ||||
|   "devDependencies": { | ||||
|     "grunt": "^1.5.3", | ||||
|     "grunt-contrib-coffee": "^2.1.0", | ||||
|     "grunt-contrib-sass": "^2.0.0", | ||||
|     "grunt-contrib-watch": "^1.1.0", | ||||
|     "sass": "^1.56.1" | ||||
|   } | ||||
| } | ||||
							
								
								
									
										5
									
								
								views/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								views/index.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| {{ template "layout_header" . }} | ||||
|  | ||||
| <p>This is a test.</p> | ||||
|  | ||||
| {{ template "layout_footer" . }} | ||||
							
								
								
									
										4
									
								
								views/layout/footer.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								views/layout/footer.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| {{ define "layout_footer" }} | ||||
| </body> | ||||
| </html> | ||||
| {{ end }} | ||||
							
								
								
									
										16
									
								
								views/layout/header.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								views/layout/header.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| {{ define "layout_header" }} | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <meta charset="UTF-8"> | ||||
|   <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
|   <title>{{ .title }}</title> | ||||
|   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/skeleton/2.0.4/skeleton.min.css"> | ||||
|   <link rel="stylesheet" href="/css/nardah.css"> | ||||
|   <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| {{ template "navbar" . }} | ||||
|  | ||||
| {{ end }} | ||||
							
								
								
									
										11
									
								
								views/layout/navbar.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								views/layout/navbar.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| {{ define "navbar" }} | ||||
| <nav id="main-nav"> | ||||
|   <ul class="nav-left"> | ||||
|     <li>Goliath</li> | ||||
|     <li><a href="/">Dashboard</a></li> | ||||
|     <li><a href="/benchmark">Benchmarks</a></li> | ||||
|     <li><a href="/hardware">Hardware</a></li> | ||||
|     <li><a href="/game">Games</a></li> | ||||
|   </ul> | ||||
| </nav> | ||||
| {{ end }} | ||||
		Reference in New Issue
	
	Block a user