themes/next/docs/DATA-FILES.md
Currently, it is not smooth to update NexT theme from pulling or downloading new releases. It is quite often running into conflict status when updating NexT theme via git pull, or need to merge configurations manually when upgrading to new releases.
At present, NexT encourages users to store some options in site's _config.yml and other options in theme's _config.yml. This approach is applicable, but has some drawbacks:
In order to resolve this issue, NexT will take advantage of Hexo Data files. Because Data files is introduced in Hexo 3, so you need upgrade Hexo to 3.0 (or above) to use this feature.
If you prefer Hexo 2.x, you can still use the old approach for configurations. NexT is still compatible with Hexo 2.x (but errors are possible).
<h2 align="center">Option 1: Hexo-Way</h2>With this way, all your configurations locate in main hexo config file (hexo/_config.yml), you don't need to touch next/_config.yml or create any new files. But you must preserve double spaces indents within theme_config option.
If there are any new options in new releases, you just need to copy those options from next/_config.yml, paste into hexo/_config.yml and set their values to whatever you want.
hexo/source/_data/next.yml file (delete it if exists).next/_config.yml into hexo/_config.yml, thentheme_config: parameter above all this settings.With this way, you can put all your configurations into one place (source/_data/next.yml), you don't need to touch next/_config.yml.
But option may not accurately procces all hexo external libraries with their additional options (for example, hexo-server module options may be readed only in default hexo config).
If there are any new options in new releases, you just need to copy those options from next/_config.yml, paste into _data/next.yml and set their values to whatever you want.
next.yml in site's hexo/source/_data directory (create _data directory if it did not exists).Variant 1: override: false (default):
override option in default NexT config, it must set on false.next.yml it must not be defined or set on false too._config.yml and theme's _config.yml into hexo/source/_data/next.yml.Variant 2: override: true:
next.yml set override option on true.next/_config.yml into hexo/source/_data/next.yml.hexo/_config.yml need to define theme: next option (and if needed, source_dir: source).hexo clean && hexo g -d && hexo s).