SiteSmith 🛠️
SiteSmith is a Rust CLI tool designed to generate a personal website. It reads project and work experience data from JSON files and uses a template to create an HTML website.
Features
- Parses JSON data for projects and work experience.
- Utilizes an HTML template to format and generate the website.
- Customizable templates for projects and work entries.
Installation
- Ensure you have Rust installed.
- Install SiteSmith using Cargo:
Usage
To generate your website, run the sitesmith CLI tool with the following arguments:
Arguments
--projects: Path to the JSON file containing project data.--work: Path to the JSON file containing work experience data.--template: Path to the HTML template file.--output: Path to the output HTML file to be generated.
Example
JSON Data Format
Projects JSON Format
The projects JSON file should contain an array of project entries. Each entry should have the following structure:
Work Experience JSON Format
The work JSON file should contain an array of work experience entries. Each entry should have the following structure:
HTML Template
The HTML template should include placeholders for the projects and work experience sections. For example:
My Personal Website
Welcome to My Personal Website
{projects}
{work}
© 2024 Your Name
The placeholders {projects} and {work} will be replaced with the generated HTML content for the projects and work experience respectively.
Example
You can see a live example of a website generated using SiteSmith here.
The source code for this example is available on GitHub: bradeneverson.github.io.
Contributing
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Make your changes.
- Commit your changes (
git commit -am 'Add new feature'). - Push to the branch (
git push origin feature-branch). - Create a new Pull Request.