vsc-material-theme/CONTRIBUTING.md

62 lines
2.1 KiB
Markdown
Raw Normal View History

Contributing guidelines
=======================
> Note: this document is intended as a draft, it will be updated soon
### Requirements:
* Nodejs ^6.x
* Visual Studio Code
2017-12-29 10:07:49 +01:00
* GPG Tool
<!-- TOC -->
- [Requirements:](#requirements)
- [Decrypt content](#decrypt-content)
- [or](#or)
<!-- /TOC -->
### 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!