Strut

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

  • Owner: tantaman/strut
  • Platform:
  • License:: GNU Affero General Public License v3.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

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://tantaman.github.io/Strut/dist/

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

Learn a bit about Strut

Twitter: @StrutPresents

Mailing List

strut-presentation-editor@googlegroups.com

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

Main metrics

Overview
Name With Ownertantaman/strut
Primary LanguageTypeScript
Program languageJavaScript (Language Count: 5)
Platform
License:GNU Affero General Public License v3.0
所有者活动
Created At2012-05-06 22:05:30
Pushed At2023-12-16 12:13:34
Last Commit At
Release Count7
Last Release Namev0.6.3 (Posted on 2013-10-08 13:14:27)
First Release Namev0.3.2 (Posted on 2012-11-26 20:48:38)
用户参与
Stargazers Count1.9k
Watchers Count109
Fork Count484
Commits Count1.4k
Has Issues Enabled
Issues Count327
Issue Open Count16
Pull Requests Count71
Pull Requests Open Count0
Pull Requests Close Count32
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private