BrandGhost

LIVE CODING - WordPress Migration to Blazor

It's time! WordPress on AWS LightSail has been non-stop problems for nearly 2 years now. Time for a change. I'll be looking into using LinkDotNet.Blog by Steven Giesel as my blog engine of choice. But migrations are never easy, so this will be the first of many sessions trying to figure out how I can get my blog setup before going live. Remember -- I need to keep as many links active as possible so I don't ruin my SEO!
View Transcript
just getting started here just checking to make sure streams are going where they need to be streaming to and I think we should be good to go in just a sec here because I don't have to do Instagram today when I code live there's no Instagram because vertical video and coding do not go well together um cool yeah today's going to be fun uh we're going to be trying to do a little bit more progress on the WordPress to Blazer migration uh I know there's a lot of stuff going on right now with WordPress uh literally my migration has nothing to do with all of the WordPress news uh ironically or coincidentally or what have you um it's entirely selfmotivated I just uh I've been realizing over the past week or so I'm like oh man like kind of a a timely topic I suppose but the uh the reason that I'm trying to migrate my stuff from WordPress and light sale is I'm just going to give you a little bit of background so it makes sense why I'm doing this but when I set up my Dev leader blog I had originally launched it in like 2013 I launched it on a Raspberry Pi which was uh a lot of fun and I remember at the time I was like okay like it's kind of a pain in the butt like it was pretty cool to do but I'm like I might as well get this thing hosted and did that that and it was it was better uh and then when I gave up on blogging and resumed it you can see my cat in the background that's veto he's uh GNA make a mess of that coach uh when I had finally resumed it again in uh in the start of 2023 I said okay it's time to like let's get it on a sort of more modern platform so I moved it to light sale I had I kind of revamped my WordPress setup and the goal was that I could use use plugins and stuff and everything would be great I could be totally hands off but it was quite the opposite effect by putting so many plugins in place uh like basically my site goes down every like two to three days because it'll Spike up in CPU and it will either kill off the service or hang the entire VM it's outrageous so uh I'm constantly battling that uh there's tons of like weird styling issues from caching like out of nowhere like things will just break it's a nightmare to work with now and it's been like this for about a year so started off pretty good but I I guess it's my own doing by adding a bunch of plugin so long story short instead of trying to say okay like let me finagle all of this in WordPress and work with plugins and stuff like I'm just going to not do that I'm going to move it over to Blazer uh I apologize if I'm pronouncing his name in correctly but Steven Gil has a Blazer blog engine I will put the link into the chat uh oh and also I think he's on YouTube here link.net so hey everybody hey Nick that's Steph I believe Buran good to see you uh Stephen let me know if I'm pronouncing your last name correctly if it's gel uh if you want to phonetically write it out I will correct how I'm pronouncing it I apologize but this is the repository I did get uh net 9 installed this time almost 7 out of 10 on the nice okay I'm I'm close I'm close uh the last time we went through this I was using the net 8 version Steven had mentioned that there's a couple more enhancements so uh we'll try to see what those are my goal today is again not to get everything totally ported over there's like 350 blog posts my goal today is to first of all let's poke around in the the newnet uh sort of like off the the mainline branch and okay Ela uh we'll we'll see the uh the new features and then what I'd like to do is kind of walk through how I'm going to have to migrate my posts um this morning I tried to get set up man this cat is chaos buddy come on leave the couch alone oh my God it's funny they have all these scratching posts and stuff and they're like no interest and then couches are like the ultimate scratching post of course but um my goal is because I have so many blog posts and the formatting is going to be completely different right in WordPress everything's HTML all the plugins and stuff have the ability to drop in like short codes and things like that so you can like template parts of your blog post so what is stored in the database is different than you will see when it's finally rendered and I want to make sure that when I'm porting all of this stuff over I don't imagine it's going to work uh perfectly and like I don't have that expectation so what I want to do is figure out where there are gaps now this morning I was trying to get set up ahead of time I wanted to make sure that I could get uh my SQL workbench set up so that I could show you guys like I have uh basically a clone of my entire WordPress uh uh database I cloned it over to Azure because it's currently in a us cloned it to Azure so I have like a working one that I can if I if I happen to uh write anything I'm not going to to Brick anything that's live uh worse than it already is and uh unfortunately on this machine I don't understand why I don't know if my my SQL workbench install is corrupt or something but uh I can't connect to the uh the database so I basically am cheating by I went to my other machine it's literally sitting beside me um it can connect it's all the IPS and stuff for networking are fine I think there's just something weird in my uh my SQL workbench setup it's it's actually telling me that it's like failing to load a plugin for authentication which seems pretty suspicious on a brand new install but uh I have some of the post exported and I I just picked three because uh I figured I have a like a newsletter article I have a generic like uh some of the articles that I used to be publishing more regularly before I was focusing more on developing brand ghost and then I have like a what I call like an Uber article which is just a really big article that links out to a bunch of other ones and this one's on design patterns so I felt like that would be representative to get a bunch of different things and what we can try to do is take the HTML we can convert it to markdown there is uh a handful of Nate packages that can do it but like I said suspect that it's not going to work perfectly so I want to see where the gaps are so hopefully that sounds like an okay plan um by the way folks uh please do use the chat if you want to ask questions we'll pause at any point to answer things uh Stephen who is the author of uh of this blog engine is in the chat I don't know how long he's going to be sticking around but if you have questions and stuff he's uh he's there um and I'm sure he'll be pointing out all the things I'm doing wrong which is great it's one of of the the joys of live coding you have an audience to say hey no you're wrong and good morning Muhammad good to see you from LinkedIn okay um let me go ahead and flip over my screen uh just to show you what we got going on here so um this is where the repository is I did put it into the chat but it's link.net blog and again this is Stevens uh Blazer blog engine um so this is pretty pretty cool uh I do have it running on the latest net9 version so let me pull this up I've already pulled down the code um and this is I just got Visual Studio like the preview version installed to run. net9 this morning so as I go to run through this there's going to be some stuff that's not configured how I expect so it'll be okay uh good to see you Muhammad on YouTube and I've already run this and I just wanted to clarify for folks because you didn't see do this ahead of time but it runs perfectly literally with no changes after cloning down the code which is uh always a very enjoyable experience just literally all that I did was I changed uh in this menu I wasn't using IIs I just wanted to run it from link.net blog. web just run it Standalone and honestly that's literally the only thing I did and then I press play okay so it's it's running right this moment I'm going to open up a new tab one sec ah okay and I'm going to take the URL drop it in and there we go right so this is the blog running there are no posts but this is Blazer which is awesome let me zoom out a little bit okay so we we saw all this before but this is I just wanted to call out that this is the new uh net9 code this is running off of the main line um Muhammad I'm interested in learning C and net have been using Java for a couple of years now any resources you can recommend yep um you're in a good spot I put out a ton of net content uh there's also Steven who's in the chat ow cat is attacking my leg sorry that's very painful buddy you got to go okay back here I've never had so many nails going to my leg at the same time um yeah um so you got a couple of net creators in the chat uh I can if you you're on LinkedIn right now if you check out my YouTube channel it might be a good starting point um so that is right here coming into the chat so good starting point um I don't I don't want to plug courses right away because I don't think that that's necessarily the best option for everyone if you are motivated by learning by courses I do have like a getting started course and stuff which I will plug a little bit later in the live stream but um definitely like if you check out my content and Steven has a lot of good content as well uh I know Steven has a lot of advanced content and I'm not saying that he doesn't have any more beginner stuff but uh he certainly has a lot of uh really awesome advanced stuff as well so cool um Muhammad let me know if you have any other questions if you start poking around if you check out my channel there should be like beginner uh playlist that you can look for and get started there um Java is very similar to to Net in terms of syntax and things like that so um I think you'll be pleasantly surprised coming over to uh toet so okay and I have a break point that's been hit payload was invalid data protection warning I don't know what that is Steven fix it I'm just kidding um okay so overall I think we're in a good spot to to check some new things out uh Stephen I didn't ask you ahead of time and I think you mentioned it somewhere in a comment um but you said there's some new features and I guess we could go look at the code but I could have swore you said something along the lines of automatic um I can't think of the word automatic table of contents which is pretty cool but if we check out anything there's probably feature culture probably some fixes and stuff which is fine I'm just kind of scanning through rate limiter you can see step has tests this is good I'm just scanning through if step's still in the chat and he has a quick note on what is a sort of new fancy features that would be cool to hear like I said just kind of scanning bunch of fixes which is awesome yeah I think there was two things I remember and I could have them totally wrong but I believe there was a automatic table of contents uh for folks that aren't aware um what like there's a couple of blog engines that do this like I think um hash node there's a couple of them anyway uh I I use this feature in WordPress using a plugin so I can write uh My article it will you know I'll have my my headers and everything and then uh at the top you can insert a table of contents and basically you don't manually go update it it will automatically drop it in and you can jump to different parts of the article which is I think really handy for being able to um have users navigate I believe it's probably helpful for uh for search engine optimization as well at one point I started dropping this in everywhere because I believe I read it was good for SEO but who knows these days okay link.net is so this is Steven saying new feature better archive you have a table of contents and you have oh automatically related blog posts that's cool um unfortunately I don't have any blog posts imported right now but that's an awesome feature um yeah in WordPress I think this is my current site um and I've talked about this before but my current site like all the spacing like this is wrong all of these big spaces that's not supposed to exist there um and I'm not logged in so let's see if we go I haven't made new posts aside from newsletter articles in ages but let's uh let's scroll a little lower I just wanted to see if we can pick one okay so here you can see automatic table of contents from WordPress okay so Steven saying we have this dis ability now which is pretty cool oh and and Stevens I just realized he's saying for for developers so if you if you're interested in using this uh he's saying I use nullable annotations I missed them and it bugged me so much so awesome that that's in there got to got to pay attention to the people that are going to be using it as well so that's awesome um you'll notice here too just to kind of point it out this block here with all of these um social icons whether or not you like this not but the idea here is that this is actually a template that's dropped in it's called a short code so for example I have this dropped into hundreds of blog articles and if I wanted to update and change a social media platform I just change the short code and automatically any any post when it's rendered will uh display the right thing so uh I'm assuming we don't have this kind of thing in this blog engine but this will be something if it doesn't exist I will be trying to build it because I need it it's probably uh one of the most useful things for me especially if I want to put relevant chus advertisements and things like I can do that um I'm pretty sure because it's going to be using markdown we'll be able to escape text and stuff like this but um what I wanted to show you was the related blog post part so if we scroll to the bottom so this one in WordPress it's recommended I don't actually know how it recommends things to be completely transparent so um Steven saying uh that we have automatically related blog posts I have no idea if WordPress is trying to determine if these three are somehow related so this article was about autofax service provider Factory for asp.net core so maybe like it's picking three things with asp.net core it's picking two things with autofac um so perhaps uh but I don't know how it's determining that these are related but it sounds like Steven saying we get this feature which is cool awesome okay so let me go ahead and go back to the code here um I don't know we had a we had a weird bug from like it crashed on me but I'm not totally concerned to be honest because uh I don't know just I don't I don't know what the error is yet and I'm kind of running in a bit of a a test setup so not that concerned uh but I think what I'd like to do is figure out and maybe what I will do is I'll change the storage mode instead of being in memory which is default so I think was that in app settings um oh persistence provider is SQL light oh I could have swore that it was in memory uh maybe that's what it was on when I did it last time so does that mean that we had a sqlite database that got created persistence provider it's the only one in here so for I should I just want to explain my thoughts so last time we were streaming I'm pretty sure this was oh and Stephen saying in memory doesn't exist anymore okay cool um since I mention it um so this is using sqlite so yeah okay I'm not going totally crazy here maybe for other reasons but the um last time we streamed it was doing in memory so the persistence provider was in memory that means there's no database created on dis or anything like that now it looks like the default is sqlite Sten saying in the chat that inmemory does not exist anymore which means that we should have a file that's created um for those that aren't familiar with the connection string syntax especially for uh sqlite you can see data source just equals file oh and it does say memory so I'm I'm going a little crazy so uh it is memory uh but I think if I change this just as an example I could say um blog. DB I believe and I should just be able to run this and we should see a sqlite file get created just waiting for this oh awesome that's I'm glad that I could be of uh of influence Steph so the um the last stream just for context and I didn't realize sorry this uh console wasn't flashing at me but it did start up um there's that exception again I'll show that in just a moment uh that might be helpful for Stephen I don't know what it is yet but um the last stream I had done I was discussing uh in memory databases and sort of inmemory uh fakes I guess so the one challenge especially if you're using uh link to SQL is that the way that the expressions are converted into SQL operations can be very misleading um and I'm not saying that you cannot or should never do this but I have had plenty of experiences so far where people said okay well we're going to instead of standing up a database like instead of running a server or anything like that um what we want to do is we just want to run the other code and assume we have a database so we'll basically use something that's like a dictionary or something else right you kind of use dictionaries as tables instead and what ends up happening is that you uh write a bunch of uh link syntax and you're doing like uh effectively it would be like link to SQL in production but it's not actually doing Link tosql in your setup when you're using things like dictionaries so what ends up happening is that you write this code you're writing text tests on it it's all working you're you're happy and then you go to run it in production and it crashes and you go what the heck like we have all these tests it's all you know we did everything we're supposed to do the problem is that there are things again specifically in link to SQL and I'm sure there's some other interesting gachas where the Expressions just do not translate into SQL and then as a result you go to execute that code and it crashes so when we were chatting about this briefly before the really nice thing about SQL light is that you can host it in memory so you don't even need a file if you don't actually want to persist it and you just want some database functionality instead of kind of cheating and just using a dictionary or you know kind of having this stubbed out um repository your database that you can work with you literally can just use a sqlite in memory database and then uh all of the things like link to SQL will work now you can still run into funny things if you're having like I don't know different sequ engines that support different feature sets but at least in this case you're using a real database which is awesome uh so Steven uh was saying I just want to pull this up so okay that's local storage maybe they changeed something between net 8 and9 you can go to your browser and delete everything in your local storage for that website okay cool um yeah it's a cryptography the payload was invalid for more information go to this site data protection warning so okay I'm not too concerned about that but uh good to call out uh and of course like you're seeing this so if you have other people that are noticing it then you can uh either direct them or if there's a I have no idea if there's an easy fix or something or if it's just something that's like kind of local state uh which is entirely possible too okay um I think from here though it might be interesting to go look at oh I wanted to go look at the database and that's what it made so it's hard to see CU my resolution I apologize let me um oh man I don't even have a a context menu to oh there it is open folder okay let me quickly do this thing I'm going to open this in SQL light expert it's a funny application name SQL light expert personal and there's a sqlite expert personal or sorry professional so it's funny to see expert and personal at the same time I've always laughed at this tool but it's a very helpful tool for SQL 8 um and I just wanted to show that we have um like there's no data but we can see the schema here right again I apologize for the resolution I can't uh zoom in on this but uh we have you know the blog post ID the title a short description if you're not familiar with that it's like a meta description especially for search engines to show you a little blurb from the article the actual content we have URLs for the pictures we got to see all of this stuff inside of uh the app uh inside of the code last time we were looking at these uh these entity types um oh and Stephen's saying the editor for blog post is way better so maybe let's try this and I might have to if it's going to throw exceptions in the local storage I might have to get that sorted out um but we can try adding one and then seeing it show up in the database that might be kind of cool so one sec we'll pull this up again I think stepen was saying I'm going to have to get rid of everything maybe oh it's already a hidden exception maybe that'll work going forward okay but um oh I guess I've never tried this before I I need to log in I suppose right and I'm I'm logged in so that's good um I I guess I don't know what I expected um but yeah is there how does it know I'm only asking this because I know Steven's in the chat how does it know I'm admin that's I could probably look in the code but uh nice to know if Stephen has a quick answer for that but it's sweet that it logged me in but now we have this new admin menu which we've never seen before because I've never logged in um so I can go to create new there's drafts there's settings what what's in the settings cool okay so we can we can actually invalidate the cash which is cool and run visit counter data the visit oh cool okay so so yeah we talked about the visit counter stuff before um okay so Steph saying for in development there's no really no real barrier so you can you can log in when you're running it like this um awesome okay so let's create a new blog post nice okay so the short description like I said this is your meta description I suppose there's probably I haven't posted or published a blog post yet um so I suppose this might also get used on the site so if you're kind of scrolling through blogs you can see a quick description but I'm assuming this gets reused for The Meta description field as well I'm literally making assumptions though so now we have the ability to go make a blog post so we could do um it is a heading nice okay and it's marked down so you can get different headings we could do a subheading yeah this is this does feel nice to use attach files by dragging and dropping okay very cool how's that going to work let me see if I can find it I'm reading this part right here and I know it's real small but it's by my face so um where is a good picture I can drop in I'm trying not to share like my entire computer and have like my entire desktop come through so sometimes I got to poke around and do stuff uh let's see this is a funny picture so I'm dropping a picture I made for a thumbnail that's my face made old by AI and it's up you can see it's uploading the image cool uh Stephen saying short description is used for the main page list including the title Stephen does that automatically get used for like SEO for like meta description um I like I said I haven't explored all of the code but I am like hyper focused on SEO optimization so uh I'm assuming it does get used like that but uh it'll be something I'm very curious about uh if you publish you can select if you want to directly publish bypassing the cash or not cool okay the default is not to bypass the cash maybe that is confusing for folks okay no good to know um so for to explain this for for others that might not fully understand what that means around the caching so um and Stephen saying that is EAS foro great so on the caching front um if you have traffic going to your website um in general it's not just for blogs but we're talking about blogs here the like blog content is pretty static right you make you publish it and like unless you're like actively editing and Publishing changes and want people to see it you really don't need um like real time updates for the stuff you're changing so having a cash is pretty powerful you basically just save like almost all of the effort your website has to do because you can just serve things directly from a cache the challenge is if you go to post something new of course like if people a cash list of blog posts they will they'll never see your blog post so you need to be able to invalidate your cash uh in some capacity to let people know to fetch this new list that includes your new post uh and then you know the other thing is if you make an update to a post do you want to invalidate the cash so people see that update the very next time they request it or are you okay for it to be like stale for a bit maybe you have a lot of traffic coming to your blog I certainly don't get enough that I'm concerned about this but uh you're you're like okay like I'll just wait for the next time the cash is uh invalidated and then the new stuff will get pulled in so step's just saying that there's options for that uh the upload is meant for markdown files never tried it with other things oh oops I didn't realize that I thought I thought and now that I'm realizing it I thought that it was this option here insert image but I thought by default it was going to do that so maybe um I don't know if I bricked it because it's confused I don't think I hit a break point though let's let's keep going but I wanted to do I'll do it again um with this this uh this button is probably defaulting to going to my uh my network drive which takes a few moments I think oh no it didn't I thought it was going to put a pop up okay so this is interesting because it means I'm going to have to upload things uh Stephen where is the what's the assumed pattern for I didn't realize this popped up because I thought I was expecting a file dialogue but yeah this is a markdown editor so what's the assumed pattern if I'm like okay I want to put a picture in um like where where should I expect to host things and I realize it's a URL so the answer is Nick literally anywhere where you can have a public URL but is there is there something built in or are we expected to have our own storage uh like maintain separately from this I guess to to rephrase the question does the blog engine and this site like support as a first class thing hosting uh images and things like that or do we just do that separately so uh just a curious question uh I don't I don't know what I'm expecting but um that's cool to know at least so toggle preview oh nice right so this is the preview mode of the markdown which is great okay unfortunately have to host it yourself currently have to maintain yourself perfect okay no no worries just a it's a curiosity right like I'm fine to do it I know how to do it um I just didn't know if there is a spot and then I should go to look for that instead okay so this is a really simple blog post for now um preview URL again so this is uh like I was just asking Stephen about embedding pictures you just have to make sure that there is a URL and maybe what we can do quickly is we can go get a picture let's pick one without my stupid face um so here's a picture right and we can do we'll insert it into the text as well where's the preview button right so we have a picture directly in here this is the preview of the markdown I have a preview URL uh Steven has a fallback which is cool so use as a fallback if the preview can't be used by the browser oh very cool so the example you can see here for example using a JPEG or pngs a fallback for avif file uh which is not supported in Safari your Edge awesome right so if you're I I actually haven't even moved anything over to this format I have webp for everything but um even from trying to Syndicate my blog posts to different sites like for example if I wrote an article and then wanted to like have a copy of it on LinkedIn link then does not allow you to upload webp files so this is a cool feature that if you're posting or publishing a blog post if the browser itself we're not even talking about a different platform if the browser itself doesn't support the main type you can fall back which is cool then we can add some tags is there I don't know how this part works if it's comma separated um is that one tag okay and then there's a disclaimer the first page of the blog is cached therefore the blog post is not immediately visible and this is what Stephen was saying right so oh nice so Steph saying the preview URL is also used as the uh the image tag so balancing SEO and compatibility were forced to use both nice okay tags are comma separated cool we did that um oh I didn't put a title in here whoops now we'll do this is [Music] our okay do I got everything covered now nice okay we got our first blog post are we ready to see it there here it is oh look at that that uh that animation is pretty sweet we can see that we have the sorry I know it's really hard to see and I have a banner that's at the bottom of my screen one second um I still realize it's very difficult to see I apologize but if as I move my cursor over this let me just right or Center click on them you can see that it opened up tags for test blogs and cool so we do have tagging which is awesome um has the read time has the publish date and then we can go read the whole article and it's beautiful as we expected right very awesome and we can clap for it oh I was hoping it was an infinite counter and I could clap to Infinity um so this is awesome and then the table of cont contents that expands at the top which is great this feels like I'm I'm clicking and you know kind of navigating like I just wanted to say I understand that you're not doing the same thing right now but it feels very nice to like it just feels nice to use which is cool I know that might sound weird but it's uh the point I'm trying to get across is like it doesn't feel clunky then we have the archive so we can go through all the posts right same thing it's it's very very fast um like super Snappy to click around um yeah and then Stephen saying related posts are generated once you have more than one item which makes sense it would be kind of suspicious if it recommended three posts to me and they were all our first post so that's awesome um but yeah like just to to show you and I realize I'm running it locally so you might say well that's why it's so fast um sure but at the same time like everything about this is just like lightning if we go to my site right like it has a spinner to load um then we have these which are all super slow anyway um but let me go over to the post again that wasn't too bad right to get to this list uh this infinite scroll thing has to keep pulling in stuff again it's not terrible but uh if we go click this article that actually wasn't too bad but uh there's definitely times where like loading some of this stuff on on WordPress for me is just like it's incredibly slow um and I'm sure my if I stayed on this live stream long enough I'm sure we would see my blog go down ironically after the last live stream I did my blog was down like 2 hours later so I got real lucky but um anyway this is pretty awesome awesome what I'd like to do now is pull up sorry I should have said flashbang warning but um I hope your eyes are still okay we can now go check out the data in here right so we have the title we have the description and then we have the content and if we go open this we can see that we have the the straight up markdown in here which is cool so what does it look like when we open up one of my blog posts and I downloaded these where did they go okay post one more oh it's not a flashbag warning so this isn't dark mode give me one sec I'm just closing some other tabs okay so instead of markdown I have this lovely thing going on here so let me zoom in a little bit uh word wrap is on so it's going to look a little weird but um essentially I have I start this is a newsletter article okay so in my newsletters I always start off with like a little tldr to list out a couple of things so again we are looking at HTML there's going to be a lot of comments you'll notice uh like this style this is just from I don't know if it's WordPress directly or the the plugins I'm using but they're I I believe they're using the comments as like metadata to be able to do Replacements so as an example you can see this is one really big comment I don't even know where the end of it is um is the whole thing a comment not quite anyway it's a bit of a mess but this part is the table of contents that's made by a plugin so the point is that like there's a whole bunch of this extra metadata and stuff that's just included in the comments this is the kind of thing that's going to break completely so um this part's fine though because as Steven was saying he has a replacement for um a table of contents so like I said my goal is to figure out as I go to migrate these posts what the heck am I going to be doing yeah and then Stephen saying for your migration youwe could build an API endpoint for bulk import doing this via thei is cumbersome so yeah like this is kind of what I'm thinking right so unfortunately like my goal today was to be able to in C open up a connection to my Azure database that has a clone of my entire WordPress site and then basically we could write code that would step through and say given this post transform it properly and then insert it into our database for uh this Blazer blog engine and I think it's still doable it's just I I didn't have time before this stream to get it set up but I need to figure out which pieces can be transformed and which pieces need some help so for example this block of code that I have highlighted like we're not going to transform this because we have a replacement for it and that's that Steven has the automatic table of content so literally don't need that great news um I think so far everything that's above pardon me everything that's above um should be able to do a HTML to markdown and I think for the most part should be okay um we're going to start seeing pictures so let me zoom in a little bit so we can see it's like WordPress image and then again this is in a comment right so it has some of the styling information and stuff like that that's in the comment um and then it's inserting a figure we can see the source of the image so when I was chatting with Stephen and I was asking hey like does this blog engine does it have like does it have host and he said like no like you have to self host for now like that's okay right now because this picture is hosted somewhere now probably what I want to do and this would be uh what's the word for this it's like um opinionated I guess if I were to write an importer it would be opinionated to say when you come across files like let's go put them into Azure storage right so instead of it just saying hey just pointing at this spot when I move my blog like I'm going to keep the same domain but I'm not going to have awp content upload blah blah blah like that's going away so what I could do is basically have this go to blob storage and then change this um that will mean that if anything else on the internet was pointing at this and like kind of hot linking to my site that link will break that's probably okay my cats are going to start to meow cuz they want to escape from this room you guys are trapped you got to stay um so that's I think that's going to be fine but I'm just thinking through how this importer or translator is going to work and like I said probably will'll be opinionated to do this and put this into blob storage um and that way when we hit blocks like this I don't know yet maybe the algorithm has to do multiple passes so we could say when you come across this and we're doing um what's it called like HTML to markdown I don't know if by default it will just make this into markdown for us and will'll link to the current page or the current picture sorry and then I have to do another pass on it to say hey for every webp JPEG that we see like let's go extract that and convert it um and then Stephen saying I like the idea of hosting the images as part of the blog itself yeah like I think that would be nice um it would feel kind of good to have it in one spot not have to to worry too much um I'm going to keep scrolling through this to see if there's any interesting I don't know like sort of features that are in the blog post that I'll have to think about I might have to grab my cat in one second CU he's he's doing this at the door it's not going to open though obviously so more text which is fine list items all this stuff should be marked down compatible not too concerned um we have another image so again same idea oh my goodness Vito come here I don't know if he's loud enough that you guys can hear him but he's he's crying he's sad and then his brother is beside me like trying to chew on cables so it's it's hard it's a struggle oh I didn't know this so Stephen just said in theory you should be able to copy paste the HTML into the blog markdown supports HTML I did not know that I did not know that markdown supports HTML Let's uh I don't know what's going to happen but let's go do it um yeah yeah so The Styling and stuff is totally going to break things um but like could we just do this when I say can we do this I want to I want to add the caveat that like I think it will be broken but will it do a lot of it like obviously like Stephen's saying like these custom classes and stuff like that's not it's not going to look right it's not going to do what we want but I wonder if this actually well let's just let's just try it um what's the worst that could happen right and then we need to probably clear the cash I'm scared what's going to happen oh it didn't clear did I not save it maybe I didn't save it oh no it's saved so I might have done something wrong with the cash clearing but it says invalidated I could also just uh restart I think unless unless it's in my local storage in the browser let me go back [Music] back I have a few of these open oh it did what the heck I had two of these windows open so it it did do it I just switched to this one and it worked th this is my this is insane so Stephen I actually don't know what happened cuz I had two windows open maybe when I restarted it though it caused one of them to forcefully refresh though um I'm I'm I'm all over the place right now because I'm baffled that this it I didn't expect this would work at all this is actually really good like the picture resite like sure that's whatever um these are links oh that's another thing oh oh no all my all my URLs and stuff I'm going to have to try and make sure that I can update um but as long as I have as long as I can maintain the the slug and everything properly I should be okay like but this is the format like the code the code's all formatted properly I have no idea how this worked so well this is incredible so here's one spot that's interesting um this worked so I'm not I'm not complaining about it but one thing that I will want to do is like this is a block that I have in WordPress that is uh what I was referring to as a short code so at any point in the future for my newsletter articles because I send out my newsletter and then I have an archive of them on my website and it's a premium feature if you want to access the previous currently the 65 newsletter articles that I published if you would like to access those and have historical access um you know if you if you subscribe from day one you would have a copy of all of these in your email so you'd say well it's kind of stupid for me to pay to get the archive I get it um but if you are subscribing later and you said hey like there's a lot of value in these older blog posts these newsletters I'd like to see them you can subscribe also get uh included in that a Discord membership that I have but the point is that when I put these into here if I want to go replace them and update and advertise a new course for the the ones that are currently on my site obviously if it's in your email I'm not changing your email but um I have these short codes and I can basically change like this content in one spot and then the next time the page loads we get that automatically so I think I'm assuming we don't have that kind of functionality but like I was saying before if that's something that step thinks is interesting like that would be cool I'm happy to go at least prototype it if he doesn't want to spend time on it totally cool but I think for me that's going to be something that I need to be able to manage short codes because it will um not only does it save some time so I don't have to go rewrite some things of course I could go copy and paste but the main powers that I can update one spot and have it propagate to all of the other uh pictures like it so he's saying spicy I like that feature and have somewhat replaceable content Define dynamically um yeah and then Joshua hey what's up sorry for the party let's go WP migration inevitable at this point yeah and for folks that join later I did say that it's a complete coincidence that there's a bunch of stuff going on with WordPress right now and I I don't want to get into all the the politics around that but um yeah I had my own motivations for migrating it's not uh I don't even know what's going on with WordPress but it's been a pain in the butt for me for how I'm hosting it um this is okay so one part that broke and totally had no expect I had no expectation of any of this working at all just for the record I want to be very transparent about this that my thought process was today I'm going to be writing all of the code that gets anything to show up here and we're light years ahead of that and thank you Steven for pointing out I guess I should have known this but markdown supports HTML so that's cool one thing that we're not getting right away and I thought this was going to be a sticky point is like you can see there's a YouTube url here and if we were to go to one of my let's go to to substack so because on substack I have some of these available oh the cat is attacking my foot oh my God it's bad let go buddy his nail is stuck in my foot and I don't want to lower it because he'll grab it with his other paw this is Hell okay let's take this article and if we scroll to the bottom uh what I like to do is I like to put in sort of YouTube videos for the week well Stephen saying you can use the embed Source HTML tag for that well Stephen the problem with that is that I don't know anything about HTML and anything to do with web development so um so migration might be straightforward awesome okay that's good news so yeah this is the kind of thing right if we look at my current newsletter um it's if I I know it's not the same article but see how it says weekly recap let me scroll back up uh weekly recap right if I go between these two um you see the title and then instead of it being a video player it's uh just the URL so um embed source HTML tag for that okay um that sounds cool so if I Google HTML embed video W3 schools and I'm being totally transparent I don't do anything in HTML like I I just don't when I when I build stuff with like on the side uh I stick to all the backend development so does the video element work also how is the video YouTube embedded in the current HTML yeah good question um like on this page right let's go look for this text oh man it's all it's on one line of okay I got to move to the right sorry what am I oh sorry that's in the table of contents oh my goodness this is a nightmare did I get the second one now oh maybe it's this one I am having so much trouble trying to read across this single line but um anyway um I don't know like Stephen does a video tag work or do I have to use you said embed right like is that a different embed Source HTML tag oh interesting I don't know enough about like the difference between just using video or embed Source uh one of the things that's a a factor here and maybe there is a difference is like embed can be used also for PDFs oh cool okay um one of the things that's important is on on YouTube videos when you embed them on different places I'm pretty sure depending on the control like if especially if you're automatically playing them you do not get views so obviously like primarily for me my content creation is on YouTube um and because my content is primarily on YouTube when I have blog articles and stuff I would like for people that see the YouTube videos to watch the Youtube videos The Views help me they help me grow my channel so um I want to make sure that they're not automatically going to play first of all that would be super annoying and second of all I would like the view counts to to be counted um Steph saying go with video it should be fine uh JD Davis just hopped on are you building a Blazer based CMS or are you converting a WordPress site to be Blazer based uh sort of the lad so uh I I know Steven said I have his name a seven out of 10 uh I've been saying Gil I don't even I don't even know how to guess another pronunciation of it Steven Gil sorry for getting your last name wrong uh he has a Blazer blog engine I put the link in the chat um one sec though I think there's another tab I have somewhere um there's too much going on uh link.net this is Steven sorry it's off the the screen here repositories blog so for folks that want it there we go that's the repository so this is what I'm going to be converting my site over to hello s uh Joshua just keep the good work command you Ma for line WP so that you can read the code instead of scroll to the left ah good to know okay it's like the character Jay okay I'm gonna have to practice this not on stream because I'm going to embarrass myself um I actually saw uh Jade Wilson who she's at Microsoft as well she um she makes a a lot of content on LinkedIn and other platforms but she had posted something that was like does anyone else have anxiety about mispronouncing people's names and I am 200% the person that is like phobic of mispronouncing people's names uh I feel so embarrassed and I I don't mean to insult people but I'm really bad with names so um I'm trying my best but I am very afraid of doing the wrong thing okay so step saying we should be able to get away sorry flashbang warning too late um with putting a video tag around this and I'm going to go back for just a moment was video oh and there's autoplay which we don't want oh and then you can do multiple sources okay let's just copy this for a moment and again I apologize I realize this text is probably stupidly small um you're on one quarter of a a 4K resolution screen so let's go down to where this is the wrong one no it's it's the right one okay it was a different uh newsletter article which was confusing me so if we were at the bottom okay we can see that it's doing a figure instead so let me I'm gonna replace the last one and actually I'll leave that in I don't have OG though um I think I was doing like 600 by 400 as default do not want autoplay and then I'm going to take the embed URL we're going to get rid of all that and do this so I'm not yet doing it for all of them but I'm going to save that so press okay if I just to prove that it worked if I go back into this you can see right here that it has the video stuff so I just wanted to show you that this is committed into the database at this point in time so we have that there I think there was something uh again there might be a bug with the cache not uh invalidating so I'm just going to rerun just so we don't have to guess and then I'm going to go back we can see that this refreshed and if I scroll down a little lower maybe we have a video we got we got something oh it says copy video address interesting so there's actually a like a video control here I guess if we copy the address is it oh that is my YouTube video that's my face okay so there's a video here I'm not exactly sure why it's not working that's okay though um we could try embed as well so again I'm going to go back here I'm just messing around to see like what things we have to work and play with here um because again this live stream is not about making it all happen it's about about identifying which pieces of functionality are gaps so that uh my goal is not to go through one blog post at a time and try and convert it I want to identify as many gaps as possible bulk convert it go through a bunch and say okay like did this do a good enough job or should I enhance the conversion and rerun the import because once you have automation to do the import if I have to redo it again and it takes even if it took 24 hours to do which it won't but if it did then whatever it's probably more efficient than me sitting there trying to do one blog post at a time so let's try doing this I'm just going to drop it right below so we don't lose the video one because maybe I'm doing something stupid which is uh actually more uh more than likely so there's the embed was there no closing tag on that it's just how it is okay cool press okay we're going to go back into here again not sure if there's an issue with um the cash and validation so we will yeah Joshua adjusting automation is way faster than Recreation 100% um and realistically let's assume let's assume I only had 10 20 blog posts or something I think number one um one could argue that sure if there's that few that just doing it by hand maybe you get a away with it but um I like having tools like this handy and sometimes the code that we create as part of that is something that I can reuse later uh so for example I've uh I've already done some work with HTML to markdown and like if I wouldn't have written code like that I wouldn't have had exposure and had opportunities where I can reuse it or at least be familiar with it and I thought that's what we were doing today but it just happened to work really well without that so um this also did not seem to go um I don't think that there's anything in local storage that's affecting this but anyway I keep hitting the same button I'm being stupid one sec this is the one thank you like I said I don't think this is actually going to change anything but but it's not going that's okay um oh I put am I being really dumb did I not I put the embed right below right well let me go back to here and I'll pause for a second because maybe I'm just being completely silly am I using embed wrong like in W3 schools it didn't have a closing tag can I try it in here or you know what um it might be that one sec this might be working on my blog because um of the plugin I'm using and maybe this is not the right uh embed URL see okay it's not even it's not that okay so I think here's I think what's happening let's go pick this video I'm going to pause it so no one has to sorry I have to look at my face for a second um but if I go to share this there's in bed and see how this URL is different man I hate this like it won't let me highlight part of it watch me select something as soon as I let go of my mouse highlights the whole thing thank you that's exactly what I didn't want um okay let me put it here if I take this out and we don't need the last bit but instead of watch now it says embed right now it works um so I think the plugin that I was using on my website like on on WordPress probably knows and see that difference where it says watch zoom in a little bit a lot of bit so instead of watch here when I paste this down the ID should be the same right it ends in vf8 but it's instead of watch it's in bed and I suspect that what's happening is that the plugin I use goes hey we know that ain't going to work we'll just do it for you so they'll do it like real time so now let's go back to here I'm going to leave both in so this is going to be totally wonky but I just want to see if there's a difference between um the two so right we're getting rid of the watch part now it's in bed getting rid of the watch part now it's in bed yes there are two I'm just saying it out loud so you know that I know and we're going to restart and that should be good what come on did it not uh oh it's still watch let me go I don't trust it let's go back h yeah Stephen question for you um I've restart oh you know what I I've been doing something wrong here uh let me log in I'm going to go back to the settings I'm going to invalidate the cache this wasn't working without restarting but I was forgetting to actually press the thing so now I've done it I'm pretty sure if I restart this will work because I think it was still serving me cash like a persisted cash you want to see the console clear that um if you update the DP the cash doesn't get inv valid there are two caches one's for the first page one for the blog post itself ah okay how did I invalidate this before that's the thing I'm curious about um make it visible immediately so just to check this post should have oh this part's still cashed okay so let me do that and then I think I had well let's just go with video for now whatever okay so this should be updated I must have gotten lucky earlier when I did it and it happened to refresh and then I just stuck with that we go to the bottom still nothing um either restart or just updating the blog post so so far what I've done is I've updated the blog post that didn't seem to do it uh I wanted to view the source though and see if we have it does have the embed now but that's with the video tag so I wonder if the video tag just does not work so if we go back to edit this one instead of using video we use embed just to make sure it's literally embed Source I'm just going to copy it so I can't possibly mess it up let's go take this we'll take the embed link drop it in I will get rid of this one for now make it visible immediately okay so if I go back we're just trying to see if we get a video and now we get a video okay so the video tag does not work but the embed tag does kind of interesting so again these are just things oh you can check your network tag to see if you YouTube refuses your interesting okay yeah um at least oh that on the network well anyway I'm here already but it seems like embed does work so as long as I can mess around and make the embed like if I can Center it and make it have a default minimum size or something like that then that's great um the worst case if I can't like at least it's embedded right and if we go play it right like I would just want this to be a little bit bigger by default and as long as I can style that then I'm I'm content otherwise people can click to YouTube but I'm uh I'm pretty amazed that this just worked anyways you solved it yeah wo um no folks I wanted to I just wanted to call out even like the getting this kind of stuff in WordPress to be consistent is a pain in the butt so I I'm just really happy that everything dropped in I'm going to have some weird things like this where I'll have to set uh sizes and stuff like that this is probably styled some way and that's not carrying over um so this is the kind of thing that I'm totally happy to if I can't make it automatically do the right thing then um then I think going through post retroactively like if it was just to like I probably wouldn't care this is supposed to be centered but like if I couldn't do it then whatever I'm not going to cry about it this would be kind of nice for me to go back and fix and make sure that maybe on pictures I have to go set some some consistent styling or balance or something like that that way they fit but I think that's probably um probably good again I'm shocked that this worked let's go do let's go do another one um I'm going to do another post why can't I think ah admin great new so one of the other posts I had that was the first one let me go open I had two more let me go open one of them okay this one's a big one and last time we edited the database but I'm just pasting in a ton of HTML we can actually preview it ahead of time oh yeah look at those this is uh let me get rid of part of this I think this part here this Elementor thing is like got to go uh let's get rid of that and then this also has what does it have um I'm trying to read but this should have the table of contents like built in which we don't want anymore that's this what's in this article part so I think I want to get rid of a whole lot of this stuff let me let me ditch that and see if it looks a little better okay for the most part pretty good and then this one also had some fancy things in here so like something that is guaranteed to be broken is like this article had some embedded content that was like um is my cat in the background oh he is look at him it's on this side he's awesome that's Vinnie Vinnie's way more chill Vinnie is a little bit fat but that's okay and veto is by my feet so veto and Vinnie veto is finally settled down he's also he's in the same position as Vinnie is so he's right below me and he's like on his back with his hands up and if he sees my feet he's going to attack me so I got to be careful because he's you got sharp nails um so this blog article has um at the end of each one of these little sections here where it's like uh gang of four flyweight design pattern and then plug-in design pattern G gang of four proxy design powder at the end of each of these little sections there's um almost like a carousel embed and then it links to some related blog articles that I've written for all of these so this kind of stuff is going to break and that's okay because I don't think that there is like a there's not going to be a drop in replacement for that kind of stuff and like I said totally fine but I just want to have awareness because what I don't want to have happen is have some of these articles and stuff and then people go to read them once it's been migrated and they're like dude what the heck is this like you know cuz I've written stuff in a way that's like click the thing below and someone's like Nick there's literally nothing here so I just want to make sure I can handle these types of scenarios but um overall I probably should have been taking notes but um I think where that leaves me is if I take some notes Here I think uh hosting pictures there's going to be a Blow Away table of contents because this part is now handled by Steven's blog engine which is great posting pictures um how is that going to work exactly so I think the way that I thought about this is that oh tab is way too big here we go um hosting pictures probably means that I have to do multiple like I need to scan the text it's not I got to I want to find the right words for this I'm going to have to analyze the text that's in the post kind of walk through it extract all of the links to pictures and then make sure that I can go to the source of that and then upload it to storage like upload it to Azure blob storage uh I will be using Azure for all of my stuff for hosting um not because I work at Microsoft that's nice that I do and it's nice that we have Azure credits and stuff like that but um for my stuff is in AWS right now and I've had had a great time with AWS I have no complaints um but like when I complained about light sale and stuff I don't really think it's light sale I honestly think it's my WordPress setup um so I'm just going to move to Azure though because I've been doing a lot more in Azure and now that I'm sticking around an Azure more it's one less thing to jump between um Stephen saying there is car experimental Carousel support with custom HTML tags so cool um that's an interesting option so um experimental so that's cool I'll make note of that and then I want to list that this is for the um big list of so that's one the hosting pictures thing back to this thought I'll have to scan the HTML look for uh pi links and then upload to Azure and I suppose that I will need to use a container that's like public read only right so you I shouldn't say usually because there's a million different use cases it's quite common that uh when you're building applications that use blob storage that you don't want to make them publicly accessible for lots of different reasons and you end up having uh things that are called like SAS URLs and they're signed or shared access I can't remember what the acronym is for but basically it allows people to have um like a timed Tim limited access to a a private uh file and that way you can do things like hey you need to load a web page no problem like here's the URL you can go fetch the picture on your side that way you're not from your server downloading from blob storage and then sending that back to the client you can just give assigned URL to the client to go fetch it for themselves but it's time limited and it's not like once it's in the browser it just disappears after the time's up it's just you can't refetch using that same URL so um I think I probably don't need to do that and probably just want to have a public bucket um public blob container and have my my files in there um like we're just talking about like pictures that are going to be in the blog post anyway they're not really private to begin with so and I just have to be careful that I'm not mixing other things in there so if I have that storage account and then I'm like oh well I want to go put secret information in there like hey Nick don't use the same uh container for that so that should be okay okay but then once I have the pictures in Azure then I have to go replace URLs to um point to Azure so I think I need to write something like this yeah and Stephen saying the problem with sign URL is that client browsers can't cach images effectively but um yeah Stephen are what are your thoughts on just like a public storage container like public read access to a storage contain container so that way I feel like it's kind of just like if you had the files hosted on a site right like on my WordPress site anyone can go access if they have the URL to a picture they can just go to it um without authenticating so I feel like it's the same concept as long as it's not public right access then should be fine um I think uh videos we had to talk about that so um videos we need to use use embed tag not video and then we have to change the URLs right change URLs from watch V equals to um embed URL yeah okay and then uh Stephen saying yeah that's what I'm doing with the CDM before that single node CDN yeah that's interesting I think even Azure has blob storage you can set up a CDN with your blob storage I haven't experimented with that much I think I've turned it on for uh brand ghost but I haven't I haven't seen the impact of doing that so I don't know maybe I have it configured wrong or it's really just not needed at this point but I think you can settle that up and then the the carousel Fe featur Sten had the example here I'm going to put that into my notes called slideshow interesting okay um and then we talked about uh concept of short codes so um Stephen seems to like this remember the short codes um I would recommend C's Azure blobb only supports HTTP 1.1 well I got to talk to someone in Azure then no I'm just kidding I'm not I wish I were like super well connected like that but I'm just a I'm just a dude Azure CDN has HTTP so Stephen I think there's an option in the um blog storage yeah that's right um I think Azure blob storage lets you like almost I I don't want to say it's automatically but it seems pretty hands off but like you can wire up Azure CDN to Azure blob storage so maybe that's a path forward like you just put your stuff into Azure blob storage and then Leverage The CDN to actually serve the content through that perhaps but uh I have not not messed around with this enough but um that could be interesting the point is that I got to I got to move the pictures off of my existing uh instance so trying to think if there was anything else uh oh and yes Steve saying yes it's just a matter of clicks okay cool that's I like clicking things um let's get this blog post up though so this was uh can't spell so design patterns do I need an image let's find out I do okay um where is a good image let's pick anything uh webp I don't know what this is a picture of so we're going to find out oh it's my last newsletter article okay confusing because it's the same picture I'm sorry but it's pretty cool it just [Laughter] works I was expecting so many more headaches converting the HTML to mark down um you can see that it is it even has uh like some of this uh pre-formatted text like I was doing this in some of my articles to call out like just inline code but yes every one of these um is supposed to have a little Carousel feature oh I saw some other links no those are fine so big list of just to show you what I mean okay so there's an embed at the top right like I would be losing this again I I'm trying to be transparent I don't have the expectation at all that this would just magically work in Steven's blog engine I just want to be very transparent that's not my expectation I'm just trying to find the things that aren't working so that I can get them so you can see this is a short code this is from a WordPress plugin called ocean WP so that's a short code it puts this into the article so if we do end up getting um short code functionality um that could be super helpful this is a table of contents that was built out I've taken that out because oh no know that's interesting I wonder if the um Stephen I wonder if the automatic table of contents is looking specifically for markdown formatting probably so that's interesting either either that's something that is the case and step wants to support that as a first class thing or he's like that doesn't make sense like just use markdown uh I would say just because selfishly if I don't have to go converting all my stuff to markdown it would be nice if this uh automatically could pick up on the uh sort of the HTML headings I'm assuming that's what's happening if I go back to the other one I didn't test this yeah it looks like it so it looks like table of contents here is only going to pick up on the markdown so if I had I go add some markdown to it and we go check it out right it's at the top now so it's only looking for markdown but um yeah I don't know uh like I said if Stephen cares about that then he cares and otherwise that's that's okay that's not an expectation I had that any of this would work without being converted to markdown the um the carousel thing I just wanted to point out um and again you can see that my blog has this weird styling thing this is broken it's not if I clear all the caches this gets fixed but this Gap there's a really big gap between the pictures it's not supposed to be there so um what it's doing though is it's automatically looking for posts so it's kind of like Stevens related um post feature but it's looking for posts that are tagged a certain way and then it will go drop them into this container um I don't know what that is like why is there a 0.55 there that makes no sense um but more of that that Carousel thing so it's just a way that I can have relevant posts kind of embedded in here so um like Steven was saying we might be able to get away with using this slideshow type of thing so like could be pretty cool um otherwise I think like this is a huge post but I don't think there's anything else that's fancy in this one there's that that short Cod again again I don't know why there's a like I don't know where that comes [Laughter] from that's so weird uh can I it's not even oh I'm looking at the wrong one one sec design patterns 0.55 so it doesn't even show up like 0.55 is not text that I would type yet you can see that it's showing up in here and it's not even searchable what is this that's so strange yeah this I use Elementor it's a really popular WordPress plugin and I think that how things are cached on my site it's absolutely busted I think that 0 55 is the same reason or like same it's a symptom of the same problem that causes this really weird Gap and I think that if I like regenerate CSS because it's been cached I regenerate it from Elementor it fixes all of it but anyway I just wanted to show you that there's probably or not how did that work this okay now I look stupid but I would expect there to be another short coat at the bottom and there isn't so this one's see how this one actually embedded it I would have thought this is the same short code because what I showed you at the top of this sorry for jumping around so much but at the top we have this here which is a short code if I go back to the top here there supposed to be a short code but in the bottom it act it somehow embedded it and that just doesn't make sense to me what is what is in the database we must know oh interesting this one at the bottom did not use a short code it actually did use a figure and that's why it's legitimately rendered so that's interesting um I wonder why that's the case maybe I maybe I put that in there before I was using short codes or something and that's some Legacy thing I didn't fix but that explains it at least it is it isn't a short code okay um okay well folks that might be as far as I get today um I thought again I thought there was going to be a lot more C coding because I thought I was going to have to do a lot more conversions but I think there's a good list of stuff to get through um I think I'm going to have to write this part for sure and this part for sure um this is probably a nice to have I don't know I know like in the chat Stephen was saying he likes the idea of short codes I don't know if this is something that he wants to go uh create himself in support or or what have you um but I think it at a minimum I have to do something for hosting pictures and I have to do something for automatically converting the videos to be embed um the carousel thing is a nice to have that I could follow up with and this table of contents thing is very much like a it's like a nck specific problem sorry there's two parts um maybe I'll do this because the table of contents thing does not work with HTML so um requests happy face um short codes and then the other thing was uh automatic automatic uh table of contents for HTML so these are two things like I would love um again I'm not I don't have any expectation of Stephen to go do this unless he's like hey like I really like those and I want those if not like that's totally cool like this is a challenging thing when you're creating software and other PE like you want other people to use it it's like there's going to be a million requests that Steven could get like I could say stepen I want to have all these different themes and stuff um and he could say well I don't want to support that and that that's totally cool it's his choice uh table of contest works with H2 H3 H4 stuff it seems to work for um markdown but it doesn't seem to work for so Steve let me pull this back up and maybe you'll see if I'm doing something wrong but in this let me go to the other one cuz I changed it up so I added these ones in as markdown everything else in here is uh HTML but the table of contents only has the markdown ones and if I do go back to the other spot this design patterns one does not have any markdown and the table of contents is empty so I'm not entirely sure maybe these are sorry that article is a nightmare to go through is it because oh there is an H2 there sorry let me get this more on the screen and I apologize too because there's a delay between chat and um and what I'm showing you so if you're waiting and being like Nick I asked you like 20 seconds ago to go do something I'm so sorry I don't know why Ram is trying to automatically on my behalf brag that I got messages it says on my side congratulations you received 100 messages and I was like that's nice it's a good little private message and then I realized it published that like you don't need to do that get out of here so yeah there's should be H2 there should be H three yeah so they're there um anyway it like I said it seems to be picking up the markdown ones but not these other ones uh if you think that's already supposed to be supported awesome that's cool um yeah but I think those are my two selfish feature requests is that there's support for that and then support for the um the short codes uh otherwise I think I have some some stuff to code up for getting stuff into to Azure storage but that could be a good one for next time so uh again I apologize for not getting as much C coding done and I I was expecting we were going to get stuck right at the point of HTML to markdown and spend all of our time on that but this was actually a very useful exercise to see what's compatible and it looks like there's a tremendous amount which is really cool um but just to pull it back up on the screen before signing off here uh looks like short codes Stephen I have that in the request list uh I have to make sure that I'm blowing this away from my content because it'll just get nasty and then the videos and the hosting pictures thing I think are the biggest thing so uh and no thank you Stephen I I do appreciate it uh super helpful to have you on here and kind of like uh point in the right direction and stuff um I am so excited to be able to go ahead and use this as a Blog engine but I described it before as like it's a bit of a terrifying process I don't for folks that if you've if you've moved a bunch before like you know every time you have to go move and I'm talking about like where you live your house right moving houses is a pain in the butt and if you live in an apartment or you only have a few things it's like it sucks but you're at least like okay like I got a room full of stuff and like I can survive um I like now that I've moved from an apartment into a house and we just have more space for things I'm I have like anxiety about having to move houses because I'm like there's things there's things everywhere like we have to go move all this stuff where's it going to go and for me to move my blog feels very much like that where I'm like I have anxiety about all the things that are going to be busted but I think the reality is once it's moved over I'm going to feel better about it I want to minimize broken links and things like that um actually Stephen if you're still here if you're still here if you're not it's totally cool one more thing that I was wondering about I don't know if we have the ability to have uh like landing pages so not blog post but like up top I have like a courses tab if it will ever load um and I don't know if there's a way to have like technically this is a blog post but it's like I don't know if there's a way that we can have I don't know how you would implement it necessarily I don't I don't mean to solution uh as I ask this but almost like a way to have landing pages that are dedicated blog posts um like that would be super cool but again if that's not a feature that makes sense to you I understand but I will need to have a way to make sure that Dev leader.com in if I have to hack that in on a fork or something that's like that's totally cool I understand but that's going to be something that I want to go look at um there there's some other things too like for example I have an ebooks link like a sort of a tab but it it actually navigates to uh another page so like that's not this is not on WordPress anymore this navigated away so um yeah basically like customizable uh links in the title again these are these are this would be super cool kind of thing but I totally get if you're not interested but probably in a fork yeah so that's cool um I think this is super helpful I'm excited and uh yeah I think with that said I don't know if I have anything else um I'm trying to think if there's like any last minute feature requests to to get out to Stephen but no I think uh I'm excited for this uh probably a good opportunity to go plug things though as I sign off here so for folks that are interested I if you want to learn about C I do have courses on C on dome train if I go back over one sec I don't even know how to navigate the site um the most recent course is actually a nonc course that I did on dome train this was with Ryan Murphy who is also a content creator um and Ryan and I put this course together for Behavioral interviews we have another one coming uh in a couple of weeks for Dome train that's also on Career Development but we're Ryan and I are going to be focusing a lot more on building out career focused courses on dome train but I of course will continue to be putting out C content um I'm currently building out a SAS product called brand ghost the result of that is that I have far less time to be creating dedicated blog posts so this is actually why it's a good opportunity for me right now to migrate my blog because I'm only putting out one newsletter per week which is a blog post as well it's not like before I was doing a blog post almost every day and that would be a pain in the butt to have to keep up with for migration so uh I do want to get back to writing blog posts that will be focused on C so uh certainly not abandoning C but at least from a course perspective um I I think that you have many Great Net creators out there um I'm happy to keep making net blogs net videos but from a chorus perspective I think that uh the most value that I can offer you as a as an engineering manager for over 12 years now is about career development so um that's where I'd like to focus my efforts with respect to courses so if you're curious this is our latest course between Ryan Murphy and I on dome train um and we have a lot more coming so uh I wanted to say again thanks for tuning in huge thanks to Steph for being here he is the author of um the blog engine that we were using I will put that back into the chat in case you have not seen it yet but link.net blog is the repository and uh yeah it's going to be really exciting to get this over to Blazer and then and feel like I have control over things again so very excited but uh I'm going to be on vacation next week and I think we're we're traveling back the Monday after so I'm going to be probably missing two weeks of streams um that might mean if I'm back for Tuesday morning I might be able to get on another live stream and we can do some more work but um yeah I'm expecting probably not at this point so uh we'll keep people posted on the schedule though so huge thanks again for tuning in and uh thanks again Stephen we all appreciate your time and effort here so uh take care everyone

Frequently Asked Questions

Why are you migrating from WordPress to Blazor?

I'm migrating because my WordPress site has been experiencing frequent downtime due to CPU spikes caused by too many plugins. I want a more modern and stable platform, and I believe Blazor will provide that.

What are some challenges you anticipate during the migration process?

I expect to face challenges with formatting since WordPress uses HTML while Blazor uses Markdown. Additionally, I need to figure out how to migrate images and other media, as well as handle short codes that I currently use in WordPress.

How can I learn more about .NET and Blazor?

I have a lot of content on my YouTube channel that covers .NET and Blazor. I also recommend checking out beginner playlists and resources that I provide, as they can help you get started with these technologies.

These FAQs were generated by AI from the video transcript.
An error has occurred. This application may no longer respond until reloaded. Reload