2
1
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2023-12-13 21:00:40 +01:00

Improved helper index, use glob to read directory

- Having to remember to add files to an index.js is a PITA
- We already have glob as a dependency, so use that
- This requires that the file prev_next be renamed to prev_post, which is what it's called as by default
- next_post is an alias of next_post - so this reflects that more closely
This commit is contained in:
Hannah Wolfe 2020-04-10 13:08:41 +01:00
parent 59b9f161dd
commit fc664ac697
3 changed files with 16 additions and 40 deletions

View file

@ -1,42 +1,15 @@
const coreHelpers = {};
const glob = require('glob');
const path = require('path');
coreHelpers.asset = require('./asset');
coreHelpers.author = require('./author');
coreHelpers.authors = require('./authors');
coreHelpers.body_class = require('./body_class');
coreHelpers.cancel_link = require('./cancel_link');
coreHelpers.concat = require('./concat');
coreHelpers.content = require('./content');
coreHelpers.date = require('./date');
coreHelpers.encode = require('./encode');
coreHelpers.excerpt = require('./excerpt');
coreHelpers.facebook_url = require('./facebook_url');
coreHelpers.foreach = require('./foreach');
coreHelpers.get = require('./get');
coreHelpers.ghost_foot = require('./ghost_foot');
coreHelpers.ghost_head = require('./ghost_head');
coreHelpers.img_url = require('./img_url');
coreHelpers.is = require('./is');
coreHelpers.has = require('./has');
coreHelpers.lang = require('./lang');
coreHelpers.link = require('./link');
coreHelpers.link_class = require('./link_class');
coreHelpers.meta_description = require('./meta_description');
coreHelpers.meta_title = require('./meta_title');
coreHelpers.navigation = require('./navigation');
coreHelpers.page_url = require('./page_url');
coreHelpers.pagination = require('./pagination');
coreHelpers.plural = require('./plural');
coreHelpers.post_class = require('./post_class');
coreHelpers.prev_post = require('./prev_next');
coreHelpers.price = require('./price');
coreHelpers.next_post = require('./prev_next');
coreHelpers.raw = require('./raw');
coreHelpers.reading_time = require('./reading_time');
coreHelpers.t = require('./t');
coreHelpers.tags = require('./tags');
coreHelpers.title = require('./title');
coreHelpers.twitter_url = require('./twitter_url');
coreHelpers.url = require('./url');
const helpers = {};
module.exports = coreHelpers;
// We use glob here because it's already a dependency
// If we want to get rid of glob we could use E.g. requiredir
// Or require('fs').readdirSync(__dirname + '/')
let helperFiles = glob.sync('!(index).js', {cwd: __dirname});
helperFiles.forEach((helper) => {
let name = helper.replace(/.js$/, '');
helpers[name] = require(path.join(__dirname, helper));
});
module.exports = helpers;

View file

@ -7,6 +7,9 @@ var should = require('should'),
api = require('../../../core/server/api'),
common = require('../../../core/server/lib/common');
// These helpers are the same, their name just changes
helpers.next_post = helpers.prev_post;
describe('{{next_post}} helper', function () {
let locals;
var browsePostsStub;