While I would usually try and stick to the conventional commits standard this commit is a big one. This commit Bumps us to 0.0.2 And completely changes how you interact with the program. Now it is easier as you only need to specify the project directory on the commandline (OR be in the directory of the site you want to build) Also introduced is the cssitegen.json file that all projects must use. This means that static information such as the basename, source, and destination are kept with the files. ProjectSettings is used to hopefully make managing a site easier, although future refactoring may join the RuntimeSettings and ProjectSettings into one class. There are some obvious issues with the project in its current state but pending testing with a live domain, it does appear to actually work as intended. (if this is true then the code just needs refactoring and tidying to qualify for a 0.1.0 Release.) Future features planned include - Code to generate pages from data - Template nesting (or a custom template templating language) - Introduction of image conversion to webp (with fallback to RawCpy) - consistency enforcement, to ensure that deleted source files mean deleted destination files.
45 lines
1.7 KiB
XML
45 lines
1.7 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<OutputType>Exe</OutputType>
|
|
|
|
<Version Condition="'$(RELEASE_VERSION)' != ''">$(RELEASE_VERSION)</Version>
|
|
<VersionPrefix Condition="'$(RELEASE_VERSION)' == ''">0.0.2</VersionPrefix>
|
|
<VersionSuffix Condition="'$(RELEASE_VERSION)' == ''">$([System.DateTime]::UtcNow.ToString(`yyyyMMdd-HHmm`))</VersionSuffix>
|
|
|
|
|
|
<OutputPath>bin\$(Configuration)\</OutputPath>
|
|
|
|
<TargetFramework>net8.0</TargetFramework>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<Nullable>enable</Nullable>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="Serilog" Version="3.1.1" />
|
|
<PackageReference Include="Serilog.Sinks.Console" Version="5.0.1" />
|
|
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
|
|
<PackageReference Include="spectre.console" Version="0.48.0" />
|
|
<PackageReference Include="system.commandline" Version="2.0.0-beta4.22272.1" />
|
|
</ItemGroup>
|
|
|
|
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
|
<!-- Here we define the Debug Build.
|
|
-->
|
|
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
|
<!-- Here we define the release build.
|
|
The Release Build will be a Single file App
|
|
The Release Build will also do -Werror as I don't want to release shitty code
|
|
The Release Build will also be R2R as I don't want it to depend on the framework
|
|
NOTE: This build requires specifying a platform
|
|
-->
|
|
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
|
<PublishReadyToRun>true</PublishReadyToRun>
|
|
<PublishSingleFile>true</PublishSingleFile>
|
|
<SelfContained>true</SelfContained>
|
|
</PropertyGroup>
|
|
</Project>
|