Skip to content

Commit

Permalink
feat: update Scriban, WorkContext and liquid html filters (#633)
Browse files Browse the repository at this point in the history
* build: update Scriban

* feat: update liquid html filters

* feat: add `PageKeywords` property in work context
  • Loading branch information
artmakarov committed Nov 30, 2022
1 parent 277c900 commit f2d0b25
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 18 deletions.
40 changes: 25 additions & 15 deletions VirtoCommerce.LiquidThemeEngine/Filters/HtmlFilters.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,42 +13,52 @@ public static partial class HtmlFilters
/// <returns></returns>
public static string ScriptTag(string input)
{
return string.Format("<script type=\"text/javascript\" src=\"{0}\"></script>", input);
return string.Format("<script src=\"{0}\"></script>", input);
}

/// <summary>
/// Generates async script tag.
/// {{ 'shop.js' | asset_url | script_tag_async }}
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static string ScriptTagAsync(string input)
{
return string.Format("<script async type=\"text/javascript\" src=\"{0}\"></script>", input);
return string.Format("<script async src=\"{0}\"></script>", input);
}

/// <summary>
/// Generates a stylesheet tag.
/// {{ 'shop.css' | asset_url | stylesheet_tag }}
/// Generates defer script tag.
/// {{ 'shop.js' | asset_url | script_tag_defer }}
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static string StylesheetTag(string input)
public static string ScriptTagDefer(string input)
{
return string.Format("<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"{0}\" />", input);
return string.Format("<script defer src=\"{0}\"></script>", input);
}

/// <summary>
/// Generates an image tag
/// {{ 'smirking_gnome.gif' | asset_url | img_tag }}
/// Generates module script tag.
/// {{ 'shop.js' | asset_url | script_tag_module }}
/// </summary>
/// <param name="input"></param>
/// <param name="alt"></param>
/// <param name="css"></param>
/// <returns></returns>
public static string ImgTag(string input, string alt = "", string css = "")
public static string ScriptTagModule(string input)
{
return input == null ? null : GetImageTag(input, alt, css);
return string.Format("<script type=\"module\" crossorigin src=\"{0}\"></script>", input);
}


private static string GetImageTag(string src, string alt, string css)
/// <summary>
/// Generates a stylesheet tag.
/// {{ 'shop.css' | asset_url | stylesheet_tag }}
/// </summary>
/// <param name="input"></param>
/// <param name="media"></param>
/// <returns></returns>
public static string StylesheetTag(string input, string media = "all")
{
return string.Format("<img alt=\"{0}\" src=\"{1}\" class=\"{2}\" />", alt, src, css);
return string.Format("<link rel=\"stylesheet\" href=\"{0}\" media=\"{1}\">", input, media);
}
}
}
3 changes: 2 additions & 1 deletion VirtoCommerce.LiquidThemeEngine/ShopifyLiquidThemeEngine.cs
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,8 @@ public ValueTask<string> RenderTemplateAsync(string templateContent, string temp
NewLine = Environment.NewLine,
TemplateLoaderLexerOptions = new LexerOptions
{
Mode = ScriptMode.Default
Mode = ScriptMode.Default,
Lang = ScriptLang.Liquid
}
};
templateContext.PushGlobal(scriptObject);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<PackageReference Include="LibSassHost.Native.win-x86" Version="1.3.3" />
<PackageReference Include="Nito.AsyncEx" Version="5.1.2" />
<PackageReference Include="PagedList.Core" Version="1.17.4" />
<PackageReference Include="Scriban" Version="5.4.4" />
<PackageReference Include="Scriban" Version="5.5.1" />
</ItemGroup>


Expand Down
6 changes: 6 additions & 0 deletions VirtoCommerce.Storefront.Model/WorkContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,17 @@ public WorkContext()
public SlugRoutingData SlugRoutingData { get; set; }

public string Template { get; set; }

/// <summary>
/// Merchants can specify a page_description.
/// </summary>
public string PageDescription => CurrentPageSeo?.MetaDescription ?? string.Empty;

/// <summary>
/// Merchants can specify a page_keywords.
/// </summary>
public string PageKeywords => CurrentPageSeo?.MetaKeywords ?? string.Empty;

/// <summary>
/// The liquid object page_title returns the title of the current page.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<PackageReference Include="MSTest.TestAdapter" Version="2.2.10" />
<PackageReference Include="MSTest.TestFramework" Version="2.2.10" />
<PackageReference Include="PagedList.Core" Version="1.17.4" />
<PackageReference Include="Scriban" Version="5.4.4" />
<PackageReference Include="Scriban" Version="5.5.1" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.console" Version="2.4.1">
<PrivateAssets>all</PrivateAssets>
Expand Down

0 comments on commit f2d0b25

Please sign in to comment.