Pages

Wednesday, 31 May 2017

Dox和Doxmate

javaScript documentation generator for node using markdown and jsdoc.
Build Status
Dox is a JavaScript documentation generator written with node. Dox no longer generates an opinionated structure or style for your docs, it simply gives you a JSON representation, allowing you to use markdown and JSDoc-style tags.

Installation

Install from npm:
$ npm install -g dox

Usage Examples

dox(1) operates over stdio:
$ dox < utils.js
...JSON...
to inspect the generated data you can use the --debug flag, which is easier to read than the JSON output:
 $ dox --debug < utils.js
utils.js:
/**
 * Escape the given `html`.
 *
 * @example
 *     utils.escape('<script></script>')
 *     // => '&lt;script&gt;&lt;/script&gt;'
 *
 * @param {String} html string to be escaped
 * @return {String} escaped html
 * @api public
 */

exports.escape = function(html){
  return String(html)
    .replace(/&(?!\w+;)/g, '&amp;')
    .replace(/</g, '&lt;')
    .replace(/>/g, '&gt;');
};
output:
[
  {
    "tags": [
      {
        "type": "example",
        "string": "    utils.escape('<script></script>')\n    // => '&lt;script&gt;&lt;/script&gt;'",
        "html": "<pre><code>utils.escape(&#39;&lt;script&gt;&lt;/script&gt;&#39;)\n// =&gt; &#39;&amp;lt;script&amp;gt;&amp;lt;/script&amp;gt;&#39;\n</code></pre>"
      },
      {
        "type": "param",
        "string": "{String} html string to be escaped",
        "types": [
          "String"
        ],
        "name": "html",
        "description": "string to be escaped"
      },
      {
        "type": "return",
        "string": "{String} escaped html",
        "types": [
          "String"
        ],
        "description": "escaped html"
      },
      {
        "type": "api",
        "string": "public",
        "visibility": "public"
      }
    ],
    "description": {
      "full": "<p>Escape the given <code>html</code>.</p>",
      "summary": "<p>Escape the given <code>html</code>.</p>",
      "body": ""
    },
    "isPrivate": false,
    "ignore": false,
    "code": "exports.escape = function(html){\n  return String(html)\n    .replace(/&(?!\\w+;)/g, '&amp;')\n    .replace(/</g, '&lt;')\n    .replace(/>/g, '&gt;');\n};",
    "ctx": {
      "type": "method",
      "receiver": "exports",
      "name": "escape",
      "string": "exports.escape()"
    }
  }
]
This output can then be passed to a template for rendering. Look below at the "Properties" section for details.

Usage


Usage: dox [options]

  Options:

    -h, --help                     output usage information
    -V, --version                  output the version number
    -r, --raw                      output "raw" comments, leaving the markdown intact
    -a, --api                      output markdown readme documentation
    -s, --skipPrefixes [prefixes]  skip comments prefixed with these prefixes, separated by commas
    -d, --debug                    output parsed comments for debugging
    -S, --skipSingleStar           set to false to ignore `/* ... */` comments

  Examples:

    # stdin
    $ dox > myfile.json

    # operates over stdio
    $ dox < myfile.js > myfile.json

Programmatic Usage

var dox = require('dox'),
    code = "...";

var obj = dox.parseComments(code);

// [{ tags:[ ... ], description, ... }, { ... }, ...]

Properties

A "comment" is comprised of the following detailed properties:
- tags
- description
- isPrivate
- isEvent
- isConstructor
- line
- ignore
- code
- ctx

Description

A dox description is comprised of three parts, the "full" description, the "summary", and the "body". The following example has only a "summary", as it consists of a single paragraph only, therefore the "full" property has only this value as well.
/**
 * Output the given `str` to _stdout_.
 */

exports.write = function(str) {
  process.stdout.write(str);
};
yields:
description:
     { full: '<p>Output the given <code>str</code> to <em>stdout</em>.</p>',
       summary: '<p>Output the given <code>str</code> to <em>stdout</em>.</p>',
       body: '' },
Large descriptions might look something like the following, where the "summary" is still the first paragraph, the remaining description becomes the "body". Keep in mind this is markdown, so you can indent code, use lists, links, etc. Dox also augments markdown, allowing "Some Title:\n" to form a header.
/**
 * Output the given `str` to _stdout_
 * or the stream specified by `options`.
 *
 * Options:
 *
 *   - `stream` defaulting to _stdout_
 *
 * Examples:
 *
 *     mymodule.write('foo')
 *     mymodule.write('foo', { stream: process.stderr })
 *
 */

