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

Course: Ideas - Developer's Guide to Block Themes - Part 3 #1263

Open
jonathanbossenger opened this issue Jan 18, 2023 · 12 comments
Open

Course: Ideas - Developer's Guide to Block Themes - Part 3 #1263

jonathanbossenger opened this issue Jan 18, 2023 · 12 comments

Comments

@jonathanbossenger
Copy link
Collaborator

jonathanbossenger commented Jan 18, 2023

This ticket exists to gather ideas around what topics should be covered in part 3 of the guide to block themes course.

Please comment on this ticket with any topics/ideas you have for part 3

For the topics that have already been covered in parts 1 and 2, see the links to the course issues below

@tomdevisser
Copy link
Member

These are some questions on the top of my head I'm still left with after the first two parts. Some are undoubtedly more useful than others, and some might even be better to have their own course:

  • How do we really lock down a block so the client can just edit content? Even after using the templateLock, I can still click "Modify" in de backend and make edits. The Locking API was mentioned, maybe go more in depth in a part 3
  • How do I add custom blocks to a theme in a structured way? I know best practice is using the plugins folder, but we currently only store our themes in version control and it's nice to have everything bundled for some clients.
  • Are there still styling aspects that are better to put in a stylesheet (Sass or CSS) instead of through theme.json? Maybe go through some pros and cons of using "old" styles.
  • How do all styles from theme.json get compiled? Do they all go in one big stylesheet or are stylesheets loaded only if a block is on a page? How do we optimize e.g. caching these assets?
  • How do you debug block themes? A few times I bumped into a "Attempt Block Recovery" notice after formatting some code with e.g. Prettier, which got me thinking, maybe add a part on debugging. How do you debug/validate templates and such.

Some extra thoughts:

  • Maybe list and talk about some recommended extensions for Chrome/VS Code with snippets, Intellephense, code beautifying, etc.
  • I would love to see a more fleshed out dev environment (but this might be a course in and of itself) where you explain the entire recommended process of developing local, migrating to staging, en pulling production back to local to synchronize. I feel like almost all tutorials rush over the dev environment part (install Local, run wp env, etc) but never give a fully implementable solution for real site development and getting the same local server settings as your remote server.

@tomdevisser
Copy link
Member

Another addition, during these first courses and while playing with the Block Editor it feels like the three mentioned layout blocks Group, Row and Columns are indeed very important. It might be nice to go a bit more in depth on them and make some complex layouts to really get the hang of them and learn how to use them well.

@tomdevisser
Copy link
Member

Another thing that I think would be very helpful, is how to make responsive designs with FSE. For example, you add a Spacer block but you want it to be smaller on mobile devices than on desktops. How do you do this?

@jonathanbossenger
Copy link
Collaborator Author

Thanks for these ideas @thomasdevisser I'll definitely keep them in mind for a future course.

@jonathanbossenger
Copy link
Collaborator Author

Creating specific templates per the template hierarchy (use case embeds)

@kaitohm kaitohm moved this to Awaiting Vetting in LearnWP Topic Vetting Jun 1, 2023
@webtechpooja webtechpooja changed the title Ideas - Developer's Guide to Block Themes - Part 3 Course: Ideas - Developer's Guide to Block Themes - Part 3 Jul 6, 2023
@kaitohm
Copy link
Contributor

kaitohm commented Jul 13, 2023

@jonathanbossenger As this isn't the usual topic waiting to be vetted, I've moved it into the team's Admin project instead.

Could you share a timeline as to when this issue will remain open, or what the next steps are? Thanks.

@jonathanbossenger
Copy link
Collaborator Author

@bsanevans that's a good question.

I'd like to get this course out by the end of 2023. Part of the reason for this is that I'm still figuring out some of the course content in my weekly Sendig live streams.

I would say by the end of September I should have a good idea of what will go into this course, and then I will start planning and creating the content.

@kaitohm
Copy link
Contributor

kaitohm commented Jul 13, 2023

Perfect. Thanks for the update. This sounds exciting 🌟

@jonathanbossenger
Copy link
Collaborator Author

jonathanbossenger commented Aug 29, 2023

Some initial thoughts about the modules to be included in this course:

  • A deeper dive into theme.json, how it works, and how the styles are compiled and rendered.
  • The new WP Development mode and how it can be used during theme development
  • Block themes, functions.php and style.css
  • Adding and using custom Block Styles
  • Adding and using custom Block Variations
  • Curating the editor experience
  • Block themes and child themes
  • Block theme revision control
  • Debugging errors during block theme development

@ndiego
Copy link
Member

ndiego commented Aug 30, 2023

This looks great @jonathanbossenger. I do think a section dedicated to child theming would be useful. While there is some debate on whether child themes are needed or should be used with block themes, this is a very common workflow, and there are some considerations developers need to be aware of.

@jonathanbossenger
Copy link
Collaborator Author

That's a great point, thanks @ndiego

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 👋 Ready to Create
Development

No branches or pull requests

4 participants