-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add GitHub workflows for YAML consolidation and validation, along with schema definition * Add Massa Explorer configuration to YAML file * Attempt to fix schema * Attempt to fix schema * Update README * Enhance README with detailed category descriptions for website classification
- Loading branch information
1 parent
f0fe2fa
commit b0ac43e
Showing
5 changed files
with
163 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: Consolidate YAML Files | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
consolidate_yaml: | ||
runs-on: ubuntu-22.04 | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
|
||
- name: Consolidate YAML files | ||
uses: mikefarah/yq@v4 | ||
with: | ||
cmd: yq eval-all '. as $item ireduce ([]; . + [$item])' websites/*.yaml > websites.yaml | ||
|
||
- name: Upload websites.yaml as artifact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
path: websites.yaml | ||
|
||
- name: Commit and push consolidated file | ||
if: github.ref == 'refs/heads/main' | ||
uses: stefanzweifel/git-auto-commit-action@v5 | ||
with: | ||
commit_message: "Auto-update websites.yaml" | ||
file_pattern: websites.yaml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
name: Validate websites YAMLs | ||
|
||
on: | ||
pull_request: | ||
paths: | ||
- 'websites/**/*.yaml' | ||
|
||
jobs: | ||
validate_yaml: | ||
runs-on: ubuntu-22.04 | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install Yamale | ||
run: | | ||
pip install yamale | ||
- name: Validate YAML against schema | ||
run: | | ||
for file in websites/*.yaml; do | ||
yamale -s schema.yaml "$file" || exit 1 | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,83 @@ | ||
# Deweb-Websites | ||
List of Websites hosted on DeWeb | ||
# Deweb Websites | ||
|
||
This GitHub repository is a collection of DeWeb websites that can be used by people and tools to help users access websites stored on the Massa Blockchain. For more information about DeWeb, please visit the [Massa DeWeb Documentation](https://docs.massa.net/docs/deweb/home). | ||
|
||
## Adding a Website | ||
|
||
To add your DeWeb website to this repository, please follow these steps: | ||
|
||
1. Create a new YAML file in the `websites` directory. | ||
2. Name the file to match your website's name. | ||
3. Ensure the file follows the format specified in `schema.yaml`. | ||
4. Submit a pull request with your new file. | ||
5. The pull request will be tested by the CI pipeline to ensure it is valid. | ||
6. If your pull request is valid, it will be reviewed by the Massa team and merged. | ||
|
||
### Example Website File | ||
|
||
Here is an example of a website file: | ||
|
||
```yaml | ||
title: "Massa Explorer" | ||
mns: "explorer.massa" | ||
desc: "Official Massa blockchain explorer." | ||
owner: "Massa Team" | ||
contact: | ||
email: "[email protected]" | ||
category: | ||
- "Official" | ||
- "Infrastructure" | ||
``` | ||
You can also take example on the existing websites in the | ||
websites | ||
directory. | ||
### Valid Contact Information | ||
A valid contact is required in the website file. The contact information can include an email, Discord, or Telegram handle. Here is the format for the contact section: | ||
```yaml | ||
contact: | ||
email: "[email protected]" | ||
discord: "username" | ||
telegram: "@username" | ||
``` | ||
You must include at least one of the contact options in your website file. | ||
### Categories | ||
Each website must have at least one category from the list of available categories. Here are the available categories with descriptions: | ||
| Category | Description | | ||
|----------------|-----------------------------------------------------------------------------| | ||
| `Official` | Massa Official websites (e.g., Explorer, MNS, etc.) | | ||
| `Massa` | Massa related websites (e.g., Massa specific explorers, Massa specific tools, etc.) | | ||
| `DeFi` | Decentralized Finance platforms (e.g., DEXs, lending protocols) | | ||
| `NFT` | Non-Fungible Token platforms (e.g., marketplaces, galleries) | | ||
| `GameFi` | Blockchain-based games and play-to-earn platforms | | ||
| `Governance` | Decentralized Autonomous Organizations | | ||
| `Social` | Social platforms or media (e.g., Twitter/Facebook clones) | | ||
| `Art` | Art-related platforms (e.g., digital art galleries) | | ||
| `Tool` | General-purpose tools (e.g., wallets, explorers, or utilities) | | ||
| `E-Commerce` | Platforms for decentralized online shopping | | ||
| `Infrastructure`| Blockchain infrastructure (e.g., nodes, APIs, oracles) | | ||
| `Education` | Platforms for blockchain/web3 education | | ||
| `Media` | News, blogs, and content platforms related to web3 | | ||
| `Protocol` | Blockchain or layer-specific protocols | | ||
| `Aggregator` | Aggregators (e.g., price tracking, DeFi aggregators) | | ||
| `Marketplace` | General marketplaces (not specific to NFTs) | | ||
| `Analytics` | Tools for blockchain data analysis or visualization | | ||
| `Community` | Community-oriented platforms (forums, chat rooms, etc.) | | ||
| `Identity` | Platforms for decentralized identity and verification | | ||
| `Other` | Catch-all for platforms that don't fit into the above | | ||
|
||
Make sure to include at least one of these categories in your website file. | ||
|
||
## Accessing the Full List of Websites | ||
Developers can access the full list of websites using the raw file available at the following URL: | ||
|
||
https://github.com/massalabs/Deweb-Providers/raw/refs/heads/main/websites.yaml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
title: str(required=True) | ||
mns: str(required=True, regex='^(?!-)[a-z0-9-]{2,100}\\.massa$') | ||
desc: str(required=True) | ||
owner: str(required=True) | ||
contact: map(required=True) | ||
contact: | ||
email: str(required=False, regex='^[\\w\\.-]+@[\\w\\.-]+\\.[a-zA-Z]{2,}$') | ||
discord: str(required=False, regex='^[a-zA-Z0-9._-]{2,32}$') # Updated regex | ||
telegram: str(required=False, regex='^@\\w{5,32}$') | ||
category: list(enum('Official', 'Massa', 'DeFi', 'NFT', 'GameFi', 'Governance', | ||
'Social', 'Art', 'Tool', 'E-Commerce', 'Infrastructure', | ||
'Education', 'Media', 'Protocol', 'Aggregator', 'Marketplace', | ||
'Analytics', 'Community', 'Identity', 'Other'), required=True, min=1, max=5) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
title: "Massa Explorer" | ||
mns: "explorer.massa" | ||
desc: "Official Massa blockchain explorer." | ||
owner: "Massa Team" | ||
contact: | ||
email: "[email protected]" | ||
category: | ||
- "Official" | ||
- "Infrastructure" |