mirror of
https://github.com/Snigdha-OS/Snigdha-OS.github.io.git
synced 2025-09-07 13:15:17 +02:00
Compare commits
12 Commits
90f0809697
...
0baeb57cdd
Author | SHA1 | Date | |
---|---|---|---|
![]() |
0baeb57cdd | ||
![]() |
340545c708 | ||
![]() |
ffab675b39 | ||
![]() |
11e5f53b2b | ||
![]() |
591db54a99 | ||
![]() |
2a35172f8d | ||
![]() |
14f89ed2c2 | ||
![]() |
73a21163fc | ||
![]() |
ed3ad3025b | ||
![]() |
d23735ae75 | ||
![]() |
b2759b3222 | ||
![]() |
9d53b218aa |
38
.github/workflows/cz.yml
vendored
Normal file
38
.github/workflows/cz.yml
vendored
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
name: Check Conventional Commit
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check-commit-message:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Check Conventional Commit
|
||||||
|
run: |
|
||||||
|
# Define the conventional commit types with emojis
|
||||||
|
TYPES=("🚀 feat" "🐛 fix" "📝 docs" "✨ style" "🛠 refactor" "⚡️ perf" "🔬 test" "🔧 build" "🤖 ci" "🧹 chore" "⏪ revert")
|
||||||
|
|
||||||
|
# Extract the commit type and emoji from the commit message
|
||||||
|
COMMIT_MSG=$(git log --format=%B -n 1)
|
||||||
|
for type in "${TYPES[@]}"; do
|
||||||
|
type_emoji=${type}
|
||||||
|
type=${type_emoji#* }
|
||||||
|
emoji=${type_emoji% *}
|
||||||
|
if [[ $COMMIT_MSG == $emoji* ]]; then
|
||||||
|
echo "Commit message is a conventional commit"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# If we reach here, the commit message is not a conventional commit
|
||||||
|
echo "Commit message is not a conventional commit"
|
||||||
|
exit 1
|
@@ -1,27 +1,27 @@
|
|||||||
# Contributing to Snigdha OS Web Dev 🌐
|
# Contributing to Snigdha OS Web 🌐
|
||||||
|
|
||||||
Thank you for your interest in contributing to the Snigdha OS Web Dev project! We're excited to have you help us improve the web presence of Snigdha OS. Whether you're fixing a bug, adding a feature, or improving the documentation, your contributions are highly valued.
|
Thank you for your interest in contributing to the **Snigdha OS Web** project! We’re excited to have you help us enhance the web presence of Snigdha OS. Whether you're fixing bugs, adding features, or improving documentation, your contributions are highly appreciated!
|
||||||
|
|
||||||
## 🛠 How to Contribute
|
## 🛠 How to Contribute
|
||||||
|
|
||||||
### 1. **Fork the Repository** 🍴
|
### 1. **Fork the Repository** 🍴
|
||||||
|
|
||||||
Start by forking the Snigdha OS Web Dev repository to your own GitHub account. This creates a personal copy of the project where you can make changes without affecting the original project.
|
To begin, fork the Snigdha OS Web repository to your GitHub account. This creates your personal copy of the project, where you can freely make changes without affecting the original repository.
|
||||||
|
|
||||||
- Navigate to the [Snigdha OS Web Dev repository](https://github.com/Snigdha-OS/snigdhaos-web-dev).
|
- Navigate to the [Snigdha OS Web repository](https://github.com/Snigdha-OS/Snigdha-OS.github.io).
|
||||||
- Click on the "Fork" button at the top right of the page.
|
- Click the "Fork" button at the top right corner of the page.
|
||||||
|
|
||||||
### 2. **Clone Your Fork** 🚀
|
### 2. **Clone Your Fork** 🚀
|
||||||
|
|
||||||
Clone the forked repository to your local machine:
|
Next, clone the forked repository to your local machine:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/your-username/snigdhaos-web-dev.git
|
git clone https://github.com/your-username/Snigdha-OS.github.io.git
|
||||||
```
|
```
|
||||||
|
|
||||||
### 3. **Create a New Branch** 🧑💻
|
### 3. **Create a New Branch** 🧑💻
|
||||||
|
|
||||||
Once you have the repository cloned, create a new branch for your work. This helps keep your contributions organized.
|
Before you start making changes, create a new branch to keep your work organized and separate from the main codebase.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git checkout -b feature/your-branch-name
|
git checkout -b feature/your-branch-name
|
||||||
@@ -29,14 +29,15 @@ git checkout -b feature/your-branch-name
|
|||||||
|
|
||||||
### 4. **Make Your Changes** ✏️
|
### 4. **Make Your Changes** ✏️
|
||||||
|
|
||||||
Now you can make changes! Whether you're fixing a bug, adding a feature, or improving documentation, make sure to follow the guidelines for code style and project structure.
|
Now you’re ready to make changes! Whether you're fixing bugs, adding a new feature, or improving documentation, follow these guidelines:
|
||||||
|
|
||||||
- **For Code**: Ensure that your code follows the project's coding standards and is well-documented.
|
- **For Code**: Ensure your code follows the project's coding standards and is well-commented.
|
||||||
- **For Documentation**: Follow the formatting guidelines and be clear with your explanations.
|
- **For Documentation**: Use the correct formatting and provide clear, concise explanations.
|
||||||
|
- **For Styles/Design**: Make sure any design improvements align with the project's visual identity.
|
||||||
|
|
||||||
### 5. **Commit Your Changes** 💾
|
### 5. **Commit Your Changes** 💾
|
||||||
|
|
||||||
Commit your changes with a clear and descriptive message.
|
Commit your changes with a clear, descriptive message that explains what you've done.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git add .
|
git add .
|
||||||
@@ -45,7 +46,7 @@ git commit -m "Add/modify [brief description of changes]"
|
|||||||
|
|
||||||
### 6. **Push Your Changes** 🔼
|
### 6. **Push Your Changes** 🔼
|
||||||
|
|
||||||
Push your branch to your forked repository:
|
Push your new branch with your changes to your forked repository:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git push origin feature/your-branch-name
|
git push origin feature/your-branch-name
|
||||||
@@ -53,58 +54,58 @@ git push origin feature/your-branch-name
|
|||||||
|
|
||||||
### 7. **Open a Pull Request (PR)** 🔄
|
### 7. **Open a Pull Request (PR)** 🔄
|
||||||
|
|
||||||
Once your changes are ready, open a pull request to merge your work back into the original repository.
|
Once you’ve made your changes and pushed them to your fork, open a pull request (PR) to merge them back into the original repository.
|
||||||
|
|
||||||
- Go to your fork on GitHub and click the "New Pull Request" button.
|
- Go to your fork on GitHub and click the “New Pull Request” button.
|
||||||
- Select your branch and the base branch (usually `master` or `develop`).
|
- Choose your branch and compare it with the base branch (usually `master` or `develop`).
|
||||||
- Provide a clear description of the changes in the PR, explaining the problem it solves or the feature it adds.
|
- Write a detailed description of your changes and the issue they address (if any).
|
||||||
|
|
||||||
### 8. **Address Feedback** 💬
|
### 8. **Address Feedback** 💬
|
||||||
|
|
||||||
After opening the PR, maintainers may review your changes and provide feedback. Be prepared to make additional changes based on their suggestions.
|
After opening the PR, the maintainers will review your changes and may provide feedback. Be ready to make further updates based on their suggestions.
|
||||||
|
|
||||||
### 9. **Celebrate** 🎉
|
### 9. **Celebrate!** 🎉
|
||||||
|
|
||||||
Once your pull request is merged, celebrate! You've just contributed to Snigdha OS Web Dev and made the web experience better for everyone!
|
|
||||||
|
|
||||||
|
Once your PR is merged, congratulations! You've contributed to Snigdha OS Web and made the web experience better for everyone.
|
||||||
|
|
||||||
|
Snigdha OS Web
|
||||||
|
|
||||||
## 📝 Code of Conduct
|
## 📝 Code of Conduct
|
||||||
|
|
||||||
Please follow the [Snigdha OS Code of Conduct](https://github.com/Snigdha-OS/snigdhaos-web-dev/blob/master/CODE_OF_CONDUCT.md) when contributing to this repository. We want to foster a welcoming and inclusive environment for all contributors.
|
Please adhere to the [Snigdha OS Code of Conduct](https://github.com/Snigdha-OS/Snigdha-OS.github.io/blob/master/CODE_OF_CONDUCT.md) when contributing to this repository. We strive to maintain a welcoming and inclusive environment for all contributors.
|
||||||
|
|
||||||
|
|
||||||
|
Snigdha OS Web
|
||||||
|
|
||||||
## 🚨 Reporting Issues
|
## 🚨 Reporting Issues
|
||||||
|
|
||||||
If you find any issues or bugs, please follow the steps below to report them:
|
If you encounter any issues or bugs, please follow the steps below to report them:
|
||||||
|
|
||||||
1. Check if the issue has already been reported.
|
|
||||||
2. If not, open an issue in the [Issues section](https://github.com/Snigdha-OS/snigdhaos-web-dev/issues).
|
|
||||||
3. Provide as much detail as possible:
|
|
||||||
- Describe the issue clearly.
|
|
||||||
- Include steps to reproduce the issue.
|
|
||||||
- If possible, attach logs or screenshots.
|
|
||||||
|
|
||||||
|
1. **Search for Existing Issues**: Check if the issue has already been reported before opening a new one.
|
||||||
|
2. **Open a New Issue**: If the issue hasn’t been reported, go to the [Issues section](https://github.com/Snigdha-OS/Snigdha-OS.github.io/issues) and create a new issue.
|
||||||
|
3. **Provide Detailed Information**: Include as much detail as possible:
|
||||||
|
- A clear description of the issue.
|
||||||
|
- Steps to reproduce the issue.
|
||||||
|
- Any relevant logs or screenshots that can help maintainers understand the problem.
|
||||||
|
|
||||||
|
Snigdha OS Web
|
||||||
|
|
||||||
## 💡 Ideas for Contribution
|
## 💡 Ideas for Contribution
|
||||||
|
|
||||||
You can contribute in various ways:
|
There are many ways you can contribute to the Snigdha OS Web project:
|
||||||
|
|
||||||
- **Bug Fixes**: Help us by identifying and fixing issues in the web app.
|
|
||||||
- **Feature Requests**: Have an idea for a new feature? Open an issue or a pull request!
|
|
||||||
- **Documentation**: Contribute to improving the documentation by clarifying instructions or adding new information.
|
|
||||||
- **Styling/Design**: Help us make the website look better by improving the UI and UX.
|
|
||||||
|
|
||||||
|
- **Bug Fixes**: Help us identify and resolve bugs in the web app.
|
||||||
|
- **New Features**: Got an idea for a new feature? Feel free to open an issue or submit a PR!
|
||||||
|
- **Documentation Improvements**: Enhance the documentation by clarifying instructions, adding examples, or updating outdated content.
|
||||||
|
- **UI/UX Improvements**: Contribute to making the website visually appealing and easy to use by improving its design.
|
||||||
|
|
||||||
|
Snigdha OS Web
|
||||||
|
|
||||||
## 📜 License
|
## 📜 License
|
||||||
|
|
||||||
By contributing, you agree that your contributions will be licensed under the [MIT License](https://github.com/Snigdha-OS/snigdhaos-web-dev/blob/master/LICENSE).
|
By contributing to this repository, you agree that your contributions will be licensed under the [MIT License](https://github.com/Snigdha-OS/Snigdha-OS.github.io/blob/master/LICENSE).
|
||||||
|
|
||||||
|
|
||||||
|
Snigdha OS Web
|
||||||
|
|
||||||
## 🤝 Thank You!
|
## 🤝 Thank You!
|
||||||
|
|
||||||
Thank you for being a part of the Snigdha OS Web Dev community! Every contribution helps us make Snigdha OS better for everyone. We look forward to your contributions!
|
Thank you for being a part of the Snigdha OS Web community! Every contribution, no matter how big or small, helps make Snigdha OS better for everyone. We look forward to your contributions!
|
||||||
|
@@ -32,6 +32,8 @@
|
|||||||
<!-- Canonical Link to prevent duplicate content issues -->
|
<!-- Canonical Link to prevent duplicate content issues -->
|
||||||
<link rel="canonical" href="https://snigdha-os.github.io/" />
|
<link rel="canonical" href="https://snigdha-os.github.io/" />
|
||||||
|
|
||||||
|
<link rel="sitemap" type="application/xml" href="/sitemap.xml" />
|
||||||
|
|
||||||
<!-- Structured Data: JSON-LD for better understanding of page content -->
|
<!-- Structured Data: JSON-LD for better understanding of page content -->
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
|
@@ -25,7 +25,7 @@
|
|||||||
"validate": "npm run lint && npm run type-check && npm run test"
|
"validate": "npm run lint && npm run type-check && npm run test"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tanstack/react-query": "^5.63.0",
|
"@tanstack/react-query": "^5.64.0",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"framer-motion": "^11.17.0",
|
"framer-motion": "^11.17.0",
|
||||||
"lucide-react": "^0.344.0",
|
"lucide-react": "^0.344.0",
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
"autoprefixer": "^10.4.20",
|
"autoprefixer": "^10.4.20",
|
||||||
"eslint": "^9.18.0",
|
"eslint": "^9.18.0",
|
||||||
"eslint-plugin-react-hooks": "^5.1.0",
|
"eslint-plugin-react-hooks": "^5.1.0",
|
||||||
"eslint-plugin-react-refresh": "^0.4.16",
|
"eslint-plugin-react-refresh": "^0.4.18",
|
||||||
"gh-pages": "^6.3.0",
|
"gh-pages": "^6.3.0",
|
||||||
"globals": "^15.14.0",
|
"globals": "^15.14.0",
|
||||||
"husky": "^8.0.3",
|
"husky": "^8.0.3",
|
||||||
|
28
pnpm-lock.yaml
generated
28
pnpm-lock.yaml
generated
@@ -9,8 +9,8 @@ importers:
|
|||||||
.:
|
.:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tanstack/react-query':
|
'@tanstack/react-query':
|
||||||
specifier: ^5.63.0
|
specifier: ^5.64.0
|
||||||
version: 5.63.0(react@18.3.1)
|
version: 5.64.0(react@18.3.1)
|
||||||
clsx:
|
clsx:
|
||||||
specifier: ^2.1.1
|
specifier: ^2.1.1
|
||||||
version: 2.1.1
|
version: 2.1.1
|
||||||
@@ -61,8 +61,8 @@ importers:
|
|||||||
specifier: ^5.1.0
|
specifier: ^5.1.0
|
||||||
version: 5.1.0(eslint@9.18.0(jiti@1.21.7))
|
version: 5.1.0(eslint@9.18.0(jiti@1.21.7))
|
||||||
eslint-plugin-react-refresh:
|
eslint-plugin-react-refresh:
|
||||||
specifier: ^0.4.16
|
specifier: ^0.4.18
|
||||||
version: 0.4.16(eslint@9.18.0(jiti@1.21.7))
|
version: 0.4.18(eslint@9.18.0(jiti@1.21.7))
|
||||||
gh-pages:
|
gh-pages:
|
||||||
specifier: ^6.3.0
|
specifier: ^6.3.0
|
||||||
version: 6.3.0
|
version: 6.3.0
|
||||||
@@ -954,11 +954,11 @@ packages:
|
|||||||
'@sinonjs/fake-timers@10.3.0':
|
'@sinonjs/fake-timers@10.3.0':
|
||||||
resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==}
|
resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==}
|
||||||
|
|
||||||
'@tanstack/query-core@5.62.16':
|
'@tanstack/query-core@5.64.0':
|
||||||
resolution: {integrity: sha512-9Sgft7Qavcd+sN0V25xVyo0nfmcZXBuODy3FVG7BMWTg1HMLm8wwG5tNlLlmSic1u7l1v786oavn+STiFaPH2g==}
|
resolution: {integrity: sha512-/MPJt/AaaMzdWJZTafgMyYhEX/lGjQrNz8+NDQSk8fNoU5PHqh05FhQaBrEQafW2PeBHsRbefEf//qKMiSAbQQ==}
|
||||||
|
|
||||||
'@tanstack/react-query@5.63.0':
|
'@tanstack/react-query@5.64.0':
|
||||||
resolution: {integrity: sha512-QWizLzSiog8xqIRYmuJRok9VELlXVBAwtINgVCgW1SNvamQwWDO5R0XFSkjoBEj53x9Of1KAthLRBUC5xmtVLQ==}
|
resolution: {integrity: sha512-tBMzlROROUcTDMpDt1NC3n9ndKnJHPB3RCpa6Bf9f31TFvqhLz879x8jldtKU+6IwMSw1Pn4K1AKA+2SYyA6TA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18 || ^19
|
react: ^18 || ^19
|
||||||
|
|
||||||
@@ -1394,8 +1394,8 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
|
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
|
||||||
|
|
||||||
eslint-plugin-react-refresh@0.4.16:
|
eslint-plugin-react-refresh@0.4.18:
|
||||||
resolution: {integrity: sha512-slterMlxAhov/DZO8NScf6mEeMBBXodFUolijDvrtTxyezyLoTQaa73FyYus/VbTdftd8wBgBxPMRk3poleXNQ==}
|
resolution: {integrity: sha512-IRGEoFn3OKalm3hjfolEWGqoF/jPqeEYFp+C8B0WMzwGwBMvlRDQd06kghDhF0C61uJ6WfSDhEZE/sAQjduKgw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: '>=8.40'
|
eslint: '>=8.40'
|
||||||
|
|
||||||
@@ -3562,11 +3562,11 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@sinonjs/commons': 3.0.1
|
'@sinonjs/commons': 3.0.1
|
||||||
|
|
||||||
'@tanstack/query-core@5.62.16': {}
|
'@tanstack/query-core@5.64.0': {}
|
||||||
|
|
||||||
'@tanstack/react-query@5.63.0(react@18.3.1)':
|
'@tanstack/react-query@5.64.0(react@18.3.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tanstack/query-core': 5.62.16
|
'@tanstack/query-core': 5.64.0
|
||||||
react: 18.3.1
|
react: 18.3.1
|
||||||
|
|
||||||
'@types/babel__core@7.20.5':
|
'@types/babel__core@7.20.5':
|
||||||
@@ -4042,7 +4042,7 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
eslint: 9.18.0(jiti@1.21.7)
|
eslint: 9.18.0(jiti@1.21.7)
|
||||||
|
|
||||||
eslint-plugin-react-refresh@0.4.16(eslint@9.18.0(jiti@1.21.7)):
|
eslint-plugin-react-refresh@0.4.18(eslint@9.18.0(jiti@1.21.7)):
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 9.18.0(jiti@1.21.7)
|
eslint: 9.18.0(jiti@1.21.7)
|
||||||
|
|
||||||
|
57
push.sh
57
push.sh
@@ -6,77 +6,72 @@
|
|||||||
# Define the conventional commit types with new emojis
|
# Define the conventional commit types with new emojis
|
||||||
TYPES=("🚀 feat" "🐛 fix" "📝 docs" "✨ style" "🛠 refactor" "⚡️ perf" "🔬 test" "🔧 build" "🤖 ci" "🧹 chore" "⏪ revert")
|
TYPES=("🚀 feat" "🐛 fix" "📝 docs" "✨ style" "🛠 refactor" "⚡️ perf" "🔬 test" "🔧 build" "🤖 ci" "🧹 chore" "⏪ revert")
|
||||||
|
|
||||||
# Function to display an error and exit
|
# Function to display an error and exit and
|
||||||
error_exit() {
|
error_exit() {
|
||||||
echo -e "\033[1;31m[ERROR]\033[0m $1" # Prints the error message in red color
|
echo -e "\033[1;31m[ERROR]\033[0m $1"
|
||||||
exit 1 # Exits the script with a non-zero status
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# Ensure the script is run in a Git repository
|
# Ensure the script is run in a Git repository
|
||||||
git rev-parse --is-inside-work-tree > /dev/null 2>&1 || error_exit "This is not a Git repository."
|
git rev-parse --is-inside-work-tree > /dev/null 2>&1 || error_exit "This is not a Git repository."
|
||||||
|
|
||||||
# Get the current branch name using Git
|
# Get the current branch name
|
||||||
branch=$(git rev-parse --abbrev-ref HEAD)
|
branch=$(git rev-parse --abbrev-ref HEAD)
|
||||||
|
|
||||||
# Pull the latest changes from the remote repository to stay up-to-date
|
# Pull the latest changes from the remote repository
|
||||||
echo "Pulling latest changes from remote branch '$branch'..."
|
echo "Pulling latest changes from remote branch '$branch'..."
|
||||||
git pull origin "$branch" || error_exit "Failed to pull changes from the remote repository. Please resolve any conflicts manually."
|
git pull origin "$branch" || error_exit "Failed to pull changes from the remote repository. Please resolve any conflicts manually."
|
||||||
|
|
||||||
# Check if there are any changes to commit (both staged and unstaged)
|
# Prompt the user to select a commit type
|
||||||
if git diff --quiet && git diff --cached --quiet; then
|
|
||||||
error_exit "No changes detected to commit." # If no changes, exit the script
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Prompt the user to select a commit type from the predefined list of types
|
|
||||||
echo "Select a commit type:"
|
echo "Select a commit type:"
|
||||||
select type in "${TYPES[@]}"; do
|
select type in "${TYPES[@]}"; do
|
||||||
if [[ -n "$type" ]]; then # If a valid selection is made, break the loop
|
if [[ -n "$type" ]]; then
|
||||||
break
|
break
|
||||||
else
|
else
|
||||||
echo "Invalid selection. Please try again." # If invalid, prompt again
|
echo "Invalid selection. Please try again."
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Extract the commit type (e.g., "feat") and emoji (e.g., "🚀") from the selected type
|
# Extract the commit type and emoji from the selection
|
||||||
type_emoji=${type} # The full emoji and type (e.g., "🚀 feat")
|
type_emoji=${type}
|
||||||
type=${type_emoji#* } # Extract the commit type (e.g., "feat") by removing the emoji
|
type=${type_emoji#* }
|
||||||
emoji=${type_emoji% *} # Extract the emoji (e.g., "🚀") by removing the type
|
emoji=${type_emoji% *}
|
||||||
|
|
||||||
# Prompt the user to enter a short description for the commit
|
# Prompt the user to enter a short description
|
||||||
read -p "Enter a short description: " desc
|
read -p "Enter a short description: " desc
|
||||||
if [ -z "$desc" ]; then # If the description is empty, exit with an error
|
if [ -z "$desc" ]; then
|
||||||
error_exit "A short description is required!"
|
error_exit "A short description is required!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Prompt the user to enter a longer description (optional)
|
# Prompt the user to enter a longer description (optional)
|
||||||
read -p "Enter a longer description (optional): " long_desc
|
read -p "Enter a longer description (optional): " long_desc
|
||||||
|
|
||||||
# Create the commit message using the emoji, type, and description
|
# Create the commit message
|
||||||
commit_msg="$emoji $type: $desc"
|
commit_msg="$emoji $type: $desc"
|
||||||
|
|
||||||
# If the user provided a longer description, append it to the commit message
|
# If a longer description was provided, add it to the commit message
|
||||||
if [ -n "$long_desc" ]; then
|
if [ -n "$long_desc" ]; then
|
||||||
commit_msg+="\n\n$long_desc" # Adds the longer description to the commit message
|
commit_msg+="\n\n$long_desc"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Print the commit message to the console for review
|
# Print the commit message to the console
|
||||||
echo -e "\nCommit message:"
|
echo -e "\nCommit message:"
|
||||||
echo -e "\033[1;36m$commit_msg\033[0m" # Prints the commit message in cyan color
|
echo -e "\033[1;36m$commit_msg\033[0m"
|
||||||
|
|
||||||
# Stage all changes for commit
|
# Stage all changes
|
||||||
git add .
|
git add .
|
||||||
|
|
||||||
# Commit the changes with the constructed commit message
|
# Commit the changes with the conventional commit message
|
||||||
if git commit -m "$commit_msg"; then
|
if git commit -m "$commit_msg"; then
|
||||||
echo -e "\033[1;32mCommit successful!\033[0m" # If commit is successful, print success message in green
|
echo -e "\033[1;32mCommit successful!\033[0m"
|
||||||
else
|
else
|
||||||
error_exit "Commit failed. Please check your changes and try again." # If commit fails, show error and exit
|
error_exit "Commit failed."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Push the changes to the remote repository
|
# Push the changes to the remote repository
|
||||||
echo "Pushing changes to remote branch '$branch'..."
|
echo "Pushing changes to remote branch '$branch'..."
|
||||||
if git push origin "$branch"; then
|
if git push origin "$branch"; then
|
||||||
echo -e "\033[1;32mChanges pushed to remote branch '$branch'.\033[0m" # If push is successful, print success message in green
|
echo -e "\033[1;32mChanges pushed to remote branch '$branch'.\033[0m"
|
||||||
else
|
else
|
||||||
error_exit "Push failed. Please check your connection or branch permissions." # If push fails, show error and exit
|
error_exit "Push failed. Please check your connection or branch permissions."
|
||||||
fi
|
fi
|
@@ -11,33 +11,34 @@ interface ContributorCardProps {
|
|||||||
export function ContributorCard({ login, avatarUrl, contributions, profileUrl }: ContributorCardProps) {
|
export function ContributorCard({ login, avatarUrl, contributions, profileUrl }: ContributorCardProps) {
|
||||||
return (
|
return (
|
||||||
<motion.div
|
<motion.div
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5, scale: 1.02 }}
|
||||||
className="bg-white/80 backdrop-blur-sm p-6 rounded-lg border border-gray-200"
|
whileTap={{ scale: 0.98 }}
|
||||||
|
className="bg-white/80 backdrop-blur-sm p-6 rounded-lg border border-gray-200 shadow-md w-72 h-48 transition-all flex flex-col justify-between"
|
||||||
>
|
>
|
||||||
<div className="flex items-center gap-4">
|
<div className="flex items-center gap-4">
|
||||||
<img
|
<img
|
||||||
src={avatarUrl}
|
src={avatarUrl}
|
||||||
alt={`${login}'s avatar`}
|
alt={`${login}'s avatar`}
|
||||||
className="w-24 h-24 rounded-full"
|
className="w-20 h-20 rounded-full object-cover"
|
||||||
/>
|
/>
|
||||||
<div>
|
<div>
|
||||||
<h3 className="font-semibold text-gray-900">{login}</h3>
|
<h3 className="font-semibold text-gray-900 text-lg truncate">{login}</h3>
|
||||||
<div className="flex items-center gap-2 text-sm text-gray-600">
|
<div className="flex items-center gap-2 text-sm text-gray-600">
|
||||||
<GitCommit className="h-4 w-4" />
|
<GitCommit className="h-4 w-4" />
|
||||||
<span>{contributions} contributions</span>
|
<span>{contributions} contributions</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<motion.a
|
||||||
<a
|
|
||||||
href={profileUrl}
|
href={profileUrl}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
className="mt-4 flex items-center gap-2 text-sm text-cornflower-blue hover:underline"
|
whileHover={{ x: 5 }}
|
||||||
|
className="mt-4 flex items-center gap-2 text-sm text-blue-600 hover:underline"
|
||||||
>
|
>
|
||||||
<Github className="h-4 w-4" />
|
<Github className="h-4 w-4" />
|
||||||
View Profile
|
View Profile
|
||||||
</a>
|
</motion.a>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
import { motion } from 'framer-motion';
|
import { motion } from 'framer-motion';
|
||||||
import { MapPin, Users, Book } from 'lucide-react';
|
import { MapPin, Users, Book, Github } from 'lucide-react'; // Added Github icon
|
||||||
import type { GithubUser } from '../../lib/github';
|
import type { GithubUser } from '../../lib/github';
|
||||||
|
|
||||||
interface TeamMemberCardProps {
|
interface TeamMemberCardProps {
|
||||||
user: GithubUser ;
|
user: GithubUser;
|
||||||
role: string;
|
role: string;
|
||||||
description: string;
|
description: string;
|
||||||
}
|
}
|
||||||
@@ -13,7 +13,7 @@ export function TeamMemberCard({ user, role, description }: TeamMemberCardProps)
|
|||||||
<motion.div
|
<motion.div
|
||||||
whileHover={{ scale: 1.05 }}
|
whileHover={{ scale: 1.05 }}
|
||||||
transition={{ type: 'spring', stiffness: 300 }}
|
transition={{ type: 'spring', stiffness: 300 }}
|
||||||
className="bg-white shadow-lg rounded-lg p-6 border border-gray-200 flex flex-col justify-between"
|
className="bg-gradient-to-r from-white to-blue-50 shadow-lg rounded-lg p-6 border border-gray-200 flex flex-col justify-between"
|
||||||
>
|
>
|
||||||
<div className="flex items-start gap-4">
|
<div className="flex items-start gap-4">
|
||||||
<img
|
<img
|
||||||
@@ -52,8 +52,9 @@ export function TeamMemberCard({ user, role, description }: TeamMemberCardProps)
|
|||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
className="mt-4 inline-flex items-center text-sm text-cornflower-blue hover:underline transition-colors duration-200"
|
className="mt-4 inline-flex items-center text-sm text-cornflower-blue hover:underline transition-colors duration-200"
|
||||||
>
|
>
|
||||||
|
<Github className="h-4 w-4 mr-2" /> {/* Added spacing after the icon */}
|
||||||
View GitHub Profile →
|
View GitHub Profile →
|
||||||
</a>
|
</a>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@@ -12,7 +12,7 @@ export const teamMembers = [
|
|||||||
{
|
{
|
||||||
username: 'XlebyllleK',
|
username: 'XlebyllleK',
|
||||||
role: 'Key Developer',
|
role: 'Key Developer',
|
||||||
description: 'Leads Web Infrastructures and Package Builds.',
|
description: 'Plays a pivotal role in core development, focusing on innovative solutions and system optimizations to enhance functionality.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
username: 'iconized',
|
username: 'iconized',
|
||||||
|
@@ -13,5 +13,10 @@ export const testimonials = [
|
|||||||
content: "साइबर सुरक्षा के क्षेत्र में शुरुआती और पेशेवर दोनों के लिए आदर्श। व्यापक दस्तावेज़ीकरण एक बेहतरीन संसाधन है।",
|
content: "साइबर सुरक्षा के क्षेत्र में शुरुआती और पेशेवर दोनों के लिए आदर्श। व्यापक दस्तावेज़ीकरण एक बेहतरीन संसाधन है।",
|
||||||
author: "विक्रम अय्यर",
|
author: "विक्रम अय्यर",
|
||||||
role: "साइबर सुरक्षा सलाहकार"
|
role: "साइबर सुरक्षा सलाहकार"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
content: "স্নিগ্ধা ওএস আমাদের সাইবার নিরাপত্তার কাজে বিপ্লব এনেছে। এর সহজ ইন্টারফেস এবং শক্তিশালী টুলগুলি অসাধারণ।",
|
||||||
|
author: "সুব্রত ঘোষ",
|
||||||
|
role: "সাইবার নিরাপত্তা বিশেষজ্ঞ"
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
@@ -3,39 +3,59 @@ import react from '@vitejs/plugin-react';
|
|||||||
import { resolve } from 'path';
|
import { resolve } from 'path';
|
||||||
import ViteSitemap from 'vite-plugin-sitemap';
|
import ViteSitemap from 'vite-plugin-sitemap';
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig(({ mode }) => {
|
||||||
plugins: [
|
const isProduction = mode === 'production';
|
||||||
react(),
|
|
||||||
ViteSitemap({
|
return {
|
||||||
hostname: 'https://www.snigdhaos.org',
|
plugins: [
|
||||||
outDir: './dist',
|
react(),
|
||||||
changefreq: 'daily',
|
ViteSitemap({
|
||||||
priority: 0.7,
|
hostname: process.env.VITE_SITE_URL || 'https://www.snigdhaos.org',
|
||||||
// lastmod: true,
|
outDir: './dist',
|
||||||
}),
|
changefreq: 'daily',
|
||||||
],
|
priority: 0.7,
|
||||||
resolve: {
|
}),
|
||||||
alias: {
|
],
|
||||||
'@': resolve(__dirname, './src'),
|
resolve: {
|
||||||
|
alias: {
|
||||||
|
'@': resolve(__dirname, './src'),
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
css: {
|
||||||
build: {
|
preprocessorOptions: {
|
||||||
rollupOptions: {
|
scss: {
|
||||||
output: {
|
additionalData: `@import "@/styles/global.scss";`, // Import global SCSS
|
||||||
entryFileNames: 'script.js',
|
|
||||||
assetFileNames: ({ name }) => {
|
|
||||||
if (name && name.endsWith('.css')) {
|
|
||||||
return 'style.css';
|
|
||||||
}
|
|
||||||
return 'assets/[name]-[hash][extname]';
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
build: {
|
||||||
optimizeDeps: {
|
rollupOptions: {
|
||||||
exclude: ['lucide-react'],
|
output: {
|
||||||
},
|
entryFileNames: 'script.js',
|
||||||
server: {
|
chunkFileNames: 'chunk-[name]-[hash].js',
|
||||||
open: true, // Automatically open the browser when running the development server
|
assetFileNames: ({ name }) => {
|
||||||
},
|
if (name && name.endsWith('.css')) {
|
||||||
|
return 'style.css';
|
||||||
|
}
|
||||||
|
return 'assets/[name]-[hash][extname]';
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
terserOptions: {
|
||||||
|
compress: {
|
||||||
|
drop_console: isProduction, // Remove console logs in production
|
||||||
|
drop_debugger: isProduction, // Remove debugger in production
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
optimizeDeps: {
|
||||||
|
exclude: ['lucide-react'],
|
||||||
|
},
|
||||||
|
server: {
|
||||||
|
open: true,
|
||||||
|
port: 5173, // Default port
|
||||||
|
strictPort: false, // Allow using a different port if 5173 is taken
|
||||||
|
},
|
||||||
|
envDir: './env', // Define directory for environment variables
|
||||||
|
};
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user