unlock files

This commit is contained in:
Mattia Astorino 2018-04-20 20:07:36 +02:00
parent f6f7fac3cf
commit 2f4f56f40d
No known key found for this signature in database
GPG key ID: 7BE552533AB6D4E2
354 changed files with 25573 additions and 0 deletions

BIN
.DS_Store vendored

Binary file not shown.

5
.babelrc Normal file
View file

@ -0,0 +1,5 @@
{
"presets": [
"es2015"
]
}

19
.eslintrc Normal file
View file

@ -0,0 +1,19 @@
env:
node: true
shared-node-browser: true
extends: 'eslint:recommended'
rules:
indent:
- warn
- 2
quotes:
- error
- single
semi:
- error
- always
no-console: 0
no-unused-vars:
- warn
plugins:
- standard

2
.github/ISSUE_TEMPLATE.md vendored Normal file
View file

@ -0,0 +1,2 @@
<!-- Love vsc-material-theme? Please consider supporting our collective:
👉 https://opencollective.com/vsc-material-theme/donate -->

10
.gitignore vendored Normal file
View file

@ -0,0 +1,10 @@
*.log
*.~lock
*.js
**/*.map
*.gulp/**.js
dist/
node_modules/
.DS_Store
/themes
/icons

7
.gulp/consts/log.ts Normal file
View file

@ -0,0 +1,7 @@
export const HR: string = '\n———————————————————————————————————————————————————————————————\n';
export const MESSAGE_BUMP_ERROR: string = ' There was an issue bumping version:\n';
export const MESSAGE_BUMP_SUCCESS: string = ' Finished successfully\n';
export const MESSAGE_ICON_ERROR: string = 'There is an error with JSON generated for icons';
export const MESSAGE_ICON_ACCENTS_ERROR: string = 'Failed to create accents icon themes, please read the log file.';
export const MESSAGE_GENERATED: string = 'Generated';
export const MESSAGE_THEME_VARIANT_PARSE_ERROR: string = 'Error when parsing json for theme variants';

10
.gulp/index.ts Normal file
View file

@ -0,0 +1,10 @@
// export the tasks
export * from './tasks/icons';
export * from './tasks/icons-accents';
export * from './tasks/icons-variants';
export * from './tasks/themes';
export * from './tasks/watcher';
export * from './tasks/changelog-title';
// export default script
export default ['build:themes'];

20
.gulp/interfaces/iicon.ts Normal file
View file

@ -0,0 +1,20 @@
export interface IIcon {
/**
* Icon filename
* @type {string}
* @memberof IIcon
*/
filename: string;
/**
* If set to true, the icon is marked as last
* @type {boolean}
* @memberof IIcon
*/
last: boolean;
/**
* Icon's name
* @type {string}
* @memberof IIcon
*/
name: string;
}

View file

@ -0,0 +1,8 @@
import { IThemeIconsItem } from "./itheme-icons-item";
export interface IThemeIconsAccents {
iconDefinitions: {
_folder_open: IThemeIconsItem;
_folder_open_build: IThemeIconsItem;
}
}

View file

@ -0,0 +1,3 @@
export interface IThemeIconsItem {
iconPath: string;
}

View file

@ -0,0 +1,17 @@
import { IThemeIconsItem } from "./itheme-icons-item";
export interface IThemeIconsVariants {
iconDefinitions: {
"_folder_dark": IThemeIconsItem;
"_folder_dark_build": IThemeIconsItem;
"_folder_light": IThemeIconsItem;
"_folder_light_build": IThemeIconsItem;
"_folder_vscode": IThemeIconsItem;
"_folder_gulp": IThemeIconsItem;
"_folder_node": IThemeIconsItem;
"_folder_images": IThemeIconsItem;
"_folder_js": IThemeIconsItem;
"_folder_src": IThemeIconsItem;
"_folder_assets": IThemeIconsItem;
}
}

View file

@ -0,0 +1,42 @@
export interface IThemeVariant {
id: string;
name: string;
scheme: {
background: string;
base: {
black: string;
blue: string;
brown: string;
cyan: string;
green: string;
orange: string;
paleblue: string;
pink: string;
purple: string;
red: string;
violet: string;
white: string;
yellow: string;
}
caret: string;
comments: string;
findHighlight: string;
focusBorder: string;
foreground: string;
guides: string;
inputBackground: string;
inputBorder: string;
inputForeground: string;
invisibles: string;
lineHighlight: string;
lineNumbers: string;
listHoverForeground: string;
scrollbars: string;
scrollbarsHover: string;
selection: string;
shadow: string;
sidebarForeground: string;
statusbarForeground: string;
}
type: string;
}

View file

@ -0,0 +1,11 @@
import * as gulp from "gulp";
import * as fs from 'fs';
import { CHARSET } from "../../extensions/consts/files";
export default gulp.task('changelog-title', () => {
fs.writeFileSync(
'./CHANGELOG.md',
fs.readFileSync('CHANGELOG.md', CHARSET).replace('# Change Log', '# Material Theme Changelog'),
{ encoding: CHARSET });
});

View file

@ -0,0 +1,127 @@
import * as fs from 'fs';
import * as gulp from 'gulp';
import * as gutil from 'gulp-util';
import * as path from 'path';
import { MESSAGE_GENERATED, MESSAGE_ICON_ACCENTS_ERROR } from "../consts/log";
import { CHARSET } from "../../extensions/consts/files";
import { IDefaults } from "../../extensions/interfaces/idefaults";
import { IThemeIconsAccents } from "../interfaces/itheme-icons-accents";
import PATHS from '../../extensions/consts/paths'
import { IThemeIconsItem } from '../interfaces/itheme-icons-item';
import { getAccentableIcons } from '../../extensions/helpers/fs';
const BASE_ICON_THEME_PATH: string = path.join(process.cwd(), PATHS.THEMES, './Material-Theme-Icons.json');
const DEFAULTS: IDefaults = require('../../extensions/defaults.json');
/**
* Normalizes icon path
* @param {string} iconPath
* @returns {string}
*/
function normalizeIconPath(iconPath: string): string {
return path.join(process.cwd(), PATHS.ICONS, iconPath);
}
/**
* Replaces a file name with the accented filename
* @param {string} name
* @param {string} accentName
* @returns {string}
*/
function replaceNameWithAccent(name: string, accentName: string): string {
return name.replace('.svg', `.accent.${ accentName }.svg`);
}
/**
* Replaces a SVG colour
*
* @param {string} filecontent
* @param {string} colour
* @returns {string}
*/
export function replaceSVGColour(filecontent: string, colour: string): string {
return filecontent.replace(new RegExp('#(80CBC4)', 'i'), ($0, $1) => {
colour = colour.replace('#', '');
console.log(`Replacing colour ${ $1 } with ${ colour }`)
return $0.replace($1, colour);
});
}
/**
* Replaces white spaces in accents' names
* @param {string} input
* @returns {string}
*/
function replaceWhiteSpaces(input: string): string {
return input.replace(/\s+/g, '-');
}
/**
* Writes a new svg file
* @param {string} fromFile
* @param {string} toFile
* @param {string} accentColour
*/
function writeSVGIcon(fromFile: string, toFile: string, accent: string): void {
let fileContent: string = fs.readFileSync(normalizeIconPath(fromFile), CHARSET);
let content: string = replaceSVGColour(fileContent, DEFAULTS.accents[accent]);
toFile = normalizeIconPath(toFile);
gutil.log(gutil.colors.gray(`Accented icon ${toFile} created with colour ${ accent } (${ DEFAULTS.accents[accent] })`));
fs.writeFileSync(toFile, content);
}
// Exports task to index.ts
export default gulp.task('build:icons.accents', cb => {
let basetheme: IThemeIconsAccents;
try {
basetheme = require(BASE_ICON_THEME_PATH);
Object.keys(DEFAULTS.accents).forEach(key => {
let iconName = replaceWhiteSpaces(key);
let themecopy: IThemeIconsAccents = JSON.parse(JSON.stringify(basetheme));
let themePath: string = path.join(PATHS.THEMES, `./Material-Theme-Icons-${ key }.json`);
getAccentableIcons().forEach(accentableIconName => {
gutil.log(gutil.colors.gray(`Preparing ${ accentableIconName } accented icon`));
let iconOriginDefinition: IThemeIconsItem = (basetheme.iconDefinitions as any)[accentableIconName];
let iconCopyDefinition: IThemeIconsItem = (themecopy.iconDefinitions as any)[accentableIconName];
if (iconOriginDefinition !== undefined && typeof iconOriginDefinition.iconPath === 'string' && iconCopyDefinition !== undefined && typeof iconCopyDefinition.iconPath === 'string') {
iconCopyDefinition.iconPath = replaceNameWithAccent(iconOriginDefinition.iconPath, iconName);
writeSVGIcon(iconOriginDefinition.iconPath, iconCopyDefinition.iconPath, key);
} else {
gutil.log(gutil.colors.yellow(`Icon ${ accentableIconName } not found`))
}
});
// themecopy.iconDefinitions._folder_open.iconPath = replaceNameWithAccent(basetheme.iconDefinitions._folder_open.iconPath, iconName);
// themecopy.iconDefinitions._folder_open_build.iconPath = replaceNameWithAccent(basetheme.iconDefinitions._folder_open_build.iconPath, iconName);
// writeSVGIcon(basetheme.iconDefinitions._folder_open.iconPath, themecopy.iconDefinitions._folder_open.iconPath, key);
// writeSVGIcon(basetheme.iconDefinitions._folder_open_build.iconPath, themecopy.iconDefinitions._folder_open_build.iconPath, key);
// fs.writeFileSync(themePath, JSON.stringify(themecopy));
// addContributeIconTheme(id, label, themepathJSON, PACKAGE_JSON);
gutil.log(gutil.colors.green(MESSAGE_GENERATED, themePath));
});
// writePackageJSON(PACKAGE_JSON);
} catch (error) {
// http://ragefaces.memesoftware.com/faces/large/misc-le-fu-l.png
gutil.log(gutil.colors.red(MESSAGE_ICON_ACCENTS_ERROR));
cb(error);
return;
}
cb();
});

View file

@ -0,0 +1,60 @@
import {getVariantIcons} from '../../extensions/helpers/fs';
import * as gulp from 'gulp';
import * as path from 'path';
import * as fs from 'fs';
import { CHARSET } from "../../extensions/consts/files";
import { IPackageJSON } from "../../extensions/interfaces/ipackage.json";
import { IThemeIconsVariants } from "../interfaces/itheme-icons-variants";
import PATHS from '../../extensions/consts/paths'
import { getDefaultValues } from "../../extensions/helpers/fs";
import { IDefaultsThemeVariantColours } from "../../extensions/interfaces/idefaults";
import { IThemeIconsItem } from '../interfaces/itheme-icons-item';
const PACKAGE_JSON: IPackageJSON = require(path.join(process.cwd(), './package.json'));
let variants: IDefaultsThemeVariantColours = getDefaultValues().themeVariantsColours;
function writeIconVariant(filepath: string, destpath: string, colour: string): void {
let regexp = new RegExp('(#4a616c)', 'i')
filepath = path.join(process.cwd(), PATHS.ICONS, filepath);
destpath = path.join(process.cwd(), PATHS.ICONS, destpath);
fs.writeFileSync(destpath, fs.readFileSync(filepath, CHARSET).replace(regexp, ($0, $1) => $0.replace($1, colour)), { encoding: CHARSET }) ;
}
export default gulp.task('build:icons.variants', callback => {
try {
Object.keys(variants).forEach(variantName => {
PACKAGE_JSON.contributes.iconThemes.forEach(contribute => {
let regexpCheck: RegExp = new RegExp(Object.keys(variants).join('|'), 'i');
if (regexpCheck.test(contribute.path) || regexpCheck.test(contribute.id)) return;
let basepath: string = path.join(process.cwd(), contribute.path);
let basetheme: IThemeIconsVariants = require(basepath);
let theme: IThemeIconsVariants = JSON.parse(JSON.stringify(basetheme));
let variant = variants[variantName];
getVariantIcons().forEach(_iconName => {
let basethemeIcon: IThemeIconsItem = (basetheme.iconDefinitions as any)[_iconName];
let themeIcon: IThemeIconsItem = (theme.iconDefinitions as any)[_iconName];
if (themeIcon !== undefined) {
themeIcon.iconPath = themeIcon.iconPath.replace('.svg', `${ variantName }.svg`);
}
if (basethemeIcon !== undefined && themeIcon !== undefined) {
writeIconVariant(basethemeIcon.iconPath, themeIcon.iconPath, variant);
}
});
});
});
} catch (error) {
callback(error);
return;
}
callback();
});

82
.gulp/tasks/icons.ts Normal file
View file

@ -0,0 +1,82 @@
import * as fs from 'fs';
import * as gulp from 'gulp';
import * as gutil from 'gulp-util';
import * as mustache from 'mustache';
import * as path from 'path';
import { HR, MESSAGE_GENERATED, MESSAGE_ICON_ERROR } from './../consts/log';
import { CHARSET } from "../../extensions/consts/files";
import { IGenericObject } from "../../extensions/interfaces/igeneric-object";
import { IIcon } from './../interfaces/iicon';
import paths from '../../extensions/consts/paths';
import { ensureDir } from '../../extensions/helpers/fs';
/**
* Returns an object implementing the IIcon interface
* @param {string} fileName
* @returns {IIcon}
*/
function iconFactory(fileName: string): IIcon {
gutil.log(gutil.colors.gray(`Processing icon ${ fileName }`))
let name: string = path.basename(fileName, path.extname(fileName));
let filename: string = name;
let last: boolean = false;
// renaming icon for vscode
// if the icon filename starts with a folder prefix,
// the resulting name will be prefixed only by an underscore,
// otherwise the icon will be prefixed by a _file_ prefix
if (name.indexOf('folder')) {
name = name.indexOf('file') ? `_file_${ name }` : `_${ name }`;
} else {
name = `_${ name }`;
}
gutil.log(gutil.colors.gray(`VSCode icon name ${ name } with filename ${ filename }`));
return { filename, name, last } as IIcon;
}
/**
* > Build Icons
* @returns {gulp.Gulp}
*/
export default gulp.task('build:icons', cb => {
let contents: string;
let fileNames: string[] = fs.readdirSync(path.join(paths.SRC, `./icons/svgs`));
let icons: IIcon[] = fileNames.map(fileName => iconFactory(fileName));
let partials: string[] = fs.readdirSync(path.join(paths.SRC, `./icons/partials`));
let partialsData: IGenericObject<any> = {};
let pathTemp: string = './themes/.material-theme-icons.tmp';
ensureDir(path.join(paths.THEMES));
icons[icons.length - 1].last = true;
partials.forEach(partial => {
partialsData[path.basename(partial, path.extname(partial))] = fs.readFileSync(path.join(paths.SRC, `./icons/partials`, `./${partial}`), CHARSET);
});
contents = mustache.render(
fs.readFileSync(path.join(paths.SRC, `./icons/icons-theme.json`), CHARSET)
, { icons }
, partialsData
);
try {
contents = JSON.stringify(JSON.parse(contents), null, 2);
} catch (error) {
gutil.log(gutil.colors.red(MESSAGE_ICON_ERROR), error);
cb(error);
return;
}
fs.writeFileSync(pathTemp, contents, { encoding: CHARSET });
gutil.log(gutil.colors.gray(HR));
gutil.log(MESSAGE_GENERATED, gutil.colors.green(pathTemp));
gutil.log(gutil.colors.gray(HR));
cb();
});

60
.gulp/tasks/themes.ts Normal file
View file

@ -0,0 +1,60 @@
import * as fs from 'fs';
import * as gulp from 'gulp';
import * as gulpUtil from 'gulp-util';
import * as mustache from 'mustache';
import * as path from 'path';
import { HR, MESSAGE_GENERATED, MESSAGE_THEME_VARIANT_PARSE_ERROR } from './../consts/log';
import { CHARSET } from "../../extensions/consts/files";
import { IDefaults } from "../../extensions/interfaces/idefaults";
import { IThemeVariant } from './../interfaces/itheme-variant';
import paths from '../../extensions/consts/paths';
import { ensureDir } from '../../extensions/helpers/fs';
let commons: IDefaults = require('../../extensions/defaults.json');
let themeTemplateFileContent: string = fs.readFileSync(path.join(paths.SRC, `/themes/theme-template-color-theme.json`), CHARSET);
let themeVariants: IThemeVariant[] = [];
let fileNames: string[] = fs.readdirSync(path.join(paths.SRC, `./themes/settings/specific`));
// build theme variants for later use in templating
fileNames.forEach(fileName => {
let filePath: string = path.join(paths.SRC, `./themes/settings/specific`, `./${fileName}`);
let contents: string = fs.readFileSync(filePath, CHARSET);
try {
themeVariants.push(JSON.parse(contents));
} catch (error) {
gulpUtil.log(MESSAGE_THEME_VARIANT_PARSE_ERROR, error);
}
});
/**
* Themes task
* Builds Themes
*/
export default gulp.task('build:themes', cb => {
gulpUtil.log(gulpUtil.colors.gray(HR));
ensureDir(path.join(paths.THEMES));
try {
themeVariants.forEach(variant => {
let filePath = path.join(paths.THEMES, `./${variant.name}.json`);
let templateData = { commons, variant };
let templateJSON: any = JSON.parse(mustache.render(themeTemplateFileContent, templateData));
let templateJSONStringified: string = JSON.stringify(templateJSON, null, 2);
fs.writeFileSync(filePath, templateJSONStringified, { encoding: CHARSET });
gulpUtil.log(MESSAGE_GENERATED, gulpUtil.colors.green(filePath));
});
} catch (exception) {
gulpUtil.log(exception);
cb(exception);
}
gulpUtil.log(gulpUtil.colors.gray(HR));
});

14
.gulp/tasks/watcher.ts Normal file
View file

@ -0,0 +1,14 @@
import * as gulp from "gulp";
import * as path from "path";
import Paths from "../../extensions/consts/paths";
/*
* > Watcher
* Watches files and build the themes
*/
export default gulp.task('watch', () => {
// Commented due
// gulp.watch(path.join(Paths.SRC, `./themes/**/*.json`), ['build:themes']);
gulp.watch(path.join(Paths.SRC, `./themes/**/*.json`));
});

4
.npmrc Normal file
View file

@ -0,0 +1,4 @@
git-tag-version = false
tag-version-prefix =
save-exact = true
progress = true

56
.vscode/launch.json vendored Normal file
View file

@ -0,0 +1,56 @@
{
// Use IntelliSense to learn about possible Node.js debug attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Gulp build-icons-variants",
"program": "${workspaceRoot}/node_modules/gulp/bin/gulp.js",
"args": [
"build:icons.variants"
]
},
{
"type": "node",
"request": "launch",
"name": "Gulp build-icons",
"program": "${workspaceRoot}/node_modules/gulp/bin/gulp.js",
"args": [
"build:icons.accents"
]
},
{
"name": "Launch Extension",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceRoot}"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceRoot}/out/src/**/*.js"
]
},
{
"name": "Launch Tests",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": [
"--extensionDevelopmentPath=${workspaceRoot}",
"--extensionTestsPath=${workspaceRoot}/out/test"
],
"stopOnEntry": false,
"sourceMaps": true,
"outFiles": [
"${workspaceRoot}/out/test/**/*.js"
],
"preLaunchTask": "npm"
}
]
}

29
.vscode/settings.json vendored Normal file
View file

@ -0,0 +1,29 @@
{
"editor.tabSize": 2,
"editor.insertSpaces": true,
"files.exclude": {
"**/.git": true,
".git-crypt": true,
"**/.svn": true,
"**/.hg": true,
"**/CVS": true,
"**/.DS_Store": true,
"**/*.js": {
"when": "$(basename).ts"
},
"**/*.js.map": true
},
"files.associations": {
"*.template": "json"
},
"html.format.preserveNewLines": true,
"files.trimTrailingWhitespace": true,
"[markdown]": {
"diffEditor.ignoreTrimWhitespace": false,
"editor.tabSize": 4,
"editor.wordWrap": "on",
"editor.quickSuggestions": false
},
"gulp.autoDetect": "off",
"npm.autoDetect": "off"
}

89
.vscode/tasks.json vendored Normal file
View file

@ -0,0 +1,89 @@
// Available variables which can be used inside of strings.
// ${workspaceRoot}: the root folder of the team
// ${file}: the current opened file
// ${fileBasename}: the current opened file's basename
// ${fileDirname}: the current opened file's dirname
// ${fileExtname}: the current opened file's extension
// ${cwd}: the current working directory of the spawned process
// A task runner that calls a custom npm script that compiles the extension.
{
"version": "2.0.0",
// tasks list (build, build-theme, semver etc)
"tasks": [
{
"args": [
"run",
"build"
],
"command": "npm",
"dependsOn": "tsc",
"taskName": "build",
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": []
},
{
"linux": {
"args": [
".",
"-name",
"\"*.js\"",
"-not",
"-path",
"\"./node_modules/*\"",
"-not",
"-path",
"\"./src/*\"",
"-not",
"-path",
"\"./test/*\"",
"-type",
"f",
"-delete"
],
"command": "find"
},
"osx": {
"args": [
".",
"-name",
"\"*.js\"",
"-not",
"-path",
"\"./node_modules/*\"",
"-not",
"-path",
"\"./src/*\"",
"-not",
"-path",
"\"./test/*\"",
"-type",
"f",
"-delete"
],
"command": "find"
},
"command": "",
"taskName": "clean project"
},
{
"args": [
"run",
"changelog"
],
"command": "npm",
"taskName": "changelog"
},
{
"args": [
"-p",
"."
],
"command": "tsc",
"dependsOn": "clean project",
"taskName": "tsc"
}
]
}

17
.vscodeignore Normal file
View file

