Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 70 additions & 0 deletions .htaccess
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Security Headers
<IfModule mod_headers.c>
# Content Security Policy
Header always set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' https://cdnjs.cloudflare.com https://fonts.googleapis.com; style-src 'self' 'unsafe-inline' https://cdnjs.cloudflare.com https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com https://cdnjs.cloudflare.com; img-src 'self' data: https:; connect-src 'self' https://api.quotable.io; media-src 'self'"

# Prevent clickjacking
Header always set X-Frame-Options DENY

# Prevent MIME type sniffing
Header always set X-Content-Type-Options nosniff

# Referrer Policy
Header always set Referrer-Policy "strict-origin-when-cross-origin"

# HSTS (HTTP Strict Transport Security) - Only enable if you have SSL
# Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
</IfModule>

# Prevent access to sensitive files
<Files "config.php">
Order Allow,Deny
Deny from all
</Files>

<Files ".env">
Order Allow,Deny
Deny from all
</Files>

<Files ".git">
Order Allow,Deny
Deny from all
</Files>

# Enable compression
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>

# Enable browser caching
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
</IfModule>

# Redirect HTTP to HTTPS (uncomment if you have SSL)
# RewriteEngine On
# RewriteCond %{HTTPS} off
# RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Prevent directory listing
Options -Indexes

# Error pages
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html
259 changes: 179 additions & 80 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,112 +1,211 @@
# 🌸 The Cawnpore Magazine Website
# The Cawnpore Magazine

