From 8bdd9e3aaf1d029a2c47596837ad607a76563837 Mon Sep 17 00:00:00 2001
From: Dan <79267265+dansysanalyst@users.noreply.github.com>
Date: Tue, 16 Jan 2024 15:49:03 +0100
Subject: [PATCH] [DOCS] Improve README and CONTRIBUTING GUIDE + Add Broken
Link check (#1329)
* Improve README
* Improve CONTRIBUTING GUIDE
* Add lychee for broken links check
---
.github/lychee.toml | 116 +++++++++++++++++++++++++++++++++++
.github/workflows/lychee.yml | 22 +++++++
CONTRIBUTING.md | 78 ++++++++++++++++++++---
README.md | 77 ++++++++++++-----------
4 files changed, 251 insertions(+), 42 deletions(-)
create mode 100644 .github/lychee.toml
create mode 100644 .github/workflows/lychee.yml
diff --git a/.github/lychee.toml b/.github/lychee.toml
new file mode 100644
index 00000000..f477f914
--- /dev/null
+++ b/.github/lychee.toml
@@ -0,0 +1,116 @@
+############################# Display #############################
+
+# Verbose program output
+# Accepts log level: "error", "warn", "info", "debug", "trace"
+#verbose = "warn"
+
+# Don't show interactive progress bar while checking links.
+no_progress = false
+
+# Path to summary output file.
+output = ".github/link_report.md"
+
+############################# Cache ###############################
+
+# Enable link caching. This can be helpful to avoid checking the same links on
+# multiple runs.
+cache = true
+
+# Discard all cached requests older than this duration.
+max_cache_age = "1d"
+
+############################# Runtime #############################
+
+# Number of threads to utilize.
+# Defaults to number of cores available to the system if omitted.
+threads = 2
+
+# Maximum number of allowed redirects.
+max_redirects = 10
+
+# Maximum number of allowed retries before a link is declared dead.
+max_retries = 2
+
+# Maximum number of concurrent link checks.
+max_concurrency = 14
+
+############################# Requests ############################
+
+# User agent to send with each request.
+user_agent = "curl/7.83. 1"
+
+# Website timeout from connect to response finished.
+timeout = 20
+
+# Minimum wait time in seconds between retries of failed requests.
+retry_wait_time = 2
+
+# Comma-separated list of accepted status codes for valid links.
+accept = [200, 429]
+
+# Proceed for server connections considered insecure (invalid TLS).
+insecure = false
+
+# Only test links with the given schemes (e.g. https).
+# Omit to check links with any scheme.
+scheme = [ "https" ]
+
+# When links are available using HTTPS, treat HTTP links as errors.
+require_https = false
+
+# Request method
+method = "get"
+
+# Custom request headers
+headers = []
+
+# Remap URI matching pattern to different URI.
+remap = [ "https://example.com http://example.invalid" ]
+
+# Base URL or website root directory to check relative URLs.
+#base = ""
+
+# HTTP basic auth support. This will be the username and password passed to the
+# authorization HTTP header. See
+# ` and `
` blocks as well as Markdown code
+# blocks.
+include_verbatim = false
+
+# Ignore case of paths when matching glob patterns.
+glob_ignore_case = false
+
+# Exclude URLs and mail addresses from checking (supports regex).
+#exclude = [ '.*\.github.com\.*' ]
+# receiving forbidden but valid link, receiving timeout but valid link
+exclude = ['https://devsquad.com/', 'https://twitter.com/caneco', 'https://twitter.com/luanfreitasdev']
+
+# Exclude these filesystem paths from getting checked.
+#exclude_path = ["file/path/to/Ignore", "./other/file/path/to/Ignore"]
+
+# URLs to check (supports regex). Has preference over all excludes.
+#include = [ 'gist\.github\.com.*' ]
+
+# Exclude all private IPs from checking.
+# Equivalent to setting `exclude_private`, `exclude_link_local`, and
+# `exclude_loopback` to true.
+exclude_all_private = false
+
+# Exclude private IP address ranges from checking.
+exclude_private = false
+
+# Exclude link-local IP address range from checking.
+exclude_link_local = false
+
+# Exclude loopback IP address range and localhost from checking.
+exclude_loopback = false
+
+# Exclude all mail addresses from checking.
+exclude_mail = false
diff --git a/.github/workflows/lychee.yml b/.github/workflows/lychee.yml
new file mode 100644
index 00000000..252dc103
--- /dev/null
+++ b/.github/workflows/lychee.yml
@@ -0,0 +1,22 @@
+name: Check for broken Links
+on:
+ pull_request:
+ paths:
+ - '**.md'
+ push:
+ paths:
+ - '**.md'
+
+jobs:
+ linkChecker:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: π Check Links
+ uses: lycheeverse/lychee-action@v1.6.1
+ with:
+ fail: true
+ args: --config .github/lychee.toml './**/*.md'
+ env:
+ GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 4e67a293..c065e405 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -4,13 +4,71 @@
------
-# How to contribute with β‘ PowerGrid β‘
+# PowerGrid Contribution Guide
-Thank you for your interesting in contributing with PowerGrid.
+`π` **Thank you for your interest in contributing to PowerGrid.**
-If you have any questions, do not hesitate to reach the community in the repository [Discussions](https://github.com/Power-Components/livewire-powergrid/discussions) tab.
+Contributions are welcome and appreciated. There are many different ways to contribute to this project.
-## Steps
+## Contribution areas
+
+Here are some ways you can contribute and make an impact on PowerGrid.
+
+- [Community building](#community-building)
+- [Design](#design)
+- [Translation](#translation)
+- [Documentation](#documentation)
+- [Issues and Support](#issues-and-support)
+- [Demo Code](#demo-code)
+- [Code Contribution](#code-contribution)
+
+### Community building
+
+PowerGrid relies on a community of users and contributors. You can help build a stronger community by:
+
+- Participating in the [Discussions](https://github.com/Power-Components/livewire-powergrid/discussions) tab.
+- Write an article, tutorial, or record a YouTube video using PowerGrid.
+- Creating social media posts with PowerGrid content. You can talk about features, updates, and releases.
+- Sharing your code skills by helping newcomers and mentoring other users.
+
+### Design
+
+We try to grow the PowerGrid brand in a professional and impactful way.
+
+We appreciate your help with:
+
+- Creating artwork and improving the package's branding and presentation material.
+- Creating promotional and marketing materials for social media, video, and web content.
+- Providing or improving table components style.
+
+### Translation
+
+- PowerGrid is used by people in different parts of the world. You can help with translation (localization) and help the project better adapt to your community.
+
+### Documentation
+
+To be successful, an open-source project must have high-quality documentation.
+
+We appreciate your help with:
+
+- Try, review, and suggest changes to improve the userβs experience with any PowerGrid documentation content.
+- Maintain the README and CONTRIBUTING guides.
+- Adding, improving, or correcting the documentation directly in the [Power-Components/powergrid-doc](https://github.com/Power-Components/powergrid-doc) repository.
+
+## Demo Code
+
+- You can help by providing new use cases or improving the existing ones directly in the [Power-Components/powergrid-demo-misc](https://github.com/Power-Components/powergrid-demo-misc).
+
+### Issues and Support
+
+You can help the PowerGrid Team and contributors with handling open Issues and support requests.
+
+- Test, reproduce, and validate reported bugs.
+- Answer user questions in the [Issues](https://github.com/Power-Components/livewire-powergrid/issues) and [Discussions](https://github.com/Power-Components/livewire-powergrid/discussions) tabs.
+
+### Code Contribution
+
+ To build and test the code, follow the steps described in this section.
1 .**Fork**
@@ -86,10 +144,16 @@ Please send clean and descriptive commits.
7. **Pull Request**
-Open a Pull Request (PR) and use the template for detailing your changes and motivations. Please make only one change per Pull Request.
+Open a Pull Request (PR) and use the template to detail your changes and motivations. Please make only one change per Pull Request.
-If you never wrote a PR before, see this excellent [example](https://github.com/Power-Components/livewire-powergrid/pull/149) by [@vs0uz4](https://github.com/vs0uz4) for inspiration.
+If you have never written a PR before, see this excellent [example](https://github.com/Power-Components/livewire-powergrid/pull/149) by [@vs0uz4](https://github.com/vs0uz4) for inspiration.
- π Thank you for contributing!
+
+
+If you have any questions, do not hesitate to reach out to the community in the repository [Discussions](https://github.com/Power-Components/livewire-powergrid/discussions) tab.
+
+Thank you,
+
+β‘ The PowerGrid Team and [Contributors](../../contributors)
diff --git a/README.md b/README.md
index 4d5a7880..49552aa2 100644
--- a/README.md
+++ b/README.md
@@ -11,6 +11,7 @@
- -
+## π Demo -Dark mode: -- -
+Explore the Demo showcasing PowerGrid's main features across multiple use cases.Supported by:
+With the support of:
@@ -164,4 +171,4 @@ Created by: [Luan Freitas](https://twitter.com/luanfreitasdev) and [@DanSysAnaly
-Notice of Non-Affiliation and Disclaimer: Livewire PowerGrid is not affiliated, associated, endorsed by, or in any way officially connected with the Laravel Livewire - copyright by Caleb Porzio.
+Notice of Non-Affiliation and Disclaimer: Livewire PowerGrid is not affiliated with, associated with, endorsed by, or in any way officially connected with the Laravel Livewire - copyright by Caleb Porzio.