Migrate to crafter-build project.cpp and restructure views
- Replace project.json + run.sh with a C++ project.cpp build descriptor (crafter-build), targeting wasm32-wasip1 with the Crafter.Graphics dep - Add Catcrafts-Views implementation; drop Catcrafts-Component - Add catcrafts-head.js (sets <title>/<link> tags at runtime) - Update Blog/Root/main modules, README, and favicon Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
d87c408712
commit
13a12c2a2c
15 changed files with 227 additions and 126 deletions
|
|
@ -1,8 +1,8 @@
|
|||
/*
|
||||
catcrafts.net
|
||||
Copyright (C) 2025 Catcrafts
|
||||
Copyright (C) 2026 Catcrafts
|
||||
|
||||
The source code of this website is made available for viewing purposes only.
|
||||
The source code of this website is made available for viewing purposes only.
|
||||
No permission is granted to copy, modify, distribute, or create derivative works.
|
||||
*/
|
||||
|
||||
|
|
@ -10,29 +10,27 @@ export module Catcrafts:Root_impl;
|
|||
import :Root;
|
||||
import :Views;
|
||||
import :Blog;
|
||||
import Crafter.Graphics;
|
||||
import std;
|
||||
|
||||
using namespace Crafter;
|
||||
|
||||
namespace Catcrafts {
|
||||
void RenderRoot(const std::string_view route) {
|
||||
std::string currentRoute = std::string(route);
|
||||
|
||||
|
||||
if(currentRoute == "/blog" || currentRoute == "/") {
|
||||
RenderBlog();
|
||||
} else if(currentRoute.rfind("/blog/", 0) == 0) {
|
||||
// Handle individual blog post routes like /blog/0, /blog/1, etc.
|
||||
std::size_t pos = currentRoute.find_last_of('/');
|
||||
std::cout << pos << std::endl;
|
||||
std::cout << std::string::npos << std::endl;
|
||||
std::cout << (pos != std::string::npos) << std::endl;
|
||||
if(pos != std::string::npos) {
|
||||
std::string postSlug = currentRoute.substr(pos + 1);
|
||||
std::cout << postSlug << std::endl;
|
||||
RenderBlogPost(postSlug);
|
||||
} else {
|
||||
main.SetInnerHTML("<h1>Post Not Found</h1><p>The requested blog post could not be found.</p>");
|
||||
MainContent().SetInnerHTML("<h1>Post Not Found</h1><p>The requested blog post could not be found.</p>");
|
||||
}
|
||||
} else {
|
||||
RenderBlog(); //default route
|
||||
RenderBlog();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue