fix blog tag clicks, and new post
This commit is contained in:
+45
@@ -0,0 +1,45 @@
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant User
|
||||
participant Engineering as Engineering Folder<br/>(priv/blog/engineering)
|
||||
participant Blogex as Blogex Library
|
||||
participant PhoenixApp as Firehose Web App
|
||||
participant Browser
|
||||
|
||||
Note over User,Browser: New Markdown File Flow
|
||||
|
||||
User->>Engineering: Create markdown file<br/>(e.g., new-post.md)
|
||||
|
||||
Note over Engineering: File appears in directory
|
||||
|
||||
Note over Blogex: Blogex reads markdown files at app startup<br/>via config (priv/blog/engineering/**/*.md)
|
||||
|
||||
PhoenixApp->>Blogex: Request post index via BlogController<br/>(GET /blog/engineering)
|
||||
Blogex->>Engineering: Read markdown files from priv/blog/engineering/
|
||||
Blogex->>Blogex: Parse markdown + frontmatter
|
||||
Blogex->>Blogex: Create %Blogex.Post{ structs}
|
||||
|
||||
Note over Blogex: Blogex renders HTML using its own<br/>templates in blogex/components.ex (post_index, post_show)
|
||||
|
||||
PhoenixApp->>PhoenixApp: Render blog_html/index.html.heex (via BlogHTML)
|
||||
|
||||
Note over PhoenixApp,Browser: Individual Post Request<br/>(GET /blog/engineering/:slug)
|
||||
|
||||
Browser->>PhoenixApp: HTTP GET /blog/engineering/new-post
|
||||
PhoenixApp->>PhoenixApp: FirehoseWeb.BlogController.show
|
||||
PhoenixApp->>Blogex: Get post by slug
|
||||
Blogex->>Engineering: Read markdown file
|
||||
Blogex->>Blogex: Parse and return %Blogex.Post{}
|
||||
|
||||
Note over Blogex: Blogex renders show_page for individual posts
|
||||
|
||||
PhoenixApp->>PhoenixApp: Render blog_html/show.html.heex (via BlogHTML)
|
||||
PhoenixApp->>PhoenixApp: Apply FirehoseWeb.Layouts.app layout
|
||||
PhoenixApp->>PhoenixApp: Wrap with FirehoseWeb.Layouts.root layout
|
||||
|
||||
Note over PhoenixApp: Layout provides:<br/>- Navbar (Engineering/Releases/QWAN)<br/>- Theme toggle<br/>- Global CSS (app.css with Tailwind/daisyUI)<br/>- Footer/flash messages
|
||||
|
||||
PhoenixApp->>Browser: Return full HTML page
|
||||
|
||||
Browser->>Browser: Render page with app styling
|
||||
```
|
||||
Reference in New Issue
Block a user