-
Notifications
You must be signed in to change notification settings - Fork 450
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
(WIP) Yaml playground #2821
(WIP) Yaml playground #2821
Conversation
Change of approach:
I think we can do something like
that will add the option to conf.yaml if it exists in our option schema (to be created) We can then add a I think this can work nicely. |
This is terrible for discoverability. By editing conf.py right now, you can find all the settings in one place. In the new model, how would you learn about settings? From the website? |
On one hand yes, conf.py makes it possible to discover things by reading a thousand lines of code. On the other hand, we have had complaints that conf.py is horribly confusing, and we have no way to actually do things like adding new options to conf.py once we add them in master. So, maybe a |
Makes sense. We would probably need a web resource for settings, perhaps with categorization? |
Something like that. I think plugins should be able to introduce their own options, too. |
Of course the real work is:
|
The UX for WeeChat's |
@polyzen nice! |
Isn't YAML better for discovery, because you can add commented out descriptions for new keys to an existing YAML when Nikola is updated? Doing this with conf.py is more difficult. Granted the current space for round-trip YAML parsing in Python is pretty abysmal (simply put, there is currently no existing 100% round tripping YAML parser). You might also consider some of the downsides of YAML as a language. It has a lot of gotchas related to its automatic type inference. |
TOML is another consideration as it's (more) configuration-oriented. |
I had totally forgot how awful TOML tables were |
There are things that I prefer about YAML and there are things that I prefer about TOML. In a context like this where we are working with large config files, with many options, I lean towards TOML because I feel that nested structures are more legible from a user perspective. TOML Kit can round trip TOML and allows for adding / manipulating comments. Caveat: I am pretty ok with |
@gwax TOML's support for table-like data is horrible. |
Playground is closed forever. |
Exploratory work for using YAML config instead/along conf.py (#2475)