Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
ndm / opt / ndm / resources / app / node_modules / npm / scripts / index-build.js
Size: Mime:
#!/usr/bin/env node
var fs = require('fs')
var path = require('path')
var root = path.resolve(__dirname, '..')
var glob = require('glob')
var conversion = { 'cli': 1, 'api': 3, 'files': 5, 'misc': 7 }

glob(root + '/{README.md,doc/*/*.md}', function (er, files) {
  if (er) throw er

  output(files.map(function (f) {
    var b = path.basename(f)
    if (b === 'README.md') return [0, b]
    if (b === 'index.md') return null
    var s = conversion[path.basename(path.dirname(f))]
    return [s, f]
  }).filter(function (f) {
    return f
  }).sort(function (a, b) {
    return (a[0] === b[0])
            ? (path.basename(a[1]) === 'npm.md' ? -1
            : path.basename(b[1]) === 'npm.md' ? 1
            : a[1] > b[1] ? 1 : -1)
            : a[0] - b[0]
  }))
})

function output (files) {
  console.log(
    'npm-index(7) -- Index of all npm documentation\n' +
    '==============================================\n')

  writeLines(files, 0)
  writeLines(files, 1, 'Command Line Documentation', 'Using npm on the command line')
  writeLines(files, 3, 'API Documentation', 'Using npm in your Node programs')
  writeLines(files, 5, 'Files', 'File system structures npm uses')
  writeLines(files, 7, 'Misc', 'Various other bits and bobs')
}

function writeLines (files, sxn, heading, desc) {
  if (heading) {
    console.log('## %s\n\n%s\n', heading, desc)
  }
  files.filter(function (f) {
    return f[0] === sxn
  }).forEach(writeLine)
}

function writeLine (sd) {
  var sxn = sd[0] || 1
  var doc = sd[1]
  var d = path.basename(doc, '.md')

  var content = fs.readFileSync(doc, 'utf8').split('\n')[0].split('-- ')[1]

  console.log('### %s(%d)\n', d, sxn)
  console.log(content + '\n')
}