Skip to content

Latest commit

 

History

History
73 lines (52 loc) · 1.35 KB

router.md

File metadata and controls

73 lines (52 loc) · 1.35 KB

title: Router

The router saves all paths used in the site.

Get a Path

The get method returns a Stream. For example, to save the path data to a specified destination:

var data = hexo.route.get('index.html');
var dest = fs.createWriteStream('somewhere');

data.pipe(dest);

Set a Path

The set method takes a string, a Buffer or a function.

// String
hexo.route.set('index.html', 'index')

// Buffer
hexo.route.set('index.html', new Buffer('index'));

// Function (Promise)
hexo.route.set('index.html', function(){
  return new Promise(function(resolve, reject){
    resolve('index');
  });
});

// Function (Callback)
hexo.route.set('index.html', function(callback){
  callback(null, 'index');
});

You can also set a boolean for whether a path has been modified or not. This can speed up file generation as it allows for ignoring the unmodified files.

hexo.route.set('index.html', {
    data: 'index',
    modified: false
});

// hexo.route.isModified('index.html') => false

Remove a Path

hexo.route.remove('index.html');

Get the List of Routes

hexo.route.list();

Format a Path

The format method transforms a string to a valid path.

hexo.route.format('archives/');
// archives/index.html