Resources

Isabella Velásquez | Building a Blog with R | RStudio

video
Jan 26, 2022
1:03:30

image: thumbnail.jpg

Transcript#

This transcript was generated automatically and may contain errors.

Hi everybody, it's so nice to be here and to chat with you about building a blog with R.

A little bit about me, I have the great pleasure of working at RStudio with Rachel and many others and I am the Senior Product Marketing Manager and currently I focus on the strategy and the content creation for the RStudio blog. It's been an amazing almost five months and again, it's just been amazing to have the opportunity to work with others at RStudio and others in the data science community and as such, I would love to hear your compelling data science stories and if you are ever interested in collaborating on posts on the RStudio blog, please consider this an open invitation to reach out to me. We can brainstorm, we can collaborate if you're already thinking about something in particular.

So again, really excited to communicate with you and then also chat with you about how to create your own blog. And so just a little bit more about me in my free time, I'm also very active in the R community. I'm a proud R-Lady Seattle co-organizer and sometimes I post on my personal blog as well. And so my very first R-Ladies talk was actually on the blogdown package way back in 2018, funnily enough. So I'm really excited so many years later to continue talking about building the blog with R.

And so just a quick intro question, if you have any data science or technical blogs that you love to read, please put them in the chat and feel free to share why you love them so much.

Today's agenda

So today's agenda that we'll be going through are possible reasons for creating a blog that sort of topics and that you might like want to consider and other things that you want to take note of before building your blog. And then of course, the actual tools for building your blog with R. And I have a lot of resources in this repository so that they are easy to find as well as the slides that you see here. So if you have any questions like Rachel mentioned, please put them in Slido or in the chat and we can discuss them at the end of today's presentation.

And so while today's talk title is building a blog with R, we're actually going to be talking about websites a little bit more generally. So a blog is a very specific type of website that has a reverse chronological order where the viewer content appears first and it can allow for things like comments and can be syndicated on RSS feeds, index, et cetera. And some website pages can be quite static and they're not updated very frequently. Whereas a blog tends to be very dynamic. You want to keep it fresh with content. And there are also other sorts of websites that support dialogue and can serve as sort of libraries of knowledge such as wikis or forums.

But blogs specifically add this kind of time factor to consider them successful because you want continuous engagement, continuous content. And the type of content considered for a blog is different too. It could be more real time to things like events that are happening and more of an opinion rather than a reference. And we'll get into that as well later. And so just to reiterate, while we're talking about blogs specifically, know that R can actually be used to create these other types of websites as well.

Why create a blog?

And so we should talk about why create a blog in the first place. So I would like to glean some insights that I've seen from other people's talks. David Robinson once wrote, if you've given advice three times, then it's time to consider giving a blog. On the resources page that I shared with you, I actually created a YouTube playlist in case you want to see talks from Allison Hill, Vicky Boykis, Miles Salmon, this one from David Robinson, if you'd like to hear their insights as well.

But in terms of like sharing a blog, there are various different things that come to mind. So being able to share your opinions and what you've learned, if there's a package that you investigated for a particular project, or something that is sort of workflow or process that you went through and you want others to learn about. Like I mentioned earlier, blogs are also an opportunity to write about your own opinions and kind of share the insights that you've gleaned from your expertise and your experience. And if you care to do so, you can also get feedback in the form of comments or social media discussion and things like that.

And then also to give updates and news and let other folks know what is going on in the world. But thinking about a data science community, specifically, blogs can really help showcase the kind of soft skills needed for data scientists. It can provide a platform to share, it allows you to practice writing for someone other than yourself. It can form a sort of portfolio of work and makes it very easy to share, because everything is in one place. And it kind of centralizes your work, rather than having things in various different spots.

External and internal blogs

And so when you watch those talks, and more generally, we often talk about reasons behind creating a personal blog, especially if you're looking for a job. But I also want to note that your team or organization could also benefit from having a blog. So external blogs, like the ones that we have at RStudio, are examples of these. Quick aside, just so you're aware, we have four different blogs, the RStudio blog, which is the one that I help manage, the AI blog, which has the latest news of AI technologies, and whose website is actually built with Distill that we're going to be talking about later, one of the tools for creating blogs. And then the RViews blog, which presents stories from the R community, and is actually built with blogdown, the other tool that we'll be talking about later. And then the Tidyverse blog, which uses HugoDown, which focuses on just Hugo, whereas the other package that I mentioned, blogdown, actually lets you use other kinds of static web site generators. And so I just wanted to quickly share that RStudio actually uses R in many different ways to build our blogs. And so our blogs help keep the community up to date with events and products.

