1 00:00:00,000 --> 00:00:04,000 I am Tracy. I work at the Internet Archive. I've been 2 00:00:04,000 --> 00:00:05,001 the founding coder since the start. 3 00:00:06,001 --> 00:00:13,000 And today I'm working on a side project called Blogtini. And the idea is mark 4 00:00:13,000 --> 00:00:19,000 down only blogs and posts and pages with just a little shim of JavaScript and off 5 00:00:19,000 --> 00:00:25,000 you go. So I'll get going. So here's the idea. We'll just start right with a 6 00:00:25,000 --> 00:00:30,000 trick immediately. If you go to blogtini. com, you can see it in action. This is 7 00:00:30,000 --> 00:00:35,001 an example of a site. You can see some like header, search bar, bunch of stuff 8 00:00:35,001 --> 00:00:40,000 over here, like posts and tag clouds, all the things you can imagine. Flutters, 9 00:00:40,000 --> 00:00:45,001 things like that. So that's the site itself. This is a post. 10 00:00:45,001 --> 00:00:50,001 It looks pretty similar, but now you're looking at a single post. And if you view 11 00:00:50,001 --> 00:00:57,000 source for the page we just saw, that's it. That's the whole source. So it's 12 00:00:57,000 --> 00:01:03,000 HTML, but it's actually mark down. So there's front matter at the top. So there's 13 00:01:03,000 --> 00:01:10,000 YAML key values, just like you'd see in GitHub pages or GitLab pages or similar. 14 00:01:11,001 --> 00:01:16,000 Down here is the little trick that loads the JavaScript. And then here's your 15 00:01:16,000 --> 00:01:19,001 content. And your content is in markdown. So you can have paragraphs, bold, 16 00:01:20,001 --> 00:01:27,000 italics, all the things, headers. So the idea is, you know, as a human or a roach 17 00:01:27,000 --> 00:01:31,001 in the future, if you saw this, right, or a crawler, you'd know what's going on, 18 00:01:32,000 --> 00:01:38,001 right? You'd be like, okay, here's some metadata. Here's the content. Simple. So 19 00:01:38,001 --> 00:01:43,001 what's really going on here? So that JavaScript is the gist is basically it's 20 00:01:43,001 --> 00:01:49,000 going to read the contents of the body. So when a browser comes and sees this 21 00:01:49,000 --> 00:01:53,000 weird HTML thing, it just puts everything in the body. So then it reads the body, 22 00:01:54,000 --> 00:01:59,000 it then goes ahead and parses it into two pieces, the front matter and the 23 00:01:59,000 --> 00:02:03,000 markdown. The front matter can then be parsed with a YAML parser in JavaScript. 24 00:02:03,001 --> 00:02:08,001 And the markdown can be processed into mark up from a little package we'll see in 25 00:02:08,001 --> 00:02:15,000 a second. So here's an example of a blog. I like to bike. So there's some 26 00:02:15,000 --> 00:02:21,000 biking stuff here. But there's three directories and each has an index HTML that 27 00:02:21,000 --> 00:02:24,001 just makes your URLs look a little bit nicer. You can name them however you like. 28 00:02:25,000 --> 00:02:29,000 Doesn't really matter. But it's nice to have them in reverse sort order, like 29 00:02:29,000 --> 00:02:34,000 some sort of time thing. I like year and month. But if you like your month date 30 00:02:34,000 --> 00:02:38,000 or wanting to go even further, you can do that too. To keep it simple, I just 31 00:02:38,000 --> 00:02:42,001 kind of kept all the images in one directory. And you can put them anywhere you 32 00:02:42,001 --> 00:02:48,001 like. And then there's this, you can see my pointer. Oops. Yeah, sort of. 33 00:02:49,000 --> 00:02:55,000 There's this sitemap XML file. And that's the thing that tells the processing 34 00:02:55,000 --> 00:03:00,001 where your posts are and how to process them. We'll see more in 35 00:03:00,001 --> 00:03:07,000 a second. Yeah. So basically what I was saying, it's all markdown. The 36 00:03:07,000 --> 00:03:10,001 markdown to markup is using JavaScript. So you don't have to worry about any of 37 00:03:10,001 --> 00:03:15,000 the formatting. You use the sitemap XML files. 38 00:03:15,000 --> 00:03:19,000 That's the only thing you have to kind of manage or you can run a little script 39 00:03:19,000 --> 00:03:23,000 that will manage it for you. That is included if you want to use the blog team. 40 00:03:25,000 --> 00:03:31,000 And that sitemap is like pointers to your posts and pages. So a sitemap is legal. 41 00:03:31,000 --> 00:03:35,000 You can point to all over the web. You can point to different websites or URLs. 42 00:03:35,001 --> 00:03:41,001 That's totally fine. So you can post your stuff on IPFS or storage or other kinds 43 00:03:41,001 --> 00:03:48,000 of distributed providers. And you can also put on GitHub or getlab.com for free. 44 00:03:49,001 --> 00:03:51,001 And you can self-host if you want or 45 00:03:51,001 --> 00:03:54,000 put it anywhere you want because it's static files. 46 00:03:55,000 --> 00:03:58,001 So what happens is I'll sort of cruise through this kind of briefly. But the 47 00:03:58,001 --> 00:04:03,001 JavaScript crawls your site. It opens up your sitemap XML, finds your posts, 48 00:04:03,001 --> 00:04:10,001 starts pulling them down, starts parsing the YAML, starts parsing the markdown, 49 00:04:11,000 --> 00:04:15,000 and it starts building up like tags and categories. So it can build up like a tag 50 00:04:15,000 --> 00:04:19,000 and category cloud. Also, if you were going to look at a specific post, this is a 51 00:04:19,000 --> 00:04:24,000 good time for it to figure out which post you're looking for. Then it takes the 52 00:04:25,001 --> 00:04:30,001 markup and uses something called showdown that converts it back up to markup or 53 00:04:30,001 --> 00:04:37,001 HTML, repaints the page, repaints the body tag, and the browser caches that 54 00:04:37,001 --> 00:04:42,001 crawled site. So the next time you come to the page, it'll be much quicker. And 55 00:04:42,001 --> 00:04:45,001 it'll update daily, but you can also re-cache it too. 56 00:04:47,000 --> 00:04:50,000 For searching, which is really nice, there's something called lunar, which is a 57 00:04:50,000 --> 00:04:55,000 pun on solar if you know solar. And it's client side. It's so cool. You just 58 00:04:55,000 --> 00:04:58,001 throw in documents and you tell it what fields to analyze, like the description, 59 00:04:59,000 --> 00:05:05,000 title, tags, categories. And if I remember in halftime, I'll try to hit the live 60 00:05:05,000 --> 00:05:07,001 search button because it's really fun. It feels like magic. 61 00:05:08,001 --> 00:05:15,000 Okay. So each post is markdown. Markdown is primary content, archive friendly. I 62 00:05:15,000 --> 00:05:19,000 work at the archive. I've been there for like 25 years. And all disks fail, all 63 00:05:19,000 --> 00:05:23,000 storage fails, all network fails, all companies fail. All your providers will 64 00:05:23,000 --> 00:05:28,000 fail you. So in my opinion, you better have your content if you want it to live 65 00:05:28,000 --> 00:05:32,001 forever in a really simple format. Like we're talking JPEG, we're talking 66 00:05:33,000 --> 00:05:38,000 markdown, we're talking maybe PDF or something. And the rest, good luck, right? 67 00:05:39,000 --> 00:05:43,000 Maybe it'll work a thousand years from now, but who knows? So also the site 68 00:05:43,000 --> 00:05:46,001 formatting is secondary. That has nothing to do with their content. So don't mix 69 00:05:46,001 --> 00:05:51,001 it with their content. That's just clutter. There's no build step. There's no 70 00:05:51,001 --> 00:05:55,000 backend needed. So these can just be static file servers, which is really nice. 71 00:05:55,001 --> 00:05:58,000 And you can change your theme anytime. So if you don't like the theme you saw 72 00:05:58,000 --> 00:06:01,000 before, you want something a little more snazzy or more 73 00:06:01,000 --> 00:06:03,001 nuanced, you can just change it with one line. 74 00:06:05,000 --> 00:06:11,001 It has good Google SEO, not great, but it's good because we're re 75 00:06:11,001 --> 00:06:14,000 doing the meta tags in JavaScript. 76 00:06:14,000 --> 00:06:21,000 So Google will crawl your site relatively well with that, but it's not quite as 77 00:06:21,000 --> 00:06:25,001 fast and as good as you might want, but it's not bad. And they're working on 78 00:06:25,001 --> 00:06:32,001 that. So the view source is your original content, no formatting, 79 00:06:32,001 --> 00:06:38,001 no clutter. You control your content. When you post to Facebook, Twitter, Strava, 80 00:06:39,000 --> 00:06:44,000 Athlete, where's your content go? What if you want it 50 years from now? 81 00:06:45,000 --> 00:06:50,000 Where is it? How do you get it? And if you get it, I got a zip of my Twitter when 82 00:06:50,000 --> 00:06:53,000 I was thinking about, I did go to Mastodon and I was thinking about just dumping 83 00:06:53,000 --> 00:06:55,000 Twitter. It's a nice zip file. 84 00:06:55,001 --> 00:07:00,000 It's a nice static site, but what are you going to do with it? So the hope would 85 00:07:00,000 --> 00:07:04,000 be maybe we'd just start making little filters that filter right into Markdown 86 00:07:04,000 --> 00:07:08,000 and stuff it into Blogtini or something like that. So what do you, you know, 87 00:07:08,000 --> 00:07:11,001 things to think about, like what do you want to do later in your life or 88 00:07:11,001 --> 00:07:16,000 whatever? Like it's your content, right? It's not the people who are making money 89 00:07:16,000 --> 00:07:22,001 off of you. Life is better client side. It just is much more flexible. So if you 90 00:07:22,001 --> 00:07:27,001 imagine WordPress, I like WordPress. I had WordPress before. Anyone ever had a 91 00:07:27,001 --> 00:07:31,001 WordPress site and never had a problem with a WordPress site? Problem with your 92 00:07:31,001 --> 00:07:34,001 database, problem with your theme, you know, and it's like a hand in your ass. 93 00:07:35,000 --> 00:07:38,000 You're like, oh, I was just trying to blog something and now I'm spending like 94 00:07:38,000 --> 00:07:43,000 hours or maybe a day on this. What happens if WordPress goes away, right? Or 95 00:07:43,000 --> 00:07:48,000 decides to dump your content because, you know, they're not making money off you 96 00:07:48,000 --> 00:07:53,000 anymore. So here's an example of just some of the tools they're using. So these 97 00:07:53,000 --> 00:07:57,001 are, this is using ES modules in JavaScript, which is the coolest import system 98 00:07:57,001 --> 00:08:02,000 ever. You can just pull from anywhere on the web, which is what we do. So you can 99 00:08:02,000 --> 00:08:06,000 read, you can do a YAML parser and pull it from over here. You can do the 100 00:08:06,000 --> 00:08:12,001 showdown, markdown to markup here. HLJS is great. So if you write code in your 101 00:08:12,001 --> 00:08:17,001 post, it'll highlight the code, syntax, whatever. And it's just like one little 102 00:08:17,001 --> 00:08:22,000 include and one little run, boom, off it goes. Lunar is the client side search, 103 00:08:22,000 --> 00:08:24,001 super cool. Just some other little stuff. 104 00:08:26,001 --> 00:08:30,000 So you might wonder, well, what about comments? What about other kind of dynamic 105 00:08:30,000 --> 00:08:37,000 content? So comments are possible and there's a static man is one approach. 106 00:08:38,000 --> 00:08:41,001 There's other approaches too, but I like static man because you have like a 107 00:08:41,001 --> 00:08:45,000 little Docker thing running somewhere, which I host. 108 00:08:46,000 --> 00:08:51,001 And your people, the people come in, make a comment and they make a pull request 109 00:08:51,001 --> 00:08:55,001 to your repo, which is pretty wild. And that's your approval process. So you 110 00:08:55,001 --> 00:09:00,001 approve that, it inserts a little JSON thing into your repo. And then once the 111 00:09:00,001 --> 00:09:05,001 GitHub pages or whatever does its thing or your static website updates, the 112 00:09:05,001 --> 00:09:10,000 comment is there. Pretty nice. So you can also approve and just, you know, get 113 00:09:10,000 --> 00:09:13,000 rid of, just delete the branch if you don't like what they did. 114 00:09:14,000 --> 00:09:17,001 So that's kind of nice. And then the content is in your repo, right? It's not 115 00:09:17,001 --> 00:09:22,001 stuck in disk somewhere, which is like who knows where that is. So your comments 116 00:09:22,001 --> 00:09:29,001 go with your site, which is nice. And if you want to write your own site map 117 00:09:29,001 --> 00:09:35,001 maker, oh, that's great. I can highlight this way. Or you want to manually do it. 118 00:09:35,001 --> 00:09:40,000 That's totally fine. But there's also some little GitHub scripts you can do. So 119 00:09:40,000 --> 00:09:42,001 every time you do a command, it'll just update your site map for you, which is 120 00:09:42,001 --> 00:09:47,000 kind of nice. So if you wanted to try it, it's like literally the simple. 121 00:09:47,000 --> 00:09:53,001 You can you could copy this into an index HTML page. 122 00:09:54,000 --> 00:09:57,000 And it'll just work. It'll give you a site. 123 00:09:57,000 --> 00:10:01,000 And it does that because of this little JavaScript include here. And here's your 124 00:10:01,000 --> 00:10:06,001 content. And here's your front matter. And if you just have a little web server 125 00:10:06,001 --> 00:10:12,001 or something like that in localhost, boom, it'll work. It's really nice. If you 126 00:10:12,001 --> 00:10:16,000 want to mess around with Safari, you can disable cores, do that your own 127 00:10:16,000 --> 00:10:19,000 whatever. But that's kind of a nice way to you don't even have to run a web 128 00:10:19,000 --> 00:10:25,000 server, you can just open with the file colon colon protocol to. Okay, so 129 00:10:25,000 --> 00:10:28,000 I'll show you this example. 130 00:10:28,001 --> 00:10:35,001 And let's see, launch that to another tab. Okay, so this is the 131 00:10:35,001 --> 00:10:38,001 site. And you can see there's a slight delay while it sort of reformats the page. 132 00:10:40,000 --> 00:10:46,001 But these are just like really simple markdown files. And then I can show you the 133 00:10:46,001 --> 00:10:49,001 search. If you search and I look for like, talk. 134 00:10:51,001 --> 00:10:56,000 So that was solar. Really fast, right? Because it's just like, there's, you know, 135 00:10:56,001 --> 00:10:59,000 even if you had 10,000 posts, I don't think it's going to be any kind of a 136 00:10:59,000 --> 00:11:04,001 problem. And it comes right up. New this year, we I've been working with a 137 00:11:04,001 --> 00:11:10,000 volunteer and other volunteer to do a theme setup. And so we've moved things into 138 00:11:10,000 --> 00:11:12,000 web components, if you know about web components. 139 00:11:12,001 --> 00:11:17,000 And that means that when you send out the page, it kind of comes out as like, 140 00:11:17,001 --> 00:11:23,000 we're using like BT post, and with a URL, and it will do the right thing. So you 141 00:11:23,000 --> 00:11:27,000 can write your own post and set up the way you like. So I could like switch over 142 00:11:27,000 --> 00:11:30,001 to this grid theme and it'll just work. See 143 00:11:30,001 --> 00:11:37,000 which which page I'm in, but anyway, 144 00:11:37,001 --> 00:11:39,001 it does generally work. So that's pretty exciting. 145 00:11:39,001 --> 00:11:46,001 Back to the main talk. Okay, yeah, and I 146 00:11:46,001 --> 00:11:50,001 won't show all these. But this is an example of I called it D web teeny. I made 147 00:11:50,001 --> 00:11:57,000 this last year. So I made posts in GitHub, IPFS, web three, and some other 148 00:11:57,000 --> 00:12:01,000 providers and archive org. And all of the URLs were different. And it doesn't 149 00:12:01,000 --> 00:12:04,000 matter. Like, it's like, okay, you got to post here, post here, post here, post 150 00:12:04,000 --> 00:12:08,000 here. And it all just works. So if you want to see that you can see that you can 151 00:12:08,000 --> 00:12:14,001 visit that link. Yeah, there's a full IPFS site just as an example with a usual 152 00:12:14,001 --> 00:12:21,000 lovely URLs, which is just great content has content hashes. And 153 00:12:21,000 --> 00:12:25,000 yeah, and if you want to make one of your own, you can try this pretty easily. 154 00:12:25,000 --> 00:12:29,000 You can go to GitHub, make a new account, you can do this no Jekyll thing that 155 00:12:29,000 --> 00:12:34,000 just means your markdown doesn't get processed. And you can just follow the few 156 00:12:34,000 --> 00:12:38,001 different steps to include, write a post, include the JavaScript file, and off 157 00:12:38,001 --> 00:12:44,000 you go. And then for free, you will get your name, dot GitHub, dot IO, and the 158 00:12:44,000 --> 00:12:48,000 new repository name as a URL. And if you want to get fancy, you can buy your own 159 00:12:48,000 --> 00:12:53,001 web domain for like 10, 20 bucks a month, a year, excuse me. So extending out 160 00:12:53,001 --> 00:13:00,001 like the idea of communities, like what if 10 people have 161 00:13:00,001 --> 00:13:04,000 worries with blog team? What if 10,000 people, what if every family member of 162 00:13:04,000 --> 00:13:08,001 yours was using blog team or your circles, your tech circles, like you could just 163 00:13:08,001 --> 00:13:12,000 merge all the feeds into another site, right? An aggregator, because again, the 164 00:13:12,000 --> 00:13:15,001 site now can point to anything. So you could have something that automatically 165 00:13:15,001 --> 00:13:20,000 updates. And anytime like Jonathan or myself make a post, it'll just start, you 166 00:13:20,000 --> 00:13:23,000 know, updating the site, you'll see them released and you could go off to the 167 00:13:23,000 --> 00:13:28,001 other sites. That sounds lovely to me, a great way to kind of share stuff. 168 00:13:30,001 --> 00:13:35,000 Yeah, and I like the idea too, that we could write some exporters maybe that 169 00:13:35,000 --> 00:13:39,001 would pull stuff very easily, simply from WordPress, Twitter, Facebook, Strava, 170 00:13:39,001 --> 00:13:42,001 whatever, and just slide them right in a markdown, that would be very easy to 171 00:13:42,001 --> 00:13:46,001 transform. And then you could interlace them all in time and maybe a little 172 00:13:46,001 --> 00:13:49,001 provider URL, whatever you want to the original content. But now you've got your 173 00:13:49,001 --> 00:13:54,001 content and you've got a website and now you're all the things we do on social, 174 00:13:54,001 --> 00:14:01,001 right, is yours again and in one place. Yeah, so I talked about the 175 00:14:01,001 --> 00:14:06,001 site of many sites, which is pretty easy, just one combination sitemap XML. 176 00:14:08,001 --> 00:14:15,000 And Christine from, who is the author, co-author of the Activity Pub spec is 177 00:14:15,000 --> 00:14:20,000 here. So I've been thinking about, could we make notifications once someone posts 178 00:14:20,000 --> 00:14:23,000 a new blog post or kind of work into that framework? So that's still kind of 179 00:14:23,000 --> 00:14:30,000 like, hopefully we do that at some point. Just a reminder about GDPR. 180 00:14:30,001 --> 00:14:36,001 You have the right to get your data back and to put it wherever you want. So 181 00:14:36,001 --> 00:14:39,001 yeah, think about that. Like, if you get the data and you get a zip file, like 182 00:14:39,001 --> 00:14:44,001 what do you do with it? So I'm hoping this will be a good way or something to 183 00:14:44,001 --> 00:14:47,001 think about. Maybe you've got some ideas and maybe that's why you're here. So 184 00:14:47,001 --> 00:14:53,000 we'll go into questions in just a few minutes. But I just want to impress upon 185 00:14:53,000 --> 00:14:57,000 you that think about longevity, right? Think about your data. Like what do you 186 00:14:57,000 --> 00:15:01,000 want your kids or your grandkids or whatever, your colleagues to know about you? 187 00:15:01,001 --> 00:15:06,000 What if you go away? What if they go away? What if WordPress goes away? If 188 00:15:06,000 --> 00:15:11,000 WordPress goes away, like maybe it's not likely, but you could imagine a billion 189 00:15:11,000 --> 00:15:14,001 people could kind of go dark in some way or another. Or if the engine fails or 190 00:15:14,001 --> 00:15:20,001 the Postgres stops working. Or I guess they use MySQL. That's fine. 191 00:15:22,000 --> 00:15:29,000 We like MySQL. It's simple. Didn't say secure, but it's simple. Okay. So the 192 00:15:29,000 --> 00:15:35,000 average web page is gone in about three months, 90 days. Actually it's a little 193 00:15:35,000 --> 00:15:40,000 bit less we found. So that's another thing to think about longevity. Just it's 194 00:15:40,000 --> 00:15:44,001 good to know. So I recommend you make your digital life, the things that you're 195 00:15:44,001 --> 00:15:46,000 contributing to the world or you're telling the 196 00:15:46,000 --> 00:15:48,000 world about yourself, where your friends are. 197 00:15:48,001 --> 00:15:51,001 Make it like a vampire and make it live forever. That's the 198 00:15:51,001 --> 00:15:54,001 hope. Thank you for attending the talk. 199 00:15:55,000 --> 00:15:58,000 This is from me from last year right here in the Lovely Redwoods. And now I want 200 00:15:58,000 --> 00:16:05,000 to open it to just any kind of thoughts, questions, discussions. Like I'm working 201 00:16:05,000 --> 00:16:11,000 with this volunteer and he's great. And he has so many ideas. The last time we 202 00:16:11,000 --> 00:16:13,000 talked, I took like three pages worth of notes. 203 00:16:13,001 --> 00:16:17,000 And we got through most of the ideas. He wanted to split out the formatting loop 204 00:16:17,000 --> 00:16:21,001 from the processing loop and make it so you could anyone could change things. So 205 00:16:21,001 --> 00:16:24,001 we did that. We moved to web components that seemed like the best and most 206 00:16:24,001 --> 00:16:30,001 flexible thing. Split out the whole theming from the crawling and everything. And 207 00:16:30,001 --> 00:16:35,000 he just kind of like that took like weeks to get done. And then just like more 208 00:16:35,000 --> 00:16:39,000 ideas, more ideas, more ideas. So I'm curious like maybe, you know, if anyone 209 00:16:39,000 --> 00:16:42,001 feels comfortable, like, you know, what's your interest or what, you know, if you 210 00:16:42,001 --> 00:16:47,001 were to use something like this, what maybe would be the shortcomings if there's 211 00:16:47,001 --> 00:16:50,000 something that would be higher in your hit list or something you'd like to 212 00:16:50,000 --> 00:16:54,000 integrate with anything come to mind. Just I'm curious, like, now that you've 213 00:16:54,000 --> 00:16:59,001 seen this sort of strange new world, what do you think? Like, what's what kind of 214 00:16:59,001 --> 00:17:02,000 thoughts are going on? I know it's 10 in the morning. So it's a little bit 215 00:17:02,000 --> 00:17:03,001 like, it's also a little overcast. 216 00:17:03,001 --> 00:17:06,001 I get that too. So I appreciate even more that you all came. So 217 00:17:06,001 --> 00:17:08,001 good on you. Yes, and 218 00:17:21,000 --> 00:17:27,000 great question. Yeah, I, I have been in my head kind of wondering if I get my 219 00:17:27,000 --> 00:17:32,000 parents who are, you know, in their 80s, see if I could get one of them to maybe 220 00:17:32,000 --> 00:17:36,001 make a one and maybe help them through it. And then, you know, bonus points would 221 00:17:36,001 --> 00:17:42,000 be like, could they modify a post? Could they make a new post? I think, you know, 222 00:17:43,000 --> 00:17:46,001 most non-technical people that I've seen, if you give them kind of like a thing 223 00:17:46,001 --> 00:17:50,000 on the side that they can kind of follow, it's not so bad. So it's sort of like, 224 00:17:50,000 --> 00:17:55,000 okay, like GitHub and GitLab, right? They have the editors right online. So I 225 00:17:55,000 --> 00:18:00,000 would say like, you know, click this button, say add new page, write out your URL 226 00:18:00,000 --> 00:18:04,001 or your file name, and then just copy these few lines in, adjust the title, 227 00:18:05,000 --> 00:18:09,001 adjust your tags, start writing content. And, you know, here's a link to the 228 00:18:09,001 --> 00:18:16,000 markdown and you know how you can do titles and, or, yeah, headers and things 229 00:18:16,000 --> 00:18:19,000 like that. But one thing I like about markdown, right, is like a lot of people, 230 00:18:20,000 --> 00:18:23,000 it's intuitive to go return, return, like, great, you just made a paragraph, 231 00:18:23,001 --> 00:18:27,000 like, so there are little things like that where you're like, you don't have to 232 00:18:27,000 --> 00:18:30,001 think about it or, you know, hopefully that's, that's, that's helpful. But that's 233 00:18:30,001 --> 00:18:33,001 kind of what I think about. So I think maybe more realistically, if I can get one 234 00:18:33,001 --> 00:18:37,001 of my less technical siblings to do it, then I'll feel like really good and then 235 00:18:37,001 --> 00:18:42,001 watch them make some posts. But yeah, yeah, good question. And if you have any 236 00:18:42,001 --> 00:18:47,001 ideas, or if you've been through this before, or you, you know of ways to 237 00:18:47,001 --> 00:18:52,000 bootstrap, yeah. Yes. 238 00:18:53,000 --> 00:18:58,000 Is there any room for some more flexibility without, say, sacrificing the ease of 239 00:18:58,000 --> 00:19:01,000 use that you've done? So like, you know, right now, you know, very 240 00:19:01,000 --> 00:19:02,001 opinionated in terms of like markdown. 241 00:19:05,000 --> 00:19:09,000 What if, could you envision someone wanting to write a post in a different format 242 00:19:09,000 --> 00:19:15,000 and having a way for it to work and kind of just be smooth from that point 243 00:19:15,000 --> 00:19:19,000 without ruining the, what you were just talking about people who are not super 244 00:19:19,000 --> 00:19:21,000 tech savvy, just having a nice, easy path? 245 00:19:22,000 --> 00:19:28,000 I love that question. That is exactly. Yeah. Yes. Perfect. Yes. Yeah, I think so. 246 00:19:28,000 --> 00:19:33,000 Because, you know, if you have a sitemap or you can do the RSS feed as well, as 247 00:19:33,000 --> 00:19:36,000 long as it points to something, and as long as we've got like a parser set up, 248 00:19:36,000 --> 00:19:40,001 like maybe you're, I don't know, you're posting go code, right, or something like 249 00:19:40,001 --> 00:19:44,001 that, and you want it to like format or do something in the browser, I'm trying 250 00:19:44,001 --> 00:19:47,001 to think of something that's more active, like the software emulation or 251 00:19:47,001 --> 00:19:53,001 something like that. Yeah. I mean, as long as the JavaScript can parse it, and it 252 00:19:53,001 --> 00:19:59,000 can parse text, it can parse binary, right? It doesn't really matter. Sure. Yeah. 253 00:19:59,000 --> 00:20:05,000 Love that idea. Yeah. So if your post or whatever your thing has just a little 254 00:20:05,000 --> 00:20:09,001 pointer to a different JavaScript entry point, or you've got a different theme 255 00:20:09,001 --> 00:20:12,000 where the theme can sort of say what it wants to do with posts. 256 00:20:12,001 --> 00:20:15,001 Yeah. Easy. Yeah. Good question. 257 00:20:22,001 --> 00:20:29,000 Oh, time to drive. Oh, almost that time. Darn. I could show more stuff. But yeah. 258 00:20:30,001 --> 00:20:34,001 What's that? Bernie. Oh, thanks. I think you said Bernie. I'm like, Bernie, yeah. 259 00:20:35,000 --> 00:20:38,001 Bernie Sanders. A blog teeny for every person here. 260 00:20:38,001 --> 00:20:43,000 Oh, that's a bad Bernie impression. I apologize. 261 00:20:47,000 --> 00:20:53,000 I've had one coffee, not two coffees. So we'll just keep it there. But 262 00:20:53,000 --> 00:20:54,001 yeah, thanks for coming. 263 00:20:55,000 --> 00:21:02,000 What I really liked about it was, I was going to try to 264 00:21:02,000 --> 00:21:06,000 show my other site, I'll show you this, just more for 265 00:21:06,000 --> 00:21:07,001 history, not to show my own site. 266 00:21:09,000 --> 00:21:13,001 [...] said my own site. So I've been writing a site for 267 00:21:13,001 --> 00:21:15,001 25 years or something like that. 268 00:21:16,001 --> 00:21:23,000 Actually, almost 30 years. And it's been in regular markup with junk in it, then 269 00:21:23,001 --> 00:21:29,000 minimal markup with some JavaScript, then XSLT, weird. Then 270 00:21:29,000 --> 00:21:32,001 PHP, like three. 271 00:21:33,001 --> 00:21:39,001 Then WordPress, then Jekyll, then Hugo. I have a problem. But 272 00:21:39,001 --> 00:21:45,000 the idea, I kept thinking, was like, remove the boilerplate. I just want the 273 00:21:45,000 --> 00:21:48,000 content. I don't want to put the same crap in everything. 274 00:21:48,000 --> 00:21:52,001 And I don't want a system that I have to trust like WordPress. I just didn't like 275 00:21:52,001 --> 00:21:57,000 it. I like the Hugo site. This is on Go right now. But my goal is to rip this off 276 00:21:57,000 --> 00:22:01,000 and do everything it did, but do it in the browser. So that's kind of like the 277 00:22:01,000 --> 00:22:06,000 genesis of this idea. And I'm just thrilled that it's working with just your 278 00:22:06,000 --> 00:22:11,000 content markdown. Boom. And then all of this JavaScript could go away. It could 279 00:22:11,000 --> 00:22:15,000 be broken. It doesn't matter. You still have your content, right? And you could 280 00:22:15,000 --> 00:22:19,000 just switch to another theme or another JavaScript file and would do the right 281 00:22:19,000 --> 00:22:21,001 thing. So yeah. 282 00:22:23,001 --> 00:22:24,001 Thank you all.