diff options
Diffstat (limited to 'share/extensions/README.md')
-rw-r--r-- | share/extensions/README.md | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/share/extensions/README.md b/share/extensions/README.md new file mode 100644 index 0000000..531b476 --- /dev/null +++ b/share/extensions/README.md @@ -0,0 +1,67 @@ +# Inkscape Extensions + +This folder contains the stock Inkscape extensions, i.e. the scripts that +implement some commands that you can use from within Inkscape. Most of +these commands are in the Extensions menu. + +## Installation + +These scripts should be installed with an Inkscape package already (if you have +installed Inkscape). For packagers or people testing newer releases, you can +install the files into /usr/share/inkscape/extensions or +~/.config/inkscape/extensions . + +## Testing + +These extensions are designed to have good test coverage for python 3.6 and above. + +You must install the program `pytest` in order to run these tests. You may run all tests by omitting any other parameters or select tests by adding the test filename that you want to run. + + pytest + pytest tests/test_my_extension.py + +See TESTING.md for further details. + +## Extension description + +Each *.inx file describes an extension, listing its name, purpose, +prerequisites, location within the menu, etc. These files are read by +Inkscape on launch. Other files are the scripts themselves (Perl, +Python, and Ruby are supported, as well as shell scripts). + +## Development + +Development of both the core inkex modules, tests and each of the extensions +contained within the core inkscape extensions repository should follow these +basic rules of quality assurance: + + * Use python3.6 or later, no python2 code would be used here. + * Use pylint to ensure code is written consistantly + * Have tests so that each line of an extension is covered in the coverage report + * Not cross streams between extensions, so your extension should import from + a module and not from another extension. + * Use translations on text for display to users using get text. + * Should not require external programs to work (with some exceptions) + +Also join the community on chat.inkscape.org channel #inkscape_extensions with any +doubts or problems. + +## Building Docs + +You may wish to compile to docs for use outside of the Inkscape docs, this can +be done with these commands: + + sphinx-apidoc -F -o source inkex + ./setup.py build_sphinx -s source + firefox ./build/sphinx/html/inkex.html + +All documentation should be included INSIDE of each python module. + +The latest documentation for master branch can be found at +https://inkscape.gitlab.io/extensions/documentation/. + +## License Requirements + +Only include extensions here which are GPL-compatible. This includes +Apache-2, MPL 1.1, certain Creative Commons licenses, and more. See +https://www.gnu.org/licenses/license-list.html for guidance. |