@ -0,0 +1,17 @@
*.log
*.ts
**/*.map
.github
.gitignore
.gulp
.vscode/**
assets/
gulpfile.babel.ts
node_modules
out/test/**
src/**
test/**
tsconfig.json
typings/**
vsc-extension-quickstart.md
yarn.lock

2
.yarnrc Normal file
View file

@ -0,0 +1,2 @@
save-exact true
save-prefix false

352
CHANGELOG.md Normal file
View file

@ -0,0 +1,352 @@
# Material Theme Changelog
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
<a name="1.6.0"></a>
# [1.6.0](https://github.com/equinusocio/vsc-material-theme/compare/v1.5.1...v1.6.0) (2018-04-15)
### Bug Fixes
* Add babel icon to .babelrc.json files ([41fe77c](https://github.com/equinusocio/vsc-material-theme/commit/41fe77c)), closes [#154](https://github.com/equinusocio/vsc-material-theme/issues/154)
### Features
* Add .gitlab-ci.yml file icon ([5b5c9ec](https://github.com/equinusocio/vsc-material-theme/commit/5b5c9ec)), closes [#155](https://github.com/equinusocio/vsc-material-theme/issues/155)
<a name="1.5.1"></a>
## [1.5.1](https://github.com/equinusocio/vsc-material-theme/compare/v1.5.0...v1.5.1) (2018-03-10)
### Bug Fixes
* Fix notifications background. Close [#143](https://github.com/equinusocio/vsc-material-theme/issues/143) ([8981088](https://github.com/equinusocio/vsc-material-theme/commit/8981088)), closes [#142](https://github.com/equinusocio/vsc-material-theme/issues/142)
<a name="1.5.0"></a>
# [1.5.0](https://github.com/equinusocio/vsc-material-theme/compare/v1.4.0...v1.5.0) (2018-03-08)
### Bug Fixes
* Add support for the new notifications UX ([008bac1](https://github.com/equinusocio/vsc-material-theme/commit/008bac1))
### Features
* Highlight line number on selected line ([cf69a74](https://github.com/equinusocio/vsc-material-theme/commit/cf69a74))
<a name="1.4.0"></a>
# [1.4.0](https://github.com/equinusocio/vsc-material-theme/compare/v1.3.0...v1.4.0) (2018-02-19)
### Bug Fixes
* Fix constants color in php language ([444cf9a](https://github.com/equinusocio/vsc-material-theme/commit/444cf9a)), closes [#138](https://github.com/equinusocio/vsc-material-theme/issues/138)
* Fix input validation colors contrast ([30df0a6](https://github.com/equinusocio/vsc-material-theme/commit/30df0a6))
### Features
* Add a subtle highlight on tab hover ([405000e](https://github.com/equinusocio/vsc-material-theme/commit/405000e))
<a name="1.4.3"></a>
## [1.4.3](https://github.com/equinusocio/vsc-material-theme/compare/v1.4.0...v1.4.3) (2018-02-19)
<a name="1.4.0"></a>
# [1.4.0](https://github.com/equinusocio/vsc-material-theme/compare/v1.3.0...v1.4.0) (2018-02-19)
### Bug Fixes
* Fix constants color in php language ([444cf9a](https://github.com/equinusocio/vsc-material-theme/commit/444cf9a)), closes [#138](https://github.com/equinusocio/vsc-material-theme/issues/138)
* Fix input validation colors contrast ([30df0a6](https://github.com/equinusocio/vsc-material-theme/commit/30df0a6))
### Features
* Add a subtle highlight on tab hover ([405000e](https://github.com/equinusocio/vsc-material-theme/commit/405000e))
<a name="1.3.0"></a>
# [1.3.0](https://github.com/equinusocio/vsc-material-theme/compare/v1.2.0...v1.3.0) (2018-01-21)
### Bug Fixes
* Fix editor rule color ([2732da4](https://github.com/equinusocio/vsc-material-theme/commit/2732da4))
* Fix highlight backgrounds in PeekView ([b66e88e](https://github.com/equinusocio/vsc-material-theme/commit/b66e88e))
* Temporary fix to git edited file background when list is inactive ([6b1925e](https://github.com/equinusocio/vsc-material-theme/commit/6b1925e))
* Update main field of package.json ([#130](https://github.com/equinusocio/vsc-material-theme/issues/130)) ([40dd529](https://github.com/equinusocio/vsc-material-theme/commit/40dd529))
### Features
* Add gulp icon to gulp-config.js files ([83c058f](https://github.com/equinusocio/vsc-material-theme/commit/83c058f)), closes [#128](https://github.com/equinusocio/vsc-material-theme/issues/128)
* Add zephyr file icon ([9e64343](https://github.com/equinusocio/vsc-material-theme/commit/9e64343)), closes [#124](https://github.com/equinusocio/vsc-material-theme/issues/124)
<a name="1.2.0"></a>
# [1.2.0](https://github.com/equinusocio/vsc-material-theme/compare/v1.1.2...v1.2.0) (2017-12-29)
### Features
* Add ci folder icon ([a2ba7f8](https://github.com/equinusocio/vsc-material-theme/commit/a2ba7f8)), closes [#119](https://github.com/equinusocio/vsc-material-theme/issues/119)
* Add laravel blade file icon ([f7070f4](https://github.com/equinusocio/vsc-material-theme/commit/f7070f4)), closes [#114](https://github.com/equinusocio/vsc-material-theme/issues/114)
* Add reason (.re, .rei) file icon ([384d8d2](https://github.com/equinusocio/vsc-material-theme/commit/384d8d2))
<a name="1.1.2"></a>
## [1.1.2](https://github.com/equinusocio/vsc-material-theme/compare/v1.1.0...v1.1.2) (2017-11-14)
### Bug Fixes
* Add dist folder icon ([a6600d2](https://github.com/equinusocio/vsc-material-theme/commit/a6600d2))
* Add test folder icon ([0a73ce4](https://github.com/equinusocio/vsc-material-theme/commit/0a73ce4))
* Improve markdown highlight ([dc9a6fa](https://github.com/equinusocio/vsc-material-theme/commit/dc9a6fa)), closes [#113](https://github.com/equinusocio/vsc-material-theme/issues/113)
* Improve src folder icon ([e06b881](https://github.com/equinusocio/vsc-material-theme/commit/e06b881))
* New bower_components folder icon ([adcb304](https://github.com/equinusocio/vsc-material-theme/commit/adcb304))
* Update .git folder icon ([2f37966](https://github.com/equinusocio/vsc-material-theme/commit/2f37966))
* Update .github folder icon ([d371804](https://github.com/equinusocio/vsc-material-theme/commit/d371804))
* Update package-lock.json and yarn.lock file icons ([7136700](https://github.com/equinusocio/vsc-material-theme/commit/7136700)), closes [#108](https://github.com/equinusocio/vsc-material-theme/issues/108)
### Features
* Add Rollup js file icon ([5755813](https://github.com/equinusocio/vsc-material-theme/commit/5755813))
<a name="1.1.0"></a>
# [1.1.0](https://github.com/equinusocio/vsc-material-theme/compare/v1.0.5...v1.1.0) (2017-11-04)
### Bug Fixes
* Add babel icon to .babelrc files ([f2a64ab](https://github.com/equinusocio/vsc-material-theme/commit/f2a64ab)), closes [#101](https://github.com/equinusocio/vsc-material-theme/issues/101)
* Add postcss icon to .pcss files ([9eac9c4](https://github.com/equinusocio/vsc-material-theme/commit/9eac9c4)), closes [#107](https://github.com/equinusocio/vsc-material-theme/issues/107)
* Minor UI fixes ([65a18e8](https://github.com/equinusocio/vsc-material-theme/commit/65a18e8))
### Features
* Add set italic style for keyword operators ([ea9b755](https://github.com/equinusocio/vsc-material-theme/commit/ea9b755)), closes [#99](https://github.com/equinusocio/vsc-material-theme/issues/99)
* Add sidebar git colors support ([0cf2007](https://github.com/equinusocio/vsc-material-theme/commit/0cf2007))
* New folder icons ([2dfbaaa](https://github.com/equinusocio/vsc-material-theme/commit/2dfbaaa))
* New High Contrast theme variants. ([79d68b3](https://github.com/equinusocio/vsc-material-theme/commit/79d68b3))
* Remove arrow icons beside folders in explorer view ([28006e5](https://github.com/equinusocio/vsc-material-theme/commit/28006e5))
<a name="1.0.5"></a>
## [1.0.5](https://github.com/equinusocio/vsc-material-theme/compare/v1.0.4...v1.0.5) (2017-10-12)
### Bug Fixes
* Fix show changelog command ([370a4d9](https://github.com/equinusocio/vsc-material-theme/commit/370a4d9))
* Improve tab inactive foreground contrast ([c3d0b82](https://github.com/equinusocio/vsc-material-theme/commit/c3d0b82))
### Features
* Add .asp, .aspx and .ascx file icon ([f7d4af0](https://github.com/equinusocio/vsc-material-theme/commit/f7d4af0)), closes [#96](https://github.com/equinusocio/vsc-material-theme/issues/96)
* Add .mjs file icon ([605b8bf](https://github.com/equinusocio/vsc-material-theme/commit/605b8bf)), closes [#93](https://github.com/equinusocio/vsc-material-theme/issues/93)
* Add .yarnrc and .npmrc file icon ([f715cd0](https://github.com/equinusocio/vsc-material-theme/commit/f715cd0))
* Add colors for sidebar git.untracked and git.modified files ([3f1077d](https://github.com/equinusocio/vsc-material-theme/commit/3f1077d))
<a name="1.0.3"></a>
## [1.0.3](https://github.com/equinusocio/vsc-material-theme/compare/v1.0.2...v1.0.3) (2017-09-27)
### Bug Fixes
* Fix brackets color (punctuation.class...). Fix [#76](https://github.com/equinusocio/vsc-material-theme/issues/76) ([02d20b7](https://github.com/equinusocio/vsc-material-theme/commit/02d20b7))
* Fix wrong gutter indicator for add line. Close 89 ([83df9f9](https://github.com/equinusocio/vsc-material-theme/commit/83df9f9))
* Update gutter line colors. Fix [#79](https://github.com/equinusocio/vsc-material-theme/issues/79) ([0298a59](https://github.com/equinusocio/vsc-material-theme/commit/0298a59))
### Features
* Add tab active bottom border ([5bd1934](https://github.com/equinusocio/vsc-material-theme/commit/5bd1934)), closes [#88](https://github.com/equinusocio/vsc-material-theme/issues/88)
* Adds "show changelog" command. ([038ded7](https://github.com/equinusocio/vsc-material-theme/commit/038ded7))
<a name="1.0.2"></a>
## [1.0.2](https://github.com/equinusocio/vsc-material-theme/compare/v1.0.1...v1.0.2) (2017-07-25)
### Bug Fixes
* Fix squiggles visibility ([0900c30](https://github.com/equinusocio/vsc-material-theme/commit/0900c30)), closes [#70](https://github.com/equinusocio/vsc-material-theme/issues/70)
* Fixes an issues with the old settings "materialTheme.cache.workbench.accent". ([6c2ce83](https://github.com/equinusocio/vsc-material-theme/commit/6c2ce83))
* Fixes an unhandled undefined, which causes theme to break (issue [#69](https://github.com/equinusocio/vsc-material-theme/issues/69)). ([14a471f](https://github.com/equinusocio/vsc-material-theme/commit/14a471f))
<a name="1.0.1"></a>
## [1.0.1](https://github.com/equinusocio/vsc-material-theme/compare/v1.0.0...v1.0.1) (2017-07-24)
### Bug Fixes
* Add .ex file icon ([b6eb130](https://github.com/equinusocio/vsc-material-theme/commit/b6eb130)), closes [#60](https://github.com/equinusocio/vsc-material-theme/issues/60)
* Add accent color to progressbar ([4758c45](https://github.com/equinusocio/vsc-material-theme/commit/4758c45))
* Add squigglies color ([8502a39](https://github.com/equinusocio/vsc-material-theme/commit/8502a39))
* Fix editor marker navigation color ([16230f2](https://github.com/equinusocio/vsc-material-theme/commit/16230f2))
* Fix notification bar badge colors ([a3428ab](https://github.com/equinusocio/vsc-material-theme/commit/a3428ab))
* Fix python special var parameter color ([027b342](https://github.com/equinusocio/vsc-material-theme/commit/027b342)), closes [#57](https://github.com/equinusocio/vsc-material-theme/issues/57)
* Fix theme variants and settings reload ([ada03ed](https://github.com/equinusocio/vsc-material-theme/commit/ada03ed))
* Improve workbench theme and colors ([4798102](https://github.com/equinusocio/vsc-material-theme/commit/4798102))
<a name="1.0.0"></a>
# [1.0.0](https://github.com/equinusocio/vsc-material-theme/compare/v0.0.17...v1.0.0) (2017-06-19)
### Bug Fixes
* Add and update file icons ([ef9abab](https://github.com/equinusocio/vsc-material-theme/commit/ef9abab))
* Fix inputs placeholder color ([6d5cef6](https://github.com/equinusocio/vsc-material-theme/commit/6d5cef6))
* Fix tree selected foreground when sidebar is inactive ([351cd20](https://github.com/equinusocio/vsc-material-theme/commit/351cd20))
* Improve sidebar tree coloring ([4993587](https://github.com/equinusocio/vsc-material-theme/commit/4993587))
* Style welcome page links ([e873530](https://github.com/equinusocio/vsc-material-theme/commit/e873530))
### Features
* adds theme accents config. ([c648ab8](https://github.com/equinusocio/vsc-material-theme/commit/c648ab8))
* Adds theme changer command ([cb68fdc](https://github.com/equinusocio/vsc-material-theme/commit/cb68fdc))
<a name="0.0.17"></a>
## [0.0.17](https://github.com/equinusocio/vsc-material-theme/compare/v0.0.16...v0.0.17) (2017-05-22)
### Bug Fixes
* Fix inactive group inactive tab foreground ([2d52311](https://github.com/equinusocio/vsc-material-theme/commit/2d52311)), closes [#47](https://github.com/equinusocio/vsc-material-theme/issues/47)
* Improve sidebar colorization ([9cf9f34](https://github.com/equinusocio/vsc-material-theme/commit/9cf9f34))
### Features
* Add puppet (.pp) file icon ([d2dc180](https://github.com/equinusocio/vsc-material-theme/commit/d2dc180))
<a name="0.0.16"></a>
## [0.0.16](https://github.com/equinusocio/vsc-material-theme/compare/v0.0.15...v0.0.16) (2017-05-18)
### Bug Fixes
* Fix C file icon ([8a5a331](https://github.com/equinusocio/vsc-material-theme/commit/8a5a331)), closes [#46](https://github.com/equinusocio/vsc-material-theme/issues/46)
* Fix the waterfall of bleed words ([6d001c4](https://github.com/equinusocio/vsc-material-theme/commit/6d001c4)), closes [#44](https://github.com/equinusocio/vsc-material-theme/issues/44)
* Fix the waterfall of blooding words ([8b62470](https://github.com/equinusocio/vsc-material-theme/commit/8b62470)), closes [#44](https://github.com/equinusocio/vsc-material-theme/issues/44)
* Improve tree colors (wip) ([d9a1f2c](https://github.com/equinusocio/vsc-material-theme/commit/d9a1f2c))
* Panel hover borders ([a83dfcb](https://github.com/equinusocio/vsc-material-theme/commit/a83dfcb))
<a name="0.0.15"></a>
## [0.0.15](https://github.com/equinusocio/vsc-material-theme/compare/v0.0.14...v0.0.15) (2017-05-17)
<a name="0.0.14"></a>
## [0.0.14](https://github.com/equinusocio/vsc-material-theme/compare/v0.0.13...v0.0.14) (2017-05-16)
### Bug Fixes
* Fix bracket match border color ([4f778f1](https://github.com/equinusocio/vsc-material-theme/commit/4f778f1))
* Fix invalids color highlight ([100397c](https://github.com/equinusocio/vsc-material-theme/commit/100397c)), closes [#40](https://github.com/equinusocio/vsc-material-theme/issues/40)
* Fix notification bar foreground on Lighter ([c177e46](https://github.com/equinusocio/vsc-material-theme/commit/c177e46)), closes [#34](https://github.com/equinusocio/vsc-material-theme/issues/34)
* Fix selectionHighlightBackground color ([9578f38](https://github.com/equinusocio/vsc-material-theme/commit/9578f38)), closes [#38](https://github.com/equinusocio/vsc-material-theme/issues/38)
* improve C# highlight ([c72c314](https://github.com/equinusocio/vsc-material-theme/commit/c72c314)), closes [#26](https://github.com/equinusocio/vsc-material-theme/issues/26)
* Improve c++ syntax highlight ([1a927d6](https://github.com/equinusocio/vsc-material-theme/commit/1a927d6))
* Temporary fix buttons background ([f97d06a](https://github.com/equinusocio/vsc-material-theme/commit/f97d06a)), closes [#37](https://github.com/equinusocio/vsc-material-theme/issues/37)
<a name="0.0.13"></a>
## [0.0.13](https://github.com/equinusocio/vsc-material-theme/compare/v0.0.12...v0.0.13) (2017-05-10)
### Bug Fixes
* Fix statusbar background when no project opened ([d0a7cbc](https://github.com/equinusocio/vsc-material-theme/commit/d0a7cbc)), closes [#27](https://github.com/equinusocio/vsc-material-theme/issues/27)
* Improve ansi colors (integrated terminal) ([d1fa94f](https://github.com/equinusocio/vsc-material-theme/commit/d1fa94f))
### Features
* Add build/dist folder icon ([668db44](https://github.com/equinusocio/vsc-material-theme/commit/668db44)), closes [#6](https://github.com/equinusocio/vsc-material-theme/issues/6)
* Improve worckbench theme ([caff8ce](https://github.com/equinusocio/vsc-material-theme/commit/caff8ce))
<a name="0.0.12"></a>
## [0.0.12](https://github.com/equinusocio/vsc-material-theme/compare/v0.0.8...v0.0.12) (2017-05-04)
### Bug Fixes
* Fix folder icon color ([81c03e6](https://github.com/equinusocio/vsc-material-theme/commit/81c03e6))
* Update workbench theme ([232d1e3](https://github.com/equinusocio/vsc-material-theme/commit/232d1e3))
### Features
* Add graphql file icon ([ba18877](https://github.com/equinusocio/vsc-material-theme/commit/ba18877))
* Improve workbench theme ([c7c8038](https://github.com/equinusocio/vsc-material-theme/commit/c7c8038))
* Update workbench theme ([6ddfaa9](https://github.com/equinusocio/vsc-material-theme/commit/6ddfaa9))
<a name="0.0.8"></a>
## [0.0.8](https://github.com/equinusocio/vsc-material-theme/compare/v0.0.7...v0.0.8) (2017-04-11)
### Bug Fixes
* Add bower icon ([3e73e1f](https://github.com/equinusocio/vsc-material-theme/commit/3e73e1f))
* Fix background color for highlighted searched string ([060d24d](https://github.com/equinusocio/vsc-material-theme/commit/060d24d)), closes [#4](https://github.com/equinusocio/vsc-material-theme/issues/4)
* fix lighter scheme colors ([2ba1c0d](https://github.com/equinusocio/vsc-material-theme/commit/2ba1c0d))
* Fix opened folder icon ([40700ca](https://github.com/equinusocio/vsc-material-theme/commit/40700ca)), closes [#1](https://github.com/equinusocio/vsc-material-theme/issues/1)
* Fix some file and folder icons ([b927646](https://github.com/equinusocio/vsc-material-theme/commit/b927646))
* Fix var hover background ([a8fee8c](https://github.com/equinusocio/vsc-material-theme/commit/a8fee8c))
* Update json icon ([ce30ff7](https://github.com/equinusocio/vsc-material-theme/commit/ce30ff7))
* Update some file icons ([cf2a1ee](https://github.com/equinusocio/vsc-material-theme/commit/cf2a1ee))
* **Icons:** Fix .ts and def ts icons ([4c0cf00](https://github.com/equinusocio/vsc-material-theme/commit/4c0cf00)), closes [#10](https://github.com/equinusocio/vsc-material-theme/issues/10)
### Features
* Add lighter theme (wip) ([0f7d3c2](https://github.com/equinusocio/vsc-material-theme/commit/0f7d3c2))
* Add Material Theme icon-theme ([7d3b7bd](https://github.com/equinusocio/vsc-material-theme/commit/7d3b7bd))
* first beta release ([b4dead1](https://github.com/equinusocio/vsc-material-theme/commit/b4dead1))
* **Icons:** Add new filetype icons ([5bc8002](https://github.com/equinusocio/vsc-material-theme/commit/5bc8002))
* **Icons:** Add new icons ([3921218](https://github.com/equinusocio/vsc-material-theme/commit/3921218))
* first full theme implementation (wip) ([c3c42d4](https://github.com/equinusocio/vsc-material-theme/commit/c3c42d4))

46
CODE_OF_CONDUCT.md Normal file
View file

@ -0,0 +1,46 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at astorino.design@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

104
CONTRIBUTING.md Normal file
View file

@ -0,0 +1,104 @@
# Contributing guidelines
> Note: this document is intended as a draft, it will be updated soon
## Requirements:
* Nodejs ^6.x
* Visual Studio Code
* GPG Tool
- [Contributing guidelines](#contributing-guidelines)
- [Requirements:](#requirements)
- [Decrypt content](#decrypt-content)
- [Installing and compiling source](#installing-and-compiling-source)
- [Testing the theme](#testing-the-theme)
- [Adding new Material Theme commands](#adding-new-material-theme-commands)
- [Adding new icons](#adding-new-icons)
- [Financial contributions](#financial-contributions)
- [Credits](#credits)
- [Contributors](#contributors)
- [Backers](#backers)
- [Sponsors](#sponsors)
## Decrypt content
We use git-crypt to encrypt compiler files. To contribute you need a GPG key public/private associated with your github email.
1. Export your public key by running
```gpg --output PATH/FILENAME.gpg --export ASSOCIATEDEMAIL```
2. Send the exported `.gpg` file to a contributor that will add you to the trusted people.
3. Fetch and pull then decrypt files with `git-crypt unlock` entering your key password.
## Installing and compiling source
First you will have to install node_modules through npm or yarn
```shell
npm install
# or
yarn install
```
To compile to the source code, you have to execute the build task through visual studio code.
First you need to invoke to quick command (on MacOS `⌘P`, while on Linux/windows is `ctrl+p`)
then type `task build` and wait until vsc will have finished the task.
### Testing the theme
To test the theme, you will have to go to the debug section, select the *Launch Extension* from debug and execute it.
### Adding new Material Theme commands
Soon(ish)®
### Adding new icons
* Add your icon to the `~/src/icons/svgs` directory.
* Add the reference to that icon to the `~/src/icons/partials/fileNames.js` or if your icon is referred to a directory adds the reference to the `~/src/icons/partials/folderNames.js` file, otherwise to `~/src/icons/partials/fileExtensions.js` if is referred to a file extension.
* If you want to make the icon sensitive to be accented, modify the `~/extensions/defaults.json` file, adding the icon definition to the `accentableIcons` array (e.g. ["_folder_open", "_folder_open_build"]) and the path to the `icons.theme.iconDefinitions` object. The same applies to variants (the variant icons array is called "variantsIcons")
* Execute the build command.
* Enjoy your new icons in Material Theme, and don't forget to pull request!
## Financial contributions
We also welcome financial contributions in full transparency on our [open collective](https://opencollective.com/vsc-material-theme).
Anyone can file an expense. If the expense makes sense for the development of the community, it will be "merged" in the ledger of our open collective by the core contributors and the person who filed the expense will be reimbursed.
## Credits
### Contributors
Thank you to all the people who have already contributed to vsc-material-theme!
<a href="graphs/contributors"><img src="https://opencollective.com/vsc-material-theme/contributors.svg?width=890" /></a>
### Backers
Thank you to all our backers! [[Become a backer](https://opencollective.com/vsc-material-theme#backer)]
<a href="https://opencollective.com/vsc-material-theme#backers" target="_blank"><img src="https://opencollective.com/vsc-material-theme/backers.svg?width=890"></a>
### Sponsors
Thank you to all our sponsors! (please ask your company to also support this open source project by [becoming a sponsor](https://opencollective.com/vsc-material-theme#sponsor))
<a href="https://opencollective.com/vsc-material-theme/sponsor/0/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/0/avatar.svg"></a>
<a href="https://opencollective.com/vsc-material-theme/sponsor/1/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/1/avatar.svg"></a>
<a href="https://opencollective.com/vsc-material-theme/sponsor/2/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/2/avatar.svg"></a>
<a href="https://opencollective.com/vsc-material-theme/sponsor/3/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/3/avatar.svg"></a>
<a href="https://opencollective.com/vsc-material-theme/sponsor/4/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/4/avatar.svg"></a>
<a href="https://opencollective.com/vsc-material-theme/sponsor/5/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/5/avatar.svg"></a>
<a href="https://opencollective.com/vsc-material-theme/sponsor/6/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/6/avatar.svg"></a>
<a href="https://opencollective.com/vsc-material-theme/sponsor/7/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/7/avatar.svg"></a>
<a href="https://opencollective.com/vsc-material-theme/sponsor/8/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/8/avatar.svg"></a>
<a href="https://opencollective.com/vsc-material-theme/sponsor/9/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/9/avatar.svg"></a>

201
LICENSE Normal file
View file

@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2017 Mattia Astorino
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

185
README.md Normal file
View file

@ -0,0 +1,185 @@
<p align="center"><img width="980px" src="https://image.ibb.co/mGCtnn/Material_Theme.gif"></p>
[![Twitter](https://img.shields.io/twitter/url/https/github.com/equinusocio/vsc-material-theme.svg?style=flat-square)](https://twitter.com/intent/tweet?text=This%20is%20the%20most%20epic%20theme:&url=https%3A%2F%2Fgithub.com%2Fequinusocio%2Fvsc-material-theme)
[![GitHub tag](https://img.shields.io/github/release/equinusocio/vsc-material-theme.svg?style=flat-square)](https://github.com/equinusocio/vsc-material-theme/releases)
<a href="https://code.visualstudio.com/updates/v1_19"><img src="https://img.shields.io/badge/VS_Code-v1.19+-373277.svg?style=flat-square"/></a> <a href="https://marketplace.visualstudio.com/items?itemName=Equinusocio.vsc-material-theme"><img src="https://vsmarketplacebadge.apphb.com/installs/Equinusocio.vsc-material-theme.svg?style=flat-square"/></a>
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=9RSHP5RSLKH64&lc=GB&item_name=Material%20Theme%20for%20Visual%20Studio%20Code&item_number=material%2dtheme%2ddonation&no_note=0&cn=Aggiungi%20istruzioni%20speciali%20per%20il%20venditore%3a&no_shipping=2&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted
"><img src="https://img.shields.io/badge/Support%20this%20project-%F0%9F%92%80-ff69b4.svg?style=flat-square"/></a>
The most epic theme meets Visual Studio Code. You can help by reporting issues [here](https://github.com/equinusocio/vsc-material-theme/issues)
<!-- TOC -->
- [Getting started](#getting-started)
- [Installation](#installation)
- [Packaged VSIX Extension](#packaged-vsix-extension)
- [GitHub Repository Clone](#github-repository-clone)
- [Activate theme](#activate-theme)
- [Activate File Icons](#activate-file-icons)
- [Set the accent color](#set-the-accent-color)
- [Override theme colors](#override-theme-colors)
- [Recommended settings for a better experience](#recommended-settings-for-a-better-experience)
- [Other resources](#other-resources)
- [Contributors](#contributors)
- [Backers](#backers)
- [Sponsors](#sponsors)
<!-- /TOC -->
<details>
<summary>Screenshots</summary>
<p align="center">
<img src="https://image.ibb.co/jUrdnn/material_theme_lighter.png" border="0">
<img src="https://image.ibb.co/gF6dnn/material_theme_default.png" border="0">
<img src="https://image.ibb.co/gSW007/material_theme_darker.png" border="0">
<img src="https://image.ibb.co/jnBdnn/material_theme_palenight.png" border="0">
</p>
</details>
# Getting started
You can install this awesome theme through the [Visual Studio Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Equinusocio.vsc-material-theme).
## Installation
Launch *Quick Open*
- <img src="https://www.kernel.org/theme/images/logos/favicon.png" width=16 height=16/> <a href="https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf">Linux</a> `Ctrl+P`
- <img src="https://developer.apple.com/favicon.ico" width=16 height=16/> <a href="https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf">macOS</a> `⌘P`
- <img src="https://www.microsoft.com/favicon.ico" width=16 height=16/> <a href="https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf">Windows</a> `Ctrl+P`
Paste the following command and press `Enter`:
```shell
ext install vsc-material-theme
```
#### Packaged VSIX Extension
[Download the latest .vsix release](https://github.com/equinusocio/vsc-material-theme/releases/latest) file from the GitHub repository and install it from the command line
```shell
code --install-extension vsc-material-theme-*.*.*.vsix
```
or from within VS Code by launching *Quick Open* and running the *Install from VSIX...* command.
##### GitHub Repository Clone
Change to your `.vscode/extensions` [VS Code extensions directory](https://code.visualstudio.com/docs/extensions/install-extension#_side-loading).
Depending on your platform it is located in the following folders:
- <img src="https://www.kernel.org/theme/images/logos/favicon.png" width=16 height=16/> **Linux** `~/.vscode/extensions`
- <img src="https://developer.apple.com/favicon.ico" width=16 height=16/> **macOs** `~/.vscode/extensions`
- <img src="https://www.microsoft.com/favicon.ico" width=16 height=16/> **Windows** `%USERPROFILE%\.vscode\extensions`
Clone the Material Theme repository as `Equinusocio.vsc-material-theme`:
```shell
git clone https://github.com/equinusocio/vsc-material-theme.git Equinusocio.vsc-material-theme
```
## Activate theme
Launch *Quick Open*,
- <img src="https://www.kernel.org/theme/images/logos/favicon.png" width=16 height=16/> <a href="https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf">Linux</a> `Ctrl + Shift + P`
- <img src="https://developer.apple.com/favicon.ico" width=16 height=16/> <a href="https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf">macOS</a> `⌘ + Shift + P`
- <img src="https://www.microsoft.com/favicon.ico" width=16 height=16/> <a href="https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf">Windows</a> `Ctrl + Shift + P`
Type `theme` and choose `Preferences: Color Theme`, then select Material Theme from the list.
This theme provides different color variants, to change the active theme variant type `Material Theme` and choose `Material Theme: Settings`, then select `Change color variant` and pick one theme from the list.
## Activate File Icons
Launch *Quick Open*,
- <img src="https://www.kernel.org/theme/images/logos/favicon.png" width=16 height=16/> <a href="https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf">Linux</a> `Ctrl + Shift + P`
- <img src="https://developer.apple.com/favicon.ico" width=16 height=16/> <a href="https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf">macOS</a> `⌘ + Shift + P`
- <img src="https://www.microsoft.com/favicon.ico" width=16 height=16/> <a href="https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf">Windows</a> `Ctrl + Shift + P`
type `icon theme` and select `Material Theme Icons` from the drop-down menu.
## Set the accent color
Launch *Quick Open*,
- <img src="https://www.kernel.org/theme/images/logos/favicon.png" width=16 height=16/> <a href="https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf">Linux</a> `Ctrl + Shift + P`
- <img src="https://developer.apple.com/favicon.ico" width=16 height=16/> <a href="https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf">macOS</a> `⌘ + Shift + P`
- <img src="https://www.microsoft.com/favicon.ico" width=16 height=16/> <a href="https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf">Windows</a> `Ctrl + Shift + P`
Type `Material Theme` and choose `Material Theme: Settings`, then select `Change accent color` and pick one color from the list.
## Override theme colors
You can override the material theme ui and schemes colors by adding these theme-specific settings to your configuration.
```js
"editor.tokenColorCustomizations": {
"[Material Theme]": {
"comments": "#229977"
},
"..."
},
"workbench.colorCustomizations": {
"[Material Theme]": {
"sideBar.background": "#347890"
},
"..."
}
```
# Recommended settings for a better experience
```js
{
// Controls the font family.
"editor.fontFamily": "Operator Mono",
// Controls the line height. Use 0 to compute the lineHeight from the fontSize.
"editor.lineHeight": 24,
// Enables font ligatures
"editor.fontLigatures": true,
// Controls if file decorations should use badges.
"explorer.decorations.badges": false
}
```
# Other resources
- **AppIcon:** [Download](https://github.com/equinusocio/vsc-material-theme/files/989048/vsc-material-theme-appicon.zip) the official Material Theme app icon for Visual Studio code
## Contributors
This project exists thanks to all the people who contribute. [[Contribute]](CONTRIBUTING.md).
<a href="graphs/contributors"><img src="https://opencollective.com/vsc-material-theme/contributors.svg?width=890" /></a>
## Backers
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/vsc-material-theme#backer)]
<a href="https://opencollective.com/vsc-material-theme#backers" target="_blank"><img src="https://opencollective.com/vsc-material-theme/backers.svg?width=890"></a>
## Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/vsc-material-theme#sponsor)]
<a href="https://opencollective.com/vsc-material-theme/sponsor/0/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/0/avatar.svg"></a>
<a href="https://opencollective.com/vsc-material-theme/sponsor/1/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/1/avatar.svg"></a>
<a href="https://opencollective.com/vsc-material-theme/sponsor/2/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/2/avatar.svg"></a>
<a href="https://opencollective.com/vsc-material-theme/sponsor/3/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/3/avatar.svg"></a>
<a href="https://opencollective.com/vsc-material-theme/sponsor/4/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/4/avatar.svg"></a>
<a href="https://opencollective.com/vsc-material-theme/sponsor/5/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/5/avatar.svg"></a>
<a href="https://opencollective.com/vsc-material-theme/sponsor/6/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/6/avatar.svg"></a>
<a href="https://opencollective.com/vsc-material-theme/sponsor/7/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/7/avatar.svg"></a>
<a href="https://opencollective.com/vsc-material-theme/sponsor/8/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/8/avatar.svg"></a>
<a href="https://opencollective.com/vsc-material-theme/sponsor/9/website" target="_blank"><img src="https://opencollective.com/vsc-material-theme/sponsor/9/avatar.svg"></a>
---
<p align="center"> <img src="https://equinusocio.gallerycdn.vsassets.io/extensions/equinusocio/vsc-material-theme/0.0.14/1494970083238/Microsoft.VisualStudio.Services.Icons.Default" width=16 height=16/> Copyright &copy; 2017 Mattia Astorino</p>
<p align="center"><a href="http://www.apache.org/licenses/LICENSE-2.0"><img src="https://img.shields.io/badge/License-Apache_2.0-5E81AC.svg?style=flat-square"/></a> <a href="https://creativecommons.org/licenses/by-sa/4.0"><img src="https://img.shields.io/badge/License-CC_BY--SA_4.0-5E81AC.svg?style=flat-square"/></a></p>

BIN
assets/header.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

BIN
assets/screen.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 606 KiB

View file

@ -0,0 +1,142 @@
import * as vscode from 'vscode';
import {IAccentCustomProperty} from '../../interfaces/iaccent-custom-property';
import { IDefaults } from "../../interfaces/idefaults";
import {IGenericObject} from '../../interfaces/igeneric-object';
import { updateAccent, isMaterialTheme, isMaterialThemeIcons } from "../../helpers/settings";
import { getCurrentThemeID, getCurrentThemeIconsID, reloadWindow } from "../../helpers/vscode";
import { THEME_ICONS } from "../theme-icons/index";
const REGEXP_HEX: RegExp = /^#([0-9A-F]{6}|[0-9A-F]{8})$/i;
let themeConfigCommon: IDefaults = require('../../defaults.json');
let accentsProperties: IGenericObject<IAccentCustomProperty> = {
"activityBarBadge.background": {
alpha: 100,
value: undefined
},
"list.activeSelectionForeground": {
alpha: 100,
value: undefined
},
"list.inactiveSelectionForeground": {
alpha: 100,
value: undefined
},
"list.highlightForeground": {
alpha: 100,
value: undefined
},
"scrollbarSlider.activeBackground": {
alpha: 50,
value: undefined
},
"editorSuggestWidget.highlightForeground": {
alpha: 100,
value: undefined
},
"textLink.foreground": {
alpha: 100,
value: undefined
},
"progressBar.background": {
alpha: 100,
value: undefined
},
"pickerGroup.foreground": {
alpha: 100,
value: undefined
},
"tab.activeBorder": {
alpha: 100,
value: undefined
},
"notificationLink.foreground": {
alpha: 100,
value: undefined
}
}
/**
* Assigns colours
* @param {string} colour
* @param {*} config
*/
function assignColorCustomizations(colour: string, config: any): void {
if (!isValidColour(colour)) {
colour = undefined;
}
Object.keys(accentsProperties).forEach(propertyName => {
let accent: IAccentCustomProperty = accentsProperties[propertyName];
let _colour = colour;
if (colour && accent.alpha < 100) {
_colour = `${ colour }${ accent.alpha > 10 ? accent.alpha : `0${ accent.alpha }` }`;
}
if (accent) {
config[propertyName] = _colour;
}
});
}
/**
* Determines if a string is a valid colour
* @param {(string | null | undefined)} colour
* @returns {boolean}
*/
function isValidColour(colour: string | null | undefined): boolean {
if (typeof colour === 'string' && REGEXP_HEX.test(colour)) {
return true;
}
return false;
}
/**
* Sets workbench options
* @param {string} accentSelected
* @param {*} config
*/
function setWorkbenchOptions(accentSelected: string | undefined, config: any): void {
vscode.workspace.getConfiguration().update('workbench.colorCustomizations', config, true).then(() => {
let themeID = getCurrentThemeID()
let themeIconsID = getCurrentThemeIconsID()
updateAccent(accentSelected).then(() => {
if (isMaterialTheme(themeID) && isMaterialThemeIcons(themeIconsID)) {
THEME_ICONS().then(() => reloadWindow());
}
});
}, reason => {
vscode.window.showErrorMessage(reason);
});
}
/**
* VSCode command
*/
export const THEME_ACCENTS_SETTER = () => {
// shows the quick pick dropdown
let options: string[] = Object.keys(themeConfigCommon.accents);
let purgeColourKey: string = 'Remove accents';
options.push(purgeColourKey);
vscode.window.showQuickPick(options).then(accentSelected => {
if (accentSelected === null || accentSelected === undefined) return;
let config: any = vscode.workspace.getConfiguration().get('workbench.colorCustomizations');
switch(accentSelected) {
case purgeColourKey:
assignColorCustomizations(undefined, config);
setWorkbenchOptions(undefined, config);
break;
default:
assignColorCustomizations(themeConfigCommon.accents[accentSelected], config);
setWorkbenchOptions(accentSelected, config);
break;
}
});
}

