代码拉取完成,页面将自动刷新
使用 C# 开发的基于 Liquid 语言的多主题引擎。
//主题文件存放地址
var themeRootPath = Path.GetFullPath(Path.Combine("wwwroot", "themes"));
var fileProvider = new PhysicalFileProvider(themeRootPath);
//主题引擎配置
var themeEnginOptions = new LiquidThemeEngineOptions();
themeEnginOptions.FileProvider = new LiquidThemeFileProvider(fileProvider);//配置主题文件所在的位置
//主题名称(主题目录名称)
var theme = "default";
//视图名称,对应 templates 目录下的文件
var view = "index";
//视图模型,可以在模板中使用
var model = new
{
Id = 123,
Age = 10,
CreatedTime = DateTime.Now
};
//创建一个模板上下文
var context = new LiquidThemeTemplateContext(themeEnginOptions, theme, model);
//设置多语言环境
context.CultureInfo = new CultureInfo("zh-hans");
//设置模板变量
context.SetValue("title", "标题的取值");
//渲染结果
var html = await LiquidThemeViewRender.RenderAsync(theme, view, context);
Console.WriteLine("渲染结果:{0}", html);
一个主题包含以下几个文件夹:
资源目录。主题所需的 css、js、图片等文件存放在这个文件中,通过 asset_url
标签获取访问路径。
如果 assets
目录下有一个名为 logo.png
的文件,在模板中可以通过以下代码显示该图片:
<img src="{{ 'logo.png' | asset_url }}">
主题配置文件目录。包含以下三个文件:
该文件保存主题元信息和设置定义信息,内容为 JSON 数组字符串。
主题元信息包括:主题名称、作者、版本等。当 name=theme_info 时代表该条数据是主题辕信息。
主题预设设置,保存由开发者预定义的主题设置。可以有多套,设置一个主题的多个不同风格。用户可以快速选择一个风格。
当前使用的主题设置。
保存主题的布局文件,当模板未通过 layout
标签指定布局文件时,会默认使用 theme
。布局文件中可以使用 render_body
标签输出模板内容。
多语言文件保存于此。
模板节保存于此。需要在 settings_data.json
中引用该文件夹中的文件,并通过 section
标签渲染一个模板节。
代码段保存于此。可以在模板中使用 render
标签调用该目录下的文件。
模板文件保存于此。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。