skip.py


Post Skipping and Caching Plugin


Function

post_model function

Add skip attribute to post models.

post_model source


def post_model(markata: "Markata") -> None:
    """Add skip attribute to post models."""
    markata.post_models.append(PostModel)

Function

load function

Runs after posts are loaded to check if they should be skipped.

load source


def load(markata: "Markata") -> None:
    """Runs after posts are loaded to check if they should be skipped."""
    for post in markata.posts:
        if hasattr(post, "raw"):
            key = markata.make_hash("skip", post.raw)
            if markata.cache.get(key) == "done":
                post.skip = True
    console.log(f"{len(markata.filter('skip'))}/{len(markata.posts)} posts skipped")
    console.log(
        f"{len(markata.filter('not skip'))}/{len(markata.posts)} posts not skipped"
    )

Function

save function

Save the 'done' status for processed posts.

save source


def save(markata: "Markata") -> None:
    """Save the 'done' status for processed posts."""
    # for post in markata.posts:
    for post in markata.filter("not skip"):
        if hasattr(post, "raw"):
            if post.output_html.exists():
                key = markata.make_hash("skip", post.raw)
                markata.cache.set(key, "done")