View file

@ -0,0 +1,98 @@
import {getAccentableIcons} from '../../helpers/fs';
import * as fs from 'fs';
import { getAbsolutePath, getDefaultValues, getThemeIconsByContributeID, getThemeIconsContribute, getVariantIcons } from "../../helpers/fs";
import { getCurrentThemeIconsID } from "../../helpers/vscode";
import { getCustomSettings, isAccent, isMaterialThemeIcons } from "../../helpers/settings";
import { CHARSET } from "../../consts/files";
import { IPackageJSONThemeIcons } from "../../interfaces/ipackage.json";
import {IThemeIconsIconPath, IThemeIcons} from '../../interfaces/itheme-icons';
function getIconDefinition(definitions: any, iconname: string): IThemeIconsIconPath {
return (definitions as any)[iconname];
}
/**
* Replaces icon path with the accented one.
* @param {string} iconPath
* @param {string} accentName
* @returns {string}
*/
function replaceIconPathWithAccent(iconPath: string, accentName: string): string {
return iconPath.replace('.svg', `.accent.${ accentName }.svg`);
}
export const THEME_ICONS = () => {
let deferred: any = {};
let promise = new Promise((resolve, reject) => {
deferred.resolve = resolve;
deferred.reject = reject;
});
let themeIconsID: string = getCurrentThemeIconsID();
if (isMaterialThemeIcons(themeIconsID)) {
let customSettings = getCustomSettings();
let defaults = getDefaultValues();
let accentName = customSettings.accent;
let variantName: string = customSettings.themeColours === undefined ? '' : customSettings.themeColours;
let themeContribute: IPackageJSONThemeIcons = getThemeIconsContribute(themeIconsID);
let theme: IThemeIcons = getThemeIconsByContributeID(themeIconsID);
let themepath: string = getAbsolutePath(themeContribute.path);
if (isAccent(accentName, defaults)) {
let _accentName = accentName.replace(/\s+/, '-');
getAccentableIcons().forEach(iconname => {
let distIcon = getIconDefinition(theme.iconDefinitions, iconname);
let outIcon = getIconDefinition(defaults.icons.theme.iconDefinitions, iconname);
if (typeof distIcon === 'object' && typeof outIcon === 'object') {
distIcon.iconPath = replaceIconPathWithAccent(outIcon.iconPath, _accentName)
}
})
// theme.iconDefinitions._folder_open.iconPath = defaults.icons.theme.iconDefinitions._folder_open.iconPath.replace('.svg', `.accent.${ _accentName }.svg`);
// theme.iconDefinitions._folder_open_build.iconPath = defaults.icons.theme.iconDefinitions._folder_open_build.iconPath.replace('.svg', `.accent.${ _accentName }.svg`);
} else {
getAccentableIcons().forEach(iconname => {
let distIcon = getIconDefinition(theme.iconDefinitions, iconname);
let outIcon = getIconDefinition(defaults.icons.theme.iconDefinitions, iconname);
distIcon.iconPath = outIcon.iconPath;
});
// theme.iconDefinitions._folder_open.iconPath = defaults.icons.theme.iconDefinitions._folder_open.iconPath;
// theme.iconDefinitions._folder_open_build.iconPath = defaults.icons.theme.iconDefinitions._folder_open_build.iconPath;
}
getVariantIcons().forEach(iconname => {
let distIcon = getIconDefinition(theme.iconDefinitions, iconname);
let outIcon = getIconDefinition(defaults.icons.theme.iconDefinitions, iconname);
if (!!distIcon && !!outIcon) {
distIcon.iconPath = outIcon.iconPath.replace('.svg', `${ variantName }.svg`);
}
})
// theme.iconDefinitions._folder_dark.iconPath = defaults.icons.theme.iconDefinitions._folder_dark.iconPath.replace('.svg', `${ variantName }.svg`);
// theme.iconDefinitions._folder_dark_build.iconPath = defaults.icons.theme.iconDefinitions._folder_dark_build.iconPath.replace('.svg', `${ variantName }.svg`);
// theme.iconDefinitions._folder_light.iconPath = defaults.icons.theme.iconDefinitions._folder_light.iconPath.replace('.svg', `${ variantName }.svg`);
// theme.iconDefinitions["_folder_light_build"].iconPath = defaults.icons.theme.iconDefinitions["_folder_light_build"].iconPath.replace('.svg', `${ variantName }.svg`);
fs.writeFile(themepath, JSON.stringify(theme), { encoding: CHARSET }, (error) => {
if (error) {
deferred.reject(error);
return;
}
deferred.resolve();
});
} else {
deferred.resolve();
}
return promise;
}

View file

@ -0,0 +1,41 @@
import * as fs from "fs";
import * as vscode from 'vscode';
import { getAbsolutePath, getDefaultValues, getPackageJSON } from "../../helpers/fs";
import { getCustomSettings, setCustomSettings } from "../../helpers/settings";
import { CHARSET } from "../../consts/files";
import { THEME_ICONS } from "../theme-icons/index";
import { reloadWindow } from "../../helpers/vscode";
export const THEME_VARIANT = () => {
let defaults = getDefaultValues();
let options: string[] = Object.keys(defaults.themeVariants);
let packageJSON = getPackageJSON();
options = options.filter(i => i !== packageJSON.contributes.themes[0].path);
vscode.window.showQuickPick(options).then((response: string) => {
if (!response) return;
let customSettings = getCustomSettings();
let themepath: string = defaults.themeVariants[response];
let themeUITheme: string = defaults.themeVariantsUITheme[response];
customSettings.themeColours = response;
packageJSON.contributes.themes[0].path = themepath;
packageJSON.contributes.themes[0].uiTheme = themeUITheme;
fs.writeFile(getAbsolutePath('./package.json'), JSON.stringify(packageJSON, null, 2), { encoding: CHARSET }, (error) => {
if (error) {
console.trace(error);
return;
}
setCustomSettings(customSettings).then(() => {
THEME_ICONS().then(() => reloadWindow()).catch(error => console.trace(error))
});
});
});
}

View file

@ -0,0 +1,5 @@
/**
* File charset
* @type {string}
*/
export const CHARSET: string = 'utf-8';

View file

@ -0,0 +1,13 @@
import * as path from 'path';
import { IPaths } from '../interfaces/ipaths';
export const PATHS: IPaths = {
DIST: './dist',
ICONS: './icons',
SRC: './src',
THEMES: './themes',
VSIX_DIR: path.join(__dirname, '../../'),
};
export default PATHS;

197
extensions/defaults.json Normal file
View file

