Skip to content

Commit e5c944f

Browse files
committed
Init ClAUDE.md file
1 parent f89a493 commit e5c944f

1 file changed

Lines changed: 51 additions & 0 deletions

File tree

CLAUDE.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# CLAUDE.md
2+
3+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4+
5+
## What This Project Is
6+
7+
A static site ([pythonframeworks.com](https://pythonframeworks.com/)) listing popular Python frameworks organized by category. The entire site is a single `index.html` file — there is no backend in production. Bottle.py is used only for local development.
8+
9+
## Running Locally
10+
11+
```bash
12+
python3 frameworks.py
13+
```
14+
15+
Visit `http://localhost:8080/`. Hot reloading is enabled by default (`reloader=True`).
16+
17+
## Architecture
18+
19+
- **`frameworks.py`** — Entire backend (16 lines). Two routes: `/` renders `index.html` as a Bottle template, `/static/<path>` serves static files.
20+
- **`index.html`** — All content lives here (~4,300 lines). Each framework is a Bootstrap card. Categories are `<div class="category" id="CategoryName">` sections containing a Masonry grid of cards.
21+
- **`bottle.py`** — Vendored single-file WSGI micro-framework for local development only. Do not edit.
22+
- **`static/`** — CSS/JS libraries (Bootstrap 5, Masonry, ImagesLoaded) and framework logos under `static/image/logos/`.
23+
24+
## Adding a Framework
25+
26+
Add a Bootstrap card inside the appropriate category's `.row.grids` div in `index.html`:
27+
28+
```html
29+
<div class="col-sm-6 col-lg-3 mb-4">
30+
<div class="card">
31+
<!-- name, link, logo, description -->
32+
</div>
33+
</div>
34+
```
35+
36+
## Adding a Category
37+
38+
```html
39+
<hr class="my-4">
40+
41+
<div class="category" id="CategoryName">
42+
<h3 class="mt-5 display-6">Category Name</h3>
43+
<p>Description of this category</p>
44+
45+
<div class="row grids mt-4" data-masonry='{"percentPosition": true }'>
46+
<!-- cards go here -->
47+
</div>
48+
</div>
49+
```
50+
51+
The navigation tag cloud is dynamically generated from category `id` attributes and card counts — no manual nav updates needed.

0 commit comments

Comments
 (0)