Here is one showcasing the community events, like this one today, and just letting folks know in terms of what is happening this month, what happened last month, and where to find different sorts of resources. Another thing we like to do is showcase what's possible with all the cool data science teams and tools that are out there. And so this is an example from the Netherlands that actually built a shiny app and scaled it to hundreds of doctors in order to track COVID cases and make decision-making based on that data and information. And then the other thing is providing thought leadership and providing, like I mentioned earlier, opinions about a particular topic. And so RStudio does put these out as well. So for example, our stance on interoperability between Python, between an R, and then also things like the unique ways that code-first data science can help companies and teams be able to successfully create a data science team.

Internal blogs for teams

And so in addition to an external site, you should also consider an internal site or blog for your team as well. As this is an R Enterprise community meetup, this is actually the use case we'll be mostly focusing on today. And internal blogs can help you share information between team members in an easier and more efficient way. I don't know if you've ever tried to find some advice that your colleague sent you over email. It can be really hard to find. And with a blog, key information can be in one place. It could be searchable with tags. And so this just speeds up communication since everything's organized within the blog. And serving as a sort of bulletin board of ongoing projects in use, folks can search for information from the past while easily seeing what is the newest info.

And so generally, it gives your colleagues an opportunity to collaborate and share their knowledge if they know that there's a place that they can go to when they have something they want to share. And with a consolidated place like a blog, folks' thoughts can be shared very quickly to many people rather than siloed in conversations or emails. And others can learn about what their teammates are thinking about as well. And so ideally, an internal blog can foster a community that's open and inclusive and share the message that you all care about each other's work and your opinions and your experience.

And so ideally, an internal blog can foster a community that's open and inclusive and share the message that you all care about each other's work and your opinions and your experience.

And so there are a few differences between an internal blog and an external blog. You don't have to worry about things like keywords or searchability. Your audience is confined to those in the organization. So you know exactly how to find them. And the topics can be a little bit more flexible rather than your company or your products like with an official corporate blog.

And there are many different types of posts that you can consider for your blog as well. And this very much depends on your goals, the sort of information that your team finds useful. However, let's say you want to create a blog for an internal data science community. So topics for your community can include things like reflections on past projects, how things went, a summary of events, any lessons learned, where to find the outputs, for example. You could post things like virtual proposals to get feedback and review. And of course, things like news and updates are very well suited to blog posts.

But as you can see here, there's many, many different types that you can consider in terms of how to actually write the information that you want to share. And then besides these, there's also the actual content. And blog posts are a little bit about finding a sweet spot in terms of length and media, like whether you want to fully text the article, images, photos, infographic, videos, podcasts, etc. There's so many different ways of actually composing a blog post. And you don't have to worry so much about optimization, like I mentioned earlier. But you still want to make sure that your content is engaging and useful.

But one thing I do want to mention is that a blog is not the place for absolutely everything. And so this is a framework that I find very helpful. It's called the DITAC-based framework. And it tries to provide structure for technical documentation. So a successful technical team needs a mix of all of these tutorials, how-tos, explanations, and references. And so it's always important to consider, if you have a blog, what is the right place for a particular type of documentation, whether it should be stored somewhere else in another location, or if it makes sense to write a blog post about it, and then save it somewhere else a little bit more permanently, or write a blog post about something to raise awareness of a particular resource so it helps people or point people to it for the future. But that is the one caveat that I want to mention. Not everything is suited for a blog post inside an organization.

What to consider before starting

And so in addition, what else do you need to consider if you want to write an internal blog? I think first and foremost is why do you want to create an internal blog, and what are your goals and your ultimate purpose? Are you hoping to get viewership for just your team or outside of your team or others at the organization and hope that they are interested in the work as well? Are you hoping that the blog stays focused about work projects, or is it more of an opportunity to learn more about the personal experiences of others? And so having a clear goal can help you develop your blog, what it looks like, and help you explain to others its goal and purposes as well.

And related to your goals, I think it's very important to illustrate the values that you want to instill. So if your blog is meant to be a place for inclusivity, openness, a way to motivate your co-workers, then you want to make sure that the content of your blog demonstrates your values and that your colleagues are aware of these values as well. And another thing to consider is, again, what would be helpful and relevant content? What do you want to share that your readers will actually want to read? And for an internal data science community, what would be interesting enough to check in periodically at your blog to learn more for your teammates? A key to success is knowing what others find valuable and making sure that your blog reflects that information.

