From 56ab56b07c50158b080fc5a95775b6df9d414a17 Mon Sep 17 00:00:00 2001 From: task-bot <106601941+task-bot@users.noreply.github.com> Date: Sun, 4 Jun 2023 00:35:28 +0000 Subject: [PATCH] deploy: 105756eb27118e051d2ebd0e8747bda759098551 --- 404.html | 4 ++-- api/index.html | 4 ++-- assets/js/0480b142.b4b26960.js | 1 + assets/js/0480b142.dc0a1ee0.js | 1 - assets/js/3c140c84.a797772f.js | 1 + assets/js/3c140c84.d8e503f2.js | 1 - ...ime~main.e68872a6.js => runtime~main.892028c8.js} | 2 +- changelog/index.html | 4 ++-- community/index.html | 4 ++-- contributing/index.html | 4 ++-- donate/index.html | 4 ++-- es-ES/404.html | 6 +++--- es-ES/api/index.html | 6 +++--- .../assets/js/main.13365221.js | 4 ++-- ...f.js.LICENSE.txt => main.13365221.js.LICENSE.txt} | 0 es-ES/changelog/index.html | 6 +++--- es-ES/community/index.html | 6 +++--- es-ES/contributing/index.html | 6 +++--- es-ES/donate/index.html | 6 +++--- es-ES/experiments/index.html | 6 +++--- es-ES/experiments/workflow/index.html | 6 +++--- es-ES/faq/index.html | 6 +++--- es-ES/index.html | 6 +++--- es-ES/installation/index.html | 6 +++--- es-ES/integrations/index.html | 6 +++--- es-ES/releasing/index.html | 6 +++--- es-ES/search/index.html | 6 +++--- es-ES/styleguide/index.html | 6 +++--- es-ES/taskfile-versions/index.html | 6 +++--- es-ES/translate/index.html | 6 +++--- es-ES/usage/index.html | 6 +++--- experiments/index.html | 4 ++-- experiments/workflow/index.html | 4 ++-- faq/index.html | 12 +++++++----- fr-FR/404.html | 6 +++--- fr-FR/api/index.html | 6 +++--- fr-FR/assets/js/main.01420a59.js | 2 ++ ...d.js.LICENSE.txt => main.01420a59.js.LICENSE.txt} | 0 fr-FR/changelog/index.html | 6 +++--- fr-FR/community/index.html | 6 +++--- fr-FR/contributing/index.html | 6 +++--- fr-FR/donate/index.html | 6 +++--- fr-FR/experiments/index.html | 6 +++--- fr-FR/experiments/workflow/index.html | 6 +++--- fr-FR/faq/index.html | 6 +++--- fr-FR/index.html | 6 +++--- fr-FR/installation/index.html | 6 +++--- fr-FR/integrations/index.html | 6 +++--- fr-FR/releasing/index.html | 6 +++--- fr-FR/search/index.html | 6 +++--- fr-FR/styleguide/index.html | 6 +++--- fr-FR/taskfile-versions/index.html | 6 +++--- fr-FR/translate/index.html | 6 +++--- fr-FR/usage/index.html | 6 +++--- index.html | 4 ++-- installation/index.html | 4 ++-- integrations/index.html | 4 ++-- pt-BR/404.html | 6 +++--- pt-BR/api/index.html | 6 +++--- pt-BR/assets/js/main.1f3361bf.js | 2 ++ ...f.js.LICENSE.txt => main.1f3361bf.js.LICENSE.txt} | 0 pt-BR/assets/js/main.89639e6f.js | 2 -- pt-BR/changelog/index.html | 6 +++--- pt-BR/community/index.html | 6 +++--- pt-BR/contributing/index.html | 6 +++--- pt-BR/donate/index.html | 6 +++--- pt-BR/experiments/index.html | 6 +++--- pt-BR/experiments/workflow/index.html | 6 +++--- pt-BR/faq/index.html | 6 +++--- pt-BR/index.html | 6 +++--- pt-BR/installation/index.html | 6 +++--- pt-BR/integrations/index.html | 6 +++--- pt-BR/releasing/index.html | 6 +++--- pt-BR/search/index.html | 6 +++--- pt-BR/styleguide/index.html | 6 +++--- pt-BR/taskfile-versions/index.html | 6 +++--- pt-BR/translate/index.html | 6 +++--- pt-BR/usage/index.html | 6 +++--- releasing/index.html | 4 ++-- ru-RU/404.html | 6 +++--- ru-RU/api/index.html | 6 +++--- ru-RU/assets/js/main.5c621e30.js | 2 -- .../assets/js/main.8ea11861.js | 4 ++-- ...0.js.LICENSE.txt => main.8ea11861.js.LICENSE.txt} | 0 ru-RU/changelog/index.html | 6 +++--- ru-RU/community/index.html | 6 +++--- ru-RU/contributing/index.html | 6 +++--- ru-RU/donate/index.html | 6 +++--- ru-RU/experiments/index.html | 6 +++--- ru-RU/experiments/workflow/index.html | 6 +++--- ru-RU/faq/index.html | 6 +++--- ru-RU/index.html | 6 +++--- ru-RU/installation/index.html | 6 +++--- ru-RU/integrations/index.html | 6 +++--- ru-RU/releasing/index.html | 6 +++--- ru-RU/search/index.html | 6 +++--- ru-RU/styleguide/index.html | 6 +++--- ru-RU/taskfile-versions/index.html | 6 +++--- ru-RU/translate/index.html | 6 +++--- ru-RU/usage/index.html | 6 +++--- search/index.html | 4 ++-- styleguide/index.html | 6 +++--- taskfile-versions/index.html | 4 ++-- translate/index.html | 4 ++-- usage/index.html | 4 ++-- zh-Hans/404.html | 6 +++--- zh-Hans/api/index.html | 6 +++--- zh-Hans/assets/js/main.4eb99f48.js | 2 -- zh-Hans/assets/js/main.a459aa50.js | 2 ++ ...8.js.LICENSE.txt => main.a459aa50.js.LICENSE.txt} | 0 zh-Hans/changelog/index.html | 6 +++--- zh-Hans/community/index.html | 6 +++--- zh-Hans/contributing/index.html | 6 +++--- zh-Hans/donate/index.html | 6 +++--- zh-Hans/experiments/index.html | 6 +++--- zh-Hans/experiments/workflow/index.html | 6 +++--- zh-Hans/faq/index.html | 6 +++--- zh-Hans/index.html | 6 +++--- zh-Hans/installation/index.html | 6 +++--- zh-Hans/integrations/index.html | 6 +++--- zh-Hans/releasing/index.html | 6 +++--- zh-Hans/search/index.html | 6 +++--- zh-Hans/styleguide/index.html | 6 +++--- zh-Hans/taskfile-versions/index.html | 6 +++--- zh-Hans/translate/index.html | 6 +++--- zh-Hans/usage/index.html | 6 +++--- 126 files changed, 325 insertions(+), 323 deletions(-) create mode 100644 assets/js/0480b142.b4b26960.js delete mode 100644 assets/js/0480b142.dc0a1ee0.js create mode 100644 assets/js/3c140c84.a797772f.js delete mode 100644 assets/js/3c140c84.d8e503f2.js rename assets/js/{runtime~main.e68872a6.js => runtime~main.892028c8.js} (97%) rename fr-FR/assets/js/main.d6e91e8d.js => es-ES/assets/js/main.13365221.js (86%) rename es-ES/assets/js/{main.c2595d5f.js.LICENSE.txt => main.13365221.js.LICENSE.txt} (100%) create mode 100644 fr-FR/assets/js/main.01420a59.js rename fr-FR/assets/js/{main.d6e91e8d.js.LICENSE.txt => main.01420a59.js.LICENSE.txt} (100%) create mode 100644 pt-BR/assets/js/main.1f3361bf.js rename pt-BR/assets/js/{main.89639e6f.js.LICENSE.txt => main.1f3361bf.js.LICENSE.txt} (100%) delete mode 100644 pt-BR/assets/js/main.89639e6f.js delete mode 100644 ru-RU/assets/js/main.5c621e30.js rename es-ES/assets/js/main.c2595d5f.js => ru-RU/assets/js/main.8ea11861.js (82%) rename ru-RU/assets/js/{main.5c621e30.js.LICENSE.txt => main.8ea11861.js.LICENSE.txt} (100%) delete mode 100644 zh-Hans/assets/js/main.4eb99f48.js create mode 100644 zh-Hans/assets/js/main.a459aa50.js rename zh-Hans/assets/js/{main.4eb99f48.js.LICENSE.txt => main.a459aa50.js.LICENSE.txt} (100%) diff --git a/404.html b/404.html index dc7fe11d..f51c4046 100644 --- a/404.html +++ b/404.html @@ -10,13 +10,13 @@ - +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- + \ No newline at end of file diff --git a/api/index.html b/api/index.html index 77eca169..5c60a03e 100644 --- a/api/index.html +++ b/api/index.html @@ -10,7 +10,7 @@ - + @@ -23,7 +23,7 @@ structure:

