1.3.0 • Published 7 years ago

bloggify-config v1.3.0

Weekly downloads
4
License
MIT
Repository
github
Last release
7 years ago

bloggify-config

Version Downloads

Helper module to create Bloggify configuration.

:cloud: Installation

$ npm i --save bloggify-config

:clipboard: Example

const bloggifyConfig = require("bloggify-config");

console.log(bloggifyConfig.isProduction);
// => false

console.log(bloggifyConfig({
    title: "Bloggify"
  , prodPlugins: [
      "bloggify-analytics"
    ]
  , devPlugins: [
      "debug"
    ]
  , plugins: [
      "github-login"
    ]
  , description: "We make publishing easy."
  , domain: "https://example.com"
  , theme: "bloggify-theme-light"
  , devConfig: {
        ajsRenderer: {
            cache: false
        }
      , githubLogin: {
            secret: "foo"
          , clientId: "bar"
        }
    }
  , config: {
        githubLogin: {
            secret: "real foo"
          , clientId: "real bar"
        }
    }
}, {
    metadata: {
        twitter: "Bloggify"
    }
}));
// { metadata:
//    { twitter: 'Bloggify',
//      siteTitle: 'Bloggify',
//      description: 'We make publishing easy.',
//      domain: 'http://localhost:8080' },
//   corePlugins:
//    [ 'bloggify-plugin-manager',
//      'bloggify-router',
//      'bloggify-ajs-renderer',
//      'bloggify-viewer' ],
//   server: { port: 8080 },
//   theme: { path: 'node_modules/bloggify-theme-light' },
//   pluginConfigs:
//    { 'bloggify-plugin-manager': [ 'debug', 'github-login' ],
//      'github-login': { secret: 'foo', clientId: 'bar' },
//      'ajs-renderer': { cache: false } } }

:question: Get Help

There are few ways to get help:

  1. Please post questions on Stack Overflow. You can open issues with questions, as long you add a link to your Stack Overflow question.
  2. For bug reports and feature requests, open issues. :bug:
  3. For direct and quick help from me, you can use Codementor. :rocket:

:memo: Documentation

bloggifyConfig(conf, additional)

Create Bloggify configuration.

The .env file

By creating an .env file in the root of the project you can set environment variables in your Bloggify application. We highly recommend to not commit this file because in general it is going to contain sensible data (such as api keys etc).

Params

  • Object conf: An object containing the following fields:
  • title (String): The site title.
  • description (String): The site description.
  • port (Number): The server port (default: 8080). You can set this using the PORT environment variable.
  • devDomain (String): The dev domain (default: http://localhost:${PORT}).
  • theme (String): The theme name (if it's a npm package) or the path to the theme directory (it should start with /).
  • router (String): The router plugin name (default: "bloggify-router").
  • pluginManager (String): The plugin manager name (default: "bloggify-plugin-manager")
  • renderer (String): The renderer name (default: "bloggify-ajs-renderer").
  • viewer (String): The viwer name (default: "bloggify-viewer").
  • devConfig (Object): An object containing the development-specific plugin configs (default: {}).
  • config (Object): An object containing the plugin configs (default: {}).
  • plugins (Array): The plugins to be loaded (default: []).
  • corePlugins (Array): The plugins to be loaded before loading the router and the renderer.
  • devPlugins (Array): The plugins to be loaded in the development mode (default: []).
  • prodPlugins (Array): The plugins to be loaded in the production mode (default: []).
  • sessionStore (String): An optional session store used for sessions (e.g. "connect-mongo").
  • sessionOptions (Object): An optional object containing the session options.
  • cmsMethods (Boolean): If false, it will not load the Bloggify CMS-related methods.
  • Object additional: Additional fields to merge in the object.

Return

  • Object The Bloggify config.

:yum: How to contribute

Have an idea? Found a bug? See how to contribute.

:dizzy: Where is this library used?

If you are using this library in one of your projects, add it in this list. :sparkles:

:scroll: License

MIT © Bloggify