Adding a contributing.md file for contributors.
This commit is contained in:
parent
7cb679cfd1
commit
93fb626276
3 changed files with 113 additions and 0 deletions
|
@ -126,6 +126,11 @@ ScriptCraft plugin...
|
||||||
[cbdl]: http://dl.bukkit.org/downloads/craftbukkit/
|
[cbdl]: http://dl.bukkit.org/downloads/craftbukkit/
|
||||||
[bukapi]: http://jd.bukkit.org/apidocs/
|
[bukapi]: http://jd.bukkit.org/apidocs/
|
||||||
|
|
||||||
|
Contributing
|
||||||
|
============
|
||||||
|
|
||||||
|
If you would like to contribute source code and/or documentation changes please [read contributing.md][contrib]
|
||||||
|
|
||||||
Further Reading
|
Further Reading
|
||||||
===============
|
===============
|
||||||
|
|
||||||
|
@ -150,3 +155,4 @@ You can find more information about [ScriptCraft on my blog][blog].
|
||||||
[cda]: http://cdathenry.wordpress.com/category/modderdojo/
|
[cda]: http://cdathenry.wordpress.com/category/modderdojo/
|
||||||
[ytpl]: http://www.youtube.com/watch?v=DDp20SKm43Y&list=PL4Tw0AgXQZH5BiFHqD2hXyXQi0-qFbGp_
|
[ytpl]: http://www.youtube.com/watch?v=DDp20SKm43Y&list=PL4Tw0AgXQZH5BiFHqD2hXyXQi0-qFbGp_
|
||||||
[ex]: ../../tree/master/src/main/javascript/plugins/examples
|
[ex]: ../../tree/master/src/main/javascript/plugins/examples
|
||||||
|
[contrib]: contributing.md
|
||||||
|
|
107
contributing.md
Normal file
107
contributing.md
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
# Notes for Contributors
|
||||||
|
|
||||||
|
This project uses a Maven-like directory structure...
|
||||||
|
|
||||||
|
src +
|
||||||
|
main +
|
||||||
|
java +
|
||||||
|
net +
|
||||||
|
walterhiggins +
|
||||||
|
scriptcraft +
|
||||||
|
ScriptCraftPlugin.java
|
||||||
|
|
||||||
|
javascript +
|
||||||
|
lib +
|
||||||
|
(core javascript code goes here. Modules in this directory
|
||||||
|
should not be 'require'd by plugin or module authors)
|
||||||
|
modules +
|
||||||
|
(this is where module authors should put modules for
|
||||||
|
use by others)
|
||||||
|
plugins +
|
||||||
|
(this is where plugins - scriptcraft extensions for use by
|
||||||
|
operators and players should go)
|
||||||
|
resources +
|
||||||
|
plugin.yml
|
||||||
|
docs +
|
||||||
|
templates +
|
||||||
|
(documentation templates go here. If you want to make
|
||||||
|
changes to the young persons guide should be made to ypgpm.md)
|
||||||
|
ypgpm.md
|
||||||
|
javascript +
|
||||||
|
(javascript source used to build the API reference and
|
||||||
|
table of contents for the API reference and Programming Guide
|
||||||
|
is located here)
|
||||||
|
docs +
|
||||||
|
(the following files should not be edited directly because they are constructed
|
||||||
|
during the build process - yeah I know they strictly shouldn't be under source control but
|
||||||
|
it's nice to have the markdown docs on github for reading by non-contributors)
|
||||||
|
|
||||||
|
API-Reference.md
|
||||||
|
Young-Persons-Guide.md
|
||||||
|
|
||||||
|
(this project is build using Ant, type `ant` at the command line to build.)
|
||||||
|
|
||||||
|
build.xml
|
||||||
|
build.properties
|
||||||
|
|
||||||
|
## Core javascript modules
|
||||||
|
|
||||||
|
ScriptCraft's deployed core consists of a single Java source file (the
|
||||||
|
Bukkit Plugin) and a tiny set of javascript source files located in
|
||||||
|
the src/main/javascript/lib directory. All other javascript files are
|
||||||
|
optional modules and plugins. `scriptcraft.js` is the first file
|
||||||
|
loaded by the Java plugin. scriptcraft.js in turn loads the require.js
|
||||||
|
file which initializes the commonJS `require()` function and all other
|
||||||
|
files in the lib directory are then loaded. Finally all of the modules
|
||||||
|
in the plugins directory are automatically loaded and any exports are
|
||||||
|
automatically exported to the global namespace. For example a file
|
||||||
|
called `greet.js` located in the plugins folder...
|
||||||
|
|
||||||
|
// plugins/greet.js contents
|
||||||
|
|
||||||
|
exports.greet = function(sender){
|
||||||
|
sender.sendMessage('hello')
|
||||||
|
}
|
||||||
|
|
||||||
|
... will be loaded at startup and the `greet` function will be
|
||||||
|
global. Anyone with operator privileges can type `/js greet(self)` at
|
||||||
|
the in-game command prompt to execute the function.
|
||||||
|
|
||||||
|
## Documentation contributions
|
||||||
|
|
||||||
|
The Young persons guide to programming source file is located at
|
||||||
|
/src/docs/templates/ypgpm.md . *Do not make changes to
|
||||||
|
/docs/YoungPersonsGuide.md*
|
||||||
|
|
||||||
|
The API Reference is generated by the build from markdown comments
|
||||||
|
embedded in the javascript source. If you would like comments for
|
||||||
|
contributed code to be included in the API reference then enclose your
|
||||||
|
comment as follows:
|
||||||
|
|
||||||
|
* Start the comment block with a `/**********` (a forward-slash
|
||||||
|
followed by 10 or more asterisk characters). *The start block must
|
||||||
|
be at the start of the line*.
|
||||||
|
|
||||||
|
* End the comment block with a `***/` (3 asterisk followed by a
|
||||||
|
forward slash) at the start of a new line.
|
||||||
|
|
||||||
|
This is an example of a comment which will be included in the API reference...
|
||||||
|
|
||||||
|
/*********************
|
||||||
|
## foo() function
|
||||||
|
|
||||||
|
The foo() function performs foo-type operatations on all bars.
|
||||||
|
|
||||||
|
### Parameters
|
||||||
|
|
||||||
|
* name : Name of the foo
|
||||||
|
* count: Number of foos to perform
|
||||||
|
|
||||||
|
### Returns
|
||||||
|
foo() returns a list of foos that were changed.
|
||||||
|
|
||||||
|
***/
|
||||||
|
|
||||||
|
Top level comments for a module should be a H2 heading `##`. Please
|
||||||
|
don't use a H1 heading ( `#` ) as this is used for the top-level API
|
||||||
|
document title.
|
Reference in a new issue