This adds a new Template result format that uses Handlebars.Net for flexible report customization. Users can now create fully customized reports using Handlebars syntax, replacing the limited token-based approach. Features: - New Template export format with Handlebars support - Built-in templates: default, email, html, slack - Custom template support via file path or inline content - Helper functions for formatting: formatSize, formatDuration, formatDate, eq, statusClass, eachProperty - Full access to result data, log lines, and exceptions
48 lines
2.1 KiB
XML
48 lines
2.1 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<TargetFramework>net10.0</TargetFramework>
|
|
<OutputType>Library</OutputType>
|
|
<RootNamespace>Duplicati.Library.Modules.Builtin</RootNamespace>
|
|
<Copyright>Copyright © 2025 Team Duplicati, MIT license</Copyright>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- Force version of dependency in Artalk.Xmpp, sync with Duplicati.Server.csproj -->
|
|
<PackageReference Include="System.Drawing.Common" Version="10.0.0" />
|
|
|
|
<PackageReference Include="Artalk.Xmpp" Version="1.0.5" />
|
|
<PackageReference Include="DnsClient" Version="1.8.0" />
|
|
<PackageReference Include="Handlebars.Net" Version="2.1.6" />
|
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
|
<PackageReference Include="MailKit" Version="4.12.1" />
|
|
<PackageReference Include="MimeKit" Version="4.12.0" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\..\Logging\Duplicati.Library.Logging.csproj" />
|
|
<ProjectReference Include="..\..\Interface\Duplicati.Library.Interface.csproj" />
|
|
<ProjectReference Include="..\..\Snapshots\Duplicati.Library.Snapshots.csproj" />
|
|
<ProjectReference Include="..\..\Utility\Duplicati.Library.Utility.csproj" />
|
|
<ProjectReference Include="..\..\Localization\Duplicati.Library.Localization.csproj" />
|
|
<ProjectReference Include="..\..\Backend\OAuthHelper\Duplicati.Library.OAuthHelper.csproj" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition=" $([System.Text.RegularExpressions.Regex]::IsMatch('$(RuntimeIdentifier)', '^win-')) Or '$(RuntimeIdentifier)' == '' ">
|
|
<Content Include="run-script-example.bat">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</Content>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition=" ! $([System.Text.RegularExpressions.Regex]::IsMatch('$(RuntimeIdentifier)', '^win-')) Or '$(RuntimeIdentifier)' == '' ">
|
|
<Content Include="run-script-example.sh">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</Content>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<EmbeddedResource Include="Templates\**\*" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|