Difference between revisions of "Extension repository"
Line 108: | Line 108: | ||
===[http://www.lysator.liu.se/~perni/iboardgameexts/ Boardgame extensions]=== | ===[http://www.lysator.liu.se/~perni/iboardgameexts/ Boardgame extensions]=== | ||
Inkscape Extensions for Boardgame Developlemt [http://www.boardgamegeek.com/thread/299033/inkscape-extensions-for-boardgame-developlemt 1]. Includes a hexagonal board/hexmap creator and tools to sheets of tiles for counters ect. | |||
==Extensions for Programmers:== | ==Extensions for Programmers:== |
Revision as of 18:03, 28 June 2010
It would be very useful to have a central Internet repository for Inkscape extensions, similarly as Firefox has. This way, Inkscape could update installed extensions from the web site, with no need for the user to know if an extension is updated.
Extensions
What extensions are there? We can start listing them here:
Inkscape Effects
Aaron Spikes' set of extensions is now included in Inkscape.
ExtrudeEffect
Extrude polygons to "3d", also make "string art".
InkscapeCalendarShellScript
Creating calendars sucks or is impractical if you do not have something that automates the process of putting the days organized in blocks of months for you. To format manually is easy, but this extension can help you on this too Bash script, works for Win32 with Cygwin.
InkscapeAreaCutter
For web designers. Slice your site design into .png images. (pt_BR)
EQTeXSVG
Convert an inline LATEX equation into SVG path using Python.
InkLaTeX
Insert LaTeX text or equations into Inkscape.
TexText
Embed re-editable LaTeX objects into SVG drawings.
PathDeform
Bend a path according to another one. N.B. This extension was added to Inkscape 0.45 as "Pattern along Path".
InkBar
Create EAN13 bar codes.
SWF output
Save drawings as SWF.
Puff
Fluffs elements! :D
Sudoku Generator
Generates a Sudoku square with its solution (in a small square if you want).
CalligraphedOutlineFill
Helps to fill in the inside area of shapes drawn with the Calligraphy tool.
SlotStar
Helps to draw the star of slot of a winding of an electrical machine
inkscapeLatexExtension
Extract text in an SVG drawing to a LaTeX picture environment.
s.a.w.s
Export an SVG as valid XHTML/CSS files.
Generator
Replace text and data to automatically generate files (as PDF, PS, JPG, etc...), based on an SVG template and a data file.
TikZ exporter
Export SVG paths as TikZ/PGF code for use with LaTeX.
FindMatch
Looks for paths that match the selected path and places all matches on the same layer.
InkSyntax
A source code syntax highlighter plugin for Inkscape (wrapping pygments and highlight).
Place Objects on Path
Places objects on a curve. The curve is the object that has the lowest z-order (and which must be a path). Distances between objects remain the same as they were before placing. If objects can't be placed on the curve because of their distances they are left in place. Objects will not be modified; clones are allowed. Arrange distances between your objects manually first as curve position and direction.
JessyInk
A collection of Javascripts that can be embedded into an SVG file to produce slide shows on opening in a browser. Current releases of JessyInk include a number of inkscape extensions to assign effects, transitions and other aspects of the presentations.
svg2dxf
Updated version of Better Better DXF output which adds support for polylines and does not overwrite the default inkscape simpletransform.py. See README if getting lxml xpath errors.
PixelSnap
Tool for aligning object/paths onto the pixel grid for bitmap export.
Guide creator
Creates multiple guides at once, at set intervals.
Scale Generator
Create ruler scales / map scales.
Seven Segment Digits
Create calculator style digits.
Close curves
Closes all open paths in the selection.
Gcode tools
Generates Gcode program (used in CNC machinery) from given paths.
Closeoff, Scatterpath, Selection, Zigzag and Netting
See [1] for how to use Zigzag and scater extensions.
Inksmoto
Level editor for the Xmoto game.
Close Curves
Extension to close the paths in the selection, useful for importing filled paths into openoffice.
gcodetools
Gcodetools is a plug-in for Inkscape. It prepares and converts paths from Inkscape to Gcode, using biarc interpolation. for use with CNC milling machines.
SignCut Export
Set of extensions that come with SignCut to enable Inkscape users to use plotters / cutters via the SignCut software.
Boardgame extensions
Inkscape Extensions for Boardgame Developlemt 1. Includes a hexagonal board/hexmap creator and tools to sheets of tiles for counters ect.
Extensions for Programmers:
RubyInk
Inkscape extension with Ruby
Ink-Bash
ShellScript Forever!
InkMoz
The Bridge from Inkscape to Mozilla (Inkscape extension with Javascript and more)
The Repository Specification
A website where programmers can publish their extensions, users can search by that, and an update program can access this updates.
The Website
Must Have:
- User Registration: to allow upload, votes and comments
- Extension Validation: when published, it is public, but the user must be notified that was not validated (the code must be viewed by an validator user). The software updater do not update non-validated versions.
- Validation Feedback: the validator user must write why the extension was not validated.
- Extension Deletion: the validator user can delete an extension or version when he found a malicious code. The upload user must be marked as a malicious user and the account must be blocked.
- Extension Search: with filter, by any available data.
- User Votes and Comments for Extensions: The user can vote and/or comment an extension version.
- Extension Bug-Tracker: today, third part extensions are in simple web-pages. The site may have a Bug-Traker to help all little scripts.
- User Extensions Requests: a lot of users have ideas. Here is a good place for programmers see and make that alive.
- Host a cool page for the extension: allow introduction text, documenbtation, screenshots, examples, and i18n!
- Help the l10n of this extensions: with a web interface, like pootle and provide the l10n file for the updater program.
- Provide Version Control: A SVN account will be cool, but web uploads (by web-forms) can be transparently SVN commits.
The Extension Meta-Data
The data in INX file and more some, like the OS and Inkscape version compatibility...
The INX file will define the meta-data settable by that. If some extension uses multiples INX files to have more than one option in the menu, all INX files must be read to set the meta-data. The meta-data will be cached in a database to help the search. The DB only need the meta-data of the last validated version and the last non-validated (if that is newer).
The Update Program
- Search for New Extensions: when the user request
- Update Extensions: search for updates and install that
- Help the Code Validation: for advanced users. Show the extension code and the diff if is that an update.
- Help the User Bug-Reporting: that is not working! The user must say now! (When the Update Program be part of the Inkscape, the error window can have a button to submit a bug-report)
- Must test the extension dependencies: the user must know what is needed to install before try to use.
Name Proposal
Propose a name for the Inkscape Extension Repository:
- The Factory
- Extension Factory
- INX Factory
Why Factory? Because it is not only a repository. ;-)
- The Furnace
Because Fire & Coal (Passion & Knowledge) are your tools for creating the extensions
Mockups
Here are some suggestions for what an extension repository might look like.
I have no idea of the detail of this project; I don't currently have the skills necessary to try implementing it. I'm also not sure whether it's a good idea for Inkscape to offer hosted repositories (using Redmine or Trac?) or whether it would be better to just leave it to the developer to use somewhere like GitHub or BitBucket and then use their APIs to pull some basic data onto the site. Legio noctis 10:19, 23 May 2010 (UTC)