* Use standard lessc and minify CSS using Node.js This changes the previous nonstandard `lessc` to the official one and enables CSS minification via the clean-css module. To build CSS, Node.js is required along with a `npm install` to get the tools installed locally in node_modules so there is no dependency on binaries in PATH. Benefits include: - Allows one to have a standard lessc in PATH. - Can now use command line switches on lessc. - Minified CSS brings faster page load times and also has the benefit of discouraging contributors from editing CSS directly. To build CSS, Node.js is required along with a `npm install` to get the tools installed locally based on the information in `package.json`. The 'make stylesheet' task was modified to run without condition. This makes it easier to work on the make task itself without having to delete files. Also fixes: https://github.com/go-gitea/gitea/issues/2198 * install node, npm and modules on drone * .PHONY * use 'minify' to minify CSStags/v1.3.0-rc1
@@ -16,6 +16,8 @@ pipeline: | |||
TAGS: bindata sqlite | |||
GOPATH: /srv/app | |||
commands: | |||
- apk -U add nodejs nodejs-npm | |||
- npm install | |||
- make clean | |||
- make generate | |||
- make vet |
@@ -58,3 +58,4 @@ coverage.all | |||
/integrations/indexers-sqlite | |||
/integrations/mysql.ini | |||
/integrations/pgsql.ini | |||
/node_modules |
@@ -97,6 +97,16 @@ and is synced regularily to Crowdin. Once a translation has reached | |||
A SATISFACTORY PERCENTAGE it will be synced back into this repo and | |||
included in the next released version. | |||
## Building Gitea | |||
Generally, the go build tools are installed as-needed in the `Makefile`. | |||
An exception are the tools to build the CSS and images. | |||
- To build CSS: Install [Node.js](https://nodejs.org/en/download/package-manager) | |||
with `npm` and then run `npm install` and `make stylesheets`. | |||
- To build Images: ImageMagick, inkscape and zopflipng binaries must be | |||
available in your `PATH` to run `make generate-images`. | |||
## Code review | |||
Changes to Gitea must be reviewed before they are accepted, no matter who |
@@ -15,7 +15,6 @@ else | |||
endif | |||
BINDATA := modules/{options,public,templates}/bindata.go | |||
STYLESHEETS := $(wildcard public/less/index.less public/less/_*.less) | |||
DOCKER_TAG := gitea/gitea:latest | |||
GOFILES := $(shell find . -name "*.go" -type f ! -path "./vendor/*" ! -path "*/bindata.go") | |||
GOFMT ?= gofmt -s | |||
@@ -299,14 +298,12 @@ stylesheets-check: stylesheets | |||
fi; | |||
.PHONY: stylesheets | |||
stylesheets: public/css/index.css | |||
.IGNORE: public/css/index.css | |||
public/css/index.css: $(STYLESHEETS) | |||
@which lessc > /dev/null; if [ $$? -ne 0 ]; then \ | |||
$(GO) get -u github.com/kib357/less-go/lessc; \ | |||
stylesheets: | |||
@hash minify > /dev/null 2>&1; if [ $$? -ne 0 ]; then \ | |||
$(GO) get -u github.com/tdewolff/minify/cmd/minify; \ | |||
fi | |||
lessc -i $< -o $@ | |||
node_modules/.bin/lessc --no-ie-compat public/less/index.less public/css/index.css | |||
minify -o public/css/index.css public/css/index.css | |||
.PHONY: swagger-ui | |||
swagger-ui: |
@@ -0,0 +1,6 @@ | |||
{ | |||
"license": "MIT", | |||
"dependencies": { | |||
"less": "^2.7.2" | |||
} | |||
} |