And like we mentioned before, we don't want a blog to confuse others because of the other forms of documentation that already exist within an organization. So it's important to know what's in and out of your blog, the tone, style, and voice that it will have, and what sort of content are within the guardrails of your blog and what is not. Of course, as time goes on and you learn things, things may change, but having these in place can help you understand how you think you'll meet your goals and adapt accordingly.

And ideally, you can get your colleagues involved in content creation as well. This way you can showcase many different voices and perspectives and keep your blog updated with diverse ideas. Of course, this means your colleagues must be excited to be involved and share their own skill sets. And this can be done through direct invitations, but it is helpful if you have firm values and great content for your blog to help encourage collaboration.

And then another thing to note is that you want to get buy-in for your blog, not just from your teammates, but also from your leadership team since it takes time to create content. You might have to make the case that it's worth the time and effort of not just you, but also your colleagues to keep a frequently updated blog. And this is done through the creation of valuable content, work that makes it interesting and useful and applicable to others, and being able to communicate the value of that work to higher-ups.

And so, like, if your blog's values are to be inclusive, you don't want to unintentionally exclude folks with the topics or the way that folks respond to discussions. So, getting consistent feedback and help can help determine whether your blog is truly benefiting your team and reflecting the values that you want to put in place.

And related to ownership, you want the blog to be a part of the routine of your work so that it doesn't feel like a big imposition or burden on you or others. Perhaps your co-workers have given a conference talk, or you just had a big strategy meeting. Can a blog post just be part of the workflow so that the blog has regular content, but it's not a creation of a whole new thing? And if it's already somewhat integrated, then it's a lot easier to keep the blog going.

And then, finally, there is the technical stuff, too. So, there's the actual tools that you'll be using to build your blog, and the training around those tools. You don't want something like a blog to disappear when a particular person, you know, moves to another team or something like that. And hopefully, you can build the skills across your team to make sure that your blog doesn't disappear. And hopefully, you can build the skills across your team, the infrastructure across your organization to keep it going.

Technical requirements

And so, to build a blog with R specifically, at least for the tools that I will mention today, you'll have to have some skills like R and R Markdown, and make sure that it's not just one person, but multiple people that have those skills in place, or at least a workflow to help those who are still learning R and R Markdown so that they are also able to contribute to the blog if they want to. And while you don't need a system like GitHub, it's incredibly helpful to have. Version control can help resolve issues like a particular conflict if two people edit the same file at the same time or something like that. And it can help keep track of changes. And then when they happen, being able to revert it and things like that. So, highly recommend having version control in place.

And then, of course, you need a place to actually host your website. And there are a few different options for if you're looking for a personal website, which we'll go through today. If you're looking for a blog for your internal company, then you will need to take other considerations into place, like if you want it behind your server so that it's secure, or behind a password, or on other protected hosting services like Netlify or RStudio Connect, which, again, we'll go through later.

Blogdown and Distill

So, today's demo, we're going to be talking about two different packages. Blogdown is an R package that creates websites using R Markdown and Hugo, which is a static website generator. This is by default. It actually can work with other site generators as well, like Jekyll. And Distill for R Markdown is a web publishing format optimized for scientific and technical communication. It uses Pandoc and the Distill frameworks to create the websites. And so, we'll be taking a look at these two different packages and seeing what a blog looks like in both cases.

And in terms of how do you decide between blogdown or Distill, there are a few factors. Say you want to have a lot of flexibility and configure your website a lot, then blogdown would be the way to go. Distill is a bit more minimal. You can edit the theme and some colors, but as we'll see, blogdown has a lot of variety in terms of themes and gives you a lot of options. But there is, you know, a flip side to this. With all that flexibility, it means that Distill is a lot more stable than blogdown. Things like if the Hugo version or the theme changes and breaks, then you have to, you know, consider other options for your website. And so, very much depends on the direction that you want your blog to go.

Demo: Hugo themes and blogdown

Can you see my screen okay? Yep, I can see the Hugo themes. Excellent, great. So, these are the Hugo themes that I mentioned with the many, many different variety of options that you have for your website. And so, my personal website is actually on blogdown or created using blogdown. I created with my co-organizers a website for Our Lady Seattle using this theme. And so, this is available on the GitHub repository that I shared in case you want to take a look at all the various themes that are available on Hugo.

