===== Scripts ===== You can find these scripts at our [[https://gitorious.org/libregraphicsmag/productiontools|production tools repository]]. ==== Scribus ==== === slaimages === **List the images included in a .sla file (Scribus document).** During production, we tend to work with a large amount of images, which usually take up a lot of space. In the end, it’s common to have many unused images, which are left behind in the repository. While cleaning the original repository, we needed to know which images are effectively used in the layout and which ones are not. A simple script that navigates the .sla XML and identifies the image files is useful to figure out what we can get rid of. ==== Version Control ==== === git-isolate === **Create a new repository from a subdirectory of an existing repo.** We used this to refactor our 8GB repo into a more manageable set of smaller repositories. === git-listlargerthan & git-purgelargerthan === **Search and remove deleted files from history.** We had been liberally storing all our assets inside our main repository, and after a year and a half a lot of bloat was introduced, in the form of large files that went unused. We removed these using the [[#slaimages|slaimages]] script, but they still remain in Git's history, taking up precious space. These scripts take care of that issue by reviewing all commits and removing the offending files. ===== Specs for future tools ===== These are tools that we will likely be working on at the near future. ==== sla2pdf ==== **A server script to export PDF files from Scribus.** Scribus does not support commandline exporting of PDF's. So we have to hack around this, since this is a **very** necessary feature for us. Ideally, new PDF's should be generated and uploaded automatically on every commit, using a Git commit hook. A possible workaround would be using a mouse/keyboard automation tool to drive Scribus's GUI in a server. We're looking into **xnee** for this, and have an old laptop sitting down at home that would be perfect for this task. Documentation for this: [[http://www.sandklef.com/xnee/|xnee introduction]], [[http://en.wikipedia.org/wiki/Xnee|Wikipedia page]], [[http://itupw056.itu.chalmers.se/xnee/doc/xnee.pdf|PDF manual]] and [[http://www.linuxjournal.com/article/6660|Linux Journal article]] ==== Magplanner ==== **A lightweight web interface to collaboratively design a magazine's dummy.** This interface should allow for: * easy editing of page contents * marking pages as color or b&w, and calculate how that affects the other folios * set status of a page (dummy, editing, layout, complete) Implementation: * small Django app running on SQLite * Page object * title * contents * color (bool) * number * issue * progress (not started, WIP, needs review, done) * comments * form using