-
Notifications
You must be signed in to change notification settings - Fork 522
The format of compiler extension package
Each package must provide all the following fields in its package descriptor file:
(string) The name of the package. This must be a unique, Camel-Case style name without spaces.
(string) The display name of the compiler, it will be display in the options sidebar.
(string) Version of this compiler package.
(string) The dependent Koala version.
(string) The compiler class file, relative to package.json.
(array) The compiler associated file type, type item is a json object.
{
"extension": "coffee",
"output": "js",
"icon": "../../assets/img/filetypes/coffee.png",
"category": "script"
}
(string) The extensions this type uses, can be an array of extensions or a single extension. All extensions do NOT start with a dot (e.g. '.txt' should be 'txt').
(string) The compiled output of the file extension.
(string) The icon file of this file type, relative to package.json.
(string) The category of this file type, the value can be style, script, template, css, or javascript.
(array) The Basis options of the compiler, all the files which associated by this compiler will apply the options
[
// checkbox type option
{
"type": "checkbox",
"name": "unixNewlines",
"display": "Unix New Lines",
"default": false
},
// droplist type option
{
"type": "droplist",
"name": "outputStyle",
"display": "Output Style",
"items": [
{
"value": "nested",
"text": "nested"
},
{
"value": "expanded",
"text": "expanded"
}
],
"default": "nested"
}
]
(string) Option type, the value can be checkbox, droplist, text, description.
-
checkbox
: It will be converted to a checkbox type<input>
element. -
droplist
: It will be converted to a<select>
element. -
text
: It will be converted to a text type<input>
element. -
description
: It will be converted to a<p>
element contains text.
(string) The name of the option, it must be a unique, Camel-Case style name without spaces.
(string) The display name of the option.
(array) The values array of the droplist
type.
-
value
: The value of the item. -
text
: The display text of the item.
(string) or (boolean) The default value of this option. If the type
is checkbox
, the default
must be a boolean value.
(array) The advanced options of this compiler, it will only be as global settings of the compiler.
[
{
"type": "checkbox",
"name": "useCommand",
"display": "Use the System CoffeeScript compiler",
"default": false
},
{
"type": "text",
"name": "commandPath",
"display": "Use the CoffeeScript executable at this path",
"default": "",
"placeholder": "Default: coffee",
"depend": "useCommand"
}
]
(string) The default project configuration template file of this compiler, relative to package.json.
(array) The libraries of this compiler, use @
partition name and version, e.g. [email protected]
.
{
"name": "coffee",
"display": "CoffeeScript",
"version": "1.0.0",
"koalaVersion": ">=2.0.0",
"main": "CoffeeScriptCompiler.js",
"fileTypes": [{
"extension": "coffee",
"output": "js",
"icon": "../../assets/img/filetypes/coffee.png",
"category": "script"
}],
"options": [
{
"type": "checkbox",
"name": "bare",
"display": "Bare",
"default": false
},
{
"type": "checkbox",
"name": "literate",
"display": "Literate",
"default": false
}
],
"advanced": [
{
"type": "checkbox",
"name": "useCommand",
"display": "Use the System CoffeeScript compiler",
"default": false
},
{
"type": "text",
"name": "commandPath",
"display": "Use the CoffeeScript executable at this path",
"default": "",
"placeholder": "Default: coffee",
"depend": "useCommand"
}
],
"projectSettings": "../settings/koala-config-of-coffee.json",
"libraries": ["[email protected]"]
}
/* START Navbar style+layout changed 260422*/ .navbar-collapse ul.nav.navbar-nav > li { width: 150px; border-bottom: 2px solid #b2b2b2; height: 70px; } .navbar-collapse ul.nav.navbar-nav > li.active { height: 70px; border-bottom: 3px solid #257FA6 !important; } .navbar-collapse ul.nav li a { font-size: 16px !important; font-family: 'Open Sans' !important; color: #2c2c2c !important; height: 54px; border-right: 2px solid #b2b2b2; text-align: center; padding: 10px 18px !impo