Complete Guide: VS Code for Blogger Template

 

Complete Guide: VS Code for Blogger Template


🔧 Step 1: Configure Prettier Settings

1. Ctrl+Shift+P
2. Type: "Open User Settings JSON"
3. Enter បិទ Code នេះ:
{
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.formatOnSave": true,
  "editor.tabSize": 2,
  "prettier.printWidth": 120,
  "prettier.singleQuote": true,
  "[html]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[xml]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  }
}

📁 Step 2: Create Project Structure

📁 my-blogger-template/
   📄 template.xml      ← Blogger XML Code
   📄 preview.html      ← Live Preview
   📄 style.css         ← CSS Styles

📋 Step 3: Copy Blogger Template to VS Code

Blogger Dashboard
   → Theme → Edit HTML
   → Ctrl+A → Ctrl+C
   → VS Code បើក template.xml
   → Ctrl+V (Paste)
   → Ctrl+S (Save)

XML Tools នឹង Format ដោយស្វ័យប្រវត្តិ


🎨 Step 4: preview.html Setup

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Blogger Preview</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>

  <!-- HEADER -->
  <header id="header">
    <div class="header-inner">
      <h1 class="blog-title">My Blog Title</h1>
      <p class="blog-desc">Blog Description Here</p>
    </div>
  </header>

  <!-- NAVIGATION -->
  <nav id="navbar">
    <ul>
      <li><a href="#">Home</a></li>
      <li><a href="#">About</a></li>
      <li><a href="#">Contact</a></li>
    </ul>
  </nav>

  <!-- MAIN WRAPPER -->
  <div id="outer-wrapper">
    <div id="content-wrapper">

      <!-- MAIN CONTENT -->
      <main id="main">

        <!-- Post 1 -->
        <article class="post">
          <h2 class="post-title">
            <a href="#">Post Title 1</a>
          </h2>
          <div class="post-meta">
            📅 January 1, 2025 &nbsp;|&nbsp; ✍️ Author Name &nbsp;|&nbsp; 🏷️ Label
          </div>
          <div class="post-thumbnail">
            <img src="https://via.placeholder.com/800x400" alt="Post Image">
          </div>
          <div class="post-body">
            Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
            Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
            Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.
          </div>
          <a href="#" class="read-more">Read More →</a>
        </article>

        <!-- Post 2 -->
        <article class="post">
          <h2 class="post-title">
            <a href="#">Post Title 2</a>
          </h2>
          <div class="post-meta">
            📅 January 2, 2025 &nbsp;|&nbsp; ✍️ Author Name &nbsp;|&nbsp; 🏷️ Label
          </div>
          <div class="post-thumbnail">
            <img src="https://via.placeholder.com/800x400" alt="Post Image">
          </div>
          <div class="post-body">
            Lorem ipsum dolor sit amet, consectetur adipiscing elit.
            Ut enim ad minim veniam, quis nostrud exercitation ullamco.
            Duis aute irure dolor in reprehenderit in voluptate velit esse.
          </div>
          <a href="#" class="read-more">Read More →</a>
        </article>

      </main>

      <!-- SIDEBAR -->
      <aside id="sidebar">

        <!-- Search Widget -->
        <div class="widget">
          <h3 class="widget-title">Search</h3>
          <input type="text" placeholder="Search..." class="search-input">
        </div>

        <!-- About Widget -->
        <div class="widget">
          <h3 class="widget-title">About Me</h3>
          <img src="https://via.placeholder.com/100" alt="Profile" class="profile-img">
          <p>About description here...</p>
        </div>

        <!-- Categories Widget -->
        <div class="widget">
          <h3 class="widget-title">Categories</h3>
          <ul class="label-list">
            <li><a href="#">Technology (10)</a></li>
            <li><a href="#">Design (8)</a></li>
            <li><a href="#">Tutorial (15)</a></li>
          </ul>
        </div>

        <!-- Recent Posts Widget -->
        <div class="widget">
          <h3 class="widget-title">Recent Posts</h3>
          <ul class="recent-list">
            <li><a href="#">Recent Post Title 1</a></li>
            <li><a href="#">Recent Post Title 2</a></li>
            <li><a href="#">Recent Post Title 3</a></li>
          </ul>
        </div>

      </aside>

    </div>
  </div>

  <!-- FOOTER -->
  <footer id="footer">
    <p>© 2025 My Blog. All rights reserved.</p>
  </footer>

</body>
</html>

🎨 Step 5: style.css Setup

/* ==================== RESET ==================== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: Arial, sans-serif;
  background: #f5f5f5;
  color: #333;
  line-height: 1.6;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  max-width: 100%;
  height: auto;
}

/* ==================== HEADER ==================== */
#header {
  background: #4285f4;
  color: white;
  padding: 30px 20px;
  text-align: center;
}

