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 workspace file | ||||||
| go.work | 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: | 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