diff --git a/.goreleaser.yml b/.goreleaser.yml index fa4af340..e5ebdc42 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -9,3 +9,6 @@ builds: - linux goarch: - amd64 + +archive: + wrap_in_directory: true diff --git a/Gopkg.lock b/Gopkg.lock index ef289b39..d59fa66b 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -88,6 +88,12 @@ packages = ["."] revision = "71ecf1f4299c6d72b16d20da72405b7e85ac8720" +[[projects]] + branch = "master" + name = "github.com/xanzy/go-gitlab" + packages = ["."] + revision = "73e9df58a3194b1256edae4d2e819603f06d428c" + [[projects]] branch = "master" name = "github.com/yfronto/newrelic" @@ -164,6 +170,6 @@ [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "b0e632406212933c5f4d7652db7aa06e63f4ed94d38ceb823e5c51b865c20be0" + inputs-digest = "fd122eb7175ffd7db7cb197de13e0b850231ec9269a63a8ca9d117a8aa50d7e5" solver-name = "gps-cdcl" solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml index c18c9146..e64c4c7b 100644 --- a/Gopkg.toml +++ b/Gopkg.toml @@ -41,6 +41,10 @@ name = "github.com/google/go-github" branch = "master" +[[constraint]] + name = "github.com/xanzy/go-gitlab" + branch = "master" + [[constraint]] name = "github.com/jessevdk/go-flags" version = "1.4.0" diff --git a/_site/content/posts/modules/circleci.md b/_site/content/posts/modules/circleci.md new file mode 100644 index 00000000..4a2df2d9 --- /dev/null +++ b/_site/content/posts/modules/circleci.md @@ -0,0 +1,53 @@ +--- +title: "CircleCI" +date: 2018-06-10T19:26:08-04:00 +draft: false +--- + +Added in `v0.0.7`. + +Displays build information for your CircleCI account. + +circleci screenshot + +## Source Code + +```bash +wtf/circleci/ +``` + +## Required ENV Variables + +Key: `WTF_CIRCLE_API_KEY`
+Value: Your CircleCI API +token. + +## Keyboard Commands + +None. + +## Configuration + +```yaml +circleci: + enabled: true + position: + top: 4 + left: 1 + height: 1 + width: 2 + refreshInterval: 900 +``` + +### Attributes + +`enabled`
+Determines whether or not this module is executed and if its data displayed onscreen.
+Values: `true`, `false`. + +`position`
+Defines where in the grid this module's widget will be displayed.
+ +`refreshInterval`
+How often, in seconds, this module will update its data.
+Values: A positive integer, `0..n`. diff --git a/_site/content/posts/modules/gcal.md b/_site/content/posts/modules/gcal.md index ef6a70dd..03593431 100644 --- a/_site/content/posts/modules/gcal.md +++ b/_site/content/posts/modules/gcal.md @@ -19,11 +19,7 @@ wtf/gcal/ ## Required ENV Variables -Key: `WTF_GOOGLE_CAL_CLIENT_ID`
-Value: Your Google API client ID. - -Key: `WTF_GOOGLE_CAL_CLIENT_SECRET`
-Value: Your Google API client secret. +None. ## Keyboard Commands diff --git a/_site/content/posts/modules/gitlab.md b/_site/content/posts/modules/gitlab.md new file mode 100644 index 00000000..df9f744f --- /dev/null +++ b/_site/content/posts/modules/gitlab.md @@ -0,0 +1,90 @@ +--- +title: "Gitlab" +date: 2018-06-08T13:14:11-07:00 +draft: false +--- + +Added in `v0.0.8`. + +gitlab screenshot + +Displays information about your projects hosted on Gitlab: + +#### Open Approval Requests + +All open merge requests that are requesting your approval. + +#### Open Merge Requests + +All open merge requests created by you. + +## Source Code + +```bash +wtf/gitlab/ +``` + +## Required ENV Variables + +Key: `WTF_GITLAB_TOKEN`
+Action: A Gitlab personal access token. Requires at least `api` access. + +## Keyboard Commands + +Key: `/`
+Action: Open/close the widget's help window. + +Key: `h`
+Action: Show the previous project. + +Key: `l`
+Action: Show the next project. + +Key: `←`
+Action: Show the previous project. + +Key: `→`
+Action: Show the next project. + +## Configuration + +```yaml +gitlab: + enabled: true + position: + top: 2 + left: 3 + height: 2 + width: 2 + refreshInterval: 300 + projects: + tasks: "gitlab-org/release" + gitlab-ce: "gitlab-org" + username: "senorprogrammer" +``` + +### Attributes + +`enabled`
+Determines whether or not this module is executed and if its data displayed onscreen.
+Values: `true`, `false`. + +`position`
+Defines where in the grid this module's widget will be displayed.
+ +`refreshInterval`
+How often, in seconds, this module will update its data.
+Values: A positive integer, `0..n`. + +`domain`
+_Optional_. Your Gitlab corporate domain.
+Values: A valid URI. + +`projects`
+A list of key/value pairs each describing a Gitlab project to fetch data +for.
+Key: The name of the project.
+Value: The namespace of the project. + +`username`
+Your Gitlab username. Used to figure out which requests require your approval diff --git a/_site/content/posts/modules/gspreadsheet.md b/_site/content/posts/modules/gspreadsheet.md new file mode 100644 index 00000000..0d3e5a94 --- /dev/null +++ b/_site/content/posts/modules/gspreadsheet.md @@ -0,0 +1,70 @@ +--- +title: "Google Spreadsheets" +date: 2018-06-10T18:26:26-04:00 +draft: false +--- + +Added in `v0.0.7`. + +Display information from cells in a Google Spreadsheet. + +```bash +wtf/gspreadsheets/ +``` + +## Required ENV Variables + +None. + +## Keyboard Commands + +None. + +## Configuration + +```yaml +gspreadsheets: + colors: + values: "green" + cells: + names: + - "Cell 1 name" + - "Cell 2 name" + addresses: + - "A1" + - "A2" + enabled: true + position: + top: 0 + left: 0 + width: 1 + height: 1 + refreshInterval: "300" + secretFile: "~/.wtf/gspreadsheets/client_secret.json" + sheetId: "id_of_google_spreadsheet" +``` + +### Attributes + +`colors.values`
+The color to display the cell values in.
+Values: Any X11 color name. + +`cells.names`
+ +`cells.addresses`
+ +`enabled`
+Whether or not this module is executed and if its data displayed onscreen.
+Values: `true`, `false`. + +`position`
+Where in the grid this module's widget will be displayed.
+ +`refreshInterval`
+How often, in seconds, this module will update its data.
+Values: A positive integer, `0..n`. + +`secretFile`
+Your Google client secret JSON file.
+Values: A string representing a file path to the JSON secret file. diff --git a/_site/content/posts/modules/ipapi.md b/_site/content/posts/modules/ipapi.md new file mode 100644 index 00000000..986aa172 --- /dev/null +++ b/_site/content/posts/modules/ipapi.md @@ -0,0 +1,62 @@ +--- +title: "IP-API" +date: 2018-06-10T19:41:52-04:00 +draft: false +--- + +Added in `v0.0.7`. + +Displays your current IP address information, from [IP-APIcom](http://ip-api.com). + +**Note:** IP-API.com has a free-plan rate limit of 120 requests per +minute. + +## Source Code + +```bash +wtf/ipapi/ +``` + +## Required ENV Variables + +None. + +## Keyboard Commands + +None. + +## Configuration + +```yaml +ipinfo: + colors: + name: red + value: white + enabled: true + position: + top: 1 + left: 2 + height: 1 + width: 1 + refreshInterval: 150 +``` +### Attributes + +`colors.name`
+The default colour for the row names.
+Values: Any X11 color name. + +`colors.value`
+The default colour for the row values.
+Values: Any X11 color name. + +`enabled`
+Determines whether or not this module is executed and if its data displayed onscreen.
+Values: `true`, `false`. + +`position`
+Defines where in the grid this module's widget will be displayed.
+ +`refreshInterval`
+How often, in seconds, this module will update its data.
+Values: A positive integer, `0..n`. diff --git a/_site/content/posts/modules/jenkins.md b/_site/content/posts/modules/jenkins.md new file mode 100644 index 00000000..c556998e --- /dev/null +++ b/_site/content/posts/modules/jenkins.md @@ -0,0 +1,63 @@ +--- +title: "Modules: Jenkins" +date: 2018-06-09T20:53:35-07:00 +draft: false +--- + +Added in `v0.0.8`. + +Displays jenkins status of given builds in a project or view + +jenkins screenshot + +## Source Code + +```bash +wtf/jenkins/ +``` + +## Required ENV Variables + +Key: `WTF_JENKINS_API_KEY`
+Value: Your Jenkins API key. + +## Keyboard Commands + +None. + +## Configuration + +```yaml +jenkins: + enabled: true + position: + top: 2 + left: 3 + height: 2 + width: 3 + refreshInterval: 300 + url: "https://jenkins.domain.com/jenkins/view_url" + user: "username" +``` + +### Attributes + +`enabled`
+Determines whether or not this module is executed and if its data displayed onscreen.
+Values: `true`, `false`. + +`position`
+Defines where in the grid this module's widget will be displayed. + +`refreshInterval`
+How often, in seconds, this module will update its data.
+Values: A positive integer, `0..n`. + +`user`
+Your Jenkins username.
+ +`url`
+The url to your Jenkins project or view.
+Values: A valid URI. + diff --git a/_site/content/posts/modules/jira.md b/_site/content/posts/modules/jira.md index 08479c62..a25cc1f3 100644 --- a/_site/content/posts/modules/jira.md +++ b/_site/content/posts/modules/jira.md @@ -25,6 +25,8 @@ None. ## Configuration +### Single Jira Project + ```yaml jira: colors: @@ -40,7 +42,32 @@ jira: left: 1 height: 1 width: 2 - project: "JIRA" + project: "ProjectA" + refreshInterval: 900 + username: "chris.cummer" +``` + +### Multiple Jira Projects + +If you want to monitor multiple Jira projects, use the following +configuration (note the difference in `project`): + +```yaml +jira: + colors: + rows: + even: "lightblue" + odd: "white" + domain: "https://umbrellacorp.atlassian.net" + email: "chriscummer@me.com" + enabled: true + jql: "issueType = Story" + position: + top: 4 + left: 1 + height: 1 + width: 2 + project: ["ProjectA", "ProjectB"] refreshInterval: 900 username: "chris.cummer" ``` diff --git a/_site/static/imgs/modules/circleci.png b/_site/static/imgs/modules/circleci.png new file mode 100644 index 00000000..e2447b41 Binary files /dev/null and b/_site/static/imgs/modules/circleci.png differ diff --git a/_site/static/imgs/modules/gitlab.png b/_site/static/imgs/modules/gitlab.png new file mode 100644 index 00000000..6e806a41 Binary files /dev/null and b/_site/static/imgs/modules/gitlab.png differ diff --git a/_site/static/imgs/modules/jenkins.png b/_site/static/imgs/modules/jenkins.png new file mode 100644 index 00000000..5074eca1 Binary files /dev/null and b/_site/static/imgs/modules/jenkins.png differ diff --git a/_site/themes/hyde-hyde/layouts/partials/sidebar.html b/_site/themes/hyde-hyde/layouts/partials/sidebar.html index 7d593f21..6379bf87 100644 --- a/_site/themes/hyde-hyde/layouts/partials/sidebar.html +++ b/_site/themes/hyde-hyde/layouts/partials/sidebar.html @@ -24,13 +24,18 @@ + + + + + diff --git a/docs/404.html b/docs/404.html index 262aef29..34799494 100644 --- a/docs/404.html +++ b/docs/404.html @@ -65,13 +65,18 @@ + + + + + diff --git a/docs/categories/index.html b/docs/categories/index.html index 8803ffb8..1cfe3602 100644 --- a/docs/categories/index.html +++ b/docs/categories/index.html @@ -67,13 +67,18 @@ + + + + + diff --git a/docs/imgs/modules/circleci.png b/docs/imgs/modules/circleci.png new file mode 100644 index 00000000..e2447b41 Binary files /dev/null and b/docs/imgs/modules/circleci.png differ diff --git a/docs/imgs/modules/gitlab.png b/docs/imgs/modules/gitlab.png new file mode 100644 index 00000000..6e806a41 Binary files /dev/null and b/docs/imgs/modules/gitlab.png differ diff --git a/docs/imgs/modules/jenkins.png b/docs/imgs/modules/jenkins.png new file mode 100644 index 00000000..5074eca1 Binary files /dev/null and b/docs/imgs/modules/jenkins.png differ diff --git a/docs/index.html b/docs/index.html index fb5764ed..a3633563 100644 --- a/docs/index.html +++ b/docs/index.html @@ -66,13 +66,18 @@ + + + + + diff --git a/docs/index.xml b/docs/index.xml index 28d48bd1..b1b99da1 100644 --- a/docs/index.xml +++ b/docs/index.xml @@ -6,11 +6,86 @@ Recent content on WTF - A Terminal Dashboard Hugo -- gohugo.io en-us - Mon, 04 Jun 2018 20:06:40 -0700 + Sun, 10 Jun 2018 19:41:52 -0400 + + IP-API + https://wtfutil.com/posts/modules/ipapi/ + Sun, 10 Jun 2018 19:41:52 -0400 + + https://wtfutil.com/posts/modules/ipapi/ + Added in v0.0.7. +Displays your current IP address information, from IP-APIcom. +Note: IP-API.com has a free-plan rate limit of 120 requests per minute. +Source Code wtf/ipapi/ Required ENV Variables None. +Keyboard Commands None. +Configuration ipinfo:colors:name:redvalue:whiteenabled:trueposition:top:1left:2height:1width:1refreshInterval:150 Attributes colors.name The default colour for the row names. Values: Any X11 color name. +colors.value The default colour for the row values. Values: Any X11 color name. +enabled Determines whether or not this module is executed and if its data displayed onscreen. + + + + CircleCI + https://wtfutil.com/posts/modules/circleci/ + Sun, 10 Jun 2018 19:26:08 -0400 + + https://wtfutil.com/posts/modules/circleci/ + Added in v0.0.7. +Displays build information for your CircleCI account. +Source Code wtf/circleci/ Required ENV Variables Key: WTF_CIRCLE_API_KEY Value: Your CircleCI API token. +Keyboard Commands None. +Configuration circleci:enabled:trueposition:top:4left:1height:1width:2refreshInterval:900 Attributes enabled Determines whether or not this module is executed and if its data displayed onscreen. Values: true, false. +position Defines where in the grid this module’s widget will be displayed. refreshInterval How often, in seconds, this module will update its data. + + + + Google Spreadsheets + https://wtfutil.com/posts/modules/gspreadsheet/ + Sun, 10 Jun 2018 18:26:26 -0400 + + https://wtfutil.com/posts/modules/gspreadsheet/ + Added in v0.0.7. +Display information from cells in a Google Spreadsheet. +wtf/gspreadsheets/ Required ENV Variables None. +Keyboard Commands None. +Configuration gspreadsheets:colors:values:"green"cells:names:-"Cell 1 name"-"Cell 2 name"addresses:-"A1"-"A2"enabled:trueposition:top:0left:0width:1height:1refreshInterval:"300"secretFile:"~/.wtf/gspreadsheets/client_secret.json"sheetId:"id_of_google_spreadsheet" Attributes colors.values The color to display the cell values in. Values: Any X11 color name. +cells.names cells.addresses enabled Whether or not this module is executed and if its data displayed onscreen. Values: true, false. +position Where in the grid this module’s widget will be displayed. + + + + Modules: Jenkins + https://wtfutil.com/posts/modules/jenkins/ + Sat, 09 Jun 2018 20:53:35 -0700 + + https://wtfutil.com/posts/modules/jenkins/ + Added in v0.0.8. +Displays jenkins status of given builds in a project or view +Source Code wtf/jenkins/ Required ENV Variables Key: WTF_JENKINS_API_KEY Value: Your Jenkins API key. +Keyboard Commands None. +Configuration jenkins:enabled:trueposition:top:2left:3height:2width:3refreshInterval:300url:"https://jenkins.domain.com/jenkins/view_url"user:"username" Attributes enabled Determines whether or not this module is executed and if its data displayed onscreen. Values: true, false. +position Defines where in the grid this module’s widget will be displayed. +refreshInterval How often, in seconds, this module will update its data. + + + + Gitlab + https://wtfutil.com/posts/modules/gitlab/ + Fri, 08 Jun 2018 13:14:11 -0700 + + https://wtfutil.com/posts/modules/gitlab/ + Added in v0.0.8. +Displays information about your projects hosted on Gitlab: +Open Approval Requests All open merge requests that are requesting your approval. +Open Merge Requests All open merge requests created by you. +Source Code wtf/gitlab/ Required ENV Variables Key: WTF_GITLAB_TOKEN Action: A Gitlab personal access token. Requires at least api access. +Keyboard Commands Key: / Action: Open/close the widget’s help window. +Key: h Action: Show the previous project. + + Bittrex https://wtfutil.com/posts/modules/cryptocurrencies/bittrex/ @@ -174,10 +249,8 @@ Key: j Action: Select the next item in the list. Displays all Jira issues assigned to you for the specified project. Source Code wtf/jira/ Required ENV Variables Key: WTF_JIRA_API_KEY Value: Your Jira API key. Keyboard Commands None. -Configuration jira:colors:rows:even:"lightblue"odd:"white"domain:"https://umbrellacorp.atlassian.net"email:"chriscummer@me.com"enabled:truejql:"issueType = Story"position:top:4left:1height:1width:2project:"JIRA"refreshInterval:900username:"chris.cummer" Attributes colors.rows.even Define the foreground color for even-numbered rows. Values: Any X11 color name. -colors.rows.odd Define the foreground color for odd-numbered rows. Values: Any X11 color name. -domain Your Jira corporate domain. Values: A valid URI. -email The email address associated with your Jira account. +Configuration Single Jira Project jira:colors:rows:even:"lightblue"odd:"white"domain:"https://umbrellacorp.atlassian.net"email:"chriscummer@me.com"enabled:truejql:"issueType = Story"position:top:4left:1height:1width:2project:"ProjectA"refreshInterval:900username:"chris.cummer" Multiple Jira Projects If you want to monitor multiple Jira projects, use the following configuration (note the difference in project): +jira:colors:rows:even:"lightblue"odd:"white"domain:"https://umbrellacorp.atlassian.net"email:"chriscummer@me.com"enabled:truejql:"issueType = Story"position:top:4left:1height:1width:2project:["ProjectA","ProjectB"]refreshInterval:900username:"chris.cummer" Attributes colors.rows.even Define the foreground color for even-numbered rows. Values: Any X11 color name. @@ -188,9 +261,9 @@ email The email address associated with your Jira account. https://wtfutil.com/posts/modules/gcal/ Displays your upcoming Google calendar events. Not: Setting up access to Google Calendars for Go is a bit unobvious. Check out Google’s Go Quickstart first and if you have problems, then take a look at this comment by WesleydeSouza which offers a slightly different approach. -Source Code wtf/gcal/ Required ENV Variables Key: WTF_GOOGLE_CAL_CLIENT_ID Value: Your Google API client ID. -Key: WTF_GOOGLE_CAL_CLIENT_SECRET Value: Your Google API client secret. -Keyboard Commands None. +Source Code wtf/gcal/ Required ENV Variables None. +Keyboard Commands None. +Configuration gcal:colors:title:"red"description:"lightblue"highlights:-['1on1|1\/11','green']-['apple|google|aws','blue']-['interview|meet','magenta']-['lunch','yellow']past:"gray"conflictIcon:"🚨"currentIcon:"💥"displayResponseStatus:trueemail:"chriscummer@me.com"enabled:trueeventCount:12position:top:0left:0height:4width:1refreshInterval:300secretFile:"~/.wtf/gcal/client_secret.json"withLocation:true Attributes colors.title The default colour for calendar event titles. Values: Any X11 color name. diff --git a/docs/posts/configuration/attributes/index.html b/docs/posts/configuration/attributes/index.html index bd308fdf..cd9e2280 100644 --- a/docs/posts/configuration/attributes/index.html +++ b/docs/posts/configuration/attributes/index.html @@ -65,13 +65,18 @@ + + + + + diff --git a/docs/posts/configuration/index.html b/docs/posts/configuration/index.html index 067aab24..5c1f870d 100644 --- a/docs/posts/configuration/index.html +++ b/docs/posts/configuration/index.html @@ -65,13 +65,18 @@ + + + + + diff --git a/docs/posts/configuration/iterm2/index.html b/docs/posts/configuration/iterm2/index.html index ba679394..883a77a1 100644 --- a/docs/posts/configuration/iterm2/index.html +++ b/docs/posts/configuration/iterm2/index.html @@ -65,13 +65,18 @@ + + + + + diff --git a/docs/posts/glossary/index.html b/docs/posts/glossary/index.html index b88135ae..7bdf108b 100644 --- a/docs/posts/glossary/index.html +++ b/docs/posts/glossary/index.html @@ -65,13 +65,18 @@ + + + + + diff --git a/docs/posts/index.html b/docs/posts/index.html index 120d52e0..bd8fb7f0 100644 --- a/docs/posts/index.html +++ b/docs/posts/index.html @@ -67,13 +67,18 @@ + + + + + @@ -99,6 +104,41 @@

Posts