More Premium Hugo Themes Premium Vue Themes

Vue Pug Plugin

plugin that transforms pug Vue component templates into HTML

Vue Pug Plugin

plugin that transforms pug Vue component templates into HTML

Github Stars Github Stars: 17
Last Commit Last Commit: May 6, 2025 -
First Commit Created: Feb 24, 2024 -
Vue Pug Plugin screenshot

Overview

The vue-pug-plugin is an innovative tool designed to seamlessly integrate Pug templates into Vue component templates, creating a more elegant syntax for developers. With the growing popularity of Pug as a template engine, this plugin provides first-class support tailored for Vue, allowing users to avoid the messy combination of Pug and Vue syntaxes. By utilizing proper Pug syntax for structure, iteration, and conditionals, developers can write cleaner and more maintainable code.

This plugin streamlines the experience of working with Vue components, automatically adjusting Pug-specific constructs to ensure compatibility with Vue’s reactive system. Through a few simple configurations, developers can harness the full power of Pug while maintaining a consistent and familiar workflow.

Features

  • Native Pug Support: Offers first-class support for Pug, allowing developers to leverage elegant syntax without compromise.
  • Seamless Translation: Automatically translates Pug constructs like if/else blocks into Vue-compatible templates, ensuring no syntax clashes.
  • Custom Variable Interpolation: Allows choice between Vue-style ({{/* foo */}}) and Pug interpolation for flexibility in data binding.
  • Effortless Looping: Automatically integrates the :key attribute for loops when using the key variable, enhancing Vue’s reactivity features.
  • Compatible with Major Bundlers: Works with build tools like Rollup, Vite, and Webpack, facilitating easy integration into existing projects.
  • Pug Peer Dependency: Recognizes Pug as a peer dependency, ensuring that proper versions are used for optimal functionality.
  • Enhanced Code Structure: For Pug blocks with multiple children, a template wrapper is inserted to maintain Vue compatibility effortlessly.