Commit graph

99 commits

Author SHA1 Message Date
blankie
186943c8ab docs(contributing): expand with setup, conventions, and PR guidelines 2026-07-02 23:54:07 +00:00
blankie
236574bef8 security: replace personal email with confidential issue reporting 2026-07-02 23:32:58 +00:00
blankie
c98449ec80 readme: add RNS browsing to features, update storage estimates for cleaned-text model 2026-07-02 23:27:42 +00:00
blankie
5c208ce3e3 rns: store cleaned text instead of raw HTML body 2026-07-02 23:27:05 +00:00
blankie
21264b941f base tag + LRU cache for RNS browse, sync status fixes 2026-06-19 02:17:11 +00:00
blankie
468c445310 rns browser, standalone site server, unified add form
- /rns/<hash>/<path> proxies pages over RNS with link rewriting
- fetch_remote_page() in rns_client.py for generic RNS page fetching
- mesh_sites table for persisting saved hashes
- standalone site_server.py with its own RNS identity
- tinyweb-site/index.html: SPA with RSS-aware nav (/rns/<hash>/ prefix)
- unified /add form: single input accepts URL or 32-char RNS hash
- RNS add indexes into pages table (fetch root page, extract title/desc)
- rns:<hash> URLs displayed in browse/search, linked to /rns/<hash>/
- expand RNS whitelist: allow GET /, /about, /pages, /tags, /share
2026-06-18 20:38:42 +00:00
blankie
77f3a582c8 forum trust circle: trust-gated content exchange via subscription graph 2026-06-17 20:16:30 +00:00
blankie
af35767108 fix: app.py gateway import alias (broken since src layout migration) 2026-06-17 20:16:06 +00:00
blankie
34bff04849 forum trust circle: trust-gated content exchange via subscription graph 2026-06-17 20:15:50 +00:00
blankie
018be70f74 readme: update project structure to reflect src layout 2026-06-17 05:16:34 +00:00
blankie
b6f237f872 src layout: move core code into src/tinyweb/ package
- Moved app.py, db.py, gateway.py, templates.py, embeddings.py,
  rns_client.py, and handlers/ into src/tinyweb/
- Created root app.py shim (adds src/ to sys.path, imports main)
- Created pyproject.toml with setuptools config (where = ["src"])
- Added src/tinyweb/__init__.py
- Updated all internal imports to use tinyweb. prefix (73 occurrences)
- Removed sys.path.insert hack from conftest.py
- Updated Dockerfile: pip install -e /app before running
- Updated gateway.py usage message: python -m tinyweb.gateway
- Updated README.md gateway usage instructions
2026-06-17 05:03:23 +00:00
blankie
7c61e4a96d junimo theme: use {{site_name}} and {{forum_link}} placeholders 2026-06-16 05:23:24 +00:00
blankie
f7b4451b88 remove demo pages, rename themes, add Content-Length header 2026-06-16 05:11:37 +00:00
blankie
b6b0e7b0fd auto-save: settings save on change via /style/field, noscript fallback button 2026-06-14 08:46:21 +00:00
blankie
86565b13ac customize: split into separate settings and template forms 2026-06-14 08:14:43 +00:00
blankie
0928008531 customize: move save button above html textarea, add unsaved changes indicator 2026-06-14 08:12:10 +00:00
blankie
2b7faae02c template: remove forum css from DEFAULT_TEMPLATE (injected at render time) 2026-06-14 08:05:20 +00:00
blankie
ca855cfff9 template: add {{nav}} placeholder, separate from {{content}} 2026-06-14 08:00:57 +00:00
blankie
1d40f996ab docker: fix data persistence with TINYWEB_DATA_DIR env var 2026-06-14 07:48:34 +00:00
blankie
8214f241fa bookmarklet: use dynamic host and scheme from request headers 2026-06-14 07:43:26 +00:00
blankie
a9cf9fb096 simplify: move subscribe form to GET /subscriptions/add 2026-06-14 07:36:37 +00:00
blankie
881218a54f Revert "simplify: move subscribe form to GET /subscriptions/add"
This reverts commit 25e24efbfa.
2026-06-14 07:33:38 +00:00
blankie
06ad729168 simplify: move subscribe form to GET /subscriptions/add 2026-06-14 07:32:58 +00:00
blankie
f0735a2c2a readme: remove duplicate forum section 2026-06-09 05:58:55 +00:00
blankie
05d7800c64 search: match by tag; add: handle ssl errors with manual entry 2026-06-09 05:35:54 +00:00
blankie
f6f3804126 restructure README: expand getting started, demote Docker 2026-06-09 03:18:23 +00:00
blankie
b0ec191777 add CONTRIBUTING.md and issue template 2026-06-09 03:15:55 +00:00
blankie
08bb4230e2 add SECURITY.md 2026-06-09 03:11:43 +00:00
blankie
bddfb70fc0 README: add transparency sections, TOC, update project structure 2026-06-09 03:06:38 +00:00
blankie
dce16e313e split handlers.py into handlers/ package
- _helpers.py: CSRF, FTS sanitizer, pagination, response helpers, tag helpers
- search.py: BM25 + hybrid search, trusted/remote result rendering
- pages.py: add/edit/delete/bulk/bookmark handlers
- subscriptions.py: sync, share preview, API sites, subscription CRUD
- customize.py: settings form, about page
- tags.py: tag list and tag browse handlers
- data.py: export, import, semantic reindex handlers
- __init__.py: dispatch, re-exports, forum_plugin, _request_local

