Commit Graph

194 Commits

Author SHA1 Message Date
Vojtěch Mrkývka 224f7b25aa Keyboard interruption for BoxesServer 2022-08-28 11:46:24 +02:00
suks.ae 5169343be7 Add fillHoles() function
to fill a polygon with a hole pattern
2022-07-23 09:53:11 +02:00
Vyacheslav V. Anisimov c8d93bfe14
Add host parameter to boxesserver 2022-04-30 23:23:52 +02:00
Florian Festi adf5079ea0 Boxesserver: Allow extra extentions for markdown
of generators' long description
2022-04-30 16:45:01 +02:00
Florian Festi ea4036b3d4 ArgparseEdgeType: Re-enable Inkscape format
Got dropped in ecf14540f5 while moving to
Inkscape 1.0.

Related: #369
2022-02-18 10:46:11 +01:00
Florian Festi 6cb2af9cc9 Fix URL params defaults for int choices
URL parameters are passed in as strings so they would not register as
selected for choices with int values. As a result a render=0 link would
nt pass these parameters correctly.

Thanks to Richard Kampmann for noting and reporting this rather
obscure bug!
2022-01-08 18:20:39 +01:00
Florian Festi f0022d3754 Re-arrage footer links 2022-01-03 13:42:50 +01:00
Florian Festi 4ba1768d29 Treat all parameter descriptions as markdown
in the web UI
2022-01-03 13:29:12 +01:00
Rotzbua a596f79814 change to html5 style 2021-11-11 12:15:22 +01:00
Rotzbua d43d44bf66 fix wrong encoding header from server 2021-11-11 11:04:16 +01:00
Rotzbua 8d30892d23 Remove unreachable code 2021-11-11 11:03:28 +01:00
Florian Festi a88afc964d CSS: Set width of images in descriptions to 100%
at the bottom of the geenrator pages
2021-09-19 20:38:35 +02:00
Mario Voigt ecf14540f5 Adjust inx parser for InkScape 1.0
This is a more recent inx file creator which does not throw errors on console (except the ones where no thumbnail files exist yet)

Resolves: #314
2021-06-11 20:33:32 +02:00
Florian Festi ef94daa006 Add mouseover images for most groups
Resolves: #253
2021-06-05 18:25:53 +02:00
Florian Festi 7901e4aa40 Show description above image in the web interface 2021-03-15 13:50:35 +01:00
Florian Festi 33325adb87 Use new style string formating 2020-11-14 16:41:41 +01:00
Florian Festi f38819307b Limit formating for unorderd lists to menu page
Before unordered lists in generator descriptions would also be formatted
like the items in the generator selection
2020-09-26 11:45:48 +02:00
Marcin Zukowski a5648f5297 Add "Save to URL" button 2020-08-28 10:34:18 +02:00
Florian Festi be74f553e6 Fix Inkscape extension files for 1.0
Use lowercase for bools
Avoid empty gui-description strings

Resolves #231
2020-08-04 23:44:18 +02:00
Florian Festi dc0976a416 Remove unnecessary type attribute in web page 2020-07-15 14:30:04 +02:00
Florian Festi ce90f06e1e Show image underneath the settings
just before the long description (if there is one)
2020-05-24 13:52:24 +02:00
Florian Festi c0a3175c4e No langer require cairo in the Dockerfiles 2020-05-18 22:30:28 +02:00
Florian Festi 6440bcb639 Get text working for both SVG and PS
Move coordiate translation to to finish() method
Use Latin1 encoding for text PS in output

Add Boxes.set_font() to support basic font styles:
 serif, sans-serif and monospaced
 in normal, bold, italic and both bold and italic
2020-05-18 22:30:28 +02:00
Florian Festi c4ca1b4dfa Also translate Edge descriptions in ArgparseEdgeType 2020-04-13 18:45:17 +02:00
Florian Festi 18a1766f8c Add edge descriptions to pot file (translation catalog) 2020-04-13 18:36:18 +02:00
Florian Festi b46deec02e boxesserver: Return nothing.png for missing thumb nails
No longer output paths of static files
2020-03-07 20:14:38 +01:00
Florian Festi db5c0c8bad boxesserver: Remove Python 2 compat foo 2019-12-21 17:47:40 +01:00
Florian Festi 4f3b738f6f Replace deprecated cgi.escape with html.escape 2019-12-21 17:47:08 +01:00
Florian Festi 3b2e214bf1 boxesserver: Message to indicate the traceback was caught 2019-12-21 17:47:08 +01:00
Florian Festi a39567598c Fix error handling of TrayLayout2 in the web instance 2019-12-16 20:07:30 +01:00
Florian Festi 4a711b1cb4 boxesserver: Improve error handling during rendering
Especially don't print messages for out of bound parameters into the log/stdout
2019-12-14 13:09:43 +01:00
Florian Festi b4384f5d16 boxesserver: don't error out on missing QUERY_STRING 2019-12-14 12:16:25 +01:00
Florian Festi 45e9fdc68a TrayLayout: Show errors on parsing the layout 2019-11-24 16:42:47 +01:00
Florian Festi d121b34994 boxesserver: Catch all exceptions during rendering 2019-11-23 14:28:51 +01:00
Georges Khaznadar 00f25e43c7 allow a parameter to change the port of the server 2019-11-01 11:35:52 +01:00
Luca 2ab360a415 Set thumbnail position relative to viewport
Display thumbnail 100px from the bottom
2019-10-27 16:44:13 +01:00
Luca 330ebdb752 Display 200px fixed-width thumbnails instead of full-size pictures 2019-10-27 16:44:13 +01:00
Luca 53374de766 Add script to statically generate thumbnails 2019-10-27 16:44:13 +01:00
Florian Festi 55dd81886a Web UI: Fix str vs bytes mess in error message handling
Displaying the error message failed resulting in an empty page and a
(hidden) trace back.

