Difference between revisions of "INX extension descriptor format"

From Inkscape Wiki
Jump to navigation Jump to search
(Move documentation)
Tags: Replaced Visual edit
 
(34 intermediate revisions by 18 users not shown)
Line 1: Line 1:
== Introduction ==
This page previously contained information on the *.inx file format. The information is now found at [https://inkscape.gitlab.io/extensions/documentation/authors/inx-overview.html the extensions documentation].
 
In order for Inkscape to make use of an external script or program, you must describe that script to inkscape using an INX file. See the inkscape share directory for examples. The INX file allows the author to:
* label strings for translation
* define parameters
* chain extensions
* etc
Be sure to read through the INX files that come with Inkscape. Nothing beats a working example.
 
== Localisation of extensions ==
 
To allow localisation of strings in extension for Inkscape, some xml tags have to be adapted to variant readable by intltool. It means that tags or parametres has to have "_" prepended to their name, e.g. <_name>name of extension</_name>
 
Also the path to the extension has to be included in POTFILES.in file to tell intltool where to look for translatable content.
 
Usefull information, before this section gets fully updated, can be found at [http://gould.cx/ted/blog/Translating_Custom_XML Ted's blog].
 
== Example ==
More example INX files are available in the Inkscape distribution or in the Inkscape [http://inkscape.svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/share/extensions/|SVN repository].
 
  <inkscape-extension>
    <_name>{Friendly Extension Name}</_name>
    <id>{org.domain.sub-domain.extension-name}</id>
      <dependency type="executable"
                  location="[extensions|{location}]">program.ext</dependency>
      <param name="{argumentName}" type="[int|float|string|boolean]"
            min="{number}" max="{number}"
            _gui-text="{Friendly Argument Name}">{default value}</param>
    <effect>
      <object-type>[all|{element type}]</object-type>
        <effects-menu>
          <submenu _name="{Extension Group Name}"/>
        </effects-menu>
    </effect>
    <script>
      <command reldir="extensions"
              interpreter="[python|perl|bash|{some other}]">program.ext</command>
    </script>
  </inkscape-extension>
 
== DTD ==
 
<!ELEMENT inkscape-extension (name, id, dependency*, param*,(input|output|effect),(script|plugin))>
<!ELEMENT input (extension, mimetype, filetype, filetypetooltip, output_extension?)>
<!ELEMENT output (extension, mimetype, filetype, filetypetooltip, dataloss?)>
<!ELEMENT effect (object-type)>
<!ELEMENT script (command, helper_extension*, check*)>
<!ELEMENT plugin (name)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT id (#PCDATA)>
<!ELEMENT dependency (#PCDATA)>
<!ELEMENT param (#PCDATA)>
<!ELEMENT extension (#PCDATA)>
<!ELEMENT mimetype (#PCDATA)>
<!ELEMENT filetype (#PCDATA)>
<!ELEMENT filetooltip (#PCDATA)>
<!ELEMENT object-type (#PCDATA)>
<!ELEMENT command (#PCDATA)>
<!ELEMENT check (#PCDATA)>
<!ELEMENT dataloss (#PCDATA)>
<!ELEMENT helper_extension (#PCDATA)>
<!ELEMENT output_extension (#PCDATA)>
<!ATTLIST check reldir (absolute|path|extensions|plugins) #REQUIRED>
<!ATTLIST command reldir (absolute|path|extensions|plugins) #REQUIRED>
<!ATTLIST dependency type (executable|extension) #REQUIRED>
<!ATTLIST dependency location (absolute|path|extensions|plugins) #IMPLIED>
<!ATTLIST dependency description CDATA #IMPLIED>
<!ATTLIST param name CDATA #REQUIRED>
<!ATTLIST param type (float|int) #REQUIRED>
 
== See Also ==
*[[ScriptingHOWTO]]
*[http://sourceforge.net/mailarchive/message.php?msg_id=11420660|Aaron's message] from the developer list with an initial DTD.
 
[[Category:Developer Documentation]]
[[Category:Developer Documentation]]
[[Category:Help Wanted]]
[[Category:Help Wanted]]
[[Category:Extensions]]
[[Category:Extensions]]

Latest revision as of 20:12, 10 March 2022

This page previously contained information on the *.inx file format. The information is now found at the extensions documentation.