Build a website

---

Scope

underneath the hood


Birth of the web

In 1989, Tim Berners-Lee, a young scientist working at CERN, wrote a proposal for an information management system based on the Internet

https://home.web.cern.ch/news/series/cern70/cern70-where-web-was-born

https://home.cern/science/computing/birth-web


HTML

go to web page, right click, view page source. this is html

HTML uses tags to define the structure of a web page

<!DOCTYPE html>
<html>
<head>
    <title>Page Title</title>
</head>
<body>
    <h1>My First Heading</h1>
    <p>My first paragraph.</p>
</body>
</html>

Links

<a href="https://www.w3schools.com">W3Schools</a>

Bullet points

<ul>
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
</ul>

and <div>, <span>, .

In the old days we used tables to layout our pages and shim.gif a transparent image to create space between elements.


HTML 5 and after

HTML shifted to a "Living Standard" in 2019

Recent HTML Features (2023-2025)

This is quite technical, adding it here to show the type of things that continuously improved in html.

Popover API

Dialog Element (now widely supported)

Search Element

Lazy Loading (now standard)

Declarative Shadow DOM

Details "name" Attribute

Blocking Attribute

SelectMenu Element (coming soon)

Bottom Line

Focus is on developer experience, accessibility, and reducing JavaScript dependencies for common UI patterns.


Styling

Cascading Style Sheets (CSS) is used to format the layout of a webpage.

With CSS, you can control the color, font, the size of text, the spacing between elements, how elements are positioned and laid out, what background images or background colors are to be used, different displays for different devices and screen sizes, and much more!

CSS can be added to HTML documents in 3 ways:

try it yourself https://www.w3schools.com/html/html_styles.asp

See more at https://www.w3schools.com/html/html_css.asp


behaviors

with Javascript

JavaScript makes HTML pages more dynamic and interactive.

see https://www.w3schools.com/html/html_scripts.asp


Front End vs Back End

Front End (Client-Side)

Back End (Server-Side)


JavaScript's Dual Role

Front End JavaScript

Back End JavaScript (Node.js)

The Connection


DNS

Domain Name System (DNS) is a system that translates human-readable domain names (like "www.example.com") into IP addresses (like "192.0.2.1").

when you create website

setup includes


Focus : a link

<a href="https://skatai.com"
    alt="Computer science courses"
    style="font-size: 20px; color: #3366FF;"
    onclick="alert('You clicked the link!')"
>
    Skatai.com
</a>

Markdown + Jekyll

We've seen markdown

# H1
## H2

- list item 1
- list item 2

[link](/)

![image](/images/woodpecker_03.png)

JEKYLL_ENV=production bundle exec jekyll build
git add .
git commit -m "update website"
git push origin master

and ... tada! the new page is online


streamlit

Streamlit is a python library that allows you to create web applications in minutes.


Intermission


Demo

go to

inwai > deploy-streamlit-github/

1 / 0