tasks:
foo: echo "foo"

foobar:
- echo "foo"
- echo "bar"

baz:
cmd: echo "baz"

Command

AttributeTypeDefaultDescription
cmdstringThe shell command to be executed.
silentboolfalseSkips some output for this command. Note that STDOUT and STDERR of the commands will still be redirected.
taskstringSet this to trigger execution of another task instead of running a command. This cannot be set together with cmd.
varsmap[string]VariableOptional additional variables to be passed to the referenced task. Only relevant when setting task instead of cmd.
ignore_errorboolfalseContinue execution if errors happen while executing the command.
deferstringAlternative to cmd, but schedules the command to be executed at the end of this task instead of immediately. This cannot be used together with cmd.
platforms[]stringAll platformsSpecifies which platforms the command should be run on. Valid GOOS and GOARCH values allowed. Command will be skipped otherwise.
set[]stringSpecify options for the set builtin.
shopt[]stringSpecify option for the shopt builtin.
info

If given as a a string, the value will be assigned to cmd:

tasks:
foo:
cmds:
- echo "foo"
- echo "bar"

Dependency

AttributeTypeDefaultDescription
taskstringThe task to be execute as a dependency.
varsmap[string]VariableOptional additional variables to be passed to this task.
silentboolfalseHides task name and command from output. The command's output will still be redirected to STDOUT and STDERR.
tip

