markdown-sync
Tools
Open Source
Sync
WordPress
WPORG Markdown Importer
Imports Markdown from a remote site (like GitHub) into WordPress as pages.
Configuration
Each importer needs to override the abstract methods:
-
get_base()– Base URL for imported pages. This will be stripped from the key before comparing. -
get_manifest_url()– URL pointing to the manifest. -
get_post_type()– Post type to import as.
Manifest Format
The manifest should be a JSON object, with the keys set to the desired permalink (excluding the base path). Each item should also be a JSON object, containing the following keys:
-
slug– Post name to insert. (Must match the final path-part of the key.) -
markdown_source– URL for the Markdown file to parse into content. -
parent– Key for the parent to store under. (Must correspond to the non-final path-parts of the key.) -
title– Title to use when creating post. Used temporarily, will be updated from the Markdown file. If not specified, defaults toslug(but will be updated from Markdown source).
Note: The Handbook index should have the slug index.
Example:
{
"foo": {
"title": "Temporary Foo Title",
"slug": "foo",
"markdown_source": "https://raw.githubusercontent.com/WordPress/doc-repo/master/foo.md",
"parent": null
},
"foo/bar": {
"title": "Temporary Bar Title",
"slug": "bar",
"markdown_source": "https://raw.githubusercontent.com/WordPress/doc-repo/master/foo/bar.md",
"parent": "foo"
},
"foo/bar/quux": {
"title": "Temporary Quux Title",
"slug": "quux",
"markdown_source": "https://raw.githubusercontent.com/WordPress/doc-repo/master/foo/bar/quux.md",
"parent": "foo/bar"
}
}