Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: update Scriban, WorkContext and liquid html filters #633

Merged
merged 3 commits into from
Nov 30, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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