README.md
<p align="center">
<a href="https://www.toptal.com/developers/gitignore">
<img src="Public/img/gitignoreio.svg"/>
</a>
<br>
<strong>Create useful .gitignore files for your project</strong>
</p>
<p align="center">
<a href="https://swift.org"><img src="https://img.shields.io/badge/Swift-4.1-orange.svg?style=flat-square"/></a>
<a href="https://travis-ci.org/toptal/gitignore.io"><img src="https://img.shields.io/travis/toptal/gitignore.io/master?style=flat-square" alt="Travis"></a>
<a href="https://codeclimate.com/github/joeblau/gitignore.io/test_coverage"><img src="https://img.shields.io/codeclimate/coverage/joeblau/gitignore.io.svg?style=flat-square" alt="Code Climate Test Coverage"></a>
<a href="https://codeclimate.com/github/joeblau/gitignore.io/maintainability"><img src="https://img.shields.io/codeclimate/maintainability/joeblau/gitignore.io.svg?style=flat-square" alt="Code Climate Maintainability"></a>
<img src="https://img.shields.io/badge/Platforms-Linux%20%7C%20macOS%20%7C%20Windows-blue.svg?style=flat-square"alt="Platforms">
<a href="https://github.com/joeblau/gitignore.io/blob/master/LICENSE.md"><img src="https://img.shields.io/github/license/joeblau/gitignore.io.svg?style=flat-square" alt="license"></a>
</p>
## About
.gitignore.io is a web service designed to help you create .gitignore files for
your Git repositories. The site has a graphical and command line method of
creating a .gitignore for your operating system, programming language, or IDE.
## `.gitignore` Template Source
Source templates for gitignore.io: https://github.com/toptal/gitignore
## License of the generated files
All files generated by https://www.toptal.com/developers/gitignore are under [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
## Documentation
Complete gitignore.io documentation: https://docs.gitignore.io/
## Docker Container
### Prerequisites
- [Docker](https://www.docker.com/)
### Build
#### Production
```
docker-compose up --build
```
#### Development
```
docker-compose -f ./docker-compose-dev.yml build
```
```
docker-compose -f ./docker-compose-dev.yml up
```
It will start the web server running on [http://localhost:8080](http://localhost:8080)
Development mode mounts the following directories to docker volumes:
- `/Public`
- `/Resources `
## LESS and CSS
The app uses [LESS](http://lesscss.org/) as its CSS preprocessor for the files in `Public/css`.
To process the less file you need to:
- Install all dependencies with `yarn install`
- Process the assets with `yarn build`
## Environment Variables
Please set your environment variables to docker configurations. All are optional.
```yml
...
services:
app:
...
environment:
HOST_ORIGIN: http://www.example.com
BASE_PREFIX: /foo/bar
GOOGLE_ANALYTICS_UID:
...
...
```
### HOST_ORIGIN
Origin of your web server, falls back to https://www.toptal.com
```
HOST_ORIGIN: http://www.example.com
```
### BASE_PREFIX
If you want to host this web server under a subdirectory (http://www.example.com/foo/bar for example), please set this variable.
```
BASE_PREFIX: /foo/bar
```
### GOOGLE_ANALYTICS_UID
User ID for Google Tag Manager snippet
```
GOOGLE_ANALYTICS_UID: UA-XXXXXXXX-X
```
## E2E Tests
Tests are located in `e2e-tests` folder with:
- API tests in `api` folder - implemented using [Superagent](https://github.com/visionmedia/superagent)
- E2E tests in `pages` folder - implemented with [Puppeteer](https://github.com/puppeteer/puppeteer)
Prerequisites:
- [Node.js](https://nodejs.org/en/) 12.9 or above.
- [Yarn](https://yarnpkg.com/lang/en/) 1.15.2 or 1.17.3
Running:
- Set the BASE_URL env variable (only if you have changed the default URL or port)
- docker-compose up --build --detach
- yarn gitupdate
- yarn install
- yarn build
- yarn test
- docker-compose stop