Giter Site home page Giter Site logo

webworks-api-docs's Introduction

BlackBerry® WebWorks™ API Documentation

This repository contains API documentation for the plugins hosted here:

https://github.com/blackberry/cordova-blackberry-plugins/

Docs are written in DITA format

The plugins conform to the Apache Cordova plugin specification

This project is Open Sourced under the Apache 2.0 license

Conversion Guide

I. INTRODUCTION This guide will aid you in the conversion of our js docs into the DITA format.

To learn more about DITA documentation, please go to:
http://docs.oasis-open.org/dita/v1.2/spec/DITA1.2-spec.html

The original WebWorks API documentation can be found in the following repo:
https://github.com/blackberry/WebWorks-API-Docs/tree/cordova

Note: All examples will use the blackberry_audio.js file which can be found here:
https://github.com/blackberry/WebWorks-API-Docs/blob/cordova/api/blackberry_audio.js

To validate your own documentation, please run the test script
/PATH TO WebWorks-API-Docs/test/

II. NAMING For each API, there will be a .xml file for each method and/or property it contains. For example, in blackberry_audio.js, there are two functions contained in the blackberry.audio object and therefore there will be two .xml documentation files to represent these properties. To keep things consistent and neat, please name your .xml files in the following manner:

    apiName_property.xml

For the first blackberry.audio property, the .xml file should be named
blackberry_audio_supportedContentTypes.xml.

Note: The file name will also be the reference id which will be discussed later in this README.

III. HEADER TAGS At the beginning of your document, paste the following:

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE reference PUBLIC "-//IXIA//DTD IXIA DITA Composite//EN" "../../system/dtd/ixia/IxiaDitabase.dtd">

IV. REFERENCE The following should be placed into your .xml after the header tags from III.

    <reference id="FILENAME_GOES_HERE" xml:lang="en-us">
        <title><apiname>PROPERTY GOES HERE</apiname></title>
        <shortdesc><i>SHORT DESCRIPTION GOES HERE</i></shortdesc>

            (child tags)

    </reference>

The reference id will be, as mentioned before, the file name of of your document without the .xml included.
Inbetween title and apiname, the property name in all lowercase should be placed there. The description of that
property can be found in the respective .js file. An example for blackberry.audio.supportedContentTypes is
shown below:

    <reference id="blackbery_audio_supportedContentTypes" xml:lang="en-us">
        <title><apiname>supportedContentTypes()</apiname></title>
        <shortdesc><i>Request the list of supported content types for a specified protocol.</i></shortdesc>

            (child tags)

    </reference>

V. REFBODY (parent: ) The refbody tags will house the remaining content of the api documentation. These tags follow .

    (header and open reference tags)
        <refbody>

            (content)

        </refbody>
    (close reference tag)

To build on the previous example, adding the refbody tags should look like:

    <reference id="blackbery_audio_supportedContentTypes" xml:lang="en-us">
        <title><apiname>supportedContentTypes()</apiname></title>
        <shortdesc><i>Request the list of supported content types for a specified protocol.</i></shortdesc>
        <refbody>

            (content)

        </refbody>
    </reference>

VI. SECTION AND EXAMPLE (parent: ) Section tags are used to compartmentalize content in the document. The tag is used when the section is referring to an example. It should look like the following:

    (header, reference and refbody tags)
        <section>
            <title>TITLE OF SECTION HERE</title>

            (content)

        </section>
    (closing tags)

Note that there is a title for each section tag. The type of sections are:
    A) Synopsis. This section follows the supported platforms and should look like:

        <section>
            <title>Synopsis:</title>
            <pre scale="80">THE METHOD/PROPERTY HERE</pre>
        </section>

    Note that if the property is read-only, mention if it a String, Object etc.

    B) Parameters and Returns. These two seperate sections are divided into lists seen in VII.
    C) Example. The section where sample code is placed. This should be the last section of your document.

        <example>
            <title>Example:</title>
            <p><pre scale="80">

                (example code here)

            </pre></p>
        </example>

Please see VII. to see examples of these sections.

VII. DL, DLENTRY, DT, DD (parent:

) DL tags further organize content. They are used in in the Parameters and Returns sections.

    (header, reference, refbody and section tags)
        <dl>
            <dlentry>
                <dt><varname>TITLE OF LIST ENTRY HERE</varname><dt>
                <dd><p>DESCRIPTION OF LIST ENTRY HERE</p></dd>
            </dlentry>
        </dl>
    (closing tags)

If you have parameters such as functions or objects that have child arguments, document them
by nesting another DL/DLENTRY/DT/DD.

VIII. COMPLETE EXAMPLE FOR BLACKBERRY.AUDIO The blackberry_audio_supportedContentTypes.xml api should look like the following:

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE reference PUBLIC "-//IXIA//DTD IXIA DITA Composite//EN" "../../system/dtd/ixia/IxiaDitabase.dtd">
    <reference id="blackbery_audio_supportedContentTypes" xml:lang="en-us">
        <title><apiname>supportedContentTypes()</apiname></title>
        <shortdesc><i>Request the list of supported content types for a specified protocol.</i></shortdesc>
        <refbody>
            <section>
                <title>Synopsis:</title>
                <pre scale="80">supportedContentTypes: function(protocol){}</pre>
            </section>
            <section>
                <title>Parameters:</title>
                <dl>
                    <dlentry>
                        <dt><varname>protocol</varname> {String}</dt>
                        <dd><p>The input protocol for the supported content types.</p></dd>
                    </dlentry>
                </dl>
            </section>
            <section>
                <title>Returns:</title>
                <dl>
                    <dlentry>
                        <dt>{String[]}</dt>
                        <dd><p>The list of supported content types for the protocol provided.</p></dd>
                    </dlentry>
                </dl>
            </section>
            <example>
                <title>Example:</title>
                <p><pre scale="80">
                    &lt;script type=&quot;text/javascript&quot;&gt;
                        // Display supported content types for specified protocol
                        var protocol = &quot;file&quot;;
                        var contentTypes = blackberry.audio.supportedContentTypes(protocol);

                        if (contentTypes) {
                            var printingContentTypesList = &quot;&quot;;
                            for (i = 0; i &lt; contentTypes.length; i++) {
                                printingContentTypesList += contentTypes[i] + &quot;\n&quot;;
                            }
                            alert(&quot;List of &quot; + contentTypes.length + &quot; supported content-types for &apos;&quot; + protocol + &quot;&apos; :\n&quot; + printingContentTypesList);
                        }
                     &lt;/script&gt;
                </pre></p>
            </example>
        </refbody>
    </reference>

IX. ADDING YOUR .XML FILE TO THE DITAMAP In the main.ditamap file, add the following line,

    <topicref href=FILE_NAME_HERE" />

FILE_NAME_HERE is replaced with the filename from II with the file extension. For the blackberry
audio example, it should look like the following:

    <topicref href="blackberry_audio_supportedContentTypes" />

webworks-api-docs's People

Contributors

ababut avatar adrianlee avatar allanclara avatar asasd avatar brentlintner avatar dmateescu avatar ejzn avatar ericleili avatar ericpearson avatar gtanner avatar haahmad avatar jachoi avatar jackluo-zz avatar jengee avatar marek avatar mcfedr avatar mdandrea avatar mimendoza avatar ndaversa avatar nukulb avatar qingbiao avatar rburbidge avatar ronalag avatar rwmtse avatar rylan avatar sleroux avatar tlai avatar tracyli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.