page.js 641 B

12345678910111213141516171819202122232425262728
  1. 'use strict';
  2. const { magenta, underline, gray } = require('chalk');
  3. const table = require('text-table');
  4. const { stringLength } = require('./common');
  5. function listPage() {
  6. const Page = this.model('Page');
  7. const data = Page.sort({date: 1}).map(page => {
  8. const date = page.date.format('YYYY-MM-DD');
  9. return [gray(date), page.title, magenta(page.source)];
  10. });
  11. // Table header
  12. const header = ['Date', 'Title', 'Path'].map(str => underline(str));
  13. data.unshift(header);
  14. const t = table(data, {
  15. stringLength
  16. });
  17. console.log(t);
  18. if (data.length === 1) console.log('No pages.');
  19. }
  20. module.exports = listPage;