X-Git-Url: https://git.r.bdr.sh/rbdr/blog/blobdiff_plain/7a5a585ead8c4e967980adc2ab9c7502e47694fd..cf6302904d61ead65e6294e7f1be406eb68ef5f9:/config/config.js diff --git a/config/config.js b/config/config.js new file mode 100644 index 0000000..d16ff2d --- /dev/null +++ b/config/config.js @@ -0,0 +1,31 @@ +'use strict'; + +const Path = require('path'); +const Getenv = require('getenv'); + +const internals = {}; + +/** + * The main configuration object for Blog. It will be used to + * initialize all of the sub-components. It can extend any property of + * the blog object. + * + * @memberof Blog + * @typedef {object} tConfiguration + * @property {number} maxPosts=3 the max number of posts that can exist + * at one time + * @property {string} postsDirectory=/.posts the location of + * the directory where the posts will be stored. + * @property {string} staticDirectory=/static the location of + * the directory where the generated files will be placed. NOTE: There + * are some pre-built style files in the default directory, if you + * select another one, make sure you include them manually. + * @property {string} templatesDirectory=/templates the + * location of the templates we'll use to generate the index.html + */ +module.exports = internals.Config = { + maxPosts: Getenv.int('BLOG_MAX_POSTS', 3), + postsDirectory: Getenv('BLOG_POSTS_DIRECTORY', Path.resolve(Path.join(__dirname, '../.posts'))), + staticDirectory: Getenv('BLOG_STATIC_DIRECTORY', Path.resolve(Path.join(__dirname, '../static'))), + templatesDirectory: Getenv('BLOG_TEMPLATES_DIRECTORY', Path.resolve(Path.join(__dirname, '../templates'))) +};