Just Chatting and Clicking Random Links! ![rw-book-cover](https://img.youtube.com/vi/xPskuyyIrps/maxresdefault.jpg) ๐Ÿ”— **Source:** [Just Chatting and Clicking Random Links!](https://www.youtube.com/watch?v=xPskuyyIrps) > [!note]+ Document Notes > tags: [wordpress, gutenberg, php-blocks, live-stream] > author: Ryan (Stream Host) > source: Twitch Stream > reference: https://www.youtube.com/watch?v=xPskuyyIrps > date created: 2024-12-28 16:21 > > # ๐Ÿท๏ธ Title: Just chatting and clicking random links! > <!-- deep-read:sections start --> ## ๐Ÿงฐ Action Inbox - [H1] Test Gutenberg 22.4 PHP-only blocks functionality โ€” live demo #gutenberg - [H2] Review VS Code Interactivity API extension feedback โ€” extension launched #interactivity-api - [H3] Consider Talk Devi to Me podcast format โ€” community engagement #devrel ## ๐Ÿงญ Table of Contents - [๐Ÿ“ Summary](#-summary) - [๐Ÿ“– Main Content](#-main-content) - [๐Ÿ—’๏ธ Notes](#๏ธ-notes) - [๐Ÿ“š References](#-references) - [๐Ÿ—ฃ๏ธ Paraphrase](#๏ธ-paraphrase) - [๐Ÿ“ฐ Newsletter](#-newsletter) - [โœ… Action Items](#-action-items) - [๐Ÿงช Hypotheses](#-hypotheses) - [๐Ÿ“Š Methodology](#-methodology) - [โ“ Questions](#-questions) - [๐Ÿ”ฎ Future Research](#-future-research) - [๐Ÿ’ก Implications](#-implications) - [๐Ÿง  Learning Styles Assessment](#-learning-styles-assessment) - [๐Ÿ“Š Accessibility Assessment](#-accessibility-assessment) - [๐ŸŒ DEIB Assessment](#-deib-assessment) - [โœ… Logical Validity](#-logical-validity) - [๐Ÿ›ก๏ธ DARVO Analysis](#-darvo-analysis) - [๐ŸŽฏ Conclusion](#-conclusion) ### ๐Ÿ”— References - [Gutenberg 22.4 Release](https://make.wordpress.org/core/handbook/) - [VS Code Marketplace Extension](https://marketplace.visualstudio.com/) ## ๐Ÿ“ Summary - Live stream covering Gutenberg 22.4 PHP-only blocks, VS Code extension demo, and community discussion - Why it matters: Shows practical WordPress block development without JavaScript build processes - Key stakeholders: WordPress developers, block creators, community members - Risks and tradeoffs: Documentation gaps between Gutenberg plugin and core WordPress - Bottom line takeaway: PHP-only blocks now functional in Gutenberg 22.4, new developer tools available ## ๐Ÿ“– Main Content Ryan demonstrates the newly functional PHP-only block registration in Gutenberg 22.4, showing how developers can create blocks using only PHP without JavaScript build processes. He showcases his new VS Code extension for Interactivity API development, discusses documentation challenges in the WordPress ecosystem, and engages with community members about various development topics. The session covers technical implementation details, community feedback on block proliferation, and practical developer tools. Notable is the discussion about Block Editor Handbook documentation being auto-generated from trunk rather than stable releases, causing confusion for developers. ## ๐Ÿ—’๏ธ Notes #### โฑ๏ธ [00:00](https://youtu.be/xPskuyyIrps?t=0) โ€” [H1] Stream introduction and snow day delays - Key idea: Stream nearly cancelled due to heavy snowfall requiring extensive driveway clearing - Evidence: "I woke up to 800 feet of snow in my driveway... took an hour and a half" #### โฑ๏ธ [02:15](https://youtu.be/xPskuyyIrps?t=135) โ€” [H2] Flappy Gate incident recap - Key idea: Previous stream's malicious link incident opened 96 popup windows with inappropriate content - Evidence: "I clicked the link and then... it had opened 96 popup windows and they were all bouncing" #### โฑ๏ธ [08:30](https://youtu.be/xPskuyyIrps?t=510) โ€” [H1] Gutenberg 22.4 PHP-only blocks demonstration - Key idea: New Gutenberg version enables PHP-only block registration without JavaScript - Evidence: "22.4 came out... now we can get these things happening which is really cool" #### โฑ๏ธ [12:45](https://youtu.be/xPskuyyIrps?t=765) โ€” [H2] PHP block attributes and meta fields - Key idea: Block attributes automatically create meta fields based on type definitions - Evidence: "attributes based on the type string, integer, boolean, string and this enum. It was creating meta fields for us" #### โฑ๏ธ [18:20](https://youtu.be/xPskuyyIrps?t=1100) โ€” [H2] Script and style registration in PHP blocks - Key idea: Can register CSS and JavaScript directly in block registration without separate enqueue actions - Evidence: "I don't think we necessarily need to put it on the actions that you would normally encue" #### โฑ๏ธ [25:15](https://youtu.be/xPskuyyIrps?t=1515) โ€” [H1] Icon block development progress with data views - Key idea: Icon block now uses WordPress data views component for improved modal interface - Evidence: "I'm using data views for it. So now when you load this now we have this going on" #### โฑ๏ธ [32:40](https://youtu.be/xPskuyyIrps?t=1960) โ€” [H2] Documentation challenges discussion - Key idea: Block Editor Handbook auto-generates from trunk, creating confusion about feature availability - Evidence: "documentation that represents things that are not in core and that are not in the released version" #### โฑ๏ธ [41:10](https://youtu.be/xPskuyyIrps?t=2470) โ€” [H3] Block proliferation and enterprise concerns - Key idea: Better to disable unneeded blocks than build missing ones for client projects - Evidence: "it's better to have to disable a block than it is to have to build one" #### โฑ๏ธ [46:30](https://youtu.be/xPskuyyIrps?t=2790) โ€” [H1] VS Code Interactivity API extension demo - Key idea: New extension provides autocomplete for WordPress Interactivity API directives and state - Evidence: "when I hit state, I get prompted with the items from the state" #### โฑ๏ธ [52:15](https://youtu.be/xPskuyyIrps?t=3135) โ€” [H2] Extension features walkthrough - Key idea: Extension validates store names, detects duplicates, and parses view.js files - Evidence: "it'll actually tell you, hey, there's no store name dev inspector" #### โฑ๏ธ [58:45](https://youtu.be/xPskuyyIrps?t=3525) โ€” [H3] Talk Devi to Me podcast concept - Key idea: Proposed stream format for developers to showcase their projects - Evidence: "people are going to come on and we're going to talk about the thing they're building" #### โฑ๏ธ [63:20](https://youtu.be/xPskuyyIrps?t=3800) โ€” [H2] AI development tools discussion - Key idea: Used Claude and Nano Banana to build VS Code extension in two days - Evidence: "I built this with Claude Code in like two days and I'm super excited with it" #### โฑ๏ธ [68:40](https://youtu.be/xPskuyyIrps?t=4120) โ€” [H2] Community member Paul joins discussion - Key idea: Real-time collaboration on PHP Storm extension conversion and WordPress core contributions - Evidence: "Paul wants in... you're going to take that thing that I did and you're going to get AI to convert it" ## ๐Ÿ“š References - [Gutenberg Plugin](https://wordpress.org/plugins/gutenberg/) - [WordPress Developer Handbook](https://developer.wordpress.org/) - [VS Code Marketplace](https://marketplace.visualstudio.com/) - [WordPress Interactivity API](https://make.wordpress.org/core/2024/03/04/interactivity-api-dev-note/) ## ๐Ÿ—ฃ๏ธ Paraphrase - Gutenberg 22.4 enables complete PHP-only block development without JavaScript build processes, making WordPress block creation more accessible - Documentation challenges arise from auto-generation based on development trunk rather than stable releases, causing confusion about feature availability - New developer tools like VS Code extensions can significantly improve WordPress Interactivity API adoption through better autocomplete and validation ## ๐Ÿ“ฐ Newsletter ๐ŸŽ‰ **PHP-Only Blocks Now Live in Gutenberg 22.4!** Great news for WordPress developers who prefer server-side block development! The latest Gutenberg plugin update makes PHP-only blocks fully functional. You can now register blocks with attributes, styles, and scripts entirely in PHP without touching JavaScript build processes. This is a game-changer for developers who want to create custom blocks but don't want the complexity of modern JS tooling. Simply define your block attributes, and WordPress automatically creates the corresponding meta fields. **New Developer Tool Alert:** Check out the new VS Code extension for WordPress Interactivity API development, featuring intelligent autocomplete for directives and state management. **Resources:** - [Learn WordPress](https://learn.wordpress.org/) - Official training platform - [Developer Docs](https://developer.wordpress.org/) - Technical documentation - [WP-CLI](https://wp-cli.org/) - Command line interface Join the conversation in WordPress community Discords and forums to share your PHP-only block experiments! ## โœ… Action Items #### DevRel - Community engagement: Host "Talk Devi to Me" developer showcase streams - Education: Create tutorials for PHP-only block development workflow - Developer experience: Address documentation gaps between Gutenberg plugin and core - Developer marketing: Promote new VS Code extension for Interactivity API - Community management: Moderate stream chat with improved link filtering #### WordPress - Core: Validate PHP-only blocks functionality across WordPress versions - Documentation: Consider versioned docs to separate trunk from stable releases - Community: Support developers transitioning from JavaScript to PHP-only workflows - Plugins: Review extension approval process for developer productivity tools - Design: Improve data views component integration in block interfaces #### Community - Maintainers: Gather feedback on PHP-only blocks implementation - Contributors: Test new development workflows and report issues - Sponsors: Support developer tool creation and maintenance - Ecosystem: Document best practices for PHP-only block patterns ## ๐Ÿงช Hypotheses - PHP-only blocks will increase WordPress block development adoption among backend-focused developers - VS Code extensions can significantly reduce Interactivity API learning curve through better developer experience - Documentation generated from trunk rather than stable releases creates unnecessary developer friction - Community-driven developer tools fill important gaps in official WordPress tooling ### ๐Ÿ“Š Methodology - Survey developers about PHP-only blocks adoption rates before and after 22.4 - Track VS Code extension downloads and user feedback metrics - Analyze documentation-related support requests and their resolution patterns - Monitor community Discord discussions for common development pain points ### โ“ Questions - Will PHP-only blocks reduce JavaScript build tooling complexity concerns for new developers? - How can WordPress core better communicate feature availability across plugin and core versions? - What additional developer experience improvements would accelerate Interactivity API adoption? ### ๐Ÿ”ฎ Future Research - PHP-only blocks performance compared to JavaScript-built blocks - Developer productivity gains from specialized WordPress extensions - Community-driven vs official tooling effectiveness in WordPress ecosystem ### ๐Ÿ’ก Implications - Practice: Simplified block development workflows may increase community contributions - Policy: Documentation versioning strategies need reconsideration for developer clarity - Education: Developer onboarding paths can focus more on PHP skills initially - Funding: Community tool development deserves support alongside core WordPress funding ### ๐Ÿง  Learning Styles Assessment Reading level estimate: 12th grade (technical developer content) #### ๐Ÿ‘€ Visual learners - Present: Live screen sharing, code demonstrations, extension interface tours - Improve: Architectural diagrams for PHP-only blocks, data flow visualizations #### ๐Ÿ”Š Aural learners - Present: Live stream format with verbal explanations and community discussion - Improve: Recorded tutorials, podcast format for complex topics #### ๐Ÿ—ฃ๏ธ Verbal learners - Present: Interactive chat, technical terminology explanation, analogies - Improve: Glossary of WordPress-specific terms, comparison tables #### ๐Ÿงฉ Kinesthetic learners - Present: Live coding demonstrations, step-by-step implementation - Improve: Downloadable code samples, hands-on workshops #### ๐Ÿง  Logical learners - Present: Sequential development process, cause-and-effect relationships - Improve: Decision trees for block development approaches, performance comparisons #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners - Present: Live chat interaction, community Discord integration - Improve: Collaborative coding sessions, peer code reviews #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners - Present: Individual coding time, personal project development - Improve: Self-paced tutorials, documentation deep-dives #### ๐ŸŒฟ Naturalistic learners - Present: Real-world problem solving, organic community conversations - Improve: Case studies from actual WordPress sites, ecosystem impact analysis ### ๐Ÿ“Š Accessibility Assessment #### Screen reader semantics - Present: Live stream with verbal descriptions of visual elements - Improve: Alt text for shared code screenshots, structured heading hierarchy #### Keyboard navigation - Present: Demonstrated VS Code keyboard shortcuts and workflows - Improve: Document keyboard-only development workflows #### Contrast and readability - Present: High contrast code editor themes during demonstrations - Improve: Verify code example visibility across different displays #### Media and captions - Present: Live stream with audio commentary - Improve: Auto-generated captions, post-stream transcriptions available #### Standards reference - Follows WCAG 2.2 AA guidelines for live streaming accessibility ### ๐ŸŒ DEIB Assessment #### Cultural breadth - Present: Global community participation through chat and Discord - Improve: Acknowledge different time zones for stream scheduling #### Inclusive language - Present: Gender-neutral technical terminology, welcoming tone - Improve: Define technical jargon consistently, avoid cultural idioms #### Neurodiversity support - Present: Multiple communication channels (audio, chat, visual) - Improve: Provide agenda/outline for streams, consistent structure #### Representation - Present: Diverse community member participation and recognition - Improve: Highlight contributors from different backgrounds and experience levels #### Psychological safety - Present: Respectful handling of technical mistakes, learning-focused environment - Improve: Clear community guidelines, escalation paths for issues ### โœ… Logical Validity #### Strong reasoning - Deductive strength: PHP-only blocks reduce complexity โ†’ increased adoption (valid premise, sound conclusion) - Inductive strength: Documentation confusion examples โ†’ systemic issue (multiple data points support generalization) - Causal reasoning: Gutenberg 22.4 release โ†’ PHP-only blocks functionality (direct causation established) - Analogical strength: VS Code extension success โ†’ PHP Storm extension potential (reasonable parallel) #### Fallacies - Appeal to authority: "It's better to have it and not need it" - presented as universal truth without context - Hasty generalization: Documentation issues from single experience - needs broader data #### Tone of voice - Overall tone: Enthusiastic and community-focused with technical expertise, occasional casual humor ### ๐Ÿ›ก๏ธ DARVO Analysis - Deny: No denial patterns present in technical discussion - Attack: No attacks on accusers - collaborative problem-solving approach - Reverse victim/offender: Not applicable to technical content - Emotional cues and rhetoric: Positive enthusiasm about community contributions and technical progress ## ๐ŸŽฏ Conclusion - Gutenberg 22.4's PHP-only blocks represent a significant accessibility improvement for WordPress block development - Community-driven developer tools like the Interactivity API extension demonstrate the value of grassroots innovation - Documentation challenges between plugin and core versions need systematic solutions for better developer experience ## ๐Ÿงฑ Refactor Appendix ### ๐Ÿ“š Literature Split Pad ### [H1] PHP-only blocks enable server-side WordPress development > [!quote] [Just chatting and clicking random links!](https://www.youtube.com/watch?v=xPskuyyIrps) by [[Ryan]] via [[Twitch Stream]]. Published 2024-12-28. Accessed 2024-12-28. > "22.4 came out... now we can get these things happening which is really cool" Gutenberg 22.4 enables complete block development without JavaScript build processes. [view highlight](https://youtu.be/xPskuyyIrps?t=510#H1) #gutenberg #php-blocks ID:rw_001 ### [H2] Documentation auto-generation creates developer confusion > [!quote] [Just chatting and clicking random links!](https://www.youtube.com/watch?v=xPskuyyIrps) > "documentation that represents things that are not --- ## Full Transcript [03:48] Hello everybody. Microphone. Microphone.<br>[03:51] Ryan. Need the microphone. Hello<br>[03:52] everybody.<br>[03:54] How's it going today? Hey Paul. Hello.<br>[03:57] Hello Paul. Paul. Hello.<br>[04:01] Um<br>[04:05] yeah. Cool. Hi. How's it going today?<br>[04:07] I'm all over the place. I woke up to 800<br>[04:10] feet of snow in my driveway. Um, so I've<br>[04:13] been shoveling and snowb blowing the<br>[04:15] snow all morning. Took an hour and a<br>[04:16] half to get our our driveway done. It<br>[04:18] was ridiculous. And it's snowing heavily<br>[04:19] right there now. Uh, yes, you did miss<br>[04:22] the fun last week, Paul. Um, I have<br>[04:24] scrubbed it from the internet,<br>[04:27] but um there's there's a couple of<br>[04:29] shorts up there that that sort of uh um<br>[04:33] had to turn off all your content<br>[04:35] filters.<br>[04:38] Ah, it's going to be one of those. I'm<br>[04:40] never going to live this down. If I<br>[04:42] could ever find my mouse,<br>[04:46] >> that<br>[04:50] that might be the best comment so far.<br>[04:53] Hello from YouTube. I'm sorry I cannot<br>[04:57] pronounce say your username. Um, but hi<br>[05:00] and welcome to the stream. We're over<br>[05:02] here in Twitch hanging out.<br>[05:05] Um, I barely made it into stream today.<br>[05:07] Like I was saying, I had a ton of snow<br>[05:09] out there. My my neighbor uh whose snowb<br>[05:10] blower broke yesterday, I had to go help<br>[05:12] her and her daughter dig out. Uh, too<br>[05:15] too bad. What was the link? Kevin.<br>[05:19] >> Kevin.<br>[05:20] >> Kevin.<br>[05:22] Oh, it was<br>[05:27] >> Kev XB. Um, it was it was it was quite<br>[05:31] the link. I'm sure someone will show up<br>[05:33] in chat and drop it. Uh, but that was it<br>[05:36] was like the most I'll never trust the<br>[05:39] link. In fact, after that I I I changed<br>[05:42] my settings so I don't think anybody can<br>[05:43] drop links in chat<br>[05:46] because I I don't trust myself.<br>[05:49] It was Kevin.<br>[05:52] It was the most intense experience ever.<br>[05:56] I clicked the link and then there was<br>[05:58] like this thing as oh it's a Flappy<br>[05:59] Warrior clone. clicked it and then n<br>[06:01] Okay, so I was scrubbing my computer<br>[06:03] with bleach and uh I I found it had<br>[06:06] opened 96 popup windows and they were<br>[06:09] all bouncing and moving and I and I<br>[06:11] realized that that you guys probably<br>[06:13] didn't hear this because I I don't think<br>[06:14] I had the uh my browser routed in the<br>[06:18] audio, but all the stuff that was being<br>[06:21] shown there was screaming audio so loud<br>[06:24] and so like my reaction was was instant<br>[06:27] fear. I peed a little. It was horrible.<br>[06:29] Uh, and it also downloaded a bunch of<br>[06:31] images to my downloads folder that I'm<br>[06:33] like, you know,<br>[06:36] would never ever want on my computer<br>[06:38] ever. So, yeah, it was uh I they got me.<br>[06:41] They got me. They got me. Anyhow, but<br>[06:45] that's not why that's not why I'm here<br>[06:48] today.<br>[06:52] Oh,<br>[06:53] I think I I've been streaming now for<br>[06:55] about four years. I'm going on five<br>[06:57] years. And uh that's the first time it's<br>[06:59] ever happened. So knock wood. That'll be<br>[07:01] the last time it's it's ever happened.<br>[07:02] It ever happens. Oh, but uh so I don't<br>[07:05] have a lot going on today. Um I am<br>[07:06] looking for there was a new version of<br>[07:08] Gutenberg released which is very cool.<br>[07:10] 22 22.4 came out. So I wanted to see um<br>[07:15] if our PHP only block stuff. Um if you<br>[07:19] remember last week before<br>[07:22] Oh, we got to come up with a flappy bird<br>[07:24] gate. Flappy gate. Let's call it flappy<br>[07:26] gate. We we we we need a name for the<br>[07:28] thing that happened. Um so throw some<br>[07:32] names. You know what? Let's do a poll.<br>[07:34] Actually, throw some names in chat and<br>[07:36] and we'll come up with it. And I'm I'm<br>[07:38] going to do like some emotes and stuff<br>[07:40] and I'm going to really milk this for<br>[07:42] all it's worth.<br>[07:44] And if you haven't seen the short that I<br>[07:47] put together on it, please go look at it<br>[07:49] because I'm very proud of it. I think<br>[07:51] it's very funny. Um,<br>[07:55] let me see if I can find it here. Um,<br>[07:58] it's like a little movie. It's like a<br>[08:00] little movie. Can you guys hear that?<br>[08:02] You guys can't hear that, can I?<br>[08:06] Hold on. Hold on. Hold on. I might have<br>[08:09] to turn on standby. Hold on. We're going<br>[08:12] to show this. Where's my loop back?<br>[08:14] There it is. So, we're going to put<br>[08:15] Chrome on. I'm going to just pause my<br>[08:17] music real quick. And then we're gonna<br>[08:20] >> TypeScript type.<br>[08:21] >> Do I want to click this link?<br>[08:24] >> Oh my god.<br>[08:27] >> Now, somebody way back way back in in<br>[08:30] chat asked me to look at a a a game. I<br>[08:34] got flapped. Who was it? Oh, new bird<br>[08:36] game net. Okay. Stove 423. Are you still<br>[08:38] in chat? Store 423. I don't see you.<br>[08:43] Do I want to click this link?<br>[08:46] Oh, it's Flappy Bird.<br>[08:49] Oh my god. Oh my god.<br>[08:54] >> Do I want to click this link? There we<br>[08:56] go. That's my art. Oh my god.<br>[08:58] >> My art movie. Ah, lost the mouse. Get<br>[09:00] out of here.<br>[09:01] >> That was it. So, yes, I think that's<br>[09:05] that was that was funny. Anyhow, doesn't<br>[09:07] matter. Okay, so what are we doing here<br>[09:10] now? All right, right. Okay, so let's go<br>[09:12] back into my old posts and let's see<br>[09:14] what Okay, so this is my PHP only block.<br>[09:16] So I kind of forget what we were doing<br>[09:17] there. So let's take a look. So the<br>[09:19] block is loading. Okay. So So if we<br>[09:24] remember, let's look. Uh I got to jump<br>[09:26] back over to<br>[09:28] Is it in here?<br>[09:31] I do this every time. I have to go to uh<br>[09:35] to here. I got to go Twitch stream. I<br>[09:37] got to go to VS Code and Okay, here we<br>[09:39] go. So here's our our content only<br>[09:41] block, right? So all we're doing is<br>[09:43] registering of our our blocks directly<br>[09:45] with register block type uh with a<br>[09:48] namespace and then we're adding all of<br>[09:49] these things and so the thing that why<br>[09:51] is this being stupid? How it expected<br>[09:55] six one two three four five six<br>[10:01] one two three four five six now it's<br>[10:04] okay.<br>[10:11] Oh my lordy lordy. Right. Okay. So,<br>[10:15] let's<br>[10:20] anyways. Uh,<br>[10:24] if only somebody could come up with a<br>[10:26] way to format this for me automatically<br>[10:28] so I didn't do this. I'm sure it's<br>[10:30] possible.<br>[10:34] Why is there a period in there? It needs<br>[10:36] to go away. All right. Anyways, uh, I<br>[10:38] have to screw down. So what we were<br>[10:40] doing is we were defining our attributes<br>[10:41] in here and the attributes based on the<br>[10:43] type string, integer, boolean, string<br>[10:46] and this enum. It was creating uh meta<br>[10:49] fields for us. So if if you remember<br>[10:52] last week uh uh 22.3 was still the<br>[10:56] active version of Gutenberg and so now<br>[10:58] we've we we got 22.4 active. It just<br>[11:01] just came out. And so now this PHP only<br>[11:03] blocks thing<br>[11:05] uh now we can we can get these things<br>[11:08] happening which is really cool. So this<br>[11:09] is this is kind of fairly complete like<br>[11:14] fairly complete. I think I think we're<br>[11:16] in a position now where you just install<br>[11:19] the Gutenberg plugin and you're able to<br>[11:21] do PHP only blocks. So um that's super<br>[11:25] powerful. Super powerful. And we also<br>[11:27] discovered that you can still in in quue<br>[11:29] JavaScript<br>[11:31] and add handles and stuff. So what I was<br>[11:33] actually thinking about this was<br>[11:37] I was in queuing I was using I was<br>[11:39] putting this on on the actions that you<br>[11:42] would normally put them on. But I don't<br>[11:44] know if you if you need to do that. I<br>[11:46] think we can just register<br>[11:48] styles like what if we just did this. I<br>[11:50] want to try something here. Going to<br>[11:52] register my styles in the same place<br>[11:54] where I'm registering the block, right?<br>[12:02] Hey.<br>[12:07] Oh, man. It's such a good song. Uh,<br>[12:10] great to see you. Also,<br>[12:13] let's see if this works. So, I I've<br>[12:15] taken out the Oh, I need to get that.<br>[12:18] No, I need to get that CSS file. So,<br>[12:20] we're going to see. So this should be<br>[12:23] registering some CSS<br>[12:26] for us and a script and the script<br>[12:30] is what's okay. So what test CSS what<br>[12:33] does it do? It makes the title big and<br>[12:37] this just alerts something I think.<br>[12:40] What is all this crap?<br>[12:47] Weird. Okay, we're gonna Oh, I know what<br>[12:50] I what I did there. I'm going to do<br>[12:51] that. So what I just want to I want to I<br>[12:53] want it to alert. Hi with two I's and<br>[12:57] two J. Sure. Why not? Why not? You know<br>[12:59] why not? And now we shouldn't have to<br>[13:01] build anything.<br>[13:03] Oh, okay. So that worked.<br>[13:06] That worked multiple times and it's<br>[13:09] doing that. So let's see. So where did I<br>[13:13] So script handles styles handles.<br>[13:19] Oh, I get it. So the script script<br>[13:20] handles. So,<br>[13:22] these are getting loaded on both. That's<br>[13:26] cool. All right. And this one, what is<br>[13:28] this one? What's the editor? So, editor.<br>[13:31] Um, I should be able to do the same<br>[13:33] thing,<br>[13:35] right, with the editor. I should be able<br>[13:36] just to drop it in here. Um, the reason<br>[13:39] I'm doing this is because I don't think<br>[13:41] we necessarily need to, um, you know,<br>[13:44] put it on on on the actions that you<br>[13:46] would normally encue the actions on<br>[13:48] because we're just registering the<br>[13:49] script. And so because the point of it<br>[13:53] is you register these scripts and then<br>[13:55] you can you could define script handles<br>[13:57] and styles and whatnot for for editor<br>[14:00] and for the uh front end with these<br>[14:03] arrays. So you could still get your CSS,<br>[14:07] you can still get your JavaScript into a<br>[14:09] a PHP only block. I think that's pretty<br>[14:11] powerful. Let's just make let's make<br>[14:13] sure it works though.<br>[14:17] We know that works. We know that works.<br>[14:20] It's loading twice though, which I don't<br>[14:21] like. Am I doing it twice?<br>[14:28] That's a good question. Um, that's a<br>[14:30] really good good question. I mean, the<br>[14:32] way that these work is that<br>[14:35] this should only be per block, I would<br>[14:38] imagine. Let's check. Let's take this<br>[14:40] out. Save.<br>[14:43] We'll refresh.<br>[14:46] Uhoh.<br>[14:49] Huh?<br>[14:51] Wonder why?<br>[14:53] Why? Oh. Oh, that makes sense because<br>[14:56] the block is actually being loaded. It's<br>[14:58] just not in there. Okay. Okay. So, let's<br>[15:02] let's put the block back. Can I undo<br>[15:04] what? Custom.<br>[15:07] Uh, what is the name of the block? Crap.<br>[15:11] Yeah, that's that's annoying. Okay,<br>[15:14] that's annoying.<br>[15:16] Okay, screw off.<br>[15:18] That needs to go away. Okay, so we know<br>[15:20] that that works. So, what was the name<br>[15:22] of this block? That's the thing. Twitch<br>[15:23] something or other. Let's find out. We<br>[15:26] called it my custom title. Okay, so<br>[15:27] we're going to do my custom title. So,<br>[15:31] we're going to put that in. So, that's<br>[15:32] getting the CSS there.<br>[15:37] >> It is Troy Shaplin. Okay. So, that's<br>[15:40] getting the CSS. And so now let's put<br>[15:42] this<br>[15:44] let's put this back.<br>[15:47] And that's that and that's loading that<br>[15:49] there. So that does only load on the<br>[15:51] front end. So if I get rid of this and I<br>[15:53] save this and I refresh this. Okay. So<br>[15:57] the JavaScript does is not being loaded<br>[15:59] on on the front end. Um<br>[16:02] which is good. So uh let's see let's<br>[16:05] check the sources too because we can see<br>[16:07] where the sources are. Uh just ignore<br>[16:10] that. I don't know what that is.<br>[16:13] Let's look for sources. Let's look for<br>[16:14] page. Let's look for blocks. Page only<br>[16:17] blocks.<br>[16:19] Um,<br>[16:20] so I I don't see any scripts being<br>[16:25] loaded because the block's not there. So<br>[16:27] I So yes, I know I what? No, no, no, I<br>[16:31] didn't. It's right there. It should be<br>[16:33] alerting. Um,<br>[16:38] what error am I getting?<br>[16:42] weird. Okay. But if we put it back, if I<br>[16:45] put that block back in and I save it and<br>[16:47] I refresh this, I should get that that<br>[16:50] popup. Yeah, I do. Okay. So, now if we<br>[16:51] look at the sources, you can Where are<br>[16:53] the s be content plugins? I was looking<br>[16:56] in the wrong place. Assets. So, we're<br>[16:58] getting JavaScript. Yep. We're getting<br>[17:00] CSS. Yep. Let's take it out again. Save<br>[17:05] it.<br>[17:07] Refresh.<br>[17:10] page content. Okay. No, so it does not<br>[17:14] get loaded on the front end. Um,<br>[17:17] regardless of where you're registering<br>[17:19] it. That's pretty nice. So, yeah,<br>[17:21] because we're not actually in quueing it<br>[17:23] in our in like this code is not incuing<br>[17:25] anything. All this is doing is this is<br>[17:27] registering those. So then once we have<br>[17:29] those those uh those those slugs or<br>[17:32] whatever we're calling them, um you just<br>[17:34] pass them in here and then and then bing<br>[17:37] bong bang, you've got uh porn in your<br>[17:40] chat. That that's that that's a new<br>[17:44] saying that I'm going to start coming<br>[17:45] out with. Um that's like, you know,<br>[17:48] Bob's your uncle, Robert's your father's<br>[17:50] brother. Bang, you got porn in your<br>[17:51] chat. Same thing. See, you like it. I<br>[17:53] love it. Let's do it.<br>[17:56] Um, blast nastier.<br>[17:59] Hello from Portland. Uh, hello from<br>[18:02] Canada, Ontario, Canada. Um, glad you<br>[18:06] could join. Thanks so much for hanging<br>[18:08] out with us today. Are you first time<br>[18:10] chatter? You are first- time chatter.<br>[18:11] Nice. Well, thank you for the chat and<br>[18:14] uh, welcome. Welcome aboard. Welcome<br>[18:17] aboard. Okay, so that's pretty cool. So,<br>[18:19] go and download Gutenberg 22.4 before<br>[18:21] came out I think on Tuesday and now you<br>[18:23] can do blocks is cross keys here. He's<br>[18:25] going to love all this. Um he's going to<br>[18:29] love all this. Uh you know I you know<br>[18:31] what I didn't do? I didn't announce my<br>[18:32] my stream anywhere. I'm going to do<br>[18:35] that. Just going to open up Discord<br>[18:39] and drop some some links in there<br>[18:46] because you know why not? Why not?<br>[18:48] Really? Why not?<br>[19:09] Uh,<br>[19:10] do I have do I have I have this open?<br>[19:12] Yeah. Outreach. So, um, yeah. So, the<br>[19:15] other there's there are something else I<br>[19:17] I I wanted to there's a couple more<br>[19:19] things I I Yeah, I just don't click any<br>[19:20] links. Exactly. Couple more things I<br>[19:23] wanted to uh just chat about today. And<br>[19:27] what were they? Um<br>[19:30] Oh, uh<br>[19:32] oh crap. I had I had all these great<br>[19:34] ideas. New version of Gutenberg came<br>[19:36] out. I think I don't know where the post<br>[19:38] is. I can't find it. Um because that<br>[19:42] that would be good to have. Let me just<br>[19:44] see. Boom.<br>[19:46] Oh, it's it's still in review. Okay.<br>[19:49] It's not quite<br>[19:51] uh<br>[19:53] it's in review.<br>[19:56] Okay. So, it's not quite ready to go.<br>[19:58] So, like every every time that there's a<br>[20:00] version of Gutenberg that comes out,<br>[20:01] there is also a corresponding uh what's<br>[20:03] new in Gutenberg link. Um and uh yes, I<br>[20:07] wanted to uh<br>[20:11] Oh.<br>[20:29] Oh my god. I can't type. Sorry. It's no.<br>[20:31] Okay, cool. Um, right. So, that's that.<br>[20:34] I think I I just messaged Cross Keys<br>[20:36] because he's literally talking about<br>[20:37] this in one of the Discord chats about<br>[20:39] like, "Has anyone done this?" Uh, cool.<br>[20:42] But the other thing is, what is the<br>[20:45] other thing?<br>[20:47] Uh, okay. It's not in there. It's not<br>[20:49] there. It's not there. It's not in<br>[20:49] there. Ply box plug in Gutenber. Oh,<br>[20:52] great. Okay. So, I've been working on<br>[20:54] the icon block again. And I'm super<br>[20:57] excited about the uh about the work that<br>[20:59] we've sort of um uh been able to to to<br>[21:03] get done. So, I I I want to kind of show<br>[21:05] you y'all the some of the um uh some of<br>[21:10] the work. So, uh, the icon block now has<br>[21:14] width and height settings, which is<br>[21:15] super nice because those were merged<br>[21:17] into core. So, I'm I'm using those. Um,<br>[21:20] the other thing now is is I've made some<br>[21:23] changes to the modal. So, the modal that<br>[21:26] that that was in Nyx plugin, which is<br>[21:28] great, was custom. Um,<br>[21:32] oh my god, it's been a week already.<br>[21:33] Yes, it has. Um, so it's been it's been<br>[21:36] custom. It was a custom once, but I'm<br>[21:38] using data views for it. So now when<br>[21:40] when you when you load this now we have<br>[21:42] this going on and I'm super excited<br>[21:45] about this. This is so cool. So um you<br>[21:48] you can sort you can do all kinds of<br>[21:50] things. We can show number you know all<br>[21:52] these things. We can hide certain stuff.<br>[21:54] Um so it's very much a work in progress<br>[21:56] but we're getting so much closer. And<br>[21:59] there's an API for icons that is being<br>[22:02] worked on uh sim simultaneously which is<br>[22:06] a word that I didn't say properly. But<br>[22:09] if we look at my uh my my poll requests<br>[22:13] my poll requests for here the icon block<br>[22:16] I can link to the other one<br>[22:22] right here. You can see where this is<br>[22:24] going. So th this is the work that's<br>[22:27] being done on the uh<br>[22:31] oh I don't know who who<br>[22:36] yeah seems like only yesterday I was<br>[22:38] checking out that link. So this so go<br>[22:40] check out this. So this is going to be<br>[22:42] this is the work that's been done on the<br>[22:44] um on the what you call it the the the<br>[22:46] icon API the ability to register icons.<br>[22:50] So, what that meant for me with the icon<br>[22:52] block is that meant that things got a<br>[22:54] lot simpler because Nyx block does a lot<br>[22:57] of really or did a lot of really cool<br>[22:59] things. Uh, it allowed you to upload<br>[23:01] SVGs. It allowed you to copy and paste<br>[23:04] SVGs, but because we have this API<br>[23:06] coming um and they're very much these<br>[23:08] are very much connected at the hip. So,<br>[23:10] if the API<br>[23:12] doesn't make it to 7.0, this doesn't<br>[23:15] need to be there. Um, then this block<br>[23:18] won't make it to 7.0 0 either, but um<br>[23:21] we're working hard on it. So, it means<br>[23:24] So, anyway, so what it means is that we<br>[23:25] I can remove all that stuff. So, we're<br>[23:27] not going to have the ability to copy<br>[23:28] and paste SVGs. We're not going to have<br>[23:29] the ability to upload SVGs because that<br>[23:32] was always going to be a sticking point<br>[23:34] always because SVGs and core have always<br>[23:36] been a problem because they're very hard<br>[23:38] to validate and they're very easily<br>[23:41] manipulated and they could be attack<br>[23:43] vectors for um hackers and all sorts of<br>[23:46] fun stuff. So, so having core enabled<br>[23:49] that is probably going to be a problem.<br>[23:50] But anyway, so it mean meant that I can<br>[23:53] strip out a ton of code. Uh, yeah. And<br>[23:55] so I I I've been focusing on on this<br>[23:57] thing, which I think is great. It's<br>[23:59] going to be so much fun. It's my first<br>[24:00] real foray foray into data views. Here's<br>[24:03] my tangent interrupting for the stream.<br>[24:04] Okay, bring it. Bring it on. Cross keys.<br>[24:08] Um I I I I wanted to mention but just<br>[24:12] before you you came on we actually had<br>[24:15] um<br>[24:16] 22.4 uh Gutenberg uh came out.<br>[24:22] Uh and so now now all of these all these<br>[24:25] attributes that we were doing before now<br>[24:28] work now now they register the blocks.<br>[24:30] So okay so here here is the question.<br>[24:33] Hey Mr. Gutenberg. Oh my god. Are you<br>[24:35] calling me Mr. Gutenberg? That's<br>[24:38] hilarious. Um,<br>[24:41] you can Well, you can bother anybody. Do<br>[24:45] you have an issue?<br>[24:50] Yes. Yes. There is a really great post<br>[24:52] about about the data view on on on the<br>[24:54] developer blog. I believe it's the the<br>[24:56] developer blog. You can check this out<br>[24:57] right here. Yeah, it just came out. It's<br>[24:59] really great. Go check that out. One<br>[25:01] thing that I found very confusing about<br>[25:04] it was there's a lot of moving parts.<br>[25:06] Um,<br>[25:08] there's a lot of move moving parts with<br>[25:09] this, but once you kind of wrap your<br>[25:10] head around how the pieces fit together,<br>[25:12] it's it's super powerful.<br>[25:15] Yeah, the Goodword Docs already merged<br>[25:17] to the core block editor handbook. Yes,<br>[25:19] there are. That is a correct statement.<br>[25:23] So, if you want to make changes to the<br>[25:26] docs for the block editor handbook, you<br>[25:28] you would do Hey, Mr. Hey,<br>[25:31] Mr. Gutenberg, I need a I need a shirt<br>[25:34] or something that says that. Um,<br>[25:40] hey Philipe, how you doing?<br>[25:43] Um,<br>[25:46] okay. There's a number of things going<br>[25:47] on right here, but I'll answer questions<br>[25:49] as I can. The other thing, all right,<br>[25:52] somewhere there's a person trying to out<br>[25:54] block it or losing his mind because he's<br>[25:55] trying to use the autoregister key and<br>[25:56] it's both doing nothing and throwing no<br>[25:58] errors. Oh, that's what you're saying.<br>[26:00] Okay. First of all, I feel your pain.<br>[26:04] 100% feel your pain. The the the the the<br>[26:09] one one issue that has always been an<br>[26:11] issue with the block editor handbook is<br>[26:13] because it's merged because when things<br>[26:16] are merged, it autogenerates every time<br>[26:19] something's merged in into trunk, you<br>[26:21] get into a position where you have<br>[26:23] documentation that represents things<br>[26:25] that are not in core and that are not in<br>[26:27] the released version of the plug-in,<br>[26:30] right? And it is very frustrating<br>[26:34] 100%. I I get it. Um<br>[26:39] we have discussed a number of things<br>[26:41] about how to how to make that happen.<br>[26:44] The the problem that we run into is it's<br>[26:48] a maintainability issue and this is an<br>[26:50] excuse not a reason 100%. So we had<br>[26:54] talked about having things so<br>[26:56] yes so they get built on merge to trunk<br>[27:03] which is a thing we've talked at length<br>[27:06] my my team internally um when I first<br>[27:09] joined and we really yeah well I mean<br>[27:13] yes it's just the way it is just the way<br>[27:14] it's set up right now doesn't mean it's<br>[27:16] right doesn't mean it can't change but<br>[27:18] it but I wanted to explain it so when I<br>[27:20] merge anything when when But when<br>[27:22] something gets merged to to to trunk in<br>[27:25] Gutenberg within 15 minutes there's a<br>[27:27] cron that runs and it it it builds out<br>[27:30] all the documentation. A lot of that<br>[27:31] documentation is also autogenerated<br>[27:33] based on the source code. So um it's not<br>[27:36] something that's just managed where you<br>[27:38] just go in and you make a change to uh<br>[27:40] to a page. So like if we look at<br>[27:42] Gutenberg<br>[27:44] um uh do I have that open? I don't where<br>[27:47] is it? Gutenberg development. So if we<br>[27:50] look at Gutenberg development here and<br>[27:53] we take a look at let's take a look at<br>[27:55] the docs. So for example docs, right? So<br>[27:59] we're going to have let's use reference<br>[28:01] guides. No, let's go.<br>[28:06] I can never find it. The thing that I'm<br>[28:08] looking for getting started. Oh, I I<br>[28:11] know how it works. Okay, let me go to<br>[28:13] packages. Let me go to Let's go to um<br>[28:17] whatever the block editor. Going to read<br>[28:18] me. So in the read me somewhere down<br>[28:22] here. Why does it look like that?<br>[28:25] Okay. Why does it look like this?<br>[28:28] Something screwed up. Oh, there we go.<br>[28:30] Okay. So, when you see this, what this<br>[28:33] is doing is this is autogenerated by<br>[28:35] this tool that that's called<br>[28:42] Okay, I'll get to your question in a<br>[28:43] second, cross keys, because it's<br>[28:44] nuanced, but yes. So when you see this,<br>[28:47] anything below this line is<br>[28:49] automatically generated by this docgen<br>[28:51] tool. So it takes all the the<br>[28:53] documentation<br>[28:54] and pulls out um so let's see what's<br>[28:58] this function that we're looking at<br>[28:59] block canvas. You know what this let me<br>[29:02] do a better one maybe the core core data<br>[29:05] that might be a better one. So if we<br>[29:07] look in core data you can see that there<br>[29:09] is all these uh some point you'll see<br>[29:12] there so you'll see these add entities.<br>[29:14] So this is an action right and then it<br>[29:16] pulls out all so delete entity record it<br>[29:19] pulls out all the parameters from the<br>[29:20] actual doc block itself. So this is all<br>[29:23] dynamically generated which makes it<br>[29:25] difficult to be able to differentiate<br>[29:27] between core Gutenberg and and in<br>[29:30] development from a from a documentation<br>[29:34] uh point of view.<br>[29:36] Um so to answer Kusky's question<br>[29:41] uh to answer this question why is good<br>[29:43] work and good Gutenberg affecting the<br>[29:44] block edit ed editor docs they should be<br>[29:46] sovereign code braces that you merge<br>[29:48] periodically um<br>[29:51] the block editor handbook is basically<br>[29:53] Gutenberg it's basically all the stuff<br>[29:56] that gets introduced via Gutenberg 2<br>[29:58] core let's put it that way so I do agree<br>[30:00] with you what what would be really great<br>[30:02] is if we had the ability to toggle<br>[30:05] between um variations of the of the<br>[30:09] documentation. So when Gutenberg or<br>[30:13] sorry when a new version of core is<br>[30:14] released um then we have the docs are<br>[30:18] built from that tag right so so 6.9<br>[30:23] would would build out the docs that<br>[30:25] would be everything that's inside of of<br>[30:27] core then when there's a new version of<br>[30:29] Gutenberg released every two weeks we<br>[30:31] would build off of that that release or<br>[30:34] that tag or however that's done and then<br>[30:36] we could have one from trunk so you'd<br>[30:38] have essentially three versions of the<br>[30:40] documentation, what's in core, what's in<br>[30:41] Gutenberg, the plug-in, and what's being<br>[30:44] worked on. Um, because I have also run<br>[30:47] into the problem that you've run into.<br>[30:49] I've I it's bit me when I was at Tenup.<br>[30:51] There was this thing called render<br>[30:52] appender for the um innerblocks<br>[30:56] uh component that was in the docs and it<br>[30:58] just didn't work and I couldn't figure<br>[30:59] out why it didn't work and it was<br>[31:00] because it was in it wasn't even in the<br>[31:03] plug-in at the time. It had just been<br>[31:05] merged. So, it's very frustrating. I<br>[31:06] feel your pain. It is something that the<br>[31:08] project has to figure out. And it's it's<br>[31:11] there's there's technical solutions to<br>[31:13] this. It's just a matter of like<br>[31:16] figuring out how it's displayed and how<br>[31:18] it works and getting someone to be like,<br>[31:20] "Yeah, let's change this entirely and<br>[31:22] see how much we can we we can break it."<br>[31:24] So anyways, that's my reason. It's not<br>[31:27] an excuse, but that is that's the the<br>[31:29] history.<br>[31:34] Yeah, you can totally do it. So also<br>[31:37] explains why some of the doc contra each<br>[31:38] other or don't acknowledge parallel<br>[31:39] methods. Yeah. Yeah.<br>[31:46] Yeah. So like like there's there's a lot<br>[31:49] of under the hood stuff as well. Like<br>[31:51] for example, it is a WordPress site.<br>[31:52] What you're looking at the the block<br>[31:54] developer handbook. It is absolutely a<br>[31:56] WordPress site. Those pages are<br>[31:58] generated. They are generated and they<br>[31:59] are inserted. The content is inserted.<br>[32:00] So you need to duplicate every single<br>[32:02] page in that site like twice. you need<br>[32:05] to have a version for core, a version<br>[32:07] for Gutenberg, and a version for cutting<br>[32:09] edge or even just Gutenberg and and<br>[32:12] core. Um, so there's a lot that needs to<br>[32:15] be figured out. It's a massive it'd be a<br>[32:17] massive migration, massive scale,<br>[32:21] you know, but that's a great question.<br>[32:25] Yeah.<br>[32:28] Yeah.<br>[32:31] Oh, the playground devril is asking me a<br>[32:34] playground question. I feel like I'm<br>[32:35] getting sent up or set up.<br>[32:42] I've working on the playground website.<br>[32:44] What what is this? Let's uh this is the<br>[32:47] one. While working on a playground<br>[32:48] website, I noticed a Gutenberg modal<br>[32:51] component using divs. Is there a plan to<br>[32:52] migrate it to a dialogue component<br>[32:55] because it's supported by 90% of the<br>[32:56] browsers and a lot of stuff is<br>[32:57] implemented on the browser side? I don't<br>[32:59] know. That's a good question. H have you<br>[33:00] have you taken a look in at the like I I<br>[33:02] think it's worth opening up an issue. Um<br>[33:08] I think it's definitely worth opening up<br>[33:10] an issue. Let's see. Um let's do search<br>[33:13] and issues because there may not be one<br>[33:16] but and if there isn't I think it's<br>[33:17] worth it's worth looking at. What is it?<br>[33:20] uh<br>[33:22] dialogue<br>[33:25] component.<br>[33:28] I spell it wrong.<br>[33:32] Yep. I don't see any anything. I would<br>[33:35] I' I'd go open an issue and and just<br>[33:38] start the conversation, right?<br>[33:42] The dialogue HTML tag is not in it.<br>[33:53] dialog wrapper.<br>[33:58] Did Did I put dialogue in? Oops. Oops.<br>[34:02] Oh, new block dialog popup. Is this it?<br>[34:22] So there is this issue<br>[34:24] um if you want to take a look that even<br>[34:27] more core core blocks that invited<br>[34:31] themselves in. Um okay is that that<br>[34:36] that's a statement. Yeah. um cross keys<br>[34:40] the the thing about Gutenberg and the<br>[34:42] thing about the the blocks is that<br>[34:46] like<br>[34:49] there's there's a there's I don't know<br>[34:51] this is my opinion but I know that there<br>[34:53] are a ton of blocks right it's just it's<br>[34:56] a okay<br>[34:58] yeah no and and I get it so like back in<br>[35:01] my agency days we were like oh my god we<br>[35:03] didn't do designs for every iteration of<br>[35:05] whatever block right of all the embeds<br>[35:07] of all the whatever all the icons, all<br>[35:09] that stuff. So, it's hard, right?<br>[35:11] Because you because when you're working<br>[35:13] for a client, they have a very specific<br>[35:15] like branding,<br>[35:18] well, branding is the word I'm trying to<br>[35:19] say. Then, like you have to you you have<br>[35:22] to make sure that they can't make their<br>[35:23] buttons rounded if that's if that goes<br>[35:24] against the branding guidelines. So, in<br>[35:27] that in that way, Gutenberg can be very<br>[35:29] very frustrating. But on the on the flip<br>[35:32] side of that is people that just want to<br>[35:33] build a site don't want to be like the<br>[35:36] like they need to have the tools to<br>[35:38] build what they want, right? Like if if<br>[35:41] they don't have if they can't embed<br>[35:43] something on it, like I keep bringing up<br>[35:44] embeds because I know that you're<br>[35:46] talking about embeds in the Discord, but<br>[35:47] I mean like if if they can't do what<br>[35:49] they want to do, they're going to go<br>[35:50] somewhere else, right? Um, so it's it's<br>[35:52] a balancing act between like<br>[35:56] giving authors what they want and and<br>[35:59] then also like, you know, not inundating<br>[36:01] people with with things. So, I mean, I<br>[36:04] don't think it's a bad thing to disable<br>[36:06] the blocks. I mean, it's easier it's<br>[36:08] better, let's think of it this way. In<br>[36:10] my opinion, it's better to have to<br>[36:12] disable a block than it is to have to<br>[36:13] build one that that they don't have<br>[36:15] because disabling blocks is a lot a lot<br>[36:18] less work.<br>[36:20] Full stop. Mic drop. Whatever. I don't<br>[36:22] know.<br>[36:24] Cool. Um,<br>[36:31] yeah, exactly. You just like turn them<br>[36:33] all off and just, you know, bring them<br>[36:36] back as as needed. I mean, like when<br>[36:38] when you're when you're working at the<br>[36:39] enterprise level, when you're working at<br>[36:41] a big level, you're turning off a lot of<br>[36:42] WordPress stuff anyways. Like so many<br>[36:45] themes starters and scaffolds and stuff<br>[36:47] like that, they turn off stuff, you<br>[36:49] know, like maybe they don't want the<br>[36:50] rest API. They just turn it off. Like<br>[36:52] whatever. I mean the public, right? Oh,<br>[36:56] I kind of dated myself because I don't<br>[36:57] think you can turn it off now, but<br>[37:00] unless you do that, the rich content<br>[37:01] equivalent of the Homer Simpson card is<br>[37:03] like, yeah, well, but that's just it,<br>[37:04] right? You have to just get yourself to<br>[37:07] a place where where where you need it.<br>[37:09] So, I love the idea of it's better to<br>[37:12] have it and not need it than to need it<br>[37:14] and not have it,<br>[37:16] you know? So, I don't ever think I'm<br>[37:19] going to use a third like twothirds of<br>[37:21] the blocks that that we're shipped with.<br>[37:23] But that one time when I want it, it's<br>[37:25] there, right? That's what I think. And<br>[37:29] it's not hard to turn stuff off. It's<br>[37:31] way harder<br>[37:33] uh to to build out something and<br>[37:36] maintain it too, right? Because the more<br>[37:38] blocks that core builds, the less blocks<br>[37:39] you have to build and the less blocks<br>[37:41] you have to maintain. And with block<br>[37:43] variations and block bindings and stuff,<br>[37:45] that gets super powerful.<br>[37:49] Yeah, you should absolutely do that,<br>[37:50] Troy. Even if it's a snippet. So, uh,<br>[37:53] the developer blog has like full<br>[37:54] articles like this, but it also has<br>[37:57] snippets which are super helpful. Um,<br>[38:00] like how do I hide how to register a<br>[38:02] blog variation, but hide it from the<br>[38:03] inserter? See, that's what I did, right?<br>[38:07] just little block uh variations. There's<br>[38:09] lots of stuff in there. Uh snippets and<br>[38:10] it's just like small little chunks of<br>[38:12] code that can be helpful. There you go.<br>[38:14] Go check those out. Pretty hardcoded,<br>[38:16] but I've only had to do three CSS hacks<br>[38:18] so far. Yeah. I mean, and if you find<br>[38:20] something that's hardcoded and and and<br>[38:22] you and you've got a valid reason for it<br>[38:24] not to be hardcoded, then I mean, open<br>[38:26] up an issue that it's not it's not like<br>[38:29] you have to live with the way it is. I<br>[38:32] mean, it's an open source project. I<br>[38:33] mean, I realize it's hard to, you know,<br>[38:35] not everybody has the time and and the<br>[38:38] and the inclination to go and do it, and<br>[38:40] I get that and that's cool. But I'm just<br>[38:41] saying if you if you're having the<br>[38:42] issue, someone else probably is. And if<br>[38:44] you open up an issue with a potential<br>[38:46] like, why don't we do it this way? You<br>[38:48] know, like come to to the table with an<br>[38:50] idea, and that's usually the way that<br>[38:52] things get moved forward, right?<br>[38:56] I built something similar in my<br>[38:57] validation plugin when you can run a<br>[38:58] validation in the editor and turn them<br>[39:00] off in the side editor. Shouldn't be<br>[39:01] hard to set that up for blocks. Yeah,<br>[39:02] cool, cool, cool, cool. Um, okay. So, we<br>[39:06] talked about Oh, yeah. So, we talked<br>[39:07] about this. So, yeah, if you're<br>[39:10] interested in following along or you<br>[39:11] have or you have any ideas about this,<br>[39:15] um, then I would love<br>[39:18] I would love your<br>[39:21] feedback on here. That's the issue.<br>[39:24] Yeah, Troy, talk about your validation<br>[39:26] plugin. Oh, I have an idea for a new<br>[39:30] thing. um for the stream and I'm going<br>[39:34] to start it with my with Rob who is um<br>[39:38] with WP Rig and we haven't figured out<br>[39:40] when we're going to do it yet, but I<br>[39:42] he's he's going to come on the stream<br>[39:43] and he's gonna we're gonna he he's going<br>[39:44] to talk we're going to talk about it.<br>[39:46] We're gonna hang out. So, I have this<br>[39:47] idea. I It's a great name for a podcast.<br>[39:49] I think it's called Talk Devi to Me<br>[39:53] and the idea is people are going to come<br>[39:56] on and we're going to talk about the<br>[39:57] thing they're building and they can talk<br>[39:59] Devi to me. So that's the idea. So Troy<br>[40:02] Troy's got a couple of things in the<br>[40:04] works which I I don't know if I'm<br>[40:05] allowed to talk about them or not, but<br>[40:06] his validation plugin, I think you<br>[40:08] should definitely come on and talk about<br>[40:09] it. And that thing you sent me, the<br>[40:11] interactivity API thing that you're<br>[40:13] working on, that would be cool when<br>[40:15] you're ready for that.<br>[40:17] Oh,<br>[40:21] Troy can't send. Okay, so the links are<br>[40:24] getting stripped out. That's that's<br>[40:26] fine.<br>[40:28] Um,<br>[40:30] how can I allow that link?<br>[40:34] Think I might need to change that.<br>[40:36] I removed links for obvious reasons. So,<br>[40:40] if you want to DM, um,<br>[40:45] if you're in the Discord<br>[40:48] Oh, why did AOL do Oh, Kevin, I think<br>[40:50] it's because you're a moderator.<br>[40:53] Yeah,<br>[40:56] I I I I'll have to look look at that.<br>[40:59] But if you're in my Discord,<br>[41:01] um<br>[41:03] drop drop the link in the Discord. Um it<br>[41:07] might even be in there.<br>[41:10] Yeah, if you drop the link in the<br>[41:11] Discord, um<br>[41:14] what you call it, your name is Troy,<br>[41:16] then I can drop it in chat and and<br>[41:18] that'll be fine. or if you want to just<br>[41:20] go to my discord and we and we can share<br>[41:22] stuff there, there's a uh show us the<br>[41:24] goods page where you guys can can uh<br>[41:28] drop your stuff in there. So, if you're<br>[41:29] not on my discord, you can get there<br>[41:33] right here.<br>[41:36] You can you can go there and you're<br>[41:39] welcome to join. It's not super active,<br>[41:41] but I think I might try to channel some<br>[41:43] of my my my link sharing there um just<br>[41:47] to just to keep the porn to a minimum.<br>[41:50] Uh but in anyways, yeah, cool. So,<br>[41:52] that's that's what I was thinking. So,<br>[41:54] if you guys are if anybody's got<br>[41:55] anything that they want to share that<br>[41:56] they want to talk about, um be cool to<br>[41:59] have you on the stream and we and and<br>[42:00] and we can chat about it. Um all right.<br>[42:03] So, the next thing that I want to show<br>[42:05] you guys is something that I've been<br>[42:06] working on. Uh, I built it yesterday and<br>[42:09] it is a extension. Where's my extension?<br>[42:13] Right here. It's called<br>[42:16] and uh<br>[42:18] I I I built this with with Claude Code<br>[42:21] in like two days and I'm super excited<br>[42:22] with it. It's my first real like um<br>[42:29] uh like real vibe code whatever thing.<br>[42:31] It's got two downloads. Anyways, what<br>[42:34] this is doing is this is for the<br>[42:35] interactivity API. So, the idea behind<br>[42:37] it is that if you're working with the<br>[42:39] interactivity API and I open up a<br>[42:40] render.php<br>[42:42] and I can see I I I get told uh oh no,<br>[42:46] where is it? TS.<br>[42:54] Um what it it does for you is it does<br>[42:56] autocomplete. So, you can autocomplete<br>[42:58] each one of the the um directives. But<br>[43:02] something that I'm really proud of is<br>[43:03] that if you have stuff in in in state<br>[43:05] Oh, is this not working now? Of course<br>[43:06] it's not working now. Is this one not<br>[43:08] have state?<br>[43:10] Where is it? TS. No, there's no state.<br>[43:13] Uh item one,<br>[43:17] item<br>[43:18] two. Right. So what should happen here<br>[43:21] is when I hit state, I get prompted with<br>[43:24] the items from the state. So if I have<br>[43:26] callbacks for example or action come on<br>[43:31] actions<br>[43:33] if I go on there we go. So so it's it's<br>[43:36] it's inspecting my uh view my my view uh<br>[43:39] file and finding this. Um<br>[43:43] so the and it uh so I'm super excited<br>[43:46] about this. So if you're interested it's<br>[43:47] it's available for for download if<br>[43:49] you're working with the interactivity a<br>[43:51] API. I'd love some feedback on it. Um<br>[43:54] because what I want to make this what<br>[43:56] one thing that bugs me, not bugs me, but<br>[43:58] I struggle with like remembering all the<br>[43:59] directive names. I struggle with making<br>[44:02] sure I I can remember what the name of<br>[44:04] my of my callbacks are. And so the whole<br>[44:06] point of this is to make it so that's<br>[44:08] not an issue anymore. Right? So now I've<br>[44:10] got that. Um the other thing it does is<br>[44:14] if you've worked if you've screwed up<br>[44:15] the name of your uh of your store, it'll<br>[44:19] actually tell you, hey, there's no store<br>[44:20] name dev inspector. D<br>[44:23] And so you can figure that out, right?<br>[44:26] So it inspects your VTS. It works with<br>[44:28] with JS files, all that stuff. Um, oh,<br>[44:31] and the other thing it does is detects<br>[44:34] duplicate<br>[44:36] um<br>[44:39] duplicate uh directives, which is pretty<br>[44:43] cool. So if you were to do like a like<br>[44:46] like one of these, the other thing it<br>[44:48] does, so there's a there's a couple of<br>[44:50] ways it handles it. So you can actually<br>[44:52] add a you can add a um a unique<br>[44:57] identifier to the end by going like<br>[45:00] three dashes and then say what other one<br>[45:02] or whatever right and so that will<br>[45:04] actually make it valid.<br>[45:07] So yeah I don't know I'm super excited<br>[45:10] about this mostly because I wrote it in<br>[45:11] in in code like after hockey one night.<br>[45:15] So, yeah.<br>[45:19] So, if you're interested, you can<br>[45:21] download it um by getting this. How do I<br>[45:25] Here's where's the store page?<br>[45:28] How do you get to the store page?<br>[45:36] Neoim. Um maybe I don't know. Could look<br>[45:39] into it. How do we get the stupid store<br>[45:42] page? Um,<br>[45:49] copy link. Is this it?<br>[45:54] Yeah, there you go. So, go download go<br>[45:56] and download this. There is a repository<br>[45:58] for it. Um, please let me know if you<br>[46:02] run into any issues or any anything. The<br>[46:05] whole point of this is to be as e to<br>[46:07] make it as easy as possible to adopt the<br>[46:10] interactivity A API. Um, like I said, it<br>[46:12] works with TypeScript. It works with uh<br>[46:14] just regular JavaScript.<br>[46:17] Um, so yeah,<br>[46:20] bad dude, you're doing a ton with it,<br>[46:21] right? That's the Did I Oh, I already<br>[46:24] linked that. Sorry about that. Um, yeah.<br>[46:26] So, I mean, I I'm going to put something<br>[46:28] up on the socials today. I I I know<br>[46:30] there there are some some hardcore um<br>[46:34] interactivity API developers out there.<br>[46:35] I think you're one of them. So, let me<br>[46:37] know. I mean, full disclosure, it like<br>[46:42] Is it uh what's the current state of the<br>[46:44] client side?<br>[46:48] What's the current state of client side<br>[46:50] full page navigation? Um well, it's it's<br>[46:52] it's an experiment. You can add it to<br>[46:54] you can you if you're in if you're in a<br>[46:57] WordPress site. Oh my god. Where's the<br>[46:59] mouse? Where's the mouse? What's going<br>[47:00] on here? Hello. There we go. If we're in<br>[47:04] like in here, we go to Gutenberg, I<br>[47:06] think, and experiments. Now, God be gone<br>[47:09] with you.<br>[47:13] Oh, boy. Okay, I got to go to plugins<br>[47:17] and I have to turn off this<br>[47:20] plugin. You should be able to get if you<br>[47:22] go to experiments and where is it?<br>[47:27] Oh, full page client side navigation.<br>[47:33] And I think it just<br>[47:39] maybe not. Oh yeah, that's working.<br>[47:44] Yeah, so it it works. Um, it's it's uh<br>[47:47] there's a technical reason why it's not<br>[47:48] in core yet, but I I thought I saw<br>[47:50] rumblings that it's coming to core<br>[47:51] pretty quickly, pretty soon. And like<br>[47:52] the transitions API and stuff like that<br>[47:54] might be coming to the admin side, but I<br>[47:56] can't remember where I saw that. Might<br>[47:57] have been one of Felix Arnson's tweets,<br>[47:59] something like like that. Um, yeah. So,<br>[48:04] yes. So, anyways, back to back to the<br>[48:06] thing that I built and I want to talk<br>[48:07] about. Um, if you if there's anything<br>[48:10] that this doesn't do, let me know. If it<br>[48:12] does weird stuff, let me know too<br>[48:13] because because one thing I have it Oh,<br>[48:15] the other thing it does and and I I<br>[48:17] meant to show this is it actually will<br>[48:19] um it it'll detect<br>[48:23] it will detect like if you do um data<br>[48:28] uh w<br>[48:32] P-<br>[48:35] I can type it right context.<br>[48:39] weird that it why is context not in<br>[48:41] there? It what it should be able to do<br>[48:44] is actually<br>[48:46] um<br>[48:48] you should be able it it it can parse<br>[48:51] context in this state in in this state.<br>[48:53] So if I if I were to go context<br>[48:56] dot dot dot<br>[49:00] okay<br>[49:05] revash store cache okay um<br>[49:12] okay well that's not working should have<br>[49:14] been working though<br>[49:19] oops<br>[49:20] that's unfortunate okay Well,<br>[49:24] because what it should be doing is it<br>[49:26] should be able to where is it? Um,<br>[49:31] support directives.<br>[49:35] There is a context parsing.<br>[49:42] Did it not make it in?<br>[49:45] Look at that.<br>[49:52] Huh. Okay. Well, in my um<br>[49:57] Well, if that's not Yeah, I I'll have to<br>[49:59] check that because it was working<br>[50:00] before. This is<br>[50:02] So, in here, if I look at my testing, I<br>[50:05] have um context. Yeah. So, what this<br>[50:09] should be doing is it actually will it's<br>[50:12] supposed to be able to detect this this<br>[50:14] context here. I do this. Okay. See, it's<br>[50:17] actually pulling context in. So, that's<br>[50:19] I have to check and see why that's<br>[50:20] that's not happening in that given<br>[50:22] thing. Uh, but this what it's supposed<br>[50:24] to do is it's supposed to be able to be<br>[50:25] able it's supposed to be able to figure<br>[50:26] out the context that's been passed down.<br>[50:28] Um, so, you know, we will I'll look into<br>[50:32] that. But anyways, it's very like 1.0.<br>[50:36] So, I'd love I'd love feedback. And uh<br>[50:39] oh, and while we're here, I'm going to<br>[50:42] start viewer callins if anyone's in<br>[50:44] interested in hanging out. Uh I'm going<br>[50:47] to make you you have to be followers and<br>[50:48] subscribers now, though.<br>[50:51] Followers or subscribers. And you're<br>[50:52] welcome to jump on the stream with me<br>[50:54] and hang out. Um but this this was fun.<br>[50:58] So I I claude<br>[51:01] code to do this and it just basically it<br>[51:04] just got it. It just did it and it was<br>[51:05] like pretty amazing. took me a bit of<br>[51:08] refining. Uh, and I used I used a nano<br>[51:11] banana to come up with the uh with the<br>[51:14] where is it with<br>[51:18] with my extens with the icon which is<br>[51:20] where is the icon? It's right here. That<br>[51:23] little thing. So, I'm all AI. I'm all in<br>[51:25] on AI. It will not work in PHP Storm,<br>[51:28] Paul, but I've been thinking I don't<br>[51:30] know if PHP Storm does autocomplete. I I<br>[51:33] know it does like snippets, live<br>[51:35] templates, I think they're called. Um,<br>[51:38] but I don't think I don't think you can<br>[51:40] do the same sort of autocomplete stuff.<br>[51:42] But I but I'm not sure. It's been a long<br>[51:44] time since I've uh um<br>[51:49] used um PHP Storm. Okay. Well, I will<br>[51:54] make you know what I'll do. I'm going to<br>[51:55] take I'm going to ask Code to take the<br>[51:58] functionality of this and create a VS uh<br>[52:01] PHP Storm extension um for it. So that<br>[52:06] that'll be fun.<br>[52:09] Yeah. It's like when you're getting into<br>[52:11] like the the AI inception, like when you<br>[52:13] do this, you know, you're like, I'm<br>[52:16] using AI to build a prompt for another<br>[52:18] AI. It's crazy. Um I don't know how long<br>[52:21] it's going to take me to do it, Paul,<br>[52:23] but I will um I will see what I what I<br>[52:27] can do.<br>[52:30] Um, and yeah, if if and if it just<br>[52:32] doesn't work and it's just it's just<br>[52:33] broken, like those those lovely<br>[52:36] individuals that are going to test this<br>[52:37] thing out for me, uh, let me know. Like,<br>[52:39] let me know. Uh, do the Ralph<br>[52:43] Ralph Wigumstrat.<br>[52:45] What is that?<br>[52:52] That was a Ralph Wiggumstrat. I'm not<br>[52:54] googling that. Kevin.<br>[52:57] Oh, Kev, are you going to work campasia?<br>[53:02] Do I want a link? No, I don't want a<br>[53:04] link. Do I want Ah, I don't trust you. I<br>[53:07] trust you. You're not going to send me<br>[53:09] bad things. Send the link. Yeah, send a<br>[53:11] link. Ralph loops are a legit AI thing.<br>[53:19] The Ralph I've never heard of this.<br>[53:21] Okay. Well, I'm I want to learn about it<br>[53:22] then. So So<br>[53:25] put Okay. I'm going to Google this<br>[53:27] offscreen. I I just I'm so scared of the<br>[53:29] internet now.<br>[53:33] Wiggum<br>[53:37] Ralph Wigum strategy. Let's see.<br>[53:44] Iterative autonomous AI development<br>[53:45] meth. Okay, hold on.<br>[53:49] Awesome. Clo.ai. What is this?<br>[53:59] Oh my god.<br>[54:03] Huh. That's pretty cool.<br>[54:07] Okay. I learned something new today.<br>[54:10] It's a real thing. India. I want to<br>[54:12] maybe 50/50. Yeah, I'm I'm going. Well,<br>[54:17] I've been accepted to speak and I think<br>[54:19] I'm going. So, we I I haven't got<br>[54:21] official uh formal yes or or not, but<br>[54:26] if anyone else is going to be there, I'm<br>[54:27] hopeful I there's a good chance I I will<br>[54:29] be there as well. So, be great. Be great<br>[54:32] to hang out<br>[54:35] um<br>[54:36] and hang out and do stuff.<br>[54:40] All right. Um<br>[54:43] I don't really have much else I I was<br>[54:44] going to really go over. Let's see<br>[54:48] snippets. See, we talked snippets,<br>[54:50] talked about PHP only blocks, tell<br>[54:53] rebuild all of our person JS and let it<br>[54:55] run for three months and see what<br>[54:56] happens. Oh my god, you imagine the<br>[54:57] tokens you you'd blast through.<br>[55:02] I also discovered Sununo. Well, I I got<br>[55:06] an account at Sununo and I spent an<br>[55:08] entire day building uh songs for my<br>[55:11] daughter's volleyball team<br>[55:14] and ridiculous like uh um just just<br>[55:20] ridiculous songs. It was so much fun. It<br>[55:22] is so much fun. Go and do it and get<br>[55:25] them. It's so good.<br>[55:32] Yeah. Isn't it amazing? And it's so<br>[55:34] good. So, I I opted for the uh I opted<br>[55:39] for the um<br>[55:41] like I'm I'm I I'm using it for work.<br>[55:45] So, uh let's see. Let's<br>[55:49] just see. Um,<br>[55:53] and like I'm I I'm just playing around<br>[55:57] with it and it is so much fun.<br>[56:00] Like listen listen to the song. Can you<br>[56:02] hear this?<br>[56:10] Turn it up.<br>[56:20] >> And then I went for an East Coast.<br>[56:22] >> This is No,<br>[56:24] >> not that one. Is this one<br>[56:26] >> 90s East Coast rap?<br>[56:38] >> Isn't it so good? blow<br>[56:42] from the north where the gym squeak. We<br>[56:44] ride trailblazers on the back.<br>[56:46] >> I'm going to have to go<br>[56:50] on the baseline<br>[56:52] on the left side.<br>[57:04] She be hitting on speed and gas roll<br>[57:06] shot then a rip defenders crash.<br>[57:10] >> You could hear that, right? Oh yeah.<br>[57:12] Okay.<br>[57:18] Um I heard the worst song ever in the<br>[57:22] store yesterday and it was like it was<br>[57:24] literally called I Love the 80s. I I'd<br>[57:25] never heard of this song before and I I<br>[57:27] I'm listening to it. God, oh man, it's<br>[57:28] horrible. And then uh I realized this<br>[57:32] might be an AI version. Like this could<br>[57:33] be an AI song where someone just said,<br>[57:36] "Write a song about loving the 80s." And<br>[57:38] it sounds like every '8s song I ever<br>[57:39] written.<br>[57:43] Oh my god, that's hilarious.<br>[57:47] Um, what would be really funny is if I<br>[57:50] thought you guys could hear the music<br>[57:51] that I was playing and I was dancing to<br>[57:53] it, but in real life it was just me like<br>[57:55] just doing this with no sound. That<br>[57:58] would have been hysterical. Please tell<br>[58:00] me that didn't happen. Or maybe that did<br>[58:02] happen.<br>[58:03] Gonna put my stream music back on.<br>[58:11] All right. No one wants to jump on<br>[58:14] stream with me. Come on, Kevin.<br>[58:28] Oh, there's Paul. Paul wants in. All<br>[58:30] right. Come on in, Paul. Right. I I I<br>[58:33] have to drop right at noon, but if we<br>[58:35] all just want to pile in and talk about<br>[58:36] whatever, let's do it. I see Paul<br>[59:01] Uh, yes.<br>[59:03] >> Hello. Hello. Hello. Hello.<br>[59:05] >> There he is.<br>[59:09] >> Audio is the audio better today.<br>[59:12] >> I'm just I've just your API plugin. I'm<br>[59:16] getting um the uh<br>[59:23] >> I think you're sending yourself back to<br>[59:25] me there.<br>[59:26] >> Uh AI in PHP Storm to try and do the<br>[59:29] conversion for me.<br>[59:31] >> Oh, nice.<br>[59:33] All right, let's see. Oh, I know what I<br>[59:36] need to do. Sorry, I think that's my<br>[59:37] bad. One second. I'm going to turn off<br>[59:39] the Google Chrome. Can you say something<br>[59:42] again, Paul?<br>[59:48] 1 2 3 4 1 2 3 4 1 2 3 4<br>[59:54] >> one two<br>[59:56] >> H<br>[59:58] Okay,<br>[60:01] I'm going to say this and then when I<br>[60:03] hear myself, I'm going to start speaking<br>[60:05] again.<br>[60:11] Now ended<br>[60:15] Okay. So, I'm I'm hearing you double. Uh<br>[60:19] I wonder if I turn this off. Wait, turn<br>[60:21] that off. How about now, Paul?<br>[60:26] Oh, that's better. Okay, that's super<br>[60:28] loud, though. Okay. I think I was just<br>[60:31] hearing you. You doubled because I had<br>[60:32] the uh I have the<br>[60:35] audio from the browser source for stream<br>[60:37] together. Anyways, but you can hear me,<br>[60:38] right, Paul?<br>[60:41] Okay. I can't hear you now, though.<br>[60:45] Yes, I can. One, two, three, four. Yes.<br>[60:47] >> Okay, there you go. Perfect. Okay,<br>[60:49] excellent. We'll get this. It's my first<br>[60:50] day with the internet, folks. First day<br>[60:51] with the internet. Alus, why aren't you<br>[60:53] getting in here? Come on. Come on. Let's<br>[60:55] do it,<br>[60:57] Paul. Uh, so, sorry, Paul. So, you're<br>[60:59] going to take that thing that I did and<br>[61:01] you're going to get AI to convert it to<br>[61:03] PHP Storm.<br>[61:09] >> Yes, I am.<br>[61:11] >> Oh, awesome. Enjoy.<br>[61:15] >> Cool. Um, that's great. Well, I'd I'd<br>[61:19] love to see it. I'd love to see what uh<br>[61:21] how it all works.<br>[61:24] >> There's a there's a branch and a pull<br>[61:26] request coming.<br>[61:28] >> I told<br>[61:29] >> Oh, pull request.<br>[61:30] >> Yeah, I told it to make it to merge into<br>[61:33] the same thing and see if we can have<br>[61:34] the one.<br>[61:37] >> Oh. Uh, okay. Well, that that might that<br>[61:40] might break it.<br>[61:42] But but we'll see uh<br>[61:47] just because it uh the the the the way<br>[61:50] it's b the way it's bundling might not<br>[61:52] work but<br>[61:56] let's see it's building it's building a<br>[61:58] pull request right now. That's crazy.<br>[62:00] >> No, not yet. Still coding.<br>[62:04] >> Oh, okay. All right.<br>[62:08] All right. Cool.<br>[62:10] Cool. Cool. Cool.<br>[62:17] >> So, what what's what else has been going<br>[62:18] on, Paul?<br>[62:21] >> Just going I'm working on<br>[62:25] um Let me get a ticket.<br>[62:30] Um allowing<br>[62:33] um allowing<br>[62:35] to static pages to be other CPTs.<br>[62:43] Okay.<br>[62:45] Allowing static pages.<br>[62:48] I don't think I did. Uh oh, you you<br>[62:51] can't you probably can't drop the link.<br>[62:52] Um I'm gonna have to figure out out a<br>[62:54] way to let people drop links. Let me<br>[62:57] just uh Twitch and I'll<br>[63:01] see what I can figure out here.<br>[63:07] What are we doing? moderation settings<br>[63:13] block hyperlinks.<br>[63:15] Uh, okay. Your chat will automatically<br>[63:18] delete posted URLs except for once<br>[63:19] posted by you, moderators, admins, and<br>[63:20] VIPs. Oh, okay. So, I can turn that off.<br>[63:26] And then<br>[63:30] then I have to make people moderators, I<br>[63:32] guess. Mins.<br>[63:36] Okay.<br>[63:42] You know what? I'm I'm going to turn<br>[63:44] links back on and then I think because<br>[63:46] I've also ch changed some chat<br>[63:48] verification. So like chatters need need<br>[63:51] to be like basically<br>[63:54] um<br>[63:58] they they need to be verified. So I I<br>[64:00] don't know. I'm just not going to click<br>[64:02] links. So if you have a link, Paul, just<br>[64:04] just uh drop it in chat.<br>[64:07] Um,<br>[64:09] bad do court. Thanks for hanging out.<br>[64:10] We'll see you next time. And, uh, oh,<br>[64:13] uh, Troy, if you're still around, drop,<br>[64:15] uh, drop your link to your accessibility<br>[64:17] plugin or the accessibility checker in<br>[64:19] the, um, in the chat then so people can<br>[64:22] get it.<br>[64:24] Sorry, Paul. You uh, so what is the<br>[64:28] ticket 19? So, this is a court. This is<br>[64:30] a track ticket.<br>[64:32] >> Yes.<br>[64:33] Okay.<br>[64:39] See what this is.<br>[64:43] Allow custom post types as home and get<br>[64:45] get post return results for more than<br>[64:46] one post type.<br>[64:52] Oh, I see.<br>[64:55] What was that?<br>[65:01] Oh, I see. So, so this is basically<br>[65:03] change what what is this changing the<br>[65:05] like it's just it's retrieving<br>[65:09] Oh, I see. So, so is a get post just is<br>[65:12] it restricted to um<br>[65:24] I should not have done that. I'm going<br>[65:25] to be the PR.<br>[65:27] There we go. So that's T link<br>[65:41] posts allowed on homepage. Oh, I see.<br>[65:43] Okay. So is this a is this filterable?<br>[65:45] Oh, it is filterable.<br>[65:47] >> Get post show and homepage list is true.<br>[65:50] Is this an actual thing<br>[65:52] or is that new? The show and homepage<br>[65:56] >> list.<br>[65:56] >> No, that's new. That's new that<br>[65:59] >> Oh, nice.<br>[66:00] >> That would be because not every CPT is<br>[66:03] appropriate to be on the homepage or be<br>[66:06] the home page. So,<br>[66:08] >> right,<br>[66:08] >> you have it has to be explicitly turned<br>[66:11] on for<br>[66:14] >> interesting. That's cool because that<br>[66:16] that does make sense because you I mean<br>[66:18] there's probably tons of reasons why you<br>[66:20] wouldn't want to use a page or whatever.<br>[66:21] You know, there's lots of things<br>[66:24] um or or a list of posts or whatever.<br>[66:26] That's That's pretty cool. So, what's<br>[66:27] the what's the consensus on this that<br>[66:29] it's uh it's good to go or it's like<br>[66:31] people are into it?<br>[66:33] >> Uh<br>[66:34] >> scroll down to the bottom to find out.<br>[66:35] >> It's um it needs some work. Um I'm<br>[66:38] rewriting it and doing some some uh u<br>[66:41] gooey work<br>[66:43] and fixing a few things. So,<br>[66:46] you know, this week's project is what<br>[66:48] I'm trying to get this to a working<br>[66:51] version with today's code.<br>[66:56] Oh, okay. Cool.<br>[66:59] So, are you working on the pull request<br>[67:01] that Adam was doing or like your own or<br>[67:03] or a different patch?<br>[67:04] >> I've pulled off Adam's work.<br>[67:06] >> Oh, okay. Cool.<br>[67:10] Oh, I see. Cool. Awesome. Well, that's<br>[67:13] pretty cool. I mean, that that'll be a<br>[67:14] nice little change for sure.<br>[67:16] >> Yeah. Adam basically took my patch and<br>[67:19] made it into a GitHub repo at some<br>[67:22] point.<br>[67:22] >> Oh, okay. Cool. Cool.<br>[67:26] That I'm always stealing people's code.<br>[67:28] Just kidding.<br>[67:29] >> And you have a pull request on your API.<br>[67:32] >> I do. Oh, no. Well, I probably won't<br>[67:35] merge it because I don't know what this<br>[67:38] is going to do for like the like Did you<br>[67:41] Did you test this? What's this? Add in.<br>[67:45] Um there's a folder in there with a PHP<br>[67:47] plugin in it.<br>[67:53] Oh my god. Okay.<br>[67:55] So, okay. Hold on.<br>[67:59] Well,<br>[67:59] >> the IDE stuff went as well, which<br>[68:01] shouldn't have done. Sorry for that.<br>[68:03] >> Oh, whatever. That that's that's fine.<br>[68:06] I'm going to just hide all this. So,<br>[68:08] what does this thing do?<br>[68:11] Okay.<br>[68:13] Oh, this is interesting.<br>[68:19] Can Can I just download a zip of this<br>[68:21] particular<br>[68:22] >> Yeah, you can.<br>[68:23] >> Can you download a zip from from this<br>[68:25] branch?<br>[68:26] >> Hi, Blue. I literally ne never done that<br>[68:28] before. How would I do that? Code. Oh,<br>[68:31] yeah. Right there. Uh code spaces.<br>[68:35] >> I know. I would like<br>[68:45] Okay. Well, I'll have to look at it.<br>[68:47] >> Yeah. No, I'm gonna have to try and see<br>[68:48] if it if I if it'll actually run because<br>[68:51] this is<br>[68:54] >> Wow, this is cool.<br>[68:56] Look at all this. Oh my god, there's so<br>[68:58] much stuff here. And so, where is this<br>[69:00] putting this PH? Oh, it's it's putting<br>[69:02] it in inside of a inside of a uh Can I<br>[69:04] look at the code?<br>[69:07] So, I love how it's one commit.<br>[69:10] That's so much stuff<br>[69:14] with 21 files. That's hilarious.<br>[69:17] Uh, that's cool. Okay. Well, I mean, I'<br>[69:20] I'd be really interested to see if if if<br>[69:22] this works because I think PHP Storm is<br>[69:24] definitely something that like there's a<br>[69:27] lot of VS Code extensions out there, but<br>[69:30] um, not all like, you know, there's a<br>[69:32] lot of PHP Storm users as well. Um, do<br>[69:35] you get proper TypeScript support help<br>[69:37] and stuff in PHP Storm? I I I used to<br>[69:39] love PHP Storm. I used it all the time.<br>[69:41] I used to use it all the time, but I<br>[69:42] switched to VS Code a number of years<br>[69:43] ago now. Um so so I'm a little bit uh<br>[69:46] behind on it, but it'd be very cool. So<br>[69:49] it does like autocomplete and all that<br>[69:51] stuff.<br>[69:52] >> All that good stuff. It finds all the<br>[69:55] all the functions and all that stuff.<br>[69:57] >> Okay, great. So, I mean, this would be<br>[70:00] very cool if we could split this out<br>[70:02] into its own<br>[70:04] um<br>[70:06] into its own uh folder inside of this.<br>[70:10] So, did this move everything or did it<br>[70:14] just put a folder beside it?<br>[70:17] >> No, it put a folder beside it.<br>[70:23] >> So, there's a folder. So all that code<br>[70:26] that's in the original repository there<br>[70:28] there's just like a there's a PHP Storm<br>[70:30] folder in there now.<br>[70:32] >> Yes. Yes.<br>[70:33] >> Okay.<br>[70:35] Interesting.<br>[70:36] >> Yep.<br>[70:37] >> Um<br>[70:39] so I wonder if maybe we can put all the<br>[70:49] And it's still by the command pal. This<br>[70:51] is<br>[70:53] um I wonder if you wouldn't mind telling<br>[70:56] your a AI to take all the the the<br>[70:59] existing files and put them in a VS Code<br>[71:01] folder. So So there'll be like<br>[71:04] essentially two folders at at the root<br>[71:06] of the um at the root of the project,<br>[71:10] which would be like VS Code, PHP Storm,<br>[71:13] and then kind of go from there. But<br>[71:16] again, I'm not sure if I'm gonna if I'm<br>[71:18] gonna uh merge this or not, but this is<br>[71:22] I'd like to see if it works, which would<br>[71:23] be cool. So So So tell me if it works<br>[71:26] and how it works and everything. We can<br>[71:27] go from there.<br>[71:35] >> We'll play. See what happens.<br>[71:40] Can you share your screen? Did Did I<br>[71:43] allow that? I I don't know if I allowed<br>[71:45] that or not.<br>[71:56] >> No, disabled my end. H<br>[72:02] maybe I can<br>[72:08] I might have to<br>[72:17] I probably needed to set that up before<br>[72:19] I uh there was a Oh, wait. What's in<br>[72:22] there? Oh, yeah. Can I try that? Can I<br>[72:26] Ah! Oh, hold on. Okay.<br>[72:31] Uh, I need to I need need to set that up<br>[72:34] for another time, but that's cool. Um,<br>[72:36] you can just let me know if it works,<br>[72:37] which would be great. Um, that'd be fun.<br>[72:47] Oh, Troy, what are you saying? Sorry,<br>[72:48] Troy. Uh, I should dive back into some<br>[72:50] old issues I created. Do a bit more<br>[72:51] contributing. Yeah, we like<br>[72:53] contributors.<br>[72:55] Where can I find the snippets link on<br>[72:58] the developer? Oh, the snippets link.<br>[72:59] Yeah, it's right there. Um,<br>[73:02] it's here. Elus, that's for you.<br>[73:07] And we're always looking for new<br>[73:08] snippets. So, snippets and articles and<br>[73:11] all sorts of fun stuff. We're always<br>[73:12] looking for that at the uh for the<br>[73:16] um developer blog. There's the process.<br>[73:18] It's pretty pretty easily, pretty well<br>[73:20] documented. There's a how to how to<br>[73:22] contribute section under the about if<br>[73:24] you're interested in getting involved in<br>[73:25] adding whatever go read that. I think<br>[73:28] there's a uh there's a monthly meeting<br>[73:30] to discuss the content that's like the<br>[73:32] ideas that have been put forward and<br>[73:33] then if they get approved they get you<br>[73:35] can just write it or do it and you can<br>[73:38] go from there. Oh, excuse me.<br>[73:44] All right. What time is it? Well, Paul,<br>[73:47] is it working?<br>[73:48] >> No, not yet. I can't work out how to<br>[73:51] actually load it into the plugins.<br>[73:54] >> Oh, I see.<br>[73:59] I don't think I have Do I have PHP Storm<br>[74:01] set up? I do not.<br>[74:04] All right. I'll probably have to<br>[74:05] download that, try it out. First Tuesday<br>[74:07] of each month, we meet. There you Yeah,<br>[74:10] Troy's on the one of the one of the<br>[74:13] people that approve it. So, sweet talk<br>[74:15] him. Go download his plugin.<br>[74:18] All<br>[74:22] right. Well, I'm gonna have to cut this<br>[74:25] a little bit short today because I have<br>[74:27] a very important email for my daughter's<br>[74:29] volleyball team uh that I have to def<br>[74:32] tell them what hotels we we want to stay<br>[74:34] in and it's first come first serve. So,<br>[74:35] I have to like literally wait by my<br>[74:37] email hovering to click it and go. So,<br>[74:40] it should be coming in shortly. But, I<br>[74:43] want to wait and Paul I want to I want<br>[74:45] to hear just how good it is. If if it's<br>[74:47] good,<br>[74:57] I'll let you know.<br>[74:59] >> All right.<br>[75:08] And um like I said before, if anyone's<br>[75:10] interested in uh jumping on stream,<br>[75:14] doing that<br>[75:16] showing show and tell sort of thing. Um<br>[75:19] in my Discord, there is a show us the<br>[75:21] goods channel. You can drop a message in<br>[75:23] there and we can coordinate something.<br>[75:25] I've got my first one sort of I got my<br>[75:28] first guest lined up, but I don't know<br>[75:30] when we're going to do it yet. And then<br>[75:31] after that, it'd be great. I don't know.<br>[75:33] We could do it every once every couple<br>[75:34] weeks, once a month, something like<br>[75:35] that. People have stuff they want to<br>[75:37] share. I think I think it's cool. It' be<br>[75:40] fun. And maybe we'll turn it into a<br>[75:41] podcast because everyone needs a<br>[75:43] podcast. I don't have one. Paul, do you<br>[75:46] have a p Do you have a podcast, Paul?<br>[75:48] >> Yeah.<br>[75:50] Um,<br>[75:50] >> do you have a podcast?<br>[75:51] >> No, we haven't. I haven't got a podcast.<br>[75:53] >> Oh,<br>[75:56] I was gonna say.<br>[76:00] So, if anyone wants to start a podcast<br>[76:02] with Paul and I, let me know. We'll<br>[76:04] we'll<br>[76:07] definitely do do a show project. Yes.<br>[76:10] Cool. Troy, you're in you're in for that<br>[76:14] because let's do it. You'll be number<br>[76:16] two.<br>[76:19] I think that I think that'll be a ton of<br>[76:20] fun. Okay, awesome. Well, let's get<br>[76:21] organized. We'll um you you let me know<br>[76:24] when you like we'll we we we can talk<br>[76:27] but let's let's get something figured<br>[76:29] out in the next like<br>[76:31] couple of weeks. What like not to be<br>[76:33] live in a couple of weeks but to get it<br>[76:36] figured out when they would work when<br>[76:37] you think it's it's ready when we can go<br>[76:39] through it so you can show it and we can<br>[76:40] also like talk about the the the the<br>[76:44] technical stuff. Nice. Oh, you're<br>[76:46] waiting on some early feedback from me,<br>[76:48] aren't you?<br>[76:51] You know what I I'm I'm going to do I'm<br>[76:53] gonna um I'm gonna my kid and I are<br>[76:56] going to sit down and we're going to<br>[76:57] play it because he's been he's been<br>[76:58] dying to play Dungeons and Dragons and<br>[77:00] it's um this sort of idea. It's not<br>[77:03] Dungeons and Dragons. I didn't I didn't<br>[77:04] let it the cat out of the bag, but<br>[77:05] something along those lines would be<br>[77:08] fun. So, he he would probably love it.<br>[77:14] All right. Well, I will uh yeah, I'll<br>[77:16] definitely play it and I can even play<br>[77:18] it on stream at some point. Maybe when<br>[77:20] you're ready. When it's ready, maybe we<br>[77:21] can do a game. That That'd be fun. Don't<br>[77:23] let him play Flappy Bird. Yeah. If<br>[77:25] anyone wants to get on and and and show<br>[77:27] me their clone of Flappy Bird, I can<br>[77:29] tell you now that I will 100% approve<br>[77:33] that. I I idea.<br>[77:36] Yeah. I sorry I let the cat out of the<br>[77:39] bag, but it's very cool and I'm not<br>[77:41] going to talk about it anymore because I<br>[77:43] love the idea of it. It's this game<br>[77:46] where like you have to throw pigs at<br>[77:50] like structures and they fall down. It's<br>[77:52] crazy. I've never seen it before.<br>[78:01] Oh my god. We're going to make an AF.<br>[78:03] I'm Okay, next. I have my next stream.<br>[78:05] We're going to make a Flappy Bird clone<br>[78:07] using the interactivity API on stream.<br>[78:10] Kevin,<br>[78:12] that's amazing. What better way to get<br>[78:14] back to the Dave426, whoever the hell<br>[78:16] that stupid bot was by not letting him<br>[78:19] get us down. We're going to do it. We're<br>[78:20] doing it next stream. Unless<br>[78:23] Rob and I are are going to be on next<br>[78:25] stream. So, next two streams that's<br>[78:28] going to get done. That's going to be so<br>[78:29] much fun.<br>[78:31] Oh, I'm excited. I'm excited. Sorry,<br>[78:33] Paul. I forgot you were here on the<br>[78:35] stream with me.<br>[78:38] How are you doing over there, Paul?<br>[78:40] >> I'm doing good. I'm I I'm I'm just<br>[78:43] reading the notes of how to do this now<br>[78:45] and I need to use IntellJ ultimate<br>[78:47] edition which I happen to have. So<br>[78:49] that's good.<br>[78:50] >> Oh, all right. Cool. Kevin, that was a<br>[78:53] great idea.<br>[78:54] >> This is actually<br>[78:57] >> it's what? Sorry,<br>[79:04] I didn't hear what you said. Oh, it's<br>[79:06] written in Cotlin. Oh, wow.<br>[79:09] Yeah, that's the thing. It's just like,<br>[79:10] "Build me a thing." They're like, "Sure,<br>[79:12] we're going to write it in C#.<br>[79:14] Now you got to compile it."<br>[79:18] Yay. Do you even compile C#? I I don't<br>[79:21] know. C++ you do, I think. But<br>[79:25] I'm not what you'd call a good<br>[79:28] developer, so who knows? Who knows?<br>[79:33] Um, all right. Well, on that note, Paul,<br>[79:37] I'm gonna have to drop off, but thanks<br>[79:38] so much for drop for for hanging out on<br>[79:41] on camera wi with me. Um, and uh yeah,<br>[79:47] thanks for for streaming with me, y'all,<br>[79:49] and uh for sharing your links now that<br>[79:51] you can share links again and for the<br>[79:53] ideas, the content ideas. This is great.<br>[79:54] We're gonna have so much fun in the next<br>[79:56] few weeks. I'm very excited to do all<br>[79:58] this. Um, and uh, yeah. So Paul, is it<br>[80:04] it's it's it's not doing it. It's not<br>[80:06] compiled yet or built or whatever.<br>[80:08] >> No, I'm still install reinstalling the<br>[80:10] uh IntelliJ because um I hadn't I turned<br>[80:13] it off because I had I stopped using it<br>[80:15] because I thought be a bit lighter and<br>[80:18] just have PHP Storm running.<br>[80:20] >> Yeah. Yeah.<br>[80:22] >> Sure. That's actually one of the reasons<br>[80:23] I moved away from PHP store because it<br>[80:25] felt like such a beast. Like every time<br>[80:26] I I I opened it, it just felt huge and<br>[80:29] bloated and then like VS Code was like<br>[80:31] instantaneous.<br>[80:32] >> Yes. Until you file in all of the<br>[80:34] extensions. Um it's<br>[80:36] >> Well, there's that.<br>[80:37] >> Yeah. And that's the difference is in<br>[80:39] PHP Storm, you've got to configure it<br>[80:41] and add all your other extensions.<br>[80:43] Sorry. In VS Code, you got to do that.<br>[80:46] PH4 Ptorm it's predetermined and bundled<br>[80:49] and you only have to add a few plugins<br>[80:52] to to tweak it whereas not everything<br>[80:55] >> for sure. I I loved PHP Storm. I I will<br>[80:58] say this. I found it much easier and<br>[81:01] better to debug PHP in PHP Storm than in<br>[81:05] VS Code. I found it like very intuitive,<br>[81:08] very easy. like once you got XD bug and<br>[81:10] everything all set up, I found it super<br>[81:12] easy and it and the the inspection like<br>[81:14] everything that you can do is really<br>[81:15] really good. I find VS Code to be okay<br>[81:18] in that regard. Um, but I transitioned<br>[81:22] to VS Code right right around the time<br>[81:23] that I was sort of like getting into a<br>[81:24] lot more JavaScript. So, I wasn't doing<br>[81:27] as much like PHP<br>[81:29] um inception stuff like you know. So,<br>[81:32] and it could just be that I just didn't<br>[81:34] spend enough time to get it set up<br>[81:35] properly. But I found PHP store to be a<br>[81:37] lot more robust with that sort of stuff.<br>[81:40] Um, but then in VS Code side, like it's<br>[81:42] really great for all all the npm and the<br>[81:45] auto formatting and the auto saving and<br>[81:46] like all that sort of stuff. So, I mean,<br>[81:48] they both have their their benefits. It<br>[81:50] really just depends on what you're doing<br>[81:51] with it, right?<br>[81:52] >> Yeah.<br>[81:53] >> Yeah. Yeah. Yeah. PHP is great and and<br>[81:56] that's the other thing. You don't have<br>[81:57] to pay a license for for PHP or for VS<br>[81:59] Code.<br>[82:00] >> No, that's true. It's free. Yeah.<br>[82:02] >> But I'm happy to support them. and<br>[82:04] they're doing good work and they're<br>[82:06] they're the writing.<br>[82:06] >> Oh, for sure.<br>[82:08] >> So, yeah. No, no, no. I mean, it's it's<br>[82:10] it's if if I mean, if it's like it's<br>[82:12] like, you know, if if you're a mechanic,<br>[82:14] you you buy your tools, right? Like this<br>[82:16] this IDE is literally your tool for<br>[82:18] doing your job and making money. So, I<br>[82:20] mean, of course, investing in it is<br>[82:22] makes sense.<br>[82:22] >> And I I ended up with the ultimate<br>[82:25] package. Um, and I the maths um worked<br>[82:29] out better with the um um uh AI tool<br>[82:33] built in because of the ultimate<br>[82:35] package. I the AI tool bundled with it.<br>[82:38] >> So I haven't had I'm not paying extra.<br>[82:40] So it it actually comes out cheaper to<br>[82:42] have PHP<br>[82:43] >> to have the bund the whole bundle not<br>[82:46] just PHP Storm and the uh AI tool.<br>[82:50] >> Oh, I see. Because because PHP like in<br>[82:53] intellisense or what whatever the<br>[82:54] company is intell whatever the company<br>[82:56] is that PHP store I can't remember<br>[82:58] >> nippines like yeah like that they have a<br>[83:01] number of other IDEs for for other other<br>[83:03] things.<br>[83:05] >> So cool. All right. Well, now that uh<br>[83:08] Paul's told us he has the ultimate<br>[83:10] package. Lucky lady your wife just<br>[83:12] joking. Oh, that's a horrible joke. I<br>[83:14] gotta uh I'm gonna I'm gonna leave on<br>[83:16] that very not safe for work tone and<br>[83:20] We can go from there. Paul's not<br>[83:22] laughing. I feel like I offended him.<br>[83:24] >> No, no, you haven't.<br>[83:27] >> It's meant with love and respect, Paul.<br>[83:28] It's a joke.<br>[83:29] >> Yep.<br>[83:30] >> Um, yeah.<br>[83:36] Awkward. Anyhow, um<br>[83:40] Oh, yeah. There's a delay. There's a<br>[83:42] six-month delay in the<br>[83:44] >> Yeah, I know.<br>[83:46] I was I was concentrating slightly on<br>[83:49] opening up the uh the project in<br>[83:53] >> Okay. All right, Paul. Well, I mean, bad<br>[83:56] jokes aside, I hope I haven't offended<br>[83:58] you. That was not the intent.<br>[84:02] I just couldn't I couldn't help myself.<br>[84:04] All right. And on that note, I'm gonna<br>[84:06] I'm gonna say goodbye, friends. And uh<br>[84:08] call in HR. Yeah, Kevin's calling HR.<br>[84:11] Yeah. Um uh and yeah, cool. So, next<br>[84:15] week, I'm not sure what it'll be, but<br>[84:16] it'll be something fun. So, uh, drop in<br>[84:19] and say hi. And, uh, yeah. Anyways,<br>[84:23] Paul, thanks so much for hanging out and<br>[84:24] the for the for the poll request. Thanks<br>[84:27] everyone else for for chilling with me<br>[84:28] today. I'm going to say bye and I will<br>[84:30] talk to you all later.<br>[84:34] If I can find the button. There it is.<br>[84:36] Later. <!-- deep-read:sections end --> [[3. Resources/Readwise/Full Document Contents/Articles/Just Chatting and Clicking Random Links!|Full Document Contents]] ## Document Notes --- tags: #wordpress #gutenberg #php-blocks #live-stream author: Ryan (Stream Host) source: Twitch Stream reference: https://www.youtube.com/watch?v=xPskuyyIrps date created: 2024-12-28 16:21 --- # ๐Ÿท๏ธ Title: Just chatting and clicking random links! ## ๐Ÿงฐ Action Inbox - [H1] Test Gutenberg 22.4 PHP-only blocks functionality โ€” live demo #gutenberg - [H2] Review VS Code Interactivity API extension feedback โ€” extension launched #interactivity-api - [H3] Consider Talk Devi to Me podcast format โ€” community engagement #devrel ## ๐Ÿงญ Table of Contents - [[#๐Ÿ“ Summary]] - [[#๐Ÿ“– Main Content]] - [[#๐Ÿ—’๏ธ Notes]] - [[#๐Ÿ“š References]] - [[#๐Ÿ—ฃ๏ธ Paraphrase]] - [[#๐Ÿ“ฐ Newsletter]] - [[#โœ… Action Items]] - [[#๐Ÿงช Hypotheses]] - [[#๐Ÿ“Š Methodology]] - [[#โ“ Questions]] - [[#๐Ÿ”ฎ Future Research]] - [[#๐Ÿ’ก Implications]] - [[#๐Ÿง  Learning Styles Assessment]] - [[#๐Ÿ“Š Accessibility Assessment]] - [[#๐ŸŒ DEIB Assessment]] - [[#โœ… Logical Validity]] - [[#๐Ÿ›ก๏ธ DARVO Analysis]] - [[#๐ŸŽฏ Conclusion]] ### ๐Ÿ”— References - [Gutenberg 22.4 Release](https://make.wordpress.org/core/handbook/) - [VS Code Marketplace Extension](https://marketplace.visualstudio.com/) ## ๐Ÿ“ Summary - Live stream covering Gutenberg 22.4 PHP-only blocks, VS Code extension demo, and community discussion - Why it matters: Shows practical WordPress block development without JavaScript build processes - Key stakeholders: WordPress developers, block creators, community members - Risks and tradeoffs: Documentation gaps between Gutenberg plugin and core WordPress - Bottom line takeaway: PHP-only blocks now functional in Gutenberg 22.4, new developer tools available ## ๐Ÿ“– Main Content Ryan demonstrates the newly functional PHP-only block registration in Gutenberg 22.4, showing how developers can create blocks using only PHP without JavaScript build processes. He showcases his new VS Code extension for Interactivity API development, discusses documentation challenges in the WordPress ecosystem, and engages with community members about various development topics. The session covers technical implementation details, community feedback on block proliferation, and practical developer tools. Notable is the discussion about Block Editor Handbook documentation being auto-generated from trunk rather than stable releases, causing confusion for developers. ## ๐Ÿ—’๏ธ Notes #### โฑ๏ธ [00:00](https://youtu.be/xPskuyyIrps?t=0) โ€” [H1] Stream introduction and snow day delays - Key idea: Stream nearly cancelled due to heavy snowfall requiring extensive driveway clearing - Evidence: "I woke up to 800 feet of snow in my driveway... took an hour and a half" #### โฑ๏ธ [02:15](https://youtu.be/xPskuyyIrps?t=135) โ€” [H2] Flappy Gate incident recap - Key idea: Previous stream's malicious link incident opened 96 popup windows with inappropriate content - Evidence: "I clicked the link and then... it had opened 96 popup windows and they were all bouncing" #### โฑ๏ธ [08:30](https://youtu.be/xPskuyyIrps?t=510) โ€” [H1] Gutenberg 22.4 PHP-only blocks demonstration - Key idea: New Gutenberg version enables PHP-only block registration without JavaScript - Evidence: "22.4 came out... now we can get these things happening which is really cool" #### โฑ๏ธ [12:45](https://youtu.be/xPskuyyIrps?t=765) โ€” [H2] PHP block attributes and meta fields - Key idea: Block attributes automatically create meta fields based on type definitions - Evidence: "attributes based on the type string, integer, boolean, string and this enum. It was creating meta fields for us" #### โฑ๏ธ [18:20](https://youtu.be/xPskuyyIrps?t=1100) โ€” [H2] Script and style registration in PHP blocks - Key idea: Can register CSS and JavaScript directly in block registration without separate enqueue actions - Evidence: "I don't think we necessarily need to put it on the actions that you would normally encue" #### โฑ๏ธ [25:15](https://youtu.be/xPskuyyIrps?t=1515) โ€” [H1] Icon block development progress with data views - Key idea: Icon block now uses WordPress data views component for improved modal interface - Evidence: "I'm using data views for it. So now when you load this now we have this going on" #### โฑ๏ธ [32:40](https://youtu.be/xPskuyyIrps?t=1960) โ€” [H2] Documentation challenges discussion - Key idea: Block Editor Handbook auto-generates from trunk, creating confusion about feature availability - Evidence: "documentation that represents things that are not in core and that are not in the released version" #### โฑ๏ธ [41:10](https://youtu.be/xPskuyyIrps?t=2470) โ€” [H3] Block proliferation and enterprise concerns - Key idea: Better to disable unneeded blocks than build missing ones for client projects - Evidence: "it's better to have to disable a block than it is to have to build one" #### โฑ๏ธ [46:30](https://youtu.be/xPskuyyIrps?t=2790) โ€” [H1] VS Code Interactivity API extension demo - Key idea: New extension provides autocomplete for WordPress Interactivity API directives and state - Evidence: "when I hit state, I get prompted with the items from the state" #### โฑ๏ธ [52:15](https://youtu.be/xPskuyyIrps?t=3135) โ€” [H2] Extension features walkthrough - Key idea: Extension validates store names, detects duplicates, and parses view.js files - Evidence: "it'll actually tell you, hey, there's no store name dev inspector" #### โฑ๏ธ [58:45](https://youtu.be/xPskuyyIrps?t=3525) โ€” [H3] Talk Devi to Me podcast concept - Key idea: Proposed stream format for developers to showcase their projects - Evidence: "people are going to come on and we're going to talk about the thing they're building" #### โฑ๏ธ [63:20](https://youtu.be/xPskuyyIrps?t=3800) โ€” [H2] AI development tools discussion - Key idea: Used Claude and Nano Banana to build VS Code extension in two days - Evidence: "I built this with Claude Code in like two days and I'm super excited with it" #### โฑ๏ธ [68:40](https://youtu.be/xPskuyyIrps?t=4120) โ€” [H2] Community member Paul joins discussion - Key idea: Real-time collaboration on PHP Storm extension conversion and WordPress core contributions - Evidence: "Paul wants in... you're going to take that thing that I did and you're going to get AI to convert it" ## ๐Ÿ“š References - [Gutenberg Plugin](https://wordpress.org/plugins/gutenberg/) - [WordPress Developer Handbook](https://developer.wordpress.org/) - [VS Code Marketplace](https://marketplace.visualstudio.com/) - [WordPress Interactivity API](https://make.wordpress.org/core/2024/03/04/interactivity-api-dev-note/) ## ๐Ÿ—ฃ๏ธ Paraphrase - Gutenberg 22.4 enables complete PHP-only block development without JavaScript build processes, making WordPress block creation more accessible - Documentation challenges arise from auto-generation based on development trunk rather than stable releases, causing confusion about feature availability - New developer tools like VS Code extensions can significantly improve WordPress Interactivity API adoption through better autocomplete and validation ## ๐Ÿ“ฐ Newsletter ๐ŸŽ‰ **PHP-Only Blocks Now Live in Gutenberg 22.4!** Great news for WordPress developers who prefer server-side block development! The latest Gutenberg plugin update makes PHP-only blocks fully functional. You can now register blocks with attributes, styles, and scripts entirely in PHP without touching JavaScript build processes. This is a game-changer for developers who want to create custom blocks but don't want the complexity of modern JS tooling. Simply define your block attributes, and WordPress automatically creates the corresponding meta fields. **New Developer Tool Alert:** Check out the new VS Code extension for WordPress Interactivity API development, featuring intelligent autocomplete for directives and state management. **Resources:** - [Learn WordPress](https://learn.wordpress.org/) - Official training platform - [Developer Docs](https://developer.wordpress.org/) - Technical documentation - [WP-CLI](https://wp-cli.org/) - Command line interface Join the conversation in WordPress community Discords and forums to share your PHP-only block experiments! ## โœ… Action Items #### DevRel - Community engagement: Host "Talk Devi to Me" developer showcase streams - Education: Create tutorials for PHP-only block development workflow - Developer experience: Address documentation gaps between Gutenberg plugin and core - Developer marketing: Promote new VS Code extension for Interactivity API - Community management: Moderate stream chat with improved link filtering #### WordPress - Core: Validate PHP-only blocks functionality across WordPress versions - Documentation: Consider versioned docs to separate trunk from stable releases - Community: Support developers transitioning from JavaScript to PHP-only workflows - Plugins: Review extension approval process for developer productivity tools - Design: Improve data views component integration in block interfaces #### Community - Maintainers: Gather feedback on PHP-only blocks implementation - Contributors: Test new development workflows and report issues - Sponsors: Support developer tool creation and maintenance - Ecosystem: Document best practices for PHP-only block patterns ## ๐Ÿงช Hypotheses - PHP-only blocks will increase WordPress block development adoption among backend-focused developers - VS Code extensions can significantly reduce Interactivity API learning curve through better developer experience - Documentation generated from trunk rather than stable releases creates unnecessary developer friction - Community-driven developer tools fill important gaps in official WordPress tooling ### ๐Ÿ“Š Methodology - Survey developers about PHP-only blocks adoption rates before and after 22.4 - Track VS Code extension downloads and user feedback metrics - Analyze documentation-related support requests and their resolution patterns - Monitor community Discord discussions for common development pain points ### โ“ Questions - Will PHP-only blocks reduce JavaScript build tooling complexity concerns for new developers? - How can WordPress core better communicate feature availability across plugin and core versions? - What additional developer experience improvements would accelerate Interactivity API adoption? ### ๐Ÿ”ฎ Future Research - PHP-only blocks performance compared to JavaScript-built blocks - Developer productivity gains from specialized WordPress extensions - Community-driven vs official tooling effectiveness in WordPress ecosystem ### ๐Ÿ’ก Implications - Practice: Simplified block development workflows may increase community contributions - Policy: Documentation versioning strategies need reconsideration for developer clarity - Education: Developer onboarding paths can focus more on PHP skills initially - Funding: Community tool development deserves support alongside core WordPress funding ### ๐Ÿง  Learning Styles Assessment Reading level estimate: 12th grade (technical developer content) #### ๐Ÿ‘€ Visual learners - Present: Live screen sharing, code demonstrations, extension interface tours - Improve: Architectural diagrams for PHP-only blocks, data flow visualizations #### ๐Ÿ”Š Aural learners - Present: Live stream format with verbal explanations and community discussion - Improve: Recorded tutorials, podcast format for complex topics #### ๐Ÿ—ฃ๏ธ Verbal learners - Present: Interactive chat, technical terminology explanation, analogies - Improve: Glossary of WordPress-specific terms, comparison tables #### ๐Ÿงฉ Kinesthetic learners - Present: Live coding demonstrations, step-by-step implementation - Improve: Downloadable code samples, hands-on workshops #### ๐Ÿง  Logical learners - Present: Sequential development process, cause-and-effect relationships - Improve: Decision trees for block development approaches, performance comparisons #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners - Present: Live chat interaction, community Discord integration - Improve: Collaborative coding sessions, peer code reviews #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners - Present: Individual coding time, personal project development - Improve: Self-paced tutorials, documentation deep-dives #### ๐ŸŒฟ Naturalistic learners - Present: Real-world problem solving, organic community conversations - Improve: Case studies from actual WordPress sites, ecosystem impact analysis ### ๐Ÿ“Š Accessibility Assessment #### Screen reader semantics - Present: Live stream with verbal descriptions of visual elements - Improve: Alt text for shared code screenshots, structured heading hierarchy #### Keyboard navigation - Present: Demonstrated VS Code keyboard shortcuts and workflows - Improve: Document keyboard-only development workflows #### Contrast and readability - Present: High contrast code editor themes during demonstrations - Improve: Verify code example visibility across different displays #### Media and captions - Present: Live stream with audio commentary - Improve: Auto-generated captions, post-stream transcriptions available #### Standards reference - Follows WCAG 2.2 AA guidelines for live streaming accessibility ### ๐ŸŒ DEIB Assessment #### Cultural breadth - Present: Global community participation through chat and Discord - Improve: Acknowledge different time zones for stream scheduling #### Inclusive language - Present: Gender-neutral technical terminology, welcoming tone - Improve: Define technical jargon consistently, avoid cultural idioms #### Neurodiversity support - Present: Multiple communication channels (audio, chat, visual) - Improve: Provide agenda/outline for streams, consistent structure #### Representation - Present: Diverse community member participation and recognition - Improve: Highlight contributors from different backgrounds and experience levels #### Psychological safety - Present: Respectful handling of technical mistakes, learning-focused environment - Improve: Clear community guidelines, escalation paths for issues ### โœ… Logical Validity #### Strong reasoning - Deductive strength: PHP-only blocks reduce complexity โ†’ increased adoption (valid premise, sound conclusion) - Inductive strength: Documentation confusion examples โ†’ systemic issue (multiple data points support generalization) - Causal reasoning: Gutenberg 22.4 release โ†’ PHP-only blocks functionality (direct causation established) - Analogical strength: VS Code extension success โ†’ PHP Storm extension potential (reasonable parallel) #### Fallacies - Appeal to authority: "It's better to have it and not need it" - presented as universal truth without context - Hasty generalization: Documentation issues from single experience - needs broader data #### Tone of voice - Overall tone: Enthusiastic and community-focused with technical expertise, occasional casual humor ### ๐Ÿ›ก๏ธ DARVO Analysis - Deny: No denial patterns present in technical discussion - Attack: No attacks on accusers - collaborative problem-solving approach - Reverse victim/offender: Not applicable to technical content - Emotional cues and rhetoric: Positive enthusiasm about community contributions and technical progress ## ๐ŸŽฏ Conclusion - Gutenberg 22.4's PHP-only blocks represent a significant accessibility improvement for WordPress block development - Community-driven developer tools like the Interactivity API extension demonstrate the value of grassroots innovation - Documentation challenges between plugin and core versions need systematic solutions for better developer experience ## ๐Ÿงฑ Refactor Appendix ### ๐Ÿ“š Literature Split Pad ### [H1] PHP-only blocks enable server-side WordPress development > [!quote] [Just chatting and clicking random links!](https://www.youtube.com/watch?v=xPskuyyIrps) by [[Ryan]] via [[Twitch Stream]]. Published 2024-12-28. Accessed 2024-12-28. > "22.4 came out... now we can get these things happening which is really cool" Gutenberg 22.4 enables complete block development without JavaScript build processes. [view highlight](https://youtu.be/xPskuyyIrps?t=510#H1) #gutenberg #php-blocks ID:rw_001 ### [H2] Documentation auto-generation creates developer confusion > [!quote] [Just chatting and clicking random links!](https://www.youtube.com/watch?v=xPskuyyIrps) > "documentation that represents things that are not --- ## Full Transcript [03:48] Hello everybody. Microphone. Microphone.<br>[03:51] Ryan. Need the microphone. Hello<br>[03:52] everybody.<br>[03:54] How's it going today? Hey Paul. Hello.<br>[03:57] Hello Paul. Paul. Hello.<br>[04:01] Um<br>[04:05] yeah. Cool. Hi. How's it going today?<br>[04:07] I'm all over the place. I woke up to 800<br>[04:10] feet of snow in my driveway. Um, so I've<br>[04:13] been shoveling and snowb blowing the<br>[04:15] snow all morning. Took an hour and a<br>[04:16] half to get our our driveway done. It<br>[04:18] was ridiculous. And it's snowing heavily<br>[04:19] right there now. Uh, yes, you did miss<br>[04:22] the fun last week, Paul. Um, I have<br>[04:24] scrubbed it from the internet,<br>[04:27] but um there's there's a couple of<br>[04:29] shorts up there that that sort of uh um<br>[04:33] had to turn off all your content<br>[04:35] filters.<br>[04:38] Ah, it's going to be one of those. I'm<br>[04:40] never going to live this down. If I<br>[04:42] could ever find my mouse,<br>[04:46] >> that<br>[04:50] that might be the best comment so far.<br>[04:53] Hello from YouTube. I'm sorry I cannot<br>[04:57] pronounce say your username. Um, but hi<br>[05:00] and welcome to the stream. We're over<br>[05:02] here in Twitch hanging out.<br>[05:05] Um, I barely made it into stream today.<br>[05:07] Like I was saying, I had a ton of snow<br>[05:09] out there. My my neighbor uh whose snowb<br>[05:10] blower broke yesterday, I had to go help<br>[05:12] her and her daughter dig out. Uh, too<br>[05:15] too bad. What was the link? Kevin.<br>[05:19] >> Kevin.<br>[05:20] >> Kevin.<br>[05:22] Oh, it was<br>[05:27] >> Kev XB. Um, it was it was it was quite<br>[05:31] the link. I'm sure someone will show up<br>[05:33] in chat and drop it. Uh, but that was it<br>[05:36] was like the most I'll never trust the<br>[05:39] link. In fact, after that I I I changed<br>[05:42] my settings so I don't think anybody can<br>[05:43] drop links in chat<br>[05:46] because I I don't trust myself.<br>[05:49] It was Kevin.<br>[05:52] It was the most intense experience ever.<br>[05:56] I clicked the link and then there was<br>[05:58] like this thing as oh it's a Flappy<br>[05:59] Warrior clone. clicked it and then n<br>[06:01] Okay, so I was scrubbing my computer<br>[06:03] with bleach and uh I I found it had<br>[06:06] opened 96 popup windows and they were<br>[06:09] all bouncing and moving and I and I<br>[06:11] realized that that you guys probably<br>[06:13] didn't hear this because I I don't think<br>[06:14] I had the uh my browser routed in the<br>[06:18] audio, but all the stuff that was being<br>[06:21] shown there was screaming audio so loud<br>[06:24] and so like my reaction was was instant<br>[06:27] fear. I peed a little. It was horrible.<br>[06:29] Uh, and it also downloaded a bunch of<br>[06:31] images to my downloads folder that I'm<br>[06:33] like, you know,<br>[06:36] would never ever want on my computer<br>[06:38] ever. So, yeah, it was uh I they got me.<br>[06:41] They got me. They got me. Anyhow, but<br>[06:45] that's not why that's not why I'm here<br>[06:48] today.<br>[06:52] Oh,<br>[06:53] I think I I've been streaming now for<br>[06:55] about four years. I'm going on five<br>[06:57] years. And uh that's the first time it's<br>[06:59] ever happened. So knock wood. That'll be<br>[07:01] the last time it's it's ever happened.<br>[07:02] It ever happens. Oh, but uh so I don't<br>[07:05] have a lot going on today. Um I am<br>[07:06] looking for there was a new version of<br>[07:08] Gutenberg released which is very cool.<br>[07:10] 22 22.4 came out. So I wanted to see um<br>[07:15] if our PHP only block stuff. Um if you<br>[07:19] remember last week before<br>[07:22] Oh, we got to come up with a flappy bird<br>[07:24] gate. Flappy gate. Let's call it flappy<br>[07:26] gate. We we we we need a name for the<br>[07:28] thing that happened. Um so throw some<br>[07:32] names. You know what? Let's do a poll.<br>[07:34] Actually, throw some names in chat and<br>[07:36] and we'll come up with it. And I'm I'm<br>[07:38] going to do like some emotes and stuff<br>[07:40] and I'm going to really milk this for<br>[07:42] all it's worth.<br>[07:44] And if you haven't seen the short that I<br>[07:47] put together on it, please go look at it<br>[07:49] because I'm very proud of it. I think<br>[07:51] it's very funny. Um,<br>[07:55] let me see if I can find it here. Um,<br>[07:58] it's like a little movie. It's like a<br>[08:00] little movie. Can you guys hear that?<br>[08:02] You guys can't hear that, can I?<br>[08:06] Hold on. Hold on. Hold on. I might have<br>[08:09] to turn on standby. Hold on. We're going<br>[08:12] to show this. Where's my loop back?<br>[08:14] There it is. So, we're going to put<br>[08:15] Chrome on. I'm going to just pause my<br>[08:17] music real quick. And then we're gonna<br>[08:20] >> TypeScript type.<br>[08:21] >> Do I want to click this link?<br>[08:24] >> Oh my god.<br>[08:27] >> Now, somebody way back way back in in<br>[08:30] chat asked me to look at a a a game. I<br>[08:34] got flapped. Who was it? Oh, new bird<br>[08:36] game net. Okay. Stove 423. Are you still<br>[08:38] in chat? Store 423. I don't see you.<br>[08:43] Do I want to click this link?<br>[08:46] Oh, it's Flappy Bird.<br>[08:49] Oh my god. Oh my god.<br>[08:54] >> Do I want to click this link? There we<br>[08:56] go. That's my art. Oh my god.<br>[08:58] >> My art movie. Ah, lost the mouse. Get<br>[09:00] out of here.<br>[09:01] >> That was it. So, yes, I think that's<br>[09:05] that was that was funny. Anyhow, doesn't<br>[09:07] matter. Okay, so what are we doing here<br>[09:10] now? All right, right. Okay, so let's go<br>[09:12] back into my old posts and let's see<br>[09:14] what Okay, so this is my PHP only block.<br>[09:16] So I kind of forget what we were doing<br>[09:17] there. So let's take a look. So the<br>[09:19] block is loading. Okay. So So if we<br>[09:24] remember, let's look. Uh I got to jump<br>[09:26] back over to<br>[09:28] Is it in here?<br>[09:31] I do this every time. I have to go to uh<br>[09:35] to here. I got to go Twitch stream. I<br>[09:37] got to go to VS Code and Okay, here we<br>[09:39] go. So here's our our content only<br>[09:41] block, right? So all we're doing is<br>[09:43] registering of our our blocks directly<br>[09:45] with register block type uh with a<br>[09:48] namespace and then we're adding all of<br>[09:49] these things and so the thing that why<br>[09:51] is this being stupid? How it expected<br>[09:55] six one two three four five six<br>[10:01] one two three four five six now it's<br>[10:04] okay.<br>[10:11] Oh my lordy lordy. Right. Okay. So,<br>[10:15] let's<br>[10:20] anyways. Uh,<br>[10:24] if only somebody could come up with a<br>[10:26] way to format this for me automatically<br>[10:28] so I didn't do this. I'm sure it's<br>[10:30] possible.<br>[10:34] Why is there a period in there? It needs<br>[10:36] to go away. All right. Anyways, uh, I<br>[10:38] have to screw down. So what we were<br>[10:40] doing is we were defining our attributes<br>[10:41] in here and the attributes based on the<br>[10:43] type string, integer, boolean, string<br>[10:46] and this enum. It was creating uh meta<br>[10:49] fields for us. So if if you remember<br>[10:52] last week uh uh 22.3 was still the<br>[10:56] active version of Gutenberg and so now<br>[10:58] we've we we got 22.4 active. It just<br>[11:01] just came out. And so now this PHP only<br>[11:03] blocks thing<br>[11:05] uh now we can we can get these things<br>[11:08] happening which is really cool. So this<br>[11:09] is this is kind of fairly complete like<br>[11:14] fairly complete. I think I think we're<br>[11:16] in a position now where you just install<br>[11:19] the Gutenberg plugin and you're able to<br>[11:21] do PHP only blocks. So um that's super<br>[11:25] powerful. Super powerful. And we also<br>[11:27] discovered that you can still in in quue<br>[11:29] JavaScript<br>[11:31] and add handles and stuff. So what I was<br>[11:33] actually thinking about this was<br>[11:37] I was in queuing I was using I was<br>[11:39] putting this on on the actions that you<br>[11:42] would normally put them on. But I don't<br>[11:44] know if you if you need to do that. I<br>[11:46] think we can just register<br>[11:48] styles like what if we just did this. I<br>[11:50] want to try something here. Going to<br>[11:52] register my styles in the same place<br>[11:54] where I'm registering the block, right?<br>[12:02] Hey.<br>[12:07] Oh, man. It's such a good song. Uh,<br>[12:10] great to see you. Also,<br>[12:13] let's see if this works. So, I I've<br>[12:15] taken out the Oh, I need to get that.<br>[12:18] No, I need to get that CSS file. So,<br>[12:20] we're going to see. So this should be<br>[12:23] registering some CSS<br>[12:26] for us and a script and the script<br>[12:30] is what's okay. So what test CSS what<br>[12:33] does it do? It makes the title big and<br>[12:37] this just alerts something I think.<br>[12:40] What is all this crap?<br>[12:47] Weird. Okay, we're gonna Oh, I know what<br>[12:50] I what I did there. I'm going to do<br>[12:51] that. So what I just want to I want to I<br>[12:53] want it to alert. Hi with two I's and<br>[12:57] two J. Sure. Why not? Why not? You know<br>[12:59] why not? And now we shouldn't have to<br>[13:01] build anything.<br>[13:03] Oh, okay. So that worked.<br>[13:06] That worked multiple times and it's<br>[13:09] doing that. So let's see. So where did I<br>[13:13] So script handles styles handles.<br>[13:19] Oh, I get it. So the script script<br>[13:20] handles. So,<br>[13:22] these are getting loaded on both. That's<br>[13:26] cool. All right. And this one, what is<br>[13:28] this one? What's the editor? So, editor.<br>[13:31] Um, I should be able to do the same<br>[13:33] thing,<br>[13:35] right, with the editor. I should be able<br>[13:36] just to drop it in here. Um, the reason<br>[13:39] I'm doing this is because I don't think<br>[13:41] we necessarily need to, um, you know,<br>[13:44] put it on on on the actions that you<br>[13:46] would normally encue the actions on<br>[13:48] because we're just registering the<br>[13:49] script. And so because the point of it<br>[13:53] is you register these scripts and then<br>[13:55] you can you could define script handles<br>[13:57] and styles and whatnot for for editor<br>[14:00] and for the uh front end with these<br>[14:03] arrays. So you could still get your CSS,<br>[14:07] you can still get your JavaScript into a<br>[14:09] a PHP only block. I think that's pretty<br>[14:11] powerful. Let's just make let's make<br>[14:13] sure it works though.<br>[14:17] We know that works. We know that works.<br>[14:20] It's loading twice though, which I don't<br>[14:21] like. Am I doing it twice?<br>[14:28] That's a good question. Um, that's a<br>[14:30] really good good question. I mean, the<br>[14:32] way that these work is that<br>[14:35] this should only be per block, I would<br>[14:38] imagine. Let's check. Let's take this<br>[14:40] out. Save.<br>[14:43] We'll refresh.<br>[14:46] Uhoh.<br>[14:49] Huh?<br>[14:51] Wonder why?<br>[14:53] Why? Oh. Oh, that makes sense because<br>[14:56] the block is actually being loaded. It's<br>[14:58] just not in there. Okay. Okay. So, let's<br>[15:02] let's put the block back. Can I undo<br>[15:04] what? Custom.<br>[15:07] Uh, what is the name of the block? Crap.<br>[15:11] Yeah, that's that's annoying. Okay,<br>[15:14] that's annoying.<br>[15:16] Okay, screw off.<br>[15:18] That needs to go away. Okay, so we know<br>[15:20] that that works. So, what was the name<br>[15:22] of this block? That's the thing. Twitch<br>[15:23] something or other. Let's find out. We<br>[15:26] called it my custom title. Okay, so<br>[15:27] we're going to do my custom title. So,<br>[15:31] we're going to put that in. So, that's<br>[15:32] getting the CSS there.<br>[15:37] >> It is Troy Shaplin. Okay. So, that's<br>[15:40] getting the CSS. And so now let's put<br>[15:42] this<br>[15:44] let's put this back.<br>[15:47] And that's that and that's loading that<br>[15:49] there. So that does only load on the<br>[15:51] front end. So if I get rid of this and I<br>[15:53] save this and I refresh this. Okay. So<br>[15:57] the JavaScript does is not being loaded<br>[15:59] on on the front end. Um<br>[16:02] which is good. So uh let's see let's<br>[16:05] check the sources too because we can see<br>[16:07] where the sources are. Uh just ignore<br>[16:10] that. I don't know what that is.<br>[16:13] Let's look for sources. Let's look for<br>[16:14] page. Let's look for blocks. Page only<br>[16:17] blocks.<br>[16:19] Um,<br>[16:20] so I I don't see any scripts being<br>[16:25] loaded because the block's not there. So<br>[16:27] I So yes, I know I what? No, no, no, I<br>[16:31] didn't. It's right there. It should be<br>[16:33] alerting. Um,<br>[16:38] what error am I getting?<br>[16:42] weird. Okay. But if we put it back, if I<br>[16:45] put that block back in and I save it and<br>[16:47] I refresh this, I should get that that<br>[16:50] popup. Yeah, I do. Okay. So, now if we<br>[16:51] look at the sources, you can Where are<br>[16:53] the s be content plugins? I was looking<br>[16:56] in the wrong place. Assets. So, we're<br>[16:58] getting JavaScript. Yep. We're getting<br>[17:00] CSS. Yep. Let's take it out again. Save<br>[17:05] it.<br>[17:07] Refresh.<br>[17:10] page content. Okay. No, so it does not<br>[17:14] get loaded on the front end. Um,<br>[17:17] regardless of where you're registering<br>[17:19] it. That's pretty nice. So, yeah,<br>[17:21] because we're not actually in quueing it<br>[17:23] in our in like this code is not incuing<br>[17:25] anything. All this is doing is this is<br>[17:27] registering those. So then once we have<br>[17:29] those those uh those those slugs or<br>[17:32] whatever we're calling them, um you just<br>[17:34] pass them in here and then and then bing<br>[17:37] bong bang, you've got uh porn in your<br>[17:40] chat. That that's that that's a new<br>[17:44] saying that I'm going to start coming<br>[17:45] out with. Um that's like, you know,<br>[17:48] Bob's your uncle, Robert's your father's<br>[17:50] brother. Bang, you got porn in your<br>[17:51] chat. Same thing. See, you like it. I<br>[17:53] love it. Let's do it.<br>[17:56] Um, blast nastier.<br>[17:59] Hello from Portland. Uh, hello from<br>[18:02] Canada, Ontario, Canada. Um, glad you<br>[18:06] could join. Thanks so much for hanging<br>[18:08] out with us today. Are you first time<br>[18:10] chatter? You are first- time chatter.<br>[18:11] Nice. Well, thank you for the chat and<br>[18:14] uh, welcome. Welcome aboard. Welcome<br>[18:17] aboard. Okay, so that's pretty cool. So,<br>[18:19] go and download Gutenberg 22.4 before<br>[18:21] came out I think on Tuesday and now you<br>[18:23] can do blocks is cross keys here. He's<br>[18:25] going to love all this. Um he's going to<br>[18:29] love all this. Uh you know I you know<br>[18:31] what I didn't do? I didn't announce my<br>[18:32] my stream anywhere. I'm going to do<br>[18:35] that. Just going to open up Discord<br>[18:39] and drop some some links in there<br>[18:46] because you know why not? Why not?<br>[18:48] Really? Why not?<br>[19:09] Uh,<br>[19:10] do I have do I have I have this open?<br>[19:12] Yeah. Outreach. So, um, yeah. So, the<br>[19:15] other there's there are something else I<br>[19:17] I I wanted to there's a couple more<br>[19:19] things I I Yeah, I just don't click any<br>[19:20] links. Exactly. Couple more things I<br>[19:23] wanted to uh just chat about today. And<br>[19:27] what were they? Um<br>[19:30] Oh, uh<br>[19:32] oh crap. I had I had all these great<br>[19:34] ideas. New version of Gutenberg came<br>[19:36] out. I think I don't know where the post<br>[19:38] is. I can't find it. Um because that<br>[19:42] that would be good to have. Let me just<br>[19:44] see. Boom.<br>[19:46] Oh, it's it's still in review. Okay.<br>[19:49] It's not quite<br>[19:51] uh<br>[19:53] it's in review.<br>[19:56] Okay. So, it's not quite ready to go.<br>[19:58] So, like every every time that there's a<br>[20:00] version of Gutenberg that comes out,<br>[20:01] there is also a corresponding uh what's<br>[20:03] new in Gutenberg link. Um and uh yes, I<br>[20:07] wanted to uh<br>[20:11] Oh.<br>[20:29] Oh my god. I can't type. Sorry. It's no.<br>[20:31] Okay, cool. Um, right. So, that's that.<br>[20:34] I think I I just messaged Cross Keys<br>[20:36] because he's literally talking about<br>[20:37] this in one of the Discord chats about<br>[20:39] like, "Has anyone done this?" Uh, cool.<br>[20:42] But the other thing is, what is the<br>[20:45] other thing?<br>[20:47] Uh, okay. It's not in there. It's not<br>[20:49] there. It's not there. It's not in<br>[20:49] there. Ply box plug in Gutenber. Oh,<br>[20:52] great. Okay. So, I've been working on<br>[20:54] the icon block again. And I'm super<br>[20:57] excited about the uh about the work that<br>[20:59] we've sort of um uh been able to to to<br>[21:03] get done. So, I I I want to kind of show<br>[21:05] you y'all the some of the um uh some of<br>[21:10] the work. So, uh, the icon block now has<br>[21:14] width and height settings, which is<br>[21:15] super nice because those were merged<br>[21:17] into core. So, I'm I'm using those. Um,<br>[21:20] the other thing now is is I've made some<br>[21:23] changes to the modal. So, the modal that<br>[21:26] that that was in Nyx plugin, which is<br>[21:28] great, was custom. Um,<br>[21:32] oh my god, it's been a week already.<br>[21:33] Yes, it has. Um, so it's been it's been<br>[21:36] custom. It was a custom once, but I'm<br>[21:38] using data views for it. So now when<br>[21:40] when you when you load this now we have<br>[21:42] this going on and I'm super excited<br>[21:45] about this. This is so cool. So um you<br>[21:48] you can sort you can do all kinds of<br>[21:50] things. We can show number you know all<br>[21:52] these things. We can hide certain stuff.<br>[21:54] Um so it's very much a work in progress<br>[21:56] but we're getting so much closer. And<br>[21:59] there's an API for icons that is being<br>[22:02] worked on uh sim simultaneously which is<br>[22:06] a word that I didn't say properly. But<br>[22:09] if we look at my uh my my poll requests<br>[22:13] my poll requests for here the icon block<br>[22:16] I can link to the other one<br>[22:22] right here. You can see where this is<br>[22:24] going. So th this is the work that's<br>[22:27] being done on the uh<br>[22:31] oh I don't know who who<br>[22:36] yeah seems like only yesterday I was<br>[22:38] checking out that link. So this so go<br>[22:40] check out this. So this is going to be<br>[22:42] this is the work that's been done on the<br>[22:44] um on the what you call it the the the<br>[22:46] icon API the ability to register icons.<br>[22:50] So, what that meant for me with the icon<br>[22:52] block is that meant that things got a<br>[22:54] lot simpler because Nyx block does a lot<br>[22:57] of really or did a lot of really cool<br>[22:59] things. Uh, it allowed you to upload<br>[23:01] SVGs. It allowed you to copy and paste<br>[23:04] SVGs, but because we have this API<br>[23:06] coming um and they're very much these<br>[23:08] are very much connected at the hip. So,<br>[23:10] if the API<br>[23:12] doesn't make it to 7.0, this doesn't<br>[23:15] need to be there. Um, then this block<br>[23:18] won't make it to 7.0 0 either, but um<br>[23:21] we're working hard on it. So, it means<br>[23:24] So, anyway, so what it means is that we<br>[23:25] I can remove all that stuff. So, we're<br>[23:27] not going to have the ability to copy<br>[23:28] and paste SVGs. We're not going to have<br>[23:29] the ability to upload SVGs because that<br>[23:32] was always going to be a sticking point<br>[23:34] always because SVGs and core have always<br>[23:36] been a problem because they're very hard<br>[23:38] to validate and they're very easily<br>[23:41] manipulated and they could be attack<br>[23:43] vectors for um hackers and all sorts of<br>[23:46] fun stuff. So, so having core enabled<br>[23:49] that is probably going to be a problem.<br>[23:50] But anyway, so it mean meant that I can<br>[23:53] strip out a ton of code. Uh, yeah. And<br>[23:55] so I I I've been focusing on on this<br>[23:57] thing, which I think is great. It's<br>[23:59] going to be so much fun. It's my first<br>[24:00] real foray foray into data views. Here's<br>[24:03] my tangent interrupting for the stream.<br>[24:04] Okay, bring it. Bring it on. Cross keys.<br>[24:08] Um I I I I wanted to mention but just<br>[24:12] before you you came on we actually had<br>[24:15] um<br>[24:16] 22.4 uh Gutenberg uh came out.<br>[24:22] Uh and so now now all of these all these<br>[24:25] attributes that we were doing before now<br>[24:28] work now now they register the blocks.<br>[24:30] So okay so here here is the question.<br>[24:33] Hey Mr. Gutenberg. Oh my god. Are you<br>[24:35] calling me Mr. Gutenberg? That's<br>[24:38] hilarious. Um,<br>[24:41] you can Well, you can bother anybody. Do<br>[24:45] you have an issue?<br>[24:50] Yes. Yes. There is a really great post<br>[24:52] about about the data view on on on the<br>[24:54] developer blog. I believe it's the the<br>[24:56] developer blog. You can check this out<br>[24:57] right here. Yeah, it just came out. It's<br>[24:59] really great. Go check that out. One<br>[25:01] thing that I found very confusing about<br>[25:04] it was there's a lot of moving parts.<br>[25:06] Um,<br>[25:08] there's a lot of move moving parts with<br>[25:09] this, but once you kind of wrap your<br>[25:10] head around how the pieces fit together,<br>[25:12] it's it's super powerful.<br>[25:15] Yeah, the Goodword Docs already merged<br>[25:17] to the core block editor handbook. Yes,<br>[25:19] there are. That is a correct statement.<br>[25:23] So, if you want to make changes to the<br>[25:26] docs for the block editor handbook, you<br>[25:28] you would do Hey, Mr. Hey,<br>[25:31] Mr. Gutenberg, I need a I need a shirt<br>[25:34] or something that says that. Um,<br>[25:40] hey Philipe, how you doing?<br>[25:43] Um,<br>[25:46] okay. There's a number of things going<br>[25:47] on right here, but I'll answer questions<br>[25:49] as I can. The other thing, all right,<br>[25:52] somewhere there's a person trying to out<br>[25:54] block it or losing his mind because he's<br>[25:55] trying to use the autoregister key and<br>[25:56] it's both doing nothing and throwing no<br>[25:58] errors. Oh, that's what you're saying.<br>[26:00] Okay. First of all, I feel your pain.<br>[26:04] 100% feel your pain. The the the the the<br>[26:09] one one issue that has always been an<br>[26:11] issue with the block editor handbook is<br>[26:13] because it's merged because when things<br>[26:16] are merged, it autogenerates every time<br>[26:19] something's merged in into trunk, you<br>[26:21] get into a position where you have<br>[26:23] documentation that represents things<br>[26:25] that are not in core and that are not in<br>[26:27] the released version of the plug-in,<br>[26:30] right? And it is very frustrating<br>[26:34] 100%. I I get it. Um<br>[26:39] we have discussed a number of things<br>[26:41] about how to how to make that happen.<br>[26:44] The the problem that we run into is it's<br>[26:48] a maintainability issue and this is an<br>[26:50] excuse not a reason 100%. So we had<br>[26:54] talked about having things so<br>[26:56] yes so they get built on merge to trunk<br>[27:03] which is a thing we've talked at length<br>[27:06] my my team internally um when I first<br>[27:09] joined and we really yeah well I mean<br>[27:13] yes it's just the way it is just the way<br>[27:14] it's set up right now doesn't mean it's<br>[27:16] right doesn't mean it can't change but<br>[27:18] it but I wanted to explain it so when I<br>[27:20] merge anything when when But when<br>[27:22] something gets merged to to to trunk in<br>[27:25] Gutenberg within 15 minutes there's a<br>[27:27] cron that runs and it it it builds out<br>[27:30] all the documentation. A lot of that<br>[27:31] documentation is also autogenerated<br>[27:33] based on the source code. So um it's not<br>[27:36] something that's just managed where you<br>[27:38] just go in and you make a change to uh<br>[27:40] to a page. So like if we look at<br>[27:42] Gutenberg<br>[27:44] um uh do I have that open? I don't where<br>[27:47] is it? Gutenberg development. So if we<br>[27:50] look at Gutenberg development here and<br>[27:53] we take a look at let's take a look at<br>[27:55] the docs. So for example docs, right? So<br>[27:59] we're going to have let's use reference<br>[28:01] guides. No, let's go.<br>[28:06] I can never find it. The thing that I'm<br>[28:08] looking for getting started. Oh, I I<br>[28:11] know how it works. Okay, let me go to<br>[28:13] packages. Let me go to Let's go to um<br>[28:17] whatever the block editor. Going to read<br>[28:18] me. So in the read me somewhere down<br>[28:22] here. Why does it look like that?<br>[28:25] Okay. Why does it look like this?<br>[28:28] Something screwed up. Oh, there we go.<br>[28:30] Okay. So, when you see this, what this<br>[28:33] is doing is this is autogenerated by<br>[28:35] this tool that that's called<br>[28:42] Okay, I'll get to your question in a<br>[28:43] second, cross keys, because it's<br>[28:44] nuanced, but yes. So when you see this,<br>[28:47] anything below this line is<br>[28:49] automatically generated by this docgen<br>[28:51] tool. So it takes all the the<br>[28:53] documentation<br>[28:54] and pulls out um so let's see what's<br>[28:58] this function that we're looking at<br>[28:59] block canvas. You know what this let me<br>[29:02] do a better one maybe the core core data<br>[29:05] that might be a better one. So if we<br>[29:07] look in core data you can see that there<br>[29:09] is all these uh some point you'll see<br>[29:12] there so you'll see these add entities.<br>[29:14] So this is an action right and then it<br>[29:16] pulls out all so delete entity record it<br>[29:19] pulls out all the parameters from the<br>[29:20] actual doc block itself. So this is all<br>[29:23] dynamically generated which makes it<br>[29:25] difficult to be able to differentiate<br>[29:27] between core Gutenberg and and in<br>[29:30] development from a from a documentation<br>[29:34] uh point of view.<br>[29:36] Um so to answer Kusky's question<br>[29:41] uh to answer this question why is good<br>[29:43] work and good Gutenberg affecting the<br>[29:44] block edit ed editor docs they should be<br>[29:46] sovereign code braces that you merge<br>[29:48] periodically um<br>[29:51] the block editor handbook is basically<br>[29:53] Gutenberg it's basically all the stuff<br>[29:56] that gets introduced via Gutenberg 2<br>[29:58] core let's put it that way so I do agree<br>[30:00] with you what what would be really great<br>[30:02] is if we had the ability to toggle<br>[30:05] between um variations of the of the<br>[30:09] documentation. So when Gutenberg or<br>[30:13] sorry when a new version of core is<br>[30:14] released um then we have the docs are<br>[30:18] built from that tag right so so 6.9<br>[30:23] would would build out the docs that<br>[30:25] would be everything that's inside of of<br>[30:27] core then when there's a new version of<br>[30:29] Gutenberg released every two weeks we<br>[30:31] would build off of that that release or<br>[30:34] that tag or however that's done and then<br>[30:36] we could have one from trunk so you'd<br>[30:38] have essentially three versions of the<br>[30:40] documentation, what's in core, what's in<br>[30:41] Gutenberg, the plug-in, and what's being<br>[30:44] worked on. Um, because I have also run<br>[30:47] into the problem that you've run into.<br>[30:49] I've I it's bit me when I was at Tenup.<br>[30:51] There was this thing called render<br>[30:52] appender for the um innerblocks<br>[30:56] uh component that was in the docs and it<br>[30:58] just didn't work and I couldn't figure<br>[30:59] out why it didn't work and it was<br>[31:00] because it was in it wasn't even in the<br>[31:03] plug-in at the time. It had just been<br>[31:05] merged. So, it's very frustrating. I<br>[31:06] feel your pain. It is something that the<br>[31:08] project has to figure out. And it's it's<br>[31:11] there's there's technical solutions to<br>[31:13] this. It's just a matter of like<br>[31:16] figuring out how it's displayed and how<br>[31:18] it works and getting someone to be like,<br>[31:20] "Yeah, let's change this entirely and<br>[31:22] see how much we can we we can break it."<br>[31:24] So anyways, that's my reason. It's not<br>[31:27] an excuse, but that is that's the the<br>[31:29] history.<br>[31:34] Yeah, you can totally do it. So also<br>[31:37] explains why some of the doc contra each<br>[31:38] other or don't acknowledge parallel<br>[31:39] methods. Yeah. Yeah.<br>[31:46] Yeah. So like like there's there's a lot<br>[31:49] of under the hood stuff as well. Like<br>[31:51] for example, it is a WordPress site.<br>[31:52] What you're looking at the the block<br>[31:54] developer handbook. It is absolutely a<br>[31:56] WordPress site. Those pages are<br>[31:58] generated. They are generated and they<br>[31:59] are inserted. The content is inserted.<br>[32:00] So you need to duplicate every single<br>[32:02] page in that site like twice. you need<br>[32:05] to have a version for core, a version<br>[32:07] for Gutenberg, and a version for cutting<br>[32:09] edge or even just Gutenberg and and<br>[32:12] core. Um, so there's a lot that needs to<br>[32:15] be figured out. It's a massive it'd be a<br>[32:17] massive migration, massive scale,<br>[32:21] you know, but that's a great question.<br>[32:25] Yeah.<br>[32:28] Yeah.<br>[32:31] Oh, the playground devril is asking me a<br>[32:34] playground question. I feel like I'm<br>[32:35] getting sent up or set up.<br>[32:42] I've working on the playground website.<br>[32:44] What what is this? Let's uh this is the<br>[32:47] one. While working on a playground<br>[32:48] website, I noticed a Gutenberg modal<br>[32:51] component using divs. Is there a plan to<br>[32:52] migrate it to a dialogue component<br>[32:55] because it's supported by 90% of the<br>[32:56] browsers and a lot of stuff is<br>[32:57] implemented on the browser side? I don't<br>[32:59] know. That's a good question. H have you<br>[33:00] have you taken a look in at the like I I<br>[33:02] think it's worth opening up an issue. Um<br>[33:08] I think it's definitely worth opening up<br>[33:10] an issue. Let's see. Um let's do search<br>[33:13] and issues because there may not be one<br>[33:16] but and if there isn't I think it's<br>[33:17] worth it's worth looking at. What is it?<br>[33:20] uh<br>[33:22] dialogue<br>[33:25] component.<br>[33:28] I spell it wrong.<br>[33:32] Yep. I don't see any anything. I would<br>[33:35] I' I'd go open an issue and and just<br>[33:38] start the conversation, right?<br>[33:42] The dialogue HTML tag is not in it.<br>[33:53] dialog wrapper.<br>[33:58] Did Did I put dialogue in? Oops. Oops.<br>[34:02] Oh, new block dialog popup. Is this it?<br>[34:22] So there is this issue<br>[34:24] um if you want to take a look that even<br>[34:27] more core core blocks that invited<br>[34:31] themselves in. Um okay is that that<br>[34:36] that's a statement. Yeah. um cross keys<br>[34:40] the the thing about Gutenberg and the<br>[34:42] thing about the the blocks is that<br>[34:46] like<br>[34:49] there's there's a there's I don't know<br>[34:51] this is my opinion but I know that there<br>[34:53] are a ton of blocks right it's just it's<br>[34:56] a okay<br>[34:58] yeah no and and I get it so like back in<br>[35:01] my agency days we were like oh my god we<br>[35:03] didn't do designs for every iteration of<br>[35:05] whatever block right of all the embeds<br>[35:07] of all the whatever all the icons, all<br>[35:09] that stuff. So, it's hard, right?<br>[35:11] Because you because when you're working<br>[35:13] for a client, they have a very specific<br>[35:15] like branding,<br>[35:18] well, branding is the word I'm trying to<br>[35:19] say. Then, like you have to you you have<br>[35:22] to make sure that they can't make their<br>[35:23] buttons rounded if that's if that goes<br>[35:24] against the branding guidelines. So, in<br>[35:27] that in that way, Gutenberg can be very<br>[35:29] very frustrating. But on the on the flip<br>[35:32] side of that is people that just want to<br>[35:33] build a site don't want to be like the<br>[35:36] like they need to have the tools to<br>[35:38] build what they want, right? Like if if<br>[35:41] they don't have if they can't embed<br>[35:43] something on it, like I keep bringing up<br>[35:44] embeds because I know that you're<br>[35:46] talking about embeds in the Discord, but<br>[35:47] I mean like if if they can't do what<br>[35:49] they want to do, they're going to go<br>[35:50] somewhere else, right? Um, so it's it's<br>[35:52] a balancing act between like<br>[35:56] giving authors what they want and and<br>[35:59] then also like, you know, not inundating<br>[36:01] people with with things. So, I mean, I<br>[36:04] don't think it's a bad thing to disable<br>[36:06] the blocks. I mean, it's easier it's<br>[36:08] better, let's think of it this way. In<br>[36:10] my opinion, it's better to have to<br>[36:12] disable a block than it is to have to<br>[36:13] build one that that they don't have<br>[36:15] because disabling blocks is a lot a lot<br>[36:18] less work.<br>[36:20] Full stop. Mic drop. Whatever. I don't<br>[36:22] know.<br>[36:24] Cool. Um,<br>[36:31] yeah, exactly. You just like turn them<br>[36:33] all off and just, you know, bring them<br>[36:36] back as as needed. I mean, like when<br>[36:38] when you're when you're working at the<br>[36:39] enterprise level, when you're working at<br>[36:41] a big level, you're turning off a lot of<br>[36:42] WordPress stuff anyways. Like so many<br>[36:45] themes starters and scaffolds and stuff<br>[36:47] like that, they turn off stuff, you<br>[36:49] know, like maybe they don't want the<br>[36:50] rest API. They just turn it off. Like<br>[36:52] whatever. I mean the public, right? Oh,<br>[36:56] I kind of dated myself because I don't<br>[36:57] think you can turn it off now, but<br>[37:00] unless you do that, the rich content<br>[37:01] equivalent of the Homer Simpson card is<br>[37:03] like, yeah, well, but that's just it,<br>[37:04] right? You have to just get yourself to<br>[37:07] a place where where where you need it.<br>[37:09] So, I love the idea of it's better to<br>[37:12] have it and not need it than to need it<br>[37:14] and not have it,<br>[37:16] you know? So, I don't ever think I'm<br>[37:19] going to use a third like twothirds of<br>[37:21] the blocks that that we're shipped with.<br>[37:23] But that one time when I want it, it's<br>[37:25] there, right? That's what I think. And<br>[37:29] it's not hard to turn stuff off. It's<br>[37:31] way harder<br>[37:33] uh to to build out something and<br>[37:36] maintain it too, right? Because the more<br>[37:38] blocks that core builds, the less blocks<br>[37:39] you have to build and the less blocks<br>[37:41] you have to maintain. And with block<br>[37:43] variations and block bindings and stuff,<br>[37:45] that gets super powerful.<br>[37:49] Yeah, you should absolutely do that,<br>[37:50] Troy. Even if it's a snippet. So, uh,<br>[37:53] the developer blog has like full<br>[37:54] articles like this, but it also has<br>[37:57] snippets which are super helpful. Um,<br>[38:00] like how do I hide how to register a<br>[38:02] blog variation, but hide it from the<br>[38:03] inserter? See, that's what I did, right?<br>[38:07] just little block uh variations. There's<br>[38:09] lots of stuff in there. Uh snippets and<br>[38:10] it's just like small little chunks of<br>[38:12] code that can be helpful. There you go.<br>[38:14] Go check those out. Pretty hardcoded,<br>[38:16] but I've only had to do three CSS hacks<br>[38:18] so far. Yeah. I mean, and if you find<br>[38:20] something that's hardcoded and and and<br>[38:22] you and you've got a valid reason for it<br>[38:24] not to be hardcoded, then I mean, open<br>[38:26] up an issue that it's not it's not like<br>[38:29] you have to live with the way it is. I<br>[38:32] mean, it's an open source project. I<br>[38:33] mean, I realize it's hard to, you know,<br>[38:35] not everybody has the time and and the<br>[38:38] and the inclination to go and do it, and<br>[38:40] I get that and that's cool. But I'm just<br>[38:41] saying if you if you're having the<br>[38:42] issue, someone else probably is. And if<br>[38:44] you open up an issue with a potential<br>[38:46] like, why don't we do it this way? You<br>[38:48] know, like come to to the table with an<br>[38:50] idea, and that's usually the way that<br>[38:52] things get moved forward, right?<br>[38:56] I built something similar in my<br>[38:57] validation plugin when you can run a<br>[38:58] validation in the editor and turn them<br>[39:00] off in the side editor. Shouldn't be<br>[39:01] hard to set that up for blocks. Yeah,<br>[39:02] cool, cool, cool, cool. Um, okay. So, we<br>[39:06] talked about Oh, yeah. So, we talked<br>[39:07] about this. So, yeah, if you're<br>[39:10] interested in following along or you<br>[39:11] have or you have any ideas about this,<br>[39:15] um, then I would love<br>[39:18] I would love your<br>[39:21] feedback on here. That's the issue.<br>[39:24] Yeah, Troy, talk about your validation<br>[39:26] plugin. Oh, I have an idea for a new<br>[39:30] thing. um for the stream and I'm going<br>[39:34] to start it with my with Rob who is um<br>[39:38] with WP Rig and we haven't figured out<br>[39:40] when we're going to do it yet, but I<br>[39:42] he's he's going to come on the stream<br>[39:43] and he's gonna we're gonna he he's going<br>[39:44] to talk we're going to talk about it.<br>[39:46] We're gonna hang out. So, I have this<br>[39:47] idea. I It's a great name for a podcast.<br>[39:49] I think it's called Talk Devi to Me<br>[39:53] and the idea is people are going to come<br>[39:56] on and we're going to talk about the<br>[39:57] thing they're building and they can talk<br>[39:59] Devi to me. So that's the idea. So Troy<br>[40:02] Troy's got a couple of things in the<br>[40:04] works which I I don't know if I'm<br>[40:05] allowed to talk about them or not, but<br>[40:06] his validation plugin, I think you<br>[40:08] should definitely come on and talk about<br>[40:09] it. And that thing you sent me, the<br>[40:11] interactivity API thing that you're<br>[40:13] working on, that would be cool when<br>[40:15] you're ready for that.<br>[40:17] Oh,<br>[40:21] Troy can't send. Okay, so the links are<br>[40:24] getting stripped out. That's that's<br>[40:26] fine.<br>[40:28] Um,<br>[40:30] how can I allow that link?<br>[40:34] Think I might need to change that.<br>[40:36] I removed links for obvious reasons. So,<br>[40:40] if you want to DM, um,<br>[40:45] if you're in the Discord<br>[40:48] Oh, why did AOL do Oh, Kevin, I think<br>[40:50] it's because you're a moderator.<br>[40:53] Yeah,<br>[40:56] I I I I'll have to look look at that.<br>[40:59] But if you're in my Discord,<br>[41:01] um<br>[41:03] drop drop the link in the Discord. Um it<br>[41:07] might even be in there.<br>[41:10] Yeah, if you drop the link in the<br>[41:11] Discord, um<br>[41:14] what you call it, your name is Troy,<br>[41:16] then I can drop it in chat and and<br>[41:18] that'll be fine. or if you want to just<br>[41:20] go to my discord and we and we can share<br>[41:22] stuff there, there's a uh show us the<br>[41:24] goods page where you guys can can uh<br>[41:28] drop your stuff in there. So, if you're<br>[41:29] not on my discord, you can get there<br>[41:33] right here.<br>[41:36] You can you can go there and you're<br>[41:39] welcome to join. It's not super active,<br>[41:41] but I think I might try to channel some<br>[41:43] of my my my link sharing there um just<br>[41:47] to just to keep the porn to a minimum.<br>[41:50] Uh but in anyways, yeah, cool. So,<br>[41:52] that's that's what I was thinking. So,<br>[41:54] if you guys are if anybody's got<br>[41:55] anything that they want to share that<br>[41:56] they want to talk about, um be cool to<br>[41:59] have you on the stream and we and and<br>[42:00] and we can chat about it. Um all right.<br>[42:03] So, the next thing that I want to show<br>[42:05] you guys is something that I've been<br>[42:06] working on. Uh, I built it yesterday and<br>[42:09] it is a extension. Where's my extension?<br>[42:13] Right here. It's called<br>[42:16] and uh<br>[42:18] I I I built this with with Claude Code<br>[42:21] in like two days and I'm super excited<br>[42:22] with it. It's my first real like um<br>[42:29] uh like real vibe code whatever thing.<br>[42:31] It's got two downloads. Anyways, what<br>[42:34] this is doing is this is for the<br>[42:35] interactivity API. So, the idea behind<br>[42:37] it is that if you're working with the<br>[42:39] interactivity API and I open up a<br>[42:40] render.php<br>[42:42] and I can see I I I get told uh oh no,<br>[42:46] where is it? TS.<br>[42:54] Um what it it does for you is it does<br>[42:56] autocomplete. So, you can autocomplete<br>[42:58] each one of the the um directives. But<br>[43:02] something that I'm really proud of is<br>[43:03] that if you have stuff in in in state<br>[43:05] Oh, is this not working now? Of course<br>[43:06] it's not working now. Is this one not<br>[43:08] have state?<br>[43:10] Where is it? TS. No, there's no state.<br>[43:13] Uh item one,<br>[43:17] item<br>[43:18] two. Right. So what should happen here<br>[43:21] is when I hit state, I get prompted with<br>[43:24] the items from the state. So if I have<br>[43:26] callbacks for example or action come on<br>[43:31] actions<br>[43:33] if I go on there we go. So so it's it's<br>[43:36] it's inspecting my uh view my my view uh<br>[43:39] file and finding this. Um<br>[43:43] so the and it uh so I'm super excited<br>[43:46] about this. So if you're interested it's<br>[43:47] it's available for for download if<br>[43:49] you're working with the interactivity a<br>[43:51] API. I'd love some feedback on it. Um<br>[43:54] because what I want to make this what<br>[43:56] one thing that bugs me, not bugs me, but<br>[43:58] I struggle with like remembering all the<br>[43:59] directive names. I struggle with making<br>[44:02] sure I I can remember what the name of<br>[44:04] my of my callbacks are. And so the whole<br>[44:06] point of this is to make it so that's<br>[44:08] not an issue anymore. Right? So now I've<br>[44:10] got that. Um the other thing it does is<br>[44:14] if you've worked if you've screwed up<br>[44:15] the name of your uh of your store, it'll<br>[44:19] actually tell you, hey, there's no store<br>[44:20] name dev inspector. D<br>[44:23] And so you can figure that out, right?<br>[44:26] So it inspects your VTS. It works with<br>[44:28] with JS files, all that stuff. Um, oh,<br>[44:31] and the other thing it does is detects<br>[44:34] duplicate<br>[44:36] um<br>[44:39] duplicate uh directives, which is pretty<br>[44:43] cool. So if you were to do like a like<br>[44:46] like one of these, the other thing it<br>[44:48] does, so there's a there's a couple of<br>[44:50] ways it handles it. So you can actually<br>[44:52] add a you can add a um a unique<br>[44:57] identifier to the end by going like<br>[45:00] three dashes and then say what other one<br>[45:02] or whatever right and so that will<br>[45:04] actually make it valid.<br>[45:07] So yeah I don't know I'm super excited<br>[45:10] about this mostly because I wrote it in<br>[45:11] in in code like after hockey one night.<br>[45:15] So, yeah.<br>[45:19] So, if you're interested, you can<br>[45:21] download it um by getting this. How do I<br>[45:25] Here's where's the store page?<br>[45:28] How do you get to the store page?<br>[45:36] Neoim. Um maybe I don't know. Could look<br>[45:39] into it. How do we get the stupid store<br>[45:42] page? Um,<br>[45:49] copy link. Is this it?<br>[45:54] Yeah, there you go. So, go download go<br>[45:56] and download this. There is a repository<br>[45:58] for it. Um, please let me know if you<br>[46:02] run into any issues or any anything. The<br>[46:05] whole point of this is to be as e to<br>[46:07] make it as easy as possible to adopt the<br>[46:10] interactivity A API. Um, like I said, it<br>[46:12] works with TypeScript. It works with uh<br>[46:14] just regular JavaScript.<br>[46:17] Um, so yeah,<br>[46:20] bad dude, you're doing a ton with it,<br>[46:21] right? That's the Did I Oh, I already<br>[46:24] linked that. Sorry about that. Um, yeah.<br>[46:26] So, I mean, I I'm going to put something<br>[46:28] up on the socials today. I I I know<br>[46:30] there there are some some hardcore um<br>[46:34] interactivity API developers out there.<br>[46:35] I think you're one of them. So, let me<br>[46:37] know. I mean, full disclosure, it like<br>[46:42] Is it uh what's the current state of the<br>[46:44] client side?<br>[46:48] What's the current state of client side<br>[46:50] full page navigation? Um well, it's it's<br>[46:52] it's an experiment. You can add it to<br>[46:54] you can you if you're in if you're in a<br>[46:57] WordPress site. Oh my god. Where's the<br>[46:59] mouse? Where's the mouse? What's going<br>[47:00] on here? Hello. There we go. If we're in<br>[47:04] like in here, we go to Gutenberg, I<br>[47:06] think, and experiments. Now, God be gone<br>[47:09] with you.<br>[47:13] Oh, boy. Okay, I got to go to plugins<br>[47:17] and I have to turn off this<br>[47:20] plugin. You should be able to get if you<br>[47:22] go to experiments and where is it?<br>[47:27] Oh, full page client side navigation.<br>[47:33] And I think it just<br>[47:39] maybe not. Oh yeah, that's working.<br>[47:44] Yeah, so it it works. Um, it's it's uh<br>[47:47] there's a technical reason why it's not<br>[47:48] in core yet, but I I thought I saw<br>[47:50] rumblings that it's coming to core<br>[47:51] pretty quickly, pretty soon. And like<br>[47:52] the transitions API and stuff like that<br>[47:54] might be coming to the admin side, but I<br>[47:56] can't remember where I saw that. Might<br>[47:57] have been one of Felix Arnson's tweets,<br>[47:59] something like like that. Um, yeah. So,<br>[48:04] yes. So, anyways, back to back to the<br>[48:06] thing that I built and I want to talk<br>[48:07] about. Um, if you if there's anything<br>[48:10] that this doesn't do, let me know. If it<br>[48:12] does weird stuff, let me know too<br>[48:13] because because one thing I have it Oh,<br>[48:15] the other thing it does and and I I<br>[48:17] meant to show this is it actually will<br>[48:19] um it it'll detect<br>[48:23] it will detect like if you do um data<br>[48:28] uh w<br>[48:32] P-<br>[48:35] I can type it right context.<br>[48:39] weird that it why is context not in<br>[48:41] there? It what it should be able to do<br>[48:44] is actually<br>[48:46] um<br>[48:48] you should be able it it it can parse<br>[48:51] context in this state in in this state.<br>[48:53] So if I if I were to go context<br>[48:56] dot dot dot<br>[49:00] okay<br>[49:05] revash store cache okay um<br>[49:12] okay well that's not working should have<br>[49:14] been working though<br>[49:19] oops<br>[49:20] that's unfortunate okay Well,<br>[49:24] because what it should be doing is it<br>[49:26] should be able to where is it? Um,<br>[49:31] support directives.<br>[49:35] There is a context parsing.<br>[49:42] Did it not make it in?<br>[49:45] Look at that.<br>[49:52] Huh. Okay. Well, in my um<br>[49:57] Well, if that's not Yeah, I I'll have to<br>[49:59] check that because it was working<br>[50:00] before. This is<br>[50:02] So, in here, if I look at my testing, I<br>[50:05] have um context. Yeah. So, what this<br>[50:09] should be doing is it actually will it's<br>[50:12] supposed to be able to detect this this<br>[50:14] context here. I do this. Okay. See, it's<br>[50:17] actually pulling context in. So, that's<br>[50:19] I have to check and see why that's<br>[50:20] that's not happening in that given<br>[50:22] thing. Uh, but this what it's supposed<br>[50:24] to do is it's supposed to be able to be<br>[50:25] able it's supposed to be able to figure<br>[50:26] out the context that's been passed down.<br>[50:28] Um, so, you know, we will I'll look into<br>[50:32] that. But anyways, it's very like 1.0.<br>[50:36] So, I'd love I'd love feedback. And uh<br>[50:39] oh, and while we're here, I'm going to<br>[50:42] start viewer callins if anyone's in<br>[50:44] interested in hanging out. Uh I'm going<br>[50:47] to make you you have to be followers and<br>[50:48] subscribers now, though.<br>[50:51] Followers or subscribers. And you're<br>[50:52] welcome to jump on the stream with me<br>[50:54] and hang out. Um but this this was fun.<br>[50:58] So I I claude<br>[51:01] code to do this and it just basically it<br>[51:04] just got it. It just did it and it was<br>[51:05] like pretty amazing. took me a bit of<br>[51:08] refining. Uh, and I used I used a nano<br>[51:11] banana to come up with the uh with the<br>[51:14] where is it with<br>[51:18] with my extens with the icon which is<br>[51:20] where is the icon? It's right here. That<br>[51:23] little thing. So, I'm all AI. I'm all in<br>[51:25] on AI. It will not work in PHP Storm,<br>[51:28] Paul, but I've been thinking I don't<br>[51:30] know if PHP Storm does autocomplete. I I<br>[51:33] know it does like snippets, live<br>[51:35] templates, I think they're called. Um,<br>[51:38] but I don't think I don't think you can<br>[51:40] do the same sort of autocomplete stuff.<br>[51:42] But I but I'm not sure. It's been a long<br>[51:44] time since I've uh um<br>[51:49] used um PHP Storm. Okay. Well, I will<br>[51:54] make you know what I'll do. I'm going to<br>[51:55] take I'm going to ask Code to take the<br>[51:58] functionality of this and create a VS uh<br>[52:01] PHP Storm extension um for it. So that<br>[52:06] that'll be fun.<br>[52:09] Yeah. It's like when you're getting into<br>[52:11] like the the AI inception, like when you<br>[52:13] do this, you know, you're like, I'm<br>[52:16] using AI to build a prompt for another<br>[52:18] AI. It's crazy. Um I don't know how long<br>[52:21] it's going to take me to do it, Paul,<br>[52:23] but I will um I will see what I what I<br>[52:27] can do.<br>[52:30] Um, and yeah, if if and if it just<br>[52:32] doesn't work and it's just it's just<br>[52:33] broken, like those those lovely<br>[52:36] individuals that are going to test this<br>[52:37] thing out for me, uh, let me know. Like,<br>[52:39] let me know. Uh, do the Ralph<br>[52:43] Ralph Wigumstrat.<br>[52:45] What is that?<br>[52:52] That was a Ralph Wiggumstrat. I'm not<br>[52:54] googling that. Kevin.<br>[52:57] Oh, Kev, are you going to work campasia?<br>[53:02] Do I want a link? No, I don't want a<br>[53:04] link. Do I want Ah, I don't trust you. I<br>[53:07] trust you. You're not going to send me<br>[53:09] bad things. Send the link. Yeah, send a<br>[53:11] link. Ralph loops are a legit AI thing.<br>[53:19] The Ralph I've never heard of this.<br>[53:21] Okay. Well, I'm I want to learn about it<br>[53:22] then. So So<br>[53:25] put Okay. I'm going to Google this<br>[53:27] offscreen. I I just I'm so scared of the<br>[53:29] internet now.<br>[53:33] Wiggum<br>[53:37] Ralph Wigum strategy. Let's see.<br>[53:44] Iterative autonomous AI development<br>[53:45] meth. Okay, hold on.<br>[53:49] Awesome. Clo.ai. What is this?<br>[53:59] Oh my god.<br>[54:03] Huh. That's pretty cool.<br>[54:07] Okay. I learned something new today.<br>[54:10] It's a real thing. India. I want to<br>[54:12] maybe 50/50. Yeah, I'm I'm going. Well,<br>[54:17] I've been accepted to speak and I think<br>[54:19] I'm going. So, we I I haven't got<br>[54:21] official uh formal yes or or not, but<br>[54:26] if anyone else is going to be there, I'm<br>[54:27] hopeful I there's a good chance I I will<br>[54:29] be there as well. So, be great. Be great<br>[54:32] to hang out<br>[54:35] um<br>[54:36] and hang out and do stuff.<br>[54:40] All right. Um<br>[54:43] I don't really have much else I I was<br>[54:44] going to really go over. Let's see<br>[54:48] snippets. See, we talked snippets,<br>[54:50] talked about PHP only blocks, tell<br>[54:53] rebuild all of our person JS and let it<br>[54:55] run for three months and see what<br>[54:56] happens. Oh my god, you imagine the<br>[54:57] tokens you you'd blast through.<br>[55:02] I also discovered Sununo. Well, I I got<br>[55:06] an account at Sununo and I spent an<br>[55:08] entire day building uh songs for my<br>[55:11] daughter's volleyball team<br>[55:14] and ridiculous like uh um just just<br>[55:20] ridiculous songs. It was so much fun. It<br>[55:22] is so much fun. Go and do it and get<br>[55:25] them. It's so good.<br>[55:32] Yeah. Isn't it amazing? And it's so<br>[55:34] good. So, I I opted for the uh I opted<br>[55:39] for the um<br>[55:41] like I'm I'm I I'm using it for work.<br>[55:45] So, uh let's see. Let's<br>[55:49] just see. Um,<br>[55:53] and like I'm I I'm just playing around<br>[55:57] with it and it is so much fun.<br>[56:00] Like listen listen to the song. Can you<br>[56:02] hear this?<br>[56:10] Turn it up.<br>[56:20] >> And then I went for an East Coast.<br>[56:22] >> This is No,<br>[56:24] >> not that one. Is this one<br>[56:26] >> 90s East Coast rap?<br>[56:38] >> Isn't it so good? blow<br>[56:42] from the north where the gym squeak. We<br>[56:44] ride trailblazers on the back.<br>[56:46] >> I'm going to have to go<br>[56:50] on the baseline<br>[56:52] on the left side.<br>[57:04] She be hitting on speed and gas roll<br>[57:06] shot then a rip defenders crash.<br>[57:10] >> You could hear that, right? Oh yeah.<br>[57:12] Okay.<br>[57:18] Um I heard the worst song ever in the<br>[57:22] store yesterday and it was like it was<br>[57:24] literally called I Love the 80s. I I'd<br>[57:25] never heard of this song before and I I<br>[57:27] I'm listening to it. God, oh man, it's<br>[57:28] horrible. And then uh I realized this<br>[57:32] might be an AI version. Like this could<br>[57:33] be an AI song where someone just said,<br>[57:36] "Write a song about loving the 80s." And<br>[57:38] it sounds like every '8s song I ever<br>[57:39] written.<br>[57:43] Oh my god, that's hilarious.<br>[57:47] Um, what would be really funny is if I<br>[57:50] thought you guys could hear the music<br>[57:51] that I was playing and I was dancing to<br>[57:53] it, but in real life it was just me like<br>[57:55] just doing this with no sound. That<br>[57:58] would have been hysterical. Please tell<br>[58:00] me that didn't happen. Or maybe that did<br>[58:02] happen.<br>[58:03] Gonna put my stream music back on.<br>[58:11] All right. No one wants to jump on<br>[58:14] stream with me. Come on, Kevin.<br>[58:28] Oh, there's Paul. Paul wants in. All<br>[58:30] right. Come on in, Paul. Right. I I I<br>[58:33] have to drop right at noon, but if we<br>[58:35] all just want to pile in and talk about<br>[58:36] whatever, let's do it. I see Paul<br>[59:01] Uh, yes.<br>[59:03] >> Hello. Hello. Hello. Hello.<br>[59:05] >> There he is.<br>[59:09] >> Audio is the audio better today.<br>[59:12] >> I'm just I've just your API plugin. I'm<br>[59:16] getting um the uh<br>[59:23] >> I think you're sending yourself back to<br>[59:25] me there.<br>[59:26] >> Uh AI in PHP Storm to try and do the<br>[59:29] conversion for me.<br>[59:31] >> Oh, nice.<br>[59:33] All right, let's see. Oh, I know what I<br>[59:36] need to do. Sorry, I think that's my<br>[59:37] bad. One second. I'm going to turn off<br>[59:39] the Google Chrome. Can you say something<br>[59:42] again, Paul?<br>[59:48] 1 2 3 4 1 2 3 4 1 2 3 4<br>[59:54] >> one two<br>[59:56] >> H<br>[59:58] Okay,<br>[60:01] I'm going to say this and then when I<br>[60:03] hear myself, I'm going to start speaking<br>[60:05] again.<br>[60:11] Now ended<br>[60:15] Okay. So, I'm I'm hearing you double. Uh<br>[60:19] I wonder if I turn this off. Wait, turn<br>[60:21] that off. How about now, Paul?<br>[60:26] Oh, that's better. Okay, that's super<br>[60:28] loud, though. Okay. I think I was just<br>[60:31] hearing you. You doubled because I had<br>[60:32] the uh I have the<br>[60:35] audio from the browser source for stream<br>[60:37] together. Anyways, but you can hear me,<br>[60:38] right, Paul?<br>[60:41] Okay. I can't hear you now, though.<br>[60:45] Yes, I can. One, two, three, four. Yes.<br>[60:47] >> Okay, there you go. Perfect. Okay,<br>[60:49] excellent. We'll get this. It's my first<br>[60:50] day with the internet, folks. First day<br>[60:51] with the internet. Alus, why aren't you<br>[60:53] getting in here? Come on. Come on. Let's<br>[60:55] do it,<br>[60:57] Paul. Uh, so, sorry, Paul. So, you're<br>[60:59] going to take that thing that I did and<br>[61:01] you're going to get AI to convert it to<br>[61:03] PHP Storm.<br>[61:09] >> Yes, I am.<br>[61:11] >> Oh, awesome. Enjoy.<br>[61:15] >> Cool. Um, that's great. Well, I'd I'd<br>[61:19] love to see it. I'd love to see what uh<br>[61:21] how it all works.<br>[61:24] >> There's a there's a branch and a pull<br>[61:26] request coming.<br>[61:28] >> I told<br>[61:29] >> Oh, pull request.<br>[61:30] >> Yeah, I told it to make it to merge into<br>[61:33] the same thing and see if we can have<br>[61:34] the one.<br>[61:37] >> Oh. Uh, okay. Well, that that might that<br>[61:40] might break it.<br>[61:42] But but we'll see uh<br>[61:47] just because it uh the the the the way<br>[61:50] it's b the way it's bundling might not<br>[61:52] work but<br>[61:56] let's see it's building it's building a<br>[61:58] pull request right now. That's crazy.<br>[62:00] >> No, not yet. Still coding.<br>[62:04] >> Oh, okay. All right.<br>[62:08] All right. Cool.<br>[62:10] Cool. Cool. Cool.<br>[62:17] >> So, what what's what else has been going<br>[62:18] on, Paul?<br>[62:21] >> Just going I'm working on<br>[62:25] um Let me get a ticket.<br>[62:30] Um allowing<br>[62:33] um allowing<br>[62:35] to static pages to be other CPTs.<br>[62:43] Okay.<br>[62:45] Allowing static pages.<br>[62:48] I don't think I did. Uh oh, you you<br>[62:51] can't you probably can't drop the link.<br>[62:52] Um I'm gonna have to figure out out a<br>[62:54] way to let people drop links. Let me<br>[62:57] just uh Twitch and I'll<br>[63:01] see what I can figure out here.<br>[63:07] What are we doing? moderation settings<br>[63:13] block hyperlinks.<br>[63:15] Uh, okay. Your chat will automatically<br>[63:18] delete posted URLs except for once<br>[63:19] posted by you, moderators, admins, and<br>[63:20] VIPs. Oh, okay. So, I can turn that off.<br>[63:26] And then<br>[63:30] then I have to make people moderators, I<br>[63:32] guess. Mins.<br>[63:36] Okay.<br>[63:42] You know what? I'm I'm going to turn<br>[63:44] links back on and then I think because<br>[63:46] I've also ch changed some chat<br>[63:48] verification. So like chatters need need<br>[63:51] to be like basically<br>[63:54] um<br>[63:58] they they need to be verified. So I I<br>[64:00] don't know. I'm just not going to click<br>[64:02] links. So if you have a link, Paul, just<br>[64:04] just uh drop it in chat.<br>[64:07] Um,<br>[64:09] bad do court. Thanks for hanging out.<br>[64:10] We'll see you next time. And, uh, oh,<br>[64:13] uh, Troy, if you're still around, drop,<br>[64:15] uh, drop your link to your accessibility<br>[64:17] plugin or the accessibility checker in<br>[64:19] the, um, in the chat then so people can<br>[64:22] get it.<br>[64:24] Sorry, Paul. You uh, so what is the<br>[64:28] ticket 19? So, this is a court. This is<br>[64:30] a track ticket.<br>[64:32] >> Yes.<br>[64:33] Okay.<br>[64:39] See what this is.<br>[64:43] Allow custom post types as home and get<br>[64:45] get post return results for more than<br>[64:46] one post type.<br>[64:52] Oh, I see.<br>[64:55] What was that?<br>[65:01] Oh, I see. So, so this is basically<br>[65:03] change what what is this changing the<br>[65:05] like it's just it's retrieving<br>[65:09] Oh, I see. So, so is a get post just is<br>[65:12] it restricted to um<br>[65:24] I should not have done that. I'm going<br>[65:25] to be the PR.<br>[65:27] There we go. So that's T link<br>[65:41] posts allowed on homepage. Oh, I see.<br>[65:43] Okay. So is this a is this filterable?<br>[65:45] Oh, it is filterable.<br>[65:47] >> Get post show and homepage list is true.<br>[65:50] Is this an actual thing<br>[65:52] or is that new? The show and homepage<br>[65:56] >> list.<br>[65:56] >> No, that's new. That's new that<br>[65:59] >> Oh, nice.<br>[66:00] >> That would be because not every CPT is<br>[66:03] appropriate to be on the homepage or be<br>[66:06] the home page. So,<br>[66:08] >> right,<br>[66:08] >> you have it has to be explicitly turned<br>[66:11] on for<br>[66:14] >> interesting. That's cool because that<br>[66:16] that does make sense because you I mean<br>[66:18] there's probably tons of reasons why you<br>[66:20] wouldn't want to use a page or whatever.<br>[66:21] You know, there's lots of things<br>[66:24] um or or a list of posts or whatever.<br>[66:26] That's That's pretty cool. So, what's<br>[66:27] the what's the consensus on this that<br>[66:29] it's uh it's good to go or it's like<br>[66:31] people are into it?<br>[66:33] >> Uh<br>[66:34] >> scroll down to the bottom to find out.<br>[66:35] >> It's um it needs some work. Um I'm<br>[66:38] rewriting it and doing some some uh u<br>[66:41] gooey work<br>[66:43] and fixing a few things. So,<br>[66:46] you know, this week's project is what<br>[66:48] I'm trying to get this to a working<br>[66:51] version with today's code.<br>[66:56] Oh, okay. Cool.<br>[66:59] So, are you working on the pull request<br>[67:01] that Adam was doing or like your own or<br>[67:03] or a different patch?<br>[67:04] >> I've pulled off Adam's work.<br>[67:06] >> Oh, okay. Cool.<br>[67:10] Oh, I see. Cool. Awesome. Well, that's<br>[67:13] pretty cool. I mean, that that'll be a<br>[67:14] nice little change for sure.<br>[67:16] >> Yeah. Adam basically took my patch and<br>[67:19] made it into a GitHub repo at some<br>[67:22] point.<br>[67:22] >> Oh, okay. Cool. Cool.<br>[67:26] That I'm always stealing people's code.<br>[67:28] Just kidding.<br>[67:29] >> And you have a pull request on your API.<br>[67:32] >> I do. Oh, no. Well, I probably won't<br>[67:35] merge it because I don't know what this<br>[67:38] is going to do for like the like Did you<br>[67:41] Did you test this? What's this? Add in.<br>[67:45] Um there's a folder in there with a PHP<br>[67:47] plugin in it.<br>[67:53] Oh my god. Okay.<br>[67:55] So, okay. Hold on.<br>[67:59] Well,<br>[67:59] >> the IDE stuff went as well, which<br>[68:01] shouldn't have done. Sorry for that.<br>[68:03] >> Oh, whatever. That that's that's fine.<br>[68:06] I'm going to just hide all this. So,<br>[68:08] what does this thing do?<br>[68:11] Okay.<br>[68:13] Oh, this is interesting.<br>[68:19] Can Can I just download a zip of this<br>[68:21] particular<br>[68:22] >> Yeah, you can.<br>[68:23] >> Can you download a zip from from this<br>[68:25] branch?<br>[68:26] >> Hi, Blue. I literally ne never done that<br>[68:28] before. How would I do that? Code. Oh,<br>[68:31] yeah. Right there. Uh code spaces.<br>[68:35] >> I know. I would like<br>[68:45] Okay. Well, I'll have to look at it.<br>[68:47] >> Yeah. No, I'm gonna have to try and see<br>[68:48] if it if I if it'll actually run because<br>[68:51] this is<br>[68:54] >> Wow, this is cool.<br>[68:56] Look at all this. Oh my god, there's so<br>[68:58] much stuff here. And so, where is this<br>[69:00] putting this PH? Oh, it's it's putting<br>[69:02] it in inside of a inside of a uh Can I<br>[69:04] look at the code?<br>[69:07] So, I love how it's one commit.<br>[69:10] That's so much stuff<br>[69:14] with 21 files. That's hilarious.<br>[69:17] Uh, that's cool. Okay. Well, I mean, I'<br>[69:20] I'd be really interested to see if if if<br>[69:22] this works because I think PHP Storm is<br>[69:24] definitely something that like there's a<br>[69:27] lot of VS Code extensions out there, but<br>[69:30] um, not all like, you know, there's a<br>[69:32] lot of PHP Storm users as well. Um, do<br>[69:35] you get proper TypeScript support help<br>[69:37] and stuff in PHP Storm? I I I used to<br>[69:39] love PHP Storm. I used it all the time.<br>[69:41] I used to use it all the time, but I<br>[69:42] switched to VS Code a number of years<br>[69:43] ago now. Um so so I'm a little bit uh<br>[69:46] behind on it, but it'd be very cool. So<br>[69:49] it does like autocomplete and all that<br>[69:51] stuff.<br>[69:52] >> All that good stuff. It finds all the<br>[69:55] all the functions and all that stuff.<br>[69:57] >> Okay, great. So, I mean, this would be<br>[70:00] very cool if we could split this out<br>[70:02] into its own<br>[70:04] um<br>[70:06] into its own uh folder inside of this.<br>[70:10] So, did this move everything or did it<br>[70:14] just put a folder beside it?<br>[70:17] >> No, it put a folder beside it.<br>[70:23] >> So, there's a folder. So all that code<br>[70:26] that's in the original repository there<br>[70:28] there's just like a there's a PHP Storm<br>[70:30] folder in there now.<br>[70:32] >> Yes. Yes.<br>[70:33] >> Okay.<br>[70:35] Interesting.<br>[70:36] >> Yep.<br>[70:37] >> Um<br>[70:39] so I wonder if maybe we can put all the<br>[70:49] And it's still by the command pal. This<br>[70:51] is<br>[70:53] um I wonder if you wouldn't mind telling<br>[70:56] your a AI to take all the the the<br>[70:59] existing files and put them in a VS Code<br>[71:01] folder. So So there'll be like<br>[71:04] essentially two folders at at the root<br>[71:06] of the um at the root of the project,<br>[71:10] which would be like VS Code, PHP Storm,<br>[71:13] and then kind of go from there. But<br>[71:16] again, I'm not sure if I'm gonna if I'm<br>[71:18] gonna uh merge this or not, but this is<br>[71:22] I'd like to see if it works, which would<br>[71:23] be cool. So So So tell me if it works<br>[71:26] and how it works and everything. We can<br>[71:27] go from there.<br>[71:35] >> We'll play. See what happens.<br>[71:40] Can you share your screen? Did Did I<br>[71:43] allow that? I I don't know if I allowed<br>[71:45] that or not.<br>[71:56] >> No, disabled my end. H<br>[72:02] maybe I can<br>[72:08] I might have to<br>[72:17] I probably needed to set that up before<br>[72:19] I uh there was a Oh, wait. What's in<br>[72:22] there? Oh, yeah. Can I try that? Can I<br>[72:26] Ah! Oh, hold on. Okay.<br>[72:31] Uh, I need to I need need to set that up<br>[72:34] for another time, but that's cool. Um,<br>[72:36] you can just let me know if it works,<br>[72:37] which would be great. Um, that'd be fun.<br>[72:47] Oh, Troy, what are you saying? Sorry,<br>[72:48] Troy. Uh, I should dive back into some<br>[72:50] old issues I created. Do a bit more<br>[72:51] contributing. Yeah, we like<br>[72:53] contributors.<br>[72:55] Where can I find the snippets link on<br>[72:58] the developer? Oh, the snippets link.<br>[72:59] Yeah, it's right there. Um,<br>[73:02] it's here. Elus, that's for you.<br>[73:07] And we're always looking for new<br>[73:08] snippets. So, snippets and articles and<br>[73:11] all sorts of fun stuff. We're always<br>[73:12] looking for that at the uh for the<br>[73:16] um developer blog. There's the process.<br>[73:18] It's pretty pretty easily, pretty well<br>[73:20] documented. There's a how to how to<br>[73:22] contribute section under the about if<br>[73:24] you're interested in getting involved in<br>[73:25] adding whatever go read that. I think<br>[73:28] there's a uh there's a monthly meeting<br>[73:30] to discuss the content that's like the<br>[73:32] ideas that have been put forward and<br>[73:33] then if they get approved they get you<br>[73:35] can just write it or do it and you can<br>[73:38] go from there. Oh, excuse me.<br>[73:44] All right. What time is it? Well, Paul,<br>[73:47] is it working?<br>[73:48] >> No, not yet. I can't work out how to<br>[73:51] actually load it into the plugins.<br>[73:54] >> Oh, I see.<br>[73:59] I don't think I have Do I have PHP Storm<br>[74:01] set up? I do not.<br>[74:04] All right. I'll probably have to<br>[74:05] download that, try it out. First Tuesday<br>[74:07] of each month, we meet. There you Yeah,<br>[74:10] Troy's on the one of the one of the<br>[74:13] people that approve it. So, sweet talk<br>[74:15] him. Go download his plugin.<br>[74:18] All<br>[74:22] right. Well, I'm gonna have to cut this<br>[74:25] a little bit short today because I have<br>[74:27] a very important email for my daughter's<br>[74:29] volleyball team uh that I have to def<br>[74:32] tell them what hotels we we want to stay<br>[74:34] in and it's first come first serve. So,<br>[74:35] I have to like literally wait by my<br>[74:37] email hovering to click it and go. So,<br>[74:40] it should be coming in shortly. But, I<br>[74:43] want to wait and Paul I want to I want<br>[74:45] to hear just how good it is. If if it's<br>[74:47] good,<br>[74:57] I'll let you know.<br>[74:59] >> All right.<br>[75:08] And um like I said before, if anyone's<br>[75:10] interested in uh jumping on stream,<br>[75:14] doing that<br>[75:16] showing show and tell sort of thing. Um<br>[75:19] in my Discord, there is a show us the<br>[75:21] goods channel. You can drop a message in<br>[75:23] there and we can coordinate something.<br>[75:25] I've got my first one sort of I got my<br>[75:28] first guest lined up, but I don't know<br>[75:30] when we're going to do it yet. And then<br>[75:31] after that, it'd be great. I don't know.<br>[75:33] We could do it every once every couple<br>[75:34] weeks, once a month, something like<br>[75:35] that. People have stuff they want to<br>[75:37] share. I think I think it's cool. It' be<br>[75:40] fun. And maybe we'll turn it into a<br>[75:41] podcast because everyone needs a<br>[75:43] podcast. I don't have one. Paul, do you<br>[75:46] have a p Do you have a podcast, Paul?<br>[75:48] >> Yeah.<br>[75:50] Um,<br>[75:50] >> do you have a podcast?<br>[75:51] >> No, we haven't. I haven't got a podcast.<br>[75:53] >> Oh,<br>[75:56] I was gonna say.<br>[76:00] So, if anyone wants to start a podcast<br>[76:02] with Paul and I, let me know. We'll<br>[76:04] we'll<br>[76:07] definitely do do a show project. Yes.<br>[76:10] Cool. Troy, you're in you're in for that<br>[76:14] because let's do it. You'll be number<br>[76:16] two.<br>[76:19] I think that I think that'll be a ton of<br>[76:20] fun. Okay, awesome. Well, let's get<br>[76:21] organized. We'll um you you let me know<br>[76:24] when you like we'll we we we can talk<br>[76:27] but let's let's get something figured<br>[76:29] out in the next like<br>[76:31] couple of weeks. What like not to be<br>[76:33] live in a couple of weeks but to get it<br>[76:36] figured out when they would work when<br>[76:37] you think it's it's ready when we can go<br>[76:39] through it so you can show it and we can<br>[76:40] also like talk about the the the the<br>[76:44] technical stuff. Nice. Oh, you're<br>[76:46] waiting on some early feedback from me,<br>[76:48] aren't you?<br>[76:51] You know what I I'm I'm going to do I'm<br>[76:53] gonna um I'm gonna my kid and I are<br>[76:56] going to sit down and we're going to<br>[76:57] play it because he's been he's been<br>[76:58] dying to play Dungeons and Dragons and<br>[77:00] it's um this sort of idea. It's not<br>[77:03] Dungeons and Dragons. I didn't I didn't<br>[77:04] let it the cat out of the bag, but<br>[77:05] something along those lines would be<br>[77:08] fun. So, he he would probably love it.<br>[77:14] All right. Well, I will uh yeah, I'll<br>[77:16] definitely play it and I can even play<br>[77:18] it on stream at some point. Maybe when<br>[77:20] you're ready. When it's ready, maybe we<br>[77:21] can do a game. That That'd be fun. Don't<br>[77:23] let him play Flappy Bird. Yeah. If<br>[77:25] anyone wants to get on and and and show<br>[77:27] me their clone of Flappy Bird, I can<br>[77:29] tell you now that I will 100% approve<br>[77:33] that. I I idea.<br>[77:36] Yeah. I sorry I let the cat out of the<br>[77:39] bag, but it's very cool and I'm not<br>[77:41] going to talk about it anymore because I<br>[77:43] love the idea of it. It's this game<br>[77:46] where like you have to throw pigs at<br>[77:50] like structures and they fall down. It's<br>[77:52] crazy. I've never seen it before.<br>[78:01] Oh my god. We're going to make an AF.<br>[78:03] I'm Okay, next. I have my next stream.<br>[78:05] We're going to make a Flappy Bird clone<br>[78:07] using the interactivity API on stream.<br>[78:10] Kevin,<br>[78:12] that's amazing. What better way to get<br>[78:14] back to the Dave426, whoever the hell<br>[78:16] that stupid bot was by not letting him<br>[78:19] get us down. We're going to do it. We're<br>[78:20] doing it next stream. Unless<br>[78:23] Rob and I are are going to be on next<br>[78:25] stream. So, next two streams that's<br>[78:28] going to get done. That's going to be so<br>[78:29] much fun.<br>[78:31] Oh, I'm excited. I'm excited. Sorry,<br>[78:33] Paul. I forgot you were here on the<br>[78:35] stream with me.<br>[78:38] How are you doing over there, Paul?<br>[78:40] >> I'm doing good. I'm I I'm I'm just<br>[78:43] reading the notes of how to do this now<br>[78:45] and I need to use IntellJ ultimate<br>[78:47] edition which I happen to have. So<br>[78:49] that's good.<br>[78:50] >> Oh, all right. Cool. Kevin, that was a<br>[78:53] great idea.<br>[78:54] >> This is actually<br>[78:57] >> it's what? Sorry,<br>[79:04] I didn't hear what you said. Oh, it's<br>[79:06] written in Cotlin. Oh, wow.<br>[79:09] Yeah, that's the thing. It's just like,<br>[79:10] "Build me a thing." They're like, "Sure,<br>[79:12] we're going to write it in C#.<br>[79:14] Now you got to compile it."<br>[79:18] Yay. Do you even compile C#? I I don't<br>[79:21] know. C++ you do, I think. But<br>[79:25] I'm not what you'd call a good<br>[79:28] developer, so who knows? Who knows?<br>[79:33] Um, all right. Well, on that note, Paul,<br>[79:37] I'm gonna have to drop off, but thanks<br>[79:38] so much for drop for for hanging out on<br>[79:41] on camera wi with me. Um, and uh yeah,<br>[79:47] thanks for for streaming with me, y'all,<br>[79:49] and uh for sharing your links now that<br>[79:51] you can share links again and for the<br>[79:53] ideas, the content ideas. This is great.<br>[79:54] We're gonna have so much fun in the next<br>[79:56] few weeks. I'm very excited to do all<br>[79:58] this. Um, and uh, yeah. So Paul, is it<br>[80:04] it's it's it's not doing it. It's not<br>[80:06] compiled yet or built or whatever.<br>[80:08] >> No, I'm still install reinstalling the<br>[80:10] uh IntelliJ because um I hadn't I turned<br>[80:13] it off because I had I stopped using it<br>[80:15] because I thought be a bit lighter and<br>[80:18] just have PHP Storm running.<br>[80:20] >> Yeah. Yeah.<br>[80:22] >> Sure. That's actually one of the reasons<br>[80:23] I moved away from PHP store because it<br>[80:25] felt like such a beast. Like every time<br>[80:26] I I I opened it, it just felt huge and<br>[80:29] bloated and then like VS Code was like<br>[80:31] instantaneous.<br>[80:32] >> Yes. Until you file in all of the<br>[80:34] extensions. Um it's<br>[80:36] >> Well, there's that.<br>[80:37] >> Yeah. And that's the difference is in<br>[80:39] PHP Storm, you've got to configure it<br>[80:41] and add all your other extensions.<br>[80:43] Sorry. In VS Code, you got to do that.<br>[80:46] PH4 Ptorm it's predetermined and bundled<br>[80:49] and you only have to add a few plugins<br>[80:52] to to tweak it whereas not everything<br>[80:55] >> for sure. I I loved PHP Storm. I I will<br>[80:58] say this. I found it much easier and<br>[81:01] better to debug PHP in PHP Storm than in<br>[81:05] VS Code. I found it like very intuitive,<br>[81:08] very easy. like once you got XD bug and<br>[81:10] everything all set up, I found it super<br>[81:12] easy and it and the the inspection like<br>[81:14] everything that you can do is really<br>[81:15] really good. I find VS Code to be okay<br>[81:18] in that regard. Um, but I transitioned<br>[81:22] to VS Code right right around the time<br>[81:23] that I was sort of like getting into a<br>[81:24] lot more JavaScript. So, I wasn't doing<br>[81:27] as much like PHP<br>[81:29] um inception stuff like you know. So,<br>[81:32] and it could just be that I just didn't<br>[81:34] spend enough time to get it set up<br>[81:35] properly. But I found PHP store to be a<br>[81:37] lot more robust with that sort of stuff.<br>[81:40] Um, but then in VS Code side, like it's<br>[81:42] really great for all all the npm and the<br>[81:45] auto formatting and the auto saving and<br>[81:46] like all that sort of stuff. So, I mean,<br>[81:48] they both have their their benefits. It<br>[81:50] really just depends on what you're doing<br>[81:51] with it, right?<br>[81:52] >> Yeah.<br>[81:53] >> Yeah. Yeah. Yeah. PHP is great and and<br>[81:56] that's the other thing. You don't have<br>[81:57] to pay a license for for PHP or for VS<br>[81:59] Code.<br>[82:00] >> No, that's true. It's free. Yeah.<br>[82:02] >> But I'm happy to support them. and<br>[82:04] they're doing good work and they're<br>[82:06] they're the writing.<br>[82:06] >> Oh, for sure.<br>[82:08] >> So, yeah. No, no, no. I mean, it's it's<br>[82:10] it's if if I mean, if it's like it's<br>[82:12] like, you know, if if you're a mechanic,<br>[82:14] you you buy your tools, right? Like this<br>[82:16] this IDE is literally your tool for<br>[82:18] doing your job and making money. So, I<br>[82:20] mean, of course, investing in it is<br>[82:22] makes sense.<br>[82:22] >> And I I ended up with the ultimate<br>[82:25] package. Um, and I the maths um worked<br>[82:29] out better with the um um uh AI tool<br>[82:33] built in because of the ultimate<br>[82:35] package. I the AI tool bundled with it.<br>[82:38] >> So I haven't had I'm not paying extra.<br>[82:40] So it it actually comes out cheaper to<br>[82:42] have PHP<br>[82:43] >> to have the bund the whole bundle not<br>[82:46] just PHP Storm and the uh AI tool.<br>[82:50] >> Oh, I see. Because because PHP like in<br>[82:53] intellisense or what whatever the<br>[82:54] company is intell whatever the company<br>[82:56] is that PHP store I can't remember<br>[82:58] >> nippines like yeah like that they have a<br>[83:01] number of other IDEs for for other other<br>[83:03] things.<br>[83:05] >> So cool. All right. Well, now that uh<br>[83:08] Paul's told us he has the ultimate<br>[83:10] package. Lucky lady your wife just<br>[83:12] joking. Oh, that's a horrible joke. I<br>[83:14] gotta uh I'm gonna I'm gonna leave on<br>[83:16] that very not safe for work tone and<br>[83:20] We can go from there. Paul's not<br>[83:22] laughing. I feel like I offended him.<br>[83:24] >> No, no, you haven't.<br>[83:27] >> It's meant with love and respect, Paul.<br>[83:28] It's a joke.<br>[83:29] >> Yep.<br>[83:30] >> Um, yeah.<br>[83:36] Awkward. Anyhow, um<br>[83:40] Oh, yeah. There's a delay. There's a<br>[83:42] six-month delay in the<br>[83:44] >> Yeah, I know.<br>[83:46] I was I was concentrating slightly on<br>[83:49] opening up the uh the project in<br>[83:53] >> Okay. All right, Paul. Well, I mean, bad<br>[83:56] jokes aside, I hope I haven't offended<br>[83:58] you. That was not the intent.<br>[84:02] I just couldn't I couldn't help myself.<br>[84:04] All right. And on that note, I'm gonna<br>[84:06] I'm gonna say goodbye, friends. And uh<br>[84:08] call in HR. Yeah, Kevin's calling HR.<br>[84:11] Yeah. Um uh and yeah, cool. So, next<br>[84:15] week, I'm not sure what it'll be, but<br>[84:16] it'll be something fun. So, uh, drop in<br>[84:19] and say hi. And, uh, yeah. Anyways,<br>[84:23] Paul, thanks so much for hanging out and<br>[84:24] the for the for the poll request. Thanks<br>[84:27] everyone else for for chilling with me<br>[84:28] today. I'm going to say bye and I will<br>[84:30] talk to you all later.<br>[84:34] If I can find the button. There it is.<br>[84:36] Later. ## Highlights - just came out. And so now this PHP only blocks thing uh now we can we can get these things happening which is really cool. So this is this is kind of fairly complete like fairly complete. I think I think we're in a position now where you just install the Gutenberg plugin and you're able to do PHP only blocks. So um that's super powerful. Super powerful. And we also discovered that you can still in in quue JavaScript ([View Highlight](https://read.readwise.io/read/01kfngv3anxmpy9esecg3gbac8)) - Tags: ๐Ÿ‘ป ai highlighted - Okay, cool. Um, right. So, that's that. I think I I just messaged Cross Keys because he's literally talking about this in one of the Discord chats about like, "Has anyone done this?" Uh, cool. But the other thing is, what is the other thing? Uh, okay. It's not in there. It's not there. It's not there. It's not in there. Ply box plug in Gutenber. Oh, great. Okay. So, I've been working on the icon block again. And I'm super excited about the uh about the work that we've sort of um uh been able to to to ([View Highlight](https://read.readwise.io/read/01kfngv3by4wk00e5ksa14brvh)) - Tags: ๐Ÿ‘ป ai highlighted - guides. No, let's go. I can never find it. The thing that I'm looking for getting started. Oh, I I know how it works. Okay, let me go to packages. Let me go to Let's go to um whatever the block editor. Going to read me. So in the read me somewhere down here. Why does it look like that? Okay. Why does it look like this? Something screwed up. Oh, there we go. ([View Highlight](https://read.readwise.io/read/01kfngv3e933exzf6kt7ds92dt)) - Tags: ๐Ÿ‘ป ai highlighted - and we can chat about it. Um all right. So, the next thing that I want to show you guys is something that I've been working on. Uh, I built it yesterday and it is a extension. Where's my extension? Right here. It's called and uh I I I built this with with Claude Code in like two days and I'm super excited with it. It's my first real like um uh like real vibe code whatever thing. ([View Highlight](https://read.readwise.io/read/01kfngv3nt5sb1grd68z44f4wx)) - Tags: ๐Ÿ‘ป ai highlighted - to hang out um and hang out and do stuff. All right. Um I don't really have much else I I was going to really go over. Let's see snippets. See, we talked snippets, talked about PHP only blocks, tell rebuild all of our person JS and let it run for three months and see what happens. Oh my god, you imagine the tokens you you'd blast through. ([View Highlight](https://read.readwise.io/read/01kfngv43mg13b5dr1s3g3qqq7)) - Tags: ๐Ÿ‘ป ai highlighted - you're going to get AI to convert it to PHP Storm. >> Yes, I am. >> Oh, awesome. Enjoy. >> Cool. Um, that's great. Well, I'd I'd love to see it. I'd love to see what uh how it all works. >> There's a there's a branch and a pull request coming. >> I told >> Oh, pull request. ([View Highlight](https://read.readwise.io/read/01kfngv4cb736k25w2thd6v48e)) - Tags: ๐Ÿ‘ป ai highlighted - people are into it? >> Uh >> scroll down to the bottom to find out. >> It's um it needs some work. Um I'm rewriting it and doing some some uh u gooey work and fixing a few things. So, you know, this week's project is what I'm trying to get this to a working version with today's code. Oh, okay. Cool. So, are you working on the pull request ([View Highlight](https://read.readwise.io/read/01kfngv4kndxs2a3h6549ytykt)) - Tags: ๐Ÿ‘ป ai highlighted - yeah. Right there. Uh code spaces. >> I know. I would like Okay. Well, I'll have to look at it. >> Yeah. No, I'm gonna have to try and see if it if I if it'll actually run because this is >> Wow, this is cool. Look at all this. Oh my god, there's so much stuff here. And so, where is this ([View Highlight](https://read.readwise.io/read/01kfngv4xwvf3pvrr17qgzwx1v)) - Tags: ๐Ÿ‘ป ai highlighted - Uh, I need to I need need to set that up for another time, but that's cool. Um, you can just let me know if it works, which would be great. Um, that'd be fun. Oh, Troy, what are you saying? Sorry, Troy. Uh, I should dive back into some old issues I created. Do a bit more contributing. Yeah, we like contributors. Where can I find the snippets link on the developer? Oh, the snippets link. Yeah, it's right there. Um, ([View Highlight](https://read.readwise.io/read/01kfngv54jvvppzq505qnwv2qv)) - Tags: ๐Ÿ‘ป ai highlighted - to discuss the content that's like the ideas that have been put forward and then if they get approved they get you can just write it or do it and you can go from there. Oh, excuse me. All right. What time is it? Well, Paul, is it working? >> No, not yet. I can't work out how to actually load it into the plugins. >> Oh, I see. I don't think I have Do I have PHP Storm ([View Highlight](https://read.readwise.io/read/01kfngv5mngdy9qpjyrvjwg94a)) - Tags: ๐Ÿ‘ป ai highlighted