v0.5.17: Add project sections (tabbed markdown pages)
Mirrors item_sections for projects: privacy policy, terms, FAQ, etc.
appear as tabs on public project pages with #section-<slug> deep-linking.
- Migration 113: project_sections table (max 10 per project)
- API: POST/GET /api/projects/{id}/sections, PUT/DELETE /api/project-sections/{id},
PUT /api/projects/{id}/sections/reorder
- Public project page: tab UI + hash-based deep linking
- Dashboard: "Pages" editor in project Settings tab
- Tests: 10 integration tests covering CRUD, ownership, validation,
public visibility, slug generation, unique constraint
- Co-Authored-By
- Claude Opus 4.7 (1M context) <noreply@anthropic.com>
19 files changed,
+1046 insertions,
-3 deletions
| 3465 |
3465 |
|
|
| 3466 |
3466 |
|
[[package]]
|
| 3467 |
3467 |
|
name = "makenotwork"
|
| 3468 |
|
- |
version = "0.5.15"
|
|
3468 |
+ |
version = "0.5.17"
|
| 3469 |
3469 |
|
dependencies = [
|
| 3470 |
3470 |
|
"anyhow",
|
| 3471 |
3471 |
|
"argon2",
|
| 1 |
1 |
|
[package]
|
| 2 |
2 |
|
name = "makenotwork"
|
| 3 |
|
- |
version = "0.5.16"
|
|
3 |
+ |
version = "0.5.17"
|
| 4 |
4 |
|
edition = "2024"
|
| 5 |
5 |
|
license-file = "LICENSE"
|
| 6 |
6 |
|
|
| 176 |
176 |
|
MailingListSubscriberId,
|
| 177 |
177 |
|
CustomDomainId,
|
| 178 |
178 |
|
ItemSectionId,
|
|
179 |
+ |
ProjectSectionId,
|
| 179 |
180 |
|
ImportJobId,
|
| 180 |
181 |
|
MediaFileId,
|
| 181 |
182 |
|
TipId,
|
| 14 |
14 |
|
pub mod versions;
|
| 15 |
15 |
|
pub(crate) mod chapters;
|
| 16 |
16 |
|
pub(crate) mod item_sections;
|
|
17 |
+ |
pub(crate) mod project_sections;
|
| 17 |
18 |
|
pub mod transactions;
|
| 18 |
19 |
|
pub(crate) mod discover;
|
| 19 |
20 |
|
pub(crate) mod custom_links;
|