Cara Membuat Blog dengan HTML CSS dan JavaScript
Cara Membuat Blog dengan HTML CSS dan JavaScript - Pada kesempatan ini, saya akan memberikan panduan membuat blog sederhana HTML dan CSS, serta menyimpan data secara lokal lewat LocalStorage. Jadi blog yang akan dibuat ini bisa menampilkan, menambahkan, update, dan hapus.
LocalStorage adalah fitur pada browser web yang bisa menyimpan data dalam bentuk key-value pairs secara local di device user. Data yang disimpan dalam localStorage tetap tersedia bahkan setelah pengguna menutup browser atau close. Data tersebut akan tetap tersimpan sampai user mendelete atau melalui penghapusan cache browser.
Sebelum membuat, berikut alat yang harus disiapkan.
- Komputer/Laptop/Android. jika tidak punya silahkan pinjam teman anda.
- Aplikasi Text Editor. anda bisa menggunakan notepad, notepad++, VSC, sublime text, dll.
- Browser. untuk membuka file websitenya nanti.
- Niat yang Tulus. tanpa niat usahamu akan sia-sia.
Cara Membuat Blog dengan Html
Berikut panduan lengkap membuat blog sederhana tanpa database MySQL sebagai berikut.
1. Buat file index.html
Langkah pertama buka aplikasi text editor dan buat file dengan nama index.html sebagai halaman utama web, kemudian copy dan paste kode berikut :
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Blog - Halaman Utama</title><style>/* Reset CSS */* {margin: 0;padding: 0;box-sizing: border-box;}body {font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;line-height: 1.6;background-color: #f0f0f0;}header {background: #333;color: #fff;padding: 20px;}header h1 {margin: 0;}nav ul {list-style-type: none;padding: 0;}nav ul li {display: inline;margin-right: 20px;}nav ul li a {color: #fff;text-decoration: none;}.hero {text-align: center;padding: 100px 20px;background: #f4f4f4;}.hero h2 {margin-bottom: 20px;font-size: 2.5em;}.hero p {font-size: 1.2em;color: #666;}.btn {display: inline-block;padding: 12px 24px;background: #333;color: #fff;text-decoration: none;border-radius: 5px;transition: background 0.3s ease;}.btn:hover {background: #555;}.articles {display: flex;justify-content: space-around;flex-wrap: wrap;margin-top: 50px;}.article {flex-basis: calc(33.33% - 40px);padding: 20px;background: #fff;border-radius: 10px;margin-bottom: 20px;box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.1);transition: transform 0.3s ease;}.article:hover {transform: translateY(-5px);}.article h3 {margin-bottom: 10px;font-size: 1.5em;}.article p {margin-bottom: 15px;color: #555;}.footer {background: #333;color: #fff;margin-top: 80px;text-align: center;padding: 20px;width: 100%;}a.link{color:white;}</style></head><body><header><h1>Blog Saya</h1><nav><ul><li><a href="#">Beranda</a></li><li><a href="#">Artikel</a></li><li><a href="#">Tentang</a></li><li><a href="#">Kontak</a></li></ul></nav></header><section class="hero"><h2>Selamat datang di Blog Saya</h2><p>Temukan berbagai artikel menarik tentang topik yang Anda minati.</p><!-- arahkan ke halaman artikel --><a href="#" class="btn">Lihat Artikel</a></section><footer><p class="footer">Hak Cipta © 2024 <a class="link" href="https://www.ansoriweb.com/">AnsoriWeb.com</a></p></footer></body></html>
2. Buat file blog.html
Kemudian buat file dengan nama blog.html, file ini digunakan untuk menampilkan daftar artikel yang dibuat nantinya, untuk codenya sebagai berikut :
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Artikel | Ansori Web</title><style>/* Reset CSS */* {margin: 0;padding: 0;box-sizing: border-box;}body {font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;line-height: 1.6;background-color: #f0f0f0;}header {background: #333;color: #fff;padding: 20px;}header h1 {margin: 0;}nav ul {list-style-type: none;padding: 0;}nav ul li {display: inline;margin-right: 20px;}.hero {text-align: center;padding: 100px 20px;background: #f4f4f4;}.hero h2 {margin-bottom: 20px;font-size: 2.5em;}.hero p {font-size: 1.2em;color: #666;}nav ul li a {color: #fff;text-decoration: none;}.btn {display: inline-block;padding: 12px 24px;background: #333;color: #fff;text-decoration: none;border-radius: 5px;transition: background 0.3s ease;}.btn:hover {background: #555;}.articles {display: flex;justify-content: space-around;flex-wrap: wrap;margin-top: 50px;}.article {flex-basis: calc(33.33% - 40px);padding: 20px;background: #fff;border-radius: 10px;margin-bottom: 20px;box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.1);transition: transform 0.3s ease;}.article:hover {transform: translateY(-5px);}.article h3 {margin-bottom: 10px;font-size: 1.5em;}.article p {margin-bottom: 15px;color: #555;}.footer {background: #333;color: #fff;margin-top: 80px;text-align: center;padding: 20px;width: 100%;}a.link{color:white;}</style></head><body><header><h1>Blog Saya</h1><nav><ul><li><a href="#">Beranda</a></li><li><a href="#">Artikel</a></li><li><a href="#">Tentang</a></li><li><a href="#">Kontak</a></li></ul></nav></header><section class="hero"><h2>Daftar Artikel</h2><p>Temukan berbagai artikel menarik tentang topik yang Anda minati.</p><!-- arahkan ke halaman buat artikel --><a href="#" class="btn">Tambahkan Artikel</a></section><section class="articles" id="articles-container"><!-- Artikel akan ditambahkan di sini secara otomatis --></section><footer><p class="footer">Hak Cipta © 2024 <a class="link" href="https://www.ansoriweb.com/">AnsoriWeb.com</a></p></footer><script>// Ketika halaman dimuatdocument.addEventListener('DOMContentLoaded', function () {const articlesContainer = document.getElementById('articles-container');// Ambil artikel dari localStoragelet articles = [];if (localStorage.getItem('articles')) {articles = JSON.parse(localStorage.getItem('articles'));}// Tampilkan artikel di halamanarticles.forEach(function (article) {displayArticle(article);});// Fungsi untuk menampilkan artikelfunction displayArticle(article) {const articleElement = document.createElement('article');articleElement.classList.add('article');articleElement.innerHTML = `<h3>${article.title}</h3><p>${article.content}</p><a href="https://www.ansoriweb.com/" class="btn">Baca Artikel</a>`;articlesContainer.appendChild(articleElement);}});</script></body></html>
3. Buat file tambah-artikel.html
Kemudian buat file baru dengan nama tambah-artikel.html, file ini digunakan untuk fungsi menambahkan artikel, melihat artikel pada tabel, dan menghapus artikel. Untuk fitur update bisa di kreasikan sendiri. Untuk codenya sebagai berikut :
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Tambahkan Artikel | Ansori Web</title><style>/* Reset CSS */* {margin: 0;padding: 0;box-sizing: border-box;}body {font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;line-height: 1.6;background-color: #f0f0f0;}header {background: #333;color: #fff;padding: 20px;}header h1 {margin: 0;}nav ul {list-style-type: none;padding: 0;}nav ul li {display: inline;margin-right: 20px;}nav ul li a {color: #fff;text-decoration: none;}.hero {text-align: center;padding: 100px 20px;background: #f4f4f4;}.hero h2 {margin-bottom: 20px;font-size: 2.5em;}.hero p {font-size: 1.2em;color: #666;}.btn {display: inline-block;padding: 12px 24px;background: #333;color: #fff;text-decoration: none;border-radius: 5px;transition: background 0.3s ease;}.btn:hover {background: #555;}.add-article {text-align: center;margin-top: 50px;}.add-article h2 {margin-bottom: 20px;}.add-article form {display: flex;flex-direction: column;align-items: center;}.add-article form div {margin-bottom: 20px;}.add-article form label {display: block;margin-bottom: 5px;}.add-article form input[type="text"],.add-article form textarea {width: 100%;padding: 10px;border: 1px solid #ccc;border-radius: 5px;box-sizing: border-box;}.footer {background: #333;color: #fff;text-align: center;padding: 20px;width: 100%;margin-top: 50px;}.footer a {color: white;}.articles {margin-top: 30px;text-align: center;padding: 0 auto;display: flex;flex-direction: column;align-items: center;}.delete-btn {background-color: #f44336;color: white;border: none;padding: 5px 10px;border-radius: 3px;cursor: pointer;}.delete-btn:hover {background-color: #d32f2f;}table {width: 80%;border-collapse: collapse;margin-top: 20px;}th, td {border: 1px solid #ddd;padding: 8px;text-align: left;}th {background-color: #333;color: #fff;}</style></head><body><header><h1>Blog Saya</h1><nav><ul><li><a href="/index.html">Beranda</a></li><li><a href="#">Artikel</a></li><li><a href="#">Tentang</a></li><li><a href="#">Kontak</a></li></ul></nav></header><section class="add-article"><h2>Tambah Artikel Baru</h2><form id="article-form"><div><label for="title">Judul:</label><input type="text" id="title" name="title" required></div><div><label for="content">Konten:</label><textarea id="content" name="content" rows="4" required></textarea></div><button type="submit" class="btn">Tambah Artikel</button></form></section><section class="articles"><table><thead><tr><th>Judul</th><th>Konten</th><th>Aksi</th></tr></thead><tbody id="article-list"><!-- Articles will be dynamically inserted here --></tbody></table></section><footer><p class="footer">Hak Cipta © 2024 <a class="link" href="https://www.ansoriweb.com/">AnsoriWeb.com</a></p></footer><script>document.addEventListener('DOMContentLoaded', function () {const articleForm = document.getElementById('article-form');const articlesSection = document.querySelector('.articles');// Menangani submit form untuk menambahkan artikel baruarticleForm.addEventListener('submit', function (e) {e.preventDefault();// Mengambil data dari formconst title = document.getElementById('title').value;const content = document.getElementById('content').value;// Membuat objek artikelconst article = {title: title,content: content};// Menampilkan alertshowAlert();// Mengosongkan formarticleForm.reset();// Menyimpan artikel ke localStoragesaveArticle(article);displayArticles();});// Fungsi untuk menyimpan artikel ke localStoragefunction saveArticle(article) {let articles = [];if (localStorage.getItem('articles')) {articles = JSON.parse(localStorage.getItem('articles'));}articles.push(article);localStorage.setItem('articles', JSON.stringify(articles));}// Fungsi untuk menampilkan alertfunction showAlert() {alert('Artikel berhasil ditambahkan!');}});document.addEventListener('DOMContentLoaded', function () {// Your existing JavaScript code here// Function to display articles in the tablefunction displayArticles() {const articleList = document.getElementById('article-list');articleList.innerHTML = ''; // Clear existing content// Retrieve articles from localStoragelet articles = JSON.parse(localStorage.getItem('articles')) || [];// Iterate through articles and append rows to the tablearticles.forEach(function (article, index) {const row = document.createElement('tr');row.innerHTML = `<td>${article.title}</td><td>${article.content}</td><td><button class="delete-btn" data-index="${index}">Delete</button></td>`;articleList.appendChild(row);});}// Initial display of articlesdisplayArticles();// Event listener to handle article deletiondocument.getElementById('article-list').addEventListener('click', function (event) {if (event.target.classList.contains('delete-btn')) {const index = event.target.dataset.index;deleteArticle(index);}});// Function to delete article from localStorage and update tablefunction deleteArticle(index) {let articles = JSON.parse(localStorage.getItem('articles')) || [];articles.splice(index, 1);localStorage.setItem('articles', JSON.stringify(articles));displayArticles(); // Refresh table}});</script></body></html>
4. Jalankan kode
Setelah berhasil dibuat, saatnya buka ketiga file diatas menggunakan browser. Untuk preview tampilan blognya sebagai berikut dan bisa dikembangkan lagi dengan kreativitas masing-masing.
Kesimpulan
Demikian panduan membuat blog dengan html dan css tanpa database menggunakan LocalStorage JavaScript, semoga tutorial webiste ini bermanfaat bagi kita semua yang sedang mencari referensi yang diberikan oleh guru anda. Jika ada pertanyaan atau kurang jelas, script error, atau segala pertanyaan tentang artikel ini bisa ditanyakan melalui kolom komentar dibawah ini. Terima Kasih.