123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- // Licensed to the Apache Software Foundation (ASF) under one
- // or more contributor license agreements. See the NOTICE file
- // distributed with this work for additional information
- // regarding copyright ownership. The ASF licenses this file
- // to you under the Apache License, Version 2.0 (the
- // "License"); you may not use this file except in compliance
- // with the License. You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing,
- // software distributed under the License is distributed on an
- // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- // KIND, either express or implied. See the License for the
- // specific language governing permissions and limitations
- // under the License.
- 'use strict';
- var fs = require('fs');
- var path = require('path');
- var argv = require('optimist').argv;
- var augment = require('./augment_toc');
- var util = require('./util');
- function main () {
- var docsRoot = argv._[0];
- var tocRoot = argv._[1];
- // validate args
- if ((!docsRoot) || (!tocRoot)) {
- var scriptName = path.basename(process.argv[1]);
- console.log('usage: ' + scriptName + ' docsRoot tocRoot');
- console.log(scriptName + ': error: too few arguments');
- return 1;
- }
- // go through all the languages
- util.listdirsSync(docsRoot).forEach(function (languageName) {
- var languagePath = path.join(docsRoot, languageName);
- // go through all the versions
- util.listdirsSync(languagePath).forEach(function (versionName) {
- var versionPath = path.join(languagePath, versionName);
- var srcTocName = util.srcTocfileName(languageName, versionName);
- var destTocName = util.genTocfileName(languageName, versionName);
- var srcTocPath = path.join(tocRoot, srcTocName);
- var destTocPath = path.join(tocRoot, destTocName);
- // read the input
- fs.readFile(srcTocPath, function (error, data) {
- if (error) throw error;
- // augment the ToC
- var originalTocString = data.toString();
- var augmentedTocString = augment.augmentString(originalTocString, versionPath);
- var warningComment = util.generatedBy(__filename);
- var output = warningComment + '\n' + augmentedTocString;
- // write the output
- fs.writeFile(destTocPath, output, function (error, data) {
- if (error) throw error;
- console.log(srcTocPath + ' -> ' + destTocPath);
- });
- });
- });
- });
- }
- main();
|