Skip to content

use brand_yml package to load brand.yml #10

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 20, 2025
Merged
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
50 changes: 25 additions & 25 deletions quarto/theme.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import yaml
from functools import partial
from brand_yml import Brand

def theme_colors_altair(bg, fg):
return {
Expand All @@ -19,9 +19,9 @@ def theme_colors_altair(bg, fg):
}

def theme_brand_altair(brand_yml):
brand = yaml.safe_load(open(brand_yml).read())
bg = brand["color"]["background"]
fg = brand["color"]["foreground"]
brand = Brand.from_yaml(brand_yml)
bg = brand.color.background
fg = brand.color.foreground
return partial(theme_colors_altair, bg, fg)

# background fill is incomplete
Expand All @@ -44,9 +44,9 @@ def theme_colors_bokeh(bg, fg):
}})

def theme_brand_bokeh(brand_yml):
brand = yaml.safe_load(open(brand_yml).read())
fg = brand["color"]["foreground"]
bg = brand["color"]["background"]
brand = Brand.from_yaml(brand_yml)
fg = brand.color.foreground
bg = brand.color.background
return partial(theme_colors_bokeh, bg, fg)


Expand All @@ -56,9 +56,9 @@ def theme_colors_great_tables(bg, fg):
'table_font_color': fg
}
def theme_brand_great_tables(brand_yml):
brand = yaml.safe_load(open(brand_yml).read())
fg = brand["color"]["foreground"]
bg = brand["color"]["background"]
brand = Brand.from_yaml(brand_yml)
fg = brand.color.foreground
bg = brand.color.background
return theme_colors_great_tables(bg, fg)


Expand All @@ -79,12 +79,12 @@ def theme_colors_matplotlib(bg, fg, primary):


def theme_brand_matplotlib(brand_yml):
brand = yaml.safe_load(open(brand_yml).read())
brand = Brand.from_yaml(brand_yml)
return partial(
theme_colors_matplotlib,
brand["color"]["background"],
brand["color"]["foreground"],
brand["color"]["primary"],
brand.color.background,
brand.color.foreground,
brand.color.primary,
)


Expand All @@ -96,8 +96,8 @@ def theme_colors_plotnine(bg, fg):
)

def theme_brand_plotnine(brand_yml):
brand = yaml.safe_load(open(brand_yml).read())
return theme_colors_plotnine(brand["color"]["background"], brand["color"]["foreground"])
brand = Brand.from_yaml(brand_yml)
return theme_colors_plotnine(brand.color.background, brand.color.foreground)


def theme_colors_plotly(bg, fg):
Expand All @@ -109,8 +109,8 @@ def theme_colors_plotly(bg, fg):
}})

def theme_brand_plotly(brand_yml):
brand = yaml.safe_load(open(brand_yml).read())
return theme_colors_plotly(brand["color"]["background"], brand["color"]["foreground"])
brand = Brand.from_yaml(brand_yml)
return theme_colors_plotly(brand.color.background, brand.color.foreground)


def theme_colors_pygal(_bg, fg, primary, secondary):
Expand All @@ -127,12 +127,12 @@ def theme_colors_pygal(_bg, fg, primary, secondary):
colors=('#E853A0', '#E8537A', '#E95355', '#E87653', '#E89B53'))

def theme_brand_pygal(brand_yml):
brand = yaml.safe_load(open(brand_yml).read())
brand = Brand.from_yaml(brand_yml)
return theme_colors_pygal(
brand["color"]["background"],
brand["color"]["foreground"],
brand["color"]["primary"],
brand["color"].get("secondary"),
brand.color.background,
brand.color.foreground,
brand.color.primary,
brand.color.secondary,
)


Expand All @@ -152,5 +152,5 @@ def theme_colors_seaborn(bg, fg):
}

def theme_brand_seaborn(brand_yml):
brand = yaml.safe_load(open(brand_yml).read())
return theme_colors_seaborn(brand["color"]["background"], brand["color"]["foreground"])
brand = Brand.from_yaml(brand_yml)
return theme_colors_seaborn(brand.color.background, brand.color.foreground)