Security News
The Risks of Misguided Research in Supply Chain Security
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
github.com/zzeekkaa/pug
This package was originally written by eknkc. This package contains some fixes and modifications.
import "github.com/ZzEeKkAa/pug"
Package pug.go is an elegant templating engine for Go Programming Language. It is a port of Pug template engine, previously known as Jade.
Pug.go compiles .pug templates to standard go templates (https://golang.org/pkg/html/template/) and returns a *template.Template
instance.
While there is no JavaScript environment present, Pug.go provides basic expression support over go template syntax. Such as a(href="/user/" + UserId)
would concatenate two strings. You can use arithmetic, logical and comparison operators as well as ternery if operator.
Please check Pug Language Reference for details: https://pugjs.org/api/getting-started.html.
Differences between Pug and Pug.go (items with checkboxes are planned, just not present yet)
&attributes
syntax is not supportedcase
statement is not supportedwhile
loops are not supported as Go templates do not provide it. We could use recursive templates or channel range loops etc but that would be unnecessary complexity.- var x = "foo"
syntax as an exception.Apart from these missing features, everything in the language reference should be supported.
func CompileFile(filename string, options ...Options) (*template.Template, error)
Parses and compiles the contents of supplied filename. Returns corresponding Go Template (html/templates) instance. Necessary runtime functions will be injected and the template will be ready to be executed
func CompileString(input string, options ...Options) (*template.Template, error)
Parses and compiles the supplied template string. Returns corresponding Go Template (html/templates) instance. Necessary runtime functions will be injected and the template will be ready to be executed
func ParseFile(filename string, options ...Options) (string, error)
Parses the contents of supplied filename template and return the Go Template source You would not be using this unless debugging / checking the output. Please use Compile method to obtain a template instance directly
func ParseString(input string, options ...Options) (string, error)
Parses the supplied template string and return the Go Template source You would not be using this unless debugging / checking the output. Please use Compile method to obtain a template instance directly
type Options struct {
// Setting if pretty printing is enabled.
// Pretty printing ensures that the output html is properly indented and in human readable form.
// If disabled, produced HTML is compact. This might be more suitable in production environments.
// Default: false
PrettyPrint bool
// A Dir implements FileSystem using the native file system restricted to a specific directory tree.
//
// While the FileSystem.Open method takes '/'-separated paths, a Dir's string value is a filename on the native file system, not a URL, so it is separated by filepath.Separator, which isn't necessarily '/'.
// By default, a os package is used but you can supply a different filesystem using this option
Dir compiler.Dir
}
Generated by godoc2md
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
Research
Security News
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.