All 58 external symbols re-exported. No changes to app.py, conftest.py,
or any test file.
2026-06-09 02:34:04 +00:00
blankie
503ad787ae add .env.example for environment configuration 2026-06-09 02:14:17 +00:00
blankie
9707079deb point repo URLs to Codeberg instead of self-hosted Gitea 2026-06-09 01:41:41 +00:00
blankie
6b24c34056 clean up: remove unused start.sh/pyinstaller.spec, deduplicate constants, update .gitignore 2026-06-09 01:16:54 +00:00
blankie
8ccd8a5fd3 remove forgejo CI workflow (no releases) 2026-06-09 01:08:39 +00:00
blankie
dc484f1d60 threaded HTTP server, rate limiting, remove slow-web rhetoric 2026-06-09 01:07:36 +00:00
blankie
fa1f6ccc9e rewrite README — descriptive tone, remove releases/philosophy sections 2026-06-09 01:07:09 +00:00
blankie
86dbb6ac28 move forum layout CSS to main site template system
- Remove FORUM_CSS_DEFAULT/KODAMA2 and _forum_css() from forum handlers
- Add FORUM_CSS constant to templates.py with layout-only forum CSS
- Inject forum CSS into any template's <head> via wrap_page()
- Add forum layout styles to kodama2.html theme
- Update database custom template
2026-06-06 01:41:41 +00:00
blankie
ee20cc32d7 added tinyweb-site theme 2026-06-05 05:29:36 +00:00
blankie
c54c6c344e added site_name placeholder to templates 2026-06-05 05:29:36 +00:00
blankie
822fa6e055 hid forum link when disabled 2026-06-05 05:29:36 +00:00
blankie
086ea2eb0b updated forum README with auto-discovery 2026-06-05 05:29:36 +00:00
blankie
083ce6a11f integrated the forum plugin 2026-06-05 05:29:36 +00:00
blankie
6f3c79887c reworked to distribute via clone, not registry 2026-06-05 05:29:36 +00:00
blankie
c81f5a52b9 fixed Docker socket mount 2026-06-05 05:29:36 +00:00
blankie
b7c9a69c2d switched to host-mode Docker 2026-06-05 05:29:36 +00:00
blankie
24a4cadc70 fixed CI: Docker in container 2026-06-05 05:29:36 +00:00
blankie
ce24ff5f3c fixed CI: install jq for release 2026-06-05 05:29:36 +00:00
blankie
7942d537e3 fixed CI: --break-system-packages 2026-06-05 05:29:36 +00:00
blankie
57aa8b7b24 fixed CI: use apt-get for Python 2026-06-05 05:29:36 +00:00
blankie
feac42c5ad added pytest test suite (174 tests)
174 tests covering URL normalization, FTS5 query sanitization, SSRF/CSRF
guards, sharing-mode logic, DB schema and upsert paths, handler
end-to-end flows, and gateway body-size / mesh-whitelist guards. Each
recent bug-fix commit (6ffd38d, 1bc695f, 8dffd8c) has an explicit
regression test in test_regressions.py. One xfail documents a minor
latent bug in clean_url where port 80 is not stripped from upgraded
https URLs.
2026-06-05 05:29:36 +00:00