Skip to content

Commit

Permalink
Make company headings consistent (#407)
Browse files Browse the repository at this point in the history
* Change "Office Locations" to "Office locations" for consistent casing

* Standardize other company headings

* Validate heading names

* Add a way to look at headings of all profiles at once
  • Loading branch information
nylen authored Apr 16, 2018
1 parent 4eb1208 commit c006350
Show file tree
Hide file tree
Showing 188 changed files with 266 additions and 210 deletions.
62 changes: 62 additions & 0 deletions bin/validate.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,22 @@ const contentPath = (
);


/**
* Define the heading names expected in company profiles.
*/
const headingsRequired = [
'Company blurb',
];
const headingsOptional = [
'Company size',
'Remote status',
'Region',
'Company technologies',
'Office locations',
'How to apply',
];


/**
* Build list of Markdown files containing company profiles.
*/
Expand Down Expand Up @@ -126,6 +142,8 @@ $( 'tr' ).each( ( i, tr ) => {
* Scan the individual Markdown files containing the company profiles.
*/

const allProfileHeadings = {};

profileFilenames.forEach( filename => {
function error( msg, ...params ) {
errorCount++;
Expand Down Expand Up @@ -181,8 +199,52 @@ profileFilenames.forEach( filename => {
) {
error( 'No link to company profile from readme' );
}

// Build and validate list of headings contained in this Markdown profile.

const profileHeadings = [];

$( 'h2' ).each( ( i, el ) => {
const headingName = $( el ).html();
profileHeadings.push( headingName );
if (
headingsRequired.indexOf( headingName ) === -1 &&
headingsOptional.indexOf( headingName ) === -1
) {
error(
'Invalid heading name: "%s". Expected one of: %s',
headingName,
JSON.stringify( headingsRequired.concat( headingsOptional ) )
);
}
// Track headings across all profiles
if ( ! allProfileHeadings[ headingName ] ) {
allProfileHeadings[ headingName ] = [];
}
allProfileHeadings[ headingName ].push( filename );
} );

headingsRequired.forEach( headingName => {
if ( profileHeadings.indexOf( headingName ) === -1 ) {
error(
'Required heading "%s" not found.',
headingName
);
}
} );
} );

if ( process.env.REPORT_PROFILE_HEADINGS ) {
console.log();
console.log(
'Profile headings by count (%d total profiles):',
profileFilenames.length
);
Object.keys( allProfileHeadings ).forEach( heading => {
console.log( '%s: %d', heading, allProfileHeadings[ heading ].length )
} );
}

console.log();
console.log(
'%d problem%s detected',
Expand Down
2 changes: 1 addition & 1 deletion company-profiles/10up.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ We have employees all around the world, from across the US to the UK to South Af
* Nginx
* Memcache

## Office Locations
## Office locations

None; or everywhere!

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/17hats.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Worldwide

iOS, React, Knockout, Rails, Perl, HTML, Sql, Ruby, JQuery

## Office Locations
## Office locations

Not known

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/18f.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ U.S. citizens, non-citizens who are nationals of the U.S., or people who have be

Ruby, Python, HTML, CSS, JavaScript

## Office Locations
## Office locations

Federal buildings in San Francisco, Chicago, New York City, and Washington D.C.

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/ably.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ The bulk of our engineering team is in Europe so we generally prefer candidates
* We make extensive use of a wide array of AWS services
* We host our code in Git

## Office Locations
## Office locations

London, United Kingdom

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/acquia.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Worldwide - Acquia is an international company with office locations around the
- JavaScript
- Ruby

## Office Locations
## Office locations

- Boston, MA, USA (Headquarters)
- Gent, Belgium
Expand Down
2 changes: 1 addition & 1 deletion company-profiles/ad-hoc.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ USA only for the time being: many of our contracts with the US government requir
- HTML
- CSS

## Office Locations
## Office locations

None! We have a small coworking space for our DC team, but otherwise everyone works remotely.

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/agflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Main office is located at Geneva, Switzerland. There is one small office in Wroc
* Redis
* React

## Office Locations
## Office locations
[Geneva, CH](https://www.google.ch/maps/place/Boulevard+de+Saint-Georges+72,+1205+Genève/)

## How to apply
Expand Down
2 changes: 1 addition & 1 deletion company-profiles/agilebits.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Worldwide. Right now we have folks distributed throughout North America and Euro

\<Unknown\>

## Office Locations
## Office locations

Toronto, Ontario

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/aha.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Worldwide

Ruby on Rails, React, jQuery

## Office Locations
## Office locations

Worldwide

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/algorithmia.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Worldwide, but we work primarily on US timezones.
- Kubernetes
- Docker

## Office Locations
## Office locations

- Seattle, WA

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/allydvm.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ USA

Ruby and RoR, Javascript, AngularJS, Coffeescript, iOS, Android, MySQL, HTML/CSS, Java and Spring

## Office Locations
## Office locations

\<Unknown\>

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/alphasights.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Our remote engineers work the same hours as our New York and London offices depe
* PostgreSQL
* Git

## Office Locations
## Office locations

Our engineering offices are located in New York City and London. We have other offices in Dubai, Shanghai, Seoul, and San Francisco.

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/and-yet.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ We employ several strategies that ensure inclusive and collaborative environment
* Jade
* Stylus

## Office Locations
## Office locations
[Richland, WA](https://www.google.com/maps/place/110+Gage+Blvd,+Richland,+WA+99352)

## How to apply
Expand Down
2 changes: 1 addition & 1 deletion company-profiles/anexus.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Latin America - Anexus is a regional company with offices in Costa Rica but a te
- ReactJS
- Symfony

## Office Locations
## Office locations

- San Jose, Costa Rica (Headquarters)

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/apartment-therapy.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ US-based employees only.

CTO Scott Trudeau wrote a gist about their [stack, product team, and mentions working remotely](https://gist.github.com/sstrudeau/f563dc72739e9e047de5)

## Office Locations
## Office locations

Company office in [NYC - 270 Lafayette St Fl 12 (Prince St.), New York, NY 10012, United States](https://www.google.com/maps/place/Apartment+Therapy/@40.7240504,-73.9965837,20z/data=!4m7!1m4!3m3!1s0x89c27c75f5d73d85:0x4fd9ab773fad77d1!2sProject+Real+Apartment+Treatment,+55+N+Ocean+Ave+%23+2,+Freeport,+NY+11520!3b1!3m1!1s0x0000000000000000:0x9f96cb380f7dbcf7)

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/appstractor.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Worldwide

LAMP

## Office Locations
## Office locations

US, UK, Israel offices

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/art-and-logic.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ We work with an extensive range of languages and technologies.
* C#
* Git

## Office Locations
## Office locations

Headquarters in Pasadena, CA and offices throughout the US.

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/artefactual.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ UTC-8 to UTC+2

PHP, Python, JavaScript, git, MySQL, HTML, CSS, Django, Symfony, Ansible, Docker, Jenkins, Nginx, Azure, AWS, Ubuntu, CentOS, RedHat.

## Office Locations
## Office locations

New Westminster, BC.

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/articulate.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Worldwide

.NET, C#

## Office Locations
## Office locations

244 5th Avenue, Suite 2960, New York, NY 10001

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/astronomer.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ A good amount of our code is open source on [GitHub](https://github.com/astronom

We publish a variety of technical posts on [our blog](https://www.astronomer.io/blog) and [Medium publication](https://medium.com/the-astronomer-journey/latest).

## Office Locations
## Office locations

Cincinnati, OH

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/auth0.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Also be familiar with:
* JSON Web Tokens
* OAuth, OpenID Connect

## Office Locations
## Office locations

8 office locations

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/automattic.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Worldwide - our team members hail from all over, every continent except Antarcti

WordPress, [JavaScript (Node/React/Redux)](https://ma.tt/2015/11/dance-to-calypso/), PHP, Spark, Kafka, Elasticsearch, Impala/Hive, MySQL, Java, Python

## Office Locations
## Office locations

We no longer have an official physical office.

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/axelerant.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Worldwide - Axelerant team members work from home, cafes, or co-working spaces.
* JavaScript
* Ruby

## Office Locations
## Office locations

* Atlanta, United States
* Gurgaon, India
Expand Down
2 changes: 1 addition & 1 deletion company-profiles/balsamiq.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ We currently have employees in the U.S. and in several European countries.

\<Unknown\>

## Office Locations
## Office locations

We have one office in Bologna, Italy. All other employees work from home.

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/bandcamp.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Worldwide

unknown

## Office Locations
## Office locations

There is no Bandcamp office. Our team is sprinkled throughout the world.

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/bandzoogle.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Worldwide - Bandzoogle is remote-only.

RoR, Ember.js, APIs

## Office Locations
## Office locations

No physical location.

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/baremetrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Worldwide.

PHP, jQuery

## Office Locations
## Office locations

None, 100% remote.

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/basecamp.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Worldwide

Ruby, Rails, CoffeeScript, Backbone.js, Memcached, MySQL, S3

## Office Locations
## Office locations

While people who work at Basecamp can live and work anywhere they want, about 14 of us work out of our Chicago headquarters.

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/big-cartel.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Currently we are only set up for US-based remote employees.

Rails, Ember, JSON API, MySQL, Elasticsearch, Redis, Riak, Redshift

## Office Locations
## Office locations

Salt Lake City, Utah

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/big-wheel-brigade.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ US, currently.

Rails, primarily, with some Wordpress clients.

## Office Locations
## Office locations

Omaha, Nebraska, yo!

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/bitnami.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ We have employees all around the world, with the bulk of our engineering team in
* We host our code in Git
* We have a heavy bias towards deploying our services on Kubernetes

## Office Locations
## Office locations

San Francisco, USA and Seville, Spain.

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/bitovi.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ A team of developers (and designers) located around the US, Canada, and Croatia.

JavaScript, HTML, CSS, etc.

## Office Locations
## Office locations

Headquarters in Chicago, USA.

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/black-tangent.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Worldwide

Ruby on Rails, ReactJS, Elixir, Phoenix

## Office Locations
## Office locations

There is no official office. Some of us choose to work in co-working space together when they're in the same city.

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/britecore.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Currently our Engineers and Staff work in the US and some are spread across the
- Jenkins
- Vue.js, Knockout

## Office Locations
## Office locations

BriteCore's head office is in Springfield, Missouri.

Expand Down
2 changes: 1 addition & 1 deletion company-profiles/buffer.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Buffer employs people worldwide

Redshift, Hadoop, MongoDB JavaScript, PHP, Underscore, Backbone.

## Office Locations
## Office locations

No physical office, recently sold HQ and all employees work remotely.

Expand Down
Loading

0 comments on commit c006350

Please sign in to comment.