diff --git a/.travis.yml b/.travis.yml
index 7ed7d71f..2cd3045f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -12,8 +12,8 @@ before_install:
- rvm use 2.2 --install --binary --fuzzy
- ruby --version
- mysql -e 'CREATE DATABASE development;'
-- nvm install 4.4.7
-- npm install -g npm@2.15.8
+- nvm install 6.14.4
+- npm install -g npm@6.1.0
- npm install -g mocha
- cd client
- npm install
diff --git a/README.md b/README.md
index 50f8b973..d73497dd 100644
--- a/README.md
+++ b/README.md
@@ -56,6 +56,7 @@ Just as there is a `gulp dev` task for development, there is also a `gulp prod`
- `make db` access to mysql database console
- `make sh` access to backend docker container bash
- `make test` run phpunit tests
+- `make doc` to build the documentation (requires `apidoc`)
Server api runs on `http://localhost:8080/`
Also, there's a *phpmyadmin* instance running on `http://localhost:6060/`,
diff --git a/client/package.json b/client/package.json
index 1aa67b0f..a0f03980 100644
--- a/client/package.json
+++ b/client/package.json
@@ -58,16 +58,15 @@
"axios": "^0.18.0",
"chart.js": "^2.4.0",
"classnames": "^2.2.5",
- "draft-js": "^0.10.5",
- "draftjs-to-html": "^0.8.4",
"history": "^3.0.0",
- "html-to-draftjs": "^1.4.0",
"html-to-text": "^4.0.0",
"keycode": "^2.1.4",
"localStorage": "^1.0.3",
"lodash": "^3.10.0",
"messageformat": "^0.2.2",
"qs": "^6.5.2",
+ "quill-image-resize-module-react": "^3.0.0",
+ "random-string": "^0.2.0",
"react": "^15.4.2",
"react-chartjs-2": "^2.0.0",
"react-document-title": "^1.0.2",
@@ -75,6 +74,7 @@
"react-draft-wysiwyg": "^1.12.13",
"react-google-recaptcha": "^0.5.2",
"react-motion": "^0.4.7",
+ "react-quill": "^1.3.1",
"react-redux": "^4.4.5",
"react-router": "^3.0.2",
"react-router-redux": "^4.0.7",
diff --git a/client/preprocessor.js b/client/preprocessor.js
deleted file mode 100644
index 4a742dcf..00000000
--- a/client/preprocessor.js
+++ /dev/null
@@ -1,17 +0,0 @@
-'use strict';
-
-var babel = require('babel-core');
-
-module.exports = {
- process: function(src, filename) {
- // Ignore files other than .js, .es, .jsx or .es6
- if (!babel.canCompile(filename)) {
- return '';
- }
- // Ignore all files within node_modules
- if (filename.indexOf('node_modules') === -1) {
- return babel.transform(src, {filename: filename}).code;
- }
- return src;
- }
-};
\ No newline at end of file
diff --git a/client/src/app-components/article-add-modal.js b/client/src/app-components/article-add-modal.js
index 0a5e4346..8912cb52 100644
--- a/client/src/app-components/article-add-modal.js
+++ b/client/src/app-components/article-add-modal.js
@@ -1,4 +1,6 @@
import React from 'react';
+import _ from 'lodash';
+import {connect} from 'react-redux';
import i18n from 'lib-app/i18n';
import API from 'lib-app/api-call';
@@ -9,12 +11,14 @@ import Form from 'core-components/form';
import FormField from 'core-components/form-field';
import SubmitButton from 'core-components/submit-button';
import Button from 'core-components/button';
+import TextEditor from 'core-components/text-editor';
class ArticleAddModal extends React.Component {
static propTypes = {
topicId: React.PropTypes.number.isRequired,
topicName: React.PropTypes.string.isRequired,
- position: React.PropTypes.number.isRequired
+ position: React.PropTypes.number.isRequired,
+ allowAttachments: React.PropTypes.bool
};
state = {
@@ -27,7 +31,7 @@ class ArticleAddModal extends React.Component {