Skip to content

Commit 8f34488

Browse files
committed
feature(integration): make the integration with Material Blog configurable through an option
1 parent 7075e93 commit 8f34488

File tree

7 files changed

+33
-2
lines changed

7 files changed

+33
-2
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ plugins:
7373
utm_medium: "RSS"
7474
utm_campaign: "feed-syndication"
7575
use_git: true
76+
use_material_blog: true
7677
use_material_social_cards: true
7778
```
7879

docs/configuration.md

+10
Original file line numberDiff line numberDiff line change
@@ -596,6 +596,16 @@ Default: `true`.
596596

597597
----
598598

599+
### :material-newspaper-variant-outline: `use_material_blog`: enable/disable integration with Material Blog plugin { #use_material_blog }
600+
601+
If `false`, the integration with the Blog plugin is disabled.
602+
603+
Default: `true`.
604+
605+
> See [the related section in integrations page](./integrations.md#blog-plugin-from-material-theme).
606+
607+
----
608+
599609
### :material-cards: `use_material_social_cards`: enable/disable integration with Material Social Cards plugin { #use_material_social_cards }
600610

601611
If `false`, the integration with Social Cards is disabled.

mkdocs_rss_plugin/config.py

+1
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,5 @@ class RssPluginConfig(Config):
6060
rss_feed_enabled = config_options.Type(bool, default=True)
6161
url_parameters = config_options.Optional(config_options.Type(dict))
6262
use_git = config_options.Type(bool, default=True)
63+
use_material_blog = config_options.Type(bool, default=True)
6364
use_material_social_cards = config_options.Type(bool, default=True)

mkdocs_rss_plugin/integrations/theme_material_base.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
class IntegrationMaterialThemeBase:
3939
# attributes
4040
IS_THEME_MATERIAL: bool = False
41-
IS_INSIDERS: bool = False
41+
IS_INSIDERS: Optional[bool] = False
4242

4343
def __init__(self, mkdocs_config: MkDocsConfig) -> None:
4444
"""Integration instantiation.

mkdocs_rss_plugin/plugin.py

+10
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@
3131
DEFAULT_TEMPLATE_FOLDER,
3232
MKDOCS_LOGGER_NAME,
3333
)
34+
from mkdocs_rss_plugin.integrations.theme_material_blog_plugin import (
35+
IntegrationMaterialBlog,
36+
)
3437
from mkdocs_rss_plugin.integrations.theme_material_social_plugin import (
3538
IntegrationMaterialSocialCards,
3639
)
@@ -119,6 +122,12 @@ def on_config(self, config: MkDocsConfig) -> MkDocsConfig:
119122
self.cache_dir.mkdir(parents=True, exist_ok=True)
120123
logger.debug(f"Caching HTTP requests to: {self.cache_dir.resolve()}")
121124

125+
# integrations - check if theme is Material and if blog are enabled
126+
self.integration_material_blog = IntegrationMaterialBlog(
127+
mkdocs_config=config,
128+
switch_force=self.config.use_material_blog,
129+
)
130+
122131
# integrations - check if theme is Material and if social cards are enabled
123132
self.integration_material_social_cards = IntegrationMaterialSocialCards(
124133
mkdocs_config=config,
@@ -129,6 +138,7 @@ def on_config(self, config: MkDocsConfig) -> MkDocsConfig:
129138
self.util = Util(
130139
cache_dir=self.cache_dir,
131140
use_git=self.config.use_git,
141+
integration_material_blog=self.integration_material_blog,
132142
integration_material_social_cards=self.integration_material_social_cards,
133143
mkdocs_command_is_on_serve=self.cmd_is_serve,
134144
)

mkdocs_rss_plugin/util.py

+7
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@
4141
REMOTE_REQUEST_HEADERS,
4242
)
4343
from mkdocs_rss_plugin.git_manager.ci import CiHandler
44+
from mkdocs_rss_plugin.integrations.theme_material_blog_plugin import (
45+
IntegrationMaterialBlog,
46+
)
4447
from mkdocs_rss_plugin.integrations.theme_material_social_plugin import (
4548
IntegrationMaterialSocialCards,
4649
)
@@ -67,6 +70,7 @@ class Util:
6770
def __init__(
6871
self,
6972
cache_dir: Path = DEFAULT_CACHE_FOLDER,
73+
integration_material_blog: Optional[IntegrationMaterialBlog] = None,
7074
integration_material_social_cards: Optional[
7175
IntegrationMaterialSocialCards
7276
] = None,
@@ -79,6 +83,8 @@ def __init__(
7983
Args:
8084
path (str, optional): path to the git repository to use. Defaults to ".".
8185
use_git (bool, optional): flag to use git under the hood or not. Defaults to True.
86+
integration_material_blog (bool, optional): option to enable
87+
integration with Blog plugin from Material theme. Defaults to True.
8288
integration_material_social_cards (bool, optional): option to enable
8389
integration with Social Cards plugin from Material theme. Defaults to True.
8490
"""
@@ -128,6 +134,7 @@ def __init__(
128134
self.use_git = use_git
129135

130136
# save integrations
137+
self.material_blog = integration_material_blog
131138
self.social_cards = integration_material_social_cards
132139

133140
# http/s session

tests/fixtures/mkdocs_items_material_blog_enabled.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ site_url: https://guts.github.io/mkdocs-rss-plugin
55
plugins:
66
- blog:
77
blog_dir: blog
8-
- rss
8+
authors_profiles: true
9+
- rss:
10+
use_material_blog: true
911

1012
theme:
1113
name: material

0 commit comments

Comments
 (0)