exports.write = function(str, options) {
  options = options || {};
  (options.stream || process.stdout).write(str);
};
yields:
description:
     { full: '<p>Output the given <code>str</code> to <em>stdout</em><br />or the stream specified by <code>options</code>.</p>\n\n<h2>Options</h2>\n\n<ul>\n<li><code>stream</code> defaulting to <em>stdout</em></li>\n</ul>\n\n<h2>Examples</h2>\n\n<pre><code>mymodule.write(\'foo\')\nmymodule.write(\'foo\', { stream: process.stderr })\n</code></pre>',
       summary: '<p>Output the given <code>str</code> to <em>stdout</em><br />or the stream specified by <code>options</code>.</p>',
       body: '<h2>Options</h2>\n\n<ul>\n<li><code>stream</code> defaulting to <em>stdout</em></li>\n</ul>\n\n<h2>Examples</h2>\n\n<pre><code>mymodule.write(\'foo\')\nmymodule.write(\'foo\', { stream: process.stderr })\n</code></pre>' }

Tags

Dox also supports JSdoc-style tags. Currently only @api is special-cased, providing the comment.isPrivate boolean so you may omit "private" utilities etc.
/**
 * Output the given `str` to _stdout_
 * or the stream specified by `options`.
 *
 * @param {String} str
 * @param {{stream: Writable}} options
 * @return {Object} exports for chaining
 */

exports.write = function(str, options) {
  options = options || {};
  (options.stream || process.stdout).write(str);
  return this;
};
yields:
tags:
   [ { type: 'param',
       string: '{String} str',
       types: [ 'String' ],
       name: 'str',
       description: '' },
     { type: 'param',
       string: '{{stream: Writable}} options',
       types: [ { stream: ['Writable'] } ],
       name: 'options',
       description: '' },
     { type: 'return',
       string: '{Object} exports for chaining',
       types: [ 'Object' ],
       description: 'exports for chaining' },
     { type: 'api',
       visibility: 'public' } ]

Complex jsdoc tags

dox supports all jsdoc type strings specified in the jsdoc documentation. You can specify complex object types including optional flag =, nullable ?, non-nullable ! and variable arguments ....
Additionally you can use typesDescription which contains formatted HTML for displaying complex types.
/**
 * Generates a person information string based on input.
 *
 * @param {string | {name: string, age: number | date}} name Name or person object
 * @param {{separator: string} =} options An options object
 * @return {string} The constructed information string
 */

exports.generatePersonInfo = function(name, options) {
  var str = '';
  var separator = options && options.separator ? options.separator : ' ';

  if(typeof name === 'object') {
    str = [name.name, '(', name.age, ')'].join(separator);
  } else {
    str = name;
  }
};
yields:
tags:
[
  {
    "tags": [
      {
        "type": "param",
        "string": "{string | {name: string, age: number | date}} name Name or person object",
        "name": "name",
        "description": "Name or person object",
        "types": [
          "string",
          {
            "name": [
              "string"
            ],
            "age": [
              "number",
              "date"
            ]
          }
        ],
        "typesDescription": "<code>string</code>|{ name: <code>string</code>, age: <code>number</code>|<code>date</code> }",
        "optional": false,
        "nullable": false,
        "nonNullable": false,
        "variable": false
      },
      {
        "type": "param",
        "string": "{{separator: string} =} options An options object",
        "name": "options",
        "description": "An options object",
        "types": [
          {
            "separator": [
              "string"
            ]
          }
        ],
        "typesDescription": "{ separator: <code>string</code> }|<code>undefined</code>",
        "optional": true,
        "nullable": false,
        "nonNullable": false,
        "variable": false
      },
      {
        "type": "return",
        "string": "{string} The constructed information string",
        "types": [
          "string"
        ],
        "typesDescription": "<code>string</code>",
        "optional": false,
        "nullable": false,
        "nonNullable": false,
        "variable": false,
        "description": "The constructed information string"
      }
    ]

Code

The .code property is the code following the comment block, in our previous examples:
exports.write = function(str, options) {
  options = options || {};
  (options.stream || process.stdout).write(str);
  return this;
};

Ctx

The .ctx object indicates the context of the code block, is it a method, a function, a variable etc. Below are some examples:
exports.write = function(str, options) {
};
yields:
ctx:
 { type: 'method',
   receiver: 'exports',
   name: 'write',
   string: 'exports.write()' } }
var foo = 'bar';
yields:
ctx:
 { type: 'declaration',
   name: 'foo',
   value: '\'bar\'',
   string: 'foo' }
function User() {

}
yields:
ctx:
 { type: 'function',
   name: 'User',
   string: 'User()' } }

Extending Context Matching

