This Python-based Static Site Generator (SSG) offers a comprehensive solution for creating fully-featured websites from Markdown content. Our tool not only transforms your Markdown files into browser-ready HTML but also seamlessly integrates static assets like images and CSS, resulting in a complete and polished web presence.
- Markdown to HTML Conversion: Effortlessly transform your Markdown content into valid HTML pages.
- Static Asset Integration: Easily include images, CSS files, and other static resources in your generated sites.
- Flexible Template System: Utilize customizable templates for consistent page layouts across your site.
- Placeholder Support: Employ reusable components within your templates, similar to modern frontend frameworks.
- Customization: Out-of-the-box support for {{Title}} and {{Content}} placeholders, with the ability to add more through the main script.
Our SSG streamlines the process of building static websites by combining the simplicity of Markdown writing with the power of HTML templates and the richness of static assets. This approach allows content creators, developers, and designers to focus on their work while ensuring a professional and visually appealing result.
Whether you're creating a personal blog, a project documentation site, or a small business website, this tool provides the flexibility and features needed to bring your vision to life. From text content to stylesheets and images, everything is neatly organized and optimized for web delivery.
Before you begin, ensure that you have the following prerequisites installed:
ℹ️ Python3.x+
- Clone the static-site-gen repository:
git clone https://github.com/stackanthony/static-site-gen
- Change to the project directory:
cd static-site-gen
# In root of project directory, run the following command in shell/terminal:
sh scripts/main.sh
Contributions are always welcome! Please follow these steps:
- Fork the project repository. This creates a copy of the project on your account that you can modify without affecting the original project.
- Clone the forked repository to your local machine using a Git client like Git or GitHub Desktop.
- Create a new branch with a descriptive name (e.g.,
new-feature-branch
orbugfix-issue-123
).
git checkout -b new-feature-branch
- Make changes to the project's codebase.
- Commit your changes to your local branch with a clear commit message that explains the changes you've made.
git commit -m 'Implemented new feature.'
- Push your changes to your forked repository on GitHub using the following command
git push origin new-feature-branch
- Create a new pull request to the original project repository. In the pull request, describe the changes you've made and why they're necessary. The project maintainers will review your changes and provide feedback or merge them into the main branch.
- The static/, content/, and public/ directories are all in here for demo-purposes. You can use these directories exactly how they're used in the GIF in the README to get some first-hand experience on how this tool works.
This project is licensed under the MIT
License.