Author SHA1 Message Date
Patrick Marsceill a1e64ef734 Adding the rest of the design team
CI 🔨 / ci (push) Has been cancelled
2020-11-23 11:46:36 -05:00
yujincat 472d065851 Add Yujin Shin in humans.txt (#31)
Add Yujin Shin(@yujincat) in humans.txt
2020-08-27 11:51:50 -04:00
Jeroen Rietveld e018cd0a18 Add Jeroen Rietveld (#30) 2020-08-14 09:38:15 -04:00
Josh Gross 7d8a20d5df Revert "Dockerfile - use Alpine base image (#27)"
This reverts commit d953d3fa44.
2020-08-11 17:53:39 -04:00
Scott Brenner d953d3fa44 Dockerfile - use Alpine base image (#27) 2020-08-11 17:48:05 -04:00
Shohei Ueda 71716363fb Bump peaceiris/actions-gh-pages from v2 to v3 (#29)
Version 2 is no longer be maintained.

The latest README: https://github.com/peaceiris/actions-gh-pages
2020-08-11 17:45:24 -04:00
Hayden Faulds c2f20f3fa9 Merge pull request #28 from konradpabjan/patch-1
Add Konrad Pabjan to Humans.txt
2020-07-22 15:06:11 +01:00
Hayden Faulds 2d3bbee0b6 Merge branch 'main' into patch-1 2020-07-22 15:06:01 +01:00
Phani Raj a4ff86f533 Update humans.txt.yaml 2020-07-22 09:04:26 -05:00
Konrad Pabjan 5c5f19f207 Update humans.txt.yaml 2020-07-22 13:14:52 +02:00
Josh Gross 19e5194618 Update deploy workflow on changes to main (#26) 2020-07-14 15:50:53 -04:00
Ondrej Fabry 8d40c2d1a2 Fix typo in deploy workflow (#24) 2020-03-16 09:48:58 -04:00
Chad Kimes 7eb983848d Update humans.txt.yaml (#23) 2020-01-20 14:52:41 -05:00
Josh Gross 3072814325 Add more humans (#22) 2019-12-30 11:40:23 -05:00
Alberto Gimeno 1268308f9c Add missing alumn flags 2019-12-26 12:12:15 +01:00
Alberto Gimeno fd56c215cf Merge pull request #19 from actions/add-spraints
Add spraints
2019-12-26 12:10:17 +01:00
Alberto Gimeno c6f8236aa0 Update humans.txt.yaml 2019-12-26 12:09:24 +01:00
Alberto Gimeno 3c8ba18cbd Merge branch 'master' into add-spraints 2019-12-26 12:08:33 +01:00
Alberto Gimeno bf90df6228 Merge pull request #4 from actions/add-angelarivera
Add angelarivera
2019-12-26 12:08:03 +01:00
Alberto Gimeno d7b83655fc Merge branch 'master' into add-angelarivera 2019-12-26 12:05:04 +01:00
Alberto Gimeno 26d0a7fb08 Merge pull request #8 from actions/add-thepwagner
Add thepwagner
2019-12-26 12:04:40 +01:00
Alberto Gimeno 77323cce96 Merge branch 'master' into add-thepwagner 2019-12-26 11:59:10 +01:00
Alberto Gimeno 79244894e6 Merge pull request #9 from actions/add-parkr
Add parkr
2019-12-26 11:58:46 +01:00
Alberto Gimeno d6eb854dd1 Merge branch 'master' into add-parkr 2019-12-26 11:53:47 +01:00
Alberto Gimeno 87be3730df Merge pull request #10 from actions/add-gudmundur
Add gudmundur
2019-12-26 11:53:21 +01:00
Alberto Gimeno 50b8ac6582 Merge branch 'master' into add-gudmundur 2019-12-26 11:49:08 +01:00
Alberto Gimeno 1357de1e4f Merge pull request #11 from actions/add-mxie
Add mxie
2019-12-26 11:48:29 +01:00
Alberto Gimeno 7cbb28110f Merge branch 'master' into add-mxie 2019-12-26 11:41:21 +01:00
Alberto Gimeno 224d1af49a Merge pull request #14 from actions/add-jasonlong
Add jasonlong
2019-12-26 11:40:49 +01:00
Alberto Gimeno 63a0327a1c Merge branch 'master' into add-jasonlong 2019-12-26 11:39:01 +01:00
Alberto Gimeno 96ebe45954 Merge pull request #15 from actions/add-iheanyi
Add iheanyi
2019-12-26 11:38:27 +01:00
Alberto Gimeno 24ca0a728d Merge branch 'master' into add-iheanyi 2019-12-26 11:30:14 +01:00
Alberto Gimeno 4bdcd81bb0 Merge pull request #16 from actions/add-cschleiden
Add cschleiden
2019-12-26 11:29:51 +01:00
Alberto Gimeno 1cfbdd4652 Merge branch 'master' into add-cschleiden 2019-12-26 11:12:32 +01:00
Alberto Gimeno 1c82922b05 Merge pull request #17 from actions/add-cdb
Add cdb
2019-12-26 11:12:10 +01:00
Alberto Gimeno 2078e327a8 Merge branch 'master' into add-cdb 2019-12-26 11:10:31 +01:00
Alberto Gimeno 994d6dd742 Merge pull request #6 from actions/add-gimenete
Add gimenete
2019-12-26 11:09:27 +01:00
Alberto Gimeno 1b9db8eb94 Merge branch 'master' into add-gimenete 2019-12-26 11:04:02 +01:00
Josh Gross 0fa3eeb44c Merge pull request #21 from actions/joshmgross/more-humans
Add more humans
2019-12-23 14:39:05 -05:00
Josh Gross ed22c258ec Add more humans 2019-12-23 14:38:06 -05:00
Josh Gross 84be2ab061 Merge pull request #20 from actions/joshmgross/workflow-names
Add workflow names
2019-12-23 13:21:55 -05:00
Josh Gross de8e7187ad Remove extra character 2019-12-23 13:20:24 -05:00
Josh Gross b35c71f032 Add workflow names 2019-12-23 13:18:12 -05:00
Jonathan Clem d7c70385a0 Merge pull request #13 from actions/add-jclem
Add jclem
2019-12-23 11:12:32 -05:00
Jonathan Clem b876fb89e2 Merge branch 'master' into add-jclem 2019-12-23 11:11:35 -05:00
Mike Coutermarsh e3b8613ed8 Merge pull request #12 from actions/add-mscoutermarsh
Add mscoutermarsh
2019-12-20 13:55:16 -08:00
Tim Ruffles 31b02760ba Merge pull request #7 from actions/add-timruffles
Add timruffles
2019-12-20 14:37:17 +00:00
Tim Ruffles 4112b12d70 Merge branch 'master' into add-timruffles 2019-12-20 14:36:30 +00:00
Tim Ruffles 821db2c4cd Merge pull request #5 from actions/add-appleton
Add appleton
2019-12-20 14:27:00 +00:00
Tim Ruffles acd838a526 Update README.md 2019-12-20 14:23:42 +00:00
Tim Ruffles ea17d0ab62 Merge branch 'master' into add-appleton 2019-12-20 14:14:54 +00:00
Tim Ruffles 0ab142f9fe Update README.md 2019-12-20 14:12:55 +00:00
Tim Ruffles 39261f1943 Add appleton
Add @appleton to [humans.txt](https://actions.github.io/humans.txt/)
2019-12-20 14:07:25 +00:00
Tim Ruffles 783e97bdc8 Add spraints
Add @spraints to [humans.txt](https://actions.github.io/humans.txt/)
2019-12-20 14:03:20 +00:00
Tim Ruffles c04d5bf7fe Merge pull request #2 from actions/add-hfaulds
Add hfaulds
2019-12-20 13:58:41 +00:00
Tim Ruffles 455a63efaa bump fav 2019-12-20 13:56:09 +00:00
Tim Ruffles a82b4512c1 Merge branch 'master' into add-hfaulds 2019-12-20 13:53:59 +00:00
Tim Ruffles a5ba794064 Merge pull request #3 from actions/add-anthonysterling
Add anthonysterling
2019-12-20 13:53:40 +00:00
Tim Ruffles cf3f418831 Add angelarivera
Add @angelarivera to [humans.txt](https://actions.github.io/humans.txt/)
2019-12-20 13:53:17 +00:00
Tim Ruffles 521a6ae6e8 Add thepwagner
Add @thepwagner to [humans.txt](https://actions.github.io/humans.txt/)
2019-12-20 13:48:47 +00:00
Tim Ruffles 826327b9c4 Add parkr
Add @parkr to [humans.txt](https://actions.github.io/humans.txt/)
2019-12-20 13:48:47 +00:00
Tim Ruffles 5e3ebb0ad2 Add gudmundur
Add @gudmundur to [humans.txt](https://actions.github.io/humans.txt/)
2019-12-20 13:48:47 +00:00
Tim Ruffles b0455c9b7a Add timruffles
Add @timruffles to [humans.txt](https://actions.github.io/humans.txt/)
2019-12-20 13:48:47 +00:00
Tim Ruffles 437fdafb24 Add mxie
Add @mxie to [humans.txt](https://actions.github.io/humans.txt/)
2019-12-20 13:48:46 +00:00
Tim Ruffles ea3e89e4d2 Add jasonlong
Add @jasonlong to [humans.txt](https://actions.github.io/humans.txt/)
2019-12-20 13:48:46 +00:00
Tim Ruffles 52e4aace61 Add iheanyi
Add @iheanyi to [humans.txt](https://actions.github.io/humans.txt/)
2019-12-20 13:48:46 +00:00
Tim Ruffles 3a0c1ce8bd Add cschleiden
Add @cschleiden to [humans.txt](https://actions.github.io/humans.txt/)
2019-12-20 13:48:46 +00:00
Tim Ruffles a8baeb7b17 Add cdb
Add @cdb to [humans.txt](https://actions.github.io/humans.txt/)
2019-12-20 13:48:46 +00:00
Tim Ruffles 323e57aec6 Add gimenete
Add @gimenete to [humans.txt](https://actions.github.io/humans.txt/)
2019-12-20 13:48:46 +00:00
Tim Ruffles 5f40fa3ce6 Add jclem
Add @jclem to [humans.txt](https://actions.github.io/humans.txt/)
2019-12-20 13:48:46 +00:00
Tim Ruffles ce47446a48 Add mscoutermarsh
Add @mscoutermarsh to [humans.txt](https://actions.github.io/humans.txt/)
2019-12-20 13:48:46 +00:00
Tim Ruffles 21d1922c4a Add hfaulds
Add @hfaulds to humans.txt
2019-12-20 13:45:14 +00:00
Tim Ruffles 16a6e60d32 Add anthonysterling
Add @anthonysterling to humans.txt
2019-12-20 13:45:14 +00:00
Tim Ruffles 1b5aafb448 sort 2019-12-20 13:17:12 +00:00
Tim Ruffles 0c3f4946d3 Note 2019-12-20 13:13:24 +00:00
Tim Ruffles 533e32613e tweaks 2019-12-20 13:11:47 +00:00
Tim Ruffles 094540fe2f upd 2019-12-20 12:50:43 +00:00
Tim Ruffles 83879efd75 correct prop 2019-12-20 12:49:42 +00:00
Tim Ruffles b092f30436 rename 2019-12-20 12:48:13 +00:00
Tim Ruffles 3195503f1f Deploy, update tests 2019-12-20 12:42:04 +00:00
Tim Ruffles ce6486363e html mode 2019-12-20 12:31:00 +00:00
Tim Ruffles 552403eec3 Metadata update 2019-12-20 12:28:05 +00:00
Tim Ruffles 52fde88320 quickly hack in output to file 2019-12-20 12:27:20 +00:00
Tim Ruffles 5222a0fbf7 That would have been a fine use-case for a default 2019-12-20 12:21:22 +00:00
Tim Ruffles 7a07e071c0 thanks helpful error message 2019-12-20 12:17:21 +00:00
Tim Ruffles a9625873ff up 2019-12-20 12:00:36 +00:00
Tim Ruffles 67128ceb50 Give it a go 2019-12-20 11:54:25 +00:00
13 changed files with 302 additions and 89 deletions
+19
View File
@@ -0,0 +1,19 @@
name: CI 🔨
on:
push:
branches: ["**"]
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: npm install --production
- run: "./test.sh"
- uses: ./
name: "Check container builds"
with:
format: shell
+22
View File
@@ -0,0 +1,22 @@
name: Deploy 🚀
on:
push:
branches: ["main", "deploy-test"]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: mkdir gh-pages
- run: cp favicon.ico gh-pages
- uses: ./
with:
format: html
output: ./gh-pages/index.html
- run: "find ./gh-pages"
- uses: peaceiris/[email protected]
with:
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
publish_dir: gh-pages
View File
+11
View File
@@ -0,0 +1,11 @@
FROM node:12
WORKDIR /opt/humans.txt
COPY . /opt/humans.txt
RUN npm i --production
ENV FORCE_COLOR=3
ENTRYPOINT ["bash", "/opt/humans.txt/run.sh"]
+18
View File
@@ -0,0 +1,18 @@
# GitHub Actions humans.txt
[Lists out](https://actions.github.io/humans.txt) the humans who work, or worked, on the GitHub Actions product. Add yourself via PR if you work or worked on the product ❤️
## Inputs
### `format`
Options: `txt`, `json`, `shell`
- txt - a plaintext list of humans
- json - a list of humans formatted for computers or humans who like their information computery
- shell - a lovely colourful list of humans making full use of advanced terminal escape-code technology
- html - a gh-pages friendly html output, which looks like a plaintext humans.txt
## humans.txt
This automatically deploys to https://actions.github.io/humans.txt.
+76
View File
@@ -0,0 +1,76 @@
'use strict'
const fs = require('fs')
const yaml = require('yaml')
const chalk = require('chalk')
const formatters = {
txt: txtFormatter,
html: htmlFormatter,
json: jsonFormatter,
shell: (data, opts) => txtFormatter(data, { ...opts, colors: true}),
}
main()
function main() {
const format = process.argv[2] || ((process.env.GITHUB_ACTION || process.stdout.isTTY) ? "shell" : "txt")
const output = process.argv[3] ? fs.openSync(process.argv[3], "w+") : 1;
const formatter = formatters[format]
if (!formatter) {
invalidFormat(format)
return
}
const data = yaml.parse(fs.readFileSync(__dirname + "/humans.txt.yaml", {encoding: "utf8"}))
data.humans = data.humans.sort((a,b) => a.name > b.name ? 1 : -1)
formatter(data, {output})
}
function invalidFormat(format) {
const list = Object.keys(formatters).sort().join(",")
console.error(`'${format}' is not one of the accepted formats ${list}`)
process.exitCode = 1
return
}
function jsonFormatter({humans}, {output}) {
fs.writeSync(output, JSON.stringify(humans, null, 4))
}
function txtFormatter({humans}, {colors = false, output} = {}) {
let active = humans.filter(h => !h.alum).map(h => h.name)
let alum = humans.filter(h => h.alum).map(h => h.name)
if(colors) {
const total = active.length + alum.length
active = mapColorRange(active, 0, total)
alum = mapColorRange(alum, active.length, total)
}
fs.writeSync(output, "Current humans\n")
fs.writeSync(output,"==============\n\n")
fs.writeSync(output,active.join("\n"))
fs.writeSync(output,"\n\n")
fs.writeSync(output,"Human alumni\n")
fs.writeSync(output,"============\n\n")
fs.writeSync(output,alum.join("\n"))
}
function mapColorRange(strings, base, total) {
return strings.map((n, i) => chalk.hsl(((i + base) / total) * 360, 100, 50)(n))
}
function htmlFormatter(data, opts) {
fs.writeSync(opts.output, `<!doctype html>
<meta charset='utf8' />
<link rel="icon" type="image/x-icon" href="favicon.ico">
<title>Actions - humans.txt</title>
<body><pre>`)
txtFormatter(data, opts)
fs.writeSync(opts.output, "</pre></body>")
}
+14
View File
@@ -0,0 +1,14 @@
name: 'GitHub Actions humans.txt'
description: 'List out the humans who help feed and tend the robots of GitHub Actions'
inputs:
format:
description: 'How to output the people of actions - txt, json, html or ascii'
default: 'ascii'
output:
description: 'Where to output the file - stdout otherwise'
runs:
using: 'docker'
image: 'Dockerfile'
args:
- "${{ inputs.format }}"
- "${{ inputs.output }}"
+45
View File
@@ -0,0 +1,45 @@
# add yourself to this list as a yaml
# object with the following keys:
# - name - string - your name
# - alum - boolean - whether you no longer work on Actions
humans:
- name: Mona Lisa Octocat
honorary_human: true
- name: "Matt Burke"
alum: true
- name: "Angela Rivera"
alum: true
- name: "Pete Wagner"
alum: true
- name: "Parker Moore"
alum: true
- name: "Melissa Xie"
- name: "Jason Long"
- name: "Iheanyi Ekechukwu"
- name: "Christopher Schleiden"
- name: "Cameron Booth"
- name: "Alberto Gimeno"
- name: "Tim Ruffles"
alum: true
- name: "Andrew Appleton"
alum: true
- name: "Hayden Faulds"
- name: "Anthony Sterling"
- name: "Jonathan Clem"
- name: "Jeroen Rietveld"
- name: "Mike Coutermarsh"
- name: "Thomas Brumley"
- name: "Brian Cristante"
- name: "Yang Cao"
- name: "Yujin Shin"
- name: "Bryan MacFarlane"
- name: "Josh Gross"
- name: "Guðmundur Bjarni Ólafsson"
alum: true
- name: "Beth Brennan"
- name: "PJ Quirk"
- name: "Chad Kimes"
- name: "Phani Raj"
- name: "Konrad Pabjan"
- name: "Adrian Mato Gondelle"
- name: "Patrick Marsceill"
-89
View File
@@ -1,89 +0,0 @@
<!doctype html>
<meta charset='utf8' />
<link rel="icon" type="image/x-icon" href="favicon.ico">
<title>Actions - humans.txt</title>
<body><pre>Current humans
==============
Adrian Mato Gondelle
Allan Guigou
Amarilis Dias
Antoine Grondin
Aris Acoba
Bassem Dghaidi
Belinda Vennam
Beth Brennan
Bethany Janos
Brian Cristante
Brittany Ellich
Bryan MacFarlane
Cameron Booth
Cedric Wille
Chad Kimes
Christina Guo
Christopher Schleiden
Crystal Tenn
Dan Rigby
Dylan Smith
Erez Testiler
Eric Sciple
Felipe Suero
Francesco Renzi
Isaac Shalom
Jacob Wallraff
Javier Perez
Jeff Martin
Joanna Krzek-Lubowiecka
Johanan Idicula
John Mills
Jonathan Clem
Jonathan Tamsut
Josh Gross
Julian Dunn
Julio Barba
Kamil Grzebien
Konrad Pabjan
Maggie Spletzer
Mona Lisa Octocat
PJ Quirk
Peter Tasker
Philip Gai
Rob Herley
Ross Brodbeck
Ryan Troost
Seth Rylan Gainey
Soe Tun
Sven Pfleiderer
Thomas Brumley
Yang Cao
Yaswanth Anantharaju
Human alumni
============
Ajay Krishna Nalisetty
Alberto Gimeno
Andrew Appleton
Angela Rivera
Anna Rosenthal
Anthony Sterling
Catherine Osadciw
Florian Wagner
Guðmundur Bjarni Ólafsson
Hayden Faulds
Iheanyi Ekechukwu
Jason Long
Jean-Philippe André
Jeroen Rietveld
Joris Abalea
Matt Burke
Melissa Xie
Mike Coutermarsh
Nicholas Bergesen
Parker Moore
Patrick Marsceill
Pete Wagner
Phani Raj
Tim Ruffles
Yena Kim
Yujin Shin</pre></body>
+76
View File
@@ -0,0 +1,76 @@
{
"requires": true,
"lockfileVersion": 1,
"dependencies": {
"@babel/runtime": {
"version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.7.tgz",
"integrity": "sha512-uCnC2JEVAu8AKB5do1WRIsvrdJ0flYx/A/9f/6chdacnEZ7LmavjdsDXr5ksYBegxtuTPR5Va9/+13QF/kFkCA==",
"requires": {
"regenerator-runtime": "^0.13.2"
}
},
"@types/color-name": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ=="
},
"ansi-styles": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.0.tgz",
"integrity": "sha512-7kFQgnEaMdRtwf6uSfUnVr9gSGC7faurn+J/Mv90/W+iTtN0405/nLdopfMWwchyxhbGYl6TC4Sccn9TUkGAgg==",
"requires": {
"@types/color-name": "^1.1.1",
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
"integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
},
"regenerator-runtime": {
"version": "0.13.3",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
"integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw=="
},
"supports-color": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
"integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
"requires": {
"has-flag": "^4.0.0"
}
},
"yaml": {
"version": "1.7.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz",
"integrity": "sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==",
"requires": {
"@babel/runtime": "^7.6.3"
}
}
}
}
+7
View File
@@ -0,0 +1,7 @@
{
"private": true,
"dependencies": {
"chalk": "3.0.0",
"yaml": "1.7.2"
}
}
+1
View File
@@ -0,0 +1 @@
node /opt/humans.txt/action.js $@
Executable
+13
View File
@@ -0,0 +1,13 @@
#!/bin/bash
set -xeuo pipefail
node action.js json >/dev/null
node action.js txt
# check default arg
node action.js >/dev/null
node action.js shell
node action.js html
node action.js txt /tmp/hu-output
grep "Current humans" /tmp/hu-output