1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00

First pass at new site template

This commit is contained in:
Chris Cummer
2018-08-03 05:03:26 -07:00
committed by Chris Cummer
parent 215c7e571f
commit d872a28cf7
392 changed files with 41395 additions and 222 deletions

View File

@@ -0,0 +1,21 @@
---
title: "Modules"
date: 2018-05-07T18:04:58-07:00
draft: false
weight: 10
---
The heart of WTF is the modules. A module is a discreet unit of
functionality that extracts data from some source and packages that data
for display.
For example, the <a href="/posts/modules/newrelic">New Relic</a> module
uses New Relic's API to retrieve a list of the latest deploys and
packages that information as a list for display in the "New Relic"
widget.
The <a href="/posts/modules/clocks">Clocks</a> module takes a list of
timezones and packages that information as a list of city/time pairs for
display in the "Clocks" widget.
See available modules at left.

View File

@@ -0,0 +1,48 @@
---
title: "BambooHR"
date: 2018-05-07T20:17:37-07:00
draft: false
weight: 10
---
Connects to the BambooHR API and displays who will be Away today.
## Source Code
```bash
wtf/bamboohr/
```
## Configuration
```yaml
bamboohr:
apiKey: "3276d7155dd9ee27b8b14f8743a408a9"
enabled: true
position:
top: 0
left: 1
height: 2
width: 1
refreshInterval: 900
subdomain: "testco"
```
### Attributes
`apiKey` <br />
Value: Your <a href="https://www.bamboohr.com/api/documentation/">BambooHR API</a> token.
`enabled` <br />
Whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: Any positive integer, `0..n`.
`subdomain` <br />
Value: Your <a href="https://www.bamboohr.com/api/documentation/">BambooHR API</a> subdomain name.

View File

@@ -0,0 +1,49 @@
---
title: "CircleCI"
date: 2018-06-10T19:26:08-04:00
draft: false
weight: 20
---
<img src="/imgs/modules/circleci.png" class="screenshot" width="609" height="150" alt="circleci screenshot" />
Added in `v0.0.7`.
Displays build information for your CircleCI account.
## Source Code
```bash
wtf/circleci/
```
## Configuration
```yaml
circleci:
apiKey: "3276d7155dd9ee27b8b14f8743a408a9"
enabled: true
position:
top: 4
left: 1
height: 1
width: 2
refreshInterval: 900
```
### Attributes
`apiKey` <br />
Value: Your <a href="https://circleci.com/account/api">CircleCI API</a> token.
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.

View File

@@ -0,0 +1,79 @@
---
title: "Clocks"
date: 2018-05-07T19:47:31-07:00
draft: false
weight: 30
---
<img src="/imgs/modules/clocks.png" class="screenshot" width="320" height="191" alt="clocks screenshot" />
Displays a configurable list of world clocks, the local time, and date.
## Source Code
```bash
wtf/clocks/
```
## Configuration
```yaml
clocks:
colors:
rows:
even: "lightblue"
odd: "white"
enabled: true
locations:
# From https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
Avignon: "Europe/Paris"
Barcelona: "Europe/Madrid"
Dubai: "Asia/Dubai"
New York: "America/New York"
Toronto: "America/Toronto"
UTC: "Etc/UTC"
Vancouver: "America/Vancouver"
position:
top: 4
left: 0
height: 1
width: 1
refreshInterval: 15
# Valid options are: alphabetical, chronological
sort: "alphabetical"
```
### Attributes
`colors.rows.even` <br />
The foreground color for even-numbered rows. <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11
color name</a>.
`colors.rows.odd` <br />
The foreground color for the odd-numbered rows. <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11
color name</a>.
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`locations` <br />
Defines the timezones for the world clocks that you want to display.
`key` is a unique label that will be displayed in the UI. `value` is a
timezone name. <br />
Values: Any <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones">TZ database timezone</a>.
`position` <br />
Defines where in the grid this module's widget will be displayed.
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.
`sort` <br />
Defines the display order of the clocks in the widget. <br />
Values: `alphabetical` or `chronological`. `alphabetical` will sort in
acending order by `key`, `chronological` will sort in ascending order by
date/time.

View File

@@ -0,0 +1,53 @@
---
title: "CmdRunner"
date: 2018-05-17T17:17:10-07:00
draft: false
weight: 40
---
Runs a terminal command on a schedule.
## Source Code
```bash
wtf/cmdrunner/
```
## Configuration
```yaml
cmdrunner:
args: ["-g", "batt"]
cmd: "pmset"
enabled: true
position:
top: 6
left: 1
height: 1
width: 3
refreshInterval: 30
```
### Attributes
`args` <br />
The arguments to the command, with each item as an element in an array.
Example: for `curl -I cisco.com`, the arguments array would be `["-I", "cisco.com"]`.
`cmd` <br />
The terminal command to be run, withouth the arguments. Ie: `ping`,
`whoami`, `curl`. <br />
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed.
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.

View File

@@ -0,0 +1,8 @@
---
title: "Crypo Currencies"
date: 2018-05-07T18:04:58-07:00
draft: false
weight: 50
---
For all modules cryptocurrency-related.

View File

