X-Git-Url: https://git.r.bdr.sh/rbdr/blog/blobdiff_plain/2f579cf4c0d8ff95af78103783c7ca8f951cc797..442ebaf901a8ca686ce769325054e1f393d43b7c:/config/config.js diff --git a/config/config.js b/config/config.js deleted file mode 100644 index cf2a386..0000000 --- a/config/config.js +++ /dev/null @@ -1,97 +0,0 @@ -import { fileURLToPath } from 'url'; -import { join, resolve, dirname } from 'path'; -import Getenv from 'getenv'; - -const __filename = fileURLToPath(import.meta.url); -const __dirname = dirname(__filename); - -const internals = { - // We'll use this to store configuration, such as the remote config, - // templates, and the static directory. - configDirectory: Getenv('BLOG_CONFIG_DIRECTORY', - resolve( - join( - Getenv( - 'XDG_CONFIG_HOME', - join(Getenv('HOME'), '.config') - ), - 'blog' - ) - ) - ), - // We'll use this to store the actual blog contents. - dataDirectory: Getenv('BLOG_DATA_DIRECTORY', - resolve( - join( - Getenv( - 'XDG_DATA_HOME', - join(Getenv('HOME'), '.local/share') - ), - 'blog' - ) - ) - ), - // We'll use this to store the actual blog contents. - outputDirectory: Getenv('BLOG_OUTPUT_DIRECTORY', - resolve( - join( - Getenv( - 'XDG_CACHE_HOME', - join(Getenv('HOME'), '.cache') - ), - 'blog' - ) - ) - ) -}; - -/** - * 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} configDirectory=$XDG_CONFIG_HOME/blog the location of - * the configuration files. - * @property {string} dataDirectory=$XDG_DATA_HOME/blog the location of - * the blog data. - * @property {string} outputDirectory=$XDG_CACHE_HOME/blog the location of - * the generated blog files. - * @property {string} postsDirectory=$XDG_DATA_HOME/blog/posts the location of - * the directory where the posts will be stored. - * @property {string} archiveDirectory=$XDG_DATA_HOME/blog/archive the location of - * the directory where the archive will be stored. - * @property {string} staticDirectory=$XDG_DATA_HOME/blog/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=$XDG_CONFIG_HOME/blog/templates the - * location of the templates we'll use to generate the index.html, feed.xml, - * and index.txt. - * @property {string} remoteConfig=$XDG_CONFIG_HOME/blog/blogremotee the - * location of the templates we'll use to generate the index.html - */ -export default { - // XDG_CONFIG_HOME and XDG_DATA_HOME defaults. - configDirectory: internals.configDirectory, - dataDirectory: internals.dataDirectory, - outputDirectory: internals.outputDirectory, - - // User configuration, changeable with BLOG_ env variables. - maxPosts: Getenv.int('BLOG_MAX_POSTS', 3), - postsDirectory: resolve(join(internals.dataDirectory, 'posts')), - archiveDirectory: resolve(join(internals.dataDirectory, 'archive')), - staticDirectory: resolve(join(internals.dataDirectory, 'static')), - templatesDirectory: resolve(join(internals.dataDirectory, 'templates')), - - remoteConfig: resolve(join(internals.configDirectory, 'blogremote')), - - blogOutputDirectory: resolve(join(internals.outputDirectory, 'blog')), - archiveOutputDirectory: resolve(join(internals.outputDirectory, 'archive')), - - // Internal config: This can't be modified. - defaultTemplatesDirectory: resolve(join(__dirname, '../templates')) -};