@ -0,0 +1,197 @@
{
"accents": {
"Acid Lime": "#C6FF00",
"Blue": "#2979FF",
"Breaking Bad": "#388E3C",
"Bright Teal": "#64FFDA",
"Cyan": "#00BCD4",
"Graphite": "#616161",
"Indigo": "#5C6BC0",
"Lime": "#7CB342",
"Orange": "#FF7042",
"Pink": "#FF4081",
"Purple": "#AB47BC",
"Red": "#E57373",
"Sky": "#84FFFF",
"Tomato": "#F44336",
"Teal": "#80CBC4",
"Yellow": "#FFA000"
},
"accentableIcons": [
"_folder_open",
"_folder_open_build",
"_folder_vscode_open",
"_folder_gulp_open",
"_folder_node_open",
"_folder_images_open",
"_folder_js_open",
"_folder_src_open",
"_folder_assets_open",
"_folder_bower_open",
"_folder_git_open",
"_folder_github_open",
"_folder_test_open",
"_folder_dist_open",
"_folder_ci_open"
],
"changelog": {
"lastversion": "1.5.1"
},
"icons": {
"theme": {
"iconDefinitions": {
"_folder_ci": {
"iconPath": "../icons/folder_ci.svg"
},
"_folder_ci_open": {
"iconPath": "../icons/folder_ci_open.svg"
},
"_folder_dist": {
"iconPath": "../icons/folder_dist.svg"
},
"_folder_dist_open": {
"iconPath": "../icons/folder_dist_open.svg"
},
"_folder_test": {
"iconPath": "../icons/folder_test.svg"
},
"_folder_test_open": {
"iconPath": "../icons/folder_test_open.svg"
},
"_folder_github": {
"iconPath": "../icons/folder_github.svg"
},
"_folder_github_open": {
"iconPath": "../icons/folder_github_open.svg"
},
"_folder_git": {
"iconPath": "../icons/folder_git.svg"
},
"_folder_git_open": {
"iconPath": "../icons/folder_git_open.svg"
},
"_folder_bower": {
"iconPath": "../icons/folder_bower.svg"
},
"_folder_bower_open": {
"iconPath": "../icons/folder_bower_open.svg"
},
"_folder_assets": {
"iconPath": "../icons/folder_assets.svg"
},
"_folder_assets_open": {
"iconPath": "../icons/folder_assets_open.svg"
},
"_folder_src": {
"iconPath": "../icons/folder_src.svg"
},
"_folder_src_open": {
"iconPath": "../icons/folder_src_open.svg"
},
"_folder_js": {
"iconPath": "../icons/folder_js.svg"
},
"_folder_js_open": {
"iconPath": "../icons/folder_js_open.svg"
},
"_folder_images": {
"iconPath": "../icons/folder_images.svg"
},
"_folder_images_open": {
"iconPath": "../icons/folder_images_open.svg"
},
"_folder_gulp": {
"iconPath": "../icons/folder_gulp.svg"
},
"_folder_gulp_open": {
"iconPath": "../icons/folder_gulp_open.svg"
},
"_folder_node": {
"iconPath": "../icons/folder_node.svg"
},
"_folder_node_open": {
"iconPath": "../icons/folder_node_open.svg"
},
"_folder_vscode": {
"iconPath": "../icons/folder_vscode.svg"
},
"_folder_vscode_open": {
"iconPath": "../icons/folder_vscode_open.svg"
},
"_folder_dark": {
"iconPath": "../icons/folder_dark.svg"
},
"_folder_dark_build": {
"iconPath": "../icons/folder_dark_build.svg"
},
"_folder_light": {
"iconPath": "../icons/folder_light.svg"
},
"_folder_light_build": {
"iconPath": "../icons/folder_light_build.svg"
},
"_file_folder": {
"iconPath": "../icons/file_folder.svg"
},
"_file_folder_build": {
"iconPath": "../icons/file_folder_build.svg"
},
"_folder_open": {
"iconPath": "../icons/folder_open.svg"
},
"_folder_open_build": {
"iconPath": "../icons/folder_open_build.svg"
}
}
}
},
"themeVariants": {
"Darker": "./themes/Material-Theme-Darker.json",
"Darker High Contrast": "./themes/Material-Theme-Darker-High-Contrast.json",
"Default": "./themes/Material-Theme-Default.json",
"Default High Contrast": "./themes/Material-Theme-Default-High-Contrast.json",
"Light": "./themes/Material-Theme-Lighter.json",
"Light High Contrast": "./themes/Material-Theme-Lighter-High-Contrast.json",
"Palenight": "./themes/Material-Theme-Palenight.json",
"Palenight High Contrast": "./themes/Material-Theme-Palenight-High-Contrast.json"
},
"themeVariantsColours": {
"Darker": "#424242",
"Darker High Contrast": "#424242",
"Default": "#4A616C",
"Default High Contrast": "#4A616C",
"Light": "#90A4AE",
"Light High Contrast": "#90A4AE",
"Palenight": "#4E5579",
"Palenight High Contrast": "#4E5579"
},
"themeVariantsUITheme": {
"Darker": "vs-dark",
"Darker High Contrast": "vs-dark",
"Default": "vs-dark",
"Default High Contrast": "vs-dark",
"Light": "vs",
"Light High Contrast": "vs",
"Palenight": "vs-dark",
"Palenight High Contrast": "vs-dark"
},
"variantsIcons": [
"_folder_dark_build",
"_folder_dark",
"_folder_light_build",
"_folder_light",
"_folder_vscode",
"_folder_gulp",
"_folder_node",
"_folder_images",
"_folder_js",
"_folder_src",
"_folder_assets",
"_folder_bower",
"_folder_git",
"_folder_github",
"_folder_test",
"_folder_dist",
"_folder_ci"
]
}

View file

@ -0,0 +1,61 @@
import * as path from 'path';
import * as vscode from 'vscode';
import { getDefaultValues, getPackageJSON, writeFile } from "./fs";
import { PATHS } from '../consts/paths';
function previewFile(): void {
let uri = vscode.Uri.file(path.join(PATHS.VSIX_DIR, './CHANGELOG.md'));
vscode.commands.executeCommand('markdown.showPreview', uri);
}
function splitVersion(input: string): { major: number, minor: number, patch: number } {
let [ major, minor, patch ] = input.split('.').map(i => parseInt(i));
return { major, minor, patch };
}
export function showChangelog(): void {
let extname: string = 'Microsoft.vscode-markdown';
let md = vscode.extensions.getExtension<any>(extname);
if (md === undefined) {
console.warn(`Ext not found ${ extname }`)
return;
}
if (md.isActive) {
previewFile();
} else {
md.activate().then(() => {
previewFile();
}, reason => {
console.warn(reason);
});
}
}
export function shouldShowChangelog(): boolean {
let defaults = getDefaultValues();
let out: boolean;
let packageJSON = getPackageJSON();
if (defaults.changelog == undefined || (defaults.changelog !== undefined && typeof defaults.changelog.lastversion !== 'string')) {
defaults.changelog = {
lastversion: packageJSON.version
}
out = true;
} else {
let versionCurrent = splitVersion(packageJSON.version);
let versionOld = splitVersion(defaults.changelog.lastversion);
out = versionCurrent.major > versionOld.major || versionCurrent.minor > versionOld.minor || versionCurrent.patch > versionOld.patch;
defaults.changelog.lastversion = packageJSON.version;
}
writeFile(path.join('./extensions/defaults.json'), JSON.stringify(defaults, null, 2));
return out;
}

106
extensions/helpers/fs.ts Normal file
View file

@ -0,0 +1,106 @@
import * as fs from 'fs'
import * as path from 'path'
import { IPackageJSON, IPackageJSONThemeIcons } from "../interfaces/ipackage.json";
import { CHARSET } from "../consts/files";
import { IDefaults } from "../interfaces/idefaults";
import { IThemeIcons } from "../interfaces/itheme-icons";
import { PATHS } from "../consts/paths";
/**
* @export
* @param {string} dirname
*/
export function ensureDir(dirname: string): void {
if (!fs.existsSync(dirname)) {
fs.mkdirSync(dirname);
}
}
/**
* Gets default value
* @export
* @returns {IDefaults}
*/
export function getDefaultValues(): IDefaults {
let defaults: IDefaults = require(path.join(PATHS.VSIX_DIR, './extensions/defaults.json'));
if (defaults === undefined || defaults === null) {
throw new Error('Cannot find defaults params');
}
return defaults;
}
/**
* Gets an absolute path
*
* @export
* @param {string} input
* @returns {string}
*/
export function getAbsolutePath(input: string): string {
return path.join(PATHS.VSIX_DIR, input);
}
/**
* @export
* @returns {string[]}
*/
export function getAccentableIcons(): string[] {
return getDefaultValues().accentableIcons;
}
/**
* @export
* @returns {string[]}
*/
export function getVariantIcons(): string[] {
return getDefaultValues().variantsIcons;
}
/**
* Gets a theme content by a given contribute ID
*
* @export
* @param {string} ID
* @returns {IThemeIcons}
*/
export function getThemeIconsByContributeID(ID: string): IThemeIcons | null {
let contribute: IPackageJSONThemeIcons = getThemeIconsContribute(ID)
return contribute !== null ? require(path.join(PATHS.VSIX_DIR, contribute.path)) : null;
}
/**
* Gets a theme by name
* @export
* @param {string} name
* @returns {IThemeIcons}
*/
export function getThemeIconsContribute(ID: string): IPackageJSONThemeIcons {
let contributes = getPackageJSON().contributes.iconThemes.filter(contribute => contribute.id === ID);
return contributes[0] !== undefined ? contributes[0] : null;
}
/**
* Gets package JSON
* @export
* @returns {*}
*/
export function getPackageJSON(): IPackageJSON {
let packageJSON: IPackageJSON = require(path.join(PATHS.VSIX_DIR, './package.json'));
return packageJSON;
}
/**
* Writes a file inside the vsix directory
* @export
* @param {string} filename
* @param {string} filecontent
*/
export function writeFile(filename: string, filecontent: string): void {
filename = path.join(PATHS.VSIX_DIR, filename);
console.log(arguments)
fs.writeFileSync(filename, filecontent, { encoding: CHARSET });
}

View file

@ -0,0 +1,120 @@
import * as vscode from 'vscode';
import { IDefaults } from "../interfaces/idefaults";
import { IThemeCustomProperties } from "../interfaces/itheme-custom-properties";
import {getPackageJSON} from './fs';
/**
* Gets saved accent
* @export
* @returns {(string | null)}
*/
export function getAccent(): string | undefined {
return getCustomSettings().accent;
}
/**
* Gets custom settings
* @export
* @returns {*}
*/
export function getCustomSettings(): IThemeCustomProperties {
return vscode.workspace.getConfiguration().get<IThemeCustomProperties>('materialTheme.cache.workbench.settings', {});
}
/**
* Checks if a given string could be an accent
*
* @export
* @param {string} accentName
* @returns {boolean}
*/
export function isAccent(accentName: string, defaults: IDefaults): boolean {
return Object.keys(defaults.accents).filter(name => name === accentName).length > 0;
}
/**
* Determines if the passing theme label is a material theme
* @export
* @param {string} themeName
* @returns {boolean}
*/
export function isMaterialTheme(themeName: string): boolean {
let packageJSON = getPackageJSON();
return packageJSON.contributes.themes.filter(contrib => contrib.label === themeName).length > 0;
}
/**
* Determines if the passing icons theme is a material theme
* @export
* @param {string} themeIconsName
* @returns {boolean}
*/
export function isMaterialThemeIcons(themeIconsName: string): boolean {
let packageJSON = getPackageJSON();
return packageJSON.contributes.iconThemes.filter(contribute => contribute.id === themeIconsName).length > 0;
}
/**
* Sets a custom property in custom settings
* @export
* @param {string} settingname
* @param {*} value
*/
export function setCustomSetting(settingname: string, value: any): Thenable<void> {
let settings: any = getCustomSettings();
settings[settingname] = value;
return vscode.workspace.getConfiguration().update('materialTheme.cache.workbench.settings', settings, true);
}
/**
* Sets custom properties in custom settings
* @export
* @param {*} settingsObject
* @returns {Thenable<void>}
*/
export function setCustomSettings(settingsObject: IThemeCustomProperties): Thenable<void> {
let settings: any = getCustomSettings();
Object.keys(settingsObject).forEach(key => settings[key] = (settingsObject as any)[key]);
return vscode.workspace.getConfiguration().update('materialTheme.cache.workbench.settings', settings, true);
}
/**
* Determines if the window should reload
* @export
* @param {string} themeColour
* @param {string} themeIcons
* @returns {boolean}
*/
export function shouldReloadWindow(themeColour: string, themeIcons: string): boolean {
let isTheme: boolean = isMaterialTheme(themeColour);
let isThemeIcons: boolean = isMaterialThemeIcons(themeIcons);
if (!isTheme && !isThemeIcons) return false;
let customSettings = getCustomSettings();
return customSettings.accent !== customSettings.accentPrevious;
}
/**
* Updates accent name
* @export
* @param {string} accentName
*/
export function updateAccent(accentName: string): Thenable<void> {
let config: IThemeCustomProperties = getCustomSettings();
let prevaccent = getAccent();
if (prevaccent !== undefined && prevaccent !== accentName) {
config.accentPrevious = prevaccent;
} else if (accentName === undefined) {
config.accentPrevious = undefined;
}
config.accent = accentName;
return setCustomSettings(config);
}

View file

@ -0,0 +1,42 @@
import * as vscode from 'vscode'
export function askForWindowReload(): Thenable<void> {
const PROMPT_MESSAGE: string = 'Material Theme requires VS Code reload in order to display icons correctly.';
const PROMPT_MESSAGE_CONFIRM: string = 'Ok, reload';
const PROMPT_MESSAGE_CANCEL: string = 'I will do it later';
return vscode.window.showInformationMessage(PROMPT_MESSAGE, PROMPT_MESSAGE_CONFIRM, PROMPT_MESSAGE_CANCEL).then((response) => {
if (response === PROMPT_MESSAGE_CONFIRM) {
reloadWindow();
}
}, (error) => {
console.log(error);
});
}
/**
* Gets your current theme ID
* @export
* @returns {string}
*/
export function getCurrentThemeID(): string {
return vscode.workspace.getConfiguration().get<string>('workbench.colorTheme');
}
/**
* Gets your current icons theme ID
* @export
* @returns {string}
*/
export function getCurrentThemeIconsID(): string {
return vscode.workspace.getConfiguration().get<string>('workbench.iconTheme');
}
/**
* Reloads current vscode window.
* @export
*/
export function reloadWindow(): void {
vscode.commands.executeCommand('workbench.action.reloadWindow');
}

View file

@ -0,0 +1,4 @@
export interface IAccentCustomProperty {
alpha: number;
value: any;
}

View file

@ -0,0 +1,63 @@
export interface IDefaults {
accents: IAccents;
accentableIcons: string[];
changelog: IChangelog;
icons: IDefaultsThemeIcons;
themeVariants: IDefaultsThemeVariant;
themeVariantsColours: IDefaultsThemeVariantColours;
themeVariantsUITheme: IDefaultsThemeVariantUITheme;
variantsIcons: string[];
}
export interface IAccents {
teal: string;
[index: string]: string;
}
export interface IChangelog {
lastversion: string;
}
export interface IDefaultsThemeIcons {
theme: {
iconDefinitions: {
_folder_open: {
iconPath: string;
}
_folder_open_build: {
iconPath: string;
}
_folder_dark: {
iconPath: string;
}
_folder_dark_build: {
iconPath: string;
}
"_folder_light_build": {
iconPath: string;
}
_folder_light: {
iconPath: string;
}
}
}
}
export interface IDefaultsThemeVariant {
[index: string]: string;
Darker: string;
DarkerHighContrast: string;
Default: string;
DefaultHighContrast: string;
Light: string;
LightHighContrast: string;
PalenightHighContrast: string;
}
export interface IDefaultsThemeVariantColours extends IDefaultsThemeVariant {
}
export interface IDefaultsThemeVariantUITheme extends IDefaultsThemeVariant {
}

View file

@ -0,0 +1,3 @@
export interface IGenericObject<TValue> {
[index: string]: TValue;
}

View file

@ -0,0 +1,61 @@
import { IGenericObject } from '../../extensions/interfaces/igeneric-object';
export interface IPackageJSONBadge {
description: string;
href: string;
url: string;
}
export interface IPackageJSONContributes {
commands: IPackageJSONCommand[];
configuration: IPackageJSONConfiguration;
iconThemes: IPackageJSONThemeIcons[];
themes: IPackageJSONTheme[];
}
export interface IPackageJSONConfiguration {
properties: {
}
}
export interface IPackageJSONCommand {
category: string;
command: string;
title: string;
}
export interface IPackageJSONTheme {
label: string;
path: string;
uiTheme: string;
}
export interface IPackageJSONThemeIcons {
id: string;
label: string;
path: string;
}
export interface IPackageJSON {
"activationEvents": string[]
"badges": IPackageJSONBadge[];
"contributes": IPackageJSONContributes;
"bugs": IGenericObject<string>;
"categories": string[];
"description": string;
"displayName": string;
"engines": IGenericObject<string>;
"galleryBanner": IGenericObject<string>;
"homepage": string;
"icon": string;
"license": string;
"main": string;
"name": string;
"preview": boolean;
"publisher": string;
"repository": IGenericObject<string>;
"scripts": IGenericObject<string>;
"version": string;
"devDependencies": IGenericObject<string>;
}

View file

@ -0,0 +1,32 @@
export interface IPaths {
/**
* Dist dir
* @type {string}
* @memberof IPaths
*/
DIST: string;
/**
* Icons dir
* @type {string}
* @memberof IPaths
*/
ICONS: string;
/**
* Src dir
* @type {string}
* @memberof IPaths
*/
SRC: string;
/**
* Themes dir
* @type {string}
* @memberof IPaths
*/
THEMES: string;
/**
* Extension directory
* @type {string}
* @memberof IPaths
*/
VSIX_DIR: string;
}

View file

@ -0,0 +1,6 @@
export interface IThemeCustomProperties {
accent?: string;
accentPrevious?: string;
themeColours?: string;
themeIcons?: string;
}

View file

@ -0,0 +1,513 @@
export interface IThemeIconsIconPath {
iconPath: string;
}
export interface IThemeIcons {
"iconDefinitions":
{
"_folder_dark": IThemeIconsIconPath;
"_file_folder": IThemeIconsIconPath;
"_folder_dark_build": IThemeIconsIconPath;
"_folder_light": IThemeIconsIconPath;
"_folder_light_build": IThemeIconsIconPath;
"_folder_open": IThemeIconsIconPath;
"_folder_open_build": IThemeIconsIconPath;
"_file_dark": IThemeIconsIconPath;
"_file_actionscript": IThemeIconsIconPath;
"_file_ai": IThemeIconsIconPath;
"_file_android": IThemeIconsIconPath;
"_file_angular": IThemeIconsIconPath;
"_file_applescript": IThemeIconsIconPath;
"_file_arduino": IThemeIconsIconPath;
"_file_assembly": IThemeIconsIconPath;
"_file_autohotkey": IThemeIconsIconPath;
"_file_bower": IThemeIconsIconPath;
"_file_c": IThemeIconsIconPath;
"_file_certificate": IThemeIconsIconPath;
"_file_changelog": IThemeIconsIconPath;
"_file_clojure": IThemeIconsIconPath;
"_file_cmake": IThemeIconsIconPath;
"_file_cmd": IThemeIconsIconPath;
"_file_coffee": IThemeIconsIconPath;
"_file_console": IThemeIconsIconPath;
"_file_contributing": IThemeIconsIconPath;
"_file_cpp": IThemeIconsIconPath;
"_file_credits": IThemeIconsIconPath;
"_file_csharp": IThemeIconsIconPath;
"_file_css-map": IThemeIconsIconPath;
"_file_css": IThemeIconsIconPath;
"_file_dart": IThemeIconsIconPath;
"_file_database": IThemeIconsIconPath;
"_file_dlang": IThemeIconsIconPath;
"_file_docker": IThemeIconsIconPath;
"_file_document": IThemeIconsIconPath;
"_file_email": IThemeIconsIconPath;
"_file_exe": IThemeIconsIconPath;
"_file_favicon": IThemeIconsIconPath;
"_file_file": IThemeIconsIconPath;
"_file_flash": IThemeIconsIconPath;
"_file_flow": IThemeIconsIconPath;
"_file_folder-build": IThemeIconsIconPath;
"_file_folder-light-build": IThemeIconsIconPath;
"_file_folder-light": IThemeIconsIconPath;
"_file_folder-outline-build": IThemeIconsIconPath;
"_file_folder-outline": IThemeIconsIconPath;
"_file_font": IThemeIconsIconPath;
"_file_fsharp": IThemeIconsIconPath;
"_file_git": IThemeIconsIconPath;
"_file_github": IThemeIconsIconPath;
"_file_go": IThemeIconsIconPath;
"_file_gopher": IThemeIconsIconPath;
"_file_gradle": IThemeIconsIconPath;
"_file_graphql": IThemeIconsIconPath;
"_file_groovy": IThemeIconsIconPath;
"_file_grunt": IThemeIconsIconPath;
"_file_gulp": IThemeIconsIconPath;
"_file_haml": IThemeIconsIconPath;
"_file_haskell": IThemeIconsIconPath;
"_file_html": IThemeIconsIconPath;
"_file_image": IThemeIconsIconPath;
"_file_ionic": IThemeIconsIconPath;
"_file_java": IThemeIconsIconPath;
"_file_javascript-map": IThemeIconsIconPath;
"_file_js": IThemeIconsIconPath;
"_file_json": IThemeIconsIconPath;
"_file_key": IThemeIconsIconPath;
"_file_kotlin": IThemeIconsIconPath;
"_file_less": IThemeIconsIconPath;
"_file_lib": IThemeIconsIconPath;
"_file_license": IThemeIconsIconPath;
"_file_lua": IThemeIconsIconPath;
"_file_markdown": IThemeIconsIconPath;
"_file_markup": IThemeIconsIconPath;
"_file_movie": IThemeIconsIconPath;
"_file_music": IThemeIconsIconPath;
"_file_mustache": IThemeIconsIconPath;
"_file_mxml": IThemeIconsIconPath;
"_file_nodejs": IThemeIconsIconPath;
"_file_npm": IThemeIconsIconPath;
"_file_ocaml": IThemeIconsIconPath;
"_file_pdf": IThemeIconsIconPath;
"_file_php": IThemeIconsIconPath;
"_file_polymer": IThemeIconsIconPath;
"_file_postcss": IThemeIconsIconPath;
"_file_powerpoint": IThemeIconsIconPath;
"_file_pp": IThemeIconsIconPath;
"_file_procfile": IThemeIconsIconPath;
"_file_pug": IThemeIconsIconPath;
"_file_python": IThemeIconsIconPath;
"_file_r": IThemeIconsIconPath;
"_file_rails": IThemeIconsIconPath;
"_file_raml": IThemeIconsIconPath;
"_file_react": IThemeIconsIconPath;
"_file_readme": IThemeIconsIconPath;
"_file_ruby": IThemeIconsIconPath;
"_file_rust": IThemeIconsIconPath;
"_file_sass": IThemeIconsIconPath;
"_file_settings": IThemeIconsIconPath;
"_file_sketch": IThemeIconsIconPath;
"_file_star": IThemeIconsIconPath;
"_file_stylus": IThemeIconsIconPath;
"_file_sublime": IThemeIconsIconPath;
"_file_svg": IThemeIconsIconPath;
"_file_swc": IThemeIconsIconPath;
"_file_swift": IThemeIconsIconPath;
"_file_swig": IThemeIconsIconPath;
"_file_table": IThemeIconsIconPath;
"_file_tex": IThemeIconsIconPath;
"_file_todo": IThemeIconsIconPath;
"_file_tune": IThemeIconsIconPath;
"_file_twig": IThemeIconsIconPath;
"_file_typescript": IThemeIconsIconPath;
"_file_typescript_def": IThemeIconsIconPath;
"_file_url": IThemeIconsIconPath;
"_file_virtual": IThemeIconsIconPath;
"_file_visualstudio": IThemeIconsIconPath;
"_file_vue": IThemeIconsIconPath;
"_file_webpack": IThemeIconsIconPath;
"_file_word": IThemeIconsIconPath;
"_file_xaml": IThemeIconsIconPath;
"_file_xml": IThemeIconsIconPath;
"_file_yaml": IThemeIconsIconPath;
"_file_yarn": IThemeIconsIconPath;
"_file_zip": IThemeIconsIconPath;
};
"fileExtensions":
{
"cmd": string;
"mustache": string;
"rails": string;
"styl": string;
"twig": string;
"swig": string;
"sketch": string;
"do": string;
"sublime-settings": string;
"sublime-theme": string;
"sublime-commands": string;
"sublime-menu": string;
"html": string;
"jade": string;
"pug": string;
"md": string;
"md.rendered": string;
"markdown": string;
"markdown.rendered": string;
"css": string;
"postcss": string;
"scss": string;
"sass": string;
"less": string;
"json": string;
"yaml": string;
"YAML-tmLanguage": string;
"yml": string;
"xml": string;
"plist": string;
"xsd": string;
"dtd": string;
"xsl": string;
"xslt": string;
"resx": string;
"iml": string;
"xquery": string;
"tmLanguage": string;
"png": string;
"jpeg": string;
"jpg": string;
"gif": string;
"svg": string;
"eps": string;
"ai": string;
"ico": string;
"tif": string;
"tiff": string;
"psd": string;
"psb": string;
"ami": string;
"apx": string;
"bmp": string;
"bpg": string;
"brk": string;
"cur": string;
"dds": string;
"dng": string;
"exr": string;
"fpx": string;
"gbr": string;
"img": string;
"jbig2": string;
"jb2": string;
"jng": string;
"jxr": string;
"pbm": string;
"pgf": string;
"pic": string;
"raw": string;
"webp": string;
"php": string;
"js": string;
"ejs": string;
"jsx": string;
"ini": string;
"dlc": string;
"dll": string;
"config": string;
"conf": string;
"esx": string;
"ts": string;
"tsx": string;
"d.ts": string;
"pdf": string;
"xlsx": string;
"xls": string;
"csv": string;
"vscodeignore": string;
"vsixmanifest": string;
"suo": string;
"sln": string;
"pdb": string;
"cs": string;
"csx": string;
"csproj": string;
"zip": string;
"tar": string;
"gz": string;
"xz": string;
"bzip2": string;
"gzip": string;
"7z": string;
"7zip": string;
"pzip": string;
"wim": string;
"rar": string;
"tgz": string;
"exe": string;
"msi": string;
"java": string;
"jar": string;
"jsp": string;
"c": string;
"h": string;
"m": string;
"cc": string;
"cpp": string;
"c++": string;
"hpp": string;
"mm": string;
"cxx": string;
"go": string;
"py": string;
"url": string;
"sh": string;
"bat": string;
"ps1": string;
"fish": string;
"bash": string;
"gradle": string;
"doc": string;
"docx": string;
"rtf": string;
"properties": string;
"prop": string;
"settings": string;
"sql": string;
"accdb": string;
"mdb": string;
"cer": string;
"cert": string;
"crt": string;
"pub": string;
"key": string;
"pem": string;
"asc": string;
"woff": string;
"woff2": string;
"ttf": string;
"eot": string;
"suit": string;
"otf": string;
"bmap": string;
"fnt": string;
"odttf": string;
"ttc": string;
"font": string;
"fonts": string;
"sui": string;
"ntf": string;
"mrf": string;
"lib": string;
"rb": string;
"erb": string;
"fs": string;
"fsx": string;
"fsi": string;
"fsproj": string;
"manifest": string;
"swift": string;
"ino": string;
"dockerignore": string;
"tex": string;
"bib": string;
"pptx": string;
"ppt": string;
"pptm": string;
"potx": string;
"pot": string;
"potm": string;
"ppsx": string;
"ppsm": string;
"pps": string;
"ppam": string;
"ppa": string;
"webm": string;
"mkv": string;
"flv": string;
"vob": string;
"ogv": string;
"ogg": string;
"gifv": string;
"avi": string;
"mov": string;
"qt": string;
"wmv": string;
"yuv": string;
"rm": string;
"rmvb": string;
"mp4": string;
"m4v": string;
"mpg": string;
"mp2": string;
"mpeg": string;
"mpe": string;
"mpv": string;
"m2v": string;
"vdi": string;
"vbox": string;
"vbox-prev": string;
"ics": string;
"mp3": string;
"flac": string;
"m4a": string;
"wma": string;
"aiff": string;
"coffee": string;
"txt": string;
"sqlite": string;
"graphql": string;
"gql": string;
"props": string;
"toml": string;
"rs": string;
"raml": string;
"xaml": string;
"prefs": string;
"hs": string;
"kt": string;
"project": string;
"patch": string;
"dockerfile": string;
"vb": string;
"lua": string;
"clj": string;
"groovy": string;
"r": string;
"rst": string;
"dart": string;
"as": string;
"mxml": string;
"ahk": string;
"swf": string;
"swc": string;
"cmake": string;
"asm": string;
"a51": string;
"inc": string;
"nasm": string;
"s": string;
"ms": string;
"agc": string;
"ags": string;
"aea": string;
"argus": string;
"mitigus": string;
"binsource": string;
"vue": string;
"ml": string;
"mli": string;
"cmx": string;
"js.map": string;
"css.map": string;
"tmTheme": string;
"pp": string;
"applescript": string;
"haml": string };
"fileNames":
{ "gruntfile.js": string;
"bower.json": string;
".bowerrc": string;
"webpack.js": string;
"webpack.config.js": string;
"webpack.dev.js": string;
"webpack.prod.js": string;
"webpack.common.js": string;
"webpackfile.js": string;
"ionic.config.json": string;
".io-config.json": string;
"gulpfile.js": string;
"gulpfile.babel.js": string;
"package.json": string;
"gradle.properties": string;
"gradlew": string;
".jscsrc": string;
".jshintrc": string;
".jshintignore": string;
".npmignore": string;
"tsconfig.json": string;
"tslint.json": string;
"androidmanifest.xml": string;
"gradle-wrapper.properties": string;
".editorconfig": string;
"procfile": string;
".env": string;
"dockerfile": string;
"license": string;
"license.md": string;
"license.md.rendered": string;
"license.txt": string;
".babelrc": string;
".eslintrc": string;
".buildignore": string;
".htaccess": string;
"composer.lock": string;
".gitignore": string;
".gitconfig": string;
".gitattributes": string;
".gitmodules": string;
".gitkeep": string;
"yarn.lock": string;
".yarnclean": string;
".yarn-integrity": string;
"yarn-error.log": string;
"contributing.md": string;
"contributing.md.rendered": string;
"readme.md": string;
"readme.md.rendered": string;
".mailmap": string;
"makefile": string;
"changelog": string;
"changelog.md": string;
"changelog.md.rendered": string;
"CREDITS": string;
"credits.txt": string;
"credits.md": string;
"credits.md.rendered": string;
".flowconfig": string;
".jsbeautifyrc": string;
"git-history": string;
"angular-cli.json": string;
"app.module.ts": string;
"favicon.ico": string };
"file": string;
"folder": string;
"folderExpanded": string;
"languageIds":
{ "git": string };
"light":
{
"folderExpanded": string;
"folder": string;
"folderNames":
{ "node_modules": string;
".git": string;
".github": string;
".gulp": string;
"bower_components": string;
"build": string;
"dist": string };
"folderNamesExpanded":
{ "node_modules": string;
".git": string;
".github": string;
".gulp": string;
"bower_components": string;
"build": string;
"dist": string }
};
"folderNames":
{ "node_modules": string;
".git": string;
".github": string;
".gulp": string;
"bower_components": string;
"build": string;
"dist": string };
"folderNamesExpanded":
{ "node_modules": string;
".git": string;
".github": string;
".gulp": string;
"bower_components": string;
"build": string;
"dist": string }
}

