|
|
@@ -1,3 +1,6 @@
|
|
|
+ShareLaTeX
|
|
|
+==========
|
|
|
+
|
|
|
ShareLaTeX is a web based collaborative LaTeX editor. There are two versions of it,
|
|
|
the online version that anyone can sign up to at www.sharelatex.com, and this open source
|
|
|
version which allows anyone to run a local installation of ShareLaTeX.
|
|
|
@@ -6,19 +9,18 @@ This repository pulls together all of the different services in ShareLaTeX's ser
|
|
|
orientied architecture (SOA).
|
|
|
|
|
|
Installation
|
|
|
-============
|
|
|
+------------
|
|
|
|
|
|
First, check out a local copy of this repository:
|
|
|
|
|
|
$ git clone git@github.com:sharelatex/sharelatex.git
|
|
|
$ cd sharelatex
|
|
|
|
|
|
-Next run `npm install` to download all of the dependencies and services
|
|
|
-(you need Node.js installed, version 0.10.0 or later):
|
|
|
+Next install all the Node modules and ShareLaTeX services:
|
|
|
|
|
|
$ npm install
|
|
|
+ $ grunt install
|
|
|
|
|
|
-This can take a while, so now would be a good time for a cup of tea.
|
|
|
When that has finished, run ShareLaTeX with
|
|
|
|
|
|
$ grunt run
|
|
|
@@ -26,12 +28,16 @@ When that has finished, run ShareLaTeX with
|
|
|
ShareLaTeX should now be running at http://localhost:3000.
|
|
|
|
|
|
Dependencies
|
|
|
-============
|
|
|
+------------
|
|
|
+
|
|
|
+You need:
|
|
|
|
|
|
-You need a local instance of Redis and Mongodb running on their standard ports.
|
|
|
+* Node.js 0.10 or greater
|
|
|
+* Grunt command line tools (Run `npm install -g grunt-cli` to install them)
|
|
|
+* A local instance of Redis and Mongodb running on their standard ports.
|
|
|
|
|
|
Other repositories
|
|
|
-==================
|
|
|
+------------------
|
|
|
|
|
|
ShareLaTeX consists of many separate services, each with their own Node.js process
|
|
|
and source code repository. These are all downloaded when you run `npm install` and
|
|
|
@@ -39,15 +45,13 @@ they are run when you run `grunt run`.
|
|
|
|
|
|
The different services are:
|
|
|
|
|
|
-web-sharelatex
|
|
|
---------------
|
|
|
+### web-sharelatex
|
|
|
|
|
|
The front facing web server that serves all the HTML pages, CSS and javascript
|
|
|
to the client. Also contains a lot of logic around creating and editing
|
|
|
projects, and account management.
|
|
|
|
|
|
-document-updater-sharelatex
|
|
|
----------------------------
|
|
|
+### document-updater-sharelatex
|
|
|
|
|
|
Process updates that come in from the editor when users modify documents. Ensures that
|
|
|
the updates are applied in the right order, and that only one operation is modifying
|