Skip to content
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

Blueprints developer documentation #2

Closed
adamziel opened this issue Mar 12, 2024 · 14 comments · Fixed by #5
Closed

Blueprints developer documentation #2

adamziel opened this issue Mar 12, 2024 · 14 comments · Fixed by #5

Comments

@adamziel
Copy link
Contributor

adamziel commented Mar 12, 2024

Let's provide developers with ample examples on how to build Blueprints. One outline is proposed in WordPress/blueprints-library#64

@bph
Copy link
Collaborator

bph commented Mar 15, 2024

How would you want to keep the two places of documentation in sync: Community site and Developer Playground docs? Is there a way to use Docusaurus to deploy selected content to two (or more) sites?

Docusaurus allows for Document versioning. I do a little research on how that works maybe that's the solution.
Or maybe Multi-instance is the right way to go

@adamziel
Copy link
Contributor Author

adamziel commented Mar 20, 2024

How would you want to keep the two places of documentation in sync: Community site and Developer Playground docs?

@bph I'd make the community space the canonical source of truth about Blueprints and remove them from the Playground docs entirely. There would be links, but no content duplication.

More context is that Blueprints are branching off to a separate repo anyway and will run not just with PHP.wasm in Playground, but also with regular PHP and WordPress core. It makes sense to have a dedicated space for the documentation.

@ironnysh
Copy link
Collaborator

@adamziel, would it still be based on Docusaurus? I wonder what the WooCommerce team is using for their cool new docs site.

@adamziel
Copy link
Contributor Author

@adamziel, would it still be based on Docusaurus?

@ironnysh good question! Docusaurus is neat and provides a lot for free – from light/dark mode, syntax highlighting, algolia integration, ease of autogenerating docs and including interactive examples.

The only downside is the challenge with bringing that content into developer handbooks on wp.org. Perhaps if there was a separate, Blueprints handbook? I kind of dislike the custom tooling used to build these docs pages and would like to minimize their use as they tend to take time to set up, break, and require patches.

I wonder what the WooCommerce team is using for their cool new docs site.

CC @shaybanshee @JacklynBiggin on any insights about that.

@adamziel
Copy link
Contributor Author

@flexseth also shared an interesting idea to build the documentation in Playground – it nicely tie with a thing that @ellatrix built to use .md files as WordPress database.

@ironnysh
Copy link
Collaborator

ironnysh commented Apr 6, 2024

I kind of dislike the custom tooling used to build these docs pages and would like to minimize their use as they tend to take time to set up, break, and require patches

Totally agree (that's why I asked 😉).

I think that one of the most important parts that would help push this forward is the builder. Take tools like Swagger or Postman—the ability to do "live" prototyping and save/export the results is their main attraction. DX is king 🤓

a thing that @ellatrix built to use .md files as WordPress database.

🤯 Is it public?

@flexseth
Copy link

flexseth commented Apr 6, 2024

I think that one of the most important parts that would help push this forward is the builder.

There's a project in the works to link an individual docs page to block markup that can be spun up using a blueprint. The contributor can then update the docs, and submit a PR back to the repo where the docs exist. All with the click of a button!

@ironnysh
Copy link
Collaborator

ironnysh commented Apr 7, 2024

There's a project in the works to link an individual docs page to block markup [...] contributor can then update the docs [...]

Are you talking about this one?

I was referring to the Blueprint builder, the browser-based JSON editor.

To clarify, my comment was less about the documentation tooling and more about developer tools (see @adamziel's initial statement above):

Let's provide developers with ample examples on how to build Blueprints

@adamziel
Copy link
Contributor Author

@adamziel
Copy link
Contributor Author

I think that one of the most important parts that would help push this forward is the builder. Take tools like Swagger or Postman—the ability to do "live" prototyping and save/export the results is their main attraction. DX is king 🤓

Today there's a JSON builder and this "export as a Blueprint" plugin. Do you mean a UI Blueprints builder where you'd assemble blocks? Perhaps literal, Gutenberg blocks even?

@flexseth
Copy link

Do you mean a UI Blueprints builder

I've been looking into making something like this for the block editor.

After April 18th might have a little more time, going through all of the docs has been very helpful to see how it would need to be built.

Don't want to go into too much detail here to keep the issue on track, and closer to getting closed out at some point :)

adamziel added a commit that referenced this issue Apr 15, 2024
Launching this Blueprint community space hinges on good materials to
explain what Blueprints are and how developers can work with them.

This PR proposes a few pages to cover:

1. What are Blueprints and how are they useful?
2. How to run Blueprints
3. Building your first Blueprint
4. Debugging Blueprints
5. Developer Tools
6. More Resources

It's a loose interpretation of [the previously proposed
outline](WordPress/blueprints-library#64) that
covers roughly the same topics in a lean way.

## Reviewing

[<kbd> <br>Preview proposed
documentation<br> </kbd>](https://github.com/adamziel/blueprints/blob/blueprints-crash-course/docs/index.md)

cc @flexseth @bph @jonathanbossenger @ironnysh @westnz @justintadlock
@annezazu @bgrgicak @brandonpayton @dmsnell for your opinions. I'd love
to learn:

1. Do you think this covers enough to launch the Community Space and
iterate later?
2. Are these pages clear? Do they do a good job of getting a person from
0 to familiar?
3. What would you change?

## Documentation format

This PR uses Markdown because it's easy to write and can be readily
previewed on GitHub.

In parallel, we're exploring [a Playground-based documentation writing
workflow](https://github.com/adamziel/playground-docs-workflow). It's
not ready for production use yet and I didn't want to block the
community space on these explorations. Once it's finished, these docs
should be easy to migrate.

Closes #2

---------

Co-authored-by: Ronny Shani <63248335+ironnysh@users.noreply.github.com>
Co-authored-by: Birgit Pauli-Haack <birgit.pauli@gmail.com>
@ironnysh
Copy link
Collaborator

Do you mean a UI Blueprints builder where you'd assemble blocks? Perhaps literal, Gutenberg blocks even?

You're like 12 steps ahead of me ;-)) I meant improving the existing JSON builder. Basically bringing it from WIP/MVP mode to V1.

Joost's plugin is very promising, but it'll be nice to have some control over what's "recorded".

@adamziel
Copy link
Contributor Author

@ironnysh you've inspired me to fix the Blueprints builder: WordPress/wordpress-playground#1284

It's still rough on mobile but at least it's going to be reliable once that PR is merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants