From b6a95a8cb3d9e611caf1bb8c0d3ff773e00923d6 Mon Sep 17 00:00:00 2001
From: Thomas Boerger <thomas@webhippie.de>
Date: Tue, 29 Nov 2016 17:26:36 +0100
Subject: Integrate public as bindata optionally (#293)

* Dropped unused codekit config

* Integrated dynamic and static bindata for public

* Ignore public bindata

* Add a general generate make task

* Integrated flexible public assets into web command

* Updated vendoring, added all missiong govendor deps

* Made the linter happy with the bindata and dynamic code

* Moved public bindata definition to modules directory

* Ignoring the new bindata path now

* Updated to the new public modules import path

* Updated public bindata command and drop the new prefix
---
 modules/public/dynamic.go | 21 +++++++++++++++++++++
 modules/public/public.go  | 14 ++++++++++++++
 modules/public/static.go  | 29 +++++++++++++++++++++++++++++
 3 files changed, 64 insertions(+)
 create mode 100644 modules/public/dynamic.go
 create mode 100644 modules/public/public.go
 create mode 100644 modules/public/static.go

(limited to 'modules')

diff --git a/modules/public/dynamic.go b/modules/public/dynamic.go
new file mode 100644
index 0000000000..c196d67baa
--- /dev/null
+++ b/modules/public/dynamic.go
@@ -0,0 +1,21 @@
+// +build !bindata
+
+// Copyright 2016 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package public
+
+import (
+	"gopkg.in/macaron.v1"
+)
+
+// Static implements the macaron static handler for serving assets.
+func Static(opts *Options) macaron.Handler {
+	return macaron.Static(
+		opts.Directory,
+		macaron.StaticOptions{
+			SkipLogging: opts.SkipLogging,
+		},
+	)
+}
diff --git a/modules/public/public.go b/modules/public/public.go
new file mode 100644
index 0000000000..261ed88874
--- /dev/null
+++ b/modules/public/public.go
@@ -0,0 +1,14 @@
+// Copyright 2016 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package public
+
+//go:generate go-bindata -tags "bindata" -ignore "\\.go|\\.less" -pkg "public" -o "bindata.go" ../../public/...
+//go:generate go fmt bindata.go
+
+// Options represents the available options to configure the macaron handler.
+type Options struct {
+	Directory   string
+	SkipLogging bool
+}
diff --git a/modules/public/static.go b/modules/public/static.go
new file mode 100644
index 0000000000..8184bc2149
--- /dev/null
+++ b/modules/public/static.go
@@ -0,0 +1,29 @@
+// +build bindata
+
+// Copyright 2016 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package public
+
+import (
+	"github.com/go-macaron/bindata"
+	"gopkg.in/macaron.v1"
+)
+
+// Static implements the macaron static handler for serving assets.
+func Static(opts *Options) macaron.Handler {
+	return macaron.Static(
+		opts.Directory,
+		macaron.StaticOptions{
+			SkipLogging: opts.SkipLogging,
+			FileSystem: bindata.Static(bindata.Options{
+				Asset:      Asset,
+				AssetDir:   AssetDir,
+				AssetInfo:  AssetInfo,
+				AssetNames: AssetNames,
+				Prefix:     "../../public",
+			}),
+		},
+	)
+}
-- 
cgit v1.2.3