diff --git a/.gitignore b/.gitignore index e79f6b5b..ba5436c4 100644 --- a/.gitignore +++ b/.gitignore @@ -19,4 +19,4 @@ Thumbs.db # Preview artifacts # ##################### _pelican -_output \ No newline at end of file +_output diff --git a/build-theme-previews.py b/build-theme-previews.py index 327fba57..3ad6740e 100644 --- a/build-theme-previews.py +++ b/build-theme-previews.py @@ -59,7 +59,7 @@ def install_translator(self, generator): + + +

Not Found

+

What you’re looking for isn’t here.
It may have moved, or something unfortunate may have befallen it.

+ +

Double-check the URL and try again, or head home.

+ +sad pelican + + + +""" + def setup_folders(args): theme_root = os.path.abspath(os.path.dirname(__file__)) @@ -235,6 +269,17 @@ def write_index_files(output_root, success, fail): logger.info(f"failed {len(fail)} themes") +def write_404_file(output_root): + logger.info("generating 404 page file...") + with open(os.path.join(output_root, "404.html"), "w") as outfile: + outfile.write(HTML_404) + + pelican_pic_path = os.path.join(output_root, "pelican-sad.png") + subprocess.call(["cp", "pelican-sad.png", pelican_pic_path]) + + logger.info("wrote 404 page file") + + def parse_args(argv=None): parser = argparse.ArgumentParser() parser.add_argument( @@ -273,7 +318,8 @@ def main(argv=None): theme_root, samples_root, output_root, screenshot_root = setup_folders(args) success, fail = build_theme_previews(theme_root, samples_root, output_root, screenshot_root) write_index_files(output_root, success, fail) + write_404_file(output_root) if __name__ == "__main__": - main() \ No newline at end of file + main() diff --git a/pelican-sad.png b/pelican-sad.png new file mode 100644 index 00000000..3893d1c4 Binary files /dev/null and b/pelican-sad.png differ