.blog-title {
  font-size: 2rem;
  margin-bottom: 5px;
}

.blog-desc {
  font-size: 1rem;
  opacity: 0.8;
}

/* ==================== NAVBAR ==================== */
#navbar {
  background: #333;
  padding: 10px 20px;
}

#navbar ul {
  list-style: none;
  display: flex;
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
}

#navbar ul li a {
  color: white;
  font-size: 14px;
  transition: color 0.3s;
}

#navbar ul li a:hover {
  color: #4285f4;
}

/* ==================== LAYOUT ==================== */
#outer-wrapper {
  max-width: 1200px;
  margin: 20px auto;
  padding: 0 20px;
}

#content-wrapper {
  display: flex;
  gap: 20px;
}

/* ==================== MAIN ==================== */
#main {
  flex: 1;
}

/* ==================== POST ==================== */
.post {
  background: white;
  margin-bottom: 20px;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.post-title {
  font-size: 1.4rem;
  margin-bottom: 8px;
}

.post-title a {
  color: #4285f4;
  transition: color 0.3s;
}

.post-title a:hover {
  color: #0d47a1;
}

.post-meta {
  font-size: 12px;
  color: #999;
  margin-bottom: 12px;
}

.post-thumbnail {
  margin-bottom: 12px;
  border-radius: 6px;
  overflow: hidden;
}

.post-body {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 15px;
  color: #555;
}

.read-more {
  display: inline-block;
  background: #4285f4;
  color: white;
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 13px;
  transition: background 0.3s;
}

.read-more:hover {
  background: #0d47a1;
}

/* ==================== SIDEBAR ==================== */
#sidebar {
  width: 300px;
  flex-shrink: 0;
}

.widget {
  background: white;
  padding: 15px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  margin-bottom: 20px;
}

.widget-title {
  font-size: 1rem;
  color: #4285f4;
  border-bottom: 2px solid #4285f4;
  padding-bottom: 8px;
  margin-bottom: 12px;
}

.search-input {
  width: 100%;
  padding: 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 13px;
}

.profile-img {
  border-radius: 50%;
  display: block;
  margin: 0 auto 10px;
}

.label-list,
.recent-list {
  list-style: none;
}

.label-list li,
.recent-list li {
  padding: 5px 0;
  border-bottom: 1px solid #f0f0f0;
  font-size: 13px;
}

.label-list li a,
.recent-list li a {
  color: #555;
  transition: color 0.3s;
}

.label-list li a:hover,
.recent-list li a:hover {
  color: #4285f4;
}

/* ==================== FOOTER ==================== */
#footer {
  background: #333;
  color: white;
  text-align: center;
  padding: 20px;
  margin-top: 20px;
  font-size: 13px;
}

/* ==================== RESPONSIVE ==================== */
@media (max-width: 768px) {
  #content-wrapper {
    flex-direction: column;
  }

  #sidebar {
    width: 100%;
  }

  .blog-title {
    font-size: 1.5rem;
  }
}

🚀 Step 6: Start Live Server

1. គ្លីច preview.html
2. Right-click → "Open with Live Server"
   ឬ គ្លីច "Go Live" នៅ Status Bar
3. Browser បើក Auto ✅

✏️ Step 7: How Each Extension Helps

┌─────────────────────────────────────────────────┐
│                                                 │
│  កែ CSS នៅ style.css                           │
│       ↓                                         │
│  Prettier → Format ស្វ័យប្រវត្តិ (Ctrl+S)      │
│       ↓                                         │
│  Auto Rename Tag → Rename tags ភ្លាមៗ           │
│       ↓                                         │
│  XML Tools → Validate & Format XML              │
│       ↓                                         │
│  Live Server → Browser Refresh ភ្លាមៗ           │
│       ↓                                         │
│  Copy ទៅ Blogger Dashboard ✅                   │
│                                                 │
└─────────────────────────────────────────────────┘

⌨️ Shortcut Keys សំខាន់

Shortcut Extension មុខងារ
Ctrl+S Prettier Save + Format
Alt+Shift+F Prettier Format Manual
Ctrl+Shift+P → XML Format XML Tools Format XML
F2 Auto Rename Tag Rename Tag
Alt+Click Live Server Open Preview
Ctrl+H VS Code Find & Replace
Ctrl+/ VS Code Comment Toggle
Ctrl+Z VS Code Undo

📤 Step 8: Upload to Blogger

1. Ctrl+A → Copy Code ពី template.xml
2. Blogger → Theme → Edit HTML
3. Ctrl+A → Paste → Save ✅

🎉 រួចរាល់! អ្នកមាន Professional Workflow សម្រាប់កែ Blogger Template!

Previous Post Next Post
📑
100%
A+
A−