From 46f9941377d9a100e5f5928cadbb54c1278356b6 Mon Sep 17 00:00:00 2001 From: Mario Voigt Date: Wed, 13 Oct 2021 17:13:24 +0200 Subject: [PATCH] added more meta information --- .../about_upgrade_mightyscape/meta.json | 19 + .../fablabchemnitz/lasercut_jigsaw/meta.json | 24 + .../fablabchemnitz/lasercut_polygon/meta.json | 20 + .../laserdraw_export.inx} | 4 +- .../lyz_bezmisc.py | 0 .../lyz_cspsubdiv.py | 0 .../lyz_cubicsuperpath.py | 0 .../lyz_export.py | 0 .../lyz_export_zip.inx | 4 +- .../lyz_ffgeom.py | 0 .../lyz_inkex.py | 0 .../lyz_library.py | 0 .../lyz_simplepath.py | 0 .../lyz_simplestyle.py | 0 .../lyz_simpletransform.py | 0 .../fablabchemnitz/laserdraw_export/meta.json | 20 + .../fablabchemnitz/layer_clip/clip_above.inx | 2 +- .../fablabchemnitz/layer_clip/clip_below.inx | 2 +- .../layer_clip/clip_current.inx | 2 +- .../layer_clip/clip_fixtransform.inx | 2 +- .../fablabchemnitz/layer_clip/clip_parent.inx | 2 +- .../fablabchemnitz/layer_clip/clip_remove.inx | 2 +- .../fablabchemnitz/layer_clip/meta.json | 21 + .../fablabchemnitz/leather_case/meta.json | 20 + .../fablabchemnitz/line_animator/meta.json | 20 + .../fablabchemnitz/line_shading/meta.json | 21 + .../living_hinge/living_hinge.inx | 2 +- .../fablabchemnitz/living_hinge/meta.json | 21 + .../living_hinge_size_input/meta.json | 20 + .../longest_continuous_path/meta.json | 20 + .../fablabchemnitz/low_poly_2/meta.json | 20 + extensions/fablabchemnitz/maze/meta.json | 20 + extensions/fablabchemnitz/mirror/meta.json | 20 + .../fablabchemnitz/move_path_node/meta.json | 19 + .../fablabchemnitz/mutual_cut_line/meta.json | 20 + extensions/fablabchemnitz/netting/meta.json | 20 + .../fablabchemnitz/nextgenerator/meta.json | 21 + .../fablabchemnitz/number_subpaths/meta.json | 20 + extensions/fablabchemnitz/ocr/meta.json | 19 + .../fablabchemnitz/offset_paths/meta.json | 19 + .../fablabchemnitz/open_closed_path/meta.json | 20 + .../open_in_roland_cutstudio/meta.json | 20 + .../meta.json | 20 + .../meta.json | 20 + .../optimize_sequence_travel_distance.py | 2 +- .../fablabchemnitz/origami_patterns/meta.json | 20 + .../fablabchemnitz/output_pro/meta.json | 20 + .../papercraft_unfold/meta.json | 20 + extensions/fablabchemnitz/paperfold/meta.json | 20 + extensions/fablabchemnitz/parabola/meta.json | 20 + .../fablabchemnitz/parabola_2/meta.json | 20 + .../parallel_translation/meta.json | 20 + .../path_intersections/meta.json | 20 + extensions/fablabchemnitz/pathops/meta.json | 21 + .../paths_to_openscad/meta.json | 21 + .../fablabchemnitz/perspective_grid/meta.json | 20 + .../fablabchemnitz/piano_scale/meta.json | 21 + extensions/fablabchemnitz/pixel2svg/meta.json | 20 + .../fablabchemnitz/pixels2objects/meta.json | 20 + .../fablabchemnitz/playing_cards/meta.json | 20 + extensions/fablabchemnitz/polygen/meta.json | 19 + .../fablabchemnitz/polygon_side/meta.json | 20 + extensions/fablabchemnitz/polyhedra/meta.json | 20 + extensions/fablabchemnitz/primitive/meta.json | 19 + .../printing_marks_dotted/meta.json | 20 + .../purge_duplicate_path_nodes/meta.json | 20 + .../purge_duplicate_path_segments/meta.json | 19 + .../purge_pointy_paths/meta.json | 19 + .../fablabchemnitz/quick_joint/meta.json | 20 + .../fablabchemnitz/random_line/meta.json | 20 + extensions/fablabchemnitz/ratchet/meta.json | 20 + extensions/fablabchemnitz/reload/meta.json | 19 + .../remove_duplicate_guides/meta.json | 20 + .../remove_duplicate_lines/meta.json | 20 + .../remove_empty_groups/meta.json | 19 + .../remove_obsolete_attributes/meta.json | 20 + .../render_silhouette_regmarks/meta.json | 20 + .../replace_color_and_alpha/meta.json | 20 + .../reverse_order_of_subpaths/meta.json | 20 + .../fablabchemnitz/robot_boxes/meta.json | 20 + .../roland_cutstudio_eps_export/meta.json | 20 + extensions/fablabchemnitz/rotations/meta.json | 20 + .../fablabchemnitz/rotations/rotate_helper.py | 8 +- .../rotations/rotations_find_all_optimal.inx | 27 +- .../rotations/rotations_find_all_optimal.py | 5 +- .../rotations_minimum_bounding_box_area.inx | 27 +- .../rotations_minimum_bounding_box_area.py | 5 +- .../rotations/rotations_minimum_width.inx | 27 +- .../rotations/rotations_minimum_width.py | 5 +- .../fablabchemnitz/round_corners/meta.json | 20 + extensions/fablabchemnitz/rounder/meta.json | 20 + .../scale_to_path_length/meta.json | 20 + .../scale_to_path_length.inx | 4 +- .../fablabchemnitz/scale_to_real/meta.json | 20 + .../fablabchemnitz/scale_to_size/meta.json | 19 + .../fablabchemnitz/set_view_box/meta.json | 20 + .../shape_recognition/meta.json | 20 + .../shape_recognition/shape_recognition.inx | 8 +- .../shape_recognition/shaperrec/geometric.py | 2 +- extensions/fablabchemnitz/shapes/meta.json | 20 + .../sheet_metal_conus/meta.json | 21 + .../sheet_metal_conus/sheet_metal_conus.py | 21 +- .../fablabchemnitz/sheriff_star/meta.json | 20 + .../fablabchemnitz/shirt_waist/meta.json | 21 + .../show_path_coordinates/meta.json | 20 + .../fablabchemnitz/simple_frame/meta.json | 20 + .../simple_registration/meta.json | 20 + .../simple_registration.inx | 77 +++ .../simple_registration.py | 466 ++++++++++++++++++ .../fablabchemnitz/simpleinkscape/meta.json | 20 + .../fablabchemnitz/sine_and_lace/meta.json | 20 + .../fablabchemnitz/slic3r_stl_input/meta.json | 20 + .../slider_electrodes/meta.json | 20 + .../snap_object_points/meta.json | 20 + .../fablabchemnitz/source_code_text/meta.json | 20 + .../source_code_text/source_code_text.inx | 2 +- .../fablabchemnitz/spirograph/meta.json | 20 + .../split_and_break_bezier_at_t/meta.json | 19 + .../fablabchemnitz/split_bezier/meta.json | 20 + extensions/fablabchemnitz/sprocket/meta.json | 20 + extensions/fablabchemnitz/starshine/meta.json | 20 + extensions/fablabchemnitz/streaks/meta.json | 20 + .../fablabchemnitz/strip_line/meta.json | 20 + .../stroke_color_as_fill/meta.json | 36 +- .../fablabchemnitz/styles_to_layers/meta.json | 34 +- extensions/fablabchemnitz/sudoku/meta.json | 36 +- .../sundial_declining/meta.json | 36 +- .../fablabchemnitz/svg2shenzhen/meta.json | 36 +- .../fablabchemnitz/svgo_output/meta.json | 36 +- .../fablabchemnitz/tab_generator/meta.json | 36 +- .../fablabchemnitz/table_support/meta.json | 36 +- extensions/fablabchemnitz/travel/meta.json | 36 +- .../fablabchemnitz/triangular_grid/meta.json | 36 +- extensions/fablabchemnitz/tuckbox/meta.json | 36 +- extensions/fablabchemnitz/twist/meta.json | 36 +- .../meta.json | 34 +- .../fablabchemnitz/unwind_paths/meta.json | 34 +- .../fablabchemnitz/vektorkollektor/meta.json | 38 +- .../vertical_horizontal_scale/meta.json | 36 +- extensions/fablabchemnitz/visicut/meta.json | 36 +- .../fablabchemnitz/vpypetools/meta.json | 34 +- extensions/fablabchemnitz/x_agram/meta.json | 36 +- .../fablabchemnitz/zigzag_nodes/meta.json | 36 +- extensions/fablabchemnitz/zoetrope/meta.json | 36 +- 144 files changed, 2830 insertions(+), 409 deletions(-) create mode 100644 extensions/fablabchemnitz/about_upgrade_mightyscape/meta.json create mode 100644 extensions/fablabchemnitz/lasercut_jigsaw/meta.json create mode 100644 extensions/fablabchemnitz/lasercut_polygon/meta.json rename extensions/fablabchemnitz/{lyz_export/lyz_export.inx => laserdraw_export/laserdraw_export.inx} (94%) rename extensions/fablabchemnitz/{lyz_export => laserdraw_export}/lyz_bezmisc.py (100%) rename extensions/fablabchemnitz/{lyz_export => laserdraw_export}/lyz_cspsubdiv.py (100%) rename extensions/fablabchemnitz/{lyz_export => laserdraw_export}/lyz_cubicsuperpath.py (100%) rename extensions/fablabchemnitz/{lyz_export => laserdraw_export}/lyz_export.py (100%) rename extensions/fablabchemnitz/{lyz_export => laserdraw_export}/lyz_export_zip.inx (95%) rename extensions/fablabchemnitz/{lyz_export => laserdraw_export}/lyz_ffgeom.py (100%) rename extensions/fablabchemnitz/{lyz_export => laserdraw_export}/lyz_inkex.py (100%) rename extensions/fablabchemnitz/{lyz_export => laserdraw_export}/lyz_library.py (100%) rename extensions/fablabchemnitz/{lyz_export => laserdraw_export}/lyz_simplepath.py (100%) rename extensions/fablabchemnitz/{lyz_export => laserdraw_export}/lyz_simplestyle.py (100%) rename extensions/fablabchemnitz/{lyz_export => laserdraw_export}/lyz_simpletransform.py (100%) create mode 100644 extensions/fablabchemnitz/laserdraw_export/meta.json create mode 100644 extensions/fablabchemnitz/layer_clip/meta.json create mode 100644 extensions/fablabchemnitz/leather_case/meta.json create mode 100644 extensions/fablabchemnitz/line_animator/meta.json create mode 100644 extensions/fablabchemnitz/line_shading/meta.json create mode 100644 extensions/fablabchemnitz/living_hinge/meta.json create mode 100644 extensions/fablabchemnitz/living_hinge_size_input/meta.json create mode 100644 extensions/fablabchemnitz/longest_continuous_path/meta.json create mode 100644 extensions/fablabchemnitz/low_poly_2/meta.json create mode 100644 extensions/fablabchemnitz/maze/meta.json create mode 100644 extensions/fablabchemnitz/mirror/meta.json create mode 100644 extensions/fablabchemnitz/move_path_node/meta.json create mode 100644 extensions/fablabchemnitz/mutual_cut_line/meta.json create mode 100644 extensions/fablabchemnitz/netting/meta.json create mode 100644 extensions/fablabchemnitz/nextgenerator/meta.json create mode 100644 extensions/fablabchemnitz/number_subpaths/meta.json create mode 100644 extensions/fablabchemnitz/ocr/meta.json create mode 100644 extensions/fablabchemnitz/offset_paths/meta.json create mode 100644 extensions/fablabchemnitz/open_closed_path/meta.json create mode 100644 extensions/fablabchemnitz/open_in_roland_cutstudio/meta.json create mode 100644 extensions/fablabchemnitz/optimize_sequence_lasercut_sequence/meta.json create mode 100644 extensions/fablabchemnitz/optimize_sequence_travel_distance/meta.json create mode 100644 extensions/fablabchemnitz/origami_patterns/meta.json create mode 100644 extensions/fablabchemnitz/output_pro/meta.json create mode 100644 extensions/fablabchemnitz/papercraft_unfold/meta.json create mode 100644 extensions/fablabchemnitz/paperfold/meta.json create mode 100644 extensions/fablabchemnitz/parabola/meta.json create mode 100644 extensions/fablabchemnitz/parabola_2/meta.json create mode 100644 extensions/fablabchemnitz/parallel_translation/meta.json create mode 100644 extensions/fablabchemnitz/path_intersections/meta.json create mode 100644 extensions/fablabchemnitz/pathops/meta.json create mode 100644 extensions/fablabchemnitz/paths_to_openscad/meta.json create mode 100644 extensions/fablabchemnitz/perspective_grid/meta.json create mode 100644 extensions/fablabchemnitz/piano_scale/meta.json create mode 100644 extensions/fablabchemnitz/pixel2svg/meta.json create mode 100644 extensions/fablabchemnitz/pixels2objects/meta.json create mode 100644 extensions/fablabchemnitz/playing_cards/meta.json create mode 100644 extensions/fablabchemnitz/polygen/meta.json create mode 100644 extensions/fablabchemnitz/polygon_side/meta.json create mode 100644 extensions/fablabchemnitz/polyhedra/meta.json create mode 100644 extensions/fablabchemnitz/primitive/meta.json create mode 100644 extensions/fablabchemnitz/printing_marks_dotted/meta.json create mode 100644 extensions/fablabchemnitz/purge_duplicate_path_nodes/meta.json create mode 100644 extensions/fablabchemnitz/purge_duplicate_path_segments/meta.json create mode 100644 extensions/fablabchemnitz/purge_pointy_paths/meta.json create mode 100644 extensions/fablabchemnitz/quick_joint/meta.json create mode 100644 extensions/fablabchemnitz/random_line/meta.json create mode 100644 extensions/fablabchemnitz/ratchet/meta.json create mode 100644 extensions/fablabchemnitz/reload/meta.json create mode 100644 extensions/fablabchemnitz/remove_duplicate_guides/meta.json create mode 100644 extensions/fablabchemnitz/remove_duplicate_lines/meta.json create mode 100644 extensions/fablabchemnitz/remove_empty_groups/meta.json create mode 100644 extensions/fablabchemnitz/remove_obsolete_attributes/meta.json create mode 100644 extensions/fablabchemnitz/render_silhouette_regmarks/meta.json create mode 100644 extensions/fablabchemnitz/replace_color_and_alpha/meta.json create mode 100644 extensions/fablabchemnitz/reverse_order_of_subpaths/meta.json create mode 100644 extensions/fablabchemnitz/robot_boxes/meta.json create mode 100644 extensions/fablabchemnitz/roland_cutstudio_eps_export/meta.json create mode 100644 extensions/fablabchemnitz/rotations/meta.json create mode 100644 extensions/fablabchemnitz/round_corners/meta.json create mode 100644 extensions/fablabchemnitz/rounder/meta.json create mode 100644 extensions/fablabchemnitz/scale_to_path_length/meta.json create mode 100644 extensions/fablabchemnitz/scale_to_real/meta.json create mode 100644 extensions/fablabchemnitz/scale_to_size/meta.json create mode 100644 extensions/fablabchemnitz/set_view_box/meta.json create mode 100644 extensions/fablabchemnitz/shape_recognition/meta.json create mode 100644 extensions/fablabchemnitz/shapes/meta.json create mode 100644 extensions/fablabchemnitz/sheet_metal_conus/meta.json create mode 100644 extensions/fablabchemnitz/sheriff_star/meta.json create mode 100644 extensions/fablabchemnitz/shirt_waist/meta.json create mode 100644 extensions/fablabchemnitz/show_path_coordinates/meta.json create mode 100644 extensions/fablabchemnitz/simple_frame/meta.json create mode 100644 extensions/fablabchemnitz/simple_registration/meta.json create mode 100644 extensions/fablabchemnitz/simple_registration/simple_registration.inx create mode 100644 extensions/fablabchemnitz/simple_registration/simple_registration.py create mode 100644 extensions/fablabchemnitz/simpleinkscape/meta.json create mode 100644 extensions/fablabchemnitz/sine_and_lace/meta.json create mode 100644 extensions/fablabchemnitz/slic3r_stl_input/meta.json create mode 100644 extensions/fablabchemnitz/slider_electrodes/meta.json create mode 100644 extensions/fablabchemnitz/snap_object_points/meta.json create mode 100644 extensions/fablabchemnitz/source_code_text/meta.json create mode 100644 extensions/fablabchemnitz/spirograph/meta.json create mode 100644 extensions/fablabchemnitz/split_and_break_bezier_at_t/meta.json create mode 100644 extensions/fablabchemnitz/split_bezier/meta.json create mode 100644 extensions/fablabchemnitz/sprocket/meta.json create mode 100644 extensions/fablabchemnitz/starshine/meta.json create mode 100644 extensions/fablabchemnitz/streaks/meta.json create mode 100644 extensions/fablabchemnitz/strip_line/meta.json diff --git a/extensions/fablabchemnitz/about_upgrade_mightyscape/meta.json b/extensions/fablabchemnitz/about_upgrade_mightyscape/meta.json new file mode 100644 index 00000000..2cacc42c --- /dev/null +++ b/extensions/fablabchemnitz/about_upgrade_mightyscape/meta.json @@ -0,0 +1,19 @@ +[ + { + "name": "About/Upgrade MightyScape", + "id": "fablabchemnitz.de.about_upgrade_mightyscape", + "path": "about_upgrade_mightyscape", + "original_name": "About/Upgrade MightyScape", + "original_id": "fablabchemnitz.de.about_upgrade_mightyscape", + "license": "GNU GPL v3", + "license_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/LICENSE", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/about_upgrade_mightyscape", + "fork_url": null, + "documentation_url": "https://stadtfabrikanten.org/display/IFM/MightyScape+1.X+-+Introduction+and+Installation", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/lasercut_jigsaw/meta.json b/extensions/fablabchemnitz/lasercut_jigsaw/meta.json new file mode 100644 index 00000000..8d6ef53e --- /dev/null +++ b/extensions/fablabchemnitz/lasercut_jigsaw/meta.json @@ -0,0 +1,24 @@ +[ + { + "name": "Lasercut Jigsaw", + "id": "fablabchemnitz.de.lasercut_jigsaw", + "path": "lasercut_jigsaw", + "original_name": "Lasercut Jigsaw", + "original_id": "org.inkscape.LasercutJigsa", + "license": "GNU GPL v2", + "license_url": "https://github.com/Neon22/inkscape-jigsaw/blob/master/LICENSE", + "comment": "", + "source_url": "https://stadtfabrikanten.org/display/IFM/Lasercut+Jigsaw", + "fork_url": "https://github.com/Neon22/inkscape-jigsaw", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Lasercut+Jigsaw", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/Neon22", + "github.com/jonadem", + "github.com/speleo3", + "github.com/LynNor1", + "github.com/roeschter", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/lasercut_polygon/meta.json b/extensions/fablabchemnitz/lasercut_polygon/meta.json new file mode 100644 index 00000000..9c4dd2aa --- /dev/null +++ b/extensions/fablabchemnitz/lasercut_polygon/meta.json @@ -0,0 +1,20 @@ +[ + { + "name": "Lasercut Polygon", + "id": "fablabchemnitz.de.lasercut_polygon", + "path": "lasercut_polygon", + "original_name": "Polygon", + "original_id": "eu.flk.laser.polygon", + "license": "GNU GPL v3", + "license_url": "https://github.com/ThoreMehr/inkscape-polygon/blob/master/LICENSE", + "comment": "ported to Inkscape v1 by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/lasercut_polygon", + "fork_url": "https://github.com/ThoreMehr/inkscape-polygon", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Lasercut+Polygon", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/ThoreMehr", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/lyz_export/lyz_export.inx b/extensions/fablabchemnitz/laserdraw_export/laserdraw_export.inx similarity index 94% rename from extensions/fablabchemnitz/lyz_export/lyz_export.inx rename to extensions/fablabchemnitz/laserdraw_export/laserdraw_export.inx index 037cc5ae..59241754 100644 --- a/extensions/fablabchemnitz/lyz_export/lyz_export.inx +++ b/extensions/fablabchemnitz/laserdraw_export/laserdraw_export.inx @@ -1,7 +1,7 @@ - LaserDraw LYZ Export - fablabchemnitz.de.lyz_export + LaserDraw Export (lyz) + fablabchemnitz.de.laserdraw_export.lyz + + + + + + + + 20 + + + + + true + true + + + true + true + + + + + + + + + + + + path + + + + + + + + \ No newline at end of file diff --git a/extensions/fablabchemnitz/simple_registration/simple_registration.py b/extensions/fablabchemnitz/simple_registration/simple_registration.py new file mode 100644 index 00000000..03cd14f0 --- /dev/null +++ b/extensions/fablabchemnitz/simple_registration/simple_registration.py @@ -0,0 +1,466 @@ +#!/usr/bin/env python3 +# +# Copyright (C) [2021] [Matt Cottam], [mpcottam@raincloud.co.uk] +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# + +############################################################################## +# Simple Registration - Registration Marks Across Objects +############################################################################## + +import inkex +from inkex import command, Group + +# Python Standard Library +import tempfile +from lxml import etree +import random + +unit_conversions = { + 'in': 96.0, + 'pt': 1.3333333333333333, + 'px': 1.0, + 'mm': 3.779527559055118, + 'cm': 37.79527559055118, + 'm': 3779.527559055118, + 'km': 3779527.559055118, + 'Q': 0.94488188976378, + 'pc': 16.0, + 'yd': 3456.0, + 'ft': 1152.0, + '': 1.0, # Default px +} + +crosshair_path = "m 1.0583333,3.0583334 h 4.0000001 m -2,-2.0000001 v 4.0000001 m 0.25,-2 a 0.25,0.25 0 0 1 -0.25," \ + "0.25 0.25,0.25 0 0 1 -0.25,-0.25 0.25,0.25 0 0 1 0.25,-0.25 0.25,0.25 0 0 1 0.25,0.25 z m 0.75," \ + "0 a 1,1 0 0 1 -1,1 1,1 0 0 1 -1,-1 1,1 0 0 1 1,-1 1,1 0 0 1 1,1 z m 0.5,0 a 1.5,1.5 0 0 1 -1.5," \ + "1.5 1.5,1.5 0 0 1 -1.5,-1.5 1.5,1.5 0 0 1 1.5,-1.5 1.5,1.5 0 0 1 1.5,1.5 z " + +spiral_path = "m 2.8602054,2.8871104 c 0.0099,0.108862 -0.155578,0.06596 -0.197873,0.0151 -0.11462,-0.137812 0.0156," \ + "-0.320651 0.164837,-0.376975 0.266943,-0.100751 0.549334,0.08169 0.626652,0.316559 0.113468," \ + "0.344685 -0.163181,0.687127 -0.527545,0.769055 -0.485643,0.109197 -0.954879,-0.216671 -1.055435," \ + "-0.648222 -0.126538,-0.543064 0.310663,-1.059761 0.890257,-1.161135 0.701965,-0.122775 1.363419," \ + "0.351433 1.484214,0.979887 0.142351,0.740611 -0.457969,1.433888 -1.252965,1.553212 -0.917855," \ + "0.137765 -1.7729561,-0.486089 -1.9129951,-1.311549 -0.15912096,-0.93794 0.6052021,-1.8086111 " \ + "1.6156751,-1.9452921 1.133598,-0.15333396 2.182944,0.6207011 2.341774,1.6432131 0.176331," \ + "1.135182 -0.752397,2.183635 -1.978384,2.33737 " + +star_path = "m 4.2951254,5.0575354 -1.236268,-0.682814 -1.235872,0.683612 0.235648,-1.447143 -1.0002991,-1.024496 1.3819041,-0.211573 0.617649,-1.3167881 0.618418,1.3163901 1.382026,0.210678 -0.999698,1.025144 z" + +circle_path = "m 5.0583334,3.0583334 a 2,2 0 0 1 -2,2 2,2 0 0 1 -2.0000001,-2 2,2 0 0 1 2.0000001,-2.0000001 2,2 0 0 1 2,2.0000001 z" + +square_path = "M 1.0583333,1.0583333 H 5.0583334 V 5.0583334 H 1.0583333 Z" + +chevron_path = "m 1.0583333,1.0583333 3.9999999,2 -3.9999999,1.9999999" + + +def add_reg_object(self, reg_path): + # parent = self.svg.get_current_layer() + parent = self.svg + my_reg_object = etree.SubElement(parent, inkex.addNS('path', 'svg')) + reg_path = eval(reg_path) + my_reg_object.path = reg_path + my_reg_object.attrib['id'] = 'my_reg_object' + my_reg_object.style['fill'] = 'none' + # my_reg_object.style['stroke-width'] = '0.1' + my_reg_object.style['stroke-width'] = '0.05' + my_reg_object.style['stroke'] = self.options.color_picker_reg_object + my_reg_object.transform.add_scale(self.options.reg_mark_scale) + + return my_reg_object + +def add_tick_labels(self): + my_objects = self.svg.selected.paint_order() + parent = self.svg.get_current_layer() + + object_count = 1 + for my_object in my_objects: + text_label = etree.SubElement(parent, inkex.addNS('text', 'svg')) + text_label.text = str(object_count) + text_label.style['font-size'] = self.options.tick_text_label_font_size + text_label.attrib['id'] = 'tick_label_temp' + str(object_count) + text_label.style['text-anchor'] = 'middle' + text_label.style['dominant-baseline'] = 'middle' + + object_count += 1 + + +def create_new_group(self, prefix, mode): + group_id = str(prefix) + '_' + str(random.randrange(100000, 999999)) + new_group = self.svg.add(Group.new('#' + group_id)) + new_group.set('inkscape:groupmode', str(mode)) + new_group.attrib['id'] = group_id + + return new_group + + +def apply_translate(self, parent, my_object, my_transform): + bodge_group = create_new_group(self, 'bodge_group', 'group') + bodge_group.append(my_object) + bodge_group.transform = bodge_group.transform * my_transform + my_inherited_object_transform = my_object.composed_transform() + parent.append(my_object) + my_object.transform = my_inherited_object_transform + bodge_group.delete() + +def random_rgb(self): + random_red = random.randrange(0, 255) + random_green = random.randrange(0, 255) + random_blue = random.randrange(0, 255) + + return f'rgb({random_red}, {random_green}, {random_blue})' + + +def query_all_bbox(self): + my_file_path = self.options.input_file + + with tempfile.NamedTemporaryFile(mode='r+', suffix='.svg') as temp_svg_file: + # Write the contents of the updated svg to a tempfile to use with command line + my_svg_string = self.svg.root.tostring().decode("utf-8") + temp_svg_file.write(my_svg_string) + temp_svg_file.read() + my_query = inkex.command.inkscape(temp_svg_file.name, '--query-all') + # Account for versions of inkey.py which return query as bytes + if type(my_query) != str: + my_query = my_query.decode("utf-8") + # --query-all produces multiline output of the following format + # path853,172.491,468.905,192.11,166.525 - as string + # ElementId, Top, Left, Width, Height + + # Make a list splitting by each new line + my_query_items = my_query.split('\n') + my_element_bbox_dict = {} + + for my_query_item in my_query_items: + # Create a comma separated list item for each line + my_element = my_query_item.split(',') + # Make a dictionary for all elements, rejected malformed elements. + if len(my_element) > 4: + my_element_bbox_dict[my_element[0]] = {} + # Create Dictionary entry in anticlockwise format + # x1 = TopLeft, x2 = BottomLeft, x3 = BottomRight, x4 = TopRight, mid_x and mid_y + + # First convert all values to float, skipping element id ( first entry ) + my_element_bbox = [float(x) for x in my_element[1:]] + + width = my_element_bbox[2] + height = my_element_bbox[3] + + x1 = my_element_bbox[0] + y1 = my_element_bbox[1] + x2 = x1 + y2 = y1 + height + x3 = x1 + width + y3 = y2 + x4 = x1 + width + y4 = y1 + mid_x = x1 + width / 2 + mid_y = y1 + height / 2 + + my_element_bbox_dict[my_element[0]].update(x1=x1, y1=y1, x2=x2, y2=y2, x3=x3, y3=y3, x4=x4, y4=y4, + mid_x=mid_x, mid_y=mid_y, width=width, height=height) + # Return dictionary + return my_element_bbox_dict + + +def reg_mark_to_corners(self, all_bbox, max_bbox, my_reg_object, my_object, cf, parent): + + reg_mark_x_shift = self.options.reg_mark_x_shift + reg_mark_y_shift = self.options.reg_mark_y_shift + + # get width and height of reg object + my_reg_object_width = all_bbox[my_reg_object.get_id()]['width'] + my_reg_object_height = all_bbox[my_reg_object.get_id()]['height'] + + my_reg_object_mid_x = all_bbox[my_reg_object.get_id()]['mid_x'] + my_reg_object_mid_y = all_bbox[my_reg_object.get_id()]['mid_y'] + + my_object_id = my_object.get_id() + + new_reg_group = create_new_group(self, 'reg_group', 'group') + # new_group.append(my_object) + + for corner_no in range(1, 5): + registration_object = my_reg_object.duplicate() + registration_object.style['stroke-width'] = '0.2' + + registration_object_original_composed_transform = registration_object.composed_transform() + + my_translate_text = str( + (max_bbox['x' + str(corner_no)] - (my_reg_object_mid_x)) / cf) + ',' + str( + (max_bbox['y' + str(corner_no)] - (my_reg_object_mid_y)) / cf) + + my_translate_text = f'Transform(\'translate({my_translate_text})\')' + + apply_translate(self, parent, registration_object, my_translate_text) + + new_reg_group.append(registration_object) + + return new_reg_group + + +def draw_ticks(self, all_bbox, my_reg_object, max_bbox,object_count, number_of_objects, my_object, cf): + parent = self.svg.get_current_layer() + + tick_color = self.options.color_picker_tick + + tick_dict = {} + + # Get the right edge of the top left registration mark + # my_element_bbox_dict[my_element[0]].update(x1=x1, y1=y1, x2=x2, y2=y2, x3=x3, y3=y3, x4=x4, y4=y4, + # mid_x=mid_x, mid_y=mid_y, width=width, height=height) + + my_reg_object_width = all_bbox[my_reg_object.get_id()]['width'] / cf + my_reg_object_height = all_bbox[my_reg_object.get_id()]['height'] / cf + # tl_re = top left right edge, tr_le = top right left edge + tl_re_x = (max_bbox['x1'] / cf + my_reg_object_width) + tl_re_y = (max_bbox['y1']) / cf + tr_le_x = (max_bbox['x4'] / cf - my_reg_object_width) + tr_le_y = (max_bbox['y4']) / cf + bl_re_x = (max_bbox['x2']) / cf + bl_re_y = (max_bbox['y2']) / cf + br_le_x = (max_bbox['x3'] / cf ) + br_le_y = (max_bbox['y3'] / cf ) + + # Get the distance between top left right edge and top right left edge + top_bar_reg_fraction = 1 # Set to 1 to prevent division by zero + left_bar_reg_fraction = 1 # Set to 1 to prevent division by zero + top_bar_length = tr_le_x - tl_re_x + + if number_of_objects > 1: + top_bar_reg_fraction = top_bar_length / (number_of_objects - 1) + + + left_bar_length = (bl_re_y - (my_reg_object_height)) - (tl_re_y + (my_reg_object_height)) + if number_of_objects > 1: + left_bar_reg_fraction = left_bar_length / (number_of_objects - 1) + + my_circle_radius = self.options.tick_circle_radius / cf + + my_circle = etree.SubElement(parent, inkex.addNS('circle', 'svg')) + # my_circle.attrib['cx'] = str(tl_re_x + my_circle_radius) + my_circle.attrib['cx'] = str(tl_re_x + (top_bar_reg_fraction * object_count)) + my_circle.attrib['cy'] = str(tl_re_y) + my_circle.attrib['r'] = str(my_circle_radius / cf) + my_circle.style['stroke'] = tick_color + if self.options.tick_color_random_checkbox == 'true': + my_circle.style['stroke'] = random_rgb(self) + + my_circle.style['stroke-width'] = '0.2' + my_circle.style['fill'] = 'none' + + if self.options.tick_top_checkbox == 'true': + object_id = my_object.get_id() + circle_top = my_circle.duplicate() + circle_top.attrib['id'] = str(object_id) + '_tick_circle_top_' + str(object_count + 1) + tick_dict['tick_top'] = circle_top + + tick_label_top = self.svg.getElementById('tick_label_temp' + str(object_count + 1)).duplicate() + tick_label_top.attrib['x'] = circle_top.attrib['cx'] + tick_label_top.attrib['y'] = circle_top.attrib['cy'] + tick_label_top.attrib['id'] = str(object_id) + '_tick_label_top_' + str(object_count + 1) + tick_dict['tick_label_top'] = tick_label_top + + if self.options.tick_left_checkbox == 'true': + circle_left = my_circle.duplicate() + circle_left.attrib['cx'] = str(bl_re_x) + circle_left.attrib['cy'] = str(tl_re_y + my_reg_object_height + (left_bar_reg_fraction * object_count)) + circle_left.attrib['id'] = str(object_id) + '_tick_circle_left_' + str(object_count + 1) + tick_dict['tick_left'] = circle_left + + tick_label_left = self.svg.getElementById('tick_label_temp' + str(object_count + 1)).duplicate() + tick_label_left.attrib['x'] = circle_left.attrib['cx'] + tick_label_left.attrib['y'] = circle_left.attrib['cy'] + tick_label_left.attrib['id'] = str(object_id) + '_tick_label_left_' + str(object_count + 1) + tick_dict['tick_label_left'] = tick_label_left + + if self.options.tick_bottom_checkbox == 'true': + circle_bottom = my_circle.duplicate() + circle_bottom.attrib['cx'] = str(tl_re_x + (top_bar_reg_fraction * object_count)) + circle_bottom.attrib['cy'] = str(bl_re_y) + circle_bottom.attrib['id'] = str(object_id) + '_tick_circle_bottom_' + str(object_count + 1) + tick_dict['tick_bottom'] = circle_bottom + + tick_label_bottom = self.svg.getElementById('tick_label_temp' + str(object_count + 1)).duplicate() + tick_label_bottom.attrib['x'] = circle_bottom.attrib['cx'] + tick_label_bottom.attrib['y'] = circle_bottom.attrib['cy'] + tick_label_bottom.attrib['id'] = str(object_id) + '_tick_label_bottom_' + str(object_count + 1) + tick_dict['tick_label_bottom'] = tick_label_bottom + + if self.options.tick_right_checkbox == 'true': + circle_right = my_circle.duplicate() + circle_right.attrib['cx'] = str(br_le_x) + circle_right.attrib['cy'] = str(br_le_y - my_reg_object_height - (left_bar_reg_fraction * object_count)) + circle_right.attrib['id'] = str(object_id) + '_tick_circle_right_' + str(object_count + 1) + tick_dict['tick_right'] = circle_right + + tick_label_right = self.svg.getElementById('tick_label_temp' + str(object_count + 1)).duplicate() + tick_label_right.attrib['x'] = circle_right.attrib['cx'] + tick_label_right.attrib['y'] = circle_right.attrib['cy'] + tick_label_right.attrib['id'] = str(object_id) + '_tick_label_right_' + str(object_count + 1) + tick_dict['tick_label_right'] = tick_label_right + + my_circle.delete() + + return tick_dict + +def get_max_bbox(self, all_bbox): + my_objects = self.svg.selected.paint_order() + + reg_mark_x_shift = self.options.reg_mark_x_shift + reg_mark_y_shift = self.options.reg_mark_y_shift + + # Find extent of bounding box for combined selection + bbox_list_x = [] + bbox_list_y = [] + for my_object in my_objects: + my_object_id = my_object.get_id() + if my_object_id == '': + continue + # bbox_list_x.append(all_bbox[my_object_id]['x1']) + (reg_mark_x_shift * -1) + # bbox_list_x.append(all_bbox[my_object_id]['x4']) + (reg_mark_x_shift) + # bbox_list_y.append(all_bbox[my_object_id]['y1']) + (reg_mark_y_shift * -1) + # bbox_list_y.append(all_bbox[my_object_id]['y2']) + (reg_mark_y_shift) + + bbox_list_x.append(all_bbox[my_object_id]['x1'] + (reg_mark_x_shift * -1)) + bbox_list_x.append(all_bbox[my_object_id]['x4'] + (reg_mark_x_shift)) + bbox_list_y.append(all_bbox[my_object_id]['y1'] + (reg_mark_y_shift * -1)) + bbox_list_y.append(all_bbox[my_object_id]['y2'] + (reg_mark_y_shift)) + + bboxes_min_x = min(bbox_list_x) + bboxes_max_x = max(bbox_list_x) + bboxes_min_y = min(bbox_list_y) + bboxes_max_y = max(bbox_list_y) + bboxes = {'x1': bboxes_min_x, 'y1': bboxes_min_y, 'x2': bboxes_min_x, 'y2': bboxes_max_y, 'x3': bboxes_max_x, + 'y3': bboxes_max_y, 'x4': bboxes_max_x, 'y4': bboxes_min_y} + + return bboxes + + +# Create a group or layer to contain each object and marks +def group_layer_loop(self, all_bbox, max_bbox, my_reg_object, cf): + my_objects = self.svg.selected.paint_order() + number_of_objects = len(my_objects) + + object_count = 0 + + for my_object in my_objects: + my_object_id = my_object.get_id() + master_group = create_new_group(self, my_object_id + '_group', 'group') + tick_group = create_new_group(self, my_object_id + '_ticks', 'group') + tick_labels_group = create_new_group(self, my_object_id + '_tick_labels', 'group') + new_layer = create_new_group(self, my_object_id + '_layer', 'layer') + + # Create corner reg marks + reg_mark_group = reg_mark_to_corners(self, all_bbox, max_bbox, my_reg_object, my_object, cf, master_group) + + master_group.append(reg_mark_group) + + # Create ticks + tick_dict = draw_ticks(self, all_bbox, my_reg_object, max_bbox, object_count, number_of_objects, my_object, cf) + + if 'tick_top' in tick_dict: + tick_group.append(tick_dict['tick_top']) + if 'tick_left' in tick_dict: + tick_group.append(tick_dict['tick_left']) + if 'tick_bottom' in tick_dict: + tick_group.append(tick_dict['tick_bottom']) + if 'tick_right' in tick_dict: + tick_group.append(tick_dict['tick_right']) + + if 'tick_label_top' in tick_dict: + tick_labels_group.append(tick_dict['tick_label_top']) + if 'tick_label_left' in tick_dict: + tick_labels_group.append(tick_dict['tick_label_left']) + if 'tick_label_bottom' in tick_dict: + tick_labels_group.append(tick_dict['tick_label_bottom']) + if 'tick_label_right' in tick_dict: + tick_labels_group.append(tick_dict['tick_label_right']) + + # Add object to group + master_group.append(tick_labels_group) + master_group.append(tick_group) + + if self.options.correct_layer_transform_checkbox == 'true': + my_object_composed_transform = my_object.composed_transform() + master_group.append(my_object) + my_object.transform = my_object_composed_transform + else: + master_group.append(my_object) + + # Add master group to layer for that object + new_layer.append(master_group) + + object_count += 1 + + # Remove temp text labels and reg object + my_temp_labels = self.svg.xpath("//*[contains(@id, 'tick_label_temp')]") + for item in my_temp_labels: + item.delete() + my_reg_object.delete() + +class SimpleRegistration2(inkex.EffectExtension): + + def add_arguments(self, pars): + + pars.add_argument("--simple_registration_notebook", default=0) + pars.add_argument("--color_picker_reg_object", type=inkex.colors.Color, default=0) + pars.add_argument("--reg_mark_type", default='crosshair_path') + pars.add_argument("--reg_mark_scale", type=float, default=1) + pars.add_argument("--reg_mark_x_shift", type=float, default=10) + pars.add_argument("--reg_mark_y_shift", type=float, default=10) + pars.add_argument("--correct_layer_transform_checkbox") + pars.add_argument("--color_picker_tick", type=inkex.colors.Color, default=0) + pars.add_argument("--tick_color_random_checkbox", type=str) + pars.add_argument("--tick_text_labels_checkbox", type=str) + pars.add_argument("--tick_text_label_font_size", type=float, default=0) + pars.add_argument("--tick_type", default='chevron_path') + pars.add_argument("--tick_circle_radius", type=float, default=5) + pars.add_argument("--tick_top_checkbox") + pars.add_argument("--tick_left_checkbox") + pars.add_argument("--tick_bottom_checkbox") + pars.add_argument("--tick_right_checkbox") + + def effect(self): + # Exit if nothing is selected + if len(self.svg.selected) < 1: + return + + # Get document units, and conversion factor from pixels. + found_units = self.svg.unit + # Unit conversion factor cf + cf = unit_conversions[found_units] + + # Add mark objects before command line --query-all + # This returns all bounding boxes taking stroke into account + # Also works for text bounding box, which is not possible to obtain from extension system + + my_reg_object = add_reg_object(self, self.options.reg_mark_type) + # my_side_object = add_side_object(self, self.options.tick_type) + + if self.options.tick_text_labels_checkbox == 'true': + my_labels = add_tick_labels(self) + + # Get bounding boxes for all elements + all_bbox = query_all_bbox(self) + # Get max bbox, taking into account user x and y shift + max_bbox = get_max_bbox(self, all_bbox) + + # inkex.errormsg(max_bbox) + group_layer_loop(self, all_bbox, max_bbox, my_reg_object, cf) + +if __name__ == '__main__': + SimpleRegistration2().run() diff --git a/extensions/fablabchemnitz/simpleinkscape/meta.json b/extensions/fablabchemnitz/simpleinkscape/meta.json new file mode 100644 index 00000000..5e946236 --- /dev/null +++ b/extensions/fablabchemnitz/simpleinkscape/meta.json @@ -0,0 +1,20 @@ +[ + { + "name": "Simple Inkscape (Interface)", + "id": "fablabchemnitz.de.simpleinkscape", + "path": "simpleinkscape", + "original_name": "Simple Inkscape", + "original_id": "org.inkscape.simpleinkscape", + "license": "GNU GPL v2", + "license_url": "https://inkscape.org/~Mr.Raven/%E2%98%85simpleinkscapev01+2", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/simpleinkscape", + "fork_url": "https://inkscape.org/~Mr.Raven/%E2%98%85simpleinkscapev01+2", + "documentation_url": "https://stadtfabrikanten.org/pages/viewpage.action?pageId=111837633", + "inkscape_gallery_url": null, + "main_authors": [ + "inkscape.org/Mr.Raven", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/sine_and_lace/meta.json b/extensions/fablabchemnitz/sine_and_lace/meta.json new file mode 100644 index 00000000..d88244b3 --- /dev/null +++ b/extensions/fablabchemnitz/sine_and_lace/meta.json @@ -0,0 +1,20 @@ +[ + { + "name": "Slic3r STL Input", + "id": "fablabchemnitz.de.slic3r_stl_input", + "path": "slic3r_stl_input", + "original_name": "STL Input", + "original_id": "com.github.jnweiger.inkscape.input.stl", + "license": "GNU GPL v2", + "license_url": "https://github.com/jnweiger/inkscape-input-stl/blob/master/LICENSE", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/slic3r_stl_input", + "fork_url": "https://github.com/jnweiger/inkscape-input-stl", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Slic3r+STL+Input", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/jnweiger", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/slic3r_stl_input/meta.json b/extensions/fablabchemnitz/slic3r_stl_input/meta.json new file mode 100644 index 00000000..074c9e1b --- /dev/null +++ b/extensions/fablabchemnitz/slic3r_stl_input/meta.json @@ -0,0 +1,20 @@ +[ + { + "name": "Slic3r STL Input", + "id": "fablabchemnitz.de.slic3r_stl_input", + "path": "slic3r_stl_input", + "original_name": "STL Input", + "original_id": "com.github.jnweiger.inkscape.input.stl", + "license": "GNU GPL v2", + "license_url": "https://github.com/jnweiger/inkscape-input-stl/blob/master/LICENSE", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/slic3r_stl_input", + "fork_url": "https://github.com/jnweiger/inkscape-input-stl", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Slic3r+STL+Input", + "inkscape_gallery_url": "https://inkscape.org/de/~MarioVoigt/%E2%98%85slic3r-stl-input", + "main_authors": [ + "github.com/jnweiger", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/slider_electrodes/meta.json b/extensions/fablabchemnitz/slider_electrodes/meta.json new file mode 100644 index 00000000..6fa3d121 --- /dev/null +++ b/extensions/fablabchemnitz/slider_electrodes/meta.json @@ -0,0 +1,20 @@ +[ + { + "name": "Slider Electrodes", + "id": "fablabchemnitz.de.slider_electrodes", + "path": "slider_electrodes", + "original_name": "Slider Electrodes", + "original_id": "org.inkscape.render.sliderelectrodes", + "license": "MIT License", + "license_url": "https://github.com/henningpohl/Inkscape-Slider-Electrode-Generator/blob/master/LICENSE", + "comment": "ported to Inkscape v1 by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/slider_electrodes", + "fork_url": "https://github.com/henningpohl/Inkscape-Slider-Electrode-Generator", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Slider+Electrodes", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/henningpohl", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/snap_object_points/meta.json b/extensions/fablabchemnitz/snap_object_points/meta.json new file mode 100644 index 00000000..ef597215 --- /dev/null +++ b/extensions/fablabchemnitz/snap_object_points/meta.json @@ -0,0 +1,20 @@ +[ + { + "name": "Snap Object Points", + "id": "fablabchemnitz.de.snap_object_points", + "path": "snap_object_points", + "original_name": "Snap Object Points", + "original_id": "org.pakin.filter.snap_objects", + "license": "GNU GPL v3", + "license_url": "https://inkscape.org/de/~pakin/%E2%98%85snap-object-points", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/snap_object_points", + "fork_url": "https://inkscape.org/de/~pakin/%E2%98%85snap-object-points", + "documentation_url": "", + "inkscape_gallery_url": null, + "main_authors": [ + "inkscape.org/pakin", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/source_code_text/meta.json b/extensions/fablabchemnitz/source_code_text/meta.json new file mode 100644 index 00000000..4cf6dad1 --- /dev/null +++ b/extensions/fablabchemnitz/source_code_text/meta.json @@ -0,0 +1,20 @@ +[ + { + "name": "Source Code Text", + "id": "fablabchemnitz.de.source_code_text", + "path": "source_code_text", + "original_name": "Source Code Text", + "original_id": "org.henry.poster_text", + "license": "GNU GPL v2", + "license_url": "https://gitlab.com/inkscape/extensions/-/blob/master/LICENSE.txt", + "comment": "based on Lorem Ipsum extension", + "source_url": "", + "fork_url": "https://gist.github.com/om-henners/8c642c87b71daa3ea68222d40167edbc", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Source+Code+Text", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/om-henners", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/source_code_text/source_code_text.inx b/extensions/fablabchemnitz/source_code_text/source_code_text.inx index 693dac30..43733c36 100644 --- a/extensions/fablabchemnitz/source_code_text/source_code_text.inx +++ b/extensions/fablabchemnitz/source_code_text/source_code_text.inx @@ -12,7 +12,7 @@ all - + diff --git a/extensions/fablabchemnitz/spirograph/meta.json b/extensions/fablabchemnitz/spirograph/meta.json new file mode 100644 index 00000000..b1fe8ae3 --- /dev/null +++ b/extensions/fablabchemnitz/spirograph/meta.json @@ -0,0 +1,20 @@ +[ + { + "name": "SpiroGraph", + "id": "fablabchemnitz.de.spirograph", + "path": "spirograph", + "original_name": "SpiroGraph", + "original_id": "fsmMLK.spiroGraph", + "license": "GNU GPL v3", + "license_url": "https://github.com/fsmMLK/inkscapeSpirograph/blob/main/LICENSE", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/spirograph", + "fork_url": "https://github.com/fsmMLK/inkscapeSpirograph", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/SpiroGraph", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/fsmMLK", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/split_and_break_bezier_at_t/meta.json b/extensions/fablabchemnitz/split_and_break_bezier_at_t/meta.json new file mode 100644 index 00000000..2b257ebe --- /dev/null +++ b/extensions/fablabchemnitz/split_and_break_bezier_at_t/meta.json @@ -0,0 +1,19 @@ +[ + { + "name": "Split And Break Bezier At t", + "id": "fablabchemnitz.de.split_and_break_bezier_at_t", + "path": "split_and_break_bezier_at_t", + "original_name": "fablabchemnitz.de.split_and_break_bezier_at_t", + "original_id": "split_and_break_bezier_at_t", + "license": "GNU GPL v3", + "license_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/LICENSE", + "comment": "written by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/split_and_break_bezier_at_t", + "fork_url": null, + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Split+And+Break+Bezier+At+t", + "inkscape_gallery_url": "https://inkscape.org/de/~MarioVoigt/%E2%98%85split-and-break-bezier-at-t", + "main_authors": [ + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/split_bezier/meta.json b/extensions/fablabchemnitz/split_bezier/meta.json new file mode 100644 index 00000000..8047c497 --- /dev/null +++ b/extensions/fablabchemnitz/split_bezier/meta.json @@ -0,0 +1,20 @@ +[ + { + "name": "Split Bezier (Subdivide Path)", + "id": "fablabchemnitz.de.split_bezier", + "path": "split_bezier", + "original_name": "Subdivide Path", + "original_id": "subdivide.svg.bezier", + "license": "GNU GPL v2", + "license_url": "https://github.com/Shriinivas/inkscapesubdivpath/blob/master/LICENSE", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/split_bezier", + "fork_url": "https://github.com/Shriinivas/inkscapesubdivpath", + "documentation_url": "https://stadtfabrikanten.org/pages/viewpage.action?pageId=55018715", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/Shriinivas", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/sprocket/meta.json b/extensions/fablabchemnitz/sprocket/meta.json new file mode 100644 index 00000000..8f635ae6 --- /dev/null +++ b/extensions/fablabchemnitz/sprocket/meta.json @@ -0,0 +1,20 @@ +[ + { + "name": "Sprocket", + "id": "fablabchemnitz.de.sprocket", + "path": "sprocket", + "original_name": "Sprocket", + "original_id": "com.attoparsec.filter.sprockets", + "license": "GNU GPL v2", + "license_url": "https://github.com/attoparsec/inkscape-extensions/blob/master/sprockets.py", + "comment": "ported to Inkscape v1 by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/sprocket", + "fork_url": "https://github.com/attoparsec/inkscape-extensions", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Sprocket", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/attoparsec", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/starshine/meta.json b/extensions/fablabchemnitz/starshine/meta.json new file mode 100644 index 00000000..66baa1b9 --- /dev/null +++ b/extensions/fablabchemnitz/starshine/meta.json @@ -0,0 +1,20 @@ +[ + { + "name": "Starshine", + "id": "fablabchemnitz.de.starshine", + "path": "starshine", + "original_name": "Starshine", + "original_id": "hipix.Starshine", + "license": "GNU AGPL v3", + "license_url": "https://github.com/curiousmaster/hipix_inkscape_extensions/blob/main/LICENSE", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/starshine", + "fork_url": "https://github.com/curiousmaster/hipix_inkscape_extensions", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Starshine", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/curiousmaster", + "github.com/vmario89" + ] + } +] diff --git a/extensions/fablabchemnitz/streaks/meta.json b/extensions/fablabchemnitz/streaks/meta.json new file mode 100644 index 00000000..3830aab7 --- /dev/null +++ b/extensions/fablabchemnitz/streaks/meta.json @@ -0,0 +1,20 @@ +[ + { + "name": "Streaks", + "id": "fablabchemnitz.de.streaks", + "path": "streaks", + "original_name": "streaks", + "original_id": "ca.sfu.AT.kurn.Streaks", + "license": "GNU GPL v3", + "license_url": "https://sourceforge.net/projects/inkscape-streaks/", + "comment": "ported to Inkscape v1 by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/streaks", + "fork_url": "https://sourceforge.net/projects/inkscape-streaks", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Streaks", + "inkscape_gallery_url": null, + "main_authors": [ + "sourceforge.net/andrew-kurn", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/strip_line/meta.json b/extensions/fablabchemnitz/strip_line/meta.json new file mode 100644 index 00000000..16bd11d9 --- /dev/null +++ b/extensions/fablabchemnitz/strip_line/meta.json @@ -0,0 +1,20 @@ +[ + { + "name": "Strip Line", + "id": "fablabchemnitz.de.strip_line", + "path": "strip_line", + "original_name": "ストリップライン", + "original_id": "miffy.sora.stripline", + "license": "MIT License", + "license_url": "https://github.com/miffysora/Inkscape/blob/master/LICENSE", + "comment": "ported to Inkscape v1 manually by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/strip_line", + "fork_url": "https://github.com/miffysora/Inkscape", + "documentation_url": "", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/miffysora", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/stroke_color_as_fill/meta.json b/extensions/fablabchemnitz/stroke_color_as_fill/meta.json index 6d91f588..2ef28777 100644 --- a/extensions/fablabchemnitz/stroke_color_as_fill/meta.json +++ b/extensions/fablabchemnitz/stroke_color_as_fill/meta.json @@ -1,16 +1,20 @@ -{ - "name": "Stroke Color As Fill", - "id": "fablabchemnitz.de.stroke_color_as_fill", - "path": "stroke_color_as_fill", - "original_name": "Stroke color as fill", - "original_id": "com.jabiertxof.strokecolor.as.fill", - "license": "GNU GPL v3", - "license_url": "https://inkscape.org/de/~jabiertxof/%E2%98%85stroke-color-as-fill", - "comment": "ported to Inkscape v1 by Mario Voigt", - "source_url": "https://inkscape.org/de/~jabiertxof/%E2%98%85stroke-color-as-fill", - "documentation_url": "https://stadtfabrikanten.org/display/IFM/Stroke+Color+As+Fill", - "main_authors": [ - "inkscape.org/jabiertxof", - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "Stroke Color As Fill", + "id": "fablabchemnitz.de.stroke_color_as_fill", + "path": "stroke_color_as_fill", + "original_name": "Stroke color as fill", + "original_id": "com.jabiertxof.strokecolor.as.fill", + "license": "GNU GPL v3", + "license_url": "https://inkscape.org/de/~jabiertxof/%E2%98%85stroke-color-as-fill", + "comment": "ported to Inkscape v1 by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/stroke_color_as_fill", + "fork_url": "https://inkscape.org/de/~jabiertxof/%E2%98%85stroke-color-as-fill", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Stroke+Color+As+Fill", + "inkscape_gallery_url": null, + "main_authors": [ + "inkscape.org/jabiertxof", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/styles_to_layers/meta.json b/extensions/fablabchemnitz/styles_to_layers/meta.json index 3b575b54..6deff124 100644 --- a/extensions/fablabchemnitz/styles_to_layers/meta.json +++ b/extensions/fablabchemnitz/styles_to_layers/meta.json @@ -1,15 +1,19 @@ -{ - "name": "Styles To Layers", - "id": "fablabchemnitz.de.styles_to_layers", - "path": "styles_to_layers", - "original_name": "Styles To Layers", - "original_id": "fablabchemnitz.de.styles_to_layers", - "license": "GNU GPL v3", - "license_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/LICENSE", - "comment": "written by Mario Voigt", - "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/styles_to_layers", - "documentation_url": "https://stadtfabrikanten.org/display/IFM/Styles+To+Layers", - "main_authors": [ - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "Styles To Layers", + "id": "fablabchemnitz.de.styles_to_layers", + "path": "styles_to_layers", + "original_name": "Styles To Layers", + "original_id": "fablabchemnitz.de.styles_to_layers", + "license": "GNU GPL v3", + "license_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/LICENSE", + "comment": "written by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/styles_to_layers", + "fork_url": null, + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Styles+To+Layers", + "inkscape_gallery_url": "https://inkscape.org/de/~MarioVoigt/%E2%98%85styles-to-layers", + "main_authors": [ + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/sudoku/meta.json b/extensions/fablabchemnitz/sudoku/meta.json index 73a59e88..3b1f9e4a 100644 --- a/extensions/fablabchemnitz/sudoku/meta.json +++ b/extensions/fablabchemnitz/sudoku/meta.json @@ -1,16 +1,20 @@ -{ - "name": "Sudoku", - "id": "fablabchemnitz.de.sudoku", - "path": "sudoku", - "original_name": "Sudoku", - "original_id": "org.inkscape.render.sudoku", - "license": "GNU GPL v3", - "license_url": "https://github.com/Neon22/inkscape-sudoku/blob/master/LICENCE", - "comment": "ported to Inkscape v1 by Mario Voigt", - "source_url": "https://github.com/Neon22/inkscape-sudoku", - "documentation_url": "https://stadtfabrikanten.org/display/IFM/Sudoku", - "main_authors": [ - "github.com/Neon22", - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "Sundial Declining", + "id": "fablabchemnitz.de.sundial_declining", + "path": "sundial_declining", + "original_name": "Sundial", + "original_id": "fr.electropol.tableausimple.inkscape", + "license": "Public Domain", + "license_url": "https://inkscape.org/de/~TomasUrban/%E2%98%85sundial-declining", + "comment": "ported to Inkscape v1 by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/sundial_declining", + "fork_url": "https://inkscape.org/de/~TomasUrban/%E2%98%85sundial-declining", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Sundial+Declining", + "inkscape_gallery_url": null, + "main_authors": [ + "inkscape.org/TomasUrban", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/sundial_declining/meta.json b/extensions/fablabchemnitz/sundial_declining/meta.json index d8e52aca..3b1f9e4a 100644 --- a/extensions/fablabchemnitz/sundial_declining/meta.json +++ b/extensions/fablabchemnitz/sundial_declining/meta.json @@ -1,16 +1,20 @@ -{ - "name": "Sundial Declining", - "id": "fablabchemnitz.de.sundial_declining", - "path": "sundial_declining", - "original_name": "Sundial", - "original_id": "fr.electropol.tableausimple.inkscape", - "license": "Public Domain", - "license_url": "https://inkscape.org/de/~TomasUrban/%E2%98%85sundial-declining", - "comment": "ported to Inkscape v1 by Mario Voigt", - "source_url": "https://inkscape.org/de/~TomasUrban/%E2%98%85sundial-declining", - "documentation_url": "https://stadtfabrikanten.org/display/IFM/Sundial+Declining", - "main_authors": [ - "inkscape.org/TomasUrban", - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "Sundial Declining", + "id": "fablabchemnitz.de.sundial_declining", + "path": "sundial_declining", + "original_name": "Sundial", + "original_id": "fr.electropol.tableausimple.inkscape", + "license": "Public Domain", + "license_url": "https://inkscape.org/de/~TomasUrban/%E2%98%85sundial-declining", + "comment": "ported to Inkscape v1 by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/sundial_declining", + "fork_url": "https://inkscape.org/de/~TomasUrban/%E2%98%85sundial-declining", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Sundial+Declining", + "inkscape_gallery_url": null, + "main_authors": [ + "inkscape.org/TomasUrban", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/svg2shenzhen/meta.json b/extensions/fablabchemnitz/svg2shenzhen/meta.json index c0440b43..afec7976 100644 --- a/extensions/fablabchemnitz/svg2shenzhen/meta.json +++ b/extensions/fablabchemnitz/svg2shenzhen/meta.json @@ -1,16 +1,20 @@ -{ - "name": "", - "id": "fablabchemnitz.de.svg2shenzhen_", - "path": "svg2shenzhen", - "original_name": "", - "original_id": "net.svg2shenzhen_", - "license": "GNU GPL v3", - "license_url": "https://github.com/badgeek/svg2shenzhen/blob/master/LICENSE", - "comment": "", - "source_url": "https://github.com/badgeek/svg2shenzhen", - "documentation_url": "https://stadtfabrikanten.org/display/IFM/Svg2Shenzhen", - "main_authors": [ - "github.com/badgeek", - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "", + "id": "fablabchemnitz.de.svg2shenzhen_", + "path": "svg2shenzhen", + "original_name": "", + "original_id": "net.svg2shenzhen_", + "license": "GNU GPL v3", + "license_url": "https://github.com/badgeek/svg2shenzhen/blob/master/LICENSE", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/svg2shenzhen", + "fork_url": "https://github.com/badgeek/svg2shenzhen", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Svg2Shenzhen", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/badgeek", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/svgo_output/meta.json b/extensions/fablabchemnitz/svgo_output/meta.json index 90e44d40..1713ca41 100644 --- a/extensions/fablabchemnitz/svgo_output/meta.json +++ b/extensions/fablabchemnitz/svgo_output/meta.json @@ -1,16 +1,20 @@ -{ - "name": "SVGO Output", - "id": "fablabchemnitz.de.svgo_output", - "path": "svgo_output", - "original_name": "SVGO Output", - "original_id": "org.inkscape.output.svgo", - "license": "MIT License", - "license_url": "https://github.com/juanfran/svgo-inkscape/blob/master/LICENSE", - "comment": "", - "source_url": "https://github.com/juanfran/svgo-inkscape/", - "documentation_url": "https://stadtfabrikanten.org/pages/viewpage.action?pageId=55019653", - "main_authors": [ - "github.com/juanfran", - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "SVGO Output", + "id": "fablabchemnitz.de.svgo_output", + "path": "svgo_output", + "original_name": "SVGO Output", + "original_id": "org.inkscape.output.svgo", + "license": "MIT License", + "license_url": "https://github.com/juanfran/svgo-inkscape/blob/master/LICENSE", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/svgo_output", + "fork_url": "https://github.com/juanfran/svgo-inkscape/", + "documentation_url": "https://stadtfabrikanten.org/pages/viewpage.action?pageId=55019653", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/juanfran", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/tab_generator/meta.json b/extensions/fablabchemnitz/tab_generator/meta.json index 0d5369c8..55a8b3e0 100644 --- a/extensions/fablabchemnitz/tab_generator/meta.json +++ b/extensions/fablabchemnitz/tab_generator/meta.json @@ -1,16 +1,20 @@ -{ - "name": "Tab Generator", - "id": "fablabchemnitz.de.tab_generator", - "path": "tab_generator", - "original_name": "Tabgen", - "original_id": "org.inkscape.tabgen", - "license": "GNU GPL v3", - "license_url": "https://github.com/obzerving/Tabgen/blob/main/LICENSE", - "comment": "", - "source_url": "https://github.com/obzerving/Tabgen", - "documentation_url": "https://stadtfabrikanten.org/display/IFM/Tab+Generator", - "main_authors": [ - "github.com/obzerving", - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "Tab Generator", + "id": "fablabchemnitz.de.tab_generator", + "path": "tab_generator", + "original_name": "Tabgen", + "original_id": "org.inkscape.tabgen", + "license": "GNU GPL v3", + "license_url": "https://github.com/obzerving/Tabgen/blob/main/LICENSE", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/tab_generator", + "fork_url": "https://github.com/obzerving/Tabgen", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Tab+Generator", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/obzerving", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/table_support/meta.json b/extensions/fablabchemnitz/table_support/meta.json index d713a755..59b0ee8c 100644 --- a/extensions/fablabchemnitz/table_support/meta.json +++ b/extensions/fablabchemnitz/table_support/meta.json @@ -1,16 +1,20 @@ -{ - "name": "", - "id": "fablabchemnitz.de.table_", - "path": "table_support", - "original_name": "", - "original_id": "org.greygreen.inkscape.effects.table_", - "license": "GNU GPL v2", - "license_url": "https://sourceforge.net/projects/inkscape-tables/files/inkscape-table-1.0.tar.gz/download", - "comment": "ported to Inkscape v1 by Mario Voigt", - "source_url": "https://sourceforge.net/projects/inkscape-tables", - "documentation_url": "https://stadtfabrikanten.org/display/IFM/Table+Support", - "main_authors": [ - "sourceforge.net/lixapopescu", - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "", + "id": "fablabchemnitz.de.table_", + "path": "table_support", + "original_name": "", + "original_id": "org.greygreen.inkscape.effects.table_", + "license": "GNU GPL v2", + "license_url": "https://sourceforge.net/projects/inkscape-tables/files/inkscape-table-1.0.tar.gz/download", + "comment": "ported to Inkscape v1 by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/table_support", + "fork_url": "https://sourceforge.net/projects/inkscape-tables", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Table+Support", + "inkscape_gallery_url": null, + "main_authors": [ + "sourceforge.net/lixapopescu", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/travel/meta.json b/extensions/fablabchemnitz/travel/meta.json index 05b0f6ac..0f6437b4 100644 --- a/extensions/fablabchemnitz/travel/meta.json +++ b/extensions/fablabchemnitz/travel/meta.json @@ -1,16 +1,20 @@ -{ - "name": "Travel", - "id": "fablabchemnitz.de.travel", - "path": "travel", - "original_name": "Travel", - "original_id": "travel.rkp8000.inkscape", - "license": "MIT License", - "license_url": "https://github.com/rkp8000/inkscape-travel/blob/master/LICENSE", - "comment": "ported to Inkscape v1 manually by Mario Voigt", - "source_url": "https://github.com/rkp8000/inkscape-travel", - "documentation_url": "https://stadtfabrikanten.org/display/IFM/Travel", - "main_authors": [ - "github.com/rkp8000", - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "Travel", + "id": "fablabchemnitz.de.travel", + "path": "travel", + "original_name": "Travel", + "original_id": "travel.rkp8000.inkscape", + "license": "MIT License", + "license_url": "https://github.com/rkp8000/inkscape-travel/blob/master/LICENSE", + "comment": "ported to Inkscape v1 manually by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/travel", + "fork_url": "https://github.com/rkp8000/inkscape-travel", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Travel", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/rkp8000", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/triangular_grid/meta.json b/extensions/fablabchemnitz/triangular_grid/meta.json index 412f12eb..20467ac5 100644 --- a/extensions/fablabchemnitz/triangular_grid/meta.json +++ b/extensions/fablabchemnitz/triangular_grid/meta.json @@ -1,16 +1,20 @@ -{ - "name": "Triangular Grid", - "id": "fablabchemnitz.de.triangular_grid", - "path": "triangular_grid", - "original_name": "Triangular Grid", - "original_id": "grid.triangular", - "license": "GNU GPL v2", - "license_url": "https://github.com/cds4/inkscape-grids/blob/master/grid_triangular.py", - "comment": "ported to Inkscape v1 by Mario Voigt", - "source_url": "https://github.com/cds4/inkscape-grids", - "documentation_url": "https://stadtfabrikanten.org/display/IFM/Triangular+Grid", - "main_authors": [ - "github.com/cds4", - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "Triangular Grid", + "id": "fablabchemnitz.de.triangular_grid", + "path": "triangular_grid", + "original_name": "Triangular Grid", + "original_id": "grid.triangular", + "license": "GNU GPL v2", + "license_url": "https://github.com/cds4/inkscape-grids/blob/master/grid_triangular.py", + "comment": "ported to Inkscape v1 by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/triangular_grid", + "fork_url": "https://github.com/cds4/inkscape-grids", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Triangular+Grid", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/cds4", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/tuckbox/meta.json b/extensions/fablabchemnitz/tuckbox/meta.json index 78ecd5ed..6b43b0c9 100644 --- a/extensions/fablabchemnitz/tuckbox/meta.json +++ b/extensions/fablabchemnitz/tuckbox/meta.json @@ -1,16 +1,20 @@ -{ - "name": "Tuckbox", - "id": "fablabchemnitz.de.tuckbox", - "path": "tuckbox", - "original_name": "Create Tuckbox", - "original_id": "phillips.effect.tuckbox", - "license": "GNU GPL v2", - "license_url": "https://sourceforge.net/p/razorfoss/svn/HEAD/tree/trunk/Inkscape/TuckboxExtension/CreateTuckbox.py", - "comment": "", - "source_url": "https://sourceforge.net/p/razorfoss/svn/HEAD/tree/trunk/Inkscape/TuckboxExtension/", - "documentation_url": "https://stadtfabrikanten.org/display/IFM/Tuckbox", - "main_authors": [ - "Luke Phillips (lukerazor@hotmail.com)", - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "Tuckbox", + "id": "fablabchemnitz.de.tuckbox", + "path": "tuckbox", + "original_name": "Create Tuckbox", + "original_id": "phillips.effect.tuckbox", + "license": "GNU GPL v2", + "license_url": "https://sourceforge.net/p/razorfoss/svn/HEAD/tree/trunk/Inkscape/TuckboxExtension/CreateTuckbox.py", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/tuckbox", + "fork_url": "https://sourceforge.net/p/razorfoss/svn/HEAD/tree/trunk/Inkscape/TuckboxExtension/", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Tuckbox", + "inkscape_gallery_url": null, + "main_authors": [ + "Luke Phillips (lukerazor@hotmail.com)", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/twist/meta.json b/extensions/fablabchemnitz/twist/meta.json index 552207f7..12b0ae1d 100644 --- a/extensions/fablabchemnitz/twist/meta.json +++ b/extensions/fablabchemnitz/twist/meta.json @@ -1,16 +1,20 @@ -{ - "name": "Twist", - "id": "fablabchemnitz.de.twist", - "path": "twist", - "original_name": "Twist", - "original_id": "command.eggbot.contributed.twist", - "license": "GNU GPL v3", - "license_url": "https://github.com/evil-mad/EggBot/blob/master/LICENSE", - "comment": "ported to Inkscape v1 manually by Mario Voigt", - "source_url": "https://github.com/evil-mad/EggBot/tree/master/inkscape_contributed", - "documentation_url": "https://stadtfabrikanten.org/display/IFM/Twist", - "main_authors": [ - "github.com/oskay", - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "Twist", + "id": "fablabchemnitz.de.twist", + "path": "twist", + "original_name": "Twist", + "original_id": "command.eggbot.contributed.twist", + "license": "GNU GPL v3", + "license_url": "https://github.com/evil-mad/EggBot/blob/master/LICENSE", + "comment": "ported to Inkscape v1 manually by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/twist", + "fork_url": "https://github.com/evil-mad/EggBot/tree/master/inkscape_contributed", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Twist", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/oskay", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/ungrouper_and_element_migrator_filter/meta.json b/extensions/fablabchemnitz/ungrouper_and_element_migrator_filter/meta.json index 9ba542a5..227c1a77 100644 --- a/extensions/fablabchemnitz/ungrouper_and_element_migrator_filter/meta.json +++ b/extensions/fablabchemnitz/ungrouper_and_element_migrator_filter/meta.json @@ -1,15 +1,19 @@ -{ - "name": "Ungrouper And Element Migrator/Filter", - "id": "fablabchemnitz.de.ungrouper_and_element_migrator_filter", - "path": "ungrouper_and_element_migrator_filter", - "original_name": "Ungrouper And Element Migrator/Filter", - "original_id": "fablabchemnitz.de.ungrouper_and_element_migrator_filter", - "license": "GNU GPL v3", - "license_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/LICENSE", - "comment": "Created by Mario Voigt", - "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/ungrouper_and_element_migrator_filter", - "documentation_url": "https://stadtfabrikanten.org/pages/viewpage.action?pageId=77267295", - "main_authors": [ - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "Ungrouper And Element Migrator/Filter", + "id": "fablabchemnitz.de.ungrouper_and_element_migrator_filter", + "path": "ungrouper_and_element_migrator_filter", + "original_name": "Ungrouper And Element Migrator/Filter", + "original_id": "fablabchemnitz.de.ungrouper_and_element_migrator_filter", + "license": "GNU GPL v3", + "license_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/LICENSE", + "comment": "Created by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/ungrouper_and_element_migrator_filter", + "fork_url": null, + "documentation_url": "https://stadtfabrikanten.org/pages/viewpage.action?pageId=77267295", + "inkscape_gallery_url": "https://inkscape.org/de/~MarioVoigt/%E2%98%85ungrouper-and-element-migratorfilter", + "main_authors": [ + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/unwind_paths/meta.json b/extensions/fablabchemnitz/unwind_paths/meta.json index e5d2d9a2..84880136 100644 --- a/extensions/fablabchemnitz/unwind_paths/meta.json +++ b/extensions/fablabchemnitz/unwind_paths/meta.json @@ -1,15 +1,19 @@ -{ - "name": "Unwind Paths", - "id": "fablabchemnitz.de.unwind_paths", - "path": "unwind_paths", - "original_name": "Unwind Paths", - "original_id": "fablabchemnitz.de.unwind_paths", - "license": "GNU GPL v3", - "license_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/LICENSE", - "comment": "Created by Mario Voigt", - "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/unwind_paths", - "documentation_url": "https://stadtfabrikanten.org/display/IFM/Unwind+Paths", - "main_authors": [ - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "Unwind Paths", + "id": "fablabchemnitz.de.unwind_paths", + "path": "unwind_paths", + "original_name": "Unwind Paths", + "original_id": "fablabchemnitz.de.unwind_paths", + "license": "GNU GPL v3", + "license_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/LICENSE", + "comment": "Created by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/unwind_paths", + "fork_url": null, + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Unwind+Paths", + "inkscape_gallery_url": "https://inkscape.org/de/~MarioVoigt/%E2%98%85unwind-paths", + "main_authors": [ + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/vektorkollektor/meta.json b/extensions/fablabchemnitz/vektorkollektor/meta.json index 5afa56f2..00b1103b 100644 --- a/extensions/fablabchemnitz/vektorkollektor/meta.json +++ b/extensions/fablabchemnitz/vektorkollektor/meta.json @@ -1,17 +1,21 @@ -{ - "name": "Vektorkollektor", - "id": "fablabchemnitz.de.vektorkollektor", - "path": "vektorkollektor", - "original_name": "Vektorkollektor", - "original_id": "fablabchemnitz.de.vektorkollektor", - "license": "GNU GPL v3", - "license_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/LICENSE", - "comment": "Created by Mario Voigt. See http://www.vektorkollektor.com", - "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/vektorkollektor", - "documentation_url": "https://stadtfabrikanten.org/display/IFM/Vektorkollektor", - "main_authors": [ - "https://niklasroy.com", - "http://katihyyppa.com", - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "Vektorkollektor", + "id": "fablabchemnitz.de.vektorkollektor", + "path": "vektorkollektor", + "original_name": "Vektorkollektor", + "original_id": "fablabchemnitz.de.vektorkollektor", + "license": "GNU GPL v3", + "license_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/LICENSE", + "comment": "Created by Mario Voigt. See http://www.vektorkollektor.com", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/vektorkollektor", + "fork_url": null, + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Vektorkollektor", + "inkscape_gallery_url": null, + "main_authors": [ + "https://niklasroy.com", + "http://katihyyppa.com", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/vertical_horizontal_scale/meta.json b/extensions/fablabchemnitz/vertical_horizontal_scale/meta.json index 7ba23dd2..075a98ba 100644 --- a/extensions/fablabchemnitz/vertical_horizontal_scale/meta.json +++ b/extensions/fablabchemnitz/vertical_horizontal_scale/meta.json @@ -1,16 +1,20 @@ -{ - "name": "Vertical / Horizontal Scale", - "id": "fablabchemnitz.de.vertical_horizontal_scale", - "path": "vertical_horizontal_scale", - "original_name": "Scale", - "original_id": "org.inkscape.render.render_scale", - "license": "GNU GPL v2", - "license_url": "https://github.com/brathering82/inkscape/blob/master/LICENSE", - "comment": "ported to Inkscape v1 by Mario Voigt", - "source_url": "https://github.com/brathering82/inkscape", - "documentation_url": "https://stadtfabrikanten.org/pages/viewpage.action?pageId=55018500", - "main_authors": [ - "github.com/brathering82", - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "Vertical / Horizontal Scale", + "id": "fablabchemnitz.de.vertical_horizontal_scale", + "path": "vertical_horizontal_scale", + "original_name": "Scale", + "original_id": "org.inkscape.render.render_scale", + "license": "GNU GPL v2", + "license_url": "https://github.com/brathering82/inkscape/blob/master/LICENSE", + "comment": "ported to Inkscape v1 by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/vertical_horizontal_scale", + "fork_url": "https://github.com/brathering82/inkscape", + "documentation_url": "https://stadtfabrikanten.org/pages/viewpage.action?pageId=55018500", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/brathering82", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/visicut/meta.json b/extensions/fablabchemnitz/visicut/meta.json index 48b810be..686c0fce 100644 --- a/extensions/fablabchemnitz/visicut/meta.json +++ b/extensions/fablabchemnitz/visicut/meta.json @@ -1,16 +1,20 @@ -{ - "name": "", - "id": "fablabchemnitz.de.open_in_visicut_", - "path": "visicut", - "original_name": "", - "original_id": "visicut.", - "license": "GNU LGPL v3", - "license_url": "https://github.com/t-oster/VisiCut/blob/master/LICENSE", - "comment": "", - "source_url": "https://github.com/t-oster/VisiCut/tree/master/tools/inkscape_extension", - "documentation_url": "https://stadtfabrikanten.org/display/IFM/Open+in+VisiCut", - "main_authors": [ - "github.com/t-oster", - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "", + "id": "fablabchemnitz.de.open_in_visicut_", + "path": "visicut", + "original_name": "", + "original_id": "visicut.", + "license": "GNU LGPL v3", + "license_url": "https://github.com/t-oster/VisiCut/blob/master/LICENSE", + "comment": "", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/visicut", + "fork_url": "https://github.com/t-oster/VisiCut/tree/master/tools/inkscape_extension", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Open+in+VisiCut", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/t-oster", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/vpypetools/meta.json b/extensions/fablabchemnitz/vpypetools/meta.json index 4517fa5f..489b9fa3 100644 --- a/extensions/fablabchemnitz/vpypetools/meta.json +++ b/extensions/fablabchemnitz/vpypetools/meta.json @@ -1,15 +1,19 @@ -{ - "name": "", - "id": "fablabchemnitz.de.vpype_", - "path": "vpypetools", - "original_name": "vpypetools", - "original_id": "fablabchemnitz.de.vpype_", - "license": "GNU GPL v3", - "license_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/LICENSE", - "comment": "Created by Mario Voigt", - "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/vpypetools", - "documentation_url": "https://stadtfabrikanten.org/display/IFM/vpypetools", - "main_authors": [ - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "", + "id": "fablabchemnitz.de.vpype_", + "path": "vpypetools", + "original_name": "vpypetools", + "original_id": "fablabchemnitz.de.vpype_", + "license": "GNU GPL v3", + "license_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/LICENSE", + "comment": "Created by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/vpypetools", + "fork_url": null, + "documentation_url": "https://stadtfabrikanten.org/display/IFM/vpypetools", + "inkscape_gallery_url": "https://inkscape.org/de/~MarioVoigt/%E2%98%85vpypetools-vpype-for-inkscape", + "main_authors": [ + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/x_agram/meta.json b/extensions/fablabchemnitz/x_agram/meta.json index a49df1d9..362d9d68 100644 --- a/extensions/fablabchemnitz/x_agram/meta.json +++ b/extensions/fablabchemnitz/x_agram/meta.json @@ -1,16 +1,20 @@ -{ - "name": "X-Agram", - "id": "fablabchemnitz.de.x_agram", - "path": "x_agram", - "original_name": "X-agram", - "original_id": "com.kacmarcik.pathmonkey.x-agram", - "license": "MIT License", - "license_url": "https://github.com/garykac/pathmonkey/blob/master/LICENSE", - "comment": "ported to Inkscape v1 manually by Mario Voigt", - "source_url": "https://github.com/garykac/pathmonkey", - "documentation_url": "https://stadtfabrikanten.org/display/IFM/X-Agram", - "main_authors": [ - "github.com/garykac", - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "X-Agram", + "id": "fablabchemnitz.de.x_agram", + "path": "x_agram", + "original_name": "X-agram", + "original_id": "com.kacmarcik.pathmonkey.x-agram", + "license": "MIT License", + "license_url": "https://github.com/garykac/pathmonkey/blob/master/LICENSE", + "comment": "ported to Inkscape v1 manually by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/x_agram", + "fork_url": "https://github.com/garykac/pathmonkey", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/X-Agram", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/garykac", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/zigzag_nodes/meta.json b/extensions/fablabchemnitz/zigzag_nodes/meta.json index 9e73a84d..f88398ba 100644 --- a/extensions/fablabchemnitz/zigzag_nodes/meta.json +++ b/extensions/fablabchemnitz/zigzag_nodes/meta.json @@ -1,16 +1,20 @@ -{ - "name": "Zigzag Nodes", - "id": "fablabchemnitz.de.zigzag_nodes", - "path": "zigzag_nodes", - "original_name": "unknown", - "original_id": "unknown", - "license": "GNU GPL v2", - "license_url": "http://dp48069596.lolipop.jp/sd/scripts/script_inkscape/zigzag.zip", - "comment": "ported to Inkscape v1 by Mario Voigt", - "source_url": "http://dp48069596.lolipop.jp/sd/scripts/script_inkscape/zigzag.zip", - "documentation_url": "https://stadtfabrikanten.org/display/IFM/Zigzag+Nodes", - "main_authors": [ - "Sunabe Kazumichi", - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "Zigzag Nodes", + "id": "fablabchemnitz.de.zigzag_nodes", + "path": "zigzag_nodes", + "original_name": "", + "original_id": "", + "license": "GNU GPL v2", + "license_url": "http://dp48069596.lolipop.jp/sd/scripts/script_inkscape/zigzag.zip", + "comment": "ported to Inkscape v1 by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/zigzag_nodes", + "fork_url": "http://dp48069596.lolipop.jp/sd/scripts/script_inkscape/zigzag.zip", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Zigzag+Nodes", + "inkscape_gallery_url": null, + "main_authors": [ + "Sunabe Kazumichi", + "github.com/vmario89" + ] + } +] \ No newline at end of file diff --git a/extensions/fablabchemnitz/zoetrope/meta.json b/extensions/fablabchemnitz/zoetrope/meta.json index 628f7c79..9a30e84d 100644 --- a/extensions/fablabchemnitz/zoetrope/meta.json +++ b/extensions/fablabchemnitz/zoetrope/meta.json @@ -1,16 +1,20 @@ -{ - "name": "Zoetrope", - "id": "fablabchemnitz.de.zoetrope", - "path": "zoetrope", - "original_name": "Zoetrope", - "original_id": "neon22.zoetrope", - "license": "MIT License", - "license_url": "https://github.com/Neon22/inkscape-Zoetrope/blob/master/LICENSE", - "comment": "ported to Inkscape v1 by Mario Voigt", - "source_url": "https://github.com/Neon22/inkscape-Zoetrope", - "documentation_url": "https://stadtfabrikanten.org/display/IFM/Zoetrope", - "main_authors": [ - "github.com/Neon22", - "github.com/vmario89" - ] -} \ No newline at end of file +[ + { + "name": "Zoetrope", + "id": "fablabchemnitz.de.zoetrope", + "path": "zoetrope", + "original_name": "Zoetrope", + "original_id": "neon22.zoetrope", + "license": "MIT License", + "license_url": "https://github.com/Neon22/inkscape-Zoetrope/blob/master/LICENSE", + "comment": "ported to Inkscape v1 by Mario Voigt", + "source_url": "https://gitea.fablabchemnitz.de/FabLab_Chemnitz/mightyscape-1.X/src/branch/master/extensions/fablabchemnitz/zoetrope", + "fork_url": "https://github.com/Neon22/inkscape-Zoetrope", + "documentation_url": "https://stadtfabrikanten.org/display/IFM/Zoetrope", + "inkscape_gallery_url": null, + "main_authors": [ + "github.com/Neon22", + "github.com/vmario89" + ] + } +] \ No newline at end of file