mirror of
https://github.com/remoteintech/remote-jobs
synced 2025-01-14 05:23:54 +00:00
Fix company names; add Travis CI config (#377)
* Fix minor issues in readme table * Parse and validate readme table * Add missing links from readme to company profiles * Fix the last issue with a company's name in its profile * Add script to rename a company profile * Fix example company name to match its profile filename * Rename company profiles to match filename convention Run this to generate the rename commands: bin/validate.js | grep 'Expected filename' | sed 's#^#bin/rename.sh company-profiles/#; s#: Expected filename "# company-profiles/#; s#" for company .*$##' | tee renames.txt Inspect the output, then run this to do the renames: sh < renames.txt * Add Travis CI configuration
This commit is contained in:
parent
6ad87a5e1b
commit
7c08aef114
42 changed files with 176 additions and 53 deletions
5
.travis.yml
Normal file
5
.travis.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
language: node_js
|
||||||
|
|
||||||
|
before_script: npm install
|
||||||
|
|
||||||
|
script: node bin/validate.js
|
97
README.md
97
README.md
|
@ -10,14 +10,14 @@ There is an [example profile](/company-profiles/example.md) to use.
|
||||||
|
|
||||||
Name | Website | Region
|
Name | Website | Region
|
||||||
------------ | ------- | -------
|
------------ | ------- | -------
|
||||||
[&yet](/company-profiles/andyet.md) | https://andyet.com | Worldwide
|
[&yet](/company-profiles/and-yet.md) | https://andyet.com | Worldwide
|
||||||
[10up](/company-profiles/10up.md) | https://10up.com/ | Worldwide
|
[10up](/company-profiles/10up.md) | https://10up.com/ | Worldwide
|
||||||
[17hats](/company-profiles/17hats.md) | https://www.17hats.com/ | Worldwide
|
[17hats](/company-profiles/17hats.md) | https://www.17hats.com/ | Worldwide
|
||||||
[18F](/company-profiles/18F.md) | https://18f.gsa.gov/ | USA
|
[18F](/company-profiles/18f.md) | https://18f.gsa.gov/ | USA
|
||||||
45royale | http://45royale.com/ |
|
45royale | http://45royale.com/ |
|
||||||
[Ably](/company-profiles/ably.md) | https://www.ably.io/ | Europe
|
[Ably](/company-profiles/ably.md) | https://www.ably.io/ | Europe
|
||||||
[Acquia](/company-profiles/acquia.md) | https://www.acquia.com/ | Worldwide
|
[Acquia](/company-profiles/acquia.md) | https://www.acquia.com/ | Worldwide
|
||||||
[Ad Hoc](/company-profiles/adhoc.md) | https://www.adhocteam.us/ | USA
|
[Ad Hoc](/company-profiles/ad-hoc.md) | https://www.adhocteam.us/ | USA
|
||||||
Aerolab | https://aerolab.co/ |
|
Aerolab | https://aerolab.co/ |
|
||||||
[AgFlow](/company-profiles/agflow.md) | http://www.agflow.com | Europe
|
[AgFlow](/company-profiles/agflow.md) | http://www.agflow.com | Europe
|
||||||
[AgileBits](/company-profiles/agilebits.md) | https://www.1password.com | Worldwide
|
[AgileBits](/company-profiles/agilebits.md) | https://www.1password.com | Worldwide
|
||||||
|
@ -27,11 +27,11 @@ Aerolab | https://aerolab.co/ |
|
||||||
[Anexus](/company-profiles/anexus.md) | http://www.anexusit.com/ | Latin America
|
[Anexus](/company-profiles/anexus.md) | http://www.anexusit.com/ | Latin America
|
||||||
AngularClass | https://angularclass.com | PST Timezone
|
AngularClass | https://angularclass.com | PST Timezone
|
||||||
Anomali | https://www.anomali.com/company/careers | United States
|
Anomali | https://www.anomali.com/company/careers | United States
|
||||||
[apartment therapy](/company-profiles/apartmenttherapy.md) | http://www.apartmenttherapy.com/ | USA
|
[apartment therapy](/company-profiles/apartment-therapy.md) | http://www.apartmenttherapy.com/ | USA
|
||||||
appendTo | http://appendto.com/ |
|
appendTo | http://appendto.com/ |
|
||||||
[Appstractor Corporation](company-profiles/appstractor.md) | https://www.appstractor.com/ | USA, UK, Israel
|
[Appstractor Corporation](/company-profiles/appstractor.md) | https://www.appstractor.com/ | USA, UK, Israel
|
||||||
Arkency | http://arkency.com/ | Worldwide
|
Arkency | http://arkency.com/ | Worldwide
|
||||||
[Art & Logic](/company-profiles/artandlogic.md) | https://artandlogic.com | US and Canada
|
[Art & Logic](/company-profiles/art-and-logic.md) | https://artandlogic.com | US and Canada
|
||||||
[Artefactual Systems](/company-profiles/artefactual.md) | https://www.artefactual.com | UTC-8 to UTC+2
|
[Artefactual Systems](/company-profiles/artefactual.md) | https://www.artefactual.com | UTC-8 to UTC+2
|
||||||
[Articulate](/company-profiles/articulate.md) | https://www.articulate.com | Worldwide
|
[Articulate](/company-profiles/articulate.md) | https://www.articulate.com | Worldwide
|
||||||
[Astronomer](/company-profiles/astronomer.md) | https://www.astronomer.io/ | USA
|
[Astronomer](/company-profiles/astronomer.md) | https://www.astronomer.io/ | USA
|
||||||
|
@ -47,13 +47,13 @@ Azoolla | http://www.azoolla.com/ | Europe
|
||||||
[Basecamp](/company-profiles/basecamp.md) | https://basecamp.com/ | Worldwide
|
[Basecamp](/company-profiles/basecamp.md) | https://basecamp.com/ | Worldwide
|
||||||
BeBanjo | http://bebanjo.com/ |
|
BeBanjo | http://bebanjo.com/ |
|
||||||
Betable | https://corp.betable.com/ |
|
Betable | https://corp.betable.com/ |
|
||||||
[Big Cartel](/company-profiles/bigcartel.md) | http://www.bigcartel.com | USA
|
[Big Cartel](/company-profiles/big-cartel.md) | http://www.bigcartel.com | USA
|
||||||
[Big Wheel Brigade](/company-profiles/bigwheelbrigade.md) | http://www.bigwheelbrigade.com/ | USA
|
[Big Wheel Brigade](/company-profiles/big-wheel-brigade.md) | http://www.bigwheelbrigade.com/ | USA
|
||||||
[Bitnami](/company-profiles/bitnami.md) | http://bitnami.com/ | Worldwide
|
[Bitnami](/company-profiles/bitnami.md) | http://bitnami.com/ | Worldwide
|
||||||
[Bitovi](/company-profiles/bitovi.md) | http://bitovi.com/ | USA & Worldwide
|
[Bitovi](/company-profiles/bitovi.md) | http://bitovi.com/ | USA & Worldwide
|
||||||
Bizink | http://bizinkonline.com |
|
Bizink | http://bizinkonline.com |
|
||||||
Black Pixel | https://blackpixel.com/ |
|
Black Pixel | https://blackpixel.com/ |
|
||||||
[Black Tangent](/company-profiles/blacktangent.md) | http://blacktangent.io/ | WorldWide
|
[Black Tangent](/company-profiles/black-tangent.md) | http://blacktangent.io/ | WorldWide
|
||||||
Bloc | https://www.bloc.io/ |
|
Bloc | https://www.bloc.io/ |
|
||||||
Bluespark | https://www.bluespark.com/ |
|
Bluespark | https://www.bluespark.com/ |
|
||||||
Brave Investments | http://www.braveinvest.com.br | Brazil
|
Brave Investments | http://www.braveinvest.com.br | Brazil
|
||||||
|
@ -77,8 +77,8 @@ CircleCI | https://circleci.com/ |
|
||||||
[Circonus](/company-profiles/circonus.md) | https://circonus.com/ | US
|
[Circonus](/company-profiles/circonus.md) | https://circonus.com/ | US
|
||||||
[Citrusbyte](/company-profiles/citrusbyte.md) | https://citrusbyte.com/ | Worldwide
|
[Citrusbyte](/company-profiles/citrusbyte.md) | https://citrusbyte.com/ | Worldwide
|
||||||
[Clevertech](/company-profiles/clevertech.md) | https://clevertech.biz/ | Worldwide
|
[Clevertech](/company-profiles/clevertech.md) | https://clevertech.biz/ | Worldwide
|
||||||
[Close.io](/company-profiles/closeio.md) | http://close.io | Worldwide
|
[Close.io](/company-profiles/close-io.md) | http://close.io | Worldwide
|
||||||
Codea IT | http://www.codeait.com | Worldwide
|
[Codea IT](/company-profiles/codea-it.md) | http://www.codeait.com | Worldwide
|
||||||
[CodePen](/company-profiles/codepen.md) | https://codepen.io | Worldwide
|
[CodePen](/company-profiles/codepen.md) | https://codepen.io | Worldwide
|
||||||
Codeship | https://codeship.com/ |
|
Codeship | https://codeship.com/ |
|
||||||
[Colivre](/company-profiles/colivre.md) | http://colivre.coop.br/ | Worldwide
|
[Colivre](/company-profiles/colivre.md) | http://colivre.coop.br/ | Worldwide
|
||||||
|
@ -87,22 +87,23 @@ Compose | https://www.compose.io/ |
|
||||||
[ConsenSys](/company-profiles/consensys.md) | https://consensys.net/ | Worldwide
|
[ConsenSys](/company-profiles/consensys.md) | https://consensys.net/ | Worldwide
|
||||||
Consumer Financial Protection Bureau | http://www.consumerfinance.gov |
|
Consumer Financial Protection Bureau | http://www.consumerfinance.gov |
|
||||||
Continu | https://www.continu.co/ |
|
Continu | https://www.continu.co/ |
|
||||||
Conversio | https://conversio.com/ | Worldwide
|
[Conversio](/company-profiles/conversio.md) | https://conversio.com/ | Worldwide
|
||||||
Core-Apps | http://www.core-apps.com/ | USA
|
Core-Apps | http://www.core-apps.com/ | USA
|
||||||
CoreOS | https://coreos.com/ |
|
CoreOS | https://coreos.com/ |
|
||||||
[Convert](/company-profiles/convert.md) | https://www.convert.com | Worldwide |
|
[Convert](/company-profiles/convert.md) | https://www.convert.com | Worldwide
|
||||||
[Corgibytes](/company-profiles/corgibytes.md) | http://corgibytes.com | US East Coast
|
[Corgibytes](/company-profiles/corgibytes.md) | http://corgibytes.com | US East Coast
|
||||||
[Customer.io](/company-profiles/customerio.md) | https://customer.io | Worldwide
|
[Customer.io](/company-profiles/customer-io.md) | https://customer.io | Worldwide
|
||||||
[Crew](/company-profiles/crew.md) | https://crew.co | Worldwide
|
[Crew](/company-profiles/crew.md) | https://crew.co | Worldwide
|
||||||
Crossover | https://www.crossover.com | Worldwide
|
Crossover | https://www.crossover.com | Worldwide
|
||||||
[CrowdTangle](/company-profiles/crowdtangle) | http://crowdtangle.com | USA
|
[CrowdTangle](/company-profiles/crowdtangle.md) | http://crowdtangle.com | USA
|
||||||
[Dalenys](/company-profiles/dalenys.md) | https://dalenys.com/ | Europe
|
[Dalenys](/company-profiles/dalenys.md) | https://dalenys.com/ | Europe
|
||||||
Datica | https://datica.com/ |
|
Datica | https://datica.com/ |
|
||||||
[Datadog](/company-profiles/datadoghq.md) | https://www.datadoghq.com/ | Worldwide
|
[Datadog](/company-profiles/datadog.md) | https://www.datadoghq.com/ | Worldwide
|
||||||
Data Science Brigade | http://datasciencebr.com/ | Worldwide
|
[Data Science Brigade](/company-profiles/data-science-brigade.md) | http://datasciencebr.com/ | Worldwide
|
||||||
DataStax | http://www.datastax.com/ |
|
DataStax | http://www.datastax.com/ |
|
||||||
DealDash | http://www.dealdash.com |
|
DealDash | http://www.dealdash.com |
|
||||||
Delighted | https://delighted.com |
|
Delighted | https://delighted.com |
|
||||||
|
[Dgraph](/company-profiles/dgraph.md) | https://dgraph.io/ | Americas
|
||||||
[DigitalOcean](/company-profiles/digitalocean.md) | https://www.digitalocean.com/ | Worldwide
|
[DigitalOcean](/company-profiles/digitalocean.md) | https://www.digitalocean.com/ | Worldwide
|
||||||
[Discourse](/company-profiles/discourse.md) | http://www.discourse.org/ | Worldwide
|
[Discourse](/company-profiles/discourse.md) | http://www.discourse.org/ | Worldwide
|
||||||
[DNSimple](/company-profiles/dnsimple.md) | https://dnsimple.com/ | Worldwide
|
[DNSimple](/company-profiles/dnsimple.md) | https://dnsimple.com/ | Worldwide
|
||||||
|
@ -118,10 +119,10 @@ EngineYard (Support Team) | https://www.engineyard.com/ |
|
||||||
Enjoei | https://www.enjoei.com.br/ | Brazil
|
Enjoei | https://www.enjoei.com.br/ | Brazil
|
||||||
[Envato](/company-profiles/envato.md) | https://envato.com/ | Worldwide
|
[Envato](/company-profiles/envato.md) | https://envato.com/ | Worldwide
|
||||||
Estately | http://www.estately.com/ |
|
Estately | http://www.estately.com/ |
|
||||||
[Etsy](company-profiles/etsy.md) | https://www.etsy.com/ | Worldwide
|
[Etsy](/company-profiles/etsy.md) | https://www.etsy.com/ | Worldwide
|
||||||
EVELO | https://evelo.workable.com |
|
EVELO | https://evelo.workable.com |
|
||||||
[Evil Martians](/company-profiles/evilmartians.md) | https://evilmartians.com/ | Worldwide
|
[Evil Martians](/company-profiles/evil-martians.md) | https://evilmartians.com/ | Worldwide
|
||||||
[Eyeo (Adblock Plus)](company-profiles/eyeo.md) | https://eyeo.com/ | Worldwide
|
[Eyeo (Adblock Plus)](/company-profiles/eyeo.md) | https://eyeo.com/ | Worldwide
|
||||||
Fastly | https://www.fastly.com/ |
|
Fastly | https://www.fastly.com/ |
|
||||||
Featurist | http://www.featurist.co.uk/ |
|
Featurist | http://www.featurist.co.uk/ |
|
||||||
Fetlife | https://fetlife.com/ | Worldwide
|
Fetlife | https://fetlife.com/ | Worldwide
|
||||||
|
@ -129,17 +130,17 @@ Filament Group | https://www.filamentgroup.com/ |
|
||||||
[Findify](/company-profiles/findify.md) | https://findify.io | UTC+2 +\- 2
|
[Findify](/company-profiles/findify.md) | https://findify.io | UTC+2 +\- 2
|
||||||
Fire Engine Red | http://fire-engine-red.com/ |
|
Fire Engine Red | http://fire-engine-red.com/ |
|
||||||
Focusnetworks | http://focusnetworks.com.br | Brazil
|
Focusnetworks | http://focusnetworks.com.br | Brazil
|
||||||
[Fog Creek](/company-profiles/fogcreek.md) | https://www.fogcreek.com/ | Worldwide
|
[Fog Creek](/company-profiles/fog-creek-software.md) | https://www.fogcreek.com/ | Worldwide
|
||||||
[Formstack](/company-profiles/formstack.md) | https://www.formstack.com/ | Worldwide
|
[Formstack](/company-profiles/formstack.md) | https://www.formstack.com/ | Worldwide
|
||||||
Four Kitchens | https://fourkitchens.com/ |
|
Four Kitchens | https://fourkitchens.com/ |
|
||||||
[Freeagent](/company-profiles/freeagent.md) | http://www.freeagent.com/ | Worldwide
|
[Freeagent](/company-profiles/freeagent.md) | http://www.freeagent.com/ | Worldwide
|
||||||
[Fuel Made](/company-profiles/fuelmade.md) | http://fuelmade.com/ | Western North America
|
[Fuel Made](/company-profiles/fuel-made.md) | http://fuelmade.com/ | Western North America
|
||||||
[FullFabric](/company-profiles/fullfabric.md) | http://fullfabric.com/ | Europe
|
[FullFabric](/company-profiles/full-fabric.md) | http://fullfabric.com/ | Europe
|
||||||
Functionite | http://functionite.com/ |
|
Functionite | http://functionite.com/ |
|
||||||
[Gaggle](/company-profiles/gaggle.md) | https://www.gaggle.net/ | US
|
[Gaggle](/company-profiles/gaggle.md) | https://www.gaggle.net/ | US
|
||||||
Geckoboard | https://www.geckoboard.com | UK
|
Geckoboard | https://www.geckoboard.com | UK
|
||||||
General Assembly | https://generalassemb.ly/ |
|
General Assembly | https://generalassemb.ly/ |
|
||||||
[Ghost Foundation](/company-profiles/ghost.md) | https://ghost.org/ | Worldwide
|
[Ghost Foundation](/company-profiles/the-ghost-foundation.md) | https://ghost.org/ | Worldwide
|
||||||
Giant Swarm | https://giantswarm.io | Worldwide
|
Giant Swarm | https://giantswarm.io | Worldwide
|
||||||
[GigSalad](/company-profiles/gigsalad.md) | https://www.gigsalad.com/ | US
|
[GigSalad](/company-profiles/gigsalad.md) | https://www.gigsalad.com/ | US
|
||||||
Gitbook | https://www.gitbook.com/ |
|
Gitbook | https://www.gitbook.com/ |
|
||||||
|
@ -148,23 +149,23 @@ GitLab | https://about.gitlab.com/ | Worldwide
|
||||||
[GitPrime](/company-profiles/gitprime.md) | https://gitprime.com/ | Worldwide
|
[GitPrime](/company-profiles/gitprime.md) | https://gitprime.com/ | Worldwide
|
||||||
Glue Networks | http://gluenetworks.com/ |
|
Glue Networks | http://gluenetworks.com/ |
|
||||||
GoHiring | http://www.gohiring.com/ | Worldwide
|
GoHiring | http://www.gohiring.com/ | Worldwide
|
||||||
[Gorman Health Group](/company-profiles/gormanhealthgroup.md) | https://www.gormanhealthgroup.com/ | US
|
[Gorman Health Group](/company-profiles/gorman-health-group.md) | https://www.gormanhealthgroup.com/ | US
|
||||||
GotSoccer, LLC | http://www.gotsoccerpro.com |
|
GotSoccer, LLC | http://www.gotsoccerpro.com |
|
||||||
Graylog | https://www.graylog.org/ |
|
Graylog | https://www.graylog.org/ |
|
||||||
[Gridium](/company-profiles/gridium.md) | http://gridium.com | US
|
[Gridium](/company-profiles/gridium.md) | http://gridium.com | US
|
||||||
[Gruntwork](/company-profiles/gruntwork.md) | http://www.gruntwork.io/ | Worldwide
|
[Gruntwork](/company-profiles/gruntwork.md) | http://www.gruntwork.io/ | Worldwide
|
||||||
[Hack Reactor Remote](/company-profiles/hackreactorremote.md) | http://www.hackreactor.com/remote/ | Pacific Time Zone (PT)
|
[Hack Reactor Remote](/company-profiles/hack-reactor-remote.md) | http://www.hackreactor.com/remote/ | Pacific Time Zone (PT)
|
||||||
Haiku Learning | http://www.haikulearning.com/ |
|
Haiku Learning | http://www.haikulearning.com/ |
|
||||||
Hanno | https://hanno.co/ |
|
Hanno | https://hanno.co/ |
|
||||||
[Hanzo](/company-profiles/hanzo.md) | https://www.hanzo.co/ | US, UK, Europe
|
[Hanzo](/company-profiles/hanzo.md) | https://www.hanzo.co/ | US, UK, Europe
|
||||||
[Happy Bear Software](/company-profiles/happybearsoftware.md) | https://www.happybearsoftware.com/ | Worldwide
|
[Happy Bear Software](/company-profiles/happy-bear-software.md) | https://www.happybearsoftware.com/ | Worldwide
|
||||||
Happy Cog | http://happycog.com/ | USA
|
Happy Cog | http://happycog.com/ | USA
|
||||||
[Harvest](/company-profiles/harvest.md) | https://www.getharvest.com/ | Worldwide
|
[Harvest](/company-profiles/harvest.md) | https://www.getharvest.com/ | Worldwide
|
||||||
HashiCorp | https://www.hashicorp.com/ |
|
HashiCorp | https://www.hashicorp.com/ |
|
||||||
Healthfinch | http://www.healthfinch.com/ |
|
Healthfinch | http://www.healthfinch.com/ |
|
||||||
Heap | https://heapanalytics.com/ | Worldwide
|
[Heap](/company-profiles/heap.md) | https://heapanalytics.com/ | Worldwide
|
||||||
Help Scout | https://www.helpscout.net/ |
|
Help Scout | https://www.helpscout.net/ |
|
||||||
[HE:labs](/company-profiles/helabs.md) | https://www.helabs.com | Worldwide
|
[HE:labs](/company-profiles/he-labs.md) | https://www.helabs.com | Worldwide
|
||||||
Heroku | https://www.heroku.com/ |
|
Heroku | https://www.heroku.com/ |
|
||||||
[Hireology](/company-profiles/hireology.md) | https://www.hireology.com | United States
|
[Hireology](/company-profiles/hireology.md) | https://www.hireology.com | United States
|
||||||
Honeybadger | https://www.honeybadger.io/ |
|
Honeybadger | https://www.honeybadger.io/ |
|
||||||
|
@ -172,17 +173,17 @@ Honeybadger | https://www.honeybadger.io/ |
|
||||||
Hotjar | http://careers.hotjar.com/ | Worldwide
|
Hotjar | http://careers.hotjar.com/ | Worldwide
|
||||||
[Hudl](/company-profiles/hudl.md) | http://www.hudl.com/ | US & UK
|
[Hudl](/company-profiles/hudl.md) | http://www.hudl.com/ | US & UK
|
||||||
[Hugo](/company-profiles/hugo.md) | https://hugo.events | Worldwide
|
[Hugo](/company-profiles/hugo.md) | https://hugo.events | Worldwide
|
||||||
[Human Made](/company-profiles/humanmade.md) | https://hmn.md | Worldwide
|
[Human Made](/company-profiles/human-made.md) | https://hmn.md | Worldwide
|
||||||
[Hyperion](/company-profiles/hyperion.md) | https://hyperiondev.com/jobs | South Africa
|
[Hyperion](/company-profiles/hyperion.md) | https://hyperiondev.com/jobs | South Africa
|
||||||
[Hypothesis](/company-profiles/hypothesis.md) | https://hypothes.is | Worldwide
|
[Hypothesis](/company-profiles/hypothesis.md) | https://hypothes.is | Worldwide
|
||||||
IDoneThis | https://idonethis.com/ |
|
IDoneThis | https://idonethis.com/ |
|
||||||
Igalia | http://www.igalia.com/ |
|
Igalia | http://www.igalia.com/ |
|
||||||
[Incsub](company-profiles/incsub.md) | https://incsub.com/ | Worldwide
|
[Incsub](/company-profiles/incsub.md) | https://incsub.com/ | Worldwide
|
||||||
InfluxData | https://influxdata.com |
|
InfluxData | https://influxdata.com |
|
||||||
Inpsyde | http://inpsyde.com/en/ |
|
Inpsyde | http://inpsyde.com/en/ |
|
||||||
[InQuicker](/company-profiles/inquicker.md) | https://inquicker.com | US & CA
|
[InQuicker](/company-profiles/inquicker.md) | https://inquicker.com | US & CA
|
||||||
Intellum | http://www.intellum.com |
|
Intellum | http://www.intellum.com |
|
||||||
[Interactive Intelligence](/company-profiles/inin.md) | https://www.inin.com/ | Worldwide
|
[Interactive Intelligence](/company-profiles/interactive-intelligence.md) | https://www.inin.com/ | Worldwide
|
||||||
[Intercom](/company-profiles/intercom.md) | https://www.intercom.io/ | Worldwide
|
[Intercom](/company-profiles/intercom.md) | https://www.intercom.io/ | Worldwide
|
||||||
Interpersonal Frequency (I.F.) | https://ifsight.com/ |
|
Interpersonal Frequency (I.F.) | https://ifsight.com/ |
|
||||||
InVision | http://www.invisionapp.com/ |
|
InVision | http://www.invisionapp.com/ |
|
||||||
|
@ -198,7 +199,7 @@ KickBack Rewards Systems | http://careers.kickbacksystems.com |
|
||||||
[Knack](/company-profiles/knack.md) | https://www.knackhq.com | US
|
[Knack](/company-profiles/knack.md) | https://www.knackhq.com | US
|
||||||
Koding | https://koding.com | Worldwide
|
Koding | https://koding.com | Worldwide
|
||||||
[LaterPay](/company-profiles/laterpay.md) | https://www.laterpay.net/ |
|
[LaterPay](/company-profiles/laterpay.md) | https://www.laterpay.net/ |
|
||||||
Let's Encrypt | https://letsencrypt.org | US and Canada
|
[Let's Encrypt](/company-profiles/let-s-encrypt.md) | https://letsencrypt.org | US and Canada
|
||||||
Librato | https://www.librato.com/ |
|
Librato | https://www.librato.com/ |
|
||||||
Lightbend | http://www.lightbend.com/ | Worldwide
|
Lightbend | http://www.lightbend.com/ | Worldwide
|
||||||
Linaro | https://www.linaro.org/ |
|
Linaro | https://www.linaro.org/ |
|
||||||
|
@ -224,8 +225,8 @@ Mycelium | https://mycelium.com |
|
||||||
MySQL | https://www.mysql.com/ |
|
MySQL | https://www.mysql.com/ |
|
||||||
Netguru | https://www.netguru.co |
|
Netguru | https://www.netguru.co |
|
||||||
[Netsparker](/company-profiles/netsparker.md) | https://www.netsparker.com/ | Worldwide
|
[Netsparker](/company-profiles/netsparker.md) | https://www.netsparker.com/ | Worldwide
|
||||||
[Nettl Edinburgh](/company-profiles/nettledinburgh.md) | http://www.webdesignedinburgh.com | UK & Europe
|
[Nettl Edinburgh](/company-profiles/nettl-edinburgh.md) | http://www.webdesignedinburgh.com | UK & Europe
|
||||||
[New Context](/company-profiles/new_context.md) | https://www.newcontext.com/ | US
|
[New Context](/company-profiles/new-context.md) | https://www.newcontext.com/ | US
|
||||||
Next Big Sound | https://www.nextbigsound.com/ |
|
Next Big Sound | https://www.nextbigsound.com/ |
|
||||||
[NodeSource](/company-profiles/nodesource.md) | https://nodesource.com/ | Worldwide
|
[NodeSource](/company-profiles/nodesource.md) | https://nodesource.com/ | Worldwide
|
||||||
[NoRedInk](/company-profiles/noredink.md) | https://noredink.com | UTC-8 to UTC+1
|
[NoRedInk](/company-profiles/noredink.md) | https://noredink.com | UTC-8 to UTC+1
|
||||||
|
@ -239,7 +240,7 @@ OpenCraft | http://opencraft.com/ |
|
||||||
Oracle | http://www.oracle.com/ | Worldwide
|
Oracle | http://www.oracle.com/ | Worldwide
|
||||||
Our-Hometown Inc. | http://our-hometown.com/ | US
|
Our-Hometown Inc. | http://our-hometown.com/ | US
|
||||||
[PagerDuty](/company-profiles/pagerduty.md) | https://pagerduty.com | US
|
[PagerDuty](/company-profiles/pagerduty.md) | https://pagerduty.com | US
|
||||||
[Palantir.net](/company-profiles/palantirnet.md) | https://www.palantir.net/ | US
|
[Palantir.net](/company-profiles/palantir-net.md) | https://www.palantir.net/ | US
|
||||||
[Park Assist](/company-profiles/park-assist.md) | http://tech.parkassist.com | UTC-8 to UTC+2
|
[Park Assist](/company-profiles/park-assist.md) | http://tech.parkassist.com | UTC-8 to UTC+2
|
||||||
Parker Wallace | http://www.parkerwallace.com/ |
|
Parker Wallace | http://www.parkerwallace.com/ |
|
||||||
Parsely | http://www.parsely.com/ |
|
Parsely | http://www.parsely.com/ |
|
||||||
|
@ -251,25 +252,25 @@ Pelagicore | http://www.pelagicore.com |
|
||||||
PeopleDoc | http://www.people-doc.com |
|
PeopleDoc | http://www.people-doc.com |
|
||||||
[Percona](/company-profiles/percona.md) | https://www.percona.com | Worldwide
|
[Percona](/company-profiles/percona.md) | https://www.percona.com | Worldwide
|
||||||
PhishMe, Inc | http://phishme.com |
|
PhishMe, Inc | http://phishme.com |
|
||||||
[Platform.sh](/company-profiles/platformsh.md) | https://platform.sh/ | Worldwide
|
[Platform.sh](/company-profiles/platform-sh.md) | https://platform.sh/ | Worldwide
|
||||||
Precision Nutrition | http://www.precisionnutrition.com/ |
|
Precision Nutrition | http://www.precisionnutrition.com/ |
|
||||||
PreviousNext | https://www.previousnext.com.au/ |
|
PreviousNext | https://www.previousnext.com.au/ |
|
||||||
[Prezly](/company-profiles/prezly.md) | https://www.prezly.com/ | Worldwide
|
[Prezly](/company-profiles/prezly.md) | https://www.prezly.com/ | Worldwide
|
||||||
[Puppet](/company-profiles/puppet.md) | https://puppet.com/ | Worldwide
|
[Puppet](/company-profiles/puppet.md) | https://puppet.com/ | Worldwide
|
||||||
[Rackspace](/company-profiles/rackspace.md) | https://rackspace.com/ | Worldwide
|
[Rackspace](/company-profiles/rackspace.md) | https://rackspace.com/ | Worldwide
|
||||||
Rainforest QA | https://www.rainforestqa.com/jobs/ |
|
Rainforest QA | https://www.rainforestqa.com/jobs/ |
|
||||||
ReactiveOps, Inc. | https://www.reactiveops.com | USA
|
[ReactiveOps, Inc.](/company-profiles/reactiveops.md) | https://www.reactiveops.com | USA
|
||||||
RealHQ | https://realhq.com/ |
|
RealHQ | https://realhq.com/ |
|
||||||
RebelMouse | https://www.rebelmouse.com/ |
|
RebelMouse | https://www.rebelmouse.com/ |
|
||||||
Receiptful | https://receiptful.com |
|
Receiptful | https://receiptful.com |
|
||||||
[ReCharge](/company-profiles/recharge.md) | http://rechargepayments.com/ | Worldwide
|
[ReCharge](/company-profiles/recharge.md) | http://rechargepayments.com/ | Worldwide
|
||||||
Recurly | https://recurly.com/ |
|
Recurly | https://recurly.com/ |
|
||||||
[Red Hat](/company-profiles/redhat.md) | https://www.redhat.com | Worldwide
|
[Red Hat](/company-profiles/red-hat.md) | https://www.redhat.com | Worldwide
|
||||||
RedMonk | http://redmonk.com/ |
|
RedMonk | http://redmonk.com/ |
|
||||||
reinteractive | https://reinteractive.net/ |
|
reinteractive | https://reinteractive.net/ |
|
||||||
Research Square | https://www.researchsquare.com/ |
|
Research Square | https://www.researchsquare.com/ |
|
||||||
RightScale | http://www.rightscale.com/ |
|
RightScale | http://www.rightscale.com/ |
|
||||||
[rtCamp](/company-profiles/rtCamp.md) | https://rtcamp.com | India
|
[rtCamp](/company-profiles/rtcamp-solutions.md) | https://rtcamp.com | India
|
||||||
Safari Books Online | https://www.safaribooksonline.com |
|
Safari Books Online | https://www.safaribooksonline.com |
|
||||||
Salesforce | https://www.salesforce.com/ |
|
Salesforce | https://www.salesforce.com/ |
|
||||||
Sawhorse Media | http://sawhorsemedia.com |
|
Sawhorse Media | http://sawhorsemedia.com |
|
||||||
|
@ -282,7 +283,7 @@ SignEasy | http://getsigneasy.com |
|
||||||
[simplabs](/company-profiles/simplabs.md) | http://simplabs.com/ | Europe and Americas
|
[simplabs](/company-profiles/simplabs.md) | http://simplabs.com/ | Europe and Americas
|
||||||
[Simple](/company-profiles/simple.md) | https://www.simple.com/ | United States
|
[Simple](/company-profiles/simple.md) | https://www.simple.com/ | United States
|
||||||
[SimpleTexting](/company-profiles/simpletexting.md) | https://simpletexting.com/ | Worldwide
|
[SimpleTexting](/company-profiles/simpletexting.md) | https://simpletexting.com/ | Worldwide
|
||||||
[Six to Start](/company-profiles/sixtostart.md) | http://sixtostart.com | Worldwide
|
[Six to Start](/company-profiles/six-to-start.md) | http://sixtostart.com | Worldwide
|
||||||
[Skillcrush](/company-profiles/skillcrush.md) | http://skillcrush.com | Worldwide
|
[Skillcrush](/company-profiles/skillcrush.md) | http://skillcrush.com | Worldwide
|
||||||
Skillshare | https://www.skillshare.com/teach |
|
Skillshare | https://www.skillshare.com/teach |
|
||||||
SmugMug | https://www.smugmug.com/ |
|
SmugMug | https://www.smugmug.com/ |
|
||||||
|
@ -290,7 +291,7 @@ SoftwareMill | https://softwaremill.com/ |
|
||||||
Soostone | http://www.soostone.com/ |
|
Soostone | http://www.soostone.com/ |
|
||||||
[Spoqa](/company-profiles/spoqa.md) | http://www.spoqa.com/ | South Korea and Japan
|
[Spoqa](/company-profiles/spoqa.md) | http://www.spoqa.com/ | South Korea and Japan
|
||||||
[Spreedly](/company-profiles/spreedly.md) | https://spreedly.com/ | United States
|
[Spreedly](/company-profiles/spreedly.md) | https://spreedly.com/ | United States
|
||||||
[Stack Exchange](/company-profiles/stackexchange.md) | http://stackexchange.com/ | Worldwide
|
[Stack Exchange](/company-profiles/stack-exchange.md) | http://stackexchange.com/ | Worldwide
|
||||||
[Stencil](/company-profiles/stencil.md) | https://getstencil.com/ | United States and Canada
|
[Stencil](/company-profiles/stencil.md) | https://getstencil.com/ | United States and Canada
|
||||||
Stitch Fix | https://www.stitchfix.com |
|
Stitch Fix | https://www.stitchfix.com |
|
||||||
[Stairlin](/company-profiles/stairlin.md) | https://www.stairlin.com/ | Worldwide
|
[Stairlin](/company-profiles/stairlin.md) | https://www.stairlin.com/ | Worldwide
|
||||||
|
@ -313,15 +314,15 @@ Teleport | http://teleport.org/ |
|
||||||
Telerik | http://www.telerik.com/ |
|
Telerik | http://www.telerik.com/ |
|
||||||
Tenable | http://www.tenable.com/ |
|
Tenable | http://www.tenable.com/ |
|
||||||
Test Double | http://testdouble.com/ |
|
Test Double | http://testdouble.com/ |
|
||||||
[The Grid](/company-profiles/thegrid.md) | https://thegrid.io/ | Worldwide
|
[The Grid](/company-profiles/the-grid.md) | https://thegrid.io/ | Worldwide
|
||||||
The Publisher Desk | http://www.publisherdesk.com |
|
The Publisher Desk | http://www.publisherdesk.com |
|
||||||
The Remote Lab | http://theremotelab.io |
|
The Remote Lab | http://theremotelab.io |
|
||||||
[The Scale Factory](/company-profiles/thescalefactory.md) | http://www.scalefactory.com/ | UK |
|
[The Scale Factory](/company-profiles/the-scale-factory.md) | http://www.scalefactory.com/ | UK
|
||||||
[The Wirecutter](/company-profiles/the-wirecutter.md) | http://thewirecutter.com/ | Worldwide
|
The Wirecutter | http://thewirecutter.com/ | Worldwide
|
||||||
TIDY Homekeeping | http://tidy.com/ | United States
|
TIDY Homekeeping | http://tidy.com/ | United States
|
||||||
[TimeSpot](/company-profiles/timespot.md) | https://timespothq.com/ | Worldwide
|
[TimeSpot](/company-profiles/timespot.md) | https://timespothq.com/ | Worldwide
|
||||||
[toggl](/company-profiles/toggl.md) | https://toggl.com/ | Worldwide
|
[toggl](/company-profiles/toggl.md) | https://toggl.com/ | Worldwide
|
||||||
[Toptal](company-profiles/toptal.md) | https://www.toptal.com/ | Worldwide
|
[Toptal](/company-profiles/toptal.md) | https://www.toptal.com/ | Worldwide
|
||||||
Tower / fournova | https://www.fournova.com/ |
|
Tower / fournova | https://www.fournova.com/ |
|
||||||
Tractionboard | https://tractionboard.com/ |
|
Tractionboard | https://tractionboard.com/ |
|
||||||
[Transloadit](/company-profiles/transloadit.md) | https://transloadit.com/ | Worldwide
|
[Transloadit](/company-profiles/transloadit.md) | https://transloadit.com/ | Worldwide
|
||||||
|
@ -337,7 +338,7 @@ Upworthy | https://www.upworthy.com/ | Worldwide (U.S. Timezone)
|
||||||
Varnish Software | https://www.varnish-software.com/about-us | Worldwide
|
Varnish Software | https://www.varnish-software.com/about-us | Worldwide
|
||||||
Vox Media (Product Team) | http://www.voxmedia.com/ |
|
Vox Media (Product Team) | http://www.voxmedia.com/ |
|
||||||
WebDevStudios | https://webdevstudios.com/ |
|
WebDevStudios | https://webdevstudios.com/ |
|
||||||
[Webikon](/company-profiles/Webikon.md) | http://www.webikon.sk/en/ | Worldwide
|
[Webikon](/company-profiles/webikon.md) | http://www.webikon.sk/en/ | Worldwide
|
||||||
WellMatch | https://www.wellmatchhealth.com/ |
|
WellMatch | https://www.wellmatchhealth.com/ |
|
||||||
Whitecap SEO | http://www.whitecapseo.com/ |
|
Whitecap SEO | http://www.whitecapseo.com/ |
|
||||||
Whitespectre | http://whitespectre.com |
|
Whitespectre | http://whitespectre.com |
|
||||||
|
@ -351,4 +352,4 @@ X-Team | http://x-team.com/ |
|
||||||
YouCanBook.me Ltd | https://youcanbook.me |
|
YouCanBook.me Ltd | https://youcanbook.me |
|
||||||
Yonder | https://www.yonder.io | Worldwide
|
Yonder | https://www.yonder.io | Worldwide
|
||||||
[Zapier](/company-profiles/zapier.md) | https://zapier.com/ | Worldwide
|
[Zapier](/company-profiles/zapier.md) | https://zapier.com/ | Worldwide
|
||||||
[Zeit.io](/company-profiles/zeitio.md) | http://zeit.io/ | Germany, The Netherlands, Spain, Chile
|
[Zeit.io](/company-profiles/zeit-io.md) | http://zeit.io/ | Germany, The Netherlands, Spain, Chile
|
||||||
|
|
18
bin/rename.sh
Executable file
18
bin/rename.sh
Executable file
|
@ -0,0 +1,18 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Only use this script if ALL validation checks are already passing!
|
||||||
|
|
||||||
|
old_name="$1"
|
||||||
|
new_name="$2"
|
||||||
|
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
if [ ! -f "$old_name" ] || [ -f "$new_name" ]; then
|
||||||
|
echo "Usage: $0 company-profiles/old-filename.md company-profiles/new-filename.md"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
git mv "$old_name" "$new_name"
|
||||||
|
|
||||||
|
sed -i "s#/$old_name#/$new_name#" README.md
|
105
bin/validate.js
105
bin/validate.js
|
@ -6,11 +6,103 @@ const path = require( 'path' );
|
||||||
const cheerio = require( 'cheerio' );
|
const cheerio = require( 'cheerio' );
|
||||||
const marked = require( 'marked' );
|
const marked = require( 'marked' );
|
||||||
|
|
||||||
const profilesPath = path.join( __dirname, '..', 'company-profiles' );
|
|
||||||
|
|
||||||
let errorCount = 0;
|
let errorCount = 0;
|
||||||
|
|
||||||
fs.readdirSync( profilesPath ).forEach( filename => {
|
|
||||||
|
/**
|
||||||
|
* Build list of Markdown files containing company profiles.
|
||||||
|
*/
|
||||||
|
|
||||||
|
const profilesPath = path.join( __dirname, '..', 'company-profiles' );
|
||||||
|
const profileFilenames = fs.readdirSync( profilesPath );
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Scan the company table in the readme.
|
||||||
|
*/
|
||||||
|
|
||||||
|
const readmeCompanies = [];
|
||||||
|
|
||||||
|
const readmeMarkdown = fs.readFileSync(
|
||||||
|
path.join( __dirname, '..', 'README.md' ),
|
||||||
|
'utf8'
|
||||||
|
);
|
||||||
|
|
||||||
|
const $ = cheerio.load( marked( readmeMarkdown ) );
|
||||||
|
|
||||||
|
function readmeError( msg, ...params ) {
|
||||||
|
errorCount++;
|
||||||
|
console.log(
|
||||||
|
'README.md: ' + msg,
|
||||||
|
...params
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$( 'tr' ).each( ( i, tr ) => {
|
||||||
|
if ( i === 0 ) {
|
||||||
|
// Skip the table header row.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const $td = $( tr ).children( 'td' );
|
||||||
|
if ( $td.length !== 3 ) {
|
||||||
|
readmeError(
|
||||||
|
'Expected 3 table cells but found %d: %s',
|
||||||
|
$td.length,
|
||||||
|
$( tr ).html().replace( /\n/g, '' )
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const entry = {
|
||||||
|
name: $td.eq( 0 ).text(),
|
||||||
|
website: $td.eq( 1 ).text(),
|
||||||
|
shortRegion: $td.eq( 2 ).text(),
|
||||||
|
};
|
||||||
|
|
||||||
|
if ( ! entry.name ) {
|
||||||
|
readmeError(
|
||||||
|
'Missing company name: %s',
|
||||||
|
$( tr ).html()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const profileLink = $td.eq( 0 ).find( 'a' ).attr( 'href' );
|
||||||
|
|
||||||
|
if ( profileLink ) {
|
||||||
|
const match = profileLink.match( /^\/company-profiles\/(.*\.md)$/ );
|
||||||
|
|
||||||
|
if ( match ) {
|
||||||
|
entry.linkedFilename = match[ 1 ];
|
||||||
|
if ( profileFilenames.indexOf( entry.linkedFilename ) === -1 ) {
|
||||||
|
readmeError(
|
||||||
|
'Broken link to company "%s": "%s"',
|
||||||
|
entry.name,
|
||||||
|
profileLink
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
readmeError(
|
||||||
|
'Invalid link to company "%s": "%s"',
|
||||||
|
entry.name,
|
||||||
|
profileLink
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// We're not ready to do this check yet!
|
||||||
|
/* readmeError(
|
||||||
|
'Company "%s" has no linked Markdown profile',
|
||||||
|
entry.name
|
||||||
|
); */
|
||||||
|
}
|
||||||
|
|
||||||
|
readmeCompanies.push( entry );
|
||||||
|
} );
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Scan the individual Markdown files containing the company profiles.
|
||||||
|
*/
|
||||||
|
|
||||||
|
profileFilenames.forEach( filename => {
|
||||||
function error( msg, ...params ) {
|
function error( msg, ...params ) {
|
||||||
errorCount++;
|
errorCount++;
|
||||||
console.log(
|
console.log(
|
||||||
|
@ -58,6 +150,13 @@ fs.readdirSync( profilesPath ).forEach( filename => {
|
||||||
companyName
|
companyName
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
filename !== 'example.md' &&
|
||||||
|
! readmeCompanies.some( entry => entry.linkedFilename === filename )
|
||||||
|
) {
|
||||||
|
error( 'No link to company profile from readme' );
|
||||||
|
}
|
||||||
} );
|
} );
|
||||||
|
|
||||||
console.log();
|
console.log();
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Company Name
|
# Example Company
|
||||||
|
|
||||||
## Company blurb
|
## Company blurb
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#Fuel Made
|
# Fuel Made
|
||||||
|
|
||||||
## Company blurb
|
## Company blurb
|
||||||
|
|
Loading…
Reference in a new issue