Compare commits
2 Commits
da5263cd73
...
cd38afc013
| Author | SHA1 | Date | |
|---|---|---|---|
| cd38afc013 | |||
| 67290567fb |
13
.omx/logs/tmux-hook-2026-04-19.jsonl
Normal file
13
.omx/logs/tmux-hook-2026-04-19.jsonl
Normal file
@@ -0,0 +1,13 @@
|
||||
{"timestamp":"2026-04-19T19:50:44.595Z","type":"auto_nudge_skipped","reason":"unmanaged_session"}
|
||||
{"timestamp":"2026-04-19T19:58:20.085Z","type":"auto_nudge_skipped","reason":"unmanaged_session"}
|
||||
{"timestamp":"2026-04-19T20:20:08.439Z","type":"auto_nudge_skipped","reason":"unmanaged_session"}
|
||||
{"timestamp":"2026-04-19T20:20:19.104Z","type":"auto_nudge_skipped","reason":"unmanaged_session"}
|
||||
{"timestamp":"2026-04-19T20:20:19.841Z","type":"auto_nudge_skipped","reason":"unmanaged_session"}
|
||||
{"timestamp":"2026-04-19T20:21:03.727Z","type":"auto_nudge_skipped","reason":"unmanaged_session"}
|
||||
{"timestamp":"2026-04-19T20:21:39.245Z","type":"auto_nudge_skipped","reason":"unmanaged_session"}
|
||||
{"timestamp":"2026-04-19T20:26:48.792Z","type":"auto_nudge_skipped","reason":"unmanaged_session"}
|
||||
{"timestamp":"2026-04-19T20:34:30.688Z","type":"auto_nudge_skipped","reason":"unmanaged_session"}
|
||||
{"timestamp":"2026-04-19T20:36:09.732Z","type":"auto_nudge_skipped","reason":"unmanaged_session"}
|
||||
{"timestamp":"2026-04-19T20:37:13.560Z","type":"auto_nudge_skipped","reason":"unmanaged_session"}
|
||||
{"timestamp":"2026-04-19T20:38:03.706Z","type":"auto_nudge_skipped","reason":"unmanaged_session"}
|
||||
{"timestamp":"2026-04-19T20:40:19.442Z","type":"auto_nudge_skipped","reason":"unmanaged_session"}
|
||||
13
.omx/logs/turns-2026-04-19.jsonl
Normal file
13
.omx/logs/turns-2026-04-19.jsonl
Normal file
@@ -0,0 +1,13 @@
|
||||
{"timestamp":"2026-04-19T19:50:44.463Z","type":"agent-turn-complete","thread_id":"019da74a-1f5a-7792-8d11-332de1e9acd8","turn_id":"019da74a-cc13-7e13-b725-69e6539b1bd2","input_preview":"Generate a file named AGENTS.md that serves as a contributor guide for this repository.\r\nYour goal i","output_preview":"Created the contributor guide as requested.\n\n- Added a new root guide with the title `Repository Guidelines`, structured sections, and repo-specific instructions.\n- Tailored content to this project’s "}
|
||||
{"timestamp":"2026-04-19T19:58:19.942Z","type":"agent-turn-complete","thread_id":"019da74a-1f5a-7792-8d11-332de1e9acd8","turn_id":"019da752-6dac-74d0-b199-6ff08e742315","input_preview":"Generate a file named AGENTS.md that serves as a contributor guide for this repository.\r\nYour goal i; Help me resolve this issue: git pull origin main\nFrom https://git.phostrich.com/santhoshj/astro-webs","output_preview":"Your local `main` and remote `origin/main` both have new commits, and your Git is configured to only allow fast-forward pulls.\n\nUse one of these paths:\n\n1. **Merge (safest/easiest)**\n```bash\ngit check"}
|
||||
{"timestamp":"2026-04-19T20:20:08.283Z","type":"agent-turn-complete","thread_id":"019da764-6890-7ce2-b7e4-4dd7d06c7c62","turn_id":"019da764-68c6-7131-8b58-e6979cf114fe","input_preview":"You are a graphify semantic extraction subagent. Read the listed files and extract a knowledge graph","output_preview":"{\"nodes\":[{\"id\":\"agents_repo_guidelines\",\"label\":\"Repository Guidelines\",\"type\":\"document\",\"source_file\":\"AGENTS.md\"},{\"id\":\"repo_site_astro_app\",\"label\":\"Astro app in site/\",\"type\":\"project_structure"}
|
||||
{"timestamp":"2026-04-19T20:20:18.958Z","type":"agent-turn-complete","thread_id":"019da764-693c-7282-a0fa-0afef65c24d8","turn_id":"019da764-6968-7ba1-97c6-5803d010d84a","input_preview":"You are a graphify semantic extraction subagent. Read the listed files and extract a knowledge graph","output_preview":"{\"nodes\":[{\"id\":\"blogs_section_wordpress_content_source\",\"label\":\"wordpress-content-source\",\"type\":\"capability\"},{\"id\":\"blogs_section_blog_section_surface\",\"label\":\"blog-section-surface\",\"type\":\"capab"}
|
||||
{"timestamp":"2026-04-19T20:20:19.694Z","type":"agent-turn-complete","thread_id":"019da764-69f7-7042-9f7a-68feb5630b82","turn_id":"019da764-6a24-76c1-876f-260512cfb6df","input_preview":"You are a graphify semantic extraction subagent. Read the listed files and extract a knowledge graph","output_preview":"{\"nodes\":[{\"id\":\"theme_persistence_change\",\"label\":\"Theme Persistence Change\",\"type\":\"change\"},{\"id\":\"typography_refresh_change\",\"label\":\"Typography Refresh Change\",\"type\":\"change\"},{\"id\":\"umami_error"}
|
||||
{"timestamp":"2026-04-19T20:21:03.588Z","type":"agent-turn-complete","thread_id":"019da764-6977-7362-ac71-968e690b7cb3","turn_id":"019da764-69ae-7a30-9cc9-3ce5a6c8887e","input_preview":"You are a graphify semantic extraction subagent. Read the listed files and extract a knowledge graph","output_preview":"{\"nodes\":[{\"id\":\"change_lighthouse_fixes\",\"label\":\"2026-02-10 lighthouse fixes change\",\"type\":\"change\"},{\"id\":\"doc_lighthouse_baseline_audits\",\"label\":\"lighthouse baseline audits doc\",\"type\":\"document"}
|
||||
{"timestamp":"2026-04-19T20:21:39.107Z","type":"agent-turn-complete","thread_id":"019da764-69bb-7f12-99b6-f1eac564766e","turn_id":"019da764-69e7-7a43-867d-cd48129d6637","input_preview":"You are a graphify semantic extraction subagent. Read the listed files and extract a knowledge graph","output_preview":"{\"nodes\":[{\"id\":\"chunk6_input_set\",\"label\":\"Chunk 6 Input Set\",\"type\":\"input_chunk\"},{\"id\":\"workspace_missing_sources\",\"label\":\"Workspace Missing Sources\",\"type\":\"review_flag\"},{\"id\":\"2026_02_11_video"}
|
||||
{"timestamp":"2026-04-19T20:26:48.653Z","type":"agent-turn-complete","thread_id":"019da768-9a03-7f22-bbf7-7ef2c96a4e01","turn_id":"019da768-9ac9-7de0-ba23-5b3afd06de94","input_preview":"You are a graphify semantic extraction subagent. Read the listed files and extract a knowledge graph","output_preview":"{\"nodes\":[{\"id\":\"spec_seo_content_surface\",\"label\":\"SEO content surface spec\",\"type\":\"spec\"},{\"id\":\"spec_social_content_aggregation\",\"label\":\"Social content aggregation spec\",\"type\":\"spec\"},{\"id\":\"spe"}
|
||||
{"timestamp":"2026-04-19T20:34:30.551Z","type":"agent-turn-complete","thread_id":"019da760-d06b-79e2-86bb-c856c5715244","turn_id":"019da761-00de-7c53-b694-155ddc71aeb3","input_preview":"$graphify","output_preview":"- Built the graph for `C:\\dev\\fast-website` and wrote the durable outputs to [graph.json](C:/dev/fast-website/graphify-out/graph.json), [graph.html](C:/dev/fast-website/graphify-out/graph.html), [GRAP"}
|
||||
{"timestamp":"2026-04-19T20:36:09.595Z","type":"agent-turn-complete","thread_id":"019da760-d06b-79e2-86bb-c856c5715244","turn_id":"019da774-c11d-7c51-9966-d8a6f6c60f88","input_preview":"$graphify; Yes","output_preview":"The bridge is the shared concern around motion and cross-surface UX, not a literal “Youtube” dependency.\n\nPath:\n- `2026-02-10 lighthouse fixes change` → `media-modal capability` \n- `2026-02-10 lighth"}
|
||||
{"timestamp":"2026-04-19T20:37:13.420Z","type":"agent-turn-complete","thread_id":"019da760-d06b-79e2-86bb-c856c5715244","turn_id":"019da776-08d7-7cf0-84e3-71ba76732047","input_preview":"$graphify; Yes; how do I ask a coding agent to refer to the graph?","output_preview":"Tell it explicitly what source of truth to use and what not to do.\n\nUse a prompt like:\n\n```text\nRefer to the graph in C:\\dev\\fast-website\\graphify-out\\graph.json and the report in C:\\dev\\fast-website\\"}
|
||||
{"timestamp":"2026-04-19T20:38:03.567Z","type":"agent-turn-complete","thread_id":"019da760-d06b-79e2-86bb-c856c5715244","turn_id":"019da776-ca28-7760-9c25-31b0be695a3a","input_preview":"$graphify; Yes; how do I ask a coding agent to refer to the graph?; Yes","output_preview":"Use this:\n\n```text\nYou are working against a knowledge graph for this repo.\n\nPrimary sources:\n- C:\\dev\\fast-website\\graphify-out\\graph.json\n- C:\\dev\\fast-website\\graphify-out\\GRAPH_REPORT.md\n\nRules:\n-"}
|
||||
{"timestamp":"2026-04-19T20:40:19.299Z","type":"agent-turn-complete","thread_id":"019da778-2cc4-74c3-b45d-969dc53a1911","turn_id":"019da778-b67b-7333-9738-3ba39cd71bc6","input_preview":"You are working against a knowledge graph for this repo.\n\n Primary sources:\n - C:\\dev\\fast-website","output_preview":"I have loaded the knowledge graph for `fast-website`. Here's what it contains:\n\n**Graph Stats**\n- 235 nodes · 221 edges · 57 communities\n- 89% extracted · 11% inferred relationships\n\n**Key Abstraction"}
|
||||
8
.omx/metrics.json
Normal file
8
.omx/metrics.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"total_turns": 13,
|
||||
"session_turns": 13,
|
||||
"last_activity": "2026-04-19T20:40:19.306Z",
|
||||
"session_input_tokens": 0,
|
||||
"session_output_tokens": 0,
|
||||
"session_total_tokens": 0
|
||||
}
|
||||
6
.omx/state/hud-state.json
Normal file
6
.omx/state/hud-state.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"last_turn_at": "2026-04-19T20:40:19.309Z",
|
||||
"turn_count": 13,
|
||||
"last_progress_at": "2026-04-19T20:40:19.309Z",
|
||||
"last_agent_output": "I have loaded the knowledge graph for `fast-website`. Here's what it contains:\n\n**Graph Stats**\n- 23"
|
||||
}
|
||||
18
.omx/state/notify-hook-state.json
Normal file
18
.omx/state/notify-hook-state.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"recent_turns": {
|
||||
"019da74a-1f5a-7792-8d11-332de1e9acd8|019da74a-cc13-7e13-b725-69e6539b1bd2|agent-turn-complete": 1776628244462,
|
||||
"019da74a-1f5a-7792-8d11-332de1e9acd8|019da752-6dac-74d0-b199-6ff08e742315|agent-turn-complete": 1776628699940,
|
||||
"019da764-6890-7ce2-b7e4-4dd7d06c7c62|019da764-68c6-7131-8b58-e6979cf114fe|agent-turn-complete": 1776630008280,
|
||||
"019da764-693c-7282-a0fa-0afef65c24d8|019da764-6968-7ba1-97c6-5803d010d84a|agent-turn-complete": 1776630018956,
|
||||
"019da764-69f7-7042-9f7a-68feb5630b82|019da764-6a24-76c1-876f-260512cfb6df|agent-turn-complete": 1776630019692,
|
||||
"019da764-6977-7362-ac71-968e690b7cb3|019da764-69ae-7a30-9cc9-3ce5a6c8887e|agent-turn-complete": 1776630063586,
|
||||
"019da764-69bb-7f12-99b6-f1eac564766e|019da764-69e7-7a43-867d-cd48129d6637|agent-turn-complete": 1776630099105,
|
||||
"019da768-9a03-7f22-bbf7-7ef2c96a4e01|019da768-9ac9-7de0-ba23-5b3afd06de94|agent-turn-complete": 1776630408651,
|
||||
"019da760-d06b-79e2-86bb-c856c5715244|019da761-00de-7c53-b694-155ddc71aeb3|agent-turn-complete": 1776630870549,
|
||||
"019da760-d06b-79e2-86bb-c856c5715244|019da774-c11d-7c51-9966-d8a6f6c60f88|agent-turn-complete": 1776630969593,
|
||||
"019da760-d06b-79e2-86bb-c856c5715244|019da776-08d7-7cf0-84e3-71ba76732047|agent-turn-complete": 1776631033418,
|
||||
"019da760-d06b-79e2-86bb-c856c5715244|019da776-ca28-7760-9c25-31b0be695a3a|agent-turn-complete": 1776631083565,
|
||||
"019da778-2cc4-74c3-b45d-969dc53a1911|019da778-b67b-7333-9738-3ba39cd71bc6|agent-turn-complete": 1776631219297
|
||||
},
|
||||
"last_event_at": "2026-04-19T20:40:19.298Z"
|
||||
}
|
||||
5
.omx/state/team-leader-nudge.json
Normal file
5
.omx/state/team-leader-nudge.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"last_nudged_by_team": {},
|
||||
"last_idle_nudged_by_team": {},
|
||||
"progress_by_team": {}
|
||||
}
|
||||
9
.omx/state/tmux-hook-state.json
Normal file
9
.omx/state/tmux-hook-state.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"total_injections": 0,
|
||||
"pane_counts": {},
|
||||
"session_counts": {},
|
||||
"recent_keys": {},
|
||||
"last_injection_ts": 0,
|
||||
"last_reason": "disabled",
|
||||
"last_event_at": "2026-04-19T20:40:19.332Z"
|
||||
}
|
||||
@@ -24,6 +24,7 @@ COPY site/ ./
|
||||
# Content is fetched before build (typically in CI) and committed into the build context at
|
||||
# `site/content/cache/content.json`. If env vars aren't configured, the fetch step gracefully
|
||||
# skips sources and/or uses last-known-good cache.
|
||||
|
||||
RUN npm run build
|
||||
|
||||
FROM nginx:1.27-alpine
|
||||
|
||||
BIN
__pycache__/graphify_build.cpython-313.pyc
Normal file
BIN
__pycache__/graphify_build.cpython-313.pyc
Normal file
Binary file not shown.
@@ -12,6 +12,10 @@ server {
|
||||
root /usr/share/nginx/html;
|
||||
index index.html;
|
||||
|
||||
# Custom error pages
|
||||
error_page 404 /404.html;
|
||||
error_page 500 502 503 504 /500.html;
|
||||
|
||||
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.instagram.com https://*.instagram.com https://cloud.umami.is https://*.umami.is https://wa.santhoshj.com; style-src 'self' 'unsafe-inline'; font-src 'self' data:; img-src 'self' https: data: blob:; media-src 'self' https://anchor.fm https://*.anchor.fm https://d3ctxlq1ktw2nl.cloudfront.net; connect-src 'self' https://cloud.umami.is https://*.umami.is https://wa.santhoshj.com; frame-src https://www.youtube.com https://open.spotify.com https://www.instagram.com https://*.instagram.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; upgrade-insecure-requests" always;
|
||||
add_header X-Content-Type-Options "nosniff" always;
|
||||
add_header X-Frame-Options "DENY" always;
|
||||
@@ -24,15 +28,22 @@ server {
|
||||
try_files $uri =404;
|
||||
}
|
||||
|
||||
location ~* \.(?:avif|bmp|gif|ico|jpe?g|png|svg|webp)$ {
|
||||
location ~* \.(?:avif|bmp|gif|ico|jpe?g|png|svg|webp|)$ {
|
||||
expires 180d;
|
||||
add_header Cache-Control "public, max-age=15552000" always;
|
||||
try_files $uri =404;
|
||||
}
|
||||
|
||||
# Ensure error pages are served without redirect
|
||||
location = /404.html {
|
||||
internal;
|
||||
}
|
||||
|
||||
location = /500.html {
|
||||
internal;
|
||||
}
|
||||
|
||||
location / {
|
||||
# Serve directory index pages without requiring a trailing slash.
|
||||
# This fixes /videos (and similar) resolving to /videos/index.html.
|
||||
try_files $uri $uri/index.html $uri/ =404;
|
||||
}
|
||||
}
|
||||
}
|
||||
425
graphify-out/GRAPH_REPORT.md
Normal file
425
graphify-out/GRAPH_REPORT.md
Normal file
@@ -0,0 +1,425 @@
|
||||
# Graph Report - . (2026-04-19)
|
||||
|
||||
## Corpus Check
|
||||
- 177 files · ~197,362 words
|
||||
- Verdict: corpus is large enough that graph structure adds value.
|
||||
|
||||
## Summary
|
||||
- 235 nodes · 221 edges · 57 communities detected
|
||||
- Extraction: 89% EXTRACTED · 11% INFERRED · 0% AMBIGUOUS · INFERRED: 25 edges (avg confidence: 0.76)
|
||||
- Token cost: 0 input · 0 output
|
||||
|
||||
## Community Hubs (Navigation)
|
||||
- [[_COMMUNITY_Layout Persistence Branding|Layout Persistence Branding]]
|
||||
- [[_COMMUNITY_Concept Modal Youtube|Concept Modal Youtube]]
|
||||
- [[_COMMUNITY_Main Getingestconfigfromenv Getpublicconfig|Main Getingestconfigfromenv Getpublicconfig]]
|
||||
- [[_COMMUNITY_Wordpress Decodeentities Fetchallpages|Wordpress Decodeentities Fetchallpages]]
|
||||
- [[_COMMUNITY_Cache Main Createcachefromenv|Cache Main Createcachefromenv]]
|
||||
- [[_COMMUNITY_Highperformingyoutubevideos Instagramposts Newestitems|Highperformingyoutubevideos Instagramposts Newestitems]]
|
||||
- [[_COMMUNITY_Compute Sleep Cachedcompute|Compute Sleep Cachedcompute]]
|
||||
- [[_COMMUNITY_Cache Slug Build|Cache Slug Build]]
|
||||
- [[_COMMUNITY_Image Placeholder Load|Image Placeholder Load]]
|
||||
- [[_COMMUNITY_Website Repository Guidelines|Website Repository Guidelines]]
|
||||
- [[_COMMUNITY_Youtube Fetchyoutubeviaapi Fetchyoutubeviarss|Youtube Fetchyoutubeviaapi Fetchyoutubeviarss]]
|
||||
- [[_COMMUNITY_Cacheputsafe Isget Isimagerequest|Cacheputsafe Isget Isimagerequest]]
|
||||
- [[_COMMUNITY_Production Notch Styling|Production Notch Styling]]
|
||||
- [[_COMMUNITY_Astro Blogpostcard Layout|Astro Blogpostcard Layout]]
|
||||
- [[_COMMUNITY_Getcachepath Readcontentcache Verify|Getcachepath Readcontentcache Verify]]
|
||||
- [[_COMMUNITY_Fetchpodcastrss Normalizepodcastfeeditems Striphtml|Fetchpodcastrss Normalizepodcastfeeditems Striphtml]]
|
||||
- [[_COMMUNITY_Target Data Umami|Target Data Umami]]
|
||||
- [[_COMMUNITY_Screenshot Review Santhoshj|Screenshot Review Santhoshj]]
|
||||
- [[_COMMUNITY_Tests Listed Files|Tests Listed Files]]
|
||||
- [[_COMMUNITY_Service Worker Critical|Service Worker Critical]]
|
||||
- [[_COMMUNITY_Withutm|Withutm]]
|
||||
- [[_COMMUNITY_Creatememorycache Memory Cache|Creatememorycache Memory Cache]]
|
||||
- [[_COMMUNITY_Readfeaturedvideoids Curation|Readfeaturedvideoids Curation]]
|
||||
- [[_COMMUNITY_Read Umami Attributes|Read Umami Attributes]]
|
||||
- [[_COMMUNITY_Read Layout Test|Read Layout Test]]
|
||||
- [[_COMMUNITY_Read Title Type|Read Title Type]]
|
||||
- [[_COMMUNITY_Umami Attributes Test|Umami Attributes Test]]
|
||||
- [[_COMMUNITY_Wcag Responsive Shell|Wcag Responsive Shell]]
|
||||
- [[_COMMUNITY_Normalized Schema Wordpress|Normalized Schema Wordpress]]
|
||||
- [[_COMMUNITY_Passwords Rationale Revocable|Passwords Rationale Revocable]]
|
||||
- [[_COMMUNITY_Astro Config|Astro Config]]
|
||||
- [[_COMMUNITY_Community 31|Community 31]]
|
||||
- [[_COMMUNITY_Links|Links]]
|
||||
- [[_COMMUNITY_Types|Types]]
|
||||
- [[_COMMUNITY_Types|Types]]
|
||||
- [[_COMMUNITY_Test|Test]]
|
||||
- [[_COMMUNITY_Ingest Test|Ingest Test]]
|
||||
- [[_COMMUNITY_Desktop Header Screenshot|Desktop Header Screenshot]]
|
||||
- [[_COMMUNITY_Mobile Header Screenshot|Mobile Header Screenshot]]
|
||||
- [[_COMMUNITY_Surface|Surface]]
|
||||
- [[_COMMUNITY_Rationale Structure Keeps|Rationale Structure Keeps]]
|
||||
- [[_COMMUNITY_Contentitem Summary Optional|Contentitem Summary Optional]]
|
||||
- [[_COMMUNITY_Standardcard Astro|Standardcard Astro]]
|
||||
- [[_COMMUNITY_Post Slug Astro|Post Slug Astro]]
|
||||
- [[_COMMUNITY_Slug Astro|Slug Astro]]
|
||||
- [[_COMMUNITY_Point Quality Gate|Point Quality Gate]]
|
||||
- [[_COMMUNITY_Bounce Rate Reduction|Bounce Rate Reduction]]
|
||||
- [[_COMMUNITY_Preview Modal Instead|Preview Modal Instead]]
|
||||
- [[_COMMUNITY_Umami Preview Event|Umami Preview Event]]
|
||||
- [[_COMMUNITY_Modal Tracking Click|Modal Tracking Click]]
|
||||
- [[_COMMUNITY_Precedence Localstorage Cookie|Precedence Localstorage Cookie]]
|
||||
- [[_COMMUNITY_Cookie Fallback Long|Cookie Fallback Long]]
|
||||
- [[_COMMUNITY_Switch Event Automatic|Switch Event Automatic]]
|
||||
- [[_COMMUNITY_Surface|Surface]]
|
||||
- [[_COMMUNITY_Social Aggregation|Social Aggregation]]
|
||||
- [[_COMMUNITY_Homepage Modules|Homepage Modules]]
|
||||
- [[_COMMUNITY_Conversion Ctas|Conversion Ctas]]
|
||||
|
||||
## God Nodes (most connected - your core abstractions)
|
||||
1. `2026-02-10 lighthouse fixes change` - 13 edges
|
||||
2. `main()` - 10 edges
|
||||
3. `createCacheFromEnv()` - 8 edges
|
||||
4. `media-modal capability` - 7 edges
|
||||
5. `run()` - 6 edges
|
||||
6. `normalizeWordpressPost()` - 6 edges
|
||||
7. `fast-website` - 6 edges
|
||||
8. `Three-theme system (dark/light/high-contrast)` - 6 edges
|
||||
9. `log()` - 5 edges
|
||||
10. `normalizeWordpressPage()` - 5 edges
|
||||
|
||||
## Surprising Connections (you probably didn't know these)
|
||||
- `Favicon SVG stylized S mark` --supports_branding--> `SEO-first content aggregation website` [INFERRED]
|
||||
site/public/favicon.svg → README.md
|
||||
- `run()` --calls--> `log()` [INFERRED]
|
||||
site\scripts\run-lighthouse.ts → site\scripts\fetch-content.ts
|
||||
- `createCacheFromEnv()` --calls--> `log()` [INFERRED]
|
||||
site\src\lib\cache\index.ts → site\scripts\fetch-content.ts
|
||||
- `main()` --calls--> `getIngestConfigFromEnv()` [INFERRED]
|
||||
site\scripts\fetch-content.ts → site\src\lib\config.ts
|
||||
- `main()` --calls--> `createCacheFromEnv()` [INFERRED]
|
||||
site\scripts\fetch-content.ts → site\src\lib\cache\index.ts
|
||||
|
||||
## Hyperedges (group relationships)
|
||||
- **Theme notch incident bundle** — doc_diag_complete, doc_diag_summary, doc_prod_diagnosis, issue_theme_notch_production_unstyled, cause_stale_production_css, fix_rebuild_redeploy_docker [INFERRED 0.90]
|
||||
- **Lighthouse gate contract** — capability_lighthouse_quality_gate, concept_lighthouse_gate_100, concept_theme_system, concept_service_worker_caching, concept_layout_shift_prevention [EXTRACTED 0.90]
|
||||
- **Media modal implementation bundle** — capability_media_modal, concept_native_dialog_modal, concept_iframe_src_reset, concept_cards_as_buttons, concept_data_attributes_modal, concept_modal_embed_urls, concept_wcag_modal_accessibility, concept_umami_media_preview, concept_modal_cta_tracking [EXTRACTED 0.90]
|
||||
- **Theme persistence bundle** — change_remember_theme, concept_theme_persistence, concept_theme_precedence_order, concept_site_theme_cookie, concept_theme_switch_event, concept_theme_switch_payload, concept_no_restore_event [EXTRACTED 0.90]
|
||||
|
||||
## Communities
|
||||
|
||||
### Community 0 - "Layout Persistence Branding"
|
||||
Cohesion: 0.08
|
||||
Nodes (25): lighthouse-quality-gate capability, Accessible semantic controls, deterministic lighthouse gate, Layout shift prevention, prefers-reduced-motion handling, theme persistence across visits, Theme persistence with localStorage/cookie fallback, theme_switch umami event (+17 more)
|
||||
|
||||
### Community 1 - "Concept Modal Youtube"
|
||||
Cohesion: 0.12
|
||||
Nodes (18): media-modal capability, 2026-02-10 lighthouse fixes change, youtube iframe api endpoint, video/podcast cards as button triggers, concept crawlable anchors, concept csp header alignment, concept dark theme contrast tokens, data-* attribute flow from cards to modal (+10 more)
|
||||
|
||||
### Community 2 - "Main Getingestconfigfromenv Getpublicconfig"
|
||||
Cohesion: 0.18
|
||||
Nodes (11): getIngestConfigFromEnv(), dedupe(), log(), main(), normalizeSpotifyEpisodeUrl(), readPodcastSpotifyOverrideMap(), writeAtomic(), readInstagramEmbedPosts() (+3 more)
|
||||
|
||||
### Community 3 - "Wordpress Decodeentities Fetchallpages"
|
||||
Cohesion: 0.27
|
||||
Nodes (10): decodeEntities(), fetchWordpressContent(), getAuthHeaders(), mapCategoryIds(), mapFeaturedImageUrl(), normalizeWordpressCategory(), normalizeWordpressPage(), normalizeWordpressPost() (+2 more)
|
||||
|
||||
### Community 4 - "Cache Main Createcachefromenv"
|
||||
Cohesion: 0.21
|
||||
Nodes (7): log(), main(), createCacheFromEnv(), createNoopCache(), createRedisCache(), resolveDefaultTtlSecondsFromEnv(), resolveRedisUrlFromEnv()
|
||||
|
||||
### Community 5 - "Highperformingyoutubevideos Instagramposts Newestitems"
|
||||
Cohesion: 0.2
|
||||
Nodes (4): highPerformingYoutubeVideos(), wordpressPosts(), wordpressPostsByCategorySlug(), youtubeVideos()
|
||||
|
||||
### Community 6 - "Compute Sleep Cachedcompute"
|
||||
Cohesion: 0.25
|
||||
Nodes (7): compute(), sleep(), cachedCompute(), getArg(), hasFlag(), run(), startPreviewServerIfNeeded()
|
||||
|
||||
### Community 7 - "Cache Slug Build"
|
||||
Cohesion: 0.18
|
||||
Nodes (11): blog-section-surface, build-time ingestion into content cache, site/content/cache/content.json, site/scripts/fetch-content.ts, Rationale: build-time cache keeps site fast and crawlable, /blog/category/<slug> route, /blog route, /blog/page/<slug> route (+3 more)
|
||||
|
||||
### Community 8 - "Image Placeholder Load"
|
||||
Cohesion: 0.2
|
||||
Nodes (10): BaseLayout inline image load script, static placeholder on image error, fade-in on image load, image-lazy-loading, .img-error, .img-loading, .img-shimmer-wrap, no CLS from placeholder (+2 more)
|
||||
|
||||
### Community 9 - "Website Repository Guidelines"
|
||||
Cohesion: 0.22
|
||||
Nodes (9): Repository Guidelines, SVG uses prefers-color-scheme dark fill override, Favicon SVG stylized S mark, lighthouse-quality-gate, nav-hover-line, theme-switcher-notch, OpenSpec schema spec-driven, fast-website (+1 more)
|
||||
|
||||
### Community 10 - "Youtube Fetchyoutubeviaapi Fetchyoutubeviarss"
|
||||
Cohesion: 0.36
|
||||
Nodes (6): fetchYoutubeViaApi(), fetchYoutubeViaRss(), normalizeYoutubeApiVideos(), normalizeYoutubeRssFeedItems(), stripHtml(), truncate()
|
||||
|
||||
### Community 11 - "Cacheputsafe Isget Isimagerequest"
|
||||
Cohesion: 0.33
|
||||
Nodes (0):
|
||||
|
||||
### Community 12 - "Production Notch Styling"
|
||||
Cohesion: 0.33
|
||||
Nodes (6): Stale production CSS missing theme-notch rules, Production Theme Notch Styling Issue - Complete Diagnostic Report, Production Theme Notch Styling Issue - Executive Summary, Production Theme Notch Styling Issue - Diagnostic Report, Rebuild and redeploy Docker image, Theme notch unstyled on production
|
||||
|
||||
### Community 13 - "Astro Blogpostcard Layout"
|
||||
Cohesion: 0.33
|
||||
Nodes (4): card-layout-system, views shown only when available, shared Card component, standard footer/meta row
|
||||
|
||||
### Community 14 - "Getcachepath Readcontentcache Verify"
|
||||
Cohesion: 0.5
|
||||
Nodes (3): getCachePath(), readContentCache(), main()
|
||||
|
||||
### Community 15 - "Fetchpodcastrss Normalizepodcastfeeditems Striphtml"
|
||||
Cohesion: 0.6
|
||||
Nodes (4): fetchPodcastRss(), normalizePodcastFeedItems(), stripHtml(), truncate()
|
||||
|
||||
### Community 16 - "Target Data Umami"
|
||||
Cohesion: 0.5
|
||||
Nodes (4): data-umami-event attributes, placement, target_id, target_url
|
||||
|
||||
### Community 17 - "Screenshot Review Santhoshj"
|
||||
Cohesion: 0.67
|
||||
Nodes (3): Performance Review — santhoshj.com, Blog page screenshot, Homepage screenshot
|
||||
|
||||
### Community 18 - "Tests Listed Files"
|
||||
Cohesion: 0.67
|
||||
Nodes (3): Listed spec files missing in current workspace, site/tests/content.spec.ts, site/tests/yaml.spec.ts
|
||||
|
||||
### Community 19 - "Service Worker Critical"
|
||||
Cohesion: 0.67
|
||||
Nodes (3): Critical-asset cache busting, Service worker caching lifecycle, Service worker performance spec
|
||||
|
||||
### Community 20 - "Withutm"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 21 - "Creatememorycache Memory Cache"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 22 - "Readfeaturedvideoids Curation"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 23 - "Read Umami Attributes"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 24 - "Read Layout Test"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 25 - "Read Title Type"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 26 - "Umami Attributes Test"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 27 - "Wcag Responsive Shell"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 28 - "Normalized Schema Wordpress"
|
||||
Cohesion: 1.0
|
||||
Nodes (2): normalized wordpress internal schema, Rationale: normalized schema keeps UI simple and consistent
|
||||
|
||||
### Community 29 - "Passwords Rationale Revocable"
|
||||
Cohesion: 1.0
|
||||
Nodes (2): Rationale: app passwords are revocable and safer operationally, WordPress application passwords
|
||||
|
||||
### Community 30 - "Astro Config"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 31 - "Community 31"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 32 - "Links"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 33 - "Types"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 34 - "Types"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 35 - "Test"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 36 - "Ingest Test"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 37 - "Desktop Header Screenshot"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): Desktop header screenshot
|
||||
|
||||
### Community 38 - "Mobile Header Screenshot"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): Mobile header screenshot
|
||||
|
||||
### Community 39 - "Surface"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): seo-content-surface
|
||||
|
||||
### Community 40 - "Rationale Structure Keeps"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): Rationale: route structure keeps URLs clear and stable
|
||||
|
||||
### Community 41 - "Contentitem Summary Optional"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): ContentItem.summary optional field
|
||||
|
||||
### Community 42 - "Standardcard Astro"
|
||||
Cohesion: 1.0
|
||||
Nodes (0):
|
||||
|
||||
### Community 43 - "Post Slug Astro"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): blog/post/[slug].astro
|
||||
|
||||
### Community 44 - "Slug Astro"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): blog/page/[slug].astro
|
||||
|
||||
### Community 45 - "Point Quality Gate"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): Lighthouse 100-point quality gate
|
||||
|
||||
### Community 46 - "Bounce Rate Reduction"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): Bounce rate reduction intent
|
||||
|
||||
### Community 47 - "Preview Modal Instead"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): on-site media preview modal instead of outbound navigation
|
||||
|
||||
### Community 48 - "Umami Preview Event"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): umami media_preview event taxonomy
|
||||
|
||||
### Community 49 - "Modal Tracking Click"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): modal CTA tracking via cta_click taxonomy
|
||||
|
||||
### Community 50 - "Precedence Localstorage Cookie"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): theme precedence localStorage -> cookie -> environment signals
|
||||
|
||||
### Community 51 - "Cookie Fallback Long"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): site_theme cookie fallback with long TTL
|
||||
|
||||
### Community 52 - "Switch Event Automatic"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): no theme_switch event on automatic restoration
|
||||
|
||||
### Community 53 - "Surface"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): SEO content surface spec
|
||||
|
||||
### Community 54 - "Social Aggregation"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): Social content aggregation spec
|
||||
|
||||
### Community 55 - "Homepage Modules"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): Homepage content modules spec
|
||||
|
||||
### Community 56 - "Conversion Ctas"
|
||||
Cohesion: 1.0
|
||||
Nodes (1): Conversion CTAs spec
|
||||
|
||||
## Knowledge Gaps
|
||||
- **78 isolated node(s):** `Repository Guidelines`, `OpenSpec schema spec-driven`, `theme-switcher-notch`, `nav-hover-line`, `lighthouse-quality-gate` (+73 more)
|
||||
These have ≤1 connection - possible missing edges or undocumented components.
|
||||
- **Thin community `Withutm`** (2 nodes): `url.ts`, `withUtm()`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Creatememorycache Memory Cache`** (2 nodes): `createMemoryCache()`, `memory-cache.ts`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Readfeaturedvideoids Curation`** (2 nodes): `readFeaturedVideoIds()`, `curation.ts`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Read Umami Attributes`** (2 nodes): `read()`, `blog-umami-attributes.test.ts`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Read Layout Test`** (2 nodes): `read()`, `card-layout.test.ts`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Read Title Type`** (2 nodes): `read()`, `content-title-type-attributes.test.ts`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Umami Attributes Test`** (2 nodes): `umami-attributes.test.ts`, `read()`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Wcag Responsive Shell`** (2 nodes): `wcag-responsive-shell.test.ts`, `read()`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Normalized Schema Wordpress`** (2 nodes): `normalized wordpress internal schema`, `Rationale: normalized schema keeps UI simple and consistent`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Passwords Rationale Revocable`** (2 nodes): `Rationale: app passwords are revocable and safer operationally`, `WordPress application passwords`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Astro Config`** (1 nodes): `astro.config.mjs`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Community 31`** (1 nodes): `env.d.ts`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Links`** (1 nodes): `links.ts`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Types`** (1 nodes): `types.ts`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Types`** (1 nodes): `types.ts`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Test`** (1 nodes): `blog-nav.test.ts`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Ingest Test`** (1 nodes): `ingest.test.ts`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Desktop Header Screenshot`** (1 nodes): `Desktop header screenshot`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Mobile Header Screenshot`** (1 nodes): `Mobile header screenshot`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Surface`** (1 nodes): `seo-content-surface`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Rationale Structure Keeps`** (1 nodes): `Rationale: route structure keeps URLs clear and stable`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Contentitem Summary Optional`** (1 nodes): `ContentItem.summary optional field`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Standardcard Astro`** (1 nodes): `StandardCard.astro`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Post Slug Astro`** (1 nodes): `blog/post/[slug].astro`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Slug Astro`** (1 nodes): `blog/page/[slug].astro`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Point Quality Gate`** (1 nodes): `Lighthouse 100-point quality gate`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Bounce Rate Reduction`** (1 nodes): `Bounce rate reduction intent`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Preview Modal Instead`** (1 nodes): `on-site media preview modal instead of outbound navigation`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Umami Preview Event`** (1 nodes): `umami media_preview event taxonomy`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Modal Tracking Click`** (1 nodes): `modal CTA tracking via cta_click taxonomy`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Precedence Localstorage Cookie`** (1 nodes): `theme precedence localStorage -> cookie -> environment signals`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Cookie Fallback Long`** (1 nodes): `site_theme cookie fallback with long TTL`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Switch Event Automatic`** (1 nodes): `no theme_switch event on automatic restoration`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Surface`** (1 nodes): `SEO content surface spec`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Social Aggregation`** (1 nodes): `Social content aggregation spec`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Homepage Modules`** (1 nodes): `Homepage content modules spec`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
- **Thin community `Conversion Ctas`** (1 nodes): `Conversion CTAs spec`
|
||||
Too small to be a meaningful cluster - may be noise or needs more connections extracted.
|
||||
|
||||
## Suggested Questions
|
||||
_Questions this graph is uniquely positioned to answer:_
|
||||
|
||||
- **Why does `2026-02-10 lighthouse fixes change` connect `Concept Modal Youtube` to `Layout Persistence Branding`?**
|
||||
_High betweenness centrality (0.020) - this node is a cross-community bridge._
|
||||
- **Why does `prefers-reduced-motion handling` connect `Layout Persistence Branding` to `Concept Modal Youtube`?**
|
||||
_High betweenness centrality (0.017) - this node is a cross-community bridge._
|
||||
- **Why does `main()` connect `Main Getingestconfigfromenv Getpublicconfig` to `Cache Main Createcachefromenv`, `Compute Sleep Cachedcompute`?**
|
||||
_High betweenness centrality (0.012) - this node is a cross-community bridge._
|
||||
- **Are the 4 inferred relationships involving `main()` (e.g. with `getIngestConfigFromEnv()` and `createCacheFromEnv()`) actually correct?**
|
||||
_`main()` has 4 INFERRED edges - model-reasoned connections that need verification._
|
||||
- **Are the 7 inferred relationships involving `createCacheFromEnv()` (e.g. with `main()` and `main()`) actually correct?**
|
||||
_`createCacheFromEnv()` has 7 INFERRED edges - model-reasoned connections that need verification._
|
||||
- **Are the 2 inferred relationships involving `run()` (e.g. with `sleep()` and `log()`) actually correct?**
|
||||
_`run()` has 2 INFERRED edges - model-reasoned connections that need verification._
|
||||
- **What connects `Repository Guidelines`, `OpenSpec schema spec-driven`, `theme-switcher-notch` to the rest of the system?**
|
||||
_78 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||
12
graphify-out/cost.json
Normal file
12
graphify-out/cost.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"runs": [
|
||||
{
|
||||
"date": "2026-04-19T00:00:00Z",
|
||||
"input_tokens": 0,
|
||||
"output_tokens": 0,
|
||||
"files": 177
|
||||
}
|
||||
],
|
||||
"total_input_tokens": 0,
|
||||
"total_output_tokens": 0
|
||||
}
|
||||
257
graphify-out/graph.html
Normal file
257
graphify-out/graph.html
Normal file
File diff suppressed because one or more lines are too long
4697
graphify-out/graph.json
Normal file
4697
graphify-out/graph.json
Normal file
File diff suppressed because it is too large
Load Diff
179
graphify-out/manifest.json
Normal file
179
graphify-out/manifest.json
Normal file
@@ -0,0 +1,179 @@
|
||||
{
|
||||
"site\\astro.config.mjs": 1770696052.5299394,
|
||||
"site\\public\\sw.js": 1770778835.0382543,
|
||||
"site\\scripts\\cache-clear.ts": 1770704069.523524,
|
||||
"site\\scripts\\fetch-content.ts": 1770759379.7095494,
|
||||
"site\\scripts\\run-lighthouse.ts": 1770779378.6530933,
|
||||
"site\\scripts\\verify-blog-build.ts": 1770703147.2500439,
|
||||
"site\\scripts\\verify-umami-in-dist.ts": 1770722100.1253102,
|
||||
"site\\src\\env.d.ts": 1770781865.8927536,
|
||||
"site\\src\\lib\\config.ts": 1770781915.8184347,
|
||||
"site\\src\\lib\\links.ts": 1770760446.5389628,
|
||||
"site\\src\\lib\\url.ts": 1770696052.7901123,
|
||||
"site\\src\\lib\\cache\\index.ts": 1770704027.8143616,
|
||||
"site\\src\\lib\\cache\\memoize.ts": 1770704096.3146253,
|
||||
"site\\src\\lib\\cache\\memory-cache.ts": 1770704090.5106878,
|
||||
"site\\src\\lib\\cache\\noop-cache.ts": 1770704019.2556648,
|
||||
"site\\src\\lib\\cache\\redis-cache.ts": 1770704014.1144633,
|
||||
"site\\src\\lib\\content\\cache.ts": 1770702913.9393668,
|
||||
"site\\src\\lib\\content\\curation.ts": 1770696052.7545974,
|
||||
"site\\src\\lib\\content\\selectors.ts": 1770702925.4313648,
|
||||
"site\\src\\lib\\content\\types.ts": 1770759237.107753,
|
||||
"site\\src\\lib\\ingest\\instagram.ts": 1770696052.7691603,
|
||||
"site\\src\\lib\\ingest\\podcast.ts": 1770759246.3350432,
|
||||
"site\\src\\lib\\ingest\\types.ts": 1770696052.7765744,
|
||||
"site\\src\\lib\\ingest\\wordpress.ts": 1770702898.2534895,
|
||||
"site\\src\\lib\\ingest\\youtube.ts": 1770707408.2922978,
|
||||
"site\\tests\\blog-nav.test.ts": 1770703139.8473601,
|
||||
"site\\tests\\blog-umami-attributes.test.ts": 1770707507.5898702,
|
||||
"site\\tests\\cache-wrapper.test.ts": 1770704106.4231348,
|
||||
"site\\tests\\card-layout.test.ts": 1770778848.318161,
|
||||
"site\\tests\\content-title-type-attributes.test.ts": 1770707512.7382674,
|
||||
"site\\tests\\ingest.test.ts": 1770696052.869126,
|
||||
"site\\tests\\umami-attributes.test.ts": 1770757650.2056983,
|
||||
"site\\tests\\wcag-responsive-shell.test.ts": 1770778855.4394329,
|
||||
"AGENTS.md": 1776628237.9663427,
|
||||
"DIAGNOSIS_COMPLETE.md": 1770774350.9478524,
|
||||
"DIAGNOSIS_SUMMARY.txt": 1770774329.1455705,
|
||||
"PRODUCTION_DIAGNOSIS.md": 1770774313.8073833,
|
||||
"README.md": 1770783181.1709754,
|
||||
"review-notes.md": 1775892139.263028,
|
||||
"deploy\\runbook.md": 1770716901.5902822,
|
||||
"openspec\\changes\\archive\\2026-02-10-better-cache\\design.md": 1770703824.4651365,
|
||||
"openspec\\changes\\archive\\2026-02-10-better-cache\\proposal.md": 1770703732.19924,
|
||||
"openspec\\changes\\archive\\2026-02-10-better-cache\\tasks.md": 1770704138.6287496,
|
||||
"openspec\\changes\\archive\\2026-02-10-better-cache\\specs\\cache-layer\\spec.md": 1770703833.315094,
|
||||
"openspec\\changes\\archive\\2026-02-10-better-cache\\specs\\social-content-aggregation\\spec.md": 1770703840.6947522,
|
||||
"openspec\\changes\\archive\\2026-02-10-better-cache\\specs\\wordpress-content-source\\spec.md": 1770703850.2886736,
|
||||
"openspec\\changes\\archive\\2026-02-10-better-tracking\\design.md": 1770705507.058264,
|
||||
"openspec\\changes\\archive\\2026-02-10-better-tracking\\proposal.md": 1770705406.445285,
|
||||
"openspec\\changes\\archive\\2026-02-10-better-tracking\\tasks.md": 1770705742.4905672,
|
||||
"openspec\\changes\\archive\\2026-02-10-better-tracking\\specs\\analytics-umami\\spec.md": 1770705488.2900243,
|
||||
"openspec\\changes\\archive\\2026-02-10-better-tracking\\specs\\interaction-tracking-taxonomy\\spec.md": 1770705478.2533162,
|
||||
"openspec\\changes\\archive\\2026-02-10-blog-umami-fix\\design.md": 1770704655.2887678,
|
||||
"openspec\\changes\\archive\\2026-02-10-blog-umami-fix\\proposal.md": 1770704562.6725414,
|
||||
"openspec\\changes\\archive\\2026-02-10-blog-umami-fix\\tasks.md": 1770705110.210762,
|
||||
"openspec\\changes\\archive\\2026-02-10-blog-umami-fix\\specs\\analytics-umami\\spec.md": 1770704664.1777132,
|
||||
"openspec\\changes\\archive\\2026-02-10-blog-umami-fix\\specs\\blog-section-surface\\spec.md": 1770704682.900847,
|
||||
"openspec\\changes\\archive\\2026-02-10-blog-umami-fix\\specs\\interaction-tracking-taxonomy\\spec.md": 1770704671.2466474,
|
||||
"openspec\\changes\\archive\\2026-02-10-blogs-section\\design.md": 1770702604.1822934,
|
||||
"openspec\\changes\\archive\\2026-02-10-blogs-section\\proposal.md": 1770702501.7027605,
|
||||
"openspec\\changes\\archive\\2026-02-10-blogs-section\\tasks.md": 1770703159.5544684,
|
||||
"openspec\\changes\\archive\\2026-02-10-blogs-section\\specs\\blog-section-surface\\spec.md": 1770702645.5590143,
|
||||
"openspec\\changes\\archive\\2026-02-10-blogs-section\\specs\\seo-content-surface\\spec.md": 1770702651.325966,
|
||||
"openspec\\changes\\archive\\2026-02-10-blogs-section\\specs\\wordpress-content-source\\spec.md": 1770702632.988938,
|
||||
"openspec\\changes\\archive\\2026-02-10-card-layout\\design.md": 1770707076.6786592,
|
||||
"openspec\\changes\\archive\\2026-02-10-card-layout\\proposal.md": 1770706949.8167002,
|
||||
"openspec\\changes\\archive\\2026-02-10-card-layout\\tasks.md": 1770707574.8295856,
|
||||
"openspec\\changes\\archive\\2026-02-10-card-layout\\specs\\blog-section-surface\\spec.md": 1770709072.656981,
|
||||
"openspec\\changes\\archive\\2026-02-10-card-layout\\specs\\card-layout-system\\spec.md": 1770709066.1405613,
|
||||
"openspec\\changes\\archive\\2026-02-10-card-layout\\specs\\social-content-aggregation\\spec.md": 1770707042.9422977,
|
||||
"openspec\\changes\\archive\\2026-02-10-custom-events-umami\\design.md": 1770698186.0620773,
|
||||
"openspec\\changes\\archive\\2026-02-10-custom-events-umami\\proposal.md": 1770698096.4864,
|
||||
"openspec\\changes\\archive\\2026-02-10-custom-events-umami\\tasks.md": 1770699377.160174,
|
||||
"openspec\\changes\\archive\\2026-02-10-custom-events-umami\\specs\\analytics-umami\\spec.md": 1770699508.9692678,
|
||||
"openspec\\changes\\archive\\2026-02-10-custom-events-umami\\specs\\conversion-ctas\\spec.md": 1770699508.970271,
|
||||
"openspec\\changes\\archive\\2026-02-10-custom-events-umami\\specs\\interaction-tracking-taxonomy\\spec.md": 1770699508.970271,
|
||||
"openspec\\changes\\archive\\2026-02-10-deploy-without-node\\design.md": 1770707374.7418158,
|
||||
"openspec\\changes\\archive\\2026-02-10-deploy-without-node\\proposal.md": 1770707214.776635,
|
||||
"openspec\\changes\\archive\\2026-02-10-deploy-without-node\\tasks.md": 1770709577.2629378,
|
||||
"openspec\\changes\\archive\\2026-02-10-deploy-without-node\\specs\\docker-content-refresh\\spec.md": 1770707356.346542,
|
||||
"openspec\\changes\\archive\\2026-02-10-dynamic-homepage-social-acquisition\\design.md": 1770694717.0404153,
|
||||
"openspec\\changes\\archive\\2026-02-10-dynamic-homepage-social-acquisition\\proposal.md": 1770694008.3186584,
|
||||
"openspec\\changes\\archive\\2026-02-10-dynamic-homepage-social-acquisition\\tasks.md": 1770696978.4067898,
|
||||
"openspec\\changes\\archive\\2026-02-10-dynamic-homepage-social-acquisition\\specs\\analytics-umami\\spec.md": 1770694818.6898234,
|
||||
"openspec\\changes\\archive\\2026-02-10-dynamic-homepage-social-acquisition\\specs\\conversion-ctas\\spec.md": 1770694818.689301,
|
||||
"openspec\\changes\\archive\\2026-02-10-dynamic-homepage-social-acquisition\\specs\\homepage-content-modules\\spec.md": 1770694818.6882658,
|
||||
"openspec\\changes\\archive\\2026-02-10-dynamic-homepage-social-acquisition\\specs\\seo-content-surface\\spec.md": 1770694818.689301,
|
||||
"openspec\\changes\\archive\\2026-02-10-dynamic-homepage-social-acquisition\\specs\\social-content-aggregation\\spec.md": 1770694818.6882658,
|
||||
"openspec\\changes\\archive\\2026-02-10-fix-sub-pages\\design.md": 1770700011.169449,
|
||||
"openspec\\changes\\archive\\2026-02-10-fix-sub-pages\\proposal.md": 1770699997.097304,
|
||||
"openspec\\changes\\archive\\2026-02-10-fix-sub-pages\\tasks.md": 1770700170.4931765,
|
||||
"openspec\\changes\\archive\\2026-02-10-fix-sub-pages\\specs\\seo-content-surface\\spec.md": 1770700019.211279,
|
||||
"openspec\\changes\\archive\\2026-02-10-hide-ig-if-no-data\\design.md": 1770701301.1565921,
|
||||
"openspec\\changes\\archive\\2026-02-10-hide-ig-if-no-data\\proposal.md": 1770701242.1272779,
|
||||
"openspec\\changes\\archive\\2026-02-10-hide-ig-if-no-data\\tasks.md": 1770701782.6076858,
|
||||
"openspec\\changes\\archive\\2026-02-10-hide-ig-if-no-data\\specs\\homepage-content-modules\\spec.md": 1770701314.463359,
|
||||
"openspec\\changes\\archive\\2026-02-10-lazy-loading\\design.md": 1770754464.6107624,
|
||||
"openspec\\changes\\archive\\2026-02-10-lazy-loading\\proposal.md": 1770754317.0704117,
|
||||
"openspec\\changes\\archive\\2026-02-10-lazy-loading\\tasks.md": 1770756003.4601965,
|
||||
"openspec\\changes\\archive\\2026-02-10-lazy-loading\\specs\\card-layout-system\\spec.md": 1770754502.9136808,
|
||||
"openspec\\changes\\archive\\2026-02-10-lazy-loading\\specs\\image-lazy-loading\\spec.md": 1770754492.779088,
|
||||
"openspec\\changes\\archive\\2026-02-10-lighthouse-fixes\\baseline-audits.md": 1770778202.0321891,
|
||||
"openspec\\changes\\archive\\2026-02-10-lighthouse-fixes\\design.md": 1770776916.8084137,
|
||||
"openspec\\changes\\archive\\2026-02-10-lighthouse-fixes\\proposal.md": 1770776761.5123682,
|
||||
"openspec\\changes\\archive\\2026-02-10-lighthouse-fixes\\tasks.md": 1770780194.3872564,
|
||||
"openspec\\changes\\archive\\2026-02-10-lighthouse-fixes\\specs\\lighthouse-quality-gate\\spec.md": 1770777148.4286618,
|
||||
"openspec\\changes\\archive\\2026-02-10-lighthouse-fixes\\specs\\media-modal\\spec.md": 1770777148.4321685,
|
||||
"openspec\\changes\\archive\\2026-02-10-lighthouse-fixes\\specs\\responsive-image-delivery\\spec.md": 1770777148.4301648,
|
||||
"openspec\\changes\\archive\\2026-02-10-lighthouse-fixes\\specs\\seo-content-surface\\spec.md": 1770777148.4311683,
|
||||
"openspec\\changes\\archive\\2026-02-10-lighthouse-fixes\\specs\\service-worker-performance\\spec.md": 1770777148.4341688,
|
||||
"openspec\\changes\\archive\\2026-02-10-lighthouse-fixes\\specs\\site-theming\\spec.md": 1770777148.4331682,
|
||||
"openspec\\changes\\archive\\2026-02-10-lighthouse-fixes\\specs\\wcag-responsive-ui\\spec.md": 1770777148.4331682,
|
||||
"openspec\\changes\\archive\\2026-02-10-reduce-bounce-rate\\design.md": 1770762430.7436118,
|
||||
"openspec\\changes\\archive\\2026-02-10-reduce-bounce-rate\\proposal.md": 1770762430.7230804,
|
||||
"openspec\\changes\\archive\\2026-02-10-reduce-bounce-rate\\tasks.md": 1770762388.7942297,
|
||||
"openspec\\changes\\archive\\2026-02-10-reduce-bounce-rate\\specs\\analytics-umami\\spec.md": 1770751643.803513,
|
||||
"openspec\\changes\\archive\\2026-02-10-reduce-bounce-rate\\specs\\card-layout-system\\spec.md": 1770751609.4006913,
|
||||
"openspec\\changes\\archive\\2026-02-10-reduce-bounce-rate\\specs\\conversion-ctas\\spec.md": 1770762298.293718,
|
||||
"openspec\\changes\\archive\\2026-02-10-reduce-bounce-rate\\specs\\interaction-tracking-taxonomy\\spec.md": 1770762310.9267697,
|
||||
"openspec\\changes\\archive\\2026-02-10-reduce-bounce-rate\\specs\\media-modal\\spec.md": 1770762325.8561277,
|
||||
"openspec\\changes\\archive\\2026-02-10-service-workers\\design.md": 1770716121.2041433,
|
||||
"openspec\\changes\\archive\\2026-02-10-service-workers\\proposal.md": 1770716121.2041433,
|
||||
"openspec\\changes\\archive\\2026-02-10-service-workers\\tasks.md": 1770716818.0964458,
|
||||
"openspec\\changes\\archive\\2026-02-10-service-workers\\specs\\service-worker-performance\\spec.md": 1770716121.2059233,
|
||||
"openspec\\changes\\archive\\2026-02-10-wcag-responsive\\design.md": 1770710504.0920277,
|
||||
"openspec\\changes\\archive\\2026-02-10-wcag-responsive\\proposal.md": 1770710381.4593272,
|
||||
"openspec\\changes\\archive\\2026-02-10-wcag-responsive\\tasks.md": 1770711283.7843459,
|
||||
"openspec\\changes\\archive\\2026-02-10-wcag-responsive\\specs\\wcag-responsive-ui\\spec.md": 1770710523.4914804,
|
||||
"openspec\\changes\\archive\\2026-02-11-dch-theming\\design.md": 1770767108.971421,
|
||||
"openspec\\changes\\archive\\2026-02-11-dch-theming\\proposal.md": 1770766934.7293966,
|
||||
"openspec\\changes\\archive\\2026-02-11-dch-theming\\tasks.md": 1770771885.6166718,
|
||||
"openspec\\changes\\archive\\2026-02-11-dch-theming\\specs\\site-theming\\spec.md": 1770767154.674113,
|
||||
"openspec\\changes\\archive\\2026-02-11-dch-theming\\specs\\theme-switcher-notch\\spec.md": 1770767168.3042498,
|
||||
"openspec\\changes\\archive\\2026-02-11-dch-theming\\specs\\wcag-responsive-ui\\spec.md": 1770767178.9348993,
|
||||
"openspec\\changes\\archive\\2026-02-11-final-touches\\design.md": 1770782754.2948294,
|
||||
"openspec\\changes\\archive\\2026-02-11-final-touches\\proposal.md": 1770782748.2698598,
|
||||
"openspec\\changes\\archive\\2026-02-11-final-touches\\tasks.md": 1770782741.2076168,
|
||||
"openspec\\changes\\archive\\2026-02-11-final-touches\\specs\\nav-hover-line\\spec.md": 1770782735.06448,
|
||||
"openspec\\changes\\archive\\2026-02-11-final-touches\\specs\\navbar-branding\\spec.md": 1770781643.923366,
|
||||
"openspec\\changes\\archive\\2026-02-11-remember-theme\\design.md": 1770772744.6321404,
|
||||
"openspec\\changes\\archive\\2026-02-11-remember-theme\\proposal.md": 1770772417.4151812,
|
||||
"openspec\\changes\\archive\\2026-02-11-remember-theme\\tasks.md": 1770773835.9645731,
|
||||
"openspec\\changes\\archive\\2026-02-11-remember-theme\\specs\\analytics-umami\\spec.md": 1770772771.2684093,
|
||||
"openspec\\changes\\archive\\2026-02-11-remember-theme\\specs\\interaction-tracking-taxonomy\\spec.md": 1770772779.25797,
|
||||
"openspec\\changes\\archive\\2026-02-11-remember-theme\\specs\\site-theming\\spec.md": 1770772762.8810704,
|
||||
"openspec\\specs\\analytics-umami\\spec.md": 1770773611.7136278,
|
||||
"openspec\\specs\\blog-section-surface\\spec.md": 1770708953.3703814,
|
||||
"openspec\\specs\\cache-layer\\spec.md": 1770704360.452241,
|
||||
"openspec\\specs\\card-layout-system\\spec.md": 1770762704.0072663,
|
||||
"openspec\\specs\\conversion-ctas\\spec.md": 1770762600.9134228,
|
||||
"openspec\\specs\\docker-content-refresh\\spec.md": 1770709866.7621095,
|
||||
"openspec\\specs\\homepage-content-modules\\spec.md": 1770703572.5904553,
|
||||
"openspec\\specs\\image-lazy-loading\\spec.md": 1770756060.4065144,
|
||||
"openspec\\specs\\interaction-tracking-taxonomy\\spec.md": 1770773621.7074296,
|
||||
"openspec\\specs\\lighthouse-quality-gate\\spec.md": 1770780751.8868713,
|
||||
"openspec\\specs\\media-modal\\spec.md": 1770780711.707662,
|
||||
"openspec\\specs\\nav-hover-line\\spec.md": 1770782770.284241,
|
||||
"openspec\\specs\\navbar-branding\\spec.md": 1770782770.2854366,
|
||||
"openspec\\specs\\responsive-image-delivery\\spec.md": 1770780751.8878753,
|
||||
"openspec\\specs\\seo-content-surface\\spec.md": 1770780729.5234754,
|
||||
"openspec\\specs\\service-worker-performance\\spec.md": 1770780629.3490484,
|
||||
"openspec\\specs\\site-theming\\spec.md": 1770780660.5313509,
|
||||
"openspec\\specs\\social-content-aggregation\\spec.md": 1770708963.4293706,
|
||||
"openspec\\specs\\theme-switcher-notch\\spec.md": 1770772046.8918262,
|
||||
"openspec\\specs\\wcag-responsive-ui\\spec.md": 1770780642.3173912,
|
||||
"openspec\\specs\\wordpress-content-source\\spec.md": 1770704349.2461488,
|
||||
"site\\README.md": 1770695414.2709694,
|
||||
"site\\docs\\lighthouse.md": 1770779458.022776,
|
||||
"site\\public\\robots.txt": 1770777495.024902,
|
||||
"blog-screenshot.png": 1770774244.9107263,
|
||||
"csp-validation-final.png": 1770779783.4508164,
|
||||
"header-desktop-1366x768.png": 1770782205.9854114,
|
||||
"header-hover-effect-desktop.png": 1770782268.1240194,
|
||||
"header-hover-videos.png": 1770782218.7184997,
|
||||
"header-mobile-390x844.png": 1770782209.5139008,
|
||||
"homepage-screenshot.png": 1770774200.8950064,
|
||||
"site\\public\\favicon.png": 1770724544.5309453,
|
||||
"site\\public\\favicon.svg": 1770725206.2187872
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_scripts_verify_umami_in_dist_ts", "label": "verify-umami-in-dist.ts", "file_type": "code", "source_file": "site\\scripts\\verify-umami-in-dist.ts", "source_location": "L1"}, {"id": "verify_umami_in_dist_fail", "label": "fail()", "file_type": "code", "source_file": "site\\scripts\\verify-umami-in-dist.ts", "source_location": "L5"}, {"id": "verify_umami_in_dist_info", "label": "info()", "file_type": "code", "source_file": "site\\scripts\\verify-umami-in-dist.ts", "source_location": "L11"}, {"id": "verify_umami_in_dist_main", "label": "main()", "file_type": "code", "source_file": "site\\scripts\\verify-umami-in-dist.ts", "source_location": "L16"}], "edges": [{"source": "site_scripts_verify_umami_in_dist_ts", "target": "config", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\scripts\\verify-umami-in-dist.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_scripts_verify_umami_in_dist_ts", "target": "promises", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\scripts\\verify-umami-in-dist.ts", "source_location": "L3", "weight": 1.0}, {"source": "site_scripts_verify_umami_in_dist_ts", "target": "verify_umami_in_dist_fail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\scripts\\verify-umami-in-dist.ts", "source_location": "L5", "weight": 1.0}, {"source": "site_scripts_verify_umami_in_dist_ts", "target": "verify_umami_in_dist_info", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\scripts\\verify-umami-in-dist.ts", "source_location": "L11", "weight": 1.0}, {"source": "site_scripts_verify_umami_in_dist_ts", "target": "verify_umami_in_dist_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\scripts\\verify-umami-in-dist.ts", "source_location": "L16", "weight": 1.0}, {"source": "verify_umami_in_dist_main", "target": "verify_umami_in_dist_fail", "relation": "calls", "confidence": "EXTRACTED", "source_file": "site\\scripts\\verify-umami-in-dist.ts", "source_location": "L27", "weight": 1.0}, {"source": "verify_umami_in_dist_main", "target": "verify_umami_in_dist_info", "relation": "calls", "confidence": "EXTRACTED", "source_file": "site\\scripts\\verify-umami-in-dist.ts", "source_location": "L30", "weight": 1.0}], "raw_calls": [{"caller_nid": "verify_umami_in_dist_fail", "callee": "error", "source_file": "site\\scripts\\verify-umami-in-dist.ts", "source_location": "L7"}, {"caller_nid": "verify_umami_in_dist_fail", "callee": "exit", "source_file": "site\\scripts\\verify-umami-in-dist.ts", "source_location": "L8"}, {"caller_nid": "verify_umami_in_dist_info", "callee": "log", "source_file": "site\\scripts\\verify-umami-in-dist.ts", "source_location": "L13"}, {"caller_nid": "verify_umami_in_dist_main", "callee": "readFile", "source_file": "site\\scripts\\verify-umami-in-dist.ts", "source_location": "L17"}, {"caller_nid": "verify_umami_in_dist_main", "callee": "Boolean", "source_file": "site\\scripts\\verify-umami-in-dist.ts", "source_location": "L22"}, {"caller_nid": "verify_umami_in_dist_main", "callee": "includes", "source_file": "site\\scripts\\verify-umami-in-dist.ts", "source_location": "L23"}, {"caller_nid": "verify_umami_in_dist_main", "callee": "includes", "source_file": "site\\scripts\\verify-umami-in-dist.ts", "source_location": "L24"}]}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_src_lib_content_cache_ts", "label": "cache.ts", "file_type": "code", "source_file": "site\\src\\lib\\content\\cache.ts", "source_location": "L1"}, {"id": "cache_getcachepath", "label": "getCachePath()", "file_type": "code", "source_file": "site\\src\\lib\\content\\cache.ts", "source_location": "L12"}, {"id": "cache_readcontentcache", "label": "readContentCache()", "file_type": "code", "source_file": "site\\src\\lib\\content\\cache.ts", "source_location": "L17"}], "edges": [{"source": "site_src_lib_content_cache_ts", "target": "node_fs", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\content\\cache.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_src_lib_content_cache_ts", "target": "node_path", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\content\\cache.ts", "source_location": "L2", "weight": 1.0}, {"source": "site_src_lib_content_cache_ts", "target": "site_src_lib_content_types", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\content\\cache.ts", "source_location": "L4", "weight": 1.0}, {"source": "site_src_lib_content_cache_ts", "target": "cache_getcachepath", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\content\\cache.ts", "source_location": "L12", "weight": 1.0}, {"source": "site_src_lib_content_cache_ts", "target": "cache_readcontentcache", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\content\\cache.ts", "source_location": "L17", "weight": 1.0}, {"source": "cache_readcontentcache", "target": "cache_getcachepath", "relation": "calls", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\content\\cache.ts", "source_location": "L18", "weight": 1.0}], "raw_calls": [{"caller_nid": "cache_getcachepath", "callee": "join", "source_file": "site\\src\\lib\\content\\cache.ts", "source_location": "L14"}, {"caller_nid": "cache_getcachepath", "callee": "cwd", "source_file": "site\\src\\lib\\content\\cache.ts", "source_location": "L14"}, {"caller_nid": "cache_readcontentcache", "callee": "readFile", "source_file": "site\\src\\lib\\content\\cache.ts", "source_location": "L20"}, {"caller_nid": "cache_readcontentcache", "callee": "parse", "source_file": "site\\src\\lib\\content\\cache.ts", "source_location": "L21"}, {"caller_nid": "cache_readcontentcache", "callee": "isArray", "source_file": "site\\src\\lib\\content\\cache.ts", "source_location": "L22"}]}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_tests_cache_wrapper_test_ts", "label": "cache-wrapper.test.ts", "file_type": "code", "source_file": "site\\tests\\cache-wrapper.test.ts", "source_location": "L1"}, {"id": "cache_wrapper_test_sleep", "label": "sleep()", "file_type": "code", "source_file": "site\\tests\\cache-wrapper.test.ts", "source_location": "L6"}, {"id": "cache_wrapper_test_compute", "label": "compute()", "file_type": "code", "source_file": "site\\tests\\cache-wrapper.test.ts", "source_location": "L26"}], "edges": [{"source": "site_tests_cache_wrapper_test_ts", "target": "vitest", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\cache-wrapper.test.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_tests_cache_wrapper_test_ts", "target": "site_src_lib_cache_memory_cache", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\cache-wrapper.test.ts", "source_location": "L3", "weight": 1.0}, {"source": "site_tests_cache_wrapper_test_ts", "target": "site_src_lib_cache_memoize", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\cache-wrapper.test.ts", "source_location": "L4", "weight": 1.0}, {"source": "site_tests_cache_wrapper_test_ts", "target": "cache_wrapper_test_sleep", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\tests\\cache-wrapper.test.ts", "source_location": "L6", "weight": 1.0}, {"source": "site_tests_cache_wrapper_test_ts", "target": "cache_wrapper_test_compute", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\tests\\cache-wrapper.test.ts", "source_location": "L26", "weight": 1.0}], "raw_calls": []}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_tests_blog_nav_test_ts", "label": "blog-nav.test.ts", "file_type": "code", "source_file": "site\\tests\\blog-nav.test.ts", "source_location": "L1"}], "edges": [{"source": "site_tests_blog_nav_test_ts", "target": "promises", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\blog-nav.test.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_tests_blog_nav_test_ts", "target": "node_path", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\blog-nav.test.ts", "source_location": "L2", "weight": 1.0}, {"source": "site_tests_blog_nav_test_ts", "target": "vitest", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\blog-nav.test.ts", "source_location": "L4", "weight": 1.0}], "raw_calls": []}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_src_lib_content_types_ts", "label": "types.ts", "file_type": "code", "source_file": "site\\src\\lib\\content\\types.ts", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_src_lib_ingest_instagram_ts", "label": "instagram.ts", "file_type": "code", "source_file": "site\\src\\lib\\ingest\\instagram.ts", "source_location": "L1"}, {"id": "instagram_readinstagramembedposts", "label": "readInstagramEmbedPosts()", "file_type": "code", "source_file": "site\\src\\lib\\ingest\\instagram.ts", "source_location": "L14"}], "edges": [{"source": "site_src_lib_ingest_instagram_ts", "target": "node_fs", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\ingest\\instagram.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_src_lib_ingest_instagram_ts", "target": "site_src_lib_content_types", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\ingest\\instagram.ts", "source_location": "L3", "weight": 1.0}, {"source": "site_src_lib_ingest_instagram_ts", "target": "instagram_readinstagramembedposts", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\ingest\\instagram.ts", "source_location": "L14", "weight": 1.0}], "raw_calls": [{"caller_nid": "instagram_readinstagramembedposts", "callee": "readFile", "source_file": "site\\src\\lib\\ingest\\instagram.ts", "source_location": "L15"}, {"caller_nid": "instagram_readinstagramembedposts", "callee": "parse", "source_file": "site\\src\\lib\\ingest\\instagram.ts", "source_location": "L16"}, {"caller_nid": "instagram_readinstagramembedposts", "callee": "toISOString", "source_file": "site\\src\\lib\\ingest\\instagram.ts", "source_location": "L17"}, {"caller_nid": "instagram_readinstagramembedposts", "callee": "isArray", "source_file": "site\\src\\lib\\ingest\\instagram.ts", "source_location": "L18"}, {"caller_nid": "instagram_readinstagramembedposts", "callee": "map", "source_file": "site\\src\\lib\\ingest\\instagram.ts", "source_location": "L20"}, {"caller_nid": "instagram_readinstagramembedposts", "callee": "filter", "source_file": "site\\src\\lib\\ingest\\instagram.ts", "source_location": "L20"}]}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_src_lib_ingest_podcast_ts", "label": "podcast.ts", "file_type": "code", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L1"}, {"id": "podcast_fetchpodcastrss", "label": "fetchPodcastRss()", "file_type": "code", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L5"}, {"id": "podcast_striphtml", "label": "stripHtml()", "file_type": "code", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L11"}, {"id": "podcast_truncate", "label": "truncate()", "file_type": "code", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L18"}, {"id": "podcast_normalizepodcastfeeditems", "label": "normalizePodcastFeedItems()", "file_type": "code", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L25"}], "edges": [{"source": "site_src_lib_ingest_podcast_ts", "target": "rss_parser", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_src_lib_ingest_podcast_ts", "target": "site_src_lib_content_types", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L3", "weight": 1.0}, {"source": "site_src_lib_ingest_podcast_ts", "target": "podcast_fetchpodcastrss", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L5", "weight": 1.0}, {"source": "site_src_lib_ingest_podcast_ts", "target": "podcast_striphtml", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L11", "weight": 1.0}, {"source": "site_src_lib_ingest_podcast_ts", "target": "podcast_truncate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L18", "weight": 1.0}, {"source": "site_src_lib_ingest_podcast_ts", "target": "podcast_normalizepodcastfeeditems", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L25", "weight": 1.0}, {"source": "podcast_fetchpodcastrss", "target": "podcast_normalizepodcastfeeditems", "relation": "calls", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L8", "weight": 1.0}, {"source": "podcast_truncate", "target": "podcast_striphtml", "relation": "calls", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L19", "weight": 1.0}], "raw_calls": [{"caller_nid": "podcast_fetchpodcastrss", "callee": "parseURL", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L7"}, {"caller_nid": "podcast_striphtml", "callee": "trim", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L12"}, {"caller_nid": "podcast_striphtml", "callee": "replace", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L12"}, {"caller_nid": "podcast_striphtml", "callee": "replace", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L12"}, {"caller_nid": "podcast_truncate", "callee": "trimEnd", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L22"}, {"caller_nid": "podcast_truncate", "callee": "slice", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L22"}, {"caller_nid": "podcast_truncate", "callee": "max", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L22"}, {"caller_nid": "podcast_normalizepodcastfeeditems", "callee": "map", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L26"}, {"caller_nid": "podcast_normalizepodcastfeeditems", "callee": "slice", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L26"}, {"caller_nid": "podcast_normalizepodcastfeeditems", "callee": "filter", "source_file": "site\\src\\lib\\ingest\\podcast.ts", "source_location": "L52"}]}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_src_lib_cache_redis_cache_ts", "label": "redis-cache.ts", "file_type": "code", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L1"}, {"id": "redis_cache_nskey", "label": "nsKey()", "file_type": "code", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L19"}, {"id": "redis_cache_createrediscache", "label": "createRedisCache()", "file_type": "code", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L23"}, {"id": "redis_cache_resolveredisurlfromenv", "label": "resolveRedisUrlFromEnv()", "file_type": "code", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L71"}, {"id": "redis_cache_resolvedefaultttlsecondsfromenv", "label": "resolveDefaultTtlSecondsFromEnv()", "file_type": "code", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L86"}], "edges": [{"source": "site_src_lib_cache_redis_cache_ts", "target": "redis", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_src_lib_cache_redis_cache_ts", "target": "redis_cache_nskey", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L19", "weight": 1.0}, {"source": "site_src_lib_cache_redis_cache_ts", "target": "redis_cache_createrediscache", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L23", "weight": 1.0}, {"source": "site_src_lib_cache_redis_cache_ts", "target": "redis_cache_resolveredisurlfromenv", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L71", "weight": 1.0}, {"source": "site_src_lib_cache_redis_cache_ts", "target": "redis_cache_resolvedefaultttlsecondsfromenv", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L86", "weight": 1.0}], "raw_calls": [{"caller_nid": "redis_cache_createrediscache", "callee": "createClient", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L25"}, {"caller_nid": "redis_cache_createrediscache", "callee": "on", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L27"}, {"caller_nid": "redis_cache_createrediscache", "callee": "connect", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L31"}, {"caller_nid": "redis_cache_resolveredisurlfromenv", "callee": "Number", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L80"}, {"caller_nid": "redis_cache_resolveredisurlfromenv", "callee": "Number", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L81"}, {"caller_nid": "redis_cache_resolveredisurlfromenv", "callee": "isFinite", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L82"}, {"caller_nid": "redis_cache_resolveredisurlfromenv", "callee": "isFinite", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L82"}, {"caller_nid": "redis_cache_resolvedefaultttlsecondsfromenv", "callee": "Number", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L88"}, {"caller_nid": "redis_cache_resolvedefaultttlsecondsfromenv", "callee": "isFinite", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L89"}, {"caller_nid": "redis_cache_resolvedefaultttlsecondsfromenv", "callee": "floor", "source_file": "site\\src\\lib\\cache\\redis-cache.ts", "source_location": "L89"}]}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_tests_ingest_test_ts", "label": "ingest.test.ts", "file_type": "code", "source_file": "site\\tests\\ingest.test.ts", "source_location": "L1"}], "edges": [{"source": "site_tests_ingest_test_ts", "target": "promises", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\ingest.test.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_tests_ingest_test_ts", "target": "node_path", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\ingest.test.ts", "source_location": "L2", "weight": 1.0}, {"source": "site_tests_ingest_test_ts", "target": "vitest", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\ingest.test.ts", "source_location": "L4", "weight": 1.0}, {"source": "site_tests_ingest_test_ts", "target": "rss_parser", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\ingest.test.ts", "source_location": "L5", "weight": 1.0}, {"source": "site_tests_ingest_test_ts", "target": "site_src_lib_ingest_podcast", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\ingest.test.ts", "source_location": "L7", "weight": 1.0}, {"source": "site_tests_ingest_test_ts", "target": "site_src_lib_ingest_youtube", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\ingest.test.ts", "source_location": "L8", "weight": 1.0}], "raw_calls": []}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_src_lib_cache_noop_cache_ts", "label": "noop-cache.ts", "file_type": "code", "source_file": "site\\src\\lib\\cache\\noop-cache.ts", "source_location": "L1"}, {"id": "noop_cache_createnoopcache", "label": "createNoopCache()", "file_type": "code", "source_file": "site\\src\\lib\\cache\\noop-cache.ts", "source_location": "L3"}], "edges": [{"source": "site_src_lib_cache_noop_cache_ts", "target": "site_src_lib_cache_redis_cache", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\cache\\noop-cache.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_src_lib_cache_noop_cache_ts", "target": "noop_cache_createnoopcache", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\cache\\noop-cache.ts", "source_location": "L3", "weight": 1.0}], "raw_calls": []}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_src_lib_ingest_types_ts", "label": "types.ts", "file_type": "code", "source_file": "site\\src\\lib\\ingest\\types.ts", "source_location": "L1"}], "edges": [{"source": "site_src_lib_ingest_types_ts", "target": "site_src_lib_content_types", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\ingest\\types.ts", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_src_lib_content_curation_ts", "label": "curation.ts", "file_type": "code", "source_file": "site\\src\\lib\\content\\curation.ts", "source_location": "L1"}, {"id": "curation_readfeaturedvideoids", "label": "readFeaturedVideoIds()", "file_type": "code", "source_file": "site\\src\\lib\\content\\curation.ts", "source_location": "L8"}], "edges": [{"source": "site_src_lib_content_curation_ts", "target": "node_fs", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\content\\curation.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_src_lib_content_curation_ts", "target": "node_path", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\content\\curation.ts", "source_location": "L2", "weight": 1.0}, {"source": "site_src_lib_content_curation_ts", "target": "curation_readfeaturedvideoids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\content\\curation.ts", "source_location": "L8", "weight": 1.0}], "raw_calls": [{"caller_nid": "curation_readfeaturedvideoids", "callee": "join", "source_file": "site\\src\\lib\\content\\curation.ts", "source_location": "L9"}, {"caller_nid": "curation_readfeaturedvideoids", "callee": "cwd", "source_file": "site\\src\\lib\\content\\curation.ts", "source_location": "L9"}, {"caller_nid": "curation_readfeaturedvideoids", "callee": "readFile", "source_file": "site\\src\\lib\\content\\curation.ts", "source_location": "L11"}, {"caller_nid": "curation_readfeaturedvideoids", "callee": "parse", "source_file": "site\\src\\lib\\content\\curation.ts", "source_location": "L12"}, {"caller_nid": "curation_readfeaturedvideoids", "callee": "isArray", "source_file": "site\\src\\lib\\content\\curation.ts", "source_location": "L13"}, {"caller_nid": "curation_readfeaturedvideoids", "callee": "filter", "source_file": "site\\src\\lib\\content\\curation.ts", "source_location": "L14"}]}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_src_env_d_ts", "label": "env.d.ts", "file_type": "code", "source_file": "site\\src\\env.d.ts", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_astro_config_mjs", "label": "astro.config.mjs", "file_type": "code", "source_file": "site\\astro.config.mjs", "source_location": "L1"}], "edges": [{"source": "site_astro_config_mjs", "target": "config", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\astro.config.mjs", "source_location": "L2", "weight": 1.0}, {"source": "site_astro_config_mjs", "target": "sitemap", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\astro.config.mjs", "source_location": "L3", "weight": 1.0}], "raw_calls": []}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_scripts_verify_blog_build_ts", "label": "verify-blog-build.ts", "file_type": "code", "source_file": "site\\scripts\\verify-blog-build.ts", "source_location": "L1"}, {"id": "verify_blog_build_main", "label": "main()", "file_type": "code", "source_file": "site\\scripts\\verify-blog-build.ts", "source_location": "L6"}], "edges": [{"source": "site_scripts_verify_blog_build_ts", "target": "promises", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\scripts\\verify-blog-build.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_scripts_verify_blog_build_ts", "target": "node_path", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\scripts\\verify-blog-build.ts", "source_location": "L2", "weight": 1.0}, {"source": "site_scripts_verify_blog_build_ts", "target": "site_src_lib_content_cache", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\scripts\\verify-blog-build.ts", "source_location": "L4", "weight": 1.0}, {"source": "site_scripts_verify_blog_build_ts", "target": "verify_blog_build_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\scripts\\verify-blog-build.ts", "source_location": "L6", "weight": 1.0}], "raw_calls": [{"caller_nid": "verify_blog_build_main", "callee": "join", "source_file": "site\\scripts\\verify-blog-build.ts", "source_location": "L7"}, {"caller_nid": "verify_blog_build_main", "callee": "cwd", "source_file": "site\\scripts\\verify-blog-build.ts", "source_location": "L7"}, {"caller_nid": "verify_blog_build_main", "callee": "access", "source_file": "site\\scripts\\verify-blog-build.ts", "source_location": "L8"}, {"caller_nid": "verify_blog_build_main", "callee": "readFile", "source_file": "site\\scripts\\verify-blog-build.ts", "source_location": "L10"}, {"caller_nid": "verify_blog_build_main", "callee": "readContentCache", "source_file": "site\\scripts\\verify-blog-build.ts", "source_location": "L12"}, {"caller_nid": "verify_blog_build_main", "callee": "includes", "source_file": "site\\scripts\\verify-blog-build.ts", "source_location": "L16"}]}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_tests_blog_umami_attributes_test_ts", "label": "blog-umami-attributes.test.ts", "file_type": "code", "source_file": "site\\tests\\blog-umami-attributes.test.ts", "source_location": "L1"}, {"id": "blog_umami_attributes_test_read", "label": "read()", "file_type": "code", "source_file": "site\\tests\\blog-umami-attributes.test.ts", "source_location": "L6"}], "edges": [{"source": "site_tests_blog_umami_attributes_test_ts", "target": "promises", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\blog-umami-attributes.test.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_tests_blog_umami_attributes_test_ts", "target": "node_path", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\blog-umami-attributes.test.ts", "source_location": "L2", "weight": 1.0}, {"source": "site_tests_blog_umami_attributes_test_ts", "target": "vitest", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\blog-umami-attributes.test.ts", "source_location": "L4", "weight": 1.0}, {"source": "site_tests_blog_umami_attributes_test_ts", "target": "blog_umami_attributes_test_read", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\tests\\blog-umami-attributes.test.ts", "source_location": "L6", "weight": 1.0}], "raw_calls": [{"caller_nid": "blog_umami_attributes_test_read", "callee": "readFile", "source_file": "site\\tests\\blog-umami-attributes.test.ts", "source_location": "L7"}, {"caller_nid": "blog_umami_attributes_test_read", "callee": "join", "source_file": "site\\tests\\blog-umami-attributes.test.ts", "source_location": "L7"}, {"caller_nid": "blog_umami_attributes_test_read", "callee": "cwd", "source_file": "site\\tests\\blog-umami-attributes.test.ts", "source_location": "L7"}]}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_public_sw_js", "label": "sw.js", "file_type": "code", "source_file": "site\\public\\sw.js", "source_location": "L1"}, {"id": "sw_isget", "label": "isGet()", "file_type": "code", "source_file": "site\\public\\sw.js", "source_location": "L32"}, {"id": "sw_isnavigationrequest", "label": "isNavigationRequest()", "file_type": "code", "source_file": "site\\public\\sw.js", "source_location": "L34"}, {"id": "sw_isimagerequest", "label": "isImageRequest()", "file_type": "code", "source_file": "site\\public\\sw.js", "source_location": "L37"}, {"id": "sw_trimcache", "label": "trimCache()", "file_type": "code", "source_file": "site\\public\\sw.js", "source_location": "L51"}, {"id": "sw_cacheputsafe", "label": "cachePutSafe()", "file_type": "code", "source_file": "site\\public\\sw.js", "source_location": "L62"}], "edges": [{"source": "site_public_sw_js", "target": "sw_isget", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\public\\sw.js", "source_location": "L32", "weight": 1.0}, {"source": "site_public_sw_js", "target": "sw_isnavigationrequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\public\\sw.js", "source_location": "L34", "weight": 1.0}, {"source": "site_public_sw_js", "target": "sw_isimagerequest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\public\\sw.js", "source_location": "L37", "weight": 1.0}, {"source": "site_public_sw_js", "target": "sw_trimcache", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\public\\sw.js", "source_location": "L51", "weight": 1.0}, {"source": "site_public_sw_js", "target": "sw_cacheputsafe", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\public\\sw.js", "source_location": "L62", "weight": 1.0}], "raw_calls": [{"caller_nid": "sw_isimagerequest", "callee": "toLowerCase", "source_file": "site\\public\\sw.js", "source_location": "L39"}, {"caller_nid": "sw_isimagerequest", "callee": "endsWith", "source_file": "site\\public\\sw.js", "source_location": "L41"}, {"caller_nid": "sw_isimagerequest", "callee": "endsWith", "source_file": "site\\public\\sw.js", "source_location": "L42"}, {"caller_nid": "sw_isimagerequest", "callee": "endsWith", "source_file": "site\\public\\sw.js", "source_location": "L43"}, {"caller_nid": "sw_isimagerequest", "callee": "endsWith", "source_file": "site\\public\\sw.js", "source_location": "L44"}, {"caller_nid": "sw_isimagerequest", "callee": "endsWith", "source_file": "site\\public\\sw.js", "source_location": "L45"}, {"caller_nid": "sw_isimagerequest", "callee": "endsWith", "source_file": "site\\public\\sw.js", "source_location": "L46"}, {"caller_nid": "sw_isimagerequest", "callee": "endsWith", "source_file": "site\\public\\sw.js", "source_location": "L47"}, {"caller_nid": "sw_trimcache", "callee": "open", "source_file": "site\\public\\sw.js", "source_location": "L52"}, {"caller_nid": "sw_trimcache", "callee": "keys", "source_file": "site\\public\\sw.js", "source_location": "L53"}, {"caller_nid": "sw_trimcache", "callee": "delete", "source_file": "site\\public\\sw.js", "source_location": "L58"}, {"caller_nid": "sw_cacheputsafe", "callee": "open", "source_file": "site\\public\\sw.js", "source_location": "L66"}, {"caller_nid": "sw_cacheputsafe", "callee": "put", "source_file": "site\\public\\sw.js", "source_location": "L67"}]}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_tests_content_title_type_attributes_test_ts", "label": "content-title-type-attributes.test.ts", "file_type": "code", "source_file": "site\\tests\\content-title-type-attributes.test.ts", "source_location": "L1"}, {"id": "content_title_type_attributes_test_read", "label": "read()", "file_type": "code", "source_file": "site\\tests\\content-title-type-attributes.test.ts", "source_location": "L6"}], "edges": [{"source": "site_tests_content_title_type_attributes_test_ts", "target": "promises", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\content-title-type-attributes.test.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_tests_content_title_type_attributes_test_ts", "target": "node_path", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\content-title-type-attributes.test.ts", "source_location": "L2", "weight": 1.0}, {"source": "site_tests_content_title_type_attributes_test_ts", "target": "vitest", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\content-title-type-attributes.test.ts", "source_location": "L4", "weight": 1.0}, {"source": "site_tests_content_title_type_attributes_test_ts", "target": "content_title_type_attributes_test_read", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\tests\\content-title-type-attributes.test.ts", "source_location": "L6", "weight": 1.0}], "raw_calls": [{"caller_nid": "content_title_type_attributes_test_read", "callee": "readFile", "source_file": "site\\tests\\content-title-type-attributes.test.ts", "source_location": "L7"}, {"caller_nid": "content_title_type_attributes_test_read", "callee": "join", "source_file": "site\\tests\\content-title-type-attributes.test.ts", "source_location": "L7"}, {"caller_nid": "content_title_type_attributes_test_read", "callee": "cwd", "source_file": "site\\tests\\content-title-type-attributes.test.ts", "source_location": "L7"}]}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_tests_wcag_responsive_shell_test_ts", "label": "wcag-responsive-shell.test.ts", "file_type": "code", "source_file": "site\\tests\\wcag-responsive-shell.test.ts", "source_location": "L1"}, {"id": "wcag_responsive_shell_test_read", "label": "read()", "file_type": "code", "source_file": "site\\tests\\wcag-responsive-shell.test.ts", "source_location": "L6"}], "edges": [{"source": "site_tests_wcag_responsive_shell_test_ts", "target": "promises", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\wcag-responsive-shell.test.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_tests_wcag_responsive_shell_test_ts", "target": "node_path", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\wcag-responsive-shell.test.ts", "source_location": "L2", "weight": 1.0}, {"source": "site_tests_wcag_responsive_shell_test_ts", "target": "vitest", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\wcag-responsive-shell.test.ts", "source_location": "L4", "weight": 1.0}, {"source": "site_tests_wcag_responsive_shell_test_ts", "target": "wcag_responsive_shell_test_read", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\tests\\wcag-responsive-shell.test.ts", "source_location": "L6", "weight": 1.0}], "raw_calls": [{"caller_nid": "wcag_responsive_shell_test_read", "callee": "readFile", "source_file": "site\\tests\\wcag-responsive-shell.test.ts", "source_location": "L7"}, {"caller_nid": "wcag_responsive_shell_test_read", "callee": "join", "source_file": "site\\tests\\wcag-responsive-shell.test.ts", "source_location": "L7"}, {"caller_nid": "wcag_responsive_shell_test_read", "callee": "cwd", "source_file": "site\\tests\\wcag-responsive-shell.test.ts", "source_location": "L7"}]}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_src_lib_cache_index_ts", "label": "index.ts", "file_type": "code", "source_file": "site\\src\\lib\\cache\\index.ts", "source_location": "L1"}, {"id": "index_createcachefromenv", "label": "createCacheFromEnv()", "file_type": "code", "source_file": "site\\src\\lib\\cache\\index.ts", "source_location": "L9"}], "edges": [{"source": "site_src_lib_cache_index_ts", "target": "site_src_lib_cache_redis_cache", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\cache\\index.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_src_lib_cache_index_ts", "target": "site_src_lib_cache_redis_cache", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\cache\\index.ts", "source_location": "L2", "weight": 1.0}, {"source": "site_src_lib_cache_index_ts", "target": "site_src_lib_cache_noop_cache", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\cache\\index.ts", "source_location": "L7", "weight": 1.0}, {"source": "site_src_lib_cache_index_ts", "target": "index_createcachefromenv", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\cache\\index.ts", "source_location": "L9", "weight": 1.0}], "raw_calls": [{"caller_nid": "index_createcachefromenv", "callee": "resolveRedisUrlFromEnv", "source_file": "site\\src\\lib\\cache\\index.ts", "source_location": "L13"}, {"caller_nid": "index_createcachefromenv", "callee": "createNoopCache", "source_file": "site\\src\\lib\\cache\\index.ts", "source_location": "L14"}, {"caller_nid": "index_createcachefromenv", "callee": "createRedisCache", "source_file": "site\\src\\lib\\cache\\index.ts", "source_location": "L17"}, {"caller_nid": "index_createcachefromenv", "callee": "resolveDefaultTtlSecondsFromEnv", "source_file": "site\\src\\lib\\cache\\index.ts", "source_location": "L19"}, {"caller_nid": "index_createcachefromenv", "callee": "log", "source_file": "site\\src\\lib\\cache\\index.ts", "source_location": "L24"}, {"caller_nid": "index_createcachefromenv", "callee": "String", "source_file": "site\\src\\lib\\cache\\index.ts", "source_location": "L24"}, {"caller_nid": "index_createcachefromenv", "callee": "createNoopCache", "source_file": "site\\src\\lib\\cache\\index.ts", "source_location": "L25"}]}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_tests_umami_attributes_test_ts", "label": "umami-attributes.test.ts", "file_type": "code", "source_file": "site\\tests\\umami-attributes.test.ts", "source_location": "L1"}, {"id": "umami_attributes_test_read", "label": "read()", "file_type": "code", "source_file": "site\\tests\\umami-attributes.test.ts", "source_location": "L6"}], "edges": [{"source": "site_tests_umami_attributes_test_ts", "target": "promises", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\umami-attributes.test.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_tests_umami_attributes_test_ts", "target": "node_path", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\umami-attributes.test.ts", "source_location": "L2", "weight": 1.0}, {"source": "site_tests_umami_attributes_test_ts", "target": "vitest", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\umami-attributes.test.ts", "source_location": "L4", "weight": 1.0}, {"source": "site_tests_umami_attributes_test_ts", "target": "umami_attributes_test_read", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\tests\\umami-attributes.test.ts", "source_location": "L6", "weight": 1.0}], "raw_calls": [{"caller_nid": "umami_attributes_test_read", "callee": "readFile", "source_file": "site\\tests\\umami-attributes.test.ts", "source_location": "L7"}, {"caller_nid": "umami_attributes_test_read", "callee": "join", "source_file": "site\\tests\\umami-attributes.test.ts", "source_location": "L7"}, {"caller_nid": "umami_attributes_test_read", "callee": "cwd", "source_file": "site\\tests\\umami-attributes.test.ts", "source_location": "L7"}]}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_src_lib_links_ts", "label": "links.ts", "file_type": "code", "source_file": "site\\src\\lib\\links.ts", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_src_lib_cache_memoize_ts", "label": "memoize.ts", "file_type": "code", "source_file": "site\\src\\lib\\cache\\memoize.ts", "source_location": "L1"}, {"id": "memoize_cachedcompute", "label": "cachedCompute()", "file_type": "code", "source_file": "site\\src\\lib\\cache\\memoize.ts", "source_location": "L3"}], "edges": [{"source": "site_src_lib_cache_memoize_ts", "target": "site_src_lib_cache_redis_cache", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\cache\\memoize.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_src_lib_cache_memoize_ts", "target": "memoize_cachedcompute", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\cache\\memoize.ts", "source_location": "L3", "weight": 1.0}], "raw_calls": [{"caller_nid": "memoize_cachedcompute", "callee": "await cache.getJson", "source_file": "site\\src\\lib\\cache\\memoize.ts", "source_location": "L9"}, {"caller_nid": "memoize_cachedcompute", "callee": "compute", "source_file": "site\\src\\lib\\cache\\memoize.ts", "source_location": "L12"}, {"caller_nid": "memoize_cachedcompute", "callee": "setJson", "source_file": "site\\src\\lib\\cache\\memoize.ts", "source_location": "L13"}]}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_src_lib_cache_memory_cache_ts", "label": "memory-cache.ts", "file_type": "code", "source_file": "site\\src\\lib\\cache\\memory-cache.ts", "source_location": "L1"}, {"id": "memory_cache_creatememorycache", "label": "createMemoryCache()", "file_type": "code", "source_file": "site\\src\\lib\\cache\\memory-cache.ts", "source_location": "L5"}], "edges": [{"source": "site_src_lib_cache_memory_cache_ts", "target": "site_src_lib_cache_redis_cache", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\cache\\memory-cache.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_src_lib_cache_memory_cache_ts", "target": "memory_cache_creatememorycache", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\cache\\memory-cache.ts", "source_location": "L5", "weight": 1.0}], "raw_calls": []}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_scripts_cache_clear_ts", "label": "cache-clear.ts", "file_type": "code", "source_file": "site\\scripts\\cache-clear.ts", "source_location": "L1"}, {"id": "cache_clear_log", "label": "log()", "file_type": "code", "source_file": "site\\scripts\\cache-clear.ts", "source_location": "L5"}, {"id": "cache_clear_main", "label": "main()", "file_type": "code", "source_file": "site\\scripts\\cache-clear.ts", "source_location": "L10"}], "edges": [{"source": "site_scripts_cache_clear_ts", "target": "config", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\scripts\\cache-clear.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_scripts_cache_clear_ts", "target": "site_src_lib_cache", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\scripts\\cache-clear.ts", "source_location": "L3", "weight": 1.0}, {"source": "site_scripts_cache_clear_ts", "target": "cache_clear_log", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\scripts\\cache-clear.ts", "source_location": "L5", "weight": 1.0}, {"source": "site_scripts_cache_clear_ts", "target": "cache_clear_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\scripts\\cache-clear.ts", "source_location": "L10", "weight": 1.0}, {"source": "cache_clear_main", "target": "cache_clear_log", "relation": "calls", "confidence": "EXTRACTED", "source_file": "site\\scripts\\cache-clear.ts", "source_location": "L14", "weight": 1.0}], "raw_calls": [{"caller_nid": "cache_clear_main", "callee": "createCacheFromEnv", "source_file": "site\\scripts\\cache-clear.ts", "source_location": "L11"}, {"caller_nid": "cache_clear_main", "callee": "flush", "source_file": "site\\scripts\\cache-clear.ts", "source_location": "L12"}, {"caller_nid": "cache_clear_main", "callee": "close", "source_file": "site\\scripts\\cache-clear.ts", "source_location": "L13"}]}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_src_lib_url_ts", "label": "url.ts", "file_type": "code", "source_file": "site\\src\\lib\\url.ts", "source_location": "L1"}, {"id": "url_withutm", "label": "withUtm()", "file_type": "code", "source_file": "site\\src\\lib\\url.ts", "source_location": "L1"}], "edges": [{"source": "site_src_lib_url_ts", "target": "url_withutm", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\url.ts", "source_location": "L1", "weight": 1.0}], "raw_calls": [{"caller_nid": "url_withutm", "callee": "entries", "source_file": "site\\src\\lib\\url.ts", "source_location": "L6"}, {"caller_nid": "url_withutm", "callee": "set", "source_file": "site\\src\\lib\\url.ts", "source_location": "L7"}, {"caller_nid": "url_withutm", "callee": "toString", "source_file": "site\\src\\lib\\url.ts", "source_location": "L9"}]}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_tests_card_layout_test_ts", "label": "card-layout.test.ts", "file_type": "code", "source_file": "site\\tests\\card-layout.test.ts", "source_location": "L1"}, {"id": "card_layout_test_read", "label": "read()", "file_type": "code", "source_file": "site\\tests\\card-layout.test.ts", "source_location": "L6"}], "edges": [{"source": "site_tests_card_layout_test_ts", "target": "promises", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\card-layout.test.ts", "source_location": "L1", "weight": 1.0}, {"source": "site_tests_card_layout_test_ts", "target": "node_path", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\card-layout.test.ts", "source_location": "L2", "weight": 1.0}, {"source": "site_tests_card_layout_test_ts", "target": "vitest", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "site\\tests\\card-layout.test.ts", "source_location": "L4", "weight": 1.0}, {"source": "site_tests_card_layout_test_ts", "target": "card_layout_test_read", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\tests\\card-layout.test.ts", "source_location": "L6", "weight": 1.0}], "raw_calls": [{"caller_nid": "card_layout_test_read", "callee": "readFile", "source_file": "site\\tests\\card-layout.test.ts", "source_location": "L7"}, {"caller_nid": "card_layout_test_read", "callee": "join", "source_file": "site\\tests\\card-layout.test.ts", "source_location": "L7"}, {"caller_nid": "card_layout_test_read", "callee": "cwd", "source_file": "site\\tests\\card-layout.test.ts", "source_location": "L7"}]}
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "site_src_lib_config_ts", "label": "config.ts", "file_type": "code", "source_file": "site\\src\\lib\\config.ts", "source_location": "L1"}, {"id": "config_getpublicconfig", "label": "getPublicConfig()", "file_type": "code", "source_file": "site\\src\\lib\\config.ts", "source_location": "L26"}, {"id": "config_getingestconfigfromenv", "label": "getIngestConfigFromEnv()", "file_type": "code", "source_file": "site\\src\\lib\\config.ts", "source_location": "L42"}], "edges": [{"source": "site_src_lib_config_ts", "target": "config_getpublicconfig", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\config.ts", "source_location": "L26", "weight": 1.0}, {"source": "site_src_lib_config_ts", "target": "config_getingestconfigfromenv", "relation": "contains", "confidence": "EXTRACTED", "source_file": "site\\src\\lib\\config.ts", "source_location": "L42", "weight": 1.0}], "raw_calls": [{"caller_nid": "config_getingestconfigfromenv", "callee": "Number", "source_file": "site\\src\\lib\\config.ts", "source_location": "L53"}, {"caller_nid": "config_getingestconfigfromenv", "callee": "Number", "source_file": "site\\src\\lib\\config.ts", "source_location": "L54"}, {"caller_nid": "config_getingestconfigfromenv", "callee": "Number", "source_file": "site\\src\\lib\\config.ts", "source_location": "L56"}]}
|
||||
51
site/src/pages/404.astro
Normal file
51
site/src/pages/404.astro
Normal file
@@ -0,0 +1,51 @@
|
||||
---
|
||||
export const prerender = true;
|
||||
|
||||
import BaseLayout from "../layouts/BaseLayout.astro";
|
||||
import CtaLink from "../components/CtaLink.astro";
|
||||
import { LINKS } from "../lib/links";
|
||||
---
|
||||
|
||||
<BaseLayout
|
||||
title="Page Not Found | SanthoshJ"
|
||||
description="The page you're looking for doesn't exist. Explore tech videos, podcasts, and more."
|
||||
canonicalPath="/404"
|
||||
>
|
||||
<section class="error-hero">
|
||||
<div class="error-code" aria-label="Error code">404</div>
|
||||
<h1 class="error-title">Page not found</h1>
|
||||
<p class="error-message">
|
||||
The page you're looking for doesn't exist or has been moved.
|
||||
<br />
|
||||
Let's get you back on track.
|
||||
</p>
|
||||
<div class="error-actions">
|
||||
<a href="/" class="error-btn error-btn-primary"> Go home </a>
|
||||
<a href="/videos" class="error-btn error-btn-secondary"> Browse videos </a>
|
||||
</div>
|
||||
<div class="error-divider" />
|
||||
<div class="error-suggestions">
|
||||
<h2 class="error-suggestions-title">Popular destinations</h2>
|
||||
<div class="error-links">
|
||||
<CtaLink
|
||||
platform="youtube"
|
||||
placement="error_page"
|
||||
url={LINKS.youtubeChannel}
|
||||
label="YouTube"
|
||||
/>
|
||||
<CtaLink
|
||||
platform="podcast"
|
||||
placement="error_page"
|
||||
url={LINKS.podcast}
|
||||
label="Podcast"
|
||||
/>
|
||||
<CtaLink
|
||||
platform="instagram"
|
||||
placement="error_page"
|
||||
url={LINKS.instagramProfile}
|
||||
label="Instagram"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</BaseLayout>
|
||||
51
site/src/pages/500.astro
Normal file
51
site/src/pages/500.astro
Normal file
@@ -0,0 +1,51 @@
|
||||
---
|
||||
export const prerender = true;
|
||||
|
||||
import BaseLayout from "../layouts/BaseLayout.astro";
|
||||
import CtaLink from "../components/CtaLink.astro";
|
||||
import { LINKS } from "../lib/links";
|
||||
---
|
||||
|
||||
<BaseLayout
|
||||
title="Server Error | SanthoshJ"
|
||||
description="Something went wrong on our end. Please try again or explore other content."
|
||||
canonicalPath="/500"
|
||||
>
|
||||
<section class="error-hero">
|
||||
<div class="error-code" aria-label="Error code">500</div>
|
||||
<h1 class="error-title">Something went wrong</h1>
|
||||
<p class="error-message">
|
||||
We're experiencing a server issue.
|
||||
<br />
|
||||
Please try again in a moment or explore other content.
|
||||
</p>
|
||||
<div class="error-actions">
|
||||
<a href="/" class="error-btn error-btn-primary"> Go home </a>
|
||||
<a href="/videos" class="error-btn error-btn-secondary"> Browse videos </a>
|
||||
</div>
|
||||
<div class="error-divider" />
|
||||
<div class="error-suggestions">
|
||||
<h2 class="error-suggestions-title">Popular destinations</h2>
|
||||
<div class="error-links">
|
||||
<CtaLink
|
||||
platform="youtube"
|
||||
placement="error_page"
|
||||
url={LINKS.youtubeChannel}
|
||||
label="YouTube"
|
||||
/>
|
||||
<CtaLink
|
||||
platform="podcast"
|
||||
placement="error_page"
|
||||
url={LINKS.podcast}
|
||||
label="Podcast"
|
||||
/>
|
||||
<CtaLink
|
||||
platform="instagram"
|
||||
placement="error_page"
|
||||
url={LINKS.instagramProfile}
|
||||
label="Instagram"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</BaseLayout>
|
||||
@@ -1341,3 +1341,144 @@ button.card {
|
||||
padding: 12px 20px 20px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Error Pages (404, 500) */
|
||||
.error-hero {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 60vh;
|
||||
padding: 40px 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.error-code {
|
||||
font-size: clamp(120px, 20vw, 200px);
|
||||
font-weight: 800;
|
||||
line-height: 1;
|
||||
letter-spacing: -0.05em;
|
||||
color: transparent;
|
||||
background: linear-gradient(135deg, var(--accent), var(--accent2));
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
opacity: 0.9;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.error-title {
|
||||
font-size: clamp(28px, 5vw, 40px);
|
||||
font-weight: 700;
|
||||
letter-spacing: -0.02em;
|
||||
margin: 0 0 16px;
|
||||
color: var(--fg);
|
||||
}
|
||||
|
||||
.error-message {
|
||||
font-size: clamp(16px, 2.5vw, 18px);
|
||||
line-height: 1.6;
|
||||
color: var(--muted);
|
||||
max-width: 480px;
|
||||
margin: 0 auto 32px;
|
||||
}
|
||||
|
||||
.error-actions {
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
margin-bottom: 48px;
|
||||
}
|
||||
|
||||
.error-btn {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 14px 28px;
|
||||
border-radius: 14px;
|
||||
font-weight: 700;
|
||||
font-size: 15px;
|
||||
letter-spacing: -0.01em;
|
||||
text-decoration: none;
|
||||
transition:
|
||||
background 120ms ease,
|
||||
transform 120ms ease,
|
||||
box-shadow 120ms ease;
|
||||
}
|
||||
|
||||
.error-btn-primary {
|
||||
background: linear-gradient(135deg, rgba(94, 228, 255, 0.24), rgba(255, 205, 74, 0.16));
|
||||
border: 1px solid rgba(94, 228, 255, 0.55);
|
||||
color: var(--fg);
|
||||
box-shadow:
|
||||
0 0 0 3px rgba(94, 228, 255, 0.14),
|
||||
0 10px 30px rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
|
||||
.error-btn-primary:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow:
|
||||
0 0 0 4px rgba(94, 228, 255, 0.2),
|
||||
0 14px 40px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.error-btn-secondary {
|
||||
background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03));
|
||||
border: 1px solid var(--stroke);
|
||||
color: var(--fg);
|
||||
}
|
||||
|
||||
.error-btn-secondary:hover {
|
||||
background: rgba(255, 255, 255, 0.12);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.error-divider {
|
||||
width: 80px;
|
||||
height: 1px;
|
||||
background: linear-gradient(90deg, transparent, var(--stroke-strong), transparent);
|
||||
margin: 0 auto 40px;
|
||||
}
|
||||
|
||||
.error-suggestions {
|
||||
width: 100%;
|
||||
max-width: 600px;
|
||||
}
|
||||
|
||||
.error-suggestions-title {
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.02em;
|
||||
text-transform: uppercase;
|
||||
color: var(--muted);
|
||||
margin: 0 0 20px;
|
||||
}
|
||||
|
||||
.error-links {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
flex-wrap: wrap;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.error-actions {
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
max-width: 280px;
|
||||
}
|
||||
|
||||
.error-btn {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.error-links {
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.error-links .cta {
|
||||
width: 100%;
|
||||
max-width: 200px;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user