In an effort to keep prose more agnostic, for project settings I wonder if we should remove project configuration rules out of _config.yml and into a separate prose.yml file. .toml could be another candidate too.
Limiting a project to a site-posts like directory would be useful to a wider range of projects.
@tristen I think that is a fantastic idea!
I would also suggest to use the _underscore standard for "partial" files not to be processed by things like Jekyll and DocPad - I'm sure you would have done that anyways... so you could have a project configuration file such as _prose.io.yml or _prose.yml (obviously) you could do this also for your _prose.io.toml or _prose.toml.
However I don't think you should limit prose.io to just the site-posts directory. Not all projects have just one directory for posts.
Perhaps you could have a site-wide _prose.io.yml which would configure prose for the entire site. And for all of your new Jekyll-based enhancements you could have a configuration in that file that tells Prose to treat certain paths special e.g. _posts.
Alternatively we could also put individual _prose.io.yml files in different directories which would allow prose to spin out different "Personalities" based on what we wanted to do with that folder.
So, we could have something like this:
/_prose.io.yml -> this has configurations that tells Prose.io to use the Jekyll flavored interface for posts
_prose.io.yml -> this has all of your normal prose config stuff in it.
This way I could use Prose.io as a developer to access any text-based files in my project or blog and work on those. Maybe in the future we will have some more features which are flavored differently for HTML editing or CSS or JS editing. Perhaps a special flavor for yml config files.
Each area of my directory could have specific flavors of tools which are specific to it, but with one interface which all works together.
Just an idea :)
So if we want to support backwards compatibility for existing _config.yml I'm not seeing a clean solution. We would need to request the contents of config.yml, evaluate it into an object, check if prose exists and if it doesn't request a _prose.yml file.
The other thing to consider is to punt on this. It's not as if other repo's couldn't indeed have a _config.yml file. This should work just fine.
cc/ @mikemorris @dhcole