If you don't want to set additional variables, it's enough to declare the dependency as a list of strings (they will be assigned to task):

tasks:
foo:
deps: [foo, bar]

Precondition

AttributeTypeDefaultDescription
shstringCommand to be executed. If a non-zero exit code is returned, the task errors without executing its commands.
msgstringOptional message to print if the precondition isn't met.
tip

If you don't want to set a different message, you can declare a precondition like this and the value will be assigned to sh:

tasks:
foo:
precondition: test -f Taskfile.yml
- + \ No newline at end of file diff --git a/assets/js/0480b142.b4b26960.js b/assets/js/0480b142.b4b26960.js new file mode 100644 index 00000000..528ccf57 --- /dev/null +++ b/assets/js/0480b142.b4b26960.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunktaskfile_dev=self.webpackChunktaskfile_dev||[]).push([[836],{3905:function(e,n,t){t.d(n,{Zo:function(){return m},kt:function(){return h}});var a=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function s(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var l=a.createContext({}),u=function(e){var n=a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},m=function(e){var n=u(e.components);return a.createElement(l.Provider,{value:n},e.children)},c="mdxType",p={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},d=a.forwardRef((function(e,n){var t=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,m=i(e,["components","mdxType","originalType","parentName"]),c=u(t),d=o,h=c["".concat(l,".").concat(d)]||c[d]||p[d]||r;return t?a.createElement(h,s(s({ref:n},m),{},{components:t})):a.createElement(h,s({ref:n},m))}));function h(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var r=t.length,s=new Array(r);s[0]=d;var i={};for(var l in n)hasOwnProperty.call(n,l)&&(i[l]=n[l]);i.originalType=e,i[c]="string"==typeof e?e:o,s[1]=i;for(var u=2;u')," to\ndetect windows and run the command in Powershell directly."),(0,o.kt)("li",{parentName:"ul"},"Use a shell on Windows that supports these commands as builtins, such as ",(0,o.kt)("a",{parentName:"li",href:"https://gitforwindows.org/"},"Git\nBash")," or ",(0,o.kt)("a",{parentName:"li",href:"https://learn.microsoft.com/en-us/windows/wsl/install"},"WSL"),".")),(0,o.kt)("p",null,"We want to make improvements to this part of Task and the issues below track\nthis work. Constructive comments and contributions are very welcome!"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/197"},"#197")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh/issues/93"},"mvdan/sh#93")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh/issues/97"},"mvdan/sh#97"))))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0480b142.dc0a1ee0.js b/assets/js/0480b142.dc0a1ee0.js deleted file mode 100644 index 5f31e203..00000000 --- a/assets/js/0480b142.dc0a1ee0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktaskfile_dev=self.webpackChunktaskfile_dev||[]).push([[836],{3905:function(e,t,n){n.d(t,{Zo:function(){return m},kt:function(){return h}});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),u=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},m=function(e){var t=u(e.components);return r.createElement(s.Provider,{value:t},e.children)},p="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,m=l(e,["components","mdxType","originalType","parentName"]),p=u(n),d=a,h=p["".concat(s,".").concat(d)]||p[d]||c[d]||o;return n?r.createElement(h,i(i({ref:t},m),{},{components:n})):r.createElement(h,i({ref:t},m))}));function h(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=d;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:a,i[1]=l;for(var u=2;u')," to\ndetect windows and run the command in Powershell directly."),(0,a.kt)("li",{parentName:"ul"},"Use a shell on Windows that supports these commands as builtins, such as ",(0,a.kt)("a",{parentName:"li",href:"https://gitforwindows.org/"},"Git\nBash")," or ",(0,a.kt)("a",{parentName:"li",href:"https://learn.microsoft.com/en-us/windows/wsl/install"},"WSL"),".")),(0,a.kt)("p",null,"We want to make improvements to this part of Task and the issues below track\nthis work. Constructive comments and contributions are very welcome!"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://github.com/go-task/task/issues/197"},"#197")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh/issues/93"},"mvdan/sh#93")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://github.com/mvdan/sh/issues/97"},"mvdan/sh#97"))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3c140c84.a797772f.js b/assets/js/3c140c84.a797772f.js new file mode 100644 index 00000000..ac1d15c3 --- /dev/null +++ b/assets/js/3c140c84.a797772f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunktaskfile_dev=self.webpackChunktaskfile_dev||[]).push([[648],{3905:function(e,n,t){t.d(n,{Zo:function(){return d},kt:function(){return k}});var a=t(7294);function s(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var n=1;n=0||(s[t]=e[t]);return s}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(s[t]=e[t])}return s}var l=a.createContext({}),c=function(e){var n=a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},d=function(e){var n=c(e.components);return a.createElement(l.Provider,{value:n},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},m=a.forwardRef((function(e,n){var t=e.components,s=e.mdxType,r=e.originalType,l=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),p=c(t),m=s,k=p["".concat(l,".").concat(m)]||p[m]||u[m]||r;return t?a.createElement(k,o(o({ref:n},d),{},{components:t})):a.createElement(k,o({ref:n},d))}));function k(e,n){var t=arguments,s=n&&n.mdxType;if("string"==typeof e||s){var r=t.length,o=new Array(r);o[0]=m;var i={};for(var l in n)hasOwnProperty.call(n,l)&&(i[l]=n[l]);i.originalType=e,i[p]="string"==typeof e?e:s,o[1]=i;for(var c=2;cTaskfile.yml and not taskfile.yml",id:"use-taskfileyml-and-not-taskfileyml",level:2},{value:"Use the correct order of keywords",id:"use-the-correct-order-of-keywords",level:2},{value:"Use 2 spaces for indentation",id:"use-2-spaces-for-indentation",level:2},{value:"Separate with spaces the mains sections",id:"separate-with-spaces-the-mains-sections",level:2},{value:"Add spaces between tasks",id:"add-spaces-between-tasks",level:2},{value:"Use upper-case variable names",id:"use-upper-case-variable-names",level:2},{value:"Don't wrap vars in spaces when templating",id:"dont-wrap-vars-in-spaces-when-templating",level:2},{value:"Separate task name words with a dash",id:"separate-task-name-words-with-a-dash",level:2},{value:"Use colon for task namespacing",id:"use-colon-for-task-namespacing",level:2},{value:"Prefer external scripts over complex multi-line commands",id:"prefer-external-scripts-over-complex-multi-line-commands",level:2}],d={toc:c};function p(e){let{components:n,...t}=e;return(0,s.kt)("wrapper",(0,a.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,s.kt)("h1",{id:"styleguide"},"Styleguide"),(0,s.kt)("p",null,"This is the official Task styleguide for ",(0,s.kt)("inlineCode",{parentName:"p"},"Taskfile.yml")," files. This guide\ncontains some basic instructions to keep your Taskfile clean and familiar to\nother users."),(0,s.kt)("p",null,"This contains general guidelines, but they don't necessarily need to be strictly\nfollowed. Feel free to disagree and proceed differently at some point if you\nneed or want to. Also, feel free to open issues or pull requests with\nimprovements to this guide."),(0,s.kt)("h2",{id:"use-taskfileyml-and-not-taskfileyml"},"Use ",(0,s.kt)("inlineCode",{parentName:"h2"},"Taskfile.yml")," and not ",(0,s.kt)("inlineCode",{parentName:"h2"},"taskfile.yml")),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},"# bad\ntaskfile.yml\n\n\n# good\nTaskfile.yml\n")),(0,s.kt)("p",null,"This is important especially for Linux users. Windows and macOS have case\ninsensitive filesystems, so ",(0,s.kt)("inlineCode",{parentName:"p"},"taskfile.yml")," will end up working, even that not\nofficially supported. On Linux, only ",(0,s.kt)("inlineCode",{parentName:"p"},"Taskfile.yml")," will work, though."),(0,s.kt)("h2",{id:"use-the-correct-order-of-keywords"},"Use the correct order of keywords"),(0,s.kt)("ul",null,(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("inlineCode",{parentName:"li"},"version:")),(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("inlineCode",{parentName:"li"},"includes:")),(0,s.kt)("li",{parentName:"ul"},"Configuration ones, like ",(0,s.kt)("inlineCode",{parentName:"li"},"output:"),", ",(0,s.kt)("inlineCode",{parentName:"li"},"silent:"),", ",(0,s.kt)("inlineCode",{parentName:"li"},"method:")," and ",(0,s.kt)("inlineCode",{parentName:"li"},"run:")),(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("inlineCode",{parentName:"li"},"vars:")),(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("inlineCode",{parentName:"li"},"env:"),", ",(0,s.kt)("inlineCode",{parentName:"li"},"dotenv:")),(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("inlineCode",{parentName:"li"},"tasks:"))),(0,s.kt)("h2",{id:"use-2-spaces-for-indentation"},"Use 2 spaces for indentation"),(0,s.kt)("p",null,"This is the most common convention for YAML files, and Task follows it."),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},"# bad\ntasks:\n foo:\n cmds:\n - echo 'foo'\n\n\n# good\ntasks:\n foo:\n cmds:\n - echo 'foo'\n")),(0,s.kt)("h2",{id:"separate-with-spaces-the-mains-sections"},"Separate with spaces the mains sections"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},"# bad\nversion: '3'\nincludes:\n docker: ./docker/Taskfile.yml\noutput: prefixed\nvars:\n FOO: bar\nenv:\n BAR: baz\ntasks:\n # ...\n\n\n# good\nversion: '3'\n\nincludes:\n docker: ./docker/Taskfile.yml\n\noutput: prefixed\n\nvars:\n FOO: bar\n\nenv:\n BAR: baz\n\ntasks:\n # ...\n")),(0,s.kt)("h2",{id:"add-spaces-between-tasks"},"Add spaces between tasks"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},"# bad\nversion: '3'\n\ntasks:\n foo:\n cmds:\n - echo 'foo'\n bar:\n cmds:\n - echo 'bar'\n baz:\n cmds:\n - echo 'baz'\n\n\n# good\nversion: '3'\n\ntasks:\n foo:\n cmds:\n - echo 'foo'\n\n bar:\n cmds:\n - echo 'bar'\n\n baz:\n cmds:\n - echo 'baz'\n")),(0,s.kt)("h2",{id:"use-upper-case-variable-names"},"Use upper-case variable names"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},"# bad\nversion: '3'\n\nvars:\n binary_name: myapp\n\ntasks:\n build:\n cmds:\n - go build -o {{.binary_name}} .\n\n\n# good\nversion: '3'\n\nvars:\n BINARY_NAME: myapp\n\ntasks:\n build:\n cmds:\n - go build -o {{.BINARY_NAME}} .\n")),(0,s.kt)("h2",{id:"dont-wrap-vars-in-spaces-when-templating"},"Don't wrap vars in spaces when templating"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},"# bad\nversion: '3'\n\ntasks:\n greet:\n cmds:\n - echo '{{ .MESSAGE }}'\n\n\n# good\nversion: '3'\n\ntasks:\n greet:\n cmds:\n - echo '{{.MESSAGE}}'\n")),(0,s.kt)("p",null,"This convention is also used by most people for any Go templating."),(0,s.kt)("h2",{id:"separate-task-name-words-with-a-dash"},"Separate task name words with a dash"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},"# bad\nversion: '3'\n\ntasks:\n do_something_fancy:\n cmds:\n - echo 'Do something'\n\n\n# good\nversion: '3'\n\ntasks:\n do-something-fancy:\n cmds:\n - echo 'Do something'\n")),(0,s.kt)("h2",{id:"use-colon-for-task-namespacing"},"Use colon for task namespacing"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},"# good\nversion: '3'\n\ntasks:\n docker:build:\n cmds:\n - docker ...\n\n docker:run:\n cmds:\n - docker-compose ...\n")),(0,s.kt)("p",null,"This is also done automatically when using included Taskfiles."),(0,s.kt)("h2",{id:"prefer-external-scripts-over-complex-multi-line-commands"},"Prefer external scripts over complex multi-line commands"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},"# bad\nversion: '3'\n\ntasks:\n build:\n cmds:\n - |\n for i in $(seq 1 10); do\n echo $i\n echo \"some other complex logic\"\n done'\n\n# good\nversion: '3'\n\ntasks:\n build:\n cmds:\n - ./scripts/my_complex_script.sh\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3c140c84.d8e503f2.js b/assets/js/3c140c84.d8e503f2.js deleted file mode 100644 index 4355993a..00000000 --- a/assets/js/3c140c84.d8e503f2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktaskfile_dev=self.webpackChunktaskfile_dev||[]).push([[648],{3905:function(e,n,t){t.d(n,{Zo:function(){return d},kt:function(){return k}});var a=t(7294);function s(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var n=1;n=0||(s[t]=e[t]);return s}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(s[t]=e[t])}return s}var l=a.createContext({}),c=function(e){var n=a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},d=function(e){var n=c(e.components);return a.createElement(l.Provider,{value:n},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},m=a.forwardRef((function(e,n){var t=e.components,s=e.mdxType,r=e.originalType,l=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),p=c(t),m=s,k=p["".concat(l,".").concat(m)]||p[m]||u[m]||r;return t?a.createElement(k,o(o({ref:n},d),{},{components:t})):a.createElement(k,o({ref:n},d))}));function k(e,n){var t=arguments,s=n&&n.mdxType;if("string"==typeof e||s){var r=t.length,o=new Array(r);o[0]=m;var i={};for(var l in n)hasOwnProperty.call(n,l)&&(i[l]=n[l]);i.originalType=e,i[p]="string"==typeof e?e:s,o[1]=i;for(var c=2;cTaskfile.yml and not taskfile.yml",id:"use-taskfileyml-and-not-taskfileyml",level:2},{value:"Use the correct order of keywords",id:"use-the-correct-order-of-keywords",level:2},{value:"Use 2 spaces for indentation",id:"use-2-spaces-for-indentation",level:2},{value:"Separate with spaces the mains sections",id:"separate-with-spaces-the-mains-sections",level:2},{value:"Add spaces between tasks",id:"add-spaces-between-tasks",level:2},{value:"Use upper-case variable names",id:"use-upper-case-variable-names",level:2},{value:"Don't wrap vars in spaces when templating",id:"dont-wrap-vars-in-spaces-when-templating",level:2},{value:"Separate task name words with a dash",id:"separate-task-name-words-with-a-dash",level:2},{value:"Use colon for task namespacing",id:"use-colon-for-task-namespacing",level:2}],d={toc:c};function p(e){let{components:n,...t}=e;return(0,s.kt)("wrapper",(0,a.Z)({},d,t,{components:n,mdxType:"MDXLayout"}),(0,s.kt)("h1",{id:"styleguide"},"Styleguide"),(0,s.kt)("p",null,"This is the official Task styleguide for ",(0,s.kt)("inlineCode",{parentName:"p"},"Taskfile.yml")," files. This guide\ncontains some basic instructions to keep your Taskfile clean and familiar to\nother users."),(0,s.kt)("p",null,"This contains general guidelines, but they don't necessarily need to be strictly\nfollowed. Feel free to disagree and proceed differently at some point if you\nneed or want to. Also, feel free to open issues or pull requests with\nimprovements to this guide."),(0,s.kt)("h2",{id:"use-taskfileyml-and-not-taskfileyml"},"Use ",(0,s.kt)("inlineCode",{parentName:"h2"},"Taskfile.yml")," and not ",(0,s.kt)("inlineCode",{parentName:"h2"},"taskfile.yml")),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},"# bad\ntaskfile.yml\n\n\n# good\nTaskfile.yml\n")),(0,s.kt)("p",null,"This is important especially for Linux users. Windows and macOS have case\ninsensitive filesystems, so ",(0,s.kt)("inlineCode",{parentName:"p"},"taskfile.yml")," will end up working, even that not\nofficially supported. On Linux, only ",(0,s.kt)("inlineCode",{parentName:"p"},"Taskfile.yml")," will work, though."),(0,s.kt)("h2",{id:"use-the-correct-order-of-keywords"},"Use the correct order of keywords"),(0,s.kt)("ul",null,(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("inlineCode",{parentName:"li"},"version:")),(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("inlineCode",{parentName:"li"},"includes:")),(0,s.kt)("li",{parentName:"ul"},"Configuration ones, like ",(0,s.kt)("inlineCode",{parentName:"li"},"output:"),", ",(0,s.kt)("inlineCode",{parentName:"li"},"silent:"),", ",(0,s.kt)("inlineCode",{parentName:"li"},"method:")," and ",(0,s.kt)("inlineCode",{parentName:"li"},"run:")),(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("inlineCode",{parentName:"li"},"vars:")),(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("inlineCode",{parentName:"li"},"env:"),", ",(0,s.kt)("inlineCode",{parentName:"li"},"dotenv:")),(0,s.kt)("li",{parentName:"ul"},(0,s.kt)("inlineCode",{parentName:"li"},"tasks:"))),(0,s.kt)("h2",{id:"use-2-spaces-for-indentation"},"Use 2 spaces for indentation"),(0,s.kt)("p",null,"This is the most common convention for YAML files, and Task follows it."),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},"# bad\ntasks:\n foo:\n cmds:\n - echo 'foo'\n\n\n# good\ntasks:\n foo:\n cmds:\n - echo 'foo'\n")),(0,s.kt)("h2",{id:"separate-with-spaces-the-mains-sections"},"Separate with spaces the mains sections"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},"# bad\nversion: '3'\nincludes:\n docker: ./docker/Taskfile.yml\noutput: prefixed\nvars:\n FOO: bar\nenv:\n BAR: baz\ntasks:\n # ...\n\n\n# good\nversion: '3'\n\nincludes:\n docker: ./docker/Taskfile.yml\n\noutput: prefixed\n\nvars:\n FOO: bar\n\nenv:\n BAR: baz\n\ntasks:\n # ...\n")),(0,s.kt)("h2",{id:"add-spaces-between-tasks"},"Add spaces between tasks"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},"# bad\nversion: '3'\n\ntasks:\n foo:\n cmds:\n - echo 'foo'\n bar:\n cmds:\n - echo 'bar'\n baz:\n cmds:\n - echo 'baz'\n\n\n# good\nversion: '3'\n\ntasks:\n foo:\n cmds:\n - echo 'foo'\n\n bar:\n cmds:\n - echo 'bar'\n\n baz:\n cmds:\n - echo 'baz'\n")),(0,s.kt)("h2",{id:"use-upper-case-variable-names"},"Use upper-case variable names"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},"# bad\nversion: '3'\n\nvars:\n binary_name: myapp\n\ntasks:\n build:\n cmds:\n - go build -o {{.binary_name}} .\n\n\n# good\nversion: '3'\n\nvars:\n BINARY_NAME: myapp\n\ntasks:\n build:\n cmds:\n - go build -o {{.BINARY_NAME}} .\n")),(0,s.kt)("h2",{id:"dont-wrap-vars-in-spaces-when-templating"},"Don't wrap vars in spaces when templating"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},"# bad\nversion: '3'\n\ntasks:\n greet:\n cmds:\n - echo '{{ .MESSAGE }}'\n\n\n# good\nversion: '3'\n\ntasks:\n greet:\n cmds:\n - echo '{{.MESSAGE}}'\n")),(0,s.kt)("p",null,"This convention is also used by most people for any Go templating."),(0,s.kt)("h2",{id:"separate-task-name-words-with-a-dash"},"Separate task name words with a dash"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},"# bad\nversion: '3'\n\ntasks:\n do_something_fancy:\n cmds:\n - echo 'Do something'\n\n\n# good\nversion: '3'\n\ntasks:\n do-something-fancy:\n cmds:\n - echo 'Do something'\n")),(0,s.kt)("h2",{id:"use-colon-for-task-namespacing"},"Use colon for task namespacing"),(0,s.kt)("pre",null,(0,s.kt)("code",{parentName:"pre",className:"language-yaml"},"# good\nversion: '3'\n\ntasks:\n docker:build:\n cmds:\n - docker ...\n\n docker:run:\n cmds:\n - docker-compose ...\n")),(0,s.kt)("p",null,"This is also done automatically when using included Taskfiles."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.e68872a6.js b/assets/js/runtime~main.892028c8.js similarity index 97% rename from assets/js/runtime~main.e68872a6.js rename to assets/js/runtime~main.892028c8.js index 81bc4d48..186b66e2 100644 --- a/assets/js/runtime~main.e68872a6.js +++ b/assets/js/runtime~main.892028c8.js @@ -1 +1 @@ -!function(){"use strict";var e,t,n,r,o,f={},u={};function i(e){var t=u[e];if(void 0!==t)return t.exports;var n=u[e]={id:e,loaded:!1,exports:{}};return f[e].call(n.exports,n,n.exports,i),n.loaded=!0,n.exports}i.m=f,i.c=u,e=[],i.O=function(t,n,r,o){if(!n){var f=1/0;for(d=0;d=o)&&Object.keys(i.O).every((function(e){return i.O[e](n[a])}))?n.splice(a--,1):(u=!1,o0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[n,r,o]},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},i.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var o=Object.create(null);i.r(o);var f={};t=t||[null,n({}),n([]),n(n)];for(var u=2&r&&e;"object"==typeof u&&!~t.indexOf(u);u=n(u))Object.getOwnPropertyNames(u).forEach((function(t){f[t]=function(){return e[t]}}));return f.default=function(){return e},i.d(o,f),o},i.d=function(e,t){for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.f={},i.e=function(e){return Promise.all(Object.keys(i.f).reduce((function(t,n){return i.f[n](e,t),t}),[]))},i.u=function(e){return"assets/js/"+({34:"9beb87c2",53:"935f2afb",80:"4d54d076",102:"f5e0ac0d",133:"f1d66b0d",217:"3b8c55ea",252:"02371786",408:"10b6b177",514:"1be78505",552:"0afd354a",582:"f7fd502c",595:"d0766b26",648:"3c140c84",671:"0e384e19",705:"7d415946",713:"1c56b476",827:"6476eba6",836:"0480b142",840:"fece9508",880:"5ef0e9d6",918:"17896441",920:"1a4e3797"}[e]||e)+"."+{34:"e3d1628b",53:"f7f075d7",80:"c115a808",102:"94e68978",133:"6862b446",217:"54a24181",252:"4fb3f7b7",408:"dbb3244c",514:"9062895a",552:"082e89ee",582:"c1ec1a70",595:"c5627647",648:"d8e503f2",671:"47884a35",705:"dc7fd676",713:"a80a00cf",780:"b979b06f",827:"fa3f1cc9",836:"dc0a1ee0",840:"1f20fde6",880:"378b917a",894:"4bf7d380",918:"e75765f6",920:"a9132d06",945:"3694633c",972:"01a5a892"}[e]+".js"},i.miniCssF=function(e){},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="taskfile-dev:",i.l=function(e,t,n,f){if(r[e])r[e].push(t);else{var u,a;if(void 0!==n)for(var c=document.getElementsByTagName("script"),d=0;d=o)&&Object.keys(i.O).every((function(e){return i.O[e](n[a])}))?n.splice(a--,1):(u=!1,o0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[n,r,o]},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},i.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var o=Object.create(null);i.r(o);var f={};t=t||[null,n({}),n([]),n(n)];for(var u=2&r&&e;"object"==typeof u&&!~t.indexOf(u);u=n(u))Object.getOwnPropertyNames(u).forEach((function(t){f[t]=function(){return e[t]}}));return f.default=function(){return e},i.d(o,f),o},i.d=function(e,t){for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.f={},i.e=function(e){return Promise.all(Object.keys(i.f).reduce((function(t,n){return i.f[n](e,t),t}),[]))},i.u=function(e){return"assets/js/"+({34:"9beb87c2",53:"935f2afb",80:"4d54d076",102:"f5e0ac0d",133:"f1d66b0d",217:"3b8c55ea",252:"02371786",408:"10b6b177",514:"1be78505",552:"0afd354a",582:"f7fd502c",595:"d0766b26",648:"3c140c84",671:"0e384e19",705:"7d415946",713:"1c56b476",827:"6476eba6",836:"0480b142",840:"fece9508",880:"5ef0e9d6",918:"17896441",920:"1a4e3797"}[e]||e)+"."+{34:"e3d1628b",53:"f7f075d7",80:"c115a808",102:"94e68978",133:"6862b446",217:"54a24181",252:"4fb3f7b7",408:"dbb3244c",514:"9062895a",552:"082e89ee",582:"c1ec1a70",595:"c5627647",648:"a797772f",671:"47884a35",705:"dc7fd676",713:"a80a00cf",780:"b979b06f",827:"fa3f1cc9",836:"b4b26960",840:"1f20fde6",880:"378b917a",894:"4bf7d380",918:"e75765f6",920:"a9132d06",945:"3694633c",972:"01a5a892"}[e]+".js"},i.miniCssF=function(e){},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="taskfile-dev:",i.l=function(e,t,n,f){if(r[e])r[e].push(t);else{var u,a;if(void 0!==n)for(var c=document.getElementsByTagName("script"),d=0;d