Hot Tutorial
A step-by-step guide to building a web site on Hot Page, exploring all of the basic functionality
In this tutorial, we’ll be building a personal web site for Burnout, the Hot Page mascot. We’ll show you the basics of creating a layout, integrating open source code and building a site-wide header that links pages together. Feel free to use this guide with your own content to start building your own pages immediately — the steps taken here are a starting place for many common web sites.
If you’re brand new to HTML, you might want to first check out our one-page introduction, Elemental HTML, and an accompanying guide to CSS, the Style of Elements.
Also, if you want to spoil the ending you can see a copy of the site we’re going to build or how it was built by opening it in the Hot Page editor. But like, don’t ruin the narrative for yourself quite yet. It’s just there in case you get stuck or your site doesn’t end up working the “right” way and you want to see how it’s “supposed” to look like.
A Word About Content
All great web pages start with great content. If you don’t have anything to say, there’s really no point to any of the design or swank interaction you will build for your site. Content is like the foundation and steel beams holding up your site, without it, any windows or tiles you put on it will just fall down and the result will look pretty silly. Your site’s look and feel can help great content get attention, but it can never replace it.
If you’re interested in building something real of your own, take a moment to sit down and really think about the message you want to express. Before picking colors or making any other design choices, write some text.
This step is certainly harder and more important than anything that follows. That said, it is something that Hot Page will never be able to help you achieve, so we are now going to breeze right over it like it never happened. Do not make the same mistake!
Signup for Hot Page
Although you can test out Hot Page without making an account, it’s probably best to do so if you want to keep access to your site. So go ahead and go the the signup page and register your email with a username and password — it’s totally FREE!
Create a Site
After making an account you will be asked to pick a name for your first
site. Actually, your site has a title which is human readable with
punctuation and the like, as well as a name, which forms part of your
own domain name, like my-name.hot.page
.
If you already did the signup previously, you can create a new site from the home page of the editor at https://hotpage.dev/. Click the button that says “Create a new site” (or just click this link to go directly).
Add Some Content
Let’s paste in some demo content. For this tutorial we’re building a
simple personal website that starts with a bio page. You can select all
the content that’s already in the document with the mouse or hit
Not exactly cheerful, but they’re pretty good at web design.
Modify an Element
Hot Page can be quite intimidating if you have never built a web page by hand before. That’s because as you use Hot Page, you may still need to type stuff directly into the computer, just like a goddam hacker.
To make the first line of the page into a heading, stick your cursor in
the box above “I’m Burnout” and replace p
with
h1
. Code tends to be very concise and by doing this, we’ve
just turned the element from a paragraph into a level-one heading. This
is very basic web stuff so it’s probably looking familiar already, but
if not, please take a look at our one-page introduction to HTML.
Add an Image
Drag the image below directly into the editor above the heading you just made. You can also drag images from your desktop or any folder on your computer straight into the document. There’s also an Images sidebar that serves as a library of all the images that you’ve already uploaded to your site. You can also drag new images there or open a file picker dialog box by clicking “Upload an image.”
Create a Link
The web is made of links between pages. On Hot Page, you can add a link to any piece of text by just selecting it and using the black menu that pops up.
To create our first link, select the text “Hot Page” in the first paragraph of text and click the X icon that sorta looks like a chain. A dialog will pop up asking for the URL that is the target of this link. Go ahead and paste “https://hot.page” and hit “Okay.” You have made a link.
Preview Your Work
To view this web page as anyone else on the internet would see it, we first need to save it. Click the “Save” button in the toolbar at the top of the page. Then hit the X icon to open your brand new page in another tab.
You will probably be shocked at how ugly things are at this stage. You might think, “This is a professional web site tool? This thing looks like crap!” And, well, you wouldn’t be wrong. However, things are just as they should be and by the end of this tutorial, you will have made something that looks totally decent.
The philosophy of Hot Page is about building things up from zero instead of giving you a complete design and asking you to subtract. We believe this process is inherently more creative and fun.
Add a Style Sheet
Let’s add a style sheet and see this thing come to life. Go to the
“Styles” tab and hit the @import
CSS rule for adding whole chunks of CSS from
another file. Click the line that says boilerplate.css
.
If you save your document and look at it in the other tab that we opened in the previous step, you’ll see things have definitely changed for the better. It’s not exactly pretty — and certainly not distinctive — but it’s at least less, um, ugly.
The idea for this boilerplate CSS file is to just add some common-sense style rules that you probably want on any web page, things like spacing and shortening the lines of text so that you can actually read them. You can read the entire CSS file by opening it in the Hot Page editor. The comments there explain most the rules and why they’re included.
Adding Custom Styles
Let’s keep going with the styles to give this page a little more flavor. You can start by pasting the following CSS in to your Styles tab.
html {
background: #5F347A;
color: white;
--horizontal-margin: auto;
--text-width: 900px;
}
img {
margin-inline: auto;
}
h1 {
font-size: 3rem;
font-weight: normal;
color: #FAD61F;
}
a {
color: #FAD61F;
font-weight: bold;
}
Using Classes
Let’s take those first lines after the heading and turn them into a
sort of header area with bigger text. To do this we can add classes to
the elements and then use them to make style rules. So where it says
p
above Burnout’s pronouns, go ahead and type
p.pronouns
, which adds the class pronouns
to
the p
tag. And for the two lines below it, add the classes
identity
and job-title
so that both lines say
p.identity
and p.job-title
.
On the Styles tab, we are going to use these classes to select the elements and give them some new style rules. Paste the following CSS and feel free to tweak it as you see fit.
.pronouns {
font-style: italic;
}
.identity,
.job-title {
font-weight: bold;
font-size: 1.2em;
}
Nest Elements
Alright, so that header section could still use a little bit of work. In HTML, elements can group other elements inside of them and form elaborate trees of stuff nested levels and levels deep. This is how we build up a layout on any web page.
We can put the image next to the text by adding a few more elements and style rules. Here are the steps:
- First select the heading, the pronouns and the job titles and hit the tab key to create a parent element on them.
- Then select part of the text and the image and hit tab again to wrap the text and the image together in another element.
- Give this top element the class
top
so the box readsdiv.top
.
In the end, it should look like this:
Now paste the following CSS in the Styles tab:
.top {
display: grid;
grid-template-columns: 30% 70%;
gap: 16px;
max-width: var(--text-width);
margin: 0 var(--horizontal-margin);
}
When you preview your page, the image should now be next to the text.
Create Another Page
There’s a lot you can do with a single-page site, but sometimes it’s best to split your content into new pages. Let’s do that now.
From the page editor, hit the back arrow at the top or click on your site title and you’ll arrive at an overview of your site. The current tab is called “Pages” and it’s a view of all your pages. Go ahead and click “Create a new page” and we’ll be in the document editor once again. Give the page the title “My Favorite Poems” and the path “/poems”. Once you hit Save, your page will be visible at “/poems” on your site.
Go ahead and paste the content below:
Create a Style Sheet
If you take a peak now, you’ll see that things are just as ugly as that first page was and we’ll need to add style rules again to make this thing look decent. This could get pretty tiring to do for every page, so we’re going to go ahead and make a style sheet that we can include the same styles from now on out.
Go back to your site page by clicking the the name of the site or the back arrow at the top of the page. You’ll see both pages that we’ve created and above that three tabs: Meta, Pages and Style Sheets. Hit “Style Sheets” and then use the “Create a style sheet” button to make a new one.
At the top, you’ll need to give this style sheet a general path like
/main
.
Click boilerplate.css
styles here. Then you can paste the same
rules to change the colors and spacing:
html {
background: #5F347A;
color: white;
--horizontal-margin: auto;
--text-width: 900px;
}
h1 {
font-size: 3rem;
font-weight: normal;
color: #FAD61F;
}
a {
color: #FAD61F;
font-weight: bold;
}
Be sure to hit save before you leave the page.
Now go back to the poetry page and hit the same
button again. You should see the style sheet we just created under “Site Style Sheets.” Go ahead and click it to add it to your document.Take a look at that crazy purple poems page.
Add a Font
Things are really going to get better once we pick a better typeface. You can go to Google Fonts and pick out a few fonts, then copy the link it generates for you into your page.
I just picked out Pixelify Sans for the heading and Open Sans for the
body text (Burnout loves pixel art, obviously). The import link that
Google gave me is below. Please note we don’t want the whole
@import
rule, but just the URL of the
CSS file, like this:
https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Pixelify+Sans:wght@400..700&display=swap
Click the
button again and paste the link. Then paste this CSS to use the fonts on the page:body {
font-family: Open Sans, sans-serif;
}
h1 {
font-family: Pixelify Sans, sans-serif;
}
Add a Site Header
Different pages on the same site often share some parts in common, typically a header and footer with links to navigate between the pages. We can easily do this on Hot Page by just including one page inside another. Here we will create a header.
Go ahead and make a new page and call it Header. Paste in the following HTML:
<nav>
<div>Burnout</div>
<div>
<a href="/">Home</a>
<a href="/poems">Poems</a>
</div>
</nav>
On the Styles page, import your site’s style sheet again and add this
CSS to format the <nav>
element:
nav {
display: flex;
justify-content: space-between;
align-items: center;
background: #F65E2B;
margin: calc(var(--body-padding) * -1);
margin-bottom: 2rem;
padding: 0.7rem 2rem;
}
nav h3 {
margin: 0;
font-size: 1.5rem;
font-weight: 300;
}
nav a {
margin-left: 2rem;
}
Since we don’t want this page to be loaded by itself, we can make it private. Open the Head tab and hit the toggle next to “Published” and the page will no longer be visible to anyone coming from the internet.
Now that we’ve built the header, let’s add it to both of pages on our growing site. Open the home page in the editor, flip to the Pages tab on the left of the screen and drag the Header page into the body of the document above all of the other content. Hit save and you’ll see the header is now sitting at the top of the document.
Add it to the poetry page as well. Now when you look at your site, you can see we have a convenient way to jump back and forth between both pages.
Add Some JavaScript
As you can see, you can do a whole lot with just HTML and CSS. If content is the meat and potatoes of web design, HTML and CSS are the butter and all of the seasonings. Now we’re getting to dessert: JavaScript.
In this section, we will add one line of JavaScript, a simple event handler that will trigger an animation when clicked. This is an Easter egg on the page that serves to introduce you to some basic concepts of JavaScript and how you can use it on Hot Page.
JavaScript can be intimidating because it often gets quite complex. But it turns out that typically most of what we do in JavaScript is just manipulate the HTML and CSS of the page. So to start things off, let’s add another bit of CSS to the Styles tab. This is a new type of rule that defines the animation we’ll be using.
.jello {
animation: jello 0.7s ease-in-out;
}
@keyframes jello {
12.5% {
transform: skew(-12deg, -12deg);
}
25% {
transform: skew(6deg, 6deg);
}
37.5% {
transform: skew(-3deg, -3deg);
}
50% {
transform: skew(1.5deg, 1.5deg);
}
62.5% {
transform: skewX(-.75deg, -.75deg);
}
75% {
transform: skewX(.4deg, .4deg);
}
87.5% {
transform: skewX(-.2deg, -.2deg);
}
}
Click on the menu next to the image for burnout and select “Add a
JavaScript event handler.” That pops up another little box to type in.
The event we’re now creating is onClick
and, no surprise,
it will run this code when someone clicks on the image. Go ahead and
paste this line of code:
this.classList.toggle("jello")
To test this out, save the document again and click the image on your page. Ta da! You are now a programmer.
Remove the Hot Page Banner
There’s one big problem left on this site and that’s the ugly banner at the top of it that advertises Hot Page. You can get rid of that by filling out a simple form with your credit card number. 😉
What’s Next?
The site we built could still use a little work. The following ideas are left as assignments for the reader:
- If you own a domain name, have it (or a new subdomain) point to your new site following the instructions on the next page of this documentation — you can do this for free!
- Add the Animate.css library and try out different animations for the Easter egg we made in the JavaScript step.
- Add a custom element from our HotFX library, like the hamburger menu component or the shy header — or both!
- Browse CodePen and try to copy some code into a new page.
- Design a third page from scratch with links to some of your favorite web pages.
- Create a style sheet for your site. This let’s you keep a consistent look for multiple pages.
- Use a CSS Framework. Our Bootstrap Demo could be a good starting point.
If you got stuck along the way or have any suggestions for how to improve this document, we would love to hear from you. Please reach out to the Hot Page team via email at support@hot.page or join our Discord server to chat directly with the Hot Page developers.