@@ -0,0 +1,80 @@
---
title: "Bittrex"
date: 2018-06-04T20:06:40-07:00
draft: false
weight: 5
---
<img class="screenshot" src="/imgs/modules/bittrex.png" width="320" height="412" alt="bittrex screenshot" />
Added in `v0.0.5`.
Get the last 24 hour summary of cryptocurrencies market using [Bittrex](https://bittrex.com).
## Source Code
```bash
wtf/cryptoexchanges/bittrex/
```
## Configuration
```yaml
bittrex:
enabled: true
position:
top: 1
left: 2
height: 3
width: 1
refreshInterval: 5
summary:
BTC:
displayName: Bitcoin
market:
- LTC
- ETH
colors:
base:
name: orange
displayName: red
market:
name: red
field: white
value: green
```
### Attributes
`colors.base.name` <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11
color name</a>.
`colors.base.dispayName` <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11
color name</a>.
`colors.market.name` <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11
color name</a>.
`colors.market.field` <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11
color name</a>.
`colors.market.value` <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11
color name</a>.
`summary` <br />
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.

View File

@@ -0,0 +1,69 @@
---
title: "Blockfolio"
date: 2018-06-13T09:29:59-07:00
draft: false
weight: 10
---
<img class="screenshot" src="/imgs/modules/blockfolio.png" width="320" height="185" alt="blockfolio screenshot" />
Added in `v0.0.8`.
Display your Blockfolio crypto holdings.
## Source
```bash
wtf/blockfolio/
```
## Configuration
```yaml
blockfolio:
colors:
name: blue
grows: green
drop: red
device_token: "device token"
displayHoldings: true
enabled: true
position:
top: 3
left: 1
width: 1
height: 1
refreshInterval: 400
```
### Attributes
`colors.name` <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11
color name</a>.
`colors.grows` <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11
color name</a>.
`colors.drop` <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11
color name</a>.
`device_token` <br />
Value: See [this gist](https://github.com/bob6664569/blockfolio-api-client) for
details on how to get your Blockfolio API token.
`displayHoldings` <br />
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.

View File

@@ -0,0 +1,99 @@
---
title: "CryptoLive"
date: 2018-06-03T20:06:40-07:00
draft: false
weight: 15
---
<img class="screenshot" src="/imgs/modules/cryptolive.png" width="320" height="203" alt="cryptolive screenshot" />
Added in `v0.0.5`.
Compare crypto currencies using [CryptoCompare](https://cryptocompare.com).
## Source Code
```bash
wtf/cryptoexchanges/cryptolive/
```
## Configuration
```yaml
cryptolive:
enabled: true
position:
top: 5
left: 2
height: 1
width: 2
updateInterval: 15
currencies:
BTC:
displayName: Bitcoin
to:
- USD
- EUR
- ETH
- LTC
- DOGE
LTC:
displayName: Ethereum
to:
- USD
- EUR
- BTC
top:
BTC:
displayName: Bitcoin
limit: 5
to:
- USD
colors:
from:
name: coral
displayName: grey
to:
name: white
price: green
top:
from:
name: grey
displayName: coral
to:
name: red
field: white
value: green
```
### Attributes
`colors.from.name` <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11
color name</a>.
`colors.from.dispayName` <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11
color name</a>.
`colors.to.name` <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11
color name</a>.
`colors.to.price` <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11
color name</a>.
`currencies` <br />
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.

View File

@@ -0,0 +1,125 @@
---
title: "Google Calendar"
date: 2018-05-10T08:25:33-07:00
draft: false
weight: 60
---
<img class="screenshot" src="/imgs/modules/gcal.png" width="320" height="389" alt="gcal screenshot" />
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](https://developers.google.com/calendar/quickstart/go)
first and if you have problems, then take a look at this [comment by WesleydeSouza](https://github.com/senorprogrammer/wtf/issues/83#issuecomment-393665229) which offers a slightly different approach.
## Source Code
```bash
wtf/gcal/
```
## Configuration
```yaml
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: true
email: "chriscummer@me.com"
enabled: true
eventCount: 12
multiCalendar: true
position:
top: 0
left: 0
height: 4
width: 1
refreshInterval: 300
secretFile: "~/.config/wtf/gcal/client_secret.json"
showDeclined: true
withLocation: true
```
### Attributes
`colors.title` <br />
The default colour for calendar event titles. <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11 color</a> name.
`colors.description` <br />
The default color for calendar event descriptions. <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11 color</a> name.
`colors.highlights` <br />
A list of arrays that define a regular expression pattern and a color.
If a calendar event title matches a regular expression, the title will
be drawn in that colour. Over-rides the default title colour. <br />
Values: [a valid regular expression, any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11 color</a> name.]
`colors.past` <br />
The color for calendar events that have passed. <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11 color</a> name.
`conflictIcon` <br />
The icon displayed beside calendar events that have conflicting times
(they intersect or overlap in some way). <br />
Values: Any displayable unicode character.
`currentIcon` <br />
The icon displayed beside the current calendar event. <br />
Values: Any displayable unicode character.
`displayLocation` <br />
Whether or not to display the location of the calendar event. <br />
Values: `true`, `false`.
`displayResponseStatus` <br />
Whether or not to display your response status to the calendar event.
<br />
Values: `true`, `false`.
`email` <br />
The email address associated with your Google account. Necessary for
determining `responseStatus`. <br />
Values: A valid email address string.
`enabled` <br />
Whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`eventCount` <br />
The number of calendar events to display. <br />
Values: A positive integer, `0..n`.
`multiCalendar` <br />
Whether or not to display your primary calendar or all calendars you
have access to. <br />
Values: `true`, or `false`
`position` <br />
Where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.
`secretFile` <br />
Your <a href="https://developers.google.com/calendar/quickstart/go">Google client secret</a> JSON file. <br />
Values: A string representing a file path to the JSON secret file.
`showDeclined` <br />
_Optional_. Whether or not to display events you've declined to attend. <br />
Values: `true`, or `false`
`withLocation` <br />
Whether or not to show the location of the appointment. <br />
Values: `true`, or `false`

View File

@@ -0,0 +1,124 @@
---
title: "Gerrit"
date: 2018-06-27T15:55:42-07:00
draft: false
weight: 70
---
<img class="screenshot" src="/imgs/modules/gerrit.png" width="640" height="167" alt="gerrit screenshot" />
Displays information about your projects hosted on Gerrit:
#### Open Incoming Reviews
All open reviews that are requesting your approval.
#### My Outgoing Reviews
All open reviews created by you.
## Source Code
```bash
wtf/gerrit/
```
## Keyboard Commands
<span class="caption">Key:</span> `/` <br />
<span class="caption">Action:</span> Open/close the widget's help window.
<span class="caption">Key:</span> `h` <br />
<span class="caption">Action:</span> Show the previous project.
<span class="caption">Key:</span> `l` <br />
<span class="caption">Action:</span> Show the next project.
<span class="caption">Key:</span> `j` <br />
<span class="caption">Action:</span> Select the next review in the list.
<span class="caption">Key:</span> `k` <br />
<span class="caption">Action:</span> Select the previous review in the list.
<span class="caption">Key:</span> `r` <br />
<span class="caption">Action:</span> Refresh the data.
<span class="caption">Key:</span> `←` <br />
<span class="caption">Action:</span> Show the previous project.
<span class="caption">Key:</span> `→` <br />
<span class="caption">Action:</span> Show the next project.
<span class="caption">Key:</span> `↓` <br />
<span class="caption">Action:</span> Select the next review in the list.
<span class="caption">Key:</span> `↑` <br />
<span class="caption">Action:</span> Select the previous review in the list.
<span class="caption">Key:</span> `[return]` <br />
<span class="caption">Action:</span> Open the selected review in the browser.
## Configuration
```yaml
gerrit:
colors:
rows:
even: "lightblue"
odd: "white"
domain: https://gerrit-review.googlesource.com
enabled: true
password: "mypassword"
position:
top: 2
left: 3
height: 2
width: 2
projects:
- org/test-project"
- dotfiles
refreshInterval: 300
username: "myname"
verifyServerCertificate: false
```
### Attributes
`colors.rows.even` <br />
Define the foreground color for even-numbered rows. <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11
color name</a>.
`colors.rows.odd` <br />
Define the foreground color for odd-numbered rows. <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11
color name</a>.
`domain` <br />
Your Gerrit corporate domain. <br />
Values: A valid URI.
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`password` <br />
Value: Your <a href="https://gerrit-review.googlesource.com/Documentation/user-upload.html#http">Gerrit HTTP Password</a>.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`projects` <br />
A list of Gerrit project names to fetch data for. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.
`username` <br />
Your Gerrit username.
`verifyServerCertificate` <br />
_Optional_ <br />
Determines whether or not the server's certificate chain and host name are verified. <br />
Values: `true`, `false`.

View File

@@ -0,0 +1,94 @@
---
title: "Git"
date: 2018-05-09T14:20:48-07:00
draft: false
weight: 80
---
<img class="screenshot" src="/imgs/modules/git.png" width="720" height="292" alt="git screenshot" />
Displays information about local git repositories: branch, changed
files, and recent commits.
#### Branch
The name of the currently-active git branch.
#### Changed Files
A list of all the files that have changed since the last
commit, and their status.
#### Recent Commits
A list of `n` recent commits, who committed it, and when.
## Source Code
```bash
wtf/git/
```
## Keyboard Commands
<span class="caption">Key:</span> `/` <br />
<span class="caption">Action:</span> Open/close the widget's help window.
<span class="caption">Key:</span> `h` <br />
<span class="caption">Action:</span> Show the previous git repository.
<span class="caption">Key:</span> `l` <br />
<span class="caption">Action:</span> Show the next git repository.
<span class="caption">Key:</span> `←` <br />
<span class="caption">Action:</span> Show the previous git repository.
<span class="caption">Key:</span> `→` <br />
<span class="caption">Action:</span> Show the next git repository.
## Configuration
```yaml
git:
commitCount: 5
commitFormat: "[forestgreen]%h [grey]%cd [white]%s [grey]%an[white]"
dateFormat: "%H:%M %d %b %y"
enabled: true
position:
top: 0
left: 3
height: 2
width: 2
refreshInterval: 8
repositories:
- "/Users/chris/go/src/github.com/senorprogrammer/wtf"
- "/Users/user/fakeapp"
```
### Attributes
`commitCount` <br />
The number of past commits to display. <br />
Values: A positive integer, `0..n`.
`commitFormat` <br />
_Optional_ The string format for the commit message. <br />
`dateFormat` <br />
_Optional_ The string format for the date/time in the commit message.
<br />
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.
`repositories` <br />
Defines which git repositories to watch. <br />
Values: A list of zero or more local file paths pointing to valid git repositories.

View File

@@ -0,0 +1,101 @@
---
title: "GitHub"
date: 2018-05-09T19:20:20-07:00
draft: false
weight: 90
---
<img class="screenshot" src="/imgs/modules/github.png" width="640" height="384" alt="github screenshot" />
Displays information about your git repositories hosted on GitHub:
#### Open Review Requests
All open code review requests assigned to you.
#### Open Pull Requests
All open pull requests created by you.
## Source Code
```bash
wtf/github/
```
## Keyboard Commands
<span class="caption">Key:</span> `/` <br />
<span class="caption">Action:</span> Open/close the widget's help window.
<span class="caption">Key:</span> `h` <br />
<span class="caption">Action:</span> Show the previous git repository.
<span class="caption">Key:</span> `l` <br />
<span class="caption">Action:</span> Show the next git repository.
<span class="caption">Key:</span> `←` <br />
<span class="caption">Action:</span> Show the previous git repository.
<span class="caption">Key:</span> `→` <br />
<span class="caption">Action:</span> Show the next git repository.
## Configuration
```yaml
github:
apiKey: "3276d7155dd9ee27b8b14f8743a408a9"
baseURL: ""
enabled: true
enableStatus: true
position:
top: 2
left: 3
height: 2
width: 2
refreshInterval: 300
repositories:
wesker-api: "UmbrellaCorp"
wtf: "senorprogrammer"
uploadURL: ""
username: "senorprogrammer"
```
### Attributes
`apiKey` <br />
Value: Your <a href="https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization">GitHub API</a> token.
`baseURL` <br />
_Optional_ <br />
Value: Your <a href="https://developer.github.com/enterprise/2.13/v3/enterprise-admin/">GitHub Enterprise</a> API URL.
`enabled` <br />
Whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`enableStatus` <br />
Display pull request mergeability status ('dirty', 'clean', 'unstable',
'blocked').<br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.
`repositories` <br />
A list of key/value pairs each describing a GitHub repository to fetch data
for. <br />
<span class="caption">Key:</span> The name of the repository. <br />
<span class="caption">Value:</span> The name of the account or organization that owns the repository.
`uploadURL` <br />
_Optional_ <br />
Value: Your <a href="https://developer.github.com/enterprise/2.13/v3/enterprise-admin/">GitHub Enterprise</a> upload URL (often the same as API URL).
`username` <br />
Your GitHub username. Used to figure out which review requests you've
been added to.

View File

@@ -0,0 +1,90 @@
---
title: "GitLab"
date: 2018-06-08T13:14:11-07:00
draft: false
weight: 100
---
<img class="screenshot" src="/imgs/modules/gitlab.png" width="640" height="390" alt="gitlab screenshot" />
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
```bash
wtf/gitlab/
```
## Keyboard Commands
<span class="caption">Key:</span> `/` <br />
<span class="caption">Action:</span> Open/close the widget's help window.
<span class="caption">Key:</span> `h` <br />
<span class="caption">Action:</span> Show the previous project.
<span class="caption">Key:</span> `l` <br />
<span class="caption">Action:</span> Show the next project.
<span class="caption">Key:</span> `←` <br />
<span class="caption">Action:</span> Show the previous project.
<span class="caption">Key:</span> `→` <br />
<span class="caption">Action:</span> Show the next project.
## Configuration
```yaml
gitlab:
apiKey: "3276d7155dd9ee27b8b14f8743a408a9"
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
`apiKey` <br />
Value: A <a href="https://docs.gitlab.com/ce/user/profile/personal_access_tokens.html">GitLab personal access token</a>. Requires at least `api` access.
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.
`domain` <br />
_Optional_. Your GitLab corporate domain. <br />
Values: A valid URI.
`projects` <br />
A list of key/value pairs each describing a GitLab project to fetch data
for. <br />
<span class="caption">Key:</span> The name of the project. <br />
<span class="caption">Value:</span> The namespace of the project.
`username` <br />
Your GitLab username. Used to figure out which requests require your approval

View File

@@ -0,0 +1,63 @@
---
title: "Google Spreadsheets"
date: 2018-06-10T18:26:26-04:00
draft: false
weight: 110
---
Added in `v0.0.7`.
Display information from cells in a Google Spreadsheet.
```bash
wtf/gspreadsheets/
```
## 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: "~/.config/wtf/gspreadsheets/client_secret.json"
sheetId: "id_of_google_spreadsheet"
```
### Attributes
`colors.values` <br />
The color to display the cell values in. <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11 color</a> name.
`cells.names` <br />
`cells.addresses` <br />
`enabled` <br />
Whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.
`secretFile` <br />
Your <a href="https://developers.google.com/sheets/api/quickstart/go">Google client secret</a> JSON file. <br />
Values: A string representing a file path to the JSON secret file.

View File

@@ -0,0 +1,9 @@
---
title: "IP Address"
date: 2018-05-07T18:04:58-07:00
draft: false
weight: 120
---
For all modules IP address-related.

View File

@@ -0,0 +1,55 @@
---
title: "IP-API"
date: 2018-06-10T19:41:52-04:00
draft: false
weight: 10
---
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/
```
## Configuration
```yaml
ipinfo:
colors:
name: red
value: white
enabled: true
position:
top: 1
left: 2
height: 1
width: 1
refreshInterval: 150
```
### Attributes
`colors.name` <br />
The default colour for the row names. <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11 color</a> name.
`colors.value` <br />
The default colour for the row values. <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11 color</a> name.
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.

View File

@@ -0,0 +1,56 @@
---
title: "IPInfo"
date: 2018-06-01T23:18:48-07:00
draft: false
weight: 20
---
<img class="screenshot" src="/imgs/modules/ipinfo.png" width="320" height="199" alt="ipinfo screenshot" />
Displays your current IP address information, from ipinfo.io.
**Note:** IPInfo.io has a free-plan rate limit of 1000 requests per day.
## Source Code
```bash
wtf/ipinfo/
```
## Configuration
```yaml
ipinfo:
colors:
name: red
value: white
enabled: true
position:
top: 1
left: 2
height: 1
width: 1
refreshInterval: 150
```
### Attributes
`colors.name` <br />
The default colour for the row names. <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11 color</a> name.
`colors.value` <br />
The default colour for the row values. <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11 color</a> name.
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.

View File

@@ -0,0 +1,63 @@
---
title: "Jenkins"
date: 2018-06-09T20:53:35-07:00
draft: false
weight: 130
---
<img class="screenshot" src="/imgs/modules/jenkins.png" alt="jenkins screenshot" width="320" height="68" />
Added in `v0.0.8`.
Displays jenkins status of given builds in a project or view
## Source Code
```bash
wtf/jenkins/
```
## Configuration
```yaml
jenkins:
apiKey: "3276d7155dd9ee27b8b14f8743a408a9"
enabled: true
position:
top: 2
left: 3
height: 2
width: 3
refreshInterval: 300
url: "https://jenkins.domain.com/jenkins/view_url"
user: "username"
verifyServerCertificate: true
```
### Attributes
`apiKey` <br />
Value: Your <a href="https://wiki.jenkins.io/display/JENKINS/Remote+access+API">Jenkins API</a> key.
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed.
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.
`user` <br />
Your Jenkins username. <br />
`url` <br />
The url to your Jenkins project or view. <br />
Values: A valid URI.
`verifyServerCertificate` <br />
_Optional_ <br />
Determines whether or not the server's certificate chain and host name are verified. <br />
Values: `true`, `false`.

View File

@@ -0,0 +1,136 @@
---
title: "Jira"
date: 2018-05-10T10:44:35-07:00
draft: false
weight: 140
---
<img class="screenshot" src="/imgs/modules/jira.png" width="640" height="188" alt="jira screenshot" />
Displays all Jira issues assigned to you for the specified project.
## Source Code
```bash
wtf/jira/
```
## Keyboard Commands
<span class="caption">Key:</span> `[return]` <br />
<span class="caption">Action:</span> Open the selected issue in the browser.
<span class="caption">Key:</span> `j` <br />
<span class="caption">Action:</span> Select the next item in the list.
<span class="caption">Key:</span> `k` <br />
<span class="caption">Action:</span> Select the previous item in the list.
<span class="caption">Key:</span> `↓` <br />
<span class="caption">Action:</span> Select the next item in the list.
<span class="caption">Key:</span> `↑` <br />
<span class="caption">Action:</span> Select the previous item in the list.
## Configuration
### Single Jira Project
```yaml
jira:
apiKey: "3276d7155dd9ee27b8b14f8743a408a9"
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"
refreshInterval: 900
username: "chris.cummer"
verifyServerCertificate: true
```
### Multiple Jira Projects
If you want to monitor multiple Jira projects, use the following
configuration (note the difference in `project`):
```yaml
jira:
apiKey: "3276d7155dd9ee27b8b14f8743a408a9"
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"
verifyServerCertificate: true
```
### Attributes
`apiKey` <br />
Value: Your <a href="https://confluence.atlassian.com/cloud/api-tokens-938839638.html">Jira API</a> key.
`colors.rows.even` <br />
Define the foreground color for even-numbered rows. <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11
color name</a>.
`colors.rows.odd` <br />
Define the foreground color for odd-numbered rows. <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11
color name</a>.
`domain` <br />
Your Jira corporate domain. <br />
Values: A valid URI.
`email` <br />
The email address associated with your Jira account. <br />
Values: A valid email address string.
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`jql` <br />
_Optional_ <br />
Custom JQL to be appended to the search query. <br />
Values: See <a href="https://confluence.atlassian.com/jiracore/blog/2015/07/search-jira-like-a-boss-with-jql">Search Jira like a boss with JQL</a> for details.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`project` <br />
The Jira project to fetch information for. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.
`username` <br />
Your Jira username. <br />
`verifyServerCertificate` <br />
_Optional_ <br />
Determines whether or not the server's certificate chain and host name are verified. <br />
Values: `true`, `false`.

View File

@@ -0,0 +1,55 @@
---
title: "Logger"
date: 2018-06-16T14:22:18-07:00
draft: false
weight: 150
---
Displays the contents of the WTF log file. The log file is located at `~/.config/wtf/log.txt`.
To log to this file in your own modules:
```golang
require "github.com/senorprogrammer/wtf/logger"
logger.Log("This is a log entry")
```
## Source Code
```bash
wtf/logger/
```
## Keyboard Commands
Arrow keys scroll through the log file.
## Configuration
```yaml
logger:
enabled: true
position:
top: 5
left: 4
height: 2
width: 1
refreshInterval: 1
```
### Attributes
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
**Note:** If you're using logging and logging is _disabled_, your logs
will still be written to file, the widget just won't be shown onscreen.
If you have `logger.Log` calls in your code, regardless of this setting,
they will be written out. <br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.

View File

@@ -0,0 +1,58 @@
---
title: "New Relic"
date: 2018-05-09T09:01:14-07:00
draft: false
weight: 160
---
<img class="screenshot" src="/imgs/modules/newrelic.png" width="640" height="189" alt="newrelic screenshot" />
Connects to the New Relic API and displays the last n deploys of the
monitored application: deploy ID, deploy time, and who deployed it.
## Source Code
```bash
wtf/newrelic/
```
## Configuration
```yaml
newrelic:
apiKey: "3276d7155dd9ee27b8b14f8743a408a9"
applicationId: 10549735
deployCount: 6
enabled: true
position:
top: 4
left: 3
height: 1
width: 2
refreshInterval: 900
```
### Attributes
`apiKey` <br />
Value: Your <a href="https://docs.newrelic.com/docs/apis/getting-started/intro-apis/access-rest-api-keys">New Relic API</a> token.
`applicationId` <br />
The integer ID of the New Relic application you wish to report on. <br
/>
Values: A positive integer, `0..n`.
`deployCount` <br />
The number of past deploys to display on screen. <br />
Values: A positive integer, `0..n`.
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.

View File

@@ -0,0 +1,52 @@
---
title: "OpsGenie"
date: 2018-05-08T20:53:40-07:00
draft: false
weight: 170
---
<img class="screenshot" src="/imgs/modules/opsgenie.png" width="320" height="389" alt="opsgenie screenshot" />
Connects to the OpsGenie API and displays all your scheduled rotations
and who's currently on call.
## Source Code
```bash
wtf/opsgenie/
```
## Configuration
```yaml
opsgenie:
apiKey: "3276d7155dd9ee27b8b14f8743a408a9"
displayEmpty: false
enabled: true
position:
top: 2
left: 1
height: 2
width: 1
refreshInterval: 21600
```
### Attributes
`apiKey` < br />
Value: Your <a href="https://docs.opsgenie.com/docs/api-integration">OpsGenie API</a> token.
`displayEmpty` <br />
Whether schedules with no assigned person on-call should be displayed. <br />
Values: `true`, `false`.
`enabled` <br />
Whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.

View File

@@ -0,0 +1,44 @@
---
title: "Power"
date: 2018-05-26T19:26:23-07:00
draft: false
weight: 180
---
<img class="screenshot" src="/imgs/modules/power.png" width="320" height="129" alt="power screenshot" />
Displays information about the current power source.
For battery, also displays the current charge, estimated time remaining,
and whether it is charging or discharging.
## Source Code
```bash
wtf/power/
```
## Configuration
```yaml
power:
enabled: true
position:
top: 5
left: 0
height: 2
width: 1
refreshInterval: 15
```
### Attributes
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.

View File

@@ -0,0 +1,70 @@
---
title: "Security"
date: 2018-05-08T20:33:28-07:00
draft: false
weight: 200
---
<img class="screenshot" src="/imgs/modules/security.png" width="320" height="192" alt="security screenshot" />
Displays some general information about the state of the machine's wifi
connection, firewall, DNS settings, and logged-in users.
#### Wifi Network
<ul class="list-ornate">
<li>The name of the current network</li>
<li>Whether or not the network uses <a href="https://www.howtogeek.com/167783/htg-explains-the-difference-between-wep-wpa-and-wpa2-wireless-encryption-and-why-it-matters/">encryption</a> and if so, what flavour</li>
</ul>
#### Firewall
<ul class="list-ornate">
<li>Whether or not the <a href="https://support.apple.com/en-ca/HT201642">firewall</a> is enabled</li>
<li>Whether or not <a href="https://support.apple.com/en-ca/HT201642">Stealth Mode</a> is enabled</li>
</ul>
#### DNS
<ul class="list-ornate">
<li>Which <a hre="https://developers.cloudflare.com/1.1.1.1/what-is-1.1.1.1/">DNS resolvers</a> (servers) the machine is configured to use</li>
</ul>
#### Users
<ul class="list-ornate">
<li> Which users are logged into the machine. Note: Does not yet
show hidden users.</li>
</ul>
## Source Code
```bash
wtf/security/
```
## Configuration
```yaml
security:
enabled: true
position:
top: 1
left: 2
height: 1
width: 1
refreshInterval: 3600
```
### Attributes
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.

View File

@@ -0,0 +1,54 @@
---
title: "Textfile"
date: 2018-05-09T11:13:11-07:00
draft: false
weight: 210
---
<img class="screenshot" src="/imgs/modules/textfile.png" width="320" height="133" alt="textfile screenshot" />
Displays the contents of the specified text file in the widget.
## Source Code
```bash
wtf/textfile/
```
## Keyboard Commands
<span class="caption">Key:</span> `/` <br />
<span class="caption">Action:</span> Open/close the widget's help window.
<span class="caption">Key:</span> `o` <br />
<span class="caption">Action:</span> Opens the text file in whichever text editor is associated with that file type.
## Configuration
```yaml
textfile:
enabled: true
filePath: "~/Desktop/notes.md"
position:
top: 5
left: 4
height: 2
width: 1
refreshInterval: 15
```
### Attributes
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`filePath` <br />
The path to the file to be displayed in the widget. <br />
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.

View File

@@ -0,0 +1,112 @@
---
title: "Todo"
date: 2018-05-10T12:41:50-07:00
draft: false
weight: 220
---
<img class="screenshot" src="/imgs/modules/todo.png" width="320" height="388" alt="todo screenshot" />
An interactive todo list.
## Source Code
```bash
wtf/todo/
```
## Keyboard Commands
<span class="caption">Key:</span> `[return]` <br />
<span class="caption">Action:</span> Edit the selected item. <br />
<span class="caption">Action:</span> Close the modal item dialog and save changes. <br />
<span class="caption">Key:</span> `[esc]` <br />
<span class="caption">Action:</span> Remove focus from the selected item. <br />
<span class="caption">Action:</span> Close the modal item dialog without saving changes.
<span class="caption">Key:</span> `[space]` <br />
<span class="caption">Action:</span> Check/uncheck the selected item.
<span class="caption">Key:</span> `/` <br />
<span class="caption">Action:</span> Open/close the widget's help window.
<span class="caption">Key:</span> `j` <br />
<span class="caption">Action:</span> Select the next item in the list.
<span class="caption">Key:</span> `k` <br />
<span class="caption">Action:</span> Select the previous item in the list.
<span class="caption">Key:</span> `n` <br />
<span class="caption">Action:</span> Create a new list item.
<span class="caption">Key:</span> `o` <br />
<span class="caption">Action:</span> Opens the todo list file in
whichever text editor is associated with that file type.
<span class="caption">Key:</span> `↓` <br />
<span class="caption">Action:</span> Select the next item in the list.
<span class="caption">Key:</span> `↑` <br />
<span class="caption">Action:</span> Select the previous item in the list.
<span class="caption">Key:</span> `Ctrl-d` <br />
<span class="caption">Action:</span> Delete the selected item.
<span class="caption">Key:</span> `Ctrl-J` <br />
<span class="caption">Action:</span> Move the selected item down the list.
<span class="caption">Key:</span> `Ctrl-K` <br />
<span class="caption">Action:</span> Move the selected item up the list.
## Configuration
```yaml
todo:
checkedIcon: "X"
colors:
checked: gray
highlight:
fore: "black"
back: "orange"
enabled: true
filename: "todo.yml"
position:
top: 2
left: 2
height: 2
width: 1
refreshInterval: 3600
```
### Attributes
`checkedIcon` <br />
The icon used to denote a "checked" todo item. <br />
Values: Any displayable unicode character.
`colors.checked` <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11 color</a> name.
`colors.highlight.fore` <br />
The foreground color for the currently-selected row. <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11 color</a> name.
`colors.highlight.back` <br />
The background color for the currently-selected row. <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11 color</a> name.
`enabled` <br />
Whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`filename` <br />
The name for the todo file. <br />
Values: Any valid filename, ideally ending in `yml`.
`position` <br />
Where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.

View File

@@ -0,0 +1,89 @@
---
title: "Todoist"
date: 2018-07-05T22:55:55-03:00
draft: false
weight: 230
---
<img class="screenshot" src="/imgs/modules/todoist.png" alt="todoist screenshot" />
Added in `v0.0.11`.
Displays all items on specified project.
## Source Code
```bash
wtf/todoist/
```
## Keyboard Commands
<span class="caption">Key:</span> `h` <br />
<span class="caption">Action:</span> Show the previous project.
<span class="caption">Key:</span> `←` <br />
<span class="caption">Action:</span> Show the previous project.
<span class="caption">Key:</span> `l` <br />
<span class="caption">Action:</span> Show the next project.
<span class="caption">Key:</span> `→` <br />
<span class="caption">Action:</span> Show the next project.
<span class="caption">Key:</span> `j` <br />
<span class="caption">Action:</span> Select the next item in the list.
<span class="caption">Key:</span> `↓` <br />
<span class="caption">Action:</span> Select the next item in the list.
<span class="caption">Key:</span> `k` <br />
<span class="caption">Action:</span> Select the previous item in the list.
<span class="caption">Key:</span> `↑` <br />
<span class="caption">Action:</span> Select the previous item in the list.
<span class="caption">Key:</span> `c` <br />
<span class="caption">Action:</span> Close current item.
<span class="caption">Key:</span> `d` <br />
<span class="caption">Action:</span> Delete current item.
<span class="caption">Key:</span> `r` <br />
<span class="caption">Action:</span> Reload all projects.
## Configuration
```yaml
todoist:
apiKey: "3276d7155dd9ee27b8b14f8743a408a9"
enabled: true
position:
top: 0
left: 2
height: 1
width: 1
projects:
- 122247497
refreshInterval: 3600
```
### Attributes
`apiKey` <br />
Value: Your <a href="https://developer.todoist.com/sync/v7/">Todoist API</a> token.
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Where in the grid this module's widget will be displayed. <br />
`projects` <br />
The todoist projects to fetch items from. <br />
Values: The integer ID of the project.
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.

View File

@@ -0,0 +1,73 @@
---
title: "TravisCI"
date: 2018-07-18T14:36:08-04:00
draft: false
weight: 240
---
<img class="screenshot" src="/imgs/modules/travisci.png" width="640" height="187" alt="travisci screenshot" />
Added in `v0.0.12`.
Displays build information for your Travis CI account.
## Source Code
```bash
wtf/travisci/
```
## Keyboard Commands
<span class="caption">Key:</span> `[return]` <br />
<span class="caption">Action:</span> Open the selected build in the browser.
<span class="caption">Key:</span> `j` <br />
<span class="caption">Action:</span> Select the next build in the list.
<span class="caption">Key:</span> `k` <br />
<span class="caption">Action:</span> Select the previous build in the list.
<span class="caption">Key:</span> `r` <br />
<span class="caption">Action:</span> Refresh the data.
<span class="caption">Key:</span> `↓` <br />
<span class="caption">Action:</span> Select the next build in the list.
<span class="caption">Key:</span> `↑` <br />
<span class="caption">Action:</span> Select the previous build in the list.
## Configuration
```yaml
travisci:
apiKey: "3276d7155dd9ee27b8b14f8743a408a9"
enabled: true
position:
top: 4
left: 1
height: 1
width: 2
pro: false
refreshInterval: 900
```
### Attributes
`apiKey` <br />
Value: Your <a href="https://developer.travis-ci.org/authentication">Travis CI API</a> access token.
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`pro` <br />
Determines whether or not this module will use the Pro version of Travis CI.<br />
Values: `true`, `false`.
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.

View File

@@ -0,0 +1,85 @@
---
title: "Trello"
date: 2018-05-10T10:44:35-07:00
draft: false
weight: 250
---
<img class="screenshot" src="/imgs/modules/trello.png" width="640" height="197" alt="trello screenshot" />
Displays all Trello cards on specified lists.
## Source Code
```bash
wtf/trello/
```
## Configuration
### Single Trello List
```yaml
trello:
accessToken: "7b8b14f8743a408a93276d7155dd9ee2"
apiKey: "3276d7155dd9ee27b8b14f8743a408a9"
board: Main
enabled: true
list: "Todo"
position:
height: 1
left: 2
top: 0
width: 1
refreshInterval: 3600
username: myname
```
### Multiple Trello Lists
If you want to monitor multiple Trello lists, use the following
configuration (note the difference in `list`):
```yaml
trello:
accessToken: "7b8b14f8743a408a93276d7155dd9ee2"
apiKey: "3276d7155dd9ee27b8b14f8743a408a9"
board: Main
enabled: true
list: ["Todo", "Done"]
position:
height: 1
left: 2
top: 0
width: 1
refreshInterval: 3600
username: myname
```
### Attributes
`accessToken` <br />
Value: Your Trello access token.
`apiKey` <br />
Value: Your Trello API key.
`board` <br />
The name of the Trello board. <br />
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`list` <br />
The Trello lists to fetch cards from. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.
`username` <br />
Your Trello username. <br />
`position` <br />
Where in the grid this module's widget will be displayed. <br />

View File

@@ -0,0 +1,48 @@
---
title: "Twitter"
date: 2018-07-31T20:21:37-07:00
draft: false
weight: 260
---
Added in `v0.2.0`.
Connects to the Twitter API and displays a single user's tweets.
NOTE: This only works for single-application developer accounts for now.
## Source Code
```bash
wtf/twitter/
```
## Configuration
```yaml
twitter:
bearerToken: "3276d7155dd9ee27b8b14f8743a408a9"
enabled: true
position:
top: 0
left: 1
height: 1
width: 1
refreshInterval: 20000
```
### Attributes
`bearerToken` <br />
Value: Your <a href="https://developer.twitter.com/en/docs/basics/authentication/overview/application-only.html">Twitter single-application Bearer Token</a>
`enabled` <br />
Whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: Any positive integer, `0..n`.

View File

@@ -0,0 +1,8 @@
---
title: "Weather Services"
date: 2018-05-07T18:04:58-07:00
draft: false
weight: 270
---
For all modules weather-related.

View File

@@ -0,0 +1,66 @@
---
title: "Pretty Weather"
date: 2018-06-02T05:32:04-07:00
draft: false
weight: 10
---
<img class="screenshot" src="/imgs/modules/prettyweather.png" width="320" height="191" alt="prettyweather screenshot" />
Displays weather information as ASCII art from
[Wttr.in](http://wttr.in).
## Source Code
```bash
wtf/prettyweather/
```
## Configuration
```yaml
prettyweather:
enabled: true
city: "tehran"
position:
top: 3
left: 5
height: 1
width: 1
refreshInterval: 300
unit: "c"
view: 0
language: "en"
```
### Attributes
`city` <br />
_Optional_. It will grab the current location from your IP address if
omitted.<br />
Values: The name of any city supported by [Wttr.in](http://wttr.in).
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.
`unit` <br />
_Optional_. It will use metric if you are out of US and imperial for US.<br />
The temperature scale in which to display temperature values. <br />
Values: `F` for Fahrenheit, `C` for Celcius.
`view` <br />
_Optional_ Wttr.in view configuration. <br />
Values: See `curl wttr.in/:help` for more details.
`language` <br />
_Optional_ Wttr.in language configuration. <br />
Values: See `curl wttr.in/:translation` for more details.

View File

@@ -0,0 +1,94 @@
---
title: "Weather"
date: 2018-05-09T11:44:13-07:00
draft: false
weight: 20
---
<img class="screenshot" src="/imgs/modules/weather.png" width="320" height="187" alt="weather screenshot" />
Displays a configurable list of current weather report, including
current temperature, sunrise time, and sunset time.
## Source Code
```bash
wtf/weather/
```
## Keyboard Commands
<span class="caption">Key:</span> `/` <br />
<span class="caption">Action:</span> Open/close the widget's help window.
<span class="caption">Key:</span> `h` <br />
<span class="caption">Action:</span> Show the previous weather location.
<span class="caption">Key:</span> `l` <br />
<span class="caption">Action:</span> Show the next weather location.
<span class="caption">Key:</span> `←` <br />
<span class="caption">Action:</span> Show the previous weather location.
<span class="caption">Key:</span> `→` <br />
<span class="caption">Action:</span> Show the next weather location.
## Configuration
```yaml
weather:
apiKey: "2dfb3e3650a1950adddb6badf5ba1aaa"
# From http://openweathermap.org/help/city_list.txt
cityids:
- 6173331
- 3128760
- 6167865
- 6176823
colors:
current: "lightblue"
enabled: true
language: "EN"
position:
top: 0
left: 2
height: 1
width: 1
refreshInterval: 900
tempUnit: "C"
```
### Attributes
`apiKey` <br />
Your <a href="https://openweathermap.org/appid">OpenWeatherMap API</a> key.
`cityids` <br />
A list of the <a
href="http://openweathermap.org/help/city_list.txt">OpenWeatherMap city
IDs</a> for the cities you want to view. <br />
Values: A list of positive integers, `0..n`
`colors.current` <br />
The color to highlight the current temperature in. <br />
Values: Any <a href="https://en.wikipedia.org/wiki/X11_color_names">X11
color name</a>.
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`language` <br />
The human language in which to present the weather data. <br />
Values: Any <a href="https://openweathermap.org/current">language identifier</a> specified by OpenWeatherMap.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`refreshInterval` <br />
How often, in seconds, this module will update its data. <br />
Values: A positive integer, `0..n`.
`tempUnit` <br />
The temperature scale in which to display temperature values. <br />
Values: `F` for Fahrenheit, `C` for Celcius.

View File

@@ -0,0 +1,73 @@
---
title: "Zendesk"
date: 2018-07-23T18:55:37-08:00
draft: false
weight: 280
---
Added in `v0.1.0`.
Displays tickets in the "New" status - i.e. have not yet been assigned.
## Source Code
```bash
wtf/zendesk/
```
## Keyboard Commands
<span class="caption">Key:</span> `[return]` <br />
<span class="caption">Action:</span> Open the selected ticket in the browser.
<span class="caption">Key:</span> `j` <br />
<span class="caption">Action:</span> Select the next item in the list.
<span class="caption">Key:</span> `k` <br />
<span class="caption">Action:</span> Select the previous item in the list.
<span class="caption">Key:</span> `↓` <br />
<span class="caption">Action:</span> Scroll down the list.
<span class="caption">Key:</span> `↑` <br />
<span class="caption">Action:</span> Scroll up the list.
## Configuration
```yaml
zendesk:
apiKey: "3276d7155dd9ee27b8b14f8743a408a9"
enabled: true
position:
top: 0
left: 2
height: 1
width: 1
status: "new"
subdomain: "your_domain"
username: "your_email@acme.com"
```
### Attributes
`apiKey` <br />
Value: Your Zendesk API token.
`enabled` <br />
Determines whether or not this module is executed and if its data displayed onscreen. <br />
Values: `true`, `false`.
`position` <br />
Defines where in the grid this module's widget will be displayed. <br />
`status` <br />
The status of tickets you want to retrieve.
Values: `new`, `open`, `pending`, `hold`.
`subdomain` <br />
Value: Your Zendesk subdomain.
`username` <br />
Your Zendesk username
Values: A valid Zendesk username (usually an email address).