View file

@ -0,0 +1,49 @@
import * as vscode from 'vscode';
import { IGenericObject } from "./interfaces/igeneric-object";
import { THEME_ACCENTS_SETTER } from "./commands/accents-setter/index";
import { THEME_VARIANT } from "./commands/theme-variant/index";
import { shouldShowChangelog, showChangelog } from './helpers/changelog';
enum Commands {
ACCENTS,
CHANGELOG,
COLOUR_VARIANT
}
const OPTIONS: IGenericObject<number> = {
'🖍 Change accent color': Commands.ACCENTS,
'🎨 Change color variant': Commands.COLOUR_VARIANT,
'🚧 Show changelog': Commands.CHANGELOG
}
export function activate(context: vscode.ExtensionContext) {
if (vscode.workspace.getConfiguration().has('materialTheme.cache.workbench.accent')) {
vscode.workspace.getConfiguration().update('materialTheme.cache.workbench.accent', undefined, true);
}
if (shouldShowChangelog()) {
showChangelog();
}
// registering the command
let command = vscode.commands.registerCommand('material.theme.config', () => {
// the user is going to choose what aspect of theme to config
vscode.window.showQuickPick(Object.keys(OPTIONS)).then(response => {
// switching selected option
switch(OPTIONS[response]) {
case Commands.ACCENTS:
THEME_ACCENTS_SETTER();
break;
case Commands.CHANGELOG:
showChangelog();
break;
case Commands.COLOUR_VARIANT:
THEME_VARIANT();
break;
}
});
});
context.subscriptions.push(command);
}

9
gulpfile.babel.ts Normal file
View file

@ -0,0 +1,9 @@
import * as Gulp from 'gulp';
import * as GulpStats from 'gulp-stats';
import * as tasks from './.gulp';
// Use gulp-stats
GulpStats(Gulp);
// set default task
Gulp.task('default', tasks.default as any);

113
iconlist.json Normal file
View file

@ -0,0 +1,113 @@
[
"actionscript",
"ai",
"android",
"angular",
"arduino",
"assembly",
"autohotkey",
"bower",
"c-lang",
"certificate",
"changelog",
"clojure",
"cmake",
"cmd",
"coffee",
"console",
"contributing",
"cpp",
"credits",
"csharp",
"css-map",
"css",
"dart",
"database",
"dlang",
"docker",
"document",
"email",
"exe",
"favicon",
"file",
"flash",
"flow",
"folder-light",
"folder-outline",
"folder",
"font",
"fsharp",
"git",
"github",
"gopher",
"gradle",
"groovy",
"grunt",
"gulp",
"haskell",
"html",
"image",
"ionic",
"java",
"javascript-map",
"js",
"json",
"key",
"kotlin",
"less",
"lib",
"license",
"lua",
"markdown",
"markup",
"movie",
"music",
"mustache",
"mxml",
"nodejs",
"npm",
"ocaml",
"pdf",
"php",
"polymer",
"postcss",
"powerpoint",
"procfile",
"pug",
"python",
"r",
"rails",
"raml",
"react",
"readme",
"ruby",
"rust",
"sass",
"settings",
"sketch",
"star",
"stylus",
"sublime",
"svg",
"swc",
"swift",
"swig",
"table",
"tex",
"todo",
"tune",
"twig",
"typescript",
"typescript_def",
"url",
"virtual",
"visualstudio",
"vue",
"webpack",
"word",
"xaml",
"xml",
"yaml",
"yarn",
"zip"
]

BIN
logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

9623
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

142
package.json Normal file
View file

@ -0,0 +1,142 @@
{
"name": "vsc-material-theme",
"displayName": "Material Theme",
"description": "The most epic theme now for Visual Studio Code",
"version": "1.6.0",
"publisher": "Equinusocio",
"license": "Apache-2.0",
"author": "Mattia Astorino [@equinusocio]",
"icon": "logo.png",
"galleryBanner": {
"color": "#263238",
"theme": "dark"
},
"homepage": "https://github.com/equinusocio/vsc-material-theme",
"repository": {
"type": "git",
"url": "https://github.com/equinusocio/vsc-material-theme.git"
},
"bugs": {
"url": "https://github.com/equinusocio/vsc-material-theme/issues"
},
"engines": {
"vscode": "^1.19.0"
},
"standard-version": {
"scripts": {
"postchangelog": "yarn gulp changelog-title"
}
},
"scripts": {
"build": "yarn build-icons && yarn build-themes && yarn build-icons-accents && yarn build-icons-variants",
"minimize-icons": "svgo -f src/icons/svgs -o icons/",
"minimize-json": "json-minify themes/.material-theme-icons.tmp > themes/Material-Theme-Icons.json && yarn remove-icons-tmp",
"remove-icons": "rimraf icons/* && rimraf themes/Material-Theme-Icons.json",
"remove-icons-tmp": "rimraf themes/.material-theme-icons.tmp",
"build-icons": "yarn remove-icons && yarn minimize-icons && yarn gulp build:icons && yarn minimize-json",
"build-icons-accents": "yarn gulp build:icons.accents",
"build-icons-variants": "yarn gulp build:icons.variants",
"build-themes": "yarn gulp build:themes",
"release": "standard-version",
"postinstall": "node ./node_modules/vscode/bin/install && opencollective postinstall"
},
"categories": [
"Themes",
"Other"
],
"activationEvents": [
"*"
],
"main": "./extensions/material.theme.config.js",
"contributes": {
"commands": [
{
"category": "🎨 Material theme",
"command": "material.theme.config",
"title": "Settings"
}
],
"configuration": {
"properties": {
"materialTheme.cache.workbench.accent": {
"type": "string",
"title": "[DEPRECATED] This is an old property.",
"description": "This property is intended only for migrating old settings system to a new one. It will be removed in new versions. Don't use it, use \"materialTheme.cache.workbench.settings\" instead."
},
"materialTheme.cache.workbench.settings": {
"default": {},
"type": "object",
"title": "Custom material theme settings",
"description": "Material theme settings object."
}
}
},
"themes": [
{
"label": "Material Theme",
"path": "./themes/Material-Theme-Palenight.json",
"uiTheme": "vs-dark"
}
],
"iconThemes": [
{
"id": "eq-material-theme-icons",
"label": "Material Theme Icons",
"path": "./themes/Material-Theme-Icons.json"
}
]
},
"badges": [
{
"url": "https://camo.githubusercontent.com/d3c6e53aa66426dead24cdedab0e83082103bea6/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f657175696e75736f63696f2f7673632d6d6174657269616c2d7468656d652e7376673f7374796c653d666c61742d737175617265",
"href": "https://github.com/equinusocio/vsc-material-theme/issues",
"description": "Open issues"
}
],
"devDependencies": {
"@types/chalk": "2.2.0",
"@types/gulp": "4.0.5",
"@types/gulp-if": "0.0.33",
"@types/gulp-util": "3.0.34",
"@types/mustache": "0.8.30",
"@types/run-sequence": "0.0.30",
"@types/through2": "2.0.33",
"@types/yamljs": "0.2.30",
"@types/yargs": "10.0.1",
"babel-core": "6.26.0",
"babel-preset-es2015": "6.24.1",
"babel-root-import": "4.1.8",
"cpx": "1.5.0",
"eslint": "4.17.0",
"eslint-plugin-standard": "3.0.1",
"gulp": "3.9.1",
"gulp-bump": "3.1.0",
"gulp-conventional-changelog": "1.1.11",
"gulp-if": "2.0.2",
"gulp-stats": "0.0.4",
"gulp-util": "3.0.8",
"json-minify": "1.0.0",
"mustache": "2.3.0",
"rimraf": "2.6.2",
"run-sequence": "2.2.1",
"standard-version": "4.3.0",
"svgo": "1.0.4",
"typescript": "2.7.1",
"vscode": "1.1.10",
"yamljs": "0.3.0",
"yargs": "11.0.0"
},
"__metadata": {
"id": "dffaf5a1-2219-434b-9d87-cb586fd59260",
"publisherDisplayName": "Mattia Astorino",
"publisherId": "e41388a1-a892-4c1e-940b-1e7c1bf43c97"
},
"dependencies": {
"opencollective": "1.0.3"
},
"collective": {
"type": "opencollective",
"url": "https://opencollective.com/vsc-material-theme",
"logo": "https://opencollective.com/opencollective/logo.txt"
}
}

View file

@ -0,0 +1,10 @@
{
"hidesExplorerArrows": true,
{{> iconDefinitions}}
{{> fileExtensions}}
{{> fileNames}}
{{> fileFolders}}
{{> languageIds}}
{{> light}}
{{> folderNames}}
}

89
src/icons/svgs/actionscript.svg Executable file
View file

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="actionscript.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview6"
showgrid="false"
inkscape:zoom="13.906433"
inkscape:cx="9.0609683"
inkscape:cy="11.953195"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:42.82164001px;line-height:113.99999857%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#D14748;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
x="5.6050396"
y="15.89185"
id="text4136"
sodipodi:linespacing="114%"
transform="scale(0.91324876,1.0949919)"><tspan
sodipodi:role="line"
id="tspan4138"
x="5.6050396"
y="15.89185"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.38176346px;line-height:113.99999857%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:-2.68541741px;fill:#D14748;fill-opacity:1;" /></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:51.01877594px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#D14748;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"
x="-0.67922986"
y="15.112477"
id="text4144"
sodipodi:linespacing="125%"
transform="scale(0.84460858,1.1839804)"><tspan
sodipodi:role="line"
id="tspan4146"
x="-0.67922986"
y="15.112477"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:19.13204002px;font-family:'Segoe UI';-inkscape-font-specification:'Segoe UI Bold';fill:#D14748;fill-opacity:1;">{ }</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:35.22633743px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#D14748;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="4.7331672"
y="15.426298"
id="text4160"
sodipodi:linespacing="125%"
transform="scale(0.92798218,1.0776069)"><tspan
sodipodi:role="line"
id="tspan4162"
x="4.7331672"
y="15.426298"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.20987701px;font-family:'Segoe UI';-inkscape-font-specification:'Segoe UI Bold';letter-spacing:-0.62814659px;fill:#D14748;fill-opacity:1">AS</tspan></text>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

3
src/icons/svgs/ai.svg Normal file
View file

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
<path fill="#D28445" fill-rule="evenodd" d="M20.2261361,11.6942222 C20.534609,11.6942222 20.7972748,11.5828148 21.0141335,11.36 C21.2309922,11.1371852 21.3400014,10.8776296 21.3411611,10.5813333 C21.3411611,10.2660741 21.2321519,10.0023704 21.0141335,9.79022222 C20.7961151,9.57807407 20.5334493,9.47140741 20.2261361,9.47022222 C19.9188229,9.46903704 19.6607958,9.5757037 19.4520548,9.79022222 C19.2433138,10.0047407 19.1389432,10.2684444 19.1389432,10.5813333 C19.1389432,10.8942222 19.2433138,11.1579259 19.4520548,11.3724444 C19.6607958,11.586963 19.9188229,11.6936296 20.2261361,11.6924444 L20.2261361,11.6924444 L20.2261361,11.6942222 Z M19.1667754,12.6666667 L21.2872364,12.6666667 L21.2872364,20.8337778 L19.1667754,20.8337778 L19.1667754,12.6666667 L19.1667754,12.6666667 Z M12.3983475,18.0835556 L15.2789737,18.0835556 L16.0408785,20.8337778 L18.2152642,20.8337778 L15.0615351,10.112 L12.4244401,10.112 L12.4244401,11.168 L9.65166341,20.8355556 L11.6086106,20.8355556 L12.396608,18.0853333 L12.3983475,18.0835556 Z M13.8125679,12 L14.8719287,16.2222222 L12.7514677,16.2222222 L13.8108284,12 L13.8125679,12 Z M4,4 L4,28 L28,28 L28,4 L4,4 L4,4 Z M26.2065666,26.112 L5.84909763,26.112 L5.84909763,5.88977778 L26.2065666,5.88977778 L26.2065666,26.112 L26.2065666,26.112 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

54
src/icons/svgs/android.svg Executable file
View file

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="android.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="733"
inkscape:window-height="479"
id="namedview6"
showgrid="false"
inkscape:zoom="9.8333333"
inkscape:cx="12"
inkscape:cy="12"
inkscape:window-x="104"
inkscape:window-y="26"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" />
<path
d="M15,5H14V4H15M10,5H9V4H10M15.53,2.16L16.84,0.85C17.03,0.66 17.03,0.34 16.84,0.14C16.64,-0.05 16.32,-0.05 16.13,0.14L14.65,1.62C13.85,1.23 12.95,1 12,1C11.04,1 10.14,1.23 9.34,1.63L7.85,0.14C7.66,-0.05 7.34,-0.05 7.15,0.14C6.95,0.34 6.95,0.66 7.15,0.85L8.46,2.16C6.97,3.26 6,5 6,7H18C18,5 17,3.25 15.53,2.16M20.5,8A1.5,1.5 0 0,0 19,9.5V16.5A1.5,1.5 0 0,0 20.5,18A1.5,1.5 0 0,0 22,16.5V9.5A1.5,1.5 0 0,0 20.5,8M3.5,8A1.5,1.5 0 0,0 2,9.5V16.5A1.5,1.5 0 0,0 3.5,18A1.5,1.5 0 0,0 5,16.5V9.5A1.5,1.5 0 0,0 3.5,8M6,18A1,1 0 0,0 7,19H8V22.5A1.5,1.5 0 0,0 9.5,24A1.5,1.5 0 0,0 11,22.5V19H13V22.5A1.5,1.5 0 0,0 14.5,24A1.5,1.5 0 0,0 16,22.5V19H17A1,1 0 0,0 18,18V8H6V18Z"
id="path4"
style="fill:#c0ca33;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

54
src/icons/svgs/angular.svg Executable file
View file

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="angular.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview6"
showgrid="false"
inkscape:zoom="9.8333333"
inkscape:cx="-5.3389831"
inkscape:cy="11.79661"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<path
d="M12,2.5L20.84,5.65L19.5,17.35L12,21.5L4.5,17.35L3.16,5.65L12,2.5M12,4.6L6.47,17H8.53L9.64,14.22H14.34L15.45,17H17.5L12,4.6M13.62,12.5H10.39L12,8.63L13.62,12.5Z"
id="path4"
style="fill:#e53935;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
<path fill="#7A8387" fill-rule="evenodd" d="M21.5740728,15.377975 C21.5562982,14.0237715 21.9251214,13.0128404 22.6805425,12.3451814 C23.4359637,11.6775225 23.8397807,11.3259184 23.8919936,11.2903691 C23.2498857,10.3705329 22.520571,9.78896969 21.7040497,9.54567966 C20.8875283,9.30238963 20.3059652,9.18074461 19.9593602,9.18074461 C19.1261751,9.09409336 18.3407594,9.23295754 17.6031129,9.59733713 C16.8654664,9.96171672 16.2794596,10.1439065 15.8450924,10.1439065 C15.4284999,10.1439065 14.9074815,9.98782319 14.2820373,9.67565653 C13.6565931,9.36348986 13.0055978,9.20740653 12.3290515,9.20740653 C11.4092153,9.22518114 10.5543674,9.47680303 9.76450798,9.96227218 C8.97464856,10.4477413 8.34531612,11.0987366 7.87651067,11.9152579 C7.40770522,12.7317793 7.12997687,13.6299527 7.04332562,14.6097784 C6.95667438,15.589604 7,16.5660968 7.17330249,17.539257 C7.34660498,18.5124171 7.61988967,19.450028 7.99315657,20.3520897 C8.36642347,21.2541514 8.77857234,22.0440108 9.22960318,22.721668 C9.68063402,23.3637759 10.1838778,23.9797774 10.7393345,24.5696724 C11.2947912,25.1595674 11.91968,25.4461831 12.6140008,25.4295194 C13.3083217,25.395081 13.8637784,25.2389977 14.2803709,24.9612694 C14.6969634,24.683541 15.3129649,24.5446768 16.1283754,24.5446768 C16.9615604,24.5446768 17.5820055,24.6879847 17.9897107,24.9746003 C18.397416,25.261216 18.9573163,25.4045238 19.6694118,25.4045238 C20.398171,25.3867492 21.0141725,25.1045772 21.5174162,24.5580078 C22.02066,24.0114384 22.4977973,23.4170997 22.9488281,22.7749918 C23.4698465,22.0106834 23.8431134,21.3208062 24.0686288,20.7053601 C24.2941442,20.0899141 24.4157893,19.7555292 24.4335639,19.7022054 C24.4157893,19.7022054 23.938652,19.385595 23.002152,18.7523744 C22.065652,18.1191538 21.5885147,16.9954649 21.5707401,15.3813077 L21.5707401,15.3813077 L21.5740728,15.377975 Z M18.8662214,7.41105957 C19.2483756,6.96002874 19.5477668,6.43512216 19.7643949,5.83633984 C19.981023,5.23755752 20.0548987,4.62544424 19.9860221,4 C19.44834,4.01777461 18.883996,4.1783016 18.2929901,4.48158096 C17.7019842,4.78486031 17.2159596,5.16257087 16.8349163,5.61471262 C16.4872004,6.01353053 16.1878092,6.51233064 15.9367428,7.11111296 C15.6856764,7.70989528 15.6034688,8.31312125 15.69012,8.92079087 C16.2977896,8.9730038 16.8837965,8.84691513 17.4481405,8.54252486 C18.0124845,8.23813459 18.4857336,7.86042404 18.8678878,7.4093932 L18.8678878,7.4093932 L18.8662214,7.41105957 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

