added renderer selection (py-gfm as alternative)

This commit is contained in:
2026-02-08 17:47:35 -05:00
parent 122b7ea348
commit 02bc0ce81d
11 changed files with 115 additions and 17 deletions

View File

@@ -10,9 +10,11 @@ Top-level fields:
Path to the WordPress root directory where the `wp` CLI is executed.
2. `repo_storage_dir` (string, required)
Directory where git repositories are cloned or updated.
3. `git_repositories` (array, optional)
3. `renderer` (string, optional)
Markdown renderer to use. Allowed values: `default`, `py-gfm`.
4. `git_repositories` (array, optional)
List of git repositories to manage. Default is an empty list.
4. `directories` (array, optional)
5. `directories` (array, optional)
List of non-git directories to manage. Default is an empty list.
`git_repositories` entries:
@@ -50,9 +52,12 @@ Top-level fields:
Inherited tags for this directory and its children.
3. `author` (object, optional)
Inherited author for this directory and its children. Must resolve to a single author.
4. `subdirectories` (object, optional)
4. `renderer` (string, optional)
Markdown renderer to use for this directory. Allowed values: `default`, `py-gfm`.
If omitted, it inherits from the parent scope.
5. `subdirectories` (object, optional)
Explicit list of subdirectories to traverse.
5. `files` (object, optional)
6. `files` (object, optional)
Mapping of Markdown file names to file-level configuration.
`categories`, `tags`, `author`, and `subdirectories` objects:
@@ -61,7 +66,8 @@ Top-level fields:
List of values for the given field.
For `categories`, each string is a hierarchical path such as `Systems/Infrastructure`.
For `subdirectories`, each string is a directory name under the current directory.
For `author`, exactly one string must remain after inheritance is applied.
For `author`, exactly one string must remain after inheritance is applied and it should be
a WordPress user ID (integer as a string).
2. `inherit` (boolean, optional, default `true`)
If `true`, append to the parent effective list.
If `false`, replace the parent list entirely.
@@ -70,6 +76,10 @@ Note: Root directory manifests do not need to specify `inherit` for these top-le
fields (the default is `true`). File-level overrides inside `files` still support
inheritance via their own `inherit` fields.
The `renderer` field inherits implicitly: if omitted, the renderer is inherited
from the parent scope; if specified, it overrides the parent without an explicit
`inherit` flag.
`files` entries:
Each key is a Markdown file name (relative to the manifest directory).
@@ -84,10 +94,13 @@ Each value is an object with the following fields:
Manual override for the post creation time in `YYYY-MM-DD hh:mm` format.
4. `last_modified` (string, optional)
Manual override for the post modified time in `YYYY-MM-DD hh:mm` format.
5. `categories` (object, optional)
5. `renderer` (string, optional)
Markdown renderer to use for this file. Allowed values: `default`, `py-gfm`.
If omitted, it inherits from the parent scope.
6. `categories` (object, optional)
Overrides categories for this file. Uses the same `content` and `inherit` fields
as the top-level `categories` object.
6. `tags` (object, optional)
7. `tags` (object, optional)
Overrides tags for this file. Uses the same `content` and `inherit` fields
as the top-level `tags` object.
@@ -102,6 +115,7 @@ If `created_on` or `last_modified` is not provided, the system infers the value.
For `git_repositories` sources it uses git commit timestamps; for `directories`
sources it uses filesystem timestamps. The system does not auto-detect git for
entries declared under `directories`, even if the path is inside a git repo.
If `created_on` is in the future, WordPress will mark the post as scheduled.
## Post Identity