GithubHelp home page GithubHelp logo

cordova-docs's Introduction

Apache Cordova API Documentation

The JavaScript API documentation for Apache Cordova.

The documentation is available at docs.cordova.io.

Documentation Format

All of the Apache Cordova documentation is written with markdown, a lightweight markup language that can be typeset to HTML. Markdown provides a simple and flexible way to document Cordova's core API and platform-specific APIs.

File Structure

docs/
docs/LANGUAGE
docs/LANGUAGE/VERSION
docs/LANGUAGE/VERSION/cordova/
docs/LANGUAGE/VERSION/cordova/PluginName/
docs/LANGUAGE/VERSION/cordova/PluginName/className.md
docs/LANGUAGE/VERSION/cordova/PluginName/className.functionName.md

Contributing to the Documentation

Report or Fix an Issue

We use Apache JIRA

By the way, you rock! Thanks for helping us improve the documentation!

Using Git

Are you new to Git or contributing on GitHub?

We have written a few Git tutorials to help you get started with contributing to the documentation.

Sending Pull Requests

Pull requests are welcome!

We appreciate the use of topic branches.

git checkout -b issue_23

# code

git commit -m "Issue 23: Fix a bad bug."

git push origin issue_23

# send pull request from branch issue_23 to cordova:master

Adding a Language

Do you want the Apache Cordova documentation in another language? We do too!

1. Create the language directory

# Spanish
mkdir docs/es

2. Add a version

Start with the latest stable release. You can always add other versions later.

mkdir docs/es/1.0.0

3. Begin Translating

Currently, English is the most up-to-date and so it is easiest to copy each English file into the new language directory.

4. config.json

For each version, there is a config.json that defines the name of the language and how to merge the files.

5. Customizing HTML template

Each language can override the default template in template/docs/LANGUAGE.

Editorial Guidelines

Please see the STYLESHEET.md file for guildelines on language and usage.

Generating the Documentation

Quick Preview

When making minor edits, it is usually safe to simply render the edited from Markdown to HTML. Many code editors have plugins to render Markdown to HTML and there are a handful of good online editors.

Currently, a Ruby script and joDoc are used to generate the HTML documentation.

Install joDoc

  • Clone joDoc

      git clone http://github.com/davebalmer/joDoc.git
    
  • Add joDoc/ to your path

    Open ~/.bashrc or ~/.profile (or whatever you use)

      export PATH=$PATH:~/path/to/joDoc/
    
  • Install markdown

      # Use your package manager
      brew install markdown
    
  • Install nokogiri (Ruby HTML parser)

      gem install nokogiri
    
  • Install json (Ruby JSON parser)

      gem install json
    

Run the Script

bin/generate

If all you want to generate is edge/English, then

bin/generate --edge

Problems

Generated a Version Release

There is a Rake task to increment the version, generate the version directory, and update the edge documentation.

# generate version 1.7.0
rake version[1.7.0]

FAQ

Error while running ./bin/generate

If you get the following error:

./bin/../lib/cordova/navigation_menu.rb:14:in `read': can't convert nil into String (TypeError)
    from ./bin/../lib/cordova/navigation_menu.rb:14:in `initialize'
    from ./bin/../lib/docs_generator.rb:86:in `new'
    from ./bin/../lib/docs_generator.rb:86:in `after_jodoc'
    from ./bin/../lib/docs_generator.rb:55:in `run'
    from ./bin/../lib/docs_generator.rb:45:in `foreach'
    from ./bin/../lib/docs_generator.rb:45:in `run'
    from ./bin/../lib/docs_generator.rb:41:in `foreach'
    from ./bin/../lib/docs_generator.rb:41:in `run'
    from ./bin/generate:6

You may need to add the following line to the joDoc script:

$markdown_bin = "/path/to/Markdown.pl";

For more details, see the Issue #590.

cordova-docs's People

Contributors

aflx avatar agrieve avatar alunny avatar becka11y avatar brianleroux avatar brycecurtis avatar cfjedimaster avatar clelland avatar cmarcelk avatar devgeeks avatar devicewall avatar filmaj avatar hay avatar hermwong avatar imhotep avatar infil00p avatar jamesjong avatar jjalonso avatar keiko713 avatar keitam avatar macdonst avatar mike-sierra avatar mmocny avatar mwbrooks avatar mwoghiren avatar purplecabbage avatar shazron avatar sintaxi avatar stevengill avatar timkim avatar

Watchers

 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.