Context matching in dox is done by performing pattern matching against the code following a comment block. dox.contextPatternMatchers is an array of all pattern matching functions, which dox will iterate over until one of them returns a result. If none return a result, then the comment block does not receive a ctx value.
This array is exposed to allow for extension of unsupported context patterns by adding more functions. Each function is passed the code following the comment block and (if detected) the parent context if the block.
dox.contextPatternMatchers.push(function (str, parentContext) {
  // return a context object if found
  // return false otherwise
});

Ignore

Comments and their associated bodies of code may be flagged with "!" to be considered worth ignoring, these are typically things like file comments containing copyright etc, however you of course can output them in your templates if you want.
/**
 * Not ignored.
 */
vs
/*!
 * Ignored.
 */
You may use -S, --skipSingleStar or {skipSingleStar: true} to ignore /* ... */ comments.

Running tests

Install dev dependencies and execute make test:
 $ npm install -d
 $ make test

 from https://github.com/tj/dox
--------------------------------




文档伴侣

Doxmate 不再为文档而发愁 Build Status

来源

过去通常要自己维护API文档,这会是一件比较蛋疼的事情。所幸我们有dox,dox可以帮我们解析注解。但是dox不能帮我们任意生成文档。于是就有了doxmate,doxmate基于dox的注解对象,加入模板。在遵循Github和CommonJS的约定后,doxmate可以帮你的模块包快速生成文档。

Installation

安装doxmate为全局工具:
$ npm install doxmate -g

Usage

此处将以doxmate项目自身作为例子:
// 签出doxmate项目
$ git clone git://github.com/JacksonTian/doxmate.git ~/git/doxmate
// 去到项目目录
$ cd doxmate
$ doxmate build
// 在docs目录下将会得到文档
$ open ~/git/doxmate/doc/index.html
// 或者 -o folder,可以将文档生成到指定的目录下
$ doxmate build -o ~/output

选择模版

// 带上-s参数后,可以选择doxmate提供的几种模板
$ doxmate build -s wordpress

自定义模版

如果doxmate提供的几个模板不能满足你的需求
// 查看doxmate目前已有的模板
$ doxmate theme list
// 在当前项目目录导出主题模板
$ doxmate theme export
// 将会在当前目录下生成{doxmate-templates/主题名}的目录
// 带上-s参数后,可以选择doxmate提供的几种模板
$ doxmate theme export -s pomelo
// 通过doxmate build创建文档的时,优先读取该目录
// 导出主题模板后,自行修改,即可实现自定义模板的目的

查看文档效果

通过将生成的文档放到gh-pages分支中,可以通过链接http://jacksontian.github.com/doxmate直接查看效果。
目前提供三种模板

默认风格

defautl 默认风格

wordpress风格

wordpress

pomelo风格

Github与CommonJS规范

  • 每个github项目下应该有一个README.md文件
  • CommonJS规范建议文档存在在doc目录下
  • CommonJS规范建议代码存在在lib目录下
Doxmate将会扫描项目下的README.md和doc目录下的md文件,通过markdown渲染,生成页面。扫描lib目录下的文件,通过dox解析内容,生成API文档页面.

from https://github.com/JacksonTian/doxmate

docker的变种-Moby

Moby Project - a collaborative project for the container ecosystem to assemble container-based systems

Docker users, see Moby and Docker to clarify the relationship between the projects

Docker maintainers and contributors, see Transitioning to Moby for more details

The Moby Project


Moby is an open-source project created by Docker to advance the software containerization movement. It provides a “Lego set” of dozens of components, the framework for assembling them into custom container-based systems, and a place for all container enthusiasts to experiment and exchange ideas.

Overview

At the core of Moby is a framework to assemble specialized container systems. It provides:
  • A library of containerized components for all vital aspects of a container system: OS, container runtime, orchestration, infrastructure management, networking, storage, security, build, image distribution, etc.
  • Tools to assemble the components into runnable artifacts for a variety of platforms and architectures: bare metal (both x86 and Arm); executables for Linux, Mac and Windows; VM images for popular cloud and virtualization providers.
  • A set of reference assemblies which can be used as-is, modified, or used as inspiration to create your own.
All Moby components are containers, so creating new components is as easy as building a new OCI-compatible container.

Principles

Moby is an open project guided by strong principles, but modular, flexible and without too strong an opinion on user experience, so it is open to the community to help set its direction. The guiding principles are:
  • Batteries included but swappable: Moby includes enough components to build fully featured container system, but its modular architecture ensures that most of the components can be swapped by different implementations.
  • Usable security: Moby will provide secure defaults without compromising usability.
  • Container centric: Moby is built with containers, for running containers.
