code: function parsePagesList(book) {
      var summary = book.getSummary();
      var glossary = book.getGlossary();
      var map = Immutable.OrderedMap();
  
      // Parse pages from summary
      return timing.measure(
          'parse.listPages',
          walkSummary(summary, function(article) {
              if (!article.isPage()) return;
  
              var filepath = article.getPath();
  
              // Is the page ignored?
              if (book.isContentFileIgnored(filepath)) return;
  
              return parseFilePage(book, filepath)
              .then(function(page) {
                  // file doesn't exist
                  if (!page) {
                      return;
                  }
  
                  map = map.set(filepath, page);
              });
          })
      )
  
      // Parse glossary
      .then(function() {
          var file = glossary.getFile();
  
          if (!file.exists()) {
              return;
          }
  
          return parseFilePage(book, file.getPath())
          .then(function(page) {
              // file doesn't exist
              if (!page) {
                  return;
              }
  
              map = map.set(file.getPath(), page);
          });
      })
  
      .then(function() {
          return map;
      });
  }
docs: Parse all pages from a book as an OrderedMap
  
  @param {Book} book
  @return {Promise<OrderedMap<Page>>}