DEV Community

Cristian Marinescu
Cristian Marinescu

Posted on

How to Create a Website for Beginners

Every website should be built from HTML, CSS and basic JS for interactivity. No need for frameworks like React, drag-and-drop builders, or template dependencies.

Using basic web development is enough to create a good website and useful for you. You need to have some knowledge about it which is quite easy nowadays because of the free resources available. One resource I always recommend is developer.mozilla.org which is free and easy to learn from. Of course, there are plenty more, but I won’t mention them now and it obviously depends on your own learning style.

Besides code, you also need a simpler static site generator. I choose Eleventy, which offers full control over your project’s output. Why I pick Eleventy? Fast builds and even faster websites are sufficient for any project.

I’ll use my own Eleventy repo (https://github.com/cristianvmac/Eleventy-Starter). This starter kit is perfect because it’s minimal, organized, and gives you a working site in seconds. Alternatively, you can build your own from scratch, check https://www.11ty.dev/.

Here’s the step-by-step flow:

  1. Clone & install: Run git clone <repo-url>, then npm install.
  2. Start the dev server: Run npm start → live preview at http://localhost:8080 + local CMS at /admin.
  3. Set global data: Fill in src/_data/client.js with your site name, email, socials, domain.
  4. Edit design: Change CSS variables in src/assets/css/root.css to update colors, fonts, spacing.
  5. Create pages: Run npm run create-page -- "Page Name" to scaffold a new page, or just add an .html or .md file in src/content/pages/ .
  6. Add content: Write blog posts in src/content/blog/ or use the CMS at /admin (no code required).
  7. Add images: Use the {% image %} shortcode in templates. It auto generates responsive WebP/JPEG.
  8. Add interactivity: Write plain JavaScript in src/assets/js/main.js (no frameworks needed).
  9. Build for production: Run npm run build → generates a public/ folder of static files.
  10. Deploy: Push to GitHub, import to Netlify (auto detects settings), and your site is live.

This starter gives you a complete, professional workflow and it never hides the underlying code. Every template is editable. Every CSS rule is yours. Every JavaScript function is plain and readable. You can customize it however you like it and it won’t look like any AI generated site or other website created by a predictable builder template.

If you want to remove the CMS, run npm run remove-decap. If you want to keep only the basics, run npm run remove-demo. You’re not locked into a platform or any other no-code solutions. You’re writing real HTML, CSS, and JS. Eleventy just makes it faster and easier to manage.

Best of all, it's completely free from your first line of code to your live deployment on Netlify's standard free tier.

Top comments (0)