And so, I did want to mention this one particular theme. It's called Hugo Apéro. And it is, like it says here, a Hugo theme you'll want to hang out with. Created by Allison Hill and our marketing team, it's a really, really great website to consider if you are interested in creating a blog with blogdown. And so, as you can see, it has this particular format. And then, in addition to that, it has different layouts for the type of content that you might want to consider creating. And so, this is what the blog setup looks like with different links showcased this way. If you click into it, you can see how it allows you to use the different R Markdown features. For example, these different tab sets.

It also gives you a layout like this called Projects where it's a little bit more static, like I mentioned earlier, but could be well suited for a particular type of content that you want to share. And just generally has like a lot of different capabilities. If you click into here, in terms of what we talked about earlier, the consolidation of work, this lets you take a talk, link the website, link the code, have it all in one spot.

And so, I created this demo site. If you are interested in creating an internal blog for your team or your organization or whatnot, what it could possibly look like using that Hugo Apéro. And so, using some great content from Rachel, thank you, Rachel, here's some examples of what a series of blog posts could look like. And so, folks, you know, whether they're new to the team or have been around for a while, can go in here and, you know, take in the great advice from their colleagues at any point.

In terms of resources, say, you have a company theme or R Markdown template that you want to share. And so, rather than having it kind of siloed in different file structures or things like that, having it in an easily findable spot on your blog can make it a lot easier for folks to, you know, find them, use these themes, et cetera. And similarly, if there are different kinds of talks or sorts of content that makes sense to keep saved within your team for this institutional knowledge, you have the option for that as well. And so, I just wanted to show a quick example of what this could look like, particularly if you are interested in cultivating a data science community with your team members.

Setting up blogdown with Hugo Apéro

And so, now I'm going to move to an example of how to set up Hugo Apéro and blogdown. And so, this is on GitHub. I'm going to my repositories. I'm going to start in a project from scratch. However, I guess it's not fully from scratch. I would say that there are a few things that you will need to have already set up. You will need R. Well, if you use RStudio IDE, like I do, you need to have that set up. Your RStudio needs to be connected with your GitHub page as well. And so, if those are in place, then you can create a new repository for your website. And so, let's call it new blogdown. We're going to initialize this with a readme file.

And then, moving to RStudio, we're going to file, new project, version control, get, open this up. And so, now we have a repository in our RStudio IDE that is linked to our GitHub page. And this is where the project in which we are going to create our blogdown website. And so, if you go to file, oops, apologies. I actually put this in the repository that I mentioned earlier, the snippet for actually creating a new website.

So, down here, under blogdown resources, getting started, we are also assuming that you have blogdown installed as well as Hugo. And if you don't, when you start the process, then it will prompt you to install the things that you need. In addition, that website that I just mentioned, the Hugo Apéro website, which is right here, has amazing, very detailed instructions on how to get set up using blogdown, Hugo, and Hugo Apéro, specifically. So, I already have blogdown installed, so I can call it in my library. And then, create a new site using the Hugo Apéro theme.

Okay. So, the new site is ready, and it actually asked me if I want to serve and preview the site. I'm going to say yes, so that we can take a look. This is a local version of our website. This is what we would be editing. So, this is the blank template from which you start your Hugo Apéro theme. And as you can see, like we mentioned earlier, it has the blog option, the project, the talks, et cetera.

And so, I'm going to talk through a few of the files that are important to know. So, config.toml is your site configuration. And so, as you can see here, there's already inputs available as the default, but you would change things like the title to the title that you're interested in for your particular website or your actual name, et cetera. The other thing I want to mention is Hugo Apéro actually has a lot of built-in themes. And so, if we go here, it has this sort of coloring. Say that we want to use another sort of color. So, forest, some more green. So, we would change it here. Save. And if you can tell, it actually changed the color by serving the site once we save the file. So, if we open this up, it looks a little bit different. It's green now. Change it one more time, just as an example. So, now we're going to change it from forest to violet. This is safe. And now, it is this purplish color.

Another thing to mention is Hugo Apéro also has built-in fonts. So, this kind of script that you see here, you can also change with some of the predefined fonts that are already in place. So, say we want to change commissioner to metropolis. I'm just going to move that out. And you can see that the font has changed as well. But like I mentioned earlier, like the websites built with are actually very customizable. And so, you can actually, you know, change the CSS to be very specific. If it's for an internal data science team and you want it to reflect the company's fonts and colors, you can do that as well. And so, there are lots of different configurations that you can try depending on what you are interested in.

