diff --git a/kibble/api/films.go b/kibble/api/films.go index 5676ad02..7005ba9a 100644 --- a/kibble/api/films.go +++ b/kibble/api/films.go @@ -25,6 +25,8 @@ import ( "kibble/models" "github.com/gosimple/slug" + "golang.org/x/text/cases" + "golang.org/x/text/language" ) // loadFilmSummary - load the bios request @@ -125,7 +127,7 @@ func (f filmV2) mapToModel(serviceConfig models.ServiceConfig, itemIndex models. key = "background" } - titleCaseKey := strings.Title(strings.ToLower(key)) + titleCaseKey := cases.Title(language.Und).String(strings.ToLower(key)) titleCaseKey = strings.Replace(titleCaseKey, "_image", "", -1) if titleCaseKey != key { diff --git a/kibble/datastore/bundle_datasource.go b/kibble/datastore/bundle_datasource.go index d6d3be61..f1893b86 100644 --- a/kibble/datastore/bundle_datasource.go +++ b/kibble/datastore/bundle_datasource.go @@ -23,7 +23,7 @@ import ( "kibble/models" "kibble/utils" - "github.com/CloudyKit/jet" + "github.com/CloudyKit/jet/v6" ) var bundleArgs = []models.RouteArgument{ diff --git a/kibble/datastore/bundle_index_datasource.go b/kibble/datastore/bundle_index_datasource.go index c75a3688..aecddf9d 100644 --- a/kibble/datastore/bundle_index_datasource.go +++ b/kibble/datastore/bundle_index_datasource.go @@ -17,8 +17,9 @@ package datastore import ( "reflect" - "github.com/CloudyKit/jet" "kibble/models" + + "github.com/CloudyKit/jet/v6" ) // BundleIndexDataSource - a list of all bundles diff --git a/kibble/datastore/collection_datasource.go b/kibble/datastore/collection_datasource.go index 4227887e..399bfdd3 100644 --- a/kibble/datastore/collection_datasource.go +++ b/kibble/datastore/collection_datasource.go @@ -23,7 +23,7 @@ import ( "kibble/models" "kibble/utils" - "github.com/CloudyKit/jet" + "github.com/CloudyKit/jet/v6" ) var collectionArgs = []models.RouteArgument{ diff --git a/kibble/datastore/collection_index_datasource.go b/kibble/datastore/collection_index_datasource.go index e4bc7d79..11828f6c 100644 --- a/kibble/datastore/collection_index_datasource.go +++ b/kibble/datastore/collection_index_datasource.go @@ -17,8 +17,9 @@ package datastore import ( "reflect" - "github.com/CloudyKit/jet" "kibble/models" + + "github.com/CloudyKit/jet/v6" ) // CollectionIndexDataSource - a list of all Collections diff --git a/kibble/datastore/file_system_datasource.go b/kibble/datastore/file_system_datasource.go index cc57e4aa..23847cf9 100644 --- a/kibble/datastore/file_system_datasource.go +++ b/kibble/datastore/file_system_datasource.go @@ -23,7 +23,7 @@ import ( "reflect" "strings" - "github.com/CloudyKit/jet" + "github.com/CloudyKit/jet/v6" ) var fileSystemArgs = []models.RouteArgument{} diff --git a/kibble/datastore/film_datasource.go b/kibble/datastore/film_datasource.go index dab98d07..198aaf1c 100644 --- a/kibble/datastore/film_datasource.go +++ b/kibble/datastore/film_datasource.go @@ -22,7 +22,7 @@ import ( "kibble/models" - "github.com/CloudyKit/jet" + "github.com/CloudyKit/jet/v6" ) var filmArgs = []models.RouteArgument{ diff --git a/kibble/datastore/film_index_datasource.go b/kibble/datastore/film_index_datasource.go index 00a2264a..3e37e238 100644 --- a/kibble/datastore/film_index_datasource.go +++ b/kibble/datastore/film_index_datasource.go @@ -18,7 +18,7 @@ import ( "kibble/models" "reflect" - "github.com/CloudyKit/jet" + "github.com/CloudyKit/jet/v6" logging "github.com/op/go-logging" ) diff --git a/kibble/datastore/films_test.go b/kibble/datastore/films_test.go index c92c54d2..d97b3709 100644 --- a/kibble/datastore/films_test.go +++ b/kibble/datastore/films_test.go @@ -20,7 +20,8 @@ import ( "kibble/models" "kibble/test" - "github.com/CloudyKit/jet" + + "github.com/CloudyKit/jet/v6" "github.com/nicksnyder/go-i18n/i18n" "github.com/stretchr/testify/assert" ) @@ -105,10 +106,13 @@ func TestFilmDataStore(t *testing.T) { func TestRenderingGlobal(t *testing.T) { - view := jet.NewHTMLSet("../templates/") - view.AddGlobal("version", "v1.1.145") + loader := jet.NewInMemLoader() + loader.Set("version.jet", "{{ version }}") + + view := jet.NewSet(loader) + view.AddGlobal("version", "v1.1.146") - tem, _ := view.LoadTemplate("", "{{ version }}") + tem, _ := view.GetTemplate("version.jet") renderer1 := &test.InMemoryTemplateRenderer{ View: view, @@ -138,7 +142,7 @@ func TestRenderingGlobal(t *testing.T) { var fds FilmDataSource fds.Iterator(ctx, renderer1) - if renderer1.Result.Output() != "v1.1.145" { + if renderer1.Result.Output() != "v1.1.146" { t.Error("Unexpected output") } } @@ -176,8 +180,7 @@ func TestRenderingSlug(t *testing.T) { assert.NoError(t, err) view := models.CreateTemplateView(routeRegistry, i18n.IdentityTfunc(), &ctx, "./templates") - - tem, _ := view.LoadTemplate("", "{{ routeToSlug(film.Slug, \"filmItem\") }}") + tem, _ := view.GetTemplate("film_slug.jet") renderer := &test.InMemoryTemplateRenderer{ View: view, @@ -226,7 +229,7 @@ func TestRouteToFilm(t *testing.T) { view := models.CreateTemplateView(routeRegistry, i18n.IdentityTfunc(), &ctx, "./templates") - tem, _ := view.LoadTemplate("", "{{ routeTo(film, \"filmItem\") }}") + tem, _ := view.GetTemplate("film_route.jet") renderer := &test.InMemoryTemplateRenderer{ View: view, @@ -274,7 +277,7 @@ func TestTransLanguage(t *testing.T) { view := models.CreateTemplateView(routeRegistry, i18n.IdentityTfunc(), &ctx, "./templates") - tem, _ := view.LoadTemplate("", "MSG {{ i18n(\"settings_title\") }}") + tem, _ := view.GetTemplate("film_translation.jet") renderer := &test.InMemoryTemplateRenderer{ View: view, diff --git a/kibble/datastore/page_datasource.go b/kibble/datastore/page_datasource.go index 5eb95029..75e5ceca 100644 --- a/kibble/datastore/page_datasource.go +++ b/kibble/datastore/page_datasource.go @@ -23,7 +23,7 @@ import ( "kibble/models" "kibble/utils" - "github.com/CloudyKit/jet" + "github.com/CloudyKit/jet/v6" ) var pageArgs = []models.RouteArgument{ diff --git a/kibble/datastore/page_index_datasource.go b/kibble/datastore/page_index_datasource.go index 8420956a..836b99a8 100644 --- a/kibble/datastore/page_index_datasource.go +++ b/kibble/datastore/page_index_datasource.go @@ -22,7 +22,7 @@ import ( "kibble/models" - "github.com/CloudyKit/jet" + "github.com/CloudyKit/jet/v6" ) var indexArgs = []models.RouteArgument{ diff --git a/kibble/datastore/site_test.go b/kibble/datastore/site_test.go index d641cd46..62aed5b0 100644 --- a/kibble/datastore/site_test.go +++ b/kibble/datastore/site_test.go @@ -6,9 +6,10 @@ import ( "github.com/nicksnyder/go-i18n/i18n" "github.com/stretchr/testify/assert" - "github.com/CloudyKit/jet" "kibble/models" "kibble/test" + + "github.com/CloudyKit/jet/v6" ) func TestSitePlans(t *testing.T) { diff --git a/kibble/datastore/templates/echo.jet b/kibble/datastore/templates/echo.jet new file mode 100644 index 00000000..216d716c --- /dev/null +++ b/kibble/datastore/templates/echo.jet @@ -0,0 +1 @@ +
slug:{{slug}}
\ No newline at end of file diff --git a/kibble/datastore/templates/film_route.jet b/kibble/datastore/templates/film_route.jet new file mode 100644 index 00000000..aab9d2bf --- /dev/null +++ b/kibble/datastore/templates/film_route.jet @@ -0,0 +1 @@ +{{ routeTo(film, "filmItem") }} \ No newline at end of file diff --git a/kibble/datastore/templates/film_slug.jet b/kibble/datastore/templates/film_slug.jet new file mode 100644 index 00000000..8f576d5d --- /dev/null +++ b/kibble/datastore/templates/film_slug.jet @@ -0,0 +1 @@ +{{ routeToSlug(film.Slug) }} \ No newline at end of file diff --git a/kibble/datastore/templates/film_translation.jet b/kibble/datastore/templates/film_translation.jet new file mode 100644 index 00000000..7ad612aa --- /dev/null +++ b/kibble/datastore/templates/film_translation.jet @@ -0,0 +1 @@ +MSG {{ i18n("settings_title") }} \ No newline at end of file diff --git a/kibble/datastore/templates/tv_show_slug.jet b/kibble/datastore/templates/tv_show_slug.jet new file mode 100644 index 00000000..5c2af5c6 --- /dev/null +++ b/kibble/datastore/templates/tv_show_slug.jet @@ -0,0 +1 @@ +{{ routeToSlug(site.TVShows[0].Slug) }} \ No newline at end of file diff --git a/kibble/datastore/templates/youtube.jet b/kibble/datastore/templates/youtube.jet new file mode 100644 index 00000000..61d807c2 --- /dev/null +++ b/kibble/datastore/templates/youtube.jet @@ -0,0 +1,3 @@ +
+ +
\ No newline at end of file diff --git a/kibble/datastore/tv_episode_datasource.go b/kibble/datastore/tv_episode_datasource.go index 8fc47ba8..c455e5ae 100644 --- a/kibble/datastore/tv_episode_datasource.go +++ b/kibble/datastore/tv_episode_datasource.go @@ -22,7 +22,7 @@ import ( "kibble/models" - "github.com/CloudyKit/jet" + "github.com/CloudyKit/jet/v6" ) var tvEpisodeArgs = []models.RouteArgument{ diff --git a/kibble/datastore/tv_season_datasource.go b/kibble/datastore/tv_season_datasource.go index 91fa7e26..3c887de2 100644 --- a/kibble/datastore/tv_season_datasource.go +++ b/kibble/datastore/tv_season_datasource.go @@ -22,7 +22,7 @@ import ( "kibble/models" - "github.com/CloudyKit/jet" + "github.com/CloudyKit/jet/v6" ) var tvSeasonArgs = []models.RouteArgument{ diff --git a/kibble/datastore/tv_season_index_datasource.go b/kibble/datastore/tv_season_index_datasource.go index ae419473..6b8bd9ba 100644 --- a/kibble/datastore/tv_season_index_datasource.go +++ b/kibble/datastore/tv_season_index_datasource.go @@ -19,7 +19,7 @@ import ( "kibble/models" - "github.com/CloudyKit/jet" + "github.com/CloudyKit/jet/v6" ) // TVSeasonIndexDataSource - a list of all films diff --git a/kibble/datastore/tv_show_datasource.go b/kibble/datastore/tv_show_datasource.go index e27e240a..6dba7c05 100644 --- a/kibble/datastore/tv_show_datasource.go +++ b/kibble/datastore/tv_show_datasource.go @@ -22,7 +22,7 @@ import ( "kibble/models" - "github.com/CloudyKit/jet" + "github.com/CloudyKit/jet/v6" ) var tvShowArgs = []models.RouteArgument{ diff --git a/kibble/datastore/tv_show_index_datasource.go b/kibble/datastore/tv_show_index_datasource.go index 2fee40ad..ac1bacee 100644 --- a/kibble/datastore/tv_show_index_datasource.go +++ b/kibble/datastore/tv_show_index_datasource.go @@ -19,7 +19,7 @@ import ( "kibble/models" - "github.com/CloudyKit/jet" + "github.com/CloudyKit/jet/v6" ) // TVShowIndexDataSource - a list of all films diff --git a/kibble/datastore/tv_show_test.go b/kibble/datastore/tv_show_test.go index f824907f..2a00ac70 100644 --- a/kibble/datastore/tv_show_test.go +++ b/kibble/datastore/tv_show_test.go @@ -15,10 +15,9 @@ package datastore import ( - "testing" - "kibble/models" "kibble/test" + "testing" "github.com/nicksnyder/go-i18n/i18n" "github.com/stretchr/testify/assert" @@ -58,7 +57,7 @@ func TestRenderingShowSlug(t *testing.T) { view := models.CreateTemplateView(routeRegistry, i18n.IdentityTfunc(), &ctx, "./templates") - tem, _ := view.LoadTemplate("", "{{ routeToSlug(site.TVShows[0].Slug) }}") + tem, _ := view.GetTemplate("tv_show_slug.jet") renderer := &test.InMemoryTemplateRenderer{ View: view, diff --git a/kibble/go.mod b/kibble/go.mod index 837342ff..31b64fc9 100644 --- a/kibble/go.mod +++ b/kibble/go.mod @@ -3,7 +3,7 @@ module kibble go 1.17 require ( - github.com/CloudyKit/jet v2.1.1+incompatible + github.com/CloudyKit/jet/v6 v6.1.0 github.com/araddon/dateparse v0.0.0-20210207001429-0eec95c9db7e github.com/aws/aws-sdk-go v1.12.2 github.com/gosimple/slug v1.1.1 @@ -24,7 +24,7 @@ require ( require ( github.com/BurntSushi/toml v0.3.1 // indirect - github.com/CloudyKit/fastprinter v0.0.0-20170127035650-74b38d55f37a // indirect + github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53 // indirect github.com/davecgh/go-spew v1.1.0 // indirect github.com/fsnotify/fsnotify v1.4.9 // indirect github.com/go-ini/ini v1.28.2 // indirect diff --git a/kibble/go.sum b/kibble/go.sum index f4f81ee2..9c5d3fa1 100644 --- a/kibble/go.sum +++ b/kibble/go.sum @@ -1,9 +1,9 @@ github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/CloudyKit/fastprinter v0.0.0-20170127035650-74b38d55f37a h1:3SgJcK9l5uPdBC/X17wanyJAMxM33+4ZhEIV96MIH8U= -github.com/CloudyKit/fastprinter v0.0.0-20170127035650-74b38d55f37a/go.mod h1:EFZQ978U7x8IRnstaskI3IysnWY5Ao3QgZUKOXlsAdw= -github.com/CloudyKit/jet v2.1.1+incompatible h1:FgCzTmQg2GEqM3Xo3pvMYmJdYjqycdapGxRoyJ68O1c= -github.com/CloudyKit/jet v2.1.1+incompatible/go.mod h1:HPYO+50pSWkPoj9Q/eq0aRGByCL6ScRlUmiEX5Zgm+w= +github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53 h1:sR+/8Yb4slttB4vD+b9btVEnWgL3Q00OBTzVT8B9C0c= +github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53/go.mod h1:+3IMCy2vIlbG1XG/0ggNQv0SvxCAIpPM5b1nCz56Xno= +github.com/CloudyKit/jet/v6 v6.1.0 h1:hvO96X345XagdH1fAoBjpBYG4a1ghhL/QzalkduPuXk= +github.com/CloudyKit/jet/v6 v6.1.0/go.mod h1:d3ypHeIRNo2+XyqnGA8s+aphtcVpjP5hPwP/Lzo7Ro4= github.com/araddon/dateparse v0.0.0-20210207001429-0eec95c9db7e h1:OjdSMCht0ZVX7IH0nTdf00xEustvbtUGRgMh3gbdmOg= github.com/araddon/dateparse v0.0.0-20210207001429-0eec95c9db7e/go.mod h1:DCaWoUhZrYW9p1lxo/cm8EmUOOzAPSEZNGF2DK1dJgw= github.com/aws/aws-sdk-go v1.12.2 h1:wY/ELcBLPYpPgFtzSLzfvk06ERAyyfJ7xp1h56VKXAk= diff --git a/kibble/models/render.go b/kibble/models/render.go index be4d0907..cd53e831 100644 --- a/kibble/models/render.go +++ b/kibble/models/render.go @@ -15,7 +15,7 @@ package models import ( - "github.com/CloudyKit/jet" + "github.com/CloudyKit/jet/v6" ) // RenderContext - Context passed during rendering / serving diff --git a/kibble/models/template.go b/kibble/models/template.go index 46722108..7a18e016 100644 --- a/kibble/models/template.go +++ b/kibble/models/template.go @@ -24,7 +24,7 @@ import ( "kibble/version" - "github.com/CloudyKit/jet" + "github.com/CloudyKit/jet/v6" strip "github.com/grokify/html-strip-tags-go" "github.com/microcosm-cc/bluemonday" "github.com/nicksnyder/go-i18n/i18n" @@ -37,7 +37,7 @@ var shortCodeView *jet.Set // CreateTemplateView - create a template view func CreateTemplateView(routeRegistry *RouteRegistry, trans i18n.TranslateFunc, ctx *RenderContext, templatePath string) *jet.Set { - view := jet.NewHTMLSet(templatePath) + view := jet.NewSet(jet.NewOSFileSystemLoader(templatePath)) view.AddGlobal("version", version.Version) view.AddGlobal("lang", ctx.Language) view.AddGlobal("routeTo", func(entity interface{}, routeName string) string { @@ -250,20 +250,8 @@ func ConfigureShortcodeTemplatePath(cfg *Config) { if shortCodeView == nil { // get the template view - shortCodeView = jet.NewHTMLSet(cfg.ShortCodePath()) - - // built-in templates - _, err := shortCodeView.LoadTemplate("echo.jet", "
slug:{{slug}}
") - if err != nil { - log.Error("template loading failed for echo.jet") - } - _, err = shortCodeView.LoadTemplate("youtube.jet", ` -
- -
`) - if err != nil { - log.Error("template loading failed for youtube.jet") - } + loader := jet.NewOSFileSystemLoader(cfg.ShortCodePath()) + shortCodeView = jet.NewSet(loader) } } diff --git a/kibble/models/template_test.go b/kibble/models/template_test.go index 1501aeeb..989c809f 100644 --- a/kibble/models/template_test.go +++ b/kibble/models/template_test.go @@ -21,7 +21,7 @@ import ( "kibble/utils" - "github.com/CloudyKit/jet" + "github.com/CloudyKit/jet/v6" "github.com/nicksnyder/go-i18n/i18n" "github.com/stretchr/testify/assert" ) diff --git a/kibble/render/console_renderer.go b/kibble/render/console_renderer.go index 7f7127f4..60ef97b3 100644 --- a/kibble/render/console_renderer.go +++ b/kibble/render/console_renderer.go @@ -18,8 +18,9 @@ import ( "bytes" "fmt" - "github.com/CloudyKit/jet" "kibble/models" + + "github.com/CloudyKit/jet/v6" ) // ConsoleRenderer - designed to render to the console for testing diff --git a/kibble/render/file_renderer.go b/kibble/render/file_renderer.go index a951af4d..689f3014 100644 --- a/kibble/render/file_renderer.go +++ b/kibble/render/file_renderer.go @@ -24,7 +24,7 @@ import ( "kibble/utils" - "github.com/CloudyKit/jet" + "github.com/CloudyKit/jet/v6" ) // FileRenderer - designed to render to the file system for testing diff --git a/kibble/sample_site/templates/shortcodes/echo.jet b/kibble/sample_site/templates/shortcodes/echo.jet new file mode 100644 index 00000000..216d716c --- /dev/null +++ b/kibble/sample_site/templates/shortcodes/echo.jet @@ -0,0 +1 @@ +
slug:{{slug}}
\ No newline at end of file diff --git a/kibble/sample_site/templates/shortcodes/youtube.jet b/kibble/sample_site/templates/shortcodes/youtube.jet new file mode 100644 index 00000000..50055e64 --- /dev/null +++ b/kibble/sample_site/templates/shortcodes/youtube.jet @@ -0,0 +1,4 @@ + +
+ +
\ No newline at end of file diff --git a/kibble/test/inmemory_renderer.go b/kibble/test/inmemory_renderer.go index 2117cdca..f7feb16a 100644 --- a/kibble/test/inmemory_renderer.go +++ b/kibble/test/inmemory_renderer.go @@ -19,7 +19,7 @@ import ( "fmt" "testing" - "github.com/CloudyKit/jet" + "github.com/CloudyKit/jet/v6" ) // InMemoryRenderer - render to memory for testing diff --git a/kibble/test/inmemory_template_renderer.go b/kibble/test/inmemory_template_renderer.go index 80f6306e..128ccccb 100644 --- a/kibble/test/inmemory_template_renderer.go +++ b/kibble/test/inmemory_template_renderer.go @@ -17,7 +17,7 @@ package test import ( "bytes" - "github.com/CloudyKit/jet" + "github.com/CloudyKit/jet/v6" ) // InMemoryTemplateRenderer - render template in memory diff --git a/kibble/test/mock_renderer.go b/kibble/test/mock_renderer.go index f4531aa5..26494a8d 100644 --- a/kibble/test/mock_renderer.go +++ b/kibble/test/mock_renderer.go @@ -15,7 +15,7 @@ package test import ( - "github.com/CloudyKit/jet" + "github.com/CloudyKit/jet/v6" ) // MockRenderer - testable renderer