No description
  • Ruby 90.5%
  • Shell 9.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2008-09-01 21:25:03 +01:00
bin Added GPL3 header to files, tidied up code, added some git support, fleshed out README. 2008-08-29 22:26:31 +01:00
generator Fixed svn handling, tidied up some formatting. 2008-09-01 21:25:03 +01:00
templates first commit 2008-08-28 23:55:58 +01:00
.gitignore Add .gitignore. 2008-08-29 00:00:00 +01:00
art_generators.gemspec art_project now works with svn, added move script (not working with svn yet), added AUTHORS. 2008-08-31 21:04:26 +01:00
AUTHORS art_project now works with svn, added move script (not working with svn yet), added AUTHORS. 2008-08-31 21:04:26 +01:00
Changelog first commit 2008-08-28 23:55:58 +01:00
COPYING first commit 2008-08-28 23:55:58 +01:00
make_gem Added GPL3 header to files, tidied up code, added some git support, fleshed out README. 2008-08-29 22:26:31 +01:00
README Added GPL3 header to files, tidied up code, added some git support, fleshed out README. 2008-08-29 22:26:31 +01:00
test_gem Added GPL3 header to files, tidied up code, added some git support, fleshed out README. 2008-08-29 22:26:31 +01:00

art_generators - Create & manage the lifecycle of digital art projects
======================================================================

NOT READY FOR USE YET

NOT ALL DESCRIBED FEATURES ARE IMPLEMENTED

Currently only SVG-based projects are supported.

Inspired by Ruby on Rails.


Creating a Project
------------------

> art_project project-name

This will create a folder named project-name.

The folder contains a number of files and directories.

Edit README to describe the project, and COPYING to describe the license terms of the project.

The Resources folder contains template.svg, which you can edit to set a default paper size and other features.

If you specify a version control system as an option (e.g. --git), the project directory will be initialised for that system and the project scripts will try to work with it.


Creating a Work
---------------

In the project folder, type:

> script/work new-work.svg

This will make a new work called new-work.svg in the Preparatory directory by copying resources/template.svg.

If you wish to start from another work in the Preparatory folder, type:

> script/work -c new-work.svg even-newer-work.svg

This will make a new work called new-work.svg in the Preparatory directory by copying Preparatory/new-work.svg .

If you wish to start from another work in the another folder within the project folder, type:

> script/work -c Final/new-work.svg even-newer-work.svg

This will make a new work called new-work.svg in the Preparatory directory by copying Final/new-work.svg .

Specifying works to copy with a slash in the name will cause the work to be copied from that folder in the project directory, not specifying a folder will default to the Preparatory folder.


Changing a Work's Status
------------------------

> script/status --final mywork.svg

Copies the file mywork.svg from workspace directory to the final directory.

If you are using git or svn to version control the project this command notifies them of the change.


Creating a Release of a Project
-------------------------------

> script/release 0.1

Creates an archive called project_name_0.1.tar.gz containing the final, discard and preparatory folders along with the LICENSE and README files.


Creating a Web Page for a Project
---------------------------------

>script/web

Creates png images and thumbnails of the contents of the final directory and creates a web page containing them in the web directory.


Example of Use
--------------

Create a project:

> art_project test

Change to the project directory:

> cd test

Create a work:

> script/work first.svg

Edit it:

> inkscape preparatory/first.svg

Create various other works and edit them:

> script/work -c first.svg workX.svg
...

Decide some are good and some are bad:

> script/status --final work1.svg
> script/status --discard work2.svg
...

Make a release archive:

> script/release 0.0.1

make a web page:

> script/web

Have a rest, then start making more works.


Design Notes
------------

The directory structure and the tasks performed by the scripts come from the workflow Rhea Myers developed for use in his own digital art projects.

The idea of a system to generate a well-structured system of directories, files and scripts for use in a workflow comes from Ruby on Rails.