1
src/icons/svgs/arduino.svg Executable file
View file

@ -0,0 +1 @@
<svg width="720" height="720" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><symbol id="a" preserveAspectRatio="xMinYMin meet" xmlns="http://www.w3.org/2000/svg"><path fill="none" stroke-opacity="100%" stroke-width="60" stroke="#00979c" d="M174 30a10.5 10.1 0 0 0 0 280C364 320 344 30 544 30a10.5 10.1 0 0 1 0 280C354 320 374 30 174 30"/><path d="M528 205v-32.8h-32.5v-13.7H528V126h13.9v32.5h32.5v13.7h-32.5V205H528z" text-anchor="middle" fill="#00979c" stroke-width="20" stroke="#00979c" font-family="sans-serif" font-size="167"/><path fill="#00979c" stroke="#00979c" stroke-width="23.6" transform="matrix(1.56 0 0 .64 -366 .528)" d="M321 266v-17.4h53.3V266H321z"/></symbol></defs><title>Layer 1</title><use x="20.063" y="360.85" transform="matrix(.997 0 0 .997 -18.596 -159.19)" xlink:href="#a"/></svg>

After

Width:  |  Height:  |  Size: 842 B

54
src/icons/svgs/assembly.svg Executable file
View file

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="assembly.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview6"
showgrid="false"
inkscape:zoom="16"
inkscape:cx="10.878774"
inkscape:cy="9.977663"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<path
style="fill:#795548;fill-opacity:1"
d="M 6 2 C 4.89 2 4 2.89 4 4 L 4 20 A 2 2 0 0 0 6 22 L 18 22 A 2 2 0 0 0 20 20 L 20 8 L 14 2 L 6 2 z M 13 3.5 L 18.5 9 L 13 9 L 13 3.5 z M 8.9960938 10.175781 C 10.709868 10.175781 11.566406 10.565102 11.566406 11.345703 L 11.566406 13.308594 C 11.566406 14.136818 10.712859 14.550781 9.0058594 14.550781 C 7.9152761 14.550781 7.1880513 14.470215 6.8222656 14.306641 C 6.4632537 14.140996 6.2832031 13.807599 6.2832031 13.308594 L 6.2832031 11.496094 C 6.2832031 10.616106 7.1874867 10.175781 8.9960938 10.175781 z M 15.478516 10.244141 L 16.462891 10.244141 L 16.462891 13.349609 L 17.246094 13.349609 L 17.246094 14.482422 L 13.791016 14.482422 L 13.791016 13.349609 L 14.523438 13.349609 L 14.523438 11.527344 L 13.791016 11.527344 L 13.791016 10.570312 C 14.637742 10.570312 15.200789 10.461549 15.478516 10.244141 z M 8.9355469 11.298828 C 8.4613802 11.298828 8.2246094 11.469022 8.2246094 11.808594 L 8.2246094 12.871094 L 8.2246094 13.007812 L 8.2558594 13.15625 C 8.3168237 13.286695 8.5317374 13.353516 8.9042969 13.353516 C 9.3852373 13.353516 9.6269531 13.181604 9.6269531 12.837891 L 9.6269531 11.808594 L 9.6171875 11.634766 C 9.6171875 11.411145 9.3893921 11.298828 8.9355469 11.298828 z M 15.457031 15.900391 C 17.170805 15.900391 18.027344 16.289711 18.027344 17.070312 L 18.027344 19.033203 C 18.027344 19.861427 17.173797 20.275391 15.466797 20.275391 C 14.376214 20.275391 13.648989 20.194824 13.283203 20.03125 C 12.924191 19.865605 12.744141 19.532208 12.744141 19.033203 L 12.744141 17.220703 C 12.744141 16.340715 13.648424 15.900391 15.457031 15.900391 z M 9.0175781 15.96875 L 10.001953 15.96875 L 10.001953 19.074219 L 10.785156 19.074219 L 10.785156 20.207031 L 7.3300781 20.207031 L 7.3300781 19.074219 L 8.0625 19.074219 L 8.0625 17.251953 L 7.3300781 17.251953 L 7.3300781 16.294922 C 8.1768043 16.294922 8.7398519 16.186159 9.0175781 15.96875 z M 15.396484 17.025391 C 14.922318 17.025391 14.685547 17.193631 14.685547 17.533203 L 14.685547 18.595703 L 14.685547 18.732422 L 14.716797 18.880859 C 14.777761 19.011305 14.992675 19.078125 15.365234 19.078125 C 15.846175 19.078125 16.087891 18.906213 16.087891 18.5625 L 16.087891 17.533203 L 16.078125 17.359375 C 16.078125 17.135754 15.85033 17.025391 15.396484 17.025391 z "
id="path4" />
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

55
src/icons/svgs/autohotkey.svg Executable file
View file

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="autohotkey.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview6"
showgrid="false"
inkscape:zoom="13.906433"
inkscape:cx="9.3323314"
inkscape:cy="6.0297729"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<path
style="fill:#4caf50;fill-opacity:1"
d="M 5 3 C 3.89 3 3 3.89 3 5 L 3 19 A 2 2 0 0 0 5 21 L 19 21 A 2 2 0 0 0 21 19 L 21 5 C 21 3.89 20.1 3 19 3 L 5 3 z M 8.6679688 6.4472656 C 8.9275716 6.4472656 9.145752 6.5330404 9.3203125 6.703125 C 9.494873 6.8732096 9.5820312 7.0819499 9.5820312 7.328125 C 9.5820312 7.6682943 9.5678711 8.1804199 9.5410156 8.8652344 C 9.5186361 9.5455729 9.5078125 10.054362 9.5078125 10.394531 C 9.5078125 10.506429 9.4922689 10.721273 9.4609375 11.039062 C 9.434082 11.334473 9.4232585 11.562093 9.4277344 11.71875 L 12.005859 11.234375 C 13.012939 11.055339 13.879801 10.952637 14.609375 10.925781 C 14.627279 10.625895 14.656982 9.8212077 14.697266 8.5097656 C 14.706217 8.1651204 14.812256 7.7679036 15.013672 7.3203125 C 15.264323 6.7697754 15.547445 6.4941406 15.865234 6.4941406 C 16.102458 6.4941406 16.312581 6.5738118 16.496094 6.7304688 C 16.693034 6.9005534 16.791016 7.1120605 16.791016 7.3671875 C 16.791016 7.4343262 16.783529 7.5012207 16.765625 7.5683594 C 16.676107 7.8951009 16.630859 8.1801758 16.630859 8.421875 C 16.630859 8.5472005 16.616699 8.7417806 16.589844 9.0058594 C 16.567464 9.2654622 16.556641 9.4586589 16.556641 9.5839844 C 16.556641 10.009196 16.534993 10.639567 16.490234 11.476562 C 16.445475 12.313558 16.421875 12.943929 16.421875 13.369141 C 16.421875 13.695882 16.446859 14.184977 16.496094 14.833984 C 16.545329 15.482992 16.570312 15.970133 16.570312 16.296875 C 16.570312 16.54305 16.483154 16.75179 16.308594 16.921875 C 16.134033 17.09196 15.917806 17.175781 15.658203 17.175781 C 15.394124 17.175781 15.16512 17.09196 14.972656 16.921875 C 14.780192 16.756266 14.683594 16.552246 14.683594 16.310547 C 14.683594 15.983805 14.66805 15.493327 14.636719 14.839844 C 14.609863 14.186361 14.595703 13.695882 14.595703 13.369141 C 14.595703 13.114014 14.600423 12.888346 14.609375 12.691406 C 13.906657 12.722738 13.039795 12.833496 12.005859 13.021484 C 11.146484 13.178141 10.287109 13.336914 9.4277344 13.498047 C 9.4187826 13.802409 9.3857422 14.309814 9.3320312 15.021484 C 9.2872721 15.648112 9.265625 16.160238 9.265625 16.558594 C 9.265625 16.804769 9.1784668 17.013509 9.0039062 17.183594 C 8.8293457 17.353678 8.6131185 17.4375 8.3535156 17.4375 C 8.0939128 17.4375 7.8757324 17.353678 7.7011719 17.183594 C 7.5266113 17.013509 7.4394531 16.804769 7.4394531 16.558594 C 7.4394531 16.106527 7.4766439 15.430908 7.5527344 14.53125 C 7.6333008 13.631592 7.6738281 12.955973 7.6738281 12.503906 C 7.6738281 11.93099 7.6879883 11.068278 7.7148438 9.9179688 C 7.7416992 8.7631836 7.7558594 7.9010417 7.7558594 7.328125 C 7.7558594 7.0819499 7.8430176 6.8732096 8.0175781 6.703125 C 8.1921387 6.5330404 8.4083659 6.4472656 8.6679688 6.4472656 z "
id="path4" />
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

3
src/icons/svgs/babel.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.5 KiB

11
src/icons/svgs/blade.svg Normal file
View file

@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32">
<defs>
<polygon id="blade-a" points="0 0 23.998 0 23.998 16.944 0 16.944"/>
</defs>
<g fill="none" fill-rule="evenodd" transform="translate(4 6)">
<mask id="blade-b" fill="#fff">
<use xlink:href="#blade-a"/>
</mask>
<path fill="#D14748" d="M22.6251564,7.73149088 C22.4662886,7.76732872 19.8653791,8.43285574 19.8653791,8.43285574 L17.7381773,5.42264966 C17.6785949,5.33563953 17.62898,5.24857196 17.7778803,5.22812601 C17.9267805,5.20762264 20.3440427,4.7570652 20.4532399,4.73150777 C20.5624371,4.70595034 20.6567666,4.67522399 20.7907991,4.86463615 C20.9247759,5.05404831 22.7640891,7.45506858 22.8335833,7.5471902 C22.9030775,7.63936926 22.7840241,7.69565304 22.6251564,7.73149088 M22.1710497,12.9185584 C22.2359777,13.0238895 22.3009058,13.0909132 22.0967666,13.1674706 C21.8926274,13.244028 15.2104371,15.5700416 15.0805253,15.627474 C14.9506135,15.6849064 14.8485439,15.7040314 14.6814905,15.4551767 C14.5144371,15.206322 12.3404046,11.3257848 12.3404046,11.3257848 L19.4239128,9.42477128 C19.6002654,9.36733885 19.6559499,9.32903142 19.7673188,9.51091993 C19.8786877,9.69280845 22.1061216,12.8132274 22.1710497,12.9185584 M10.6989383,10.7008051 C10.6120705,10.7199875 6.54320742,11.7243659 6.32609374,11.7755956 C6.10898005,11.8267679 6.10898005,11.801153 6.08420046,11.7243659 C6.0593652,11.6475787 1.24639072,1.41185574 1.17956937,1.28389628 C1.11269234,1.15593682 1.11620046,1.05456858 1.17956937,1.05456858 C1.2428826,1.05456858 5.02224223,0.706126014 5.1559406,0.698889527 C5.28969466,0.691595608 5.2756065,0.720656419 5.32483155,0.807723986 C5.32483155,0.807723986 10.6555044,10.2978017 10.7485531,10.464126 C10.8416019,10.6303929 10.7857503,10.6816226 10.6989383,10.7008051 M23.9057318,7.91579155 C23.7469197,7.73149088 21.550168,4.8953625 21.1630497,4.41413615 C20.7759313,3.9329098 20.5872724,4.01991993 20.3489986,4.05575777 C20.1107248,4.09159561 17.3311796,4.57282196 17.0085439,4.62910574 C16.6859081,4.68544696 16.4824371,4.81857534 16.6809522,5.10522061 C16.8575276,5.36016318 18.684813,8.03209223 19.0873002,8.62054493 L11.8226506,10.4154807 L6.04510998,0.453078716 C5.81513318,0.1013625 5.76735592,-0.0215429054 5.24392204,0.00303817568 C4.72048817,0.0275618243 0.7116529,0.371065203 0.426158701,0.395646284 C0.140608817,0.420227365 -0.172783295,0.551288176 0.112710905,1.2465652 C0.398260789,1.94184223 4.95096613,12.0604605 5.07781531,12.3549166 C5.20472019,12.6493726 5.53465058,13.1270956 6.30716102,12.9356733 C7.09860418,12.7395416 9.84323527,12.0006733 11.342929,11.5956024 C12.1353745,13.0756361 13.7515044,16.0779166 14.0503629,16.5080855 C14.4493977,17.0824098 14.7240334,16.9874166 15.3366181,16.7959943 C15.8148919,16.6464976 22.8206645,14.0480821 23.1362283,13.9140922 C23.4517921,13.7801024 23.6466877,13.6843625 23.4331935,13.3588929 C23.276219,13.1196294 21.4281077,10.5660111 20.4600891,9.23007534 C21.1230682,9.04807196 23.4806367,8.40075101 23.7319963,8.33045372 C24.0248408,8.24855507 24.0645995,8.10009223 23.9057318,7.91579155" mask="url(#blade-b)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

3
src/icons/svgs/bower.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8 KiB

3
src/icons/svgs/c.svg Normal file
View file

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="33" height="32" viewBox="0 0 33 32">
<path fill="#6A9FB5" fill-rule="evenodd" d="M13.3514769,4.71604632 C12.6889957,3.99838351 12.0477576,3.51994881 11.4277431,3.28072787 C10.8077287,3.04150694 10.1834769,2.92189826 9.55496917,2.92189826 C8.62070084,2.92189826 7.77562535,3.08849606 7.01971735,3.42169665 C6.26380934,3.75489724 5.61407793,4.21624498 5.07050364,4.80575372 C4.52692934,5.39526246 4.1065149,6.08301234 3.80924771,6.86902399 C3.51198051,7.65503564 3.36334915,8.50083983 3.36334915,9.40646195 C3.36334915,10.3804329 3.51198051,11.277498 3.80924771,12.097684 C4.1065149,12.9178701 4.52692934,13.6269787 5.07050364,14.225031 C5.61407793,14.8230834 6.26380934,15.2929746 7.01971735,15.6347188 C7.77562535,15.976463 8.62070084,16.1473325 9.55496917,16.1473325 C10.2853971,16.1473325 10.9945811,15.9721912 11.6825423,15.6219034 C12.3705035,15.2716156 13.0117417,14.7120179 13.6062761,13.9430935 L16.2561875,15.8397643 C15.4408261,16.9675201 14.4471192,17.7876939 13.2750372,18.3003102 C12.1029551,18.8129265 10.8544516,19.0692308 9.52948925,19.0692308 C8.13658011,19.0692308 6.85835035,18.8428286 5.69476162,18.3900176 C4.53117289,17.9372065 3.52897282,17.2964458 2.68813133,16.4677161 C1.84728983,15.6389864 1.18906521,14.6436714 0.713437698,13.4817411 C0.237810188,12.3198108 -1.42108547e-14,11.0297459 -1.42108547e-14,9.61150744 C-1.42108547e-14,8.15909461 0.237810188,6.83912746 0.713437698,5.65156638 C1.18906521,4.4640053 1.84728983,3.4516033 2.68813133,2.61433002 C3.52897282,1.77705675 4.53117289,1.13202425 5.69476162,0.679213193 C6.85835035,0.226402134 8.13658011,-5.32907052e-15 9.52948925,-5.32907052e-15 C10.7525314,-5.32907052e-15 11.8863764,0.217858657 12.9310583,0.653582506 C13.9757401,1.08930636 14.9482139,1.82831709 15.8485089,2.87063689 L13.3514769,4.71604632 Z" transform="translate(8 6)"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

54
src/icons/svgs/certificate.svg Executable file
View file

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="certificate.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="729"
inkscape:window-height="480"
id="namedview6"
showgrid="false"
inkscape:zoom="9.8333333"
inkscape:cx="12"
inkscape:cy="11.898305"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" />
<path
d="M4,3C2.89,3 2,3.89 2,5V15A2,2 0 0,0 4,17H12V22L15,19L18,22V17H20A2,2 0 0,0 22,15V8L22,6V5A2,2 0 0,0 20,3H16V3H4M12,5L15,7L18,5V8.5L21,10L18,11.5V15L15,13L12,15V11.5L9,10L12,8.5V5M4,5H9V7H4V5M4,9H7V11H4V9M4,13H9V15H4V13Z"
id="path4"
style="fill:#ff5722;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

54
src/icons/svgs/changelog.svg Executable file
View file

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="history.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview6"
showgrid="false"
inkscape:zoom="9.8333333"
inkscape:cx="-5.1355932"
inkscape:cy="12"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<path
d="M11,7V12.11L15.71,14.9L16.5,13.62L12.5,11.25V7M12.5,2C8.97,2 5.91,3.92 4.27,6.77L2,4.5V11H8.5L5.75,8.25C6.96,5.73 9.5,4 12.5,4A7.5,7.5 0 0,1 20,11.5A7.5,7.5 0 0,1 12.5,19C9.23,19 6.47,16.91 5.44,14H3.34C4.44,18.03 8.11,21 12.5,21C17.74,21 22,16.75 22,11.5A9.5,9.5 0 0,0 12.5,2Z"
id="path4"
style="fill:#90A959;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

57
src/icons/svgs/clojure.svg Executable file
View file

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="clojure.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview6"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:zoom="19.666667"
inkscape:cx="15.322523"
inkscape:cy="13.110078"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<path
style="fill:#6A9FB5;fill-opacity:1;stroke:none;stroke-opacity:1"
d="M 3.3554688 1.7792969 C 2.5103841 1.7792969 1.8300781 2.4596028 1.8300781 3.3046875 L 1.8300781 20.746094 C 1.8300781 21.591178 2.5103841 22.271484 3.3554688 22.271484 L 20.796875 22.271484 C 21.64196 22.271484 22.322266 21.591178 22.322266 20.746094 L 22.322266 3.3046875 C 22.322266 2.4596028 21.64196 1.7792969 20.796875 1.7792969 L 3.3554688 1.7792969 z M 9.5234375 4.3515625 L 11.486328 4.3515625 L 17.853516 19.283203 L 15.929688 19.283203 L 12.550781 11.197266 L 9.2011719 19.283203 L 7.2089844 19.283203 L 11.554688 8.9023438 L 9.5234375 4.3515625 z "
id="rect4150" />
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

65
src/icons/svgs/cmake.svg Executable file
View file

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="cmake.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview6"
showgrid="false"
inkscape:zoom="32"
inkscape:cx="15.913446"
inkscape:cy="14.927602"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<path
style="opacity:1;fill:#1e88e5;fill-opacity:1;stroke:none;stroke-opacity:1"
d="m 11.989283,2.9650363 -9.01161,18.0334917 9.87447,-8.470122 -0.86286,-9.5633697 z"
id="rect4185"
inkscape:connector-curvature="0" />
<path
style="opacity:1;fill:#e53935;fill-opacity:1;stroke:none;stroke-opacity:1"
d="m 12.007065,2.9629282 0.0024,0.2905597 1.311546,14.4977811 -0.0015,0.0059 0.02303,0.25978 7.362879,2.97857 0.415288,7.25e-4 -0.157942,-0.311375 -0.114064,-0.227655 -0.0015,-2e-6 -8.840215,-17.494251 z"
id="rect4251"
inkscape:connector-curvature="0" />
<path
style="opacity:1;fill:#7cb342;fill-opacity:1;stroke:none;stroke-opacity:1"
d="m 8.6074266,16.110238 -5.6276702,4.88514 17.7429376,0 0,-0.01615 L 8.6074266,16.11023 Z"
id="rect4251-7"
inkscape:connector-curvature="0" />
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

3
src/icons/svgs/cmd.svg Normal file
View file

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="33" height="32" viewBox="0 0 33 32">
<path fill="#8251A8" d="M17,20 L29,20 L29,23 L17,23 L17,20 L17,20 Z M8,23 L17,14 L8,5 L5,8 L11,14 L5,20 L8,23 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 208 B

3
src/icons/svgs/coffee.svg Executable file
View file

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
<path fill="#AB7558" fill-rule="evenodd" d="M17.1731043,6.16656367 C18.2683983,5.89676504 20.4589863,5.9636751 21.486372,6.30254217 C23.6090518,7.04502798 23.6090518,8.86670828 21.486372,9.33723708 C19.6375158,9.67394576 17.4469278,9.27032702 17.4469278,8.46093115 C17.4469278,8.05515402 18.20049,7.92133391 18.748137,8.25804259 C19.3636923,8.73072977 20.8029086,8.66381972 21.3505556,8.19113253 C21.9661108,7.71844534 21.7623861,7.38173666 20.5969933,7.1788481 C19.4316005,6.97595953 17.5849348,7.44864672 15.8039868,8.32495265 C14.5027775,8.93145995 14.0230388,9.06743846 12.8598365,9.13434851 C11.352712,9.13434851 10.6013403,8.93145995 9.98359451,8.18897414 C9.64186278,7.85226546 9.64186278,7.71628695 9.77767924,7.24359977 C10.1895098,6.50111396 12.2420907,6.09749522 13.1314694,6.63709246 C13.6112082,6.97380115 13.2694765,7.10977965 12.1040837,7.10977965 C10.7349662,7.04286959 10.1873192,7.37957827 10.667058,7.85226546 C11.0788885,8.3918627 12.7218295,8.25804259 13.8850317,7.6493769 C16.0077115,6.57018241 16.4173514,6.36729384 17.1709137,6.16440528 L17.1731043,6.16656367 Z M4.92114567,8.05515402 C5.74261616,7.51555678 6.08434789,7.44864672 5.81052439,7.91917552 C5.67251735,8.05515402 5.67251735,8.3918627 5.67251735,8.59475127 C5.87843262,9.33723708 8.68457583,10.2804531 11.2869944,10.5502517 C12.0405566,10.6171617 12.9299354,10.6862302 13.2716671,10.7531402 C14.0252293,10.8200503 18.8861441,10.8200503 20.4589863,10.6862302 C24.772254,10.4164316 28.1939525,9.27032702 27.8522207,8.19113253 C27.5783972,7.44864672 28.467776,7.92133391 28.9475147,8.79763983 C29.15343,9.20341696 28.7415994,9.87683432 27.920129,10.2826115 C27.2344749,10.6883886 24.5663387,11.428716 23.538953,11.4977844 C23.1972213,11.5646945 22.3757508,11.700673 21.7580049,11.7675831 C20.3888874,11.9704716 12.995653,11.9704716 11.4885285,11.7675831 C9.15993342,11.4977844 8.47646997,11.3618059 6.90143721,10.8912771 C5.12048917,10.3516799 4.02519518,9.54228403 4.16320222,8.93577673 C4.16320222,8.66597811 4.50493395,8.26020098 4.91676449,8.0594708 L4.92114567,8.05515402 Z M4.4414069,11.8323347 C4.30339985,11.0898489 4.37349867,10.9560288 4.57941394,11.2258274 C4.85323744,11.6316046 7.18183247,12.5748205 8.13911942,12.7107991 C8.48085115,12.7777091 8.96058992,12.8467776 9.23441341,12.9136876 C11.1511779,13.3863748 19.5038899,13.5201949 22.1041178,13.1834862 C25.3899998,12.7777091 27.7185949,12.1042917 28.4699665,11.428716 C28.9497053,11.0229389 28.9497053,11.0229389 28.9497053,11.3618059 C28.9497053,12.1042917 27.9223195,15.2749652 27.2388561,16.8246884 C26.8270255,17.6340843 25.9376468,19.0499875 25.1840846,20.0622719 C24.4305223,21.0745563 23.67696,22.3566394 23.5411436,22.8962366 C22.7196731,25.1906041 20.938725,26 16.6276479,26 C12.3822884,26 10.6714391,25.2575142 9.84996864,23.0322152 C9.64405337,22.4926179 8.82258287,21.0767147 8.0690206,19.9975202 C7.24755011,18.9183258 6.42607961,17.6362427 6.15225611,17.1635555 C5.94634084,16.6908683 5.67251735,16.2872496 5.67251735,16.2872496 C5.60460912,16.2872496 5.39869385,16.5570482 5.19277858,16.8268468 C4.71303981,17.5693326 4.64513158,19.1212143 5.05477153,20.1313404 C5.5345103,21.2774449 6.97153602,22.4926179 7.99892179,22.626438 C9.30013105,22.8962366 8.68457583,23.2329453 6.97153602,23.3020138 C5.67032676,23.3689238 5.46441149,23.3020138 4.78094803,22.7624165 C3.34392231,21.7501321 3,21.0767147 3,19.3219445 C3,18.0398614 3.06790823,17.7031528 3.547647,16.960667 C3.8214705,16.5548898 4.30120926,15.9483825 4.64294099,15.6116738 L5.25849622,15.1389867 L4.91676449,13.9238137 C4.71084922,13.3173064 4.50493395,12.371932 4.43702572,11.8323347 L4.4414069,11.8323347 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

