Skip to content

Add option to pass params to js files #3

@h-enk

Description

@h-enk

Update esbuild.html:

[..]
{{- /* pass hugo env to the js file as a param */ -}}
{{- /* $params := (dict "env" hugo.Environment) */ -}}

{{- $paramsDefault := (dict "env" hugo.Environment) -}}
{{- $params := "" -}}
{{- with .params -}}
{{- $params = merge $paramsDefault . -}}
{{- else -}}
{{- $params = $paramsDefault -}}
{{- end -}}
[..]

Example

In layouts\partials\footer\script-footer-core.html:

{{ $plausibleAnalyticsDomain := site.Data.starter.plausibleAnalyticsDomain -}}
{{ partial "footer/esbuild" (dict "src" "js/app.js" "targetPath" "main.js" "load" "async" "transpile" false "params" (dict "plausibleAnalyticsDomain" $plausibleAnalyticsDomain)) -}}
[..]

In assets\js\plausible.js:

[..]
import * as params from '@params';
const plausibleAnalyticsDomain = params.plausibleAnalyticsDomain;
[..]

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions