t-squared: A template for creating other Copier templates
This is a Copier template for creating a new Copier template. We made t-squared (a template for templates) because we manage and develop several templates in Seedcase, and this template is designed to make it easier to create, develop, and maintain those templates.
Features
These are the features included in this template that help with building and maintaining a Copier template. Depending on the answers given to the template questions, some of these features may not be included in the created project:
- Uses Quarto Markdown for the website content, allowing for easy integration of code, text, and figures.
- Includes a justfile for managing common tasks like building the website and running checks.
- Uses typos to check for common spelling mistakes.
- Uses git-cliff to automatically create the changelog.
- Automates Git tagging and GitHub releases with Cocogitto that are based on messages following Conventional Commits.
- Uses a MIT license for the template.
- Run checks with pre-commit hooks to ensure consistent formatting and style across the project. It includes checks for credentials, typos, and file formatting.
- Optionally uses the
seedcase-themeQuarto extension for a standard appearance across websites. - Includes GitHub Actions for continuous integration, testing, and delivery for running checks, formatting, releasing, and building the website. It also includes Dependabot for keeping GitHub Action dependencies up to date.
- Options between Netlify or GitHub Pages for hosting the website. For dealing with custom domain names, Netlify is the better choice, as the configuration is very easy to set up.
- Includes an EditorConfig file to ensure consistent formatting across different editors.
- High level, system and program management with uv.
- GitHub workflows for automatically adding Pull Requests and Issues to a project board.
- Pull Request template for easy creation of new Pull Requests.
- VS Code settings commonly used by contributors working in VS Code.
CITATION.cfffile for citation information that provides Zenodo with the necessary metadata to create a DOI for the project and for GitHub to display the citation information on the repository page.- Includes a GoatCounter file for website visitor tracking, which is privacy-friendly and does not use cookies. That means it doesn’t need a GDPR notice as no personal data is collected.
- Uses rumdl and Panache to format Markdown files, so that they are consistent across the repository and easier to read in the raw form. We use two because they both do slightly different things for Quarto Markdown files. Rumdl is better at linting, while Panache is better at formatting.
- Uses lychee to check for broken links in the website files.
Want to contribute?
We would love your feedback or contributions! Head over to our GitHub repository to share your ideas or contribute code. Your input makes us better!
Contributors
The following people have contributed to this project by submitting pull requests 🎉
Licensing
This project is licensed under the MIT License.