3
src/icons/svgs/console.svg Executable file
View file

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="33" height="32" viewBox="0 0 33 32">
<path fill="#AA759F" fill-rule="evenodd" d="M28.0871913,5 L4.91280873,5 C4.38800912,5 3.93760946,5.18581046 3.56160975,5.55743138 C3.18561003,5.9290523 2.99841017,6.38802002 3.00001017,6.93433454 L3.00001017,26.0656655 C3.00001017,26.61198 3.18721003,27.0709477 3.56160975,27.4425686 C3.93600946,27.8141895 4.38640913,28 4.91280873,28 L28.0871913,28 C28.6119909,28 29.0623905,27.8141895 29.4383903,27.4425686 C29.81439,27.0709477 30.0015898,26.61198 29.9999898,26.0656655 L29.9999898,6.93433454 C29.9999898,6.38802002 29.81279,5.9290523 29.4383903,5.55743138 C29.0639905,5.18581046 28.6135909,5 28.0871913,5 L28.0871913,5 L28.0871913,5 Z M6.86400726,18.3997929 L10.7256043,14.6025893 L6.86400726,10.769653 L8.77680582,8.8329363 L14.5896014,14.6025893 L8.77680582,20.3341274 L6.86400726,18.3974107 L6.86400726,18.3997929 Z M22.3127956,20.3341274 L14.5872014,20.3341274 L14.5872014,18.3974107 L22.3127956,18.3974107 L22.3127956,20.3341274 L22.3127956,20.3341274 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 1 KiB

54
src/icons/svgs/contributing.svg Executable file
View file

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="contributing.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="833"
inkscape:window-height="480"
id="namedview6"
showgrid="false"
inkscape:zoom="9.7571059"
inkscape:cx="12"
inkscape:cy="11.898305"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" />
<path
d="M17,9H7V7H17M17,13H7V11H17M14,17H7V15H14M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z"
id="path4"
style="fill:#F4BF75;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

6
src/icons/svgs/cpp.svg Executable file
View file

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="33" height="32" viewBox="0 0 33 32">
<g fill="#6A9FB5" fill-rule="evenodd" transform="translate(4 6)">
<path d="M4.24568593,5.61681192 L3.03186472,5.61681192 L3.03186472,3.81370197 L1.22995184,3.81370197 L1.22995184,2.5737681 L3.03186472,2.5737681 L3.03186472,0.761193008 L4.24568593,0.761193008 L4.24568593,2.5737681 L6.05700828,2.5737681 L6.05700828,3.81370197 L4.24568593,3.81370197 L4.24568593,5.61681192 Z M9.86313758,5.61681192 L8.64931637,5.61681192 L8.64931637,3.81370197 L6.84740349,3.81370197 L6.84740349,2.5737681 L8.64931637,2.5737681 L8.64931637,0.761193008 L9.86313758,0.761193008 L9.86313758,2.5737681 L11.6744599,2.5737681 L11.6744599,3.81370197 L9.86313758,3.81370197 L9.86313758,5.61681192 Z" transform="translate(13.765 6.154)"/>
<path d="M14.5693533,4.71604632 C13.9068721,3.99838351 13.2656339,3.51994881 12.6456195,3.28072787 C12.025605,3.04150694 11.4013533,2.92189826 10.7728455,2.92189826 C9.83857719,2.92189826 8.9935017,3.08849606 8.23759369,3.42169665 C7.48168568,3.75489724 6.83195428,4.21624498 6.28837998,4.80575372 C5.74480568,5.39526246 5.32439124,6.08301234 5.02712405,6.86902399 C4.72985686,7.65503564 4.58122549,8.50083983 4.58122549,9.40646195 C4.58122549,10.3804329 4.72985686,11.277498 5.02712405,12.097684 C5.32439124,12.9178701 5.74480568,13.6269787 6.28837998,14.225031 C6.83195428,14.8230834 7.48168568,15.2929746 8.23759369,15.6347188 C8.9935017,15.976463 9.83857719,16.1473325 10.7728455,16.1473325 C11.5032735,16.1473325 12.2124574,15.9721912 12.9004186,15.6219034 C13.5883799,15.2716156 14.229618,14.7120179 14.8241524,13.9430935 L17.4740639,15.8397643 C16.6587024,16.9675201 15.6649956,17.7876939 14.4929135,18.3003102 C13.3208314,18.8129265 12.0723279,19.0692308 10.7473656,19.0692308 C9.35445646,19.0692308 8.0762267,18.8428286 6.91263797,18.3900176 C5.74904924,17.9372065 4.74684916,17.2964458 3.90600767,16.4677161 C3.06516618,15.6389864 2.40694155,14.6436714 1.93131404,13.4817411 C1.45568653,12.3198108 1.21787634,11.0297459 1.21787634,9.61150744 C1.21787634,8.15909461 1.45568653,6.83912746 1.93131404,5.65156638 C2.40694155,4.4640053 3.06516618,3.4516033 3.90600767,2.61433002 C4.74684916,1.77705675 5.74904924,1.13202425 6.91263797,0.679213193 C8.0762267,0.226402134 9.35445646,-5.32907052e-15 10.7473656,-5.32907052e-15 C11.9704078,-5.32907052e-15 13.1042528,0.217858657 14.1489346,0.653582506 C15.1936165,1.08930636 16.1660903,1.82831709 17.0663852,2.87063689 L14.5693533,4.71604632 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

54
src/icons/svgs/credits.svg Executable file
View file

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="credits.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="733"
inkscape:window-height="480"
id="namedview6"
showgrid="false"
inkscape:zoom="9.8333333"
inkscape:cx="12"
inkscape:cy="12"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" />
<path
d="M3,3H21V5H3V3M7,7H17V9H7V7M3,11H21V13H3V11M7,15H17V17H7V15M3,19H21V21H3V19Z"
id="path4"
style="fill:#9ccc65;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

54
src/icons/svgs/csharp.svg Executable file
View file

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="csharp.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="729"
inkscape:window-height="480"
id="namedview6"
showgrid="false"
inkscape:zoom="9.8333333"
inkscape:cx="-4.9322034"
inkscape:cy="11.79661"
inkscape:window-x="142"
inkscape:window-y="69"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" />
<path
d="M11.5,15.97L11.91,18.41C11.65,18.55 11.23,18.68 10.67,18.8C10.1,18.93 9.43,19 8.66,19C6.45,18.96 4.79,18.3 3.68,17.04C2.56,15.77 2,14.16 2,12.21C2.05,9.9 2.72,8.13 4,6.89C5.32,5.64 6.96,5 8.94,5C9.69,5 10.34,5.07 10.88,5.19C11.42,5.31 11.82,5.44 12.08,5.59L11.5,8.08L10.44,7.74C10.04,7.64 9.58,7.59 9.05,7.59C7.89,7.58 6.93,7.95 6.18,8.69C5.42,9.42 5.03,10.54 5,12.03C5,13.39 5.37,14.45 6.08,15.23C6.79,16 7.79,16.4 9.07,16.41L10.4,16.29C10.83,16.21 11.19,16.1 11.5,15.97M13.89,19L14.5,15H13L13.34,13H14.84L15.16,11H13.66L14,9H15.5L16.11,5H18.11L17.5,9H18.5L19.11,5H21.11L20.5,9H22L21.66,11H20.16L19.84,13H21.34L21,15H19.5L18.89,19H16.89L17.5,15H16.5L15.89,19H13.89M16.84,13H17.84L18.16,11H17.16L16.84,13Z"
id="path4"
style="fill:#78909C;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

60
src/icons/svgs/css-map.svg Executable file
View file

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="css-map.svg">
<metadata
id="metadata12">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs10" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview8"
showgrid="false"
inkscape:zoom="9.8333333"
inkscape:cx="12"
inkscape:cy="11.898305"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<path
d="M18 8v2h2v10H10v-2H8v4h14V8h-4z"
fill="#F4BF75"
id="path4"
style="fill:#6A9FB5;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
style="fill:#6A9FB5"
d="m 4.675933,3.0000001 -0.488419,2.5097175 10.211695,0 -0.330622,1.6230508 -10.20418,0 -0.495932,2.5022034 10.211694,0 -0.571073,2.8628802 -4.11774,1.360057 -3.569209,-1.360057 0.247966,-1.232316 -2.509717,0 -0.593616,3.00565 5.8985873,2.254237 6.8002817,-2.254237 0.901695,-4.5310167 0.180339,-0.9092088 1.157176,-5.8309604 -12.728926,0 z"
id="path4-3" />
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

54
src/icons/svgs/css.svg Executable file
View file

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="language-css3.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="729"
inkscape:window-height="480"
id="namedview6"
showgrid="false"
inkscape:zoom="9.8333333"
inkscape:cx="12"
inkscape:cy="11.898305"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" />
<path
d="M5,3L4.35,6.34H17.94L17.5,8.5H3.92L3.26,11.83H16.85L16.09,15.64L10.61,17.45L5.86,15.64L6.19,14H2.85L2.06,18L9.91,21L18.96,18L20.16,11.97L20.4,10.76L21.94,3H5Z"
id="path4"
style="fill:#6A9FB5;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

86
src/icons/svgs/dart.svg Executable file
View file

@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="dart.svg">
<title
id="title4136">Dart</title>
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>Dart</dc:title>
<dc:date></dc:date>
<dc:creator>
<cc:Agent>
<dc:title>Philipp Kief</dc:title>
</cc:Agent>
</dc:creator>
<dc:publisher>
<cc:Agent>
<dc:title></dc:title>
</cc:Agent>
</dc:publisher>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview6"
showgrid="false"
showguides="false"
inkscape:guide-bbox="true"
inkscape:zoom="17.234083"
inkscape:cx="2.1453363"
inkscape:cy="9.8397594"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<path
style="opacity:1;fill:#00ca94;fill-opacity:1;stroke:none;stroke-opacity:1"
d="m 12.486361,1.384761 c -0.245735,0 -0.492113,0.095798 -0.682164,0.2813048 -0.0029,0.00283 -0.0065,0.00415 -0.0094,0.00703 l -6.3879804,3.6921244 6.3715544,6.3715524 0,0.0047 7.658522,7.658523 1.460441,-2.6302 L 15.632286,4.1298269 13.175558,1.6730985 C 12.984385,1.4819262 12.735851,1.384761 12.486361,1.384761 Z"
id="rect4187"
inkscape:connector-curvature="0" />
<path
style="opacity:1;fill:#1565c0;fill-opacity:1;stroke:none;stroke-opacity:1"
d="M 5.421704,5.3504147 1.7310405,11.732818 c -0.00288,0.0029 -0.00415,0.0065 -0.00703,0.0094 -0.1855375,0.190016 -0.281859,0.438529 -0.2819018,0.684264 -4.34e-5,0.24949 0.0966,0.495898 0.2877378,0.687104 l 3.0588629,3.061854 11.9630666,4.705891 2.704185,-1.502619 -0.0726,-0.07271 -0.01876,0.0024 -7.49959,-7.512691 -0.0094,-1.3e-5 -6.4339128,-6.4451528 z"
id="path4245"
inkscape:connector-curvature="0" />
<path
style="opacity:1;fill:#1565c0;fill-opacity:1;stroke:none;stroke-opacity:1"
d="m 5.4049545,5.353474 6.5181635,6.524994 0.0094,7e-6 7.502217,7.510074 2.855529,-0.544702 0.0043,-8.448522 -3.015428,-2.9552747 C 18.618822,6.7927065 17.603838,6.3755278 16.583994,6.2384051 l 0.0024,-0.032819 L 5.4049821,5.3534726 Z"
id="rect4247"
inkscape:connector-curvature="0" />
<path
id="path4289"
d="m 5.4135398,5.3609508 6.5215762,6.5215762 0,0.0094 7.506148,7.506149 -0.5462,2.855243 -8.448517,0 -2.9536959,-3.016993 C 6.8458531,18.575566 6.4292063,17.560366 6.2926173,16.54045 L 6.2598033,16.54285 5.4135446,5.3609928 Z"
style="opacity:1;fill:#00ee94;fill-opacity:1;stroke:none;stroke-opacity:1"
inkscape:connector-curvature="0" />
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

54
src/icons/svgs/database.svg Executable file
View file

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="database.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="729"
inkscape:window-height="480"
id="namedview6"
showgrid="false"
inkscape:zoom="9.8333333"
inkscape:cx="12"
inkscape:cy="11.898305"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" />
<path
d="M12,3C7.58,3 4,4.79 4,7C4,9.21 7.58,11 12,11C16.42,11 20,9.21 20,7C20,4.79 16.42,3 12,3M4,9V12C4,14.21 7.58,16 12,16C16.42,16 20,14.21 20,12V9C20,11.21 16.42,13 12,13C7.58,13 4,11.21 4,9M4,14V17C4,19.21 7.58,21 12,21C16.42,21 20,19.21 20,17V14C20,16.21 16.42,18 12,18C7.58,18 4,16.21 4,14Z"
id="path4"
style="fill:#F4BF75;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

3
src/icons/svgs/dlang.svg Normal file
View file

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
<path fill="#AC4142" d="M25.7086393,7 L25.7086393,7 C26.9744959,7 28,8.14370865 28,9.55564165 L28,22.4443583 C28,23.8552185 26.9744959,25 25.7086393,25 L6.29136066,25 C5.02550407,25 4,23.8552185 4,22.4443583 L4,9.55564165 C4,8.14370865 5.02550407,7 6.29136066,7 L25.7086393,7 Z M24.2718654,13.7002444 L24.2707972,13.7002444 L24.2707972,13.6959528 C24.2686607,11.9331823 22.7154493,10.5051559 20.8011751,10.5062288 C19.8792896,10.5073017 19.0417946,10.8409728 18.421151,11.3817131 C17.8881026,10.9375335 17.2781413,10.5706026 16.5976766,10.284139 C15.3435706,9.74983609 13.707037,9.50736127 11.6784617,9.51057996 L6.75390573,9.51809024 C6.73254106,9.51809024 6.71224463,9.51594445 6.69194819,9.51809024 C6.45052744,9.54813137 6.26145013,9.7423258 6.26038189,9.97621744 L6.27533716,21.9347321 C6.27426893,21.9518984 6.27426893,21.9690648 6.27533716,21.9862311 C6.27213246,22.0151994 6.27213246,22.039876 6.27533716,22.0677714 L6.27533716,22.0795732 C6.27854186,22.0903022 6.28495126,22.1021041 6.28815596,22.1139059 L6.28815596,22.1192704 C6.29136066,22.1310723 6.29136066,22.1428742 6.29456536,22.154676 L6.29456536,22.1664779 C6.29990653,22.1772069 6.30631593,22.1890088 6.31272533,22.2008106 L6.31272533,22.2061751 C6.3212712,22.217977 6.33409,22.2297789 6.3437041,22.2405078 L6.3437041,22.2458723 C6.34904527,22.2587471 6.35545467,22.270549 6.36186407,22.2812779 L6.36186407,22.2930798 C6.37361463,22.301663 6.38643344,22.3081004 6.39925224,22.3156107 L6.39925224,22.3274125 C6.4077981,22.3359957 6.4142075,22.3413602 6.42382161,22.3499434 C6.42702631,22.3531621 6.43343571,22.3585266 6.43664041,22.3617452 C6.44518627,22.3703284 6.45159567,22.3767658 6.46120977,22.3842761 L6.46761917,22.3842761 C6.49005208,22.4035882 6.51568968,22.4218275 6.54132728,22.4368481 L6.55414608,22.4368481 C6.56589665,22.4422126 6.57871545,22.4486499 6.59153425,22.4540144 L6.59794365,22.4540144 C6.60969422,22.4604518 6.62251302,22.4658163 6.63533182,22.4711808 C6.65349179,22.4743995 6.67271999,22.4754724 6.69087996,22.4765453 C6.72079049,22.4819098 6.75283749,22.4883471 6.78381626,22.4883471 L11.3932434,22.4701079 C12.6964882,22.4679621 13.5692349,22.4454312 14.0894645,22.3799845 L14.1012151,22.3799845 C14.5990119,22.3102462 15.1267192,22.1825714 15.6992923,21.9958872 C16.6959541,21.6826012 17.5793831,21.2201824 18.338897,20.6032664 C19.0834557,20.0045896 19.6592335,19.2975502 20.064094,18.5003874 C20.3279477,17.9811051 20.5052744,17.4414377 20.5971425,16.8878226 C20.6665776,16.8921142 20.7370811,16.89426 20.8075845,16.89426 C22.722927,16.8931871 24.2729336,15.4630148 24.2718654,13.7002444 Z M15.0231005,13.0962031 L15.0220323,13.097276 C15.9834424,13.8365024 16.4374416,14.7248614 16.4385098,15.9018299 C16.4417145,17.1056208 16.0037388,18.044406 15.0668981,18.8308398 C14.7795433,19.070096 14.4590733,19.2728736 14.105488,19.4402456 C13.771131,19.5958157 13.3352918,19.7310008 12.7851516,19.8468737 C12.2670584,19.9509447 11.4787021,20.011027 10.453198,20.0120999 L8.2686607,20.0153186 L8.25797837,11.978244 L10.3805582,11.9750253 C11.372947,11.9728795 12.077981,12.0039936 12.4785686,12.0587113 C12.8844973,12.114502 13.3288824,12.2325207 13.7999733,12.4149133 C14.2667913,12.5930142 14.6737882,12.8118853 15.0231005,13.0844013 L15.0231005,13.0962031 Z M25.8699426,10.1929427 L25.8699426,10.1918698 C25.8688743,9.62537998 25.3700093,9.16617989 24.7547069,9.16725279 C24.1394045,9.16832568 23.6416077,9.62752578 23.6416077,10.1940156 L23.6416077,10.1950885 C23.6426759,10.7615784 24.1415409,11.2207784 24.7568434,11.2197055 C25.3721458,11.2186327 25.8699426,10.7594326 25.8699426,10.1929427 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