With Moby, you should be able to describe all the components of your distributed application, from the high-level configuration files down to the kernel you would like to use and build and deploy it easily.
Moby uses containerd as the default container runtime.

Audience

Moby is recommended for anyone who wants to assemble a container-based system. This includes:
  • Hackers who want to customize or patch their Docker build
  • System engineers or integrators building a container system
  • Infrastructure providers looking to adapt existing container systems to their environment
  • Container enthusiasts who want to experiment with the latest container tech
  • Open-source developers looking to test their project in a variety of different systems
  • Anyone curious about Docker internals and how it’s built
Moby is NOT recommended for:
  • Application developers looking for an easy way to run their applications in containers. We recommend Docker CE instead.
  • Enterprise IT and development teams looking for a ready-to-use, commercially supported container platform. We recommend Docker EE instead.
  • Anyone curious about containers and looking for an easy way to learn. We recommend the docker.com website instead.

Transitioning to Moby

Docker is transitioning all of its open source collaborations to the Moby project going forward. During the transition, all open source activity should continue as usual.
We are proposing the following list of changes:
  • splitting up the engine into more open components
  • removing the docker UI, SDK etc to keep them in the Docker org
  • clarifying that the project is not limited to the engine, but to the assembly of all the individual components of the Docker platform
  • open-source new tools & components which we currently use to assemble the Docker product, but could benefit the community
  • defining an open, community-centric governance inspired by the Fedora project (a very successful example of balancing the needs of the community with the constraints of the primary corporate sponsor)
from https://github.com/moby/moby

node-webkit

node-webkit is renamed NW.js

Gitter
Official site: http://nwjs.io
Official documentation: http://docs.nwjs.io/

Introduction

NW.js is an app runtime based on Chromium and node.js. You can write native apps in HTML and JavaScript with NW.js. It also lets you call Node.js modules directly from the DOM and enables a new way of writing native applications with all Web technologies.
It was created in the Intel Open Source Technology Center.
Building a Cross-platform Desktop App with NW.js
Creating Desktop Applications With node-webkit
WebApp to DesktopApp with node-webkit (slides)
Essay on the history and internals of the project

Features

  • Apps written in modern HTML5, CSS3, JS and WebGL.
  • Complete support for Node.js APIs and all its third party modules.
  • Good performance: Node and WebKit run in the same thread: Function calls are made straightforward; objects are in the same heap and can just reference each other;
  • Easy to package and distribute apps.
  • Available on Linux, Mac OS X and Windows

Downloads

Demos and real apps

You may also be interested in our demos repository and the List of apps and companies using nw.js.

Quick Start

Create index.html:
<!DOCTYPE html>
<html>
  <head>
    <title>Hello World!</title>
  </head>
  <body>
    <h1>Hello World!</h1>
    We are using node.js <script>document.write(process.version)</script>.
  </body>
</html>
Create package.json:
{
  "name": "nw-demo",
  "version": "0.0.1",
  "main": "index.html"
}
Run:
$ /path/to/nw .  (suppose the current directory contains 'package.json')
Note: on Windows, you can drag the folder containing package.json to nw.exe to open it.
Note: on OSX, the executable binary is in a hidden directory within the .app file. To run node-webkit on OSX, type:
/path/to/nwjs.app/Contents/MacOS/nwjs . (suppose the current directory contains 'package.json')

Documents

For more information on how to write/package/run apps, see:
And our Wiki for much more.

Community

We use the google group as our mailing list (use English only). Subscribe via nwjs-general+subscribe@googlegroups.com.
NOTE: Links to the old google group (e.g. https://groups.google.com/forum/#!msg/node-webkit/doRWZ07LgWQ/4fheV8FF8zsJ) that are no longer working can be fixed by replacing node-webkit with nwjs-general (e.g https://groups.google.com/forum/#!msg/nwjs-general/doRWZ07LgWQ/4fheV8FF8zsJ).
Issues are being tracked here on GitHub.

License

node-webkit's code in this repo uses the MIT license, see our LICENSE file. To redistribute the binary, see How to package and distribute your apps

Sponsors

The work is being sponsored by:
from  https://github.com/nwjs/nw.js
--------------------

基于node-webkit跨平台应用案例集之(一)

如下是基于node-webkit跨平台应用案例列表,特别感谢nw的作者roger.wang@intel.com 有些是开源的,是非常不错的参考。

Apps

Powder Player

A cross-platform, incredibly easy to use heavy-duty player that supports torrent streaming and torrent downloading.Based on WebChimera and Peerflix it not only has full support for all torrents but also works with any video type and video url, including youtube/vimeo links.See Current Features for a detailed list of what makes this app truly amazing!



Astar

Astar is a simple task manager application for Mac OS X, using NW.js. Astar allows you to create your notebooks with your favorite image, in which you can manage your ToDos or WantToDos. These steps are grouped by tags that you define with your favorite color for them, and they are displayed by one of the three modes: bullet list, display by tag, and calendar view.

Screenshots



WhatsApp for Desktop

WhatsApp for Desktop is a beautiful, simple and easy to use cross-platform app that brings web.whatsapp.com to your OS X, Windows or Linux desktop.

WhatsApp features

  • Group chats
  • Send photos & videos
  • Share locations
WhatsApp for Desktop features
  • Badge with the number of notifications in the dock/taskbar (OS X and Windows)
  • Auto-launch on OS startup (OS X, Windows)
  • Native notifications (all platforms)
  • System tray icon (OS X, Windows)
  • Open links in browser or new window
  • Preferences in the right-click context menu (or menu bar for OS X, tray menu for Windows)


Messenger for Desktop

Messenger for Desktop is a beautiful, simple and easy to use cross-platform app that brings messenger.com to your OS X, Windows or Linux desktop.

Features
  • Sounds (can be disabled in settings)
  • Desktop notifications (enable them in settings)
  • Voice and video calls
Extra
  • Badge with the number of notifications in the dock/taskbar (OS X and Windows)
  • Auto-launch on OS startup (OS X, Windows)
  • Native notifications (all platforms)
  • System tray icon on Windows
  • 3 themes: Default, Dark and Mosaic
  • Auto-hide the left sidebar
  • Open links in browser or new window
  • Preferences in the right-click context menu (or menu bar for OS X, tray menu for Windows)



Boson Editor

Boson is a minimalistic experimental source code editor. It's written in Node, and wrapped in Nw.js as a runtime container for easy cross-platform integration. Boson supports theming, plugins and more.




neodym IDE

The neodym IDE makes developing hybrid apps using the Ionic SDK faster, more comfortable and helps to increase your process and code quality. It is an opensource project based on a master thesis about hybrid app development written at aaronprojects GmbH and built using nw.js and AngularJS.



DevKit

Printr and Athom, 2 Dutch startups, joined forces to create a modular development kit built in nw.js and Angularjs. The core can be found at printhom/devkit-core and 2 example implementations at athombv/devkit and printr3d/devkit-app. Feel free to create you own DevKit for your company or project!



Namagic

Namagic is a batch renaming tool, available on Mac App Store.



Evidentia

Evidentia is a commercial node-webkit based desktop app developed by Evidentia Software for genealogists. Evidentia is an evidence management and analysis tool. It makes use of angularjs for the main framework, and HTML5's indexeddb for its underlying database structure.



PiktoPuzzle

PiktoPuzzle is a node-webkit based desktop app to help memorize pictures (e.g. maps, scientific diagrams).

SkimHN

SkimHN is a desktop client for Hacker News built with nw.js, edge.js and C#. SkimHN fetches the front page stories and also gives you a quick summary of selected stories. The purpose of SkimHN is to get a quick preview of a story before deciding to read it on the HackerNews website.



Leanote Desktop App

Leanote is a cloud notebook, which you can manage, public and share knowledge. Leanote use nw.js to create desktop app, and it's open source:https://github.com/leanote/desktop-app


Mongo Management Studio

Mongo Management Studio is the best way to work with MongoDB the easy way. Because of the clean and light user interface, you can execute the typical MongoDB commands fast and effective, without using the MongoDB shell.



lolconf

Settings utility for the game League of Legends, with appearance mimicking the official in-game menu.



Pawnee

Pawnee is an Apache GUI designed for Mac OS X.



M2S

M2S is an messaging app created with web technologies and open source
  • Discover groups and join it,
  • Add people without his phone number,
  • Compatible with all web browsers,
  • Share url, youtube videos, images png jpeg and gif, instagram photos, your geolocation and more Github repos


KeeeX

KeeeX secures, traces, organizes, finds and shares any file, anywhere in absolute privacy.
  • No doubt, we see the same document,
  • No mess, we efficiently organize them,
  • No time loss, instant, exact searches,
  • KeeeX is simple and quick to adopt



Yasminoku

Yasminoku is an open source and free "Sudoku" game totally written in DHTML (JavaScript, CSS and HTML with newer version using CSS3 and HTML5 too) that can be controlled by mouse (or finger on mobile devices) and/or keyboard. Includes sudoku solver and sudoku generator. Browser version also allows anyone to print sudokus easily.
This cross-platform and cross-browser game was tested under BeOS, Haiku, Linux, NetBSD, OpenBSD, FreeBSD, Windows, QNX, Android, iOS, BlackBerry PlayBook and others.
Last old version (0.25a) was released on 25th July 2006, with last changes beyond 16th August 2006 (approximately). It was available in both English and Spanish languages.
The new improved version (0.75a) was released on 9th December 2014 with a better mobile devices support, more platform ports (ported to desktop thanks to node-webkit), improved printing presentation, improved browser integration (can be included easily in any web site), and is now multilingual with language auto-detection (main version includes Chinese, English and Spanish languages and it is very easy to add new ones). Native ports that has been tested should work properly. Browser version will work virtually everywhere, on modern browsers as well as on old ones (including Internet Explorer 5.0).
To download the game, play online or include it in your web site for free you can visithttp://yasminoku.tuxfamily.org



TopAnimeStream

Watch anime / cartoon stream online on Windows, Mac or Linux. Example of shows you can watch ads FREE: Family Guy, Attack on Titan, Naruto, Archer, Death Note, Sword Art Online and a lot more. More than 3000 animes.



Akiee

A cross plattform task manager that stores its tasks in a Markdown file (similar to org-mode) and let's you easily rank your tasks. It works great with different time management methods like GTD or Personal Kanban.



Tinder++

(open source: mfkp/tinderplusplus)
Tinder++ is a desktop application for Mac and Windows that allows you to swipe from your computer, plus some extra features:
  • Hotkeys: Right arrow for like, Left arrow for pass, Backspace for undo. Simple.
  • Change your location so you can "Tinder Ahead" if you're going to be traveling.
  • Undo: ever missed your soulmate because you were swiping too fast? No more.



Fuckr

(open source: tomlandia/fuckr)
Fuckr is a desktop Grindr client with extra features such as:
  • Pinpointing guys' exact location (using triangulation).
  • Changing your location.
  • Saving any pic.



Story-writer

Story-writer is a free Markdown editor.
It support web version and node-webkit version.
the main fetures:
  • export word
  • export zip
  • sync evernote and so on.
Pullover

The unofficial multi-platform Pushover desktop client.


U2Bear

An awesome client for watching and downloading Youtube videos without adds.


Wunderlist for Windows 7

Wunderlist helps millions of people around the world capture their ideas, things to do and places to see. Whether you’re sharing a grocery list with a loved one, working on a project, or planning a vacation, Wunderlist makes it easy to share your lists and collaborate with everyone in your life. Wunderlist then instantly syncs between your phone, tablet and computer, so you can access your to-do lists from anywhere.


Schreiberling

Schreiberling is a free, lightweight, completely customizable, open source, distraction free Markdown editor. It is currently in development so don't expect too much yet.

Nextday-Desktop

Nextday-Desktop is a port of iOS App "NextDay" to Desktop. It will show you a picture of world scenery, a music and a sentence everyday.

Bear With Me


Bear With Me is a classic 2D, black and white, point´n´click adventure game which mixes noire mystery & horror elements in a cute style filled with puns.

Minecraft Snaps

A simple tool (for Mac, Windows version in the works) to save backups of Minecraft worlds before blowing stuff up and to restore them without having to manually copy folders.
Atraci

Free music streaming player

Nevermore

A shadowsocks client powered by node-webkit + angular.js



TimoFM

An audio player for douban.fm



CasperJS IDE

An IDE for creating and running CasperJS scripts.



Assistant

A super simple, extensible and powerful personal assistant, just like your shell, with the power of HTML.



Notedown

Notedown provides a sleek, easy to use interface for writing, storing and viewing notes powered by markdown.



DebugGap (run easily and debug powerfully)

DebugGap is a debug tool for webview(e.g phonggap) and all kinds of browsers.
  1. Run on Windows, Linux and Mac without setup process
  2. Support different platforms( Android,IOS,WebOS,BlackBerry and so on,except for Windows Phone )
  3. Support all the HTML5 frameworks(e.g phonegap) and browsers
  4. Support to inspect the element quickly in the node tree
  5. Debug lots of devices at the same time
  6. Support single-step debug ,watch variables and so on for Android devices



TorrenTV

TorrenTV Stream Torrents to your AppleTV/Roku/Chromecast



Cellist

Cellist is a HTTP debugging proxy, available on Mac App Store.



CityBound - City Building game by Anselm Eickhoff

CityBound is a work-in-progress project developed by Anselm Eickhoff using Node-webkit and WebGl for 3D graphics.



Broado - Music player for Desktop

Broado is a Open-Source project using Node WebKit. Broado is a desktop music player built with node and angular.js



SWIMBI - Swift Menu Builder

Swimbi is a cross platform application enables developers to create website CSS menu navigation using intuitive user interface without coding.
  • Develop faster: Add menu items, select design and get responsive CSS menu in minutes.
  • Create beauty: Select from a number of ready-to-use designs and icons, use patterns, shadows and effects.
  • Upload simply: Using FTP button, update directly on a server.



Node WebKit QQ - Node WebKit QQ

Node WebKit QQ is an Open-Source WebQQ desktop client using Node WebKit. FYI: QQ is an instant messaging service widely used in China provided by Tencent.



Soundnode App - SoundCloud for desktop

Soundnode App is a Open-Source project to support SoundCloud for desktop. Built with Angular.js, consuming SoundCloud and Github API.



Brandon Must Die!

Brandon Must Die! is a 'Procedural Death Labyrinth' game available for Win/Mac/Linux. It features 100s of items, randomized maps, unlockable characters, secret rooms, and dozens of enemies.



Personal Kanban

Personal Kanban enables you to manage your projects via a virtual Kanban Board. Personal Kanban helps you to prioritize your tasks and to keep track of all your projects.
It works great for projects like writing a thesis, creating a software, planning your house moving or anything else that consists of several tasks. It is available on the Mac App Store.
The app is built on Angular.js and node-webkit.



Super Game Jam

Super Game Jam is an engaging new documentary series following some of the world’s most talented indie game developers doing what they do best. Filmed in five cities over a six month time period, each episode pairs two indie developers together for 48 hours and challenges them to create a game based on a theme suggested by their peers. The app was built on Ember.js, node-webkit, Bootstrap and Greenworks.



Game Dev Tycoon

A business simulation game where you replay the history of game development. Game Dev Tycoon was one of the first node-webkit powered games on Steam and usesgreenworks to integrate node-webkit with Steamworks. For a full list of libraries used see the credits page.



Web2Executable

A simple, multi-platform GUI interface to node-webkit that allows easy and streamlined exporting of web applications to all platforms. It's written with Python and PySide and comes with pre-built binaries that run on all platforms. You can view the github page and download it here.



Intel® XDK

Intel® XDK is a HTML5 cross-platform solution enables developers to write web and hybrid apps once, and deploy across many app stores and form factor devices.
  • Easy-to-use: Streamlined workflow from design to app store
  • Develop faster: Integrated design, test, (on-device) debug & profile, and build tools
  • Deploy simply: Across more app stores, and form factors
Intel XDK is available as a free download for Windows* 7 & 8 , Apple OS X, and UbuntuLinux*.
Visit Intel XDK's Weibo @ http://weibo.com/xdktool, and WeChat by search "英特尔XDK".





POM 360

POM 360 is a simple tool to look at all aspects of your Maven pom and learn maven. Integrated help and short presentation on Maven is included.



Fenix Web Server

Fenix is a static local web server for Windows and OSX. It features point-and-click server creation/removal, push-button site sharing over SSH tunnels, logging, directory browsing/sharing, a webhook inspector, and more. GPL License.



LexiMail

LexiMail is a Open Source and cross-platform e-mail desktop application.



A Wizard's Lizard


Death is just the beginning in A Wizard's Lizard, a procedurally generated action RPG for Windows, Mac, and Linux.



TagSpaces

TagSpaces is:
  • An application, which allows you to navigate and organize your local files with the help of tags.
  • An extensible platform providing a web based user interface for your hard drive.
Key features included:
  • File tagging without the need of a database
  • Taking notes, HTML editing
  • Browsing, viewing and editing of your local files directly in the application without external applications
  • Different visualization possibilities of directory structures and files
  • Portability of the tags, due to the fact, that tags are saved in the file name



JazzUI


Does your favorite mock-up tool output production-ready code? Of course not, that would take way too much time / effort! That's why we make mockups, so we can iterate quickly...
JazzUI makes it easier to get into the flexibility and precision of HTML/CSS while maintaining the quick iterative features of a traditional mockup tool. Plus more awesome.And 100% Open Source.
Online Demo or Watch the Screencast


Candy Reader

An open source PDF reader ported from browser to desktop, based on pdf.js library. Get more details on its development site.



Playlist: Make It Work Again!

A tool that manages, fixes and repairs broken playlists. Available on Windows and Mac OS X.
Check out the companion website for more information. A video is available too :)
Playlist: Make It Work Again!



