Skip to content

Commit 5e30ede

Browse files
Merge pull request #1 from moveyourdigital/add-first-version
First version
2 parents feae0f2 + ee68d81 commit 5e30ede

38 files changed

+7493
-0
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,6 @@ dist
102102

103103
# TernJS port file
104104
.tern-port
105+
106+
# MacOS
107+
.DS_Store

.npmignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
src
2+
jest.config.js
3+
tsconfig.json
4+
tslint.json
5+
.prettierrc
6+
.gitignore

.prettierrc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"printWidth": 120,
3+
"trailingComma": "all",
4+
"singleQuote": true
5+
}

jest.config.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module.exports = {
2+
preset: 'ts-jest',
3+
testEnvironment: 'node',
4+
};

package-lock.json

Lines changed: 6290 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
{
2+
"name": "editorjs-blocks-react-renderer",
3+
"version": "0.1.0",
4+
"description": "EditorJS blocks renderer to semanticly beautiful html5 tags via React.",
5+
"keywords": [
6+
"editorjs", "editor.js", "editor", "react", "renderer", "html5", "blocks"
7+
],
8+
"main": "dist/index.js",
9+
"types": "dist/index.d.ts",
10+
"scripts": {
11+
"start": "tsc -w",
12+
"build": "tsc",
13+
"test": "jest",
14+
"test:watch": "jest --watch",
15+
"test:coverage": "jest --coverage",
16+
"format": "prettier --write \"src/**/*.tsx\"",
17+
"lint": "tslint -p tsconfig.json",
18+
"prepare" : "npm run build",
19+
"prepublishOnly" : "npm test && npm run lint",
20+
"preversion" : "npm run lint",
21+
"version" : "npm run format && git add -A src",
22+
"postversion" : "git push && git push --tags"
23+
},
24+
"repository": {
25+
"type": "git",
26+
"url": "git+https://github.com/moveyourdigital/editorjs-blocks-react-renderer.git"
27+
},
28+
"author": "Vitor Carvalho <lightningspirit@gmail.com>",
29+
"license": "MIT",
30+
"bugs": {
31+
"url": "https://github.com/moveyourdigital/editorjs-blocks-react-renderer/issues"
32+
},
33+
"homepage": "https://github.com/moveyourdigital/editorjs-blocks-react-renderer#README.md",
34+
"files": [
35+
"dist/**/*"
36+
],
37+
"devDependencies": {
38+
"@types/jest": "^26.0.9",
39+
"@types/node": "^14.0.27",
40+
"@types/react": "^16.9.46",
41+
"@types/react-dom": "^16.9.8",
42+
"@types/react-html-parser": "^2.0.1",
43+
"@types/react-test-renderer": "^16.9.3",
44+
"jest": "^26.3.0",
45+
"prettier": "^2.0.5",
46+
"react-test-renderer": "^16.13.1",
47+
"ts-jest": "^26.1.4",
48+
"tslint": "^6.1.3",
49+
"tslint-config-prettier": "^1.18.0",
50+
"typescript": "^3.9.7"
51+
},
52+
"dependencies": {
53+
"react": "^16.13.1",
54+
"react-dom": "^16.13.1",
55+
"react-html-parser": "^2.0.2"
56+
}
57+
}
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
// Jest Snapshot v1, https://goo.gl/fbAQLP
2+
3+
exports[`<Block /> when receives an EditorJS blocks data renders all known block tags 1`] = `
4+
Array [
5+
<p>
6+
Mollit deserunt culpa fugiat ea do laboris minim ex do. Elit cillum qui aute sint irure aliqua excepteur minim. Eiusmod velit cupidatat ea culpa magna magna id consectetur enim irure ex excepteur tempor quis. Veniam incididunt ullamco adipisicing dolor ex proident ex amet dolor. Nisi in adipisicing non quis id Lorem consectetur.
7+
</p>,
8+
<p>
9+
Nulla pariatur proident cillum consequat cupidatat ex reprehenderit nisi quis mollit laboris dolore ex. Laborum sint duis elit proident. Aliquip id mollit commodo excepteur.
10+
</p>,
11+
<h3>
12+
Quis consectetur nostrud eu officia aute laborum labore nulla?
13+
</h3>,
14+
<p>
15+
Non pariatur deserunt elit proident. Reprehenderit cupidatat velit veniam ut pariatur minim culpa in ex commodo do sint magna cillum. Eiusmod enim officia et ipsum exercitation veniam veniam ad minim ad minim. Eiusmod dolore dolor minim magna velit officia ut est occaecat magna in.
16+
</p>,
17+
<h4>
18+
Do laboris magna quis nisi consequat!
19+
</h4>,
20+
<p>
21+
Sunt elit labore consequat proident ullamco minim cupidatat. Exercitation reprehenderit ut ad irure eiusmod proident. Culpa culpa nulla eiusmod reprehenderit est officia Lorem id. Aliqua non commodo sint sunt ex nulla. Nulla esse irure eiusmod dolor nisi aliqua do cillum dolor amet officia. Veniam aliqua aliquip eu voluptate commodo sint ut. Sit nostrud Lorem aliquip ex culpa irure nulla deserunt consequat nulla ea velit in.
22+
</p>,
23+
<figure
24+
className="image-block--with-background"
25+
>
26+
<img
27+
alt="Deep in the universe"
28+
src="https://cdn.directions.pt/uploads/2020/08/681-2000x1300-2.jpg"
29+
/>
30+
<figcaption>
31+
Deep in the universe
32+
</figcaption>
33+
</figure>,
34+
<blockquote
35+
className="text-align-center"
36+
>
37+
<p>
38+
Esse ea consectetur est fugiat ut dolor pariatur ex voluptate ad Lorem Lorem sit sunt. Eiusmod voluptate ullamco laborum minim elit. Cillum ullamco fugiat tempor dolore enim. Excepteur exercitation amet aliqua proident labore qui sint do dolore sint nulla aute.
39+
</p>
40+
<footer>
41+
Carpe Diem
42+
</footer>
43+
</blockquote>,
44+
<ol>
45+
<li>
46+
Reprehenderit fugiat proident eiusmod proident.
47+
</li>
48+
<li>
49+
Velit enim duis fugiat excepteur.
50+
</li>
51+
<li>
52+
Qui incididunt nostrud ipsum in officia cillum esse officia incididunt id consequat quis.
53+
</li>
54+
<li>
55+
Fugiat quis qui sit velit sit tempor.
56+
</li>
57+
<li>
58+
Tempor sit aute eiusmod reprehenderit irure ea laborum.
59+
</li>
60+
<li>
61+
Sit do do cillum sit quis. Culpa adipisicing sunt nostrud ad labore enim.
62+
</li>
63+
</ol>,
64+
<figure>
65+
<iframe
66+
className="embed-block-service-youtube"
67+
data-src="https://www.youtube.com/watch?v=yDiD8F9ItX0"
68+
frameBorder="0"
69+
height="320"
70+
sandbox=""
71+
src="https://www.youtube.com/embed/yDiD8F9ItX0"
72+
width="580"
73+
/>
74+
75+
</figure>,
76+
<table>
77+
<caption>
78+
The stock on our store.
79+
</caption>
80+
<thead>
81+
<tr>
82+
<th>
83+
Name
84+
</th>
85+
<th>
86+
Qtd
87+
</th>
88+
<th>
89+
Price
90+
</th>
91+
</tr>
92+
</thead>
93+
<tbody>
94+
<tr>
95+
<th>
96+
Kine
97+
</th>
98+
<td>
99+
1 pcs
100+
</td>
101+
<td>
102+
100$
103+
</td>
104+
</tr>
105+
<tr>
106+
<th>
107+
Pigs
108+
</th>
109+
<td>
110+
3 pcs
111+
</td>
112+
<td>
113+
200$
114+
</td>
115+
</tr>
116+
<tr>
117+
<th>
118+
Chickens
119+
</th>
120+
<td>
121+
12 pcs
122+
</td>
123+
<td>
124+
150$
125+
</td>
126+
</tr>
127+
</tbody>
128+
<tfoot>
129+
<tr>
130+
<th>
131+
Name
132+
</th>
133+
<th>
134+
Qtd
135+
</th>
136+
<th>
137+
Price
138+
</th>
139+
</tr>
140+
</tfoot>
141+
</table>,
142+
]
143+
`;

