46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'use strict';
 | 
						|
 | 
						|
var path = require('canonical-path');
 | 
						|
var fs = require("q-io/fs");
 | 
						|
var q = require('q');
 | 
						|
var cheerio = require('cheerio');
 | 
						|
 | 
						|
// Original sample file by @petebacondarwin
 | 
						|
// Not currently used, but keeping it for now,
 | 
						|
// until we completely rule out use of dgeni.
 | 
						|
 | 
						|
module.exports = function loadDartDocHtmlProcessor(log, dartPkgConfigInfo) {
 | 
						|
  return {
 | 
						|
    $runAfter: ['loadDartDocDataProcessor'],
 | 
						|
    // $runBefore: ['docs-read'],
 | 
						|
 | 
						|
    $process: function (docs) {
 | 
						|
      var ngIoDartApiDocPath = dartPkgConfigInfo.ngIoDartApiDocPath;
 | 
						|
 | 
						|
      // Return a promise sync we are async in here
 | 
						|
      return q.all(docs.map(function (doc) {
 | 
						|
        if (doc.kind.match(/-dart-api$/)) return;
 | 
						|
 | 
						|
        // Load up the HTML and extract the contents of the body
 | 
						|
        var htmlPath = path.resolve(ngIoDartApiDocPath, doc.href);
 | 
						|
 | 
						|
        return fs.exists(htmlPath).then(function (exists) {
 | 
						|
 | 
						|
          if (!exists) {
 | 
						|
            log.debug('missing html ' + htmlPath);
 | 
						|
            return;
 | 
						|
          }
 | 
						|
 | 
						|
          return fs.read().then(function (html) {
 | 
						|
            log.info('Reading ' + htmlPath)
 | 
						|
            var $ = cheerio.load(html);
 | 
						|
            doc.htmlContent = $('body').contents().html();
 | 
						|
          });
 | 
						|
 | 
						|
        });
 | 
						|
 | 
						|
      }));
 | 
						|
    }
 | 
						|
  }
 | 
						|
};
 |