A website that tries to make sense of those three-letter airport codes.
If you'd like to add an airport or fix an error, please:
- Submit an issue or
- Submit a pull request or
- Contact us on Twitter: @lynnandtonic
This repo has a lot of images, so may take some time to clone. If you'd like to speed up that process, you can clone only the latest (and not the entire commit history) by cloning with this command:
With SSH:
git clone --depth=1 git@github.com:lynnandtonic/airport-codes.git
With HTTPS:
git clone --depth=1 https://github.com/lynnandtonic/airport-codes.git
To run the site locally:
- you will need node 8
- if you use a tool like
nodenv
which respects.node-version
this will be handled for you - otherwise will need to make sure that your shell is running node 8
- if you use a tool like
- run the following commands:
npm ci
npm run dev
Note: The web server may take 2-3 minutes to start.
Airport content can be found in /data
in individual files. Use the three-letter airport code as the filename (e.g. phx.json
).
Content in each json
file:
id
= three-letter code (e.g. phx)name
= airport name (Sky Harbor International Airport)city
= primary city name (Phoenix)state
= state name, if applicable (Arizona)stateShort
= state abbreviation, if applicable (AZ)country
= country name (USA)description
= description, accepts markdown, use * for emphasis on lettersimageCredit
= name of photographerimageCreditLink
= URL of photographer's Flickr page
You can also optionally add for aid in searching:
city2
= another city or country the airport may be known for
Adding a json
file to /data
will automatically render it. You do not need to manually add the path anywhere.
-
Please use photos from Flickr that are licensed under Creative Commons.
-
If photos are not available on Flickr, please use Wikipedia with the same license.
-
Images should be named with this convention:
code.jpg
-
To generate the 4 sizes of the image (large, medium, small, and card):
- Save out the image as a JPG at large size (1500px wide) with the filename
assets/images/large/code.jpg
- Please optimize images (tinyjpg.com is a good tool to do that)
- Run
./sharp.js assets/images/large/code.jpg
- Save out the image as a JPG at large size (1500px wide) with the filename
-
If you’d like to save out the image sizes manually, these are the sizes needed:
- card - 220px height
- small - 500px width
- medium - 900px width
- large - 1500px width
-
Add variable to
/assets/globals/image-names.styl
. The code must match the airport code. So if an image is namedabq.jpg
you would add'abq': '',
to theimage-names.styl
.
Most site content is written in Pug templates which produce the site HTML.
The Pug files are located in /templates
and /src/views/templates
.
Note that these aren't markdown files and the syntax and whitespace you use does matter quite a bit. See the Pug documentation to see how to use Pug.
This site uses Stylus for preprocessing. Please follow the established indentation and commenting patterns.
Stylus files are located in /assets
.
Please use the following loose declaration order:
- Box-model properties
- Display and Positioning
- Backgrounds
- Borders
- Box Shadows
- Fonts and Colors
- Other
GNU General Public License v3.0
Because of the Creative Commons licensed images used on this site, any derivatives CAN NOT be for commercial or paid use.
<3