GithubHelp home page GithubHelp logo

rlugojr / strut Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tantaman/strut

0.0 1.0 0.0 9.79 MB

Strut - An Impress.js and Bespoke.js Presentation Editor

Home Page: http://strut.io

License: Other

JavaScript 89.15% CSS 9.30% HTML 1.37% Shell 0.01% Clojure 0.17%

strut's Introduction

Note: I've been working on Strut2.0: https://github.com/tantaman/strut2

Strut

Facelift

A GUI / Authoring Tool for ImpressJS and Bespoke.js

Don't know what ImpressJS is? Check out the ImpressJS demo presentation: http://bartaz.github.com/impress.js/#/bored

Start using Strut! http://strut.io/editor/

(works in Firefox, Chrome and Safari with basic support for IE10)

Official Website: http://strut.io

Learn a bit about Strut

Twitter: @StrutPresents

Mailing List

[email protected]

Development/Building

To build your own version of Strut you'll need Grunt v0.4.0 or later.

  1. Install the latest Grunt: npm install -g grunt-cli
  2. Clone Strut: git clone git://github.com/tantaman/Strut.git
  3. cd Strut
  4. Install Strut's development dependencies: npm install
  5. Run Strut: grunt server (the server runs at localhost:9000)

To make a production build of Strut run grunt build. The resulting build will be located in Strut/dist.

RELEASE NOTES

v0.5.3 - Positioning and transformations of components in edit mode now exactly match the positioning and transformations of components in the final presentation.

Contributing

Strut is composed of several bundles which provide distinct features to Strut. The set of bundles that compose Strut are defined in https://github.com/tantaman/Strut/blob/master/app/scripts/features.js

This design allows features to be added and removed from Strut just by adding or removing bundles from the list in features.js. E.g., if you wanted a build of Strut without RemoteStorage you can just remove the RemoteStorage bundle from features.js. If you didn't want any slide components for some reason then you can remove strut/slide_components/main from features.js.

Bundles contribute functionality to Strut by registering that functionality with the ServiceRegistry. You can take a look at the RemoteStorage bundle for an example: https://github.com/tantaman/Strut/blob/master/app/bundles/common/tantaman.web.remote_storage/main.js

If a service is missing Strut continues to run without the functionality provided by that service.

New development that isn't essential to the core of Strut should follow this pattern in order to keep the code modular and allow the removal of features that don't pan out or can only exist in specific environments. For example, RemoteStorage can't be loaded if Strut is being served from a file:// url.

The ServiceRegistry also allows for runtime modularity. I.e., services can be added and removed at runtime and Strut will update to reflect the current set of features & services that are isntalled. Try to keep in mind the fact that services won't necessarily be present or if they are present they might go away. This approach allows the user to add and remove plugins from 3rd parties at runtime.

Acknowledgements

strut's People

Contributors

captaincole avatar dreknl avatar garyyeap avatar jamesrdf avatar jancborchardt avatar kzeni avatar maninder123 avatar mohannadnaj avatar mwcz avatar neochief avatar nh2 avatar prdolmos avatar simounet avatar srikanthsagar avatar tantaman avatar uda avatar wesleyhales avatar zamentur avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.