From c1d945f0ebcfcf56c18d213eb72d9445fb57077f Mon Sep 17 00:00:00 2001 From: Nicolas Garnier Date: Thu, 25 Apr 2019 14:41:18 +0200 Subject: [PATCH 1/4] Add the codelab-about section to html template. --- claat/render/template.html | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/claat/render/template.html b/claat/render/template.html index 0fdf4a740..68e584d0b 100644 --- a/claat/render/template.html +++ b/claat/render/template.html @@ -40,8 +40,14 @@ title="{{.Meta.Title}}" environment="{{index .Env}}" feedback-link="{{.Meta.Feedback}}"> - {{range .Steps}}{{if matchEnv .Tags $.Env}} + {{range $i, $e := .Steps}}{{if matchEnv .Tags $.Env}} + {{if eq $i 0}} + + + {{end}} {{.Content | renderHTML $.Env}} {{end}}{{end}} From fcb97695b3bd65493ca50c54378411eb8fb50a14 Mon Sep 17 00:00:00 2001 From: Nicolas Garnier Date: Thu, 25 Apr 2019 14:41:49 +0200 Subject: [PATCH 2/4] Add original_source meta tag to the devsite template. --- claat/cmd/export.go | 2 +- claat/render/template-devsite.html | 1 + claat/render/tmpldata.go | 400 ++++++++++++++++------------- claat/types/meta.go | 2 +- 4 files changed, 224 insertions(+), 181 deletions(-) diff --git a/claat/cmd/export.go b/claat/cmd/export.go index 960ad25d9..44ee7a272 100644 --- a/claat/cmd/export.go +++ b/claat/cmd/export.go @@ -106,8 +106,8 @@ func exportCodelab(src string, opts CmdExportOptions) (*types.Meta, error) { // codelab export context lastmod := types.ContextTime(clab.mod) meta := &clab.Meta + meta.Source = src ctx := &types.Context{ - Source: src, Env: opts.Expenv, Format: opts.Tmplout, Prefix: opts.Prefix, diff --git a/claat/render/template-devsite.html b/claat/render/template-devsite.html index 105a6f27a..42e9c1c28 100644 --- a/claat/render/template-devsite.html +++ b/claat/render/template-devsite.html @@ -24,6 +24,7 @@ {{if .Meta.Summary}} {{end}} + diff --git a/claat/render/tmpldata.go b/claat/render/tmpldata.go index 211c72960..8daf9b898 100644 --- a/claat/render/tmpldata.go +++ b/claat/render/tmpldata.go @@ -182,7 +182,8 @@ var tmpldata = map[string]*template{ 0x7b,0x7b,0x2e,0x4d,0x65,0x74,0x61,0x2e,0x46,0x65, 0x65,0x64,0x62,0x61,0x63,0x6b,0x7d,0x7d,0x22,0x3e, 0xa,0x20,0x20,0x20,0x20,0x7b,0x7b,0x72,0x61,0x6e, - 0x67,0x65,0x20,0x2e,0x53,0x74,0x65,0x70,0x73,0x7d, + 0x67,0x65,0x20,0x24,0x69,0x2c,0x20,0x24,0x65,0x20, + 0x3a,0x3d,0x20,0x2e,0x53,0x74,0x65,0x70,0x73,0x7d, 0x7d,0x7b,0x7b,0x69,0x66,0x20,0x6d,0x61,0x74,0x63, 0x68,0x45,0x6e,0x76,0x20,0x2e,0x54,0x61,0x67,0x73, 0x20,0x24,0x2e,0x45,0x6e,0x76,0x7d,0x7d,0xa,0x20, @@ -194,48 +195,79 @@ var tmpldata = map[string]*template{ 0x69,0x6f,0x6e,0x3d,0x22,0x7b,0x7b,0x2e,0x44,0x75, 0x72,0x61,0x74,0x69,0x6f,0x6e,0x2e,0x4d,0x69,0x6e, 0x75,0x74,0x65,0x73,0x7d,0x7d,0x22,0x3e,0xa,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x2e, - 0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x20,0x7c,0x20, - 0x72,0x65,0x6e,0x64,0x65,0x72,0x48,0x54,0x4d,0x4c, - 0x20,0x24,0x2e,0x45,0x6e,0x76,0x7d,0x7d,0xa,0x20, - 0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x67,0x6f,0x6f, - 0x67,0x6c,0x65,0x2d,0x63,0x6f,0x64,0x65,0x6c,0x61, - 0x62,0x2d,0x73,0x74,0x65,0x70,0x3e,0xa,0x20,0x20, - 0x20,0x20,0x7b,0x7b,0x65,0x6e,0x64,0x7d,0x7d,0x7b, - 0x7b,0x65,0x6e,0x64,0x7d,0x7d,0xa,0x20,0x20,0x3c, - 0x2f,0x67,0x6f,0x6f,0x67,0x6c,0x65,0x2d,0x63,0x6f, - 0x64,0x65,0x6c,0x61,0x62,0x3e,0xa,0xa,0x20,0x20, - 0x3c,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x73,0x72, - 0x63,0x3d,0x22,0x7b,0x7b,0x2e,0x50,0x72,0x65,0x66, - 0x69,0x78,0x7d,0x7d,0x2f,0x63,0x6f,0x64,0x65,0x6c, - 0x61,0x62,0x2d,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74, - 0x73,0x2f,0x6e,0x61,0x74,0x69,0x76,0x65,0x2d,0x73, - 0x68,0x69,0x6d,0x2e,0x6a,0x73,0x22,0x3e,0x3c,0x2f, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x69, + 0x66,0x20,0x65,0x71,0x20,0x24,0x69,0x20,0x30,0x7d, + 0x7d,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x67,0x6f,0x6f,0x67,0x6c,0x65,0x2d, + 0x63,0x6f,0x64,0x65,0x6c,0x61,0x62,0x2d,0x61,0x62, + 0x6f,0x75,0x74,0x20,0x63,0x6f,0x64,0x65,0x6c,0x61, + 0x62,0x2d,0x74,0x69,0x74,0x6c,0x65,0x3d,0x22,0x7b, + 0x7b,0x24,0x2e,0x4d,0x65,0x74,0x61,0x2e,0x54,0x69, + 0x74,0x6c,0x65,0x7d,0x7d,0x22,0xa,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b, + 0x7b,0x69,0x66,0x20,0x24,0x2e,0x55,0x70,0x64,0x61, + 0x74,0x65,0x64,0x7d,0x7d,0x6c,0x61,0x73,0x74,0x2d, + 0x75,0x70,0x64,0x61,0x74,0x65,0x64,0x3d,0x22,0x7b, + 0x7b,0x24,0x2e,0x55,0x70,0x64,0x61,0x74,0x65,0x64, + 0x7d,0x7d,0x22,0x7b,0x7b,0x65,0x6e,0x64,0x7d,0x7d, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x7b,0x7b,0x69,0x66,0x20,0x24,0x2e, + 0x4d,0x65,0x74,0x61,0x2e,0x41,0x75,0x74,0x68,0x6f, + 0x72,0x73,0x7d,0x7d,0x61,0x75,0x74,0x68,0x6f,0x72, + 0x73,0x3d,0x22,0x7b,0x7b,0x24,0x2e,0x4d,0x65,0x74, + 0x61,0x2e,0x41,0x75,0x74,0x68,0x6f,0x72,0x73,0x7d, + 0x7d,0x22,0x7b,0x7b,0x65,0x6e,0x64,0x7d,0x7d,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x3c,0x2f,0x67,0x6f,0x6f,0x67,0x6c,0x65,0x2d, + 0x63,0x6f,0x64,0x65,0x6c,0x61,0x62,0x2d,0x61,0x62, + 0x6f,0x75,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x7b,0x7b,0x65,0x6e,0x64,0x7d,0x7d, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b, + 0x7b,0x2e,0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x20, + 0x7c,0x20,0x72,0x65,0x6e,0x64,0x65,0x72,0x48,0x54, + 0x4d,0x4c,0x20,0x24,0x2e,0x45,0x6e,0x76,0x7d,0x7d, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x67, + 0x6f,0x6f,0x67,0x6c,0x65,0x2d,0x63,0x6f,0x64,0x65, + 0x6c,0x61,0x62,0x2d,0x73,0x74,0x65,0x70,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x7b,0x7b,0x65,0x6e,0x64,0x7d, + 0x7d,0x7b,0x7b,0x65,0x6e,0x64,0x7d,0x7d,0xa,0x20, + 0x20,0x3c,0x2f,0x67,0x6f,0x6f,0x67,0x6c,0x65,0x2d, + 0x63,0x6f,0x64,0x65,0x6c,0x61,0x62,0x3e,0xa,0xa, + 0x20,0x20,0x3c,0x73,0x63,0x72,0x69,0x70,0x74,0x20, + 0x73,0x72,0x63,0x3d,0x22,0x7b,0x7b,0x2e,0x50,0x72, + 0x65,0x66,0x69,0x78,0x7d,0x7d,0x2f,0x63,0x6f,0x64, + 0x65,0x6c,0x61,0x62,0x2d,0x65,0x6c,0x65,0x6d,0x65, + 0x6e,0x74,0x73,0x2f,0x6e,0x61,0x74,0x69,0x76,0x65, + 0x2d,0x73,0x68,0x69,0x6d,0x2e,0x6a,0x73,0x22,0x3e, + 0x3c,0x2f,0x73,0x63,0x72,0x69,0x70,0x74,0x3e,0xa, + 0x20,0x20,0x3c,0x73,0x63,0x72,0x69,0x70,0x74,0x20, + 0x73,0x72,0x63,0x3d,0x22,0x7b,0x7b,0x2e,0x50,0x72, + 0x65,0x66,0x69,0x78,0x7d,0x7d,0x2f,0x63,0x6f,0x64, + 0x65,0x6c,0x61,0x62,0x2d,0x65,0x6c,0x65,0x6d,0x65, + 0x6e,0x74,0x73,0x2f,0x63,0x75,0x73,0x74,0x6f,0x6d, + 0x2d,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x2e, + 0x6d,0x69,0x6e,0x2e,0x6a,0x73,0x22,0x3e,0x3c,0x2f, 0x73,0x63,0x72,0x69,0x70,0x74,0x3e,0xa,0x20,0x20, 0x3c,0x73,0x63,0x72,0x69,0x70,0x74,0x20,0x73,0x72, 0x63,0x3d,0x22,0x7b,0x7b,0x2e,0x50,0x72,0x65,0x66, 0x69,0x78,0x7d,0x7d,0x2f,0x63,0x6f,0x64,0x65,0x6c, 0x61,0x62,0x2d,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74, - 0x73,0x2f,0x63,0x75,0x73,0x74,0x6f,0x6d,0x2d,0x65, - 0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x2e,0x6d,0x69, - 0x6e,0x2e,0x6a,0x73,0x22,0x3e,0x3c,0x2f,0x73,0x63, - 0x72,0x69,0x70,0x74,0x3e,0xa,0x20,0x20,0x3c,0x73, - 0x63,0x72,0x69,0x70,0x74,0x20,0x73,0x72,0x63,0x3d, - 0x22,0x7b,0x7b,0x2e,0x50,0x72,0x65,0x66,0x69,0x78, - 0x7d,0x7d,0x2f,0x63,0x6f,0x64,0x65,0x6c,0x61,0x62, - 0x2d,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x2f, - 0x70,0x72,0x65,0x74,0x74,0x69,0x66,0x79,0x2e,0x6a, - 0x73,0x22,0x3e,0x3c,0x2f,0x73,0x63,0x72,0x69,0x70, - 0x74,0x3e,0xa,0x20,0x20,0x3c,0x73,0x63,0x72,0x69, - 0x70,0x74,0x20,0x73,0x72,0x63,0x3d,0x22,0x7b,0x7b, - 0x2e,0x50,0x72,0x65,0x66,0x69,0x78,0x7d,0x7d,0x2f, - 0x63,0x6f,0x64,0x65,0x6c,0x61,0x62,0x2d,0x65,0x6c, - 0x65,0x6d,0x65,0x6e,0x74,0x73,0x2f,0x63,0x6f,0x64, - 0x65,0x6c,0x61,0x62,0x2d,0x65,0x6c,0x65,0x6d,0x65, - 0x6e,0x74,0x73,0x2e,0x6a,0x73,0x22,0x3e,0x3c,0x2f, - 0x73,0x63,0x72,0x69,0x70,0x74,0x3e,0xa,0xa,0x3c, - 0x2f,0x62,0x6f,0x64,0x79,0x3e,0xa,0x3c,0x2f,0x68, - 0x74,0x6d,0x6c,0x3e,0xa, + 0x73,0x2f,0x70,0x72,0x65,0x74,0x74,0x69,0x66,0x79, + 0x2e,0x6a,0x73,0x22,0x3e,0x3c,0x2f,0x73,0x63,0x72, + 0x69,0x70,0x74,0x3e,0xa,0x20,0x20,0x3c,0x73,0x63, + 0x72,0x69,0x70,0x74,0x20,0x73,0x72,0x63,0x3d,0x22, + 0x7b,0x7b,0x2e,0x50,0x72,0x65,0x66,0x69,0x78,0x7d, + 0x7d,0x2f,0x63,0x6f,0x64,0x65,0x6c,0x61,0x62,0x2d, + 0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x73,0x2f,0x63, + 0x6f,0x64,0x65,0x6c,0x61,0x62,0x2d,0x65,0x6c,0x65, + 0x6d,0x65,0x6e,0x74,0x73,0x2e,0x6a,0x73,0x22,0x3e, + 0x3c,0x2f,0x73,0x63,0x72,0x69,0x70,0x74,0x3e,0xa, + 0xa,0x3c,0x2f,0x62,0x6f,0x64,0x79,0x3e,0xa,0x3c, + 0x2f,0x68,0x74,0x6d,0x6c,0x3e,0xa, }, }, "devsite": &template{ @@ -353,163 +385,173 @@ var tmpldata = map[string]*template{ 0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x7b, 0x7b,0x65,0x6e,0x64,0x7d,0x7d,0xa,0x20,0x20,0x20, 0x20,0x3c,0x6d,0x65,0x74,0x61,0x20,0x6e,0x61,0x6d, - 0x65,0x3d,0x22,0x68,0x69,0x64,0x65,0x5f,0x6c,0x61, - 0x73,0x74,0x5f,0x75,0x70,0x64,0x61,0x74,0x65,0x64, - 0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x74, - 0x72,0x75,0x65,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20, - 0x20,0x20,0x3c,0x6d,0x65,0x74,0x61,0x20,0x6e,0x61, - 0x6d,0x65,0x3d,0x22,0x68,0x69,0x64,0x65,0x5f,0x72, - 0x61,0x74,0x69,0x6e,0x67,0x73,0x5f,0x77,0x69,0x64, - 0x67,0x65,0x74,0x22,0x20,0x76,0x61,0x6c,0x75,0x65, + 0x65,0x3d,0x22,0x6f,0x72,0x69,0x67,0x69,0x6e,0x61, + 0x6c,0x5f,0x73,0x6f,0x75,0x72,0x63,0x65,0x22,0x20, + 0x63,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x3d,0x22,0x68, + 0x74,0x74,0x70,0x73,0x3a,0x2f,0x2f,0x64,0x6f,0x63, + 0x73,0x2e,0x67,0x6f,0x6f,0x67,0x6c,0x65,0x2e,0x63, + 0x6f,0x6d,0x2f,0x64,0x6f,0x63,0x75,0x6d,0x65,0x6e, + 0x74,0x2f,0x64,0x2f,0x7b,0x7b,0x2e,0x4d,0x65,0x74, + 0x61,0x2e,0x53,0x6f,0x75,0x72,0x63,0x65,0x7d,0x7d, + 0x2f,0x65,0x64,0x69,0x74,0x22,0x20,0x2f,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x3c,0x6d,0x65,0x74,0x61,0x20, + 0x6e,0x61,0x6d,0x65,0x3d,0x22,0x68,0x69,0x64,0x65, + 0x5f,0x6c,0x61,0x73,0x74,0x5f,0x75,0x70,0x64,0x61, + 0x74,0x65,0x64,0x22,0x20,0x76,0x61,0x6c,0x75,0x65, 0x3d,0x22,0x74,0x72,0x75,0x65,0x22,0x20,0x2f,0x3e, 0xa,0x20,0x20,0x20,0x20,0x3c,0x6d,0x65,0x74,0x61, - 0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x70,0x61,0x67, - 0x65,0x5f,0x74,0x79,0x70,0x65,0x22,0x20,0x76,0x61, - 0x6c,0x75,0x65,0x3d,0x22,0x63,0x6f,0x64,0x65,0x6c, - 0x61,0x62,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20, - 0x20,0x3c,0x6d,0x65,0x74,0x61,0x20,0x6e,0x61,0x6d, - 0x65,0x3d,0x22,0x64,0x75,0x72,0x61,0x74,0x69,0x6f, - 0x6e,0x22,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22, - 0x7b,0x7b,0x2e,0x4d,0x65,0x74,0x61,0x2e,0x44,0x75, - 0x72,0x61,0x74,0x69,0x6f,0x6e,0x7d,0x7d,0x22,0x20, - 0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x7b,0x7b,0x69, - 0x66,0x20,0x2e,0x4d,0x65,0x74,0x61,0x2e,0x41,0x75, - 0x74,0x68,0x6f,0x72,0x73,0x7d,0x7d,0xa,0x20,0x20, + 0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x68,0x69,0x64, + 0x65,0x5f,0x72,0x61,0x74,0x69,0x6e,0x67,0x73,0x5f, + 0x77,0x69,0x64,0x67,0x65,0x74,0x22,0x20,0x76,0x61, + 0x6c,0x75,0x65,0x3d,0x22,0x74,0x72,0x75,0x65,0x22, + 0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x3c,0x6d, + 0x65,0x74,0x61,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22, + 0x70,0x61,0x67,0x65,0x5f,0x74,0x79,0x70,0x65,0x22, + 0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x22,0x63,0x6f, + 0x64,0x65,0x6c,0x61,0x62,0x22,0x20,0x2f,0x3e,0xa, 0x20,0x20,0x20,0x20,0x3c,0x6d,0x65,0x74,0x61,0x20, - 0x6e,0x61,0x6d,0x65,0x3d,0x22,0x61,0x75,0x74,0x68, - 0x6f,0x72,0x73,0x22,0x20,0x76,0x61,0x6c,0x75,0x65, - 0x3d,0x22,0x7b,0x7b,0x2e,0x4d,0x65,0x74,0x61,0x2e, - 0x41,0x75,0x74,0x68,0x6f,0x72,0x73,0x7d,0x7d,0x22, - 0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20,0x7b,0x7b, - 0x65,0x6e,0x64,0x7d,0x7d,0xa,0x20,0x20,0x20,0x20, - 0x3c,0x73,0x74,0x79,0x6c,0x65,0x3e,0xa,0x20,0x20, - 0x20,0x20,0x20,0x20,0x62,0x6f,0x64,0x79,0x20,0x7b, - 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x74, - 0x72,0x61,0x6e,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3a, - 0x20,0x6f,0x70,0x61,0x63,0x69,0x74,0x79,0x20,0x65, - 0x61,0x73,0x65,0x2d,0x69,0x6e,0x20,0x30,0x2e,0x32, - 0x73,0x3b,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x7d, - 0xa,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f, - 0x64,0x79,0x5b,0x75,0x6e,0x72,0x65,0x73,0x6f,0x6c, - 0x76,0x65,0x64,0x5d,0x20,0x7b,0xa,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x6f,0x70,0x61,0x63,0x69, - 0x74,0x79,0x3a,0x20,0x30,0x3b,0xa,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x70,0x6c, - 0x61,0x79,0x3a,0x20,0x62,0x6c,0x6f,0x63,0x6b,0x3b, - 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f, - 0x76,0x65,0x72,0x66,0x6c,0x6f,0x77,0x3a,0x20,0x68, - 0x69,0x64,0x64,0x65,0x6e,0x3b,0xa,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x70,0x6f,0x73,0x69,0x74, - 0x69,0x6f,0x6e,0x3a,0x20,0x72,0x65,0x6c,0x61,0x74, - 0x69,0x76,0x65,0x3b,0xa,0x20,0x20,0x20,0x20,0x20, - 0x20,0x7d,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x73, - 0x74,0x79,0x6c,0x65,0x3e,0xa,0x20,0x20,0x3c,0x2f, - 0x68,0x65,0x61,0x64,0x3e,0xa,0x20,0x20,0x3c,0x62, - 0x6f,0x64,0x79,0x20,0x63,0x6c,0x61,0x73,0x73,0x3d, - 0x22,0x64,0x65,0x76,0x73,0x69,0x74,0x65,0x2d,0x66, - 0x75,0x6c,0x6c,0x2d,0x77,0x69,0x64,0x74,0x68,0x2d, - 0x70,0x61,0x67,0x65,0x22,0x3e,0xa,0x20,0x20,0x20, - 0x20,0x3c,0x67,0x6f,0x6f,0x67,0x6c,0x65,0x2d,0x63, - 0x6f,0x64,0x65,0x6c,0x61,0x62,0x2d,0x61,0x6e,0x61, - 0x6c,0x79,0x74,0x69,0x63,0x73,0x20,0x67,0x61,0x69, - 0x64,0x3d,0x22,0x7b,0x7b,0x2e,0x47,0x6c,0x6f,0x62, - 0x61,0x6c,0x47,0x41,0x7d,0x7d,0x22,0x3e,0x3c,0x2f, - 0x67,0x6f,0x6f,0x67,0x6c,0x65,0x2d,0x63,0x6f,0x64, - 0x65,0x6c,0x61,0x62,0x2d,0x61,0x6e,0x61,0x6c,0x79, - 0x74,0x69,0x63,0x73,0x3e,0xa,0x20,0x20,0x20,0x20, - 0x3c,0x67,0x6f,0x6f,0x67,0x6c,0x65,0x2d,0x63,0x6f, - 0x64,0x65,0x6c,0x61,0x62,0x20,0x63,0x6f,0x64,0x65, - 0x6c,0x61,0x62,0x2d,0x67,0x61,0x69,0x64,0x3d,0x22, - 0x7b,0x7b,0x2e,0x4d,0x65,0x74,0x61,0x2e,0x47,0x41, - 0x7d,0x7d,0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x6e,0x61,0x6d,0x65,0x3d,0x22,0x64,0x75,0x72,0x61, + 0x74,0x69,0x6f,0x6e,0x22,0x20,0x76,0x61,0x6c,0x75, + 0x65,0x3d,0x22,0x7b,0x7b,0x2e,0x4d,0x65,0x74,0x61, + 0x2e,0x44,0x75,0x72,0x61,0x74,0x69,0x6f,0x6e,0x7d, + 0x7d,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x7b,0x7b,0x69,0x66,0x20,0x2e,0x4d,0x65,0x74,0x61, + 0x2e,0x41,0x75,0x74,0x68,0x6f,0x72,0x73,0x7d,0x7d, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x6d,0x65, + 0x74,0x61,0x20,0x6e,0x61,0x6d,0x65,0x3d,0x22,0x61, + 0x75,0x74,0x68,0x6f,0x72,0x73,0x22,0x20,0x76,0x61, + 0x6c,0x75,0x65,0x3d,0x22,0x7b,0x7b,0x2e,0x4d,0x65, + 0x74,0x61,0x2e,0x41,0x75,0x74,0x68,0x6f,0x72,0x73, + 0x7d,0x7d,0x22,0x20,0x2f,0x3e,0xa,0x20,0x20,0x20, + 0x20,0x7b,0x7b,0x65,0x6e,0x64,0x7d,0x7d,0xa,0x20, + 0x20,0x20,0x20,0x3c,0x73,0x74,0x79,0x6c,0x65,0x3e, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x62,0x6f,0x64, + 0x79,0x20,0x7b,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x74,0x72,0x61,0x6e,0x73,0x69,0x74,0x69, + 0x6f,0x6e,0x3a,0x20,0x6f,0x70,0x61,0x63,0x69,0x74, + 0x79,0x20,0x65,0x61,0x73,0x65,0x2d,0x69,0x6e,0x20, + 0x30,0x2e,0x32,0x73,0x3b,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x7d,0xa,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x62,0x6f,0x64,0x79,0x5b,0x75,0x6e,0x72,0x65, + 0x73,0x6f,0x6c,0x76,0x65,0x64,0x5d,0x20,0x7b,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x70, + 0x61,0x63,0x69,0x74,0x79,0x3a,0x20,0x30,0x3b,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69, + 0x73,0x70,0x6c,0x61,0x79,0x3a,0x20,0x62,0x6c,0x6f, + 0x63,0x6b,0x3b,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x6f,0x76,0x65,0x72,0x66,0x6c,0x6f,0x77, + 0x3a,0x20,0x68,0x69,0x64,0x64,0x65,0x6e,0x3b,0xa, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x70,0x6f, + 0x73,0x69,0x74,0x69,0x6f,0x6e,0x3a,0x20,0x72,0x65, + 0x6c,0x61,0x74,0x69,0x76,0x65,0x3b,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x7d,0xa,0x20,0x20,0x20,0x20, + 0x3c,0x2f,0x73,0x74,0x79,0x6c,0x65,0x3e,0xa,0x20, + 0x20,0x3c,0x2f,0x68,0x65,0x61,0x64,0x3e,0xa,0x20, + 0x20,0x3c,0x62,0x6f,0x64,0x79,0x20,0x63,0x6c,0x61, + 0x73,0x73,0x3d,0x22,0x64,0x65,0x76,0x73,0x69,0x74, + 0x65,0x2d,0x66,0x75,0x6c,0x6c,0x2d,0x77,0x69,0x64, + 0x74,0x68,0x2d,0x70,0x61,0x67,0x65,0x22,0x3e,0xa, + 0x20,0x20,0x20,0x20,0x3c,0x67,0x6f,0x6f,0x67,0x6c, + 0x65,0x2d,0x63,0x6f,0x64,0x65,0x6c,0x61,0x62,0x2d, + 0x61,0x6e,0x61,0x6c,0x79,0x74,0x69,0x63,0x73,0x20, + 0x67,0x61,0x69,0x64,0x3d,0x22,0x7b,0x7b,0x2e,0x47, + 0x6c,0x6f,0x62,0x61,0x6c,0x47,0x41,0x7d,0x7d,0x22, + 0x3e,0x3c,0x2f,0x67,0x6f,0x6f,0x67,0x6c,0x65,0x2d, + 0x63,0x6f,0x64,0x65,0x6c,0x61,0x62,0x2d,0x61,0x6e, + 0x61,0x6c,0x79,0x74,0x69,0x63,0x73,0x3e,0xa,0x20, + 0x20,0x20,0x20,0x3c,0x67,0x6f,0x6f,0x67,0x6c,0x65, + 0x2d,0x63,0x6f,0x64,0x65,0x6c,0x61,0x62,0x20,0x63, + 0x6f,0x64,0x65,0x6c,0x61,0x62,0x2d,0x67,0x61,0x69, + 0x64,0x3d,0x22,0x7b,0x7b,0x2e,0x4d,0x65,0x74,0x61, + 0x2e,0x47,0x41,0x7d,0x7d,0x22,0xa,0x20,0x20,0x20, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x69,0x64,0x3d,0x22,0x7b,0x7b, - 0x2e,0x4d,0x65,0x74,0x61,0x2e,0x49,0x44,0x7d,0x7d, - 0x22,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x64,0x3d, + 0x22,0x7b,0x7b,0x2e,0x4d,0x65,0x74,0x61,0x2e,0x49, + 0x44,0x7d,0x7d,0x22,0xa,0x20,0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x74,0x69,0x74,0x6c,0x65,0x3d,0x22,0x7b, - 0x7b,0x2e,0x4d,0x65,0x74,0x61,0x2e,0x54,0x69,0x74, - 0x6c,0x65,0x7d,0x7d,0x22,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x74,0x69,0x74,0x6c,0x65, + 0x3d,0x22,0x7b,0x7b,0x2e,0x4d,0x65,0x74,0x61,0x2e, + 0x54,0x69,0x74,0x6c,0x65,0x7d,0x7d,0x22,0xa,0x20, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x65,0x6e,0x76,0x69, - 0x72,0x6f,0x6e,0x6d,0x65,0x6e,0x74,0x3d,0x22,0x7b, - 0x7b,0x69,0x6e,0x64,0x65,0x78,0x20,0x2e,0x45,0x6e, - 0x76,0x7d,0x7d,0x22,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x65, + 0x6e,0x76,0x69,0x72,0x6f,0x6e,0x6d,0x65,0x6e,0x74, + 0x3d,0x22,0x7b,0x7b,0x69,0x6e,0x64,0x65,0x78,0x20, + 0x2e,0x45,0x6e,0x76,0x7d,0x7d,0x22,0xa,0x20,0x20, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x66,0x65,0x65,0x64,0x62, - 0x61,0x63,0x6b,0x2d,0x6c,0x69,0x6e,0x6b,0x3d,0x22, - 0x7b,0x7b,0x2e,0x4d,0x65,0x74,0x61,0x2e,0x46,0x65, - 0x65,0x64,0x62,0x61,0x63,0x6b,0x7d,0x7d,0x22,0x3e, - 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x72, - 0x61,0x6e,0x67,0x65,0x20,0x24,0x69,0x2c,0x20,0x24, - 0x65,0x20,0x3a,0x3d,0x20,0x2e,0x53,0x74,0x65,0x70, - 0x73,0x7d,0x7d,0x7b,0x7b,0x69,0x66,0x20,0x6d,0x61, - 0x74,0x63,0x68,0x45,0x6e,0x76,0x20,0x2e,0x54,0x61, - 0x67,0x73,0x20,0x24,0x2e,0x45,0x6e,0x76,0x7d,0x7d, - 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, - 0x67,0x6f,0x6f,0x67,0x6c,0x65,0x2d,0x63,0x6f,0x64, - 0x65,0x6c,0x61,0x62,0x2d,0x73,0x74,0x65,0x70,0x20, - 0x6c,0x61,0x62,0x65,0x6c,0x3d,0x22,0x7b,0x7b,0x2e, - 0x54,0x69,0x74,0x6c,0x65,0x7d,0x7d,0x22,0x20,0x64, - 0x75,0x72,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x22,0x7b, - 0x7b,0x2e,0x44,0x75,0x72,0x61,0x74,0x69,0x6f,0x6e, - 0x2e,0x4d,0x69,0x6e,0x75,0x74,0x65,0x73,0x7d,0x7d, - 0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x7b,0x7b,0x69,0x66,0x20,0x65,0x71, - 0x20,0x24,0x69,0x20,0x30,0x7d,0x7d,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x65, + 0x65,0x64,0x62,0x61,0x63,0x6b,0x2d,0x6c,0x69,0x6e, + 0x6b,0x3d,0x22,0x7b,0x7b,0x2e,0x4d,0x65,0x74,0x61, + 0x2e,0x46,0x65,0x65,0x64,0x62,0x61,0x63,0x6b,0x7d, + 0x7d,0x22,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x7b,0x7b,0x72,0x61,0x6e,0x67,0x65,0x20,0x24,0x69, + 0x2c,0x20,0x24,0x65,0x20,0x3a,0x3d,0x20,0x2e,0x53, + 0x74,0x65,0x70,0x73,0x7d,0x7d,0x7b,0x7b,0x69,0x66, + 0x20,0x6d,0x61,0x74,0x63,0x68,0x45,0x6e,0x76,0x20, + 0x2e,0x54,0x61,0x67,0x73,0x20,0x24,0x2e,0x45,0x6e, + 0x76,0x7d,0x7d,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x67,0x6f,0x6f,0x67,0x6c,0x65,0x2d, + 0x63,0x6f,0x64,0x65,0x6c,0x61,0x62,0x2d,0x73,0x74, + 0x65,0x70,0x20,0x6c,0x61,0x62,0x65,0x6c,0x3d,0x22, + 0x7b,0x7b,0x2e,0x54,0x69,0x74,0x6c,0x65,0x7d,0x7d, + 0x22,0x20,0x64,0x75,0x72,0x61,0x74,0x69,0x6f,0x6e, + 0x3d,0x22,0x7b,0x7b,0x2e,0x44,0x75,0x72,0x61,0x74, + 0x69,0x6f,0x6e,0x2e,0x4d,0x69,0x6e,0x75,0x74,0x65, + 0x73,0x7d,0x7d,0x22,0x3e,0xa,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x69,0x66, + 0x20,0x65,0x71,0x20,0x24,0x69,0x20,0x30,0x7d,0x7d, + 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x3c,0x67,0x6f,0x6f,0x67,0x6c,0x65, + 0x2d,0x63,0x6f,0x64,0x65,0x6c,0x61,0x62,0x2d,0x61, + 0x62,0x6f,0x75,0x74,0x20,0x63,0x6f,0x64,0x65,0x6c, + 0x61,0x62,0x2d,0x74,0x69,0x74,0x6c,0x65,0x3d,0x22, + 0x7b,0x7b,0x24,0x2e,0x4d,0x65,0x74,0x61,0x2e,0x54, + 0x69,0x74,0x6c,0x65,0x7d,0x7d,0x22,0xa,0x20,0x20, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x3c,0x67,0x6f,0x6f,0x67,0x6c,0x65,0x2d,0x63,0x6f, - 0x64,0x65,0x6c,0x61,0x62,0x2d,0x61,0x62,0x6f,0x75, - 0x74,0x20,0x63,0x6f,0x64,0x65,0x6c,0x61,0x62,0x2d, - 0x74,0x69,0x74,0x6c,0x65,0x3d,0x22,0x7b,0x7b,0x24, - 0x2e,0x4d,0x65,0x74,0x61,0x2e,0x54,0x69,0x74,0x6c, - 0x65,0x7d,0x7d,0x22,0xa,0x20,0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b, - 0x7b,0x69,0x66,0x20,0x24,0x2e,0x55,0x70,0x64,0x61, - 0x74,0x65,0x64,0x7d,0x7d,0x6c,0x61,0x73,0x74,0x2d, - 0x75,0x70,0x64,0x61,0x74,0x65,0x64,0x3d,0x22,0x7b, - 0x7b,0x24,0x2e,0x55,0x70,0x64,0x61,0x74,0x65,0x64, - 0x7d,0x7d,0x22,0x7b,0x7b,0x65,0x6e,0x64,0x7d,0x7d, - 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x7b,0x7b,0x69,0x66,0x20,0x24,0x2e,0x55, + 0x70,0x64,0x61,0x74,0x65,0x64,0x7d,0x7d,0x6c,0x61, + 0x73,0x74,0x2d,0x75,0x70,0x64,0x61,0x74,0x65,0x64, + 0x3d,0x22,0x7b,0x7b,0x24,0x2e,0x55,0x70,0x64,0x61, + 0x74,0x65,0x64,0x7d,0x7d,0x22,0x7b,0x7b,0x65,0x6e, + 0x64,0x7d,0x7d,0xa,0x20,0x20,0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x69,0x66,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b, + 0x69,0x66,0x20,0x24,0x2e,0x4d,0x65,0x74,0x61,0x2e, + 0x41,0x75,0x74,0x68,0x6f,0x72,0x73,0x7d,0x7d,0x61, + 0x75,0x74,0x68,0x6f,0x72,0x73,0x3d,0x22,0x7b,0x7b, 0x24,0x2e,0x4d,0x65,0x74,0x61,0x2e,0x41,0x75,0x74, - 0x68,0x6f,0x72,0x73,0x7d,0x7d,0x61,0x75,0x74,0x68, - 0x6f,0x72,0x73,0x3d,0x22,0x7b,0x7b,0x24,0x2e,0x4d, - 0x65,0x74,0x61,0x2e,0x41,0x75,0x74,0x68,0x6f,0x72, - 0x73,0x7d,0x7d,0x22,0x7b,0x7b,0x65,0x6e,0x64,0x7d, - 0x7d,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x68,0x6f,0x72,0x73,0x7d,0x7d,0x22,0x7b,0x7b,0x65, + 0x6e,0x64,0x7d,0x7d,0xa,0x20,0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b,0x69,0x66, - 0x20,0x24,0x2e,0x4d,0x65,0x74,0x61,0x2e,0x42,0x61, - 0x64,0x67,0x65,0x49,0x44,0x7d,0x7d,0x62,0x61,0x64, - 0x67,0x65,0x2d,0x69,0x64,0x3d,0x22,0x7b,0x7b,0x24, - 0x2e,0x4d,0x65,0x74,0x61,0x2e,0x42,0x61,0x64,0x67, - 0x65,0x49,0x44,0x7d,0x7d,0x22,0x7b,0x7b,0x65,0x6e, - 0x64,0x7d,0x7d,0x3e,0xa,0x20,0x20,0x20,0x20,0x20, - 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x67, - 0x6f,0x6f,0x67,0x6c,0x65,0x2d,0x63,0x6f,0x64,0x65, - 0x6c,0x61,0x62,0x2d,0x61,0x62,0x6f,0x75,0x74,0x3e, - 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, - 0x20,0x7b,0x7b,0x65,0x6e,0x64,0x7d,0x7d,0xa,0x20, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b, - 0x7b,0x2e,0x43,0x6f,0x6e,0x74,0x65,0x6e,0x74,0x20, - 0x7c,0x20,0x72,0x65,0x6e,0x64,0x65,0x72,0x48,0x54, - 0x4d,0x4c,0x20,0x24,0x2e,0x45,0x6e,0x76,0x7d,0x7d, - 0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c, - 0x2f,0x67,0x6f,0x6f,0x67,0x6c,0x65,0x2d,0x63,0x6f, - 0x64,0x65,0x6c,0x61,0x62,0x2d,0x73,0x74,0x65,0x70, - 0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x7b, - 0x65,0x6e,0x64,0x7d,0x7d,0x7b,0x7b,0x65,0x6e,0x64, - 0x7d,0x7d,0xa,0x20,0x20,0x20,0x20,0x3c,0x2f,0x67, - 0x6f,0x6f,0x67,0x6c,0x65,0x2d,0x63,0x6f,0x64,0x65, - 0x6c,0x61,0x62,0x3e,0xa,0x20,0x20,0x3c,0x2f,0x62, - 0x6f,0x64,0x79,0x3e,0xa,0x3c,0x2f,0x68,0x74,0x6d, - 0x6c,0x3e,0xa, + 0x7b,0x69,0x66,0x20,0x24,0x2e,0x4d,0x65,0x74,0x61, + 0x2e,0x42,0x61,0x64,0x67,0x65,0x49,0x44,0x7d,0x7d, + 0x62,0x61,0x64,0x67,0x65,0x2d,0x69,0x64,0x3d,0x22, + 0x7b,0x7b,0x24,0x2e,0x4d,0x65,0x74,0x61,0x2e,0x42, + 0x61,0x64,0x67,0x65,0x49,0x44,0x7d,0x7d,0x22,0x7b, + 0x7b,0x65,0x6e,0x64,0x7d,0x7d,0x3e,0xa,0x20,0x20, + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x3c,0x2f,0x67,0x6f,0x6f,0x67,0x6c,0x65,0x2d,0x63, + 0x6f,0x64,0x65,0x6c,0x61,0x62,0x2d,0x61,0x62,0x6f, + 0x75,0x74,0x3e,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x20,0x20,0x7b,0x7b,0x65,0x6e,0x64,0x7d, + 0x7d,0xa,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x7b,0x7b,0x2e,0x43,0x6f,0x6e,0x74,0x65, + 0x6e,0x74,0x20,0x7c,0x20,0x72,0x65,0x6e,0x64,0x65, + 0x72,0x48,0x54,0x4d,0x4c,0x20,0x24,0x2e,0x45,0x6e, + 0x76,0x7d,0x7d,0xa,0x20,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0x3c,0x2f,0x67,0x6f,0x6f,0x67,0x6c,0x65, + 0x2d,0x63,0x6f,0x64,0x65,0x6c,0x61,0x62,0x2d,0x73, + 0x74,0x65,0x70,0x3e,0xa,0x20,0x20,0x20,0x20,0x20, + 0x20,0x7b,0x7b,0x65,0x6e,0x64,0x7d,0x7d,0x7b,0x7b, + 0x65,0x6e,0x64,0x7d,0x7d,0xa,0x20,0x20,0x20,0x20, + 0x3c,0x2f,0x67,0x6f,0x6f,0x67,0x6c,0x65,0x2d,0x63, + 0x6f,0x64,0x65,0x6c,0x61,0x62,0x3e,0xa,0x20,0x20, + 0x3c,0x2f,0x62,0x6f,0x64,0x79,0x3e,0xa,0x3c,0x2f, + 0x68,0x74,0x6d,0x6c,0x3e,0xa, }, }, "md": &template{ diff --git a/claat/types/meta.go b/claat/types/meta.go index c7215f8eb..89c31cf6d 100644 --- a/claat/types/meta.go +++ b/claat/types/meta.go @@ -31,6 +31,7 @@ type Meta struct { Authors string `json:"authors,omitempty"` // Arbitrary authorship text BadgeID string `json:"badge_id,omitempty"` // ID of the BAdge to grant on codelab completion on devsite Summary string `json:"summary"` // Short summary + Source string `json:"source"` // Codelab source doc Theme string `json:"theme"` // Usually first item of Categories Status *LegacyStatus `json:"status"` // Draft, Published, Hidden, etc. Categories []string `json:"category"` // Categories from the meta table @@ -45,7 +46,6 @@ type Meta struct { // It is defined in this package so that it can be used by both cli and a server. type Context struct { Env string `json:"environment"` // Current export environment - Source string `json:"source"` // Codelab source doc Format string `json:"format"` // Output format, e.g. "html" Prefix string `json:"prefix,omitempty"` // Assets URL prefix for HTML-based formats MainGA string `json:"mainga,omitempty"` // Global Google Analytics ID From c0fffce2e504768528ce255c90de031abc751a54 Mon Sep 17 00:00:00 2001 From: Nicolas Garnier Date: Thu, 25 Apr 2019 18:14:40 +0200 Subject: [PATCH 3/4] Fixed google-codelab survey tests --- .../google-codelab-survey/google_codelab_survey_test.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/codelab-elements/google-codelab-survey/google_codelab_survey_test.js b/codelab-elements/google-codelab-survey/google_codelab_survey_test.js index c5fd489e3..665316079 100644 --- a/codelab-elements/google-codelab-survey/google_codelab_survey_test.js +++ b/codelab-elements/google-codelab-survey/google_codelab_survey_test.js @@ -62,8 +62,8 @@ testSuite({ testCodelabSurveyUpgraded() { document.body.appendChild(div); const surveyCE = div.querySelector('google-codelab-survey'); - const radioInputEl = surveyCE.querySelector('input#title-text'); - const radioLabelEl = surveyCE.querySelector('label#title-text-label'); + const radioInputEl = surveyCE.querySelector('input#question--title-text'); + const radioLabelEl = surveyCE.querySelector('label#question--title-text-label'); const radioTextEl = surveyCE.querySelector('.option-text'); const surveyWrapperEl = surveyCE.querySelector('.survey-questions'); assertNotNull(radioInputEl); @@ -71,7 +71,7 @@ testSuite({ assertNotNull(radioLabelEl); assertEquals('test', surveyWrapperEl.getAttribute('survey-name', '')); assertEquals('Title Text', radioTextEl.textContent); - assertEquals('title-text', radioLabelEl.getAttribute('for', '')); + assertEquals('question--title-text', radioLabelEl.getAttribute('for', '')); assertTrue(surveyCE.hasAttribute('upgraded')); }, From 9070e40dad54c75cba5673d9f834419b99afc7e6 Mon Sep 17 00:00:00 2001 From: Nicolas Garnier Date: Thu, 25 Apr 2019 18:14:52 +0200 Subject: [PATCH 4/4] Adding Source to clab.Meta --- claat/cmd/export.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/claat/cmd/export.go b/claat/cmd/export.go index 44ee7a272..2bd466152 100644 --- a/claat/cmd/export.go +++ b/claat/cmd/export.go @@ -105,8 +105,8 @@ func exportCodelab(src string, opts CmdExportOptions) (*types.Meta, error) { // codelab export context lastmod := types.ContextTime(clab.mod) + clab.Meta.Source = src meta := &clab.Meta - meta.Source = src ctx := &types.Context{ Env: opts.Expenv, Format: opts.Tmplout,