39
src/icons/svgs/docker.svg Normal file
View file

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1"
id="svg2" inkscape:version="0.91 r13725" sodipodi:docname="docker.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 500 500"
style="enable-background:new 0 0 500 500;" xml:space="preserve">
<style type="text/css">
.st0{clip-path:url(#SVGID_2_);}
.st1{clip-path:url(#SVGID_4_);fill:#6A9FB5;}
</style>
<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview4" inkscape:current-layer="svg2" inkscape:cx="250" inkscape:cy="247.88136" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="480" inkscape:window-maximized="0" inkscape:window-width="729" inkscape:window-x="0" inkscape:window-y="0" inkscape:zoom="0.472" objecttolerance="10" pagecolor="#ffffff" showgrid="false">
</sodipodi:namedview>
<g>
<defs>
<path id="SVGID_1_" d="M156.6,308.9c-6.1,0-11,5-11,11.1c0,6.1,4.9,11.1,11,11.1c6.1,0,11-5,11-11.1
C167.6,313.9,162.7,308.9,156.6,308.9z M257.2,203.7L257.2,203.7v40.2H297v-40.2H257.2z M211.2,111v40.2H251V111H211.2z
M211.2,157.3v40.2H251v-40.2H211.2z M211.2,203.7v40.2H251v-40.2H211.2z M165.2,157.3v40.2h39.8v-40.2H165.2z M165.2,203.7v40.2
h39.8v-40.2H165.2z M119.3,203.7v40.2h39.8v-40.2H119.3z M119.3,157.3v40.2h39.8v-40.2H119.3z M73.3,203.7v40.2h39.8v-40.2H73.3z
M185.8,388.7c-27.2-13-42.2-30.7-50.5-50c-10.1,2.9-22.3,4.8-36.4,5.6c-5.3,0.3-10.9,0.5-16.8,0.5c-6.8,0-13.9-0.2-21.4-0.6
c25,25.1,55.7,44.5,112.5,44.9C177.5,389,181.7,388.9,185.8,388.7z M304.7,195.9v47.4h23.2c10.7,0,21.8-1.9,31.9-5.4
c5-1.7,10.6-4.1,15.5-7.1c-6.5-8.5-9.8-19.3-10.8-29.9c-1.3-14.5,1.6-33.3,11.3-44.6l4.8-5.6l5.8,4.7
c14.5,11.7,26.7,28.1,28.8,46.8c17.5-5.2,38-4,53.3,5l6.3,3.7l-3.3,6.5c-13,25.6-40.2,33.5-66.8,32.1
C365,349.4,278.4,396.7,173.3,396.7c-54.3,0-104.1-20.4-132.4-69l-4.6-9.3c-9.6-21.4-12.8-44.8-10.6-68.1l0.6-7h39.3V196h46v-46.3
h91.9v-46.3h55.2v92.7H304.7z"/>
</defs>
<clipPath id="SVGID_2_">
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
</clipPath>
<g class="st0">
<defs>
<rect id="SVGID_3_" x="-73.4" y="-14.4" width="626.8" height="626.8"/>
</defs>
<clipPath id="SVGID_4_">
<use xlink:href="#SVGID_3_" style="overflow:visible;"/>
</clipPath>
<rect x="-72.9" y="5.4" class="st1" width="645.9" height="489.3"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

54
src/icons/svgs/document.svg Executable file
View file

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="file-document.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview6"
showgrid="false"
inkscape:zoom="20.962532"
inkscape:cx="12"
inkscape:cy="11.898305"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<path
d="M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M15,18V16H6V18H15M18,14V12H6V14H18Z"
id="path4"
style="fill:#6A9FB5;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

12
src/icons/svgs/dotnet.svg Normal file
View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="33px" height="32px" viewBox="0 0 33 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
<title>dotnet</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Icons-Table" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="dotnet" fill="#6A9FB5">
<path d="M8.67773438,18.4638672 L5.40234375,18.4638672 L4.95166016,20 L2.01269531,20 L5.51025391,10.6943359 L8.64599609,10.6943359 L12.1435547,20 L9.13476562,20 L8.67773438,18.4638672 Z M8.07470703,16.4516602 L7.04638672,13.1064453 L6.02441406,16.4516602 L8.07470703,16.4516602 Z M12.5625,16.9213867 L15.2983398,16.75 C15.3575849,17.1943382 15.4781892,17.5328764 15.6601562,17.765625 C15.9563817,18.1422545 16.3795545,18.3305664 16.9296875,18.3305664 C17.3401713,18.3305664 17.656493,18.2342946 17.8786621,18.041748 C18.1008312,17.8492015 18.2119141,17.6259778 18.2119141,17.3720703 C18.2119141,17.1308582 18.1061208,16.91504 17.8945312,16.7246094 C17.6829417,16.5341787 17.1920611,16.3543303 16.421875,16.1850586 C15.160801,15.9015285 14.2615587,15.5249047 13.7241211,15.0551758 C13.1824517,14.5854469 12.9116211,13.9866573 12.9116211,13.2587891 C12.9116211,12.7805966 13.0502102,12.3288595 13.3273926,11.9035645 C13.604575,11.4782694 14.0214002,11.1439628 14.5778809,10.9006348 C15.1343615,10.6573067 15.8971306,10.5356445 16.8662109,10.5356445 C18.0553445,10.5356445 18.9619923,10.7567523 19.5861816,11.1989746 C20.210371,11.6411969 20.5817051,12.3447217 20.7001953,13.3095703 L17.9897461,13.4682617 C17.9178056,13.0493143 17.7665213,12.7446299 17.5358887,12.5541992 C17.305256,12.3637686 16.9868184,12.2685547 16.5805664,12.2685547 C16.2462548,12.2685547 15.994467,12.3394361 15.8251953,12.4812012 C15.6559236,12.6229662 15.5712891,12.7954091 15.5712891,12.9985352 C15.5712891,13.1466479 15.6411126,13.2799473 15.7807617,13.3984375 C15.9161791,13.5211595 16.2377904,13.6354161 16.7456055,13.7412109 C18.0024477,14.0120456 18.9027479,14.28605 19.4465332,14.5632324 C19.9903185,14.8404148 20.3859851,15.1842427 20.6335449,15.5947266 C20.8811048,16.0052104 21.0048828,16.4643529 21.0048828,16.972168 C21.0048828,17.5688506 20.8398454,18.1189753 20.5097656,18.6225586 C20.1796858,19.1261418 19.7184274,19.5080553 19.1259766,19.7683105 C18.5335257,20.0285658 17.7866256,20.1586914 16.8852539,20.1586914 C15.3025637,20.1586914 14.206546,19.854007 13.597168,19.2446289 C12.9877899,18.6352509 12.642904,17.8608445 12.5625,16.9213867 Z M22.4394531,10.6943359 L27.2192383,10.6943359 C28.2602591,10.6943359 29.0399551,10.9418921 29.5583496,11.4370117 C30.0767441,11.9321314 30.3359375,12.6367142 30.3359375,13.5507812 C30.3359375,14.4902391 30.0534696,15.224444 29.4885254,15.753418 C28.9235812,16.282392 28.0613665,16.546875 26.9018555,16.546875 L25.3276367,16.546875 L25.3276367,20 L22.4394531,20 L22.4394531,10.6943359 Z M25.3276367,14.6616211 L26.0322266,14.6616211 C26.5865913,14.6616211 26.9759103,14.5653493 27.2001953,14.3728027 C27.4244803,14.1802562 27.5366211,13.933758 27.5366211,13.6333008 C27.5366211,13.3413071 27.4392913,13.093751 27.2446289,12.890625 C27.0499665,12.687499 26.683922,12.5859375 26.1464844,12.5859375 L25.3276367,12.5859375 L25.3276367,14.6616211 Z" id="ASP"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

54
src/icons/svgs/email.svg Executable file
View file

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="email.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="729"
inkscape:window-height="480"
id="namedview6"
showgrid="false"
inkscape:zoom="9.8333333"
inkscape:cx="12"
inkscape:cy="11.898305"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" />
<path
d="M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z"
id="path4"
style="fill:#6A9FB5;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="33" height="32" viewBox="0 0 33 32">
<g fill="none" transform="translate(4 3)">
<path fill="#8251A8" d="M10.1597031,26.9082205 L0.060734375,17.7163118 L2.88945313,4.28037262 L15.8057656,0.0363422053 L25.9047344,9.22814829 L23.0761172,22.6640875 L10.1597031,26.9081179 L10.1597031,26.9082205 Z M5.27596875,16.0076122 L11.2977109,21.4801939 L18.9989922,18.9449658 L20.6895,10.9369506 L14.6677578,5.45307605 L6.96647656,7.99959696 L5.27596875,16.0075095 L5.27596875,16.0076122 Z"/>
<path fill="#AA759F" d="M18.4133828,22.9879848 L7.55208594,22.9879848 L2.11595312,13.4722814 L7.55208594,3.95657795 L18.4133828,3.95657795 L23.8495156,13.4722814 L18.4133828,22.9879848 Z M9.46359375,19.6374183 L16.501875,19.6374183 L20.0266016,13.4722814 L16.501875,7.30714449 L9.46359375,7.30714449 L5.9499375,13.4722814 L9.46359375,19.6374183 Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 900 B

3
src/icons/svgs/ex.svg Normal file
View file

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="33" height="32" viewBox="0 0 33 32">
<path fill="#8251A8" fill-rule="evenodd" d="M17.2036522,3 C15.1518261,11.1774194 25,13.7572903 25,19.3548387 C24.9975532,24.6805637 21.1934065,28.9972235 16.5,29 C11.8065935,28.9972235 8.00244682,24.6805637 8,19.3548387 C8,13.7572903 12.6018261,6.35483871 17.2036522,3 Z M12,25.3636364 C12,26.3636364 12.875,27.3636364 14.9375,27.3636364 C16.3125,27.3636364 17,26.9469697 17,26.1136364 C13.6666667,24.9469697 12,24.6969697 12,25.3636364 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 535 B

54
src/icons/svgs/exe.svg Executable file
View file

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="exe.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="729"
inkscape:window-height="480"
id="namedview6"
showgrid="false"
inkscape:zoom="9.8333333"
inkscape:cx="12"
inkscape:cy="11.898305"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" />
<path
d="M19,4C20.11,4 21,4.9 21,6V18A2,2 0 0,1 19,20H5C3.89,20 3,19.1 3,18V6A2,2 0 0,1 5,4H19M19,18V8H5V18H19Z"
id="path4"
style="fill:#e64a19;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

54
src/icons/svgs/favicon.svg Executable file
View file

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="star.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview6"
showgrid="false"
inkscape:zoom="9.8333333"
inkscape:cx="12"
inkscape:cy="11.898305"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<path
d="M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z"
id="path4"
style="fill:#ffd54f;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

54
src/icons/svgs/file_dark.svg Executable file
View file

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="file.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview6"
showgrid="false"
inkscape:zoom="9.8333333"
inkscape:cx="-5.1355932"
inkscape:cy="12"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<path
d="M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z"
id="path4"
style="fill:#6A9FB5;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

90
src/icons/svgs/flash.svg Executable file
View file

@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="flash.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8">
<linearGradient
inkscape:collect="always"
id="linearGradient4144">
<stop
style="stop-color:#d92f3c;stop-opacity:1"
offset="0"
id="stop4146" />
<stop
style="stop-color:#791223;stop-opacity:1"
offset="1"
id="stop4148" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4144"
id="linearGradient4150"
x1="2.3730025"
y1="12.027124"
x2="21.860387"
y2="12.027124"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-0.08957076,-24.143819)" />
</defs>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview6"
showgrid="false"
showguides="false"
inkscape:zoom="8"
inkscape:cx="-15.482892"
inkscape:cy="13.199142"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<rect
style="opacity:1;fill:url(#linearGradient4150);fill-opacity:1;stroke:none;stroke-opacity:1"
id="rect4142"
width="19.487385"
height="19.487385"
x="2.2834318"
y="-21.860388"
transform="matrix(0,1,-1,0,0,0)"
ry="0" />
<path
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 16.801822,5.7682291 c -0.0046,3.83e-4 -0.0087,0.00127 -0.01324,0.00165 -0.426592,0.03629 -0.830512,0.09268 -1.181269,0.191915 -0.554149,0.1660005 -1.053158,0.40447 -1.493959,0.7180267 -0.428204,0.3227789 -0.817046,0.7208612 -1.169689,1.1911962 -0.340044,0.4795573 -0.682397,1.0322886 -1.022443,1.6594026 -0.121092,0.228679 -0.233308,0.425055 -0.350741,0.6369594 l 0,0.0017 c -10e-5,1.83e-4 -0.0032,-1.83e-4 -0.0033,0 l -1.340096,2.393974 -0.005,-0.0017 c -0.237822,0.442501 -0.4614913,0.84702 -0.6650924,1.197817 -0.2141026,0.36889 -0.4518924,0.681499 -0.7163721,0.939722 -0.2644789,0.258223 -0.5665879,0.45561 -0.9066327,0.593944 -0.071945,0.02731 -0.1613966,0.04195 -0.2415481,0.06287 -5.144e-4,1.34e-4 -0.00114,-1.34e-4 -0.00165,0 l -0.9877002,0 0,2.413827 0.9810824,0 0.00827,0 0,-0.0017 c 0.4284402,-0.03628 0.8324427,-0.09229 1.1845784,-0.191915 0.5541491,-0.166 1.0531594,-0.40447 1.4939587,-0.718027 0.428205,-0.322779 0.818703,-0.720862 1.171343,-1.191196 0.340046,-0.479558 0.680743,-1.032288 1.020789,-1.659403 0.120836,-0.228192 0.235228,-0.425573 0.352395,-0.636959 l 0.0066,0.0017 0.0033,-0.005 0.0364,-0.06618 2.529637,0 0,0.0017 1.125019,0 0,-2.40721 -0.330888,0 0,-0.0017 -1.978709,0 c 0.219746,-0.407131 0.430786,-0.788367 0.620414,-1.115092 0.214104,-0.368891 0.451893,-0.681499 0.716372,-0.9397217 0.26448,-0.2582231 0.566588,-0.4556098 0.906633,-0.5939437 0.07046,-0.026754 0.159306,-0.041111 0.238239,-0.061214 l 0.992664,0 0,-0.00331 -0.0017,0 0,-2.410518 -0.977774,0 0,-0.00165 z"
id="text4152"
inkscape:connector-curvature="0" />
</svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

65
src/icons/svgs/flow.svg Executable file
View file

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="24"
height="24"
viewBox="0 0 24 24"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="flow.svg">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview6"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:zoom="19.666667"
inkscape:cx="2.261967"
inkscape:cy="11.531889"
inkscape:window-x="1272"
inkscape:window-y="85"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:33.78829956px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffeb66;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="4.6944013"
y="20.404392"
id="text3343"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3345"
x="4.6944013"
y="20.404392"
style="font-size:23.22945595px;fill:#ffeb66;fill-opacity:1">F</tspan></text>
</svg>

After

Width:  |  Height:  |  Size: 2 KiB

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#4a616c;}.cls-2{fill:none;}.cls-3{fill:#2ecc71;}</style></defs><title>folder_assets</title><rect class="cls-1" x="15.31" y="14.91" width="5.69"/><path class="cls-1" d="M20.8,5.2H12L9.8,3H3.2A2.22,2.22,0,0,0,1,5.2V18.8a2,2,0,0,0,2.2,2H13V15.91h1v-1h1v-1h1v-1h7V7.4A2.22,2.22,0,0,0,20.8,5.2Z"/><polygon class="cls-2" points="14 20.8 14 22.91 19 22.91 19 20.8 19 16.91 14 16.91 14 20.8"/><path class="cls-3" d="M13,15.91v8h7v-8Zm6,4.89v2.11H14v-6h5Z"/><polygon class="cls-3" points="15 13.91 15 14.91 21 14.91 21 20.78 21 21.91 22 21.91 22 20.43 22 13.91 15 13.91"/><polygon class="cls-3" points="17 11.91 17 12.91 23 12.91 23 19.91 24 19.91 24 11.91 17 11.91"/></svg>

After

Width:  |  Height:  |  Size: 783 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:none;}.cls-2{fill:#80cbc4;}.cls-3{fill:#2ecc71;}</style></defs><title>folder_assets_open</title><polygon class="cls-1" points="14 20.8 14 22.91 19 22.91 19 20.8 19 16.91 14 16.91 14 20.8"/><polygon class="cls-1" points="3.2 7.5 3.2 18.75 13 18.75 13 15.91 20 15.91 20 18.75 20.8 18.75 20.8 14.91 15 14.91 15 13.91 20.8 13.91 20.8 12.91 17 12.91 17 11.91 20.8 11.91 20.8 7.5 3.2 7.5"/><rect class="cls-1" x="14" y="16.91" width="5" height="1.84"/><rect class="cls-1" x="14" y="21" width="5" height="1.91"/><path class="cls-2" d="M13,18.75H3.2V7.5H20.8v4.41H23V7.5a2.23,2.23,0,0,0-2.2-2.25H12L9.8,3H3.2A2.23,2.23,0,0,0,1,5.25v13.5A2.23,2.23,0,0,0,3.2,21H13V18.75Z"/><path class="cls-3" d="M20,18.75V15.91H13v8h7V18.75Zm-1,4.16H14v-6h5v6Z"/><polygon class="cls-3" points="22 13.91 20.8 13.91 15 13.91 15 14.91 20.8 14.91 21 14.91 21 20.78 21 20.98 21 21.91 22 21.91 22 20.63 22 20.43 22 13.91"/><polygon class="cls-3" points="23 11.91 20.8 11.91 17 11.91 17 12.91 20.8 12.91 23 12.91 23 18.75 23 19.91 24 19.91 24 11.91 23 11.91"/></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:none;}.cls-2{fill:#4a616c;}.cls-3{fill:#f4bf75;}</style></defs><title>folder_bower</title><path class="cls-1" d="M13.28,21.57a4.48,4.48,0,0,0,2.66.74,2.18,2.18,0,0,0,1.89-1.51H12.41A4.29,4.29,0,0,0,13.28,21.57Z"/><path class="cls-1" d="M21.13,13.44a.1.1,0,0,0,0,.05l.08-.05Z"/><path class="cls-1" d="M15.77,14.35a.76.76,0,0,0-.73.74.72.72,0,0,0,.73.7.69.69,0,0,0,.69-.7A.7.7,0,0,0,15.77,14.35Zm.3.57a.57.57,0,0,1-.64,0c-.13-.09-.13-.26,0-.31a1.58,1.58,0,0,1,.34-.13c.09,0,.21,0,.3.13S16.2,14.83,16.07,14.92Z"/><path class="cls-2" d="M20.8,5.2H12L9.8,3H3.2A2.22,2.22,0,0,0,1,5.2V18.8a2,2,0,0,0,2.2,2h8.17a7.36,7.36,0,0,1-.75-3A5.6,5.6,0,0,1,11.82,14a5.1,5.1,0,0,1,3.39-2,3,3,0,0,1,1.84.26,2.93,2.93,0,0,1,1.5,1.79c0,.13.09.17.17.17l.47.13a3.1,3.1,0,0,1,3.26-1.74l-.13.13a2.64,2.64,0,0,0-.68,1.52,6.93,6.93,0,0,1-.17.79,1.9,1.9,0,0,1-1.63,1.35h-.48c-.08,0-.12,0-.17-.09l-.13-.26c-.34,0-.47.13-.55.52.17,0,.38,0,.6.09a25.22,25.22,0,0,1,3.6.65l.29.11V7.4A2.22,2.22,0,0,0,20.8,5.2Z"/><path class="cls-3" d="M23.35,17.61,23,17.47l-.29-.11a25.22,25.22,0,0,0-3.6-.65c-.22-.05-.43-.05-.6-.09.08-.39.21-.52.55-.52l.13.26c0,.09.09.09.17.09h.48a1.9,1.9,0,0,0,1.63-1.35,6.93,6.93,0,0,0,.17-.79,2.64,2.64,0,0,1,.68-1.52l.13-.13a3.1,3.1,0,0,0-3.26,1.74l-.47-.13c-.08,0-.13,0-.17-.17a2.93,2.93,0,0,0-1.5-1.79,3,3,0,0,0-1.84-.26,5.1,5.1,0,0,0-3.39,2,5.6,5.6,0,0,0-1.2,3.83,7.36,7.36,0,0,0,.75,3,8.25,8.25,0,0,0,.58,1,4.78,4.78,0,0,0,1.16,1.13,1,1,0,0,0,1.41-.17,2,2,0,0,0,.22-.3s0,.08,0,.13c.13.3.21.6.34.91a.65.65,0,0,0,.86.3c.08,0,.13,0,.21,0a.85.85,0,0,0,.86,0c.09,0,.17-.17.3-.21a1.24,1.24,0,0,1,.43,0,.84.84,0,0,0,.69-.66.14.14,0,0,1,.08,0,.75.75,0,0,0,.3-.35.9.9,0,0,0,0-.61c-.21-.39-.43-.77-.6-1.12h0a.14.14,0,0,1,0-.09l.33.1.27.08a1,1,0,0,0,.68-.08.87.87,0,0,0,.22-.18s.08,0,.08.08a1.39,1.39,0,0,0,.26.1,1.22,1.22,0,0,0,.92,0,1.1,1.1,0,0,0,.45-.35c.09,0,.13,0,.17,0a2,2,0,0,0,.35,0,1.47,1.47,0,0,0,.77-.31.51.51,0,0,0,.26-.48v-.08c.64-.09.94-.35,1-1A.93.93,0,0,0,23.35,17.61Zm-2.91-1.78h0a2,2,0,0,1-.86.22s-.08,0-.12-.05-.05-.26-.09-.39,0-.08.09-.08.25,0,.25.26h.05c.12-.22.12-.22.34-.13a2,2,0,0,1,.43.08C20.48,15.79,20.48,15.83,20.44,15.83Zm-.81-1.39h0a2.47,2.47,0,0,1,1-1.09A2.35,2.35,0,0,1,21.77,13a1,1,0,0,0-.17.26,2.5,2.5,0,0,0-.3,1c-.09.3-.17.65-.3,1a.88.88,0,0,1-.13.3,2.5,2.5,0,0,1-.64-.56c-.05,0-.05-.05,0-.09a4.1,4.1,0,0,1,.86-1.34A2.82,2.82,0,0,0,20,14.74a.73.73,0,0,1-.34-.17C19.54,14.53,19.58,14.48,19.63,14.44Zm-1.5.17s.08,0,.17,0a3.39,3.39,0,0,1,1.67.65,2.39,2.39,0,0,1,.34.31l-.51-.13a1.53,1.53,0,0,0-1.07.08,1.33,1.33,0,0,1-.9,0c.17.21.38.17.6.17l.56-.13,0,0c-.05.05-.05.09-.09.09-.34.17-.64.31-.94.44a0,0,0,0,0,0,0,1.11,1.11,0,0,1-.13-.65h0A1.15,1.15,0,0,1,18.13,14.61Zm-2.36-.69a1.18,1.18,0,0,1,0,2.35,1.18,1.18,0,0,1-1.16-1.22A1.13,1.13,0,0,1,15.77,13.92ZM18.87,18c.29,0,.59.13.89.17s.77.13,1.15.21c.18.05.22.09.09.22a.66.66,0,0,1-.73.26h-.13a.43.43,0,0,1-.13.44.87.87,0,0,1-.64.26,1.56,1.56,0,0,1-.47-.09c-.09.39-.86.52-1.24.18a6.17,6.17,0,0,0,.21.61c0,.08,0,.13,0,.21a3,3,0,0,1-.08.32,2.18,2.18,0,0,1-1.89,1.51,4.48,4.48,0,0,1-2.66-.74,4.29,4.29,0,0,1-.87-.77,4.89,4.89,0,0,1-.75-1.14.15.15,0,0,1-.05-.13,2.73,2.73,0,0,0,.78.17,2.13,2.13,0,0,0,1.41-.22.14.14,0,0,1,.17,0,3.11,3.11,0,0,0,1.46.09,2.9,2.9,0,0,0,1.75-1.08,6.32,6.32,0,0,1,.52-.79,5,5,0,0,1,.38-.48.28.28,0,0,1,.17,0c.52.09,1.07.13,1.59.22.73.08,1.46.26,2.18.39.05,0,.09,0,.13,0A17.19,17.19,0,0,1,18.87,18Z"/><path class="cls-3" d="M21.13,13.44a.1.1,0,0,0,0,.05l.08-.05Z"/><polygon class="cls-3" points="18.86 18 18.87 18.01 18.86 18 18.86 18"/><path class="cls-3" d="M15.77,15.79a.69.69,0,0,0,.69-.7.7.7,0,0,0-.69-.74.76.76,0,0,0-.73.74A.72.72,0,0,0,15.77,15.79Zm-.34-1.18a1.58,1.58,0,0,1,.34-.13c.09,0,.21,0,.3.13s.13.22,0,.31a.57.57,0,0,1-.64,0C15.3,14.83,15.3,14.66,15.43,14.61Z"/></svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 4.9 KiB

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#4a616c;}.cls-2{fill:#f4bf75;}</style></defs><title>folder_ci</title><path class="cls-1" d="M13.89,16.85A4.93,4.93,0,0,1,23,14.22V7.4a2.22,2.22,0,0,0-2.2-2.2H12L9.8,3H3.2A2.22,2.22,0,0,0,1,5.2V18.8a2,2,0,0,0,2.2,2H15.89A4.91,4.91,0,0,1,13.89,16.85Z"/><path class="cls-2" d="M18.77,12.93V14.8l2.5-2.5-2.5-2.5v1.88a5,5,0,0,0-5,5,4.94,4.94,0,0,0,.78,2.66l.91-.91A3.69,3.69,0,0,1,15,16.68,3.75,3.75,0,0,1,18.77,12.93ZM23,14l-.92.92a3.66,3.66,0,0,1,.44,1.75,3.76,3.76,0,0,1-3.75,3.75V18.55l-2.5,2.5,2.5,2.5V21.68A5,5,0,0,0,23,14Z"/></svg>

After

Width:  |  Height:  |  Size: 651 B

View file

@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#80cbc4;}.cls-2{fill:#f4bf75;}</style></defs><title>folder_ci_open</title><path class="cls-1" d="M14.27,18.75H3.2V7.5H20.8v4.82a5,5,0,0,1,2.2,1.9V7.5a2.23,2.23,0,0,0-2.2-2.25H12L9.8,3H3.2A2.23,2.23,0,0,0,1,5.25v13.5A2.23,2.23,0,0,0,3.2,21h13A5,5,0,0,1,14.27,18.75Z"/><path class="cls-2" d="M18.77,12.93V14.8l2.5-2.5-2.5-2.5v1.88a5,5,0,0,0-5,5,4.94,4.94,0,0,0,.78,2.66l.91-.91A3.69,3.69,0,0,1,15,16.68,3.75,3.75,0,0,1,18.77,12.93ZM23,14l-.92.92a3.66,3.66,0,0,1,.44,1.75,3.76,3.76,0,0,1-3.75,3.75V18.55l-2.5,2.5,2.5,2.5V21.68A5,5,0,0,0,23,14Z"/></svg>

After

Width:  |  Height:  |  Size: 667 B

Some files were not shown because too many files have changed in this diff Show more