npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

titanium-jsduck

v1.2.7

Published

Simple package that will automate JSDuck Documentation for a Titanium Alloy Mobile Project

Downloads

27

Readme

titanium-jsduck

NPM Package for initializing JSDuck Documentation for Appcelerator Titanium Mobile Application Projects

Description

Documentation of your software projects is a critical phase of the software delivery process. This package allows you to include JSDuck commenting in your .js files of an Alloy Project. Everytime the project is compiled, your documentation will be updated.

The project includes two commands currently. The first is to automate the installation of the post:compile hook and source files for the documentation. The second command allows a quick method to preview the documentation within a web browser.

Requirements

It is a requirement to have jsduck installed already. If you do not have it installed, you can do so via the following:

$ gem install jsduck

For more documentation about JSDuck, please visit the project: https://github.com/senchalabs/jsduck

Installing the NPM package

From NPM:

$ npm install titanium-jsduck -g

From Git:

$ npm install git://github.com/jamilhassanspain/titanium-jsduck.git

From source:

$ git clone git://github.com/jamilhassanspain/titanium-jsduck.git
$ cd titanium-jsduck
$ npm install -g

Activating Documentation for your project

In order to use this NPM package, you must first be in the root of your Titanium Mobile Project. Either open a terminal window or use the Terminal inside Titanium Studio and run the following command:

titanium-jsduck install

This will install the following items in your Titanium Mobile Project:

  • a docs/ folder in the root of your project
  • alloy.jmk inside your app/ folder

If an alloy.jmk already exists, it will back it up to be alloy.jmk.txt and install a fresh alloy.jmk with the post:compile command to run. If your docs folder already exists in the remote chance you are trying to reinstall titanium-jsduck in a mobile project, the docs folder will not be automatically overwritten. To force the docs folder to be overwritten, please use this command.

titanium-jsduck install force

Viewing the Documentation

After your project has been compiled, you can now view the updated documentation. Instead of manually browsing to your Titanium Project in the finder, use this command:

$ titanium-jsduck open

This will open your documentation within the system default Web Browser. The following open command will also accept browser name as optional parameter.

$ titanium-jsduck open firefox
$ titanium-jsduck open chrome
$ titanium-jsduck open opera

If you have a browser preference other than Safari, you can open it via Google Chrome, Firefox or Opera. This command will detect if these apps exist within the /Applications folder first. If they do not exist, it will default to Safari since that is sure to be available on everyone's Mac OS X install.

Generating Documentation

There may be an instance where you want to generate documentation without actually re-compiling the Titanium Project. For this corner case, the following command is available as well:

$ titanium-jsduck run

Documenting Files

First time using JSDuck for documentation? Here is a quick preview on how to document your controller. This just tips the iceberg for the real capabilities of what you can do.

/**
* this is the main index.js file
* @class Index
*/

/**
* This is the doClick Method
* @method doClick
* 
*/
function doClick(e) {
alert($.label.text);
};

$.index.open();

I truly recommend browsing the Senchalabs Wiki for JSDuck at the following link: https://github.com/senchalabs/jsduck/wiki/Guide. for more information.

Changelog

| Version | Notes | | ------- | -----:| | 1.0.0 | First release with basic functionality | | 1.1.0 | Minor updates | | 1.2.3 | Added support to detect if jsduck is already installed, restricted operation of titanium-jsduck to be only for mac operating system | | 1.2.5 | Fixed issue to make documentation open with default browser + allowing user to force a browser to use, if docs directory exists, we will not forceDelete ( instead use the titanium-jsduck install force command to forceDelete of the docs directory on reinstall into a mobile project), improved detection for proper installation of jsduck ruby project | | 1.2.6 | Adding support for Opera Browser |

License

Copyright 2013 Jamil Hassan Spain

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.