Updated scripts.

This commit is contained in:
Hector Ramos
2017-08-31 11:29:32 -07:00
parent d40bea925f
commit 34787cc0eb
90 changed files with 216 additions and 347 deletions
+16 -3
View File
@@ -8,6 +8,12 @@ For development use only. This script will pull down the current docs from maste
### Usage
First, install dependencies:
```
npm install
```
Run the following command locally:
```
@@ -16,14 +22,21 @@ GIT_USER=your_git_user GITHUB_USERNAME=facebook GITHUB_REPONAME=react-native nod
This will perform a sparse checkout of the `docs/` folder from `master`, generating a clean set of markdown docs in the local `docs/` folder. It will also write to disk an updated `sidebars.json` file based on these docs.
## build-autodocs-markdownjs
## build.js
Runs the usual autodocs generation scripts used by the `react-page-middleware` variant of the React Native website, but provides markdown instead of HTML. Run this script prior to building the website.
### Usage
Run the following commands locally (the generate script needs to run first):
Run the following command locally:
```
node server/build.js
```
The build script performs some cleanup, then runs the following scripts in order:
```
node server/generate.js
node server/build-autodocs-markdown.js
```
node server/build-autodocs-sidebar.js
```
+132 -16
View File
@@ -1,5 +1,5 @@
/**
* Copyright (c) 2015-present, Facebook, Inc.
* Copyright (c) 2017-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
@@ -8,23 +8,139 @@
*/
"use strict";
const { cd, cp, echo, exec, exit, ls, mkdir, rm, which } = require("shelljs");
var fs = require("fs");
var glob = require("glob");
var Promise = require("bluebird");
var mkdirp = require("mkdirp");
var slugify = require("../core/slugify");
var jsdom = require("jsdom");
cd(`../../docs`);
rm(`-rf`, `autogen_*.md`);
cd(`..`);
cd(`docgen`);
rm(`-rf`, `build`);
rm(`-rf`, `src`);
mkdir(`-p`, `build`);
mkdir(`-p`, `src`);
const { JSDOM } = jsdom;
if (exec(`node server/generate.js`).code !== 0) {
echo(`Error: Generating HTML failed`);
exit(1);
var queue = Promise.resolve();
function bodyContentFromDOM(dom) {
const el = dom.window.document.querySelector("#componentContent");
if (el) {
return el.innerHTML;
} else {
return null;
}
}
if (exec(`node server/build.js`).code !== 0) {
echo(`Error: Generating Markdown failed`);
exit(1);
function componentNameFromDOM(dom) {
const el = dom.window.document.querySelector("title");
if (el) {
return el.innerHTML;
} else {
return "Component";
}
}
function componentCategoryFromDOM(dom) {
const el = dom.window.document.querySelector('meta[property="rn:category"]');
if (el) {
return el.content;
} else {
return "Components";
}
}
/**
* Generates a markdown formatted file, including frontmatter.
*
* @param {*} dom
*/
function generateMarkdownFromDOM(dom) {
const body = bodyContentFromDOM(dom);
if (!body) {
return;
}
const componentName = componentNameFromDOM(dom);
const slug = slugify(componentName);
let category = "Components";
const componentCategory = componentCategoryFromDOM(dom);
if (componentCategory) {
category = componentCategory;
}
const metadata = { id: slug, category: category };
const res = [
"---",
"id: " + slug,
"title: " + componentName,
"category: " + category,
"permalink: docs/" + slug + ".html",
"---",
body
]
.filter(function(line) {
return line;
})
.join("\n");
const targetFile = "../docs/autogen_" + componentName + ".md";
mkdirp.sync(targetFile.replace(new RegExp("/[^/]*$"), ""));
console.log("Writing " + targetFile);
fs.writeFileSync(targetFile, res);
return metadata;
}
function generateMetatadaFile(categories) {
const categoriesMetadataFile = "build/sidebar-metadata.json";
fs.writeFileSync(categoriesMetadataFile, JSON.stringify(categories));
}
/**
* Updates sidebar.json with the autogenerated API docs, without overwriting existing sections/categories.
*
* @param {*} categories
*/
function updateSidebarSync() {
const categoriesMetadataFile = "build/sidebar-metadata.json";
const categories = JSON.parse(fs.readFileSync(categoriesMetadataFile));
const sidebarFile = "../website/sidebars.json";
let sidebarContent = { SIDEBAR_AUTODOCS_SECTION: {} };
if (fs.existsSync(sidebarFile)) {
sidebarContent = JSON.parse(fs.readFileSync(sidebarFile));
}
let sortedCategories = {};
for (var category in categories) {
const sortedCategory = categories[category].sort();
sortedCategories[category] = sortedCategory;
}
const newSidebarContent = Object.assign({}, sidebarContent, {
API: sortedCategories
});
fs.writeFileSync(sidebarFile, JSON.stringify(newSidebarContent));
console.log(`Updated ${sidebarFile}`);
}
// Generate HTML for each non-source code JS file
glob("build/**/*.html", function(er, files) {
let categories = {};
files.forEach(function(file) {
queue = queue
.then(function() {
return JSDOM.fromFile(file);
})
.then(function(dom) {
const metadata = generateMarkdownFromDOM(dom);
if (categories[metadata.category]) {
categories[metadata.category].push(metadata.id);
} else {
categories[metadata.category] = [metadata.id];
}
});
});
queue = queue.then(function() {
console.log("Generated Markdown files from HTML");
generateMetatadaFile(categories);
})
.catch(function(e) {
console.error(e);
process.exit(1);
});
});
+32
View File
@@ -0,0 +1,32 @@
/**
* Copyright (c) 2017-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
"use strict";
var fs = require("fs");
const categoriesMetadataFile = "build/sidebar-metadata.json";
const categories = JSON.parse(fs.readFileSync(categoriesMetadataFile));
const sidebarFile = "../website/sidebars.json";
let sidebarContent = { SIDEBAR_AUTODOCS_SECTION: {} };
if (fs.existsSync(sidebarFile)) {
sidebarContent = JSON.parse(fs.readFileSync(sidebarFile));
}
let sortedCategories = {};
for (var category in categories) {
const sortedCategory = categories[category].sort();
sortedCategories[category] = sortedCategory;
}
const newSidebarContent = Object.assign({}, sidebarContent, {
API: sortedCategories
});
fs.writeFileSync(sidebarFile, JSON.stringify(newSidebarContent));
console.log(`Updated ${sidebarFile}`);
Regular → Executable
+19 -136
View File
@@ -1,5 +1,5 @@
/**
* Copyright (c) 2017-present, Facebook, Inc.
* Copyright (c) 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
@@ -8,146 +8,29 @@
*/
"use strict";
var fs = require("fs");
var glob = require("glob");
var Promise = require("bluebird");
var mkdirp = require("mkdirp");
var slugify = require("../core/slugify");
var jsdom = require("jsdom");
const { cd, cp, echo, exec, exit, ls, mkdir, rm, which } = require("shelljs");
const { JSDOM } = jsdom;
cd(process.cwd());
var queue = Promise.resolve();
cd(`../docs`);
rm(`-rf`, `autogen_*.md`);
cd(`../docgen`);
rm(`-rf`, `build`);
rm(`-rf`, `src`);
mkdir(`-p`, `build`);
mkdir(`-p`, `src`);
function bodyContentFromDOM(dom) {
const el = dom.window.document.querySelector("#componentContent");
if (el) {
return el.innerHTML;
} else {
return null;
}
if (exec(`node server/generate.js`).code !== 0) {
echo(`Error: Rendering Autodocs to HTML failed`);
exit(1);
}
function componentNameFromDOM(dom) {
const el = dom.window.document.querySelector("title");
if (el) {
return el.innerHTML;
} else {
return "Component";
}
if (exec(`node server/build-autodocs-markdown.js`).code !== 0) {
echo(`Error: Generating Autodocs Markdown failed`);
exit(1);
}
function componentCategoryFromDOM(dom) {
const el = dom.window.document.querySelector('meta[property="rn:category"]');
if (el) {
return el.content;
} else {
return "Components";
}
if (exec(`node server/build-autodocs-sidebar.js`).code !== 0) {
echo(`Error: Generating Autodocs Sidebar failed`);
exit(1);
}
/**
* Updates sidebar.json with the autogenerated API docs, without overwriting existing sections/categories.
*
* @param {*} categories
*/
function updateSidebarSync(categories) {
const sidebarFile = "../website/sidebars.json";
let sidebarContent = { SIDEBAR_AUTODOCS_SECTION: {} };
if (fs.existsSync(sidebarFile)) {
sidebarContent = JSON.parse(fs.readFileSync(sidebarFile));
}
let sortedCategories = {};
for (var category in categories) {
const sortedCategory = categories[category].sort();
sortedCategories[category] = sortedCategory;
// TODO: replace with spread once babelized?
}
const newSidebarContent = Object.assign({}, sidebarContent, {
API: sortedCategories
});
fs.writeFileSync(sidebarFile, JSON.stringify(newSidebarContent));
}
// Generate HTML for each non-source code JS file
glob("build/**/*.html", function(er, files) {
let categories = {};
files.forEach(function(file) {
queue = queue
.then(function() {
return JSDOM.fromFile(file);
})
.then(function(dom) {
const body = bodyContentFromDOM(dom);
if (!body) {
console.log("Skipping " + file);
return;
}
const componentName = componentNameFromDOM(dom);
const slug = slugify(componentName);
let category = "Components";
const componentCategory = componentCategoryFromDOM(dom);
if (componentCategory) {
category = componentCategory;
}
const metadata = { id: slug, category: category };
const res = [
"---",
"id: " + slug,
"title: " + componentName,
"sidebar: api",
"category: " + category,
"permalink: docs/" + slug + ".html",
"---",
body
]
.filter(function(line) {
return line;
})
.join("\n");
const targetFile = "../docs/autogen_" + componentName + ".md";
mkdirp.sync(targetFile.replace(new RegExp("/[^/]*$"), ""));
console.log("Writing " + targetFile);
fs.writeFileSync(targetFile, res);
if (categories[category]) {
categories[category].push(slug);
} else {
categories[category] = [slug];
}
})
.catch(function(error) {
console.error("Skipping " + targetFile + ": " + error);
});
});
queue = queue
.then(function() {
console.log("Generated Markdown files from HTML");
updateSidebarSync(categories);
})
.catch(function(e) {
console.error(e);
process.exit(1);
});
});
// TODO: Generate a sidebar. Looks like this:
/*
{
"docs": {
"The Basics": ["doc1"],
"Guides": ["doc2"],
"Components": ["doc3"],
"APIs": ["doc3"]
},
"docs-other": {
"First Category": ["doc4", "doc5"]
}
}
I'm guessing for API/Components we can just do it alphabetically.
For everything else, we can get an initial order from the frontmatter, and bake it into the sidebar.
Then we can make sure that the build script only updates the API and Components keys, leaving Guides/The Basics untouched.
*/
+1 -2
View File
@@ -73,7 +73,7 @@ function checkOutDocs() {
shell.exit(1);
}
shell.echo("Checked out react-native-docs");
shell.echo(`Checked out ${targetDir}`);
shell.cd(`../..`);
}
@@ -125,7 +125,6 @@ function generateDocsMetadata(files) {
}
if (metadata.permalink.match(/^https?:/)) {
// skips non-local docs?
console.log(`Skipping ${file} as its permalink is external`);
return;
}
+4 -4
View File
@@ -132,7 +132,7 @@ var content = `\{
500,
724
],
"filename": "xlbud4cpt8cpr2l1wuq0d.js",
"filename": "isfgru4opc880no2vxn6g.js",
"lineno": 27,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{}
@@ -181,7 +181,7 @@ var content = `\{
1301,
6425
],
"filename": "xlbud4cpt8cpr2l1wuq0d.js",
"filename": "isfgru4opc880no2vxn6g.js",
"lineno": 64,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -205,7 +205,7 @@ var content = `\{
1320,
2364
],
"filename": "xlbud4cpt8cpr2l1wuq0d.js",
"filename": "isfgru4opc880no2vxn6g.js",
"lineno": 65,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{}
@@ -280,7 +280,7 @@ var content = `\{
2746,
4559
],
"filename": "xlbud4cpt8cpr2l1wuq0d.js",
"filename": "isfgru4opc880no2vxn6g.js",
"lineno": 101,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{}
+12 -12
View File
@@ -11,7 +11,7 @@ var content = `\{
1920,
14385
],
"filename": "4c30ra99ajhb8q4jcdobwp.js",
"filename": "a2jrn3oa55vf06dqkrx0yt.js",
"lineno": 62,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -35,7 +35,7 @@ var content = `\{
2285,
2786
],
"filename": "4c30ra99ajhb8q4jcdobwp.js",
"filename": "a2jrn3oa55vf06dqkrx0yt.js",
"lineno": 75,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -92,7 +92,7 @@ var content = `\{
3094,
3459
],
"filename": "4c30ra99ajhb8q4jcdobwp.js",
"filename": "a2jrn3oa55vf06dqkrx0yt.js",
"lineno": 99,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -158,7 +158,7 @@ var content = `\{
3725,
4080
],
"filename": "4c30ra99ajhb8q4jcdobwp.js",
"filename": "a2jrn3oa55vf06dqkrx0yt.js",
"lineno": 120,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -215,7 +215,7 @@ var content = `\{
5240,
5609
],
"filename": "4c30ra99ajhb8q4jcdobwp.js",
"filename": "a2jrn3oa55vf06dqkrx0yt.js",
"lineno": 169,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -284,7 +284,7 @@ var content = `\{
5934,
6263
],
"filename": "4c30ra99ajhb8q4jcdobwp.js",
"filename": "a2jrn3oa55vf06dqkrx0yt.js",
"lineno": 190,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -332,7 +332,7 @@ var content = `\{
6547,
6875
],
"filename": "4c30ra99ajhb8q4jcdobwp.js",
"filename": "a2jrn3oa55vf06dqkrx0yt.js",
"lineno": 211,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -380,7 +380,7 @@ var content = `\{
7392,
8575
],
"filename": "4c30ra99ajhb8q4jcdobwp.js",
"filename": "a2jrn3oa55vf06dqkrx0yt.js",
"lineno": 235,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -429,7 +429,7 @@ var content = `\{
9513,
10248
],
"filename": "4c30ra99ajhb8q4jcdobwp.js",
"filename": "a2jrn3oa55vf06dqkrx0yt.js",
"lineno": 292,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -492,7 +492,7 @@ var content = `\{
10805,
11163
],
"filename": "4c30ra99ajhb8q4jcdobwp.js",
"filename": "a2jrn3oa55vf06dqkrx0yt.js",
"lineno": 341,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -549,7 +549,7 @@ var content = `\{
11710,
12056
],
"filename": "4c30ra99ajhb8q4jcdobwp.js",
"filename": "a2jrn3oa55vf06dqkrx0yt.js",
"lineno": 371,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -609,7 +609,7 @@ var content = `\{
14021,
14383
],
"filename": "4c30ra99ajhb8q4jcdobwp.js",
"filename": "a2jrn3oa55vf06dqkrx0yt.js",
"lineno": 443,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
-1
View File
@@ -1,7 +1,6 @@
---
id: accessibilityinfo
title: AccessibilityInfo
sidebar: api
category: APIs
permalink: docs/accessibilityinfo.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: actionsheetios
title: ActionSheetIOS
sidebar: api
category: APIs
permalink: docs/actionsheetios.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: activityindicator
title: ActivityIndicator
sidebar: api
category: Components
permalink: docs/activityindicator.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: alert
title: Alert
sidebar: api
category: APIs
permalink: docs/alert.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: alertios
title: AlertIOS
sidebar: api
category: APIs
permalink: docs/alertios.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: animated
title: Animated
sidebar: api
category: APIs
permalink: docs/animated.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: appregistry
title: AppRegistry
sidebar: api
category: APIs
permalink: docs/appregistry.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: appstate
title: AppState
sidebar: api
category: APIs
permalink: docs/appstate.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: asyncstorage
title: AsyncStorage
sidebar: api
category: APIs
permalink: docs/asyncstorage.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: backandroid
title: BackAndroid
sidebar: api
category: APIs
permalink: docs/backandroid.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: backhandler
title: BackHandler
sidebar: api
category: APIs
permalink: docs/backhandler.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: button
title: Button
sidebar: api
category: Components
permalink: docs/button.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: cameraroll
title: CameraRoll
sidebar: api
category: APIs
permalink: docs/cameraroll.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: clipboard
title: Clipboard
sidebar: api
category: APIs
permalink: docs/clipboard.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: datepickerandroid
title: DatePickerAndroid
sidebar: api
category: APIs
permalink: docs/datepickerandroid.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: datepickerios
title: DatePickerIOS
sidebar: api
category: Components
permalink: docs/datepickerios.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: dimensions
title: Dimensions
sidebar: api
category: APIs
permalink: docs/dimensions.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: drawerlayoutandroid
title: DrawerLayoutAndroid
sidebar: api
category: Components
permalink: docs/drawerlayoutandroid.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: easing
title: Easing
sidebar: api
category: APIs
permalink: docs/easing.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: flatlist
title: FlatList
sidebar: api
category: Components
permalink: docs/flatlist.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: geolocation
title: Geolocation
sidebar: api
category: APIs
permalink: docs/geolocation.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: image
title: Image
sidebar: api
category: Components
permalink: docs/image.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: imageeditor
title: ImageEditor
sidebar: api
category: APIs
permalink: docs/imageeditor.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: imagepickerios
title: ImagePickerIOS
sidebar: api
category: APIs
permalink: docs/imagepickerios.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: imagestore
title: ImageStore
sidebar: api
category: APIs
permalink: docs/imagestore.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: imagestyleproptypes
title: ImageStylePropTypes
sidebar: api
category: APIs
permalink: docs/imagestyleproptypes.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: interactionmanager
title: InteractionManager
sidebar: api
category: APIs
permalink: docs/interactionmanager.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: keyboard
title: Keyboard
sidebar: api
category: APIs
permalink: docs/keyboard.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: keyboardavoidingview
title: KeyboardAvoidingView
sidebar: api
category: Components
permalink: docs/keyboardavoidingview.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: layout-props
title: Layout Props
sidebar: api
category: APIs
permalink: docs/layout-props.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: layoutanimation
title: LayoutAnimation
sidebar: api
category: APIs
permalink: docs/layoutanimation.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: linking
title: Linking
sidebar: api
category: APIs
permalink: docs/linking.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: listview
title: ListView
sidebar: api
category: Components
permalink: docs/listview.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: listviewdatasource
title: ListViewDataSource
sidebar: api
category: APIs
permalink: docs/listviewdatasource.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: maskedviewios
title: MaskedViewIOS
sidebar: api
category: Components
permalink: docs/maskedviewios.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: modal
title: Modal
sidebar: api
category: Components
permalink: docs/modal.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: navigatorios
title: NavigatorIOS
sidebar: api
category: Components
permalink: docs/navigatorios.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: netinfo
title: NetInfo
sidebar: api
category: APIs
permalink: docs/netinfo.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: panresponder
title: PanResponder
sidebar: api
category: APIs
permalink: docs/panresponder.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: permissionsandroid
title: PermissionsAndroid
sidebar: api
category: APIs
permalink: docs/permissionsandroid.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: picker
title: Picker
sidebar: api
category: Components
permalink: docs/picker.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: pickerios
title: PickerIOS
sidebar: api
category: Components
permalink: docs/pickerios.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: pixelratio
title: PixelRatio
sidebar: api
category: APIs
permalink: docs/pixelratio.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: progressbarandroid
title: ProgressBarAndroid
sidebar: api
category: Components
permalink: docs/progressbarandroid.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: progressviewios
title: ProgressViewIOS
sidebar: api
category: Components
permalink: docs/progressviewios.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: pushnotificationios
title: PushNotificationIOS
sidebar: api
category: APIs
permalink: docs/pushnotificationios.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: refreshcontrol
title: RefreshControl
sidebar: api
category: Components
permalink: docs/refreshcontrol.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: scrollview
title: ScrollView
sidebar: api
category: Components
permalink: docs/scrollview.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: sectionlist
title: SectionList
sidebar: api
category: Components
permalink: docs/sectionlist.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: segmentedcontrolios
title: SegmentedControlIOS
sidebar: api
category: Components
permalink: docs/segmentedcontrolios.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: settings
title: Settings
sidebar: api
category: APIs
permalink: docs/settings.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: shadow-props
title: Shadow Props
sidebar: api
category: APIs
permalink: docs/shadow-props.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: share
title: Share
sidebar: api
category: APIs
permalink: docs/share.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: slider
title: Slider
sidebar: api
category: Components
permalink: docs/slider.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: snapshotviewios
title: SnapshotViewIOS
sidebar: api
category: Components
permalink: docs/snapshotviewios.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: statusbar
title: StatusBar
sidebar: api
category: Components
permalink: docs/statusbar.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: statusbarios
title: StatusBarIOS
sidebar: api
category: APIs
permalink: docs/statusbarios.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: stylesheet
title: StyleSheet
sidebar: api
category: APIs
permalink: docs/stylesheet.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: switch
title: Switch
sidebar: api
category: Components
permalink: docs/switch.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: systrace
title: Systrace
sidebar: api
category: APIs
permalink: docs/systrace.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: tabbarios-item
title: TabBarIOS.Item
sidebar: api
category: Components
permalink: docs/tabbarios-item.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: tabbarios
title: TabBarIOS
sidebar: api
category: Components
permalink: docs/tabbarios.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: text
title: Text
sidebar: api
category: Components
permalink: docs/text.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: textinput
title: TextInput
sidebar: api
category: Components
permalink: docs/textinput.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: textstyleproptypes
title: TextStylePropTypes
sidebar: api
category: APIs
permalink: docs/textstyleproptypes.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: timepickerandroid
title: TimePickerAndroid
sidebar: api
category: APIs
permalink: docs/timepickerandroid.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: toastandroid
title: ToastAndroid
sidebar: api
category: APIs
permalink: docs/toastandroid.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: toolbarandroid
title: ToolbarAndroid
sidebar: api
category: Components
permalink: docs/toolbarandroid.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: touchablehighlight
title: TouchableHighlight
sidebar: api
category: Components
permalink: docs/touchablehighlight.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: touchablenativefeedback
title: TouchableNativeFeedback
sidebar: api
category: Components
permalink: docs/touchablenativefeedback.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: touchableopacity
title: TouchableOpacity
sidebar: api
category: Components
permalink: docs/touchableopacity.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: touchablewithoutfeedback
title: TouchableWithoutFeedback
sidebar: api
category: Components
permalink: docs/touchablewithoutfeedback.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: transforms
title: Transforms
sidebar: api
category: APIs
permalink: docs/transforms.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: vibration
title: Vibration
sidebar: api
category: APIs
permalink: docs/vibration.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: vibrationios
title: VibrationIOS
sidebar: api
category: APIs
permalink: docs/vibrationios.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: view
title: View
sidebar: api
category: Components
permalink: docs/view.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: viewpagerandroid
title: ViewPagerAndroid
sidebar: api
category: Components
permalink: docs/viewpagerandroid.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: viewproptypes
title: ViewPropTypes
sidebar: api
category: APIs
permalink: docs/viewproptypes.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: viewstyleproptypes
title: ViewStylePropTypes
sidebar: api
category: APIs
permalink: docs/viewstyleproptypes.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: virtualizedlist
title: VirtualizedList
sidebar: api
category: Components
permalink: docs/virtualizedlist.html
---
-1
View File
@@ -1,7 +1,6 @@
---
id: webview
title: WebView
sidebar: api
category: Components
permalink: docs/webview.html
---
-1
View File
@@ -1 +0,0 @@
{"SIDEBAR_AUTODOCS_SECTION":{},"API":{"APIs":["accessibilityinfo","actionsheetios","alert","alertios","animated","appregistry","appstate","asyncstorage","backandroid","backhandler","cameraroll","clipboard","datepickerandroid","dimensions","easing","geolocation","imageeditor","imagepickerios","imagestore","imagestyleproptypes","interactionmanager","keyboard","layout-props","layoutanimation","linking","listviewdatasource","netinfo","panresponder","permissionsandroid","pixelratio","pushnotificationios","settings","shadow-props","share","statusbarios","stylesheet","systrace","textstyleproptypes","timepickerandroid","toastandroid","transforms","vibration","vibrationios","viewproptypes","viewstyleproptypes"],"Components":["activityindicator","button","datepickerios","drawerlayoutandroid","flatlist","image","keyboardavoidingview","listview","maskedviewios","modal","navigatorios","picker","pickerios","progressbarandroid","progressviewios","refreshcontrol","scrollview","sectionlist","segmentedcontrolios","slider","snapshotviewios","statusbar","switch","tabbarios","tabbarios-item","text","textinput","toolbarandroid","touchablehighlight","touchablenativefeedback","touchableopacity","touchablewithoutfeedback","view","viewpagerandroid","virtualizedlist","webview"]}}
-92
View File
@@ -1,92 +0,0 @@
{
"docs": {
"Guides": ["accessibility", "animations"]
},
"API Reference": {
"APIs": [
"accessibilityinfo",
"actionsheetios",
"alert",
"alertios",
"animated",
"appregistry",
"appstate",
"asyncstorage",
"backandroid",
"backhandler",
"cameraroll",
"clipboard",
"datepickerandroid",
"dimensions",
"easing",
"geolocation",
"imageeditor",
"imagepickerios",
"imagestore",
"imagestyleproptypes",
"interactionmanager",
"keyboard",
"layout-props",
"layoutanimation",
"linking",
"listviewdatasource",
"netinfo",
"panresponder",
"permissionsandroid",
"pixelratio",
"pushnotificationios",
"settings",
"shadow-props",
"share",
"statusbarios",
"stylesheet",
"systrace",
"textstyleproptypes",
"timepickerandroid",
"toastandroid",
"transforms",
"vibration",
"vibrationios",
"viewproptypes",
"viewstyleproptypes"
],
"Components": [
"activityindicator",
"button",
"datepickerios",
"drawerlayoutandroid",
"flatlist",
"image",
"keyboardavoidingview",
"listview",
"maskedviewios",
"modal",
"navigatorios",
"picker",
"pickerios",
"progressbarandroid",
"progressviewios",
"refreshcontrol",
"scrollview",
"sectionlist",
"segmentedcontrolios",
"slider",
"snapshotviewios",
"statusbar",
"switch",
"tabbarios",
"tabbarios-item",
"text",
"textinput",
"toolbarandroid",
"touchablehighlight",
"touchablenativefeedback",
"touchableopacity",
"touchablewithoutfeedback",
"view",
"viewpagerandroid",
"virtualizedlist",
"webview"
]
}
}