Huayra-StopMotion

A tool to create animated films https://github.com/HuayraLinux/huayra-stopmotion



Hyro

A real-time HTML5 editor. Lightweight and easy to use. http://jawerty.github.io/Hyro/

made by Jared Wright (@jawerty)


Sqwiggle

Sqwiggle is a tool which helps remote teams work more efficiently together by facilitating real presence and frictionless discussions using images, WebRTC video and quick sharing.



Sputnik

Open source RSS reader. Download at http://sputnik.szwacz.com



Circadio

Circadio is an easy to use yet feature rich time tracking application for Windows, Linux and OS X and is currently in public beta.

With Circadio, you will be tracking time with a single click, enabling you to focus on your job instead of timetracking. When you're ready, you can provide additional information and finally sync your time to a task from any project management system with an API.
Circadio will notify you when you forget to start a timer, and will ask you what to do with the missing time, when it wakes up after your laptop lost its power. Circadio can be configured to fit your way of working. If you want it to, it will tell you when to go home, when you're overloaded with work, when you can take on new tasks and much more.
Circadio will update itself as new features and fixes become available.
Sign up and download at https://getcircadio.com


Haroopad

Haroopad is a markdown enabled document processor for creating web-friendly documents.
You can author various formats of documents such as blog article, slide, presentation, report, and e-mail as if experts did.
Haroopad gives you same experiences in editing regardless of the platform you are working on. It runs on all three major operating systems—Windows, Mac OS X, and Linux.

