Skip to content

Commit c1f75e7

Browse files
committed
added getting started
1 parent 3f87421 commit c1f75e7

File tree

4 files changed

+49
-6
lines changed

4 files changed

+49
-6
lines changed

docs/01-getting-started.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Hello world

packages/babel-plugin-extract-react-types/README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,18 @@ yarn add babel-plugin-extract-react-types pretty-proptypes
1010

1111
## Usage
1212

13-
`.babelrc`
13+
Add the plugin to your babel config.
14+
15+
**.babelrc**
1416

1517
```json
1618
{
1719
"plugins": ["babel-plugin-extract-react-types"]
1820
}
1921
```
2022

23+
## Displaying props
24+
2125
```jsx
2226
import SomeComponent from 'somewhere';
2327
import Props from 'pretty-proptypes';

website/loaders/docs-loader/index.js

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,36 @@ const fs = require('fs');
44
const { promisify } = require('util');
55

66
const readFile = promisify(fs.readFile);
7+
const readDir = promisify(fs.readdir);
78
const fsStat = promisify(fs.stat);
89

910
module.exports = async function docsLoader() {
10-
let docs = {};
11+
let docs = {
12+
packageDocs: {},
13+
documentation: {}
14+
};
1115
const ws = await bolt.getWorkspaces();
1216

1317
for (let workspace of ws) {
1418
const readMeExists = fs.existsSync(path.resolve(workspace.dir, 'README.md'));
1519
if (readMeExists) {
16-
docs[workspace.name] = await readFile(path.join(workspace.dir, 'README.md'), 'utf-8');
20+
docs.packageDocs[workspace.name] = await readFile(
21+
path.join(workspace.dir, 'README.md'),
22+
'utf-8'
23+
);
1724
}
1825
}
1926

20-
return `export default ${JSON.stringify(docs)}`;
27+
const staticDocs = await readDir(path.join(__dirname, '..', '..', '..', 'docs'));
28+
29+
for (let staticDoc of staticDocs) {
30+
docs.documentation[staticDoc] = await readFile(
31+
path.join(__dirname, '..', '..', '..', 'docs', staticDoc),
32+
'utf-8'
33+
);
34+
}
35+
36+
return `export default { packageDocs: ${JSON.stringify(
37+
docs.packageDocs
38+
)}, staticDocs: ${JSON.stringify(docs.documentation)}}`;
2139
};

website/src/pages/PackageDoc/index.js

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,40 @@ import React from 'react';
22
import { Link } from 'react-router-dom';
33
import ReactMarkdown from 'react-markdown/with-html';
44
import { AkCodeBlock } from '@atlaskit/code';
5+
// import * as Documentation from '../../../docs';
56
import docs from '../../../DOCS';
67
import './style.css';
78

89
const kebabToCamelCase = string => string.replace(/-([a-z])/g, s => ` ${s[1]}`);
10+
const kebabToTitleCase = string =>
11+
string
12+
.replace(/.md$/, '')
13+
.replace(/^[0-9]*/, '')
14+
.replace(/-([a-z])/g, s => ` ${s[1]}`);
915

1016
const CodeBlock = ({ value }) => <AkCodeBlock text={value} />;
1117

1218
export default function PackageDoc({ location }) {
1319
let params = new URLSearchParams(location.search);
1420
let docName = params.get('package');
21+
const { packageDocs, staticDocs } = docs;
1522
return (
1623
<div className="package-documentation">
1724
<main>
1825
<section>
26+
<h2>Documentation</h2>
1927
<ul>
20-
{Object.keys(docs).map(docTitle => (
28+
{Object.keys(staticDocs).map(docTitle => (
29+
<li key={docTitle} className={docName && docName === docTitle ? 'active' : ''}>
30+
<Link to={{ pathname: '/', search: `package=${docTitle}` }}>
31+
{kebabToTitleCase(docTitle)}
32+
</Link>
33+
</li>
34+
))}
35+
</ul>
36+
<h2>Packages</h2>
37+
<ul>
38+
{Object.keys(packageDocs).map(docTitle => (
2139
<li key={docTitle} className={docName && docName === docTitle ? 'active' : ''}>
2240
<Link to={{ pathname: '/', search: `package=${docTitle}` }}>
2341
{kebabToCamelCase(docTitle)}
@@ -28,7 +46,9 @@ export default function PackageDoc({ location }) {
2846
</section>
2947
<article>
3048
<ReactMarkdown
31-
source={docs[docName || Object.keys(docs)[0]]}
49+
source={
50+
staticDocs[docName] || packageDocs[docName] || staticDocs[Object.keys(staticDocs)[0]]
51+
}
3252
renderers={{ code: CodeBlock }}
3353
/>
3454
</article>

0 commit comments

Comments
 (0)