Skip to content
This repository was archived by the owner on Apr 28, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions pcweb/pages/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
other_frameworks_migration_page as other_frameworks_migration_page,
)
from .page404 import page404 as page404
from .page_index import page_index as page_index
from .pricing.pricing import pricing as pricing
from .sales import sales as sales
from .security.security import security_page as security_page
Expand Down
43 changes: 43 additions & 0 deletions pcweb/pages/page_index.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import reflex as rx

from pcweb.templates.webpage import webpage

BLOG_POSTS = [
(
"Build Python Admin Panels and Internal Tools: A Complete Guide",
"/blog/build-python-admin-panels-internal-tools-guide",
),
("Reflex vs Plotly Dash", "/blog/reflex-dash"),
(
"Top Python Web Development Frameworks in 2026",
"/blog/top-python-web-frameworks",
),
("Designing a Pure Python Web Framework", "/blog/reflex-architecture"),
("Reflex vs Streamlit", "/blog/reflex-streamlit"),
]

Comment thread
Alek99 marked this conversation as resolved.

def link_item(title: str, path: str) -> rx.Component:
return rx.el.li(
rx.el.a(
title,
href=path,
class_name="text-slate-11 hover:text-slate-12 underline",
),
class_name="py-1",
)


@webpage(path="/page-index", title="Page Index")
def page_index() -> rx.Component:
return rx.el.div(
rx.el.h1(
"Page Index",
class_name="text-3xl font-bold text-slate-12 mb-6",
),
rx.el.ul(
*[link_item(title, path) for title, path in BLOG_POSTS],
class_name="list-disc pl-6 flex flex-col gap-1",
),
class_name="max-w-2xl mx-auto px-6 py-12",
)
Loading