[![GitHub Pages](https://img.shields.io/badge/GitHub%20Pages-Deployed-success)](https://thecawnporemag.github.io/)
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
[![HTML5](https://img.shields.io/badge/HTML5-E34F26?logo=html5&logoColor=white)](https://developer.mozilla.org/en-US/docs/Web/HTML)
[![CSS3](https://img.shields.io/badge/CSS3-1572B6?logo=css3&logoColor=white)](https://developer.mozilla.org/en-US/docs/Web/CSS)
[![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?logo=javascript&logoColor=black)](https://developer.mozilla.org/en-US/docs/Web/JavaScript)

A modern, responsive literary magazine website celebrating literature, art, and cultural diversity from Kanpur (Cawnpore) and beyond. Built with cutting-edge web technologies and expert-level development practices.

## 🌟 Features

### 🎨 Design & User Experience
- **Modern UI/UX**: Sleek design with gradient backgrounds and smooth animations
- **Dark Mode**: Toggle between light and dark themes with smooth transitions
- **Responsive Design**: Optimized for all devices (mobile, tablet, desktop)
- **Accessibility**: WCAG 2.1 compliant with ARIA labels, keyboard navigation, and screen reader support
- **Performance**: Optimized loading with lazy loading, debounced events, and efficient animations

### 📖 Content Management
- **Issue Archives**: Complete archive of published issues with search and filtering
- **Gallery**: Interactive image gallery with lightbox and categorization
- **Contributors**: Dedicated page showcasing magazine contributors
- **Dynamic Content**: Real-time quote widget and interactive elements

### 🎵 Interactive Features
- **Background Music**: Toggle ambient music with fade effects
- **Particle System**: Animated cursor-following particles
- **Scroll Animations**: Smooth reveal animations triggered by scroll
- **Form Validation**: Real-time email validation with visual feedback
- **Notifications**: Toast notifications for user actions

### 🔧 Technical Excellence
- **Modern JavaScript**: ES6+ features with error handling and performance optimization
- **CSS Grid & Flexbox**: Advanced layout techniques for responsive design
- **SEO Optimized**: Meta tags, structured data, sitemap, and robots.txt
- **Security**: Content Security Policy, secure headers, and input validation
- **Performance**: Code splitting, lazy loading, and optimized assets

## 🚀 Quick Start

### Prerequisites
- Modern web browser with JavaScript enabled
- Local development server (optional, for development)

### Installation

1. **Clone the repository**
```bash
git clone https://github.com/thecawnporemag/thecawnporemag.github.io.git
cd thecawnporemag.github.io
```

2. **Start development server**
```bash
# Using Python (recommended for simple testing)
python3 -m http.server 8000

# Or using Node.js
npx serve .

# Or using PHP
php -S localhost:8000
```

3. **Open in browser**
```
http://localhost:8000
```

## 📁 Project Structure

Welcome to the official open-source repository of [**The Cawnpore Magazine**](https://www.thecawnporemag.co.in/) — a student-led, non-profit literary and arts magazine dedicated to celebrating **creativity, girlhood, and youth culture**.
```
thecawnporemag.github.io/
├── index.html # Homepage
├── about.html # About page
├── gallery.html # Image gallery
├── archives.html # Issue archives
├── contributors.html # Contributors page
├── styles/
│ ├── style.css # Main stylesheet
│ ├── gallery.css # Gallery styles
│ ├── archives.css # Archives styles
│ └── contributors.css # Contributors styles
├── scripts/
│ ├── script.js # Main JavaScript
│ ├── archives.js # Archives functionality
│ └── contributors.js # Contributors functionality
├── gallary/ # Image assets
├── docs/ # Documentation
├── .htaccess # Apache configuration
├── robots.txt # Search engine crawling rules
├── sitemap.xml # Site structure for search engines
├── LICENSE # MIT License
└── README.md # This file
```

This repository hosts our published issues, exclusive content, and multimedia experiments. We’re inviting **developers, designers, and creatives** to collaborate in making this space more **accessible, interactive, and beautiful**.
## 🎯 Key Components

---
### Navigation System
- Responsive hamburger menu for mobile
- Smooth scroll navigation
- Keyboard accessible
- ARIA labels for screen readers

## 🪄 About the Magazine
### Interactive Elements
- **Theme Toggle**: Switches between light/dark modes
- **Music Player**: Background audio with volume control
- **Particle Animation**: Cursor-following visual effects
- **Scroll Progress**: Visual progress indicator

Founded by students, *The Cawnpore Magazine* is a **global platform** for teen and university creatives.
We publish:
### Content Features
- **Search & Filter**: Advanced filtering in archives and gallery
- **Lightbox Gallery**: Full-screen image viewing
- **Newsletter Signup**: Email validation and subscription
- **Quote Widget**: Dynamic inspirational quotes

- ✍️ Poetry & Prose
- 📖 Essays & Criticism
- 👗 Fashion Editorials
- 🎨 Visual Art
- 🎮 Games & Multimedia
## 🛠️ Technologies Used

With each issue, we aim to tell stories that live in the **in-betweenness** — of *place, identity, memory, and imagination*.
### Frontend
- **HTML5**: Semantic markup with accessibility features
- **CSS3**: Modern styling with CSS Grid, Flexbox, and animations
- **JavaScript (ES6+)**: Interactive functionality with performance optimization

📌 **Quick Links:**
- 🌐 Website: [thecawnporemag.co.in](https://www.thecawnporemag.co.in/)
- 📸 Instagram: [@thecawnporemagazine](https://www.instagram.com/thecawnporemagazine)
- 📧 Contact: **thecawnporemagofficial@gmail.com**
### Libraries & Frameworks
- **Font Awesome**: Icons and visual elements
- **Google Fonts**: Typography (Crimson Text)
- **Intersection Observer**: Performance-optimized scroll animations

---
### Development Tools
- **Git**: Version control
- **GitHub Pages**: Hosting and deployment
- **VS Code**: Development environment

## 🎨 Tech & Design
## 📱 Browser Support

- **Theme Colors** → `#780000` (Primary), `#fdf0d5` (Background/Accent)
- **Built With** → HTML, CSS, JS (Static Site)
- **Goals** → Accessibility, responsiveness, aesthetics, and storytelling
- Chrome 80+
- Firefox 75+
- Safari 13+
- Edge 80+
- Mobile browsers (iOS Safari, Chrome Mobile)

---
## 🔒 Security Features

## 💡 How to Contribute
- Content Security Policy (CSP) headers
- XSS protection through input sanitization
- Secure external resource loading
- HTTPS enforcement (when available)

We welcome **everyone** — beginners, students, and professionals!
You can help us by:
## 🚀 Performance Optimizations

- 🎨 Improving layout, colors, or responsiveness
- 🔍 Enhancing accessibility (ARIA labels, contrast, alt text)
- 🖋️ Adding issue archives and contributor pages
- 💌 Building interactive features (forms, animations, etc.)
- 🛠️ Fixing bugs & improving performance
- ✨ Suggesting features via [Issues](../../issues)
- **Lazy Loading**: Images load as needed
- **Debounced Events**: Optimized scroll and resize handlers
- **Code Splitting**: Modular JavaScript architecture
- **Asset Optimization**: Compressed CSS and JavaScript
- **Caching**: Browser caching for static assets

👉 For contribution guidelines, see [CONTRIBUTING.md](CONTRIBUTING.md) and [LEARN.md](LEARN.md).
## 📈 SEO & Analytics

---
- Comprehensive meta tags
- Open Graph integration for social sharing
- Structured data markup
- XML sitemap for search engines
- Robots.txt for crawler guidance

## 🔧 Contribution Steps
Follow these steps to contribute:
## 🤝 Contributing

### 1️⃣ Fork the Repository
Click the **Fork** button in the top-right corner of this repo.
We welcome contributions! Please see our [Contributing Guidelines](docs/CONTRIBUTING.md) for details.

### 2️⃣ Clone Your Fork
```bash
git clone https://github.com/Kritika75/TheCawnporeMag.github.io.git
cd Occasio
```
### Development Workflow

### 3️⃣ Create a Branch
```bash
git checkout -b feature/your-feature-name
```
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

### 4️⃣ Make Your Changes
Edit styles, fix bugs, or update content.
## 📄 License

### 5️⃣ Commit Your Work
```bash
git add .
git commit -m "✨ Add: Your clear commit message"
```

### 6️⃣ Push to GitHub
```bash
git push origin feature/your-feature-name
```

### 7️⃣ Create a Pull Request
- Go to your fork on GitHub
- Click **Compare & pull request**
- Add a clear title and description
- Click **Create Pull Request**
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## 🙏 Acknowledgments

- **Abdul Sammed**: Lead Developer & Designer
- **Kritika Singh**: Content Contributor & Designer
- **Open Source Community**: For inspiration and tools
- **Kanpur Community**: For cultural inspiration and support

### 🧚 Maintainers
## 📞 Contact

- This site is lovingly maintained by:
- **Email**: thecawnporemagofficial@gmail.com
- **Instagram**: [@thecawnporemagazine](https://www.instagram.com/thecawnporemagazine/)
- **LinkedIn**: [The Cawnpore Magazine](https://www.linkedin.com/company/the-cawnpore-magazine/)
- **Twitter**: [@TheCawnporeMag](https://x.com/TheCawnporeMag)

- Kritika – Founder & Editor-in-Chief
## 🎉 Future Enhancements

- We’re grateful to all our contributors who help keep this project whimsical & alive. 🌷
- [ ] User authentication system
- [ ] Content management system (CMS)
- [ ] Multi-language support
- [ ] Progressive Web App (PWA) features
- [ ] Advanced analytics integration
- [ ] Print-ready PDF generation
- [ ] Social media integration
- [ ] Comment system for articles

### 📜 License

This project is licensed under the MIT License.
See LICENSE
for more details.

### 💌 A Note from Us
---

This site is a home for creativity.
Our main goal is to make it look aesthetically pleasing, interactive, and accessible — while celebrating youth culture, girlhood, and imagination.
**Made with ❤️ by the Cawnpore Magazine Team**

Your suggestions and contributions help keep this project whimsical, meaningful, and alive.
Thank you for being here 🌸✨
*"Kanpur-born, read everywhere"* 🏛️✍️
Loading