diff --git a/.eslintignore b/.eslintignore
index 50d3f7109..bb9160179 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -31,4 +31,5 @@ public
!plugins/talk-plugin-sort-oldest
!plugins/talk-plugin-subscriber
!plugins/talk-plugin-toxic-comments
-!plugins/talk-plugin-viewing-options
\ No newline at end of file
+!plugins/talk-plugin-viewing-options
+!plugins/talk-plugin-rte
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index a27a08f15..041cd7e0d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -52,6 +52,7 @@ plugins/*
!plugins/talk-plugin-subscriber
!plugins/talk-plugin-flag-details
!plugins/talk-plugin-slack-notifications
+!plugins/talk-plugin-rte
**/node_modules/*
yarn-error.log
diff --git a/plugins/talk-plugin-rte/client/.eslintrc.json b/plugins/talk-plugin-rte/client/.eslintrc.json
new file mode 100644
index 000000000..9fe56bd14
--- /dev/null
+++ b/plugins/talk-plugin-rte/client/.eslintrc.json
@@ -0,0 +1,23 @@
+{
+ "env": {
+ "browser": true,
+ "es6": true,
+ "mocha": true
+ },
+ "parserOptions": {
+ "sourceType": "module",
+ "ecmaFeatures": {
+ "experimentalObjectRestSpread": true,
+ "jsx": true
+ }
+ },
+ "parser": "babel-eslint",
+ "plugins": [
+ "react"
+ ],
+ "rules": {
+ "react/jsx-uses-react": "error",
+ "react/jsx-uses-vars": "error",
+ "no-console": ["warn", { "allow": ["warn", "error"] }]
+ }
+}
diff --git a/plugins/talk-plugin-rte/client/components/RTEtextArea.css b/plugins/talk-plugin-rte/client/components/RTEtextArea.css
new file mode 100644
index 000000000..187e68750
--- /dev/null
+++ b/plugins/talk-plugin-rte/client/components/RTEtextArea.css
@@ -0,0 +1,27 @@
+.myPluginContainer {
+ padding: 10px;
+ background: #f0f0f0;
+ border: 1px solid #d6d6d6;
+ margin: 10px 0;
+ text-align: center;
+ border-radius: 3px;
+}
+
+.logo {
+ position: block;
+ animation: spin 2s infinite ease;
+ animation-delay: 1s;
+}
+
+@keyframes spin {
+ 0% {
+ transform: rotate(0deg);
+ }
+ 100% {
+ transform: rotate(360deg);
+ }
+}
+
+.description {
+ color: #444444;
+}
diff --git a/plugins/talk-plugin-rte/client/components/RTEtextArea.js b/plugins/talk-plugin-rte/client/components/RTEtextArea.js
new file mode 100644
index 000000000..5a833bcc0
--- /dev/null
+++ b/plugins/talk-plugin-rte/client/components/RTEtextArea.js
@@ -0,0 +1,37 @@
+import React from 'react';
+import PropTypes from 'prop-types';
+import pell from 'pell';
+
+class TextArea extends React.Component {
+ componentWillMount() {}
+ render() {
+ const { value, placeholder, id, onChange, rows, disabled } = this.props;
+
+ return (
+
+ );
+ }
+}
+
+TextArea.defaultProps = {
+ rows: 3,
+};
+
+TextArea.propTypes = {
+ id: PropTypes.string,
+ value: PropTypes.string,
+ placeholder: PropTypes.string,
+ onChange: PropTypes.func,
+ disabled: PropTypes.bool,
+ rows: PropTypes.number,
+};
+
+export default TextAreaComponent;
diff --git a/plugins/talk-plugin-rte/client/index.js b/plugins/talk-plugin-rte/client/index.js
new file mode 100644
index 000000000..920dd2a2c
--- /dev/null
+++ b/plugins/talk-plugin-rte/client/index.js
@@ -0,0 +1,7 @@
+import RTEtextArea from './components/RTEtextArea';
+
+export default {
+ slots: {
+ textArea: [RTEtextArea],
+ },
+};
diff --git a/plugins/talk-plugin-rte/client/translations.yml b/plugins/talk-plugin-rte/client/translations.yml
new file mode 100644
index 000000000..e69de29bb
diff --git a/plugins/talk-plugin-rte/index.js b/plugins/talk-plugin-rte/index.js
new file mode 100644
index 000000000..f053ebf79
--- /dev/null
+++ b/plugins/talk-plugin-rte/index.js
@@ -0,0 +1 @@
+module.exports = {};
diff --git a/plugins/talk-plugin-rte/package.json b/plugins/talk-plugin-rte/package.json
new file mode 100644
index 000000000..79a0ada07
--- /dev/null
+++ b/plugins/talk-plugin-rte/package.json
@@ -0,0 +1,12 @@
+{
+ "name": "@coralproject/talk-plugin-rte",
+ "pluginName": "talk-plugin-rte",
+ "version": "0.0.1",
+ "description": "Rich Text Editor for Talk",
+ "main": "index.js",
+ "author": "The Coral Project Team ",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "pell": "^0.7.0"
+ }
+}
diff --git a/plugins/talk-plugin-rte/yarn.lock b/plugins/talk-plugin-rte/yarn.lock
new file mode 100644
index 000000000..f9eb91c43
--- /dev/null
+++ b/plugins/talk-plugin-rte/yarn.lock
@@ -0,0 +1,7 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+pell@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/pell/-/pell-0.7.0.tgz#46b3fcdfa8dd7e5999f73c550a337ecc80193dcc"