Default load plugin.
load function
None
load source
def load(markata: "MarkataMarkdown") -> None:
progress = Progress(
BarColumn(bar_width=None), transient=True, console=markata.console
)
if not markata.config.get("repo_url", "https://github.com/").endswith("/"):
markata.config["repo_url"] = (
markata.config.get("repo_url", "https://github.com/") + "/"
)
futures = [get_post(article, markata) for article in markata.files]
task_id = progress.add_task("loading markdown")
progress.update(task_id, total=len(futures))
with progress:
while not all([f.done() for f in futures]):
time.sleep(0.1)
progress.update(task_id, total=len([f for f in futures if f.done()]))
articles = [f.result() for f in futures]
articles = [a for a in articles if a]
markata.articles = articles
get_post function
None
get_post source
def get_post(path: Path, markata: "Markata") -> Optional[Callable]:
default = {
"cover": "",
"title": "",
"tags": [],
"status": "draft",
"templateKey": "",
"path": str(path),
"description": "",
"content": "",
}
try:
post: "Post" = frontmatter.load(path)
post.metadata = {**default, **post.metadata}
except ParserError:
return None
post = default
except ValueError:
return None
post = default
post.metadata["path"] = str(path)
post["edit_link"] = (
str(markata.config.get("repo_url", "https://github.com/"))
+ "edit/"
+ str(markata.config.get("repo_branch", "main"))
+ "/"
+ str(post["path"])
)
return post
MarkataMarkdown class
None
MarkataMarkdown source
class MarkataMarkdown(Markata):
articles: List = []