cmc/cleberg.net
My personal web garden & blog.
clone: git clone https://gitbay.org/cmc/cleberg.net.git
292bb6595730bba79e432545303ff07926ba1b95
signed_unknown_key
author: Christian Cleberg <hello@cleberg.net> · 2026-02-22T17:33:31Z
committer: <noreply@github.com>
build.py | 9 +++++++++ content/blog/2026-02-21-auditing-aws-passwords.org | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) @@ -268,6 +268,13 @@ def run_emacs_publish(dev_mode=True): ) +def copy_org_sources(content_dir="./content", build_dir="./.build/org"): + print(f"Copying org sources: {content_dir} → {build_dir}") + if os.path.exists(build_dir): + shutil.rmtree(build_dir) + shutil.copytree(content_dir, build_dir) + + def generate_sitemap(build_dir=".build", base_url="https://cleberg.net"): """ Generates a sitemap.xml based on contents of the .build directory. @@ -355,6 +362,7 @@ def main(): remove_build_directory(build_dir) minify_css(css_src, css_min) run_emacs_publish(dev_mode=False) + copy_org_sources() update_index_html(html_snippet) minify_html("./.build/index.html", "./.build/index.html") generate_sitemap() @@ -368,6 +376,7 @@ def main(): remove_build_directory(build_dir) minify_css(css_src, css_min) run_emacs_publish(dev_mode=True) + copy_org_sources() update_index_html(html_snippet) minify_html("./.build/index.html", "./.build/index.html") generate_sitemap() @@ -101,7 +101,7 @@ account. #+caption: Policy Evaluation Results #+attr_html: :alt Terminal output of evaluate_policy.py showing the interactive prompts and pass/fail summary for each password policy rule. -[[https://img.cleberg.net/blog/20260221-auditing-aws-password-policy/results.webp]] +[[https://img.cleberg.net/blog/20260221-auditing-aws-passwords/results.webp]] * Step 2: Evaluate the Policy