In the spirit of free software, everyone is encouraged to help improve this project.
To contribute code, simply fork the project on GitHub, hack away and send a pull request with your proposed changes. Feel free to use the issue tracker to provide feedback or suggestions in other ways.
The project is hosted and run using GitHub. The issue tracker is in place to report bugs, discuss improvements, show our ambitious goals and desires for the future, and encourage each other. Classification labels and versioning tags are added for clarity and the ability to search.
Labels are added to issues and pull request for clarity, in the present but also when looking back at previous issues and pull requests.
bug |
the current implementation has a flaw that needs to be resolved |
question |
generic question |
improvement |
refinement on top of an existing feature |
enhancement |
new feature |
duplicate |
a similar (open) issue already exists |
invalid |
not reproducible or out of date |
declined |
a decision was made not to pursue |
WIP |
currently a Work In Progress, not ready for a merge |
ready |
development is done |
The source code for this plugin is available from https://github.com/asciidoctor/atom-asciidoc-preview.
Use the following command to download dependencies (Season, CoffeeLint, …):
apm install
-
Decide what you want to work on, and what should be the result
-
Have a GitHub account
-
Fork the project to your personal account
-
Check out your forked project for local development using git
-
Navigate to the directory using the command line interface
-
Link the package using
apm link -d
, and start atom in dev-mode using the commandatom -d .
-
Develop (this is where the magic happens)
-
Commit and push your code onto your forked project
-
Make a pull request and fill in the pull request template to request for the changes to be merged into the upstream project
-
Answer questions or make adjustments based on the discussion around the pull request
-
Wait for the merge, wait for the next release, use it in your normal Atom install
-
Show off to others what you have made, and feel proud for you have improved the lives of many by contributing to this package!
When opening a pull request on GitHub, Travis CI will run the Atom package specs and lint using CoffeeScript files. Of course you can do so yourself, so you can ensure your code will pass the check in the pull-request.
This package uses CoffeeLint to ensure that the code is uniformly structured. The linter definitions are defined in the coffeelint.json.
When developing in Atom, the linter-coffeelint package exposes the linting in your editor. It does require CoffeeLint to be installed.
CoffeeLint can also be triggered from the command line:
coffeelint -f coffeelint.json lib/*.coffee spec/*-spec.coffee menus/*.cson keymaps/*.cson
Tests are defined in spec directory, which provide snippets of text and test if the parsed result meet the expectations. Ideally all grammar features are covered in the specs (100% test coverage), with both positive and negative tests. Having these tests present will help future contributors make improvements without accidentally breaking other parts of the package.
There are multiple ways in which you can run the tests:
atom --test spec
Window: Run Package Specs
curl -s https://raw.githubusercontent.com/atom/ci/master/build-package.sh > build-package.sh
sh build-package.sh