Page MenuHomeMusing Studio

No OneTemporary

diff --git a/Taskfile.yaml b/Taskfile.yaml
new file mode 100644
index 0000000..fdc1cc9
--- /dev/null
+++ b/Taskfile.yaml
@@ -0,0 +1,180 @@
+version: "3"
+
+env:
+ GITREV:
+ sh: git describe | cut -c 2-
+ BINARY_NAME: writefreely
+ IMAGE_NAME: writeas/writefreely
+ BUILDPATH: build/{{.BINARY_NAME}}
+ LDFLAGS: -ldflags="-s -w -X 'github.com/writefreely/writefreely.softwareVer={{.GITREV}}' -extldflags '-static'"
+ GOTEST: go test {{.LDFLAGS}}
+ GOBUILD: go build {{.LDFLAGS}}
+
+includes:
+ less:
+ taskfile: ./less
+ dir: ./less
+ internal: true
+ prose:
+ taskfile: ./prose
+ dir: ./prose
+ internal: true
+
+tasks:
+ ci:
+ - task: deps
+ - cd cmd/writefreely; {{.GOBUILD}} -v
+
+ build:
+ aliases: [all]
+ cmds:
+ - task: deps
+ - cd cmd/writefreely; {{.GOBUILD}} -v -tags='netgo sqlite'
+
+ build-no-sqlite:
+ - task: deps-no-sqlite
+ - cd cmd/writefreely; {{.GOBUILD}} -v -tags='netgo' -o {{.BINARY_NAME}}
+
+ build-linux:
+ - task: deps
+ - |
+ @hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
+ go install src.techknowlogick.com/xgo@latest; \
+ fi
+ xgo --targets=linux/amd64, -dest build/ {{.LDFLAGS}} -tags='netgo sqlite' -go go-1.21.x -out writefreely -pkg ./cmd/writefreely .
+
+ build-windows:
+ - task: deps
+ - |
+ @hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
+ go install src.techknowlogick.com/xgo@latest; \
+ fi
+ xgo --targets=windows/amd64, -dest build/ {{.LDFLAGS}} -tags='netgo sqlite' -go go-1.21.x -out writefreely -pkg ./cmd/writefreely .
+
+ build-darwin:
+ - task: deps
+ - |
+ @hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
+ go install src.techknowlogick.com/xgo@latest; \
+ fi
+ xgo --targets=darwin/amd64, -dest build/ {{.LDFLAG}} -tags='netgo sqlite' -go go-1.21.x -out writefreely -pkg ./cmd/writefreely .
+
+ build-arm6:
+ - task: deps
+ - |
+ @hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
+ go install src.techknowlogick.com/xgo@latest; \
+ fi
+ xgo --targets=linux/arm-6, -dest build/ {{.LDFLAGS}} -tags='netgo sqlite' -go go-1.21.x -out writefreely -pkg ./cmd/writefreely .
+
+ build-arm7:
+ - task: deps
+ - |
+ @hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
+ go install src.techknowlogick.com/xgo@latest; \
+ fi
+ xgo --targets=linux/arm-7, -dest build/ {{.LDFLAGS}} -tags='netgo sqlite' -go go-1.21.x -out writefreely -pkg ./cmd/writefreely .
+
+ build-arm64:
+ - task: deps
+ - |
+ @hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
+ go install src.techknowlogick.com/xgo@latest; \
+ fi
+ xgo --targets=linux/arm64, -dest build/ {{.LDFLAGS}} -tags='netgo sqlite' -go go-1.21.x -out writefreely -pkg ./cmd/writefreely .
+
+ build-docker:
+ cmds:
+ - docker build -t {{.IMAGE_NAME}}:latest -t {{.IMAGE_NAME}}:{{.GITREV}} .
+ requires:
+ vars:
+ - IMAGE_NAME
+ - GITREV
+
+ release:
+ - task: clean
+ - task: ui
+ - mkdir -p {{.BUILDPATH}}
+ - cp -r templates {{.BUILDPATH}}
+ - cp -r pages {{.BUILDPATH}}
+ - cp -r static {{.BUILDPATH}}
+ - rm -r {{.BUILDPATH}}/static/local
+ - scripts/invalidate-css.sh {{.BUILDPATH}}
+ - mkdir {{.BUILDPATH}}/keys
+ - task: build-linux
+ - mv build/{{.BINARY_NAME}}-linux-amd64 {{.BUILDPATH}}/{{.BINARY_NAME}}
+ - tar -cvzf {{.BINARY_NAME}}_{{.GITREV}}_linux_amd64.tar.gz -C build {{.BINARY_NAME}}
+ - rm {{.BUILDPATH}}/{{.BINARY_NAME}}
+ - task: build-arm6
+ - mv build/{{.BINARY_NAME}}-linux-arm-6 {{.BUILDPATH}}/{{.BINARY_NAME}}
+ - tar -cvzf {{.BINARY_NAME}}_{{.GITREV}}_linux_arm6.tar.gz -C build {{.BINARY_NAME}}
+ - rm {{.BUILDPATH}}/{{.BINARY_NAME}}
+ - task: build-arm7
+ - mv build/{{.BINARY_NAME}}-linux-arm-7 {{.BUILDPATH}}/{{.BINARY_NAME}}
+ - tar -cvzf {{.BINARY_NAME}}_{{.GITREV}}_linux_arm7.tar.gz -C build {{.BINARY_NAME}}
+ - rm {{.BUILDPATH}}/{{.BINARY_NAME}}
+ - task: build-arm64
+ - mv build/{{.BINARY_NAME}}-linux-arm64 {{.BUILDPATH}}/{{.BINARY_NAME}}
+ - tar -cvzf {{.BINARY_NAME}}_{{.GITREV}}_linux_arm64.tar.gz -C build {{.BINARY_NAME}}
+ - rm {{.BUILDPATH}}/{{.BINARY_NAME}}
+ - task: build-darwin
+ - mv build/{{.BINARY_NAME}}-darwin-10.12-amd64 {{.BUILDPATH}}/{{.BINARY_NAME}}
+ - tar -cvzf {{.BINARY_NAME}}_{{.GITREV}}_macos_amd64.tar.gz -C build {{.BINARY_NAME}}
+ - rm {{.BUILDPATH}}/{{.BINARY_NAME}}
+ - task: build-windows
+ - mv build/{{.BINARY_NAME}}-windows-4.0-amd64.exe {{.BUILDPATH}}/{{.BINARY_NAME}}.exe
+ - tar -cvzf {{.BINARY_NAME}}_{{.GITREV}}_windows_amd64.zip -C build {{.BINARY_NAME}}
+ - rm {{.BUILDPATH}}/{{.BINARY_NAME}}
+ - task: build-docker
+ - task: release-docker
+
+ release-linux: # This assumes you're on linux/amd64
+ desc: "build release for Linux"
+ cmds:
+ - task: clean
+ - task: ui
+ - mkdir -p {{.BUILDPATH}}
+ - cp -r templates {{.BUILDPATH}}
+ - cp -r pages {{.BUILDPATH}}
+ - cp -r static {{.BUILDPATH}}
+ - mkdir {{.BUILDPATH}}/keys
+ - task: build-no-sqlite
+ - mv cmd/writefreely/{{.BINARY_NAME}} {{.BUILDPATH}}/{{.BINARY_NAME}}
+ - tar -cvzf {{.BINARY_NAME}}_{{.GITREV}}_linux_amd64.tar.gz -C build {{.BINARY_NAME}}
+
+ release-docker:
+ cmds:
+ - docker push {{.IMAGE_NAME}}
+ requires:
+ vars: ["IMAGE_NAME"]
+
+ test:
+ - "{{.GOTEST}} -v ./..."
+
+ run:
+ - go install {{.LDFLAGS}} -tags='netgo sqlite' ./...
+ - "{{.BINARY_NAME}} --debug"
+
+ deps:
+ - go get -tags='sqlite' -d -v ./...
+
+ deps-no-sqlite:
+ - go get -d -v ./...
+
+ install:
+ - task: build
+ - cmd/writefreely/{{.BINARY_NAME}} --config
+ - cmd/writefreely/{{.BINARY_NAME}} --gen-keys
+ - cmd/writefreely/{{.BINARY_NAME}} --init-db
+ - task: less:install
+
+ clean:
+ cmds:
+ - rm -rf build
+ - rm -rf tmp
+ - task: less:clean
+
+ ui:
+ cmds:
+ - task: less:all
+ - task: prose:all
diff --git a/less/Taskfile.yaml b/less/Taskfile.yaml
new file mode 100644
index 0000000..1d72116
--- /dev/null
+++ b/less/Taskfile.yaml
@@ -0,0 +1,47 @@
+version: "3"
+
+env:
+ CSSDIR: ../static/css/
+
+tasks:
+ check-lessc:
+ internal: true
+ cmds:
+ - |
+ command -v lessc >/dev/null 2>&1 || {
+ echo "lessc is not installed, please run: task install";
+ exit 1;
+ }
+ silent: true
+
+ install:
+ desc: "Install LESS and compile all LESS files"
+ cmds:
+ - |
+ if ! command -v lessc >/dev/null 2>&1; then
+ echo "Installing LESS..."
+ npm install -g less@3.5.3
+ npm install -g less-plugin-clean-css
+ else
+ echo "LESS is already installed"
+ fi
+ - task: all
+ silent: true
+
+ all:
+ desc: "Compile all LESS files"
+ deps: [check-lessc]
+ cmds:
+ - lessc app.less --clean-css="--s1 --advanced" "{{.CSSDIR}}write.css"
+ - lessc fonts.less --clean-css="--s1 --advanced" "{{.CSSDIR}}fonts.css"
+ - lessc icons.less --clean-css="--s1 --advanced" "{{.CSSDIR}}icons.css"
+ - lessc prose.less --clean-css="--s1 --advanced" "{{.CSSDIR}}prose.css"
+ requires:
+ vars:
+ - CSSDIR
+
+ clean:
+ cmds:
+ - rm -f font.css
+ - rm -f fonts.css
+ - rm -f icons.css
diff --git a/prose/Taskfile.yaml b/prose/Taskfile.yaml
new file mode 100644
index 0000000..7132afd
--- /dev/null
+++ b/prose/Taskfile.yaml
@@ -0,0 +1,6 @@
+version: "3"
+
+tasks:
+ all:
+ - npm install
+ - npm run-script build

File Metadata

Mime Type
text/x-diff
Expires
Thu, May 15, 7:12 PM (1 d, 12 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3237470

Event Timeline