GoatStyles by GoatBytes.IO() {
👋 Welcome to GoatStyles, a repository for professional code style guides, where we strive to uphold the highest standards of software engineering.
In the realm of code style guides, we understand that opinions vary, and decisions often balance between necessity and subjectivity. However, amidst this diversity of perspectives, one principle remains paramount: consistency. By adhering to a consistent style, developers can enhance readability, maintainability, and collaboration within their codebases.
Click on the programming language logo to view the style guide for that language.
▁▁▁▁▁▁▁ | ▁▁▁▁▁▁▁ | ▁▁▁▁▁▁▁ | ▁▁▁▁▁▁▁ | ▁▁▁▁▁▁▁ | ▁▁▁▁▁▁▁ |
---|---|---|---|---|---|
C++ |
C# |
Dart |
Go |
Java |
JavaScript |
Kotlin |
Objective-C |
Python |
Rust |
Swift |
TypeScript |
Enhance your project's documentation by adding our style guide badges, signaling to fellow developers the coding standards and conventions your project adheres to. Each badge links directly to a comprehensive style guide for its respective programming language.
GoatStyles provides comprehensive style guides for C++, C#, Dart, Go, Java, JavaScript, Kotlin, Objective-C, Python, Rust, Shell, Swift, and TypeScript. Our aim is to support a wide range of development environments, catering to the diverse needs of the software development community.
- MKDocs for a fast and user-friendly static site generation.
- GitHub Actions and GitHub Pages for automated deployments and hosting.
- JavaScript, CSS, and Markdown
The GoatStyles style guides are meticulously documented in Markdown and located within the
docs/lang
directory of the repository.
We encourage contributions to GoatStyles! Before making a contribution, please review our contributing guidelines. All contributors must complete our Individual Contributor License Agreement (CLA) before their code can be accepted.
Forking the repository and proposing changes through pull requests are great ways to contribute. Though not all suggestions may be accepted, your contributions are highly appreciated and crucial to the project's growth and diversity.
To build and serve the GoatStyles site locally, follow these instructions:
- Python 3.x: Ensure you have Python 3.x installed on your machine. You can check your
Python version by running
python --version
in your terminal. - Git: Make sure Git is installed for cloning the repository.
-
Clone the Repository
- Use Git to clone the GoatStyles repository to your local machine:
git clone https://github.com/goatbytes/GoatStyles.git cd GoatStyles
- Use Git to clone the GoatStyles repository to your local machine:
-
Set Up Python Environment (Optional)
- It's recommended to create a virtual environment to keep dependencies required by the project
separate from your global Python environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
- It's recommended to create a virtual environment to keep dependencies required by the project
separate from your global Python environment:
-
Install Dependencies
- Install the required Python packages including MkDocs and its extensions used by the project:
pip install mkdocs mkdocs-material pymdown-extensions mkdocs-minify-plugin neoteroi-mkdocs mkdocs-git-revision-date-localized-plugin
- Install the required Python packages including MkDocs and its extensions used by the project:
-
Build the MkDocs Site
- Build the static site files with MkDocs:
mkdocs build
- This command generates the site static files in the
site
directory.
- Build the static site files with MkDocs:
-
Serve the Site Locally
- To preview the site on your local machine, run:
mkdocs serve
- This command starts a local web server that serves the GoatStyles site. You can view the site
by navigating to
https://127.0.0.1:8000
in your web browser.
- To preview the site on your local machine, run:
-
Making Changes
- You can now make changes to the Markdown files. The site will automatically rebuild and refresh the browser page when you save changes.
GoatStyles is licensed under Attribution-ShareAlike 4.0 International