npm package: @steyng/airline-logos
Description: A curated collection of airline branding assets — logos, icons, and tail designs in SVG format.
Author: Anh Thang Bui
Latest version: 0.1.0-alpha.9

# Soaring Symbols

This project aims to create a meticulously curated collection of airline logos and icons entirely in SVG format, serving as a valuable resource for travelers, aviation enthusiasts, and designers.

> [!IMPORTANT]
> "Soaring Symbols" provides airline logos/icons in SVG for informational and reference purposes only. We do not claim ownership of any trademarks or copyrighted materials. The logos remain the intellectual property of their respective airlines.

## Project Scope

The initial phase will focus on building a core collection of high-quality SVG logos from major airlines. The collection will be expanded progressively to include regional and potentially historical airlines.

The inclusion of monochrome versions will depend on the airline's brand guidelines and the feasibility of converting their original logos to a simple, one-color format.

## TODO / Roadmap

- [ ] Nuxt Homepage
  - [ ] Launch a Nuxt-powered homepage showcasing the catalog, search, and usage examples.
  - [ ] Include live previews, install instructions, and API docs (pulling from `API.md`).

## Installation

```bash
# Using npm
npm install @steyng/airline-logos

# Using yarn
yarn add @steyng/airline-logos

# Using pnpm
pnpm add @steyng/airline-logos

# Using bun
bun add @steyng/airline-logos
```

## Ecosystem

| Tool / Integration | Author |
| :-- | :-- |
| [npm Package](https://www.npmjs.com/package/@steyng/airline-logos) <img src="https://cdn.simpleicons.org/npm/000/CB3837" alt="npm" align=left width=24 height=24 /> | [anhthang]|
| [Raycast Extension](https://www.raycast.com/anhthang/soaring-symbols) <img src="https://cdn.simpleicons.org/raycast/000/FF6363" alt="Raycast" align=left width=24 height=24 /> | [anhthang]|

## Usage

```js
import {
  listAirlines,
  getAirline,
  getAssets,
  getAssetContent,
  getAssetUrl,
} from '@steyng/airline-logos'

// Get a list of all airlines
const all = listAirlines()

// Get a specific airline's data
const vna = getAirline('VN') 

/* output example
{
    "name": "Vietnam Airlines",
    "iata": "VN",
    "icao": "HVN",
    "country": "VN",
    "flag_carrier": true,
    "website": "https://www.vietnamairlines.com",
    "alliance": "SkyTeam",
    "branding": {
        "primary_color": "#d99e09",
        "tagline": "Reach Further",
        "guidelines": "https://www.vietnamairlines.com/~/media/FilesDownload/AboutUs/Corporate-Identity/GSM-2017-Web1.pdf"
    },
    "slug": "vietnam-airlines"
}
*/

// Get asset paths for an airline
const assets = getAssets('VN')

/* output example
{
    "icon": {
        "color": "assets/vietnam-airlines/icon.svg",
        "monochrome": null,
        "color_model": "single",
        "colors": [
            "#d99e09"
        ]
    },
    "logo": {
        "color": "assets/vietnam-airlines/logo.svg",
        "monochrome": "assets/vietnam-airlines/logo-mono.svg",
        "color_model": "multi",
        "colors": [
            "#d99e09",
            "#005e80"
        ]
    }
}
*/

// Get SVG content for an airline
const content = getAssetContent('VN')

// Build a CDN URL for browser rendering
const logoUrl = getAssetUrl('VN', 'logo', {
  baseUrl: 'https://cdn.jsdelivr.net/npm/@steyng/airline-logos@0.1.0-alpha.9/dist',
})

/* output example - SVG content is truncated for brevity
{
    "icon": {
        "color": "<svg>...</svg>",
        "monochrome": null,
        "color_model": "single",
        "colors": ["#d99e09"]
    },
    "logo": {
        "color": "<svg>...</svg>",
        "monochrome": "<svg>...</svg>",
        "color_model": "multi",
        "colors": ["#d99e09", "#005e80"]
    }
}
*/
```

For frontend apps that only need metadata and asset URLs, use the browser-safe entrypoint: `@steyng/airline-logos/browser`.

For a full list of functions and the data structures they return, please see the [API Reference](./API.md).

## Contributing

Contributions are welcome!

Whether through adding new logos, improving existing ones, or suggesting features to enhance usability. Please refer to our [Contribution Guidelines](https://github.com/anhthang/soaring-symbols/blob/main/CONTRIBUTING.md) for detailed instructions on how to contribute effectively.

## License

This repository is licensed under the MIT License — see [LICENSE](./LICENSE) for details.

[anhthang]: https://github.com/anhthang