Get more information at http://pad.haroopress.com


Gifrocket

Create gif from video. Actually for Mac OSX only, Windows and Linux are on the way.
gifrocket.com



Wifi-fikser

Wifi fikser is an app for Telenet a Belgian ISP provider to help clients with their Wifi problems. It's released as both a Web app and a Desktop app for Windows and Mac OSX. We first created the Web app and after that we just packaged in into a Desktop app using Node-Webkit which was very easy.

More info can be found at Telenet-wifi Also a download is available in Dutch and French


Gisto

Gisto is a Cross-platform gist snippets management desktop application that allows you and your team share code snippets fast and easily.
Based on GitHub Gists Infrastructure which means you can use all your existing snippets by connecting your GitHub account!
   Light theme    Dark theme
       
See more at: www.gistoapp.com
Source/Fork: @GitHub


Prepros App

Prepros is a free and open source app that can compile less, sass, stylus, jade, haml and much more with live browser refresh.
Get more info at http://alphapixels.com/prepros



Slate

Slate is a minimalistic IRC client focused on extensibility.
See more and get it at https://github.com/slate/slate



Koala

Koala is a developer tool for less, sass and coffeescript compilation, to help web developers to use less,sass and coffeescript development more efficient.
Get it at http://koala-app.com/



MUVConf