src/index.test.tsx

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
import React from 'react';
2+
import { create } from 'react-test-renderer';
3+
import Blocks, { DataProp } from '.';
4+
5+
describe('<Block />', () => {
6+
describe('when receives an EditorJS blocks data', () => {
7+
const data: DataProp = {
8+
time: 1597100797491,
9+
blocks: [
10+
{
11+
type: 'paragraph',
12+
data: {
13+
text:
14+
'Mollit deserunt culpa fugiat ea do laboris minim ex do. Elit cillum qui aute sint irure aliqua excepteur minim. Eiusmod velit cupidatat ea culpa magna magna id consectetur enim irure ex excepteur tempor quis. Veniam incididunt ullamco adipisicing dolor ex proident ex amet dolor. Nisi in adipisicing non quis id Lorem consectetur.',
15+
},
16+
},
17+
{
18+
type: 'paragraph',
19+
data: {
20+
text:
21+
'Nulla pariatur proident cillum consequat cupidatat ex reprehenderit nisi quis mollit laboris dolore ex. Laborum sint duis elit proident. Aliquip id mollit commodo excepteur.',
22+
},
23+
},
24+
{
25+
type: 'header',
26+
data: {
27+
text: 'Quis consectetur nostrud eu officia aute laborum labore nulla?',
28+
level: 3,
29+
},
30+
},
31+
{
32+
type: 'paragraph',
33+
data: {
34+
text:
35+
'Non pariatur deserunt elit proident. Reprehenderit cupidatat velit veniam ut pariatur minim culpa in ex commodo do sint magna cillum. Eiusmod enim officia et ipsum exercitation veniam veniam ad minim ad minim. Eiusmod dolore dolor minim magna velit officia ut est occaecat magna in.',
36+
},
37+
},
38+
{
39+
type: 'header',
40+
data: {
41+
text: 'Do laboris magna quis nisi consequat!',
42+
level: 4,
43+
},
44+
},
45+
{
46+
type: 'paragraph',
47+
data: {
48+
text:
49+
'Sunt elit labore consequat proident ullamco minim cupidatat. Exercitation reprehenderit ut ad irure eiusmod proident. Culpa culpa nulla eiusmod reprehenderit est officia Lorem id. Aliqua non commodo sint sunt ex nulla. Nulla esse irure eiusmod dolor nisi aliqua do cillum dolor amet officia. Veniam aliqua aliquip eu voluptate commodo sint ut. Sit nostrud Lorem aliquip ex culpa irure nulla deserunt consequat nulla ea velit in.',
50+
},
51+
},
52+
{
53+
type: 'image',
54+
data: {
55+
file: {
56+
id: 1382,
57+
url: 'https://cdn.directions.pt/uploads/2020/08/681-2000x1300-2.jpg',
58+
size: 257878,
59+
extension: 'image/jpeg',
60+
},
61+
caption: 'Deep in the universe',
62+
withBorder: false,
63+
stretched: false,
64+
withBackground: true,
65+
},
66+
},
67+
{
68+
type: 'quote',
69+
data: {
70+
text:
71+
'Esse ea consectetur est fugiat ut dolor pariatur ex voluptate ad Lorem Lorem sit sunt. Eiusmod voluptate ullamco laborum minim elit. Cillum ullamco fugiat tempor dolore enim. Excepteur exercitation amet aliqua proident labore qui sint do dolore sint nulla aute.',
72+
caption: 'Carpe Diem',
73+
alignment: 'center',
74+
},
75+
},
76+
{
77+
type: 'list',
78+
data: {
79+
style: 'ordered',
80+
items: [
81+
'Reprehenderit fugiat proident eiusmod proident.',
82+
'Velit enim duis fugiat excepteur.',
83+
'Qui incididunt nostrud ipsum in officia cillum esse officia incididunt id consequat quis.',
84+
'Fugiat quis qui sit velit sit tempor.',
85+
'Tempor sit aute eiusmod reprehenderit irure ea laborum.',
86+
'Sit do do cillum sit quis. Culpa adipisicing sunt nostrud ad labore enim.',
87+
],
88+
},
89+
},
90+
{
91+
type: 'embed',
92+
data: {
93+
service: 'youtube',
94+
source: 'https://www.youtube.com/watch?v=yDiD8F9ItX0',
95+
embed: 'https://www.youtube.com/embed/yDiD8F9ItX0',
96+
width: 580,
97+
height: 320,
98+
caption: '',
99+
},
100+
},
101+
{
102+
type: 'table',
103+
data: {
104+
header: ['Name', 'Qtd', 'Price'],
105+
content: [
106+
['Kine', '1 pcs', '100$'],
107+
['Pigs', '3 pcs', '200$'],
108+
['Chickens', '12 pcs', '150$'],
109+
],
110+
footer: ['Total', '16 pcs', '$450'],
111+
caption: 'The stock on our store.',
112+
},
113+
},
114+
],
115+
version: '2.18.0',
116+
};
117+
118+
it('renders all known block tags', () => {
119+
expect(create(<Blocks data={data} />).toJSON()).toMatchSnapshot();
120+
});
121+
});
122+
});

0 commit comments

Comments
 (0)