CodeScrolls is a comprehensive, modern documentation site built with Docusaurus 3. It provides well-organized technical notes, comprehensive cheat sheets, tutorials, and guides for web developers.
π§ Learn faster. π Refer anytime. π Level up your dev journey.
Live Site: https://codescrolls.site
- π Comprehensive Documentation - JavaScript, TypeScript, React, and more
- π Detailed Cheat Sheets - Git, Linux, VSCode, Markdown, MDX, JavaScript
- βοΈ Technical Blog - Tutorials, guides, and best practices
- πΌ Interview Questions - 50+ questions each for HTML, CSS, JavaScript, React, TypeScript, Node.js
- π― Code Examples - Practical, runnable code snippets
- β‘ Blazing Fast - Static site generation with Docusaurus 3.9.1
- π Local Search - Full-text search without Algolia
- π± PWA Support - Offline-capable Progressive Web App
- π Dark Mode - Beautiful dark theme support
- π¨ Modern UI - Clean, responsive design with custom styling
- π Performance - Optimized builds with experimental faster mode
- π§ TypeScript - Full TypeScript support with strict mode
- π― ESLint 9 - Code quality enforcement (flat config)
- π Prettier - Consistent code formatting with auto-organize imports
- πͺ Git Hooks - Pre-commit checks and commit message validation
- π CI/CD - Comprehensive GitHub Actions pipeline
- π Analytics - Google Analytics & Vercel Analytics
- β Quality Checks - Automated type checking, linting, and formatting
- π Fast Development - Hot reload and optimized builds
- π SEO Optimized - Meta tags, Open Graph, Twitter Cards
- πΊοΈ Sitemap - Auto-generated sitemap.xml
- π€ robots.txt - Proper crawler configuration
- π° AdSense Ready - Google AdSense integration
- π Legal Pages - Privacy Policy, Terms, Disclaimer
- Quick Start
- Installation
- Development
- Scripts
- Project Structure
- Content Organization
- Tech Stack
- Deployment
- Contributing
- License
# Clone the repository
git clone https://github.com/Praveenskg/codescrolls.git
cd codescrolls
# Install dependencies
npm install
# Start development server
npm start
# Build for production
npm run build- Node.js 18+ or 20+
- npm or yarn
- Git
npm installThis will install all required dependencies including:
- Docusaurus 3.9.2
- React 19.2.1
- TypeScript 5.9.3
- ESLint 9.39.1 (flat config)
- Prettier 3.7.4
- Husky 9.1.7 (Git hooks)
- lint-staged 16.2.7
- And more...
Start the development server:
npm startThe site will open at http://localhost:3000.
Features:
- β‘ Hot reload for instant updates
- π Local search functionality
- π Dark mode toggle
- π± Mobile-responsive preview
Generate a static production build:
npm run buildOutput:
- Static files in
build/directory - Optimized for production
- Ready for deployment
Test the build locally:
npm run serve| Script | Description |
|---|---|
npm start |
Start development server |
npm run build |
Build for production |
npm run serve |
Serve production build locally |
npm run clean |
Clear Docusaurus cache |
npm run deploy |
Deploy to GitHub Pages |
npm run typecheck |
Run TypeScript type checking |
npm run lint |
Run ESLint |
npm run lint:fix |
Fix ESLint issues automatically |
npm run format |
Format code with Prettier |
npm run format:check |
Check code formatting |
npm run validate |
Run all checks (typecheck + lint + format) |
npm run write-heading-ids |
Generate heading IDs for MDX files |
npm run safe-upgrade |
Upgrade dependencies safely (minor only) |
The project uses Husky for Git hooks to ensure code quality:
Automatically runs before each commit:
- β Formats code with Prettier
- β Lints code with ESLint (auto-fixes issues)
- β Type checks with TypeScript (only if TS files staged)
- β Detects merge conflicts
- β Warns about large files (>1MB)
- β Shows timing information
Validates commit message format:
- β Enforces Conventional Commits format
- β Validates commit types (feat, fix, docs, etc.)
- β Checks subject line length
- β Provides helpful error messages
Example commit messages:
β
feat: add new blog post
β
fix(navbar): resolve mobile menu issue
β
docs: update README
β Added new feature # Invalid - missing typecodescrolls/
βββ .github/ # GitHub workflows and templates
β βββ workflows/
β β βββ ci.yml # CI/CD pipeline
β β βββ summary.yml # Issue summarization
β βββ ISSUE_TEMPLATE/ # Issue templates
β βββ pull_request_template.md
βββ blog/ # Blog posts
β βββ javascript/ # JavaScript tutorials
β βββ react/ # React tutorials
β βββ vscode/ # VSCode tips
β βββ authors.yml # Blog authors
β βββ tags.yml # Blog tags
βββ docs/ # Documentation
β βββ cheatsheets/ # Cheat sheets
β β βββ git.mdx
β β βββ javascript.mdx
β β βββ linux.mdx
β β βββ markdown.md
β β βββ mdx.mdx
β β βββ vscode.mdx
β βββ interviews/ # Interview questions
β β βββ css.mdx
β β βββ html.mdx
β β βββ javascript.md
β β βββ nodejs.mdx
β β βββ react.md
β β βββ typescript.md
β βββ javascript/ # JavaScript docs
β βββ react/ # React docs
β βββ typescript/ # TypeScript docs
βββ src/ # Source files
β βββ components/ # React components
β βββ css/ # Custom CSS
β βββ pages/ # Custom pages
β βββ about.md
β βββ contact.md
β βββ disclaimer.md
β βββ privacy-policy.md
β βββ terms-of-service.md
β βββ index.tsx
βββ static/ # Static assets
β βββ img/ # Images
β βββ ads.txt # AdSense verification
β βββ manifest.json # PWA manifest
β βββ robots.txt # SEO robots file
βββ .husky/ # Git hooks (Husky)
β βββ pre-commit # Pre-commit checks
β βββ commit-msg # Commit message validation
βββ .github/ # GitHub workflows and templates
β βββ workflows/
β β βββ ci.yml # CI/CD pipeline
β βββ ISSUE_TEMPLATE/ # Issue templates
βββ eslint.config.mjs # ESLint configuration (flat config)
βββ .prettierrc # Prettier configuration
βββ docusaurus.config.ts # Docusaurus configuration
βββ package.json # Dependencies and scripts
βββ sidebars.ts # Sidebar configuration
βββ tsconfig.json # TypeScript configuration
βββ CODE_OF_CONDUCT.md # Code of conduct
βββ CONTRIBUTING.md # Contributing guidelines
βββ README.md # This file
- Basics: Variables, Data Types, Operators, Control Flow, Loops
- Advanced: Closures, Promises, Async/Await, ES6+ Features
- Basics: Components, JSX, Props, State, Events
- Intermediate: Hooks, Context API, Custom Hooks
- Complete Hooks Guide: All React hooks with examples
- Basics: Variables, Data Types, Functions, Interfaces
- Intermediate: Union Types, Type Guards, Generics
- Git - Complete Git workflow and commands
- JavaScript - ES6+ features and modern patterns
- TypeScript - Type system and advanced features
- React - Components, hooks, and patterns
- CSS - Layout, animations, and modern features
- HTML - Elements, attributes, and semantic HTML
- Linux - System administration and commands
- Markdown - Complete Markdown syntax
- MDX - Docusaurus MDX features
- VSCode - Extensions and shortcuts
- Node.js - Server-side JavaScript
- SQL - Database queries and operations
- API - REST API design and best practices
- HTML (50 questions)
- CSS (50 questions)
- JavaScript (50 questions)
- React (50 questions)
- TypeScript (50 questions)
- Node.js (questions)
- React 19 Complete Guide - New features, hooks, and best practices
- Modern TypeScript Features - Latest TypeScript capabilities
- Modern CSS Features - Container queries, :has(), nesting, and more
- API Design Best Practices - RESTful principles and patterns
- JavaScript Promises & Async - Complete async programming guide
- Git Workflows Best Practices - Branching strategies and collaboration
- Docker Developer's Guide - Containerization and best practices
- Database Design Principles - Data modeling and optimization
- CSS Grid vs Flexbox - Layout system comparison
- VSCode Tips & Tricks - Productivity enhancements
- JavaScript Closures & Hoisting - Core concepts explained
- And more...
- Docusaurus 3.9.2 - Documentation framework
- React 19.2.1 - UI library (latest features)
- TypeScript 5.9.3 - Type safety
- ESLint 9.39.1 - Code linting (flat config)
- Prettier 3.7.4 - Code formatting
- TypeScript ESLint - TypeScript linting
- Husky 9.1.7 - Git hooks
- lint-staged 16.2.7 - Pre-commit formatting
- @docusaurus/plugin-pwa - PWA support
- @docusaurus/theme-live-codeblock - Live code editing
- @easyops-cn/docusaurus-search-local - Local search
- @docusaurus/plugin-vercel-analytics - Analytics
- Custom CSS with CSS variables
- Dark mode support
- Responsive design
- Modern UI components
The site is automatically deployed to GitHub Pages using the gh-pages branch.
Manual Deployment:
# Using npm
npm run deploy
# Using SSH
USE_SSH=true npm run deploy
# Using HTTPS with token
GIT_USER=<your-username> npm run deployThis site uses a custom domain: codescrolls.site
Setup:
- Add
CNAMEfile instatic/directory - Configure DNS records (A or CNAME)
- Enable HTTPS in repository settings
# Install Vercel CLI
npm i -g vercel
# Deploy
vercelWe welcome contributions! Please see our Contributing Guidelines for details.
-
Fork the repository
git clone https://github.com/Praveenskg/codescrolls.git
-
Create a feature branch
git checkout -b feature/amazing-feature
-
Make your changes
- Add documentation
- Fix bugs
- Improve content
-
Run quality checks
npm run validate # Runs all checks (typecheck + lint + format) npm run build # Build for production
Or run individually:
npm run typecheck # TypeScript type checking npm run lint # ESLint checking npm run lint:fix # Auto-fix ESLint issues npm run format # Format with Prettier npm run format:check # Check formatting
-
Commit your changes
git commit -m "feat: add amazing feature"Note: The project uses Conventional Commits format. Your commit message will be validated automatically.
Valid formats:
feat: add new featurefix(navbar): resolve mobile menu issuedocs: update READMErefactor(hooks): simplify useAuth hook
-
Push and create PR
git push origin feature/amazing-feature
- π Add new documentation
- π Fix bugs or typos
- β¨ Suggest new features
- π¨ Improve design
- π Add blog posts
- π Improve SEO
- Privacy Policy - How we handle data
- Terms of Service - Usage terms
- Disclaimer - Important disclaimers
- Code of Conduct - Community standards
- β Meta tags and Open Graph
- β Sitemap generation
- β robots.txt configuration
- β Structured data (JSON-LD)
- β Fast loading times
- β TypeScript support with strict mode
- β ESLint 9 flat config
- β Prettier formatting with auto-organize imports
- β Git hooks (pre-commit & commit-msg)
- β Hot reload
- β Live code blocks
- β Comprehensive CI/CD pipeline
- β Comprehensive CI/CD pipeline (GitHub Actions)
- β Automated quality checks (TypeScript, ESLint, Prettier)
- β Git hooks for code quality
- β Conventional Commits enforcement
- β PWA support
- β Analytics integration
- β SEO optimized
- β Performance optimized (Docusaurus faster mode)
- 116+ Documentation Pages (HTML, CSS, JavaScript, React, TypeScript)
- 15+ Blog Posts (React 19, TypeScript, CSS, API Design, Docker, etc.)
- 14 Comprehensive Cheat Sheets (Git, JavaScript, TypeScript, React, CSS, HTML, Linux, Markdown, MDX, VSCode, Node.js, SQL, API)
- 300+ Interview Questions (HTML, CSS, JavaScript, React, TypeScript, Node.js)
- Modern Features - React 19.2, TypeScript 5.9, ES2024/2025, CSS Container Queries
- Production Ready - CI/CD, Git hooks, automated quality checks
- Website: https://codescrolls.site
- Repository: https://github.com/Praveenskg/codescrolls
- Issues: https://github.com/Praveenskg/codescrolls/issues
- Discussions: https://github.com/Praveenskg/codescrolls/discussions
Praveen Singh
- π Website: codescrolls.site
- π GitHub: @Praveenskg
- π§΅ Twitter: @its_praveen_s
- πΌ LinkedIn: praveenskg
- π§ Email: Praveencdg@gmail.com
This project is licensed under the MIT License - see the LICENSE file for details.
- Docusaurus - Amazing documentation framework
- React - Powerful UI library
- TypeScript - Type safety
- Vercel - Hosting and analytics
- GitHub - Code hosting and CI/CD
If you find this project helpful, please consider:
- β Star this repository
- π Report bugs
- π‘ Suggest features
- π€ Contribute code
- π’ Share with others
Made with β€οΈ by Praveen Singh
Keep scrolling, keep coding! π»β¨