I just finished making my SauSaGe (Static Site Generator), excuse my idea of a "creative name".
The Process
I chose to create my SSG in C++ because I was familiar with how it handled file reading, which this project required a decent knowledge of.
In order to create and remove directories, I required the filesystem standard library which was introduced in C++17. I was not familiar with the library at the time of starting the project. But, I managed to learn what I needed to using reference material available online.
Something else I needed to learn was how to work with command line arguments in C++. It turned out to be more mundane than I thought it was. However, I am not 100% sure that the way I have done it is the standard method of getting it done.
Overall, I found the process of creating this project to be helpful in learning some new ideas in a programming language I thought I was familiar with.
How to use
To use the program, download the SauSaGe.exe file from the repo and execute it in a command line interface (i.e. PowerShell, cmd) with one of the following options:
- 
-vor--version- display the application name and version
- 
-hor--help- display application options
- 
-ior--input- set the input file/directory
- 
-oor--output- set the output directory (./distby default)
HTML files will be generated based on the file(s) specified as input. The output directory specified will be deleted and re-created. The output file(s) will be placed into the output directory or dist by default.
Usage Examples
- SauSaGe -i textFile.txt
- SauSaGe -i inputDir
- SauSaGe -i inputDir -o outputDir
Optional Requirements Implemented
- Parses title from input files, changes HTML page title and header accordingly.
- 
-oand--outputoptions allow specification of output directory.
- Recursively searches directory structure for text files and converts all of them into .htmlfiles.
- Creates an index.htmlfile that links to the output files created if a directory is specified as input
 

 
    
Top comments (0)