Skip to content

Commit 88cbb35

Browse files
committed
refactor MarkdownText to use props.children
1 parent 24d35ae commit 88cbb35

File tree

21 files changed

+40
-38
lines changed

21 files changed

+40
-38
lines changed

lib/components/_components.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@ exports.Tutorials = tutorials_1.Tutorials;
1818
var final_page_1 = require('./final-page/final-page');
1919
exports.FinalPage = final_page_1.FinalPage;
2020
var markdown_1 = require('./markdown/markdown');
21-
exports.MarkdownText = markdown_1.default;
21+
exports.Markdown = markdown_1.Markdown;
2222
var alert_1 = require('./alert/alert');
2323
exports.Alert = alert_1.default;

lib/components/markdown/markdown.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ function formatText(text) {
2323
return marked(text.toString(), options);
2424
}
2525
;
26-
Object.defineProperty(exports, "__esModule", { value: true });
27-
exports.default = function (_a) {
28-
var text = _a.text;
29-
return (React.createElement("span", {className: 'cr-markdown', dangerouslySetInnerHTML: { __html: formatText(text) }}));
26+
exports.Markdown = function (_a) {
27+
var children = _a.children;
28+
var text = formatText(children);
29+
return React.createElement("span", {className: 'cr-markdown', dangerouslySetInnerHTML: { __html: text }});
3030
};

lib/components/page/chapter/chapter.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ var _components_1 = require('../../_components');
44
Object.defineProperty(exports, "__esModule", { value: true });
55
exports.default = function (_a) {
66
var chapter = _a.chapter;
7-
return (React.createElement("section", {className: 'cr-chapter'}, React.createElement(_components_1.MarkdownText, {text: chapter.title})));
7+
return (React.createElement("section", {className: 'cr-chapter'}, React.createElement(_components_1.Markdown, null, chapter.title)));
88
};

lib/components/page/complete/page-complete.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ var _components_1 = require('../../_components');
55
exports.PageCompleteMessage = function (_a) {
66
var page = _a.page;
77
return (React.createElement("div", {className: 'cr-page-onComplete'}, page.completed && page.onPageComplete ?
8-
React.createElement(list_item_1.default, {key: 'page-complete'}, React.createElement(_components_1.MarkdownText, {text: page.onPageComplete}))
8+
React.createElement(list_item_1.default, {key: 'page-complete'}, React.createElement(_components_1.Markdown, null, page.onPageComplete))
99
: null));
1010
};

lib/components/page/content.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ var card_header_1 = require('material-ui/lib/card/card-header');
66
var card_text_1 = require('material-ui/lib/card/card-text');
77
function default_1(_a) {
88
var page = _a.page;
9-
return (React.createElement(card_1.default, null, React.createElement(card_header_1.default, {title: page.title}), React.createElement(card_text_1.default, null, React.createElement(_components_1.MarkdownText, {text: page.description}))));
9+
return (React.createElement(card_1.default, null, React.createElement(card_header_1.default, {title: page.title}), React.createElement(card_text_1.default, null, React.createElement(_components_1.Markdown, null, page.description))));
1010
}
1111
Object.defineProperty(exports, "__esModule", { value: true });
1212
exports.default = default_1;

lib/components/page/hint/hint.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ var default_1 = (function (_super) {
3535
return React.createElement("div", null);
3636
}
3737
var hint = hints[hintPosition];
38-
return (React.createElement(card_1.default, {className: 'cr-task-hints'}, React.createElement(card_header_1.default, {title: 'Hints', avatar: React.createElement(help_1.default, null), actAsExpander: true, showExpandableButton: true}), React.createElement(card_text_1.default, {className: 'cr-task-hint', expandable: true}, React.createElement(_components_1.MarkdownText, {text: hint})), React.createElement(card_actions_1.default, {expandable: true}, React.createElement(flat_button_1.default, {label: 'Previous', disabled: hintPosition < 1, onTouchTap: prevHint.bind(this, hintPosition - 1)}), React.createElement(flat_button_1.default, {label: 'Next', disabled: hintPosition > hints.length - 2, onTouchTap: nextHint.bind(this, hintPosition + 1)}))));
38+
return (React.createElement(card_1.default, {className: 'cr-task-hints'}, React.createElement(card_header_1.default, {title: 'Hints', avatar: React.createElement(help_1.default, null), actAsExpander: true, showExpandableButton: true}), React.createElement(card_text_1.default, {className: 'cr-task-hint', expandable: true}, React.createElement(_components_1.Markdown, null, hint)), React.createElement(card_actions_1.default, {expandable: true}, React.createElement(flat_button_1.default, {label: 'Previous', disabled: hintPosition < 1, onTouchTap: prevHint.bind(this, hintPosition - 1)}), React.createElement(flat_button_1.default, {label: 'Next', disabled: hintPosition > hints.length - 2, onTouchTap: nextHint.bind(this, hintPosition + 1)}))));
3939
};
4040
default_1 = __decorate([
4141
react_redux_1.connect(null, function (dispatch, state) {

lib/components/page/task/task.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ var TaskIndex = function (_a) {
3131
};
3232
var TaskContent = function (_a) {
3333
var task = _a.task;
34-
return (React.createElement("div", {className: 'cr-task-description'}, React.createElement(_components_1.MarkdownText, {text: task.description})));
34+
return (React.createElement("div", {className: 'cr-task-description'}, React.createElement(_components_1.Markdown, null, task.description)));
3535
};
3636
exports.Task = function (_a) {
3737
var task = _a.task, taskPosition = _a.taskPosition, index = _a.index, runTests = _a.runTests;

lib/components/progress/progress.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,6 @@ exports.default = function (_a) {
9292
}), initiallyOpen: chapterIndex === 0, leftIcon: chapter.completed ? React.createElement(check_box_1.default, null) : null, primaryTogglesNestedList: chapterIndex === position.chapter && !chapter.completed, nestedItems: chapter.pages.map(function (page, pageIndex) {
9393
var itemPosition = { chapter: chapterIndex, page: pageIndex };
9494
return React.createElement(ProgressPage, {key: 'c' + chapterIndex + 'p' + pageIndex, page: page, itemPosition: itemPosition, position: position});
95-
})}, React.createElement("h3", null, chapterIndex + 1, ". ", chapter.title), React.createElement("span", {className: 'chapter-description'}, React.createElement(_components_1.MarkdownText, {text: chapter.description})));
95+
})}, React.createElement("h3", null, chapterIndex + 1, ". ", chapter.title), React.createElement("span", {className: 'chapter-description'}, React.createElement(_components_1.Markdown, null, chapter.description)));
9696
}))));
9797
};

