Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
4 changes: 2 additions & 2 deletions pcweb/pages/about/views/news.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

from pcweb.components.marketing_button import button
from pcweb.pages.blog import blogs
from pcweb.pages.blog.paths import blog_data
from pcweb.pages.blog.paths import blog_data_visible


def news_item(title: str, date: str, description: str, url: str) -> rx.Component:
Expand Down Expand Up @@ -80,7 +80,7 @@ def news() -> rx.Component:
blog.metadata["description"],
path,
)
for path, blog in list(blog_data.items())[:3]
for path, blog in blog_data_visible()[:3]
],
class_name="grid lg:grid-cols-3 grid-cols-1 gap-12",
),
Expand Down
9 changes: 5 additions & 4 deletions pcweb/pages/blog/blog.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from pcweb.templates.marketing_page import marketing_page

from .page import page
from .paths import blog_data
from .paths import blog_data, blog_data_visible

blog_filter_cs = ClientStateVar.create("blog_filter", default="All")

Expand Down Expand Up @@ -145,9 +145,10 @@ def card_content(meta: dict, path: str, class_name: str = "") -> rx.Component:


def component_grid() -> rx.Component:
posts = []
for path, document in list(blog_data.items()):
posts.append(card_content(meta=document.metadata, path=f"/blog/{path}"))
posts = [
card_content(meta=doc.metadata, path=f"/blog/{path}")
for path, doc in blog_data_visible()
]
return rx.el.div(
*posts,
rx.el.div(
Expand Down
4 changes: 2 additions & 2 deletions pcweb/pages/blog/page.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from pcweb.meta.meta import blog_jsonld
from pcweb.templates.docpage import get_toc, right_sidebar_item_highlight

from .paths import blog_data
from .paths import blog_data_visible


def share_post_button(icon: str, href: str, aria_label: str) -> rx.Component:
Expand Down Expand Up @@ -136,7 +136,7 @@ def more_posts(current_post: dict) -> rx.Component:
from pcweb.pages.blog.blog import card_inner

posts = []
blog_items = list(blog_data.items())
blog_items = blog_data_visible()
current_index = next(
(
i
Expand Down
9 changes: 9 additions & 0 deletions pcweb/pages/blog/paths.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,12 @@ def get_route(path: str):

paths = flexdown.utils.get_flexdown_files(PAGES_PATH)
blog_data = get_blog_data(paths)


def blog_data_visible() -> list[tuple[str, Document]]:
"""Blog posts with show_in_cards not explicitly False (default True)."""
return [
(path, doc)
for path, doc in blog_data.items()
if doc.metadata.get("show_in_cards", True)
]
10 changes: 6 additions & 4 deletions pcweb/views/marketing_navbar.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
REFLEX_BUILD_URL,
)
from pcweb.pages.blog import blogs
from pcweb.pages.blog.paths import blog_data
from pcweb.pages.blog.paths import blog_data_visible
from pcweb.pages.customers.landing import customers
from pcweb.pages.docs import ai_builder
from pcweb.pages.faq import faq
Expand Down Expand Up @@ -292,10 +292,12 @@ def blog_item(blog: dict, path: str) -> rx.Component:


def blog_column() -> rx.Component:
first_blog = next(iter(blog_data.values()))
visible = blog_data_visible()
if not visible:
return rx.fragment()
items = [blog_item(doc, path) for path, doc in visible[:2]]
return rx.el.div(
blog_item(first_blog, next(iter(blog_data.keys()))),
blog_item(list(blog_data.values())[1], list(blog_data.keys())[1]),
*items,
rx.el.a(
"Read All in Blog",
ui.icon("ArrowRight01Icon", class_name="ml-auto"),
Expand Down