Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
4e9895c
refactor: static values, not excess variables
wesleyboar Nov 24, 2025
25f01a8
Merge branch 'stable' into refactor/blog-styles-via-mixins
wesleyboar Nov 25, 2025
f1dd07f
fix: blog visual margin and visibility
wesleyboar Nov 25, 2025
193bf0e
refactor!: delete PORTAL_BLOG_CUSTOM_MEDIA_POST_CATEGORY
wesleyboar Nov 25, 2025
5ef00c4
refactor!: blog_post_is_ → blog_post_has
wesleyboar Nov 25, 2025
26ead03
refactor!: load blog_post_has_ via "blog_tags"
wesleyboar Nov 25, 2025
08309ac
refactor!: blog_cats_organized → blog_filters
wesleyboar Nov 25, 2025
06f6c5c
refactor!: delete unused ….blog.….multimedia.css
wesleyboar Nov 25, 2025
2dff59d
Merge branch 'stable' into refactor/blog-styles-via-mixins
wesleyboar Nov 25, 2025
95af904
refactor(css): django.cms.blog.app.page use mixins
wesleyboar Nov 25, 2025
ca8b178
feat(blog): .blog-visual layout from designer
wesleyboar Nov 25, 2025
b0206cf
refactor(css): news-article-page mixin renames
wesleyboar Nov 25, 2025
8eaab6e
docs(css): polish comments
wesleyboar Nov 25, 2025
605f09a
refactor(css): django.cms.blog.app.item use mixins
wesleyboar Nov 26, 2025
17ee11e
refactor(css): blog, metadata → details
wesleyboar Nov 26, 2025
54a69c8
refactor(css): django.cms.blog.app use mixins
wesleyboar Nov 26, 2025
b739df4
feat: core-styles mixins, pill and tag
wesleyboar Nov 26, 2025
d76c710
refactor: move news mixins to tools/x-news
wesleyboar Nov 26, 2025
1cc9281
refactor(css): blog headers & titles
wesleyboar Nov 27, 2025
e258c45
refactor(css): move code
wesleyboar Nov 27, 2025
f44d233
docs(css): clearer organization
wesleyboar Nov 27, 2025
ff55bd3
fix: hiding tags and cats (and delete cruft)
wesleyboar Nov 27, 2025
79b2547
refactor: attrs → attr (attribution)
wesleyboar Nov 27, 2025
68df855
chore(css): indentation
wesleyboar Nov 27, 2025
f8c8208
fix(css): feed article layout when missing media
wesleyboar Nov 27, 2025
4660623
chore: typos and missing spaces
wesleyboar Nov 27, 2025
11e9f91
fix: blog visual can break layout of footer
wesleyboar Nov 27, 2025
9b72ae3
feat: blog plugin styles e.g. Latest Blog Articles
wesleyboar Nov 28, 2025
bd49a73
refactor: blog plugin & app feed, grid/list layout
wesleyboar Nov 28, 2025
96e686a
fix: blog plugin feed grid-list breakpoint
wesleyboar Nov 28, 2025
37a1d4c
fix: no want list layout for blog plugin feed
wesleyboar Nov 28, 2025
1d8f34b
fix: blog plugin, grid responsiveness
wesleyboar Nov 28, 2025
78c2d6b
fix: blog app, grid responsiveness
wesleyboar Dec 1, 2025
226fecd
docs: blog css comment organization
wesleyboar Dec 1, 2025
10b1ee4
chore: core-styles v2.51
wesleyboar Dec 1, 2025
1116f1f
chore: consistent use of @mixin news (empty)
wesleyboar Dec 1, 2025
66c9442
fix: hide news layout choice form
wesleyboar Dec 1, 2025
8b3ec47
fix: blog plugin article list no want 2 items wide
wesleyboar Dec 1, 2025
3e49872
fix: blog feed narrow view list or grid must match
wesleyboar Dec 1, 2025
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
3,446 changes: 2,239 additions & 1,207 deletions package-lock.json

Large diffs are not rendered by default.

5 changes: 1 addition & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,6 @@
},
"homepage": "https://github.com/TACC/Core-CMS",
"devDependencies": {
"@tacc/core-styles": "^2.50.2"
},
"// devDependencies": {
"@tacc/core-styles": "after v2.50.0, use NPM (because NPM and GitHub v2.50.0 differ)"
"@tacc/core-styles": "^2.51.0"
}
}
3 changes: 0 additions & 3 deletions taccsite_cms/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,6 @@ def gettext(s): return s
PORTAL_BLOG_SHOW_CATEGORIES = True
PORTAL_BLOG_SHOW_TAGS = True
# To flag posts of certain category or tag, so template can take special action
PORTAL_BLOG_CUSTOM_MEDIA_POST_CATEGORY = 'mutlimedia'
PORTAL_BLOG_SHOW_ABSTRACT_TAG = 'external'

PORTAL_BLOG_CATEGORY_ORDER = []
Expand Down Expand Up @@ -661,7 +660,6 @@ def get_subdirs_as_module_names(path):
'INCLUDES_SEARCH_BAR',
'TACC_BLOG_SHOW_CATEGORIES',
'TACC_BLOG_SHOW_TAGS',
'TACC_BLOG_CUSTOM_MEDIA_POST_CATEGORY',
'TACC_BLOG_SHOW_ABSTRACT_TAG',
'TACC_BLOG_CATEGORY_ORDER',
'TACC_SOCIAL_SHARE_PLATFORMS',
Expand Down Expand Up @@ -715,7 +713,6 @@ def get_subdirs_as_module_names(path):
'PORTAL_STYLES',
'PORTAL_BLOG_SHOW_CATEGORIES',
'PORTAL_BLOG_SHOW_TAGS',
'PORTAL_BLOG_CUSTOM_MEDIA_POST_CATEGORY',
'PORTAL_BLOG_SHOW_ABSTRACT_TAG',
'PORTAL_BLOG_CATEGORY_ORDER',
'PORTAL_SOCIAL_SHARE_PLATFORMS',
Expand Down
4 changes: 2 additions & 2 deletions taccsite_cms/settings_custom.example.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,5 +112,5 @@
# DJANGOCMS_BLOG: TACC
########################

PORTAL_BLOG_SHOW_CATEGORIES = True
PORTAL_BLOG_SHOW_TAGS = True
PORTAL_BLOG_SHOW_CATEGORIES = False
PORTAL_BLOG_SHOW_TAGS = False
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
Django CMS Blog App Components

These styles are only for the blog app pages (list pages, article pages).
Shared among blog pages and plugins.

Reference:

Expand All @@ -10,168 +10,112 @@ Reference:
Styleguide Components.DjangoCMS.Blog.App
*/
@import url("@tacc/core-styles/dist/djangocms-blog/cms-pagination.css");
@import url("@tacc/core-styles/src/lib/_imports/components/c-tag.css");

@import url("../tools/x-news.css");

@import url("./django.cms.blog.app.page.css");
@import url("./django.cms.blog.app.item.css");
@import url("./django.cms.blog.selectors.css");





/* Variables */
/* Root */

.app-blog {
--article-buffer: 20px;
@mixin news;
}


/* Header */

/* Generic */
.post-item:not(.post-detail) header {
@mixin news-feed-article__header;

.app-blog {
/* To control absolute position of descendants e.g. `.blog-visual` */
position: relative;
}
& h3 { grid-area: title }
& h4 { grid-area: subtitle }
& .attrs { grid-area: attr /* attribution */}
& .dates { grid-area: dates }
& .categories { grid-area: cats }
& .tags { grid-area: tags }

.app-blog.no-categories.no-tags & {
@mixin news-feed-article__header--hide-cats-hide-tags;
}
.app-blog:not(.no-categories).no-tags & {
@mixin news-feed-article__header--show-cats-hide-tags;
}
.app-blog.no-categories:not(.no-tags) & {
@mixin news-feed-article__header--hide-cats-show-tags;
}
}


/* Header */
/* Details */

.app-blog header {
display: grid;
column-gap: 1em;
}
:--article-page h1,
:--article-item h3 { grid-area: head }
:--article-page h2,
:--article-item h4 { grid-area: subh }
.app-blog .attrs { grid-area: attr }
.app-blog .dates { grid-area: date }
.app-blog .categories { grid-area: cats }
.app-blog .tags { grid-area: tags }
.app-blog .links { grid-area: link }

/* To format titles */
:--article-list h1 > strong::after {
content: "—";
margin-left: 0.25em;
display: inline-block;
font-weight: var(--medium);
}
:--article-list h1 > span {
display: none;
}
:--article-list h1 > em {
font-style: normal;
text-transform: none;
font-family: inherit;
font-weight: var(--medium);
.app-blog .post-detail {
@mixin news-details;
}

.app-blog ul.post-detail {
list-style: none;

padding-left: 0; /* overwrite html-elements.css */
/* Details - Attribution */

font-size: var(--global-font-size--medium);
/* To always hide "by" */
.app-blog .byline > span {
display: none;
}

/* Details - Dates */

.app-blog time {
@mixin news-date;
}

/* Metadata */
/* Details - Metadata */

/* To layout data */
.app-blog .tags,
.app-blog .categories {
display: flex;
flex-direction: row;
gap: 1em;
}

/* To always hide byline prefix */
.app-blog .byline > span {
display: none;
@mixin news-metadata;
}

/* To conditionally hide tags & categories */
.app-blog.no-tags :--article .tags,
.app-blog.no-categories :--article .categories {
.app-blog.no-tags .tags,
.app-blog.no-categories .categories {
display: none;
}

/* To hide empty tags & categories */
:--article .tags:empty,
:--article .categories:empty {
display: none;
.app-blog .categories {
@mixin news-metadata;
a { @mixin news-category; }
}

/* To style categories as "tags" (the UI pattern) */
.app-blog .categories a {
@extend :--c-tag;

display: inline-block;

color: var(--global-color-primary--xx-light);
background-color: var(--global-color-primary--xx-dark);

font-size: var(--global-font-size--small);
.app-blog .tags {
@mixin news-metadata;
a { @mixin news-tag; }
}

/* To style tags as "pills" (the UI pattern) */
.app-blog .tags a {
/* TODO: When available in Core-Styles, uncomment this */
/* @extend :--c-pill; */

background-color: var(--global-color-primary--light);
}
/* Lead */

/* To style dates */
.app-blog time {
color: var(--global-color-accent--secondary);
font-weight: var(--medium);
text-transform: uppercase;
/* To undo inline content styles */
/* FAQ: In case author pasted such markup from another source */
.blog-lead [style]:not(
[data-style="admin"] /* HACK: so CMS admin can override this */
) {
all: revert !important; /* force undo all inline styles */
}



/* Social Media */

/* TACC: Logos */

.app-blog .logos--social {
display: flex;
flex-wrap: wrap;
justify-self: end;

@media (pointer: coarse) {
gap: 1.0em;
}
@media not (pointer: coarse) {
gap: 0.5em;
}
.app-blog .logos--social /* a.k.a. blog .socials */ {
@mixin news-socials;
}

.app-blog .logos__text-before {
white-space: nowrap;
@mixin news-socials__prefix;
}

.app-blog .logos--social svg {
@media (pointer: coarse) {
height: var(--global-font-size--xx-large);
width: var(--global-font-size--xx-large);
}
@media (pointer: fine), (pointer: none) {
height: var(--global-font-size--large);
width: var(--global-font-size--large);
}
@mixin news-socials__icon;
}



/* Pagination */

.pagination {
margin-block: calc( var(--article-buffer) * 2 );
@mixin news-pagination;
}
Loading