97 lines
3.6 KiB
Markdown
97 lines
3.6 KiB
Markdown
# Library of GigaChad
|
|
|
|
A complete, expanded, self-contained mirror of the **Library of Chadnet**
|
|
([wiki.chadnet.org](https://wiki.chadnet.org/)) — every category, every
|
|
subcategory, every hosted article, PDF and audio file — **plus** a lot more:
|
|
|
|
- **New categories** — **3D Printing & Fabrication** (printers, materials,
|
|
CAD, DIY firearms, workshop), **Physical Culture** (strength, bodyweight,
|
|
combat, mobility), **Homesteading & Off-Grid** (food preservation, water,
|
|
power, livestock), **Engineering & Radio** (electronics, embedded, ham
|
|
radio, right-to-repair).
|
|
- **Expanded existing categories** — many new curated resources under
|
|
Computers & Internet (self-hosting, distros, command line, privacy),
|
|
Practical Skills (metalworking, blacksmithing, auto, gardening), Health,
|
|
History and Science.
|
|
- Same spirit, same do-it-yourself, self-reliant viewpoint. No sign-up,
|
|
no JavaScript required to read.
|
|
|
|
## Why every page is a `.html` file
|
|
|
|
The original site uses extensionless URLs, which causes many static hosts
|
|
(and the local dev server) to offer the page as a *download* instead of
|
|
rendering it. This build names every page `name.html` and rewrites all
|
|
internal links to `.html`, so **clicking any category or article renders
|
|
it on any host** — no server rewrites needed. PDFs and media keep their
|
|
real filenames and still open/download normally.
|
|
|
|
## The name
|
|
|
|
Working title is **"Library of GigaChad"** (keeps the original's
|
|
"Library of …" feel while standing on its own). To change it anywhere,
|
|
edit the two constants in `tools/generate.py`:
|
|
|
|
```python
|
|
SITE_NAME = "Library of GigaChad"
|
|
SITE_SHORT = "GigaChad"
|
|
```
|
|
|
|
…then re-run the generator. Other name ideas if you want a different
|
|
flavour:
|
|
|
|
- **The Omega Library**
|
|
- **Library of the Sovereign**
|
|
- **The Chad Compendium**
|
|
- **Lexicon of Chad**
|
|
|
|
## Structure
|
|
|
|
```
|
|
repo root ← deploy this directory to any static host
|
|
index.html homepage
|
|
about.html, donate.html, theme.html
|
|
<category>.html every category & subcategory (renders normally)
|
|
<page>.html every hosted article (renders normally)
|
|
*.pdf, *.jpg, … hosted files (open/download normally)
|
|
/files/*, /icons/* embedded media and theme assets
|
|
tools/
|
|
crawl.py fetches the full Chadnet site into site_data.json + mirror/
|
|
generate.py builds this site from site_data.json + content_extra.py
|
|
content_extra.py all new curated categories and expansions (easy to edit)
|
|
site_data.json the crawled link catalog (structure + every link)
|
|
```
|
|
|
|
## Deploy / host
|
|
|
|
Point any static host or web server (Netlify, GitHub Pages, nginx,
|
|
Caddy, Cloudflare Pages…) at the **repo root**. Everything is relative,
|
|
so it works on any domain or subpath.
|
|
|
|
## Size note
|
|
|
|
The repository is ~14 GB because it includes the full original media
|
|
collection (248 audio files ~11 GB, plus PDFs). If your host has a
|
|
repo size limit or you'd rather keep the code light, either:
|
|
|
|
- use **Git LFS** for `*.mp3`, `*.pdf`, `*.jpg`, `*.png`, `*.mp4`, or
|
|
- drop `*.mp3` from the repo and re-push them straight to your web
|
|
root (the files stay hot-linked by their names).
|
|
|
|
## Rebuild
|
|
|
|
```bash
|
|
# crawl the latest Chadnet (only needed when mirroring new content)
|
|
python3 tools/crawl.py
|
|
python3 tools/scan_embedded.py # fetch images inside hosted articles
|
|
|
|
# regenerates the whole site from the captured catalog
|
|
python3 tools/generate.py
|
|
```
|
|
|
|
## Credits
|
|
|
|
The Library of Chadnet (and all original hosted works, articles, PDFs and
|
|
recordings) is the work of its original author and contributors. This
|
|
project is an expanded mirror; we link back to the originals and hold no
|
|
copyright over the mirrored content.
|