diff --git a/scripts/test-website.py b/scripts/test-website.py index 43d913548b..8f555b62d9 100644 --- a/scripts/test-website.py +++ b/scripts/test-website.py @@ -142,7 +142,7 @@ class WebsiteMaintenanceChecks(unittest.TestCase): page = root / "website/public/blog/touhou-reconstruction/index.html" original = page.read_text() body = original.split('
", 1)[0] - template = root / "website/templates/header.html" + template = root / "website/templates/header.html.tmpl" template.write_text(template.read_text().replace("Reverse Engineer Anything", "REA test navigation")) with self.assertRaisesRegex(ValueError, "Shared HTML is stale"): WEBSITE.sync_pages(root, check=True) diff --git a/scripts/website.py b/scripts/website.py index 77099d5bf3..3619f1b83c 100644 --- a/scripts/website.py +++ b/scripts/website.py @@ -9,6 +9,7 @@ from pathlib import Path, PurePosixPath from string import Template import subprocess import sys +from textwrap import indent from urllib.parse import quote, urlsplit @@ -101,10 +102,10 @@ def shared_blocks(root, path, source): attributes = ' class="nav-start"' if destination == "get-started/" else "" if route.startswith(destination): attributes += ' aria-current="page"' - links.append(f' {label}') + links.append(f' {label}') values = { "base": base, - "navigation": "\n".join(links), + "navigation": "\n" + "\n".join(links) + "\n ", "canonical": escape(page_url(site, path), quote=True), "origin": SITE_ORIGIN, "title": escape(metadata.titles[0].strip(), quote=True), @@ -112,7 +113,7 @@ def shared_blocks(root, path, source): } templates = root / "website/templates" return { - name: Template((templates / f"{name}.html").read_text(encoding="utf-8")).substitute(values) + name: indent(Template((templates / f"{name}.html.tmpl").read_text(encoding="utf-8")).substitute(values), " ") for name in ("sharing", "header", "footer") } diff --git a/website/README.md b/website/README.md index d5fbf121dd..bcd3ce5bc0 100644 --- a/website/README.md +++ b/website/README.md @@ -42,13 +42,13 @@ Edit the page's HTML in `public/`. Keep the question, evidence and result easy t follow. The writing and design guidance in [style-guide.md](style-guide.md) applies to every page. -| Change | Edit | Then run | -| ------------------------------ | ----------------------------------------------------------- | ----------------------------------------------- | -| Page text, examples or figures | The page's HTML outside the marked shared regions | `python3 scripts/website.py check` | -| Search title or description | The page's `` and first description meta tag | `python3 scripts/website.py sync`, then `check` | -| Main navigation | `NAVIGATION` in `scripts/website.py` | `sync`, then `check` | -| Header, social links or footer | `templates/header.html` or `templates/footer.html` | `sync`, then `check` | -| Shared link previews | `templates/sharing.html` or `public/assets/social-card.svg` | `sync`, then `check` | +| Change | Edit | Then run | +| ------------------------------ | ---------------------------------------------------------------- | ----------------------------------------------- | +| Page text, examples or figures | The page's HTML outside the marked shared regions | `python3 scripts/website.py check` | +| Search title or description | The page's `<title>` and first description meta tag | `python3 scripts/website.py sync`, then `check` | +| Main navigation | `NAVIGATION` in `scripts/website.py` | `sync`, then `check` | +| Header, social links or footer | `templates/header.html.tmpl` or `templates/footer.html.tmpl` | `sync`, then `check` | +| Shared link previews | `templates/sharing.html.tmpl` or `public/assets/social-card.svg` | `sync`, then `check` | Create a reading page with: @@ -67,6 +67,10 @@ the scaffold supplies the common structure. The regions marked `website:sharing`, `website:header` and `website:footer` are generated from the templates. Edit the template rather than a generated copy. +The `.html.tmpl` partials own their generated whitespace; HTML formatter-ignore +comments keep the repository formatter from changing those regions. Their +content is checked by `sync --check`, while ordinary page content stays subject +to the repository formatter. `sync` updates only those regions; page bodies, figures and scripts remain authored HTML. Commit the updated pages alongside the template. Titles and descriptions are written once per page; their sharing fields are derived from diff --git a/website/public/blog/index.html b/website/public/blog/index.html index e56e264490..0f0a5a9d87 100644 --- a/website/public/blog/index.html +++ b/website/public/blog/index.html @@ -9,42 +9,40 @@ content="Thoughts on reverse engineering, drawing on practical experience with REA and AI agents." /> <!-- website:sharing:start --> + <!-- prettier-ignore --> <link rel="canonical" href="https://rea.tools/blog/" /> + <!-- prettier-ignore --> <meta property="og:type" content="website" /> + <!-- prettier-ignore --> <meta property="og:site_name" content="REA" /> - <meta - property="og:title" - content="REA Blog — Thoughts on Reverse Engineering" - /> - <meta - property="og:description" - content="Thoughts on reverse engineering, drawing on practical experience with REA and AI agents." - /> + <!-- prettier-ignore --> + <meta property="og:title" content="REA Blog — Thoughts on Reverse Engineering" /> + <!-- prettier-ignore --> + <meta property="og:description" content="Thoughts on reverse engineering, drawing on practical experience with REA and AI agents." /> + <!-- prettier-ignore --> <meta property="og:url" content="https://rea.tools/blog/" /> - <meta - property="og:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta property="og:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta property="og:image:type" content="image/png" /> + <!-- prettier-ignore --> <meta property="og:image:width" content="1200" /> + <!-- prettier-ignore --> <meta property="og:image:height" content="630" /> + <!-- prettier-ignore --> <meta property="og:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." /> + <!-- prettier-ignore --> <meta name="twitter:card" content="summary_large_image" /> - <meta - name="twitter:title" - content="REA Blog — Thoughts on Reverse Engineering" - /> - <meta - name="twitter:description" - content="Thoughts on reverse engineering, drawing on practical experience with REA and AI agents." - /> - <meta - name="twitter:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta name="twitter:title" content="REA Blog — Thoughts on Reverse Engineering" /> + <!-- prettier-ignore --> + <meta name="twitter:description" content="Thoughts on reverse engineering, drawing on practical experience with REA and AI agents." /> + <!-- prettier-ignore --> + <meta name="twitter:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta name="twitter:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." @@ -58,6 +56,7 @@ <body id="top"> <a class="skip-link" href="#main">Skip to content</a> <!-- website:header:start --> + <!-- prettier-ignore --> <header class="site-header"> <div class="container header-inner"> <a class="brand" href="../" aria-label="REA home" @@ -159,13 +158,13 @@ </div> </main> <!-- website:footer:start --> + <!-- prettier-ignore --> <footer class="site-footer"> <div class="container footer-inner"> <p>REA · Reverse Engineer Anything</p> <div class="footer-links"> <a href="https://github.com/morluto/rea">Source</a - ><a href="https://github.com/morluto/rea/blob/main/LICENSE" - >MIT license</a + ><a href="https://github.com/morluto/rea/blob/main/LICENSE">MIT license</a ><a href="https://discord.gg/GkcryMnJDM">Join the community</a ><a href="https://x.com/reatools">Follow us on X</a> </div> diff --git a/website/public/blog/touhou-reconstruction/index.html b/website/public/blog/touhou-reconstruction/index.html index 0343995ade..cb1ef8819d 100644 --- a/website/public/blog/touhou-reconstruction/index.html +++ b/website/public/blog/touhou-reconstruction/index.html @@ -9,42 +9,40 @@ content="N0zoM1z0 reflects on manual reverse engineering, Touhou reconstruction with AI agents, and how knowledge compounds across TH08, TH095 and PC-98 TH04." /> <!-- website:sharing:start --> + <!-- prettier-ignore --> <link rel="canonical" href="https://rea.tools/blog/touhou-reconstruction/" /> + <!-- prettier-ignore --> <meta property="og:type" content="website" /> + <!-- prettier-ignore --> <meta property="og:site_name" content="REA" /> - <meta - property="og:title" - content="Reverse Engineering’s Industrial Revolution — REA" - /> - <meta - property="og:description" - content="N0zoM1z0 reflects on manual reverse engineering, Touhou reconstruction with AI agents, and how knowledge compounds across TH08, TH095 and PC-98 TH04." - /> + <!-- prettier-ignore --> + <meta property="og:title" content="Reverse Engineering’s Industrial Revolution — REA" /> + <!-- prettier-ignore --> + <meta property="og:description" content="N0zoM1z0 reflects on manual reverse engineering, Touhou reconstruction with AI agents, and how knowledge compounds across TH08, TH095 and PC-98 TH04." /> + <!-- prettier-ignore --> <meta property="og:url" content="https://rea.tools/blog/touhou-reconstruction/" /> - <meta - property="og:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta property="og:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta property="og:image:type" content="image/png" /> + <!-- prettier-ignore --> <meta property="og:image:width" content="1200" /> + <!-- prettier-ignore --> <meta property="og:image:height" content="630" /> + <!-- prettier-ignore --> <meta property="og:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." /> + <!-- prettier-ignore --> <meta name="twitter:card" content="summary_large_image" /> - <meta - name="twitter:title" - content="Reverse Engineering’s Industrial Revolution — REA" - /> - <meta - name="twitter:description" - content="N0zoM1z0 reflects on manual reverse engineering, Touhou reconstruction with AI agents, and how knowledge compounds across TH08, TH095 and PC-98 TH04." - /> - <meta - name="twitter:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta name="twitter:title" content="Reverse Engineering’s Industrial Revolution — REA" /> + <!-- prettier-ignore --> + <meta name="twitter:description" content="N0zoM1z0 reflects on manual reverse engineering, Touhou reconstruction with AI agents, and how knowledge compounds across TH08, TH095 and PC-98 TH04." /> + <!-- prettier-ignore --> + <meta name="twitter:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta name="twitter:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." @@ -58,6 +56,7 @@ <body id="top" class="blog-article"> <a class="skip-link" href="#main">Skip to content</a> <!-- website:header:start --> + <!-- prettier-ignore --> <header class="site-header"> <div class="container header-inner"> <a class="brand" href="../../" aria-label="REA home" @@ -1009,13 +1008,13 @@ </div> </main> <!-- website:footer:start --> + <!-- prettier-ignore --> <footer class="site-footer"> <div class="container footer-inner"> <p>REA · Reverse Engineer Anything</p> <div class="footer-links"> <a href="https://github.com/morluto/rea">Source</a - ><a href="https://github.com/morluto/rea/blob/main/LICENSE" - >MIT license</a + ><a href="https://github.com/morluto/rea/blob/main/LICENSE">MIT license</a ><a href="https://discord.gg/GkcryMnJDM">Join the community</a ><a href="https://x.com/reatools">Follow us on X</a> </div> diff --git a/website/public/examples/dino-lab/index.html b/website/public/examples/dino-lab/index.html index 63165d5a47..b2c378b233 100644 --- a/website/public/examples/dino-lab/index.html +++ b/website/public/examples/dino-lab/index.html @@ -9,42 +9,40 @@ content="Read the dinosaur game’s speed rule with REA, rebuild it, then change the speed and play." /> <!-- website:sharing:start --> + <!-- prettier-ignore --> <link rel="canonical" href="https://rea.tools/examples/dino-lab/" /> + <!-- prettier-ignore --> <meta property="og:type" content="website" /> + <!-- prettier-ignore --> <meta property="og:site_name" content="REA" /> - <meta - property="og:title" - content="Chrome Dinosaur Game: Rebuild Its Speed Rule — REA" - /> - <meta - property="og:description" - content="Read the dinosaur game’s speed rule with REA, rebuild it, then change the speed and play." - /> + <!-- prettier-ignore --> + <meta property="og:title" content="Chrome Dinosaur Game: Rebuild Its Speed Rule — REA" /> + <!-- prettier-ignore --> + <meta property="og:description" content="Read the dinosaur game’s speed rule with REA, rebuild it, then change the speed and play." /> + <!-- prettier-ignore --> <meta property="og:url" content="https://rea.tools/examples/dino-lab/" /> - <meta - property="og:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta property="og:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta property="og:image:type" content="image/png" /> + <!-- prettier-ignore --> <meta property="og:image:width" content="1200" /> + <!-- prettier-ignore --> <meta property="og:image:height" content="630" /> + <!-- prettier-ignore --> <meta property="og:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." /> + <!-- prettier-ignore --> <meta name="twitter:card" content="summary_large_image" /> - <meta - name="twitter:title" - content="Chrome Dinosaur Game: Rebuild Its Speed Rule — REA" - /> - <meta - name="twitter:description" - content="Read the dinosaur game’s speed rule with REA, rebuild it, then change the speed and play." - /> - <meta - name="twitter:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta name="twitter:title" content="Chrome Dinosaur Game: Rebuild Its Speed Rule — REA" /> + <!-- prettier-ignore --> + <meta name="twitter:description" content="Read the dinosaur game’s speed rule with REA, rebuild it, then change the speed and play." /> + <!-- prettier-ignore --> + <meta name="twitter:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta name="twitter:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." @@ -59,6 +57,7 @@ <body id="top"> <a class="skip-link" href="#main">Skip to content</a> <!-- website:header:start --> + <!-- prettier-ignore --> <header class="site-header"> <div class="container header-inner"> <a class="brand" href="../../" aria-label="REA home" @@ -402,13 +401,13 @@ </div> </main> <!-- website:footer:start --> + <!-- prettier-ignore --> <footer class="site-footer"> <div class="container footer-inner"> <p>REA · Reverse Engineer Anything</p> <div class="footer-links"> <a href="https://github.com/morluto/rea">Source</a - ><a href="https://github.com/morluto/rea/blob/main/LICENSE" - >MIT license</a + ><a href="https://github.com/morluto/rea/blob/main/LICENSE">MIT license</a ><a href="https://discord.gg/GkcryMnJDM">Join the community</a ><a href="https://x.com/reatools">Follow us on X</a> </div> diff --git a/website/public/faq/index.html b/website/public/faq/index.html index 8935343745..c1f70c845c 100644 --- a/website/public/faq/index.html +++ b/website/public/faq/index.html @@ -9,42 +9,40 @@ content="Answers to common REA questions: installation, updates, analysis tools, coding agents, troubleshooting and sharing examples." /> <!-- website:sharing:start --> + <!-- prettier-ignore --> <link rel="canonical" href="https://rea.tools/faq/" /> + <!-- prettier-ignore --> <meta property="og:type" content="website" /> + <!-- prettier-ignore --> <meta property="og:site_name" content="REA" /> - <meta - property="og:title" - content="REA FAQ: Setup, Updates and Troubleshooting" - /> - <meta - property="og:description" - content="Answers to common REA questions: installation, updates, analysis tools, coding agents, troubleshooting and sharing examples." - /> + <!-- prettier-ignore --> + <meta property="og:title" content="REA FAQ: Setup, Updates and Troubleshooting" /> + <!-- prettier-ignore --> + <meta property="og:description" content="Answers to common REA questions: installation, updates, analysis tools, coding agents, troubleshooting and sharing examples." /> + <!-- prettier-ignore --> <meta property="og:url" content="https://rea.tools/faq/" /> - <meta - property="og:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta property="og:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta property="og:image:type" content="image/png" /> + <!-- prettier-ignore --> <meta property="og:image:width" content="1200" /> + <!-- prettier-ignore --> <meta property="og:image:height" content="630" /> + <!-- prettier-ignore --> <meta property="og:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." /> + <!-- prettier-ignore --> <meta name="twitter:card" content="summary_large_image" /> - <meta - name="twitter:title" - content="REA FAQ: Setup, Updates and Troubleshooting" - /> - <meta - name="twitter:description" - content="Answers to common REA questions: installation, updates, analysis tools, coding agents, troubleshooting and sharing examples." - /> - <meta - name="twitter:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta name="twitter:title" content="REA FAQ: Setup, Updates and Troubleshooting" /> + <!-- prettier-ignore --> + <meta name="twitter:description" content="Answers to common REA questions: installation, updates, analysis tools, coding agents, troubleshooting and sharing examples." /> + <!-- prettier-ignore --> + <meta name="twitter:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta name="twitter:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." @@ -58,6 +56,7 @@ <body id="top"> <a class="skip-link" href="#main">Skip to content</a> <!-- website:header:start --> + <!-- prettier-ignore --> <header class="site-header"> <div class="container header-inner"> <a class="brand" href="../" aria-label="REA home" @@ -500,13 +499,13 @@ </div> </main> <!-- website:footer:start --> + <!-- prettier-ignore --> <footer class="site-footer"> <div class="container footer-inner"> <p>REA · Reverse Engineer Anything</p> <div class="footer-links"> <a href="https://github.com/morluto/rea">Source</a - ><a href="https://github.com/morluto/rea/blob/main/LICENSE" - >MIT license</a + ><a href="https://github.com/morluto/rea/blob/main/LICENSE">MIT license</a ><a href="https://discord.gg/GkcryMnJDM">Join the community</a ><a href="https://x.com/reatools">Follow us on X</a> </div> diff --git a/website/public/first-investigation/index.html b/website/public/first-investigation/index.html index 8c4414dc58..2762ba5b25 100644 --- a/website/public/first-investigation/index.html +++ b/website/public/first-investigation/index.html @@ -9,42 +9,40 @@ content="Try REA on a small Notes app. Set up your agent, ask where exported notes go, and check the CSV formatter with a sample title." /> <!-- website:sharing:start --> + <!-- prettier-ignore --> <link rel="canonical" href="https://rea.tools/first-investigation/" /> + <!-- prettier-ignore --> <meta property="og:type" content="website" /> + <!-- prettier-ignore --> <meta property="og:site_name" content="REA" /> - <meta - property="og:title" - content="Your First Reverse Engineering Investigation — REA" - /> - <meta - property="og:description" - content="Try REA on a small Notes app. Set up your agent, ask where exported notes go, and check the CSV formatter with a sample title." - /> + <!-- prettier-ignore --> + <meta property="og:title" content="Your First Reverse Engineering Investigation — REA" /> + <!-- prettier-ignore --> + <meta property="og:description" content="Try REA on a small Notes app. Set up your agent, ask where exported notes go, and check the CSV formatter with a sample title." /> + <!-- prettier-ignore --> <meta property="og:url" content="https://rea.tools/first-investigation/" /> - <meta - property="og:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta property="og:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta property="og:image:type" content="image/png" /> + <!-- prettier-ignore --> <meta property="og:image:width" content="1200" /> + <!-- prettier-ignore --> <meta property="og:image:height" content="630" /> + <!-- prettier-ignore --> <meta property="og:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." /> + <!-- prettier-ignore --> <meta name="twitter:card" content="summary_large_image" /> - <meta - name="twitter:title" - content="Your First Reverse Engineering Investigation — REA" - /> - <meta - name="twitter:description" - content="Try REA on a small Notes app. Set up your agent, ask where exported notes go, and check the CSV formatter with a sample title." - /> - <meta - name="twitter:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta name="twitter:title" content="Your First Reverse Engineering Investigation — REA" /> + <!-- prettier-ignore --> + <meta name="twitter:description" content="Try REA on a small Notes app. Set up your agent, ask where exported notes go, and check the CSV formatter with a sample title." /> + <!-- prettier-ignore --> + <meta name="twitter:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta name="twitter:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." @@ -58,6 +56,7 @@ <body id="top"> <a class="skip-link" href="#main">Skip to content</a> <!-- website:header:start --> + <!-- prettier-ignore --> <header class="site-header"> <div class="container header-inner"> <a class="brand" href="../" aria-label="REA home" @@ -439,13 +438,13 @@ JS</code></pre> </div> </main> <!-- website:footer:start --> + <!-- prettier-ignore --> <footer class="site-footer"> <div class="container footer-inner"> <p>REA · Reverse Engineer Anything</p> <div class="footer-links"> <a href="https://github.com/morluto/rea">Source</a - ><a href="https://github.com/morluto/rea/blob/main/LICENSE" - >MIT license</a + ><a href="https://github.com/morluto/rea/blob/main/LICENSE">MIT license</a ><a href="https://discord.gg/GkcryMnJDM">Join the community</a ><a href="https://x.com/reatools">Follow us on X</a> </div> diff --git a/website/public/get-started/index.html b/website/public/get-started/index.html index 0502325251..31b7ac2754 100644 --- a/website/public/get-started/index.html +++ b/website/public/get-started/index.html @@ -9,42 +9,40 @@ content="Connect REA to your coding agent or inspect a local JavaScript or Electron app from the terminal. Setup, first questions and native provider guides." /> <!-- website:sharing:start --> + <!-- prettier-ignore --> <link rel="canonical" href="https://rea.tools/get-started/" /> + <!-- prettier-ignore --> <meta property="og:type" content="website" /> + <!-- prettier-ignore --> <meta property="og:site_name" content="REA" /> - <meta - property="og:title" - content="Install REA and Set Up Your Coding Agent" - /> - <meta - property="og:description" - content="Connect REA to your coding agent or inspect a local JavaScript or Electron app from the terminal. Setup, first questions and native provider guides." - /> + <!-- prettier-ignore --> + <meta property="og:title" content="Install REA and Set Up Your Coding Agent" /> + <!-- prettier-ignore --> + <meta property="og:description" content="Connect REA to your coding agent or inspect a local JavaScript or Electron app from the terminal. Setup, first questions and native provider guides." /> + <!-- prettier-ignore --> <meta property="og:url" content="https://rea.tools/get-started/" /> - <meta - property="og:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta property="og:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta property="og:image:type" content="image/png" /> + <!-- prettier-ignore --> <meta property="og:image:width" content="1200" /> + <!-- prettier-ignore --> <meta property="og:image:height" content="630" /> + <!-- prettier-ignore --> <meta property="og:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." /> + <!-- prettier-ignore --> <meta name="twitter:card" content="summary_large_image" /> - <meta - name="twitter:title" - content="Install REA and Set Up Your Coding Agent" - /> - <meta - name="twitter:description" - content="Connect REA to your coding agent or inspect a local JavaScript or Electron app from the terminal. Setup, first questions and native provider guides." - /> - <meta - name="twitter:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta name="twitter:title" content="Install REA and Set Up Your Coding Agent" /> + <!-- prettier-ignore --> + <meta name="twitter:description" content="Connect REA to your coding agent or inspect a local JavaScript or Electron app from the terminal. Setup, first questions and native provider guides." /> + <!-- prettier-ignore --> + <meta name="twitter:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta name="twitter:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." @@ -58,6 +56,7 @@ <body id="top"> <a class="skip-link" href="#main">Skip to content</a> <!-- website:header:start --> + <!-- prettier-ignore --> <header class="site-header"> <div class="container header-inner"> <a class="brand" href="../" aria-label="REA home" @@ -298,8 +297,7 @@ Use an existing Ghidra 12.1.x installation and a 64-bit JDK 21 or newer on Linux or macOS, on x64 or arm64. Your Ghidra installation needs a native decompiler for your - host architecture. Set the - paths before running setup: + host architecture. Set the paths before running setup: </p> <details class="evidence-details"> <summary>Connect your Ghidra installation</summary> @@ -331,9 +329,9 @@ npx rea-agents@latest setup</code></pre> <summary>Connect Ghidra on Windows</summary> <p> Windows x64 has experimental, read-only support for - native x86 and x64 PE applications and DLLs on fixed local - NTFS drives. Use an existing Ghidra 12.1.x installation - and a 64-bit JDK 21 or newer: + native x86 and x64 PE applications and DLLs on fixed + local NTFS drives. Use an existing Ghidra 12.1.x + installation and a 64-bit JDK 21 or newer: </p> <div class="code-block"> <div class="code-header"> @@ -353,8 +351,8 @@ npx -y rea-agents@latest doctor --provider ghidra --json npx rea-agents@latest setup</code></pre> </div> <p> - Replace the two paths with your installations, then review - setup's plan. + Replace the two paths with your installations, then + review setup's plan. </p> </details> </div> @@ -530,13 +528,13 @@ npx rea-agents@latest setup</code></pre> </div> </main> <!-- website:footer:start --> + <!-- prettier-ignore --> <footer class="site-footer"> <div class="container footer-inner"> <p>REA · Reverse Engineer Anything</p> <div class="footer-links"> <a href="https://github.com/morluto/rea">Source</a - ><a href="https://github.com/morluto/rea/blob/main/LICENSE" - >MIT license</a + ><a href="https://github.com/morluto/rea/blob/main/LICENSE">MIT license</a ><a href="https://discord.gg/GkcryMnJDM">Join the community</a ><a href="https://x.com/reatools">Follow us on X</a> </div> diff --git a/website/public/guides/browser/index.html b/website/public/guides/browser/index.html index 859faceaba..b9aa9d5d5d 100644 --- a/website/public/guides/browser/index.html +++ b/website/public/guides/browser/index.html @@ -9,42 +9,40 @@ content="Observe a Notes export with REA: select a browser page, capture a click, inspect the request and follow the export script." /> <!-- website:sharing:start --> + <!-- prettier-ignore --> <link rel="canonical" href="https://rea.tools/guides/browser/" /> + <!-- prettier-ignore --> <meta property="og:type" content="website" /> + <!-- prettier-ignore --> <meta property="og:site_name" content="REA" /> - <meta - property="og:title" - content="Browser and Network Analysis — REA" - /> - <meta - property="og:description" - content="Observe a Notes export with REA: select a browser page, capture a click, inspect the request and follow the export script." - /> + <!-- prettier-ignore --> + <meta property="og:title" content="Browser and Network Analysis — REA" /> + <!-- prettier-ignore --> + <meta property="og:description" content="Observe a Notes export with REA: select a browser page, capture a click, inspect the request and follow the export script." /> + <!-- prettier-ignore --> <meta property="og:url" content="https://rea.tools/guides/browser/" /> - <meta - property="og:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta property="og:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta property="og:image:type" content="image/png" /> + <!-- prettier-ignore --> <meta property="og:image:width" content="1200" /> + <!-- prettier-ignore --> <meta property="og:image:height" content="630" /> + <!-- prettier-ignore --> <meta property="og:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." /> + <!-- prettier-ignore --> <meta name="twitter:card" content="summary_large_image" /> - <meta - name="twitter:title" - content="Browser and Network Analysis — REA" - /> - <meta - name="twitter:description" - content="Observe a Notes export with REA: select a browser page, capture a click, inspect the request and follow the export script." - /> - <meta - name="twitter:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta name="twitter:title" content="Browser and Network Analysis — REA" /> + <!-- prettier-ignore --> + <meta name="twitter:description" content="Observe a Notes export with REA: select a browser page, capture a click, inspect the request and follow the export script." /> + <!-- prettier-ignore --> + <meta name="twitter:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta name="twitter:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." @@ -58,6 +56,7 @@ <body id="top"> <a class="skip-link" href="#main">Skip to content</a> <!-- website:header:start --> + <!-- prettier-ignore --> <header class="site-header"> <div class="container header-inner"> <a class="brand" href="../../" aria-label="REA home" @@ -428,13 +427,13 @@ link.click();</code></pre> </div> </main> <!-- website:footer:start --> + <!-- prettier-ignore --> <footer class="site-footer"> <div class="container footer-inner"> <p>REA · Reverse Engineer Anything</p> <div class="footer-links"> <a href="https://github.com/morluto/rea">Source</a - ><a href="https://github.com/morluto/rea/blob/main/LICENSE" - >MIT license</a + ><a href="https://github.com/morluto/rea/blob/main/LICENSE">MIT license</a ><a href="https://discord.gg/GkcryMnJDM">Join the community</a ><a href="https://x.com/reatools">Follow us on X</a> </div> diff --git a/website/public/guides/index.html b/website/public/guides/index.html index 610a5d1720..f4b4dbd18e 100644 --- a/website/public/guides/index.html +++ b/website/public/guides/index.html @@ -9,42 +9,40 @@ content="Learn REA through short worked examples: a native calculation, an Electron CSV export and a browser request." /> <!-- website:sharing:start --> + <!-- prettier-ignore --> <link rel="canonical" href="https://rea.tools/guides/" /> + <!-- prettier-ignore --> <meta property="og:type" content="website" /> + <!-- prettier-ignore --> <meta property="og:site_name" content="REA" /> - <meta - property="og:title" - content="Reverse Engineering Guides — REA" - /> - <meta - property="og:description" - content="Learn REA through short worked examples: a native calculation, an Electron CSV export and a browser request." - /> + <!-- prettier-ignore --> + <meta property="og:title" content="Reverse Engineering Guides — REA" /> + <!-- prettier-ignore --> + <meta property="og:description" content="Learn REA through short worked examples: a native calculation, an Electron CSV export and a browser request." /> + <!-- prettier-ignore --> <meta property="og:url" content="https://rea.tools/guides/" /> - <meta - property="og:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta property="og:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta property="og:image:type" content="image/png" /> + <!-- prettier-ignore --> <meta property="og:image:width" content="1200" /> + <!-- prettier-ignore --> <meta property="og:image:height" content="630" /> + <!-- prettier-ignore --> <meta property="og:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." /> + <!-- prettier-ignore --> <meta name="twitter:card" content="summary_large_image" /> - <meta - name="twitter:title" - content="Reverse Engineering Guides — REA" - /> - <meta - name="twitter:description" - content="Learn REA through short worked examples: a native calculation, an Electron CSV export and a browser request." - /> - <meta - name="twitter:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta name="twitter:title" content="Reverse Engineering Guides — REA" /> + <!-- prettier-ignore --> + <meta name="twitter:description" content="Learn REA through short worked examples: a native calculation, an Electron CSV export and a browser request." /> + <!-- prettier-ignore --> + <meta name="twitter:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta name="twitter:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." @@ -58,6 +56,7 @@ <body id="top"> <a class="skip-link" href="#main">Skip to content</a> <!-- website:header:start --> + <!-- prettier-ignore --> <header class="site-header"> <div class="container header-inner"> <a class="brand" href="../" aria-label="REA home" @@ -211,13 +210,13 @@ </div> </main> <!-- website:footer:start --> + <!-- prettier-ignore --> <footer class="site-footer"> <div class="container footer-inner"> <p>REA · Reverse Engineer Anything</p> <div class="footer-links"> <a href="https://github.com/morluto/rea">Source</a - ><a href="https://github.com/morluto/rea/blob/main/LICENSE" - >MIT license</a + ><a href="https://github.com/morluto/rea/blob/main/LICENSE">MIT license</a ><a href="https://discord.gg/GkcryMnJDM">Join the community</a ><a href="https://x.com/reatools">Follow us on X</a> </div> diff --git a/website/public/guides/javascript/index.html b/website/public/guides/javascript/index.html index d4cae40dee..dd2d2a9c33 100644 --- a/website/public/guides/javascript/index.html +++ b/website/public/guides/javascript/index.html @@ -9,42 +9,40 @@ content="Trace a Notes CSV export through a renderer API, preload and IPC handler with REA. Includes downloadable example files and a verified analysis result." /> <!-- website:sharing:start --> + <!-- prettier-ignore --> <link rel="canonical" href="https://rea.tools/guides/javascript/" /> + <!-- prettier-ignore --> <meta property="og:type" content="website" /> + <!-- prettier-ignore --> <meta property="og:site_name" content="REA" /> - <meta - property="og:title" - content="JavaScript and Electron Analysis — REA" - /> - <meta - property="og:description" - content="Trace a Notes CSV export through a renderer API, preload and IPC handler with REA. Includes downloadable example files and a verified analysis result." - /> + <!-- prettier-ignore --> + <meta property="og:title" content="JavaScript and Electron Analysis — REA" /> + <!-- prettier-ignore --> + <meta property="og:description" content="Trace a Notes CSV export through a renderer API, preload and IPC handler with REA. Includes downloadable example files and a verified analysis result." /> + <!-- prettier-ignore --> <meta property="og:url" content="https://rea.tools/guides/javascript/" /> - <meta - property="og:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta property="og:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta property="og:image:type" content="image/png" /> + <!-- prettier-ignore --> <meta property="og:image:width" content="1200" /> + <!-- prettier-ignore --> <meta property="og:image:height" content="630" /> + <!-- prettier-ignore --> <meta property="og:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." /> + <!-- prettier-ignore --> <meta name="twitter:card" content="summary_large_image" /> - <meta - name="twitter:title" - content="JavaScript and Electron Analysis — REA" - /> - <meta - name="twitter:description" - content="Trace a Notes CSV export through a renderer API, preload and IPC handler with REA. Includes downloadable example files and a verified analysis result." - /> - <meta - name="twitter:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta name="twitter:title" content="JavaScript and Electron Analysis — REA" /> + <!-- prettier-ignore --> + <meta name="twitter:description" content="Trace a Notes CSV export through a renderer API, preload and IPC handler with REA. Includes downloadable example files and a verified analysis result." /> + <!-- prettier-ignore --> + <meta name="twitter:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta name="twitter:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." @@ -58,6 +56,7 @@ <body id="top"> <a class="skip-link" href="#main">Skip to content</a> <!-- website:header:start --> + <!-- prettier-ignore --> <header class="site-header"> <div class="container header-inner"> <a class="brand" href="../../" aria-label="REA home" @@ -424,13 +423,13 @@ </div> </main> <!-- website:footer:start --> + <!-- prettier-ignore --> <footer class="site-footer"> <div class="container footer-inner"> <p>REA · Reverse Engineer Anything</p> <div class="footer-links"> <a href="https://github.com/morluto/rea">Source</a - ><a href="https://github.com/morluto/rea/blob/main/LICENSE" - >MIT license</a + ><a href="https://github.com/morluto/rea/blob/main/LICENSE">MIT license</a ><a href="https://discord.gg/GkcryMnJDM">Join the community</a ><a href="https://x.com/reatools">Follow us on X</a> </div> diff --git a/website/public/guides/native/index.html b/website/public/guides/native/index.html index 3bb436ead3..c92f7f98d4 100644 --- a/website/public/guides/native/index.html +++ b/website/public/guides/native/index.html @@ -9,42 +9,40 @@ content="Recover a native calculation with REA: inspect instructions, follow a caller, read constants and check reconstructed C." /> <!-- website:sharing:start --> + <!-- prettier-ignore --> <link rel="canonical" href="https://rea.tools/guides/native/" /> + <!-- prettier-ignore --> <meta property="og:type" content="website" /> + <!-- prettier-ignore --> <meta property="og:site_name" content="REA" /> - <meta - property="og:title" - content="Native Binary Analysis — REA" - /> - <meta - property="og:description" - content="Recover a native calculation with REA: inspect instructions, follow a caller, read constants and check reconstructed C." - /> + <!-- prettier-ignore --> + <meta property="og:title" content="Native Binary Analysis — REA" /> + <!-- prettier-ignore --> + <meta property="og:description" content="Recover a native calculation with REA: inspect instructions, follow a caller, read constants and check reconstructed C." /> + <!-- prettier-ignore --> <meta property="og:url" content="https://rea.tools/guides/native/" /> - <meta - property="og:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta property="og:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta property="og:image:type" content="image/png" /> + <!-- prettier-ignore --> <meta property="og:image:width" content="1200" /> + <!-- prettier-ignore --> <meta property="og:image:height" content="630" /> + <!-- prettier-ignore --> <meta property="og:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." /> + <!-- prettier-ignore --> <meta name="twitter:card" content="summary_large_image" /> - <meta - name="twitter:title" - content="Native Binary Analysis — REA" - /> - <meta - name="twitter:description" - content="Recover a native calculation with REA: inspect instructions, follow a caller, read constants and check reconstructed C." - /> - <meta - name="twitter:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta name="twitter:title" content="Native Binary Analysis — REA" /> + <!-- prettier-ignore --> + <meta name="twitter:description" content="Recover a native calculation with REA: inspect instructions, follow a caller, read constants and check reconstructed C." /> + <!-- prettier-ignore --> + <meta name="twitter:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta name="twitter:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." @@ -58,6 +56,7 @@ <body id="top"> <a class="skip-link" href="#main">Skip to content</a> <!-- website:header:start --> + <!-- prettier-ignore --> <header class="site-header"> <div class="container header-inner"> <a class="brand" href="../../" aria-label="REA home" @@ -360,13 +359,13 @@ return (DxBallInt)pan;</code></pre> </div> </main> <!-- website:footer:start --> + <!-- prettier-ignore --> <footer class="site-footer"> <div class="container footer-inner"> <p>REA · Reverse Engineer Anything</p> <div class="footer-links"> <a href="https://github.com/morluto/rea">Source</a - ><a href="https://github.com/morluto/rea/blob/main/LICENSE" - >MIT license</a + ><a href="https://github.com/morluto/rea/blob/main/LICENSE">MIT license</a ><a href="https://discord.gg/GkcryMnJDM">Join the community</a ><a href="https://x.com/reatools">Follow us on X</a> </div> diff --git a/website/public/index.html b/website/public/index.html index 0e90f44498..720dcf7dd1 100644 --- a/website/public/index.html +++ b/website/public/index.html @@ -9,42 +9,40 @@ content="Reverse engineer apps, binaries and browser behavior with your coding agent. Follow clear guides and try interactive examples with REA." /> <!-- website:sharing:start --> + <!-- prettier-ignore --> <link rel="canonical" href="https://rea.tools/" /> + <!-- prettier-ignore --> <meta property="og:type" content="website" /> + <!-- prettier-ignore --> <meta property="og:site_name" content="REA" /> - <meta - property="og:title" - content="REA — Reverse Engineering for Your Coding Agent" - /> - <meta - property="og:description" - content="Reverse engineer apps, binaries and browser behavior with your coding agent. Follow clear guides and try interactive examples with REA." - /> + <!-- prettier-ignore --> + <meta property="og:title" content="REA — Reverse Engineering for Your Coding Agent" /> + <!-- prettier-ignore --> + <meta property="og:description" content="Reverse engineer apps, binaries and browser behavior with your coding agent. Follow clear guides and try interactive examples with REA." /> + <!-- prettier-ignore --> <meta property="og:url" content="https://rea.tools/" /> - <meta - property="og:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta property="og:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta property="og:image:type" content="image/png" /> + <!-- prettier-ignore --> <meta property="og:image:width" content="1200" /> + <!-- prettier-ignore --> <meta property="og:image:height" content="630" /> + <!-- prettier-ignore --> <meta property="og:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." /> + <!-- prettier-ignore --> <meta name="twitter:card" content="summary_large_image" /> - <meta - name="twitter:title" - content="REA — Reverse Engineering for Your Coding Agent" - /> - <meta - name="twitter:description" - content="Reverse engineer apps, binaries and browser behavior with your coding agent. Follow clear guides and try interactive examples with REA." - /> - <meta - name="twitter:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta name="twitter:title" content="REA — Reverse Engineering for Your Coding Agent" /> + <!-- prettier-ignore --> + <meta name="twitter:description" content="Reverse engineer apps, binaries and browser behavior with your coding agent. Follow clear guides and try interactive examples with REA." /> + <!-- prettier-ignore --> + <meta name="twitter:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta name="twitter:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." @@ -60,6 +58,7 @@ <body class="home-page" id="top"> <a class="skip-link" href="#main">Skip to content</a> <!-- website:header:start --> + <!-- prettier-ignore --> <header class="site-header"> <div class="container header-inner"> <a class="brand" href="./" aria-label="REA home" @@ -1100,13 +1099,13 @@ SPEED: 6</code></pre> </section> </main> <!-- website:footer:start --> + <!-- prettier-ignore --> <footer class="site-footer"> <div class="container footer-inner"> <p>REA · Reverse Engineer Anything</p> <div class="footer-links"> <a href="https://github.com/morluto/rea">Source</a - ><a href="https://github.com/morluto/rea/blob/main/LICENSE" - >MIT license</a + ><a href="https://github.com/morluto/rea/blob/main/LICENSE">MIT license</a ><a href="https://discord.gg/GkcryMnJDM">Join the community</a ><a href="https://x.com/reatools">Follow us on X</a> </div> diff --git a/website/public/showcase/aegis/index.html b/website/public/showcase/aegis/index.html index 81087b367e..c8178aca1d 100644 --- a/website/public/showcase/aegis/index.html +++ b/website/public/showcase/aegis/index.html @@ -9,42 +9,40 @@ content="Inspect the Aegis Android APK with REA, recover its six-digit login-code calculation and try a reconstruction with an adjustable clock." /> <!-- website:sharing:start --> + <!-- prettier-ignore --> <link rel="canonical" href="https://rea.tools/showcase/aegis/" /> + <!-- prettier-ignore --> <meta property="og:type" content="website" /> + <!-- prettier-ignore --> <meta property="og:site_name" content="REA" /> - <meta - property="og:title" - content="Aegis APK Reverse Engineering: Login Codes — REA" - /> - <meta - property="og:description" - content="Inspect the Aegis Android APK with REA, recover its six-digit login-code calculation and try a reconstruction with an adjustable clock." - /> + <!-- prettier-ignore --> + <meta property="og:title" content="Aegis APK Reverse Engineering: Login Codes — REA" /> + <!-- prettier-ignore --> + <meta property="og:description" content="Inspect the Aegis Android APK with REA, recover its six-digit login-code calculation and try a reconstruction with an adjustable clock." /> + <!-- prettier-ignore --> <meta property="og:url" content="https://rea.tools/showcase/aegis/" /> - <meta - property="og:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta property="og:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta property="og:image:type" content="image/png" /> + <!-- prettier-ignore --> <meta property="og:image:width" content="1200" /> + <!-- prettier-ignore --> <meta property="og:image:height" content="630" /> + <!-- prettier-ignore --> <meta property="og:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." /> + <!-- prettier-ignore --> <meta name="twitter:card" content="summary_large_image" /> - <meta - name="twitter:title" - content="Aegis APK Reverse Engineering: Login Codes — REA" - /> - <meta - name="twitter:description" - content="Inspect the Aegis Android APK with REA, recover its six-digit login-code calculation and try a reconstruction with an adjustable clock." - /> - <meta - name="twitter:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta name="twitter:title" content="Aegis APK Reverse Engineering: Login Codes — REA" /> + <!-- prettier-ignore --> + <meta name="twitter:description" content="Inspect the Aegis Android APK with REA, recover its six-digit login-code calculation and try a reconstruction with an adjustable clock." /> + <!-- prettier-ignore --> + <meta name="twitter:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta name="twitter:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." @@ -59,6 +57,7 @@ <body id="top"> <a class="skip-link" href="#main">Skip to content</a> <!-- website:header:start --> + <!-- prettier-ignore --> <header class="site-header"> <div class="container header-inner"> <a class="brand" href="../../" aria-label="REA home" @@ -736,13 +735,13 @@ npx rea-agents@latest inspect-android-package \ </div> </main> <!-- website:footer:start --> + <!-- prettier-ignore --> <footer class="site-footer"> <div class="container footer-inner"> <p>REA · Reverse Engineer Anything</p> <div class="footer-links"> <a href="https://github.com/morluto/rea">Source</a - ><a href="https://github.com/morluto/rea/blob/main/LICENSE" - >MIT license</a + ><a href="https://github.com/morluto/rea/blob/main/LICENSE">MIT license</a ><a href="https://discord.gg/GkcryMnJDM">Join the community</a ><a href="https://x.com/reatools">Follow us on X</a> </div> diff --git a/website/public/showcase/ctf/index.html b/website/public/showcase/ctf/index.html index f4278c941b..33d519f8b1 100644 --- a/website/public/showcase/ctf/index.html +++ b/website/public/showcase/ctf/index.html @@ -9,42 +9,40 @@ content="Use REA to solve DownUnderCTF's masked squares flag checker. Find the checking functions, extract the masks and compare a recovered flag with the original program." /> <!-- website:sharing:start --> + <!-- prettier-ignore --> <link rel="canonical" href="https://rea.tools/showcase/ctf/" /> + <!-- prettier-ignore --> <meta property="og:type" content="website" /> + <!-- prettier-ignore --> <meta property="og:site_name" content="REA" /> - <meta - property="og:title" - content="CTF Reverse Engineering: DownUnderCTF Flag Checker — REA" - /> - <meta - property="og:description" - content="Use REA to solve DownUnderCTF's masked squares flag checker. Find the checking functions, extract the masks and compare a recovered flag with the original program." - /> + <!-- prettier-ignore --> + <meta property="og:title" content="CTF Reverse Engineering: DownUnderCTF Flag Checker — REA" /> + <!-- prettier-ignore --> + <meta property="og:description" content="Use REA to solve DownUnderCTF's masked squares flag checker. Find the checking functions, extract the masks and compare a recovered flag with the original program." /> + <!-- prettier-ignore --> <meta property="og:url" content="https://rea.tools/showcase/ctf/" /> - <meta - property="og:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta property="og:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta property="og:image:type" content="image/png" /> + <!-- prettier-ignore --> <meta property="og:image:width" content="1200" /> + <!-- prettier-ignore --> <meta property="og:image:height" content="630" /> + <!-- prettier-ignore --> <meta property="og:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." /> + <!-- prettier-ignore --> <meta name="twitter:card" content="summary_large_image" /> - <meta - name="twitter:title" - content="CTF Reverse Engineering: DownUnderCTF Flag Checker — REA" - /> - <meta - name="twitter:description" - content="Use REA to solve DownUnderCTF's masked squares flag checker. Find the checking functions, extract the masks and compare a recovered flag with the original program." - /> - <meta - name="twitter:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta name="twitter:title" content="CTF Reverse Engineering: DownUnderCTF Flag Checker — REA" /> + <!-- prettier-ignore --> + <meta name="twitter:description" content="Use REA to solve DownUnderCTF's masked squares flag checker. Find the checking functions, extract the masks and compare a recovered flag with the original program." /> + <!-- prettier-ignore --> + <meta name="twitter:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta name="twitter:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." @@ -58,6 +56,7 @@ <body id="top"> <a class="skip-link" href="#main">Skip to content</a> <!-- website:header:start --> + <!-- prettier-ignore --> <header class="site-header"> <div class="container header-inner"> <a class="brand" href="../../" aria-label="REA home" @@ -706,13 +705,13 @@ chmod +x ms_flag_checker </div> </main> <!-- website:footer:start --> + <!-- prettier-ignore --> <footer class="site-footer"> <div class="container footer-inner"> <p>REA · Reverse Engineer Anything</p> <div class="footer-links"> <a href="https://github.com/morluto/rea">Source</a - ><a href="https://github.com/morluto/rea/blob/main/LICENSE" - >MIT license</a + ><a href="https://github.com/morluto/rea/blob/main/LICENSE">MIT license</a ><a href="https://discord.gg/GkcryMnJDM">Join the community</a ><a href="https://x.com/reatools">Follow us on X</a> </div> diff --git a/website/public/showcase/dx-ball/index.html b/website/public/showcase/dx-ball/index.html index 1b6d6eae15..97094e250b 100644 --- a/website/public/showcase/dx-ball/index.html +++ b/website/public/showcase/dx-ball/index.html @@ -9,42 +9,40 @@ content="Follow a DX-Ball reconstruction from binary analysis through REA to maintained C, original-x86 tests and matching compiled function bytes." /> <!-- website:sharing:start --> + <!-- prettier-ignore --> <link rel="canonical" href="https://rea.tools/showcase/dx-ball/" /> + <!-- prettier-ignore --> <meta property="og:type" content="website" /> + <!-- prettier-ignore --> <meta property="og:site_name" content="REA" /> - <meta - property="og:title" - content="DX-Ball Reverse Engineering: Sound Panning — REA" - /> - <meta - property="og:description" - content="Follow a DX-Ball reconstruction from binary analysis through REA to maintained C, original-x86 tests and matching compiled function bytes." - /> + <!-- prettier-ignore --> + <meta property="og:title" content="DX-Ball Reverse Engineering: Sound Panning — REA" /> + <!-- prettier-ignore --> + <meta property="og:description" content="Follow a DX-Ball reconstruction from binary analysis through REA to maintained C, original-x86 tests and matching compiled function bytes." /> + <!-- prettier-ignore --> <meta property="og:url" content="https://rea.tools/showcase/dx-ball/" /> - <meta - property="og:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta property="og:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta property="og:image:type" content="image/png" /> + <!-- prettier-ignore --> <meta property="og:image:width" content="1200" /> + <!-- prettier-ignore --> <meta property="og:image:height" content="630" /> + <!-- prettier-ignore --> <meta property="og:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." /> + <!-- prettier-ignore --> <meta name="twitter:card" content="summary_large_image" /> - <meta - name="twitter:title" - content="DX-Ball Reverse Engineering: Sound Panning — REA" - /> - <meta - name="twitter:description" - content="Follow a DX-Ball reconstruction from binary analysis through REA to maintained C, original-x86 tests and matching compiled function bytes." - /> - <meta - name="twitter:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta name="twitter:title" content="DX-Ball Reverse Engineering: Sound Panning — REA" /> + <!-- prettier-ignore --> + <meta name="twitter:description" content="Follow a DX-Ball reconstruction from binary analysis through REA to maintained C, original-x86 tests and matching compiled function bytes." /> + <!-- prettier-ignore --> + <meta name="twitter:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta name="twitter:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." @@ -58,6 +56,7 @@ <body id="top"> <a class="skip-link" href="#main">Skip to content</a> <!-- website:header:start --> + <!-- prettier-ignore --> <header class="site-header"> <div class="container header-inner"> <a class="brand" href="../../" aria-label="REA home" @@ -714,13 +713,13 @@ </div> </main> <!-- website:footer:start --> + <!-- prettier-ignore --> <footer class="site-footer"> <div class="container footer-inner"> <p>REA · Reverse Engineer Anything</p> <div class="footer-links"> <a href="https://github.com/morluto/rea">Source</a - ><a href="https://github.com/morluto/rea/blob/main/LICENSE" - >MIT license</a + ><a href="https://github.com/morluto/rea/blob/main/LICENSE">MIT license</a ><a href="https://discord.gg/GkcryMnJDM">Join the community</a ><a href="https://x.com/reatools">Follow us on X</a> </div> diff --git a/website/public/showcase/index.html b/website/public/showcase/index.html index 204141cf31..687506a09c 100644 --- a/website/public/showcase/index.html +++ b/website/public/showcase/index.html @@ -9,42 +9,40 @@ content="Follow REA investigations through code, figures and demos: an Android authenticator, DX-Ball, Notion, TH04 and a DownUnderCTF flag checker." /> <!-- website:sharing:start --> + <!-- prettier-ignore --> <link rel="canonical" href="https://rea.tools/showcase/" /> + <!-- prettier-ignore --> <meta property="og:type" content="website" /> + <!-- prettier-ignore --> <meta property="og:site_name" content="REA" /> - <meta - property="og:title" - content="Reverse Engineering Case Studies — REA" - /> - <meta - property="og:description" - content="Follow REA investigations through code, figures and demos: an Android authenticator, DX-Ball, Notion, TH04 and a DownUnderCTF flag checker." - /> + <!-- prettier-ignore --> + <meta property="og:title" content="Reverse Engineering Case Studies — REA" /> + <!-- prettier-ignore --> + <meta property="og:description" content="Follow REA investigations through code, figures and demos: an Android authenticator, DX-Ball, Notion, TH04 and a DownUnderCTF flag checker." /> + <!-- prettier-ignore --> <meta property="og:url" content="https://rea.tools/showcase/" /> - <meta - property="og:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta property="og:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta property="og:image:type" content="image/png" /> + <!-- prettier-ignore --> <meta property="og:image:width" content="1200" /> + <!-- prettier-ignore --> <meta property="og:image:height" content="630" /> + <!-- prettier-ignore --> <meta property="og:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." /> + <!-- prettier-ignore --> <meta name="twitter:card" content="summary_large_image" /> - <meta - name="twitter:title" - content="Reverse Engineering Case Studies — REA" - /> - <meta - name="twitter:description" - content="Follow REA investigations through code, figures and demos: an Android authenticator, DX-Ball, Notion, TH04 and a DownUnderCTF flag checker." - /> - <meta - name="twitter:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta name="twitter:title" content="Reverse Engineering Case Studies — REA" /> + <!-- prettier-ignore --> + <meta name="twitter:description" content="Follow REA investigations through code, figures and demos: an Android authenticator, DX-Ball, Notion, TH04 and a DownUnderCTF flag checker." /> + <!-- prettier-ignore --> + <meta name="twitter:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta name="twitter:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." @@ -58,6 +56,7 @@ <body id="top"> <a class="skip-link" href="#main">Skip to content</a> <!-- website:header:start --> + <!-- prettier-ignore --> <header class="site-header"> <div class="container header-inner"> <a class="brand" href="../" aria-label="REA home" @@ -246,13 +245,13 @@ </section> </main> <!-- website:footer:start --> + <!-- prettier-ignore --> <footer class="site-footer"> <div class="container footer-inner"> <p>REA · Reverse Engineer Anything</p> <div class="footer-links"> <a href="https://github.com/morluto/rea">Source</a - ><a href="https://github.com/morluto/rea/blob/main/LICENSE" - >MIT license</a + ><a href="https://github.com/morluto/rea/blob/main/LICENSE">MIT license</a ><a href="https://discord.gg/GkcryMnJDM">Join the community</a ><a href="https://x.com/reatools">Follow us on X</a> </div> diff --git a/website/public/showcase/notion/index.html b/website/public/showcase/notion/index.html index 7ee0857b06..5c3b2d2392 100644 --- a/website/public/showcase/notion/index.html +++ b/website/public/showcase/notion/index.html @@ -9,42 +9,40 @@ content="Follow Notion's clipboard API through Electron's preload, IPC wrappers and main process, with short code excerpts and a look at its rich clipboard format." /> <!-- website:sharing:start --> + <!-- prettier-ignore --> <link rel="canonical" href="https://rea.tools/showcase/notion/" /> + <!-- prettier-ignore --> <meta property="og:type" content="website" /> + <!-- prettier-ignore --> <meta property="og:site_name" content="REA" /> - <meta - property="og:title" - content="Notion Electron Reverse Engineering: Clipboard — REA" - /> - <meta - property="og:description" - content="Follow Notion's clipboard API through Electron's preload, IPC wrappers and main process, with short code excerpts and a look at its rich clipboard format." - /> + <!-- prettier-ignore --> + <meta property="og:title" content="Notion Electron Reverse Engineering: Clipboard — REA" /> + <!-- prettier-ignore --> + <meta property="og:description" content="Follow Notion's clipboard API through Electron's preload, IPC wrappers and main process, with short code excerpts and a look at its rich clipboard format." /> + <!-- prettier-ignore --> <meta property="og:url" content="https://rea.tools/showcase/notion/" /> - <meta - property="og:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta property="og:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta property="og:image:type" content="image/png" /> + <!-- prettier-ignore --> <meta property="og:image:width" content="1200" /> + <!-- prettier-ignore --> <meta property="og:image:height" content="630" /> + <!-- prettier-ignore --> <meta property="og:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." /> + <!-- prettier-ignore --> <meta name="twitter:card" content="summary_large_image" /> - <meta - name="twitter:title" - content="Notion Electron Reverse Engineering: Clipboard — REA" - /> - <meta - name="twitter:description" - content="Follow Notion's clipboard API through Electron's preload, IPC wrappers and main process, with short code excerpts and a look at its rich clipboard format." - /> - <meta - name="twitter:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta name="twitter:title" content="Notion Electron Reverse Engineering: Clipboard — REA" /> + <!-- prettier-ignore --> + <meta name="twitter:description" content="Follow Notion's clipboard API through Electron's preload, IPC wrappers and main process, with short code excerpts and a look at its rich clipboard format." /> + <!-- prettier-ignore --> + <meta name="twitter:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta name="twitter:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." @@ -58,6 +56,7 @@ <body id="top"> <a class="skip-link" href="#main">Skip to content</a> <!-- website:header:start --> + <!-- prettier-ignore --> <header class="site-header"> <div class="container header-inner"> <a class="brand" href="../../" aria-label="REA home" @@ -552,13 +551,13 @@ mimeTypes: </div> </main> <!-- website:footer:start --> + <!-- prettier-ignore --> <footer class="site-footer"> <div class="container footer-inner"> <p>REA · Reverse Engineer Anything</p> <div class="footer-links"> <a href="https://github.com/morluto/rea">Source</a - ><a href="https://github.com/morluto/rea/blob/main/LICENSE" - >MIT license</a + ><a href="https://github.com/morluto/rea/blob/main/LICENSE">MIT license</a ><a href="https://discord.gg/GkcryMnJDM">Join the community</a ><a href="https://x.com/reatools">Follow us on X</a> </div> diff --git a/website/public/showcase/th04/index.html b/website/public/showcase/th04/index.html index 4f14907163..2a3b38554d 100644 --- a/website/public/showcase/th04/index.html +++ b/website/public/showcase/th04/index.html @@ -9,42 +9,40 @@ content="Inspect TH04's original 16-bit DOS code with REA. Follow the assembly and recovered C++ to see how a ring of bullets is spaced and aimed at the player." /> <!-- website:sharing:start --> + <!-- prettier-ignore --> <link rel="canonical" href="https://rea.tools/showcase/th04/" /> + <!-- prettier-ignore --> <meta property="og:type" content="website" /> + <!-- prettier-ignore --> <meta property="og:site_name" content="REA" /> - <meta - property="og:title" - content="TH04 Reverse Engineering: DOS Bullet Patterns — REA" - /> - <meta - property="og:description" - content="Inspect TH04's original 16-bit DOS code with REA. Follow the assembly and recovered C++ to see how a ring of bullets is spaced and aimed at the player." - /> + <!-- prettier-ignore --> + <meta property="og:title" content="TH04 Reverse Engineering: DOS Bullet Patterns — REA" /> + <!-- prettier-ignore --> + <meta property="og:description" content="Inspect TH04's original 16-bit DOS code with REA. Follow the assembly and recovered C++ to see how a ring of bullets is spaced and aimed at the player." /> + <!-- prettier-ignore --> <meta property="og:url" content="https://rea.tools/showcase/th04/" /> - <meta - property="og:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta property="og:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta property="og:image:type" content="image/png" /> + <!-- prettier-ignore --> <meta property="og:image:width" content="1200" /> + <!-- prettier-ignore --> <meta property="og:image:height" content="630" /> + <!-- prettier-ignore --> <meta property="og:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." /> + <!-- prettier-ignore --> <meta name="twitter:card" content="summary_large_image" /> - <meta - name="twitter:title" - content="TH04 Reverse Engineering: DOS Bullet Patterns — REA" - /> - <meta - name="twitter:description" - content="Inspect TH04's original 16-bit DOS code with REA. Follow the assembly and recovered C++ to see how a ring of bullets is spaced and aimed at the player." - /> - <meta - name="twitter:image" - content="https://rea.tools/assets/social-card.png" - /> + <!-- prettier-ignore --> + <meta name="twitter:title" content="TH04 Reverse Engineering: DOS Bullet Patterns — REA" /> + <!-- prettier-ignore --> + <meta name="twitter:description" content="Inspect TH04's original 16-bit DOS code with REA. Follow the assembly and recovered C++ to see how a ring of bullets is spaced and aimed at the player." /> + <!-- prettier-ignore --> + <meta name="twitter:image" content="https://rea.tools/assets/social-card.png" /> + <!-- prettier-ignore --> <meta name="twitter:image:alt" content="REA — Find out how software works. Reverse engineering with your coding agent." @@ -58,6 +56,7 @@ <body id="top"> <a class="skip-link" href="#main">Skip to content</a> <!-- website:header:start --> + <!-- prettier-ignore --> <header class="site-header"> <div class="container header-inner"> <a class="brand" href="../../" aria-label="REA home" @@ -729,13 +728,13 @@ no_aim: </div> </main> <!-- website:footer:start --> + <!-- prettier-ignore --> <footer class="site-footer"> <div class="container footer-inner"> <p>REA · Reverse Engineer Anything</p> <div class="footer-links"> <a href="https://github.com/morluto/rea">Source</a - ><a href="https://github.com/morluto/rea/blob/main/LICENSE" - >MIT license</a + ><a href="https://github.com/morluto/rea/blob/main/LICENSE">MIT license</a ><a href="https://discord.gg/GkcryMnJDM">Join the community</a ><a href="https://x.com/reatools">Follow us on X</a> </div> diff --git a/website/templates/footer.html b/website/templates/footer.html deleted file mode 100644 index db66ffc5cb..0000000000 --- a/website/templates/footer.html +++ /dev/null @@ -1,16 +0,0 @@ - <footer class="site-footer"> - <div class="container footer-inner"> - <p>REA · Reverse Engineer Anything</p> - <div class="footer-links"> - <a href="https://github.com/morluto/rea">Source</a - ><a href="https://github.com/morluto/rea/blob/main/LICENSE" - >MIT license</a - ><a href="https://discord.gg/GkcryMnJDM">Join the community</a - ><a href="https://x.com/reatools">Follow us on X</a> - </div> - </div> - </footer> - <p class="sr-only" id="copy-status" role="status" aria-live="polite"></p> - <a class="back-to-top" href="#top" aria-label="Back to top"> - <span aria-hidden="true">↑</span> Top - </a> diff --git a/website/templates/footer.html.tmpl b/website/templates/footer.html.tmpl new file mode 100644 index 0000000000..ec1c33b2e4 --- /dev/null +++ b/website/templates/footer.html.tmpl @@ -0,0 +1,16 @@ +<!-- prettier-ignore --> +<footer class="site-footer"> + <div class="container footer-inner"> + <p>REA · Reverse Engineer Anything</p> + <div class="footer-links"> + <a href="https://github.com/morluto/rea">Source</a + ><a href="https://github.com/morluto/rea/blob/main/LICENSE">MIT license</a + ><a href="https://discord.gg/GkcryMnJDM">Join the community</a + ><a href="https://x.com/reatools">Follow us on X</a> + </div> + </div> +</footer> +<p class="sr-only" id="copy-status" role="status" aria-live="polite"></p> +<a class="back-to-top" href="#top" aria-label="Back to top"> + <span aria-hidden="true">↑</span> Top +</a> diff --git a/website/templates/header.html b/website/templates/header.html deleted file mode 100644 index 10d08a0813..0000000000 --- a/website/templates/header.html +++ /dev/null @@ -1,71 +0,0 @@ - <header class="site-header"> - <div class="container header-inner"> - <a class="brand" href="$base" aria-label="REA home" - ><span class="brand-name">REA</span - ><span class="brand-caption">Reverse Engineer Anything</span></a - > - <nav class="navigation" aria-label="Main navigation"> -$navigation - </nav> - <div class="header-social"> - <a - class="nav-github" - href="https://github.com/morluto/rea" - aria-label="REA on GitHub" - title="REA on GitHub" - > - <svg - width="22" - height="22" - viewBox="0 0 16 16" - aria-hidden="true" - focusable="false" - > - <path - fill="currentColor" - d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82a7.65 7.65 0 0 1 2-.27c.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8Z" - /> - </svg> - <span class="nav-github-count" hidden aria-hidden="true"></span> - </a> - <a - class="nav-discord" - href="https://discord.gg/GkcryMnJDM" - aria-label="Join REA on Discord" - title="Join REA on Discord" - > - <svg - width="22" - height="22" - viewBox="0 0 24 24" - aria-hidden="true" - focusable="false" - > - <path - fill="currentColor" - d="M20.317 4.3698a19.7913 19.7913 0 0 0-4.8851-1.5152.0741.0741 0 0 0-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 0 0-.0785-.037 19.7363 19.7363 0 0 0-4.8852 1.515.0699.0699 0 0 0-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 0 0 .0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 0 0 .0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 0 0-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 0 1-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 0 1 .0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 0 1 .0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 0 1-.0066.1276 12.2986 12.2986 0 0 1-1.873.8914.0766.0766 0 0 0-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 0 0 .0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 0 0 .0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 0 0-.0312-.0286ZM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189Zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z" - /> - </svg> - </a> - <a - class="nav-x" - href="https://x.com/reatools" - aria-label="Follow REA on X" - title="Follow REA on X" - > - <svg - width="18" - height="18" - viewBox="0 0 24 24" - aria-hidden="true" - focusable="false" - > - <path - fill="currentColor" - d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z" - /> - </svg> - </a> - </div> - </div> - </header> diff --git a/website/templates/header.html.tmpl b/website/templates/header.html.tmpl new file mode 100644 index 0000000000..bb53bba08b --- /dev/null +++ b/website/templates/header.html.tmpl @@ -0,0 +1,70 @@ +<!-- prettier-ignore --> +<header class="site-header"> + <div class="container header-inner"> + <a class="brand" href="$base" aria-label="REA home" + ><span class="brand-name">REA</span + ><span class="brand-caption">Reverse Engineer Anything</span></a + > + <nav class="navigation" aria-label="Main navigation">$navigation</nav> + <div class="header-social"> + <a + class="nav-github" + href="https://github.com/morluto/rea" + aria-label="REA on GitHub" + title="REA on GitHub" + > + <svg + width="22" + height="22" + viewBox="0 0 16 16" + aria-hidden="true" + focusable="false" + > + <path + fill="currentColor" + d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82a7.65 7.65 0 0 1 2-.27c.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8Z" + /> + </svg> + <span class="nav-github-count" hidden aria-hidden="true"></span> + </a> + <a + class="nav-discord" + href="https://discord.gg/GkcryMnJDM" + aria-label="Join REA on Discord" + title="Join REA on Discord" + > + <svg + width="22" + height="22" + viewBox="0 0 24 24" + aria-hidden="true" + focusable="false" + > + <path + fill="currentColor" + d="M20.317 4.3698a19.7913 19.7913 0 0 0-4.8851-1.5152.0741.0741 0 0 0-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 0 0-.0785-.037 19.7363 19.7363 0 0 0-4.8852 1.515.0699.0699 0 0 0-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 0 0 .0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 0 0 .0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 0 0-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 0 1-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 0 1 .0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 0 1 .0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 0 1-.0066.1276 12.2986 12.2986 0 0 1-1.873.8914.0766.0766 0 0 0-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 0 0 .0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 0 0 .0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 0 0-.0312-.0286ZM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189Zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z" + /> + </svg> + </a> + <a + class="nav-x" + href="https://x.com/reatools" + aria-label="Follow REA on X" + title="Follow REA on X" + > + <svg + width="18" + height="18" + viewBox="0 0 24 24" + aria-hidden="true" + focusable="false" + > + <path + fill="currentColor" + d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z" + /> + </svg> + </a> + </div> + </div> +</header> diff --git a/website/templates/page.html b/website/templates/page.html index 36741f39ac..9e30a0ec37 100644 --- a/website/templates/page.html +++ b/website/templates/page.html @@ -26,7 +26,9 @@ <article class="article"> <section class="article-section" id="question"> <h2>The question</h2> - <p>Introduce one concrete question, then show the evidence and result.</p> + <p> + Introduce one concrete question, then show the evidence and result. + </p> </section> </article> </main> diff --git a/website/templates/sharing.html b/website/templates/sharing.html deleted file mode 100644 index dc4a4c69eb..0000000000 --- a/website/templates/sharing.html +++ /dev/null @@ -1,40 +0,0 @@ - <link rel="canonical" href="$canonical" /> - <meta property="og:type" content="website" /> - <meta property="og:site_name" content="REA" /> - <meta - property="og:title" - content="$title" - /> - <meta - property="og:description" - content="$description" - /> - <meta property="og:url" content="$canonical" /> - <meta - property="og:image" - content="$origin/assets/social-card.png" - /> - <meta property="og:image:type" content="image/png" /> - <meta property="og:image:width" content="1200" /> - <meta property="og:image:height" content="630" /> - <meta - property="og:image:alt" - content="REA — Find out how software works. Reverse engineering with your coding agent." - /> - <meta name="twitter:card" content="summary_large_image" /> - <meta - name="twitter:title" - content="$title" - /> - <meta - name="twitter:description" - content="$description" - /> - <meta - name="twitter:image" - content="$origin/assets/social-card.png" - /> - <meta - name="twitter:image:alt" - content="REA — Find out how software works. Reverse engineering with your coding agent." - /> diff --git a/website/templates/sharing.html.tmpl b/website/templates/sharing.html.tmpl new file mode 100644 index 0000000000..218eb9b5e1 --- /dev/null +++ b/website/templates/sharing.html.tmpl @@ -0,0 +1,38 @@ +<!-- prettier-ignore --> +<link rel="canonical" href="$canonical" /> +<!-- prettier-ignore --> +<meta property="og:type" content="website" /> +<!-- prettier-ignore --> +<meta property="og:site_name" content="REA" /> +<!-- prettier-ignore --> +<meta property="og:title" content="$title" /> +<!-- prettier-ignore --> +<meta property="og:description" content="$description" /> +<!-- prettier-ignore --> +<meta property="og:url" content="$canonical" /> +<!-- prettier-ignore --> +<meta property="og:image" content="$origin/assets/social-card.png" /> +<!-- prettier-ignore --> +<meta property="og:image:type" content="image/png" /> +<!-- prettier-ignore --> +<meta property="og:image:width" content="1200" /> +<!-- prettier-ignore --> +<meta property="og:image:height" content="630" /> +<!-- prettier-ignore --> +<meta + property="og:image:alt" + content="REA — Find out how software works. Reverse engineering with your coding agent." +/> +<!-- prettier-ignore --> +<meta name="twitter:card" content="summary_large_image" /> +<!-- prettier-ignore --> +<meta name="twitter:title" content="$title" /> +<!-- prettier-ignore --> +<meta name="twitter:description" content="$description" /> +<!-- prettier-ignore --> +<meta name="twitter:image" content="$origin/assets/social-card.png" /> +<!-- prettier-ignore --> +<meta + name="twitter:image:alt" + content="REA — Find out how software works. Reverse engineering with your coding agent." +/>