lib/components/start/checks/checks.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ var React = require('react');
1717
var setup_checker_1 = require('./setup-checker');
1818
var VerticalStep_1 = require('material-ui/lib/Stepper/VerticalStep');
1919
var flat_button_1 = require('material-ui/lib/flat-button');
20+
var _components_1 = require('../../_components');
2021
var action_setup_1 = require('../../../reducers/checks/action-setup');
2122
var react_redux_1 = require('react-redux');
2223
var store_1 = require('../../../store/store');
@@ -41,7 +42,7 @@ var Checks = (function (_super) {
4142
React.createElement(flat_button_1.default, {key: 0, primary: true, label: 'Verify', onTouchTap: verify})
4243
]}, React.createElement("div", null, "Install a newer version of ", React.createElement("a", {href: 'https://nodejs.org'}, "Node"))), React.createElement(VerticalStep_1.default, {orderStepLabel: fail, stepLabel: 'NPM >= 3', actions: [
4344
React.createElement(flat_button_1.default, {key: 0, primary: true, label: 'Verify', onTouchTap: verify}),
44-
]}, React.createElement("div", null, "Update your version of NPM.", React.createElement("br", null), "`> npm update -g npm`"))), checks.setup.passed ? null : React.createElement(setup_checker_1.default, {title: 'Setup Checks', status: this.getSetupChecks(checks)}, React.createElement(VerticalStep_1.default, {orderStepLabel: fail, stepLabel: 'working directory', actions: [
45+
]}, React.createElement(_components_1.Markdown, null, "Update your version of NPM." + ' ' + "`> npm update -g npm`"))), checks.setup.passed ? null : React.createElement(setup_checker_1.default, {title: 'Setup Checks', status: this.getSetupChecks(checks)}, React.createElement(VerticalStep_1.default, {orderStepLabel: fail, stepLabel: 'working directory', actions: [
4546
React.createElement(flat_button_1.default, {key: 0, primary: true, label: 'Verify', onTouchTap: verify}),
4647
React.createElement(flat_button_1.default, {key: 1, secondary: true, label: 'Do it for me', onTouchTap: action_setup_1.openDirectory})
4748
]}, React.createElement("div", null, "File -> Open (a new folder)")), React.createElement(VerticalStep_1.default, {orderStepLabel: fail, stepLabel: 'package.json', actions: [

lib/reducers/checks/verify.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ function verifySetup() {
1515
},
1616
setup: {
1717
dir: !!check_setup_1.hasDirectory(),
18-
packageJson: !!check_setup_1.hasPackageJson(),
18+
packageJson: false,
1919
tutorial: !!check_setup_1.hasTutorialDep()
2020
}
2121
};

src/components/_components.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ export {Tutorials} from './tutorials/tutorials';
1414
export {FinalPage} from './final-page/final-page';
1515

1616
// Common
17-
export {default as MarkdownText} from './markdown/markdown';
17+
export {Markdown} from './markdown/markdown';
1818
export {default as Alert} from './alert/alert';

src/components/markdown/markdown.tsx

+9-6
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import * as React from 'react';
22
import * as marked from 'marked';
33
const Highlights = require('highlights');
4-
let highlighter = new Highlights({registry: atom.grammars});
4+
const highlighter = new Highlights({registry: atom.grammars});
55

6-
var options = {
7-
highlight: function (code: string, lang: string) {
6+
const options = {
7+
highlight: (code: string, lang: string) => {
88
return highlighter.highlightSync({
99
fileContents: code,
1010
scopeName: 'source.' + (lang || 'js')
@@ -33,6 +33,9 @@ function formatText(text: string): string {
3333
* Markdown Text
3434
* MD -> HTML
3535
*/
36-
export default ({text}) => (
37-
<span className='cr-markdown' dangerouslySetInnerHTML={{__html: formatText(text)}}></span>
38-
);
36+
export const Markdown: React.StatelessComponent<any> = ({children}) => {
37+
let text = formatText(children);
38+
return <span className='cr-markdown' dangerouslySetInnerHTML={
39+
{__html: text}
40+
}></span>;
41+
};
+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
'use strict';
22
import * as React from 'react';
3-
import {MarkdownText} from '../../_components';
3+
import {Markdown} from '../../_components';
44
/**
55
* Chapters Component
66
* basic chapter info
77
*/
88
export default ({chapter}) => (
99
<section className='cr-chapter'>
10-
<MarkdownText text={chapter.title} />
10+
<Markdown>{chapter.title}</Markdown>
1111
</section>
1212
);

src/components/page/complete/page-complete.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import * as React from 'react';
22
import ListItem from 'material-ui/lib/lists/list-item';
3-
import {MarkdownText} from '../../_components';
3+
import {Markdown} from '../../_components';
44

55
export const PageCompleteMessage = ({page}) => (
66
<div className='cr-page-onComplete'>
77
{page.completed && page.onPageComplete ?
88
<ListItem key='page-complete'>
9-
<MarkdownText text={page.onPageComplete} />
9+
<Markdown>{page.onPageComplete}</Markdown>
1010
</ListItem>
1111
: null}
1212
</div>

src/components/page/content.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import * as React from 'react';
2-
import {MarkdownText} from '../_components';
2+
import {Markdown} from '../_components';
33
import Card from 'material-ui/lib/card/card';
44
import CardHeader from 'material-ui/lib/card/card-header';
55
import CardText from 'material-ui/lib/card/card-text';
@@ -9,7 +9,7 @@ export default function ({page}) {
99
<Card>
1010
<CardHeader title={page.title} />
1111
<CardText>
12-
<MarkdownText text={page.description} />
12+
<Markdown>{page.description}</Markdown>
1313
</CardText>
1414
</Card>
1515
);

src/components/page/hint/hint.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import CardActions from 'material-ui/lib/card/card-actions';
66
import CardHeader from 'material-ui/lib/card/card-header';
77
import CardText from 'material-ui/lib/card/card-text';
88
import FlatButton from 'material-ui/lib/flat-button';
9-
import {MarkdownText} from '../../_components';
9+
import {Markdown} from '../../_components';
1010
import Help from 'material-ui/lib/svg-icons/action/help';
1111

1212
@connect(null, (dispatch, state) => {
@@ -34,7 +34,7 @@ export default class extends React.Component<{
3434
actAsExpander={true}
3535
showExpandableButton={true} />
3636
<CardText className='cr-task-hint' expandable={true}>
37-
<MarkdownText text={hint} />
37+
<Markdown>{hint}</Markdown>
3838
</CardText>
3939
<CardActions expandable={true}>
4040
<FlatButton label='Previous' disabled={hintPosition < 1}

src/components/page/task/task.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import * as React from 'react';
2-
import {MarkdownText} from '../../_components';
2+
import {Markdown} from '../../_components';
33
import List from 'material-ui/lib/lists/list';
44
import ListItem from 'material-ui/lib/lists/list-item';
55
import Subheader from 'material-ui/lib/Subheader';
@@ -31,7 +31,7 @@ const TaskIndex = ({index}) => (
3131

3232
const TaskContent = ({task}) => (
3333
<div className='cr-task-description'>
34-
<MarkdownText text={task.description} />
34+
<Markdown>{task.description}</Markdown>
3535
</div>
3636
);
3737

src/components/progress/progress.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import RaisedButton from 'material-ui/lib/raised-button';
66
import List from 'material-ui/lib/lists/list';
77
import ListItem from 'material-ui/lib/lists/list-item';
88
import Subheader from 'material-ui/lib/Subheader';
9-
import {MarkdownText} from '../_components';
9+
import {Markdown} from '../_components';
1010
import * as classnames from 'classnames';
1111
import * as Colors from 'material-ui/lib/styles/colors';
1212
import CheckBox from 'material-ui/lib/svg-icons/toggle/check-box';
@@ -90,7 +90,7 @@ export default ({progress, position}) => (
9090
})}>
9191
<h3>{chapterIndex + 1}. {chapter.title}</h3>
9292
<span className='chapter-description'>
93-
<MarkdownText text={chapter.description} />
93+
<Markdown>{chapter.description}</Markdown>
9494
</span>
9595
</ListItem>;
9696
})}

src/components/start/checks/checks.tsx

+3-4
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import Paper from 'material-ui/lib/paper';
33
import DynamicStepper from './setup-checker';
44
import Step from 'material-ui/lib/Stepper/VerticalStep';
55
import FlatButton from 'material-ui/lib/flat-button';
6+
import {Markdown} from '../../_components';
67

78
import {openDirectory, createPackageJson, installTutorial} from '../../../reducers/checks/action-setup';
89
import {updateNpm} from '../../../reducers/checks/action-system';
@@ -54,10 +55,8 @@ export default class Checks extends React.Component<{
5455
onTouchTap={verify} />,
5556

5657
]} >
57-
<div>
58-
Update your version of NPM.<br />
59-
`> npm update -g npm`
60-
</div>
58+
<Markdown>Update your version of NPM.
59+
`> npm update -g npm`</Markdown>
6160
</Step>
6261
</DynamicStepper>}
6362

src/components/tutorials/tutorials.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import TableHeader from 'material-ui/lib/table/table-header';
77
import TableRowColumn from 'material-ui/lib/table/table-row-column';
88
import TableBody from 'material-ui/lib/table/table-body';
99
import FileUpload from 'material-ui/lib/svg-icons/file/file-upload';
10-
import {MarkdownText} from '../_components';
1110
import {connect} from 'react-redux';
1211
import * as Action from '../../actions/actions';
1312
import {pink500} from 'material-ui/lib/styles/colors';

src/reducers/checks/verify.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export default function verifySetup(): CR.Checks {
2121
},
2222
setup: {
2323
dir: !!hasDirectory(),
24-
packageJson: !!hasPackageJson(),
24+
packageJson: false, // !!hasPackageJson(),
2525
tutorial: !!hasTutorialDep()
2626
}
2727
};

0 commit comments

Comments
 (0)