Resolves: #180
2019-10-22 21:12:26 +02:00
Florian Festi df331cd1f3 Fix Inkscape inx files with BoolArg and argparseSections parameters
This was broken by 603c0a789e by adding quotes
to some cases but not all.

Resolves: #171
2019-09-08 23:26:07 +02:00
Florian Festi 603c0a789e Inkscape plugin: Set precision for float arguments to 2
Resolves: #167
2019-08-24 23:01:27 +02:00
Florian Festi 3c469c99d4 Also translate generator and setting group names in web UI 2019-08-24 11:33:43 +02:00
Florian Festi 291d21cd37 Use URL param and drop down in footer to select language 2019-08-24 00:07:45 +02:00
Florian Festi d0de69ed4d boxesserver: Create a new box instance for each request 2019-08-22 12:19:23 +02:00
Florian Festi 9636ecd076 boxesserver: Mark strings translatable and translate generator strings 2019-08-22 12:17:57 +02:00
Florian Festi 137ef6d676 New tool boxes2pot to extract translatable strings 2019-08-22 11:15:22 +02:00
Florian Festi e37e0df899 Make a copy of the header list 2019-08-18 13:56:26 +02:00
Florian Festi 699e224bc7 Add Content-Disposition header to have browsers download everything but SVGs
It also downloads svg_Ponoko files as they cannot really be viewed in
the browser.

Related: #164

Thanks to Tagej for suggesting this!
2019-08-17 23:50:11 +02:00
Florian Festi d51b44fb57 Use urllib.parse.parse_qs instead of cgi.parse_qs if possible 2019-08-16 00:24:51 +02:00
Florian Festi 02988d12c5 Catch exceptions from failed ps2edit calls 2019-08-15 23:12:35 +02:00
Rotzbua 6ae8acd568 [Docker] clean dnf cache to save space
about 150mb
2019-07-12 12:16:28 +02:00
Florian Festi fff74cf382 Add metadata as a xml comment
Resolves #66
2019-07-07 13:43:04 +02:00
Florian Festi d162c769b4 Use built in eTree implementation instead of lxml 2019-07-04 17:52:08 +02:00
Rotzbua c3aac6f5eb [Docker] clone without history to save space 2019-07-02 15:39:59 +02:00
chrysn 18ea1a5ed4 boxesserver: Allow multi-line errors
Fixing potential cross-site scripting attacks in passing
2019-06-01 13:07:43 +02:00
Florian Festi 83078d056f Add python3-xcffib to Dockerfile to work with Fedora 29 2019-04-09 21:58:45 +02:00
Florian Festi 0d07f48b7f Remove .open() call from the .render() method
Having this call there was necessary in the past as the open() method would
need the canvas size as a parameter. This is now determined automatically
after rendering.

