mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-24 08:57:03 -05:00
Use standard lessc and minify CSS using Node.js (#2337)
* 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 CSS
This commit is contained in:
parent
fa1cbc2896
commit
1fbfccb4fc
6 changed files with 25 additions and 3139 deletions
|
@ -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
|
||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -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
|
||||
|
|
13
Makefile
13
Makefile
|
@ -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:
|
||||
|
|
6
package.json
Normal file
6
package.json
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"less": "^2.7.2"
|
||||
}
|
||||
}
|
3132
public/css/index.css
3132
public/css/index.css
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue