Commit Graph

26 Commits

Author SHA1 Message Date
34bf088c78
refactor: Merge Project/Runtime Settings
Merge the RuntimeSettings class into ProjectSettings,
Minimising the duplication of stored data
2024-06-03 02:54:38 +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
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
99b18e6a84
Commented out functionality for creating metadata.
This should be done before program exit and as such is currently
in a comment after the main class body.

TODO: add this back in at the appropriate location.
2022-06-21 22:40:31 +01:00
Robert Morrison
8abd5b5990
Add functionality to determine if files are new
This currently relies on the last modified date and a dotfile.
I may change this later to use a hash to detect changes
however this method seems good enough.
2022-06-21 22:39:22 +01:00
Robert Morrison
2657ad16ea
Add functionality to discover convertable files 2022-06-21 22:37:30 +01:00
Robert Morrison
57218b37fd
Placeholder function
TODO: add implementation
2022-06-21 22:36:44 +01:00
Robert Morrison
c3666cdcf1
Make Console logging less messy
This change moves the more verbose debug logging into the logfile
making the console output easier to read

TODO: Write a proper interface
2022-06-21 22:35:58 +01:00
Robert Morrison
de68526bc3
Make the dependecy test useful by using the result in main 2022-06-20 03:47:03 +01:00
Robert Morrison
c6a00c8c2b
Better comment 2022-06-20 03:46:25 +01:00
Robert Morrison
9e898f4f56
Add some default values to code 2022-06-20 03:46:13 +01:00
Robert Morrison
2dc16d7c2d
Add XML documentation 2022-06-20 03:45:44 +01:00
Robert Morrison
69ef560105
More performance tracking 2022-06-20 03:45:05 +01:00
Robert Morrison
0e7bd12c4f
General Work
This commit is ugly. but probably doesn't break anything
2022-06-20 02:57:40 +01:00
Robert Morrison
2c82979454
Add notice about testing 2022-06-20 02:57:11 +01:00
Robert Morrison
20840f0214
Add more code to main to work on new functionality 2022-06-20 02:56:53 +01:00
Robert Morrison
949217e4f8
Add performance monitoring for file listing function 2022-06-20 02:55:59 +01:00
Robert Morrison
2ddb8aa97e
Comment for potentially bad code 2022-06-20 02:55:25 +01:00
Robert Morrison
ce08055d7e
Use new syntax for cleaner looking code 2022-06-20 02:54:45 +01:00
Robert Morrison
ea69e350aa
Implement GetAllFilesMatching function 2022-06-20 02:54:20 +01:00
Robert Morrison
cad446c282
Add comment to usage function 2022-06-20 02:53:39 +01:00
Robert Morrison
a9cd262e60
Add dependency checking Function 2022-06-20 02:53:16 +01:00
Robert Morrison
3f56167d86
Neaten Logging 2022-06-20 02:52:54 +01:00
Robert Morrison
777c76bb3d
Add GPLv3 license notice 2022-06-20 02:51:53 +01:00
Robert Morrison
78173c1612
Remove Useless crap 2022-06-20 02:49:32 +01:00
Robert Morrison
7fbfa0b8f1
Initial Commit 2022-06-14 15:27:48 +02:00