-
Notifications
You must be signed in to change notification settings - Fork 421
Examples
Mient-jan Stelling edited this page Sep 18, 2017
·
17 revisions
These examples are for v2.*
- Basic Implementations
- Simple Implementation with custom Styles
- Simple Implementation with custom Rules
import react from 'react';
import {PureComponent} from 'react-native';
import Markdown from 'react-native-markdown-renderer';
const copy = `# h1 Heading 8-)
| Option | Description |
| ------ | ----------- |
| data | path to data files to supply the data that will be passed into templates. |
| engine | engine to be used for processing templates. Handlebars is the default. |
| ext | extension to be used for dest files. |
`;
export default class Page extends PureComponent {
static propTypes = {};
static defaultProps = {};
render() {
return (
<Markdown>{copy}</Markdown>
);
}
}
So to describe what i customized
- Heading1 has a fontSize of 32, backgroundColor black and a color white.
- all headers have a border at the bottom, of width 1 with a black color.
import react from 'react';
import {View, PureComponent, Text} from 'react-native';
import Markdown from 'react-native-markdown-renderer';
import { StyleSheet } from 'react-native';
const styles = StyleSheet.create({
heading: {
borderBottomWidth: 1,
borderColor: '#000000',
},
heading1: {
fontSize: 32,
backgroundColor: '#000000',
color: '#FFFFFF',
},
heading2: {
fontSize: 24,
},
heading3: {
fontSize: 18,
},
heading4: {
fontSize: 16,
},
heading5: {
fontSize: 13,
},
heading6: {
fontSize: 11,
}
});
const copy = `
# h1 Heading 8-)
## h2 Heading 8-)
### h3 Heading 8-)
| Option | Description |
| ------ | ----------- |
| data | path to data files to supply the data that will be passed into templates. |
| engine | engine to be used for processing templates. Handlebars is the default. |
| ext | extension to be used for dest files. |
`;
export default class Page extends PureComponent {
render() {
return (
<Markdown style={styles}>{copy}</Markdown>
);
}
}
So to describe what i customized
- header1 will always look like
[ h1 Heading 8-)]
- header2 will always look like
[ h2 Heading 8-)]
- header3 will always look like
[ h3 Heading 8-)]
All rules can be found in renderRules.js
import react from 'react';
import {View, PureComponent, Text} from 'react-native';
import Markdown, {getUniqueID} from 'react-native-markdown-renderer';
const rules = {
h1: (node, children, parent, styles) =>
<Text key={getUniqueID()} style={[styles.heading, styles.heading1]}>
[{children}]
</Text>,
h2: (node, children, parent, styles) =>
<Text key={getUniqueID()} style={[styles.heading, styles.heading2]}>
[{children}]
</Text>,
h3: (node, children, parent, styles) =>
<Text key={getUniqueID()} style={[styles.heading, styles.heading3]}>
[{children}]
</Text>,
});
const copy = `
# h1 Heading 8-)
## h2 Heading 8-)
### h3 Heading 8-)
| Option | Description |
| ------ | ----------- |
| data | path to data files to supply the data that will be passed into templates. |
| engine | engine to be used for processing templates. Handlebars is the default. |
| ext | extension to be used for dest files. |
`;
export default class Page extends PureComponent {
render() {
return (
<Markdown rules={rules}>{copy}</Markdown>
);
}
}
cd example/
yarn
yarn ios
Simple Examples