10 09/2014

Manifest of nodewebit

最后更新: Wed Sep 10 2014 15:35:45 GMT+0800
{
  "main": "index.html",                   // required: (string) which page should be opened when node-webkit starts.
  "name": "nw-demo",                      // required: (string) the name of the package. This must be a unique, lowercase alpha-numeric name without spaces. It may include "." or "_" or "-" characters. It is otherwise opaque.name should be globally unique since node-webkit will store app's data under the directory named name.
  "chromium-args": "",                    // (string) Specify chromium (content shell) command line arguments. It will be useful if you want to distribute the app with some custom chromium args.
  "description": "my node-webkit app",    // (string) a brief description of the package. By convention, the first sentence (up to the first ". ") should be usable as a package title in listings.
  "dom_storage_quota": 524288,            // (int) Number of mega bytes for the quota of the DOM storage. The suggestion is to put double the value you want.
  "inject-js-start": "",                  // (string) a local filename, relative to the application path, used to specify a JavaScript file to inject to the window. inject-js-start: The injecting JavaScript code is to be executed after any files from css, but before any other DOM is constructed or any other script is run.
  "inject-js-end": "",                    // (string) a local filename, relative to the application path, used to specify a JavaScript file to inject to the window.inject-js-end: The injecting JavaScript code is to be executed after the document object is loaded, before onload event is fired.
  "js-flags": "",                         // (string) Specify the flags passed to JS engine(v8). e.g. turn on Harmony Proxies and Collections feature.
  "no-edit-menu": false,                  // (boolean) whether the default Edit menu should be disabled on Mac. The default value is false. Only effective on Mac.
  "node": true,                           // (boolean) set nodejs to false will disable Node support in WebKit.
  "node-main": "script.js",               // (string) specify the path to a node.js script file, it will be executed on startup in Node context. 
  "node-remote": "",                      // (string) Enable calling Node in remote pages. The value controls for which sites this feature should be turned on. The format is the same with the "proxy bypass rules" of the browser.
  "snapshot": "",                         // (string) Specify the path to the snapshot file to be loaded with the application. The snapshot file contains compiled code of your application.
  "single-instance": true,                // (boolean) by default node-webkit only allows one instance of your app if your app is a standalone package, if you want to allow multiple instances of your app running at the same time, specify this to false.
  "user-agent": "Mozilla/5.0 ...",        // (string) Override the User-Agent header in HTTP requests made from the application.
  "version": "0.1.0",                     // (string) a version string conforming to the Semantic Versioning requirements.
  "keywords": [ "demo", "node-webkit" ],  // (array) an Array of string keywords to assist users searching for the package in catalogs.
  "maintainers": [{                       // (array) an Array of maintainers of the package. Each maintainer is a hash which must have a "name" property and may optionally provide "email" and "web" properties.
    "name": "Julien Le Coupanec",
    "email": "julien@gentlenode.com",
    "web": "https://gentlenode.com",
  }],
  "contributors": [{                      // (array) an Array of hashes each containing the details of a contributor. Format is the same as for author. By convention, the first contributor is the original author of the package.
    "name": "Bill Bloggs",
    "email": "billblogs@bblogmedia.com",
    "web": "http://www.bblogmedia.com",
  }],
  "bugs": "https://gentlenode.com/bugs",  // (string) URL for submitting bugs. Can be mailto or http.
  "licenses": [{                          // (array) an Array of licenses under which the package is provided. Each license is a hash with a "type" property specifying the type of license and a url property linking to the actual text. If the license is one of the official open source licenses the official license name or its abbreviation may be explicated with the "type" property. If an abbreviation is provided (in parentheses), the abbreviation must be used.
    "type": "GPLv2",
    "url": "http://www.example.com/licenses/gpl.html",
  }],
  "repositories": [{                      // (array) an Array of repositories where the package can be located. Each repository is a hash with properties for the "type" and "url" location of the repository to clone/checkout the package. A "path" property may also be specified to locate the package in the repository if it does not reside at the root.
    "type": "git", 
    "url": "http://github.com/example.git",
    "path": "packages/mypackage"
  }],
  "window": {                             // (object) controls how the main window looks.
    "title": "My Node-Webkit App",        // (string) the default title of window created by node-webkit, it's very useful if you want to show your own title when the app is starting.
    "icon": "link.png",                   // (string) path to window's icon.
    "toolbar": true,                      // (boolean) should the navigation toolbar be showed.
    "frame": false,                       // boolean) specify it to false to make the window frameless.
    "width": 800,                         // (int) the initial width of the main window.
    "height": 500,                        // (int) the initial height of the main window.
    "position": "mouse",                  // (string) be null or center or mouse, controls where window will be put.
    "min_width": 400,                     // (int) minimum width of window.
    "min_height": 200,                    // (int) minimum height of window.
    "max_width": 800,                     // (int) maximum width of window.
    "max_height": 600,                    // (int) maximum height of window.
    "as_desktop": false,                  // (boolean) show as desktop background window under X11 environment.
    "always-on-top": true,                // (boolean) whether the window should always stay on top of other windows.
    "kiosk": false,                       // (boolean) whether to use Kiosk mode. In Kiosk mode, the app will be fullscreen and try to prevent users from leaving the app, so you should remember to provide a way in app to leave Kiosk mode. This mode is mainly used for presentation on public displays.
    "fullscreen": false,                  // (boolean) whether window is fullscreen.
    "show": true,                         // (boolean) specify it to false if you want your app to be hidden on startup.
    "show_in_taskbar": true,              // (boolean) whether the window is shown in taskbar or dock. The default is true.
    "resizable": true                     // (boolean) whether window is resizable.

  },
  "webkit": {                             // (object) controls what features of WebKit should be on/off.
    "plugin": false,                      // (boolean) whether to load external browser plugins like Flash, default to false.
    "java": false,                        // (boolean) whether to load Java applets, default to false.
    "page-cache": false                   // (boolean) whether to enable page cache, default to false.
  }
}

via https://github.com/rogerwang/node-webkit/wiki/Manifest-format