Skip to content

Commit 7d2ba3a

Browse files
Add GitHub Actions workflow, LICENSE, and CONTRIBUTING.md
1 parent fccfec4 commit 7d2ba3a

3 files changed

Lines changed: 133 additions & 0 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
jobs:
10+
build-and-deploy:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout
15+
uses: actions/checkout@v4
16+
17+
- name: Setup Node.js
18+
uses: actions/setup-node@v4
19+
with:
20+
node-version: '18'
21+
cache: 'npm'
22+
23+
- name: Install dependencies
24+
run: npm ci
25+
26+
- name: Build
27+
run: npm run build
28+
29+
- name: Deploy to GitHub Pages
30+
uses: peaceiris/actions-gh-pages@v3
31+
if: github.ref == 'refs/heads/main'
32+
with:
33+
github_token: ${{ secrets.GITHUB_TOKEN }}
34+
publish_dir: ./dist

CONTRIBUTING.md

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
## How to Contribute
2+
3+
We welcome contributions to JS Learning Lab! Here are several ways you can help:
4+
5+
### 🎯 Adding Questions
6+
7+
The easiest way to contribute is by adding new JavaScript questions:
8+
9+
1. **Use the Admin Interface**
10+
- Open `admin.html` in your browser
11+
- Fill out the question form with all details
12+
- Generate the JSON and copy it
13+
- Add to `src/data/questionsDatabase.json`
14+
15+
2. **Question Guidelines**
16+
- Focus on real-world JavaScript scenarios
17+
- Include clear, detailed explanations
18+
- Provide helpful hints for learning
19+
- Test your questions thoroughly
20+
- Use proper grammar and formatting
21+
22+
### 🛠️ Code Contributions
23+
24+
1. **Fork the Repository**
25+
```bash
26+
git clone https://github.com/SyntaxSidekick/js-learning-lab.git
27+
cd js-learning-lab
28+
```
29+
30+
2. **Create a Feature Branch**
31+
```bash
32+
git checkout -b feature/your-feature-name
33+
```
34+
35+
3. **Make Your Changes**
36+
- Follow the existing code style
37+
- Add tests if applicable
38+
- Update documentation as needed
39+
40+
4. **Test Your Changes**
41+
```bash
42+
npm install
43+
npm run dev
44+
```
45+
46+
5. **Commit and Push**
47+
```bash
48+
git add .
49+
git commit -m "Add: your feature description"
50+
git push origin feature/your-feature-name
51+
```
52+
53+
6. **Create a Pull Request**
54+
- Describe your changes clearly
55+
- Include screenshots if applicable
56+
- Reference any related issues
57+
58+
### 📋 Development Standards
59+
60+
- **Code Style**: Follow existing patterns and use ESLint
61+
- **Commits**: Use clear, descriptive commit messages
62+
- **Documentation**: Update README.md and comments as needed
63+
- **Testing**: Test all functionality before submitting
64+
65+
### 🐛 Reporting Issues
66+
67+
- Use GitHub Issues to report bugs
68+
- Include steps to reproduce
69+
- Provide browser and system information
70+
- Include screenshots if helpful
71+
72+
### 💡 Feature Requests
73+
74+
- Open a GitHub Discussion for feature ideas
75+
- Explain the use case and benefits
76+
- Consider implementing it yourself!
77+
78+
Thank you for contributing to JS Learning Lab! 🚀

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 JS Learning Lab
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)