# Deployment and Usage Guide
## Prerequisites
- **Git** (2.0+) for cloning the repository
- **Modern Web Browser** (Chrome, Firefox, Safari, Edge) to view the curated resources
- **GitHub Account** (required for contributing new links or corrections)
- **Node.js** (optional, only if running the web scraping scripts referenced for npm package statistics gathering)
- **Markdown Viewer** (optional, for offline reading: VS Code, Typora, or `npm install -g marked`)
## Installation
Clone the repository to your local machine:
```bash
git clone https://github.com/dexteryy/spellbook-of-modern-webdev.git
cd spellbook-of-modern-webdev
No dependency installation is required for basic usage as this is a curated documentation repository.
Configuration
This project requires no environment variables or API keys for consumption. However, contributors should understand the document taxonomy:
- Category Structure: Each line represents a unique category in a fine-grained classification
- Symbol Conventions:
/(forward slash with spaces): Indicates replaceable alternatives,(comma with space): Indicates complementary tools/resources
- Selection Criteria: Links must reflect "not outdated and most commonly used" technologies, weighted by npm download counts over GitHub stars
For local development or fork maintenance, ensure your Git configuration supports UTF-8 for proper rendering of the 2000+ international resource links.
Build & Run
Viewing the Spellbook
Since this is a static Markdown knowledge base, no build step is required:
Option 1: GitHub Web Interface (Recommended)
Navigate to https://github.com/dexteryy/spellbook-of-modern-webdev for the rendered Markdown experience with working hyperlinks.
Option 2: Local Server
# Using Python 3
python -m http.server 8000
# Using Node.js (npx)
npx serve .
# Using PHP
php -S localhost:8000
Then open http://localhost:8000/README.md in your browser.
Option 3: Markdown Preview
Open README.md directly in VS Code, Typora, or similar Markdown-aware editors that support the Table of Contents navigation.
Data Collection (Optional)
If updating the npm statistics or running web scraping scripts mentioned in the methodology:
# If package.json exists in a subdirectory (check repository structure)
npm install
npm run scrape-stats # Hypothetical - verify actual script names in repo
Deployment
Contributing to the Main Repository
- Fork the repository on GitHub
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/spellbook-of-modern-webdev.git - Create a branch for your additions:
git checkout -b add-resource-category - Edit
README.mdfollowing the established taxonomy:- Add missing links with rationale
- Ensure links are not outdated
- Verify npm download trends for JavaScript tools
- Commit with clear messages explaining why the resource meets the "most commonly used" criteria
- Push and Submit PR:
Then open a Pull Request referencing the specific problem domain the link addresses.git push origin add-resource-category
Hosting Your Own Mirror
To deploy as a standalone site (e.g., for team internal use):
GitHub Pages Method:
- Fork the repository
- Go to Settings → Pages
- Select "Deploy from a branch" →
mainbranch →/ (root) - Access at
https://YOUR_USERNAME.github.io/spellbook-of-modern-webdev
Static Site Generator Method:
# Convert to Jekyll site
echo "theme: minimal" > _config.yml
bundle exec jekyll serve
# Or use Docsify for sidebar navigation
npx docsify init ./docs
npx docsify serve docs
Troubleshooting
| Issue | Solution |
|---|---|
| Link Rot (404s) | The curated list aims to avoid outdated links, but web resources change. Submit an Issue or PR with the updated URL or replacement resource. |
| JavaScript Fatigue | If overwhelmed by the 2000+ links, focus on specific sections relevant to your current project (e.g., "Modern JS / Next-Gen JS" or "GUI Framework"). The document is designed as a skill tree, not a sequential reading list. |
| Markdown Rendering Issues | Ensure your viewer supports GitHub-flavored Markdown (GFM), particularly for the Table of Contents anchors and nested lists. |
| Region-Specific Gaps | The maintainer deliberately avoids region-specific sections (see PR #4 discussion). Fork the repository to create region-specific variants if needed. |
| Framework Bias Questions | If questioning the prevalence of React over Angular/Vue, refer to the npm trends data linked in the README rather than filing issues. |
| Huge Repository Size | If cloning is slow, use shallow clone: git clone --depth 1 https://github.com/dexteryy/spellbook-of-modern-webdev.git |