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

Merge branch 'master' into top-exchanges

This commit is contained in:
Hossein Mehrabi
2018-06-23 17:08:46 +04:30
committed by GitHub
760 changed files with 164591 additions and 850 deletions

View File

@@ -12,12 +12,12 @@ draft: false
## Configuration Files
By default WTF looks in a `~/.wtf/` directory for a YAML file called
`config.yml`. If the `~/.wtf/` directory doesn't exist, WTF will create that directory
By default WTF looks in a `~/.config/wtf/` directory for a YAML file called
`config.yml`. If the `~/.config/wtf/` directory doesn't exist, WTF will create that directory
on start-up, and then display instructions for creating a new
configuration file.
In other words, WTF expects to have a YAML config file at: `~/.wtf/config.yml`.
In other words, WTF expects to have a YAML config file at: `~/.config/wtf/config.yml`.
#### Example Configuration Files
@@ -25,7 +25,7 @@ A couple of example config files are provided in the `_sample_configs/`
directory of the Git repository.
To try out WTF quickly, copy
`simple_config.yml` into `~/.wtf/` as `config.yml` and relaunch WTF. You
`simple_config.yml` into `~/.config/wtf/` as `config.yml` and relaunch WTF. You
should see the app launch and display the <a href="/posts/modules/security/">Security</a>,
<a href="/posts/modules/clocks/">Clocks</a> and <a href="/posts/modules/status/">Status</a> widgets onscreen.
@@ -36,7 +36,7 @@ you can pass the path to a config file via command line arguments on
start-up.
To load a custom configuration file (ie: one that's not
`~/.wtf/config.yml`), pass in the path to configuration file as a
`~/.config/wtf/config.yml`), pass in the path to configuration file as a
parameter on launch:
```bash

View File

@@ -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.
<img src="/imgs/modules/circleci.png" width="609" height="150" alt="circleci screenshot" />
## Source Code
```bash
wtf/circleci/
```
## Required ENV Variables
<span class="caption">Key:</span> `WTF_CIRCLE_API_KEY` <br />
<span class="caption">Value:</span> Your <a href="https://circleci.com/account/api">CircleCI API</a>
token.
## Keyboard Commands
None.
## Configuration
```yaml
circleci:
enabled: true
position:
top: 4
left: 1
height: 1
width: 2
refreshInterval: 900
```
### 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

@@ -16,7 +16,7 @@ Get the last 24 hour summary of cryptocurrencies market using [Bittrex](https://
wtf/cryptoexchanges/bittrex/
```
## Required ENV Vars
## Required ENV Variables
None.

View File

@@ -0,0 +1,75 @@
---
title: "Blockfolio"
date: 2018-06-13T09:29:59-07:00
draft: false
---
Added in `v0.0.8`.
Display your Blockfolio crypto holdings.
<img src="/imgs/modules/blockfolio.png" width="320" height="185" alt="blockfolio screenshot" />
## Source
```bash
wtf/blockfolio/
```
## Required ENV Variables
None.
## Keyboard Commands
None.
## 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

