mirror of
https://github.com/reactjs/react.dev.git
synced 2026-02-24 04:33:10 +00:00
added function that write to the output html file
This commit is contained in:
22
Gruntfile.js
22
Gruntfile.js
@@ -5,17 +5,30 @@ module.exports = function(grunt) {
|
||||
pkg: grunt.file.readJSON('../package.json')
|
||||
});
|
||||
|
||||
function writeToLiveSampleJS(matchedJS) {
|
||||
/**
|
||||
* Write React component to js file
|
||||
* @param {String} liveEditJS
|
||||
* @param {String} componentName
|
||||
*/
|
||||
function writeToLiveSampleJS(liveEditJS, componentName) {
|
||||
|
||||
grunt.file.write('js/cookbook/' + componentName + '.js', liveEditJS);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update HTML file to include an ID and script src link
|
||||
*/
|
||||
function writeToHTML() {
|
||||
grunt.file.write('_site/cookbook' + componentName + '.html', liveEditJS);
|
||||
}
|
||||
|
||||
function readFromCookbookEntry(abspath, rootdir, subdir, filename) {
|
||||
|
||||
var markdown = grunt.file.read(abspath),
|
||||
codeSample = /```[\S]+\s*[\s\S]*?```/g,
|
||||
|
||||
// read markdown file for code sample
|
||||
matchedJS = markdown.match(/`{3}[\s\S]*?`{3}/g),
|
||||
matchedJS = markdown.match(codeSample),
|
||||
trimmedJS,
|
||||
componentName,
|
||||
componentNameCamelCase,
|
||||
@@ -44,11 +57,12 @@ module.exports = function(grunt) {
|
||||
|
||||
// Add code sample to live edit
|
||||
liveEditJS = '/**\n * @jsx React.DOM\n */\n\n var ' + componentNameUpperCase + '_COMPONENT = "' + matchedJS + '";\n React.renderComponent(\n ReactPlayground( {codeText:' + componentNameUpperCase + '_COMPONENT} ),\n document.getElementById("' + componentNameCamelCase + 'Example")\n );'
|
||||
|
||||
console.log(componentName);
|
||||
|
||||
writeToLiveSampleJS(liveEditJS, componentName);
|
||||
}
|
||||
|
||||
grunt.registerTask('makeLiveSamples', 'Out live edit JS file for code samples in React Cookbook entries', function() {
|
||||
grunt.registerTask('makeLiveSamples', 'Create live edit JS file for code samples in React Cookbook entries', function() {
|
||||
var rootdir = 'cookbook/';
|
||||
|
||||
// Recurse through cookbook directory
|
||||
|
||||
Reference in New Issue
Block a user