mirror of
https://github.com/facebook/docusaurus.git
synced 2025-05-09 23:27:28 +02:00
refactor(v2): add flowtype + refactor test (#1443)
* chore(v2): add flow setup * nits * fix * add flow-typed * ignore compiled library * fix error * fix typing * fix module name mapper * setup for @docusaurus/core * dont try remove type without @flow * fix can't find @docusaurus/utils * fix test * remove obscure relative paths * more refactoring * add typing for server/load/theme.js * no need to ship .flow source
This commit is contained in:
parent
6f011d8e7a
commit
c2ebde997a
103 changed files with 8901 additions and 1589 deletions
|
@ -0,0 +1,66 @@
|
|||
---
|
||||
id: bar
|
||||
title: Bar
|
||||
---
|
||||
|
||||
# Remarkable
|
||||
|
||||
> Experience real-time editing with Remarkable!
|
||||
|
||||
Click the `clear` link to start with a clean slate, or get the `permalink` to share or save your results.
|
||||
|
||||
***
|
||||
|
||||
# h1 Heading
|
||||
## h2 Heading
|
||||
### h3 Heading
|
||||
#### h4 Heading
|
||||
##### h5 Heading
|
||||
###### h6 Heading
|
||||
|
||||
|
||||
## Horizontal Rules
|
||||
|
||||
___
|
||||
|
||||
***
|
||||
|
||||
***
|
||||
|
||||
|
||||
## Typographic replacements
|
||||
|
||||
Enable typographer option to see result.
|
||||
|
||||
(c) (C) (r) (R) (tm) (TM) (p) (P) +-
|
||||
|
||||
test.. test... test..... test?..... test!....
|
||||
|
||||
!!!!!! ???? ,,
|
||||
|
||||
Remarkable -- awesome
|
||||
|
||||
"Smartypants, double quotes"
|
||||
|
||||
'Smartypants, single quotes'
|
||||
|
||||
|
||||
## Emphasis
|
||||
|
||||
**This is bold text**
|
||||
|
||||
__This is bold text__
|
||||
|
||||
*This is italic text*
|
||||
|
||||
_This is italic text_
|
||||
|
||||
~~Deleted text~~
|
||||
|
||||
Superscript: 19^th^
|
||||
|
||||
Subscript: H~2~O
|
||||
|
||||
++Inserted text++
|
||||
|
||||
==Marked text==
|
|
@ -0,0 +1,74 @@
|
|||
---
|
||||
id: baz
|
||||
title: baz
|
||||
---
|
||||
|
||||
## Images
|
||||
|
||||
Like links, Images also have a footnote style syntax
|
||||
|
||||
![Alt text][id]
|
||||
|
||||
With a reference later in the document defining the URL location:
|
||||
|
||||
[id]: https://octodex.github.com/images/dojocat.jpg "The Dojocat"
|
||||
|
||||
## Links
|
||||
|
||||
[link text](http://dev.nodeca.com)
|
||||
|
||||
[link with title](http://nodeca.github.io/pica/demo/ "title text!")
|
||||
|
||||
Autoconverted link https://github.com/nodeca/pica (enable linkify to see)
|
||||
|
||||
|
||||
|
||||
## Footnotes
|
||||
|
||||
Footnote 1 link[^first].
|
||||
|
||||
Footnote 2 link[^second].
|
||||
|
||||
Inline footnote^[Text of inline footnote] definition.
|
||||
|
||||
Duplicated footnote reference[^second].
|
||||
|
||||
[^first]: Footnote **can have markup**
|
||||
|
||||
and multiple paragraphs.
|
||||
|
||||
[^second]: Footnote text.
|
||||
|
||||
|
||||
## Definition lists
|
||||
|
||||
Term 1
|
||||
|
||||
: Definition 1
|
||||
with lazy continuation.
|
||||
|
||||
Term 2 with *inline markup*
|
||||
|
||||
: Definition 2
|
||||
|
||||
{ some code, part of Definition 2 }
|
||||
|
||||
Third paragraph of definition 2.
|
||||
|
||||
_Compact style:_
|
||||
|
||||
Term 1
|
||||
~ Definition 1
|
||||
|
||||
Term 2
|
||||
~ Definition 2a
|
||||
~ Definition 2b
|
||||
|
||||
|
||||
## Abbreviations
|
||||
|
||||
This is HTML abbreviation example.
|
||||
|
||||
It converts "HTML", but keep intact partial entries like "xxxHTMLyyy" and so on.
|
||||
|
||||
*[HTML]: Hyper Text Markup Language
|
|
@ -0,0 +1,54 @@
|
|||
---
|
||||
id: hello
|
||||
title: Hello, World !
|
||||
---
|
||||
|
||||
Hi, Endilie here :)
|
||||
|
||||
## Relative links
|
||||
|
||||
Replace this
|
||||
[foo](foo/bar.md)
|
||||
|
||||
Can't replace this
|
||||
[file](file.md)
|
||||
|
||||
Do not replace below
|
||||
|
||||
```
|
||||
[hello](hello.md)
|
||||
```
|
||||
|
||||
## Blockquotes
|
||||
|
||||
> Blockquotes can also be nested...
|
||||
>> ...by using additional greater-than signs right next to each other...
|
||||
> > > ...or with spaces between arrows.
|
||||
|
||||
|
||||
## Lists
|
||||
|
||||
Unordered
|
||||
|
||||
+ Create a list by starting a line with `+`, `-`, or `*`
|
||||
+ Sub-lists are made by indenting 2 spaces:
|
||||
- Marker character change forces new list start:
|
||||
* Ac tristique libero volutpat at
|
||||
+ Facilisis in pretium nisl aliquet
|
||||
- Nulla volutpat aliquam velit
|
||||
+ Very easy!
|
||||
|
||||
Ordered
|
||||
|
||||
1. Lorem ipsum dolor sit amet
|
||||
2. Consectetur adipiscing elit
|
||||
3. Integer molestie lorem at massa
|
||||
|
||||
|
||||
1. You can use sequential numbers...
|
||||
1. ...or keep all the numbers as `1.`
|
||||
|
||||
Start numbering with offset:
|
||||
|
||||
57. foo
|
||||
1. bar
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
id: permalink
|
||||
title: Permalink
|
||||
permalink: :baseUrl:docsUrl/endiliey/:id
|
||||
---
|
||||
|
||||
This has a different permalink
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"docs": {
|
||||
"Test": [
|
||||
"foo/bar",
|
||||
"foo/baz"
|
||||
],
|
||||
"Guides": [
|
||||
"hello"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -5,14 +5,17 @@
|
|||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
import '@babel/polyfill';
|
||||
import path from 'path';
|
||||
import loadSetup from '../../../docusaurus/lib/server/load/__tests__/loadSetup';
|
||||
import DocusaurusPluginContentDocs from '../index';
|
||||
|
||||
describe('loadDocs', () => {
|
||||
test('simple website', async () => {
|
||||
const {siteDir, siteConfig} = await loadSetup('simple');
|
||||
const siteDir = path.join(__dirname, '__fixtures__', 'website');
|
||||
const siteConfig = {
|
||||
title: 'Hello',
|
||||
baseUrl: '/',
|
||||
url: 'https://docusaurus.io',
|
||||
};
|
||||
const sidebarPath = path.join(siteDir, 'sidebars.json');
|
||||
const plugin = new DocusaurusPluginContentDocs(
|
||||
{
|
||||
|
@ -20,7 +23,7 @@ describe('loadDocs', () => {
|
|||
siteConfig,
|
||||
},
|
||||
{
|
||||
path: '../docs',
|
||||
path: 'docs',
|
||||
sidebarPath,
|
||||
},
|
||||
);
|
||||
|
|
|
@ -8,13 +8,17 @@
|
|||
import '@babel/polyfill';
|
||||
import path from 'path';
|
||||
import processMetadata from '../metadata';
|
||||
import loadSetup from '../../../docusaurus/lib/server/load/__tests__/loadSetup';
|
||||
|
||||
describe('processMetadata', () => {
|
||||
const siteDir = path.join(__dirname, '__fixtures__', 'website');
|
||||
const siteConfig = {
|
||||
title: 'Hello',
|
||||
baseUrl: '/',
|
||||
url: 'https://docusaurus.io',
|
||||
};
|
||||
const docsDir = path.resolve(siteDir, 'docs');
|
||||
|
||||
test('normal docs', async () => {
|
||||
const props = await loadSetup('simple');
|
||||
const {siteDir, siteConfig} = props;
|
||||
const docsDir = path.resolve(siteDir, '..', 'docs');
|
||||
const sourceA = path.join('foo', 'bar.md');
|
||||
const sourceB = path.join('hello.md');
|
||||
const dataA = await processMetadata(
|
||||
|
@ -46,9 +50,6 @@ describe('processMetadata', () => {
|
|||
});
|
||||
|
||||
test('docs with custom permalink', async () => {
|
||||
const props = await loadSetup('simple');
|
||||
const {siteDir, siteConfig} = props;
|
||||
const docsDir = path.resolve(siteDir, '..', 'docs');
|
||||
const source = path.join('permalink.md');
|
||||
const data = await processMetadata(source, docsDir, {}, siteConfig, 'docs');
|
||||
expect(data).toEqual({
|
||||
|
|
|
@ -7,23 +7,23 @@
|
|||
|
||||
import path from 'path';
|
||||
import loadSidebars from '../sidebars';
|
||||
import loadSetup from '../../../docusaurus/lib/server/load/__tests__/loadSetup';
|
||||
|
||||
/* eslint-disable global-require, import/no-dynamic-require */
|
||||
|
||||
describe('loadSidebars', () => {
|
||||
const fixtures = path.join(__dirname, '..', '__fixtures__');
|
||||
|
||||
test('normal site with sidebars', async () => {
|
||||
const {siteDir} = await loadSetup('simple');
|
||||
const sidebar = require(path.join(siteDir, 'sidebars.json'));
|
||||
const result = loadSidebars({siteDir, sidebar});
|
||||
const sidebar = require(path.join(
|
||||
__dirname,
|
||||
'__fixtures__',
|
||||
'website',
|
||||
'sidebars.json',
|
||||
));
|
||||
const result = loadSidebars({sidebar});
|
||||
expect(result).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('site without sidebars', () => {
|
||||
const siteDir = path.join(fixtures, 'bad-site');
|
||||
const result = loadSidebars({siteDir, sidebar: {}});
|
||||
const result = loadSidebars({sidebar: {}});
|
||||
expect(result).toMatchSnapshot();
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue