Skip to content

Commit

Permalink
Added features for better docs
Browse files Browse the repository at this point in the history
  • Loading branch information
coreybutler committed May 16, 2013
1 parent 302831a commit 5bb10ee
Show file tree
Hide file tree
Showing 15 changed files with 813 additions and 8 deletions.
1 change: 1 addition & 0 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
support
test
docs
Gruntfile.js
*.sock
60 changes: 60 additions & 0 deletions Gruntfile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
/*global module:false*/
module.exports = function(grunt) {

var cfg = {};

// Project configuration.
grunt.initConfig({
pkg: '<json:package.json>',
meta: {
banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' +
'<%= grunt.template.today("yyyy-mm-dd") %>\n' +
'<%= pkg.homepage ? "* " + pkg.homepage + "\n" : "" %>' +
'* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' +
' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */'
},
jsduck: {
main: {
// source paths with your code
src: [
'./lib'
],

// docs output dir
dest: '../node-daemon-docs/manual',

// extra options
options: {
'title': 'node-windows',
//'welcome': 'src/assets/html/welcome.html',
'head-html': '<link rel="stylesheet" href="resources/css/main.css" type="text/css">',
//'categories': 'src/categories.json',
'guides': 'docs/guides.json',
'color': true,
'builtin-classes': true,
'warnings': ['-req_after_opt'],
'external': ['XMLHttpRequest']
}
}
},
clean: {
docs: ["../node-daemon-docs/manual"],
},
copy: {
jsduckassets: {
files: [
{expand: true, cwd: './docs/assets/css/', src:['*.*'], dest: '../node-daemon-docs/manual/resources/css/'},
{expand: true, cwd: './docs/assets/images/', src:['*.*'], dest: '../node-daemon-docs/manual/resources/images/'},
{expand: true, cwd: './docs/assets/images/', src:['tabs.png'], dest: '../node-daemon-docs/manual/resources/images/'}
]
}
}
});

grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-jsduck');
grunt.loadNpmTasks('grunt-contrib-clean');

// Default task.
grunt.registerTask('default', ['clean:docs','jsduck','copy:jsduckassets']);
};
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
This README provides a pretty good overview of what node-windows has to offer, but better
documentation is now available at the [node-windows documentation portal](http://coreybutler.github.io/node-windows).

# node-windows

This is a standalone module, originally designed for internal use in [NGN](http://github.com/thinkfirst/NGN).
Expand Down Expand Up @@ -170,7 +173,7 @@ var svc = new Service({

svc.sudo.password = 'password';
...
```
```

### Cleaning Up: Uninstall a Service

Expand Down
143 changes: 143 additions & 0 deletions docs/assets/css/border-radius.htc
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
--Do not remove this if you are using--
Original Author: Remiz Rahnas
Original Author URL: http://www.htmlremix.com
Published date: 2008/09/24

Changes by Nick Fetchak:
- IE8 standards mode compatibility
- VML elements now positioned behind original box rather than inside of it - should be less prone to breakage
Published date : 2009/11/18


<public:attach event="oncontentready" onevent="oncontentready('v08vnSVo78t4JfjH')" />
<script type="text/javascript">

// findPos() borrowed from http://www.quirksmode.org/js/findpos.html
function findPos(obj) {
var curleft = curtop = 0;

if (obj.offsetParent) {
do {
curleft += obj.offsetLeft;
curtop += obj.offsetTop;
} while (obj = obj.offsetParent);
}

return({
'x': curleft,
'y': curtop
});
}

function oncontentready(classID) {
if (this.className.match(classID)) { return(false); }

if (!document.namespaces.v) { document.namespaces.add("v", "urn:schemas-microsoft-com:vml"); }

this.className = this.className.concat(' ', classID);
var arcSize = Math.min(parseInt(this.currentStyle['-moz-border-radius'] ||
this.currentStyle['-webkit-border-radius'] ||
this.currentStyle['border-radius'] ||
this.currentStyle['-khtml-border-radius']) /
Math.min(this.offsetWidth, this.offsetHeight), 1);
var fillColor = this.currentStyle.backgroundColor;
var fillSrc = this.currentStyle.backgroundImage.replace(/^url\("(.+)"\)$/, '$1');
var strokeColor = this.currentStyle.borderColor;
var strokeWeight = parseInt(this.currentStyle.borderWidth);
var stroked = 'true';
if (isNaN(strokeWeight)) {
strokeWeight = 0;
strokeColor = fillColor;
stroked = 'false';
}

this.style.background = 'transparent';
this.style.borderColor = 'transparent';

// Find which element provides position:relative for the target element (default to BODY)
var el = this;
var limit = 100, i = 0;
while ((typeof(el) != 'unknown') && (el.currentStyle.position != 'relative') && (el.tagName != 'BODY')) {
el = el.parentElement;
i++;
if (i >= limit) { return(false); }
}
var el_zindex = parseInt(el.currentStyle.zIndex);
if (isNaN(el_zindex)) { el_zindex = 0; }
//alert('got tag '+ el.tagName +' with pos '+ el.currentStyle.position);

var rect_size = {
'width': this.offsetWidth - strokeWeight,
'height': this.offsetHeight - strokeWeight
};
var el_pos = findPos(el);
var this_pos = findPos(this);
this_pos.y = this_pos.y + (0.5 * strokeWeight) - el_pos.y;
this_pos.x = this_pos.x + (0.5 * strokeWeight) - el_pos.x;

var rect = document.createElement('v:roundrect');
rect.arcsize = arcSize +'px';
rect.strokecolor = strokeColor;
rect.strokeWeight = strokeWeight +'px';
rect.stroked = stroked;
rect.style.display = 'block';
rect.style.position = 'absolute';
rect.style.top = this_pos.y +'px';
rect.style.left = this_pos.x +'px';
rect.style.width = rect_size.width +'px';
rect.style.height = rect_size.height +'px';
rect.style.antialias = true;
rect.style.zIndex = el_zindex - 1;

var fill = document.createElement('v:fill');
fill.color = fillColor;
fill.src = fillSrc;
fill.type = 'tile';

rect.appendChild(fill);
el.appendChild(rect);

var css = el.document.createStyleSheet();
css.addRule("v\\:roundrect", "behavior: url(#default#VML)");
css.addRule("v\\:fill", "behavior: url(#default#VML)");

isIE6 = /msie|MSIE 6/.test(navigator.userAgent);
// IE6 doesn't support transparent borders, use padding to offset original element
if (isIE6 && (strokeWeight > 0)) {
this.style.borderStyle = 'none';
this.style.paddingTop = parseInt(this.currentStyle.paddingTop || 0) + strokeWeight;
this.style.paddingBottom = parseInt(this.currentStyle.paddingBottom || 0) + strokeWeight;
}

if (typeof(window.rounded_elements) == 'undefined') {
window.rounded_elements = new Array();

if (typeof(window.onresize) == 'function') { window.previous_onresize = window.onresize; }
window.onresize = window_resize;
}
this.element.vml = rect;
window.rounded_elements.push(this.element);
}

function window_resize() {
if (typeof(window.rounded_elements) == 'undefined') { return(false); }

for (var i in window.rounded_elements) {
var el = window.rounded_elements[i];

var strokeWeight = parseInt(el.currentStyle.borderWidth);
if (isNaN(strokeWeight)) { strokeWeight = 0; }

var parent_pos = findPos(el.vml.parentNode);
var pos = findPos(el);
pos.y = pos.y + (0.5 * strokeWeight) - parent_pos.y;
pos.x = pos.x + (0.5 * strokeWeight) - parent_pos.x;

el.vml.style.top = pos.y +'px';
el.vml.style.left = pos.x +'px';
}

if (typeof(window.previous_onresize) == 'function') { window.previous_onresize(); }
}
</script>

14 changes: 14 additions & 0 deletions docs/assets/css/guide.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.console {
-moz-border-radius: 20px;
-webkit-border-radius: 20px;
-khtml-border-radius: 20px;
behavior: url(/assets/css/border-radius.htc);
border-radius: 20px;
position: relative;
zoom: 1;
background-color: #000000;
color: #eeeeee;
font-family: Monaco, Consolas, Arial, Helvetica, Sans-Serif;
border: 1px solid #888888;
border-top: 16px solid #888888;
}
23 changes: 23 additions & 0 deletions docs/assets/css/main.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#header-content {
background: url(../images/windows8.png) 0 0 no-repeat !important;
}
#north-region {
background-color: #0050EF !important;
background-image: none !important;
}
#content hr {
height: 0;
border: 0px;
border-top: 1px solid #EFEFEF;
margin: 15px 0 15px 0;
}
#content li {
margin: 3px 0 0px 25px;
list-style-type: square !important;
}
#content ol li {
list-style-type:upper-roman;
}
#content h1 {
margin: 0 0 8px 0;
}
Binary file added docs/assets/images/windows8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions docs/guides.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[{
"title": "Node Windows",
"items": [{
"name": "nodeWindowsService",
"title": "Services",
"description": "Create Windows (background) services from your node.js scripts."
},{
"name": "nodewindowstroubleshooting",
"title": "Troubleshooting",
"description": "Having problems? Check here for answers."
}]
}]
Loading

0 comments on commit 5bb10ee

Please sign in to comment.