Skip to content

Latest commit

 

History

History
77 lines (54 loc) · 3.77 KB

CONTRIBUTING.md

File metadata and controls

77 lines (54 loc) · 3.77 KB

How to contribute to Jasonette

Want to help with documentation?

If you would like to contribute to the documentation, let's discuss on the documentation repository.

Do you have a bug report or a feature request?

  • Ensure the bug was not already reported by searching on GitHub under Issues.

  • If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.

Did you write a patch that fixes a bug?

  • Open a new GitHub pull request with the patch.

  • Don't fork master branch. **Fork develop branch and send a pull request to develop.

  • Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.

Did you write a cool extension?

Feel free to fork the project and write your own extension

If you wrote a cool extension, please share it with the community in the slack channel.

Do you have other types of questions?

Project Structure

Class hierarchy

hierarchy

Here's a brief walkthrough of how the project is structured:

  • java
    • com.jasonette.seed
      • Action: Where all actions are implemented. The implementation follows the convention described here.
      • Component: Implements components, following the convention described here.
      • Core: Core logic that handles action dispatch, view construction, templating, and some native system actions.
        • JasonModel: Deals with all the data associated with JasonViewActivity.
        • JasonParser: Handles template parsing. Calls parser.js.
        • JasonViewActivity: The main Jason view.
      • Helpe
        • JasonHelper: Various helper methods
        • JasonSettings: Helper methods for app-wide settings
      • Launcher
        • You can ignore this, this just launches the app.
      • Section: Implements sections
        • ItemAdapter: data binding for the scrolling section items.
        • JasonLayout: Deals with layout.
  • assets
    • parser.js: The javascript powered JSON templating engine.
    • csv.js: CSV parser
  • res
    • values
      • strings.xml: Config strings

What files you will be touching

####User In most cases, the only thing you will ever need to touch is the res/values/strings.xml file. This is where you set the main url your app will launch from, and the title of the app.

####Advanced Sometimes you may want to write an extension. In this case you may need to deal with:

  • Action: To write action extension
  • Component: To write UI component extension

####Guru If you find a bug anywhere in the code, or have any improvements anywhere else, please feel free to:

  1. Fork the develop branch
  2. Create a feature branch
  3. Fix
  4. Send a pull request