mgreau / when-websocket-met-asciidoctor

Real-time collaborative editor for AsciiDoc file (based on Asciidoctor.js, AsciidoctorJ and Java EE 7 WebSocket)
https://www.youtube.com/watch?v=9Smp9XlkOdk
MIT License
48 stars 8 forks source link

= Real-time collaborative editor for AsciiDoc Maxime Greau https://github.com/mgreau[@mgreau] v2.0, Jan 28, 2014 :imagesdir: https://raw.github.com/mgreau/when-websocket-met-asciidoctor/master/doc/img/ :toc: :toclevels: 3 :idseparator: - :online-demo: http://wildfly-mgreau.rhcloud.com/ad-editor :milestones: https://github.com/mgreau/when-websocket-met-asciidoctor/issues/milestones :issues: https://github.com/mgreau/when-websocket-met-asciidoctor/issues :asciidoctor-url: http://asciidoctor.org :asciidoctorj-url: https://github.com/asciidoctor/asciidoctorj :asciidoctorjs-url: https://github.com/asciidoctor/asciidoctor.js :asciidoctor-backends-url: https://github.com/asciidoctor/asciidoctor-backends :wildfly-url: http://download.jboss.org/wildfly/8.0.0.Final/wildfly-8.0.0.Final.zip :demo-url: https://raw.github.com/mgreau/when-websocket-met-asciidoctor/master/doc/demo/

This project gives you the possibility to work on the same AsciiDoc file with a team and see the rendering in realtime.

It's based on the {asciidoctor-url}[Asciidoctor project] thanks to :

== How to test it ?

. Install it quickly (0.1.0-alpha3)

curl https://raw.github.com/mgreau/when-websocket-met-asciidoctor/master/install.sh | bash

. or try it online at {online-demo} (running on OpenShift). . or clone the project and follow the instructions below

[[collaborative-editor]] .Demo Collaborative Editor image::../demo/collaborative-editor.gif[Collaborative-editor, 600, link="{demo-url}collaborative-editor.gif"]

If you have an existing asciidoc file, you can drag and drop this file to the editor :

[[drag-drop]] .Drag and drop feature image::ad-editor-dragdrop.png[Drag and drop feature, 600, link="{demo-url}ad-editor-dragdrop.png"]

You can also work on an offline mode with just your browser :

[[offline]] .Offline mode feature image::ad-editor-offline.png[Offline mode feature, 600, link="{imagesdir}ad-editor-offline.png"]

== 0.1.0-alpha4-SNAPSHOT (dev in progress)

== 0.1.0-alpha3 - new features

== 0.1.0-alpha2 new features

[diff feature] .Compute diff feature image::ad-editor-diff.png[Diff feature example, 600]

[patch feature] .patch feature image::ad-editor-patch.png[Patch feature example, 600]

== Changelog

You can read all changes between each release in the link:CHANGELOG.adoc[changelog file].

== Roadmap

A lot of cool features are planned :) You can read all {issues}[open and closed issues] and {milestones}[milestones]

== [DEV MODE] Install on your laptop

[IMPORTANT] .Prerequisites

. Clone or download this github project (+$APP_HOME+)

. Installing the Java EE 7 Compliance App server
.. Download {wildfly-url}[WildFly 8.0.0-Final] (+$JBOSS_HOME+) .. Then you need to deploy the link:module/README.adoc[Asciidoctor module] into your WildFly app server .. For the slides features, you have to install {asciidoctor-backends-url}[asciidoctor-backends] into +$JBOSS_HOME/standalone/datas+

. Installing Bower .. Bower depends on Node and npm. It's installed globally using npm:

npm install -g bower

.. Installing the bower dependencies needed by this app (into +$APP_HOME/src/main/webapp/libs+)

cd $APP_HOME bower install

. Build the WAR and test it into WildFly AS with maven/arquillian :

.. if the environement variable +$JBOSS_HOME+ is set :

mvn clean package -Pwildfly-managed-arquillian

.. if you haven't set the +$JBOSS_HOME+ env variable :

mvn clean package -Pwildfly-managed-arquillian -DserverRoot=

. Deploy the app automatically with maven :

.. if the app server is started

mvn wildfly:deploy -Dmaven.test.skip=true

.. if the app server isn't started

mvn wildfly:run -Dmaven.test.skip=true -Djboss-as.home=

. Launch your browser and enjoy :)

== Technology used