And just to showcase what it looks like to change some information. So, this is the front page. And so, within these folders are, I find it very useful that there are like already text and everything available because it's very easy to see, you know, if you make a change, what exactly happens. And it will also very much let you know if you made an error as the site won't render. And so, as you can see here, the text here says sit down, relax, and get some Hugo Apéro. And that is actually configured through this file called underscore index.md in the content folder. And so, if we were to change that, as you can imagine, it would also change the front page of the website as well.

So, I'm going to write welcome. As you can see here, that block of text went away. It now just says welcome like we asked it to. And just another thing to notice, this blog has this particular look. But this can also be configured as well with the predefined section options that Hugo Apéro has. And so, if you go to content and blog, this is the particular blog. And again, index.md. And scroll down. So, it says here a sidebar for your thoughts. And that's the title here. You can change it to a sidebar for your thoughts too. And then you can see it has changed here. In addition, the Hugo Apéro documentation also showcases different kinds of looks that you can go through if you want to really, really change it up from the default.

Deploying with Netlify

So, I'm going to commit all of these changes. Let's say like your site is ready to go. You want to deploy it and have it shareable with others. Because right now it's just sitting in your computer. You can say, compare website. And then push up to your repository.

So, now we can see all the files have been included into our repository. And so, one option for deploying your website is called Netlify. And it's actually what I use for my personal website as you can see here. And it makes it very easy by integrating with GitHub if you have used GitHub. And for a paid plan, you can actually password protect it or keep it private if it is something that you are considering for your team. And so, if we go here just to show what it looks like to import a new project, we connect with GitHub. I'm already authorized. Yes. New blogdown blog. You can click it. Deploy site. And then site deploy in progress. And this should just take a couple minutes. But then you will be able to share your website using a URL similar to this one that I showed you earlier is also deployed on Netlify. And you can change that URL. You can add a custom one. There's rbind.io which a lot of folks use for their personal websites. And that is one option for you.

Demo: Distill

And so, now I'm going to go through the second tool that I mentioned which is called Distill. I'm going to close this project. So, if you recall for Hugo Apéro, we created a new GitHub repository. We cloned that repository into RStudio. And then we used that script to create our blog. Both Distill and blogdown actually have an add-in that you can use instead within the RStudio IDE. So, I'm going to show what that looks like now. So, that means that this one won't be connected to GitHub. But you have seen what the process looks like in that case. So, file new project. And this is also assuming that you have Distill already installed. So, directory. And down here, you can see there's website using blogdown. And then there's also Distill blog. So, we're going to click that. And then new Distill blog. And you can change the title for it as well. So, create project.

I'm going to go ahead and do that. And so, I have to admit, I had not used Distill until preparing for this part for this presentation. So, it's very much new to me. But just to showcase a few examples of what it looks like, this is the Distill blog, which is created using Distill. And you can kind of see what the look, you know, the general look. And it's very clean, very, very fresh. And very much well suited for scientific writing. And so, if you go to the actual Distill website, you can see some of these different options that you have for your scientific writing, if you so choose. So, for example, if you have a lot of footnotes, this will show up. And once you, like, hover over, you're able to see, you know, the text. And things like citations are very readily available on Distill. So, it's a great platform for this particular kind of writing. And for folks who just like, you know, the look and feel of this particular blog.

And another resource that I have included in the resources is called the distillery. And this gives you a lot more options in terms of customizing your Distill site, if you so choose.

So, going back to our RStudio, we have our Distill site ready to go. You can actually see it if you go into this underscore site index.html. And this is what the default looks like. You can see your blog, you can see your blog post, et cetera. Slightly different than blogdown is if you want to create a post, you do create a post. And we're going to do a new post. And so, you can see here the sorts of configuration that you have for your post in terms of author, et cetera. And you can write an R Markdown script like you normally would. And if you want to see what it would actually look like on your website, you would click knit.

So, now you can see what your new post looks like. If you go back to your front page, you can see like a blog, it's listed in order. And it's very straightforward in terms of creating a new post and having it show up on your website.

Publishing to RStudio Connect

I'm going to show a slightly different way of publishing your website, specifically if you're interested in keeping your website behind your firewall. RStudio Connect is an enterprise product from RStudio that allows for publishing of things like Shiny apps, Dash apps, many, many different things, including R Markdown files and websites created with R Markdown as well. And so, I am going to show an example of what it looks like to publish a website. I actually have two accounts on RStudio or on Connect. And so, I need to specify which one I want to use. And so, by typing this, it deploys the website to RStudio Connect.

It is deploying the website and now it's deployed successfully. This is what I meant to show you in the beginning. And so, this is RStudio Connect, like I mentioned, an enterprise product from RStudio. And so, with it, you can also host these websites. And if your company has RStudio Connect, the nice thing about this is it's behind the firewall. And so, you can specify specific folks to access your website. You can make it so that anybody on your RStudio Connect account can access the website or you can open it up to absolutely anybody. So, I just wanted to really like quickly showcase this and what it looks like, say, to have like a website behind a firewall on RStudio Connect.

Closing and Q&A

And so, with that, that is all I have for today. Again, please consider this an open call for if you have a story about data science, please contribute or consider contributing to the data science or the RStudio blog. We have examples like if you've built an awesome package that you want to share with others. Also, a post on like a particular tool that you've used and how you've used it and inspired others in data science. So, this is one showcasing RStudio Cloud for teaching others data science. And then also, if you just want to share your story and work together with me, I'm happy to work with you together on a blog post. And I would just love to hear from you. And so, with that, I think it is time for questions. Thank you so, so much.

Thank you so much, Isabella. I see a lot of people asking for the links to your GitHub, too, to use some of those examples. So, thank you for putting that all there. I can start reading some of the questions from Slido, but feel free to raise your hand, too, on Zoom if you want to ask anything live as well. And one of the questions was, when deciding between using a Hugo framework or Distill, are we fixed with that choice? Or is it easy to switch between both if you change your mind?

Yeah, I would say as somebody who has switched their personal blog theme a few times, there are definitely some details that you need to take into account. For example, different themes might have a different setup for like that top part of the post. And so, it won't necessarily just work to say copy and paste all of your files over. So, I would say, no, you're not stuck with a particular theme, but you have to be aware of how you'd have to change things up if you want to, you know, move to something new.

Thank you. Oluwasemi, and apologies if I'm pronouncing your name incorrectly. I see you have your hand raised if you'd like to ask that live. Yes, thank you very much, Isabella, for a wonderful presentation on using blogdown package. But like for me, the concern is, is there any way in which looking at the Hugo Apéro theme, you know, we have a contact page. Is there any way we can link that contact page directly to our email without me using the form spray package? Is there a way I can go about that? Thank you.

Yeah, I am actually not 100% sure. I haven't only used form spray before. But there is also, of course, like different options for contact forms, or, you know, linking if you want to share your email or things like that. But I would have to do a little bit of research and get back to you for more information.

But Arun, I see you had a question. Do we want to know HTML, CSS, YAML, or those kind of things to get started with blogdown? And feel free to jump in, Arun, if you want to add any other context. Well, I think the question is just do you need to know HTML and CSS to get started?

I would say no, to get started. I think the package has a lot of information and configuration to help you get started. If you notice, if we wanted to edit a particular post, we just have to go in and change the text up. I would say like knowing R and R Markdown is more of a requirement if you're specifically hoping to write a blog on using R Markdown. But of course, HTML and CSS will help you configure your site a little bit more. And I would also say that the R Markdown team has done amazing work in creating different sorts of packages that help you create more configuration for your R Markdown, your Shiny apps, and things like that, without needing to know everything there is to know about CSS.

There was another question. I see, Millie, you had a question around how do you change the URL? Millie, would you want to jump in and provide any context on that question? Yeah, I think Alex helped answer that, because I'm using blogdown, the Hugo Apéro theme, and I'm still working on my local computer, but I was wondering how you end up changing the URL so that it reflects what you want it to be instead of the strange, I guess, animal or whatever character that they give you. Yeah, some of the names are very interesting. Yeah, I'm glad the question was answered, and be sure to look at the chat later. At least, like, for my personal website, I used the rbind.io option that I mentioned earlier. I can find how to do that. It's actually in the blogdown book as well. And then, if you want a custom URL, we've used one that is using a cheap name, I think it's called, to use a custom URL, but we did have to pay in that particular case. This was for R-Ladies Seattle.

Thank you. I know, Millie, you had another question earlier, too. I just wanted to make sure we didn't miss, but that was, Isabella, do you have any tips for content writing to have the most impact for the audience?

Yeah, I think, for sure, there are some sorts of kind of guidelines. Like, you want to make sure that your title is catchy, that it conveys, like, what you are going to display within the actual post itself. There are, like, some things that are, like, kind of known in that particular case, like, folks really like lists or how-tos, and you can kind of create your work around that, but I do think it really, like,