Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 0 additions & 22 deletions Cakefile

This file was deleted.

24 changes: 9 additions & 15 deletions README.markdown
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# MagicMarkup
# MagicMockup

## About

Expand Down Expand Up @@ -38,7 +38,7 @@ We currently support the following directives:
* show=layer1,layer2.. : Show the specified layers
* hide=layer1,layer2.. : Hide the specified layers
* toggle=layer1,layer2.. : Toggle the specified layers
* fadeOut=layer,seconds(1),easing(linear) : fade out the specified layer in <seconds>seconds (1sec default) with <easing> easing function (`linear` by default). Easing functions supported are `swing`, and `linear`.
* fadeOut=layer[,duration = '.5s'] : fade out the specified layer in the specified duration - duration is a css-compatible time string such as ".5s", or "1s", ".5s" by default

Now, you can make interactive mockups! Also,
clickable areas (buttons, etc.) are indicated by a mouse pointer.
Expand All @@ -57,8 +57,7 @@ Then, when you open Inkscape, go to File > New, and choose InteractiveMockup fro

## Developing

MagicMarkup is written in CoffeeScript and uses jQuery. You'll
need CoffeeScript installed to develop.
MagicMockup is written in CoffeeScript. You'll need CoffeeScript installed to develop.

You may install CoffeeScript either via:

Expand All @@ -69,20 +68,18 @@ You may install CoffeeScript either via:
npm install coffee-script

...Depending on if you are using Ruby & Gem or Node.js & NPM.
As CoffeeScript is JavaScript, we suggest installing Node.js
and using `npm` for installation.
j
As CoffeeScript is JavaScript, we suggest installing Node.js and using `npm` for installation.

Build magicmockup.js using `cake build` - this will compile magicmockup.coffee and concatenate it with the dependencies in the deps/ directory.
Build MagicMockup using `coffee -c magicmockup.coffee`

There is a really simple script included for helping you to
remember the commands to start a test webserver (based on Python —
although any web server would work).
For development, you can run `coffee -cw magicmockup.coffee`, and coffe will watch the file and automatically recompile whenever you make a change.

`test.svg` is a click-through test for the current directives. Open it in your favorite browser and watch the magic happen! If you add new directives to Magic Mockup, make sure you add a test for it as well in `test.svg`

## TODO

* More Directives
* Easier setup (no SVG hand-editing, even if it's just copy/paste)
* External document links
* Animations
* External directive file (possibly)
Expand All @@ -94,7 +91,4 @@ http://ietherpad.com/g6KdUcpNIH
## Authors
* Máirín Duffy
* Garrett LeSage

## Credits
* jQuery (jquery.com)
* jQuery SVG plugin by Keith Wood (http://keith-wood.name/svg.html)
* Emily Dirsh
20 changes: 20 additions & 0 deletions TODO
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
- Startup directives - directives to run on document load. For example, hide something, show something else, etc. Use case: have a default layer (e.g. a cover page) displayed as a document, but start on a different layer when in "interactive" mode.
- Where should these be declared? Scripting or metadata description?
- Support all directives or only subset?

- Keyboard shortcut to highlight interactive elements. Also research a fixed banner informing users about keyboard shortcut.
- Which key?
- Make optional?

- Support classes in directives. I see this being particularly useful in Startup directives. For example, assign a shared class to any notes/comments in the document, and hide them when in interactive mode.
- Maybe better to require specific labelling of various types, e.g. 'foo' is a layer, '#foo' means something with the id foo, '.foo' is class foo. Another option would be more explicity labelling, e.g. layer:foo, id:foo, class:foo.
- First option example:
show: foo, bar, #bat
fadeOut: .faders
- Second option example:
show: layer:foo, layer:bar, id:bat
fadeOut: class:faders

- First option feels less disruptive... Second option makes it more clear to novice users...


19 changes: 19 additions & 0 deletions demos/minidemo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading