Commit Graph

10 Commits

Author SHA1 Message Date
5169aede88
chore(csproj): Cleanup csproj file 2026-01-04 02:04:04 +00:00
700dc715fb
chore(dependencies): Upgrade dependencies
This commit brings the dependencies up to date.

This more importantly brings the stable version of system.commandline
and all the changes needed to make it work properly with the program.

Importantly this changes how validation is done, and how defaults are
passed to commandline. This also allows me to remove the original null
protection as when the argument is not specified commandline defaults to
the current directory.

This has also meant I can remove unnecessary async calls that appear to
have no performance benefits, and remove some null checking that isn't
needed any more.
2026-01-03 04:00:54 +00:00
2a86a54b1c
chore(dotnet): Update to dotnet10 2025-12-30 21:32:40 +00:00
da24073f14
feat: Add support for removing deleted source files
Detects files removed from the source directory, deletes the file from
destination, removes it from the metadata cache.
2025-03-12 02:31:54 +00:00
53344de6ea
build: Enable AOT
Add the JSON code generation needed to make my code fully trimmable, and
therefore able to be published with full native AOT compilation.

NOTE: This may not guarantee stable builds as the logging library
serilog is still not fully trimmable, I have made changes to my logging
statements to avoid destructuring, but there is a chance that a
published build could randomly crash.
The only solution is to either wait for serilog to become fully
trimmable, or to remove the logging from AOT builds
2024-06-03 04:04:16 +01:00
d868eac72f
UNCONVENTIONAL COMMIT Bump to 0.0.2
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.
2024-05-31 02:03:46 +01:00
85331e8701
chore: Bump TargetFramework to 8.0 2024-03-05 15:45:17 +00:00
18ed0534b7
refactor(EVERYTHING): Refactor all the things.
With a little bit of OOP and a monster commit, I too can make a an ssg,
Ka-chow...

Changes:
-  added class to represent SiteFile
-  enabled conversion semi-automatic based on file type.
-  added template to Testing.
-  Removed awful code for dependency search
-  Removed awful code for enumerating directory
-  arguments to a class to allow for easier passing to other
  parts of the code.

TODO:
- 🐞Test and debug with a copy of a live site,
- ✍️ Add handling for Pandoc errors on stderr
- Look into parallelising as much as possible.
2024-01-16 11:00:35 +00:00
Robert Morrison
fd38d54a93
Remove useless comment 2022-06-20 03:47:23 +01:00
Robert Morrison
7fbfa0b8f1
Initial Commit 2022-06-14 15:27:48 +02:00