diff --git a/README.md b/README.md
index fff1e2c..101e332 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,14 @@
-# templates
-Templates for onboarding new users into GitHub Actions
+These are templates for onboarding new user into GitHub Actions. There are a few directories:
+* ci: solutions for Continuous Integration
+* automation: templates for automating workflow.
+* icons: svg icons for the relevant template
+
+Each template must be written in YAML and have a `.yml` extension. Each template needs a corresponding `.properties.json` file that contains extra metadata about the template.
+
+For example: `ci/python-django.yml` and `ci\python-django.properties.json`.
+
+Valid properties:
+* `name`: the name shown in onboarding
+* `description`: the description shown in onboarding
+* `iconName`: the icon name in the relevant folder, for example `django` should have an icon `icons/django.svg`. Only SVG is supported at this time.
+* `category`: the category that it will be shown under
\ No newline at end of file
diff --git a/ci/android.properties.json b/ci/android.properties.json
new file mode 100644
index 0000000..dba3b00
--- /dev/null
+++ b/ci/android.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "Android",
+ "description": "Build an Android project with Gradle.",
+ "iconName": "android",
+ "category": "Mobile"
+}
\ No newline at end of file
diff --git a/ci/android.yml b/ci/android.yml
new file mode 100644
index 0000000..86f5781
--- /dev/null
+++ b/ci/android.yml
@@ -0,0 +1,20 @@
+on: [push]
+
+name: Android
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest # macOS-latest
+ steps:
+
+ - uses: actions/checkout@master
+
+ - name: set up JDK 1.8
+ uses: actions/setup-java@master
+ with:
+ version: 1.8
+
+ - name: Build with Gradle
+ run: ./gradlew build
diff --git a/ci/ant.properties.json b/ci/ant.properties.json
new file mode 100644
index 0000000..ab79aa3
--- /dev/null
+++ b/ci/ant.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "Ant",
+ "description": "Build and test a Java project with Apache Ant.",
+ "iconName": "ant",
+ "category": "Java"
+}
\ No newline at end of file
diff --git a/ci/ant.yml b/ci/ant.yml
new file mode 100644
index 0000000..4c6e4c2
--- /dev/null
+++ b/ci/ant.yml
@@ -0,0 +1,21 @@
+on: [push]
+
+name: Ant
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+
+ - uses: actions/checkout@master
+
+ - name: Set up JDK 1.8
+ uses: actions/setup-java@master
+ with:
+ version: 1.8
+
+ - name: Build with Ant
+ working-directory: ''
+ run: ant -noinput -buildfile build.xml
diff --git a/ci/asp.net-core.properties.json b/ci/asp.net-core.properties.json
new file mode 100644
index 0000000..f2bc9e8
--- /dev/null
+++ b/ci/asp.net-core.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "ASP.NET Core",
+ "description": "Build and test an ASP.NET Core project targeting .NET Core.",
+ "iconName": "dotnetcore",
+ "category": ".NET"
+}
\ No newline at end of file
diff --git a/ci/asp.net-core.yml b/ci/asp.net-core.yml
new file mode 100644
index 0000000..f00ade0
--- /dev/null
+++ b/ci/asp.net-core.yml
@@ -0,0 +1,20 @@
+on: [push]
+
+name: ASP.NET Core
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+
+ - uses: actions/checkout@master
+
+ - name: Setup .NET Core
+ uses: actions/setup-dotnet@master
+ with:
+ version: 2.2.6
+
+ - name: Build with dotnet
+ run: dotnet build --configuration Release
diff --git a/ci/blank.properties.json b/ci/blank.properties.json
new file mode 100644
index 0000000..459a81f
--- /dev/null
+++ b/ci/blank.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "Blank workflow file",
+ "description": "Start with a file with the minimum necessary structure.",
+ "iconName": "blank",
+ "category": null
+}
\ No newline at end of file
diff --git a/ci/blank.yml b/ci/blank.yml
new file mode 100644
index 0000000..4fbf968
--- /dev/null
+++ b/ci/blank.yml
@@ -0,0 +1,18 @@
+on: [push]
+
+jobs:
+
+ run:
+ name: Run
+ runs-on: ubuntu-latest
+ steps:
+
+ - uses: actions/checkout@master
+
+ - name: Run a one-line script
+ run: echo Hello, world!
+
+ - name: Run a multi-line script
+ run: |
+ echo Add other actions to build,
+ echo test, and deploy your project.
diff --git a/ci/c-cpp.properties.json b/ci/c-cpp.properties.json
new file mode 100644
index 0000000..ce096ea
--- /dev/null
+++ b/ci/c-cpp.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "C/C++ with Make",
+ "description": "Build and test a C/C++ project using Make.",
+ "iconName": "c-cpp",
+ "category": null
+}
\ No newline at end of file
diff --git a/ci/c-cpp.yml b/ci/c-cpp.yml
new file mode 100644
index 0000000..8e0e85a
--- /dev/null
+++ b/ci/c-cpp.yml
@@ -0,0 +1,21 @@
+on: [push]
+
+name: C/C++ with make
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+
+ - uses: actions/checkout@master
+
+ - name: configure
+ run: ./configure
+
+ - name: make
+ run: make
+
+ - name: make test
+ run: make test
diff --git a/ci/clojure.properties.json b/ci/clojure.properties.json
new file mode 100644
index 0000000..d0ab96b
--- /dev/null
+++ b/ci/clojure.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "Clojure",
+ "description": "Build and test a Clojure project with Leiningen.",
+ "iconName": "clojure",
+ "category": null
+}
\ No newline at end of file
diff --git a/ci/clojure.yml b/ci/clojure.yml
new file mode 100644
index 0000000..6ee3c8f
--- /dev/null
+++ b/ci/clojure.yml
@@ -0,0 +1,18 @@
+on: [push]
+
+name: Clojure
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+
+ - uses: actions/checkout@master
+
+ - name: Install dependencies
+ run: lein deps
+
+ - name: Run tests
+ run: lein test
diff --git a/ci/crystal.properties.json b/ci/crystal.properties.json
new file mode 100644
index 0000000..6fab360
--- /dev/null
+++ b/ci/crystal.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "Crystal",
+ "description": "Build and test a Crystal project.",
+ "iconName": "crystal",
+ "category": null
+}
\ No newline at end of file
diff --git a/ci/crystal.yml b/ci/crystal.yml
new file mode 100644
index 0000000..8afbea2
--- /dev/null
+++ b/ci/crystal.yml
@@ -0,0 +1,18 @@
+on: [push]
+
+name: Crystal
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+
+ - uses: actions/checkout@master
+
+ - name: Install dependencies
+ run: shards install
+
+ - name: Run tests
+ run: crystal spec
diff --git a/ci/dart.properties.json b/ci/dart.properties.json
new file mode 100644
index 0000000..cc31f21
--- /dev/null
+++ b/ci/dart.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "Dart",
+ "description": "Build and test a Dart project with Pub.",
+ "iconName": "dart",
+ "category": null
+}
\ No newline at end of file
diff --git a/ci/dart.yml b/ci/dart.yml
new file mode 100644
index 0000000..3854d9f
--- /dev/null
+++ b/ci/dart.yml
@@ -0,0 +1,18 @@
+on: [push]
+
+name: Dart
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+
+ - uses: actions/checkout@master
+
+ - name: Install dependencies
+ run: pub get
+
+ - name: Run tests
+ run: pub run test
diff --git a/ci/docker-image.properties.json b/ci/docker-image.properties.json
new file mode 100644
index 0000000..cd87e42
--- /dev/null
+++ b/ci/docker-image.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "Docker image",
+ "description": "Build a Docker image to deploy, run, or push to a registry.",
+ "iconName": "docker",
+ "category": null
+}
\ No newline at end of file
diff --git a/ci/docker-image.yml b/ci/docker-image.yml
new file mode 100644
index 0000000..eaf091d
--- /dev/null
+++ b/ci/docker-image.yml
@@ -0,0 +1,15 @@
+on: [push]
+
+name: Docker image
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+
+ - uses: actions/checkout@master
+
+ - name: Build the Docker image
+ run: docker build . --file Dockerfile --tag my-image-name:$(date +%s)
diff --git a/ci/elixir.properties.json b/ci/elixir.properties.json
new file mode 100644
index 0000000..d2a2e70
--- /dev/null
+++ b/ci/elixir.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "Elixir",
+ "description": "Build and test an Elixir project with Mix.",
+ "iconName": "elixir",
+ "category": null
+}
\ No newline at end of file
diff --git a/ci/elixir.yml b/ci/elixir.yml
new file mode 100644
index 0000000..42cfedd
--- /dev/null
+++ b/ci/elixir.yml
@@ -0,0 +1,21 @@
+on: [push]
+
+name: Elixir
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+
+ - uses: actions/checkout@master
+
+ - name: Install dependencies
+ run: |
+ mix local.rebar --force;
+ mix local.hex --force;
+ mix deps.get
+
+ - name: Run tests
+ run: mix test
diff --git a/ci/erlang.properties.json b/ci/erlang.properties.json
new file mode 100644
index 0000000..c09b4dc
--- /dev/null
+++ b/ci/erlang.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "Erlang",
+ "description": "Build and test an Erlang project with rebar.",
+ "iconName": "erlang",
+ "category": null
+}
\ No newline at end of file
diff --git a/ci/erlang.yml b/ci/erlang.yml
new file mode 100644
index 0000000..d7e14d2
--- /dev/null
+++ b/ci/erlang.yml
@@ -0,0 +1,21 @@
+on: [push]
+
+name: Erlang
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+
+ - uses: actions/checkout@master
+
+ - name: Install dependencies
+ run: rebar get-deps
+
+ - name: Compile
+ run: rebar compile
+
+ - name: Run tests
+ run: rebar skip_deps=true eunit
diff --git a/ci/gradle.properties.json b/ci/gradle.properties.json
new file mode 100644
index 0000000..57b3fb9
--- /dev/null
+++ b/ci/gradle.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "Gradle",
+ "description": "Build and test a Java project using a Gradle wrapper script.",
+ "iconName": "gradle",
+ "category": "Java"
+}
\ No newline at end of file
diff --git a/ci/gradle.yml b/ci/gradle.yml
new file mode 100644
index 0000000..de162b4
--- /dev/null
+++ b/ci/gradle.yml
@@ -0,0 +1,20 @@
+on: [push]
+
+name: Gradle
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+
+ - uses: actions/checkout@master
+
+ - name: Set up JDK 1.8
+ uses: actions/setup-java@master
+ with:
+ version: 1.8
+
+ - name: Build with Gradle
+ run: ./gradlew build
diff --git a/ci/haskell.properties.json b/ci/haskell.properties.json
new file mode 100644
index 0000000..0888210
--- /dev/null
+++ b/ci/haskell.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "Haskell",
+ "description": "Build and test a Haskell project with Cabal.",
+ "iconName": "haskell",
+ "category": null
+}
\ No newline at end of file
diff --git a/ci/haskell.yml b/ci/haskell.yml
new file mode 100644
index 0000000..25afa2c
--- /dev/null
+++ b/ci/haskell.yml
@@ -0,0 +1,23 @@
+on: [push]
+
+name: Haskell
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+
+ - uses: actions/checkout@master
+
+ - name: Install dependencies
+ run: cabal install --only-dependencies --enable-tests
+
+ - name: Build
+ run: |
+ cabal configure --enable-tests
+ cabal build
+
+ - name: Run tests
+ run: cabal test
diff --git a/ci/jekyll.properties.json b/ci/jekyll.properties.json
new file mode 100644
index 0000000..e9045f6
--- /dev/null
+++ b/ci/jekyll.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "Jekyll",
+ "description": "Package a Jekyll site using the jekyll/builder Docker image.",
+ "iconName": "jekyll",
+ "category": "HTML"
+}
\ No newline at end of file
diff --git a/ci/jekyll.yml b/ci/jekyll.yml
new file mode 100644
index 0000000..2a84e76
--- /dev/null
+++ b/ci/jekyll.yml
@@ -0,0 +1,19 @@
+on: [push]
+
+name: Jekyll site
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+
+ - uses: actions/checkout@master
+
+ - name: Build the site in the jekyll/builder container
+ run: |
+ docker run \
+ -v ${{ github.workspace }}:/srv/jekyll -v ${{ github.workspace }}/_site:/srv/jekyll/_site \
+ jekyll/builder:latest \
+ jekyll build --future
diff --git a/ci/maven.properties.json b/ci/maven.properties.json
new file mode 100644
index 0000000..5a229a5
--- /dev/null
+++ b/ci/maven.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "Maven",
+ "description": "Build and test a Java project with Apache Maven.",
+ "iconName": "maven",
+ "category": "Java"
+}
\ No newline at end of file
diff --git a/ci/maven.yml b/ci/maven.yml
new file mode 100644
index 0000000..829a61c
--- /dev/null
+++ b/ci/maven.yml
@@ -0,0 +1,20 @@
+on: [push]
+
+name: Maven
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+
+ - uses: actions/checkout@master
+
+ - name: Set up JDK 1.8
+ uses: actions/setup-java@master
+ with:
+ version: 1.8
+
+ - name: Build with Maven
+ run: mvn package --file pom.xml
diff --git a/ci/node.js.properties.json b/ci/node.js.properties.json
new file mode 100644
index 0000000..4714438
--- /dev/null
+++ b/ci/node.js.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "Node.js",
+ "description": "Build and test a Node.js project with npm.",
+ "iconName": "nodejs",
+ "category": "JavaScript"
+}
\ No newline at end of file
diff --git a/ci/node.js.yml b/ci/node.js.yml
new file mode 100644
index 0000000..68d15c8
--- /dev/null
+++ b/ci/node.js.yml
@@ -0,0 +1,24 @@
+on: [push]
+
+name: Node.js
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+
+ - uses: actions/checkout@master
+
+ - name: Use Node.js 10.x
+ uses: actions/setup-node@master
+ with:
+ version: 10.x
+
+ - name: npm install, build, and test
+ run: |
+ npm install
+ npm run build --if-present
+ npm test
+
diff --git a/ci/python-django.properties.json b/ci/python-django.properties.json
new file mode 100644
index 0000000..e9a2b48
--- /dev/null
+++ b/ci/python-django.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "Python Django",
+ "description": "Test a Django project on multiple versions of Python.",
+ "iconName": "django",
+ "category": "Python"
+}
\ No newline at end of file
diff --git a/ci/python-django.yml b/ci/python-django.yml
new file mode 100644
index 0000000..d332923
--- /dev/null
+++ b/ci/python-django.yml
@@ -0,0 +1,41 @@
+on: [push]
+
+name: Python Django
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+
+ - uses: actions/checkout@master
+
+ - name: Set up Python 3.6
+ uses: actions/setup-python@master
+ with:
+ version: 3.6
+
+ - name: Export project path
+ shell: python
+ run: |
+ """Search all subdirectories for `manage.py`."""
+ from glob import iglob
+ from os import path
+ manage_py = next(iglob(path.join(**, manage.py), recursive=True), None)
+ if not manage_py:
+ raise SystemExit(Could not find a Django project)
+ project_location = path.dirname(path.abspath(manage_py))
+ print(Found Django project in , project_location)
+ print(##[set-env name=DJANGO_PROJECT_ROOT]{}.format(project_location))
+
+ - name: Install prerequisites
+ run: |
+ python -m pip install --upgrade pip setuptools wheel
+ pip install -r requirements.txt
+ pip install unittest-xml-reporting
+
+ - name: Run tests
+ run: |
+ pushd "${DJANGO_PROJECT_ROOT}"
+ python manage.py test --testrunner xmlrunner.extra.djangotestrunner.XMLTestRunner --no-input
diff --git a/ci/python-package.properties.json b/ci/python-package.properties.json
new file mode 100644
index 0000000..9778a41
--- /dev/null
+++ b/ci/python-package.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "Python package",
+ "description": "Create and test a Python package on multiple Python versions.",
+ "iconName": "python",
+ "category": "Python"
+}
\ No newline at end of file
diff --git a/ci/python-package.yml b/ci/python-package.yml
new file mode 100644
index 0000000..711eb8f
--- /dev/null
+++ b/ci/python-package.yml
@@ -0,0 +1,31 @@
+on: [push]
+
+name: Python package
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ strategy:
+ max-parallel: 4
+ matrix:
+ python-version: [2.7, 3.5, 3.6, 3.7]
+ steps:
+
+ - uses: actions/checkout@master
+
+ - name: Set up Python ${{ matrix.python-version }}
+ uses: actions/setup-python@master
+ with:
+ version: ${{ matrix.python-version }}
+
+ - name: Install dependencies
+ run: |
+ python -m pip install --upgrade pip
+ pip install -r requirements.txt
+
+ - name: Test with pytest
+ run: |
+ pip install pytest
+ pytest
diff --git a/ci/rust.properties.json b/ci/rust.properties.json
new file mode 100644
index 0000000..306f61e
--- /dev/null
+++ b/ci/rust.properties.json
@@ -0,0 +1,6 @@
+{
+ "name": "Rust",
+ "description": "Build and test a Rust project with Cargo.",
+ "iconName": "rust",
+ "category": null
+}
\ No newline at end of file
diff --git a/ci/rust.yml b/ci/rust.yml
new file mode 100644
index 0000000..4ad3f8c
--- /dev/null
+++ b/ci/rust.yml
@@ -0,0 +1,18 @@
+on: [push]
+
+name: Rust
+
+jobs:
+
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+
+ - uses: actions/checkout@master
+
+ - name: Build
+ run: cargo build --verbose
+
+ - name: Run tests
+ run: cargo test --verbose
diff --git a/icons/android.svg b/icons/android.svg
new file mode 100644
index 0000000..9173ecb
--- /dev/null
+++ b/icons/android.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/angular.svg b/icons/angular.svg
new file mode 100644
index 0000000..9fb436e
--- /dev/null
+++ b/icons/angular.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/ant.svg b/icons/ant.svg
new file mode 100644
index 0000000..abfe78d
--- /dev/null
+++ b/icons/ant.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/aspdotnet.svg b/icons/aspdotnet.svg
new file mode 100644
index 0000000..c7a8cb6
--- /dev/null
+++ b/icons/aspdotnet.svg
@@ -0,0 +1,11 @@
+
diff --git a/icons/blank.svg b/icons/blank.svg
new file mode 100644
index 0000000..a194220
--- /dev/null
+++ b/icons/blank.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/icons/c-cpp.svg b/icons/c-cpp.svg
new file mode 100644
index 0000000..b22991d
--- /dev/null
+++ b/icons/c-cpp.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/clojure.svg b/icons/clojure.svg
new file mode 100644
index 0000000..0803ff7
--- /dev/null
+++ b/icons/clojure.svg
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git a/icons/crystal.svg b/icons/crystal.svg
new file mode 100644
index 0000000..1b417fe
--- /dev/null
+++ b/icons/crystal.svg
@@ -0,0 +1,16 @@
+
+
+
diff --git a/icons/dart.svg b/icons/dart.svg
new file mode 100644
index 0000000..4023be4
--- /dev/null
+++ b/icons/dart.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/icons/django.svg b/icons/django.svg
new file mode 100644
index 0000000..03ff526
--- /dev/null
+++ b/icons/django.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/docker.svg b/icons/docker.svg
new file mode 100644
index 0000000..a514669
--- /dev/null
+++ b/icons/docker.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/dotnet.svg b/icons/dotnet.svg
new file mode 100644
index 0000000..aeb5181
--- /dev/null
+++ b/icons/dotnet.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/dotnetcore.svg b/icons/dotnetcore.svg
new file mode 100644
index 0000000..1f49490
--- /dev/null
+++ b/icons/dotnetcore.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/elixir.svg b/icons/elixir.svg
new file mode 100644
index 0000000..0a60f2a
--- /dev/null
+++ b/icons/elixir.svg
@@ -0,0 +1,20 @@
+
\ No newline at end of file
diff --git a/icons/erlang.svg b/icons/erlang.svg
new file mode 100644
index 0000000..db6551b
--- /dev/null
+++ b/icons/erlang.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/icons/go.svg b/icons/go.svg
new file mode 100644
index 0000000..50cd7ef
--- /dev/null
+++ b/icons/go.svg
@@ -0,0 +1,7 @@
+
diff --git a/icons/gradle.svg b/icons/gradle.svg
new file mode 100644
index 0000000..c0216f6
--- /dev/null
+++ b/icons/gradle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/grunt.svg b/icons/grunt.svg
new file mode 100644
index 0000000..031dfd4
--- /dev/null
+++ b/icons/grunt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/gulp.svg b/icons/gulp.svg
new file mode 100644
index 0000000..b111c38
--- /dev/null
+++ b/icons/gulp.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/haskell.svg b/icons/haskell.svg
new file mode 100644
index 0000000..30d54e1
--- /dev/null
+++ b/icons/haskell.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/icons/html.svg b/icons/html.svg
new file mode 100644
index 0000000..33a602c
--- /dev/null
+++ b/icons/html.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/jekyll.svg b/icons/jekyll.svg
new file mode 100644
index 0000000..3642748
--- /dev/null
+++ b/icons/jekyll.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/maven.svg b/icons/maven.svg
new file mode 100644
index 0000000..1f1b219
--- /dev/null
+++ b/icons/maven.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/nodejs.svg b/icons/nodejs.svg
new file mode 100644
index 0000000..d858c45
--- /dev/null
+++ b/icons/nodejs.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/php.svg b/icons/php.svg
new file mode 100644
index 0000000..45f2f39
--- /dev/null
+++ b/icons/php.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/python.svg b/icons/python.svg
new file mode 100644
index 0000000..72e8dc6
--- /dev/null
+++ b/icons/python.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/ruby.svg b/icons/ruby.svg
new file mode 100644
index 0000000..05ad28b
--- /dev/null
+++ b/icons/ruby.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/rust.svg b/icons/rust.svg
new file mode 100644
index 0000000..6db3ef6
--- /dev/null
+++ b/icons/rust.svg
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/icons/uwp.svg b/icons/uwp.svg
new file mode 100644
index 0000000..88daf6e
--- /dev/null
+++ b/icons/uwp.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/webpack.svg b/icons/webpack.svg
new file mode 100644
index 0000000..3d15e79
--- /dev/null
+++ b/icons/webpack.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/xamarin.svg b/icons/xamarin.svg
new file mode 100644
index 0000000..f380b80
--- /dev/null
+++ b/icons/xamarin.svg
@@ -0,0 +1,11 @@
+
diff --git a/icons/xcode.svg b/icons/xcode.svg
new file mode 100644
index 0000000..19fcf2d
--- /dev/null
+++ b/icons/xcode.svg
@@ -0,0 +1,57 @@
+