🎮 EJS PULSE
E
J
S
▸
P
U
L
S
E
█
▓
▒
░
█
▓
▒
░
⚡ Level up your EJS templating game with intelligent syntax & smart snippets ⚡
🎯 Features
🎨 Syntax Highlighting
<% // Execute code %>
<%= // Output escaped %>
<%- // Output unescaped %>
<%# // Comments %>
▸ Advanced EJS tag recognition
▸ Full JavaScript syntax support
▸ Nested structure handling
▸ Smart color coding
|
⚡ Smart Snippets
Type: ejsfor + Tab
Result: Loop structure
Type: ejsif + Tab
Result: Conditional block
▸ 12+ code snippets
▸ Context-aware suggestions
▸ Time-saving shortcuts
▸ Customizable behavior
|
🚀 Developer Experience
- ✨ Full Emmet support within EJS templates
- 🧠 IntelliSense for EJS-specific syntax
- 🔍 Error detection and highlighting
- 🎯 Quick navigation between blocks
- ⚡ Optimized for large files
📦 Installation
🎮 From VS Code Marketplace
# Method 1: Command Palette
Ctrl+Shift+P → Extensions: Install Extensions → Search "EJS Pulse"
# Method 2: Quick Open
Ctrl+P → ext install codewithevilxd.ejs-pulse
🛠️ Manual Installation
git clone https://github.com/codewithevilxd/ejs-pulse.git
cd ejs-pulse
npm install
npm run package
code --install-extension ejs-pulse-1.0.0.vsix
⚙️ Configuration
Add to your settings.json:
{
"files.associations": {
"*.ejs": "html"
},
"emmet.includeLanguages": {
"ejs": "html"
},
"[ejs]": {
"editor.defaultFormatter": "vscode.html-language-features",
"editor.formatOnSave": true
}
}
📚 Snippets Reference
| Prefix |
Trigger |
Output |
🎯 ejs |
Basic execution |
<% code %> |
📤 ejsout |
Escaped output |
<%= value %> |
🔓 ejsesc |
Unescaped output |
<%- html %> |
💬 ejscom |
Comment |
<%# comment %> |
📥 ejsinc |
Include template |
<%- include('file') %> |
🔁 ejsfor |
For loop |
<% for(let i = 0; i < n; i++) { %> |
🔄 ejseach |
forEach loop |
<% items.forEach(item => { %> |
➡️ ejsforof |
for...of loop |
<% for(const item of items) { %> |
🔑 ejsforin |
for...in loop |
<% for(const key in object) { %> |
❓ ejsif |
If statement |
<% if(condition) { %> |
⚡ ejsifelse |
If-else block |
<% if(cond) { %> ... <% } else { %> |
🎲 ejster |
Ternary operator |
<%= condition ? true : false %> |
💡 Usage Examples
🎮 Basic Template
<!DOCTYPE html>
<html lang="en">
<head>
<title><%= title %></title>
</head>
<body>
<header>
<h1>Welcome, <%= user.name %>! 🎉</h1>
<p>Level: <%= user.level %></p>
</header>
<% if(user.posts.length > 0) { %>
<section class="posts">
<h2>Your Posts (%= user.posts.length %):</h2>
<ul>
<% user.posts.forEach(post => { %>
<li>
<h3><%= post.title %></h3>
<p><%- post.content %></p>
</li>
<% }) %>
</ul>
</section>
<% } else { %>
<div class="empty-state">
<p>No posts yet 📝</p>
<a href="/create">Create your first post!</a>
</div>
<% } %>
</body>
</html>
🔄 Loop Examples
<!-- ⚡ Traditional for loop -->
<div class="products-grid">
<% for(let i = 0; i < products.length; i++) { %>
<div class="product-card">
<h3><%= products[i].name %></h3>
<p class="price">$<%= products[i].price %></p>
<span class="badge">Item #<%= i + 1 %></span>
</div>
<% } %>
</div>
<!-- 🎯 forEach loop -->
<div class="products-list">
<% products.forEach((product, index) => { %>
<article class="product">
<h3><%= product.name %></h3>
<p><%= product.description %></p>
<span class="price">$<%= product.price %></span>
</article>
<% }) %>
</div>
<!-- ✨ for...of loop -->
<% for(const product of products) { %>
<div class="product-minimal">
<%= product.name %> - $<%= product.price %>
</div>
<% } %>
🎲 Conditional Rendering
<!-- Ternary operator -->
<p class="status">
Status: <%= user.isActive ? '🟢 Online' : '🔴 Offline' %>
</p>
<!-- If-else statement -->
<% if(user.role === 'admin') { %>
<button class="admin-panel">⚙️ Admin Dashboard</button>
<% } else if(user.role === 'moderator') { %>
<button class="mod-panel">🛡️ Moderator Tools</button>
<% } else { %>
<button class="user-panel">👤 User Profile</button>
<% } %>
🔗 Resources
🤝 Contributing
We'd love your help making EJS Pulse even better!
# Fork the repository
# Create your feature branch
git checkout -b feature/AmazingFeature
# Commit your changes
git commit -m 'Add some AmazingFeature'
# Push to the branch
git push origin feature/AmazingFeature
# Open a Pull Request
Ways to contribute:
- 🐛 Report bugs and issues
- 💡 Suggest new features
- 🔧 Submit pull requests
- 📚 Improve documentation
💬 Support
Need help? We're here for you!

📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🎮 Made with 💚 by developers, for developers
Star ⭐ this repo if you find it useful!