MUVConf is a SIP multi-user video conference. See demo video.
Source @ https://github.com/vf1/muvconf
Downloads @ https://code.google.com/p/muvconf/downloads/list


Weather-Map

Weather-Map free weather map
Weather-Map is a desktop application that provides free weather data. Weather-Map wide range of weather data - map with current weather, quantity of precipitation, wind speed, clouds cover, sea Level Pressure contour maps, temperature, snow precipitation, data from weather stations, data from radars, data for cities. Weather data is received fromOpenWeatherMap api.

It's open sourced at https://github.com/rafaelkyrdan/Weather-Map


HostSpirit

HostSpirit - A simple host editor for windows users Source @https://github.com/mamboer/nwapp/tree/master/hostspirit


Simple Ace Editor

Ace Text Editor - The Same Editor that powers github.com
Source @ https://github.com/brads-tools/node-webkit-ace-editor & Thanks @http://ace.ajax.org/


Light Table

Light Table is a new interactive IDE that lets you modify running programs and embed anything from websites to games. It provides the real time feedback.
http://www.lighttable.com/



Brief Msg

Brief Msg is a cross-platform open source messenger for SIP servers compatible with WebSocket protocol.
http://briefmsg.org/


Cypher

The Desktop application for privacy your online correspondence.
The problem of protecting private data is now more than ever. There are many ways to encrypt a message, but the problem is,  that the key to encrypt the need to tell your partner. You can not send key on internet, for example, your Internet service provider has access to everything that you send and receive. Cypher uses modern mechanism for encrypt data and does not send secret key. Simple and clear description of how the algorithm allows the two sides to get secret key using a unsafe channel.http://www.youtube.com/watch?v=3QnD2c4Xovk


It's open sourced at http://rafaelkyrdan.github.com/cypher/


Clock

This is a clock application for Ubuntu: http://michealhark.tk/applications/clock/


Fawave Desktop

The desktop edition of fawave, a popular chrome extension.
It's open sourced at https://github.com/fengmk2/fawave_desktop.



Docular!

Docular is an open-source and cross-platform editor for markdown documents!
Feel free to fork it on Github!





 from http://www.finalshares.com/read-932