Update philosophy document based on benbalter's feedback.
This commit is contained in:
parent
2c19264d08
commit
f2bf984160
|
@ -11,7 +11,8 @@ is about, the following principles should come to mind:
|
|||
|
||||
Jekyll is not magic. A user should be able to understand the underlying
|
||||
processes that make up the Jekyll build without much reading. It should
|
||||
behave "as you'd expect."
|
||||
do only what you ask it to and nothing more. When a user takes a certain
|
||||
action, the outcome should be easily understandable and focused.
|
||||
|
||||
### 2. It "Just Works"
|
||||
|
||||
|
@ -19,7 +20,7 @@ The out-of-the-box experience should be that it "just works." Run `gem
|
|||
install jekyll` and it should build any Jekyll site that it's given.
|
||||
Features like auto-regeneration and settings like the markdown renderer
|
||||
should represent sane defaults that work perfectly for the vast majority of
|
||||
cases. The burden of configuration should not be placed on the user.
|
||||
cases. The burden of initial configuration should not be placed on the user.
|
||||
|
||||
### 3. Content is King
|
||||
|
||||
|
@ -31,6 +32,12 @@ should find the management of their content enjoyable and simple.
|
|||
|
||||
If a user's site builds today, it should build tomorrow.
|
||||
Backwards-compatibility should be strongly preferred over breaking changes.
|
||||
Breaking changes should be made to support a strong practical goal, and
|
||||
breaking changes should never be made to drive forward "purity" of the
|
||||
codebase, or other changes purely to make the maintainers' lives easier.
|
||||
Breaking changes provide a significant amount of friction between upgrades
|
||||
and reduce the confidence of users in this software, and should thus be
|
||||
avoided unless absolutely necessary.
|
||||
Upon breaking changes, provide a clear path for users to upgrade.
|
||||
|
||||
### 5. Small & Extensible
|
||||
|
@ -38,4 +45,6 @@ Upon breaking changes, provide a clear path for users to upgrade.
|
|||
The core of Jekyll should be simple and small, and extensibility should be
|
||||
a first-class feature to provide added functionality from community
|
||||
contributors. The core should be kept to features used by at least 90% of
|
||||
users–everything else should be provided as a plugin.
|
||||
users–everything else should be provided as a plugin. New features should
|
||||
be shipped as plugins and focus should be put on creating extensible core
|
||||
API's to support rich plugins.
|
||||
|
|
Loading…
Reference in New Issue