@@ -19,11 +19,7 @@ wtf/gcal/
## Required ENV Variables
<span class="caption">Key:</span> `WTF_GOOGLE_CAL_CLIENT_ID` <br />
<span class="caption">Value:</span> Your <a href="https://developers.google.com/calendar/auth">Google API</a> client ID.
<span class="caption">Key:</span> `WTF_GOOGLE_CAL_CLIENT_SECRET` <br />
<span class="caption">Value:</span> Your <a href="https://developers.google.com/calendar/auth">Google API</a> client secret.
None.
## Keyboard Commands
@@ -48,13 +44,14 @@ gcal:
email: "chriscummer@me.com"
enabled: true
eventCount: 12
multiCalendar: true
position:
top: 0
left: 0
height: 4
width: 1
refreshInterval: 300
secretFile: "~/.wtf/gcal/client_secret.json"
secretFile: "~/.config/wtf/gcal/client_secret.json"
withLocation: true
```
@@ -109,6 +106,11 @@ Values: `true`, `false`.
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 />

View File

@@ -54,6 +54,8 @@ None.
```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
@@ -72,6 +74,13 @@ git:
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`.

View File

@@ -1,13 +1,11 @@
---
title: "Github"
title: "GitHub"
date: 2018-05-09T19:20:20-07:00
draft: false
---
Displays information about git repositories hosted on Github: open
review requests, and open pull requests.
Displays information about your git repositories hosted on Github:
<img src="/imgs/modules/github.png" width="640" height="384" alt="github screenshot" />
#### Open Review Requests
@@ -17,17 +15,30 @@ All open code review requests assigned to you.
All open pull requests created by you.
<img src="/imgs/modules/github.png" width="640" height="384" alt="github screenshot" />
## Source Code
```bash
wtf/github/
```
## Required ENV Variables
## Github Required ENV Variables
<span class="caption">Key:</span> `WTF_GITHUB_TOKEN` <br />
<span class="caption">Action:</span> Your <a href="https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization">Github API</a> token.
## GitHub Enterprise Required ENV Variables
<span class="caption">Key:</span> `WTF_GITHUB_TOKEN` <br />
<span class="caption">Action:</span> Your <a href="https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization">Github API</a> token.
<span class="caption">Key:</span> `WTF_GITHUB_BASE_URL` <br />
<span class="caption">Action:</span> Your <a href="https://developer.github.com/enterprise/2.13/v3/enterprise-admin/">Github Enterprise</a> API URL.
<span class="caption">Key:</span> `WTF_GITHUB_UPLOAD_URL` <br />
<span class="caption">Action:</span> Your <a href="https://developer.github.com/enterprise/2.13/v3/enterprise-admin/">Github Enterprise</a> upload URL (often the same as API URL).
## Keyboard Commands
<span class="caption">Key:</span> `/` <br />

View File

@@ -0,0 +1,90 @@
---
title: "Gitlab"
date: 2018-06-08T13:14:11-07:00
draft: false
---
Added in `v0.0.8`.
<img src="/imgs/modules/gitlab.png" width="640" height="384" alt="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
<span class="caption">Key:</span> `WTF_GITLAB_TOKEN` <br />
<span class="caption">Action:</span> A <a href="https://docs.gitlab.com/ce/user/profile/personal_access_tokens.html">Gitlab personal access token</a>. Requires at least `api` access.
## 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:
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` <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,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: "~/.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,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` <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

@@ -6,6 +6,8 @@ draft: false
Displays your current IP address information, from ipinfo.io.
**Note:** IPInfo.io has a free-plan rate limit of 1000 requests per day.
<img src="/imgs/modules/ipinfo.png" width="320" height="199" alt="ipinfo screenshot" />
## Source Code
@@ -35,7 +37,7 @@ ipinfo:
left: 2
height: 1
width: 1
refreshInterval: 15
refreshInterval: 150
```
### Attributes

View File

@@ -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
<img src="/imgs/modules/jenkins.png" alt="jenkins screenshot",
width="320" height="68" alt="jenkins screenshot" />
## Source Code
```bash
wtf/jenkins/
```
## Required ENV Variables
<span class="caption">Key:</span> `WTF_JENKINS_API_KEY` <br />
<span class="caption">Value:</span> Your <a href="https://wiki.jenkins.io/display/JENKINS/Remote+access+API">Jenkins API</a> 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` <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.

View File

@@ -25,6 +25,8 @@ None.
## Configuration
### Single Jira Project
```yaml
jira:
colors:
@@ -40,9 +42,36 @@ jira:
left: 1
height: 1
width: 2
project: "JIRA"
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:
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
@@ -86,3 +115,8 @@ 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,58 @@
---
title: "Logger"
date: 2018-06-16T14:22:18-07:00
draft: false
---
Displays the contents of the WTF log file.
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/
```
## Required ENV Variables
None.
## 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

@@ -4,8 +4,6 @@ date: 2018-06-02T05:32:04-07:00
draft: false
---
**🔬 Experimental**
Displays weather information as ASCII art from
[Wttr.in](http://wttr.in).
@@ -38,6 +36,7 @@ None.
width: 1
refreshInterval: 300
unit: "c"
view: 0
```
### Attributes
@@ -62,3 +61,7 @@ Values: A positive integer, `0..n`.
_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.

View File

@@ -0,0 +1,87 @@
---
title: "Trello"
date: 2018-05-10T10:44:35-07:00
draft: false
---
Displays all Trello cards on specified lists.
<img src="/imgs/modules/trello.png" width="640" height="188" alt="trello screenshot" />
## Source Code
```bash
wtf/trello/
```
## Required ENV Variables
<span class="caption">Key:</span> `WTF_TRELLO_APP_KEY` <br />
<span class="caption">Value:</span> Your Trello App Key. <br />
<span class="caption">Key:</span> `WTF_TRELLO_ACCESS_TOKEN` <br />
<span class="caption">Value:</span> Your Trello Access Token. <br />
_You can get your API key at: trello.com/app-key._
## Keyboard Commands
None.
## Configuration
### Single Trello List
```yaml
trello:
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:
board: Main
enabled: true
list: ["Todo", "Done"]
position:
height: 1
left: 2
top: 0
width: 1
refreshInterval: 3600
username: myname
```
### Attributes
`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 />