From 3e291e782c35eba403527a04761168c3aed8aac2 Mon Sep 17 00:00:00 2001 From: Bruno Massa Date: Thu, 11 Apr 2024 02:45:46 -0500 Subject: [PATCH] docs: README, CODE_OF_CONDUCT and CONTRIBUTING pages updated --- CODE_OF_CONDUCT.md | 133 ++++++++++++++++++++++++++++++++++++++++++ CONTRIBUTING.md | 66 +++++++++++++++++++++ LICENSE => LICENSE.md | 2 +- README.md | 45 +++++++------- SuCoS-badge.svg | 34 +++++++++++ SuCoS-logo.svg | 76 +++++++++++++++++------- 6 files changed, 313 insertions(+), 43 deletions(-) create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md rename LICENSE => LICENSE.md (96%) create mode 100644 SuCoS-badge.svg diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..20bcc4f --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,133 @@ + +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall + community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or advances of + any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email address, + without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official email address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +[INSERT CONTACT METHOD]. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at +[https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..4cbe7d6 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,66 @@ +# Contributing to SuCoS + +Thank you for your interest in contributing to **SuCoS**! Please take a moment to review this document **before** submitting a merge request. + +Before we embark on this exciting journey, let's take a moment to appreciate the heart and soul of SuCoS: its [GitLab repository](https://gitlab.com/sucos/sucos). The repository is a treasure trove of SuCoS's source code, issues, and discussions. Feel free to explore, contribute, and make SuCoS even more awesome! + +We hope you're as excited as we are about the possibilities **SuCoS** brings to the world of static site generation. Let's embark on this journey together and unleash the true potential of static websites. Happy coding and creating! + +## Merge Requests + +Please ask first before starting work on any significant new features. + +To prevent unnecessary effort, we request that contributors create a feature request to first discuss any new ideas. Your ideas and suggestions are welcome! + +Please ensure that the tests are passing when submitting a merge request. If you're adding new features to **SuCoS**, please include tests. + +## Where do I go from here? + +For any questions, support, or ideas, etc. please create a GitLab issue. If you've noticed a bug, please submit an issue. + +### Fork and create a branch + +If this is something you think you can fix, then fork **SuCoS** and create a branch with a descriptive name. + +### Check if the Test Suite is working + +There are several tests done on each commit. The whole test suite currently take seconds. + +Linux: + +```sh +\build.sh test +``` + +Windows: + +```powershell +\build.ps1 test +``` + +### Implement your fix or feature + +At this point, you're ready to make your changes. Feel free to ask for help. + +Run the test suite again to certify that everything passes. Feel free to change, add or enhance the tests themselves. It also will show you how much of the whole code is tested. When adding a new feature, it's commum + +### Create a Merge Request + +At this point, if your changes look good and tests are passing, you are ready to create a merge request. + +GitLab CI will run our test suite against all supported environments. It's possible that your changes pass tests in one environment but fail in another. In that case, you'll have to setup your development environment for the problematic environment, and investigate what's going on. + +## Merging a MR (maintainers only) + +A PR can only be merged into master by a maintainer if: CI is passing, approved by another maintainer (if there are more than one) and is up to date with the default branch. Any maintainer is allowed to merge a MR if all of these conditions are met. + +## Shipping a release (maintainers only) + +Maintainers need to do the following to push out a release: + +* Create a feature branch from master and make sure it's up to date. +* Review and merge the PR. + +There is a scheduled that checks new code every Thursday. If it does, it will create a new tag, new GitLab release and generate all the files needed. + +> Attention: when executing a pipeline manually on main, it will also trigger the code verifier and might create a new release. diff --git a/LICENSE b/LICENSE.md similarity index 96% rename from LICENSE rename to LICENSE.md index 02794d3..5fc863c 100644 --- a/LICENSE +++ b/LICENSE.md @@ -1,4 +1,4 @@ -Copyright (c) 2023 Bruno Massa +Copyright (c) 2023-2024 Bruno Massa Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/README.md b/README.md index 1baa5c8..1f6ab1f 100644 --- a/README.md +++ b/README.md @@ -1,55 +1,56 @@ # SuCoS -```txt -░█▀▀░░░░░█▀▀░░░░░█▀▀ -░▀▀█░█░█░█░░░█▀█░▀▀█ -░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀▀▀ -``` - -**S**tatic site generator -**u**sing -**CS**harp + -🎉 Welcome to **SuCoS** (Juices), the most delightfully wacky and laughably unstable Static Site Generator out there! 🎉 +🎉 Welcome to **SuCoS** (**J**ui**C**e**S**, in Brazilian Portuguese), the one of the fastest Static Site Generator out there! 🚀 -> **DISCLAIMER**: **SuCoS** is in a **SUPER ALPHA version**, and we mean SUPER! Please do not use for ANY real site for now. Prepare to be entertained by unexpected behaviors! 🎢 +> **DISCLAIMER**: **SuCoS** is in a **ALPHA state**! Please do not use for ANY real site for now. Prepare to be entertained by unexpected behaviors! 🎢 - +Official site: https://sucos.brunomassa.com [![Latest release](https://gitlab.com/sucos/sucos/-/badges/release.svg)](https://gitlab.com/sucos/sucos) ![Pipepline](https://gitlab.com/sucos/sucos/badges/main/pipeline.svg?ignore_skipped=true) +[![Latest release](https://gitlab.com/sucos/sucos/badges/main/coverage.svg)](https://gitlab.com/sucos/sucos) + +## Install + +All the [Releases](https://gitlab.com/sucos/sucos/-/releases) for Linux, Windows are a single executable! Just download and use. ## Usage First, navigate to the **SuCoS** folder, then, run the following command: -```bash +```sh SuCoS ``` +```sh +SuCoS.exe +``` + if `` not present, it will default to current folder. Watch in awe as **SuCoS** creates a static site from your input files, or as it possibly implodes (with a 50/50 chance). If all goes well (fingers crossed 🤞), you'll have a shiny new static website in the `public` folder. -## License - -This piece of software is brought to you under the [MIT license](LICENSE), because we believe in the power of sharing (and bug fixing together). - ## Build Requirements -**SuCoS** is built with **dotnet 8**, and the latest C# speed and features! +**SuCoS** is built with **DotNet 8**, and the latest C# speed and features! -```bash -git clone https://github.com/brunomassa/sucos.git +```sh +git clone https://gitlab.com/sucos/sucos.git # or git@gitlab.com:sucos/sucos.git cd SuCoS -dotnet build +dotnet build # or `build.sh clean restore compile` ``` +## License + +This piece of software is brought to you under the [MIT license](LICENSE), because we believe in the power of sharing (and bug fixing together). + ## Contributing -We welcome contributions in the form of bug reports, feature requests, and pull requests. Just remember, we're here for the fun, so keep it light-hearted and enjoyable! +We welcome contributions in the form of bug reports, feature requests, and pull requests. Just remember, we're here for the fun, so keep it light-hearted and enjoyable! [Check our guidelines](CONTRIBUTING.md). ## Final Words diff --git a/SuCoS-badge.svg b/SuCoS-badge.svg new file mode 100644 index 0000000..22dd307 --- /dev/null +++ b/SuCoS-badge.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SuCoS-logo.svg b/SuCoS-logo.svg index 7a64cbc..cf277f2 100644 --- a/SuCoS-logo.svg +++ b/SuCoS-logo.svg @@ -1,22 +1,58 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - -- GitLab