Skip to content

Commit

Permalink
feat: make merge_tags generic (#13)
Browse files Browse the repository at this point in the history
* feat: make `merge_tags` generic

* docs(README): update `merge_entries`

* chore: prepare `v1.0.0`
  • Loading branch information
timmeinerzhagen authored May 9, 2024
1 parent 7bc3b45 commit 544c88d
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,5 @@ All markdown files in the same folder and in subfolders automatically get all ta
`meta_filename`
Change the default name of the meta file. (default=`.meta.yml`)

`merge_tags`
Merge the tags of all relevant meta files and pages for a page (default=`false`)
`merge_entries`
Merge all specified entries of meta files and pages for a page that affects them according to the hirearchie (default=`[]`)
8 changes: 4 additions & 4 deletions mkdocs_meta_manager_plugin/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
class MetaManagerPlugin(BasePlugin):
config_scheme = (
('meta_filename', config_options.Type(str, default='.meta.yml')),
('merge_tags', config_options.Type(bool, default=False)),
('merge_entries', config_options.Type(list, default=[])),
)

meta_files = {}
Expand All @@ -31,7 +31,6 @@ def on_pre_build(self, config):
except yaml.YAMLError as exc:
print(exc)
logging.debug(self.meta_files)


def on_page_markdown(self, markdown, page, config, files):
if not self.enabled:
Expand All @@ -44,8 +43,9 @@ def on_page_markdown(self, markdown, page, config, files):
for key, value in self.meta_files[part].items():
if not key in page.meta:
page.meta[key] = value
elif key == 'tags' and self.config['merge_tags']:
page.meta[key] = page.meta[key].copy()
elif key in self.config['merge_entries']:
if not isinstance(page.meta[key], list):
page.meta[key] = [page.meta[key]]
page.meta[key].extend(value)

logging.debug("%s: %s", page.file.src_path, page.meta)
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

setup(
name='mkdocs-meta-manager',
version='0.2.1',
version='1.0.0',
description='MkDocs plugin for managing meta tags across folders and files.',
long_description=long_description,
long_description_content_type="text/markdown",
Expand Down

0 comments on commit 544c88d

Please sign in to comment.