6.1 KiB
6.1 KiB
ArcaneNeko Website
The official ArcaneNeko website - open source and available under the MIT License.
License
MIT License - see LICENSE for details.
Overview
This is a static HTML/CSS/JS website showcasing ArcaneNeko's services and projects. It's designed to be simple, fast, and easily customizable.
Features
- Static HTML — No frameworks, just clean semantic HTML
- Responsive Design — Works on mobile, tablet, and desktop
- Theme System — Three built-in themes: crimson (default), dark, light
- Theme Toggle — Users can switch between themes with persisted preference
- Modular CSS — Easy to add custom themes
- No Dependencies — Plain CSS and vanilla JavaScript
- Accessible — ARIA labels and keyboard navigation support
- Self-contained Error Pages — Error pages include header/footer and all CSS/JS
File Structure
ArcaneNekoWebsite/
├── index.html # Main landing page
├── status.html # Arcane Status product page
├── privacy.html # Privacy policy
├── terms.html # Terms of service
├── contact.html # Contact page
├── coming-soon.html # Coming soon page
├── 400.html # Bad Request error page
├── 403.html # Forbidden error page
├── 404.html # Not Found error page
├── 422.html # Unprocessable Entity error page
├── 500.html # Internal Server Error page
├── 502.html # Bad Gateway error page
├── 503.html # Service Unavailable error page
├── favicon.svg # Favicon
├── robots.txt # Robots.txt
├── sitemap.xml # XML sitemap for search engines
├── .htaccess # Apache configuration
├── css/
│ ├── index.css # Main CSS (imports all others)
│ ├── themes.css # Theme CSS variables
│ ├── base.css # Base reset and styles
│ ├── navbar.css # Navbar styles
│ ├── hero.css # Hero section styles
│ ├── buttons.css # Button styles
│ ├── stats.css # Stats bar styles
│ ├── about.css # About section styles
│ ├── sections.css # Generic section styles
│ ├── cards.css # Card & feature styles
│ ├── footer.css # Footer styles
│ ├── legal.css # Legal page styles
│ ├── contact.css # Contact page styles
│ ├── utility.css # Utility styles
│ └── responsive.css # Mobile/tablet breakpoints
├── js/
│ ├── theme.js # Theme switching logic
│ └── main.js # Main initialization
└── README.md
Error Pages
The website includes 7 self-contained error pages:
| Page | Description |
|---|---|
400.html |
Bad Request |
403.html |
Forbidden/Access Denied |
404.html |
Page Not Found |
422.html |
Unprocessable Entity |
500.html |
Internal Server Error |
502.html |
Bad Gateway |
503.html |
Service Unavailable |
Each error page includes:
- Full website header (navbar with navigation links, theme toggle, mobile hamburger menu)
- Full website footer (brand, community links, services links, legal links)
- Embedded CSS (themes, navbar, footer, error content, responsive styles)
- Embedded JavaScript (theme switching, mobile menu)
- Theme selection that persists via localStorage
- Responsive design for all screen sizes
The error pages are configured in .htaccess - see the Apache Configuration section below.
Customization
Creating a Custom Theme
- Edit
css/themes.cssto add your theme:
[data-theme="custom"] {
--bg: #your-bg-color;
--bg-alt: #your-bg-alt-color;
--accent: #your-accent-color;
/* ... add other variables */
}
- Update the
THEMESarray injs/theme.jsto include your theme:
const THEMES = ['crimson', 'dark', 'light', 'custom'];
- Add theme icons and labels in
js/theme.js:
const THEME_ICONS = {
custom: '<svg>...</svg>',
};
const THEME_LABELS = {
custom: 'Switch to custom theme',
};
Adding New Pages
- Copy an existing page (e.g.,
contact.html) - Update the navbar links in all HTML files to include your new page
- Add footer links in the same way
Modifying CSS
Each CSS file contains specific component styles:
- themes.css - Theme variables
- navbar.css - Navbar and mobile menu
- hero.css - Hero section
- buttons.css - Button styles
- cards.css - Cards and features
- footer.css - Footer
- legal.css - Legal pages
- contact.css - Contact & coming soon
Apache Configuration
The .htaccess file provides:
URL Rewriting
- Removes
.htmlextension from URLs (e.g.,/aboutinstead of/about.html)
Custom Error Pages
- Maps HTTP errors to error pages:
400→/400403→/403404→/404500→/500502→/502503→/503
Security
- Blocks access to hidden files (dotfiles)
- Blocks access to config/environment files (
.env,.config,.log, etc.) - Sets security headers (X-Content-Type-Options, X-Frame-Options, X-XSS-Protection, Referrer-Policy, Permissions-Policy)
Performance
- Static assets caching (1 year for images, fonts, CSS, JS)
- No cache for HTML documents
- Gzip compression for HTML, CSS, JS, text, fonts
Sitemap & Robots.txt
sitemap.xml- XML sitemap for search enginesrobots.txt- Robots.txt allowing all crawlers and pointing to sitemap
HTTPS (Optional)
- Uncomment lines to force HTTPS redirect
Nginx Compatibility
If using Nginx instead of Apache:
- These rules must be translated to Nginx config or handled upstream
- ErrorDocument directives need server-level configuration in Nginx
- Header directives need
add_headerin Nginx context - Rewrite rules need
rewritedirective in Nginx
The .htaccess file contains notes for Nginx compatibility at the bottom.
Browser Support
- Chrome/Edge 90+
- Firefox 88+
- Safari 14+
Deployment
Simply upload all files to any web server or static hosting service. No server-side code required.