Still calling open() is deprecated but won't result in an error.
2019-02-08 17:43:15 +01:00
Florian Festi 861c8451e2 Remove call to .close() from .render() method
There is really no need for all the generator to care
Still calling it is deprecated but won't result in an error
2019-02-08 17:32:04 +01:00
Florian Festi fdc90ba20d Unclutter Inkscape UI
Remove "Settings" from the name of the parameter groups tabs
2018-11-25 23:20:59 +01:00
Florian Festi b1eced8259 Ignore argument groups in the web UI that are empty except --help 2018-10-28 20:18:37 +01:00
Florian Festi b9e6ff2c1d http -> https 2018-10-01 14:42:50 +02:00
Rotzbua 10ba53c5a1 add security headers for browser
harden website
2018-10-01 14:41:22 +02:00
Rotzbua 0269037eb3 http -> https 2018-10-01 14:35:33 +02:00
Florian Festi 9b84c86cc1 New logo
Resolves: #34 #86
2018-09-23 14:15:50 +02:00
Florian Festi 69c6b4188d Jupyter notebook example: Use temp file 2018-09-13 10:15:22 +02:00
Florian Festi 59ba2a3516 Simple, Fedora based Dockerfile 2018-09-12 11:31:43 +02:00
Florian Festi 646a0e57e9 New Jupyter notebook with an example generator 2018-09-10 09:59:57 +02:00
Florian Festi bfd7c3eaaa Use os.path.join for Windows compatibility 2018-08-28 07:32:39 +02:00
Florian Festi 6f007d06f2 TrayLayout: Add support to read URL param into the form 2018-08-27 17:11:20 +02:00
Florian Festi 460691f0aa Use os.path.join for Windows compatibility 2018-08-26 11:01:23 +02:00
Florian Festi b31faefe26 Use URL params as defaults for rendering the the input mask
when the render=1 param is omitted
2018-08-14 11:43:02 +02:00
Florian Festi cabcfeade9 Make normalize.css local and put them in /static
No long load them from github
And include directly into self.css
2018-07-02 23:33:16 +02:00
Stefan ba237335db set default state of liste items to open 2018-06-14 22:15:35 +02:00
Stefan a1d08426ce implemented toggling of list headers 2018-06-14 22:09:41 +02:00
Florian Festi 2b2aa9f20e Web Interface: do not leave form action empty 2018-03-10 14:20:18 +01:00
Florian Festi 705ad5344c Web Interface: sigh 2018-03-10 14:13:44 +01:00
Florian Festi d7dc41cbfa Web Interface: Fix stuff broken earlier 2018-03-09 16:22:10 +01:00
Florian Festi 5b775067fe Web Interface: Fix stuff broken earlier 2018-03-09 16:15:52 +01:00
Florian Festi 5c78d08aa8 Revert "Web Interface: Fix more messed up tags"
This reverts commit a4cd899f0e.
2018-03-06 11:09:49 +01:00
Florian Festi 9e7b7d2279 Web Interface: Fix more messed up tags 2018-03-06 11:07:10 +01:00
Florian Festi a4cd899f0e Web Interface: Fix more messed up tags 2018-03-06 11:05:53 +01:00
Florian Festi 3714940c37 Web Interface: Fix more messed up tags 2018-03-06 10:55:58 +01:00
Florian Festi 448a2f11f6 Web Interface: Fix messed up tags 2018-03-06 10:53:00 +01:00
Florian Festi 49f5ecc476 Web Interface: Fix width attributes of images 2018-03-05 20:10:55 +01:00
Florian Festi 3c8ffb8ce4 Web Interface: Fix nesting an ids in generator lists 2018-03-05 20:10:55 +01:00
Florian Festi 0dc6d26566 Web Interface: Add Flattr meta tag for Backspace e.V. hacker space 2018-03-05 20:10:55 +01:00
Florian Festi 5a5c3d72f0 Web Interface: fix doc type 2018-03-05 20:10:47 +01:00
Niall Quinlan e725bf2dc4 Fix tmp file access in windows
see https://stackoverflow.com/questions/34716996/cant-remove-a-file-which-created-by-tempfile-mkstemp-on-windows
2018-01-17 09:30:06 +01:00
Florian Festi 1b2f5791bd Use Boxes.description in the cli help and the web interface 2017-11-30 22:48:02 +01:00
Marius Bergmann b13cef20ed Refactor `boxes` start script
- split up into separate functions
2017-11-29 20:04:21 +01:00
Florian Festi 53052fc2e0 Show sample images for generators in menu 2017-05-08 21:35:19 +02:00
Florian Festi f08b19e54e Make serving static files a bit more efficient 2017-05-07 20:31:27 +02:00
Florian Festi f48fc32cf0 Link to self.css instead of including it in every page 2017-05-07 16:19:00 +02:00
Florian Festi 7b33c46033 Serve static files 2017-05-07 16:19:00 +02:00
Florian Festi b63dcfeee6 Make Traylayout work without main function 2017-04-05 04:33:42 +02:00
Florian Festi bffd732c3f scripts/boxes: Use generator classes instead of main functions
Make Boxes.parseArgs more robust
--list generators by UI group.
Pass arguments explicitly instead of fiddling with sys.argv
2017-04-05 04:33:28 +02:00
Florian Festi 10cad241ef Fix boxes script when passing no param 2017-03-13 11:41:12 +01:00
Florian Festi 0398c3ae98 Remove Traylayout from the Inkscape plugin
as the two stage input does not work with the INkspace plugin system
2017-03-03 22:20:44 +01:00
Florian Festi 6cae3d7dc7 Filter out --id passed from Inkscape
Move message about missing generator to stderr
2017-02-26 18:54:34 +01:00
Florian Festi 5ef277fc21 boxes2inkscape: Execute boxes directly, add dependency
Default to str as type of inputs
2017-02-25 19:45:55 +01:00