This commit is contained in:
Hector Ramos
2017-10-31 14:09:41 -07:00
parent e5332504cc
commit 21423bdf22
87 changed files with 11730 additions and 600 deletions
+1
View File
@@ -13,6 +13,7 @@
"filepath": "^1.1.0",
"flow-parser": "^0.32.0",
"fs-extra": "^4.0.2",
"fs.extra": "^1.3.2",
"glob": "6.0.4",
"glob-promise": "^3.2.0",
"jsdoc-api": "^1.1.0",
+523
View File
@@ -0,0 +1,523 @@
/**
* 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';
const fetch = require('node-fetch');
const filepath = require('filepath');
const fm = require('front-matter');
const fs = require('fs-extra');
const glob = require('glob-promise');
const jsdom = require('jsdom');
const mkdirp = require('mkdirp');
const Promise = require('bluebird');
const shell = require('shelljs');
const convert = require('./convert.js');
const slugify = require('../core/slugify');
const CWD = process.cwd();
const AUTODOCS_PREFIX = 'autogen_';
const MARKDOWN_EXTENSION = 'md';
const GIT_USER = 'hramos'; //process.env.GIT_USER;
const GITHUB_USERNAME = 'facebook'; // process.env.GITHUB_USERNAME;
const GITHUB_REPONAME = 'react-native'; // process.env.GITHUB_REPONAME;
const remoteBranch = `https://${GIT_USER}@github.com/${GITHUB_USERNAME}/${GITHUB_REPONAME}.git`;
const CHECKOUT_DIR = `${GITHUB_REPONAME}-docs`;
const BUILD_DIR = 'build';
const DOCS_DIR = 'versioned_docs';
const SIDEBAR_DIR = 'versioned_sidebars';
const { JSDOM } = jsdom;
// Start up a server. Don't forget to close the connection when done.
const server = require('./server.js');
server.noconvert = true;
const argv = require('minimist')(process.argv.slice(2), {
alias: {
'c': 'clean'
},
default: {
'autodocs': true
}
});
function runChecks() {
if (!shell.which('git')) {
shell.echo('Sorry, this script requires git');
shell.exit(1);
}
if (!GIT_USER) {
shell.echo('GIT_USER undefined.');
shell.exit(1);
}
if (!GITHUB_USERNAME) {
shell.echo('GITHUB_USERNAME undefined.');
shell.exit(1);
}
if (!GITHUB_REPONAME) {
shell.echo('GITHUB_REPONAME undefined.');
shell.exit(1);
}
}
function cleanFiles() {
return fs.remove(BUILD_DIR);
}
/**
* Generates documentation for a given file.
*
* @param {*} file
* @param {*} options
*/
function generateAutodocForFile(file, options) {
if (file.match(/src\/react-native\/js/)) {
// Ensure we're only processing extracted docs
console.log(`Skipping ${file}`);
return;
}
const pathToOutputDir = filepath.create(BUILD_DIR, DOCS_DIR, options.version);
console.log(`Processing ${file}`);
const url = 'http://localhost:8079/' + file
.replace(/^src/, '')
.replace(/\.js$/, '.html');
return fetch(url)
.then(response => {
if(response.ok) {
return response.text();
}
throw new Error('Network response was not ok.');
})
.then(body => {
const dom = new JSDOM(body);
const markdown = generateMarkdownFromDOM(dom);
const frontmatter = fm(markdown);
const pathToOutputFile = pathToOutputDir.append(`${AUTODOCS_PREFIX}${frontmatter.attributes.original_id}.${MARKDOWN_EXTENSION}`);
return fs.outputFile(pathToOutputFile.toString(), markdown);
})
.catch(error => {
console.log(error);
reject(error);
});
}
/**
* Generates Markdown documentation.
* Uses the convert script to extract docs from source files.
*/
function generateAutodocs(options = { }) {
console.log(`Generating Markdown files from JavaScript sources.`);
const metadata = convert({extractDocs: true});
return Promise.resolve()
.then(function() {
return glob('src/**/*.js');
})
.then(function(files) {
let queue = Promise.resolve();
files.forEach(function(file) {
queue = queue.then(function() {
return generateAutodocForFile(file, options);
});
});
return queue;
})
.then(function() {
console.log(`Generated Markdown files from JavaScript sources.`);
return metadata;
})
.catch(function(e) {
console.error(e);
process.exit(1);
});
}
// Check out gh-pages branch
function checkOutDocs() {
const pathToGitCheckout = filepath.create(BUILD_DIR, CHECKOUT_DIR);
let sidebarMetadata = {};
const p = Promise.resolve();
return p
.then(() => {
return fs.ensureDir(pathToGitCheckout.toString());
})
.then(() => {
shell.cd(CWD);
shell.cd(BUILD_DIR);
shell.cd(CHECKOUT_DIR);
return fs.exists(pathToGitCheckout.append(`.git`).toString())
}).then(gitCheckoutExists => {
if (!gitCheckoutExists) {
shell.exec(`git init`).code !== 0;
if (shell.exec(`git remote add origin ${remoteBranch}`).code !== 0) {
throw new Error('Error: git remote failed');
}
}
return;
})
.then(() => {
if (shell.exec(`git fetch`).code !== 0) {
throw new Error('Error: git fetch failed');
}
if (shell.exec(`git checkout gh-pages`).code !== 0) {
throw new Error('Error: git checkout failed');
}
return glob('releases/**/*.html');
}).then(files => {
let seq = Promise.resolve();
files.forEach(function(file) {
seq = seq.then(() => {
return extractMarkdownFromHTMLDocs(file);
}).then((res) => {
// console.log(res);
if (res.markdown === undefined) {
return;
}
const { frontmatter, markdown } = res;
const version = extractDocVersionFromFilename(file);
if (!version) {
return;
}
const pathToOutputFile = filepath.create(CWD, '..', 'website', DOCS_DIR, version, `${frontmatter.attributes.original_id}.${MARKDOWN_EXTENSION}`);
if (sidebarMetadata[version] === undefined) {
sidebarMetadata[version] = [];
}
if (frontmatter.attributes.original_id !== "404"
&& frontmatter.attributes.original_id !== "index"
&& frontmatter.attributes.original_id !== "help"
&& frontmatter.attributes.original_id !== "users"
&& frontmatter.attributes.original_id !== "showcase"
&& frontmatter.attributes.original_id !== "support"
&& frontmatter.attributes.original_id !== "versions") {
sidebarMetadata[version].push(frontmatter.attributes.id);
return fs.outputFile(pathToOutputFile.toString(), markdown);
}
return;
});
});
return seq;
}).then(() => {
console.log(sidebarMetadata)
const pathToSidebarMetadataFile = filepath.create(CWD, BUILD_DIR, SIDEBAR_DIR, `sidebars-metadata.json`);
return fs.outputFile(pathToSidebarMetadataFile.toString(), JSON.stringify(sidebarMetadata));
}).then(() => {
filepath.create(CWD, '..', 'website', SIDEBAR_DIR);
for (const version in sidebarMetadata) {
if (sidebarMetadata.hasOwnProperty(version)) {
const documents = sidebarMetadata[version];
let sidebar = {};
sidebar[`version-${version}-docs`] = { "APIs": documents };
const pathToSidebarFile = filepath.create(CWD, '..', 'website', SIDEBAR_DIR, `version-${version}-sidebars.json`);
console.log(`Writing ${pathToSidebarFile}: ${sidebar}`);
fs.outputFileSync(pathToSidebarFile.toString(), JSON.stringify(sidebar));
}
}
return;
}).then(() => {
filepath.create(CWD, BUILD_DIR, SIDEBAR_DIR);
const versions = Object.keys(sidebarMetadata);
const pathToVersionsFile = filepath.create(CWD, BUILD_DIR, `versions.json`);
return fs.outputFile(pathToVersionsFile.toString(), JSON.stringify(versions.reverse()));
}).then(() => {
shell.cd(CWD);
shell.cd(BUILD_DIR);
shell.cd(CHECKOUT_DIR);
shell.exec(`git config core.sparsecheckout true`).code !== 0;
shell.exec(`echo "docs/*" >> .git/info/sparse-checkout`).code !== 0;
shell.exec(`echo "Libraries/*" >> .git/info/sparse-checkout`).code !== 0;
if (shell.exec(`git checkout master`).code !== 0) {
throw new Error('Error: git checkout failed');
}
// maybe should clear out before?
shell.cp('-r', 'docs/*.md', '../../docs/.');
return glob('docs/**/*.md');
}).then(() => {
// now we handle sidebarring
// and make versioned sidebar?
return; //copy
}).then(() => {
// then finally we run docgen over Libraries/...
});
}
function checkoutMasterDocs() {
const pathToGitCheckout = filepath.create(BUILD_DIR, CHECKOUT_DIR);
let sidebarMetadata = {};
const p = Promise.resolve();
return p
.then(() => {
return fs.ensureDir(pathToGitCheckout.toString());
})
.then(() => {
shell.cd(CWD);
shell.cd(BUILD_DIR);
shell.cd(CHECKOUT_DIR);
return fs.exists(pathToGitCheckout.append(`.git`).toString())
})
.then(gitCheckoutExists => {
if (!gitCheckoutExists) {
shell.exec(`git init`).code !== 0;
if (shell.exec(`git remote add origin ${remoteBranch}`).code !== 0) {
throw new Error('Error: git remote failed');
}
}
return;
})
.then(() => {
if (shell.exec(`git fetch`).code !== 0) {
throw new Error('Error: git fetch failed');
}
shell.exec(`git config core.sparsecheckout true`).code !== 0;
shell.exec(`echo "docs/*" >> .git/info/sparse-checkout`).code !== 0;
shell.exec(`echo "Libraries/*" >> .git/info/sparse-checkout`).code !== 0;
if (shell.exec(`git checkout master`).code !== 0) {
throw new Error('Error: git checkout failed');
}
return glob('docs/**/*.md');
})
.then((files) => {
let seq = Promise.resolve();
files.forEach((file) => {
seq = seq.then(() => {
return fs.readFile(file, 'utf8');
}).then((originalMarkdown) => {
const frontmatter = fm(originalMarkdown);
const category = frontmatter.attributes.category;
const transformedMarkdown = [
'---',
'id: ' + frontmatter.attributes.id,
'title: ' + frontmatter.attributes.title,
'---',
frontmatter.body
].filter(function(line) {
return line;
}).join('\n');
if (!sidebarMetadata.hasOwnProperty(category)) {
sidebarMetadata[category] = [];
}
sidebarMetadata[category].push(frontmatter.attributes.id);
const pathToOutputFile = filepath.create(CWD, '..', 'docs', `${frontmatter.attributes.id}.${MARKDOWN_EXTENSION}`);
return fs.outputFile(pathToOutputFile.toString(), transformedMarkdown);
});
});
// now we convert
// now we handle sidebarring
// and make versioned sidebar?
return seq; //copy
})
.then(() => {
console.log(`My sidebar: ${JSON.stringify(sidebarMetadata)}`);
// then finally we run docgen over Libraries/...
console.log(`should codegen`)
const pathToOutputFile = filepath.create(CWD, '..', 'website', `gen-sidebars.json`);
return fs.outputFile(pathToOutputFile.toString(), { "docs": sidebarMetadata });
});
}
function extractDocVersionFromFilename(file) {
const re = new RegExp('\/([0-9]*[.]?[0-9]*)');
return file.match(re)[1];
}
function extractComponentNameFromFilename(file) {
const re = new RegExp('([A-Za-z-]*).html');
return file.match(re)[1];
}
function extractMarkdownFromHTMLDocs(file) {
if (file.indexOf("404") !== -1) {
return { };
}
// console.log(`Processing ${file}`);
return JSDOM.fromFile(filepath.create(file).toString())
.then((dom) => {
const body = bodyContentFromDOM(dom);
if (!body) {
return {};
}
const componentName = extractComponentNameFromFilename(file);
const version = extractDocVersionFromFilename(file);
const markdown = generateMarkdown(componentName, body, version);
const frontmatter = fm(markdown);
return { frontmatter, markdown };
})
}
// DOM FORMATTING FUNCS
function bodyContentFromDOM(dom) {
const el = dom.window.document.querySelector('.inner-content');
if (el) {
return el.innerHTML;
} else {
return null;
}
}
function componentNameFromDOM(dom) {
const el = dom.window.document.querySelector('h1');
if (el) {
let componentName = el.innerHTML;
const re = new RegExp('docs/([A-Za-z]*)(.html)');
const parsedTitle = el.innerHTML.match(re);
if (parsedTitle) {
componentName = parsedTitle[1];
}
return componentName;
} 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);
const markdown = [
'---',
'id: ' + slug,
'title: ' + componentName,
'---',
body
]
.filter(function(line) {
return line;
})
.join('\n');
return markdown;
}
function generateMarkdown(componentName, body, version) {
const slug = slugify(componentName);
let markdown = [
'---',
'id: ' + slug,
'title: ' + componentName,
'---',
body
];
if (version) {
markdown = [
'---',
'id: version-' + version + '-' + slug,
'title: ' + componentName,
'original_id: ' + slug,
'---',
body
];
}
return markdown.filter(function(line) {
return line;
}).join('\n');
}
function generateMetatadaFile(categories) {
const categoriesMetadataFile = `${BUILD_DIR}/sidebar-metadata.json`;
return fs.outputFile(categoriesMetadataFile, JSON.stringify(categories));
}
// END DOM
function checkoutAutodocs() {
return Promise.resolve()
.then(() => {
return generateAutodocs();
})
.finally(function() {
server.close();
}).catch(function(e) {
console.error(e);
process.exit(1);
});
}
if (argv.clean) {
cleanFiles();
}
// if (argv.autodocs) {
runChecks();
// checkOutDocs();
checkoutMasterDocs()
.then(() => {
checkoutAutodocs();
})
// }
/**
* Check out gh-pages branch, cd releases/
* For each version,
* For each HTML,
* Parse out jsdom
* Get body contents
* Generate frontmatter
* Save into versioned_docs
* Then finally generate sidebar files for each version
*
*/
module.exports = generateAutodocs;
+3 -3
View File
@@ -9,7 +9,7 @@
'use strict';
var fs = require('fs')
var fs = require('fs');
var glob = require('glob');
var mkdirp = require('mkdirp');
var path = require('path');
@@ -36,7 +36,7 @@ function splitHeader(content) {
function rmFile(file) {
try {
fs.unlinkSync(file);
} catch(e) {
} catch (e) {
/* seriously, unlink throws when the file doesn't exist :( */
}
}
@@ -63,7 +63,7 @@ function extractMetadata(content) {
var key = keyvalue[0].trim();
var value = keyvalue.slice(1).join(':').trim();
// Handle the case where you have "Community #10"
try { value = JSON.parse(value); } catch(e) { }
try { value = JSON.parse(value); } catch (e) { }
metadata[key] = value;
}
return {metadata: metadata, rawContent: both.content};
+3 -3
View File
@@ -258,7 +258,7 @@ function getViewPropTypes() {
}
return docgen.parse(
fs.readFileSync(docsList.viewPropTypes.replace('../','')),
fs.readFileSync(docsList.viewPropTypes),
viewPropTypesResolver,
[
viewPropTypesConversionHandler,
@@ -268,7 +268,7 @@ function getViewPropTypes() {
}
function renderComponent(filepath) {
filepath = filepath.replace('../','');
// filepath = filepath.replace('../','');
if (!fs.existsSync(filepath)) {
console.log(`${filepath} does not exist at ${process.cwd()}`);
return;
@@ -326,7 +326,7 @@ function parseAPIJsDocFormat(filepath, fileContent) {
// Parse via jsdoc-api
let jsonParsed = jsdocApi.explainSync({
source: code,
configure: '../jsdocs/jsdoc-conf.json'
configure: 'jsdocs/jsdoc-conf.json'
});
// Clean up jsdoc-api return
jsonParsed = jsonParsed.filter(i => {
+44 -498
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,516 +8,62 @@
*/
'use strict';
const fetch = require('node-fetch');
const filepath = require('filepath');
const fm = require('front-matter');
const fs = require('fs-extra');
const glob = require('glob-promise');
const jsdom = require('jsdom');
const mkdirp = require('mkdirp');
const Promise = require('bluebird');
const shell = require('shelljs');
var Promise = require('bluebird');
var request = require('request');
var glob = require('glob');
var fs = require('fs.extra');
var mkdirp = require('mkdirp');
var server = require('./server.js');
var Feed = require('feed');
const convert = require('./convert.js');
const slugify = require('../core/slugify');
const CWD = process.cwd();
const AUTODOCS_PREFIX = 'autogen_';
const MARKDOWN_EXTENSION = 'md';
const GIT_USER = 'hramos'; //process.env.GIT_USER;
const GITHUB_USERNAME = 'facebook'; // process.env.GITHUB_USERNAME;
const GITHUB_REPONAME = 'react-native'; // process.env.GITHUB_REPONAME;
const remoteBranch = `https://${GIT_USER}@github.com/${GITHUB_USERNAME}/${GITHUB_REPONAME}.git`;
const CHECKOUT_DIR = `${GITHUB_REPONAME}-docs`;
const BUILD_DIR = 'build';
const DOCS_DIR = 'versioned_docs';
const SIDEBAR_DIR = 'versioned_sidebars';
const { JSDOM } = jsdom;
// Start up a server. Don't forget to close the connection when done.
const server = require('./server.js');
require('./convert.js')({extractDocs: true});
server.noconvert = true;
const argv = require('minimist')(process.argv.slice(2), {
alias: {
'c': 'clean'
},
default: {
'autodocs': true
}
});
// Sadly, our setup fatals when doing multiple concurrent requests
// I don't have the time to dig into why, it's easier to just serialize
// requests.
var queue = Promise.resolve();
function runChecks() {
if (!shell.which('git')) {
shell.echo('Sorry, this script requires git');
shell.exit(1);
}
// Generate HTML for each non-source code JS file
glob('src/**/*.*', function(er, files) {
files.forEach(function(file) {
var targetFile = file.replace(/^src/, 'build');
if (!GIT_USER) {
shell.echo('GIT_USER undefined.');
shell.exit(1);
}
if (!GITHUB_USERNAME) {
shell.echo('GITHUB_USERNAME undefined.');
shell.exit(1);
}
if (!GITHUB_REPONAME) {
shell.echo('GITHUB_REPONAME undefined.');
shell.exit(1);
}
}
function cleanFiles() {
return fs.remove(BUILD_DIR);
}
/**
* Generates documentation for a given file.
*
* @param {*} file
* @param {*} options
*/
function generateAutodocForFile(file, options) {
if (file.match(/src\/react-native\/js/)) {
// Ensure we're only processing extracted docs
console.log(`Skipping ${file}`);
return;
}
const pathToOutputDir = filepath.create(BUILD_DIR, DOCS_DIR, options.version);
console.log(`Processing ${file}`);
const url = 'http://localhost:8079/' + file
.replace(/^src/, '')
.replace(/\.js$/, '.html');
return fetch(url)
.then(response => {
if(response.ok) {
return response.text();
}
throw new Error('Network response was not ok.');
})
.then(body => {
const dom = new JSDOM(body);
const markdown = generateMarkdownFromDOM(dom);
const frontmatter = fm(markdown);
const pathToOutputFile = pathToOutputDir.append(`${AUTODOCS_PREFIX}${frontmatter.attributes.original_id}.${MARKDOWN_EXTENSION}`);
return fs.outputFile(pathToOutputFile.toString(), markdown);
})
.catch(error => {
console.log(error);
reject(error);
});
}
/**
* Generates Markdown documentation.
* Uses the convert script to extract docs from source files.
*/
function generateAutodocs(options = { }) {
console.log(`Generating Markdown files from JavaScript sources.`);
const metadata = convert({extractDocs: true});
return Promise.resolve()
.then(function() {
return glob('src/**/*.js');
})
.then(function(files) {
let queue = Promise.resolve();
files.forEach(function(file) {
queue = queue.then(function() {
return generateAutodocForFile(file, options);
if (file.match(/\.js$/) && !file.match(/src\/react-native\/js/)) {
targetFile = targetFile.replace(/\.js$/, '.html');
queue = queue.then(function() {
return new Promise(function(resolve, reject) {
request('http://localhost:8079/' + targetFile.replace(/^build\//, ''), function(error, response, body) {
if (error) {
reject(error);
return;
}
if (response.statusCode != 200) {
reject(new Error('Status ' + response.statusCode + ':\n' + body));
return;
}
mkdirp.sync(targetFile.replace(new RegExp('/[^/]*$'), ''));
fs.writeFileSync(targetFile, body);
resolve();
});
});
});
return queue;
})
.then(function() {
console.log(`Generated Markdown files from JavaScript sources.`);
return metadata;
})
.catch(function(e) {
console.error(e);
process.exit(1);
});
}
// Check out gh-pages branch
function checkOutDocs() {
const pathToGitCheckout = filepath.create(BUILD_DIR, CHECKOUT_DIR);
let sidebarMetadata = {};
const p = Promise.resolve();
return p
.then(() => {
return fs.ensureDir(pathToGitCheckout.toString());
})
.then(() => {
shell.cd(CWD);
shell.cd(BUILD_DIR);
shell.cd(CHECKOUT_DIR);
return fs.exists(pathToGitCheckout.append(`.git`).toString())
}).then(gitCheckoutExists => {
if (!gitCheckoutExists) {
shell.exec(`git init`).code !== 0;
if (shell.exec(`git remote add origin ${remoteBranch}`).code !== 0) {
throw new Error('Error: git remote failed');
}
}
return;
})
.then(() => {
if (shell.exec(`git fetch`).code !== 0) {
throw new Error('Error: git fetch failed');
}
if (shell.exec(`git checkout gh-pages`).code !== 0) {
throw new Error('Error: git checkout failed');
}
return glob('releases/**/*.html');
}).then(files => {
let seq = Promise.resolve();
files.forEach(function(file) {
seq = seq.then(() => {
return extractMarkdownFromHTMLDocs(file);
}).then((res) => {
// console.log(res);
if (res.markdown === undefined) {
return;
}
const { frontmatter, markdown } = res;
const version = extractDocVersionFromFilename(file);
if (!version) {
return;
}
const pathToOutputFile = filepath.create(CWD, '..', 'website', DOCS_DIR, version, `${frontmatter.attributes.original_id}.${MARKDOWN_EXTENSION}`);
if (sidebarMetadata[version] === undefined) {
sidebarMetadata[version] = [];
}
if (frontmatter.attributes.original_id !== "404"
&& frontmatter.attributes.original_id !== "index"
&& frontmatter.attributes.original_id !== "help"
&& frontmatter.attributes.original_id !== "users"
&& frontmatter.attributes.original_id !== "showcase"
&& frontmatter.attributes.original_id !== "support"
&& frontmatter.attributes.original_id !== "versions") {
sidebarMetadata[version].push(frontmatter.attributes.id);
return fs.outputFile(pathToOutputFile.toString(), markdown);
}
return;
} else {
queue = queue.then(function() {
return new Promise(function(resolve, reject) {
mkdirp.sync(targetFile.replace(new RegExp('/[^/]*$'), ''));
fs.copy(file, targetFile, resolve);
});
});
return seq;
}).then(() => {
console.log(sidebarMetadata)
const pathToSidebarMetadataFile = filepath.create(CWD, BUILD_DIR, SIDEBAR_DIR, `sidebars-metadata.json`);
return fs.outputFile(pathToSidebarMetadataFile.toString(), JSON.stringify(sidebarMetadata));
}).then(() => {
filepath.create(CWD, '..', 'website', SIDEBAR_DIR);
for (const version in sidebarMetadata) {
if (sidebarMetadata.hasOwnProperty(version)) {
const documents = sidebarMetadata[version];
let sidebar = {};
sidebar[`version-${version}-docs`] = { "APIs": documents };
const pathToSidebarFile = filepath.create(CWD, '..', 'website', SIDEBAR_DIR, `version-${version}-sidebars.json`);
console.log(`Writing ${pathToSidebarFile}: ${sidebar}`);
fs.outputFileSync(pathToSidebarFile.toString(), JSON.stringify(sidebar));
}
}
return;
}).then(() => {
filepath.create(CWD, BUILD_DIR, SIDEBAR_DIR);
const versions = Object.keys(sidebarMetadata);
const pathToVersionsFile = filepath.create(CWD, BUILD_DIR, `versions.json`);
return fs.outputFile(pathToVersionsFile.toString(), JSON.stringify(versions.reverse()));
}).then(() => {
shell.cd(CWD);
shell.cd(BUILD_DIR);
shell.cd(CHECKOUT_DIR);
shell.exec(`git config core.sparsecheckout true`).code !== 0;
shell.exec(`echo "docs/*" >> .git/info/sparse-checkout`).code !== 0;
shell.exec(`echo "Libraries/*" >> .git/info/sparse-checkout`).code !== 0;
if (shell.exec(`git checkout master`).code !== 0) {
throw new Error('Error: git checkout failed');
}
// maybe should clear out before?
shell.cp('-r', 'docs/*.md', '../../docs/.');
return glob('docs/**/*.md');
}).then(() => {
// now we handle sidebarring
// and make versioned sidebar?
return; //copy
}).then(() => {
// then finally we run docgen over Libraries/...
});
}
function checkoutMasterDocs() {
const pathToGitCheckout = filepath.create(BUILD_DIR, CHECKOUT_DIR);
let sidebarMetadata = {};
const p = Promise.resolve();
return p
.then(() => {
return fs.ensureDir(pathToGitCheckout.toString());
})
.then(() => {
shell.cd(CWD);
shell.cd(BUILD_DIR);
shell.cd(CHECKOUT_DIR);
return fs.exists(pathToGitCheckout.append(`.git`).toString())
})
.then(gitCheckoutExists => {
if (!gitCheckoutExists) {
shell.exec(`git init`).code !== 0;
if (shell.exec(`git remote add origin ${remoteBranch}`).code !== 0) {
throw new Error('Error: git remote failed');
}
}
return;
})
.then(() => {
if (shell.exec(`git fetch`).code !== 0) {
throw new Error('Error: git fetch failed');
}
shell.exec(`git config core.sparsecheckout true`).code !== 0;
shell.exec(`echo "docs/*" >> .git/info/sparse-checkout`).code !== 0;
shell.exec(`echo "Libraries/*" >> .git/info/sparse-checkout`).code !== 0;
if (shell.exec(`git checkout master`).code !== 0) {
throw new Error('Error: git checkout failed');
}
return glob('docs/**/*.md');
})
.then((files) => {
let seq = Promise.resolve();
files.forEach((file) => {
seq = seq.then(() => {
return fs.readFile(file, 'utf8');
}).then((originalMarkdown) => {
const frontmatter = fm(originalMarkdown);
const category = frontmatter.attributes.category;
const transformedMarkdown = [
'---',
'id: ' + frontmatter.attributes.id,
'title: ' + frontmatter.attributes.title,
'---',
frontmatter.body
].filter(function(line) {
return line;
}).join('\n');
if (!sidebarMetadata.hasOwnProperty(category)) {
sidebarMetadata[category] = [];
}
sidebarMetadata[category].push(frontmatter.attributes.id);
const pathToOutputFile = filepath.create(CWD, '..', 'docs', `${frontmatter.attributes.id}.${MARKDOWN_EXTENSION}`);
return fs.outputFile(pathToOutputFile.toString(), transformedMarkdown);
});
});
// now we convert
// now we handle sidebarring
// and make versioned sidebar?
return seq; //copy
})
.then(() => {
console.log(`My sidebar: ${JSON.stringify(sidebarMetadata)}`);
// then finally we run docgen over Libraries/...
console.log(`should codegen`)
const pathToOutputFile = filepath.create(CWD, '..', 'website', `gen-sidebars.json`);
return fs.outputFile(pathToOutputFile.toString(), { "docs": sidebarMetadata });
});
}
function extractDocVersionFromFilename(file) {
const re = new RegExp('\/([0-9]*[.]?[0-9]*)');
return file.match(re)[1];
}
function extractComponentNameFromFilename(file) {
const re = new RegExp('([A-Za-z-]*).html');
return file.match(re)[1];
}
function extractMarkdownFromHTMLDocs(file) {
if (file.indexOf("404") !== -1) {
return { };
}
// console.log(`Processing ${file}`);
return JSDOM.fromFile(filepath.create(file).toString())
.then((dom) => {
const body = bodyContentFromDOM(dom);
if (!body) {
return {};
}
const componentName = extractComponentNameFromFilename(file);
const version = extractDocVersionFromFilename(file);
const markdown = generateMarkdown(componentName, body, version);
const frontmatter = fm(markdown);
return { frontmatter, markdown };
})
}
});
// DOM FORMATTING FUNCS
function bodyContentFromDOM(dom) {
const el = dom.window.document.querySelector('.inner-content');
if (el) {
return el.innerHTML;
} else {
return null;
}
}
function componentNameFromDOM(dom) {
const el = dom.window.document.querySelector('h1');
if (el) {
let componentName = el.innerHTML;
const re = new RegExp('docs/([A-Za-z]*)(.html)');
const parsedTitle = el.innerHTML.match(re);
if (parsedTitle) {
componentName = parsedTitle[1];
}
return componentName;
} 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);
const markdown = [
'---',
'id: ' + slug,
'title: ' + componentName,
'---',
body
]
.filter(function(line) {
return line;
})
.join('\n');
return markdown;
}
function generateMarkdown(componentName, body, version) {
const slug = slugify(componentName);
let markdown = [
'---',
'id: ' + slug,
'title: ' + componentName,
'---',
body
];
if (version) {
markdown = [
'---',
'id: version-' + version + '-' + slug,
'title: ' + componentName,
'original_id: ' + slug,
'---',
body
];
}
return markdown.filter(function(line) {
return line;
}).join('\n');
}
function generateMetatadaFile(categories) {
const categoriesMetadataFile = `${BUILD_DIR}/sidebar-metadata.json`;
return fs.outputFile(categoriesMetadataFile, JSON.stringify(categories));
}
// END DOM
function checkoutAutodocs() {
return Promise.resolve()
.then(() => {
return generateAutodocs();
})
.finally(function() {
queue = queue.then(function() {
console.log('Generated HTML files from JS');
}).finally(function() {
server.close();
}).catch(function(e) {
console.error(e);
process.exit(1);
});
}
if (argv.clean) {
cleanFiles();
}
// if (argv.autodocs) {
runChecks();
// checkOutDocs();
checkoutMasterDocs()
.then(() => {
checkoutAutodocs();
})
// }
/**
* Check out gh-pages branch, cd releases/
* For each version,
* For each HTML,
* Parse out jsdom
* Get body contents
* Generate frontmatter
* Save into versioned_docs
* Then finally generate sidebar files for each version
*
*/
module.exports = generateAutodocs;
});
+1 -1
View File
@@ -120,7 +120,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"accessibilityinfo","title":"AccessibilityInfo","layout":"autodocs","category":"APIs","permalink":"docs/accessibilityinfo.html","platform":"cross","next":"actionsheetios","previous":"webview","sidebar":true,"path":"Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js","filename":null}}>
<Layout metadata={{"id":"accessibilityinfo","title":"AccessibilityInfo","layout":"autodocs","category":"APIs","permalink":"docs/accessibilityinfo.html","platform":"cross","next":"accessibilityinfo","previous":"virtualizedlist","sidebar":true,"path":"Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -78,7 +78,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"actionsheetios","title":"ActionSheetIOS","layout":"autodocs","category":"APIs","permalink":"docs/actionsheetios.html","platform":"ios","next":"alert","previous":"accessibilityinfo","sidebar":true,"path":"Libraries/ActionSheetIOS/ActionSheetIOS.js","filename":null}}>
<Layout metadata={{"id":"actionsheetios","title":"ActionSheetIOS","layout":"autodocs","category":"APIs","permalink":"docs/actionsheetios.html","platform":"ios","next":"actionsheetios","previous":"webview","sidebar":true,"path":"Libraries/ActionSheetIOS/ActionSheetIOS.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -61,7 +61,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"alert","title":"Alert","layout":"autodocs","category":"APIs","permalink":"docs/alert.html","platform":"cross","next":"alertios","previous":"actionsheetios","sidebar":true,"path":"Libraries/Alert/Alert.js","filename":null}}>
<Layout metadata={{"id":"alert","title":"Alert","layout":"autodocs","category":"APIs","permalink":"docs/alert.html","platform":"cross","next":"alert","previous":"accessibilityinfo","sidebar":true,"path":"Libraries/Alert/Alert.js","filename":null}}>
{content}
</Layout>
);
+5 -5
View File
@@ -132,7 +132,7 @@ var content = `\{
500,
724
],
"filename": "a6d91qe3ouou73edh6as9k.js",
"filename": "gsok9heafqtbmylcokel7b.js",
"lineno": 27,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{}
@@ -181,7 +181,7 @@ var content = `\{
1301,
6425
],
"filename": "a6d91qe3ouou73edh6as9k.js",
"filename": "gsok9heafqtbmylcokel7b.js",
"lineno": 64,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -205,7 +205,7 @@ var content = `\{
1320,
2364
],
"filename": "a6d91qe3ouou73edh6as9k.js",
"filename": "gsok9heafqtbmylcokel7b.js",
"lineno": 65,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{}
@@ -280,7 +280,7 @@ var content = `\{
2746,
4559
],
"filename": "a6d91qe3ouou73edh6as9k.js",
"filename": "gsok9heafqtbmylcokel7b.js",
"lineno": 101,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{}
@@ -380,7 +380,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"alertios","title":"AlertIOS","layout":"autodocs","category":"APIs","permalink":"docs/alertios.html","platform":"ios","next":"animated","previous":"alert","sidebar":true,"path":"Libraries/Alert/AlertIOS.js","filename":null}}>
<Layout metadata={{"id":"alertios","title":"AlertIOS","layout":"autodocs","category":"APIs","permalink":"docs/alertios.html","platform":"ios","next":"alertios","previous":"actionsheetios","sidebar":true,"path":"Libraries/Alert/AlertIOS.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -1117,7 +1117,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"animated","title":"Animated","layout":"autodocs","category":"APIs","permalink":"docs/animated.html","platform":"cross","next":"appregistry","previous":"alertios","sidebar":true,"path":"Libraries/Animated/src/AnimatedImplementation.js","filename":null}}>
<Layout metadata={{"id":"animated","title":"Animated","layout":"autodocs","category":"APIs","permalink":"docs/animated.html","platform":"cross","next":"animated","previous":"alert","sidebar":true,"path":"Libraries/Animated/src/AnimatedImplementation.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -301,7 +301,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"appregistry","title":"AppRegistry","layout":"autodocs","category":"APIs","permalink":"docs/appregistry.html","platform":"cross","next":"appstate","previous":"animated","sidebar":true,"path":"Libraries/ReactNative/AppRegistry.js","filename":null}}>
<Layout metadata={{"id":"appregistry","title":"AppRegistry","layout":"autodocs","category":"APIs","permalink":"docs/appregistry.html","platform":"cross","next":"appregistry","previous":"alertios","sidebar":true,"path":"Libraries/ReactNative/AppRegistry.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -92,7 +92,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"appstate","title":"AppState","layout":"autodocs","category":"APIs","permalink":"docs/appstate.html","platform":"cross","next":"asyncstorage","previous":"appregistry","sidebar":true,"path":"Libraries/AppState/AppState.js","filename":null}}>
<Layout metadata={{"id":"appstate","title":"AppState","layout":"autodocs","category":"APIs","permalink":"docs/appstate.html","platform":"cross","next":"appstate","previous":"animated","sidebar":true,"path":"Libraries/AppState/AppState.js","filename":null}}>
{content}
</Layout>
);
+13 -13
View File
@@ -11,7 +11,7 @@ var content = `\{
1920,
14385
],
"filename": "nkoegy81pald9t0fb6b6.js",
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
"lineno": 62,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -35,7 +35,7 @@ var content = `\{
2285,
2786
],
"filename": "nkoegy81pald9t0fb6b6.js",
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
"lineno": 75,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -92,7 +92,7 @@ var content = `\{
3094,
3459
],
"filename": "nkoegy81pald9t0fb6b6.js",
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
"lineno": 99,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -158,7 +158,7 @@ var content = `\{
3725,
4080
],
"filename": "nkoegy81pald9t0fb6b6.js",
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
"lineno": 120,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -215,7 +215,7 @@ var content = `\{
5240,
5609
],
"filename": "nkoegy81pald9t0fb6b6.js",
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
"lineno": 169,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -284,7 +284,7 @@ var content = `\{
5934,
6263
],
"filename": "nkoegy81pald9t0fb6b6.js",
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
"lineno": 190,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -332,7 +332,7 @@ var content = `\{
6547,
6875
],
"filename": "nkoegy81pald9t0fb6b6.js",
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
"lineno": 211,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -380,7 +380,7 @@ var content = `\{
7392,
8575
],
"filename": "nkoegy81pald9t0fb6b6.js",
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
"lineno": 235,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -429,7 +429,7 @@ var content = `\{
9513,
10248
],
"filename": "nkoegy81pald9t0fb6b6.js",
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
"lineno": 292,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -492,7 +492,7 @@ var content = `\{
10805,
11163
],
"filename": "nkoegy81pald9t0fb6b6.js",
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
"lineno": 341,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -549,7 +549,7 @@ var content = `\{
11710,
12056
],
"filename": "nkoegy81pald9t0fb6b6.js",
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
"lineno": 371,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -609,7 +609,7 @@ var content = `\{
14021,
14383
],
"filename": "nkoegy81pald9t0fb6b6.js",
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
"lineno": 443,
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
"code": \{
@@ -673,7 +673,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"asyncstorage","title":"AsyncStorage","layout":"autodocs","category":"APIs","permalink":"docs/asyncstorage.html","platform":"cross","next":"backandroid","previous":"appstate","sidebar":true,"path":"Libraries/Storage/AsyncStorage.js","filename":null}}>
<Layout metadata={{"id":"asyncstorage","title":"AsyncStorage","layout":"autodocs","category":"APIs","permalink":"docs/asyncstorage.html","platform":"cross","next":"asyncstorage","previous":"appregistry","sidebar":true,"path":"Libraries/Storage/AsyncStorage.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -80,7 +80,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"backandroid","title":"BackAndroid","layout":"autodocs","category":"APIs","permalink":"docs/backandroid.html","platform":"android","next":"backhandler","previous":"asyncstorage","sidebar":true,"path":"Libraries/Utilities/BackAndroid.js","filename":null}}>
<Layout metadata={{"id":"backandroid","title":"BackAndroid","layout":"autodocs","category":"APIs","permalink":"docs/backandroid.html","platform":"android","next":"backandroid","previous":"appstate","sidebar":true,"path":"Libraries/Utilities/BackAndroid.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -80,7 +80,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"backhandler","title":"BackHandler","layout":"autodocs","category":"APIs","permalink":"docs/backhandler.html","platform":"cross","next":"cameraroll","previous":"backhandler","sidebar":true,"path":"Libraries/Utilities/BackHandler.android.js","filename":null}}>
<Layout metadata={{"id":"backhandler","title":"BackHandler","layout":"autodocs","category":"APIs","permalink":"docs/backhandler.html","platform":"cross","next":"backhandler","previous":"backandroid","sidebar":true,"path":"Libraries/Utilities/BackHandler.android.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -720,7 +720,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"button","title":"Button","layout":"autodocs","category":"Components","permalink":"docs/button.html","platform":"cross","next":"datepickerios","previous":"activityindicator","sidebar":true,"path":"Libraries/Components/Button.js","filename":null}}>
<Layout metadata={{"id":"button","title":"Button","layout":"autodocs","category":"Components","permalink":"docs/button.html","platform":"cross","next":"checkbox","previous":"activityindicator","sidebar":true,"path":"Libraries/Components/Button.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -100,7 +100,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"cameraroll","title":"CameraRoll","layout":"autodocs","category":"APIs","permalink":"docs/cameraroll.html","platform":"cross","next":"clipboard","previous":"backhandler","sidebar":true,"path":"Libraries/CameraRoll/CameraRoll.js","filename":null}}>
<Layout metadata={{"id":"cameraroll","title":"CameraRoll","layout":"autodocs","category":"APIs","permalink":"docs/cameraroll.html","platform":"cross","next":"cameraroll","previous":"backhandler","sidebar":true,"path":"Libraries/CameraRoll/CameraRoll.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -55,7 +55,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"clipboard","title":"Clipboard","layout":"autodocs","category":"APIs","permalink":"docs/clipboard.html","platform":"cross","next":"datepickerandroid","previous":"cameraroll","sidebar":true,"path":"Libraries/Components/Clipboard/Clipboard.js","filename":null}}>
<Layout metadata={{"id":"clipboard","title":"Clipboard","layout":"autodocs","category":"APIs","permalink":"docs/clipboard.html","platform":"cross","next":"clipboard","previous":"backhandler","sidebar":true,"path":"Libraries/Components/Clipboard/Clipboard.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -64,7 +64,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"datepickerandroid","title":"DatePickerAndroid","layout":"autodocs","category":"APIs","permalink":"docs/datepickerandroid.html","platform":"android","next":"dimensions","previous":"clipboard","sidebar":true,"path":"Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js","filename":null}}>
<Layout metadata={{"id":"datepickerandroid","title":"DatePickerAndroid","layout":"autodocs","category":"APIs","permalink":"docs/datepickerandroid.html","platform":"android","next":"datepickerandroid","previous":"cameraroll","sidebar":true,"path":"Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -767,7 +767,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"datepickerios","title":"DatePickerIOS","layout":"autodocs","category":"Components","permalink":"docs/datepickerios.html","platform":"ios","next":"drawerlayoutandroid","previous":"button","sidebar":true,"path":"Libraries/Components/DatePicker/DatePickerIOS.ios.js","filename":null}}>
<Layout metadata={{"id":"datepickerios","title":"DatePickerIOS","layout":"autodocs","category":"Components","permalink":"docs/datepickerios.html","platform":"ios","next":"datepickerios","previous":"button","sidebar":true,"path":"Libraries/Components/DatePicker/DatePickerIOS.ios.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -111,7 +111,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"dimensions","title":"Dimensions","layout":"autodocs","category":"APIs","permalink":"docs/dimensions.html","platform":"cross","next":"easing","previous":"datepickerandroid","sidebar":true,"path":"Libraries/Utilities/Dimensions.js","filename":null}}>
<Layout metadata={{"id":"dimensions","title":"Dimensions","layout":"autodocs","category":"APIs","permalink":"docs/dimensions.html","platform":"cross","next":"dimensions","previous":"clipboard","sidebar":true,"path":"Libraries/Utilities/Dimensions.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -785,7 +785,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"drawerlayoutandroid","title":"DrawerLayoutAndroid","layout":"autodocs","category":"Components","permalink":"docs/drawerlayoutandroid.html","platform":"android","next":"flatlist","previous":"datepickerios","sidebar":true,"path":"Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js","filename":null}}>
<Layout metadata={{"id":"drawerlayoutandroid","title":"DrawerLayoutAndroid","layout":"autodocs","category":"Components","permalink":"docs/drawerlayoutandroid.html","platform":"android","next":"drawerlayoutandroid","previous":"checkbox","sidebar":true,"path":"Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -320,7 +320,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"easing","title":"Easing","layout":"autodocs","category":"APIs","permalink":"docs/easing.html","platform":"cross","next":"geolocation","previous":"dimensions","sidebar":true,"path":"Libraries/Animated/src/Easing.js","filename":null}}>
<Layout metadata={{"id":"easing","title":"Easing","layout":"autodocs","category":"APIs","permalink":"docs/easing.html","platform":"cross","next":"easing","previous":"datepickerandroid","sidebar":true,"path":"Libraries/Animated/src/Easing.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -1273,7 +1273,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"flatlist","title":"FlatList","layout":"autodocs","category":"Components","permalink":"docs/flatlist.html","platform":"cross","next":"image","previous":"drawerlayoutandroid","sidebar":true,"path":"Libraries/Lists/FlatList.js","filename":null}}>
<Layout metadata={{"id":"flatlist","title":"FlatList","layout":"autodocs","category":"Components","permalink":"docs/flatlist.html","platform":"cross","next":"flatlist","previous":"datepickerios","sidebar":true,"path":"Libraries/Lists/FlatList.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -133,7 +133,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"geolocation","title":"Geolocation","layout":"autodocs","category":"APIs","permalink":"docs/geolocation.html","platform":"cross","next":"imageeditor","previous":"easing","sidebar":true,"path":"Libraries/Geolocation/Geolocation.js","filename":null}}>
<Layout metadata={{"id":"geolocation","title":"Geolocation","layout":"autodocs","category":"APIs","permalink":"docs/geolocation.html","platform":"cross","next":"geolocation","previous":"dimensions","sidebar":true,"path":"Libraries/Geolocation/Geolocation.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -902,7 +902,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"image","title":"Image","layout":"autodocs","category":"Components","permalink":"docs/image.html","platform":"cross","next":"keyboardavoidingview","previous":"flatlist","sidebar":true,"path":"Libraries/Image/Image.ios.js","filename":null}}>
<Layout metadata={{"id":"image","title":"Image","layout":"autodocs","category":"Components","permalink":"docs/image.html","platform":"cross","next":"image","previous":"drawerlayoutandroid","sidebar":true,"path":"Libraries/Image/Image.ios.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -52,7 +52,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"imageeditor","title":"ImageEditor","layout":"autodocs","category":"APIs","permalink":"docs/imageeditor.html","platform":"cross","next":"imagepickerios","previous":"geolocation","sidebar":true,"path":"Libraries/Image/ImageEditor.js","filename":null}}>
<Layout metadata={{"id":"imageeditor","title":"ImageEditor","layout":"autodocs","category":"APIs","permalink":"docs/imageeditor.html","platform":"cross","next":"imageeditor","previous":"easing","sidebar":true,"path":"Libraries/Image/ImageEditor.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -106,7 +106,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"imagepickerios","title":"ImagePickerIOS","layout":"autodocs","category":"APIs","permalink":"docs/imagepickerios.html","platform":"ios","next":"imagestore","previous":"imageeditor","sidebar":true,"path":"Libraries/CameraRoll/ImagePickerIOS.js","filename":null}}>
<Layout metadata={{"id":"imagepickerios","title":"ImagePickerIOS","layout":"autodocs","category":"APIs","permalink":"docs/imagepickerios.html","platform":"ios","next":"imagepickerios","previous":"geolocation","sidebar":true,"path":"Libraries/CameraRoll/ImagePickerIOS.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -111,7 +111,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"imagestore","title":"ImageStore","layout":"autodocs","category":"APIs","permalink":"docs/imagestore.html","platform":"cross","next":"interactionmanager","previous":"imagepickerios","sidebar":true,"path":"Libraries/Image/ImageStore.js","filename":null}}>
<Layout metadata={{"id":"imagestore","title":"ImageStore","layout":"autodocs","category":"APIs","permalink":"docs/imagestore.html","platform":"cross","next":"imagestore","previous":"imageeditor","sidebar":true,"path":"Libraries/Image/ImageStore.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -138,7 +138,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"imagestyleproptypes","title":"ImageStylePropTypes","layout":"autodocs","category":"APIs","permalink":"docs/imagestyleproptypes.html","platform":"cross","next":null,"previous":"textstyleproptypes","sidebar":true,"path":"Libraries/Image/ImageStylePropTypes.js","filename":null}}>
<Layout metadata={{"id":"imagestyleproptypes","title":"ImageStylePropTypes","layout":"autodocs","category":"APIs","permalink":"docs/imagestyleproptypes.html","platform":"cross","next":"imagestyleproptypes","previous":"viewstyleproptypes","sidebar":true,"path":"Libraries/Image/ImageStylePropTypes.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -132,7 +132,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"interactionmanager","title":"InteractionManager","layout":"autodocs","category":"APIs","permalink":"docs/interactionmanager.html","platform":"cross","next":"keyboard","previous":"imagestore","sidebar":true,"path":"Libraries/Interaction/InteractionManager.js","filename":null}}>
<Layout metadata={{"id":"interactionmanager","title":"InteractionManager","layout":"autodocs","category":"APIs","permalink":"docs/interactionmanager.html","platform":"cross","next":"interactionmanager","previous":"imagepickerios","sidebar":true,"path":"Libraries/Interaction/InteractionManager.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -106,7 +106,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"keyboard","title":"Keyboard","layout":"autodocs","category":"APIs","permalink":"docs/keyboard.html","platform":"cross","next":"layoutanimation","previous":"interactionmanager","sidebar":true,"path":"Libraries/Components/Keyboard/Keyboard.js","filename":null}}>
<Layout metadata={{"id":"keyboard","title":"Keyboard","layout":"autodocs","category":"APIs","permalink":"docs/keyboard.html","platform":"cross","next":"keyboard","previous":"imagestore","sidebar":true,"path":"Libraries/Components/Keyboard/Keyboard.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -744,7 +744,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"keyboardavoidingview","title":"KeyboardAvoidingView","layout":"autodocs","category":"Components","permalink":"docs/keyboardavoidingview.html","platform":"cross","next":"listview","previous":"image","sidebar":true,"path":"Libraries/Components/Keyboard/KeyboardAvoidingView.js","filename":null}}>
<Layout metadata={{"id":"keyboardavoidingview","title":"KeyboardAvoidingView","layout":"autodocs","category":"Components","permalink":"docs/keyboardavoidingview.html","platform":"cross","next":"keyboardavoidingview","previous":"flatlist","sidebar":true,"path":"Libraries/Components/Keyboard/KeyboardAvoidingView.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -702,7 +702,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"layout-props","title":"Layout Props","layout":"autodocs","category":"APIs","permalink":"docs/layout-props.html","platform":"cross","next":"shadow-props","previous":"vibrationios","sidebar":true,"path":"Libraries/StyleSheet/LayoutPropTypes.js","filename":null}}>
<Layout metadata={{"id":"layout-props","title":"Layout Props","layout":"autodocs","category":"APIs","permalink":"docs/layout-props.html","platform":"cross","next":"layout-props","previous":"vibration","sidebar":true,"path":"Libraries/StyleSheet/LayoutPropTypes.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -175,7 +175,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"layoutanimation","title":"LayoutAnimation","layout":"autodocs","category":"APIs","permalink":"docs/layoutanimation.html","platform":"cross","next":"linking","previous":"keyboard","sidebar":true,"path":"Libraries/LayoutAnimation/LayoutAnimation.js","filename":null}}>
<Layout metadata={{"id":"layoutanimation","title":"LayoutAnimation","layout":"autodocs","category":"APIs","permalink":"docs/layoutanimation.html","platform":"cross","next":"layoutanimation","previous":"interactionmanager","sidebar":true,"path":"Libraries/LayoutAnimation/LayoutAnimation.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -120,7 +120,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"linking","title":"Linking","layout":"autodocs","category":"APIs","permalink":"docs/linking.html","platform":"cross","next":"netinfo","previous":"layoutanimation","sidebar":true,"path":"Libraries/Linking/Linking.js","filename":null}}>
<Layout metadata={{"id":"linking","title":"Linking","layout":"autodocs","category":"APIs","permalink":"docs/linking.html","platform":"cross","next":"linking","previous":"keyboard","sidebar":true,"path":"Libraries/Linking/Linking.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -854,7 +854,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"listview","title":"ListView","layout":"autodocs","category":"Components","permalink":"docs/listview.html","platform":"cross","next":"maskedviewios","previous":"keyboardavoidingview","sidebar":true,"path":"Libraries/Lists/ListView/ListView.js","filename":null}}>
<Layout metadata={{"id":"listview","title":"ListView","layout":"autodocs","category":"Components","permalink":"docs/listview.html","platform":"cross","next":"listview","previous":"image","sidebar":true,"path":"Libraries/Lists/ListView/ListView.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -212,7 +212,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"listviewdatasource","title":"ListViewDataSource","layout":"autodocs","category":"APIs","permalink":"docs/listviewdatasource.html","platform":"cross","next":"netinfo","previous":"linking","sidebar":false,"path":"Libraries/Lists/ListView/ListViewDataSource.js","filename":null}}>
<Layout metadata={{"id":"listviewdatasource","title":"ListViewDataSource","layout":"autodocs","category":"APIs","permalink":"docs/listviewdatasource.html","platform":"cross","next":"netinfo","previous":"layoutanimation","sidebar":false,"path":"Libraries/Lists/ListView/ListViewDataSource.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -672,7 +672,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"maskedviewios","title":"MaskedViewIOS","layout":"autodocs","category":"Components","permalink":"docs/maskedviewios.html","platform":"ios","next":"modal","previous":"listview","sidebar":true,"path":"Libraries/Components/MaskedView/MaskedViewIOS.ios.js","filename":null}}>
<Layout metadata={{"id":"maskedviewios","title":"MaskedViewIOS","layout":"autodocs","category":"Components","permalink":"docs/maskedviewios.html","platform":"ios","next":"maskedviewios","previous":"keyboardavoidingview","sidebar":true,"path":"Libraries/Components/MaskedView/MaskedViewIOS.ios.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -784,7 +784,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"modal","title":"Modal","layout":"autodocs","category":"Components","permalink":"docs/modal.html","platform":"cross","next":"navigatorios","previous":"maskedviewios","sidebar":true,"path":"Libraries/Modal/Modal.js","filename":null}}>
<Layout metadata={{"id":"modal","title":"Modal","layout":"autodocs","category":"Components","permalink":"docs/modal.html","platform":"cross","next":"modal","previous":"listview","sidebar":true,"path":"Libraries/Modal/Modal.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -1002,7 +1002,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"navigatorios","title":"NavigatorIOS","layout":"autodocs","category":"Components","permalink":"docs/navigatorios.html","platform":"ios","next":"picker","previous":"modal","sidebar":true,"path":"Libraries/Components/Navigation/NavigatorIOS.ios.js","filename":null}}>
<Layout metadata={{"id":"navigatorios","title":"NavigatorIOS","layout":"autodocs","category":"Components","permalink":"docs/navigatorios.html","platform":"ios","next":"navigatorios","previous":"maskedviewios","sidebar":true,"path":"Libraries/Components/Navigation/NavigatorIOS.ios.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -113,7 +113,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"netinfo","title":"NetInfo","layout":"autodocs","category":"APIs","permalink":"docs/netinfo.html","platform":"cross","next":"panresponder","previous":"linking","sidebar":true,"path":"Libraries/Network/NetInfo.js","filename":null}}>
<Layout metadata={{"id":"netinfo","title":"NetInfo","layout":"autodocs","category":"APIs","permalink":"docs/netinfo.html","platform":"cross","next":"netinfo","previous":"linking","sidebar":true,"path":"Libraries/Network/NetInfo.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -46,7 +46,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"panresponder","title":"PanResponder","layout":"autodocs","category":"APIs","permalink":"docs/panresponder.html","platform":"cross","next":"permissionsandroid","previous":"netinfo","sidebar":true,"path":"Libraries/Interaction/PanResponder.js","filename":null}}>
<Layout metadata={{"id":"panresponder","title":"PanResponder","layout":"autodocs","category":"APIs","permalink":"docs/panresponder.html","platform":"cross","next":"panresponder","previous":"linking","sidebar":true,"path":"Libraries/Interaction/PanResponder.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -115,7 +115,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"permissionsandroid","title":"PermissionsAndroid","layout":"autodocs","category":"APIs","permalink":"docs/permissionsandroid.html","platform":"android","next":"pixelratio","previous":"panresponder","sidebar":true,"path":"Libraries/PermissionsAndroid/PermissionsAndroid.js","filename":null}}>
<Layout metadata={{"id":"permissionsandroid","title":"PermissionsAndroid","layout":"autodocs","category":"APIs","permalink":"docs/permissionsandroid.html","platform":"android","next":"permissionsandroid","previous":"netinfo","sidebar":true,"path":"Libraries/PermissionsAndroid/PermissionsAndroid.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -757,7 +757,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"picker","title":"Picker","layout":"autodocs","category":"Components","permalink":"docs/picker.html","platform":"cross","next":"pickerios","previous":"navigatorios","sidebar":true,"path":"Libraries/Components/Picker/Picker.js","filename":null}}>
<Layout metadata={{"id":"picker","title":"Picker","layout":"autodocs","category":"Components","permalink":"docs/picker.html","platform":"cross","next":"picker","previous":"modal","sidebar":true,"path":"Libraries/Components/Picker/Picker.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -673,7 +673,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"pickerios","title":"PickerIOS","layout":"autodocs","category":"Components","permalink":"docs/pickerios.html","platform":"ios","next":"progressbarandroid","previous":"picker","sidebar":true,"path":"Libraries/Components/Picker/PickerIOS.ios.js","filename":null}}>
<Layout metadata={{"id":"pickerios","title":"PickerIOS","layout":"autodocs","category":"Components","permalink":"docs/pickerios.html","platform":"ios","next":"pickerios","previous":"navigatorios","sidebar":true,"path":"Libraries/Components/Picker/PickerIOS.ios.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -93,7 +93,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"pixelratio","title":"PixelRatio","layout":"autodocs","category":"APIs","permalink":"docs/pixelratio.html","platform":"cross","next":"pushnotificationios","previous":"permissionsandroid","sidebar":true,"path":"Libraries/Utilities/PixelRatio.js","filename":null}}>
<Layout metadata={{"id":"pixelratio","title":"PixelRatio","layout":"autodocs","category":"APIs","permalink":"docs/pixelratio.html","platform":"cross","next":"pixelratio","previous":"panresponder","sidebar":true,"path":"Libraries/Utilities/PixelRatio.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -726,7 +726,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"progressbarandroid","title":"ProgressBarAndroid","layout":"autodocs","category":"Components","permalink":"docs/progressbarandroid.html","platform":"android","next":"progressviewios","previous":"pickerios","sidebar":true,"path":"Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js","filename":null}}>
<Layout metadata={{"id":"progressbarandroid","title":"ProgressBarAndroid","layout":"autodocs","category":"Components","permalink":"docs/progressbarandroid.html","platform":"android","next":"progressbarandroid","previous":"picker","sidebar":true,"path":"Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -705,7 +705,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"progressviewios","title":"ProgressViewIOS","layout":"autodocs","category":"Components","permalink":"docs/progressviewios.html","platform":"ios","next":"refreshcontrol","previous":"progressbarandroid","sidebar":true,"path":"Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js","filename":null}}>
<Layout metadata={{"id":"progressviewios","title":"ProgressViewIOS","layout":"autodocs","category":"Components","permalink":"docs/progressviewios.html","platform":"ios","next":"progressviewios","previous":"pickerios","sidebar":true,"path":"Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -410,7 +410,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"pushnotificationios","title":"PushNotificationIOS","layout":"autodocs","category":"APIs","permalink":"docs/pushnotificationios.html","platform":"ios","next":"settings","previous":"pixelratio","sidebar":true,"path":"Libraries/PushNotificationIOS/PushNotificationIOS.js","filename":null}}>
<Layout metadata={{"id":"pushnotificationios","title":"PushNotificationIOS","layout":"autodocs","category":"APIs","permalink":"docs/pushnotificationios.html","platform":"ios","next":"pushnotificationios","previous":"permissionsandroid","sidebar":true,"path":"Libraries/PushNotificationIOS/PushNotificationIOS.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -738,7 +738,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"refreshcontrol","title":"RefreshControl","layout":"autodocs","category":"Components","permalink":"docs/refreshcontrol.html","platform":"cross","next":"scrollview","previous":"progressviewios","sidebar":true,"path":"Libraries/Components/RefreshControl/RefreshControl.js","filename":null}}>
<Layout metadata={{"id":"refreshcontrol","title":"RefreshControl","layout":"autodocs","category":"Components","permalink":"docs/refreshcontrol.html","platform":"cross","next":"refreshcontrol","previous":"progressbarandroid","sidebar":true,"path":"Libraries/Components/RefreshControl/RefreshControl.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -1108,7 +1108,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"scrollview","title":"ScrollView","layout":"autodocs","category":"Components","permalink":"docs/scrollview.html","platform":"cross","next":"sectionlist","previous":"refreshcontrol","sidebar":true,"path":"Libraries/Components/ScrollView/ScrollView.js","filename":null}}>
<Layout metadata={{"id":"scrollview","title":"ScrollView","layout":"autodocs","category":"Components","permalink":"docs/scrollview.html","platform":"cross","next":"scrollview","previous":"progressviewios","sidebar":true,"path":"Libraries/Components/ScrollView/ScrollView.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -1226,7 +1226,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"sectionlist","title":"SectionList","layout":"autodocs","category":"Components","permalink":"docs/sectionlist.html","platform":"cross","next":"segmentedcontrolios","previous":"scrollview","sidebar":true,"path":"Libraries/Lists/SectionList.js","filename":null}}>
<Layout metadata={{"id":"sectionlist","title":"SectionList","layout":"autodocs","category":"Components","permalink":"docs/sectionlist.html","platform":"cross","next":"sectionlist","previous":"refreshcontrol","sidebar":true,"path":"Libraries/Lists/SectionList.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -711,7 +711,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"segmentedcontrolios","title":"SegmentedControlIOS","layout":"autodocs","category":"Components","permalink":"docs/segmentedcontrolios.html","platform":"ios","next":"slider","previous":"sectionlist","sidebar":true,"path":"Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js","filename":null}}>
<Layout metadata={{"id":"segmentedcontrolios","title":"SegmentedControlIOS","layout":"autodocs","category":"Components","permalink":"docs/segmentedcontrolios.html","platform":"ios","next":"segmentedcontrolios","previous":"scrollview","sidebar":true,"path":"Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -113,7 +113,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"settings","title":"Settings","layout":"autodocs","category":"APIs","permalink":"docs/settings.html","platform":"cross","next":"share","previous":"pushnotificationios","sidebar":true,"path":"Libraries/Settings/Settings.ios.js","filename":null}}>
<Layout metadata={{"id":"settings","title":"Settings","layout":"autodocs","category":"APIs","permalink":"docs/settings.html","platform":"cross","next":"settings","previous":"pixelratio","sidebar":true,"path":"Libraries/Settings/Settings.ios.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -54,7 +54,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"shadow-props","title":"Shadow Props","layout":"autodocs","category":"APIs","permalink":"docs/shadow-props.html","platform":"ios","next":"viewproptypes","previous":"layout-props","sidebar":true,"path":"Libraries/Components/View/ShadowPropTypesIOS.js","filename":null}}>
<Layout metadata={{"id":"shadow-props","title":"Shadow Props","layout":"autodocs","category":"APIs","permalink":"docs/shadow-props.html","platform":"ios","next":"shadow-props","previous":"layout-props","sidebar":true,"path":"Libraries/Components/View/ShadowPropTypesIOS.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -77,7 +77,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"share","title":"Share","layout":"autodocs","category":"APIs","permalink":"docs/share.html","platform":"cross","next":"statusbarios","previous":"settings","sidebar":true,"path":"Libraries/Share/Share.js","filename":null}}>
<Layout metadata={{"id":"share","title":"Share","layout":"autodocs","category":"APIs","permalink":"docs/share.html","platform":"cross","next":"share","previous":"pushnotificationios","sidebar":true,"path":"Libraries/Share/Share.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -791,7 +791,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"slider","title":"Slider","layout":"autodocs","category":"Components","permalink":"docs/slider.html","platform":"cross","next":"snapshotviewios","previous":"segmentedcontrolios","sidebar":true,"path":"Libraries/Components/Slider/Slider.js","filename":null}}>
<Layout metadata={{"id":"slider","title":"Slider","layout":"autodocs","category":"Components","permalink":"docs/slider.html","platform":"cross","next":"slider","previous":"sectionlist","sidebar":true,"path":"Libraries/Components/Slider/Slider.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -670,7 +670,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"snapshotviewios","title":"SnapshotViewIOS","layout":"autodocs","category":"Components","permalink":"docs/snapshotviewios.html","platform":"ios","next":"statusbar","previous":"slider","sidebar":true,"path":"Libraries/RCTTest/SnapshotViewIOS.ios.js","filename":null}}>
<Layout metadata={{"id":"snapshotviewios","title":"SnapshotViewIOS","layout":"autodocs","category":"Components","permalink":"docs/snapshotviewios.html","platform":"ios","next":"snapshotviewios","previous":"segmentedcontrolios","sidebar":true,"path":"Libraries/RCTTest/SnapshotViewIOS.ios.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -985,7 +985,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"statusbar","title":"StatusBar","layout":"autodocs","category":"Components","permalink":"docs/statusbar.html","platform":"cross","next":"switch","previous":"snapshotviewios","sidebar":true,"path":"Libraries/Components/StatusBar/StatusBar.js","filename":null}}>
<Layout metadata={{"id":"statusbar","title":"StatusBar","layout":"autodocs","category":"Components","permalink":"docs/statusbar.html","platform":"cross","next":"statusbar","previous":"slider","sidebar":true,"path":"Libraries/Components/StatusBar/StatusBar.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -26,7 +26,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"statusbarios","title":"StatusBarIOS","layout":"autodocs","category":"APIs","permalink":"docs/statusbarios.html","platform":"ios","next":"stylesheet","previous":"share","sidebar":true,"path":"Libraries/Components/StatusBar/StatusBarIOS.ios.js","filename":null}}>
<Layout metadata={{"id":"statusbarios","title":"StatusBarIOS","layout":"autodocs","category":"APIs","permalink":"docs/statusbarios.html","platform":"ios","next":"statusbarios","previous":"settings","sidebar":true,"path":"Libraries/Components/StatusBar/StatusBarIOS.ios.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -130,7 +130,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"stylesheet","title":"StyleSheet","layout":"autodocs","category":"APIs","permalink":"docs/stylesheet.html","platform":"cross","next":"systrace","previous":"statusbarios","sidebar":true,"path":"Libraries/StyleSheet/StyleSheet.js","filename":null}}>
<Layout metadata={{"id":"stylesheet","title":"StyleSheet","layout":"autodocs","category":"APIs","permalink":"docs/stylesheet.html","platform":"cross","next":"stylesheet","previous":"share","sidebar":true,"path":"Libraries/StyleSheet/StyleSheet.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -711,7 +711,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"switch","title":"Switch","layout":"autodocs","category":"Components","permalink":"docs/switch.html","platform":"cross","next":"tabbarios","previous":"statusbar","sidebar":true,"path":"Libraries/Components/Switch/Switch.js","filename":null}}>
<Layout metadata={{"id":"switch","title":"Switch","layout":"autodocs","category":"Components","permalink":"docs/switch.html","platform":"cross","next":"switch","previous":"snapshotviewios","sidebar":true,"path":"Libraries/Components/Switch/Switch.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -233,7 +233,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"systrace","title":"Systrace","layout":"autodocs","category":"APIs","permalink":"docs/systrace.html","platform":"cross","next":"timepickerandroid","previous":"stylesheet","sidebar":true,"path":"Libraries/Performance/Systrace.js","filename":null}}>
<Layout metadata={{"id":"systrace","title":"Systrace","layout":"autodocs","category":"APIs","permalink":"docs/systrace.html","platform":"cross","next":"systrace","previous":"statusbarios","sidebar":true,"path":"Libraries/Performance/Systrace.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -789,7 +789,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"tabbarios-item","title":"TabBarIOS.Item","layout":"autodocs","category":"Components","permalink":"docs/tabbarios-item.html","platform":"ios","next":"text","previous":"tabbarios","sidebar":true,"path":"Libraries/Components/TabBarIOS/TabBarItemIOS.ios.js","filename":null}}>
<Layout metadata={{"id":"tabbarios-item","title":"TabBarIOS.Item","layout":"autodocs","category":"Components","permalink":"docs/tabbarios-item.html","platform":"ios","next":"tabbarios-item","previous":"switch","sidebar":true,"path":"Libraries/Components/TabBarIOS/TabBarItemIOS.ios.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -754,7 +754,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"tabbarios","title":"TabBarIOS","layout":"autodocs","category":"Components","permalink":"docs/tabbarios.html","platform":"ios","next":"tabbarios-item","previous":"switch","sidebar":true,"path":"Libraries/Components/TabBarIOS/TabBarIOS.ios.js","filename":null}}>
<Layout metadata={{"id":"tabbarios","title":"TabBarIOS","layout":"autodocs","category":"Components","permalink":"docs/tabbarios.html","platform":"ios","next":"tabbarios","previous":"statusbar","sidebar":true,"path":"Libraries/Components/TabBarIOS/TabBarIOS.ios.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -825,7 +825,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"text","title":"Text","layout":"autodocs","category":"Components","permalink":"docs/text.html","platform":"cross","next":"textinput","previous":"tabbarios-item","sidebar":true,"path":"Libraries/Text/Text.js","filename":null}}>
<Layout metadata={{"id":"text","title":"Text","layout":"autodocs","category":"Components","permalink":"docs/text.html","platform":"cross","next":"text","previous":"tabbarios","sidebar":true,"path":"Libraries/Text/Text.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -1226,7 +1226,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"textinput","title":"TextInput","layout":"autodocs","category":"Components","permalink":"docs/textinput.html","platform":"cross","next":"toolbarandroid","previous":"text","sidebar":true,"path":"Libraries/Components/TextInput/TextInput.js","filename":null}}>
<Layout metadata={{"id":"textinput","title":"TextInput","layout":"autodocs","category":"Components","permalink":"docs/textinput.html","platform":"cross","next":"textinput","previous":"tabbarios-item","sidebar":true,"path":"Libraries/Components/TextInput/TextInput.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -325,7 +325,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"textstyleproptypes","title":"TextStylePropTypes","layout":"autodocs","category":"APIs","permalink":"docs/textstyleproptypes.html","platform":"cross","next":"imagestyleproptypes","previous":"viewstyleproptypes","sidebar":true,"path":"Libraries/Text/TextStylePropTypes.js","filename":null}}>
<Layout metadata={{"id":"textstyleproptypes","title":"TextStylePropTypes","layout":"autodocs","category":"APIs","permalink":"docs/textstyleproptypes.html","platform":"cross","next":"textstyleproptypes","previous":"viewproptypes","sidebar":true,"path":"Libraries/Text/TextStylePropTypes.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -64,7 +64,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"timepickerandroid","title":"TimePickerAndroid","layout":"autodocs","category":"APIs","permalink":"docs/timepickerandroid.html","platform":"android","next":"toastandroid","previous":"systrace","sidebar":true,"path":"Libraries/Components/TimePickerAndroid/TimePickerAndroid.android.js","filename":null}}>
<Layout metadata={{"id":"timepickerandroid","title":"TimePickerAndroid","layout":"autodocs","category":"APIs","permalink":"docs/timepickerandroid.html","platform":"android","next":"timepickerandroid","previous":"stylesheet","sidebar":true,"path":"Libraries/Components/TimePickerAndroid/TimePickerAndroid.android.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -131,7 +131,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"toastandroid","title":"ToastAndroid","layout":"autodocs","category":"APIs","permalink":"docs/toastandroid.html","platform":"android","next":"vibration","previous":"timepickerandroid","sidebar":true,"path":"Libraries/Components/ToastAndroid/ToastAndroid.android.js","filename":null}}>
<Layout metadata={{"id":"toastandroid","title":"ToastAndroid","layout":"autodocs","category":"APIs","permalink":"docs/toastandroid.html","platform":"android","next":"toastandroid","previous":"systrace","sidebar":true,"path":"Libraries/Components/ToastAndroid/ToastAndroid.android.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -790,7 +790,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"toolbarandroid","title":"ToolbarAndroid","layout":"autodocs","category":"Components","permalink":"docs/toolbarandroid.html","platform":"android","next":"touchablehighlight","previous":"textinput","sidebar":true,"path":"Libraries/Components/ToolbarAndroid/ToolbarAndroid.android.js","filename":null}}>
<Layout metadata={{"id":"toolbarandroid","title":"ToolbarAndroid","layout":"autodocs","category":"Components","permalink":"docs/toolbarandroid.html","platform":"android","next":"toolbarandroid","previous":"text","sidebar":true,"path":"Libraries/Components/ToolbarAndroid/ToolbarAndroid.android.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -702,7 +702,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"touchablehighlight","title":"TouchableHighlight","layout":"autodocs","category":"Components","permalink":"docs/touchablehighlight.html","platform":"cross","next":"touchablenativefeedback","previous":"toolbarandroid","sidebar":true,"path":"Libraries/Components/Touchable/TouchableHighlight.js","filename":null}}>
<Layout metadata={{"id":"touchablehighlight","title":"TouchableHighlight","layout":"autodocs","category":"Components","permalink":"docs/touchablehighlight.html","platform":"cross","next":"touchablehighlight","previous":"textinput","sidebar":true,"path":"Libraries/Components/Touchable/TouchableHighlight.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -729,7 +729,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"touchablenativefeedback","title":"TouchableNativeFeedback","layout":"autodocs","category":"Components","permalink":"docs/touchablenativefeedback.html","platform":"cross","next":"touchableopacity","previous":"touchablehighlight","sidebar":true,"path":"Libraries/Components/Touchable/TouchableNativeFeedback.android.js","filename":null}}>
<Layout metadata={{"id":"touchablenativefeedback","title":"TouchableNativeFeedback","layout":"autodocs","category":"Components","permalink":"docs/touchablenativefeedback.html","platform":"cross","next":"touchablenativefeedback","previous":"toolbarandroid","sidebar":true,"path":"Libraries/Components/Touchable/TouchableNativeFeedback.android.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -706,7 +706,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"touchableopacity","title":"TouchableOpacity","layout":"autodocs","category":"Components","permalink":"docs/touchableopacity.html","platform":"cross","next":"touchablewithoutfeedback","previous":"touchablenativefeedback","sidebar":true,"path":"Libraries/Components/Touchable/TouchableOpacity.js","filename":null}}>
<Layout metadata={{"id":"touchableopacity","title":"TouchableOpacity","layout":"autodocs","category":"Components","permalink":"docs/touchableopacity.html","platform":"cross","next":"touchableopacity","previous":"touchablehighlight","sidebar":true,"path":"Libraries/Components/Touchable/TouchableOpacity.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -777,7 +777,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"touchablewithoutfeedback","title":"TouchableWithoutFeedback","layout":"autodocs","category":"Components","permalink":"docs/touchablewithoutfeedback.html","platform":"cross","next":"view","previous":"touchableopacity","sidebar":true,"path":"Libraries/Components/Touchable/TouchableWithoutFeedback.js","filename":null}}>
<Layout metadata={{"id":"touchablewithoutfeedback","title":"TouchableWithoutFeedback","layout":"autodocs","category":"Components","permalink":"docs/touchablewithoutfeedback.html","platform":"cross","next":"touchablewithoutfeedback","previous":"touchablenativefeedback","sidebar":true,"path":"Libraries/Components/Touchable/TouchableWithoutFeedback.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -151,7 +151,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"transforms","title":"Transforms","layout":"autodocs","category":"APIs","permalink":"docs/transforms.html","platform":"cross","next":"shadow-props","previous":"layout-props","sidebar":false,"path":"Libraries/StyleSheet/TransformPropTypes.js","filename":null}}>
<Layout metadata={{"id":"transforms","title":"Transforms","layout":"autodocs","category":"APIs","permalink":"docs/transforms.html","platform":"cross","next":"shadow-props","previous":"vibrationios","sidebar":false,"path":"Libraries/StyleSheet/TransformPropTypes.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -61,7 +61,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"vibration","title":"Vibration","layout":"autodocs","category":"APIs","permalink":"docs/vibration.html","platform":"cross","next":"vibrationios","previous":"toastandroid","sidebar":true,"path":"Libraries/Vibration/Vibration.js","filename":null}}>
<Layout metadata={{"id":"vibration","title":"Vibration","layout":"autodocs","category":"APIs","permalink":"docs/vibration.html","platform":"cross","next":"vibration","previous":"timepickerandroid","sidebar":true,"path":"Libraries/Vibration/Vibration.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -41,7 +41,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"vibrationios","title":"VibrationIOS","layout":"autodocs","category":"APIs","permalink":"docs/vibrationios.html","platform":"ios","next":"layout-props","previous":"vibration","sidebar":true,"path":"Libraries/Vibration/VibrationIOS.ios.js","filename":null}}>
<Layout metadata={{"id":"vibrationios","title":"VibrationIOS","layout":"autodocs","category":"APIs","permalink":"docs/vibrationios.html","platform":"ios","next":"vibrationios","previous":"toastandroid","sidebar":true,"path":"Libraries/Vibration/VibrationIOS.ios.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -942,7 +942,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"view","title":"View","layout":"autodocs","category":"Components","permalink":"docs/view.html","platform":"cross","next":"viewpagerandroid","previous":"touchablewithoutfeedback","sidebar":true,"path":"Libraries/Components/View/View.js","filename":null}}>
<Layout metadata={{"id":"view","title":"View","layout":"autodocs","category":"Components","permalink":"docs/view.html","platform":"cross","next":"view","previous":"touchableopacity","sidebar":true,"path":"Libraries/Components/View/View.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -791,7 +791,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"viewpagerandroid","title":"ViewPagerAndroid","layout":"autodocs","category":"Components","permalink":"docs/viewpagerandroid.html","platform":"android","next":"virtualizedlist","previous":"view","sidebar":true,"path":"Libraries/Components/ViewPager/ViewPagerAndroid.android.js","filename":null}}>
<Layout metadata={{"id":"viewpagerandroid","title":"ViewPagerAndroid","layout":"autodocs","category":"Components","permalink":"docs/viewpagerandroid.html","platform":"android","next":"viewpagerandroid","previous":"touchablewithoutfeedback","sidebar":true,"path":"Libraries/Components/ViewPager/ViewPagerAndroid.android.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -294,7 +294,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"viewproptypes","title":"ViewPropTypes","layout":"autodocs","category":"APIs","permalink":"docs/viewproptypes.html","platform":"cross","next":"viewstyleproptypes","previous":"shadow-props","sidebar":true,"path":"Libraries/Components/View/ViewPropTypes.js","filename":null}}>
<Layout metadata={{"id":"viewproptypes","title":"ViewPropTypes","layout":"autodocs","category":"APIs","permalink":"docs/viewproptypes.html","platform":"cross","next":"viewproptypes","previous":"layout-props","sidebar":true,"path":"Libraries/Components/View/ViewPropTypes.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -185,7 +185,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"viewstyleproptypes","title":"ViewStylePropTypes","layout":"autodocs","category":"APIs","permalink":"docs/viewstyleproptypes.html","platform":"cross","next":"textstyleproptypes","previous":"viewproptypes","sidebar":true,"path":"Libraries/Components/View/ViewStylePropTypes.js","filename":null}}>
<Layout metadata={{"id":"viewstyleproptypes","title":"ViewStylePropTypes","layout":"autodocs","category":"APIs","permalink":"docs/viewstyleproptypes.html","platform":"cross","next":"viewstyleproptypes","previous":"shadow-props","sidebar":true,"path":"Libraries/Components/View/ViewStylePropTypes.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -1276,7 +1276,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"virtualizedlist","title":"VirtualizedList","layout":"autodocs","category":"Components","permalink":"docs/virtualizedlist.html","platform":"cross","next":"webview","previous":"viewpagerandroid","sidebar":true,"path":"Libraries/Lists/VirtualizedList.js","filename":null}}>
<Layout metadata={{"id":"virtualizedlist","title":"VirtualizedList","layout":"autodocs","category":"Components","permalink":"docs/virtualizedlist.html","platform":"cross","next":"virtualizedlist","previous":"view","sidebar":true,"path":"Libraries/Lists/VirtualizedList.js","filename":null}}>
{content}
</Layout>
);
+1 -1
View File
@@ -985,7 +985,7 @@ var Page = React.createClass({
statics: { content: content },
render: function() {
return (
<Layout metadata={{"id":"webview","title":"WebView","layout":"autodocs","category":"Components","permalink":"docs/webview.html","platform":"cross","next":"accessibilityinfo","previous":"virtualizedlist","sidebar":true,"path":"Libraries/Components/WebView/WebView.ios.js","filename":null}}>
<Layout metadata={{"id":"webview","title":"WebView","layout":"autodocs","category":"Components","permalink":"docs/webview.html","platform":"cross","next":"webview","previous":"viewpagerandroid","sidebar":true,"path":"Libraries/Components/WebView/WebView.ios.js","filename":null}}>
{content}
</Layout>
);
+4032
View File
File diff suppressed because it is too large Load Diff
+7028
View File
File diff suppressed because it is too large Load Diff