Skip to content

A well-organized collection of programming concepts, cheatsheets, and code snippets. Perfect for beginners and experienced developers to revise and reference quickly.

License

Notifications You must be signed in to change notification settings

Praveenskg/codescrolls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

251 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

πŸ“˜ CodeScrolls – Developer Docs, Notes & CheatSheets

License: MIT Docusaurus React TypeScript ESLint Prettier

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


🌟 Features

Content

  • πŸ“š 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

Technical

  • ⚑ 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

Developer Experience

  • πŸ”§ 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 & Monetization

  • πŸ”Ž 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

πŸ“‹ Table of Contents


⚑ Quick Start

# 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

πŸ“¦ Installation

Prerequisites

  • Node.js 18+ or 20+
  • npm or yarn
  • Git

Install Dependencies

npm install

This 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...

πŸ§‘β€πŸ’» Local Development

Start the development server:

npm start

The site will open at http://localhost:3000.

Features:

  • ⚑ Hot reload for instant updates
  • πŸ” Local search functionality
  • πŸŒ™ Dark mode toggle
  • πŸ“± Mobile-responsive preview

πŸ—οΈ Build

Generate a static production build:

npm run build

Output:

  • Static files in build/ directory
  • Optimized for production
  • Ready for deployment

Test the build locally:

npm run serve

πŸ“œ Available Scripts

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)

πŸͺ Git Hooks

The project uses Husky for Git hooks to ensure code quality:

Pre-commit Hook

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

Commit-msg Hook

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 type

πŸ“ Project Structure

codescrolls/
β”œβ”€β”€ .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

πŸ“š Content Organization

Documentation

JavaScript

  • Basics: Variables, Data Types, Operators, Control Flow, Loops
  • Advanced: Closures, Promises, Async/Await, ES6+ Features

React

  • Basics: Components, JSX, Props, State, Events
  • Intermediate: Hooks, Context API, Custom Hooks
  • Complete Hooks Guide: All React hooks with examples

TypeScript

  • Basics: Variables, Data Types, Functions, Interfaces
  • Intermediate: Union Types, Type Guards, Generics

Cheat Sheets (14 comprehensive cheat sheets)

  • 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

Interview Questions

  • HTML (50 questions)
  • CSS (50 questions)
  • JavaScript (50 questions)
  • React (50 questions)
  • TypeScript (50 questions)
  • Node.js (questions)

Blog Posts (15+ comprehensive articles)

  • 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...

πŸ› οΈ Tech Stack

Core

Development Tools

Plugins & Features

Styling

  • Custom CSS with CSS variables
  • Dark mode support
  • Responsive design
  • Modern UI components

πŸš€ Deployment

GitHub Pages

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 deploy

Custom Domain

This site uses a custom domain: codescrolls.site

Setup:

  1. Add CNAME file in static/ directory
  2. Configure DNS records (A or CNAME)
  3. Enable HTTPS in repository settings

Vercel (Alternative)

# Install Vercel CLI
npm i -g vercel

# Deploy
vercel

🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

How to Contribute

  1. Fork the repository

    git clone https://github.com/Praveenskg/codescrolls.git
  2. Create a feature branch

    git checkout -b feature/amazing-feature
  3. Make your changes

    • Add documentation
    • Fix bugs
    • Improve content
  4. 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
  5. 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 feature
    • fix(navbar): resolve mobile menu issue
    • docs: update README
    • refactor(hooks): simplify useAuth hook
  6. Push and create PR

    git push origin feature/amazing-feature

Contribution Areas

  • πŸ“ Add new documentation
  • πŸ› Fix bugs or typos
  • ✨ Suggest new features
  • 🎨 Improve design
  • πŸ“š Add blog posts
  • πŸ” Improve SEO

πŸ“„ Legal & Policies


🌟 Features Highlight

SEO Optimized

  • βœ… Meta tags and Open Graph
  • βœ… Sitemap generation
  • βœ… robots.txt configuration
  • βœ… Structured data (JSON-LD)
  • βœ… Fast loading times

Developer Friendly

  • βœ… 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

Production Ready

  • βœ… 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)

πŸ“Š Project Stats

  • 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

πŸ”— Links


πŸ‘¨β€πŸ’» Author

Praveen Singh


πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments


⭐ Show Your Support

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! πŸ’»βœ¨

About

A well-organized collection of programming concepts, cheatsheets, and code snippets. Perfect for beginners and experienced developers to revise and reference quickly.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

  •  

Packages

No packages published

Contributors 2

  •  
  •