1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
Submitting and reviewing extensions
===================================
This page details how extensions can be submitted to and moderated on
the Inkscape website.
I want to submit my extension
-----------------------------
Go through each of these actions and check to make sure your extension
is ready to be made available in Inkscape:
#. Check for limitations
* Your extension must not contact the internet (unless exempted for a good reason)
* It must not self-update, or edit files in the config directory.
* It must be readable code, in English. Code in other languages or too obscure may not be accepted.
#. Check the license of your code
* Your code must be Free and Open Source. Using one of the available licenses such
as GPL, AGPL, MIT, Apache2 etc.
* Every included dependency must be also Free and Open Source.
#. Check all of your dependencies
* Your extension MUST be python based (except for template extensions)
* It MUST work with python 3.7 or later
* Any dependency not shipped with Inkscape MUST be packaged along side your
extension. For example jinja2 would be included in a folder.
#. Create a zip file of your extension and any external depdencies.
* Include only one copy in the root of the zip file.
* No specific versions for windows or linux, macOS.
#. Check which versions of Inkscape it works with (each one, make a note for tagging
later)
* set the variable "INKSCAPE_PROFILE_DIR=/tmp/folder"
* run the inkscape version
* open the extensions manager
* install the zip file you hope to submit (second tab, folder button at the bottom)
* Your extension MUST work with at least one version of Inkscape.
#. Sign your zip file
* Use GnuPG to sign your zip file, use the same signature as the public key you
uploaded to inkscape.org
* OR use md5hash to create a less secure md5 signature of the zip file. Make sure
you have some text in your inkscape.org gnupg key profile setting so you see the
signature field when uploading.
#. Upload the zip file to the extensions category in the website.
* Include the generated signature
* Title and description in English with as much detail as possible
* Add Inkscape versions as you tested above.
* Include a link to the Git repository.
* Include an icon and screenshot file.
#. Send a message to the Inkscape extensions team on `RocketChat`_ asking for a review.
.. _RocketChat: https://chat.inkscape.org/channel/inkscape_extensions
I want to review a submission
-----------------------------
Extensions Reviewer Checklist
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ☐ Take next popular extension [#]_ or request to review
- ☐ Check for existing verification signature
- ☐ Contact author to inform about review
- ☐ Unpack zip to extensions folder
- ☐ Check zip contents for inx and py file
- ☐ Check for license header and/or file
- ☐ Run pytest and record test coverage
- ☐ Run pylint to get code quality score
- ☐ Visually confirm no mallicious or internet code
- ☐ If no tests, add simple test upstream [#]_
- ☐ Install zip using extensions manager
- If everything is correct …
- ☐ Add version tags and any other tags
- ☐ Edit description, title, logos to improve presentation
- ☐ contact a website administrator to complete
If everything is correct (must be admin):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ☐ Add testing and quality scores to decription
- ☐ Generate signature key and upload
- ☐ Generate md5 if package is not self-signed
.. [#] https://inkscape.org/gallery/=extension/
.. [#] Add simple inkex.tester comparision test
|