woocommerce/plugins/woocommerce-docs
Sam Seay 7553f2b26e
WooCommerce Docs: Add support for more core block conversion (#39244)
* WIP extend support for frontmatter in manifests.

* Change some of the prop names in the frontmatter support, add tests.

* WIP support new frontmatter in plugin.

* Improve category processing.

* restructure the docs to have a nested category with no index.

* Add WP test stubs to dev.

* Add tests for the ManifestProcessor.

* Add param docs to function

* Store post meta on posts when they are updated or created. Add supporting tests.

* WIP supporting more core block types.

* Fix bugs in conversion.

* Adjust conversion for issues with tables, blockquotes, code.

* Resolve pnpm lock conflicts

* Return manifest to state in trunk.

* Return pnpm lock to trunk state.

* Update fixture for new md content.
2023-07-22 12:22:55 +08:00
..
client MVP process manifest JSON and convert to WordPress categories/posts (#38874) 2023-06-29 16:47:22 +12:00
example-docs WooCommerce Docs: Add support for more core block conversion (#39244) 2023-07-22 12:22:55 +08:00
scripts WooCommerce Docs: Store post meta of edit_url, refactor ManifestProcessor for testability (#39241) 2023-07-20 17:46:18 +12:00
src WooCommerce Docs: Add support for more core block conversion (#39244) 2023-07-22 12:22:55 +08:00
tests WooCommerce Docs: Add support for more core block conversion (#39244) 2023-07-22 12:22:55 +08:00
.eslintrc MVP process manifest JSON and convert to WordPress categories/posts (#38874) 2023-06-29 16:47:22 +12:00
.prettierrc.js Add a new plugin to the monorepo for the docs project (#38406) 2023-06-01 10:21:33 +12:00
.wp-env.json WooCommerce Docs: Support Gutenberg block conversion with CommonMark, add some basic unit tests. (#39096) 2023-07-12 19:29:15 +12:00
README.md WooCommerce Docs: Support Gutenberg block conversion with CommonMark, add some basic unit tests. (#39096) 2023-07-12 19:29:15 +12:00
composer.json WooCommerce Docs: Improve Manifest Structure, Extend Frontmatter Support (#39214) 2023-07-17 20:46:23 +12:00
composer.lock WooCommerce Docs: Improve Manifest Structure, Extend Frontmatter Support (#39214) 2023-07-17 20:46:23 +12:00
package.json Add linting to CI for monorepo utils, add to CI unit tests for docs. (#39240) 2023-07-18 12:47:13 +12:00
phpunit.xml WooCommerce Docs: Support Gutenberg block conversion with CommonMark, add some basic unit tests. (#39096) 2023-07-12 19:29:15 +12:00
tsconfig.json MVP process manifest JSON and convert to WordPress categories/posts (#38874) 2023-06-29 16:47:22 +12:00
webpack.config.js Add a new plugin to the monorepo for the docs project (#38406) 2023-06-01 10:21:33 +12:00
woocommerce-docs.php MVP process manifest JSON and convert to WordPress categories/posts (#38874) 2023-06-29 16:47:22 +12:00

README.md

WooCommerce Docs Plugin

This is a work-in-progress plugin with the desired goal of consolidating documentation from various sources into Wordpress posts.

Although this is called WooCommerce Docs, it should be able to be used with any Wordpress site and a manifest conforming to the data structure (TBD) to create Wordpress posts from Markdown content.

Development

Set up the monorepo as usual, now from this directory run pnpm build to build the webpack assets. This plugin creates a top level menu called "WooCommerce Docs" that you can navigate to once you've mounted the plugin in your development environment.

You can use monorepo utils from the repo root to generate new manifests:

pnpm utils md-docs create ./plugins/woocommerce-docs/example-docs woodocs --outputFilePath ./plugins/woocommerce-docs/scripts/manifest.json

To load the manifest as a source in the plugin go to the plugin page and add a manifest with url:

http://your-local-wp-host/wp-content/plugins/woocommerce-docs/scripts/manifest.json

Please note that if you're hosting the file within Docker, that localhost will not work as the host for your file because that's reserved for localhost within the container. You'll need to use the IP address of your machine instead or on Mac OS you can use the Docker DNS name host.docker.internal.