Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow plugin to modify siteConfig and themeConfig #508

Open
egoist opened this issue Oct 8, 2019 · 0 comments · May be fixed by #519
Open

Allow plugin to modify siteConfig and themeConfig #508

egoist opened this issue Oct 8, 2019 · 0 comments · May be fixed by #519

Comments

@egoist
Copy link
Collaborator

egoist commented Oct 8, 2019

Feature request

What problem does this feature solve?

Plugins should be able to set default value for siteConfig, and probably themeConfig.

e.g. You create a plugin to fetch siteConfig from headless CMS, but you also want the user to be able to override siteConfig via saber-config.yml.

What does the proposed API look like?

A plugin:

exports.name = 'my-plugin-name'

exports.apply = api => {
  api.hooks.getSaberConfig.tapPromise('my-plugin-name', async config => {
    config.siteConfig = merge(await getSiteConfigFromApi(), config.siteConfig)
    return config
  })
}

How should this be implemented in your opinion?

Call the getSaberConfig hook before calling afterPlugins hook:

await this.hooks.afterPlugins.promise()

And call it again when config file is modified:

await api.hooks.onUpdateConfigFile.promise()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant