Skip to content

Commit 1045918

Browse files
committed
chore: more macros
1 parent f75e86a commit 1045918

83 files changed

Lines changed: 173 additions & 18444 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ build/
1616
develop-eggs/
1717
dist/
1818
sdist/
19+
site/
1920
*.egg-info/
2021
.installed.cfg
2122
*.egg

ckanext/theming/assets/bare.css

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ body {
2323
text-align: right;
2424
}
2525

26-
#header {
27-
background: var(--header-bg);
26+
#header {background: var(--header-bg);}
27+
#header .bare-container {
2828
display: flex;
2929
flex-direction: column;
3030
justify-content: center;
@@ -55,8 +55,22 @@ body {
5555
flex-grow: 1;
5656
}
5757

58+
59+
.bare-container {
60+
padding: 0 1rem;
61+
}
62+
63+
table.table-bordered, table.table-bordered td, table.table-bordered th {
64+
border: 1px solid var(--table-bd-color);
65+
border-collapse: collapse;
66+
}
67+
68+
table.table-striped tbody tr:nth-child(2n+1) {
69+
background: var(--table-stripe-bg);
70+
}
71+
5872
@media (min-width: 768px) {
59-
#header {
73+
#header .bare-container {
6074
flex-direction: row;
6175
justify-content: space-between;
6276
}
@@ -70,12 +84,3 @@ body {
7084
min-width: 300px;
7185
}
7286
}
73-
74-
table.table-bordered, table.table-bordered td, table.table-bordered th {
75-
border: 1px solid var(--table-bd-color);
76-
border-collapse: collapse;
77-
}
78-
79-
table.table-striped tbody tr:nth-child(2n+1) {
80-
background: var(--table-stripe-bg);
81-
}

ckanext/theming/interfaces.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from ckan.plugins import Interface
66

77
if TYPE_CHECKING:
8-
from ckan.lib.theme import Theme
8+
from ckanext.theming.lib import Theme
99

1010

1111
class ITheme(Interface):

ckanext/theming/lib.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,10 @@ def call(self, el: PElement, /, *args: Any, caller: Macro, **kwargs: Any) -> Mar
8888
"""
8989
return el(caller(), *args, **kwargs)
9090

91+
def merge(self, *fragments: Markup) -> Markup:
92+
"""Merge multiple Markup fragments into a single Markup object."""
93+
return Markup().join(fragments)
94+
9195

9296
class UI(Iterable[str], abc.ABC):
9397
"""Abstract base class for theme UIs.
@@ -154,7 +158,6 @@ def __iter__(self) -> Iterator[str]:
154158
for name in dir(self.__tpl.module):
155159
if name.startswith("_"):
156160
continue
157-
getattr(self.__tpl.module, name)
158161
yield name
159162

160163

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
{%- call ui.footer_block() %}
1+
{%- call ui.util.call(ui.footer_block) %}
22
{%- endcall %}

ckanext/theming/themes/bare/_header.html

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
{%- block header_account %}
2-
{%- call ui.account_block() %}
3-
{%- call ui.nav_wrapper() %}
4-
2+
{%- call ui.util.call(ui.account_block) %}
3+
{%- call ui.util.call(ui.nav_wrapper) %}
54
{%- if current_user.is_authenticated %}
65
{% block header_account_logged %}
76

@@ -16,7 +15,7 @@
1615
{% endblock %}
1716

1817
{% block header_account_settings_link %}
19-
{{ ui.nav_item(_('Profile settings'), h.url_for("user.edit", id=c.userobj.name)) }}
18+
{{ ui.nav_item(ui.util.merge(h.user_image(current_user.id, 12), _('Profile settings')), h.url_for("user.edit", id=c.userobj.name)) }}
2019
{% endblock %}
2120

2221
{% block header_account_log_out_link %}
@@ -46,8 +45,8 @@
4645
{%- endblock %}
4746

4847
{%- block header %}
49-
{%- call ui.header_block(g.site_title, subtitle=g.site_description, logo=g.site_logo) %}
50-
{%- call ui.nav_wrapper() %}
48+
{%- call ui.util.call(ui.header_block, g.site_title, subtitle=g.site_description, logo=g.site_logo) %}
49+
{%- call ui.util.call(ui.nav_wrapper) %}
5150
{% set items = [
5251
["Datasets", "dataset.search"],
5352
["Organizations", "organization.index"],
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{% extends "page.html" %}
22

3-
{%- block zone_main %}
3+
{%- block zone_content %}
44
{%- block zone_primary %}{{ super() }}{% endblock %}
55
{%- block zone_secondary %}{{ super() }}{% endblock %}
66
{%- endblock %}

ckanext/theming/themes/bare/macros/ui.html

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,46 @@
11
{% import "macros/ui/component.html" as component with context %}
2-
{% import "macros/ui/container.html" as container with context %}
2+
{% import "macros/ui/container.html" as _container with context %}
33
{% import "macros/ui/data.html" as data with context %}
44
{% import "macros/ui/element.html" as element with context %}
55
{% import "macros/ui/feedback.html" as feedback with context %}
66
{% import "macros/ui/form.html" as _form with context %}
77
{% import "macros/ui/meta.html" as meta with context %}
88
{% import "macros/ui/misc.html" as misc with context %}
9-
{% import "macros/ui/nav.html" as nav with context %}
9+
{% import "macros/ui/nav.html" as _nav with context %}
1010

1111

1212

13+
{% set avatar = element.avatar %}
1314
{% set badge = element.badge %}
1415
{% set button = element.button %}
1516
{% set divider = element.divider %}
1617
{% set heading = element.heading %}
1718
{% set image = element.image %}
1819
{% set link = element.link %}
20+
{% set tag = element.tag %}
1921
{% set text = element.text %}
2022
{% set text_block = element.text_block %}
2123
{% set video = element.video %}
2224

23-
{% set breadcrumb_item = nav.breadcrumb_item %}
24-
{% set breadcrumb_wrapper = nav.breadcrumb_wrapper %}
25-
{% set menu_wrapper = nav.menu_wrapper %}
26-
{% set menu_item = nav.menu_item %}
27-
{% set nav_wrapper = nav.nav_wrapper %}
28-
{% set nav_item = nav.nav_item %}
29-
{% set pagination = nav.pagination %}
30-
{% set tab_wrapper = nav.tab_wrapper %}
31-
{% set tab_item = nav.tab_item %}
25+
{% set breadcrumb_item = _nav.breadcrumb_item %}
26+
{% set breadcrumb_wrapper = _nav.breadcrumb_wrapper %}
27+
{% set menu_wrapper = _nav.menu_wrapper %}
28+
{% set menu_item = _nav.menu_item %}
29+
{% set nav_wrapper = _nav.nav_wrapper %}
30+
{% set nav_item = _nav.nav_item %}
31+
{% set pagination = _nav.pagination %}
32+
{% set tab_wrapper = _nav.tab_wrapper %}
33+
{% set tab_item = _nav.tab_item %}
3234

33-
{% set accordion_wrapper = container.accordion_wrapper %}
34-
{% set accordion_item = container.accordion_item %}
35-
{% set card = container.card %}
36-
{% set column_wrapper = container.column_wrapper %}
37-
{% set container_wrapper = container.container_wrapper %}
38-
{% set grid_wrapper = container.grid_wrapper %}
39-
{% set panel_wrapper = container.panel_wrapper %}
40-
{% set row_wrapper = container.row_wrapper %}
41-
{% set section_wrapper = container.section_wrapper %}
35+
{% set accordion_wrapper = _container.accordion_wrapper %}
36+
{% set accordion_item = _container.accordion_item %}
37+
{% set card = _container.card %}
38+
{% set column = _container.column %}
39+
{% set container = _container.container %}
40+
{% set grid = _container.grid %}
41+
{% set panel = _container.panel %}
42+
{% set row = _container.row %}
43+
{% set section = _container.section %}
4244

4345
{% set header_block = meta.header_block %}
4446
{% set footer_block = meta.footer_block %}
@@ -65,4 +67,3 @@
6567
{% set organization_item = component.organization_item %}
6668
{% set package_item = component.package_item %}
6769
{% set resource_item = component.resource_item %}
68-
{% set tag = component.tag %}

ckanext/theming/themes/bare/macros/ui/component.html

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,3 @@
2424

2525
{{ ui.card(title=title, body=body, href=h.url_for("resource.read", id=res.package_id, resource_id=res.id)) }}
2626
{%- endmacro %}
27-
28-
{%- macro tag(content, id, href) -%}
29-
<a {{ ui.util.attrs(kwargs) }} href="{{ href or h.url_for('dataset.search', tags=id or content) }}">{{ content }}</a>
30-
{%- endmacro %}

ckanext/theming/themes/bare/macros/ui/container.html

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
{%- macro accordion_wrapper() -%}
1+
{%- macro accordion_wrapper(content) -%}
22
{%- do kwargs -%}
3-
{{ caller() }}
3+
{{ content }}
44
{%- endmacro %}
55

66

@@ -40,32 +40,34 @@
4040

4141
{%- endmacro %}
4242

43-
{%- macro column_wrapper() -%}
43+
{%- macro column(content) -%}
4444
{%- do kwargs -%}
45-
{{ caller() }}
45+
{{ content }}
4646
{%- endmacro %}
4747

48-
{%- macro container_wrapper(fluid=false) -%}
48+
{%- macro container(content, fluid=false) -%}
4949
{%- do kwargs -%}
50-
{{ caller() }}
50+
<div class="bare-container">
51+
{{ content }}
52+
</div>
5153
{%- endmacro %}
5254

53-
{%- macro grid_wrapper(columns) -%}
55+
{%- macro grid(content, columns) -%}
5456
{%- do kwargs -%}
55-
{{ caller() }}
57+
{{ content }}
5658
{%- endmacro %}
5759

58-
{%- macro panel_wrapper(title) -%}
60+
{%- macro panel(content, title) -%}
5961
{%- do kwargs -%}
60-
{{ caller() }}
62+
{{ content }}
6163
{%- endmacro %}
6264

63-
{%- macro row_wrapper() -%}
65+
{%- macro row(content) -%}
6466
{%- do kwargs -%}
65-
{{ caller() }}
67+
{{ content }}
6668
{%- endmacro %}
6769

68-
{%- macro section_wrapper() -%}
70+
{%- macro section(content) -%}
6971
{%- do kwargs -%}
70-
{{ caller() }}
72+
{{ content }}
7173
{%- endmacro %}

0 commit comments

Comments
 (0)