diff --git a/frontend/components/DocumentPreview/DocumentPreview.js b/frontend/components/DocumentPreview/DocumentPreview.js index 52870f064..08fbbad8a 100644 --- a/frontend/components/DocumentPreview/DocumentPreview.js +++ b/frontend/components/DocumentPreview/DocumentPreview.js @@ -2,43 +2,41 @@ import React from 'react'; import { toJS } from 'mobx'; import { Link } from 'react-router-dom'; - -import styles from './DocumentPreview.scss'; - +import type { Document } from 'types'; +import styled from 'styled-components'; import PublishingInfo from 'components/PublishingInfo'; +import Markdown from 'components/Markdown'; -class Document extends React.Component { - static propTypes = { - document: React.PropTypes.object.isRequired, - }; +type Props = { + document: Document, +}; - render() { - return ( -
- +const Container = styled.div` + width: 100%; + padding: 20px 0; +`; - -

{this.props.document.title}

+const DocumentPreview = ({ document }: Props) => { + return ( + + + +

{document.title}

+ + +
+ + Continue reading… - -
- -
- - Continue reading... - -
- ); - } -} + + ); +}; -export default Document; +export default DocumentPreview; diff --git a/frontend/components/DocumentPreview/DocumentPreview.scss b/frontend/components/DocumentPreview/DocumentPreview.scss deleted file mode 100644 index 122416df9..000000000 --- a/frontend/components/DocumentPreview/DocumentPreview.scss +++ /dev/null @@ -1,20 +0,0 @@ -@import '~styles/constants.scss'; - - -.container { - width: 100%; - padding: 20px 0; -} - -.title { - color: $textColor; - text-decoration: none; - - h2 { - font-size: 1.3em; - } -} - -.continueLink { - text-decoration: none; -} diff --git a/frontend/scenes/Document/components/Editor/Editor.js b/frontend/components/Editor/Editor.js similarity index 100% rename from frontend/scenes/Document/components/Editor/Editor.js rename to frontend/components/Editor/Editor.js diff --git a/frontend/scenes/Document/components/Editor/Editor.scss b/frontend/components/Editor/Editor.scss similarity index 100% rename from frontend/scenes/Document/components/Editor/Editor.scss rename to frontend/components/Editor/Editor.scss diff --git a/frontend/scenes/Document/components/Editor/components/ClickablePadding/ClickablePadding.js b/frontend/components/Editor/components/ClickablePadding/ClickablePadding.js similarity index 100% rename from frontend/scenes/Document/components/Editor/components/ClickablePadding/ClickablePadding.js rename to frontend/components/Editor/components/ClickablePadding/ClickablePadding.js diff --git a/frontend/scenes/Document/components/Editor/components/ClickablePadding/ClickablePadding.scss b/frontend/components/Editor/components/ClickablePadding/ClickablePadding.scss similarity index 100% rename from frontend/scenes/Document/components/Editor/components/ClickablePadding/ClickablePadding.scss rename to frontend/components/Editor/components/ClickablePadding/ClickablePadding.scss diff --git a/frontend/scenes/Document/components/Editor/components/ClickablePadding/index.js b/frontend/components/Editor/components/ClickablePadding/index.js similarity index 100% rename from frontend/scenes/Document/components/Editor/components/ClickablePadding/index.js rename to frontend/components/Editor/components/ClickablePadding/index.js diff --git a/frontend/scenes/Document/components/Editor/components/Code.js b/frontend/components/Editor/components/Code.js similarity index 100% rename from frontend/scenes/Document/components/Editor/components/Code.js rename to frontend/components/Editor/components/Code.js diff --git a/frontend/scenes/Document/components/Editor/components/Heading.js b/frontend/components/Editor/components/Heading.js similarity index 100% rename from frontend/scenes/Document/components/Editor/components/Heading.js rename to frontend/components/Editor/components/Heading.js diff --git a/frontend/scenes/Document/components/Editor/components/Image.js b/frontend/components/Editor/components/Image.js similarity index 100% rename from frontend/scenes/Document/components/Editor/components/Image.js rename to frontend/components/Editor/components/Image.js diff --git a/frontend/scenes/Document/components/Editor/components/Link.js b/frontend/components/Editor/components/Link.js similarity index 100% rename from frontend/scenes/Document/components/Editor/components/Link.js rename to frontend/components/Editor/components/Link.js diff --git a/frontend/scenes/Document/components/Editor/components/ListItem.js b/frontend/components/Editor/components/ListItem.js similarity index 100% rename from frontend/scenes/Document/components/Editor/components/ListItem.js rename to frontend/components/Editor/components/ListItem.js diff --git a/frontend/scenes/Document/components/Editor/components/TodoItem.js b/frontend/components/Editor/components/TodoItem.js similarity index 100% rename from frontend/scenes/Document/components/Editor/components/TodoItem.js rename to frontend/components/Editor/components/TodoItem.js diff --git a/frontend/scenes/Document/components/Editor/components/Toolbar/Toolbar.js b/frontend/components/Editor/components/Toolbar/Toolbar.js similarity index 100% rename from frontend/scenes/Document/components/Editor/components/Toolbar/Toolbar.js rename to frontend/components/Editor/components/Toolbar/Toolbar.js diff --git a/frontend/scenes/Document/components/Editor/components/Toolbar/Toolbar.scss b/frontend/components/Editor/components/Toolbar/Toolbar.scss similarity index 100% rename from frontend/scenes/Document/components/Editor/components/Toolbar/Toolbar.scss rename to frontend/components/Editor/components/Toolbar/Toolbar.scss diff --git a/frontend/scenes/Document/components/Editor/components/Toolbar/components/FormattingToolbar.js b/frontend/components/Editor/components/Toolbar/components/FormattingToolbar.js similarity index 100% rename from frontend/scenes/Document/components/Editor/components/Toolbar/components/FormattingToolbar.js rename to frontend/components/Editor/components/Toolbar/components/FormattingToolbar.js diff --git a/frontend/scenes/Document/components/Editor/components/Toolbar/components/LinkToolbar.js b/frontend/components/Editor/components/Toolbar/components/LinkToolbar.js similarity index 100% rename from frontend/scenes/Document/components/Editor/components/Toolbar/components/LinkToolbar.js rename to frontend/components/Editor/components/Toolbar/components/LinkToolbar.js diff --git a/frontend/scenes/Document/components/Editor/components/Toolbar/index.js b/frontend/components/Editor/components/Toolbar/index.js similarity index 100% rename from frontend/scenes/Document/components/Editor/components/Toolbar/index.js rename to frontend/components/Editor/components/Toolbar/index.js diff --git a/frontend/scenes/Document/components/Editor/index.js b/frontend/components/Editor/index.js similarity index 100% rename from frontend/scenes/Document/components/Editor/index.js rename to frontend/components/Editor/index.js diff --git a/frontend/scenes/Document/components/Editor/plugins.js b/frontend/components/Editor/plugins.js similarity index 95% rename from frontend/scenes/Document/components/Editor/plugins.js rename to frontend/components/Editor/plugins.js index cbdecbe7b..a6940899b 100644 --- a/frontend/scenes/Document/components/Editor/plugins.js +++ b/frontend/components/Editor/plugins.js @@ -15,7 +15,10 @@ const onlyInCode = node => node.type === 'code'; const createPlugins = ({ onImageUploadStart, onImageUploadStop, -}: { onImageUploadStart: Function, onImageUploadStop: Function }) => { +}: { + onImageUploadStart: Function, + onImageUploadStop: Function, +}) => { return [ PasteLinkify({ type: 'link', diff --git a/frontend/scenes/Document/components/Editor/plugins/KeyboardShortcuts.js b/frontend/components/Editor/plugins/KeyboardShortcuts.js similarity index 100% rename from frontend/scenes/Document/components/Editor/plugins/KeyboardShortcuts.js rename to frontend/components/Editor/plugins/KeyboardShortcuts.js diff --git a/frontend/scenes/Document/components/Editor/plugins/MarkdownShortcuts.js b/frontend/components/Editor/plugins/MarkdownShortcuts.js similarity index 100% rename from frontend/scenes/Document/components/Editor/plugins/MarkdownShortcuts.js rename to frontend/components/Editor/plugins/MarkdownShortcuts.js diff --git a/frontend/scenes/Document/components/Editor/schema.js b/frontend/components/Editor/schema.js similarity index 100% rename from frontend/scenes/Document/components/Editor/schema.js rename to frontend/components/Editor/schema.js diff --git a/frontend/scenes/Document/components/Editor/serializer.js b/frontend/components/Editor/serializer.js similarity index 100% rename from frontend/scenes/Document/components/Editor/serializer.js rename to frontend/components/Editor/serializer.js diff --git a/frontend/scenes/Document/components/Editor/types.js b/frontend/components/Editor/types.js similarity index 100% rename from frontend/scenes/Document/components/Editor/types.js rename to frontend/components/Editor/types.js diff --git a/frontend/components/Markdown/Markdown.js b/frontend/components/Markdown/Markdown.js new file mode 100644 index 000000000..5334aef21 --- /dev/null +++ b/frontend/components/Markdown/Markdown.js @@ -0,0 +1,35 @@ +// @flow +import React, { Component } from 'react'; +import { Editor } from 'slate'; +import MarkdownSerializer from '../Editor/serializer'; +import type { State } from '../Editor/types'; +import schema from '../Editor/schema'; +import styles from '../Editor/Editor.scss'; + +type Props = { + text: string, +}; + +export default class MarkdownEditor extends Component { + props: Props; + + state: { + state: State, + }; + + constructor(props: Props) { + super(props); + this.state = { state: MarkdownSerializer.deserialize(props.text) }; + } + + render = () => { + return ( + + ); + }; +} diff --git a/frontend/components/Markdown/index.js b/frontend/components/Markdown/index.js new file mode 100644 index 000000000..ae494d3a1 --- /dev/null +++ b/frontend/components/Markdown/index.js @@ -0,0 +1,3 @@ +// @flow +import Markdown from './Markdown'; +export default Markdown; diff --git a/frontend/scenes/Document/Document.js b/frontend/scenes/Document/Document.js index 41573def2..15a61ab0a 100644 --- a/frontend/scenes/Document/Document.js +++ b/frontend/scenes/Document/Document.js @@ -7,8 +7,8 @@ import { Flex } from 'reflexbox'; import DocumentStore from './DocumentStore'; import Breadcrumbs from './components/Breadcrumbs'; -import Editor from './components/Editor'; import Menu from './components/Menu'; +import Editor from 'components/Editor'; import Layout, { HeaderAction, SaveAction } from 'components/Layout'; import AtlasPreviewLoading from 'components/AtlasPreviewLoading'; import CenteredContent from 'components/CenteredContent';